Introduction to Planning

44
Introduction to Planning Han Yu University of Central Florida

description

Introduction to Planning. Han Yu University of Central Florida. Outline. What is planning? Formal definitions of planning problems Basic planning algorithms Recent development. What is Planning?. - PowerPoint PPT Presentation

Transcript of Introduction to Planning

Page 1: Introduction to Planning

Introduction to Planning

Han YuUniversity of Central Florida

Page 2: Introduction to Planning

Outline

What is planning? Formal definitions of planning

problems Basic planning algorithms Recent development

Page 3: Introduction to Planning

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

Page 4: Introduction to Planning

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

Page 5: Introduction to Planning

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

Page 6: Introduction to Planning

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

Page 7: Introduction to Planning

Planning a Trip

Begin Preparation Airline Reservation

Hotel ReservationRental Car Reservation

Confirm Reservations End

Page 8: Introduction to Planning

Towers of Hanoi

Page 9: Introduction to Planning

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)

Page 10: Introduction to Planning

Sliding-Tile Puzzle

Page 11: Introduction to Planning

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

Page 12: Introduction to Planning

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

Page 13: Introduction to Planning

Partial-Order Plan

Start

Get brush

Get ladder

Paint ceiling Finish

Page 14: Introduction to Planning

Total-Order Plan

Start Get brushGet ladder Paint ceiling Finish

Start Get brush Get ladder Paint ceiling Finish

Page 15: Introduction to Planning

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

Page 16: Introduction to Planning

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

Page 17: Introduction to Planning

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

Page 18: Introduction to Planning

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)

Page 19: Introduction to Planning

Graphical Representation of Initial State

Start

T

Clear(Fl) On(A, Fl) On(B, Fl)On(C, A) Clear(B) Clear(C)

Page 20: Introduction to Planning

Graphical Representation of Goal State

Nil

finish

On(A, B) On(B, C) On(C, Fl) Clear(A) Clear(Fl)

Page 21: Introduction to Planning

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)

Page 22: Introduction to Planning

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)

Page 23: Introduction to Planning

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

Page 24: Introduction to Planning

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)

Page 25: Introduction to Planning

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

Page 26: Introduction to Planning

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)

Page 27: Introduction to Planning

Recent Developments

Plan Reuse Graphplan Problem-specific planning Evolutionary computation

approach

Page 28: Introduction to Planning

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

Page 29: Introduction to Planning

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

Page 30: Introduction to Planning

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

Page 31: Introduction to Planning

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

Page 32: Introduction to Planning

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

Page 33: Introduction to Planning

Genetic Operation

crossover

1 1010 1

0 1110 0

1 1110 1

0 1010 0

Crossover point

Beforecrossover

Aftercrossover

Page 34: Introduction to Planning

Genetic Operation

Mutation

1 1010 1

1 1010 0

Beforemutation

Aftermutation

Page 35: Introduction to Planning

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

Page 36: Introduction to Planning

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

Page 37: Introduction to Planning

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

Page 38: Introduction to Planning

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

Page 39: Introduction to Planning

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

Page 40: Introduction to Planning

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

Page 41: Introduction to Planning

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

Page 42: Introduction to Planning

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.

Page 43: Introduction to Planning

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.

Page 44: Introduction to Planning

Concluding Words

Failing to plan is planning to fail--Effie Jones