Top Banner
Planning • Chapter 11 • Yet another popular formulation for AI – Logic-based language – One of the most structured formulations • Can be translate into less structured formulations such as state-space, CSP, SAT, etc.
87

Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Dec 14, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Planning

• Chapter 11• Yet another popular formulation for AI– Logic-based language– One of the most structured formulations• Can be translate into less structured formulations such

as state-space, CSP, SAT, etc.

Page 2: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

What is Planning• Generate sequences of actions to perform tasks and achieve

objectives.– States, actions and goals

Objective: John wants to go to NYCPlan: taxi(John,home,STL)

board(John,plane) fly(plane,STL,JFK)

exit(John,plane) taxi(John,JFK,5th Ave)

• Classical planning environment: fully observable, deterministic, finite, and discrete.

Page 3: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Difficulty of real world problems

• What’s wrong with state-space search, e.g. A*? – Which actions are relevant? Too many irrelevant

actions• Board(Mary,plane), board(Tim,plane), taxi(John, home, six

flags), fly(plane, LAX, SFO), …. – What is a good heuristic functions?

• It is difficult to come up with domain-independent heuristics if only a state-space description is given

– How to decompose the problem?• Most real-world problems are nearly decomposable.• E.g. John, Mary, and Tim want to go to different cities

Page 4: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Planning language

• What is a good language?– Expressive enough to describe a wide variety of

problems.– Restrictive enough to allow efficient algorithms to

operate on it.– Planning algorithm should be able to take advantage

of the logical structure of the problem.

• STRIPS

Page 5: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Example: air cargo transportInit(At(C1, SFO) At(C2,JFK) At(P1,SFO) At(P2,JFK) Cargo(C1) Cargo(C2)

Plane(P1) Plane(P2) Airport(JFK) Airport(SFO))Goal(At(C1,JFK) At(C2,SFO))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))

[Load(C1,P1,SFO), Fly(P1,SFO,JFK),Unload(C1,P1,JFK), Load(C2,P2,JFK), Fly(P2,JFK,SFO), Unload(C2,P2,SFO)]

Page 6: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Example: air cargo transportInit(At(C1, SFO) At(C2,JFK) At(P1,SFO) At(P2,JFK) Cargo(C1) Cargo(C2)

Plane(P1) Plane(P2) Airport(JFK) Airport(SFO))Goal(At(C1,JFK) At(C2,SFO) At(P1,SFO)) 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))

[Load(C1,P1,SFO), Fly(P1,SFO,JFK),Unload(C1,P1,JFK), Load(C2,P2,JFK), Fly(P2,JFK,SFO), Unload(C2,P2,SFO), Fly(P1,JFK,SFO)]

Page 7: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Example: air cargo transportInit(At(C1, SFO) At(C2,JFK) At(P1,SFO) At(P2,JFK) Cargo(C1) Cargo(C2)

Plane(P1) Plane(P2) Airport(JFK) Airport(SFO))Goal(At(C1,JFK) At(C2,SFO) At(P1,SFO)) 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))

[Load(C2,P2,JFK), Fly(P2,JFK,SFO), Unload(C2,P2,SFO), Load(C1,P2,SFO), Fly(P2,SFO,JFK),Unload(C1,P2,JFK) ]

Page 8: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

General STRIPS features

• Representation of states– Represent the state of the world as a conjunction of positive

literals. • Propositional literals: Poor Unknown• First order predicates: At(Plane1, Melbourne) At(Plane2, Sydney)

– Closed world assumption (anything not explicitly claimed true is assumed false)

• Representation of goals– Partially specified state and represented as a conjunction of

positive ground literals• At(John, NYC) At(Mary, LA)

– A goal is satisfied if the state contains all literals in goal

Page 9: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

General STRIPS features

• Representations of actions– Action = PRECOND + EFFECT

