Planning

1 / 32

# Planning - PowerPoint PPT Presentation

Planning. Thanks: Professor Dan Weld, University of Washington. Chapters 11 and 12. Planning. Input Description of initial state of world (in some KR) Description of goal (in some KR) Description of available actions (in some KR) Output Sequence of actions

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'Planning' - nam

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### Planning

Thanks: Professor Dan Weld, University of Washington

Chapters 11 and 12

Planning
• Input
• Description of initial state of world (in some KR)
• Description of goal (in some KR)
• Description of available actions (in some KR)
• Output
• Sequence of actions
• Or, a partial order of actions
Input Representation
• Description of initial state of world
• Set of propositions:
• ((block a) (block b) (block c) (on-table a) (on-table b) (clear a) (clear b) (clear c) (arm-empty))
• Description of goal (i.e. set of desired worlds)
• Logical conjunction
• Any world that satisfies the conjunction is a goal
• (:and (on a b) (on b c)))
• Description of available actions
How Represent Actions?
• Simplifying assumptions
• Atomic time
• Agent is omniscient (no sensing necessary).
• Agent is sole cause of change
• Actions have deterministic effects
• STRIPS representation
• World = set of true propositions
• Actions:
• Precondition: (conjunction of literals)
• Effects (conjunction of literals)

a

north11

north12

a

a

W0

W1

W2

STRIPS Actions
• Action = a function from world-state to world-state
• Precondition says when function defined
• Effects say how to change set of propositions

north11

a

a

W1

W0

north11

precond: (and (agent-at 1 1)

(agent-facing north))

effect: (and (agent-at 1 2)

(not (agent-at 1 1)))

Action Schemata
• Instead of defining: pickup-A and pickup-B and …
• Variables: ?x. For example, ?ob1
• Define a schema:

(:operatorpick-up

:parameters ((block ?ob1))

:precondition (and (clear ?ob1) (on-table ?ob1) (arm-empty))

:effect (and (not (on-table ?ob1))

(not (clear ?ob1))

(not (arm-empty))

(holding ?ob1)))

• Positive/Negative conditions
• Closed world assumption
• Negated Effects
• Quantified Effects
• Goals as conjunctions and disjunctions
• Conditional Effects (when …)
• Equality
• Predicate Typing
Examples
• Air Cargo Domain
• Spare Tire Problem
• The blocks world
Planning as Search
• Nodes
• Arcs
• Initial State
• Goal State

World states

Actions

The state satisfying the complete description of the initial conds

Any state satisfying the goal propositions

A

C

B

C

B

A

Forward-Chaining World-Space Search

Initial

State

Goal

State

D

A

D

C

B

A

E

D

C

E

B

D

C

B

A

E

A

C

B

E

Backward-Chaining World-Space Search
• Problem: Many possible goal states are equally acceptable.
• From which one does one search?

Initial State is completely defined

* * *

Backward Planning
• Try out http://www.cs.ubc.ca/labs/lci/CIspace/Version4/planning/ at UBC which shows goal-directed planning
• Shows blocks world planning
• Idea: find a first subgoal
• Achieve it by selecting an action
• Regress to discover new subgoals from the action’s preconditions
• Continue
Planning as Search 2
• Nodes
• Arcs
• Initial State
• Goal State

Partially specified plans

Adding + deleting actions or constraints (e.g. <) to plan

The empty plan

A plan which when simulated achieves the goal

pick-from-table(C)

put-on(C,B)

pick-from-table(C)

pick-from-table(B)

Plan-Space Search and Partial Order Planning
• How represent plans?
• How test if plan is a solution?
Terminologies
• Partial Ordering
• Linearization
• Ordering constraints
• Achieves
• Conflicts
• Open Preconditions
• Consistent Plans
Planning as Search 3
• Phase 1 - Graph Expansion
• Necessary (insufficient) conditions for plan existence
• Local consistency of plan-as-CSP
• Phase 2 - Solution Extraction
• Variables
• action execution at a time point
• Constraints
• goals, subgoals achieved
• no side-effects between actions
Planning Graph

