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

a faster algorithm for propositional model counting
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

A Faster Algorithm for Propositional Model Counting Parameterized by Incidence Treewidth

Friedrich Slivovsky and Stefan Szeider

1

slide-2
SLIDE 2

Propositional Model Counting (#SAT)

2

slide-3
SLIDE 3

Propositional Model Counting (#SAT)

2

SAT

Does have a satisfying assignment?

φ

slide-4
SLIDE 4

Propositional Model Counting (#SAT)

2

SAT

Does have a satisfying assignment?

φ

#SAT

Count the satisfying assignments of .

φ

slide-5
SLIDE 5

Propositional Model Counting (#SAT)

2

SAT

Does have a satisfying assignment?

φ

#SAT

Count the satisfying assignments of .

φ

𝖰

slide-6
SLIDE 6

Propositional Model Counting (#SAT)

2

SAT

Does have a satisfying assignment?

φ

#SAT

Count the satisfying assignments of .

φ

𝖰 𝖮𝖰

slide-7
SLIDE 7

Propositional Model Counting (#SAT)

2

SAT

Does have a satisfying assignment?

φ

#SAT

Count the satisfying assignments of .

φ

𝖰 𝖮𝖰 𝖣𝗉𝖮𝖰

slide-8
SLIDE 8

Propositional Model Counting (#SAT)

2

SAT

Does have a satisfying assignment?

φ

#SAT

Count the satisfying assignments of .

φ

𝖰 𝖮𝖰 Σ𝖰

2

𝖣𝗉𝖮𝖰

slide-9
SLIDE 9

Propositional Model Counting (#SAT)

2

SAT

Does have a satisfying assignment?

φ

#SAT

Count the satisfying assignments of .

φ

𝖰 𝖮𝖰 Σ𝖰

2

𝖣𝗉𝖮𝖰

slide-10
SLIDE 10

Propositional Model Counting (#SAT)

2

SAT

Does have a satisfying assignment?

φ

#SAT

Count the satisfying assignments of .

φ

𝖰 𝖮𝖰 Σ𝖰

2

𝖣𝗉𝖮𝖰 Π𝖰

2

slide-11
SLIDE 11

Propositional Model Counting (#SAT)

2

SAT

Does have a satisfying assignment?

φ

#SAT

Count the satisfying assignments of .

φ

𝖰 𝖮𝖰 Σ𝖰

2

𝖣𝗉𝖮𝖰 Π𝖰

2

Δ𝖰

2

slide-12
SLIDE 12

Propositional Model Counting (#SAT)

3

SAT

Does have a satisfying assignment?

φ

#SAT

Count the satisfying assignments of .

φ

𝖰 𝖮𝖰 Σ𝖰

2

𝖣𝗉𝖮𝖰 Π𝖰

2

Δ𝖰

2

slide-13
SLIDE 13

Propositional Model Counting (#SAT)

3

SAT

Does have a satisfying assignment?

φ

#SAT

Count the satisfying assignments of .

φ

𝖰 𝖮𝖰 Σ𝖰

2

𝖣𝗉𝖮𝖰 Π𝖰

2

Δ𝖰

2

slide-14
SLIDE 14

Propositional Model Counting (#SAT)

3

SAT

Does have a satisfying assignment?

φ

#SAT

Count the satisfying assignments of .

φ

Π𝖰

3

𝖰 𝖮𝖰 Σ𝖰

2

𝖣𝗉𝖮𝖰 Π𝖰

2

Δ𝖰

2

slide-15
SLIDE 15

Propositional Model Counting (#SAT)

3

SAT

Does have a satisfying assignment?

φ

#SAT

Count the satisfying assignments of .

φ

Σ𝖰

3

Π𝖰

3

𝖰 𝖮𝖰 Σ𝖰

2

𝖣𝗉𝖮𝖰 Π𝖰

2

Δ𝖰

2

slide-16
SLIDE 16

Propositional Model Counting (#SAT)

3

SAT

Does have a satisfying assignment?

φ

#SAT

Count the satisfying assignments of .

φ

Σ𝖰

3

Π𝖰

3

Δ𝖰

3

𝖰 𝖮𝖰 Σ𝖰

2

𝖣𝗉𝖮𝖰 Π𝖰

2

Δ𝖰

2

slide-17
SLIDE 17

Propositional Model Counting (#SAT)

3

SAT

Does have a satisfying assignment?

φ

#SAT

Count the satisfying assignments of .

φ

Σ𝖰

3

Π𝖰

3

Δ𝖰

3

𝖰 𝖮𝖰 Σ𝖰

2

𝖣𝗉𝖮𝖰 Π𝖰

2

Δ𝖰

2

slide-18
SLIDE 18

Propositional Model Counting (#SAT)

3

SAT

Does have a satisfying assignment?

φ

#SAT

Count the satisfying assignments of .

φ

Σ𝖰

3

Π𝖰

3

Δ𝖰

3

𝖰 𝖮𝖰 Σ𝖰

2

𝖣𝗉𝖮𝖰 Π𝖰

2

Δ𝖰

2

𝖰𝖨 = ⋃

i

Σ𝖰

i

slide-19
SLIDE 19

Propositional Model Counting (#SAT)

3

SAT

Does have a satisfying assignment?

φ

#SAT

Count the satisfying assignments of .

φ

Σ𝖰

3

Π𝖰

3

Δ𝖰

3

Toda’s Theorem Every problem in the polynomial hierarchy can be solved in polynomial time using a #SAT oracle.

𝖰 𝖮𝖰 Σ𝖰

2

𝖣𝗉𝖮𝖰 Π𝖰

2

Δ𝖰

2

𝖰𝖨 = ⋃

i

Σ𝖰

i

slide-20
SLIDE 20

Propositional Model Counting (#SAT)

3

SAT

Does have a satisfying assignment?

φ

#SAT

Count the satisfying assignments of .

φ

Σ𝖰

3

Π𝖰

3

Δ𝖰

3

Toda’s Theorem Every problem in the polynomial hierarchy can be solved in polynomial time using a #SAT oracle. #SAT #P-complete even for

  • monotone 2CNF and
  • Horn formulas.

𝖰 𝖮𝖰 Σ𝖰

2

𝖣𝗉𝖮𝖰 Π𝖰

2

Δ𝖰

2

𝖰𝖨 = ⋃

i

Σ𝖰

i

slide-21
SLIDE 21

Applications and Solvers

4

slide-22
SLIDE 22

Applications and Solvers

Probabilistic Inference

4

slide-23
SLIDE 23

Applications and Solvers

Pr(A|B) = Pr(A ∧ B) Pr(B) Probabilistic Inference

4

slide-24
SLIDE 24

Applications and Solvers

Pr(A|B) = Pr(A ∧ B) Pr(B) #(A ∧ B) #B Probabilistic Inference

4

slide-25
SLIDE 25

Applications and Solvers

Pr(A|B) = Pr(A ∧ B) Pr(B) #(A ∧ B) #B Probabilistic Inference Circuit Design

4

slide-26
SLIDE 26

Applications and Solvers

Pr(A|B) = Pr(A ∧ B) Pr(B) #(A ∧ B) #B Probabilistic Inference Circuit Design

4

Product Configuration

slide-27
SLIDE 27

Applications and Solvers

Model Counters Pr(A|B) = Pr(A ∧ B) Pr(B) #(A ∧ B) #B Probabilistic Inference Circuit Design

4

Product Configuration

slide-28
SLIDE 28

Applications and Solvers

Model Counters Exact Pr(A|B) = Pr(A ∧ B) Pr(B) #(A ∧ B) #B Probabilistic Inference Circuit Design

4

Product Configuration

slide-29
SLIDE 29

Applications and Solvers

Model Counters Exhaustive DPLL Exact Pr(A|B) = Pr(A ∧ B) Pr(B) #(A ∧ B) #B Probabilistic Inference Circuit Design

4

Product Configuration

slide-30
SLIDE 30

Applications and Solvers

Model Counters Exhaustive DPLL Knowledge Compilation Exact Pr(A|B) = Pr(A ∧ B) Pr(B) #(A ∧ B) #B Probabilistic Inference Circuit Design

4

Product Configuration

slide-31
SLIDE 31

Applications and Solvers

Model Counters Exhaustive DPLL Knowledge Compilation Dynamic Programming Exact Pr(A|B) = Pr(A ∧ B) Pr(B) #(A ∧ B) #B Probabilistic Inference Circuit Design

4

Product Configuration

slide-32
SLIDE 32

Applications and Solvers

Model Counters Exhaustive DPLL Knowledge Compilation Dynamic Programming Approximate Exact Pr(A|B) = Pr(A ∧ B) Pr(B) #(A ∧ B) #B Probabilistic Inference Circuit Design

4

Product Configuration

slide-33
SLIDE 33

Applications and Solvers

Model Counters Exhaustive DPLL Knowledge Compilation Dynamic Programming Approximate Exact Hashing-Based Pr(A|B) = Pr(A ∧ B) Pr(B) #(A ∧ B) #B Probabilistic Inference Circuit Design

4

Product Configuration

slide-34
SLIDE 34

Applications and Solvers

Model Counters Exhaustive DPLL Knowledge Compilation Dynamic Programming Approximate Exact Hashing-Based Pr(A|B) = Pr(A ∧ B) Pr(B) #(A ∧ B) #B Probabilistic Inference Circuit Design

4

Product Configuration

Decomposition-Based

slide-35
SLIDE 35

Treewidth of Formulas

5

slide-36
SLIDE 36

Treewidth of Formulas

treewidth measures the “tree-likeness” of a graph

5

slide-37
SLIDE 37

Treewidth of Formulas

(x1 ∨ x2 ∨ ¬x3) ∧ (¬x1 ∨ x2 ∨ x3) ∧ (¬x2 ∨ x3) ∧ (x1 ∨ x2 ∨ x4)

treewidth measures the “tree-likeness” of a graph

5

slide-38
SLIDE 38

Treewidth of Formulas

(x1 ∨ x2 ∨ ¬x3) ∧ (¬x1 ∨ x2 ∨ x3) ∧ (¬x2 ∨ x3) ∧ (x1 ∨ x2 ∨ x4)

treewidth measures the “tree-likeness” of a graph primal graph

5

slide-39
SLIDE 39

Treewidth of Formulas

(x1 ∨ x2 ∨ ¬x3) ∧ (¬x1 ∨ x2 ∨ x3) ∧ (¬x2 ∨ x3) ∧ (x1 ∨ x2 ∨ x4)

x2

treewidth measures the “tree-likeness” of a graph primal graph

5

slide-40
SLIDE 40

Treewidth of Formulas

(x1 ∨ x2 ∨ ¬x3) ∧ (¬x1 ∨ x2 ∨ x3) ∧ (¬x2 ∨ x3) ∧ (x1 ∨ x2 ∨ x4)

x1 x2

treewidth measures the “tree-likeness” of a graph primal graph

5

slide-41
SLIDE 41

Treewidth of Formulas

(x1 ∨ x2 ∨ ¬x3) ∧ (¬x1 ∨ x2 ∨ x3) ∧ (¬x2 ∨ x3) ∧ (x1 ∨ x2 ∨ x4)

x1 x2 x3

treewidth measures the “tree-likeness” of a graph primal graph

5

slide-42
SLIDE 42

Treewidth of Formulas

(x1 ∨ x2 ∨ ¬x3) ∧ (¬x1 ∨ x2 ∨ x3) ∧ (¬x2 ∨ x3) ∧ (x1 ∨ x2 ∨ x4)

x1 x2 x4 x3

treewidth measures the “tree-likeness” of a graph primal graph

5

slide-43
SLIDE 43

Treewidth of Formulas

(x1 ∨ x2 ∨ ¬x3) ∧ (¬x1 ∨ x2 ∨ x3) ∧ (¬x2 ∨ x3) ∧ (x1 ∨ x2 ∨ x4)

x1 x2 x4 x3

treewidth measures the “tree-likeness” of a graph primal graph

5

slide-44
SLIDE 44

Treewidth of Formulas

(x1 ∨ x2 ∨ ¬x3) ∧ (¬x1 ∨ x2 ∨ x3) ∧ (¬x2 ∨ x3) ∧ (x1 ∨ x2 ∨ x4)

x1 x2 x4 x3

treewidth measures the “tree-likeness” of a graph primal graph

5

slide-45
SLIDE 45

Treewidth of Formulas

(x1 ∨ x2 ∨ ¬x3) ∧ (¬x1 ∨ x2 ∨ x3) ∧ (¬x2 ∨ x3) ∧ (x1 ∨ x2 ∨ x4)

x1 x2 x4 x3

treewidth measures the “tree-likeness” of a graph primal graph incidence graph

5

slide-46
SLIDE 46

Treewidth of Formulas

(x1 ∨ x2 ∨ ¬x3) ∧ (¬x1 ∨ x2 ∨ x3) ∧ (¬x2 ∨ x3) ∧ (x1 ∨ x2 ∨ x4)

x1 x2 x4 x3

treewidth measures the “tree-likeness” of a graph primal graph incidence graph

x1 x2 x4 x3

5

slide-47
SLIDE 47

Treewidth of Formulas

(x1 ∨ x2 ∨ ¬x3) ∧ (¬x1 ∨ x2 ∨ x3) ∧ (¬x2 ∨ x3) ∧ (x1 ∨ x2 ∨ x4)

x1 x2 x4 x3

treewidth measures the “tree-likeness” of a graph primal graph incidence graph

x1 x2 x4 x3

5

slide-48
SLIDE 48

Treewidth of Formulas

(x1 ∨ x2 ∨ ¬x3) ∧ (¬x1 ∨ x2 ∨ x3) ∧ (¬x2 ∨ x3) ∧ (x1 ∨ x2 ∨ x4)

x1 x2 x4 x3

treewidth measures the “tree-likeness” of a graph primal graph incidence graph

x1 x2 x4 x3

5

slide-49
SLIDE 49

Treewidth of Formulas

(x1 ∨ x2 ∨ ¬x3) ∧ (¬x1 ∨ x2 ∨ x3) ∧ (¬x2 ∨ x3) ∧ (x1 ∨ x2 ∨ x4)

x1 x2 x4 x3

treewidth measures the “tree-likeness” of a graph primal graph incidence graph

x1 x2 x4 x3

5

slide-50
SLIDE 50

Treewidth of Formulas

(x1 ∨ x2 ∨ ¬x3) ∧ (¬x1 ∨ x2 ∨ x3) ∧ (¬x2 ∨ x3) ∧ (x1 ∨ x2 ∨ x4)

x1 x2 x4 x3

treewidth measures the “tree-likeness” of a graph primal graph incidence graph

x1 x2 x4 x3

5

slide-51
SLIDE 51

Treewidth of Formulas

(x1 ∨ x2 ∨ ¬x3) ∧ (¬x1 ∨ x2 ∨ x3) ∧ (¬x2 ∨ x3) ∧ (x1 ∨ x2 ∨ x4)

x1 x2 x4 x3

treewidth measures the “tree-likeness” of a graph primal graph incidence graph

x1 x2 x4 x3

5

slide-52
SLIDE 52

Treewidth of Formulas

(x1 ∨ x2 ∨ ¬x3) ∧ (¬x1 ∨ x2 ∨ x3) ∧ (¬x2 ∨ x3) ∧ (x1 ∨ x2 ∨ x4)

x1 x2 x4 x3

treewidth measures the “tree-likeness” of a graph primal graph incidence graph

x1 x2 x4 x3

5

slide-53
SLIDE 53

Treewidth of Formulas

(x1 ∨ x2 ∨ ¬x3) ∧ (¬x1 ∨ x2 ∨ x3) ∧ (¬x2 ∨ x3) ∧ (x1 ∨ x2 ∨ x4)

x1 x2 x4 x3

treewidth measures the “tree-likeness” of a graph primal graph incidence graph

x1 x2 x4 x3

5

slide-54
SLIDE 54

#SAT and Treewidth

slide-55
SLIDE 55

#SAT and Treewidth

primal treewidth k

slide-56
SLIDE 56

#SAT and Treewidth

primal treewidth k incidence treewidth k*

slide-57
SLIDE 57

#SAT and Treewidth

primal treewidth k incidence treewidth k*

slide-58
SLIDE 58

#SAT and Treewidth

primal treewidth k incidence treewidth k*

k* ≤ k + 1

slide-59
SLIDE 59

#SAT and Treewidth

primal treewidth k incidence treewidth k*

k* ≤ k + 1 f(k) ⋅ p(F)

slide-60
SLIDE 60

#SAT and Treewidth

primal treewidth k incidence treewidth k*

k* ≤ k + 1 f(k) ⋅ p(F) f(k*) ⋅ p(F)

Courcelle, Makowsky, Rotics 2001

slide-61
SLIDE 61

#SAT and Treewidth

primal treewidth k incidence treewidth k*

k* ≤ k + 1 f(k) ⋅ p(F) f(k*) ⋅ p(F) 2O(k) ⋅ p(F)

Courcelle, Makowsky, Rotics 2001

slide-62
SLIDE 62

#SAT and Treewidth

primal treewidth k incidence treewidth k*

k* ≤ k + 1 f(k) ⋅ p(F) f(k*) ⋅ p(F) 2O(k) ⋅ p(F)

Bacchus, Dalmao, Pitassi 2003 Courcelle, Makowsky, Rotics 2001

slide-63
SLIDE 63

#SAT and Treewidth

primal treewidth k incidence treewidth k*

k* ≤ k + 1 f(k) ⋅ p(F) f(k*) ⋅ p(F) 4k* ⋅ p(F) 2O(k) ⋅ p(F)

Bacchus, Dalmao, Pitassi 2003 Courcelle, Makowsky, Rotics 2001

slide-64
SLIDE 64

#SAT and Treewidth

primal treewidth k incidence treewidth k*

k* ≤ k + 1 f(k) ⋅ p(F) f(k*) ⋅ p(F)

Fischer, Makowsky, Ravve 2006 Samer and Szeider 2007

4k* ⋅ p(F) 2O(k) ⋅ p(F)

Bacchus, Dalmao, Pitassi 2003 Courcelle, Makowsky, Rotics 2001

slide-65
SLIDE 65

#SAT and Treewidth

primal treewidth k incidence treewidth k*

k* ≤ k + 1 f(k) ⋅ p(F) f(k*) ⋅ p(F)

Fischer, Makowsky, Ravve 2006 Samer and Szeider 2007

4k* ⋅ p(F) 4k ⋅ p(F) 2O(k) ⋅ p(F)

Bacchus, Dalmao, Pitassi 2003 Fischer, Makowsky, Ravve 2006 Courcelle, Makowsky, Rotics 2001

slide-66
SLIDE 66

#SAT and Treewidth

primal treewidth k incidence treewidth k*

k* ≤ k + 1 f(k) ⋅ p(F) f(k*) ⋅ p(F)

Fischer, Makowsky, Ravve 2006 Samer and Szeider 2007

4k* ⋅ p(F) 4k ⋅ p(F) 2O(k) ⋅ p(F)

Bacchus, Dalmao, Pitassi 2003

2k ⋅ p(F)

Fischer, Makowsky, Ravve 2006 Courcelle, Makowsky, Rotics 2001

slide-67
SLIDE 67

#SAT and Treewidth

primal treewidth k incidence treewidth k*

k* ≤ k + 1 f(k) ⋅ p(F) f(k*) ⋅ p(F)

Fischer, Makowsky, Ravve 2006 Samer and Szeider 2007

4k* ⋅ p(F) 4k ⋅ p(F) 2O(k) ⋅ p(F)

Bacchus, Dalmao, Pitassi 2003

2k ⋅ p(F)

Samer and Szeider 2007 Fischer, Makowsky, Ravve 2006 Courcelle, Makowsky, Rotics 2001

slide-68
SLIDE 68

#SAT and Treewidth

primal treewidth k incidence treewidth k*

k* ≤ k + 1 f(k) ⋅ p(F) f(k*) ⋅ p(F)

Fischer, Makowsky, Ravve 2006 Samer and Szeider 2007

4k* ⋅ p(F) 4k ⋅ p(F) 2O(k) ⋅ p(F)

Bacchus, Dalmao, Pitassi 2003

2k ⋅ p(F)

Samer and Szeider 2007

2k* ⋅ p(F)

Fischer, Makowsky, Ravve 2006 Courcelle, Makowsky, Rotics 2001

slide-69
SLIDE 69

#SAT and Treewidth

primal treewidth k incidence treewidth k*

k* ≤ k + 1 f(k) ⋅ p(F) f(k*) ⋅ p(F)

Fischer, Makowsky, Ravve 2006 Samer and Szeider 2007

4k* ⋅ p(F) 4k ⋅ p(F) 2O(k) ⋅ p(F)

Bacchus, Dalmao, Pitassi 2003

2k ⋅ p(F)

Samer and Szeider 2007

2k* ⋅ p(F)

Our result Fischer, Makowsky, Ravve 2006 Courcelle, Makowsky, Rotics 2001

slide-70
SLIDE 70

#SAT and Treewidth

primal treewidth k incidence treewidth k*

k* ≤ k + 1 f(k) ⋅ p(F) f(k*) ⋅ p(F)

Fischer, Makowsky, Ravve 2006 Samer and Szeider 2007

4k* ⋅ p(F) 4k ⋅ p(F) 2O(k) ⋅ p(F)

Bacchus, Dalmao, Pitassi 2003

2k ⋅ p(F)

Samer and Szeider 2007

2k* ⋅ p(F)

Our result

O p t i m a l u n d e r E T H

Fischer, Makowsky, Ravve 2006 Courcelle, Makowsky, Rotics 2001

slide-71
SLIDE 71

Tree Decompositions

7

slide-72
SLIDE 72

Tree Decompositions

7

slide-73
SLIDE 73

Tree Decompositions

“node”

7

slide-74
SLIDE 74

Tree Decompositions

“node”

7

slide-75
SLIDE 75

Tree Decompositions

“node” “bag”

7

slide-76
SLIDE 76

Tree Decompositions

  • 1. Each vertex appears in a bag.

“node” “bag”

7

slide-77
SLIDE 77

Tree Decompositions

  • 1. Each vertex appears in a bag.
  • 2. Each edge

is contained in a bag.

vw

“node” v w “bag”

7

slide-78
SLIDE 78

Tree Decompositions

  • 1. Each vertex appears in a bag.
  • 2. Each edge

is contained in a bag.

vw

  • 3. The set of nodes in whose bags

appears form a connected subtree.

v

“node” v w “bag”

7

slide-79
SLIDE 79

Tree Decompositions

  • 1. Each vertex appears in a bag.
  • 2. Each edge

is contained in a bag.

vw

  • 3. The set of nodes in whose bags

appears form a connected subtree.

v

“node” v v w “bag”

7

slide-80
SLIDE 80

Tree Decompositions

  • 1. Each vertex appears in a bag.
  • 2. Each edge

is contained in a bag.

vw

  • 3. The set of nodes in whose bags

appears form a connected subtree.

v

“node” v v w v “bag”

7

slide-81
SLIDE 81

Tree Decompositions

  • 1. Each vertex appears in a bag.
  • 2. Each edge

is contained in a bag.

vw

  • 3. The set of nodes in whose bags

appears form a connected subtree.

v

“node” v v w v The width of a tree decomposition is the size of its largest bag - .

1

“bag”

7

slide-82
SLIDE 82

Dynamic Programming for #SAT

8

x2 x2 x4 x3 C2 C2 C2 x3 C1 x1

slide-83
SLIDE 83

Dynamic Programming for #SAT

8

x2 x2 x4 x3 C2 C2 C2 x3 C1

t

x1

slide-84
SLIDE 84

Dynamic Programming for #SAT

8

x2 x2 x4 x3 C2 C2 C2 x3 C1

t

x1

n(t, α, A)

slide-85
SLIDE 85

Dynamic Programming for #SAT

8

x2 x2 x4 x3 C2 C2 C2 x3 C1

t

x1

n(t, α, A)

assignment of bag variables

slide-86
SLIDE 86

Dynamic Programming for #SAT

8

x2 x2 x4 x3 C2 C2 C2 x3 C1

t

x1

n(t, α, A)

assignment of bag variables subset of bag clauses

slide-87
SLIDE 87

Join Nodes

9

x4 x3 C2 x4 x3 C2 x4 x3 C2

… …

slide-88
SLIDE 88

Join Nodes

9

x4 x3 C2 x4 x3 C2 x4 x3 C2

t

… …

slide-89
SLIDE 89

Join Nodes

9

x4 x3 C2 x4 x3 C2 x4 x3 C2

t t1

… …

slide-90
SLIDE 90

Join Nodes

9

x4 x3 C2 x4 x3 C2 x4 x3 C2

t t1 t2

… …

slide-91
SLIDE 91

Join Nodes

9

x4 x3 C2 x4 x3 C2 x4 x3 C2

t t1 t2

n(t, α, A) = ∑

A1, A2 ⊆ χc(t) A1 ∩ A2 = A

n(t1, α, A1) n(t2, α, A2)

… …

slide-92
SLIDE 92

Covering Product

10

n(t, α, A) = ∑

A1, A2 ⊆ χc(t) A1 ∩ A2 = A

n(t1, α, A1) n(t2, α, A2)

slide-93
SLIDE 93

Covering Product

10

f, g : 2S → ℤ

n(t, α, A) = ∑

A1, A2 ⊆ χc(t) A1 ∩ A2 = A

n(t1, α, A1) n(t2, α, A2)

slide-94
SLIDE 94

Covering Product

10

f, g : 2S → ℤ

n(t, α, A) = ∑

A1, A2 ⊆ χc(t) A1 ∩ A2 = A

n(t1, α, A1) n(t2, α, A2)

|S| = k

slide-95
SLIDE 95

Covering Product

10

f, g : 2S → ℤ (f *c g)(Y) = ∑

A∪B=Y

f(A) g(B)

n(t, α, A) = ∑

A1, A2 ⊆ χc(t) A1 ∩ A2 = A

n(t1, α, A1) n(t2, α, A2)

|S| = k

slide-96
SLIDE 96

Covering Product

10

f, g : 2S → ℤ (f *c g)(Y) = ∑

A∪B=Y

f(A) g(B)

n(t, α, A) = ∑

A1, A2 ⊆ χc(t) A1 ∩ A2 = A

n(t1, α, A1) n(t2, α, A2)

|S| = k Y ⊆ S

slide-97
SLIDE 97

Covering Product

10

f, g : 2S → ℤ (f *c g)(Y) = ∑

A∪B=Y

f(A) g(B)

n(t, α, A) = ∑

A1, A2 ⊆ χc(t) A1 ∩ A2 = A

n(t1, α, A1) n(t2, α, A2)

|S| = k Y ⊆ S

All values of the covering product can be computed with arithmetic operations.

f *c g O(2kk)

Theorem (Björklund, Husfeldt, Kaski, Koivisto 2007)

slide-98
SLIDE 98

Summary

4k* ⋅ p(F)

#SAT with incidence treewidth k*

slide-99
SLIDE 99

Summary

4k* ⋅ p(F)

#SAT with incidence treewidth k*

Fast Zeta- and Möbius Transform Covering Product

slide-100
SLIDE 100

Summary

4k* ⋅ p(F)

#SAT with incidence treewidth k*

Fast Zeta- and Möbius Transform Covering Product

slide-101
SLIDE 101

Summary

4k* ⋅ p(F)

#SAT with incidence treewidth k*

Fast Zeta- and Möbius Transform Covering Product

slide-102
SLIDE 102

Summary

4k* ⋅ p(F) 2k* ⋅ p(F)

#SAT with incidence treewidth k*

Fast Zeta- and Möbius Transform Covering Product