Action(Fly(p,from, to),PRECOND: At(p,from) Plane(p) Airport(from) Airport(to)

EFFECT: ¬AT(p,from) At(p,to))(p, from, to) need to be instantiated

e.g. Fly(plane, STL, JFK)– Add-list vs delete-list in Effect

Page 10: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Language semantics?

• How do actions affect states?– An action is applicable in any state that satisfies

the preconditionsSuppose current state:

At(P1,JFK) At(P2,SFO) Plane(P1) Plane(P2) Airport(JFK) Airport(SFO)

Satisfies PRECOD: At(p,from) Plane(p) Airport(from) Airport(to)

Thus the action fly(p1,JFK, SFO) is applicable.

Page 11: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Language semantics?

• The result of executing action a in state s is the state s’ – s’ is same as s except

• Any positive literal P in the effect of a is added to s’• Any negative literal ¬P is removed from s’EFFECT: ¬AT(p,from) At(p,to):At(P1,SFO) At(P2,SFO) Plane(P1) Plane(P2) Airport(JFK) Airport(SFO)

– STRIPS assumption:every literal NOT in the effect remains unchanged

Page 12: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Expressiveness and extensions

• STRIPS is simplified – Important limit: function-free literals

• Allows for propositional representation• Function symbols lead to infinitely many states and actions

• Extension: Action Description language (ADL)Action(Fly(p:Plane, from: Airport, to: Airport),

PRECOND: At(p,from) (from to)EFFECT: ¬At(p,from) At(p,to))

Standardization : Planning domain definition language (PDDL)

Page 13: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Example: air cargo transportInit(At(C1, SFO) At(C2,JFK) At(P1,SFO) At(P2,JFK) Cargo(C1) Cargo(C2)

Plane(P1) Plane(P2) Airport(JFK) Airport(SFO))Goal(At(C1,JFK) At(C2,SFO))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))

[Load(C1,P1,SFO), Fly(P1,SFO,JFK), Load(C2,P2,JFK), Fly(P2,JFK,SFO)]

Page 14: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Example: Spare tire problemInit(At(Flat, Axle) At(Spare,trunk))Goal(At(Spare,Axle))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,Groundp) ¬At(Flat,Axle)EFFECT: At(Spare,Axle) ¬At(Spare,Ground))

Action(LeaveOvernightPRECOND:EFFECT: ¬ At(Spare,Ground) ¬ At(Spare,Axle) ¬ At(Spare,trunk) ¬ At(Flat,Ground) ¬ At(Flat,Axle) )

This example goes beyond STRIPS: negative literal in pre-condition (ADL description)

Page 15: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Example: Blocks world

Predicates: on (B, table), clear(B), on(D,A), on(C,D), on(A, table), clear(C) Goal: on(A,B) and on(B,C)

Page 16: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Example: Blocks worldInit(On(A, Table) On(B,Table) On(C,Table) Clear(A) Clear(B) Clear(C))Goal(On(A,B) On(B,C))Action(Move(b,x,y)

PRECOND: On(b,x) Clear(b) Clear(y)EFFECT: On(b,y) Clear(x) ¬ On(b,x) ¬ Clear(y))

Page 17: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Example: Blocks worldInit(On(A, Table) On(B,Table) On(C,Table) Clear(A) Clear(B) Clear(C))Goal(On(A,B) On(B,C))Action(Move(b,x,y)

PRECOND: On(b,x) Clear(b) Clear(y) EFFECT: On(b,y) Clear(x) ¬ On(b,x) ¬ Clear(y))

Action(MoveToTable(b,x)PRECOND: On(b,x) Clear(b) EFFECT: On(b,Table) Clear(x) ¬ On(b,x))

Spurious actions are possible: Move(B,C,C), Move(B,C,Table)

Page 18: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Example: Blocks worldInit(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))Action(Move(b,x,y)

PRECOND: On(b,x) Clear(b) Clear(y) Block(b) Block(x) Block(y) EFFECT: On(b,y) Clear(x) ¬ On(b,x) ¬ Clear(y))

