Upcoming SlideShare
×

# Csr2011 june18 15_15_bomhoff

206

Published on

0 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

• Be the first to like this

Views
Total Views
206
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
1
0
Likes
0
Embeds 0
No embeds

No notes for slide

### Csr2011 june18 15_15_bomhoff

1. 1. Recognizing Sparse Perfect Elimination Bipartite Graphs Recognizing Sparse Perfect Elimination Bipartite Graphs Matthijs Bomhoﬀ University of Twente The Netherlands CSR 2011, June 18
2. 2. Recognizing Sparse Perfect Elimination Bipartite Graphs Outline 1 Introduction and Motivation 2 Perfect Elimination Bipartite Graphs 3 A New Recognition Algorithm 4 Conclusion
3. 3. Recognizing Sparse Perfect Elimination Bipartite Graphs Introduction and Motivation Gaussian Elimination Example   −24 7 4 −6     −8 2 0 0    5 0 4 0  1 0 0 3
4. 4. Recognizing Sparse Perfect Elimination Bipartite Graphs Introduction and Motivation Gaussian Elimination Example   −24 7 4 −6   −24 7 4 −6    −8 2 0 0   0 = 0 = 0 = 0       5 0 4 0   0 =0 =0 =0          1 0 0 3 0 =0 =0 =0
5. 5. Recognizing Sparse Perfect Elimination Bipartite Graphs Introduction and Motivation Gaussian Elimination Example   −24 7 4 −6   −24 7 4 −6      0 =0 =0 =0   −8 2 0 0    0 4 0   0 =0 =0 =0       5     1 0 0 3 0 =0 =0 =0   −24 7 4 −6     −8 2 0 0    5 0 4 0  1 0 0 3
6. 6. Recognizing Sparse Perfect Elimination Bipartite Graphs Introduction and Motivation Gaussian Elimination Example   −24 7 4 −6   −24 7 4 −6    −8 2 0 0   0 = 0 =0 =0       5 0 4 0   0 =0 =0 =0          1 0 0 3 0 =0 =0 =0     −24 7 4 −6 =0 =0 =0 0      −8 2 0 0   −8 2 0 0       5 0 4 0   5 0 4 0      1 0 0 3 1 0 0 3
7. 7. Recognizing Sparse Perfect Elimination Bipartite Graphs Introduction and Motivation Gaussian Elimination Example   −24 7 4 −6   −24 7 4 −6    −8 2 0 0   0 = 0 =0 =0       5 0 4 0   0 =0 =0 =0          1 0 0 3 0 =0 =0 =0     −24 7 4 −6 =0 =0 =0 0      −8 2 0 0   −8 2 0 0       5 0 4 0   5 0 4 0      1 0 0 3 1 0 0 3 Question: when can we avoid turning zeroes into non-zeroes completely?
8. 8. Recognizing Sparse Perfect Elimination Bipartite Graphs Introduction and Motivation Simpliﬁcation ‘Regularity’ assumption: If we add some multiple of row i to row j, at most one non-zero value is turned into a zero.
9. 9. Recognizing Sparse Perfect Elimination Bipartite Graphs Introduction and Motivation Simpliﬁcation ‘Regularity’ assumption: If we add some multiple of row i to row j, at most one non-zero value is turned into a zero. Exact values are not important A problem instance is a n × n (0, 1)-matrix M (with m non-zeroes, n ≤ m ≤ n2 ):    1 1 1 1   1 1 0 0     1 0 1 0    1 0 0 1
10. 10. Recognizing Sparse Perfect Elimination Bipartite Graphs Introduction and Motivation Simpliﬁcation ‘Regularity’ assumption: If we add some multiple of row i to row j, at most one non-zero value is turned into a zero. Exact values are not important A problem instance is a n × n (0, 1)-matrix M (with m non-zeroes, n ≤ m ≤ n2 ):    1 1 1 1   1 1 0 0     1 0 1 0    1 0 0 1 . . . or an equivalent bipartite graph GM (with m edges): r1 r2 r3 r4 c1 c2 c3 c4
11. 11. Recognizing Sparse Perfect Elimination Bipartite Graphs Introduction and Motivation Suitable Pivots Remark A pivot (i, j) (with Mi,j = 1) does not create additional non-zeroes, if for every i , j we have that if Mi,j = 1 and Mi ,j = 1, then Mi ,j = 1.    1 1 1 0    0 1 1 0     1 1 0 1   1 1 1 0 If we can ﬁnd a sequence of n such pivots in distinct rows and columns, we can perform elimination without creating new non-zeroes.
12. 12. Recognizing Sparse Perfect Elimination Bipartite Graphs Introduction and Motivation Bisimplicial Edges Deﬁnition An edge e of a bipartite graph G is called bisimplicial if the neighbors of the vertices incident to it induce a complete bipartite subgraph. r1 r2 r3 r4 r1 r2 r3 r4 c1 c2 c3 c4 c1 c2 c3 c4 Bisimplicial edges in GM correspond to pivots that avoid new non-zeroes in M.
13. 13. Recognizing Sparse Perfect Elimination Bipartite Graphs Perfect Elimination Bipartite Graphs Perfect Elimination Bipartite Graphs Deﬁnition (Golumbic and Goss, (1978,1980)) A graph G is called perfect elimination bipartite if there exists a sequence of edges [e1 , e2 , . . . , en ] such that: 1 e1 is a bisimplicial edge in G and ei is bisimplicial in G − [e1 , . . . , ei−1 ] for 2 ≤ i ≤ n; 2 G − [e1 , e2 , . . . , en ] is empty. Perfect elimination bipartite graphs correspond to matrices that allow elimination without creating new non-zeroes. Naive algorithm for recognition: O n5
14. 14. Recognizing Sparse Perfect Elimination Bipartite Graphs Perfect Elimination Bipartite Graphs A faster algorithm Remark (Goh and Rotem (1982)) Consider the matrix Q = MM T : Qi,j contains the inner product of rows Mi,∗ and Mj,∗ . Let li equal the number of elements in row Qi,∗ with value equal to Qi,i . Denote by sj the column sums in M. (i, j) is bisimplicial in GM iﬀ Mi,j = 1 and li = sj . This leads to a O n3 algorithm Spinrad (2004) subsequently improves this to O n3 / log n
15. 15. Recognizing Sparse Perfect Elimination Bipartite Graphs Perfect Elimination Bipartite Graphs A faster algorithm Remark (Goh and Rotem (1982)) Consider the matrix Q = MM T : Qi,j contains the inner product of rows Mi,∗ and Mj,∗ . Let li equal the number of elements in row Qi,∗ with value equal to Qi,i . Denote by sj the column sums in M. (i, j) is bisimplicial in GM iﬀ Mi,j = 1 and li = sj . This leads to a O n3 algorithm Spinrad (2004) subsequently improves this to O n3 / log n Unfortunately, a sparse M may lead to a dense Q:        1 1 1 1   1 1 1 1   4 1 1 1   1 0 0 0   1 0 0 0   1 1 1 1   1 0 0 0 × 1 0 0 0 = 1 1 1 1              1 0 0 0 1 0 0 0 1 1 1 1
16. 16. Recognizing Sparse Perfect Elimination Bipartite Graphs Perfect Elimination Bipartite Graphs Summary so far Matrices that allow elimination without new non-zeroes correspond to perfect elimination bipartite graphs Recognition algorithms (time complexity): naive: O n5 based on matrix-multiplication: O n3 / log n
17. 17. Recognizing Sparse Perfect Elimination Bipartite Graphs Perfect Elimination Bipartite Graphs Summary so far Matrices that allow elimination without new non-zeroes correspond to perfect elimination bipartite graphs Recognition algorithms (time complexity): naive: O n5 based on matrix-multiplication: O n3 / log n However, the result of matrix-multiplication may be a dense matrix, while avoiding new non-zeroes is mainly useful for sparse matrices. . .
18. 18. Recognizing Sparse Perfect Elimination Bipartite Graphs A New Recognition Algorithm An Observation    1 1 1 0    0 1 1 0     1 1 0 1   1 1 1 0
19. 19. Recognizing Sparse Perfect Elimination Bipartite Graphs A New Recognition Algorithm An Observation      1 1 1 0   1 1 1 0    0 1 1 0     0 1 1 0     1 1 0 1     1 1 0 1   1 1 1 0 1 1 1 0
20. 20. Recognizing Sparse Perfect Elimination Bipartite Graphs A New Recognition Algorithm An Observation        1 1 1 0   1 1 1 0   1 1 1 0    0 1 1 0     0 1 1 0     0 1 1 0     1 1 0 1     1 1 0 1     1 1 0 1   1 1 1 0 1 1 1 0 1 1 1 0
21. 21. Recognizing Sparse Perfect Elimination Bipartite Graphs A New Recognition Algorithm An Observation        1 1 1 0   1 1 1 0   1 1 1 0    0 1 1 0     0 1 1 0     0 1 1 0     1 1 0 1     1 1 0 1     1 1 0 1   1 1 1 0 1 1 1 0 1 1 1 0    1 1 1 0    0 1 1 0     1 1 0 1   1 1 1 0
22. 22. Recognizing Sparse Perfect Elimination Bipartite Graphs A New Recognition Algorithm An Observation        1 1 1 0   1 1 1 0   1 1 1 0    0 1 1 0     0 1 1 0     0 1 1 0     1 1 0 1     1 1 0 1     1 1 0 1   1 1 1 0 1 1 1 0 1 1 1 0    1 1 1 0      0 1 1 0   1 1 1 1 1 0 1 0 1 1         1 1 1 0 1 1 1
23. 23. Recognizing Sparse Perfect Elimination Bipartite Graphs A New Recognition Algorithm An Observation        1 1 1 0   1 1 1 0   1 1 1 0    0 1 1 0     0 1 1 0     0 1 1 0     1 1 0 1     1 1 0 1     1 1 0 1   1 1 1 0 1 1 1 0 1 1 1 0    1 1 1 0      0 1 1 0   1 1 1 1 1 0 1 0 1 1         1 1 1 0 1 1 1   1 1 1 0 1 1     1 1 1
24. 24. Recognizing Sparse Perfect Elimination Bipartite Graphs A New Recognition Algorithm An Observation        1 1 1 0   1 1 1 0   1 1 1 0    0 1 1 0     0 1 1 0     0 1 1 0     1 1 0 1     1 1 0 1     1 1 0 1   1 1 1 0 1 1 1 0 1 1 1 0    1 1 1 0      0 1 1 0   1 1 1 1 1 0 1  0 1 1        1 1 1 0 1 1 1     1 1 1 1 1 1 0 1 1  0 1 1        1 1 1 1 1 1
25. 25. Recognizing Sparse Perfect Elimination Bipartite Graphs A New Recognition Algorithm Algorithm Outline    1 1 1 0      0 1 1 0   1 1 1 1 1 0 1 0 1 1         1 1 1 0 1 1 1 Up to n iterations (one for each pivot) Each iteration, for every edge: Continue checking other edges until blocked If we ﬁnish checking other edges, we found a pivot If all edges block, there is no pivot
26. 26. Recognizing Sparse Perfect Elimination Bipartite Graphs A New Recognition Algorithm Implementation Details Rows/columns of M stored as lists of column/row numbers Consider a single edge over the entire algorithm:  1 1      1 1 step: O (m)   0 1  2     1 0 3 3 block: O (n)
27. 27. Recognizing Sparse Perfect Elimination Bipartite Graphs A New Recognition Algorithm Implementation Details Rows/columns of M stored as lists of column/row numbers Consider a single edge over the entire algorithm:  1 1      1 1 step: O (m)   0 1  2     1 0 3 3 block: O (n) Total work for a single edge: O (m) steps and O (n) blocks For each pivot, we update all list items: O (m)
28. 28. Recognizing Sparse Perfect Elimination Bipartite Graphs A New Recognition Algorithm Time and Space Complexities Time complexity: O m2 initialization: O n2 steps: O m2 blocks: O (nm) updates: O (nm) Space complexity: O (m) lists: O (m) edge states: O (m) row/column data: O (n) pivots: O (n)
29. 29. Recognizing Sparse Perfect Elimination Bipartite Graphs Conclusion Conclusion Existing literature: focus on time complexity However: space complexity is important in practice Our new algorithm: O m2 time O (m) space Both time and space improvement for sparse M m < n n/ log n
30. 30. Recognizing Sparse Perfect Elimination Bipartite Graphs Conclusion Conclusion Existing literature: focus on time complexity However: space complexity is important in practice Our new algorithm: O m2 time O (m) space Both time and space improvement for sparse M m < n n/ log n Work in progress: Thinking about possible further time complexity improvements Work on alternative elimination procedures
1. #### A particular slide catching your eye?

Clipping is a handy way to collect important slides you want to go back to later.