170 likes | 290 Vues
Characterizing Matrices with Consecutive Ones Property. N.S. Narayanaswamy, IIT Madras (Joint work with R. Subashini, IITM). The Problem. Does a given 0-1 Matrix have the Consecutive Ones Property Permute the rows such that the ones in each column occur consecutively Application
E N D
Characterizing Matrices with Consecutive Ones Property N.S. Narayanaswamy, IIT Madras (Joint work with R. Subashini, IITM)
The Problem • Does a given 0-1 Matrix have the Consecutive Ones Property • Permute the rows such that the ones in each column occur consecutively • Application • Maximal Clique-Vertex incidence matrix • Interval graph characterization • Characterizing cubic Hamiltonian graphs • Databases and Computational Biology
Status • Poly time solvable - • Fulkerson and Gross • forbidden matrix configurations - Tucker • View the matrix as a maximal clique-vertex incidence matrix • Asteroidal triple • Induced cycles larger than K3 • Linear time algorithm- • Booth and Leuker • Running time of O(m+n+#non-zero entries)
CoT Trees • PQ-trees • L-R order yields one permutation • Leaves are the rows • Internal nodes are P and Q nodes • P node - all permutations of its children yields a valid permutation • Q node - exactly two permutations permitted • Algorithm outputs a PQ-tree only if the matrix has the COP • Addressed by PQR trees
Permutations and Intervals • A feasible permutation of rows yields an interval assignment to the columns • Length of the interval is the number of ones in the column • Intersection cardinality of a pair of intervals is the number of rows in which a 1 occurs in both the corresponding columns • Does such an assignment imply a feasible permutation?
Preserving intersection cardinalities is sufficient • Sort the intervals in increasing order of left end point and break ties using the right end points • Discard identical columns • Consider (P1,Q1) • Pi row indices in i-th column • Qi is the interval assigned to the i-th column • Encodes all permutations in which Pi is mapped to Qi
Refining the set of permutations • Iteratively filter the current set of permutations • Using strictly intersecting pairs • Pair of intersecting intervals, neither contained in the other
Invariants • Q is an interval for each (P,Q). • |P|=|Q| for each (P,Q) • For any two (P',Q'), (P'',Q''), • |P'P''|=|Q' Q''|. • At the end no interval is strictly intersecting with another interval • Either disjoint or contained.
Completing the refinement • The set of (P,Q) yields a natural containment tree
Consequence • Given an interval assignment • We have a data structure that encodes all permutations which yield this interval assignment • Proof uses • Helly property for intervals • For any 3 mutually intersecting intervals one is contained in the union of the other two. • Intersection cardinality preserved
Finding good interval assignments • For a set of proper intervals and its flipping the intersection graph are isomorphic- [1,8],[5,10],[2,7] is isomorphic to [1,6],[3,10],[4,9] • Intuition • To assign intervals to a set system, there are only two choices and these will be decided at the first step.
An ordering of the sets • First set • A set such that all those sets which intersect it have a pair-wise non-empty intersection - candidate for the leftmost interval • Next Set (iteratively) • One that has a strict intersection with one of the chosen sets.
Assigning the Intervals • First Set-Left most interval • Second set - has strict intersection with first set. So two interval choices • Next set (iteratively)-has strict intersection with some interval • Exactly one choice of interval, given intersection cardinality constraints • Failure implies no feasible interval assignment • Linear time in the number of sets, but computing intersection is costly
Sets left out • Do not have a strict overlap with the sets considered • Disjoint • Contained • Two distinct sets are related if they have a strict overlap • Consider connected components in this undirected graph
On the components • Each component is a sub-matrix formed by the columns • Two components are either • Disjoint • Or all the sets in one are contained in a single set of the other. • An interval assignment to each component implies an interval assignment to the whole set system
Putting the interval assignments together • Given that an interval assignment to each of the components is feasible. • Containment tree/forest on the components • An arc between vertices corresponding to two components if the sets of one are all contained in one set of the other • Construct the interval assignment in a BFS fashion starting from the root of each tree
Comments • Can test if rows can be permuted • so that columns are sorted • 1s occur in a circular fashion • Recent thoughts • Solves an isomorphism problem to a target class of matrices in which 1s in each column are consecutive • NP-hard when 1s are in at most 3 consecutive regions.