a faster algorithm for propositional model counting
play

A Faster Algorithm for Propositional Model Counting Parameterized - PowerPoint PPT Presentation

A Faster Algorithm for Propositional Model Counting Parameterized by Incidence Treewidth Friedrich Slivovsky and Stefan Szeider 1 Propositional Model Counting (#SAT) 2 Propositional Model Counting (#SAT) SAT Does have a satisfying


  1. Treewidth of Formulas treewidth measures the “tree-likeness” of a graph ( x 1 ∨ x 2 ∨ ¬ x 3 ) ∧ (¬ x 1 ∨ x 2 ∨ x 3 ) ∧ (¬ x 2 ∨ x 3 ) ∧ ( x 1 ∨ x 2 ∨ x 4 ) primal graph incidence graph x 2 x 1 x 2 x 3 x 4 x 1 x 3 x 4 5

  2. Treewidth of Formulas treewidth measures the “tree-likeness” of a graph ( x 1 ∨ x 2 ∨ ¬ x 3 ) ∧ (¬ x 1 ∨ x 2 ∨ x 3 ) ∧ (¬ x 2 ∨ x 3 ) ∧ ( x 1 ∨ x 2 ∨ x 4 ) primal graph incidence graph x 2 x 1 x 2 x 3 x 4 x 1 x 3 x 4 5

  3. Treewidth of Formulas treewidth measures the “tree-likeness” of a graph ( x 1 ∨ x 2 ∨ ¬ x 3 ) ∧ (¬ x 1 ∨ x 2 ∨ x 3 ) ∧ (¬ x 2 ∨ x 3 ) ∧ ( x 1 ∨ x 2 ∨ x 4 ) primal graph incidence graph x 2 x 1 x 2 x 3 x 4 x 1 x 3 x 4 5

  4. Treewidth of Formulas treewidth measures the “tree-likeness” of a graph ( x 1 ∨ x 2 ∨ ¬ x 3 ) ∧ (¬ x 1 ∨ x 2 ∨ x 3 ) ∧ (¬ x 2 ∨ x 3 ) ∧ ( x 1 ∨ x 2 ∨ x 4 ) primal graph incidence graph x 2 x 1 x 2 x 3 x 4 x 1 x 3 x 4 5

  5. Treewidth of Formulas treewidth measures the “tree-likeness” of a graph ( x 1 ∨ x 2 ∨ ¬ x 3 ) ∧ (¬ x 1 ∨ x 2 ∨ x 3 ) ∧ (¬ x 2 ∨ x 3 ) ∧ ( x 1 ∨ x 2 ∨ x 4 ) primal graph incidence graph x 2 x 1 x 2 x 3 x 4 x 1 x 3 x 4 5

  6. #SAT and Treewidth

  7. #SAT and Treewidth primal treewidth k

  8. #SAT and Treewidth incidence treewidth k * primal treewidth k

  9. #SAT and Treewidth incidence treewidth k * primal treewidth k

  10. #SAT and Treewidth incidence treewidth k * primal treewidth k k * ≤ k + 1

  11. #SAT and Treewidth incidence treewidth k * primal treewidth k k * ≤ k + 1 f ( k ) ⋅ p ( F )

  12. #SAT and Treewidth incidence treewidth k * primal treewidth k k * ≤ k + 1 Courcelle, Makowsky, Rotics 2001 f ( k *) ⋅ p ( F ) f ( k ) ⋅ p ( F )

  13. #SAT and Treewidth incidence treewidth k * primal treewidth k k * ≤ k + 1 Courcelle, Makowsky, Rotics 2001 f ( k *) ⋅ p ( F ) f ( k ) ⋅ p ( F ) 2 O ( k ) ⋅ p ( F )

  14. #SAT and Treewidth incidence treewidth k * primal treewidth k k * ≤ k + 1 Courcelle, Makowsky, Rotics 2001 f ( k *) ⋅ p ( F ) f ( k ) ⋅ p ( F ) 2 O ( k ) ⋅ p ( F ) Bacchus, Dalmao, Pitassi 2003

  15. #SAT and Treewidth incidence treewidth k * primal treewidth k k * ≤ k + 1 Courcelle, Makowsky, Rotics 2001 f ( k *) ⋅ p ( F ) f ( k ) ⋅ p ( F ) 2 O ( k ) ⋅ p ( F ) Bacchus, Dalmao, Pitassi 2003 4 k * ⋅ p ( F )

  16. #SAT and Treewidth incidence treewidth k * primal treewidth k k * ≤ k + 1 Courcelle, Makowsky, Rotics 2001 f ( k *) ⋅ p ( F ) f ( k ) ⋅ p ( F ) 2 O ( k ) ⋅ p ( F ) Bacchus, Dalmao, Pitassi 2003 4 k * ⋅ p ( F ) Fischer, Makowsky, Ravve 2006 Samer and Szeider 2007

  17. #SAT and Treewidth incidence treewidth k * primal treewidth k k * ≤ k + 1 Courcelle, Makowsky, Rotics 2001 f ( k *) ⋅ p ( F ) f ( k ) ⋅ p ( F ) 2 O ( k ) ⋅ p ( F ) Bacchus, Dalmao, Pitassi 2003 4 k * ⋅ p ( F ) 4 k ⋅ p ( F ) Fischer, Makowsky, Ravve 2006 Fischer, Makowsky, Ravve 2006 Samer and Szeider 2007

  18. #SAT and Treewidth incidence treewidth k * primal treewidth k k * ≤ k + 1 Courcelle, Makowsky, Rotics 2001 f ( k *) ⋅ p ( F ) f ( k ) ⋅ p ( F ) 2 O ( k ) ⋅ p ( F ) Bacchus, Dalmao, Pitassi 2003 4 k * ⋅ p ( F ) 4 k ⋅ p ( F ) Fischer, Makowsky, Ravve 2006 Fischer, Makowsky, Ravve 2006 Samer and Szeider 2007 2 k ⋅ p ( F )

  19. #SAT and Treewidth incidence treewidth k * primal treewidth k k * ≤ k + 1 Courcelle, Makowsky, Rotics 2001 f ( k *) ⋅ p ( F ) f ( k ) ⋅ p ( F ) 2 O ( k ) ⋅ p ( F ) Bacchus, Dalmao, Pitassi 2003 4 k * ⋅ p ( F ) 4 k ⋅ p ( F ) Fischer, Makowsky, Ravve 2006 Fischer, Makowsky, Ravve 2006 Samer and Szeider 2007 Samer and Szeider 2007 2 k ⋅ p ( F )

  20. #SAT and Treewidth incidence treewidth k * primal treewidth k k * ≤ k + 1 Courcelle, Makowsky, Rotics 2001 f ( k *) ⋅ p ( F ) f ( k ) ⋅ p ( F ) 2 O ( k ) ⋅ p ( F ) Bacchus, Dalmao, Pitassi 2003 4 k * ⋅ p ( F ) 4 k ⋅ p ( F ) Fischer, Makowsky, Ravve 2006 Fischer, Makowsky, Ravve 2006 Samer and Szeider 2007 Samer and Szeider 2007 2 k * ⋅ p ( F ) 2 k ⋅ p ( F )

  21. #SAT and Treewidth incidence treewidth k * primal treewidth k k * ≤ k + 1 Courcelle, Makowsky, Rotics 2001 f ( k *) ⋅ p ( F ) f ( k ) ⋅ p ( F ) 2 O ( k ) ⋅ p ( F ) Bacchus, Dalmao, Pitassi 2003 4 k * ⋅ p ( F ) 4 k ⋅ p ( F ) Fischer, Makowsky, Ravve 2006 Fischer, Makowsky, Ravve 2006 Samer and Szeider 2007 Samer and Szeider 2007 Our result 2 k * ⋅ p ( F ) 2 k ⋅ p ( F )

  22. #SAT and Treewidth incidence treewidth k * primal treewidth k k * ≤ k + 1 Courcelle, Makowsky, Rotics 2001 f ( k *) ⋅ p ( F ) f ( k ) ⋅ p ( F ) 2 O ( k ) ⋅ p ( F ) Bacchus, Dalmao, Pitassi 2003 4 k * ⋅ p ( F ) 4 k ⋅ p ( F ) Fischer, Makowsky, Ravve 2006 Fischer, Makowsky, Ravve 2006 Samer and Szeider 2007 Samer and Szeider 2007 H T Our result E r e d n 2 k * ⋅ p ( F ) 2 k ⋅ p ( F ) u l a m i t p O

  23. Tree Decompositions 7

  24. Tree Decompositions 7

  25. Tree Decompositions “node” 7

  26. Tree Decompositions “node” 7

  27. Tree Decompositions “node” “bag” 7

  28. Tree Decompositions “node” 1. Each vertex appears in a bag. “bag” 7

  29. Tree Decompositions “node” 1. Each vertex appears in a bag. 2. Each edge is contained in a bag. vw “bag” v w 7

  30. Tree Decompositions “node” 1. Each vertex appears in a bag. 2. Each edge is contained in a bag. vw “bag” 3. The set of nodes in whose bags v appears form a connected subtree . v w 7

  31. Tree Decompositions “node” 1. Each vertex appears in a bag. 2. Each edge is contained in a bag. vw “bag” 3. The set of nodes in whose bags v appears form a connected subtree . v v w 7

  32. Tree Decompositions “node” 1. Each vertex appears in a bag. v 2. Each edge is contained in a bag. vw “bag” 3. The set of nodes in whose bags v appears form a connected subtree . v v w 7

  33. Tree Decompositions “node” 1. Each vertex appears in a bag. v 2. Each edge is contained in a bag. vw “bag” 3. The set of nodes in whose bags v appears form a connected subtree . v v w The width of a tree decomposition is the size of its largest bag - . 1 7

  34. Dynamic Programming for #SAT x 3 x 4 C 2 C 2 x 2 x 2 x 3 C 2 C 1 x 1 8

  35. Dynamic Programming for #SAT x 3 x 4 C 2 C 2 t x 2 x 2 x 3 C 2 C 1 x 1 8

  36. Dynamic Programming for #SAT x 3 x 4 C 2 C 2 t x 2 x 2 x 3 C 2 n ( t , α , A ) C 1 x 1 8

  37. Dynamic Programming for #SAT x 3 x 4 C 2 C 2 t x 2 x 2 x 3 C 2 n ( t , α , A ) C 1 x 1 assignment of bag variables 8

  38. Dynamic Programming for #SAT x 3 x 4 C 2 C 2 t x 2 x 2 x 3 C 2 subset of bag clauses n ( t , α , A ) C 1 x 1 assignment of bag variables 8

  39. Join Nodes x 3 x 4 C 2 x 3 x 4 x 3 x 4 C 2 C 2 … … 9

  40. Join Nodes t x 3 x 4 C 2 x 3 x 4 x 3 x 4 C 2 C 2 … … 9

  41. Join Nodes t x 3 x 4 C 2 t 1 x 3 x 4 x 3 x 4 C 2 C 2 … … 9

  42. Join Nodes t x 3 x 4 C 2 t 1 t 2 x 3 x 4 x 3 x 4 C 2 C 2 … … 9

  43. Join Nodes t x 3 x 4 C 2 t 1 t 2 x 3 x 4 x 3 x 4 C 2 C 2 … … ∑ n ( t , α , A ) = n ( t 1 , α , A 1 ) n ( t 2 , α , A 2 ) A 1 , A 2 ⊆ χ c ( t ) A 1 ∩ A 2 = A 9

  44. Covering Product ∑ n ( t , α , A ) = n ( t 1 , α , A 1 ) n ( t 2 , α , A 2 ) A 1 , A 2 ⊆ χ c ( t ) A 1 ∩ A 2 = A 10

  45. Covering Product f , g : 2 S → ℤ ∑ n ( t , α , A ) = n ( t 1 , α , A 1 ) n ( t 2 , α , A 2 ) A 1 , A 2 ⊆ χ c ( t ) A 1 ∩ A 2 = A 10

  46. Covering Product f , g : 2 S → ℤ | S | = k ∑ n ( t , α , A ) = n ( t 1 , α , A 1 ) n ( t 2 , α , A 2 ) A 1 , A 2 ⊆ χ c ( t ) A 1 ∩ A 2 = A 10

  47. Covering Product ( f * c g )( Y ) = ∑ f , g : 2 S → ℤ f ( A ) g ( B ) A ∪ B = Y | S | = k ∑ n ( t , α , A ) = n ( t 1 , α , A 1 ) n ( t 2 , α , A 2 ) A 1 , A 2 ⊆ χ c ( t ) A 1 ∩ A 2 = A 10

  48. Covering Product Y ⊆ S ( f * c g )( Y ) = ∑ f , g : 2 S → ℤ f ( A ) g ( B ) A ∪ B = Y | S | = k ∑ n ( t , α , A ) = n ( t 1 , α , A 1 ) n ( t 2 , α , A 2 ) A 1 , A 2 ⊆ χ c ( t ) A 1 ∩ A 2 = A 10

  49. Covering Product Y ⊆ S ( f * c g )( Y ) = ∑ f , g : 2 S → ℤ f ( A ) g ( B ) A ∪ B = Y | S | = k Theorem (Björklund, Husfeldt, Kaski, Koivisto 2007) O (2 k k ) All values of the covering product can be computed with arithmetic operations. f * c g ∑ n ( t , α , A ) = n ( t 1 , α , A 1 ) n ( t 2 , α , A 2 ) A 1 , A 2 ⊆ χ c ( t ) A 1 ∩ A 2 = A 10

  50. Summary #SAT with incidence treewidth k * 4 k * ⋅ p ( F )

  51. Summary #SAT with incidence treewidth k * 4 k * ⋅ p ( F ) Fast Zeta- and Möbius Transform Covering Product

  52. Summary #SAT with incidence treewidth k * 4 k * ⋅ p ( F ) Fast Zeta- and Möbius Transform Covering Product

Recommend


More recommend