1 / 11

Planning and Action Execution in Goal-Based Agents

This presentation discusses the planning mechanisms for goal-based agents, focusing on key concepts such as state representation, action applicability, and goal achievement. Using the Blocks World example, we illustrate how initial states, goals, and the effects of actions shape decision-making processes. We examine the preconditions for actions and their resultant effects, demonstrating forward and backward state-space search methodologies. Furthermore, we touch on the Planning Graph approach, showcasing its application in real-world problems such as tire repairs, emphasizing its role in generating feasible solutions or identifying failures.

erelah
Télécharger la présentation

Planning and Action Execution in Goal-Based Agents

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ch. 10 – Planning Supplemental slides for CSE 327 Prof. Jeff Heflin

  2. Goal-Based Agent sensors State What the world is like now How the world evolves Environment What it will be like if I do action A What my actions do What action I should do now Goals actuators Agent From Fig. 2.13, p. 52

  3. Blocks World Example • initial state • On(A,Table)  On(B,Table)  Clear(A)  Clear(B)  Clear(Table)  Block(A)  Block(B) • goal • On(A,B) • actions Action(Move(b,x,y) , Precond: On(b,x)  Clear(b)  Clear(y)  Block(y), Effect: On(b,y)  Clear(x) On(b,x) Clear(y)) Action(MoveToTable(b,x), Precond: On(b,x)  Clear(b), Effect: On(b,Table)  Clear(x) On(b,x))

  4. Action(Move(b,x,y), Precond: On(b,x)  Clear(b)  Clear(y)  Block(y), Effect: On(b,y)  Clear(x) On(b,x) Clear(y)) Action(MoveToTable(b,x), Precond: On(b,x)  Clear(b), Effect: On(b,Table)  Clear(x) On(b,x)) an action a is applicable in any state that satisfies the precondition e.g., Move(A,Table,B) is applicable in initial state unify with action description apply substitution  ={b/A, x/Table, y/B} to the action’s Precondition initial state satisfies On(A,Table)  Clear(A)  Clear(B)  Block(B) Applicable Actions Initial State: On(A,Table)  On(B,Table)  Clear(A)  Clear(B)  Clear(Table)  Block(A)  Block(B)

  5. A Blocks World Problem • initial state • On(A,Table)  On(B,Table)  On(C,Table)  Clear(A)  Clear(B)  Clear(C)  Clear(Table)  Block(A)  Block(B)  Block(C) • goal state • On(B,C)  On(A,B)  On(C,Table) • actions • Action(Move(b,x,y) , Precond: On(b,x)  Clear(b)  Clear(y)  Block(y), Effect: On(b,y)  Clear(x) On(b,x) Clear(y)) • Action(MoveToTable(b,x), Precond: On(b,x)  Clear(b), Effect: On(b,Table)  Clear(x) On(b,x))

  6. Forward State-Space Search Move(A,T,B) MoveToTable(B,C) Move(A,T,C) Move(B,T,A) Move(B,C,A) On(A,T) ^ On(B,T) ^ On(C,T) ^ Clear(A) ^ Clear(B) ^ Clear(C) ^ Clear(T) On(A,T) ^ On(B,T) ^ On(C,T) ^ Clear(A) ^ Clear(B) ^ Clear(C) ^ Clear(T) ^ On(B,C) On(A,T) ^ On(C,T) ^ Clear(A) ^ Clear(B) ^ Clear(T) ^ On(B,C) ^ On(A,B) Move(B,T,C) Move(A,T,B) Move(A,T,A) Move(C,T,A) spurious actions Move(B,C,B) Move(C,T,B) MoveToTable(A,T) MoveToTable(A,T) MoveToTable(B,T) MoveToTable(C,T) spurious actions Move(A,T,A) Move(B,T,B) Move(C,T,C)

  7. Backward State-Space Search On(B,C) ^ On(A,B) ^ On(C,T) GOAL: MoveToTable(C,x) Move(B,x,C) xC Move(A,x,B) xB Move(C,x,T) On(A,B) ^ On(C,T) ^ On(B,x) ^ Clear(B) ^ Clear(C) On(B,C) ^ On(C,T) ^ On(A,x) ^ Clear(A) ^ Clear(B) ? ? Move(B,y,C) yC Move(A,y,B)? On(C,T) ^ On(A,x) ^ Clear(A) ^ Clear(B) ^ On(B,y) ^ Clear(C) INITIAL STATE: (if x=T and y= T) Not relevant:has effect delete Clear(B) bold – literal that was added to the predecessor underline – goal is not satisfied by initial state

  8. Planning Graph Example • Init(Have(Cake) • Goal(Have(Cake)  Eaten(Cake)) • Action(Eat(Cake) • PRECOND: Have(Cake) • EFFECT: Have(Cake)  Eaten(Cake)) • Action(Bake(Cake) • PRECOND: Have(Cake) • EFFECT: Have(Cake) Missing from book From Fig. 10.8, p. 380

  9. GraphPlan functionGraphPlan(problem) returns solution or failure graph  Initial-Planning-Graph(problem)goals  Conjuncts (problem.Goal)nogoods an empty hash tablefort = 0 to doif goals all non-mutex in Stof graph thensolution  Extract-Solution(graph, goals, NumLevels(graph),nogoods)ifsolution ≠ failure then returnsolutionifgraph and nogoods have both leveled off then return failure graph  Expand-Graph(graph, problem) From Fig. 10.9, p. 383

  10. Spare Tire Problem Init(Tire(Flat)  Tire(Spare)  At(Flat,Axle)  At(Spare,Trunk)) Goal(At(Spare,Axle)) Action(Remove(obj,loc),PRECOND: At(obj,loc),EFFECT: At(obj,loc)  At(obj,Ground)) Action(PutOn(t, Axle),PRECOND: Tire(t)  At(t,Ground) At(Flat,Axle),EFFECT: At(t,Ground)  At(t,Axle)) Action(LeaveOvernight,PRECOND: ,EFFECT: At(Spare,Ground) At(Spare,Axle) At(Spare,Trunk) At(Flat,Ground) At(Flat,Axle) At(Flat,Trunk)) From Fig. 10.2, p. 370

  11. Spare Tire Planning Graph From Fig. 10.10, p. 384

More Related