• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Csr2011 june18 15_15_bomhoff
 

Csr2011 june18 15_15_bomhoff

on

  • 254 views

 

Statistics

Views

Total Views
254
Views on SlideShare
254
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Csr2011 june18 15_15_bomhoff Csr2011 june18 15_15_bomhoff Presentation Transcript

    • Recognizing Sparse Perfect Elimination Bipartite Graphs Recognizing Sparse Perfect Elimination Bipartite Graphs Matthijs Bomhoff University of Twente The Netherlands CSR 2011, June 18
    • Recognizing Sparse Perfect Elimination Bipartite Graphs Outline 1 Introduction and Motivation 2 Perfect Elimination Bipartite Graphs 3 A New Recognition Algorithm 4 Conclusion
    • 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
    • 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
    • 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
    • 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
    • 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?
    • 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.
    • 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
    • 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
    • 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.
    • 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.
    • 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
    • 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
    • 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
    • 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
    • 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. . .
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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)
    • 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)
    • 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)
    • 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
    • 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