planning: heuristics and csp planning jim little ubc cs 322 october 15, 2014 textbook § 8

38
CPSC 322, Lecture 18 Slide 1 Planning: Heuristics and CSP Planning Jim Little UBC CS 322 October 15, 2014 Textbook §8

Upload: forrest-lloyd

Post on 31-Dec-2015

32 views

Category:

Documents


0 download

DESCRIPTION

Planning: Heuristics and CSP Planning Jim Little UBC CS 322 October 15, 2014 Textbook § 8. Lecture Overview. Recap: Planning Representation and Forward algorithm Heuristics CSP Planning. Modules we'll cover in this course: R&Rsys. Stochastic. Deterministic. Environment. Problem. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Planning: Heuristics and CSP Planning  Jim Little UBC CS 322 October  15,  2014 Textbook  § 8

CPSC 322, Lecture 18 Slide 1

Planning: Heuristics and CSP Planning

Jim LittleUBC CS 322

October 15, 2014

Textbook §8

Page 2: Planning: Heuristics and CSP Planning  Jim Little UBC CS 322 October  15,  2014 Textbook  § 8

CPSC 322, Lecture 18 Slide 2

Lecture Overview

• Recap: Planning Representation and Forward algorithm

• Heuristics• CSP Planning

Page 3: Planning: Heuristics and CSP Planning  Jim Little UBC CS 322 October  15,  2014 Textbook  § 8

CPSC 322, Lecture 2 Slide 3

Modules we'll cover in this course: R&Rsys

Environment

Problem

Query

Planning

Deterministic

Stochastic

SearchArc Consistency

Search

Search Value Iteration

Var. Elimination

Constraint Satisfactio

n

Logics

STRIPS

Belief Nets

Vars + Constraint

s

Decision Nets

Markov Processes

Var. Elimination

Static

Sequential

RepresentationReasoningTechnique

SLS

Page 4: Planning: Heuristics and CSP Planning  Jim Little UBC CS 322 October  15,  2014 Textbook  § 8

CPSC 322, Lecture 11 Slide 4

Standard Search vs. Specific R&R systemsConstraint Satisfaction (Problems):

• State: assignments of values to a subset of the variables• Successor function: assign values to a “free” variable• Goal test: set of constraints• Solution: possible world that satisfies the constraints• Heuristic function: none (all solutions at the same distance from start)

Planning : • State?• Successor function?• Goal test?• Solution?• Heuristic function….

Inference• State• Successor function• Goal test• Solution• Heuristic function

Page 5: Planning: Heuristics and CSP Planning  Jim Little UBC CS 322 October  15,  2014 Textbook  § 8

CPSC 322, Lecture 18 Slide 5

Lecture Overview

• Recap: Planning Representation and Forward algorithm

• Heuristics for forward planning• CSP Planning

Page 6: Planning: Heuristics and CSP Planning  Jim Little UBC CS 322 October  15,  2014 Textbook  § 8

CPSC 322, Lecture 18 Slide 6

Heuristics for Forward PlanningHeuristic function: estimate of the distance from a state to the goal. In planning the distance is?

Two simplifications in the representation:• All features are binary: T / F• Goals and preconditions can only be assignments

to T

And a Def. a subgoal is a particular assignment in the goal e.g., if the goal is <A=T, B=T, C=T> then….

number of actions remaining from the current state to the goal.

a subgoal is some subset of the assignments

Page 7: Planning: Heuristics and CSP Planning  Jim Little UBC CS 322 October  15,  2014 Textbook  § 8

CPSC 322, Lecture 18 Slide 7

Heuristics for Forward Planning: Any ideas?

State 1

A=TB=FC=FD=T…

State 2

A=TB=FC=TD=F…

Goal

A=TB=TC=T

Page 8: Planning: Heuristics and CSP Planning  Jim Little UBC CS 322 October  15,  2014 Textbook  § 8

CPSC 322, Lecture 18 Slide 8

Heuristics for Forward Planning (cont’)

What kind of simplifications of the actions would justify our proposal for h?

a)We have removed all …………….

b)We have removed all …………….

c)We assume no action can achieve…………………..

State 1

A=TB=FC=FD=T…

h(s1)=2Goal

A=TB=TC=T

