Planning - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

Planning

Description:

The situation calculus is a general system for allowing you to reason ... However, it has some flaws that took a ... The Grandad of planning representations ... – PowerPoint PPT presentation

Number of Views:23
Avg rating:3.0/5.0
Slides: 19
Provided by: jlw3
Category:
Tags: grandad | planning

less

Transcript and Presenter's Notes

Title: Planning


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 dont 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
    isnt said to change as the result of an action,
    doesnt change
  • It is this assumption (sometimes called the
    STRIPS assumption) that avoids the
    representational frame problem

6
STRIPS operators
Action(Move(b,x,y))- Preconditions On(b,x)
Clear(b) Clear(y) Effects On(b,y) Clear(x)
On(b,x) Clear(y)
  • All effects are modelled, anything that isnt in
    the effects list stays the same
  • The effect PQ adds P to the world description
    and removes Q
  • Variables in the operator (e.g. x) must be bound
    (unified) with entities in the description 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.

7
STRIPS operators
Action(Move(b,x,y))- Preconditions On(b,x)
Clear(b) Clear(y) Effects On(b,y) Clear(x)
On(b,x) Clear(y)
  • STRIPS doesnt 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

8
The STRIPS state and goal descriptions
State
Goal
On(A,Table) On(B,Table) On(C,A) Clear(C)
Clear(B)
On(A,B) On(B,C)
  • In the state description anything that isnt
    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

9
Application of an action
State
State
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) On(C,A) Clear(C)
Clear(B)
On(A,Table) On(B,Table) Clear(C)
On(A,Table) On(B,Table) On(C,B) Clear(C)
Clear(A)
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)
  • Apply Move(C,A,B)

10
Forward Chaining Search
Move(C,A,Table)
Move(C,A,B)
11
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
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
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
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
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
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 doesnt interleave the solutions.
  • Non-interleaved planners cant 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).
Write a Comment
User Comments (0)
About PowerShow.com