Recognizing Sparse Perfect Elimination Bipartite Graphs
Recognizing Sparse Perfect Elimination BipartiteGraphs
Matthijs Bomhoff
University of TwenteThe 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
−24 7 4 −6
0 6= 0 6= 0 6= 0
0 6= 0 6= 0 6= 0
0 6= 0 6= 0 6= 0
−24 7 4 −6
−8 2 0 0
5 0 4 0
1 0 0 3
6= 0 6= 0 6= 0 0
−8 2 0 0
5 0 4 0
1 0 0 3
Question: when can we avoid turning zeroes into non-zeroescompletely?
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
−24 7 4 −6
0 6= 0 6= 0 6= 0
0 6= 0 6= 0 6= 0
0 6= 0 6= 0 6= 0
−24 7 4 −6
−8 2 0 0
5 0 4 0
1 0 0 3
6= 0 6= 0 6= 0 0
−8 2 0 0
5 0 4 0
1 0 0 3
Question: when can we avoid turning zeroes into non-zeroescompletely?
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
−24 7 4 −6
0 6= 0 6= 0 6= 0
0 6= 0 6= 0 6= 0
0 6= 0 6= 0 6= 0
−24 7 4 −6
−8 2 0 0
5 0 4 0
1 0 0 3
6= 0 6= 0 6= 0 0
−8 2 0 0
5 0 4 0
1 0 0 3
Question: when can we avoid turning zeroes into non-zeroescompletely?
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
−24 7 4 −6
0 6= 0 6= 0 6= 0
0 6= 0 6= 0 6= 0
0 6= 0 6= 0 6= 0
−24 7 4 −6
−8 2 0 0
5 0 4 0
1 0 0 3
6= 0 6= 0 6= 0 0
−8 2 0 0
5 0 4 0
1 0 0 3
Question: when can we avoid turning zeroes into non-zeroescompletely?
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
−24 7 4 −6
0 6= 0 6= 0 6= 0
0 6= 0 6= 0 6= 0
0 6= 0 6= 0 6= 0
−24 7 4 −6
−8 2 0 0
5 0 4 0
1 0 0 3
6= 0 6= 0 6= 0 0
−8 2 0 0
5 0 4 0
1 0 0 3
Question: when can we avoid turning zeroes into non-zeroescompletely?
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 importantA problem instance is a n × n (0, 1)-matrix M (with mnon-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):
c1 c2 c3 c4
r1 r2 r3 r4
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 importantA problem instance is a n × n (0, 1)-matrix M (with mnon-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):
c1 c2 c3 c4
r1 r2 r3 r4
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 importantA problem instance is a n × n (0, 1)-matrix M (with mnon-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):
c1 c2 c3 c4
r1 r2 r3 r4
Recognizing Sparse Perfect Elimination Bipartite Graphs
Introduction and Motivation
Suitable Pivots
Remark
A pivot (i , j) (with Mi ,j = 1) does not create additionalnon-zeroes, if for every i ′, j ′ we have that if Mi ,j ′ = 1 andMi ′,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 andcolumns, we can perform elimination without creating newnon-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 theneighbors of the vertices incident to it induce a complete bipartitesubgraph.
c1 c2 c3 c4
r1 r2 r3 r4
c1 c2 c3 c4
r1 r2 r3 r4
Bisimplicial edges in GM correspond to pivots that avoid newnon-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 perfectelimination 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 inG − [e1, . . . , ei−1] for 2 ≤ i ≤ n;
2 G − [e1, e2, . . . , en] is empty.
Perfect elimination bipartite graphs correspond to matricesthat 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 = MMT : Qi ,j
contains the inner product of rows Mi ,∗ and Mj ,∗. Let li equal thenumber of elements in row Qi ,∗ with value equal to Qi ,i . Denoteby sj the column sums in M. (i , j) is bisimplicial in GM iff Mi ,j = 1and li = sj .
This leads to a O(n3)
algorithmSpinrad (2004) subsequently improves this to O
(n3/ log n
)
Unfortunately, a sparse M may lead to a dense Q:
1 1 1 1
1 0 0 0
1 0 0 0
1 0 0 0
×
1 1 1 1
1 0 0 0
1 0 0 0
1 0 0 0
=
4 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
Recognizing Sparse Perfect Elimination Bipartite Graphs
Perfect Elimination Bipartite Graphs
A faster algorithm
Remark
(Goh and Rotem (1982)) Consider the matrix Q = MMT : Qi ,j
contains the inner product of rows Mi ,∗ and Mj ,∗. Let li equal thenumber of elements in row Qi ,∗ with value equal to Qi ,i . Denoteby sj the column sums in M. (i , j) is bisimplicial in GM iff Mi ,j = 1and li = sj .
This leads to a O(n3)
algorithmSpinrad (2004) subsequently improves this to O
(n3/ log n
)Unfortunately, a sparse M may lead to a dense Q:
1 1 1 1
1 0 0 0
1 0 0 0
1 0 0 0
×
1 1 1 1
1 0 0 0
1 0 0 0
1 0 0 0
=
4 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
Recognizing Sparse Perfect Elimination Bipartite Graphs
Perfect Elimination Bipartite Graphs
Summary so far
Matrices that allow elimination without new non-zeroescorrespond 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 densematrix, while avoiding new non-zeroes is mainly useful forsparse matrices. . .
Recognizing Sparse Perfect Elimination Bipartite Graphs
Perfect Elimination Bipartite Graphs
Summary so far
Matrices that allow elimination without new non-zeroescorrespond 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 densematrix, while avoiding new non-zeroes is mainly useful forsparse 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
1 1 1 0
0 1 1 0
1 1 0 1
1 1 1 0
1 1 1 0
0 1 1 0
1 1 0 1
1 1 1 0
1 1 1 0
0 1 1 0
1 1 0 1
1 1 1 0
1 1 1
0 1 1
1 1 1
1 1 1
0 1 1
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
0 1 1 0
1 1 0 1
1 1 1 0
1 1 1 0
0 1 1 0
1 1 0 1
1 1 1 0
1 1 1 0
0 1 1 0
1 1 0 1
1 1 1 0
1 1 1 0
0 1 1 0
1 1 0 1
1 1 1 0
1 1 1
0 1 1
1 1 1
1 1 1
0 1 1
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
0 1 1 0
1 1 0 1
1 1 1 0
1 1 1 0
0 1 1 0
1 1 0 1
1 1 1 0
1 1 1 0
0 1 1 0
1 1 0 1
1 1 1 0
1 1 1 0
0 1 1 0
1 1 0 1
1 1 1 0
1 1 1
0 1 1
1 1 1
1 1 1
0 1 1
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
0 1 1 0
1 1 0 1
1 1 1 0
1 1 1 0
0 1 1 0
1 1 0 1
1 1 1 0
1 1 1 0
0 1 1 0
1 1 0 1
1 1 1 0
1 1 1 0
0 1 1 0
1 1 0 1
1 1 1 0
1 1 1
0 1 1
1 1 1
1 1 1
0 1 1
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
0 1 1 0
1 1 0 1
1 1 1 0
1 1 1 0
0 1 1 0
1 1 0 1
1 1 1 0
1 1 1 0
0 1 1 0
1 1 0 1
1 1 1 0
1 1 1 0
0 1 1 0
1 1 0 1
1 1 1 0
1 1 1
0 1 1
1 1 1
1 1 1
0 1 1
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
0 1 1 0
1 1 0 1
1 1 1 0
1 1 1 0
0 1 1 0
1 1 0 1
1 1 1 0
1 1 1 0
0 1 1 0
1 1 0 1
1 1 1 0
1 1 1 0
0 1 1 0
1 1 0 1
1 1 1 0
1 1 1
0 1 1
1 1 1
1 1 1
0 1 1
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
0 1 1 0
1 1 0 1
1 1 1 0
1 1 1 0
0 1 1 0
1 1 0 1
1 1 1 0
1 1 1 0
0 1 1 0
1 1 0 1
1 1 1 0
1 1 1 0
0 1 1 0
1 1 0 1
1 1 1 0
1 1 1
0 1 1
1 1 1
1 1 1
0 1 1
1 1 1
1 1 1
0 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 0 1
1 1 1 0
1 1 1
0 1 1
1 1 1
Up to n iterations (one for each pivot)
Each iteration, for every edge:
Continue checking other edges until blockedIf we finish checking other edges, we found a pivotIf 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
0 1
1 0
1
3
1
2
3
}step: O (m)
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
Implementation Details
Rows/columns of M stored as lists of column/row numbers
Consider a single edge over the entire algorithm:
1 1
0 1
1 0
1
3
1
2
3
}step: O (m)
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)
timeO (m) spaceBoth time and space improvement for sparse M(m < n
√n/ log n
)
Work in progress:
Thinking about possible further time complexity improvementsWork on alternative elimination procedures
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)
timeO (m) spaceBoth time and space improvement for sparse M(m < n
√n/ log n
)Work in progress:
Thinking about possible further time complexity improvementsWork on alternative elimination procedures