Unifying Planning Techniques

Post on 22-Feb-2016

50 views 0 download

description

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 - PowerPoint PPT Presentation

Transcript of Unifying Planning Techniques

Unifying Planning Techniques

Jonathon Doran

The Planning DomainA domain describes the objects, facts, andactions in the universe.

We may have a box and a tablein our universe.

Fluents

Propositions that aretrue or false at a pointin time.

There is a green box.The box is on the table.

The state of the universe is describedby a set of these fluents.

Actions

A set of preconditionsA set of fluents to addA set of fluents to delete

STRIPS formalism

Our goal is to move the universefrom one state to another.

Actions change the universe’s state.

Plans

The goal is typically a subset of a final state.

Actions imply state... plans are equivalently a list of states.

An initial state of the universe, and a list of actionsthat change the universe to some goal state.

Plan Structure

We could look at a plan as an alternatingsequence of states and actions...

SASASAS ...

Plans are also recursive.

SA (S A (S A S))

Plans are not necessarilyunique.

The State Space

Actions:

Up, Down, Left, Right

This space growsexponentially withthe number of variables!

Complications

How do we plan a route?

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

Planning is NP-Complete

Abandon all hope

It gets worse:

Optimal planning is NP-Hard

Early planners did an exhaustive search.

Some HopeBut we have seen techniques fordealing with NP-complete problems...

DPLL prunes the solution space. This works if we are

lucky.

GraphPlanBlum and Furst1995

Represents solution spaceas a graph.

Able to prune this graphin polynomial time.

Able to build this graph in polynomial time.

Graph Representation

Circles represent fluents.Squares represent actions.

Mutual Exclusion

Mutually exclusive situations maybe identified and pruned.

Actions are mutex if no plan couldcontain both at the same time.

Mutex ExamplesInterference: (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 ExamplesCompeting Needs:

Two actions have preconditions that are mutex.

I wish to sleep and go to class.

Fluent MutexesFluents are mutex if all ways of asserting them are mutex.

I am presently in Dallas and Denton.

What would it mean for some actions(but not all) to be mutex?

Or, if one fluent is the negation of another.

Graph GrowthActions monotonically increase.

Fluents monotonically increase.

Fluent-mutexes monotonically decrease.

Action-mutexes monotonically decrease.

At some point the graph stops changing.

Theorem

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)

SatPlanExpress 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 SatPlanCreate a planning graph, like GraphPlanfor 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 wff from a graph is much smallerthan using STRIPS operators.

Random restarts used in implementations.

Restart threshold gradually increases.

SatPlan requires significantpreparation time.

Results

Rocket Example Problemtwo rockets: X1, X2locations: Earth, Mars, Venuspeople: Adam, Bettyboth rockets fueled, and at EarthAdam and Betty on Earth

Goal: Adam at Mars, Betty at Venus

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

(fueled <rocket>)

Actions: (load <person> <rocket>)(unload <rocket> <planet>)(fly <rocket> <planet>)

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

ResearchDirectionsplanning with preferencescooperative planningdistributed planningprobabilistic planningplanning under uncertainty (SCM, POMDP)