a1

a2

Page 9: Planning: Heuristics and CSP Planning  Jim Little UBC CS 322 October  15,  2014 Textbook  § 8

CPSC 322, Lecture 18 Slide 9

Heuristics for Forward Planning:

empty-delete-list• We only relax the problem according to remove delete lists:i.e., we remove all the effects that make a variable FAction a effects (B=F,

C=T)• But then how do we compute the heuristic?

This is often fast enough to be worthwhile• empty-delete-list heuristics with forward planning is currently considered a very successful strategy

Solve the relaxed problem

Page 10: Planning: Heuristics and CSP Planning  Jim Little UBC CS 322 October  15,  2014 Textbook  § 8

Heuristics for Forward Planning:

• One way : remove all the effects that make a variable = F.

• If we find the path from the initial state to the goal using this relaxed version of the actions:• the length of the solution is an underestimate of the actual

solution length

• Why? In the original problem, one action might undo an already achieved goal

Action a effects (B=F, C=T)

S1

A = T

B = F

C = FGoal

A = T

B = T

C = T

a1 B = T

a

C = TB = F

• Finding a good heuristics is what makes forward planning feasible in practice– Factored representation of states and actions allows for definition of

domain-independent heuristics

Slide 10

Page 11: Planning: Heuristics and CSP Planning  Jim Little UBC CS 322 October  15,  2014 Textbook  § 8

Informed Forward Planning:Final Comment

• You should view (informed) Forward Planning as one of the basic planning techniques

• By itself, it cannot go far, but it can work very well in combination with other techniques, for specific domains

• See, for instance, descriptions of competing planners in the presentation of results for the 2008 planning competition (posted in the class schedule)

Page 12: Planning: Heuristics and CSP Planning  Jim Little UBC CS 322 October  15,  2014 Textbook  § 8

CPSC 322, Lecture 18 Slide 12

Lecture Overview

• Recap: Planning Representation and Forward algorithm

• Heuristics for forward planning• CSP Planning

Page 13: Planning: Heuristics and CSP Planning  Jim Little UBC CS 322 October  15,  2014 Textbook  § 8

CPSC 322, Lecture 18 Slide 13

Planning as a CSP

• An alternative approach to planning is to set up a planning problem as a CSP!

• We simply reformulate a STRIPS model as a set of variables and constraints

• Once this is done we can even express additional aspects of our problem (as additional constraints)

e.g., see Practice Exercise UBC commuting “careAboutEnvironment” constraint

Page 14: Planning: Heuristics and CSP Planning  Jim Little UBC CS 322 October  15,  2014 Textbook  § 8

Slide 14

Planning as a CSP: Variables• We need to “unroll the plan” for a fixed

number of steps: this is called the horizon• To do this with a horizon of k:

• construct a CSP variable for each STRIPS variable at each time step from 0 to k

• construct a boolean CSP variable for each STRIPS action at each time step from 0 to k - 1.

Page 15: Planning: Heuristics and CSP Planning  Jim Little UBC CS 322 October  15,  2014 Textbook  § 8

CPSC 322, Lecture 18 Slide 15

CSP Planning: Robot Example

Variables for actions ….

action (non) occurring at that step

Page 16: Planning: Heuristics and CSP Planning  Jim Little UBC CS 322 October  15,  2014 Textbook  § 8

CPSC 322, Lecture 18 Slide 16

CSP Planning: Initial and Goal Constraints

• initial state constraints constrain the state variables at time 0

• goal constraints constrain the state variables at time k

Page 17: Planning: Heuristics and CSP Planning  Jim Little UBC CS 322 October  15,  2014 Textbook  § 8

CPSC 322, Lecture 18 Slide 17

CSP Planning: Prec. Constraints As usual, we have to express the preconditions and effects of actions:

• precondition constraints• hold between state variables at time t and action

variables at time t• specify when actions may be taken

PUC0

RLoc0 RHC0 PUC0

cs T F

cs F T

cs F F

mr * F

lab * F

off * F

Page 18: Planning: Heuristics and CSP Planning  Jim Little UBC CS 322 October  15,  2014 Textbook  § 8

CSP Planning: Precondition Constraints

precondition constraints• between state variables at time t and action

