Unifying planning techniques
1 / 27

Unifying Planning Techniques - PowerPoint PPT Presentation

  • Uploaded on

Unifying Planning Techniques. Jonathon Doran. The Planning Domain. A domain describes the objects, facts, and actions in the universe. We may have a box and a table in our universe. Fluents. There is a green box. The box is on the table. Propositions that are true or false at a point

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

PowerPoint Slideshow about 'Unifying Planning Techniques' - huey

An Image/Link below is provided (as is) to download presentation

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

The planning domain
The Planning Domain

A domain describes the objects, facts, and

actions in the universe.

We may have a box and a table

in our universe.


There is a green box.

The box is on the table.

Propositions that are

true or false at a point

in time.

The state of the universe is described

by a set of these fluents.


Our goal is to move the universe

from one state to another.

Actions change the universe’s state.

A set of preconditions

A set of fluents to add

A set of fluents to delete

STRIPS formalism


An initial state of the universe, and a list of actions

that change the universe to some goal state.

The goal is typically a subset of a final state.

Actions imply state...

plans are equivalently a list of states.

Plan structure
Plan Structure

We could look at a plan as an alternating

sequence of states and actions...


Plans are also recursive.

SA (S A (S A S))

Plans are not necessarily


The state space
The State Space


Up, Down, Left, Right

This space grows

exponentially with

the number of



How do we plan a route?

We cannot reliably estimate our distance to the goal...

Planning is np complete
Planning is NP-Complete

Abandon all hope

It gets worse:

Optimal planning is NP-Hard

Early planners did an exhaustive search.

Some hope
Some Hope

But we have seen techniques for

dealing with NP-complete problems...

DPLL prunes the solution space.

This works if we are



Blum and Furst


Represents solution space

as a graph.

Able to build this graph

in polynomial time.

Able to prune this graph

in polynomial time.

Graph representation
Graph Representation

Circles represent fluents.

Squares represent actions.

Mutual exclusion
Mutual Exclusion

Mutually exclusive situations may

be identified and pruned.

Actions are mutex if no plan could

contain both at the same time.

Mutex examples
Mutex Examples

Interference: (one action deletes a precond of another)

I have $15, and can either buy a CD or a movie ticket.

Inconsistent Effects:

The effect of one action is the negation of another action.

I wish to paint the room entirely blue and entirely red.

Mutex examples1
Mutex Examples

Competing Needs:

Two actions have preconditions that are mutex.

I wish to sleep and go to class.

Fluent mutexes
Fluent Mutexes

Fluents are mutex if all ways of asserting them are mutex.

I am presently in Dallas and Denton.

Or, if one fluent is the negation of another.

What would it mean for some actions

(but not all) to be mutex?

Graph growth
Graph Growth

Actions monotonically increase.

Fluents monotonically increase.

Fluent-mutexes monotonically decrease.

Action-mutexes monotonically decrease.

At some point the graph stops changing.


  • The size of the graph, and the time to create it are:

  • polynomial in t (the number of levels)

  • polynomial in n (the number of objects)

  • polynomial in m (the number of actions)

  • polynomial in p (the number of fluents in the goal)



Express the problem as a CSP (Boolean Sat for example)

UseAction(a1, t1) ^ UseAction(a2,t2)...

Holds(p1,t1) ^ Holds(p2,t2) ...

With appropriate constraints.

Run this through a Sat Solver

Unifying graphplan and satplan
Unifying GraphPlan and SatPlan

Create a planning graph, like GraphPlan

for k-levels.

Convert graph to a CNF wff

Run through a Sat Solver.

Increase graph to k+1 levels if needed

A good idea
A Good Idea?

A wff from a graph is much smaller

than using STRIPS operators.

Random restarts used in implementations.

Restart threshold gradually increases.

SatPlan requires significant

preparation time.

Rocket example problem
Rocket Example Problem

  • two rockets: X1, X2

  • locations: Earth, Mars, Venus

  • people: Adam, Betty

  • both rockets fueled, and at Earth

  • Adam and Betty on Earth

    Goal: Adam at Mars, Betty at Venus


Predicates: (at <X> <planet>) (in <X> <rocket>)

(fueled <rocket>)

Actions: (load <person> <rocket>)

(unload <rocket> <planet>)

(fly <rocket> <planet>)

16 level 1 actions
16 Level 1 Actions

(load A 1) (load A 2) (load B 1) (load B 2)

(F 1 E) (F 1 M) (F 1 V) (F 2 E) (F 2 M) (F 2 V)

Plus 6 no-op actions

14 level 1 fluents
14 Level 1 Fluents

(at A E) (in A 1) (in A 2)

(at B E) (in A 1) (in A 2)

(at X1 E) (at X1 M) (at X1 V)

(at X2 E) (at X2 M) (at X2 V)

(fueled 1) (fueled 2)


  • planning with preferences

  • cooperative planning

  • distributed planning

  • probabilistic planning

  • planning under uncertainty (SCM, POMDP)