Dr aft
Connecting Width and Structure in Knowledge Compilation
Antoine Amarilli1, Mikaël Monet1,3,Pierre Senellart1,2,3 October 4th, 2018 (results from ICDT 2018 paper)
1LTCI, Télécom ParisTech, Université Paris-Saclay; Paris, France
2École normale supérieure, PSL University; Paris, France
3Inria; Paris, France
Dr aft
What is Knowledge Compilation?
•
You have atask→ Boolean SAT (is there a satisfying assignment?)
→ #SAT (model counting) (how many satisfying assignments?)
→ probabilistic evaluation
→ enumeration
•
Idea: compilethe input into a format that isdesignedto solve efficiently your task1/20
Dr aft
What is Knowledge Compilation?
•
You have atask→ Boolean SAT (is there a satisfying assignment?)
→ #SAT (model counting) (how many satisfying assignments?)
→ probabilistic evaluation
→ enumeration
•
Idea: compilethe input into a format that isdesignedto solve efficiently your task1/20
Dr aft
What is Knowledge Compilation?
•
You have atask→ Boolean SAT (is there a satisfying assignment?)
→ #SAT (model counting) (how many satisfying assignments?)
→ probabilistic evaluation
→ enumeration
•
Idea: compilethe input into a format that isdesignedto solve efficiently your task1/20
Dr aft
What is Knowledge Compilation?
•
You have atask→ Boolean SAT (is there a satisfying assignment?)
→ #SAT (model counting) (how many satisfying assignments?)
→ probabilistic evaluation
→ enumeration
•
Idea: compilethe input into a format that isdesignedto solve efficiently your task1/20
Dr aft
What is Knowledge Compilation?
•
You have atask→ Boolean SAT (is there a satisfying assignment?)
→ #SAT (model counting) (how many satisfying assignments?)
→ probabilistic evaluation
→ enumeration
•
Idea: compilethe input into a format that isdesignedto solve efficiently your task1/20
Dr aft
Why would I do that?
•
Without knowledge compilation Input classC1 Algo. 1 ResultInput classC2 Algo. 2 Result Input classC3 Algo. 3 Result
...
•
With knowledge compilation:modularity!
Input class C1 Input class C2 Input class C3
Compilation target
for your task Generic algo. Result Algo.10
Algo. 20 Algo.30
2/20
Dr aft
Why would I do that?
•
Without knowledge compilation Input classC1 Algo. 1 Result Input classC2 Algo. 2 ResultInput classC3 Algo. 3 Result ...
•
With knowledge compilation:modularity!
Input class C1 Input class C2 Input class C3
Compilation target
for your task Generic algo. Result Algo.10
Algo. 20 Algo.30
2/20
Dr aft
Why would I do that?
•
Without knowledge compilation Input classC1 Algo. 1 Result Input classC2 Algo. 2 Result Input classC3 Algo. 3 Result...
•
With knowledge compilation:modularity!
Input class C1 Input class C2 Input class C3
Compilation target
for your task Generic algo. Result Algo.10
Algo. 20 Algo.30
2/20
Dr aft
Why would I do that?
•
Without knowledge compilation Input classC1 Algo. 1 Result Input classC2 Algo. 2 Result Input classC3 Algo. 3 Result...
•
With knowledge compilation:modularity!
Input class C1 Input class C2 Input class C3
Compilation target
for your task Generic algo. Result Algo.10
Algo. 20 Algo.30
2/20
Dr aft
Why would I do that?
•
Without knowledge compilation Input classC1 Algo. 1 Result Input classC2 Algo. 2 Result Input classC3 Algo. 3 Result...
•
With knowledge compilation:modularity!
Input class C1 Input class C2 Input class C3
Compilation target
for your task Generic algo. Result
Algo.10 Algo. 20 Algo.30
2/20
Dr aft
Why would I do that?
•
Without knowledge compilation Input classC1 Algo. 1 Result Input classC2 Algo. 2 Result Input classC3 Algo. 3 Result...
•
With knowledge compilation:modularity!
Input class C1 Input class C2 Input class C3
Compilation target
for your task Generic algo. Result Algo.10
Algo. 20 Algo.30
2/20
Dr aft
Why would I do that?
•
Without knowledge compilation Input classC1 Algo. 1 Result Input classC2 Algo. 2 Result Input classC3 Algo. 3 Result...
•
With knowledge compilation:modularity!
Input class C1 Input class C2 Input class C3
Compilation target
for your task Generic algo. Result Algo.10
Algo. 20
Algo.30
2/20
Dr aft
Why would I do that?
•
Without knowledge compilation Input classC1 Algo. 1 Result Input classC2 Algo. 2 Result Input classC3 Algo. 3 Result...
•
With knowledge compilation:modularity!
Input class C1 Input class C2 Input class C3
Compilation target
for your task Generic algo. Result Algo.10
Algo. 20 Algo.30
2/20
Dr aft
Why would I do that?
•
Without knowledge compilation Input classC1 Algo. 1 Result Input classC2 Algo. 2 Result Input classC3 Algo. 3 Result...
•
With knowledge compilation:modularity!Input class C1 Input class C2 Input class C3
Compilation target
for your task Generic algo. Result Algo.10
Algo. 20 Algo.30
2/20
Dr aft
Studying the compilation targets
•
Tradeoffs between:→ Complexity of compilation (concisenessof thecompilation target)
→ Complexity of solving the task
Input Compilation Ctarget
Result Complexity
Evaluation SAT
#SAT
→ When can we convert from one target to another?
•
We are interested in#SATandprobability evaluation3/20
Dr aft
Studying the compilation targets
•
Tradeoffs between:→ Complexity of compilation (concisenessof thecompilation target)
→ Complexity of solving the task
Input Compilation Ctarget
Result Complexity
Truth table
Evaluation SAT
#SAT
→ When can we convert from one target to another?
•
We are interested in#SATandprobability evaluation3/20
Dr aft
Studying the compilation targets
•
Tradeoffs between:→ Complexity of compilation (concisenessof thecompilation target)
→ Complexity of solving the task
Input Compilation Ctarget
Result Complexity
Truth table Evaluation
SAT
#SAT
→ When can we convert from one target to another?
•
We are interested in#SATandprobability evaluation3/20
Dr aft
Studying the compilation targets
•
Tradeoffs between:→ Complexity of compilation (concisenessof thecompilation target)
→ Complexity of solving the task
Input Compilation Ctarget
Result Complexity
Truth table O(1) Evaluation
SAT
#SAT
→ When can we convert from one target to another?
•
We are interested in#SATandprobability evaluation3/20
Dr aft
Studying the compilation targets
•
Tradeoffs between:→ Complexity of compilation (concisenessof thecompilation target)
→ Complexity of solving the task
Input Compilation Ctarget
Result Complexity
Truth table O(1) Evaluation SAT
#SAT
→ When can we convert from one target to another?
•
We are interested in#SATandprobability evaluation3/20
Dr aft
Studying the compilation targets
•
Tradeoffs between:→ Complexity of compilation (concisenessof thecompilation target)
→ Complexity of solving the task
Input Compilation Ctarget
Result Complexity
Truth table O(1) O(n)
Evaluation SAT
#SAT
→ When can we convert from one target to another?
•
We are interested in#SATandprobability evaluation3/20
Dr aft
Studying the compilation targets
•
Tradeoffs between:→ Complexity of compilation (concisenessof thecompilation target)
→ Complexity of solving the task
Input Compilation Ctarget
Result Complexity
Truth table O(1) O(n)
Evaluation SAT
#SAT
→ When can we convert from one target to another?
•
We are interested in#SATandprobability evaluation3/20
Dr aft
Studying the compilation targets
•
Tradeoffs between:→ Complexity of compilation (concisenessof thecompilation target)
→ Complexity of solving the task
Input Compilation Ctarget
Result Complexity
Truth table O(1) O(n) O(n)
Evaluation SAT
#SAT
→ When can we convert from one target to another?
•
We are interested in#SATandprobability evaluation3/20
Dr aft
Studying the compilation targets
•
Tradeoffs between:→ Complexity of compilation (concisenessof thecompilation target)
→ Complexity of solving the task
Input Compilation Ctarget
Result Complexity
DNF Evaluation
SAT
#SAT
→ When can we convert from one target to another?
•
We are interested in#SATandprobability evaluation3/20
Dr aft
Studying the compilation targets
•
Tradeoffs between:→ Complexity of compilation (concisenessof thecompilation target)
→ Complexity of solving the task
Input Compilation Ctarget
Result Complexity
DNF O(n) Evaluation SAT
#SAT
→ When can we convert from one target to another?
•
We are interested in#SATandprobability evaluation3/20
Dr aft
Studying the compilation targets
•
Tradeoffs between:→ Complexity of compilation (concisenessof thecompilation target)
→ Complexity of solving the task
Input Compilation Ctarget
Result Complexity
DNF O(n)
O(n)
Evaluation SAT
#SAT
→ When can we convert from one target to another?
•
We are interested in#SATandprobability evaluation3/20
Dr aft
Studying the compilation targets
•
Tradeoffs between:→ Complexity of compilation (concisenessof thecompilation target)
→ Complexity of solving the task
Input Compilation Ctarget
Result Complexity
DNF O(n)
O(n)
#P-hard
Evaluation SAT
#SAT
→ When can we convert from one target to another?
•
We are interested in#SATandprobability evaluation3/20
Dr aft
Studying the compilation targets
•
Tradeoffs between:→ Complexity of compilation (concisenessof thecompilation target)
→ Complexity of solving the task
Input Compilation Ctarget
Result Complexity
Boolean circuit Evaluation SAT
#SAT
→ When can we convert from one target to another?
•
We are interested in#SATandprobability evaluation3/20
Dr aft
Studying the compilation targets
•
Tradeoffs between:→ Complexity of compilation (concisenessof thecompilation target)
→ Complexity of solving the task
Input Compilation Ctarget
Result Complexity
Boolean circuit O(n) Evaluation SAT
#SAT
→ When can we convert from one target to another?
•
We are interested in#SATandprobability evaluation3/20
Dr aft
Studying the compilation targets
•
Tradeoffs between:→ Complexity of compilation (concisenessof thecompilation target)
→ Complexity of solving the task
Input Compilation Ctarget
Result Complexity
Boolean circuit O(n) NP-hard
Evaluation SAT
#SAT
→ When can we convert from one target to another?
•
We are interested in#SATandprobability evaluation3/20
Dr aft
Studying the compilation targets
•
Tradeoffs between:→ Complexity of compilation (concisenessof thecompilation target)
→ Complexity of solving the task
Input Compilation Ctarget
Result Complexity
Boolean circuit O(n) NP-hard
#P-hard
Evaluation SAT
#SAT
→ When can we convert from one target to another?
•
We are interested in#SATandprobability evaluation3/20
Dr aft
Studying the compilation targets
•
Tradeoffs between:→ Complexity of compilation (concisenessof thecompilation target)
→ Complexity of solving the task
Input Compilation Ctarget
Result Complexity
Boolean circuit O(n) NP-hard
#P-hard
Evaluation SAT
#SAT
→ When can we convert from one target to another?
•
We are interested in#SATandprobability evaluation3/20
Dr aft
Studying the compilation targets
•
Tradeoffs between:→ Complexity of compilation (concisenessof thecompilation target)
→ Complexity of solving the task
Input Compilation Ctarget
Result Complexity
Boolean circuit O(n) NP-hard
#P-hard
Evaluation SAT
#SAT
→ When can we convert from one target to another?
•
We are interested in#SATandprobability evaluation3/20
Dr aft
Target classes in knowledge compilation
For #SAT and probabilistic evaluation, two main restrictions on compilation targets:
Width-based:
•
Boundedpathwidth/treewidthBoolean circuits, CNFs, DNFs, etc.→ message passingalgorithm for #SAT and probabilistic evaluation
• Links withBayesian networks Semantics-based:
•
Ordered Binary Decision Diagrams(OBDDs)/Deterministic Structured Decomposable Negation Normal Forms(d-SDNNFs)→ #SAT and probabilistic evaluation are easy because these classes have strongsemantic constraints
• Used to understand#SAT solvers
Question: what are the links beetween the two?
4/20
Dr aft
Target classes in knowledge compilation
For #SAT and probabilistic evaluation, two main restrictions on compilation targets:
Width-based:
•
Boundedpathwidth/treewidthBoolean circuits, CNFs, DNFs, etc.→ message passingalgorithm for #SAT and probabilistic evaluation
• Links withBayesian networks Semantics-based:
•
Ordered Binary Decision Diagrams(OBDDs)/Deterministic Structured Decomposable Negation Normal Forms(d-SDNNFs)→ #SAT and probabilistic evaluation are easy because these classes have strongsemantic constraints
• Used to understand#SAT solvers
Question: what are the links beetween the two?
4/20
Dr aft
Target classes in knowledge compilation
For #SAT and probabilistic evaluation, two main restrictions on compilation targets:
Width-based:
•
Boundedpathwidth/treewidthBoolean circuits, CNFs, DNFs, etc.→ message passingalgorithm for #SAT and probabilistic evaluation
• Links withBayesian networks Semantics-based:
•
Ordered Binary Decision Diagrams(OBDDs)/Deterministic Structured Decomposable Negation Normal Forms(d-SDNNFs)→ #SAT and probabilistic evaluation are easy because these classes have strongsemantic constraints
• Used to understand#SAT solvers
Question: what are the links beetween the two?
4/20
Dr aft
Target classes in knowledge compilation
For #SAT and probabilistic evaluation, two main restrictions on compilation targets:
Width-based:
•
Boundedpathwidth/treewidthBoolean circuits, CNFs, DNFs, etc.→ message passingalgorithm for #SAT and probabilistic evaluation
• Links withBayesian networks
Semantics-based:
•
Ordered Binary Decision Diagrams(OBDDs)/Deterministic Structured Decomposable Negation Normal Forms(d-SDNNFs)→ #SAT and probabilistic evaluation are easy because these classes have strongsemantic constraints
• Used to understand#SAT solvers
Question: what are the links beetween the two?
4/20
Dr aft
Target classes in knowledge compilation
For #SAT and probabilistic evaluation, two main restrictions on compilation targets:
Width-based:
•
Boundedpathwidth/treewidthBoolean circuits, CNFs, DNFs, etc.→ message passingalgorithm for #SAT and probabilistic evaluation
• Links withBayesian networks Semantics-based:
•
Ordered Binary Decision Diagrams(OBDDs)/Deterministic Structured Decomposable Negation Normal Forms(d-SDNNFs)→ #SAT and probabilistic evaluation are easy because these classes have strongsemantic constraints
• Used to understand#SAT solvers
Question: what are the links beetween the two?
4/20
Dr aft
Target classes in knowledge compilation
For #SAT and probabilistic evaluation, two main restrictions on compilation targets:
Width-based:
•
Boundedpathwidth/treewidthBoolean circuits, CNFs, DNFs, etc.→ message passingalgorithm for #SAT and probabilistic evaluation
• Links withBayesian networks Semantics-based:
•
Ordered Binary Decision Diagrams(OBDDs)/Deterministic Structured Decomposable Negation Normal Forms(d-SDNNFs)→ #SAT and probabilistic evaluation are easy because these classes have strongsemantic constraints
• Used to understand#SAT solvers
Question: what are the links beetween the two?
4/20
Dr aft
Target classes in knowledge compilation
For #SAT and probabilistic evaluation, two main restrictions on compilation targets:
Width-based:
•
Boundedpathwidth/treewidthBoolean circuits, CNFs, DNFs, etc.→ message passingalgorithm for #SAT and probabilistic evaluation
• Links withBayesian networks Semantics-based:
•
Ordered Binary Decision Diagrams(OBDDs)/Deterministic Structured Decomposable Negation Normal Forms(d-SDNNFs)→ #SAT and probabilistic evaluation are easy because these classes have strongsemantic constraints
• Used to understand#SAT solvers
Question: what are the links beetween the two?
4/20
Dr aft
Target classes in knowledge compilation
For #SAT and probabilistic evaluation, two main restrictions on compilation targets:
Width-based:
•
Boundedpathwidth/treewidthBoolean circuits, CNFs, DNFs, etc.→ message passingalgorithm for #SAT and probabilistic evaluation
• Links withBayesian networks Semantics-based:
•
Ordered Binary Decision Diagrams(OBDDs)/Deterministic Structured Decomposable Negation Normal Forms(d-SDNNFs)→ #SAT and probabilistic evaluation are easy because these classes have strongsemantic constraints
• Used to understand#SAT solvers
Question: what are the links beetween the two?
4/20
Dr aft
Plan
•
CircuitCoftreewidth6k O(|C| ×exp(k)) d-SDNNF•
+'matching lower bound Then•
DNF/CNFϕofpathwidth6k O(|ϕ| ×exp(k)) OBDD (not us)•
+ matching lower bound Then•
Application to provenance and probabilistic databases5/20
Dr aft
Plan
•
CircuitCoftreewidth6k O(|C| ×exp(k)) d-SDNNF•
+'matching lower boundThen
•
DNF/CNFϕofpathwidth6k O(|ϕ| ×exp(k)) OBDD (not us)•
+ matching lower bound Then•
Application to provenance and probabilistic databases5/20
Dr aft
Plan
•
CircuitCoftreewidth6k O(|C| ×exp(k)) d-SDNNF•
+'matching lower bound Then•
DNF/CNFϕofpathwidth6k O(|ϕ| ×exp(k)) OBDD (not us)•
+ matching lower bound Then•
Application to provenance and probabilistic databases5/20
Dr aft
Plan
•
CircuitCoftreewidth6k O(|C| ×exp(k)) d-SDNNF•
+'matching lower bound Then•
DNF/CNFϕofpathwidth6k O(|ϕ| ×exp(k)) OBDD (not us)•
+ matching lower boundThen
•
Application to provenance and probabilistic databases5/20
Dr aft
Plan
•
CircuitCoftreewidth6k O(|C| ×exp(k)) d-SDNNF•
+'matching lower bound Then•
DNF/CNFϕofpathwidth6k O(|ϕ| ×exp(k)) OBDD (not us)•
+ matching lower bound Then•
Application to provenance and probabilistic databases5/20
Dr aft
Treewidth and d-SDNNFs
6/20
Dr aft
Bounded treewidth Boolean circuits
∧
∧
x ¬ ∨
t ¬
∨
∧ z y
TreewidthofC= that of the underlying graph
We can domessage passing:
Theorem (Lauritzen & Spielgelhalter, 1988)
Fixk∈N. Given a Boolean circuitCoftreewidth6k, we can compute itsprobabilityin timeO(f(k)× |C|), wheref is singly exponential
7/20
Dr aft
Bounded treewidth Boolean circuits
∧
∧
x ¬ ∨
t ¬
∨
∧ z y
TreewidthofC= that of the underlying graph
We can domessage passing:
Theorem (Lauritzen & Spielgelhalter, 1988)
Fixk∈N. Given a Boolean circuitCoftreewidth6k, we can compute itsprobabilityin timeO(f(k)× |C|), wheref is singly exponential
7/20
Dr aft
Bounded treewidth Boolean circuits
∧
∧
x ¬ ∨
t ¬
∨
∧ z y
TreewidthofC= that of the underlying graph
We can domessage passing:
Theorem (Lauritzen & Spielgelhalter, 1988)
Fixk∈N. Given a Boolean circuitCoftreewidth6k, we can compute itsprobabilityin timeO(f(k)× |C|), wheref is singly exponential
7/20
Dr aft
d-SDNNF
∨
∧
x ∧
y ¬
z
∧
∧
¬
x ∧
y z
•
• y z x
•
Negation Normal Form: negations only applied to the leaves•
Decomposable: inputs of∧-gates are independent(no variable has a path to two different inputs of the same∧-gate)
→ SATcan be solved efficiently
•
Deterministic: inputs of∨-gates are mutually exclusive→ #SATandprobability evaluation
•
Structured: there is avtreethat structures the∧-gates→ Enumeration
8/20
Dr aft
d-SDNNF
∨
∧
x ∧
y ¬
z
∧
∧
¬
x ∧
y z
•
• y z x
•
Negation Normal Form: negations only applied to the leaves•
Decomposable: inputs of∧-gates are independent(no variable has a path to two different inputs of the same∧-gate)
→ SATcan be solved efficiently
•
Deterministic: inputs of∨-gates are mutually exclusive→ #SATandprobability evaluation
•
Structured: there is avtreethat structures the∧-gates→ Enumeration
8/20
Dr aft
d-SDNNF
∨
∧
x ∧
y ¬
z
∧
∧
¬
x ∧
y z
•
• y z x
•
Negation Normal Form: negations only applied to the leaves•
Decomposable: inputs of∧-gates are independent(no variable has a path to two different inputs of the same∧-gate)
→ SATcan be solved efficiently
•
Deterministic: inputs of∨-gates are mutually exclusive→ #SATandprobability evaluation
•
Structured: there is avtreethat structures the∧-gates→ Enumeration
8/20
Dr aft
d-SDNNF
∨
∧
x ∧
y ¬
z
∧
∧
¬
x ∧
y z
•
• y z x
•
Negation Normal Form: negations only applied to the leaves•
Decomposable: inputs of∧-gates are independent(no variable has a path to two different inputs of the same∧-gate)
→ SATcan be solved efficiently
•
Deterministic: inputs of∨-gates are mutually exclusive→ #SATandprobability evaluation
•
Structured: there is avtreethat structures the∧-gates→ Enumeration
8/20
Dr aft
d-SDNNF
∨
∧
x ∧
y ¬
z
∧
∧
¬
x ∧
y z
•
• y z x
•
Negation Normal Form: negations only applied to the leaves•
Decomposable: inputs of∧-gates are independent(no variable has a path to two different inputs of the same∧-gate)
→ SATcan be solved efficiently
•
Deterministic: inputs of∨-gates are mutually exclusive→ #SATandprobability evaluation
•
Structured: there is avtreethat structures the∧-gates→ Enumeration
8/20
Dr aft
d-SDNNF
∨
∧
x ∧
y ¬
z
∧
∧
¬
x ∧
y z
•
• y z x
•
Negation Normal Form: negations only applied to the leaves•
Decomposable: inputs of∧-gates are independent(no variable has a path to two different inputs of the same∧-gate)
→ SATcan be solved efficiently
•
Deterministic: inputs of∨-gates are mutually exclusive→ #SATandprobability evaluation
•
Structured: there is avtreethat structures the∧-gates→ Enumeration
8/20
Dr aft
d-SDNNF
∨
∧
x ∧
y ¬
z
∧
∧
¬
x ∧
y z
•
• y z x
•
Negation Normal Form: negations only applied to the leaves•
Decomposable: inputs of∧-gates are independent(no variable has a path to two different inputs of the same∧-gate)
→ SATcan be solved efficiently
•
Deterministic: inputs of∨-gates are mutually exclusive→ #SATandprobability evaluation
•
Structured: there is avtreethat structures the∧-gates→ Enumeration
8/20
Dr aft
d-SDNNF
∨
∧
x ∧
y ¬
z
∧
∧
¬
x ∧
y z
•
• y z x
•
Negation Normal Form: negations only applied to the leaves•
Decomposable: inputs of∧-gates are independent(no variable has a path to two different inputs of the same∧-gate)
→ SATcan be solved efficiently
•
Deterministic: inputs of∨-gates are mutually exclusive→ #SATandprobability evaluation
•
Structured: there is avtreethat structures the∧-gates→ Enumeration
8/20
Dr aft
Treewidth and d-SDNNFs: Upper bound
Theorem (Bova & Szeider, 2017)
LetCbe a Boolean circuit onmvariables oftreewidth6k.
There existsad-SDNNFequivalent toCof sizeO(m×g(k)), wheregisdoublyexponential
Drawbacks: non constructive Theorem (Our contribution)
LetCbe a Boolean circuit oftreewidth6k.
We can computead-SDNNFequivalent toCin timeO(|C| ×f(k)), wheref issinglyexponential
Applications: recapturing message passing, and enumeration of satisfying valuations
9/20
Dr aft
Treewidth and d-SDNNFs: Upper bound
Theorem (Bova & Szeider, 2017)
LetCbe a Boolean circuit onmvariables oftreewidth6k.
There existsad-SDNNFequivalent toCof sizeO(m×g(k)), wheregisdoublyexponential
Drawbacks: non constructive
Theorem (Our contribution)
LetCbe a Boolean circuit oftreewidth6k.
We can computead-SDNNFequivalent toCin timeO(|C| ×f(k)), wheref issinglyexponential
Applications: recapturing message passing, and enumeration of satisfying valuations
9/20
Dr aft
Treewidth and d-SDNNFs: Upper bound
Theorem (Bova & Szeider, 2017)
LetCbe a Boolean circuit onmvariables oftreewidth6k.
There existsad-SDNNFequivalent toCof sizeO(m×g(k)), wheregisdoublyexponential
Drawbacks: non constructive Theorem (Our contribution)
LetCbe a Boolean circuit oftreewidth6k.
We can computead-SDNNFequivalent toCin timeO(|C| ×f(k)), wheref issinglyexponential
Applications: recapturing message passing, and enumeration of satisfying valuations
9/20
Dr aft
Treewidth and d-SDNNFs: Upper bound
Theorem (Bova & Szeider, 2017)
LetCbe a Boolean circuit onmvariables oftreewidth6k.
There existsad-SDNNFequivalent toCof sizeO(m×g(k)), wheregisdoublyexponential
Drawbacks: non constructive Theorem (Our contribution)
LetCbe a Boolean circuit oftreewidth6k.
We can computead-SDNNFequivalent toCin timeO(|C| ×f(k)), wheref issinglyexponential
Applications: recapturing message passing, and enumeration of satisfying valuations
9/20
Dr aft
Construction sketch
V1
L
x V 2 V3
10/20
Dr aft
Construction sketch
V1
L
V
2
x
V3 V1 V1
L
x V 2 V3
V1
10/20
Dr aft
Construction sketch
V1
L
V
2
x
V3 V1 V1
L
x V 2 V3
V1
10/20
Dr aft
Construction sketch
V1
L
V
2
V1 V
2
x
V3 V1 V1
L
x V 2 V3
V1
10/20
Dr aft
Construction sketch
V1
L
V
2
V1 V
2 V1 V
2
x
V3 V1 V1
L
x V 2 V3
V1
10/20
Dr aft
Construction sketch
V1
L
V
2
V1 V
2 V1 V
2 V1 V
2
x
V3 V1 V1
L
x V 2 V3
V1
10/20
Dr aft
Construction sketch
V1
L
V
2
V1 V
2 V1 V
2 V1 V
2
V1 V3 V1 V3 V1 V3
x
V3 V1 V1
L
x V 2 V3
V1
10/20
Dr aft
Construction sketch
V1
L
V
2
V1 V
2 V1 V
2 V1 V
2
V1 V3 V1 V3 V1 V3 V1 L
x
V1 L x
V1 L x
x
V3 V1 V1
L
x V 2 V3
V1
10/20
Dr aft
Construction sketch
V1
L
V
2
V1 V
2 V1 V
2 V1 V
2
V1 V3 V1 V3 V1 V3 V1 L
x
V1 L x
V1 L x
x
V3 V1 V1
L
x V 2 V3
V1
10/20
Dr aft
Construction sketch
V1
L
V
2
V1 V
2 V1 V
2 V1 V
2
V1 V3 V1 V3 V1 V3 V1 L
x
V1 L x
V1 L x
x
V3 V1 V1
L
x V 2 V3
V1
10/20
Dr aft
Construction sketch
V1
L
V
2
V1 V
2 V1 V
2 V1 V
2
V1 V3 V1 V3 V1 V3 V1 L
x
V1 L x
V1 L x
x
V3 V1 V1
L
x V 2 V3
V1
10/20
Dr aft
Construction sketch
V1
L
V
2
V1 V
2 V1 V
2 V1 V
2
V1 V3 V1 V3 V1 V3 V1 L
x
V1 L x
V1 L x
x
V3 V1 V1
L
x V 2 V3
V1
10/20
Dr aft
Construction sketch
V1
L
V
2
V1 V
2 V1 V
2 V1 V
2
V1 V3 V1 V3 V1 V3 V1 L
x
V1 L x
V1 L x
x
V3 V1 V1
L
x V 2 V3
V1
10/20
Dr aft
Construction sketch
V1
L
V
2
V1 V
2 V1 V
2 V1 V
2
V1 V3 V1 V3 V1 V3 V1 L
x
V1 L x
V1 L x
x
V3 V1 V1
L
x V 2 V3
V1
10/20
Dr aft
Construction sketch
V1
L
V
2
V1 V
2 V1 V
2 V1 V
2
V1 V3 V1 V3 V1 V3 V1 L
x
V1 L x
V1 L x
x
V3 V1 V1
L
x V 2 V3
V1
10/20
Dr aft
Construction sketch
V1
L
V
2
V1 V
2 V1 V
2 V1 V
2
V1 V3 V1 V3 V1 V3 V1 L
x
V1 L x
V1 L x
x
V3 V1 V1
L
x V 2 V3
V1
10/20
Dr aft
Construction sketch
V1
L
V
2
V1 V
2 V1 V
2 V1 V
2
V1 V3 V1 V3 V1 V3 V1 L
x
V1 L x
V1 L x
x
V3 V1 V1
L
x V 2 V3
V1
10/20
Dr aft
Construction sketch
V1
L
V
2
V1 V
2 V1 V
2 V1 V
2
V1 V3 V1 V3 V1 V3 V1 L
x
V1 L x
V1 L x
x
V3 V1 V1
L
x V 2 V3
V1
10/20
Dr aft
Treewidth and d-SDNNFs: Lower bound
•
Already applies to very restricted Boolean circuits:monotone DNFs and CNFs•
Treewidth of a DNF/CNF: that of itsGaifman graph•
Arity: size of the largest clause•
Degree: maximal number of clauses to which a variable belongs TheoremLetϕbe amonotone DNFoftreewidthk, leta:=arity(ϕ)and d:=degree(ϕ). Then anyd-SDNNFforϕhas size>2
j k 3×a3×d2
k
−1
•
ForCNFs, the bound even works for (non-deterministic)SDNNF•
The bound isgeneric: it applies toanymonotone DNF/CNF11/20
Dr aft
Treewidth and d-SDNNFs: Lower bound
•
Already applies to very restricted Boolean circuits:monotone DNFs and CNFs•
Treewidth of a DNF/CNF: that of itsGaifman graph•
Arity: size of the largest clause•
Degree: maximal number of clauses to which a variable belongs TheoremLetϕbe amonotone DNFoftreewidthk, leta:=arity(ϕ)and d:=degree(ϕ). Then anyd-SDNNFforϕhas size>2
j k 3×a3×d2
k
−1
•
ForCNFs, the bound even works for (non-deterministic)SDNNF•
The bound isgeneric: it applies toanymonotone DNF/CNF11/20
Dr aft
Treewidth and d-SDNNFs: Lower bound
•
Already applies to very restricted Boolean circuits:monotone DNFs and CNFs•
Treewidth of a DNF/CNF: that of itsGaifman graph•
Arity: size of the largest clause•
Degree: maximal number of clauses to which a variable belongs TheoremLetϕbe amonotone DNFoftreewidthk, leta:=arity(ϕ)and d:=degree(ϕ). Then anyd-SDNNFforϕhas size>2
j k 3×a3×d2
k
−1
•
ForCNFs, the bound even works for (non-deterministic)SDNNF•
The bound isgeneric: it applies toanymonotone DNF/CNF11/20
Dr aft
Treewidth and d-SDNNFs: Lower bound
•
Already applies to very restricted Boolean circuits:monotone DNFs and CNFs•
Treewidth of a DNF/CNF: that of itsGaifman graph•
Arity: size of the largest clause•
Degree: maximal number of clauses to which a variable belongsTheorem
Letϕbe amonotone DNFoftreewidthk, leta:=arity(ϕ)and d:=degree(ϕ). Then anyd-SDNNFforϕhas size>2
j k 3×a3×d2
k
−1
•
ForCNFs, the bound even works for (non-deterministic)SDNNF•
The bound isgeneric: it applies toanymonotone DNF/CNF11/20
Dr aft
Treewidth and d-SDNNFs: Lower bound
•
Already applies to very restricted Boolean circuits:monotone DNFs and CNFs•
Treewidth of a DNF/CNF: that of itsGaifman graph•
Arity: size of the largest clause•
Degree: maximal number of clauses to which a variable belongs TheoremLetϕbe amonotone DNFoftreewidthk, leta:=arity(ϕ)and d:=degree(ϕ). Then anyd-SDNNFforϕhas size>2
j k 3×a3×d2
k
−1
•
ForCNFs, the bound even works for (non-deterministic)SDNNF•
The bound isgeneric: it applies toanymonotone DNF/CNF11/20
Dr aft
Treewidth and d-SDNNFs: Lower bound
•
Already applies to very restricted Boolean circuits:monotone DNFs and CNFs•
Treewidth of a DNF/CNF: that of itsGaifman graph•
Arity: size of the largest clause•
Degree: maximal number of clauses to which a variable belongs TheoremLetϕbe amonotone DNFoftreewidthk, leta:=arity(ϕ)and d:=degree(ϕ). Then anyd-SDNNFforϕhas size>2
j k 3×a3×d2
k
−1
•
ForCNFs, the bound even works for (non-deterministic)SDNNF•
The bound isgeneric: it applies toanymonotone DNF/CNF11/20
Dr aft
Treewidth and d-SDNNFs: Lower bound
•
Already applies to very restricted Boolean circuits:monotone DNFs and CNFs•
Treewidth of a DNF/CNF: that of itsGaifman graph•
Arity: size of the largest clause•
Degree: maximal number of clauses to which a variable belongs TheoremLetϕbe amonotone DNFoftreewidthk, leta:=arity(ϕ)and d:=degree(ϕ). Then anyd-SDNNFforϕhas size>2
j k 3×a3×d2
k
−1
•
ForCNFs, the bound even works for (non-deterministic)SDNNF•
The bound isgeneric: it applies toanymonotone DNF/CNF11/20
Dr aft
Pathwidth and OBDDs
12/20
Dr aft
Ordered Binary Decision Diagrams (OBDDs)
•
DAGwith sink nodes{>,⊥}and internal nodes labeled by variables•
Semantics:follow the path of an assignment to get the value of the Boolean function•
There is atotal orderon the variables v=X1 X2 X3X4such that each root-to-sink path is compatible withv•
Compute probabilitybottom-up Prπ(•) =π(X3)×Prπ(•)+(1−π(X3))×Prπ(•)
•
Widthof the OBDD'largest number of nodes that are labeled by the same variablex
1x
4x
3x
3T T
x
2x
20 1
0
0 0
0
0 1
1
1
1 1
13/20