Proposition

Init State

Action

Time 1

Proposition

Time 1

Action

Time 2

Constructing the planning graph…
• Initial proposition layer
• Just the initial conditions
• Action layer i
• If all of an action’s preconds are in i-1
• Then add action to layer I
• Proposition layer i+1
• For each action at layer i
• Add all its effects at layer i+1
• Also allow propositions at layer i to persist to i+1
Mutual Exclusion (or Mutex)
• Actions A,B exclusive (at a level) if
• A deletes B’s precond, or
• B deletes A’s precond, or
• A & B have inconsistent preconds (so they cannot be executed at the same time)
• Propositions P,Q inconsistent (at a level) if
• all ways to achieve P exclude all ways to achieve Q
Graphplan
• Create level 0 in planning graph
• Loop
• If goal  contents of highest level (nonmutex)
• Then search graph for solution
• If find a solution then return and terminate
• Else Extend graph one more level

A kind of double search: forward direction checks necessary

(but insufficient) conditions for a solution, ...

Backward search verifies...

Searching for a Solution
• For each goal G at time t
• For each action A making G true @t
• If A isn’t mutex with a previously chosen action, select it
• If no actions work, backup to last G (breadth first search)
• Recurse on preconditions of actions selected, t-1

Proposition

Init State

Action

Time 2

Proposition

Time 1

Action

Time 1

Dinner Date

Initial Conditions: (:and (cleanHands) (quiet))

Goal: (:and (noGarbage) (dinner) (present))

Actions:

(:operator carry :precondition

:effect (:and (noGarbage) (:not (cleanHands)))

(:operator dolly :precondition

:effect (:and (noGarbage) (:not (quiet)))

(:operator cook :precondition (cleanHands)

:effect (dinner))

(:operator wrap :precondition (quiet)

:effect (present))

0 Prop 1 Action 2 Prop 3 Action 4 Prop

Planning Graph

cleanH

quiet

noGarb

cleanH

quiet

dinner

present

carry

dolly

cook

wrap

0 Prop 1 Action 2 Prop 3 Action 4 Prop

Are there any exclusions?

cleanH

quiet

noGarb

cleanH

quiet

dinner

present

carry

dolly

cook

wrap

0 Prop 1 Action 2 Prop 3 Action 4 Prop

Do we have a solution?

cleanH

quiet

noGarb

cleanH

quiet

dinner

present

carry

dolly

cook

wrap

0 Prop 1 Action 2 Prop 3 Action 4 Prop

Extend the Planning Graph

cleanH

quiet

noGarb

cleanH

quiet

dinner

present

noGarb

cleanH

quiet

dinner

present

carry

dolly

cook

wrap

carry

dolly

cook

wrap

0 Prop 1 Action 2 Prop 3 Action 4 Prop

One (of 4) possibilities

cleanH

quiet

noGarb

cleanH

quiet

dinner

present

noGarb

cleanH

quiet

dinner

present

carry

dolly

cook

wrap

carry

dolly

cook

wrap

Planning Languages
• PDDL Tutorials
• FF Planner
Robot Architectures (page787)

Function Based Architecture:

Vision Inferencing

Sensors and Actuators

Problem: low level action takes too long to reason about!

Behavior-based Robotics (page 788)
• Rodney Brooks designed behavior-based robotics
• Agent design should not be function based (I.e., should not be based on learning, task planning, sensing, etc).
• Instead, it should be indepdent modules
• Each has own sensing, inferencing, and acting
• Higher level modules more intelligent, and can access sensors independently, and can modify outputs of lower-level modules

learn

vision

explore

sensors

actuators

wonder

Avoid objects

Robot Insect Video
• Rodney Brooks’ robots in a video