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

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