1 / 77

Chapter 15-16 Planning & Planning Methods

Chapter 15-16 Planning & Planning Methods. Planning. Deciding upon a course of action before acting. A plan is a representation of a course of action. A finished plan is a linear or partially ordered sequence of operators. Planning is a problem solving technique.

joella
Télécharger la présentation

Chapter 15-16 Planning & Planning Methods

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. Chapter 15-16 Planning & Planning Methods

  2. Planning • Deciding upon a course of action before acting. • A plan is a representation of a course of action. • A finished plan is a linear or partially ordered sequence of operators. • Planning is a problem solving technique. • Planning is reasoning about future events in order to verify the existence of a reasonable series of actions to take in order to accomplish a goal.

  3. Planning • There are three major benefits of planning: • 1. Reducing search • 2. Resolving goal conflicts • 3. Providing a basis for error recovery.

  4. Nonhierarchical Planning • This is roughly the intuitive idea of planning; • it consists of finding a sequence of operators to achieve each of the goals. • The problem is that the planner does not distinguish between important goals and less critical ones, and so it can waste considerable amounts of time finding solutions to non-critical parts of a plan, only to find it can't solve a critical part. • Examples include STRIPS, HACKER, WARPLAN.

  5. Hierarchical Planning • Planning that use a hierarchy of abstractions of a plan to solve the problem. • The ground plan is the form that lists executable operations; levels above increase in abstractions (and simplicity). • The goal of hierarchical planners is to simplify the search and reasoning process by finding vague solutions at levels where the details are not computationally overwhelming, and then refine them.

  6. Hierarchical Planning (II) • Both non-hierarchical and hierarchical planners generate hierarchical plans, but only hierarchical planners use a hierarchy representation. There are two ways to form hierarchies. • Plan abstraction means using higher-level concepts as operators (e.g., in NOAH, NONLIN, SIPE). Space abstraction (e.g. in ABSTRIPS) forms equivalence classes of states by ignoring less-critical preconditions and subgoals.

  7. Least Commitment Approach • A constructive approach in which no commitment is made unless it is necessary to do so. • Decisions are made only when the planner can determine they will not interfere with past or future decisions. • The goal is to avoid backtracking as much as possible. • This approach is used in nonlinear planners (e.g., NOAH, MOLGEN, SNLP).

  8. Nonlinear Planning • Least commitment with respect to time. • If the resulting plan is not linear, either linearization for a single agent, or execution by multiple agents can be used. • Ordering decisions are only made when necessary. • Partial plans are partial orders on operators, which are left unordered until a conflict detected, at which point constraints are added.

  9. Opportunistic Planning • Real-time planning in which operators are invoked when they are useful in the current state.

  10. AI Planning • Introduction • Logic-based planning • Operator-based planning • Planning Algorithms • Case-based planning • Reactive Approaches • Scheduling vs. Planning • Planning in AI Texts • References & Resources

  11. AI Planning Introduction • Planning = How do I get from here to there? • There have been various formulations that attempt to solve the planning problem:

  12. Several Approaches • Logic-based approaches • Operator-based approaches • Time-based approaches • Case-based approaches • Constraint-based approaches • Distributed Planning • Reactive approaches

  13. Logic-based Planning • Given the following: • \alpha designating an initial state • \Gamma designating a set of actions • \rho designating a goal • \Omega is a database of sentences about the initial state

  14. Logic-based Planning • Also sometimes categorized as change-based planning . This is best introduced by the following figure taken from Genesereth & Nilsson.

  15. Logic-based Planning • The planner will try to generate a plan, \Gamma which, • when executed by the acting module or the executor when the system is in the state i satisfying the initial state description, • will result in the state g satisfying the goal state description.

  16. This can then lead into a presentation/discussion of situation calculus . • Also, a good point to introduce various planning problems:

  17. Frame Problem • After you drive your 4-door car from point A to point Bwhat is its color? how many doors does it have? ...etc.

  18. Qualification Problem • If you turn the ignition key of your car the engine will start... • unless the battery is dead... • or it is out of gas... • or there is a potato blocking the tailpipe......etc.

  19. Ramification Problem • If you drive your car from point A to point B, then as a resultyour car is now at B...so is its engine...its tires......etc.

  20. Operator-based Planning • Actions are represented as operators • This approach, also called, the STRIPS approach , utilizes various operator schema and plan representations . • The frame problem is solved by using the STRIPS assumption. • The major points to be presented in this context are:

  21. Design of the operator schema Add-delete lists, procedural vs declarative representations (NONLIN vs NOAH), etc. • Design of plan representations Linear plans, non-linear plans, hierarchical (abstract) plans, partial-order plans, conditional plans, etc. • Planning Algorithms Planning as search, world-space vs. plan-space, partial-order planning, total-order planning, progression, goal-regression, etc. The computational complexity of planning. • Plan Critiquing Plan reformulation, repair, total-ordering, etc.

  22. Planning Algorithms • Introduce planning as search . There are two approaches: • 1. Searching a World Space • 2. Searching a Plan Space

  23. Searching a World Space • Each node in the graph denoted a state of the world. • Arcs in the graph correspond to the execution of a specific action. • The planning problem is to find a path from the initial state to the goal state. • There are two algorithms:

  24. Algorithms 1 - Progression • An algorithm that searches for the goal state by searching through the states generated by actions that can be performed in the given state, starting from the initial state.

  25. Algorithms 2 - Regression • An algorithm that searches backward from the goal state by finding actions whose effects satisfy one or more of the posted goals, and posting the chosen action's preconditions as goals ( goal regression).

  26. Both the algorithms are sound • (if a plan is returned, will it work?) and complete • (if a plan exists, does the algorithm guarantees that it will find it?). • In most situations regression is a better strategy.

  27. Second Approach • Searching a Plan Space • Each node in the graph represents partial plans. • Arcs denote plan refinement operations. One can search for a plan with a totally-ordered sequence of actions (total order planning), • or a plan with a partially ordered set of actions (partial order planning (POP) • or least commitment planning).

  28. Partial Order Planning (POP): • A partial order plan has three components: • 1. A set of actions: • For example, {eat-breakfast, take-shower, wake-up, go-to-work}.

  29. 2. A set of ordering constraints • For example, {wake-up before eat-breakfast, wake-up before take-shower, wake-up before go-to-work, take-shower before go-to-work}

  30. 3. A set of causal links: • For example, wake-up ---awake---> eat-breakfast is a link from the action, wake-up to the action eat-breakfast. • When the action wake-up is added to the plan, the above causal link is recorded, along with the ordering constraint [wake-up before eat-breakfast], because wake-up's effect that the individual is awake is a precondition of eat-breakfast. • Causal links help detect inconsistencies whenever a partial plan is refined.

  31. Case-based Planning • Given a new problem, a goal, and a description of an initial state. • Look into the library of cases to recall a similar problem, with similar initial and goal states. • Modify the retrieved solution for the new problem. • The key is to find good similarity metrics.

  32. Reactive Approaches • Planning & ExecutionPlanners think , executors do . • Predictability (thinking) vs. Reactivity (doing) • on-line vs. off-line planningClassical planning is done off-line. The generated plan is then fed to the on-line execution module. • Closed vs. open-loopsReaction rules encode sense-act cycles.

  33. Reactive Approaches – cont.. • Triangle Tables • Universal Plans • Situated Automata • Action Nets • Reactive Action Packages • Task Control Architectures

  34. Scheduling vs. Planning • Planning is deciding what to do. • Scheduling is deciding when to do it.

  35. Chapter 16 Contents (1) • STRIPS • STRIPS Implementation • Partial Order Planning • The Principle of Least Commitment • Propositional Planning • SAT Planning

  36. Chapter 16 Contents (2) • Planning Graphs • GraphPlan • ADL and PDDL • Probabilistic Planning • Dynamic World Planning • Case-Based Planning • Scheduling

  37. STRIPS • Fikes and Nilsson, 1971 Devised as an improvement upon situation calculus and Green's formalism. STRIPS represents the world as a set of formulae in first-order logic. • Each state in the search space consists of a world model and set of goals to be achieved. • A resolution-based theorem prover used means-end analysis to search; • the theorem prover was also used to verify operator preconditions and establishing the validity of the goal formula. • A separate system, PLANEX, supervised execution.

  38. STRIPS (1) • Stanford Research Institute Problem Solver. • An operator based planning system. • STRIPS uses wffs in FOPC to describe the world. • For example: • STRIPS was designed to enable a planner to devise plans for a robot which is to solve problems in the blocks world.

  39. Interpretation of the Formula • If an object o, is in location x, where x is not the same location as y, then object o cannot be in location y. NOT Operator

  40. STRIPS (2) • STRIPS defines operators as in the following rule schemata: (Push(o, x, y) operator) Precondition: AT(r, x) Λ AT(o, x) Delete: AT(r, x) AT(o, x) Add: AT(r, y) AT(o, y) • The preconditions specify what must be true for the operator to be applied. • The delete and add lists specify the changes that will take place after the operator is applied.

  41. Interpretation of the Push(o, x, y) • To push object o from position x to position y, the robot and the object must both start out in position x. • As a result of this action, neither the robot nor the object will still be in position x; • Both will be in position y.

  42. Operator Schema • The previous Push(o, x, y) operator defined an operator schema. • That also means that it defined a type of action, not an actual action. • A real action is an instance of the schema, such as: • Push(o1, (2,3), (1, 4)) is an instance of the schema Push(.. ) operator schema.

  43. Goal State of STRIPS • The final element of STRIPS is the goal state, • Which is described by a wff, or a set of wffs. • Once the planner finds a way to reach the goal state, it has solved its problem and is ready to execute the plan.

  44. STRIPS Implementation • STRIPS uses resolution and means-ends analysis to devise plans: • The goal is negated, and the rule schemata are instantiated with objects from the real world. • If the resolution fails, then the goal has been achieved. • Otherwise, a plan must be devised.

  45. Example of STRIPS • The initial state of the world is shown bellow: • Our goal is to place block C on top of block A. B A C

  46. Example of STRIPS • We will use two predicates to describe the world: • On(x, y) – means that block x is on top og block y. • Clear(x) – means that block x has no block on top of it. • And we use t to represent the table. • Therefore, On(a, t) – means that block a is on top of the table

  47. Therefore, our goal is: On(C, A) • And, our start tate is: • On(A, t) • On(B, t) • On(C, t) • Clear(B) • Clear(A) • Clear(t) • In which Clear(t) is always true because we assume that the table is large enough to hold at least three blocks at once.

  48. One available operator schema MoveOnto(x, y) • It simply means “move object x from wherever it is, and place it on top of object y.” • The operator MoveOnto(x, y) then is defined as: • Precondition: On(x, z)ΛClear(x) ΛClear(y) • Delete: On(x, y) • Clear(y) • Add: On(x, y) • Clear(y)

More Related