Outline
What is planning?
Formal definitions of planning problems Basic planning algorithms Recent development
What is Planning?
Planning is a search problem that requires to find an efficient sequence of actions that transform a system from a given starting state to the goal state
Whats Given?
Initial state of the problem Goal state of the problem A finite set of actions:
Whats Output?
every action matches the current system state can transform system from initial state to goal state
Planning a Trip
Begin Preparation Airline Reservation
Hotel Reservation
Confirm Reservations
End
Towers of Hanoi
Problem Analysis
Optimal solution contains 2n-1 actions, where n is the number of disks Up to 6 possible actions in each system state The upper bound on search space to (2n-1) find an optimal solution will be 6
Sliding-Tile Puzzle
Insert Modem
Plug in CD
Examine Order
Partial-order plan
consists partially ordered set of actions sequence constraints exist on these actions
plan generation algorithm can be applied to transform partial-order plan to total-order plan consists totally ordered set of actions
Total-order plan
Partial-Order Plan
Get brush Start Get ladder
Paint ceiling
Finish
Total-Order Plan
Start Get ladder Get brush Paint ceiling Finish
Start
Get brush
Get ladder
Paint ceiling
Finish
Large search space Action is associated with system states Restrictions on the action sequence Valid solution may not exist Optimization requirement
P is a finite set of ground literals, the conditions O is a finite set of operators I is the initial state, a subset of P G is the goal state, a subset of P
STRIPS Operators
PC, a set of ground literals, defines the precondition of the operator D, a set of ground literals, defines the conditions that will be removed after the operation is executed A, a set of ground literals, defines the conditions that will be added after the operation is executed C, the cost of the operation
C
Goal State On(A, B) On(B, C) On(C, Fl) Clear(A) Clear(Fl)
Initial State On(C, A) Clear(Fl) On(A, Fl) Clear(B) On(B, Fl) Clear(C)
Start
finish
On(A, B)
On(B, C)
On(C, Fl)
Clear(A)
Clear(Fl)
Move(x, y, z)
Operator
Move(x, y, z)
PC
On(x, y)
Clear(x)
Clear(z)
Forward Chaining
Search from the initial state Expand the search tree by finding the set of all applicable operators from the current state
Update current state For every state that is reached, record the shortest path (or path with lowest cost) from the initial state to this state If the goal state is reached, stop the algorithm
Forward Chaining
Move(C, A, Fl) On(C, A) Clear(Fl) On(A, Fl) Clear(B) On(B, Fl) On(B, C) Clear(C) Clear(Fl) On(C, Fl) Clear(Fl) On(A, Fl) Clear(B) On(B, Fl) Clear(C) Clear(A)
Move(B, Fl, C)
Backward Chaining
Search backward from the goal state Expand the search tree by finding the set of all applicable operators that can reach the current state
Update the state If the initial state is reached, stop the algorithm The solution is a partial-ordered plan Constraints in action ordering may be violated
Backward Chaining
On(A, B) On(B, C) On(C, Fl) Clear(A) Clear(Fl)
On(B, C) On(C, Fl) Clear(A) Clear(Fl) On(A, Fl) Clear(B) Move(A, Fl, B)
Recent Developments
Problem-specific planning
Evolutionary computation approach
Plan Reuse
Reuse old plans for new planning problems Consists of two steps
Research findings
Graphplan
plan graph contains all possible actions that can be taken in each time step actions that interfere with one another can coexist in the graph
Problem-specific Planning
in sliding-tile puzzle, accurate estimation of the distance between current state and goal state can speed up the search for a plan
Genetic Algorithms
Parallel search and optimization algorithm Inspired by the basic rule of natural selection, survival-of-the-fittest Non-deterministic algorithm
Solution Formation
Start with a population of randomly generated chromosomes Population is evolved in every generation
evaluate each chromosome select chromosomes to the next generation apply genetic operations
Genetic Operation
crossover
1 0 0 0 1 0 1 1
Crossover point 0 1 1 1
Before crossover
After crossover
1 0 1 1 1 1
0 0 0 1 0 1
Genetic Operation
Mutation
1 0 1 1 0 1
GA Procedure
End while
Non-deterministic algorithm Starts from a set of randomized plan Plans are evolved during generations In each generation
evaluate the performance of the plan select the plans to next generation, based on performance crossover, mutation to create new plans
Solution encoding
a list of floating-point number, each number maps to an action in the problem number of actions can vary during search
A4 A3 A2 A1 A2
State-aware crossover
crossover points are selected based on the matching of states s1 s2 Match(s1, s2) = true
Parent 1
Parent 2 Child 1 Child 2
Mutation
randomly select an action and replace it with a random floating-point number 0.8 0.5 0.3 0.2 0.5
Fitness evaluation
consists of two parts: goal fitness fg and cost fitness fc goal fitness: how the solutions reach the goal state cost fitness: the total cost of the solution overall fitness = a * fg + b * fc
Experimental Results
Towers of Hanoi
can solve the 5 and 6-disk case with high probability state-aware crossover does not perform well can solve 3*3 problem case with high probability state-aware crossover perform much better since a looser definition of matching state is used
Sliding-tile puzzle
References
Intelligent Planning: A Decomposition and Abstraction Based Approach. Qiang Yang. Springer.
Internet-Based Workflow Management: Towards a Semantic Web. Dan C. Marinescu. Wiley, 2002.
References
Plan reuse versus plan generation: a theoretical and empirical analysis. B. Nebel, J. Koehler. Journal of Artificial
Intelligence 76 (1995), 427-454.
Concluding Words