Title: Fluent Merging: A General Technique to Improve Reachability Heuristics and Factored Planning
1Fluent Merging A General Technique to Improve
Reachability Heuristics and Factored Planning
Menkes van den BrielDepartment of Industrial
EngineeringArizona State Universitymenkes_at_asu.ed
u
Subbarao KambhampatiDepartment of Computer
ScienceArizona State Universityrao_at_asu.edu
Thomas VossenLeeds School of BusinessUniversity
of Colorado at Bouldervossen_at_colorado.edu
http//rakaposhi.eas.asu.edu/yochan/
2What is fluent merging?
- Fluent merging
- The process of combining two or more fluents
(state variables) into a single super fluent
3Gripper domain representations
Propositions
T
At(1,A)
1
F
T
At(1,B)
1
F
T
1
Carry(1)
F
T
At(2,A)
2
F
T
At(2,B)
2
F
T
Carry(2)
2
F
T
Free
F
T
Robby(A)
F
T
Robby(B)
F
29 512
4Gripper domain representations
Propositions
State variables
A
T
1
Ball 1
At(1,A)
1
F
B
1
T
1
G
At(1,B)
1
F
T
1
Carry(1)
F
A
T
2
Ball 2
At(2,A)
2
F
B
2
2
G
T
At(2,B)
2
F
T
Carry(2)
2
F
1
1
T
Gripper
Free
F
2
2
T
F
Robby(A)
F
A
T
Robby
Robby(B)
F
B
29 512
3 ? 3 ? 3 ? 2 54
5Gripper domain representations
Propositions
State variables
State space
A
T
1
2
1
1
Domain
Ball 1
At(1,A)
1
F
B
2
2
1
1
T
1
1
G
3
At(1,B)
2
1
F
2
4
1
T
1
1
Carry(1)
5
2
F
2
6
1
A
T
2
Ball 2
At(2,A)
7
2
2
1
F
B
2
8
2
1
2
G
T
At(2,B)
9
2
2
1
F
10
2
1
T
Carry(2)
2
2
11
1
F
1
12
1
2
1
T
Gripper
Free
2
F
13
2
1
2
1
T
14
2
F
Robby(A)
F
15
1
2
A
T
Robby
16
Robby(B)
2
1
F
16 16
B
29 512
3 ? 3 ? 3 ? 2 54
6Gripper domain causalities
Propositions
State variables
State space
Ball 1
Ball 2
Domain
At(1,A)
At(1,B)
At(2,A)
At(2,B)
Gripper
Carry(1)
Carry(2)
Free
Robby
Robby(A)
Robby(B)
7Gripper domain causalities
Propositions
State variables
State space
Ball 1
Ball 2
Domain
At(1,A)
At(1,B)
At(2,A)
At(2,B)
Gripper
Carry(1)
Carry(2)
Free
Robby
Robby(A)
Robby(B)
2
Exp
Decreases domain size of the fluents
0
CG
Decreases causal dependencies between fluents
8How 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)
9Important questions
- Can we decide up front when fluent merging will
help improve search? - Can we dynamically apply fluent merging during
planning?
10Fluent merging
- Composition
- Given the domain transition graph (DTG) of two
fluents c1, c2, the composition of DTGc1 and
DTGc2 is the domain transition graph DTGc1c2
(Vc1c2, Ec1c2) where - Vc1c2 Vc1 ? Vc2
- ((f1,g1),(f2,g2)) ? Ec1c2 if f1,f2 ? Vc1, g1,g2
? Vc2 and there exists an action a ? A such that
one of the following conditions hold - prec1 f1, postc1 f2, and prec2 g1,
postc2 g2 - prec1 f1, postc1 f2, and prevc2 g1,
g1 g2 - prec1 f1, postc1 f2, and g1 g2
The term composition is also used in model
checking to define the parallel composition of
automata Cassndras Lafortune, 1999
11Example
- Two DTGs and their composition
f1,,g1
d
f1,g2
f3,g2
c
f1
a
a
c
c
f2,g1
f3,g1
f2
g1
a
b
b
d
b
d
f2,g2
f3
g2
DTGc1
DTGc2
DTGc1 c2
12Example
- Two DTGs and their composition
- Small in-arcs denote the initial state
- Double circles denote the goal
f1,,g1
d
f1,g2
c
f1
a
a
c
c
f2,g1
f3,g1
f2
g1
a
b
b
d
b
d
f2,g2
f3
g2
DTGc1
DTGc2
DTGc1 c2
13Identifying 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
14Causal 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
15Causal 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
16Causal 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
17Causal 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
A
1
Domain
Pack 1
B
2
T
3
4
5
6
A
Truck 1
B
18Causal 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
A
1
Domain
Pack 1
B
2
T
3
4
5
6
A
Truck 1
B
19Results
20Results
21Conclusions
- 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