Скачать презентацию Artificial Intelligence Planning Gholamreza Ghassem-Sani Sharif University of Скачать презентацию Artificial Intelligence Planning Gholamreza Ghassem-Sani Sharif University of

94341b070e3f7f32b0d9be82014ac214.ppt

  • Количество слайдов: 40

Artificial Intelligence Planning Gholamreza Ghassem-Sani Sharif University of Technology Lecture slides are mainly based Artificial Intelligence Planning Gholamreza Ghassem-Sani Sharif University of Technology Lecture slides are mainly based on Dana Nau’s AI Planning University of Maryland 1

Related Reading For technical details: Malik Ghallab, Dan Nau, and Paolo Traverso Automated Planning: Related Reading For technical details: Malik Ghallab, Dan Nau, and Paolo Traverso Automated Planning: Theory and Practice Morgan Kaufmann, May 2004 ISBN 1 -55860 -856 -7 Web site: » http: //www. laas. fr/planning 2

Outline Planning Successful Applications Conceptual model for planning Example planning algorithms 3 Outline Planning Successful Applications Conceptual model for planning Example planning algorithms 3

Planning Successful Applications Space Exploration Manufacturing Games 4 Planning Successful Applications Space Exploration Manufacturing Games 4

Space Exploration Autonomous planning, scheduling, control NASA Remote Agent Experiment (RAX) Deep Space 1 Space Exploration Autonomous planning, scheduling, control NASA Remote Agent Experiment (RAX) Deep Space 1 Mars Exploration Rover (MER) 5

Manufacturing Sheet-metal bending machines - Amada Corporation Software to plan the sequence of bends Manufacturing Sheet-metal bending machines - Amada Corporation Software to plan the sequence of bends [Gupta and Bourne, J. Manufacturing Sci. and Engr. , 1999] 6