Action(MoveToTable(b,x)PRECOND: On(b,x) Clear(b) Block(b) Block(x)EFFECT: On(b,Table) Clear(x) ¬ On(b,x))

Spurious actions are possible: Move(B,C,C)

Page 19: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

State-Space vs. Planning FormalismsState-Space Formalism STRIPS Planning

Atomic object State, action propositional object

State Atomic Conjunction of predicates

Action Implicitly defined by (state, state) transitions

Explicitly defined bypreconditions & effects

Initial state Atomic Conjunction of predicates(full)

Goal state Goal test Conjunction of predicates(partial)

Expressiveness Higher Lower

Heuristic Domain dependent Domain independent

Page 20: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Solving STRIPS planning

• First of all, look at the goals– Blocksworld: Goals are on(A,B) and on(B,C)

• Can be do linear planning?– Achieve goal1– Achieve goal2 while keeping goal1– Achieve goal3 while keeping goal1, goal2 …..- Achieve goal-n while keeping goals 1 to n-1

- If so, a large planning task can be decomposed

Page 21: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

The Sussman Anomaly

Page 22: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

The Rocket Problem (Veloso)

• Objects: n boxes, Positions (Earth, Moon), one Rocket

• Actions: load/unload a box, move the Rocket (oneway: only from earth to moon, no way back!)

• Linear planning: to reach the goal, that Box1 is on the Moon, load it, shoot the Rocket, unload it, now no other Box can be transported!

Page 23: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Interleaving of Goals

• Linear planning is generally not viable• Non-linear planning allows that a sequence of

planning steps dealing with one goal is interrupted to deal with another goal.

• For the Sussman Anomaly, that means that after block C is put on the table pursuing goal on(A, B), the planner switches to the goal on(B, C).

• Non-linear planning corresponds to dealing with goals organized in a set.

Page 24: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Planning by state-space search

• Both forward and backward search possible– Using a state-space formulation for the planning problem

• Progression planners– forward state-space search– Consider the effect of all possible actions in a given state

• Regression planners – backward state-space search– To achieve a goal, what must have been true in the previous state.

Page 25: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Progression and regression

Page 26: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Progression algorithm

• Formulation as state-space search problem:– Initial state = initial state of the planning problem

• Literals not appearing are false

– Actions = those whose preconditions are satisfied• Add positive effects, delete negative

– Goal test = does the state satisfy the goal– Step cost = each action costs 1

• Any graph search that is complete is a complete planning algorithm.– E.g. A*

• Inefficient: – (1) irrelevant action problem – (2) good heuristic required for efficient search

Page 27: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Regression algorithm• How to determine predecessors?

– What are the states from which applying a given action leads to the goal?

Goal state = At(C1, B) At(C2, B) … At(C20, B)Relevant action for first conjunct: Unload(C1,p,B)Works only if pre-conditions are satisfied.Previous state= In(C1, p) At(p, B) At(C2, B) … At(C20, B)Subgoal At(C1,B) should not be present in this state.

• Actions must not undo desired literals (consistent)Load(C2,p,B) is not consistent

• Main advantage: only relevant actions are considered.– Often much lower branching factor than forward search.

Page 28: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Regression algorithm

• General process for predecessor construction– Give a goal description G– Let A be an action that is relevant and consistent– The predecessors is as follows:

• Any positive effects of A that appear in G are deleted.• Each precondition literal of A is added , unless it already appears.

• Any standard search algorithm can be added to perform the search.

• Termination when predecessor satisfied by initial state.

Page 29: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Heuristics for state-space search

• Neither progression or regression are very efficient without a good heuristic.– How many actions are needed to achieve the goal?– Exact solution is NP hard, find a good estimate – Could use the optimal solution to the relaxed problem.

• Remove all preconditions from actions• Remove all delete effects from actions

