This talk on factored planning, presented by Eyal Amir and Barbara Engelhardt from UC Berkeley, delves into the intricacies of planning in structured domains. By leveraging decomposition methods akin to logical and probabilistic reasoning, the discussion outlines how to scale planners to manage large domains efficiently and avoid backtracking in plan searches. The talk includes practical examples illustrating the planning algorithm's performance and its application in environments with numerous entities, thereby demonstrating the benefits of fast planning and re-planning capabilities.
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation
Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement.Téléchargez la présentation en cliquant sur ce lien.Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.
F I N
Plus de contenu associé
Transcription de la présentation
Factored Planning Eyal Amir (UC Berkeley) Barbara Engelhardt (UC Berkeley) Factored Planning
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
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
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
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
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
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
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
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
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
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
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
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
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
Planning Algorithm INPUT: m Partitions of fluents and actions Initial state, Goal condition Factored Planning
Planning Algorithm INPUT: m Partitions of fluents and actions Initial state, Goal condition Factored Planning
Planning Algorithm INPUT: m Partitions of fluents and actions Initial state, Goal condition Factored Planning
Planning Algorithm INPUT: m Partitions of fluents and actions Initial state, Goal condition Factored Planning
Planning Algorithm INPUT: m Partitions of fluents and actions Initial state, Goal condition Factored Planning
Planning Algorithm INPUT: m Partitions of fluents and actions Initial state, Goal condition Factored Planning
Planning Algorithm INPUT: m Partitions of fluents and actions Initial state, Goal condition Factored Planning
Planning Algorithm INPUT: m Partitions of fluents and actions Initial state, Goal condition Factored Planning
Planning Algorithm INPUT: m Partitions of fluents and actions Initial state, Goal condition Factored Planning
Planning Algorithm INPUT: m Partitions of fluents and actions Initial state, Goal condition Factored Planning
Planning Algorithm INPUT: m Partitions of fluents and actions Initial state, Goal condition Factored Planning
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
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
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