270 likes | 349 Views
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
E N D
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 in time. The state of the universe is described by a set of these fluents.
Actions 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
Plans 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 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.
The State Space Actions: Up, Down, Left, Right This space grows exponentially with the 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 Hope But we have seen techniques for dealing with NP-complete problems... DPLL prunes the solution space. This works if we are lucky.
GraphPlan 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.
Graph Representation Circles represent fluents. Squares represent actions.
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 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 Examples Competing Needs: Two actions have preconditions that are mutex. I wish to sleep and go to class.
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 Actions 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)
SatPlan 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 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 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 • 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
Domain Predicates: (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)
ResearchDirections • planning with preferences • cooperative planning • distributed planning • probabilistic planning • planning under uncertainty (SCM, POMDP)