Page 30: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Planning graphs• Blum & Furst (1996)– A significant breakthrough in planning research

• A structure that gives rich information of the planning domain

• Can be used to 1) directly extract solutions, or 2) achieve better heuristic estimates.

Page 31: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Planning graphs

• Consists of a sequence of levels that correspond to time steps in the plan.– Level 0 is the initial state.– Each level consists of a set of literals and a set of actions.

• Literals = all those that could be true at that time step, depending upon the actions executed at the preceding time step

• Actions = all those actions that could have their preconditions satisfied at that time step, depending on which of the literals actually hold

Page 32: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Planning graphs

• “Could”?– Records only a restricted subset of possible negative interactions

among actions.

• Example:Init(Have(Cake))Goal(Have(Cake) Eaten(Cake))Action(Eat(Cake), PRECOND: Have(Cake)

EFFECT: ¬Have(Cake) Eaten(Cake))Action(Bake(Cake), PRECOND: ¬ Have(Cake)

EFFECT: Have(Cake))

Page 33: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Cake example

• Start at level S0 and determine action level A0 and next level S1.– A0: all actions whose preconditions are satisfied in the previous level.– Connect precond and effect of actions S0 --> S1– Inaction is represented by persistence actions.

• Level A0 contains the actions that could occur– Conflicts between actions are represented by mutex links

Page 34: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Cake example

• Level S1 contains all literals that could result from picking any subset of actions in A0– Conflicts between literals that can not occur together (as a consequence of the selection

action) are represented by mutex links.– S1 defines multiple states and the mutex links are the constraints that define this set of states.

• Continue until two consecutive levels are identical: leveled off

Page 35: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Cake example

• A mutex relation holds between two actions when:– Inconsistent effects: one action negates the effect of another.– Interference: one of the effects of one action is the negation of a precondition of the other.– Competing needs: one of the preconditions of one action is mutually exclusive with the precondition of the other.

• A mutex relation holds between two literals when (inconsistent support):– If one is the negation of the other OR – if each possible action pair that could achieve the literals is mutex.

Page 36: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Mutex

• Mutex in Graphplan is not complete (two actions that not mutex may not always be compatible)– But useful

• Original Mutex is level-dependent– But expensive to compute

• Used by GRAPHPLAN

– Level independent mutex (called persistent mutex) is a subset of mutex but efficient to compute• Used by some other planners such as LPG, SATPLAN

Page 37: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Example: Spare tire problemInit(At(Flat, Axle) At(Spare,trunk))Goal(At(Spare,Axle))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,Groundp) ¬At(Flat,Axle)EFFECT: At(Spare,Axle) ¬At(Spare,Ground))

Action(LeaveOvernightPRECOND:EFFECT: ¬ At(Spare,Ground) ¬ At(Spare,Axle) ¬ At(Spare,trunk) ¬ At(Flat,Ground) ¬ At(Flat,Axle) )

Page 38: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Another GRAPHPLAN example

• PG are monotonically increasing or decreasing:– Literals increase monotonically– Actions increase monotonically– Mutexes decrease monotonically

• Because of these properties and because there is a finite number of actions and literals, every PG will eventually level off !

Page 39: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

The GRAPHPLAN Algorithm• How to extract a solution directly from the PG

function GRAPHPLAN(problem) return solution or failuregraph INITIAL-PLANNING-GRAPH(problem)goals GOALS[problem]loop do

if goals all non-mutex in last level of graph then do solution EXTRACT-SOLUTION(graph, goals, LENGTH(graph)) if solution failure then return solution else if NO-SOLUTION-POSSIBLE(graph) then return failure

graph EXPAND-GRAPH(graph, problem)

Page 40: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Example: Spare tire problemInit(At(Flat, Axle) At(Spare,trunk))Goal(At(Spare,Axle))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,Groundp) ¬At(Flat,Axle)EFFECT: At(Spare,Axle) ¬At(Spare,Ground))