variables at time t• specify when actions may be taken

E.g. robot can only pick up coffee when Loc=cs (coffee shop) and RHC = false (don’t have coffee already)

RLoc0 RHC0 PUC0

cs T

cs F

cs F

mr *

lab *

off *Need to allow for the option of *not* taking an action even when it is valid

F

F

F

F

F

T

Truth table for this constraint: list allowed combinations of values

Slide 18

Page 19: Planning: Heuristics and CSP Planning  Jim Little UBC CS 322 October  15,  2014 Textbook  § 8

CPSC 322, Lecture 18 Slide 19

CSP Planning: Effect Constraints

• effect constraints• between state variables at time t, action

variables at time t and state variables at time t + 1

• explain how a state variable at time t + 1 is affected by the action(s) taken at time t and by its own value at time t RHCi DelCi PUCi RHCi+1

T T T T

T T F F

T F T T

… … … …

… … … …

Page 20: Planning: Heuristics and CSP Planning  Jim Little UBC CS 322 October  15,  2014 Textbook  § 8

CSP Planning: Effect Constraints

Effect constraints• Between action variables at time t and state variables at

time t+1• Specify the effects of an action• Also depends on state variables at time t (frame rule!)

E.g. let’s consider RHC at time t and t+1Let’s fill in a few rows in this tableRHCt DelCi PUCi RHCt+1

T T T T

T T F F

T F T T

T F F T

F T T T

F T F F

F F T T

F F F F

Does not quite matter what we put here since other constraints enforce that these configurations won’t happen

Slide 20

Page 21: Planning: Heuristics and CSP Planning  Jim Little UBC CS 322 October  15,  2014 Textbook  § 8

CSP Planning: Constraints Contd.

Other constraints we may want are action constraints:

• specify which actions cannot occur simultaneously

• these are sometimes called mutual exclusion (mutex) constraints

DelMi

DelCi

??

Page 22: Planning: Heuristics and CSP Planning  Jim Little UBC CS 322 October  15,  2014 Textbook  § 8

Additional constraints in CSP Planning

Other constraints we may want are action constraints:

• specify which actions cannot occur simultaneously

• these are often called mutual exclusion (mutex) constraints

DelMi

DelCi

E.g. in the Robot domainDelM and DelC can occur in any sequence (or simultaneously)But we can enforce that they do not happen simultaneously

T F

TF

F F

Slide 22

Page 23: Planning: Heuristics and CSP Planning  Jim Little UBC CS 322 October  15,  2014 Textbook  § 8

CPSC 322, Lecture 18 Slide 23

CSP Planning: Constraints Contd.

Other constraints we may want are state constraints

• hold between state variables at the same time step

• they can capture physical constraints of the system (robot cannot hold coffee and mail)

• they can encode maintenance goalsRHCi RHMi

Page 24: Planning: Heuristics and CSP Planning  Jim Little UBC CS 322 October  15,  2014 Textbook  § 8

Handling mutex constraints in Forward Planning

If we don’t want DelM and DelC to occur simultaneously

How would we encode this into STRIPS for forward planning?

DelMi

DelCi

T F

TF

F F

Slide 24

Page 25: Planning: Heuristics and CSP Planning  Jim Little UBC CS 322 October  15,  2014 Textbook  § 8

Additional constraints in CSP Planning

Other constraints we may want are state constraints• hold between variables at the same time step• they can capture physical constraints of the system (e.g.,

robot cannot hold coffee and mail)

RHCi RHMi

T F

F T

F F

Slide 25

Page 26: Planning: Heuristics and CSP Planning  Jim Little UBC CS 322 October  15,  2014 Textbook  § 8

Handling state constraints in Forward Planning

RHCi RHMi

T F

F T

F F

How could we handle these constraints in STRIPS forforward planning?

Slide 26

Page 27: Planning: Heuristics and CSP Planning  Jim Little UBC CS 322 October  15,  2014 Textbook  § 8

CSP Planning: Solving the problem

27

Map STRIPS Representation for horizon 1, 2, 3, …, until solution found Run arc consistency and search!

k = 0Is State0 a goal?If yes, DONE!If no,

Page 28: Planning: Heuristics and CSP Planning  Jim Little UBC CS 322 October  15,  2014 Textbook  § 8

