constraint solving via fractional edge covers
play

Constraint Solving via Fractional Edge Covers Martin Grohe and D - PowerPoint PPT Presentation

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


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

  2. 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

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

  4. 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

  5. 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

  6. 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

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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  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

  17. 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

  18. 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

  19. (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

  20. (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

  21. (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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend