1 / 18

Planning

Planning. Jeremy Wyatt. Plan. Situation calculus The frame problem The STRIPS representation for planning State space planning: Forward chaining search (progression planning) Backward chaining search (regression planning) Reading: Russell and Norvig pp.375-387. Situation Calculus.

selena
Download Presentation

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 Jeremy Wyatt

  2. Plan • Situation calculus • The frame problem • The STRIPS representation for planning • State space planning: • Forward chaining search (progression planning) • Backward chaining search (regression planning) • Reading: Russell and Norvig pp.375-387

  3. Situation Calculus • The situation calculus is a general system for allowing you to reason automatically about the effects of actions, and to search for plans that achieve goals. • However, it has some flaws that took a long time to iron out… • The situation calculus is composed of • Situations: S0 is the initial situation Result(a,S0) is the situation that results from applying action a in situation S0 • Fluents: functions and predicates that may be true of some situation e.g. ¬Holding(G1,S0) says that the agent is not holding G1 in situation S0

  4. Situation Calculus • Actions are described in the situation calculus using two kinds of axioms: • Possibility Axioms: say when you can apply an action • Effect Axioms: that say what happens when you apply them • The essential problem with situation calculus however, is that • Effect Axioms only say what changes, not what stays the same, but reasoning in the situation calculus requires the explicit representation of all the things that don’t change. These are handled by Frame Axioms, and hence this is called the Representational Frame Problem. • Reasoning about all the effects and non-effects of a sequence of actions is thus very inefficient. This is known as the Inferential Frame Problem. • Eventually solutions to both the Frame Problems were found. But in the meantime researchers began to look for representations to support more efficient planning.

  5. The STRIPS representation • The Grandad of planning representations • Avoids the difficulties of more general representations (e.g. situation calculus) for reasoning about action effects and change • Devised for, and used in the Shakey project • The key contribution of the representation of action effects is to assume that anything that isn’t said to change as the result of an action, doesn’t change • It is this assumption (sometimes called the STRIPS assumption) that avoids the representational frame problem

  6. B A C B A C STRIPS operators • All effects are modelled, anything that isn’t in the effects list stays the same • The effect P^¬Q adds P to the world description and removes Q • Variables in the operator (e.g. x) must be bound (unified) with entities in thedescription of the world to apply the operator, so Move(C,A,B) requires {b/C,x/A,y/B}, i.e. b is substituted by C etc. Action(Move(b,x,y))- Preconditions: On(b,x) ^ Clear(b) ^ Clear(y) Effects: On(b,y) ^ Clear(x) ^ ¬On(b,x) ^ ¬Clear(y)

  7. B A C B A C STRIPS operators • STRIPS doesn’t allow us to use full first order logic • So we have to create a Clear(b) predicate, rather than use to indicate that there is no block x on block b • Also we actions like Move(C,A,A) create inconsistent effects • And we may need additional special operators e.g. Move_to_table(b,x,Table) whenever the effects are slightly different Action(Move(b,x,y))- Preconditions: On(b,x) ^ Clear(b) ^ Clear(y) Effects: On(b,y) ^ Clear(x) ^ ¬On(b,x) ^ ¬Clear(y)

  8. B A C B A C The STRIPS state and goal descriptions State Goal • In the state description anything that isn’t stated is assumed to be false (Closed World Assumption) • So only +ve literals are allowed in the state description • Only ground literals are allowed in the goals. So not On(Next_Alpha(x),C) or On(x,C) • The goal description specifies a set of states On(A,Table) On(B,Table) On(C,A) Clear(C) Clear(B) On(A,B) On(B,C)

  9. C A B A C B Application of an action State State • Apply Move(C,A,B) On(A,Table) On(B,Table) On(C,A) Clear(C) Clear(B) On(A,Table) On(B,Table) On(C,B) Clear(C) Clear(A) On(A,Table) On(B,Table) On(C,A) Clear(C) Clear(B) On(A,Table) On(B,Table) On(C,A) Clear(C) Clear(B) On(A,Table) On(B,Table) Clear(C) Action(Move(C,x,y))- Preconditions: On(C,x) ^ Clear(C) ^ Clear(y) Effects: On(C,y) ^ Clear(x) ^ ¬On(C,x) ^ ¬Clear(y) Action(Move(C,A,B))- Preconditions: On(C,A) ^ Clear(C) ^ Clear(B) Effects: On(C,B) ^ Clear(A) ^ ¬On(C,A) ^ ¬Clear(B) Action(Move(b,x,y))- Preconditions: On(b,x) ^ Clear(b) ^ Clear(y) Effects: On(b,y) ^ Clear(x) ^ ¬On(b,x) ^ ¬Clear(y) Action(Move(C,A,y))- Preconditions: On(C,A) ^ Clear(C) ^ Clear(y) Effects: On(C,y) ^ Clear(A) ^ ¬On(C,A) ^ ¬Clear(y) Action(Move(C,A,B))- Preconditions: On(C,A) ^ Clear(C) ^ Clear(B) Effects: On(C,B) ^ Clear(A) ^ ¬On(C,A) ^ ¬Clear(B)

  10. On(A,Table) On(B,Table) On(C,A) Clear(C) Clear(B) On(A,Table) On(B,Table) On(C,Table) Clear(A) Clear(C) Clear(B) On(A,Table) On(B,Table) On(C,B) Clear(C) Clear(A) Forward Chaining Search Move(C,A,Table) Move(C,A,B)

  11. B A C F E D Forward Chaining Search • Because of the restrictions on STRIPS representation there can only be a finite number of states • You need a graph search algorithm (e.g. A*) • You need a decent heuristic to control search behaviour • Forward search is inefficient in the number of irrelevant actions there are.

  12. C B A A C B On(B,C) On(A,B) Backward Chaining Search Initial State: On(A,Table) On(B,Table) On(C,A) Clear(C) Clear(B) Action(Move(b,x,y))- Preconditions: On(b,x) ^ Clear(b) ^ Clear(y) Effects: On(b,y) ^ Clear(x) ^ ¬On(b,x) ^ ¬Clear(y) {x/Table} Move(A,x,B)

  13. C B A B A C A C B On(B,C) On(A,B) On(A,Table) Clear(A) Clear(B) On(B,C) Backward Chaining Search Initial State: On(A,Table) On(B,Table) On(C,A) Clear(C) Clear(B) Action(Move(b,x,y))- Preconditions: On(b,x) ^ Clear(b) ^ Clear(y) Effects: On(b,y) ^ Clear(x) ^ ¬On(b,x) ^ ¬Clear(y) {x/Table} Move(A,x,B)

  14. C C B A A B A A C B B C On(B,C) On(A,B) On(A,Table) Clear(A) Clear(B) On(B,C) On(A,Table) Clear(B) On(B,A) Clear(C) Backward Chaining Search Initial State: On(A,Table) On(B,Table) On(C,A) Clear(C) Clear(B) Action(Move(b,x,y))- Preconditions: On(b,x) ^ Clear(b) ^ Clear(y) Effects: On(b,y) ^ Clear(x) ^ ¬On(b,x) ^ ¬Clear(y) {x/Table} Move(A,x,B) Move(b,A,x) {x/C, b/B}

  15. B C B C A B C A A B C B A C A On(A,Table) On(B,Table) Clear(B) Clear(C) Clear(A) On(B,C) On(A,B) On(A,Table) Clear(B) On(B,A) Clear(C) On(A,Table) Clear(A) Clear(B) On(B,C) Backward Chaining Search Initial State: On(A,Table) On(B,Table) On(C,A) Clear(C) Clear(B) Action(Move(b,x,y))- Preconditions: On(b,x) ^ Clear(b) ^ Clear(y) Effects: On(b,y) ^ Clear(x) ^ ¬On(b,x) ^ ¬Clear(y) {x/Table} Move(B,x,C) {x/Table} Move(A,x,B) Move(b,A,x) {x/C, b/B}

  16. Backward Chaining Search • An operator is chosen that achieves one of the unachieved parts of the goal state • Variables in the action are bound to entities in the world • When an operator is applied • Its positive effects are deleted to create the predecessor • Each precondition is added to the list of sub-goals • A sub-goal that is not true in the initial state is then chosen to be achieved

  17. B A C C B A Linear vs non-linear planning • In early planners it was assumed that sub-goals could be solved completely independently • And the plans produced for these sub-goals could then be sequenced • This approach is called Linear Planning (Sacerdoti, 1975), but it is incomplete (not guaranteed to find solutions when they exist) because it doesn’t interleave the solutions. • Non-interleaved planners can’t solve some problems (e.g. the Sussman Anomaly) • Non-linear planners attempt to solve this problem

  18. Conclusion • Planning is an important area of AI. State of the art planners are now beyond human level performance. • Specialist representations of action effects have been used to overcome issues of representational and inferential inefficiency • The STRIPS representation has been influential, succeeded by ADL and the overarching framework of PDDL • State space planning still requires search, either forward or backward chaining • This is the ancient history of planning, later on came partial order planning (1975-1995), satisfiability planners (1992 on), graph planning (1995 on), and then the resurgence of state space planning (1996 on), and also planning under uncertainty (decision theoretic planning) (1997 on).

More Related