- 42 Views
- Uploaded on
- Presentation posted in: General

Unifying Planning Techniques

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 - - - - - - - - - - - - - - - - - - - - - - - - - -

Unifying Planning Techniques

Jonathon Doran

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.

We could look at a plan as an alternating

sequence of states and actions...

SASASAS ...

Plans are also recursive.

SA (S A (S A S))

Plans are not necessarily

unique.

Actions:

Up, Down, Left, Right

This space grows

exponentially with

the number of

variables!

How do we plan a route?

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

Abandon all hope

It gets worse:

Optimal planning is NP-Hard

Early planners did an exhaustive search.

But we have seen techniques for

dealing with NP-complete problems...

DPLL prunes the solution space.

This works if we are

lucky.

Blum and Furst

1995

Represents solution space

as a graph.

Able to build this graph

in polynomial time.

Able to prune this graph

in polynomial time.

Circles represent fluents.

Squares represent actions.

Mutually exclusive situations may

be identified and pruned.

Actions are mutex if no plan could

contain both at the same time.

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.

Competing Needs:

Two actions have preconditions that are mutex.

I wish to sleep and go to class.

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?

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)

O(k(a+n)^2)

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

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 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.

- 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>)

(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

(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)