SAT-Race 2008 Result Summary

A New Algorithm for
Computing Upper Bounds for
Functional EmajSAT
Knot Pipatsrisawat and Adnan Darwiche
Computer Science Department, UCLA
IJCAI-09
Outline





Functional EmajSAT
Existing bound computation using
knowledge compilation
New bound computation algorithm
Using the new algorithm in a BnB solver
Experimental results
Functional EmajSAT
(F-EmajSAT)
(a  b  x) 
a=f,b=f,c=f
(a  b  y) 
(b  c  x  y) 
(b  c  x  y) 
(c  y)
(x) 
(true) 
(x  y) 
(true) 
(true)
Model Weight
x, y
0.3*0.8=0.24
x,y
0.3*0.2=0.06
Total
0.3
Choice: M = {a,b,c}
Chance: R = {x,y}
(x) = 0.7
(x) = 0.3
(y) = 0.8
(y) = 0.2
The score of m = weighted model count of
|m
Weight of model r = product of literal weights
Functional EmajSAT
(F-EmajSAT)
(a  b  x) 
(true) 
a=t,b=f,c=t (true) 
(a  b  y) 
(b  c  x  y) 
(true) 
(b  c  x  y) 
(x  y) 
(c  y)
(y)
Choice: M = {a,b,c}
Chance: R = {x,y}
(x) = 0.7
(x) = 0.3
(y) = 0.8
(y) = 0.2
Model Weight
x, y
0.7*0.8=0.56
x,y
0.3*0.8=0.24
Total
0.8
Functional EmajSAT
Problem


Given a CNF formula ∆ on M and R
Find a complete assignment m of M so
that the weighted model count of ∆|m
is maximal
Applications of F-EmajSAT

Probabilistic Conformant Planning


Planning with uncertainty
Maximum a Posteriori Hypothesis (MAP)

A Bayesian network query
Our Approach for
Computing Bounds
Other info.
CNF
(e.g., weights,
variable types)
F-EmajSAT
Knowledge compilation
dDNNF
Bound algorithm
Upper bound
A (partial) assignment m
Deterministic Decomposable
Negation Normal Form (dDNNF)

Is a subset of NNF which satisfies


Decomposability
Determinism
Negation Normal Form
or
and
or
and
or
or
or
and
and
and
and
and
and
and
and
A
B
B
A
C
D
D
C
rooted DAG (Circuit)
Decomposability
No two children of
AND share a variable
or
and
A,B
or
and
C,D
or
or
and and and and
A
B
B
A
or
and and and and
C
D
D
C
Determinism
No two children of OR
share a model
or
and
or
and
or
or
and and and and
A
B
B
A
or
and and and and
C
D
D
C
Decision Nodes
or
and
A
and
α
A
A is called the decision variable of the OR node.
β
If it is a choice variable, the OR node is a choice OR node.
If it is a chance variable, the OR node is a chance OR node.
Using dDNNF for Bound
Computation


Use the dDNNF as a circuit to compute the
solution
 1 bottom-up traversal required
 Linear in the size of the circuit
Given an assignment m’, we compute an
upper bound of the score of any m that
extends m’
Evaluating dDNNF
(existing algorithm)
0,
L
L is falsified
value =
weight(L),
and
α
β
or
α
β
or
α
(chance)
(choice)
β
o/w
value = value(α) * value(β)
value = value(α) + value(β)
value = max(value(α),value(β))
Computing F-EmajSAT
Bounds with dDNNF
or
z
and
and
x
z
y
or
x
x
or
¬x
y
y
or
¬y
x
M = {x,y}, R = {z}
¬z
or
¬x
y
¬y
Computing F-EmajSAT
Bounds with dDNNF
0.23
+
z
(or)
0.15
0.08
*
(and)
*
(and)
0.5
x
z
0.5
0.6
max
(or)
max
(or)
x
¬x
0.5
0.3
y
0.6
0.2
y
x
¬y
x
0.2
0.1
0.8
max
(or)
M = {x,y}, R = {z}
max
(or)
¬x
0.2
y
0.3
y
¬z
¬y
0.8
0.5
Cause of Bound Looseness
0.23
+
z
(or)
0.15
0.08
*
(and)
*
(and)
0.5
x
z
0.5
0.6
max
(or)
max
(or)
x
¬x
0.5
0.3
y
0.6
0.2
y
x
¬y
x
0.2
0.1
0.8
max
(or)
max
(or)
¬x
0.2
M = {x,y}, R = {z}
y
0.3
y
¬z
¬y
0.8
0.5
A New Bound Computation
Algorithm


Instead of computing one value at each node
 Compute pairs of options
Option pair (on variable x) contains



