SLIDE 1
A Faster Algorithm for Finding Minimum Tucker Submatrices Guillaume - - PowerPoint PPT Presentation
A Faster Algorithm for Finding Minimum Tucker Submatrices Guillaume - - PowerPoint PPT Presentation
A Faster Algorithm for Finding Minimum Tucker Submatrices Guillaume Blin Romeo Rizzi St ephane Vialette LIGM Universit e Paris-Est Marne-la-Vall ee, France DIMI Universit degli Studi di Udine, Italy. June 2010 Consecutive ones
SLIDE 2
SLIDE 3
Consecutive ones property
Definition A (0, 1)-matrix has the consecutive ones property (C1P) for rows if there is a permutation of its columns that leaves the 1’s consecutive in every row. Example M = 1 1 1 1 1 1 1 1 1 1 1 MP = 1 1 1 1 1 1 1 1 1 1 1
SLIDE 4
From (0, 1)-matrices to colored bipartite graphs
Definition Let M be a (0, 1)-matrix. Its corresponding vertex-colored bipartite graph G(M) = (VM, EM) is defined by associating a black vertex to each row of M, a white vertex to each column of M, and by adding an edge between the vertices that correspond to the ith row and the jth column of M if and only of M[i, j] = 1.
SLIDE 5
From (0, 1)-matrices to colored bipartite graphs
Definition Let M be a (0, 1)-matrix. Its corresponding vertex-colored bipartite graph G(M) = (VM, EM) is defined by associating a black vertex to each row of M, a white vertex to each column of M, and by adding an edge between the vertices that correspond to the ith row and the jth column of M if and only of M[i, j] = 1. Example
M = 1 1 1 1 1 1 1 1 1 1 1 1 G(M) =
SLIDE 6
C1P and forbidden structures
Theorem (Tucker, 72) A (0, 1)-matrix has the C1P if and only if it contains none of the matrices MIk, MIIk, MIIIk (k ≥ 1), MIV, and MV depicted below:
SLIDE 7
Minimum size forbidden Tucker submatrices
Theorem (Dom, Guo, Niedermeier, 09) Let M be a m × n (0, 1)-matrix with at most ∆ 1-entries per row that does not have the C1P . A minimum size forbidden Tucker submatrix that occurs in M can be found in O(∆3m2(mn + n3)) time.
SLIDE 8
Minimum size forbidden Tucker submatrices
Theorem (Dom, Guo, Niedermeier, 09) Let M be a m × n (0, 1)-matrix with at most ∆ 1-entries per row that does not have the C1P . A minimum size forbidden Tucker submatrix that occurs in M can be found in O(∆3m2(mn + n3)) time. Proof (key ideas) The proof is by combining astoroidal triples, shortest paths, and some exhasutive search procedure. MIk and MIIk O(∆mn2 + n3) MIIIk O(∆3m3n + ∆2m2n2) MIV O(∆3m2n3) MV O(∆4m2n) Total O(∆3m2n(m + n2))
SLIDE 9
Main result
Theorem Let M be a m × n (0, 1)-matrix with at most ∆ 1-entries per row that does not have the C1P . A minimum size forbidden Tucker submatrix that occurs in M can be found in O(∆3m2(m∆ + n3)) time.
SLIDE 10
Main result
Theorem Let M be a m × n (0, 1)-matrix with at most ∆ 1-entries per row that does not have the C1P . A minimum size forbidden Tucker submatrix that occurs in M can be found in O(∆3m2(m∆ + n3)) time. Dom et al. vs our contribution Dom et al. Our contribution MIk and MIIk O(∆mn2 + n3) O(m2∆3(n + ∆m)) MIIIk O(∆3m3n + ∆2m2n2) O(m∆n2(n + ∆m)) MIV O(∆3m2n3) MV O(∆4m2n) Total O(∆3m2(mn + n3)) O(∆3m2(m∆ + n3))
SLIDE 11
Graph pruning and exhaustive search
Our algorithm is by combining shortest paths and two graph pruning techniques (clean and anticlean) together with some exhaustive search procedures (guess), i.e.,
◮ cleaning (clean):
clean the neighbordhood of a vertex.
◮ anticleaning (anticlean):
clean the non-neighbordhood of a vertex.
◮ guessing (guess):
brute-force search.
SLIDE 12
Cleaning vertices
Definition (clean) For any node x of G(M), clean(x) results in the graph where any neighbor of x has been deleted,
SLIDE 13
Cleaning vertices
Definition (clean) For any node x of G(M), clean(x) results in the graph where any neighbor of x has been deleted, Example
x A B C D E F G H r s t u v w y z
SLIDE 14
Cleaning vertices
Definition (clean) For any node x of G(M), clean(x) results in the graph where any neighbor of x has been deleted, Example
x A B C D E F G H r s t u v w y z
SLIDE 15
Anticleaning vertices
Definition (anticlean) For any node x of G(M), anticlean(x) results in the graph where any vertex that does not belong to the same partition nor the neighborhood of x has been deleted.
SLIDE 16
Anticleaning vertices
Definition (anticlean) For any node x of G(M), anticlean(x) results in the graph where any vertex that does not belong to the same partition nor the neighborhood of x has been deleted. Example
x A B C D E F G H r s t u v w y z
SLIDE 17
Anticleaning vertices
Definition (anticlean) For any node x of G(M), anticlean(x) results in the graph where any vertex that does not belong to the same partition nor the neighborhood of x has been deleted. Example
x A B C D E F G H r s t u v w y z
SLIDE 18
Identifying minimum size MIk structures
Theorem Let M be m × n (0, 1)-matrix with at most ∆ 1-entries per row. One can find the smallest submatrix G(MIk) in G(M) in O(m2∆3(n + ∆m)) time (if such a submatrix exists).
SLIDE 19
Identifying minimum size MIk structures
1: guess({x, y, z, A, B}) and add them to S 2: clean(x, A, B) 3: find a shortest path p in the pruned graph between y and z
after having removed A and B
4: if p exists then 5:
Add the vertices of p to S
6:
return the induced subgraph G(M)[S]
7: end if
SLIDE 20
Identifying minimum size MIIk structures
Theorem Let M be a m × n (0, 1)-matrix with at most ∆ 1-entries per row. One can find the smallest submatrix G(MIIk) in G(M) in O(m2∆3(n + ∆m)) time (if such a submatrix exists).
SLIDE 21
Identifying minimum size MIIk structures
1: guess({x, y, z, A, B}) and add them to S 2: anticlean(A, B) 3: clean(x) 4: find a shortest path p in the pruned graph between y and z
after having removed A and B
5: if p exists then 6:
Add the vertices of p to S
7:
return the induced subgraph G(M)[S]
8: end if
SLIDE 22
Identifying minimum size MIIIk structures
Theorem Let M be a m × n (0, 1)-matrix with at most ∆ 1-entries in each
- row. One can find the smallest G(MIIIk) in G(M) in
O(m∆n2(n + ∆m)) time (if such a submatrix exists).
SLIDE 23
Identifying minimum size MIIIk structures
1: guess({x, y, z, A}) and add them to S 2: anticlean(A) 3: clean(x) 4: find a shortest path p in the pruned graph between y and z
after having removed A
5: if p exists then 6:
Add all the nodes of p to S
7:
return the induced subgraph G(M)[S]
8: end if
SLIDE 24
Identifying minimum size MIV and MV structures
Theorem Let M be a m × n (0, 1)-matrix with at most ∆ 1-entries per row. One can find the smallest G(MIV) (resp. G(MV)) in G(M) in O(∆3m2n3) (resp. O(∆4m2n) time) if it exists.
SLIDE 25
Running time
Dom et al. vs our contribution Dom et al. Our contribution MIk and MIIk O(∆mn2 + n3) O(m2∆3(n + ∆m)) MIIIk O(∆3m3n + ∆2m2n2) O(m∆n2(n + ∆m)) MIV O(∆3m2n3) MV O(∆4m2n) Total O(∆3m2(mn + n3)) O(∆3m2(m∆ + n3))
SLIDE 26
Matrices with unbounded ∆
Theorem Let M be a m × n (0, 1)-matrix with at most C 1-entries per
- column. A minimum size forbidden Tucker submatrix that
- ccurs in M can be found in O(C2n3(m + C2n)) time.