280 likes | 293 Views
Explore the use of logical reasoning in the Wumpus World game. Implement a logical agent that can perceive its environment and make decisions based on its knowledge base.
E N D
Class Project • Due at end of finals week • Essentially anything you want, so long as its AI related and I approve • Any programming language you want • In pairs or individual
Class Project • Examples: • Implement a game player • Implement supervised learning algorithms • Use a series of learning methods to classify existing data • ....? • Email me by Monday to tell me what you’re doing, and who you’re working with
Agents that Reason Logically • Logical agents have a knowledge base, from which they draw conclusions about how to act • TELL: provide new facts to the agent • ASK: decide on appropriate action • Can perceive agent at different levels: • Knowledge level (logical): What the agent “knows” • Implementation level: How the information is actually stored internally in the computer • We will concentrate on the logical level
Sample: Wumpus World • Show sample wumpus game • goal is to shoot wumpus • example of logical reasoning • Textbook example • http://baldur.mm.rpi.edu/otter/wumpus/Wumpus.html • goal is to find gold and avoid wumpus, and climb back out of cave
Some complex reasoning examples • Start in (1,1) • Breeze in (1,2) and (2,1) • Probably a pit in (2,2) • Smell in (1,1) – where can you go? • Pick a direction – shoot • Walk in that direction • Know where wumpus is
The use of logic • A logic is a formal language for representing information, and rules for drawing conclusions • Syntax: what “sentences” are legal • Semantics: what the sentences “mean” • What is true in a particular world and what isn’t • Arithmetic examples: • x+2 >= y is a sentence, x+2 > isn’t
Two kinds of logics we’ll consider • Propositional Logic (Chap 6) • Represents facts • First Order Logic (Chap 7) • Represents facts, objects, and relations
Entailment • At any given time, we have a knowledge base of information • If I were a train, I’d be late • If I were a rule, I would bend • I am a rule • The knowledge base KB entails a means a is true in all worlds where KB is true • e.g. if a = “I would bend” • KB a
Models and soundness • A world m is a model of a sentence a if a is true in m • a = It is raining today • a = The wumpus is not in (2,2) • Rules of inference allow us to derive new sentences entailed by a knowledge base • Rules of inference must be sound: sentences inferred by a KB should be entailed by that KB • What is a non-sound inference? • Video
Enumeration is too computationally intense • For n proposition symbols, enumeration takes 2n rows (exponential) • Inference rules allow you to deduce new sentences from the KB • Can use inference rules as operators in a standard search algorithm • Think of testing if something as true as searching for it
Common inference rules for propositional logic • Modus Ponens (Implication-Elimination) • And-EliminationAnd-Introduction • “Or Introduction”
Double-Negation Elimination Unit Resolution Resolution Common inference rules for propositional logic
A propositional logic agent in Wumpus World • Agent does not perceive its own location (unlike sample game), but it can keep track of where it has been • Percepts: • Stench – wumpus is nearby • Breeze – pit is nearby • Glitter – gold is here • Bump – agent has just bumped against a wall • Scream – agent has heard another player die
Wumpus Agent • Actions • Forward, Turn Left, Turn Right • Grab (gold) • Shoot (shoots arrow forward until hits wumpus or wall) • agent only has one arrow • Climb (exit the cave)
Wumpus Agent • Death • Agent dies if it enters a pit or square with wumpus • Goal: get gold and climb back out. Don’t die. • 1000 points for climbing out of cave with gold • 1 point penalty for each action taken • 10,000 point penalty for death
Example of using logic in Wumpus World • KB contains:
KB also contains knowledge of environment • No stench no wumpus nearby • Stench wumpus nearby
We can determine where wumpus is! • Method 1: Truth table • At least 14 symbols currently: S1,1, S2,1, S1,2, S2,2, W1,1, W2,1, W1,2, W2,2, W3,1, W1,3, B1,1, B2,1, B1,2, B2,2 • 214 rows, ouch!
We can determine where wumpus is! • Method 2: Inference • Modus Ponens • And-Elimination
Inference continued... • Modus Ponens and And-Elimination again: • One more Modus Ponens:
Inference continued... • Unit Resolution: Wumpus is in (1,3)!!! Shoot it. Shoot where?
Determining action based on knowledge • Propositional logic cannot answer question “What action should I take?” • It only answers “Should I take action X?”
Propositional logic doesn’t cut the mustard in this application • Rule: “Shoot if the wumpus is in front of you” • 16 x 4 = 64 rules for the 4x4 grid • Agent needs to know where it was, to backtrack • A1,1 A11,1 ,A21,1 ,A31,1,etc. • superscript is time index • 64 rules over 100 time units : • 6400 rules explodes wide open
First-order logic to the rescue • Uses variables to represent generalities • Can reduce those 6400 rules down to 1 • on to Chapter 7