Fluent Merging : A General Technique to Improve Reachability Heuristics and Factored

advertisement
Fluent Merging:
A General Technique to Improve
Reachability Heuristics and Factored
Planning
Menkes van den Briel
Subbarao Kambhampati
Department of Industrial Engineering Department of Computer Science
Arizona State University
Arizona State University
menkes@asu.edu
rao@asu.edu
http://rakaposhi.eas.asu.edu/yochan/
Thomas Vossen
Leeds School of Business
University of Colorado at Boulder
vossen@colorado.edu
What is fluent merging?
• Fluent merging
– The process of combining two or more fluents (state variables)
into a single super fluent
Gripper domain representations
Propositions
At(1,A)
At(1,B)
Carry(1)
At(2,A)
At(2,B)
Carry(2)
T
F
T
Robby(A)
Robby(B)
1
F
T
1
F
T
F
2
T
2
F
T
F
Free
1
T
F
T
F
T
F
29 = 512
2
Gripper domain representations
Propositions
At(1,A)
At(1,B)
Carry(1)
At(2,A)
State variables
T
F
Ball 1
1
A
1
B
1
1
T
G
1
F
T
1
F
T
F
Ball 2
2
A
2
2
B
2
At(2,B)
Carry(2)
T
G
2
F
T
2
F
1
Free
Robby(A)
Robby(B)
T
F
Gripper
1
2
2
T
F
F
T
F
29 = 512
Robby
A
B
3  3  3  2 = 54
Gripper domain representations
Propositions
State variables
T
At(1,A)
F
Ball 1
1
1
Domain
B
1
1
1 2
2
1 2
1
T
At(1,B)
A
State space
1
F
1
G
3
2
4
T
Carry(1)
2
1
1
1
5
F
2
2
6
T
At(2,A)
F
Ball 2
2
A
2
7
2
At(2,B)
8
2
2
Free
F
2
2
1
1
2
2
11
F
T
1
9
10
Carry(2)
1
G
F
T
2
2
B
T
1
Gripper
1
1
12
2
13
1
2
1
2
2
1
1
T
Robby(A)
F
F
T
Robby(B)
F
29
= 512
Robby
14
2
15
1 2
16
1 2
A
B
3  3  3  2 = 54
16 = 16
Gripper domain causalities
Propositions
At(1,A)
At(2,A)
Carry(1)
Robby(A)
At(1,B)
Free
State variables
At(2,B)
Carry(2)
Robby(B)
Ball 1
Ball 2
Gripper
Robby
State space
Domain
Gripper domain causalities
Propositions
At(1,A)
At(2,A)
Carry(1)
At(1,B)
Free
Robby(A)
State variables
At(2,B)
Carry(2)
Robby(B)
Ball 1
Ball 2
State space
Domain
Gripper
Robby
2
Exp
Decreases domain size of the fluents
CG
0
Decreases causal dependencies between fluents
How fluent merging helps
• Relaxed reachability heuristics
– Relaxed reachability heuristics can do a more informed job of
distance estimation after fluent merging (since some of the
negative interactions have been compiled-in)
– Our recent work [van den Briel et al., 2007] shows that we can
derive more informed heuristics by merging fluents without
experiencing too much computational overhead
• Factored planning
– Factored planning techniques may require fewer (inter variable)
backtracks after fluent merging (since common actions are
synchronized the combining phase becomes easier)
Important questions
• Can we decide up front when fluent merging will help
improve search?
• Can we dynamically apply fluent merging during
planning?
Fluent merging
• Composition
– Given the domain transition graph (DTG) of two fluents c1, c2, the
composition of DTGc1 and DTGc2 is the domain transition graph
DTGc1||c2 = (Vc1||c2, Ec1||c2) where
– Vc1||c2 = Vc1  Vc2
– ((f1,g1),(f2,g2))  Ec1||c2 if f1,f2  Vc1, g1,g2  Vc2 and there exists
an action a  A such that one of the following conditions hold
• pre[c1] = f1, post[c1] = f2, and pre[c2] = g1, post[c2] = g2
• pre[c1] = f1, post[c1] = f2, and prev[c2] = g1, g1 = g2
• pre[c1] = f1, post[c1] = f2, and g1= g2
The term composition is also used in model checking to define the
parallel composition of automata [Cassndras & Lafortune, 1999]
Example
• Two DTGs and their composition
f1,,g1
d
c
f3,g2
f1,g2
f1
a
c
a
f2
a
g1
b
b
c
f3,g1
d
f2,g1
b
d
f3
g2
f2,g2
DTGc1
DTGc2
DTGc1 || c2
Example
• Two DTGs and their composition
– Small in-arcs denote the initial state
– Double circles denote the goal
f1,,g1
d
c
f1,g2
f1
a
c
a
f2
a
g1
b
b
c
f3,g1
d
f2,g1
b
d
f3
g2
f2,g2
DTGc1
DTGc2
DTGc1 || c2
Identifying mergeable fluents
• When should we merge two or more fluents?
– Look at the causal graph
– Look at the actions that introduce dependencies in the causal
graph
Causal 2-cycles
• Merge two fluents if they form a causal 2-cycle (cycle of
length two) in the causal graph
– If for every action a that has an effect in state variable c1 (c2) we
have that action a has an effect or prevail condition in state
variable c2 (c1)
Person 1
Person 2
Airplane 1
Airplane 2
Fuel 1
Fuel 2
Causal 2-cycles
• Merge two fluents if they form a causal 2-cycle (cycle of
length two) in the causal graph
– If for every action a that has an effect in state variable c1 (c2) we
have that action a has an effect or prevail condition in state
variable c2 (c1)
Person 1
Person 2
Airplane 1
Airplane 2
Fuel 1
Fuel 2
Causal 2-cycles
• Merge two fluents if they form a causal 2-cycle (cycle of
length two) in the causal graph
– If for every action a that has an effect in state variable c1 (c2) we
have that action a has an effect or prevail condition in state
variable c2 (c1)
Person 1
Person 2
Airplane 1
Fuel1
Airplane 2
Fuel2
Causal dependency
• Merge two fluents if they remove a causal link in the
causal graph
– If the common actions between state variable c1 and c2 all have
an effect in state variable c1 and a prevail condition in state
variable c2 and
Pack 1
A
Domain
1
B
2
T
3
4
5
6
Truck 1
A
B
Causal dependency
• Merge two fluents if they remove a causal link in the
causal graph
– If the common actions between state variable c1 and c2 all have
an effect in state variable c1 and a prevail condition in state
variable c2 and
Pack 1
A
Domain
1
B
2
T
3
4
5
6
Truck 1
A
B
Results
10000
binary
1000
Solution time (sec.)
Solution time (sec.)
10000
multi
100
10
1
0.1
binary
1000
multi
100
10
1
0.1
0.01
0.01
1 2 3 4 5
1
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
2
3
4
5
6
10000
9
10 11 12 13 14 15
10000
binary
binary
Solution time (sec.)
Solution time (sec.)
8
Blocksworld
Freecell (IPC2)
1000
7
multi
100
10
1
0.1
1000
multi
100
10
1
0.1
0.01
0.01
1
3
5
7
9
11
13
15
17
Logistics
19
21
23
25
27
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16
Zenotravel
Results
Problem
log4-0
log4-1
log4-2
log5-1
log5-2
log6-1
log6-9
log12-0
log15-1
freecell2-1
freecell2-2
freecell2-3
freecell2-4
freecell2-5
freecell3-5
freecell13-3
freecell13-4
freecell13-5
driverlog1
driverlog2
driverlog3
driverlog4
driverlog6
driverlog7
driverlog13
driverlog19
driverlog20
LP
LP20
19
15
17
8
14
24
42
67
9
8
8
8
9
12
55
54
52
7
19
11
15.5
11
13
24
96.6*
89.5*
16.0*
14.0*
10.0*
12.0*
6.0*
10.0*
18.0*
32.0*
54.0*
9
8
8
8
9
12
55
54
52
3.0*
12.0*
8.0*
11.0*
8.0*
11.0*
15.0*
60.0*
60.0*
Problem
LP
zenotravel1
zenotravel2
zenotravel3
zenotravel4
zenotravel5
zenotravel6
zenotravel13
zenotravel19
zenotravel20
tpp1
tpp2
tpp3
tpp4
tpp5
tpp6
tpp28
tpp29
tpp30
bw-sussman
bw-12step
bw-large-a
bw-large-b
LP1
6
6
8
11
11
24
66.2*
68.3*
5
8
11
14
19
25
4
4
12
16
1
3.0*
4.0*
5.0*
8.0*
8.0*
18.0*
46.0*
50.0*
3.0*
6.0*
9.0*
12.0*
15.0*
21.0*
150.0*
174.0*
4
4
12
16
Conclusions
• Our recent work [van den Briel et al., 2007] shows that
we can derive more informed heuristics by merging
fluents without experiencing too much computational
overhead
• We believe that there may be other ways to identify
mergeable fluents that either extend or generalize the
ways that we described
• It would be interesting to see the impact of fluent
merging on existing planning systems
Download