Lecture 6-2 CS250: Intro to AI/Lisp
Declaring Your Knowledge
Lecture 6-2
November 4th, 1999
CS250/350
Lecture 6-2 CS250: Intro to AI/Lisp
Keep your eye on the prize
• Why did we study heuristic search?
• How else can we incorporate knowledge
Lecture 6-2 CS250: Intro to AI/Lisp
Designing an Interplanetary Explorer
• Goals for the explorer
• Actions we can take
• Situations that might arise
Lecture 6-2 CS250: Intro to AI/Lisp
Telling Your Computer about the World
• What you know
• How to go from what you know to what you don’t know
• Will Rogers
Lecture 6-2 CS250: Intro to AI/Lisp
Knowledge Base
Knowledge base:Database :: Knowledge:Data
• KB stores what the computer knows about the world
• Knowledge representation language– How we encode knowledge about the
world– Each bit of knowledge is a sentence
Lecture 6-2 CS250: Intro to AI/Lisp
OuRover
• Goals– Gather core samples– Gather rocks– Video sequence of interesting places
• Actions– Drill to depth d– Move forward, backward– Rotate r degrees– Transmit audio/video
Lecture 6-2 CS250: Intro to AI/Lisp
Getting through to your computer
• KB Interaction– Tell: Add new sentences to the KB– Ask: Query what’s known (or what follows
from what is known)
• Inference procedure goes from what’s unknown to what’s known
Lecture 6-2 CS250: Intro to AI/Lisp
How true is it?
• Valid– Necessarily true under all interpretations in
all worlds– Tautology
A A
• Satisfiable– True sometimes
A B
Lecture 6-2 CS250: Intro to AI/Lisp
Knowledge-Based Agents
Agents perceive the world around them Perceptions are recorded in the KB Actions are chosen based on the KB Results of actions are recorded
Lecture 6-2 CS250: Intro to AI/Lisp
Levels of Agents
• Knowledge level– What an agent knows– Planetary core samples must be taken at
least 100mm below the surface
• Logical level– Knowledge is encoded at this level– MinDepth(CoreSample,100)
• Implementation level– Inside the machine
Lecture 6-2 CS250: Intro to AI/Lisp
Building Knowledge Agents
• Lean on the inference mechanism– Tell agent what it needs to know
• Declarative– Declare the state of the world, and let ‘er
rip
• Adding learning– Reacting to percepts
Lecture 6-2 CS250: Intro to AI/Lisp
Separate Domain-Specific from the General
Lecture 6-2 CS250: Intro to AI/Lisp
A logic for every season
Increasing complexity, expressive power
Propositional Higher-orderFirst-order
Lecture 6-2 CS250: Intro to AI/Lisp
Is this your world?
• if KB1 = then (KB1 KB2) =
Lecture 6-2 CS250: Intro to AI/Lisp
Propositional Logic
• Syntax– Propositions– Connectives (, , , , )– ()’s
• Semantics– Implication causation– “A false proposition implies any proposition”
Lecture 6-2 CS250: Intro to AI/Lisp
Jumping to propositional conclusions
• How do we reason from what we know to what we don’t?– Inference rules– In propositional logic:
• Modus ponens• And-elimination• And introduction• Double-negation elimination• Unit resolution• Resolution
Lecture 6-2 CS250: Intro to AI/Lisp
Horn clauses
• Restricted form:P1 P2 P3 ... Pn Q
• Why is this an advantage?
Lecture 6-2 CS250: Intro to AI/Lisp
Wumpus World
Lecture 6-2 CS250: Intro to AI/Lisp
Specifying the Wumpus World
• Percepts?
• Actions?
• Goals?
Lecture 6-2 CS250: Intro to AI/Lisp
Describing the Wumpus World
• Is the world…– Deterministic– Fully accessible– Static– Discrete
Lecture 6-2 CS250: Intro to AI/Lisp
One Environment is Easy
• If we know the environment well, can engineer it
• Range of environments?
Lecture 6-2 CS250: Intro to AI/Lisp
Exploring the world
Perceive: [None, None, None, None, None]
Perception: Stench, Breeze, Glitter, Bump, Scream
Lecture 6-2 CS250: Intro to AI/Lisp
Move Forward to 2,1
Lecture 6-2 CS250: Intro to AI/Lisp
Perception after One Move
Stench: None
Breeze: Yes
Glitter: None
Bump: None
Scream: None
Lecture 6-2 CS250: Intro to AI/Lisp
What Does the World Look Like?
Lecture 6-2 CS250: Intro to AI/Lisp
Knowledge Representation
• Not just computer readable…
…computer reasonable as well
• Syntax - Rules for building expressions
• Semantics - Relationship between facts in the world and sentences
• Examples?
Lecture 6-2 CS250: Intro to AI/Lisp
Entailment
• What follows from what
• Entailment is relationship among sentences– KB entails a
• “Follows” is a relationship among facts in the world
• Inference procedures that generate only entailed sentences is sound
Lecture 6-2 CS250: Intro to AI/Lisp
Logical Commitment
Lecture 6-2 CS250: Intro to AI/Lisp
;;;; Main Functions on KBs: Tell, Retract, Ask-Each, ;;;; Ask, Ask-Pattern[s]
;;; First we define a very simple kind of knowledge base,;;; literal-kb, that just stores a list of literal sentences.
(defstructure literal-kb "A knowledge base that just stores a set of literal sentences." (sentences '()))
Tell-Ask.lisp I
Lecture 6-2 CS250: Intro to AI/Lisp
;;; There are three generic functions that operate on;;; knowledge bases, and that must be defined as methods;;; for each type of knowledge base: TELL, RETRACT, and;;; ASK-EACH. Here we show the implementation for literal-kb;;;; elsewhere you'll see implementations for propositional,;;; Horn, and FOL KBs.
(defmethod tell ((kb literal-kb) sentence) "Add the sentence to the knowledge base." (pushnew sentence (literal-kb-sentences kb) :test #'equal))
(defmethod retract ((kb literal-kb) sentence) "Remove the sentence from the knowledge base." (deletef sentence (literal-kb-sentences kb) :test #'equal))
(defmethod ask-each ((kb literal-kb) query fn) "For each proof of query, call fn on the substitution that the proof ends up with." (declare (special +no-bindings+)) (for each s in (literal-kb-sentences kb) do (when (equal s query) (funcall fn +no-bindings+))))
Tell-Ask.lisp II
Lecture 6-2 CS250: Intro to AI/Lisp
;;; There are three other ASK functions, defined below,;;; that are defined in terms of ASK-EACH. These are ;;; defined once and for all here (not for each kind ;;; of KB)."
(defun ask (kb query) "Ask if query sentence is true; return t or nil." (ask-each kb (logic query) #'(lambda (s) (declare (ignore s)) (RETURN-FROM ASK t))))
;;; Omitted pattern-matching ASK’s
Tell-Ask.lisp III
Lecture 6-2 CS250: Intro to AI/Lisp
Propositional logic: Straw man for the ages
• “Don’t take a core sample if you’re not on a stable surface”
• How hard is it to compute with propositional logic