Action(LeaveOvernightPRECOND:EFFECT: ¬ At(Spare,Ground) ¬ At(Spare,Axle) ¬ At(Spare,trunk) ¬ At(Flat,Ground) ¬ At(Flat,Axle) )

Page 41: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

GRAPHPLAN example

• Initially the plan consist of 5 literals from the initial state and the CWA literals (S0).• Add actions whose preconditions are satisfied by EXPAND-GRAPH (A0)• Also add persistence actions and mutex relations.• Add the effects at level S1• Repeat until goal is in level Si

Page 42: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

GRAPHPLAN example

• EXPAND-GRAPH also looks for mutex relations– Inconsistent effects

• E.g. Remove(Spare, Trunk) and LeaveOverNight due to At(Spare,Ground) and not At(Spare, Ground)

– Interference • E.g. Remove(Flat, Axle) and LeaveOverNight At(Flat, Axle) as PRECOND and not At(Flat,Axle) as EFFECT

– Competing needs• E.g. PutOn(Spare,Axle) and Remove(Flat, Axle) due to At(Flat.Axle) and not At(Flat, Axle)

– Inconsistent support• E.g. in S2, At(Spare,Axle) and At(Flat,Axle)

Page 43: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

GRAPHPLAN example

• In S2, the goal literals exist and are not mutex with any other– Solution might exist and EXTRACT-SOLUTION will try to find it

• EXTRACT-SOLUTION :– Initial state = last level of PG and goal goals of planning problem– Actions = select any set of non-conflicting actions that cover the goals in the state– Goal = reach level S0 such that all goals are satisfied– Cost = 1 for each action.

Page 44: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

GRAPHPLAN example

• Termination? YES• PG are monotonically increasing or decreasing:

– Literals increase monotonically– Actions increase monotonically– Mutexes decrease monotonically

• Because of these properties and because there is a finite number of actions and literals, every PG will eventually level off !

Page 45: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

PG and heuristic estimation

• PG’s provide information about the problem– A literal that does not appear in the final level of the graph cannot be

achieved by any plan.• Useful for backward search (cost = inf).

– Level of appearance can be used as cost estimate of achieving any goal literals = level cost.

– Small problem: several actions can occur• Restrict to one action using serial PG (add mutex links between every pair of

actions, except persistence actions).

– Cost of a conjunction of goals? • Max-level, sum-level, set-level heuristics

– The Fast Forward heuristic (Hoffmann’00)• Extract a plan from a relaxed planning graph (RPG)• Not admissible but performs well

Page 46: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

June 7th, 2006 ICAPS'06 Tutorial T6 46

Rover Domain

Page 47: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

June 7th, 2006 ICAPS'06 Tutorial T6 47

Level Based Heuristics

• The distance of a proposition is the index of the first proposition layer in which it appears– Proposition distance changes when we propagate cost

functions – described later• What is the distance of a Set of propositions??– Set-Level: Index of first proposition layer where all goal

propositions appear• Admissible• Gets better with mutexes, otherwise same as max

– Max: Maximum distance proposition– Sum: Summation of proposition distances

Page 48: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

June 7th, 2006 ICAPS'06 Tutorial T6 48

Example of Level Based Heuristics

set-level(sI, G) = 3

max(sI, G) = max(2, 3, 3) = 3

sum(sI, G) = 2 + 3 + 3 = 8

Page 49: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

June 7th, 2006 ICAPS'06 Tutorial T6 49

How do Level-Based Heuristics Break?

gA

p1

p2

p3

p99

p100

p1

p2

p3

p99

p100

B1q

B2B3

B99B100

q qB1B2B3

B99B100

A1P1 P2A0P0

The goal g is reached at level 2, butrequires 101 actions to support it.

Page 50: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

June 7th, 2006 ICAPS'06 Tutorial T6 50

Relaxed Plan Heuristics• When Level does not reflect distance well, we can find a

