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
Unifying Planning Techniques
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
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
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...
Plans are also recursive.
SA (S A (S A S))
Plans are not necessarily
Up, Down, Left, Right
This space grows
the number of
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
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.
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.
The effect of one action is the negation of another action.
I wish to paint the room entirely blue and entirely red.
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.
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
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
Goal: Adam at Mars, Betty at Venus
Predicates: (at <X> <planet>) (in <X> <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)