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 from last year: Computer game players: Go, Checkers, Connect Four, Chess, Poker Computer puzzle solvers: Minesweeper, mazes Pac-Man with intelligent monsters Genetic algorithms: blackjack strategy simulated ant colony Automated 20-questions player Neural network spam filter Decision tree software Attempting to maximize learning performance on a particular dataset Implement a game player Implement supervised learning algorithms Use a series of learning methods to classify existing data....? me by Monday to tell me what you’re doing, and who you’re working with
Agents that Reason Logically Logical agents have knowledge base, from which they draw conclusions TELL: provide new facts to agent ASK: decide on appropriate action
Sample: Wumpus World Show original wumpus game goal is to shoot wumpus example of logical reasoning index.shtml index.shtml Our version: Find gold, avoid wumpus, climb back out of cave
A Wumpus Agent 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 Actuators: 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) Environment: 4x4 grid, start at (1,1) facing right
Wumpus Agent Death Agent dies if it enters a pit or square with wumpus Goal: get gold and climb back out. Don’t die points for climbing out of cave with gold 1 point penalty for each action taken 10,000 point penalty for death
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: formal language for representing information, rules for drawing conclusions Two kinds of logics: Propositional Logic (Chap 7) Represents facts First Order Logic (Chap 8) Represents facts, objects, and relations
Models and soundness Model = “possible world” A world m is a model of a sentence if is true in m = It is raining today = 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
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 means is true in all worlds where KB is true e.g. if = “I would bend” KB
Propositional Logic: Syntax
Propositional Logic: Semantics
Inference by Enumeration
Enumeration Solution: is entailed by KB?
Enumeration is too computationally intense For n proposition symbols, enumeration takes 2 n 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
Modus Ponens (Implication-Elimination) And-Elimination And-Introduction “Or Introduction” Common inference rules for propositional logic
Double-Negation Elimination Unit Resolution Resolution Common inference rules for propositional logic
Example of using logic in Wumpus World Stench Agent StartBreeze 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: S 1,1, S 2,1, S 1,2, S 2,2, W 1,1, W 2,1, W 1,2, W 2,2, W 3,1, W 1,3, B 1,1, B 2,1, B 1,2, B 2,2 2 14 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 well the question “What action should I take?” It only answers “Should I take action X?”
Propositional logic seems inefficient Rule: “Shoot if the wumpus is in front of you” 16 x 4 = 64 rules for the 4x4 grid Ditto for pits
First-order logic to the rescue Uses variables to represent generalities Can reduce rules significantly