Factored Planning
description
Transcript of Factored Planning
![Page 1: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/1.jpg)
Factored Planning 1
Eyal Amir (UC Berkeley)Eyal Amir (UC Berkeley)
Barbara Engelhardt (UC Berkeley)Barbara Engelhardt (UC Berkeley)
Factored PlanningFactored Planning
![Page 2: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/2.jpg)
Factored Planning 2
MotivationMotivation• Planning in structured domainsPlanning in structured domains
• Scale up planners to large domainsScale up planners to large domains
• Avoid backtracking of search for plansAvoid backtracking of search for plans
• TechniquesTechniques: Similar to structured exact : Similar to structured exact logical and probabilistic reasoninglogical and probabilistic reasoning
• (Pearl’88), (Dechter & Rish’94), (Amir & (Pearl’88), (Dechter & Rish’94), (Amir & McIlraith ’00,’01), (McCartney etal. ’03) McIlraith ’00,’01), (McCartney etal. ’03)
![Page 3: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/3.jpg)
Factored Planning 3
Talk OutlineTalk Outline• Factored domainsFactored domains
• Factored planning algorithmFactored planning algorithm
• Decomposition algorithmDecomposition algorithm
![Page 4: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/4.jpg)
Factored Planning 4
Example Planning DomainExample Planning Domain
Room 1Room 1(20 windows)(20 windows)
Room 2Room 2(20 windows)(20 windows)
FluentsFluents: closed(x), done1, done2, at1, at2: closed(x), done1, done2, at1, at2ActionsActions: close(x), move-R, move-L: close(x), move-R, move-L GoalGoal: done1,done2 (all windows closed): done1,done2 (all windows closed)Initial stateInitial state: at2: at2
![Page 5: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/5.jpg)
Factored Planning 5
Example Planning DomainExample Planning Domain
FluentsFluents: closed(x), done1, done2, at1, at2: closed(x), done1, done2, at1, at2ActionsActions: close(x), move-R, move-L: close(x), move-R, move-L GoalGoal: done1,done2 (all windows closed): done1,done2 (all windows closed)Initial stateInitial state: at2: at2
Plan:Plan:1.1. move-leftmove-left2. close(1), close(2), …2. close(1), close(2), …3. move-right3. move-right4.4. close(21), close(22), …close(21), close(22), …
![Page 6: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/6.jpg)
Factored Planning 6
Example Planning DomainExample Planning Domain
Room 1Room 1(20 windows)(20 windows)
Room 2Room 2(20 windows)(20 windows)
FluentsFluents: closed(x), done1, done2, at1, at2: closed(x), done1, done2, at1, at2ActionsActions: close(x), move-R, move-L: close(x), move-R, move-L GoalGoal: done1,done2 (all windows closed): done1,done2 (all windows closed)Initial stateInitial state: at2: at2
at2at2
Example plan:Example plan:
![Page 7: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/7.jpg)
Factored Planning 7
Example Planning DomainExample Planning Domain
Room 1Room 1(20 windows)(20 windows)
Room 2Room 2(20 windows)(20 windows)
FluentsFluents: closed(x), done1, done2, at1, at2: closed(x), done1, done2, at1, at2ActionsActions: close(x), move-R, : close(x), move-R, move-Lmove-L GoalGoal: done1,done2 (all windows closed): done1,done2 (all windows closed)Initial stateInitial state: at2: at2
at2at2
Example plan:Example plan:
![Page 8: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/8.jpg)
Factored Planning 8
Example Planning DomainExample Planning Domain
Room 1Room 1(20 windows)(20 windows)
Room 2Room 2(20 windows)(20 windows)
FluentsFluents: closed(x), done1, done2, at1, at2: closed(x), done1, done2, at1, at2ActionsActions: close(x), move-R, : close(x), move-R, move-Lmove-L GoalGoal: done1,done2 (all windows closed): done1,done2 (all windows closed)Initial stateInitial state: at2: at2
at1at1
Example plan:Example plan:
![Page 9: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/9.jpg)
Factored Planning 9
Example Planning DomainExample Planning Domain
Room 1Room 1(20 windows)(20 windows)
Room 2Room 2(20 windows)(20 windows)
FluentsFluents: closed(x), done1, done2, at1, at2: closed(x), done1, done2, at1, at2ActionsActions: : close(x),close(x), move-R, move-L move-R, move-L GoalGoal: done1,done2 (all windows closed): done1,done2 (all windows closed)Initial stateInitial state: at2: at2
at1at1
Example plan:Example plan:
![Page 10: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/10.jpg)
Factored Planning 10
Example Planning DomainExample Planning Domain
Room 1Room 1(20 windows)(20 windows)
Room 2Room 2(20 windows)(20 windows)
FluentsFluents: closed(x), done1, done2, at1, at2: closed(x), done1, done2, at1, at2ActionsActions: : close(x),close(x), move-R, move-L move-R, move-L GoalGoal: done1,done2 (all windows closed): done1,done2 (all windows closed)Initial stateInitial state: at2: at2
at1at1
Example plan:Example plan:
![Page 11: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/11.jpg)
Factored Planning 11
Example Planning DomainExample Planning Domain
Room 1Room 1(20 windows)(20 windows)
Room 2Room 2(20 windows)(20 windows)
FluentsFluents: closed(x), done1, done2, at1, at2: closed(x), done1, done2, at1, at2ActionsActions: : close(x),close(x), move-R, move-L move-R, move-L GoalGoal: done1,done2 (all windows closed): done1,done2 (all windows closed)Initial stateInitial state: at2: at2
at1at1
Example plan:Example plan:
done1done1
![Page 12: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/12.jpg)
Factored Planning 12
Example Planning DomainExample Planning Domain
Room 1Room 1(20 windows)(20 windows)
Room 2Room 2(20 windows)(20 windows)
FluentsFluents: closed(x), done1, done2, at1, at2: closed(x), done1, done2, at1, at2ActionsActions: close(x), : close(x), move-Rmove-R, move-L, move-L GoalGoal: done1,done2 (all windows closed): done1,done2 (all windows closed)Initial stateInitial state: at2: at2
at1at1
Example plan:Example plan:
done1done1
![Page 13: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/13.jpg)
Factored Planning 13
Example Planning DomainExample Planning Domain
Room 1Room 1(20 windows)(20 windows)
Room 2Room 2(20 windows)(20 windows)
FluentsFluents: closed(x), done1, done2, at1, at2: closed(x), done1, done2, at1, at2ActionsActions: close(x), : close(x), move-Rmove-R, move-L, move-L GoalGoal: done1,done2 (all windows closed): done1,done2 (all windows closed)Initial stateInitial state: at2: at2
at2at2
Example plan:Example plan:
done1done1
![Page 14: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/14.jpg)
Factored Planning 14
Example Planning DomainExample Planning Domain
Room 1Room 1(20 windows)(20 windows)
Room 2Room 2(20 windows)(20 windows)
FluentsFluents: closed(x), done1, done2, at1, at2: closed(x), done1, done2, at1, at2ActionsActions: : close(x),close(x), move-R, move-L move-R, move-L GoalGoal: done1,done2 (all windows closed): done1,done2 (all windows closed)Initial stateInitial state: at2: at2
at2at2
Example plan:Example plan:
done1done1
![Page 15: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/15.jpg)
Factored Planning 15
Example Planning DomainExample Planning Domain
Room 1Room 1(20 windows)(20 windows)
Room 2Room 2(20 windows)(20 windows)
FluentsFluents: closed(x), done1, done2, at1, at2: closed(x), done1, done2, at1, at2ActionsActions: : close(x),close(x), move-R, move-L move-R, move-L GoalGoal: done1,done2 (all windows closed): done1,done2 (all windows closed)Initial stateInitial state: at2: at2
at2at2
Example plan:Example plan:
done1done1
![Page 16: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/16.jpg)
Factored Planning 16
Example Planning DomainExample Planning Domain
Room 1Room 1(20 windows)(20 windows)
Room 2Room 2(20 windows)(20 windows)
FluentsFluents: closed(x), done1, done2, at1, at2: closed(x), done1, done2, at1, at2ActionsActions: : close(x),close(x), move-R, move-L move-R, move-L GoalGoal: done1,done2 (all windows closed): done1,done2 (all windows closed)Initial stateInitial state: at2: at2
at2at2
Example plan:Example plan:
done1done1 done2done2
![Page 17: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/17.jpg)
Factored Planning 17
Example Planning DomainExample Planning Domain
FluentsFluents: closed(x), done1, done2, at1, at2: closed(x), done1, done2, at1, at2ActionsActions: close(x), move-R, move-L: close(x), move-R, move-L GoalGoal: done1,done2 (all windows closed): done1,done2 (all windows closed)Initial stateInitial state: at2: at2
Plan:Plan:1.1. move-leftmove-left2. close(1), close(2), …2. close(1), close(2), …3. move-right3. move-right4.4. close(21), close(22), …close(21), close(22), …
![Page 18: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/18.jpg)
Factored Planning 18
Factored Planning DomainFactored Planning DomainPlan:Plan:1.1. move-leftmove-left2. close(1), close(2), …2. close(1), close(2), …3. move-right3. move-right4.4. close(21), close(22), …close(21), close(22), …
Fluents:Fluents:closed(x) (1closed(x) (1xx20)20)done1, at1, at2done1, at1, at2
Actions:Actions:Close(x) (1Close(x) (1xx20)20)Move-R, move-LMove-R, move-L
Fluents:Fluents:closed(x) (21closed(x) (21xx40)40)done1done1,done2,,done2,at1,at2at1,at2
Actions:Actions:Close(x) (21Close(x) (21xx40)40)Move-R, move-LMove-R, move-L
at1,at2at1,at2done1done1
![Page 19: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/19.jpg)
Factored Planning 19
IntuitionIntuition• Planning separately in different partsPlanning separately in different parts
• Combine separate plans to form Combine separate plans to form complete plancomplete plan
• DifficultyDifficulty: want a sound + complete : want a sound + complete procedure that is always applicableprocedure that is always applicable
• Potential Potential benefits:benefits:– Fast planning & replanningFast planning & replanning– Scaling to very large domainsScaling to very large domains
![Page 20: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/20.jpg)
Factored Planning 20
Talk OutlineTalk Outline• Factored domainsFactored domains
• Factored planning algorithmFactored planning algorithm
• Decomposition algorithmDecomposition algorithm
![Page 21: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/21.jpg)
Factored Planning 21
Planning via Dynamic ProgramPlanning via Dynamic Program
Room 1Room 1(20 windows)(20 windows)
Room 2Room 2(20 windows)(20 windows)
Do someDo someProcessingProcessing
In subdomain 1In subdomain 1
Do someDo someProcessingProcessing
In subdomain 2In subdomain 2+ messages+ messages
SendSendMessagesMessages(one way)(one way)
![Page 22: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/22.jpg)
Factored Planning 22
Planning Algorithm (example)Planning Algorithm (example)
Room 1Room 1(20 windows)(20 windows)
Room 2Room 2(20 windows)(20 windows)
Find Find capabilitiescapabilitiesof subdomain 1of subdomain 1
relevant torelevant tosubdomain 2subdomain 2
![Page 23: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/23.jpg)
Factored Planning 23
Planning Algorithm (example)Planning Algorithm (example)
Room 1Room 1““if if at1at1, then there is, then there is
a way to makea way to makedone1done1 true” true”
Room 2Room 2(20 windows)(20 windows)
Find Find capabilitiescapabilitiesof subdomain 1of subdomain 1
relevant torelevant tosubdomain 2subdomain 2
![Page 24: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/24.jpg)
Factored Planning 24
Planning Algorithm (example)Planning Algorithm (example)
Room 1Room 1““if if at1at1, then there is, then there is
a way to makea way to makedone1done1 true” true”
Find Find capabilitiescapabilitiesof subdomain 1of subdomain 1
relevant torelevant tosubdomain 2subdomain 2
Create a new actionCreate a new actionIn subdomain 2:In subdomain 2:
Room 2Room 2(20 windows)(20 windows)
““make done1 true”make done1 true”Precond: at1Precond: at1Effect: done1Effect: done1
![Page 25: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/25.jpg)
Factored Planning 25
Planning Algorithm (example)Planning Algorithm (example)
Room 1Room 1““if if at1at1, then there is, then there is
a way to makea way to makedone1done1 true” true”
Find Find capabilitiescapabilitiesof subdomain 1of subdomain 1
relevant torelevant tosubdomain 2subdomain 2
Room 2Room 2(20 windows)(20 windows)
““make done1 true”make done1 true”Precond: at1Precond: at1Effect: done1Effect: done1
Find plan in subdomain 2Find plan in subdomain 2
![Page 26: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/26.jpg)
Factored Planning 26
Planning Algorithm (example)Planning Algorithm (example)
Room 1Room 1““if if at1at1, then there is, then there is
a way to makea way to makedone1done1 true” true”
Find Find capabilitiescapabilitiesof subdomain 1of subdomain 1
relevant torelevant tosubdomain 2subdomain 2
Find plan in subdomain 2Find plan in subdomain 2
Plan:Plan:1.1. move-leftmove-left2.2. ““make done1 true”make done1 true”3.3. move-rightmove-right4.4. close(21),close(21),5.5. close(22), …close(22), …
““make done1 true”make done1 true”Precond: at1Precond: at1Effect: done1Effect: done1
Room 2Room 2
![Page 27: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/27.jpg)
Factored Planning 27
Planning Algorithm (example)Planning Algorithm (example)
Room 1Room 1““if if at1at1, then there is, then there is
a way to makea way to makedone1done1 true” true”
Find Find capabilitiescapabilitiesof subdomain 1of subdomain 1
relevant torelevant tosubdomain 2subdomain 2
Expand plan toExpand plan toInclude only atomicInclude only atomic
actionsactions
Plan:Plan:1.1. move-leftmove-left2.2. ““make done1 true”make done1 true”3.3. move-rightmove-right4.4. close(21),close(21),5.5. close(22), …close(22), …
Room 2Room 2
![Page 28: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/28.jpg)
Factored Planning 28
Planning Algorithm (example)Planning Algorithm (example)
Room 1Room 1““if if at1at1, then there is, then there is
a way to makea way to makedone1done1 true” true”
Find Find capabilitiescapabilitiesof subdomain 1of subdomain 1
relevant torelevant tosubdomain 2subdomain 2
Expand plan toExpand plan toInclude only atomicInclude only atomic
actionsactions
Plan:Plan:1.1. move-leftmove-left2.2. A. close(1),A. close(1),
B. close(2), …B. close(2), …3. move-right3. move-right4.4. close(21),close(21),5.5. close(22), …close(22), …
Room 2Room 2
![Page 29: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/29.jpg)
Factored Planning 29
Summary & OutlookSummary & Outlook• So far: example of algorithmSo far: example of algorithm
• Next: algorithm + generalizationNext: algorithm + generalization
Fluents:Fluents:closed(x) (0<x<21)closed(x) (0<x<21)done1, at1, at2done1, at1, at2
Actions:Actions:Close(x) (0<x<21)Close(x) (0<x<21)Move-R, move-LMove-R, move-L
Fluents:Fluents:closed(x) (19<x<41)closed(x) (19<x<41)done1done1,done2,,done2,at1,at2at1,at2
Actions:Actions:Close(x) (19<x<41)Close(x) (19<x<41)Move-R, move-LMove-R, move-L
at1,at2at1,at2done1done1
SeparatorSeparator
![Page 30: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/30.jpg)
Factored Planning 30
Planning Algorithm (2 partitions)Planning Algorithm (2 partitions)INPUT: 2 Partitions of fluents and actionsINPUT: 2 Partitions of fluents and actions
Initial state, Goal conditionInitial state, Goal condition
1.1. Iterate over values V for separator:Iterate over values V for separator:A.A. Find achievable goals for part 1 from V Find achievable goals for part 1 from V
B.B. Send found plans to part 2 Send found plans to part 2
2.2. Add Add new actionsnew actions for plans of part 1 for plans of part 1
3.3. Find plan for goal in part 2Find plan for goal in part 2
4.4. Replace Replace new actionsnew actions with atomic ones with atomic ones
![Page 31: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/31.jpg)
Factored Planning 31
General MessagesGeneral Messages
Room 1Room 1““if if at1at1, then there is, then there is
a way to makea way to makedone1done1 true” true”
Room 2Room 2(20 windows)(20 windows)
What if we need more interactions between rooms?What if we need more interactions between rooms?
Example: robot must recharge batteriesExample: robot must recharge batteries
powerpower
Not true anymoreNot true anymore
![Page 32: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/32.jpg)
Factored Planning 32
General MessagesGeneral Messages
Room 1Room 1““if if at1at1, and when, and when
needed needed battery_okbattery_ok,,then we can makethen we can make
done1done1 true” true”
Room 2Room 2(20 windows)(20 windows)
powerpower
What if we need more interactions between rooms?What if we need more interactions between rooms?
Example: robot must recharge batteriesExample: robot must recharge batteries
![Page 33: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/33.jpg)
Factored Planning 33
Planning AlgorithmPlanning AlgorithmINPUT: INPUT: mm Partitions of fluents and actions Partitions of fluents and actions
Initial state, Goal conditionInitial state, Goal condition
![Page 34: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/34.jpg)
Factored Planning 34
Planning AlgorithmPlanning AlgorithmINPUT: INPUT: mm Partitions of fluents and actions Partitions of fluents and actions
Initial state, Goal conditionInitial state, Goal condition
![Page 35: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/35.jpg)
Factored Planning 35
Planning AlgorithmPlanning AlgorithmINPUT: INPUT: mm Partitions of fluents and actions Partitions of fluents and actions
Initial state, Goal conditionInitial state, Goal condition
![Page 36: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/36.jpg)
Factored Planning 36
Planning AlgorithmPlanning AlgorithmINPUT: INPUT: mm Partitions of fluents and actions Partitions of fluents and actions
Initial state, Goal conditionInitial state, Goal condition
![Page 37: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/37.jpg)
Factored Planning 37
Planning AlgorithmPlanning AlgorithmINPUT: INPUT: mm Partitions of fluents and actions Partitions of fluents and actions
Initial state, Goal conditionInitial state, Goal condition
![Page 38: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/38.jpg)
Factored Planning 38
Planning AlgorithmPlanning AlgorithmINPUT: INPUT: mm Partitions of fluents and actions Partitions of fluents and actions
Initial state, Goal conditionInitial state, Goal condition
![Page 39: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/39.jpg)
Factored Planning 39
Planning AlgorithmPlanning AlgorithmINPUT: INPUT: mm Partitions of fluents and actions Partitions of fluents and actions
Initial state, Goal conditionInitial state, Goal condition
![Page 40: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/40.jpg)
Factored Planning 40
Planning AlgorithmPlanning AlgorithmINPUT: INPUT: mm Partitions of fluents and actions Partitions of fluents and actions
Initial state, Goal conditionInitial state, Goal condition
![Page 41: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/41.jpg)
Factored Planning 41
Planning AlgorithmPlanning AlgorithmINPUT: INPUT: mm Partitions of fluents and actions Partitions of fluents and actions
Initial state, Goal conditionInitial state, Goal condition
![Page 42: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/42.jpg)
Factored Planning 42
Planning AlgorithmPlanning AlgorithmINPUT: INPUT: mm Partitions of fluents and actions Partitions of fluents and actions
Initial state, Goal conditionInitial state, Goal condition
![Page 43: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/43.jpg)
Factored Planning 43
Planning AlgorithmPlanning AlgorithmINPUT: INPUT: mm Partitions of fluents and actions Partitions of fluents and actions
Initial state, Goal conditionInitial state, Goal condition
![Page 44: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/44.jpg)
Factored Planning 44
Planning AlgorithmPlanning AlgorithmINPUT: INPUT: mm Partitions of fluents and actions Partitions of fluents and actions
Initial state, Goal conditionInitial state, Goal condition
Find plan in final partitionFind plan in final partitionReplace new actionsReplace new actions
with atomic actionswith atomic actions
![Page 45: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/45.jpg)
Factored Planning 45
Analysis of AlgorithmAnalysis of Algorithm• TheoremTheorem: Planning algorithm is : Planning algorithm is sound sound
and and completecomplete..• TheoremTheorem: Algorithm runs in time : Algorithm runs in time
O(m O(m •• 2 2kk11••kk22))m = number of partitionsm = number of partitions
kk11 = # fluents in largest partition = # fluents in largest partition
kk22 = “plan width”: = “plan width”:
# back-and-forth interactions# back-and-forth interactionsbetween partitions in a plan between partitions in a plan
![Page 46: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/46.jpg)
Factored Planning 46
Analysis of AlgorithmAnalysis of Algorithm• TheoremTheorem: Planning algorithm is : Planning algorithm is sound sound
and and completecomplete..• TheoremTheorem: Algorithm runs in time : Algorithm runs in time
O(m O(m •• 2 2kk11••kk22))• Two Rooms Two Rooms ExampleExample::
m = 2m = 2 kk11 = 24 = 24 kk22 = 1 = 1
FactoredFactored planning: O( planning: O(2 2 •• 2 22424))TraditionalTraditional planning: O( planning: O(224444))
![Page 47: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/47.jpg)
Factored Planning 47
Experiment: Ring of RoomsExperiment: Ring of Rooms
Number of roomsNumber of rooms
Tim
e (in
mill
isec
onds
)T
ime
(in m
illis
econ
ds)
![Page 48: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/48.jpg)
Factored Planning 48
Talk OutlineTalk Outline• Factored domainsFactored domains
• Factored planning algorithmFactored planning algorithm
• Decomposition algorithmDecomposition algorithm
![Page 49: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/49.jpg)
Factored Planning 49
Decomposition AlgorithmDecomposition Algorithm1.1. Convert into a graph problemConvert into a graph problem
2.2. Find a tree decomposition of low widthFind a tree decomposition of low width
3.3. Decompose the problem using treeDecompose the problem using tree
![Page 50: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/50.jpg)
Factored Planning 50
Decomposition AlgorithmDecomposition Algorithm1. Convert into a graph problem1. Convert into a graph problem
closed(1)closed(1)
closed(2)closed(2)
closed(21)closed(21)
closed(22)closed(22)
close(1)close(1)
close(2)close(2)
at1at1 at2at2
move-Rmove-R
move-Lmove-L
done1done1 done2done2
close(21)close(21)
close(22)close(22)
![Page 51: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/51.jpg)
Factored Planning 51
Decomposition AlgorithmDecomposition Algorithm1. Convert into a graph problem1. Convert into a graph problem
closed(1)closed(1)
closed(2)closed(2)
closed(21)closed(21)
closed(22)closed(22)
close(1)close(1)
close(2)close(2)
at1at1 at2at2
move-Rmove-R
move-Lmove-L
done1done1 done2done2
close(21)close(21)
close(22)close(22)
![Page 52: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/52.jpg)
Factored Planning 52
Decomposition AlgorithmDecomposition Algorithm1. Convert into a graph problem1. Convert into a graph problem
closed(1)closed(1)
closed(2)closed(2)
closed(21)closed(21)
closed(22)closed(22)
close(1)close(1)
close(2)close(2)
at1at1 at2at2
move-Rmove-R
move-Lmove-L
done1done1 done2done2
close(21)close(21)
close(22)close(22)
![Page 53: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/53.jpg)
Factored Planning 53
Decomposition AlgorithmDecomposition Algorithm1. Convert into a graph problem1. Convert into a graph problem
closed(1)closed(1)
closed(2)closed(2)
closed(21)closed(21)
closed(22)closed(22)
close(1)close(1)
close(2)close(2)
at1at1 at2at2
move-Rmove-R
move-Lmove-L
done1done1 done2done2
close(21)close(21)
close(22)close(22)
![Page 54: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/54.jpg)
Factored Planning 54
Decomposition AlgorithmDecomposition Algorithm2. Find a tree decomposition of low width2. Find a tree decomposition of low width
closed(1)closed(1)
closed(2)closed(2)
closed(21)closed(21)
closed(22)closed(22)
close(1)close(1)
close(2)close(2)
at1at1 at2at2
move-Rmove-R
move-Lmove-L
done1done1 done2done2
close(21)close(21)
close(22)close(22)
![Page 55: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/55.jpg)
Factored Planning 55
Decomposition AlgorithmDecomposition Algorithm2. Find a tree decomposition of low width2. Find a tree decomposition of low width
closed(1)closed(1)
closed(2)closed(2)
closed(21)closed(21)
closed(22)closed(22)
close(1)close(1)
close(2)close(2)
at1at1 at2at2
move-Rmove-R
move-Lmove-L
done1done1 done2done2
close(21)close(21)
close(22)close(22)
![Page 56: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/56.jpg)
Factored Planning 56
Decomposition AlgorithmDecomposition Algorithm3. Decompose planning problem accordingly3. Decompose planning problem accordingly
closed(1)closed(1)
closed(2)closed(2)
closed(21)closed(21)
closed(22)closed(22)
close(1)close(1)
close(2)close(2)
at1at1 at2at2
move-Rmove-R
move-Lmove-L
done1done1 done2done2
close(21)close(21)
close(22)close(22)
![Page 57: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/57.jpg)
Factored Planning 57
Decomposition AlgorithmDecomposition Algorithm3. Decompose planning problem accordingly3. Decompose planning problem accordingly
Fluents:Fluents:closed(x) (0<x<21)closed(x) (0<x<21)done1, at1, at2done1, at1, at2
Actions:Actions:Close(x) (0<x<21)Close(x) (0<x<21)Move-R, move-LMove-R, move-L
Fluents:Fluents:closed(x) (19<x<41)closed(x) (19<x<41)done1done1,done2,,done2,at1,at2at1,at2
Actions:Actions:Close(x) (19<x<41)Close(x) (19<x<41)Move-R, move-LMove-R, move-L
at1at1
at2at2
done1done1
![Page 58: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/58.jpg)
Factored Planning 58
Decomposition AlgorithmDecomposition Algorithm3. Decompose planning problem accordingly3. Decompose planning problem accordingly
Room 1Room 1(20 windows)(20 windows)
Room 2Room 2(20 windows)(20 windows)
![Page 59: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/59.jpg)
Factored Planning 59
Decomposition AlgorithmDecomposition Algorithm1.1. Convert into a graph problemConvert into a graph problem
2.2. Find a tree decomposition of low widthFind a tree decomposition of low width– Can be done using known algorithms Can be done using known algorithms
(e.g., (Rose ’76), (Amir 2001))(e.g., (Rose ’76), (Amir 2001))
3.3. Decompose the problem using treeDecompose the problem using tree
![Page 60: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/60.jpg)
Factored Planning 60
ConclusionsConclusions• Factored planning algorithmFactored planning algorithm
• Decomposition algorithm relies on Decomposition algorithm relies on known graph algorithmsknown graph algorithms
• Algorithm applicable to all domainsAlgorithm applicable to all domains
• Always Always sound and complete sound and complete (unlike (unlike (Guestrin etal. ’01) - MDPs)(Guestrin etal. ’01) - MDPs)
• Tractability of algorithm depends on Tractability of algorithm depends on quality of domain decompositionquality of domain decomposition and and decomposition decomposition properties of solutionproperties of solution
![Page 61: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/61.jpg)
Factored Planning 61
Applications & Future WorkApplications & Future Work• Nondeterministic domainsNondeterministic domains
• Stochastic domainsStochastic domains
• First-order decompositionsFirst-order decompositions
• Automatic generation of subsumption Automatic generation of subsumption architecturesarchitectures
![Page 62: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/62.jpg)
Factored Planning 62
THE THE ENDEND
![Page 63: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/63.jpg)
Factored Planning 63
Related WorksRelated Works• Factored reasoning [Pearl’88], [Amir & Factored reasoning [Pearl’88], [Amir &
McIlraith’00,’01], [MacCartney etal.’03]McIlraith’00,’01], [MacCartney etal.’03]
• Structured planning: Hierarchical Structured planning: Hierarchical planning, structured planning [Lanskey planning, structured planning [Lanskey & Getoor ’95], Agents [Lansky’91], …& Getoor ’95], Agents [Lansky’91], …
• Stochastic planning: [Parr’99], [Guestrin Stochastic planning: [Parr’99], [Guestrin etal. ’01]etal. ’01]
![Page 64: Factored Planning](https://reader035.fdocuments.us/reader035/viewer/2022062518/56814400550346895db0923e/html5/thumbnails/64.jpg)
Factored Planning 64