Games Bridge Baron - Great Game Products 1997 world champion of computer bridge [Smith, Games Bridge Baron - Great Game Products 1997 world champion of computer bridge [Smith, Nau, and Throop, AI Magazine, 1998] 2004: 2 nd place Us: East declarer, West dummy Finesse(P 1; S) Lead. Low(P 1; S) Play. Card(P 1; S, R 1) Opponents: defenders, South & North Contract: East – 3 NT On lead: West at trick 3 East: KJ 74 West: A 2 Out: QT 98653 Finesse. Two(P ; S) 2 Easy. Finesse(P 2; S) West— 2 Standard. Finesse(P 2; S) … … (North— Q) Standard. Finesse. Two(P 2; S) Play. Card(P 2; S, R 2) North— 3 Busted. Finesse(P 2; S) (North— 3) Standard. Finesse. Three(P 3; S) Finesse. Four(P 4; S) Play. Card(P 3; S, R 3) Play. Card(P 4; S, R 4’) East— J South— 5 South— Q 7

Conceptual Model 1. Environment System State transition system = (S, A, E, ) 8 Conceptual Model 1. Environment System State transition system = (S, A, E, ) 8

s 1 State Transition System = (S, A, E, ) S = {states} A s 1 State Transition System = (S, A, E, ) S = {states} A = {actions} E = {exogenous events} State-transition function : S x (A E) 2 S S = {s 0, …, s 5} A = {move 1, move 2, s 0 put take location 1 move 2 move 1 location 2 move 1 s 3 s 2 put take location 1 unload location 2 location 1 location 2 load s 4 s 5 move 2 put, take, load, unload} E = {} : see the arrows move 1 location 2 location 1 location 2 The Dock Worker Robots (DWR) domain 9

Conceptual Model 2. Controller Observation function h: S O Given observation o in O, Conceptual Model 2. Controller Observation function h: S O Given observation o in O, produces action a in A s 3 location 1 location 2 State transition system = (S, A, E, ) 10

Conceptual Model 2. Controller Complete observability: h(s) = s Controller Observation function h: S Conceptual Model 2. Controller Complete observability: h(s) = s Controller Observation function h: S O s 3 location 1 location 2 Given observation o in O, produces action a in A Given state s, produces action a State transition system = (S, A, E, ) 11

Conceptual Model 3. Planner’s Input Planning problem Depends on whether planning is online or Conceptual Model 3. Planner’s Input Planning problem Depends on whether planning is online or offline Observation function h: S O Planner Given observation o in O, produces action a in A State transition system = (S, A, E, ) 12

s 1 Planning Problem Description of Initial state or set of states Initial state s 1 Planning Problem Description of Initial state or set of states Initial state = s 0 Objective Goal state, set of goal states, set of tasks, “trajectory” of states, objective function, … Goal state = s 5 s 0 put take location 1 move 2 move 1 location 2 move 1 s 3 s 2 put take location 1 unload location 2 location 1 location 2 load s 4 s 5 move 2 move 1 location 2 location 1 location 2 The Dock Worker Robots (DWR) domain 13

Conceptual Model 4. Planner’s Output Planning problem Depends on whether planning is online or Conceptual Model 4. Planner’s Output Planning problem Depends on whether planning is online or offline Observation function h(s) = s Planner Instructions to the controller Given observation o in O, produces action a in A State transition system = (S, A, E, ) 14

s 1 Plans Classical plan: a sequence of actions s 0 put take location s 1 Plans Classical plan: a sequence of actions s 0 put take location 1 move 2 location 1 move 1 take, move 1, load, move 2 location 2 move 1 s 3 s 2 put Policy: partial function from S into A take location 1 {(s 0, take), (s 1, move 1), (s 3, load), (s 4, move 2)} unload location 2 location 1 location 2 load s 4 s 5 move 2 move 1 location 2 location 1 location 2 The Dock Worker Robots (DWR) domain 15

Planning Versus Scheduling Decide when and how to perform a given set of actions Planning Versus Scheduling Decide when and how to perform a given set of actions » Time constraints » Resource constraints » Objective functions Typically NP-complete Scheduler Planning Decide what actions to use to achieve some set of objectives Can be much worse than NP-complete; worst case is undecidable 16

Three Main Types of Planners 1. Domain-specific 2. Domain-independent 3. Configurable 17 Three Main Types of Planners 1. Domain-specific 2. Domain-independent 3. Configurable 17

Types of Planners: 1. Domain-Specific (Chapter 19 -23) Made or tuned for a specific Types of Planners: 1. Domain-Specific (Chapter 19 -23) Made or tuned for a specific domain Won’t work well (if at all) in any other domain Most successful real-world planning systems work this way 18

Types of Planners 2. Domain-Independent In principle, a domain-independent planner works in any planning Types of Planners 2. Domain-Independent In principle, a domain-independent planner works in any planning domain Uses no domain-specific knowledge except the definitions of the basic actions 19

Types of Planners 2. Domain-Independent In practice, Not feasible to develop domain-independent planners that Types of Planners 2. Domain-Independent In practice, Not feasible to develop domain-independent planners that work in every possible domain Make simplifying assumptions to restrict the set of domains Classical planning Historical focus of most automated-planning research 20

Restrictive Assumptions A 0: Finite system: finitely many states, actions, events A 1: Fully Restrictive Assumptions A 0: Finite system: finitely many states, actions, events A 1: Fully observable: the controller always ’s current state A 2: Deterministic: each action has only one outcome A 3: Static (no exogenous events): no changes but the controller’s actions A 4: Attainment goals: a set of goal states Sg A 5: Sequential plans: a plan is a linearly ordered sequence of actions (a 1, a 2, … an) A 6: Implicit time: no time durations; linear sequence of instantaneous states A 7: Off-line planning: planner doesn’t know the execution status 21

Classical Planning (Chapters 2 -9) Classical planning requires all eight restrictive assumptions Offline generation Classical Planning (Chapters 2 -9) Classical planning requires all eight restrictive assumptions Offline generation of action sequences for a deterministic, static, finite system, with complete knowledge, attainment goals, and implicit time Reduces to the following problem: Given ( , s 0, Sg) Find a sequence of actions (a 1, a 2, … an) that produces a sequence of state transitions (s 1, s 2, …, sn) such that sn is in Sg. This is just path-searching in a graph Nodes = states Edges = actions Is this trivial? 22

Classical Planning Generalize the earlier example: Five locations, three robot carts, 100 containers, three Classical Planning Generalize the earlier example: Five locations, three robot carts, 100 containers, three piles location 1 » Then there are 10277 states move 2 Number of particles in the universe is only about 1087 The example is more than 10190 times as large! s 1 put take location 2 move 1 Automated-planning research has been heavily dominated by classical planning Dozens (hundreds? ) of different algorithms A brief description of a few of the best-known ones 23

c a b Plan-Space Planning (Chapter 5) Decompose sets of goals into the individual c a b Plan-Space Planning (Chapter 5) Decompose sets of goals into the individual goals Plan for them separately Bookkeeping info to detect and resolve interactions Start clear(x), with x = c unstack(x, a) clear(b), handempty clear(a) putdown(x) pickup(b) handempty pickup(a) holding(a) stack(b, c) For classical planning, not used very much any more RAX and MER use temporal-planning extensions of it clear(b) stack(a, b) on(b, c) a b c Goal: on(a, b) & on(b, c) 24

Level 0 Literals in s 0 c a b Level 1 All actions applicable Level 0 Literals in s 0 c a b Level 1 All actions applicable to s 0 All effects of those actions unstack(c, a) pickup(b) Planning Graphs (Chapter 6) no-op Relaxed problem [Blum & Furst, 1995] Apply all applicable actions at once Next “level” contains all the effects of all of those actions Level 2 All actions applicable to subsets of Level 1 All effects of those actions unstack(c, a) pickup(b) c b pickup(a) stack(b, c) c a b stack(b, a) • • • putdown(b) stack(c, b) c a stack(c, a) putdown(c) no-op 25

Level 0 Literals in s 0 c a b Level 1 All actions applicable Level 0 Literals in s 0 c a b Level 1 All actions applicable to s 0 All effects of those actions unstack(c, a) pickup(b) Graphplan Level 2 no-op All actions applicable to subsets of Level 1 All effects of those actions unstack(c, a) pickup(b) c b pickup(a) For n = 1, 2, … c a b Make planning graph of n levels (polynomial time) a b State-space search within the planning graph c a Graphplan’s many children IPP, CGP, DGP, LGP, Running out PGP, SGP, TGP, … of names stack(b, c) stack(b, a) • • • putdown(b) stack(c, a) putdown(c) no-op 26

Heuristic Search (Chapter 9) Can we do an A*-style heuristic search? For many years, Heuristic Search (Chapter 9) Can we do an A*-style heuristic search? For many years, nobody could come up with a good h function But planning graphs make it feasible » Can extract h from the planning graph Problem: A* quickly runs out of memory So do a greedy search Greedy search can get trapped in local minima Greedy search plus local search at local minima HSP [Bonet & Geffner] Fast. Forward [Hoffmann] 27

Translation to Other Domains (Chapters 7, 8) Translate the planning problem or the planning Translation to Other Domains (Chapters 7, 8) Translate the planning problem or the planning graph into another kind of problem for which there are efficient solvers Find a solution to that problem Translate the solution back into a plan Satisfiability solvers, especially those that use local search Satplan and Blackbox [Kautz & Selman] 28

Types of Planners: 3. Configurable Domain-independent planners are quite slow compared with domain-specific planners Types of Planners: 3. Configurable Domain-independent planners are quite slow compared with domain-specific planners Blocks world in linear time [Slaney and Thiébaux, A. I. , 2001] Can get analogous results in many other domains But we don’t want to write a whole new planner for every domain! Configurable planners Domain-independent planning engine Input includes info about how to solve problems in the domain » Hierarchical Task Network (HTN) planning 29

Task: travel(x, y) Method: taxi-travel(x, y) get-taxi ride(x, y) pay-driver Method: air-travel(x, y) get-ticket(a(x), Task: travel(x, y) Method: taxi-travel(x, y) get-taxi ride(x, y) pay-driver Method: air-travel(x, y) get-ticket(a(x), a(y)) fly(a(x), a(y)) travel(a(y), y) travel(x, a(x)) HTN Planning (Chapter 11) travel(UMD, Toulouse) get-ticket(BWI, TLS) get-ticket(IAD, TLS) go-to-Orbitz find-flights(IAD, TLS) find-flights(BWI, TLS) buy-ticket(IAD, TLS) BACKTRACK Problem reduction travel(UMD, IAD) get-taxi Tasks (activities) rather than goals ride(UMD, IAD) Methods to decompose tasks into subtasks pay-driver fly(BWI, Toulouse) Enforce constraints, backtrack if necessary travel(TLS, LAAS) Real-world applications get-taxi ride(TLS, Toulouse) Noah, Nonlin, O-Plan, SIPE-2, pay-driver SHOP, SHOP 2 30

Comparisons up-front human effort Domain-specific Configurable Domain-independent performance Domain-specific planner Write an entire computer Comparisons up-front human effort Domain-specific Configurable Domain-independent performance Domain-specific planner Write an entire computer program - lots of work Lots of domain-specific performance improvements Domain-independent planner Just give it the basic actions - not much effort Not very efficient 31

Comparisons coverage Configurable Domain-independent Domain-specific A domain-specific planner only works in one domain In Comparisons coverage Configurable Domain-independent Domain-specific A domain-specific planner only works in one domain In principle, configurable and domain-independent planners should both be able to work in any domain In practice, configurable planners work in a larger variety of domains Partly due to efficiency Partly due to expressive power 32

Typical characteristics of application domains Dynamic world Multiple agents Imperfect/uncertain info External info sources Typical characteristics of application domains Dynamic world Multiple agents Imperfect/uncertain info External info sources » users, sensors, databases Durations, time constraints, asynchronous actions Numeric computations » geometry, probability, etc. Classical planning excludes all of these 33

Relax the Assumptions Relax A 0 (finite ): Discrete, e. g. 1 st-order logic: Relax the Assumptions Relax A 0 (finite ): Discrete, e. g. 1 st-order logic: Continuous, e. g. numeric variables Relax A 1 (fully observable ): If we don’t relax any other restrictions, then the only uncertainty is about s 0 = (S, A, E, ) S = {states} A = {actions} E = {events} : S x (A E) 2 S 34

Relax the Assumptions Relax A 2 (deterministic ): Actions have more than one possible Relax the Assumptions Relax A 2 (deterministic ): Actions have more than one possible outcome Contingency plan With probabilities: » Discrete Markov Decision Processes (MDPs) Without probabilities: » Nondeterministic transition systems = (S, A, E, ) S = {states} A = {actions} E = {events} : S x (A E) 2 S 35

Relax the Assumptions Relax A 3 (static ): Other agents or dynamic environment » Relax the Assumptions Relax A 3 (static ): Other agents or dynamic environment » Finite perfect-info zero-sum games Relax A 1 and A 3 Imperfect-information games (bridge) = (S, A, E, ) S = {states} A = {actions} E = {events} : S x (A E) 2 S 36

Relax the Assumptions Relax A 5 (sequential plans) and A 6 (implicit time): Temporal Relax the Assumptions Relax A 5 (sequential plans) and A 6 (implicit time): Temporal planning Relax A 0, A 5, A 6 Planning and resource scheduling And many other combinations = (S, A, E, ) S = {states} A = {actions} E = {events} : S x (A E) 2 S 37

A running example: Dock Worker Robots Generalization of the earlier example A harbor with A running example: Dock Worker Robots Generalization of the earlier example A harbor with several locations » e. g. , docks, docked ships, storage areas, parking areas Containers » going to/from ships Robot carts » can move containers Cranes » can load and unload containers 38

A running example: Dock Worker Robots Locations: l 1, l 2, … Containers: c A running example: Dock Worker Robots Locations: l 1, l 2, … Containers: c 1, c 2, … can be stacked in piles, loaded onto robots, or held by cranes Piles: p 1, p 2, … fixed areas where containers are stacked pallet at the bottom of each pile Robot carts: r 1, r 2, … can move to adjacent locations carry at most one container Cranes: k 1, k 2, … each belongs to a single location move containers between piles and robots if there is a pile at a location, there must also be a crane there 39

A running example: Dock Worker Robots Fixed relations: same in all states adjacent(l, l’) A running example: Dock Worker Robots Fixed relations: same in all states adjacent(l, l’) attached(p, l) belong(k, l) Dynamic relations: differ from one state to another occupied(l) at(r, l) loaded(r, c) unloaded(r) holding(k, c) empty(k) in(c, p) on(c, c’) top(c, p) top(pallet, p) Actions: take(c, k, p) load(r, c, k) put(c, k, p) unload(r) move(r, l, l’) 40