Presentation is loading. Please wait.

Presentation is loading. Please wait.

Eyal Amir (UC Berkeley) Barbara Engelhardt (UC Berkeley)

Similar presentations


Presentation on theme: "Eyal Amir (UC Berkeley) Barbara Engelhardt (UC Berkeley)"— Presentation transcript:

1 Eyal Amir (UC Berkeley) Barbara Engelhardt (UC Berkeley)
Factored Planning Eyal Amir (UC Berkeley) Barbara Engelhardt (UC Berkeley) Basic goal. – state in page 2 Factored Planning

2 Motivation Planning in structured domains
Scale up planners to large domains Avoid backtracking of search for plans Techniques: Similar to structured exact logical and probabilistic reasoning (Pearl’88), (Dechter & Rish’94), (Amir & McIlraith ’00,’01), (McCartney etal. ’03) Factored Planning

3 Talk Outline Factored domains Factored planning algorithm
Decomposition algorithm Factored Planning

4 Example Planning Domain
Room 1 (20 windows) Room 2 (20 windows) Fluents: closed(x), done1, done2, at1, at2 Actions: close(x), move-R, move-L Goal: done1,done2 (all windows closed) Initial state: at2 Factored Planning

5 Example Planning Domain
move-left 2. close(1), close(2), … 3. move-right close(21), close(22), … Fluents: closed(x), done1, done2, at1, at2 Actions: close(x), move-R, move-L Goal: done1,done2 (all windows closed) Initial state: at2 Factored Planning

6 Example Planning Domain
Room 1 (20 windows) Room 2 (20 windows) at2 Fluents: closed(x), done1, done2, at1, at2 Actions: close(x), move-R, move-L Goal: done1,done2 (all windows closed) Initial state: at2 Factored Planning

7 Example Planning Domain
Room 1 (20 windows) Room 2 (20 windows) at2 Fluents: closed(x), done1, done2, at1, at2 Actions: close(x), move-R, move-L Goal: done1,done2 (all windows closed) Initial state: at2 Factored Planning

8 Example Planning Domain
Room 1 (20 windows) Room 2 (20 windows) at1 Fluents: closed(x), done1, done2, at1, at2 Actions: close(x), move-R, move-L Goal: done1,done2 (all windows closed) Initial state: at2 Factored Planning

9 Example Planning Domain
Room 1 (20 windows) Room 2 (20 windows) at1 Fluents: closed(x), done1, done2, at1, at2 Actions: close(x), move-R, move-L Goal: done1,done2 (all windows closed) Initial state: at2 Factored Planning

10 Example Planning Domain
Room 1 (20 windows) Room 2 (20 windows) at1 Fluents: closed(x), done1, done2, at1, at2 Actions: close(x), move-R, move-L Goal: done1,done2 (all windows closed) Initial state: at2 Factored Planning

11 Example Planning Domain
Room 1 (20 windows) Room 2 (20 windows) done1 at1 Fluents: closed(x), done1, done2, at1, at2 Actions: close(x), move-R, move-L Goal: done1,done2 (all windows closed) Initial state: at2 Factored Planning

12 Example Planning Domain
Room 1 (20 windows) Room 2 (20 windows) done1 at1 Fluents: closed(x), done1, done2, at1, at2 Actions: close(x), move-R, move-L Goal: done1,done2 (all windows closed) Initial state: at2 Factored Planning

13 Example Planning Domain
Room 1 (20 windows) Room 2 (20 windows) done1 at2 Fluents: closed(x), done1, done2, at1, at2 Actions: close(x), move-R, move-L Goal: done1,done2 (all windows closed) Initial state: at2 Factored Planning

14 Example Planning Domain
Room 1 (20 windows) Room 2 (20 windows) done1 at2 Fluents: closed(x), done1, done2, at1, at2 Actions: close(x), move-R, move-L Goal: done1,done2 (all windows closed) Initial state: at2 Factored Planning

15 Example Planning Domain
Room 1 (20 windows) Room 2 (20 windows) done1 at2 Fluents: closed(x), done1, done2, at1, at2 Actions: close(x), move-R, move-L Goal: done1,done2 (all windows closed) Initial state: at2 Factored Planning

16 Example Planning Domain
Room 1 (20 windows) Room 2 (20 windows) done1 done2 at2 Fluents: closed(x), done1, done2, at1, at2 Actions: close(x), move-R, move-L Goal: done1,done2 (all windows closed) Initial state: at2 Factored Planning

17 Example Planning Domain
move-left 2. close(1), close(2), … 3. move-right close(21), close(22), … Fluents: closed(x), done1, done2, at1, at2 Actions: close(x), move-R, move-L Goal: done1,done2 (all windows closed) Initial state: at2 Factored Planning