relaxed plan. • A relaxed plan is subgraph of the planning graph, where:

– Every goal proposition is in the relaxed plan at the level where it first appears

– Every proposition in the relaxed plan has a supporting action in the relaxed plan

– Every action in the relaxed plan has its preconditions supported.• Relaxed Plans are not admissible, but are generally effective.• Finding the optimal relaxed plan is NP-hard, but finding a

greedy one is easy.

Page 51: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

June 7th, 2006 ICAPS'06 Tutorial T6 51

Example of Relaxed Plan Heuristic

Count ActionsRP(sI, G) = 8 Identify Goal PropositionsSupport Goal Propositions

Individually

Page 52: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

June 7th, 2006 ICAPS'06 Tutorial T6 52

ResultsRelaxed PlanLevel-Based

Page 53: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

June 7th, 2006 ICAPS'06 Tutorial T6 53

Results (cont’d)Relaxed PlanLevel-Based

Page 54: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

June 7th, 2006 ICAPS'06 Tutorial T6 54

Rover Cost Model

Page 55: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

June 7th, 2006 ICAPS'06 Tutorial T6 55

Cost Propagation

at()

sample(soil, )

drive(, )

drive(, )

avail(soil, )

avail(rock, )

avail(image,)

at()

avail(soil, )

avail(rock, )

avail(image, )

at()

at()

have(soil)

sample(soil, )

drive(, )

drive(, )at()

avail(soil, )

avail(rock, )

avail(image, )

at()

at()

have(soil)

drive(, )

drive(, )

drive(, )

commun(soil)

sample(rock, )

sample(image,)

drive(, )

have(image)

comm(soil)

have(rock)

20

10

30

20

10

30

2035

10

30

35

25

25

15

35

40

20

35

35

10

25

25

A1A0 P1P0 P2

Cost Reduces becauseOf different supporterAt a later level

Page 56: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

June 7th, 2006 ICAPS'06 Tutorial T6 56

at()

Cost Propagation (cont’d)avail(soil, )

avail(rock, )

avail(image, )

at()

at()

have(soil)

have(image)

comm(soil)

have(rock)

commun(image)

commun(rock)

comm(image)

comm(rock)

sample(soil, )

drive(, )

drive(, )at()

avail(soil, )

avail(rock, )

avail(image, )

at()

at()

have(soil)

drive(, )

drive(, )

drive(, )

commun(soil)

sample(rock, )

sample(image,)

drive(, )

have(image)

comm(soil)

have(rock)

commun(image)

commun(rock)

comm(image)

comm(rock)

sample(soil, )

drive(, )

drive(, )at()

avail(soil, )

avail(rock, )

avail(image, )

at()

at()

have(soil)

drive(, )

drive(, )

drive(, )

commun(soil)

sample(rock, )

sample(image,)

drive(, )

have(image)

comm(soil)

have(rock)

20

10

30

20

10

30

20 20 20

35

35

10 10 10

25

25

30

35 35

35 35

4040 40

40

25 253030

40 40

40

40

15

25

25 25

25 25

30

30

30

25

15

35

35

A2P2 P3 A3 P4

1-lookahead

Page 57: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

June 7th, 2006 ICAPS'06 Tutorial T6 57

Terminating Cost Propagation

• Stop when:– goals are reached (no-lookahead)– costs stop changing (∞-lookahead)– k levels after goals are reached (k-lookahead)

Page 58: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

June 7th, 2006 ICAPS'06 Tutorial T6 58

Guiding Relaxed Plans with Costs

Start Extract at first level goal proposition is cheapest

Page 59: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Planning with propositional logic

• Convert STRIPS encoding to SAT• Here: test the satisfiability of a logical sentence:

• Sentence contains propositions for every action occurrence.– If the planning is unsolvable the sentence will be unsatisfiable.

• Benefit: take advantage of SAT solvers, e.g. DPLL algorithms, which can be pretty fast

• Limitation: expressiveness

