factored planning

64
Factored Planning 1 Eyal Amir (UC Berkeley) Eyal Amir (UC Berkeley) Barbara Engelhardt (UC Barbara Engelhardt (UC Berkeley) Berkeley) Factored Planning Factored Planning

Upload: johnna

Post on 12-Jan-2016

42 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Factored Planning

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

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

Factored Planning 3

Talk OutlineTalk Outline• Factored domainsFactored domains

• Factored planning algorithmFactored planning algorithm

• Decomposition algorithmDecomposition algorithm

Page 4: Factored Planning

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Factored Planning 20

Talk OutlineTalk Outline• Factored domainsFactored domains

• Factored planning algorithmFactored planning algorithm

• Decomposition algorithmDecomposition algorithm

Page 21: Factored Planning

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Factored Planning 48

Talk OutlineTalk Outline• Factored domainsFactored domains

• Factored planning algorithmFactored planning algorithm

• Decomposition algorithmDecomposition algorithm

Page 49: Factored Planning

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

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

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

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

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

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

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

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

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

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

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

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

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

Factored Planning 62

THE THE ENDEND

Page 63: Factored Planning

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

Factored Planning 64