18 Factored Planning Domain
move-left 2. close(1), close(2), … 3. move-right close(21), close(22), … Fluents: closed(x) (1x20) done1, at1, at2 Actions: Close(x) (1x20) Move-R, move-L Fluents: closed(x) (21x40) done1,done2,at1,at2 Actions: Close(x) (21x40) Move-R, move-L at1,at2 done1 Factored Planning

19 Intuition Planning separately in different parts
Combine separate plans to form complete plan Difficulty: want a sound + complete procedure that is always applicable Potential benefits: Fast planning & replanning Scaling to very large domains Factored Planning

20 Talk Outline Factored domains Factored planning algorithm
Decomposition algorithm Factored Planning

21 Planning via Dynamic Program
Room 1 (20 windows) Room 2 (20 windows) Send Messages (one way) Do some Processing In subdomain 1 Do some Processing In subdomain 2 + messages Factored Planning

22 Planning Algorithm (example)
Room 1 (20 windows) Room 2 (20 windows) Find capabilities of subdomain 1 relevant to subdomain 2 Factored Planning

23 Planning Algorithm (example)
Room 1 “if at1, then there is a way to make done1 true” Room 2 (20 windows) Find capabilities of subdomain 1 relevant to subdomain 2 Factored Planning

24 Planning Algorithm (example)
Room 1 “if at1, then there is a way to make done1 true” Room 2 (20 windows) Find capabilities of subdomain 1 Create a new action In subdomain 2: relevant to subdomain 2 “make done1 true” Precond: at1 Effect: done1 Factored Planning

25 Planning Algorithm (example)
Room 1 “if at1, then there is a way to make done1 true” Room 2 (20 windows) Find capabilities of subdomain 1 Find plan in subdomain 2 relevant to subdomain 2 “make done1 true” Precond: at1 Effect: done1 Factored Planning

26 Planning Algorithm (example)
Room 2 Room 1 “if at1, then there is a way to make done1 true” Plan: move-left “make done1 true” move-right close(21), close(22), … Find capabilities of subdomain 1 Find plan in subdomain 2 relevant to subdomain 2 “make done1 true” Precond: at1 Effect: done1 Factored Planning

27 Planning Algorithm (example)
Room 2 Room 1 “if at1, then there is a way to make done1 true” Plan: move-left “make done1 true” move-right close(21), close(22), … Find capabilities of subdomain 1 Expand plan to Include only atomic actions relevant to subdomain 2 Factored Planning

28 Planning Algorithm (example)
Room 2 Room 1 “if at1, then there is a way to make done1 true” Plan: move-left A. close(1), B. close(2), … 3. move-right close(21), close(22), … Find capabilities of subdomain 1 Expand plan to Include only atomic actions relevant to subdomain 2 Factored Planning

29 Summary & Outlook So far: example of algorithm
Next: algorithm + generalization Separator Fluents: closed(x) (0<x<21) done1, at1, at2 Actions: Close(x) (0<x<21) Move-R, move-L closed(x) (19<x<41) done1,done2,at1,at2 Close(x) (19<x<41) at1,at2 done1 Factored Planning

30 Planning Algorithm (2 partitions)
INPUT: 2 Partitions of fluents and actions Initial state, Goal condition Iterate over values V for separator: A. Find achievable goals for part 1 from V B. Send found plans to part 2 Add new actions for plans of part 1 Find plan for goal in part 2 Replace new actions with atomic ones Factored Planning

31 General Messages Room 1 “if at1, then there is a way to make
done1 true” Room 2 (20 windows) power Not true anymore What if we need more interactions between rooms? Example: robot must recharge batteries Factored Planning

32 General Messages Room 1 Room 2 “if at1, and when (20 windows)
needed battery_ok, then we can make done1 true” Room 2 (20 windows) power What if we need more interactions between rooms? Example: robot must recharge batteries Factored Planning

33 Planning Algorithm INPUT: m Partitions of fluents and actions
Initial state, Goal condition Factored Planning

34 Planning Algorithm INPUT: m Partitions of fluents and actions
Initial state, Goal condition Factored Planning

35 Planning Algorithm INPUT: m Partitions of fluents and actions
Initial state, Goal condition Factored Planning

36 Planning Algorithm INPUT: m Partitions of fluents and actions
Initial state, Goal condition Factored Planning

37 Planning Algorithm INPUT: m Partitions of fluents and actions
Initial state, Goal condition Factored Planning

38 Planning Algorithm INPUT: m Partitions of fluents and actions
Initial state, Goal condition Factored Planning

39 Planning Algorithm INPUT: m Partitions of fluents and actions
Initial state, Goal condition Factored Planning

