1 / 38

CS 4100 Artificial Intelligence

CS 4100 Artificial Intelligence. Prof. C. Hafner Class Notes Feb 14, 2012. Assignment 5. Why you must re-standardize variables every time a rule is retrieved. Test data in assignments/A5sampleInputs easy average hard veryhard. State space search examples. 4. 4. 3. S. E. A. B. F.

kaipo
Télécharger la présentation

CS 4100 Artificial Intelligence

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. CS 4100 Artificial Intelligence Prof. C. Hafner Class Notes Feb 14, 2012

  2. Assignment 5 • Why you must re-standardize variables every time a rule is retrieved. • Test data in assignments/A5sampleInputs • easy • average • hard • veryhard

  3. State space search examples 4 4 3 S E A B F C G D 5 C B 5 4 6.7 10.4 4.0 A 3 S 2 4 11.0 G 8.9 D 3.0 E 6.9 F

  4. New Topic: AI planning • Generating plans • Given: • A way to describe the world (“ontology”) • An initial state of the world • A goal description • A set of possible actions to change the world • Find: • A sequence of actions to change the initial state into one that satisfies the goal • Note similarity to state space search (e.g., 8 puzzle) • Planning extends to more complex worlds and actions

  5. States of the world have partial descriptions (assertions of agent’s beliefs about its current situation) S1 [ ┐holds(at(home)) ] S0 go(store) holds(at(store)) holds(color(door, red)) paint(door, green) S2 holds(at(home)) holds(color(door, red))

  6. Applications • Mobile robots • An initial motivator, and still being developed • Simulated environments • Goal-directed agents for training or games • Web and grid environments • Intelligent Web “bots” • Workflows on a computational grid • Managing crisis situations • E.g. oil-spill, forest fires, urban evacuation, in factories, … • And many more • Factory automation, flying autonomous spacecraft, playing bridge, military planning, …

  7. Plannning challenge: Representing change • As actions change the world OR we consider possible actions, we need to: • Know how an action will alter the world • Keep track of the history of world states (avoid loops) • 3 approaches: • Strips approach with total order planning (state space search) • Strips approach with partial order planning (POP) • Situation calculus

  8. “Classical Planning” Assumptions • Discrete Time • Instantaneous actions • Deterministic Effects • Omniscience • Sole agent of change • Goals of attainment (not avoidance)

  9. Strips • Highly influential representation for actions: • Instead of F: state X action  next state, uses a set of planning operators for achieving goals and subgoals • Preconditions (list of propositions to be true) • Delete list (list of propositions that will become false) • Add list (list of propositions that will become true) • [Implementation] • More efficient to capture known strategies instead of searching the space of possible primitive actions and resulting states.

  10. Example problem: Initial state: at(home), ┐have(beer), ┐have(chips) Goal: have(beer), have(chips), at(home) Operators: Buy (X): Pre: at(store) Add: have(X) Go (X, Y): Pre: at(X) Del: at(X) Add: at(Y)

  11. States of the world have partial descriptions (assertions of agent’s beliefs S1 [ ┐holds(at(home)) ] S0 go(store) holds(at(store)) holds(color(door, red)) mow_lawn() S2 holds(at(home)) holds(color(door, red))

  12. Frame problem (again) • I go from home to the store, creating a new situation S’. In S’: • The store still sells chips • My age is still the same • Los Angeles is still the largest city in California… • How can we efficiently represent everything that hasn’t changed? • Strips provides a good solution for simple actions

  13. Another problem: Ramification problem • I go from home to the store, creating a new situation S’. In S’: • I am now in Marina del Rey • The number of people in the store went up by 1 • The contents of my pockets are now in the store.. • Do we want to say all that in the action definition?

  14. Solutions to the frame and ramification problems • In Strips, some facts are inferred within a world state, • e.g. the number of people in the store • All other facts, e.g. at(home) persist between states unless changed (remain unless on delete list) • A challenge for knowledge engineer to avoid mistakes

  15. Questions about Strips • What would happen if the order of goals was at(home), have(beer), have(chips) ? • When Strips returns a plan, is it always correct? efficient? • Can Strips always find a plan if there is one?

  16. Strips operators for blocks world • Move-to (x, b): • Preconditions: Isa(b,Block), On(x, y), Cleartop(x), Cleartop(b) • Add: On(x, b), Cleartop(y) • Delete: On(x, y), Cleartop(b) • Implementation: Puton(x, Topof(b)) • Move-to(x, Table): • Preconditions: • Add: On(x, Table) • Delete: • Implementation: Findspace(x, Table), Puton(x, Table)

  17. Example: blocks world (Sussman anomaly) Initial: Goal: A State I: (On A Table) (On C A) (On B Table) (Cleartop B) (Cleartop C) Goal: (On A B) (On B C) “Naïve” planning algorithm output: Put C on table, put A on B [goal 1 accomplished], put A on table, put B on C [both goals accomplished] DONE!!!! C B A B C

  18. Partial Order Planning (POP) • Explicitly views plans as a partial order of steps. Add ordering into the plan as needed to guarantee it will succeed. • Avoids the problem in Strips, that focussing on one subgoal forces the actions that resolve that goal to be contiguous.

  19. How to get dressed • State: {} • Goal {RightShoeOn, LeftShoeOn} • Plan Operators: • PutRshoe, Precond: RightSockOn, Effect: RightShoeOn • PutLshoe, Precond: LeftSockOn, Effect: LeftShoeOn • PutRsock, Effect: RightSockOn • PutLsock, Effect: LeftSockOn • Create a POP graph of solutions with causal links: “A achieves P for B” A B (also called protection links). This prevents another goal from causing a sock to be removed before the shoe goes on. p

  20. Total-Order vs Partial-Order Plans

  21. Initial State: Goal: A C B A B C Remember the “Sussman Anomaly” State I: (On A Table) (On C A) (On B Table) (Cleartop B) (Cleartop C) Goal: (On A B) (On B C)

  22. POP using Nets Of Action Hierarchies on(a, b) S J on(b, c) clear(a) puton(a, b) S J clear(b) S J clear(b) puton(b, c) S J clear(c)

  23. Nets Of Action Hierarchies on(a, b) S J on(b, c) clear(a) puton(a, b) S J clear(b) S J clear(b) puton(b, c) S J clear(c) Add a “threat” link to the network of plan actions

  24. Resolve threat with an “order” link clear(a) puton(a, b) S J clear(b) S J clear(b) puton(b, c) S J clear(c) clear(a) puton(a, b) S J clear(b) S J clear(b) puton(b, c) S J clear(c)

  25. clear(a) puton(a, b) S J clear(b) S J clear(b) puton(b, c) S J clear(c) clear(a) puton(a, b) J S clear(b) puton(b, c) S J clear(c)

  26. clear(a) puton(a, b) J S clear(b) puton(b, c) S J clear(c) puton(c, X) clear(a) puton(a, b) J S clear(b) puton(b, c) S J clear(c)

  27. Final plan puton(c, X) clear(a) puton(b, c) puton(a, b) J S clear(b)

  28. Planning using logic and resolution: The situation calculus • Key idea: represent a snapshot of the world, called a ‘situation’ explicitly. • ‘Fluents’ are statements that are true or false in any given situation, e.g. ‘I am at home’ • Actions map situations to situations.

  29. Blocks world example • A move action: Move(x, loc) • Use of the Result function: Result(Move(x, loc), state)  the state resulting from doing the Move action • An axiom about moving: x loc s [ At(x, loc, Result(Move(x, loc), s)) ] “If you move some object to a location, then in the resulting state that object is at that location • At(B1, Table, S0) • At(B1, Top(B2), Result(Move(B1, Top(B2)), S0)) using the axiom

  30. Monkeys and Bananas Problem • The monkey-and-bananas problem is faced by a monkey standing under some bananas which are hanging out of reach from the ceiling. There is a box in the corner of the room that will enable the monkey to reach the bananas if he climbs on it. • Use situation calculus to represent this problem and solve it using resolution theorem proving.

  31. Representation of Monkey/Banana problem • Fluents: Constants: • At(x, loc, s) - BANANAS • On(x, y, s) - MONKEY • Reachable(x, Bananas, s) - BOX • Has(x, y, s) - S0 • Other predicates - CORNER • Moveable(x), Climbable(x) - UNDER-BANANAS • Can-move(x) • Actions • Climb-on(x, y) -- Move(x, loc) • Reach(x, y) -- Push(x, y, loc)

  32. Monkey/Bananas axioms 1. ∀ x1, s1 [ Reachable(x1, BANANAS, s1)  Has(x1, BANANAS, Result(Reach(x1, BANANAS), s1)) ] If a person can reach the bananas then the result of reaching them is to have them. 2. ∀ s2 [At(BOX, UNDER-BANANAS, s2) ^ On(MONKEY, BOX, s2)  Reachable(MONKEY, BANANAS, s2) If a box is under the bananas and the monkey is on the box then the monkey can reach the bananas.

  33. Monkey/Bananas axioms 3. ∀ x3, loc3, s3 [ Can-move(x3)  At(x3, loc, Result(Move(x3, loc3), s3)) ] The result of moving to a location is to be at that location 4. ∀ x4, y4, s4 [∃ loc4 [At(x4, loc4, s4) ^ At(y4, loc4, s4)] ^ Climbable(y4)  On(x4, y4, Result(Climb-on(x4, y4), s4))] The result of climbing on an object is to be on the object 5. ∀ x5, y5, loc5, s5 [∃ loc [At(x, loc0, s) ^ At(y5, loc0, s5) ] ^ Moveable(y5)  At(y5, loc5, Result(Push(x5, y5, loc5), s5)) 6. <same>  At(x6, loc6, Result(Push(x6, y6, loc6), s6)) ] The result of x pushing y to a location is both x and y are at that location.

  34. Monkey/Bananas axioms (initial state S0) F1. Moveable(BOX) F2. Climbable(BOX) F3. Can-move(MONKEY) F4. At(BOX, CORNER, S0) F5. At(MONKEY, UNDER-BANANAS, S0) • To solve this for the goal Has(MONKEY, BANANAS, s): • Convert to clause form • Apply resolution to prove something like this: Has(MONKEY, BANANAS, Result(Reach( . . . ), Result(. .) . .), S0) which gives you the plan in reverse order. (don’t forget to standardize!)We need 2 additional “frame axioms” for the proof

  35. Frame Axioms for Monkey/Bananas world 7. ∀ x, y, loc, s [ At(x, loc, s)  At(x, loc, Result(Move(y, loc), s)) ] The location of an object does not change as a result of someone moving to the same location. 8. ∀ x, y, loc, s [ At(x, loc, s)  At(x, loc, Result(Climb-on(y, x), s)) ] The location of an object does not change as a result of someone climbing on it.

  36. Refutation Resolution as the theoretical basis of BC A query is conceptualized with existential variables: ? Likes(John, x) means ? ∃x Likes(John, x) to answer the question, assert its NEGATION, and attempt to derive a contradiction by RESOLVING TO THE EMPTY CLAUSE! ~ ∃x Likes(John, x) is equivalent to ∀ x ~ Likes(John, x), so add that to the KB and try to derive the empty clause Resolution rule: [A1 V A2 V . . . An] ^ [B1 V B2 V . . Bm V ~A1’] where A1 and A1’ unify --------------------------------------------------------------- [ A2’ V . . . An’ ] ^ [B1’ V B2’ V . . . Bm’] Likes(John, Pizza) ^ ~ Likes(John, x) resolves to { }, given {x/Pizza}

  37. A Limitation of Situation Calculus: The Frame problem • I go from home (S) to the store, creating a new situation S’. In S’: • My friend is still at home • The store still sells chips • My age is still the same • Los Angeles is still the largest city in California… • How can we efficiently represent everything that hasn’t changed?

  38. Successor state axioms • Normally, things stay true from one state to the next -- unless an action changes them: At(p, loc, Result(a, s)) iff a = Go(p, x) or [At(p, loc, s) and a != Go(p, y)] • We need one or more of these for every fluent • Now we can use theorem proving (or possibly backward chaining) to deduce a plan: not very practical

More Related