Presentation is loading. Please wait.

Presentation is loading. Please wait.

Fluent Merging: A General Technique to Improve Reachability Heuristics and Factored Planning Menkes van den Briel Department of Industrial Engineering.

Similar presentations


Presentation on theme: "Fluent Merging: A General Technique to Improve Reachability Heuristics and Factored Planning Menkes van den Briel Department of Industrial Engineering."— Presentation transcript:

1 Fluent Merging: A General Technique to Improve Reachability Heuristics and Factored Planning Menkes van den Briel Department of Industrial Engineering Arizona State University Subbarao Kambhampati Department of Computer Science Arizona State University Thomas Vossen Leeds School of Business University of Colorado at Boulder

2 What is fluent merging? Fluent merging –The process of combining two or more fluents (state variables) into a single super fluent

3 Gripper domain representations T F T F T F T F T F T F T F T F T F Propositions Carry(1) At(1,A) At(1,B) Carry(2) At(2,A) At(2,B) Robby(A) Robby(B) Free 2 9 = 512

4 Gripper domain representations A B G A B G A B 1 2 F T F T F T F T F T F T F T F T F T F PropositionsState variables Robby Gripper Ball 1 Ball 2 Carry(1) At(1,A) At(1,B) Carry(2) At(2,A) At(2,B) Robby(A) Robby(B) Free 2 9 =  3  3  2 = 54

5 Gripper domain representations A B G A B G A B 1 2 F T F T F T F T F T F T F T F T F T F PropositionsState variablesState space Domain Robby Gripper Ball 1 Ball 2 Carry(1) At(1,A) At(1,B) Carry(2) At(2,A) At(2,B) Robby(A) Robby(B) Free 2 9 =  3  3  2 = = 16

6 Gripper domain causalities PropositionsState variablesState space Robby Gripper Ball 1Ball 2Domain Carry(1) At(1,A)At(1,B) Carry(2) At(2,A)At(2,B) Robby(A)Robby(B) Free

7 Gripper domain causalities PropositionsState variablesState space Robby Gripper Ball 1Ball 2Domain Carry(1) At(1,A)At(1,B) Carry(2) At(2,A)At(2,B) Robby(A)Robby(B) Free Decreases domain size of the fluents Decreases causal dependencies between fluents 2Exp 0CG

8 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)

9 Important questions Can we decide up front when fluent merging will help improve search? Can we dynamically apply fluent merging during planning?

10 Fluent merging Composition –Given the domain transition graph (DTG) of two fluents c 1, c 2, the composition of DTG c1 and DTG c2 is the domain transition graph DTG c1||c2 = (V c1||c2, E c1||c2 ) where –V c1||c2 = V c1  V c2 –((f 1,g 1 ),(f 2,g 2 ))  E c1||c2 if f 1,f 2  V c1, g 1,g 2  V c2 and there exists an action a  A such that one of the following conditions hold pre[c 1 ] = f 1, post[c 1 ] = f 2, and pre[c 2 ] = g 1, post[c 2 ] = g 2 pre[c 1 ] = f 1, post[c 1 ] = f 2, and prev[c 2 ] = g 1, g 1 = g 2 pre[c 1 ] = f 1, post[c 1 ] = f 2, and g 1 = g 2 The term composition is also used in model checking to define the parallel composition of automata [Cassndras & Lafortune, 1999]

11 Example Two DTGs and their composition f3f3 f2f2 f1f1 g2g2 g1g1 b c d DTG c1 DTG c2 a b f 1,g 2 f 2,g 1 f 2,g 2 f 3,g 1 f 3,g 2 f 1,,g 1 DTG c1 || c2 a a b c c d d

12 Example Two DTGs and their composition –Small in-arcs denote the initial state –Double circles denote the goal f3f3 f2f2 f1f1 g2g2 g1g1 b c d DTG c1 DTG c2 a b f 1,g 2 f 2,g 1 f 2,g 2 f 3,g 1 f 1,,g 1 DTG c1 || c2 a a b c c d d

13 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

14 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 c 1 (c 2 ) we have that action a has an effect or prevail condition in state variable c 2 (c 1 ) Person 1Person 2 Airplane 1Airplane 2 Fuel 1Fuel 2

15 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 c 1 (c 2 ) we have that action a has an effect or prevail condition in state variable c 2 (c 1 ) Person 1Person 2 Airplane 1Airplane 2 Fuel 1Fuel 2

16 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 c 1 (c 2 ) we have that action a has an effect or prevail condition in state variable c 2 (c 1 ) Person 1Person 2 Airplane 1 Fuel1 Airplane 2 Fuel2

17 Causal dependency Merge two fluents if they remove a causal link in the causal graph –If the common actions between state variable c 1 and c 2 all have an effect in state variable c 1 and a prevail condition in state variable c 2 and A B T A B DomainPack 1 Truck 1

18 Causal dependency Merge two fluents if they remove a causal link in the causal graph –If the common actions between state variable c 1 and c 2 all have an effect in state variable c 1 and a prevail condition in state variable c 2 and A B T A B DomainPack 1 Truck 1

19 Results

20

21 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 ppt "Fluent Merging: A General Technique to Improve Reachability Heuristics and Factored Planning Menkes van den Briel Department of Industrial Engineering."

Similar presentations


Ads by Google