40 Planning Algorithm INPUT: m Partitions of fluents and actions
Initial state, Goal condition Factored Planning

41 Planning Algorithm INPUT: m Partitions of fluents and actions
Initial state, Goal condition Factored Planning

42 Planning Algorithm INPUT: m Partitions of fluents and actions
Initial state, Goal condition Factored Planning

43 Planning Algorithm INPUT: m Partitions of fluents and actions
Initial state, Goal condition Factored Planning

44 Planning Algorithm INPUT: m Partitions of fluents and actions
Initial state, Goal condition Find plan in final partition Replace new actions with atomic actions Factored Planning

45 Analysis of Algorithm Theorem: Planning algorithm is sound and complete. Theorem: Algorithm runs in time O(m • 2k1•k2) m = number of partitions k1 = # fluents in largest partition k2 = “plan width”: # back-and-forth interactions between partitions in a plan Factored Planning

46 Analysis of Algorithm Theorem: Planning algorithm is sound and complete. Theorem: Algorithm runs in time O(m • 2k1•k2) Two Rooms Example: m = 2 k1 = 24 k2 = 1 Factored planning: O(2 • 224) Traditional planning: O(244) Factored Planning

47 Experiment: Ring of Rooms
Time (in milliseconds) Number of rooms Factored Planning

48 Talk Outline Factored domains Factored planning algorithm
Decomposition algorithm Factored Planning

49 Decomposition Algorithm
Convert into a graph problem Find a tree decomposition of low width Decompose the problem using tree Factored Planning

50 Decomposition Algorithm
1. Convert into a graph problem closed(1) close(1) close(21) closed(21) closed(2) close(2) close(22) closed(22) done1 move-R done2 move-L at1 at2 Factored Planning

51 Decomposition Algorithm
1. Convert into a graph problem closed(1) close(1) close(21) closed(21) closed(2) close(2) close(22) closed(22) done1 move-R done2 move-L at1 at2 Factored Planning

52 Decomposition Algorithm
1. Convert into a graph problem closed(1) close(1) close(21) closed(21) closed(2) close(2) close(22) closed(22) done1 move-R done2 move-L at1 at2 Factored Planning

53 Decomposition Algorithm
1. Convert into a graph problem closed(1) close(1) close(21) closed(21) closed(2) close(2) close(22) closed(22) done1 move-R done2 move-L at1 at2 Factored Planning

54 Decomposition Algorithm
2. Find a tree decomposition of low width closed(1) close(1) close(21) closed(21) closed(2) close(2) close(22) closed(22) done1 move-R done2 move-L at1 at2 Factored Planning

55 Decomposition Algorithm
2. Find a tree decomposition of low width closed(1) close(1) close(21) closed(21) closed(2) close(2) close(22) closed(22) done1 move-R done2 move-L at1 at2 Factored Planning

56 Decomposition Algorithm
3. Decompose planning problem accordingly closed(1) close(1) close(21) closed(21) closed(2) close(2) close(22) closed(22) done1 move-R done2 move-L at1 at2 Factored Planning

57 Decomposition Algorithm
3. Decompose planning problem accordingly done1 Fluents: closed(x) (0<x<21) done1, at1, at2 Actions: Close(x) (0<x<21) Move-R, move-L Fluents: closed(x) (19<x<41) done1,done2,at1,at2 Actions: Close(x) (19<x<41) Move-R, move-L at1 at2 Factored Planning

58 Decomposition Algorithm
3. Decompose planning problem accordingly Room 1 (20 windows) Room 2 (20 windows) Factored Planning

59 Decomposition Algorithm
Convert into a graph problem Find a tree decomposition of low width Can be done using known algorithms (e.g., (Rose ’76), (Amir 2001)) Decompose the problem using tree Factored Planning

60 Conclusions Factored planning algorithm
Decomposition algorithm relies on known graph algorithms Algorithm applicable to all domains Always sound and complete (unlike (Guestrin etal. ’01) - MDPs) Tractability of algorithm depends on quality of domain decomposition and decomposition properties of solution Factored Planning

61 Applications & Future Work
Nondeterministic domains Stochastic domains First-order decompositions Automatic generation of subsumption architectures Factored Planning

62 THE END Factored Planning

63 Related Works Factored reasoning [Pearl’88], [Amir & McIlraith’00,’01], [MacCartney etal.’03] Structured planning: Hierarchical planning, structured planning [Lanskey & Getoor ’95], Agents [Lansky’91], … Stochastic planning: [Parr’99], [Guestrin etal. ’01] Factored Planning

64 Factored Planning


Download ppt "Eyal Amir (UC Berkeley) Barbara Engelhardt (UC Berkeley)"

Similar presentations


Ads by Google