CSP Planning: Solving the problem

28

Map STRIPS Representation for horizon k =1Run arc consistency and search!

k = 1Is State1 a goalIf yes, DONE!If no,

Page 29: Planning: Heuristics and CSP Planning  Jim Little UBC CS 322 October  15,  2014 Textbook  § 8

CSP Planning: Solving the problem

29

Map STRIPS Representation for horizon k = 2Run arc consistency, search!

k = 2: Is State2 a goalIf yes, DONE!If no….continue

Page 30: Planning: Heuristics and CSP Planning  Jim Little UBC CS 322 October  15,  2014 Textbook  § 8

CPSC 322, Lecture 18 Slide 30

CSP Planning: Solving the problem

Map STRIPS Representation for horizon: Run arc consistency and search,

In order to find a plan, we expand our constraint network one layer at the time, until a solution is found

Plan: all actions with assignment T

Page 31: Planning: Heuristics and CSP Planning  Jim Little UBC CS 322 October  15,  2014 Textbook  § 8

Solve planning as CSP: pseudo code

solved = falsehorizon = 0While solved = falsemap STRIPS into CSP with horizonsolve CSP -> solutionif solution thensolved = Telsehorizon = horizon + 1Return solution

CPSC 322, Lecture 18 Slide 31

Page 32: Planning: Heuristics and CSP Planning  Jim Little UBC CS 322 October  15,  2014 Textbook  § 8

Solving Planning as CSP: pseudo code

solved = falsefor horizon h=0,1,2,… map STRIPS into a CSP csp with horizon h solve that csp if solution exists then return solution else horizon = horizon + 1end

Slide 32

Page 33: Planning: Heuristics and CSP Planning  Jim Little UBC CS 322 October  15,  2014 Textbook  § 8

CPSC 322, Lecture 18 Slide 33

State of the art planner: GRAPHPLAN

A similar process is implemented (more efficiently) in the Graphplan planner

Page 34: Planning: Heuristics and CSP Planning  Jim Little UBC CS 322 October  15,  2014 Textbook  § 8

STRIPS to CSP applet

CPSC 322, Lecture 6 Slide 34

Allows you:• to specify a planning problem in STRIPS• to map it into a CSP for a given horizon• the CSP translation is automatically loaded into the CSP applet where it can be solved

Practice exercise using STRIPS to CSP is available on AIspace

Page 35: Planning: Heuristics and CSP Planning  Jim Little UBC CS 322 October  15,  2014 Textbook  § 8

You know the key ideas!

• Ghallab, Nau, and Traverso

Automated Planning: Theory and PracticeWeb site:

http://www.laas.fr/planning

Also has lecture notes

You know

You know a little

Slide 35

Page 36: Planning: Heuristics and CSP Planning  Jim Little UBC CS 322 October  15,  2014 Textbook  § 8

West

North

East

South

62

8Q

QJ65

97

AK53

A9

Some applications of planning• Emergency Evacuation• Robotics• Space Exploration• Manufacturing Analysis• Games (e.g., Bridge)?• Generating Natural language

• Product Recommendations ….

Slide 36

Page 37: Planning: Heuristics and CSP Planning  Jim Little UBC CS 322 October  15,  2014 Textbook  § 8

CPSC 322, Lecture 4 Slide 37

Learning Goals for today’s class

You can:

• Construct and justify a heuristic function for forward planning.

• Translate a planning problem represented in STRIPS into a corresponding CSP problem (and vice versa)

• Solve a planning problem with CPS by expanding the horizon (new one)

Page 38: Planning: Heuristics and CSP Planning  Jim Little UBC CS 322 October  15,  2014 Textbook  § 8

CPSC 322, Lecture 2 Slide 38

What is coming next ?Environme

ntProblem

Inference

Planning

Deterministic

Stochastic

SearchArc Consistency

Search

Search Value Iteration

Var. Elimination

Constraint Satisfactio

n

Logics

STRIPS

Belief Nets

Vars + Constraint

s

Decision Nets

Markov Processes

Var. Elimination

Static

Sequential

RepresentationReasoningTechnique

SLS

Textbook Chpt 5.1- 5.1.1 – 5.2