initial state all possible action descriptions goal

Page 60: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

SATPLAN algorithmfunction SATPLAN(problem, Tmax) return solution or failure

inputs: problem, a planning problem Tmax, an upper limit to the plan length

for T= 0 to Tmax do

cnf, mapping TRANSLATE-TO_SAT(problem, T) assignment SAT-SOLVER(cnf)

if assignment is not null then return EXTRACT-SOLUTION(assignment, mapping)

return failure

Overall idea: try T=0,1,2, 3, … , until the first T that gives a solution

Page 61: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

cnf, mapping TRANSLATE-TO_SAT(problem, T)

• Distinct propositions for assertions about each time step.– Superscripts denote the time step

At(P1,SFO)0 At(P2,JFK)0

– specify which propositions are not true¬At(P1,SFO)0 ¬At(P2,JFK)0

– Unknown propositions are left unspecified.

• The goal is associated with a particular time-step– But which one?

Page 62: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

cnf, mapping TRANSLATE-TO_SAT(problem, T)

• How to determine the time step where the goal will be reached?– Start at T=0

• Assert At(P1,JFK)0 At(P2,SFO)0

– Failure .. Try T=1• Assert At(P1,JFK)1 At(P2,SFO)1

– …

– Repeat this until some minimal path length is reached.

– Termination is ensured by Tmax

Page 63: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

cnf, mapping TRANSLATE-TO_SAT(problem, T)

• How to encode actions into PL?– Propositional versions of successor-state axioms

