Recognizing Sparse Perfect Elimination Bipartite Graphs           Recognizing Sparse Perfect Elimination Bipartite        ...
Recognizing Sparse Perfect Elimination Bipartite Graphs  Outline       1    Introduction and Motivation       2    Perfect...
Recognizing Sparse Perfect Elimination Bipartite Graphs  Introduction and Motivation      Gaussian Elimination Example    ...
Recognizing Sparse Perfect Elimination Bipartite Graphs  Introduction and Motivation      Gaussian Elimination Example    ...
Recognizing Sparse Perfect Elimination Bipartite Graphs  Introduction and Motivation      Gaussian Elimination Example    ...
Recognizing Sparse Perfect Elimination Bipartite Graphs  Introduction and Motivation      Gaussian Elimination Example    ...
Recognizing Sparse Perfect Elimination Bipartite Graphs  Introduction and Motivation      Gaussian Elimination Example    ...
Recognizing Sparse Perfect Elimination Bipartite Graphs  Introduction and Motivation      Simplification       ‘Regularity’...
Recognizing Sparse Perfect Elimination Bipartite Graphs  Introduction and Motivation      Simplification       ‘Regularity’...
Recognizing Sparse Perfect Elimination Bipartite Graphs  Introduction and Motivation      Simplification       ‘Regularity’...
Recognizing Sparse Perfect Elimination Bipartite Graphs  Introduction and Motivation      Suitable Pivots       Remark    ...
Recognizing Sparse Perfect Elimination Bipartite Graphs  Introduction and Motivation      Bisimplicial Edges       Definiti...
Recognizing Sparse Perfect Elimination Bipartite Graphs  Perfect Elimination Bipartite Graphs      Perfect Elimination Bip...
Recognizing Sparse Perfect Elimination Bipartite Graphs  Perfect Elimination Bipartite Graphs      A faster algorithm     ...
Recognizing Sparse Perfect Elimination Bipartite Graphs  Perfect Elimination Bipartite Graphs      A faster algorithm     ...
Recognizing Sparse Perfect Elimination Bipartite Graphs  Perfect Elimination Bipartite Graphs      Summary so far         ...
Recognizing Sparse Perfect Elimination Bipartite Graphs  Perfect Elimination Bipartite Graphs      Summary so far         ...
Recognizing Sparse Perfect Elimination Bipartite Graphs  A New Recognition Algorithm      An Observation                 ...
Recognizing Sparse Perfect Elimination Bipartite Graphs  A New Recognition Algorithm      An Observation                 ...
Recognizing Sparse Perfect Elimination Bipartite Graphs  A New Recognition Algorithm      An Observation                 ...
Recognizing Sparse Perfect Elimination Bipartite Graphs  A New Recognition Algorithm      An Observation                 ...
Recognizing Sparse Perfect Elimination Bipartite Graphs  A New Recognition Algorithm      An Observation                 ...
Recognizing Sparse Perfect Elimination Bipartite Graphs  A New Recognition Algorithm      An Observation                 ...
Recognizing Sparse Perfect Elimination Bipartite Graphs  A New Recognition Algorithm      An Observation                 ...
Recognizing Sparse Perfect Elimination Bipartite Graphs  A New Recognition Algorithm      Algorithm Outline               ...
Recognizing Sparse Perfect Elimination Bipartite Graphs  A New Recognition Algorithm      Implementation Details          ...
Recognizing Sparse Perfect Elimination Bipartite Graphs  A New Recognition Algorithm      Implementation Details          ...
Recognizing Sparse Perfect Elimination Bipartite Graphs  A New Recognition Algorithm      Time and Space Complexities     ...
Recognizing Sparse Perfect Elimination Bipartite Graphs  Conclusion      Conclusion               Existing literature: foc...
Recognizing Sparse Perfect Elimination Bipartite Graphs  Conclusion      Conclusion               Existing literature: foc...
Upcoming SlideShare
Loading in...5
×

Csr2011 june18 15_15_bomhoff

206

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
206
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
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 Bomhoff 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 Simplification ‘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 Simplification ‘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 Simplification ‘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 find 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 Definition 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 Definition (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 iff 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 iff 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 finish 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.

×