april 3, 2006ai: chapter 11: planning1 artificial intelligence chapter 11: planning

53
April 3, 2006 AI: Chapter 11: Planning 1 Artificial Intelligence Chapter 11: Planning

Upload: gerald-malone

Post on 18-Jan-2018

226 views

Category:

Documents


0 download

DESCRIPTION

April 3, 2006AI: Chapter 11: Planning3 Introduction Planning is the task of coming up with a sequence of actions that will achieve the goal Classical planning environments –Fully observable, deterministic, finite, static (change only happens when the agent acts), and discrete (in time, action, objects)

TRANSCRIPT

Page 1: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 1

Artificial IntelligenceChapter 11: Planning

Page 2: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 2

Contents• Search vs. Planning• The Language of Planning Problems• STRIPS Operators• Partial Order Planning• CLIPS

Page 3: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 3

Introduction• Planning is the task of coming up with

a sequence of actions that will achieve the goal

• Classical planning environments– Fully observable, deterministic, finite,

static (change only happens when the agent acts), and discrete (in time, action, objects)

Page 4: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 4

Introduction• A plan is complete iff every

precondition is achieved

• A precondition is achieved iff it is the effect if an earlier step and no possibly intervening step undoes it

Page 5: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 5

Search vs. Planning• Consider a Internet Buying Agent whose

task it is to buy our text book (search based)– ISBN# 0137903952– Searched based agent

• One buying action for each ISBN number

– Planning based agent• Work backwards• Goal is Have(0137903952)• Have(x) results from Buy(x)• Therefore Buy(0137903952)

Page 6: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 6

Search vs. Planning• If our planning agent could use a

conjunction of subgoals– Then it could use a single domain-

independent heuristic• The number of unsatisfied conjuncts

– Have(A) Have(B) Have(C) Have(D)– A state containing Have(A) Have(B)

would have a cost 2

Page 7: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 7

Search vs. Planning• Another example:

– Consider the task of getting milk, bananas, and a cordless drill• Really want to go to supermarket and then

go to the hardware store• But we could get sidetracked!

– By irrelevant actions

Page 8: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 8

Search vs. Planning

Page 9: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 9

Search vs. Planning• Planning Systems do the following:

– Open up action and goal representation to allow selection

– Divide-and-conquer by sub-goaling– Relax requirement for sequential

construction of solutions

Page 10: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 10

The Language of Planning Problems

• Representation of states– Decompose the world into logical conditions

and represent a state as a conjunction of positive literals

– Must be ground and function-free

– Examples:• Poor Unknown• At( Plane1, CLE ) At( Plane2, LAS )

• At(x,y) or At( Father(Fred), CLE) (not allowed)

Page 11: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 11

The Language of Planning Problems

• Representation of goals– A partially specified state– Represented as a conjunction of ground

literals– Examples

• At( Plane1, LAS ) • Rich Famous

– State s satisfies goal g if s contains all the atoms in g (and possibly others)• Rich Famous Miserable satisfies Rich

Famous

Page 12: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 12

The Language of Planning Problems

• Representation of actions– Specified in terms of the preconditions that

must hold before it can be executed and the effects that ensue when it is executed

– Action( Fly( p, from, to ))• Precond: At(p, from) Plane(p) Airport(from)

Airport(to)• Effect: ¬ At(p, from) At(p, to)

– This is also known as an action schema

Page 13: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 13

Search vs. Planning Again• Search

– States: program data structures– Actions: program code– Goal: program code– Plan: sequence from S0

• Planning– States: logical sentences– Actions: preconditions and outcomes– Goal: logical sentences (conjunction)– Plan: constraints on actions

Page 14: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 14

Example• Suppose our current state is:

– At(P1, CLE) At(P2, LAS) Plane(P1) Plane(P2) Airport(CLE) Airport(LAS)

• This state satisfies the precondition– At(p, from) Plane(p) Airport(from) Airport(to)

• Using the substitution– {p/P1, from/CLE, to/LAS}

• The following concrete action is applicable– Fly( P1, CLE, LAS)

Page 15: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 15

STRIPS• STanford Research Institute Problem

Solver• A restricted language for planning

that describes actions and descriptions of objects in a system

• Example– Action: Buy(x)– Precondition: At(p), Sells(p, x)– Effect: Have(x)

Page 16: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 16

STRIPS• This abstracts away many important

details!• Restricted language -> efficient

algorithm– Precondition: conjunction of positive literals– Effect: conjunction of literals

• A complete set of STRIPS operators can be translated into a set of successor-state axioms

Page 17: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 17

STRIPS• Only positive literals in states:

Poor Unknown

