csr2011 june18 15_15_bomhoff

30
Recognizing Sparse Perfect Elimination Bipartite Graphs Recognizing Sparse Perfect Elimination Bipartite Graphs Matthijs Bomhoff University of Twente The Netherlands CSR 2011, June 18

Post on 21-Oct-2014

288 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Csr2011 june18 15_15_bomhoff

Recognizing Sparse Perfect Elimination Bipartite Graphs

Recognizing Sparse Perfect Elimination BipartiteGraphs

Matthijs Bomhoff

University of TwenteThe Netherlands

CSR 2011, June 18

Page 2: Csr2011 june18 15_15_bomhoff

Recognizing Sparse Perfect Elimination Bipartite Graphs

Outline

1 Introduction and Motivation

2 Perfect Elimination Bipartite Graphs

3 A New Recognition Algorithm

4 Conclusion

Page 3: Csr2011 june18 15_15_bomhoff

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?

Page 4: Csr2011 june18 15_15_bomhoff

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?

Page 5: Csr2011 june18 15_15_bomhoff

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?

Page 6: Csr2011 june18 15_15_bomhoff

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?

Page 7: Csr2011 june18 15_15_bomhoff

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?

Page 8: Csr2011 june18 15_15_bomhoff

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

Page 9: Csr2011 june18 15_15_bomhoff

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

Page 10: Csr2011 june18 15_15_bomhoff

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

Page 11: Csr2011 june18 15_15_bomhoff

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.

Page 12: Csr2011 june18 15_15_bomhoff

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.

Page 13: Csr2011 june18 15_15_bomhoff

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)

Page 14: Csr2011 june18 15_15_bomhoff

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

Page 15: Csr2011 june18 15_15_bomhoff

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

Page 16: Csr2011 june18 15_15_bomhoff

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. . .

Page 17: Csr2011 june18 15_15_bomhoff

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. . .

Page 18: Csr2011 june18 15_15_bomhoff

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

Page 19: Csr2011 june18 15_15_bomhoff

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

Page 20: Csr2011 june18 15_15_bomhoff

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

Page 21: Csr2011 june18 15_15_bomhoff

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

Page 22: Csr2011 june18 15_15_bomhoff

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

Page 23: Csr2011 june18 15_15_bomhoff

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

Page 24: Csr2011 june18 15_15_bomhoff

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

Page 25: Csr2011 june18 15_15_bomhoff

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

Page 26: Csr2011 june18 15_15_bomhoff

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)

Page 27: Csr2011 june18 15_15_bomhoff

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)

Page 28: Csr2011 june18 15_15_bomhoff

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)

Page 29: Csr2011 june18 15_15_bomhoff

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

Page 30: Csr2011 june18 15_15_bomhoff

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