1 / 89

Logical Agents

Logical Agents. Russell & Norvig Chapter 7. Programming Language Moment. We often say a programming language is procedural or declarative. What is meant by that?. Declarative Statements in Prolog (variables begin with capital letter). fun(X) :-                 /* an item is fun if */

Download Presentation

Logical 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. Logical Agents Russell & Norvig Chapter 7

  2. Programming Language Moment • We often say a programming language is procedural or declarative. • What is meant by that?

  3. Declarative Statements in Prolog(variables begin with capital letter) fun(X) :-                 /* an item is fun if */         red(X),           /* the item is red */         car(X).           /* and it is a car */ fun(X) :-                 /*  or an item is fun if */         blue(X),          /* the item is blue */         bike(X).          /* and it is a bike */ fun(ice_cream).     /* ice cream is also fun. */

  4. Knowledge bases • Knowledge base = set of sentences in a formal language • Declarative approach to building an agent (or other system): • Tell it what it needs to know • Then it can Ask itself what to do - answers should follow from the KB • Agents can be viewed at the knowledge level i.e., what they know, regardless of how implemented • Or at the implementation level • i.e., data structures in KB and algorithms that manipulate them

  5. Terms • percept - information I sense or “perceive” • Tell – way of updating the contents of the knowledge base • Ask – ask KB to tell you want to do

  6. A simple knowledge-based agent • The agent must be able to: • Represent states, actions, etc. • Incorporate new percepts • Update internal representations of the world • Deduce hidden properties of the world • Deduce appropriate actions

  7. Performance measure gold +1000, death -1000 -1 per step, -10 for shooting Environment Squares adjacent to wumpus are smelly Squares adjacent to pit are breezy Glitter iff gold is in the same square Shooting kills wumpus if you are facing it Shooting uses up the only arrow Grabbing picks up gold if in same square Releasing drops the gold in same square Sensors: Stench, Breeze, Glitter, Bump, Scream Actuators: Left turn, Right turn, Forward, Grab, Release, Shoot Wumpus World PEAS (performance, environment, sensors, actuators) description

  8. Accessible vs inaccessible – have complete information about environment state? Deterministic vs Nondeterministic outcomes exactly specified? Episodic vs history sensitive (sequential) – actions in episode have no relationship to actions in other episodes Static vs dynamic changes only by actions of agent? Discrete vs continuous- fixed, finite number of actions/percepts? Single-agent vs multi-agent? How many agents? How would you categorize wumpus world? Categorization of Environments

  9. Wumpus world characterization • FullyObservable/Accessible No – only local perception • Deterministic Yes – outcomes exactly specified • Episodic Yes – environment doesn’t respond to runs, only state. • Static Yes – Wumpus and Pits do not move • Discrete Yes • Single-agent? Yes – Wumpus is essentially a natural feature (not an agent)

  10. How would you direct the agent what to do?What does this remind you of?

  11. Exploring a wumpus world Upper Left indicates precepts B: Breeze S: Stench G: Glitter Upper Right Status OK: Safe, no pit or wumpus ?: Unknown P?: Could be Pit In Center [A]: Agent has been there P: is a Pit W: is a Wumpus

  12. Exploring a wumpus world Sense a breeze, so what do I know?

  13. Exploring a wumpus world So what should I do?

  14. Exploring a wumpus world

  15. Exploring a wumpus world

  16. Exploring a wumpus world

  17. Exploring a wumpus world What is sensor in 2,2? Do sensors note Pit or Wumpus in diagonal square? Do I really know 2,3 and 3,2 are okay?

  18. Exploring a wumpus world Will I always know exactly what to do? Give an example?

  19. Logic in general • Logics are formal languages for representing information such that conclusions can be drawn • Syntax defines the sentences in the language • Semantics define the "meaning" of sentences; • i.e., define truth of a sentence in a world • E.g., the language of arithmetic • x+2 ≥ y is a sentence; x2+y > {} is not a sentence • x+2 ≥ y is true iff the number x+2 is no less than the number y • x+2 ≥ y is true in a world where x = 7, y = 1 • x+2 ≥ y is false in a world where x = 0, y = 6 • Sometimes use the term “possible worlds”

  20. Entailment • Entailment means that one thing follows from another: KB ╞α • Knowledge base KB entails sentence α if and only if α is true in all worlds where KB is true • Playing mud football “entails” getting muddy • E.g., the KB containing “the Giants won” and “the Reds won” entails “Either the Giants won or the Reds won” • E.g., x+y = 4 entails 4 = x+y • E.g. xy=1 entails what? • Entailment is a relationship between sentences (i.e., syntax) that is based on semantics Entailment doesn’t say you can prove it – only that it is true!

  21. Models • Logicians typically think in terms of models, which are formally structured worlds with respect to which truth can be evaluated • We say mis a model of a sentence α if α is true in m • M(α) is the set of all models of α – or all possible worlds where α is true • Then KB ╞ α iff M(KB)  M(α) In other words, the KB doesn’t contain any models in which α isn’t true. E.g. • KB = Giants won and Redswon • α = Giants won

  22. Example • : fruits are low calorie • A model of the sentence is a world with tomatoes. • M() – all models where  is true. • M(KB) - all models legal in our knowledge base All Fruity worlds dried fruits papaya apple cherries grapefruit mango banana

  23. Entailment in the wumpus world Situation after detecting nothing in [1,1], moving right, breeze in [2,1] Consider possible models for KB assuming only pits Can’t go diagonal, so only consider choices from [A] squares. 3 Boolean choices for ? squares  8 possible models

  24. All Possible Wumpus models (Pits only – show all “possible”)

  25. Wumpus models • KB (red)= wumpus-world rules + observations • Blue can’t happen as inconsistent with percepts

  26. Wumpus models • Remember KB ╞ α iff M(KB)  M(α) • KB = wumpus-world rules + observations • α1 = "[1,2] is safe", KB ╞ α1, proved by model checking • Notice set of α1 includes some models not allowed in KB • In all possible models in KB, [1,2] is safe

  27. Wumpus models • Can we prove [2,2] is safe?

  28. Wumpus models • KB = wumpus-world rules + observations • α2 = "[2,2] is safe", KB ╞ α2

  29. Inference • KB ├i α = sentence α can be derived from KB by procedure (set of rules)i • Soundness: i is sound if whenever KB ├i α, it is also true that KB╞ α (only true things are derived) • Completeness: i is complete if whenever KB╞ α, it is also true that KB ├i α (if α is true, we can derive it) • Preview: we will define a logic (first-order logic) which is expressive enough to say almost anything of interest, and for which there exists a sound and complete inference procedure. • That is, the procedure will answer any question whose answer follows from what is known by the KB.

  30. Propositional logic: Syntax • Propositional logic is the simplest logic – illustrates basic ideas • Each symbol can be true or false • The proposition symbols P1, P2 etc are sentences • If S is a sentence, S is a sentence (negation) • If S1 and S2 are sentences, S1 S2 is a sentence (conjunction) • If S1 and S2 are sentences, S1 S2 is a sentence (disjunction) • If S1 and S2 are sentences, S1S2 is a sentence (implication) • If S1 and S2 are sentences, S1S2 is a sentence (biconditional) Is this notation familiar?

  31. Propositional (boolean) logic: Semantics Each model specifies true/false for each proposition symbol E.g. P1,2 P2,2 P3,1 false true false With these symbols, 8 possible models, can be enumerated automatically. Rules for evaluating truth with respect to a model m: S is true iff S is false S1 S2 is true iff S1 is true and S2 is true S1 S2 is true iff S1is true or S2 is true S1 S2 is true iff S1 is false or S2 is true i.e., is false iff S1 is true and S2 is false S1 S2 is true iff S1S2 is true andS2S1 is true Simple recursive process evaluates an arbitrary sentence, e.g., P1,2  (P2,2 P3,1) = true (true  false) = true true = true

  32. Truth tables for connectives

  33. Exploring a wumpus world What Predicates are known?

  34. Wumpus world sentences Let Pi,j be true if there is a pit in [i, j]. Let Bi,j be true if there is a breeze in [i, j].  P1,1 B1,1 B2,1 • "Pits cause breezes in adjacent squares" B1,1 (P1,2 P2,1) B2,1  (P1,1 P2,2  P3,1) B2,2  (P1 2  P3 2  P2 3  P2,1)

  35. Idea • Consider all possible values of propositions • Throw out ones made invalid by KB • Examine  in remaining possibilities • Would work, but is exponential, right?

  36. Truth tables for inference •  P1,1 • B1,1 • B2,1 (actually different than world of previous slide) •  P2,1 (as you are there and feel breeze) •  is P1,2

  37. Inference by enumeration – consider all models of KB • Depth-first enumeration of all models is sound and complete • For n symbols, time complexity is O(2n), space complexity is O(n) • Notice – try each possible value for symbol • PL-True?(sentence,model) returns true if sentence holds within model

  38. Logical equivalence • Two sentences are logically equivalent} iff true in same models: α ≡ ß iff α╞ βand β╞ α

  39. Deduction theorem • Known to the ancient Greeks: • For any sentences  and , ( ╞ ) if and only if the sentence (  ) is valid.

  40. Validity and satisfiability A sentence is valid if it is true in all models, e.g., True, A A, A  A, (A  (A  B))  B Validity is connected to inference via the Deduction Theorem: KB ╞ α if and only if (KB α) is valid example: : Ali will be accepted to USU A sentence is satisfiable if it is true in some model e.g., A B, C I can make it true; some way of satisfying example: : Ali will get an A in 6100 Many problems in computer science are really satisfiability problems. For example, constraint satisfaction. With appropriate transformations, search problems can be solved by constraint satisfaction. For example, “Find the shortest path to WalMart” becomes “Is there a path to WalMart of less than two miles?”

  41. Validity and satisfiability A sentence is unsatisfiable if it is true in no models e.g., AA example: : Ali will get an A in 6411 (No such class exists for him to take.) We are familiar with this as proof by contradiction. Satisfiability is connected to inference via the following: KB ╞ α if and only if (KBα) is unsatisfiable

  42. Proof methods • Proof methods divide into (roughly) two kinds: Every known inference algorithm for propositional logic has a worst case complexity that is exponential in the size of the input • Model checking (as we saw) • truth table enumeration (always exponential in n) • improved backtracking, e.g., Davis--Putnam-Logemann-Loveland (DPLL) • – Can I find an assignment of variables which makes this true? • heuristic search in model space (sound but incomplete: doesn’t lie, but may not find a solution when one exists) e.g., min-conflicts (guess something that makes the fewest clauses unhappy) hill-climbing algorithms • Application of inference rules • Legitimate (sound) generation of new sentences from old • Proof = a sequence of inference rule applications Can use inference rules as operators in a standard search algorithm Typically require transformation of sentences into a normal form

  43. Reasoning patterns • Modus Ponens  ,  ______________  • And Elimination  ______________  • Can be used wherever they apply without the need for enumerating models. • A series of inferences (a proof) is an alternative to enumerating models. • In the worst case, searching for proofs is no more efficient than enumerating models. However, finding a proof can be highly efficient The horizontal line separates the “if” part from the “then” part.

  44. Resolution Conjunctive Normal Form (CNF) conjunction of disjunctions of literals clauses E.g., (A B)  (B C D) • Resolution inference rule (for CNF): li… lk, m1 … mn li … li-1 li+1  … lkm1 … mj-1 mj+1... mn where li and mj are complementary literals. E.g., P1,3P2,2, P2,2 P1,3 This single rule, Resolution, coupled with a search algorithm yields a sound and complete inference algorithm. Think, if B is true, what do I know? If B is false, what do I know? Since B must be true or false, what do I now know?

  45. Refutation Completeness • Given A is true, we cannot use resolution to generate that AB is true • We can use resolution to argue whether AB is true. This is termed refutation completeness. • but first, we need to get our rules in a form that resolution works on

  46. Conversion to CNF (conjunctive normal form, conjunction of disjunctions) B1,1 (P1,2 P2,1) • Eliminate , replacing α  β with (α  β)(β  α). (B1,1 (P1,2 P2,1))  ((P1,2 P2,1)  B1,1) 2. Eliminate , replacing α  β with α β. (B1,1 P1,2 P2,1)  ((P1,2 P2,1)  B1,1) 3. Move  inwards using de Morgan's rules and double-negation: (B1,1  P1,2 P2,1)  ((P1,2 P2,1)  B1,1) 4. Apply distributive law ( over ) and flatten: (B1,1 P1,2 P2,1)  (P1,2  B1,1)  (P2,1 B1,1)

  47. Resolution Algorithms • In order to show KB ╞ , we show (KB ) is unsatisfiable. We do this by proving a contradiction • What will a contradiction look like in resolution • What if we have So what does deriving NOTHING mean?

  48. Resolution algorithm • Proof by contradiction, i.e., show KBα unsatisfiable Notice the contradiction so getting an empty means we got a contradiction and KB does imply  So when we return true, we mean the clause IS unsatisfiable

  49. Resolution example • We want to show that  B1,1P1,2 • KB = (B1,1 (P1,2 P2,1)) B1,1 • α = P1,2 • Suppose  is true and show contradiction (B1,1 P1,2 P2,1)  (P1,2  B1,1)  (P2,1 B1,1)

  50. The Ground Resolution Theorem • If a set of clauses is unsatisfiable, then the resolution closure of those clauses contains the empty clause. • Let’s take a break from this chapter and go back into our text!

More Related