A Faster Algorithm for Finding Minimum Tucker Submatrices Guillaume - - PowerPoint PPT Presentation

a faster algorithm for finding minimum tucker submatrices
SMART_READER_LITE
LIVE PREVIEW

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-1
SLIDE 1

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

slide-2
SLIDE 2

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.

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

Theorem Let M be m × n (0, 1)-matrix. A minimum size forbidden Tucker submatrix that occurs in M can be found in O(n4m4) time.