Title: Pushing the Envelope: Planning, Propositional Logic, and Stochastic Search
1Pushing the Envelope Planning, Propositional
Logic, and Stochastic Search
- By Henry Kautz and Bart Selman of ATT
Laboratories. - Presentation by Richard Smiley.
2First, some definitions
- Propositional logic I have a ladder and Im at
my house. - Stochastic search A random, but directed search
(more detail to come). - Fluent A time-varying condition, such as the
location of a box. - SAT Propositional satisfiability problem.
- These problems scale much better than First-Order
Logic problems.
3Simulated Annealing
- An example of Stochastic Search
- Simulated Annealing exploits an analogy between
the way a metal cools and freezes into a minimal
energy crystalline structure (the annealing
process) and the search for a minimised goal
state in a search process. - Unlike hill-climbing approaches (which always
follow a steady descent in minimization
problems), SA is much less likely to become
trapped in local minima. - The SA algorithm employs a random search that not
only accepts changes that decrease the energy
function (as expected this function might
represent the cost of a trip between two cities,
say), but also some changes that increase the
function value, thus allowing SA to jump out of
local minima.
Copied from http//www.compapp.dcu.ie/tonyv/CA3-A
I/AI-Lectures/ai3.rtf
4A New Style of Encoding
- Include time in the operators
- pickup(A,3)
- each action takes 1 tick on the clock. Action
will be finished at time 4. - on(A,B,3)
- whether A is on B at time 3.
- Before execution, the length is determined by a
binary search of execution possibilities. - If optimal plan is of length 7, search proceeds
through plans of length 2, 4, 8 (plan found), 6
(no plan found), and finally 7.
5A Little More on SAT Encoding
- Compiler takes plan, guesses a plan length, and
generates a propositional logic formula. - Simplifier uses various techniques to shrink the
CNF forumula. - Solver uses systematic or stochastic methods to
find an assignment, which the decoder turns into
a solution plan.
6Representing Arbitrary Constraints
- pickup(x,i) ??y.stack(x,y,i1)
- Every pickup is immediately followed by a stack.
- clear(x,i)?y.on(y,x,i)
- Saying x is clear is equivalent to saying that
there doesnt exist any y that is on x.
7Encoding Problems The Graphplan Method
- Graphplan works by converting a STRIPS-style
specification into a planning graph. - A solution is a subset of the planning graph that
contains both the start and goal conditions, and
contains no two operators in the same level that
conflict. - Each fact at layer i implies the disjunction of
all the operators at level i-1 that have it as an
add-effect. - in(A,R,3)?(load(A,R,L,2)?load(A,R,P,2)?maintain(in
(A,R),2)) - Operators imply their preconditions.
- load(A,R,L,2)?(at(A,L,1)?at(R,L,1))
- Conflicting actions are mutually exclusive
- load(A,R,L,2)?move(R,L,P,2)
8A Sample Graph
9Linear Encodings
- An action implies both its preconditions and
effects - Exactly one action occurs at each time instant
- The initial state is completely specified
- Classical frame conditions (if an action doesnt
change the truth condition of a fact, then the
fact remains true or remains false when the
action occurs) - Replace predicates that take 2 or more arguments
(plus a time argument) with ones that take a
single argument (plus time). - move(x,y,z,i)(object(x,i)?source(y,i)?destination
(z,i) - Yields O(3n²) propositions rather than O(n4)
10(No Transcript)
11State-Based Encodings
- Has the advantages of the previous two encodings,
plus some extra refinements - (in(x,y,i)?in(x,y,i1))??z.load(x,y,z,i)
- (in(a,r,2)?in(a,r,3))?(load(a,r,l,2)?
load(a,r,p,2)) - So far, this hasnt helped anything. But now,
the states have some built-in consistency checks.
We can eliminate propositions and simplify
axioms to the point that we can completely
eliminate propositions that refer to actions, so
that only fluents are used.
12Now, instead of the load axioms, we have
- at(obj,loc,i) ? at(obj,loc,i1)
??x?truck?airplane. in(obj,x,i1)? at(x,loc,i)?
at(x,loc,i1) - In English If an object is at a location, it
either remains at that location or goes into some
truck or plane that is parked at that location. - This replaces load-airplane and load-truck.
- This method also eliminates the need for
drive-truck and fly-airplane. State validity
checks make these happen automatically.
13Benefits of State-Based Encoding
- A solution to a problem is a sequence of states.
- The missing actions are derived from the gaps
between states. Finding them is easy it only
involves finding an unordered plan of length 1. - Can solve state-based encodings of problems that
no other domain-independent planner can solve. - No explicit frame axioms, preconditions, or
conflicts everything is represented in relations
between fluents.
14The Results
- Both Systematic and Stochastic methods used for
testing the encodings. - Systematic Tableau, one of the fastest and most
complete SAT procedures. - Stochastic Walksat, a randomized greedy local
search - Method Pick a random truth assignment, and flip
the variable that minimizes the number of clauses
that are satisfied by the current assignment, but
which would become unsatisfied if the variable
were flipped. - Stochastic because this method is only applied
half the timethe other half, a random variable
is flipped to true.
15The Results
To prove optimality, you must perform a
systematic search of all plans of length less
than the found plan, and show that no shorter
plans exist.