• Closed world assumption:Unmentioned literals are false

• Effect P ¬Q:Add P and delete Q

• Only ground literals in goals:Rich Famous

Page 18: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 18

STRIPS• Goals are conjunctions:

Rich Famous

• Effects are conjunctions:

• No support for equality

• No support for types

Page 19: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 19

ADL• Positive and negative literals in states:

¬ Rich ¬ Famous

• Open world assumption:Unmentioned literals are unknown

• Effect P ¬Q:Add P and ¬ Q and delete ¬ P and Q

• Quantified variables in goals:x At(P1, x) At(P2, x) is the goal of having P1 and P2 in the

same place

Page 20: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 20

ADL• Goals allow conjunction and disjunction:

¬ Poor (Famous Smart)

• Conditional Effects are allowed:when P: E means E is an effect only if P is satisfied

• Equality predicate built in:(x = y)

• Variables can have types:(p : Plane)

Page 21: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 21

Page 22: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 22

Example: Air Cargo Transport

• Init(At(C1, CLE) At(C2, LAS) At(P1, CLE) At(P2, LAS) Cargo(C1) Cargo(C2) Plane(P1) Plane(P2) Airport(CLE) Airport(LAS))

• Goal( At(C1, LAS) At(C2, CLE))

Page 23: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 23

Example: Air Cargo Transport

• Action( Load(c, p, a),Precond: At(c, a) At(p, a) Cargo(c) Plane(p) Airport(a)Effect: ¬ At(c, a) In(c, p))

• Action( Unload(c, p, a),Precond: In(c, p) At( p, a) Cargo(c) Plane(p) Airport(a)Effect: At(c, a) ¬ In(c, p))

• Action( Fly( p, from, to),Precond: At(p, from) Plane(p) Airport(from) Airport(to)Effect: ¬ At(p, from) At(p, to))

Page 24: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 24

Example: Air Cargo Transport

[ Load(C1, P1, CLE), Fly(P1, CLE, LAS), Unload( C1, P1, LAS),

Load(C2, P2, LAS), Fly(P2, LAS, CLE), Unload( C2, P2, CLE)]

• Is it possible for a plane to fly to and from the same airport?

Page 25: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 25

Example: The Spare Tire Problem

• Init( At( Flat, Axle) At( Spare, Trunk))

• Goal( At(Spare, Axle))

Page 26: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 26

Example: The Spare Tire Problem

• Action( Remove( Spare, Trunk ),Precond: At( Spare, Trunk )Effect: ¬ At( Spare, Trunk) At( Spare, Ground))

• Action( Remove( Flat, Axle ),Precond: At(Flat, Axle )Effect: ¬ At(Flat, Axle) At(Flat, Ground))

• Action( PutOn( Spare, Axle ),Precond: At( Spare, Ground ) ¬ At (Flat, Axle )Effect: ¬ At( Spare, Ground ) At( Spare, Axle ))

