Constraint Solving via Fractional Edge Covers Martin Grohe and D´ aniel Marx Humboldt-Universit¨ at zu Berlin Institut f¨ ur Informatik Symposium on Discrete Algorithms (SODA) 2006 January 22, 2006 Constraint Solving via Fractional Edge Covers – p.1/16
Constraint Satisfaction Problems (CSP) Many natural problems can be expressed as a Constraint Satisfaction Problem, where a conjunction of clauses has to be satisfied. I = C 1 ( x 1 , x 2 , x 3 ) ∧ C 2 ( x 2 , x 4 ) ∧ C 3 ( x 1 , x 3 , x 4 ) A CSP instance is given by describing the variables, domain of the variables, constraints on the variables. Task: Find an assignment that satisfies every constraint. Constraint Solving via Fractional Edge Covers – p.2/16
Constraint Satisfaction Problems (CSP) Many natural problems can be expressed as a Constraint Satisfaction Problem, where a conjunction of clauses has to be satisfied. I = C 1 ( x 1 , x 2 , x 3 ) ∧ C 2 ( x 2 , x 4 ) ∧ C 3 ( x 1 , x 3 , x 4 ) A CSP instance is given by describing the variables, domain of the variables, constraints on the variables. Task: Find an assignment that satisfies every constraint. Example: 3-C OLORING is a CSP problem. Variables: vertices, Domain: { 1 , 2 , 3 } , Constraints: one for each edge. Constraint Solving via Fractional Edge Covers – p.2/16
Tractable structures Structural properties that can make a CSP instance tractable: tree width hypertree width [Gottlob et al. ’99] fractional edge cover number fractional hypertree width Constraint Solving via Fractional Edge Covers – p.3/16
Representation issues How are the constraints represented in the input? full truth table listing the satisfying tuples formula/circuit oracle Constraint Solving via Fractional Edge Covers – p.4/16
Representation issues How are the constraints represented in the input? full truth table listing the satisfying tuples formula/circuit oracle In this talk: Each constraint is given by listing all the tuples that satisfy it. Motivation: Applications in database theory & AI. Constraints are known databases, “satisfying” means “appears in the database.” Constraint Solving via Fractional Edge Covers – p.4/16
Tree width Tree width: A measure of how “tree-like” the graph is. (Introduced by Robertson and Seymour.) Tree decomposition: Bags of vertices are arranged a in a tree structure satisfying the following properties: c b d 1. If u and v are neighbors, then there is a bag con- taining both of them. 2. For every vertex v , the bags containing v form a e g f h connected subtree. c, d, f Width of the decomposition: size of the largest bag minus 1 . b, c, f d, f, g Tree width: width of the best decomposition. a, b, c b, e, f g, h Fact: Tree width = 1 ⇐ ⇒ graph is a forest Constraint Solving via Fractional Edge Covers – p.5/16
Bounded tree width graphs Many problems are polynomial-time solvable for bounded tree width graphs: V ERTEX C OLORING E DGE C OLORING H AMILTONIAN C YCLE M AXIMUM C LIQUE V ERTEX D ISJOINT P ATHS Constraint Solving via Fractional Edge Covers – p.6/16
Bounded tree width graphs Many problems are polynomial-time solvable for bounded tree width graphs: V ERTEX C OLORING E DGE C OLORING H AMILTONIAN C YCLE M AXIMUM C LIQUE V ERTEX D ISJOINT P ATHS Usually, if a problem can be solved on trees by bottom-up dynamic programming, then the same approach works for bounded tree width graphs. Constraint Solving via Fractional Edge Covers – p.6/16
CSP and tree width Primal (Gaifman) graph: vertices are the variables, and two vertices are connected if they appear in a common constraint. Fact: For every w , there is a polynomial-time algorithm solving CSP instances where the primal graph have tree width at most w . Constraint Solving via Fractional Edge Covers – p.7/16
CSP and tree width Primal (Gaifman) graph: vertices are the variables, and two vertices are connected if they appear in a common constraint. Fact: For every w , there is a polynomial-time algorithm solving CSP instances where the primal graph have tree width at most w . This result is best possible. CSP ( G ) : the problem restricted to instances where the primal graph is in G . Theorem: [Grohe ’03] CSP ( G ) is polynomial-time solvable ⇐ ⇒ G has bounded tree width (assuming FPT � = W[1]). Constraint Solving via Fractional Edge Covers – p.7/16
CSP and hypergraphs Hypergraph: edges are arbitrary subsets of vertices. Hypergraph of a CSP instance: vertices are the variables, each constraint is an edge. Constraint Solving via Fractional Edge Covers – p.8/16
CSP and hypergraphs Hypergraph: edges are arbitrary subsets of vertices. Hypergraph of a CSP instance: vertices are the variables, each constraint is an edge. Considering the hypergraph instead of the primal graph makes the complexity analysis more precise. I 1 = C ( x 1 , x 2 , . . . , x n ) vs. I 2 = C ( x 1 , x 2 ) ∧ C ( x 1 , x 3 ) ∧ · · · ∧ C ( x n − 1 , x n ) I 1 , I 2 have the same primal graph K n , but I 1 is always easy, I 2 can be hard. Constraint Solving via Fractional Edge Covers – p.8/16
CSP and hypergraphs Hypergraph: edges are arbitrary subsets of vertices. Hypergraph of a CSP instance: vertices are the variables, each constraint is an edge. Considering the hypergraph instead of the primal graph makes the complexity analysis more precise. I 1 = C ( x 1 , x 2 , . . . , x n ) vs. I 2 = C ( x 1 , x 2 ) ∧ C ( x 1 , x 3 ) ∧ · · · ∧ C ( x n − 1 , x n ) I 1 , I 2 have the same primal graph K n , but I 1 is always easy, I 2 can be hard. Observation: If there is a constraint that covers every variable, then we have to test at most � I � possible assignments. Observation: If the variables can be covered by k constraints, then we have to test at most � I � k possible assignments. Constraint Solving via Fractional Edge Covers – p.8/16
Hypertree width In a hypertree decomposition [Gottlob et al. ’99] of width w , bags of vertices are arranged in a tree structure such that 1. If u and v are connected by an edge, then there is a bag containing both of them. 2. For every vertex v , the bags containing v form a connected subtree. 3. For each bag, there are w edges (called the guards ) that cover the bag. Hypertree width: width of the best decomposition. Constraint Solving via Fractional Edge Covers – p.9/16
Hypertree width In a hypertree decomposition [Gottlob et al. ’99] of width w , bags of vertices are arranged in a tree structure such that 1. If u and v are connected by an edge, then there is a bag containing both of them. 2. For every vertex v , the bags containing v form a connected subtree. 3. For each bag, there are w edges (called the guards ) that cover the bag. Hypertree width: width of the best decomposition. Footnote: This is actually called generalized hypertree width for historical rea- sons. Constraint Solving via Fractional Edge Covers – p.9/16
Hypertree width Theorem: [Gottlob et al. ’99] For every w , there is a polynomial-time algorithm for solving CSP on instances with hypergraphs having hypertree width at most w . Algorithm: Bottom up dynamic programming. There are at most � I � w possible satisfying assignments for each bag. Constraint Solving via Fractional Edge Covers – p.10/16
Hypertree width Theorem: [Gottlob et al. ’99] For every w , there is a polynomial-time algorithm for solving CSP on instances with hypergraphs having hypertree width at most w . Algorithm: Bottom up dynamic programming. There are at most � I � w possible satisfying assignments for each bag. Generalization: Is there some more general property that makes the number of satisfying assignments of a bag polynomial? Constraint Solving via Fractional Edge Covers – p.10/16
(Fractional) edge covering An edge cover of a hypergraph is a subset of the edges such that every vertex is covered by at least one edge. ̺ ( H ) : size of the smallest edge cover. A fractional edge cover is a weight assignment to the edges such that every vertex is covered by total weight at least 1 . ̺ ∗ ( H ) : smallest total weight of a fractional edge cover. Constraint Solving via Fractional Edge Covers – p.11/16
(Fractional) edge covering An edge cover of a hypergraph is a subset of the edges such that every vertex is covered by at least one edge. ̺ ( H ) : size of the smallest edge cover. A fractional edge cover is a weight assignment to the edges such that every vertex is covered by total weight at least 1 . ̺ ∗ ( H ) : smallest total weight of a fractional edge cover. ̺ ( H ) = 2 Constraint Solving via Fractional Edge Covers – p.11/16
(Fractional) edge covering An edge cover of a hypergraph is a subset of the edges such that every vertex is covered by at least one edge. ̺ ( H ) : size of the smallest edge cover. A fractional edge cover is a weight assignment to the edges such that every vertex is covered by total weight at least 1 . ̺ ∗ ( H ) : smallest total weight of a fractional edge cover. 1 1 2 2 1 2 ̺ ( H ) = 2 ̺ ∗ ( H ) = 1 . 5 Constraint Solving via Fractional Edge Covers – p.11/16
Recommend
More recommend