At(P1,JFK)1 (At(P1,JFK)0 ¬(Fly(P1,JFK,SFO)0)

(Fly(P1,SFO,JFK)0 At(P1,SFO)0)– Such an axiom is required for each plane, airport and time

step• Once all these axioms are in place, the satisfiability

algorithm can start to find a plan.

Page 64: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

assignment SAT-SOLVER(cnf)

• Multiple models can be found• Are they all good?

Page 65: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

assignment SAT-SOLVER(cnf)

• Multiple models can be found• They are NOT satisfactory: (for T=1)

Fly(P1,SFO,JFK)0 Fly(P1,JFK,SFO)0 Fly(P2,JFK,SFO)0

The second action is infeasibleYet the plan IS a model of the sentence

• Avoiding illegal actions: pre-condition axiomsFly(P1,SFO,JFK)0 At(P1,JFK)0

• Exactly one model now satisfies all the axioms where the goal is achieved at T=1.

initial state all possible action descriptions goal1

Page 66: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

assignment SAT-SOLVER(cnf)

• What if there is an LAX in the world?

Page 67: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

assignment SAT-SOLVER(cnf)

• What if there is an LAX in the world?• A plane can fly to two destinations at once• They are NOT satisfactory: (for T=1)

Fly(P1,SFO,JFK)0 Fly(P2,JFK,SFO)0 Fly(P2,JFK,LAX)0

The second action is infeasible• Avoid spurious solutions: action mutual exclusion

axioms¬(Fly(P2,JFK,SFO)0 Fly(P2,JFK,LAX))

Page 68: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

SATPLAN• Convert STRIPS to planning graph• Convert planning graph to SAT• Hybrid encoding– Literals for both actions and facts

• Action-based encoding:– Literals for actions only– Preconditions are implied by action relations

e.g. at ft and ft b1t-1 b2

t-1 b3t-1

convert to: at b1t-1 b2

t-1 b3t-1

Page 69: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Optimality of SATPLAN

• Optimal in terms of– The makespan (the length of a parallel plan)– An example solution plan• Step 1: move(a,b,g), move(b,c,h)• Step 2: move(a, g,table), move(c,s,d), move(e,f,m)• Step 3: move(s,e,g)• ….• Step N: move(b,c,n), move(g,e,table)

– SATPLAN finds the shortest parallel plan

Page 70: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Optimality of SATPLAN• However, SATPLAN is not optimal for other

preference metrics, such as – Total number of actions– Total action costs– Functional preferences f(a1,a2,…,an)

• A solution– Completely solve the SAT instance to optimize the given

metric– Use bounding and pruning techniques to speedup

search

Page 71: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Extend SATPLAN to Temporally Expressive Problems

• What is “Temporally Expressive”– Two actions need to be executed in parallel, in

any valid plan. (required concurrency)

adds condition f

action2

deletes condition f

Time

action1f frequires condition f

Page 72: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Facts about Temporally Expressive Planning

• Many existing temporal planners are not able to handle temporally expressive problems

• Most planning benchmarks (e.g. in IPC3-IPC5) are not temporally expressive[W. Cushing et al. :ICAPS-2007]

• Required concurrency is important in the real world

– PDDL2.1 actually supports temporally expressive

Page 73: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Some Exsiting Temporally Expressive Planners

• State space search planners– Crikey2 and Crikey3, and variants

• Partial order planner– VHPOP

• Others– TLP-GP

Page 74: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

SAT-Based Temporally Expressive Planning

• Discrete time• Optimal in terms of overall timespan• Transform the original temporal planning problem:– Model a durative action as a linked pair of simple actions– For each action, a new fact is used to indicate that it is

executing [Long & Fox 2003]• Formulate the transformed temporal planning

problem into a SAT encoding• Solve a sequence of SAT instances from time=1 to time

= N, with an increment of δ, until a solution is found [Ray & Ginsberg 2008]

Page 75: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

SAT Encoding for Temporal Planning

• Variables

Page 76: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

SAT Encoding for Temporal Planning• Clauses

Page 77: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

SAT Encoding for Temporal Planning Clauses

Page 78: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

– Large room to improve the overall network throughput• Under topology constraints, file availability constraints,

upload/download speed constraints

Modeling P2P Network Optimization

Page 79: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Modeling P2P Network Optimization

• Represent the problem using PDDL2.1• Optimize the overall time to get all the peers’

data delivered– Optimize overall network throughput

• Main constraints– To download a file, a computer must be routed to a

serving computer that has a copy of the file and is serving the file

– Each computer can serve at most one file at any time

Page 80: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Properties

• Different topologies of the networks• Objects:– Files, with different sizes (takes different time to

transfer)– Computers/Peers

• Initial State: – Each computer may have its own collection of files

• Goal:– Each computer want to download a set of files

Page 81: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Required Concurrency in P2P network

• Required Concurrency– The serving computers– The downloading computers

Start to serve A

Serving file A

Serving ends

Peer Downloading A

Time

Peer Downloading A

Page 82: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Temporal Dependencies

Page 83: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Results – (Original Match-lift Domain)

Experimental results on the Match-lift domain. The numbers in Columns L, M, R, U represent the numbers of floors, matches, rooms and fuses. Low concurrency as M=U.

Page 84: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Results (Match-lift with more concurrencies)

Experimental results on Match-Lift Variant, which has more concurrencies (less match, long duration). Look at #12.

Page 85: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Results – P2P Network Optimization Domain

Experimental results on the P2P domain. Column ‘P’ is the instance ID. Columns ‘C’ and ‘F’ are the numbers of peers and files, respectively, in the network. Columns ‘Time’ and ‘QAL’ are the running time and time span of solutions, respectively. 7-12 are much harder (topology, files)

Page 86: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

Driverslogshift Domain

• Long durative actions• Crikey2 sometimes generates flawed plans

Page 87: Planning Chapter 11 Yet another popular formulation for AI – Logic-based language – One of the most structured formulations Can be translate into less.

• Search based planner can be very efficiently when the problems are of lower degree of required concurrencies

Results SAT-based planner is

suitable for problems requiring a high degree of concurrency

action1a

baction2

action1a

daction2

bc

efg

e.g. original Match-lift domain e.g. P2P and Match-lift domain with more required

concurrencies