1 / 64

Factored Planning

Factored Planning. Eyal Amir (UC Berkeley) Barbara Engelhardt (UC Berkeley). 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

johnna
Download Presentation

Factored Planning

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Factored Planning Eyal Amir (UC Berkeley) Barbara Engelhardt (UC Berkeley) 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 • Plan: • 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 Example plan: 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 Example plan: 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 Example plan: 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 Example plan: 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 Example plan: 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 Example plan: 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 Example plan: 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 Example plan: 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 Example plan: 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 Example plan: 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 Example plan: 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 • Plan: • 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 • Plan: • 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. Separator 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 done1 Summary & Outlook • So far: example of algorithm • Next: algorithm + generalization 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 “if at1, and when 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

More Related