• Action( LeaveOvernight,Precond:Effect: ¬ At( Spare, Ground ) ¬ At(Spare, Axle) ¬ At(Spare, Trunk) ¬

At(Flat, Ground) ¬ At(Flat, Axle)

Page 27: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 27

Example: The Blocks World• Init( On(A, Table) On(B, Table)

On(C, Table) Block(A) Block(B) Block(C) Clear(A) Clear(B) Clear(C))

• Goal( On(A, B) On(B, C))

Page 28: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 28

Example: The Blocks World• Action( Move( b, x, y ),

Precond: On(b,x) Clear(b) Clear(y) Block(b) (b ≠ x) (b≠y) (x ≠ y)

Effect: On(b, y) Clear(x) ¬ On(b,x) ¬ Clear(y))

• Action( MoveToTable(b, x ),Precond: On(b, x) Clear(b) Block(b) (b ≠ x)Effect: On(b, Table) Clear(x) ¬ On(b, x))

Page 29: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 29

Example: The Blocks World• A plan for building a three block

tower

• [Move(B, Table, C), Move(A, Table, B)]

Page 30: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 30

Page 31: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 31

Partially Ordered Plans• Partially Ordered Plan

– A partially ordered collection of steps•Start step has the initial state description

and its effect•Finish step has the goal description as its

precondition•Causal links from outcome of one step to

precondition of another step•Temporal ordering between pairs of steps

Page 32: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 32

Partial Ordered Plans• An open condition is a precondition

of a step not yet causally linked

• A plan is complete iff every precondition is achieved

• A precondition is achieved iff it is the effect if an earlier step and no possibly intervening step undoes it

Page 33: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

Partial Order Planning (POP)• State-space search

– Yields totally ordered plans (linear plans)• POP

– Works on subproblems independently, then combines subplans

– Example• Goal(RightShoeOn LeftShoeOn)• Init()• Action(RightShoe, PRECOND: RightSockOn, EFFECT:

RightShoeOn)• Action(RightSock, EFFECT: RightSockOn)• Action(LeftShoe, PRECOND: LeftSockOn, EFFECT: LeftShoeOn)• Action(LeftSock, EFFECT: LeftSockOn)

33

Page 34: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

POP Example & its linearization

34

Page 35: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 35

Partially Ordered PlansStart

Finish

Right Sock

Right Shoe

Left Sock

Left Shoe

Page 36: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

Components of a Plan1. A set of actions2. A set of ordering constraints

– A B reads “A before B” but not necessarily immediately before B

– Alert: caution to cycles A B and B A3. A set of causal links (protection intervals) between

actions– A B reads “A achieves p for B” and p must remain true

from the time A is applied to the time B is applied– Example “RightSock RightShoe

4. A set of open preconditions– Planners work to reduce the set of open preconditions to the

empty set w/o introducing contradictions

36

p

RightSockOn

Page 37: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

Consistent Plan (POP)• Consistent plan is a plan that has

– No cycle in the ordering constraints– No conflicts with the causal links

• Solution– Is a consistent plan with no open preconditions

• To solve a conflict between a causal link A B and an action C (that clobbers, threatens the causal link), we force C to occur outside the “protection interval” by adding– the constraint C A (demoting C) or – the constraint B C (promoting C)

37

p

Page 38: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

Setting up the PoP• Add dummy states

– Start• Has no preconditions• Its effects are the literals of the initial state

– Finish• Its preconditions are the literals of the goal state• Has no effects

• Initial Plan:– Actions: {Start, Finish}– Ordering constraints: {Start Finish}– Causal links: {}– Open Preconditions: {LeftShoeOn,RightShoeOn}

38

Start

Finish

Start

Finish

LeftShoeOn, RightShoeOn

Literal1, Literal2, …

Literala, Literalb, …

Page 39: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

POP as a Search Problem• The successor function arbitrarily picks one open

precondition p on an action B• For every possible consistent action A that achieves p

– It generates a successor plan adding the causal link A B and the ordering constraint A B

– If A was not in the plan, it adds Start A and A Finish– It resolves all conflicts between

• the new causal link and all existing actions • between A and all existing causal links

– Then it adds the successor states for combination of resolved conflicts

• It repeats until no open precondition exists

39

p

Page 40: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 40

Partially Ordered Plans

Page 41: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 41

Partially Ordered Plans

Page 42: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 42

Partially Ordered Plans

Page 43: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 43

POP Algorithm

Page 44: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 44

POP Algorithm

Page 45: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 45

Clobbering• A clobberer is a

potentially intervening step that destroys the condition achieved by a causal link– Example Go(Home)

clobbers At(Supermarket)

• Demotion– Put before

Go(Supermarket)• Promotion

– Put after Buy(Milk)

Page 46: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 46

Example: Blocks World

Page 47: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 47

Example: Blocks World

Page 48: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 48

Example: Blocks World

Page 49: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 49

Example: Blocks World

Page 50: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

April 3, 2006 AI: Chapter 11: Planning 50

Example: Blocks World

Page 51: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

• See problem description in Fig 11.7 page 391

• Only one open precondition• Only 1 applicable action

Example of POP: Flat tire problem

51

Start

Finish

At(Spare,Trunk), At(Flat,Axle)

At(Spare,Axle)

PutOn(Spare,Axle)

At(Spare,Ground), At(Flat,Axle)

• Pick up At(Spare,Ground)• Choose only applicable action

Remove(Spare,Trunk)

Page 52: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

52

• Pick up At(Flat,Axle)• There are 2 applicable actions: LeaveOvernight and

Remove(Flat,Axle)• Choose LeaveOvernight

Add causal link between Remove(Spare,Trunk) and PutOn(Spare,Axle)

• LeaveOvernight has effect At(Spare,Ground), which conflicts with the causal link

• We remove the conflict by forcing LeaveOvernight to occur before Remove(Spare,Trunk)• Conflicts with effects of Remove(Spare,Trunk)

• The only way to resolve the conflict is to undo LeaveOvernightuse the action Remove(Flat,Axle)

Page 53: April 3, 2006AI: Chapter 11: Planning1 Artificial Intelligence Chapter 11: Planning

53

• This time, we choose Remove(Flat,Axle)• Pick up At(Spare,Trunk) and choose Start to achieve it• Pick up At(Flat,Axle) and choose Start to achieve it.• We now have a complete consistent partially ordered plan