a faster algorithm for finding minimum tucker submatrices
play

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


  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

  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.

  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     1 0 0 1 0 0 1 1 0 0 1 1 0 1 0 1 1 1 0 0     M = MP =     0 0 1 1 0 0 0 1 1 0     1 0 1 1 1 0 1 1 1 1

  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 ) = ( V M , E M ) 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 i th row and the j th column of M if and only of M [ i , j ] = 1.

  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 ) = ( V M , E M ) 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 i th row and the j th column of M if and only of M [ i , j ] = 1. Example   0 1 0 1 1 0 0 0 0 1 1 0   M = G ( M ) =   0 1 1 0 1 0   1 0 1 0 1 1

  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 M I k , M II k , M III k (k ≥ 1 ), M IV , and M V depicted below:

  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 ( ∆ 3 m 2 ( mn + n 3 )) time.

  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 ( ∆ 3 m 2 ( mn + n 3 )) time. Proof (key ideas) The proof is by combining astoroidal triples, shortest paths, and some exhasutive search procedure. O ( ∆ mn 2 + n 3 ) M I k and M II k O ( ∆ 3 m 3 n + ∆ 2 m 2 n 2 ) M III k O ( ∆ 3 m 2 n 3 ) M IV O ( ∆ 4 m 2 n ) M V O ( ∆ 3 m 2 n ( m + n 2 )) Total

  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 ( ∆ 3 m 2 ( m ∆ + n 3 )) time.

  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 ( ∆ 3 m 2 ( m ∆ + n 3 )) time. Dom et al. vs our contribution Dom et al. Our contribution O ( ∆ mn 2 + n 3 ) O ( m 2 ∆ 3 ( n + ∆ m )) M I k and M II k O ( ∆ 3 m 3 n + ∆ 2 m 2 n 2 ) O ( m ∆ n 2 ( n + ∆ m )) M III k O ( ∆ 3 m 2 n 3 ) M IV O ( ∆ 4 m 2 n ) M V O ( ∆ 3 m 2 ( mn + n 3 )) O ( ∆ 3 m 2 ( m ∆ + n 3 )) Total

  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.

  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,

  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 F w v B s r x G C A E u t D y z H

  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 F w v B s r x G C A E u t D y z H

  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.

  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 F w v B s r x G C A E u t D y z H

  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 F w v B s r x G C A E u t D y z H

  18. Identifying minimum size M I k structures Theorem Let M be m × n ( 0 , 1 ) -matrix with at most ∆ 1 -entries per row. One can find the smallest submatrix G ( M I k ) in G ( M ) in O ( m 2 ∆ 3 ( n + ∆ m )) time (if such a submatrix exists).

  19. Identifying minimum size M I k 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 Add the vertices of p to S 5: return the induced subgraph G ( M )[ S ] 6: 7: end if

  20. Identifying minimum size M II k 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 ( M II k ) in G ( M ) in O ( m 2 ∆ 3 ( n + ∆ m )) time (if such a submatrix exists).

  21. Identifying minimum size M II k 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 Add the vertices of p to S 6: return the induced subgraph G ( M )[ S ] 7: 8: end if

  22. Identifying minimum size M III k 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 ( M III k ) in G ( M ) in O ( m ∆ n 2 ( n + ∆ m )) time (if such a submatrix exists).

  23. Identifying minimum size M III k 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 Add all the nodes of p to S 6: return the induced subgraph G ( M )[ S ] 7: 8: end if

  24. Identifying minimum size M IV and M V structures Theorem Let M be a m × n ( 0 , 1 ) -matrix with at most ∆ 1 -entries per row. One can find the smallest G ( M IV ) (resp. G ( M V ) ) in G ( M ) in O ( ∆ 3 m 2 n 3 ) (resp. O ( ∆ 4 m 2 n ) time) if it exists.

  25. Running time Dom et al. vs our contribution Dom et al. Our contribution O ( ∆ mn 2 + n 3 ) O ( m 2 ∆ 3 ( n + ∆ m )) M I k and M II k O ( ∆ 3 m 3 n + ∆ 2 m 2 n 2 ) O ( m ∆ n 2 ( n + ∆ m )) M III k O ( ∆ 3 m 2 n 3 ) M IV O ( ∆ 4 m 2 n ) M V O ( ∆ 3 m 2 ( mn + n 3 )) O ( ∆ 3 m 2 ( m ∆ + n 3 )) Total

  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 occurs in M can be found in O ( C 2 n 3 ( m + C 2 n )) 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 ( n 4 m 4 ) time.

Recommend


More recommend