Upper bound of the node’s value if x = true
Upper bound of the node’s value if x = false
One pair for each choice variable
appearing below the node
A New Bound Computation
Algorithm: Example
upper
upper
bound
bound
= the
= 0.18
smallest best option
0.23
+
[x,0.19,0.17]]
[x,0.19,
z [y,0.18,0.13]
(or)
[x,0.15,0.09]]
[x,0.15,
[y,0.15,0.05]
0.15
[x,0.04,0.08]
[y,0.03,0.08]
*
0.08
(and)
[y,0.6,0.2]
y
[x,0.5,0.3]
x
max
(or)
z
0.5
0.5
x
¬x
0.5
0.3
*
(and)
0.6
y
0.6
max
(or)
[x,0.1,0.2]
x
0.2
¬y
x
0.2
0.1
[y,0.3,0.8]
y
max
(or)
0.8
¬x
0.2
M = {x,y}, R = {z}
y
0.3
max
(or)
¬z
¬y
0.8
0.5
Branch-and-Bound Search
A
Best score:
t
M = {A,B,C}
f
B
t
t
0.009
B
f
C
t
C
f
0.079
t
0.117
0
f
C
f
0.053
t
0.023
C
f
0.051
t
0.031
f
0.055
Branch-and-Bound Search
A
0.15
t
M = {A,B,C}
Best score:
f
B
t
t
0.009
B
f
C
t
C
f
0.079
t
0.117
0
f
C
f
0.053
t
0.023
C
f
0.051
t
0.031
f
0.055
Branch-and-Bound Search
A
t
M = {A,B,C}
B
t
0.009
0.079
t
0.117
0
f
0.13
B
t
C
f
Best score:
f
C
t
0.15
f
C
f
0.053
t
0.023
C
f
0.051
t
0.031
f
0.055
Branch-and-Bound Search
A
t
M = {A,B,C}
B
t
0.009
f
0.079
Best score:
0.13
B
t
C
t
0.117
0
f
f
0.09
C
t
0.15
f
C
f
0.053
t
0.023
C
f
0.051
t
0.031
f
0.055
Branch-and-Bound Search
A
t
M = {A,B,C}
B
t
0.009
f
0.079
Best score:
0.13
B
t
C
t
0.117
0.009
f
f
0.09
C
t
0.15
f
C
f
0.053
t
0.023
C
f
0.051
t
0.031
f
0.055
Branch-and-Bound Search
A
t
M = {A,B,C}
B
t
0.009
f
0.079
Best score:
0.13
B
t
C
t
0.117
0.079
f
f
0.09
C
t
0.15
f
C
f
0.053
t
0.023
C
f
0.051
t
0.031
f
0.055
Branch-and-Bound Search
A
t
M = {A,B,C}
B
t
0.009
0.079
t
0.117
0.079
f
0.13
C
f
Best score:
B
f
C
t
0.15
t
0.12
f
0.053
f
C
t
0.023
C
f
0.051
t
0.031
f
0.055
Branch-and-Bound Search
A
t
M = {A,B,C}
B
t
0.009
0.079
t
0.117
0.117
f
0.13
C
f
Best score:
B
f
C
t
0.15
t
0.12
f
0.053
f
C
t
0.023
C
f
0.051
t
0.031
f
0.055
Branch-and-Bound Search
A
t
M = {A,B,C}
B
t
0.009
0.079
t
0.117
0.117
f
0.13
C
f
Best score:
B
f
C
t
0.15
t
0.12
f
0.053
f
C
t
0.023
C
f
0.051
t
0.031
f
0.055
Branch-and-Bound Search
A
0.15
t
M = {A,B,C}
Best score:
f
B
t
t
0.009
t
C
f
0.079
t
0.117
0.1
B
f
C
0.117
f
C
f
0.053
t
0.023
C
f
0.051
t
0.031
f
0.055
Branch-and-Bound Search
A
0.15
t
M = {A,B,C}
Best score:
f
B
t
t
0.009
t
C
f
0.079
t
0.117
0.1
B
f
C
0.117
f
C
f
0.053
t
0.023
C
f
0.051
t
0.031
f
0.055
Using Option Pairs for
Value Pruning


An additional pruning technique
Take advantage of information stored in
option pairs
Using Option Pairs for
Value Pruning
Best score = 0.8
or
[x,0.82,0.7]
[y,0.6,0.85]
[z,0.9,0.77]
[w,0.83,0.7]
and
or
x = true
y = false
z = true
w = true
and
or
or
or
Experimental Results

Application domains
 Probabilistic conformant planning
 Probabilistic reasoning (MAP computation)
Experimental Results:
Planning


Probabilistic conformant planning
 Planning problem with uncertainty in
 Initial state
 Outcomes of actions
 Given the length of plan
 Find a plan with the highest success
probability
Compared with ComPlan [Huang’06]
 A planner based on dDNNF
Experimental Results:
Planning
18000
ComPlan
14000
ComPlan+
12000
10000
8000
6000
4000
2000
0
1
6
11
16
21
26
Plan length
31
36
41
31
36
41
100000
10000
running time (s)
Sand-castle
running time (s)
16000
ComPlan
ComPlan+
1000
100
10
1
0.1
0.01
1
6
11
16
21
Plan length
26
Experimental Results:
Planning
30,000
running time (s)
25,000
ComPlan
20,000
ComPlan+
15,000
10,000
5,000
0
1
6
100000
11
Plan length
16
10000
running time (s)
Slippery-gripper
ComPlan
1000
ComPlan+
100
10
1
0.1
0.01
1
6
11
Plan length
16
Experimental Results: MAP



Maximum a Posteriori Hypothesis (MAP)
 Given a Bayesian network, a set of
evidence, and set of MAP variables
 Find a most likely instantiation of the MAP
variables
For each Bayesian network, we generate 10
random MAP queries and report the average
running time
Compared with Acemap [Huang et al’06]
 A MAP solver based on dDNNF
Expanded Nodes
Grid 50-12-2
Grid 75-1-2
1000000
10000000
1000000
100000
100000
10000
10000
1000
1000
100
100
10
10
1
1
0
20
40
60
80
100
120
140
Number of MAP variables
Acemap
160
0
50
100
150
200
250
Number of MAP variables
Acemap+
300
Running time
Grid 50-12-2
Grid 75-1-2
10000
100000
10000
1000
1000
100
100
10
10
1
1
0
20
40
60
80
100
120
140
Number of MAP variables
Acemap
160
0
50
100
150
200
250
Number of MAP variables
Acemap+
300
Conclusions



A new algorithm for computing upper bounds
for the functional EmajSAT problem
A value pruning technique for branch-andbound functional EmajSAT solvers
Improvement in performance on many
families of problems that are difficult for
previous algorithms
 Planning
 MAP
Thank you