Introduction to Planning
-
Upload
declan-hahn -
Category
Documents
-
view
34 -
download
0
description
Transcript of Introduction to Planning
Introduction to Planning
Han YuUniversity of Central Florida
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
What’s Given?
Initial state of the problem Goal state of the problem A finite set of actions:
pre-conditions: a finite set of conditions for the action to be performed
post-conditions: a finite set of conditions that will be changed after the action is performed
cost
What’s Output?
A sequence of actions that meet the following criteria every action matches the current
system state can transform system from initial
state to goal state the total cost of the actions is below a
specified value
Planning as a Real-World Problem
Planning problem has a wide range of applications in the real world planning in daily life game world workflow management
Planning a Trip
Begin Preparation Airline Reservation
Hotel ReservationRental Car 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
find an optimal solution will be 6(2n-1)
Sliding-Tile Puzzle
Planning in Workflow Management
Start Assembly
Examine Order
GatherComponents
Install Motherboard
Test
Install Internal Disk
Install Network Card
Assembly Box and Motherboard
Plug in CD
Insert Modem
Plug in Battery
InstallVideo Card
End Assembly
Partial-Order Plan versus Total-Order Plan
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
Total-order plan consists totally ordered set of actions
Partial-Order Plan
Start
Get brush
Get ladder
Paint ceiling Finish
Total-Order Plan
Start Get brushGet ladder Paint ceiling Finish
Start Get brush Get ladder Paint ceiling Finish
Features of Planning Problems
Large search space Action is associated with system states Restrictions on the action sequence Valid solution may not exist Optimization requirement
STRIPS Planning System
A tuple T = (P, O, I, G), where 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
Each operator O has the following attributes 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
A Simple Example - Blocks World
BA
C
C
B
A
Initial State Goal State
On(C, A)Clear(Fl)On(A, Fl)Clear(B)On(B, Fl)Clear(C)
On(A, B)On(B, C)On(C, Fl)Clear(A)Clear(Fl)
Graphical Representation of Initial State
Start
T
Clear(Fl) On(A, Fl) On(B, Fl)On(C, A) Clear(B) Clear(C)
Graphical Representation of Goal State
Nil
finish
On(A, B) On(B, C) On(C, Fl) Clear(A) Clear(Fl)
Block World - Operator
Move(x, y, z) Move block x that is above y to above
z PC: On(x,y), Clear(x), Clear(z) D: Clear(z), On(x, y) A: On(x,z), Clear(y), Clear(Fl)
Graphical Representation of Operator
A Clear(y) On(x, z)
Move(x, y, z)
On(x, y) Clear(x) Clear(z)
Operator
PC
Clear(Fl)
Forward Chaining Search from the initial state Expand the search tree by finding the set of
all applicable operators from the current state applicable means the precondition of the operator
is a subset of 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
On(C, A)Clear(Fl)On(A, Fl)Clear(B)On(B, Fl)Clear(C)
On(C, Fl)Clear(Fl)On(A, Fl)Clear(B)On(B, Fl)Clear(C)Clear(A)
Move(C, A, Fl)
Move(B, Fl, C)
On(B, C)Clear(Fl)On(C, A)Clear(B)On(A, Fl)
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 applicable means set A of the operator is a subset
of 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)
Move(A, Fl, B)On(B, C)On(C, Fl)Clear(A)Clear(Fl)On(A, Fl)Clear(B)
Recent Developments
Plan Reuse Graphplan Problem-specific planning Evolutionary computation
approach
Plan Reuse
Reuse old plans for new planning problems Consists of two steps
plan matching plan modification
Research findings generally, plan reuse is even harder than plan from
scratch do better only when two problems are close enough plan matching could be the bottleneck
Graphplan Partial-order general planner Constructing a planning graph before
search 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 More efficient than other general planners
in some problems
Problem-specific Planning Heuristics combined during search
heuristics is problem dependent cannot apply to other problems
Usually outperforms general planners in specific problems
Example 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 randomness is incorporated during
implementation
Solution Formation Candidate solution is encoded as a list of
genes, called chromosome
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
1 1010 1
Genetic Operation
crossover
1 1010 1
0 1110 0
1 1110 1
0 1010 0
Crossover point
Beforecrossover
Aftercrossover
Genetic Operation
Mutation
1 1010 1
1 1010 0
Beforemutation
Aftermutation
GA Procedure
Initialize the population Evaluate each chromosome in the
population While the stopping condition is not met
select chromosomes to the next generation crossover, mutation evaluate newly generated chromosomes
End while
Evolutionary Computation Approach
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
Evolutionary Computation Approach Solution encoding
a list of floating-point number, each number maps to an action in the problem
number of actions can vary during search
0.8 0.5 0.3 0.2 0.5
A4 A3 A2 A2A1
Evolutionary Computation Approach State-aware crossover
crossover points are selected based on the matching of states
Parent 1
Parent 2
Child 1
Child 2
s1
s2 Match(s1, s2) = true
Evolutionary Computation Approach Mutation
randomly select an action and replace it with a random floating-point number
0.8 0.5 0.3 0.2 0.5
0.8 0.5 0.6 0.50.2
Beforemutation
Aftermutation
Evolutionary Computation Approach
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
Sliding-tile puzzle can solve 3*3 problem case with high probability state-aware crossover perform much better since a
looser definition of matching state is used Performance scalability is not good Heuristics may be helpful to improve the
performance
References Artificial Intelligence: A Modern Approach. Stuart
Russell and Peter Norvig. Prentice Hall. Artificial Intelligence: A New Symthesis. Nils
Nilsson. Kaufmann. 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.
Fast planning through planning graph analysis. A. L. Blum, M. L. Furst Journal of Artificial Intelligence 90 (1997), 281-300.
Planning as heuristic search. B. Bonet, H. Geffner. Journal of Artificial Intelligence 129 (2001), 5-33.
What it is, What it could be, An introduction to the Special Issue on
Planning and Scheduling. D. McDermott, J. Handler. Journal of Artificial Intelligence 76 (1995), 1-16.
Concluding Words
Failing to plan is planning to fail--Effie Jones