1 / 19

Planning

Planning. We have done a sort of planning already Consider the “search” applied to general problem solving The sequence of moves with the “Jugs” was a plan Fill 3 litre Pour 3 litre into 4 litre Fill 3 litre … The sequence of moves in a game is a plan

mea
Télécharger la présentation

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. Planning • We have done a sort of planning already • Consider the “search” applied to general problem solving • The sequence of moves with the “Jugs” was a plan • Fill 3 litre • Pour 3 litre into 4 litre • Fill 3 litre … • The sequence of moves in a game is a plan • Why not apply same techniques for general planning? • Try going to the shop to buy milk and a light bulb • We need: • Initial situation • Goal situation • Actions that can be done • + cost of action • Constraints

  2. Planning Initial situation: At home, no milk, broken bulb Take a nap Eat bread Read a book Drink juice Make a phone call Browse the Web Go out the door Take another nap Eat bread Go to Uni Go to friend Go to beach Go to food shop Go to clothes shop Read a book

  3. Planning • Why not apply same techniques for general planning? • Try going to the shop to buy milk and light bulb • We need: • Initial situation • Goal situation • Actions that can be done • + cost of action • Constraints • Problem is not tightly constrained (like jugs, or game) • too many silly (irrelevant) actions • We know they’re silly because of commonsense • Solution (3 parts):

  4. Planning • Solution: • Represent states, actions with logic sentences • Start state is not just a node, but a description • (NOT have(milk)) AND (NOT have (light_bulb)) AND my_location(home) • Same for goal state • Action is not node to node, where node is complete state • buy(X)  achieves  have(X) • Action does not affect other aspects • Allow planner to add actions in any order • Not necessary to work from the top, searching • E.g. add subgoal “buy(milk)” before leaving house • Do important or obvious parts first • Note: state representation important here • Divide and conquer • Most things in the world are independent • Can solve subgoals separately (compare with jugs/games)

  5. STRIPS Planning(STRIPS = Stanford Research Institute Problem Solver) • Initial state: • (NOT have(milk)) AND (NOT have (light_bulb)) AND my_location(home) • Goal state: • have(milk) AND have (light_bulb) AND my_location(home) • Actions: STRIPS operators Op • Example: go(X) • Precondition • Must be true before action can be performed • Example: my_location(Y) AND path (Y,X) • Effect • How action changes state, ADD facts and DELETE facts • Example: ADD: my_location(X) • DELETE: my_location(Y)

  6. STRIPS Planning(STRIPS = Stanford Research Institute Problem Solver) go(food_shop) my_location(home) AND path (home,food_shop) ADD: my_location(food_shop) DELETE: my_location(home) go(X) my_location(Y) AND path (Y,X) ADD: my_location(X) DELETE: my_location(Y)

  7. How to Search for a Plan? • We could search forward from our initial state • We saw that this would search loads of silly actions • We could search backwards from our goal state • Works better, but still searching silly actions • No heuristic to find actions that get closer to initial state • Need a heuristic… • Means-ends analysis • Find actions that reduce the difference between initial and goal states • Newell and Simon’s General Problem Solver • Generates heuristics from a table • “Table of differences” • identifies operators (actions) to reduce types of differences • Needs a lot of human input

  8. “I want to take my son to nursery school. What’s the difference between what I have and what I want? One of distance. What changes distance? My automobile. My automobile doesn’t work. What is needed to make it work? A new battery. What has new batteries? An auto repair shop. I want the repair shop to put in a new battery; but the shop doesn’t know I need one. What is the difficulty? One of communication. What allows communication? A telephone...” Newell & Simon " Human Problem Solving" 1972.

  9. How to Search for a Plan? • Modern Approach: Search space of plans, not states • Nodes can be partial bits of plans • Search what action to add • Backtrack if stuck • Least commitment • Leave choices to be worked out later if possible • Variable values • e.g. shop: buy(milk,X) • Partial Ordering • e.g. socks example • What is a plan? • Actions you will take • Fix variable values in a step • Ordering among actions • Causal links go(X) go(Y) X= food_shop Y= hardware_shop go(X) before go(Y) go(X) causes buy(milk,X)

  10. Start LeftSock RightSock LeftShoe RightShoe Finish

  11. How to Search for a Plan? go(X) go(Y) Y= hardware_shop go(X) causes buy(milk,X) X= food_shop go(X) go(Y) Y= hardware_shop go(X) causes buy(milk,X) X= food_shop go(X) before go(Y)

  12. How to Search for a Plan? INITIAL STATE: (NOT have(milk)) (NOT have (light_bulb)) my_location(home) • Black arrow indicates • Causal Link • (this implies • Causal link protectedand • Ordering in this way too) my_location(food_shop) buy(milk) GOAL: have(milk) have (light_bulb) my_location(home)

  13. How to Search for a Plan? INITIAL STATE: (NOT have(milk)) (NOT have (light_bulb)) my_location(home) my_location(home) my_location(home) clash go(home,hardware_shop) go(home,food_shop) my_location(hardware_shop) my_location(food_shop) buy(milk) buy(bulb) GOAL: have(milk) have (light_bulb) my_location(home)

  14. How to Search for a Plan? INITIAL STATE: (NOT have(milk)) (NOT have (light_bulb)) my_location(home) Try a different way to achieve my_location(hardware_shop) my_location(food_shop) my_location(home) go(food_shop,hardware_shop) go(home,food_shop) my_location(hardware_shop) my_location(food_shop) buy(milk) buy(bulb) GOAL: have(milk) have (light_bulb) my_location(home)

  15. How to Search for a Plan? INITIAL STATE: (NOT have(milk)) (NOT have (light_bulb)) my_location(home) my_location(food_shop) my_location(home) go(food_shop,hardware_shop) go(home,food_shop) Clash! my_location(hardware_shop) my_location(food_shop) buy(milk) buy(bulb) GOAL: have(milk) have (light_bulb) my_location(home)

  16. How to Search for a Plan? INITIAL STATE: (NOT have(milk)) (NOT have (light_bulb)) my_location(home) my_location(food_shop) my_location(home) go(food_shop,hardware_shop) go(home,food_shop) my_location(hardware_shop) my_location(food_shop) Red arrow indicates Ordering buy(milk) buy(bulb) GOAL: have(milk) have (light_bulb) my_location(home)

  17. How to Search for a Plan? INITIAL STATE: (NOT have(milk)) (NOT have (light_bulb)) my_location(home) my_location(food_shop) my_location(home) go(food_shop,hardware_shop) go(home,food_shop) my_location(hardware_shop) my_location(food_shop) buy(milk) buy(bulb) go(hardware_shop,home) GOAL: have(milk) have (light_bulb) my_location(home)

  18. Industrial Planners • Applications • Assembly, Integration, Verification of spacecraft (European Space Agency) • Space missions • Job Shop scheduling (Hitachi) • Other issues • Hierarchical • Top level: prepare booster, capsule, cargo, launch • Low level: insert nuts, fasten bolts • Conditional effects • Depends on state • Time • e.g. window when machine is available • Resources • Budget • Number of Workers • Number of machines / robots • Changing/uncertain world • Conditional planning • Action/execution monitoring

  19. Planning – Recap… • Problem solving was already a type of planning • Why not use it for general planning? • Other way: What about general planning for problem solving? • Solution: • Represent states, actions with logic sentences • Allow planner to add actions in any order • Divide and conquer • Search… • Forwards, Backwards, Heuristic? • Search space of plans, not states • What is a plan? • Actions you will take • Fix variable values in a step • Ordering among actions • Causal links • Least commitment • Variable values • Partial Ordering • Real world planning: • Hierarchical, Conditional effects, Time, Resources, Changing/uncertain world

More Related