0% found this document useful (0 votes)
25 views78 pages

CSC 2109 Artificial Intelligence: Knowledge Representation

Uploaded by

ndikumerica
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views78 pages

CSC 2109 Artificial Intelligence: Knowledge Representation

Uploaded by

ndikumerica
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 78

CSC 2109

Artificial Intelligence
Lecture 3:
Knowledge Representation
Knowledge Representation
Knowledge Representation
• When we use search to solve a
problem we must
– Capture the knowledge needed to
formalize the problem
– Apply a search technique to solve
problem
– Execute the problem solution
Role of KR
• The first step is the role of “knowledge
representation” in AI.
• Formally,
– The intended role of knowledge representation in
artificial intelligence is to reduce problems of
intelligent action to search problems.
• A good description, developed within the
conventions of a good KR, is an open door to
problem solving
• A bad description, using a bad representation,
is a brick wall preventing problem solving
A Knowledge-Based Agent
• We previously talked about applications of search but not about
methods of formalizing the problem.
• Now we look at extended capabilities to general logical
reasoning.
• Here is one knowledge representation: logical expressions.
• A knowledge-based agent must be able to
– Represent states, actions, etc.
– Incorporate new percepts
– Update internal representations of the world
– Deduce hidden properties about the world
– Deduce appropriate actions
• We will
– Describe properties of languages to use for logical reasoning
– Describe techniques for deducing new information from current
information
– Apply search to deduce (or learn) specifically needed information
Representation, Reasoning and
Logic
• Sentence: Individual piece of • Semantics: Mapping from sentences
knowledge to facts in the world
- English sentence forms one - They define the truth of a sentence
piece of knowledge in English in a “possible world”
language - Add the values of 2 and 3, store
them in the memory location
- Statement in C forms one piece
indicated by variable a
of knowledge in C programming
• In the language of arithmetic:
language
x + 2 >= y is a sentence
• Syntax: Form used to represent
x2 + y > is not a sentence
sentences x + 2 >= y is true in all worlds
- Syntax of C indicates legal where the number x + 2 is
combinations of symbols no less than the number y
- a = 2 + 3; is legal x + 2 >= y is true in a world where
- a = + 2 3 is not legal x = 7, y = 1
- Syntax alone does not indicate x + 2 >= y is false in a world where
meaning x = 0, y = 6
Entailment
• There can exist a relationship between items in the language
– Sentences “entail” sentences (representation level)
– Facts “follow” from facts (real world)
• Entail / Follow mean the new item is true if the old items are true
• A collection of sentences, or knowledge base (KB), entail a sentence
– KB |= sentence
– KB entails the sentence iff the sentence is true in all worlds where the KB is
true
Entail
Senten s Senten
ces
S ce S
e e
Representat m m
a a
ion n n
Worl t t
d i i
c c
s s
Follo
Fac ws Fac
ts t
Entailment Examples
• KB • KB
– The Giants won – CookLectures ->
TodayIsTuesday v
– The Reds won TodayIsThursday
• Entails – - TodayIsThursday
– Either the Giants won or the – TodayIsSaturday -> SleepLate
Reds won – Rainy -> GrassIsWet
– CookLectures v TodayIsSaturday
• KB
– - SleepLate
– To get a perfect score your
• Which of these are correct
program must be turned in
today entailments?
– - Sleeplate
– I always get perfect scores
– GrassIsWet
• Entails – - SleepLate v GrassIsWet
– I turned in my program – TodayIsTuesday
today – True
Models
• Logicians frequently use models, which are
formally structured worlds with respect to
which truth can be evaluated. These are our
“possible worlds”.
• M is a model of a sentence s if s is true in M.
• M(s) is the set of all models of s.
• KB entails s (KB |= s) if and only if M(KB) is a
subset of M(s)
• For example, KB = Giants won and Reds
won, s = Giants won
Inference
In AI inference is the process tha a
trained machine learning model uses
to draw conclusions from brand-new
data.
An AI model capable of making
inferences can do so without examples
of the desired result.
We can say in other words that,
inference is an AI model in action.
Inference
• Use two different ways:
– Generate new sentences that are entailed by
KB
– Determine whether or not sentence is
entailed by KB
• A sound inference procedure generates
only entailed sentences
• Modus ponens is sound A, A  B
B

• Abduction is not sound B, A  B


• Logic gone bad A

Inference rules
Inference rules are the templates for
generating valid arguments. Inference rules
are applied to derive proofs in artificial
intelligence, and the proof is a sequence of
the conclusion that leads to the desired goal.

In inference rules, the implication among all


the connectives plays an important role.
Following are some terminologies related to
inference rules:
Implication: It is one of the logical
connectives which can be represented
as P → Q. It is a Boolean expression.
Converse: The converse of implication,
which means the right-hand side
proposition goes to the left-hand side
and vice-versa. It can be written as Q →
P.
Contrapositive: The negation of
converse is termed as contrapositive,
and it can be represented as ¬ Q → ¬ P.
Inverse: The negation of implication is
called inverse. It can be represented as
¬ P → ¬ Q.
Definitions
• A complete inference procedure can generate all entailed
sentences from the knowledge base.
• The meaning of a sentence is a mapping onto the world (a model).
• This mapping is an interpretation (interpretation of Lisp code).
• A sentence is valid (necessarily true, tautology) iff true under all
possible interpretations.
– A V -A
• A could be:
– Stench at [1,1]
– Today is Monday
– 2+3=5
• These statements are not valid.
– A ^ -A
–AVB
• The last statement is satisfiable, meaning there exists at least one
interpretation that makes the statement true. The previous
statement is unsatisfiable.
Logics
• Logics are formal languages for representing information
such that conclusions can be drawn
• Logics are characterized by their “primitives” commitments
– Ontological commitment: What exists? Facts? Objects? Time?
Beliefs?
– Epistemological commitment: What are the states of knowledge?
Language Ontological Epistemological
Commitment Commitment
Propositional logic facts true/false/unknown
First-order logic facts, objects, true/false/unknown
relations
Temporal logic facts, objects, true/false/unknown
relations, times
Probability theory facts value in [0, 1]
Fuzzy logic degree of truth known interval
value
Examples
• Propositional logic
– Simple logic
– Symbols represent entire facts
– Boolean connectives (&, v, ->, <=>, ~)
– Propositions (symbols, facts) are either
TRUE or FALSE
• First-order logic
– Extend propositional logic to include
variables, quantifiers, functions, objects
Propositional Logic
• Proposition symbols P, Q, etc., are sentences
• The true/false value of propositions and combinations of
propositions can be calculated using a truth table
• If P and S are sentences, then so are –P, P^Q, PvQ, P->Q, P<->Q
• An interpretation I consists of an assignment of truth values to
all proposition symbols I(S)
– An interpretation is a logician's word for what is often called a “possible
world”
– Given 3 proposition symbols P, Q, and R, there are 8 interpretations
– Given n proposition symbols, there are 2n interpretations

• To determine the truth of a complex statement for I, we can


– Substitute I's truth value for every symbol
– Use truth tables to reduce the statement to a single truth value
– End result is a single truth value, either True or False
Propositional Logic
• For propositional logic, a row in the truth table is one
interpretation
• A logic is monotonic as long as entailed sentences are
preserved as more knowledge is added
Rules of Inference for Propositional
Logic

• Modus ponens A, A  B • Double-negation   A


B elimination A
All men are mortal (Man -> Mortal)
Socrates is a man (Man)
----------------------------------------------- • Unit resolution AvB , B
Socrates is mortal (Mortal) A
A, B Today is Tuesday or
• And introduction A^ B
Thursday
Today is not Thursday
--------------------------------------
• Or introduction A • Resolution
-
Today is Tuesday
AvBvCvDv...
AvB , BvC  A  B, B   C
• And elimination
AvC  A  C
A^ B ^ C ^...^ Z Today is Tuesday or Thursday
Today is not Thursday or tomorrow is
A Friday
---------------------------------------------------
Today is Tuesday or tomorrow is Friday
Normal Forms
• Other approaches to inference use syntactic operations on
sentences, often expressed in standardized forms
• Conjunctive Normal Form (CNF)
conjunction of disjunctions of literals (conjunction of clauses)
For example, (A v –B) ^ (B v –C v –D)
• Disjunctive Normal Form (DNF)
disjunction of conjunctions of literals (disjunction of terms)
For example, (A ^ B) v (A ^ -C) v (A ^ -D) v (-B ^ -C) v (-B ^ -D)
• Horn Form (restricted)
conjunction of Horn clauses (clauses with <= 1 positive literal)
For example, (A v –B) ^ (B v –C v –D)
Often written as a set of implications:
B -> A and (C ^ D) -> B
Proof methods
• Model checking
– Truth table enumeration (sound and complete for
propositional logic)
• Show that all interpretations in which the left hand side of the
rule is true, the right hand side is also true

– Application of inference rules


• 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
Limitations of Propositional
Logic
• Propositional logic cannot express general-purpose
knowledge succinctly
• We need 32 sentences to describe the relationship
between wumpi and stenches
• We would need another 32 sentences for pits and breezes
• We would need at least 64 sentences to describe the
effects of actions
• How would we express the fact that there is only one
wumpus?
• Difficult to identify specific individuals (Mary, among 3)
• Generalizations, patterns, regularities difficult to represent
(all triangles have 3 sides)
First-Order Predicate
Calculus
• Propositional Logic uses only propositions (symbols
representing facts), only possible values are True
and False
• First-Order Logic includes:
– Objects: peoples, numbers, places, ideas (atoms)
– Relations: relationships between objects (predicates, T/F
value)
• Example: father(fred, mary)
• Properties: properties of atoms (predicates, T/F value)
Example: red(ball)
– Functions: father-of(mary), next(3), (any value in range)
• Constant: function with no parameters, MARY
FOPC Models
Example
• Express “Socrates is a man” in
• Propositional logic
– MANSOCRATES - single proposition
representing entire idea
• First-Order Predicate Calculus
– Man(SOCRATES) - predicate representing
property of constant SOCRATES
FOPC Syntax
• Constant symbols (Capitalized, Functions
with no arguments)
Interpretation must map to exactly one
object in the world
• Predicates (can take arguments,
True/False)
Interpretation maps to relationship or
property T/F value
• Function (can take arguments)
Maps to exactly one object in the world
Definitions
• Term
Anything that identifies an object
Function(args)
Constant - function with 0 args
• Atomic sentence
Predicate with term arguments
Enemies(WilyCoyote, RoadRunner)
Married(FatherOf(Alex), MotherOf(Alex))
• Literals
atomic sentences and negated atomic sentences
• Connectives
(&), (v), (->), (<=>), (~)
if connected by , conjunction (components are conjuncts)
if connected by , disjunction (components are disjuncts)
• Quantifiers
Universal Quantifier
Existential Quantifier
Universal Quantifiers
• How do we express “All unicorns speak English” in Propositional Logic?
• We would need to specify a proposition for each unicorn
• is used to express facts and relationships that we know to be true
for all members of a group (objects in the world)
• A variable is used in the place of an object
x Unicorn(x) -> SpeakEnglish(x)
The domain of x is the world 
The scope of x is the statement following (sometimes in [])
• Same as specifying
– Unicorn(Uni1) -> SpeakEnglish(Uni1) &
– Unicorn(Uni2) -> SpeakEnglish(Uni2) &
– Unicorn(Uni3) -> SpeakEnglish(Uni3) &
– ...
– Unicorn(Table1) -> Table(Table1) &
– ...
• One statement for each object in the world
• We will leave variables lower case (sometimes ?x)
Notice that x ranges over all objects, not just unicorns.
• A term with no variables is a ground term
Existential Quantifier
• This makes a statement about some object (not named)
•  x [Bunny(x) ^ EatsCarrots(x)]
• This means there exists some object in the world (at
least one) for which the statement is true. Same as
disjunction over all objects in the world.
– (Bunny(Bun1) & EatsCarrots(Bun1)) v
– (Bunny(Bun2) & EatsCarrots(Bun2)) v
– (Bunny(Bun3) & EatsCarrots(Bun3)) v
– ...
– (Bunny(Table1) & EatsCarrots(Table1)) v
– ...
• What about  x Unicorn(x) -> SpeakEnglish(x)?
• Means implication applies to at least one object in the
universe
DeMorgan Rules
• x P  xP
• xP  x P
•  x P  xP
•  xP  x P
• Example:
xLovesWate rmelon( x)  x LovesWater melon( x)
Other Properties
• (X->Y) <-> -XvY
– Can prove with truth table
• Not true:
– (X->Y) <-> (Y->X)
– This is a type of inference that is not
sound (abduction)
Examples
• All men are mortal
Examples
• All men are mortal
–  x [Man(x) -> Mortal(x)]
Examples
• All men are mortal
–  x [Man(x) -> Mortal(x)]
• Socrates is a man
Examples
• All men are mortal
–  x [Man(x) -> Mortal(x)]
• Socrates is a man
– Man(Socrates)
Examples
• All men are mortal
–  x [Man(x) -> Mortal(x)]
• Socrates is a man
– Man(Socrates)
• Socrates is mortal
– Mortal(Socrates)
Examples
• All men are mortal
–  x [Man(x) -> Mortal(x)]
• Socrates is a man
– Man(Socrates)
• Socrates is mortal
– Mortal(Socrates)
• All purple mushrooms are poisonous
Examples
• All men are mortal
–  x [Man(x) -> Mortal(x)]
• Socrates is a man
– Man(Socrates)
• Socrates is mortal
– Mortal(Socrates)
• All purple mushrooms are poisonous
– x [(Purple(x) ^ Mushroom(x)) ->

Poisonous(x)]
Examples
• All men are mortal
– x [Man(x) -> Mortal(x)]
• Socrates is a man
– Man(Socrates)
• Socrates is mortal
– Mortal(Socrates)
• All purple mushrooms are poisonous
– x [(Purple(x) ^ Mushroom(x)) -> Poisonous(x)]

• A mushroom is poisonous only if it is purple
Examples
• All men are mortal
– x [Man(x) -> Mortal(x)]
• Socrates is a man
– Man(Socrates)
• Socrates is mortal
– Mortal(Socrates)
• All purple mushrooms are poisonous
– x [(Purple(x) ^ Mushroom(x)) -> Poisonous(x)]

• A mushroom is poisonous only if it is purple
Examples
• All men are mortal
– x [Man(x) -> Mortal(x)]
• Socrates is a man
– Man(Socrates)
• Socrates is mortal
– Mortal(Socrates)
• All purple mushrooms are poisonous
– x [(Purple(x) ^ Mushroom(x)) -> Poisonous(x)]
• A mushroom is poisonous only if it is purple

– x [(Mushroom(x) ^ Poisonous(x)) -> Purple(x)]
Examples
• All men are mortal
– x [Man(x) -> Mortal(x)]
• Socrates is a man
– Man(Socrates)
• Socrates is mortal
– Mortal(Socrates)
• All purple mushrooms are poisonous

– x [(Purple(x) ^ Mushroom(x)) -> Poisonous(x)]
• A mushroom is poisonous only if it is purple

– x [(Mushroom(x) ^ Poisonous(x)) -> Purple(x)]
• No purple mushroom is poisonous
Examples
• All men are mortal
–  x [Man(x) -> Mortal(x)]
• Socrates is a man
– Man(Socrates)
• Socrates is mortal
– Mortal(Socrates)
• All purple mushrooms are poisonous


x [(Purple(x) ^ Mushroom(x)) -> Poisonous(x)]
• A mushroom is poisonous only if it is purple

– x [(Mushroom(x) ^ Poisonous(x)) -> Purple(x)]
• No purple mushroom is poisonous

– -( x [Purple(x) ^ Mushroom(x) ^ Poisonous(x)])
Examples
• There is exactly one mushroom
Examples
• There is exactly one mushroom
xMushroom( x)  (y ( NEQ( x, y )   Mushroom( y )))]
– Because “exactly one” is difficult to
express we can use ! To denote exactly
one of a type of object
• Every city has a dog catcher who has
been bitten by every dog in town
Examples
• There is exactly one mushroom
xMushroom( x)  (y ( NEQ( x, y )   Mushroom( y )))]
– Because “exactly one” is difficult to
express we can use ! To denote exactly
one of a type of object
• Every city has a dog catcher who has
been bitten by every dog in town
– Use City(c), DogCatcher(c), Bit(d,x),
Lives(x,c)
a, b[City (a)  cDogCatcher (c)  ( Dog (b)  Lives(b, a)  Bit (b, c))]
Examples
• No human enjoys golf
Examples
• No human enjoys golf
x[ Human( x)   Enjoys( x, Golf )
• Some professor that is not a historian
writes programs
Examples
• No human enjoys golf
x[ Human( x)   Enjoys( x, Golf )
• Some professor that is not a historian
writes programs
x[Pr ofessor( x)   Historian( x)  Writes( x, Pr ograms)]
• Every boy owns a dog
Examples
• No human enjoys golf
x[ Human( x)   Enjoys( x, Golf )
• Some professor that is not a historian writes
programs
x[Pr ofessor( x)   Historian( x)  Writes( x, Pr ograms)]

• Every boy owns a dog


xy[ Boy ( x)  Owns ( x, y )]
yx[ Boy ( x)  Owns ( x, y )]
– Do these mean the same thing?
– Brothers are siblings
– “Sibling” is reflexive and symmetric
– One’s mother is one’s female parent
– A first cousin is a child of a parent’s sibling
Higher-Order Logic
• FOPC quantifies over objects in the universe.
• Higher-order logic quantifies over relations
and functions as well as objects.
– All functions with a single argument return a value
of 1
• x, y [Equal(x(y), 1)]
– Two objects are equal iff all properties applied to
them
 are equivalent

• x, y [(x=y) <-> ( p [p(x) <-> p(y)])]
– Note that we use “=“ as a shorthand for equal,
meaning they are in fact the same object
Additional Operators
• Existential Elimination
– v [..v..]
– Substitute k for v anywhere in sentence, where k is a
constant (term with no arguments) and does not already
appear in the sentence (Skolemization)
• Existential Introduction
– If [..g..] true (where g is ground term)
– then v [..v..] true (v is substituted for g)
• Universal Elimination
– x [..x..]
– Substitute M for x throughout entire sentence, where M is
a constant and does not already appear in the sentence
Example Proof
Known: Prove: Lulu is older than Fifi
1. If x is a parent of y, then (Older(Lulu, Fifi))
x is older than y 4. Parent(Lulu, Fifi)

– x,y [Parent(x,y) -> – 2,3, Universal Elimination,
Older(x,y)] Modus Ponens
2. If x is the mother of y, 5. Older(Lulu, Fifi)
 x is a parent of y
then – 1,4, Universal Elimination,
– x,y [Mother(x,y) -> Modus Ponens
Parent(x,y)] – We “bind” the variable to
3. Lulu is the mother of Fifi a constant
– Mother(Lulu, Fifi)
Example Proof
The law says that it is a crime for an
American to sell weapons to hostile
nations.

1) FAx,y,z[(American(x)&Weapon(y)&N
ation(z)&Hostile(z)&Sells(x,z,y)) ->
Criminal(x)]
Example Proof
The law says that it is a crime for an
American to sell weapons to hostile
nations. The country Nono, an enemy
of America, has some missiles, and all
of its missiles were sold to it by Colonel
West, who is an American.

1) FAx,y,z[(American(x)&Weapon(y)&N
ation(z)&Hostile(z)&Sells(x,z,y)) ->
Criminal(x)]
2) EX x [Owns(Nono,x) & Missile(x)]
Example Proof
The law says that it is a crime for an American to sell
weapons to hostile nations. The country Nono, an enemy of
America, has some missiles, and all of its missiles were
sold to it by Colonel West, who is an American.

1) FAx,y,z[(American(x)&Weapon(y)&Nation(z)&Hostile(z)&
Sells(x,z,y)) -> Criminal(x)]
2) EX x [Owns(Nono,x) & Missile(x)]
3) FA x [Owns(Nono,x) & Missile(x)) -> Sells(West, Nono,x)]
4) FA x [Missile(x) -> Weapon(x)]
5) FA x [Enemy(x,America) -> Hostile(x)]
6) American(West)
7) Nation(Nono)
8) Enemy(Nono, America)
9) Nation(America)
Prove: West is a criminal.
Prove: West is a Criminal
1) FAx,y,z[(American(x)&
Weapon(y)&Nation(z)&
10)Owns(Nono,M1) &
Hostile(z)& Sells(x,z,y)) -> Missile(M1)
Criminal(x)]
2) EX x [Owns(Nono,x) & – 2 & Existential Elimination
Missile(x)]
3) FA x [Owns(Nono,x) &
Missile(x)) -> Sells(West,
Nono,x)]
4) FA x [Missile(x) ->
Weapon(x)]
5) FA x [Enemy(x,America) ->
Hostile(x)]
6) American(West)
7) Nation(Nono)
8) Enemy(Nono, America)
9) Nation(America)
Prove: West is a Criminal
1) FAx,y,z[(American(x)&
Weapon(y)&Nation(z)&
10)Owns(Nono,M1) &
Hostile(z)& Sells(x,z,y)) -> Missile(M1)
Criminal(x)]
2) EX x [Owns(Nono,x) & 11)Owns(Nono, M1)
Missile(x)]
3) FA x [Owns(Nono,x) & – 10 & And Elimination
Missile(x)) -> Sells(West,
Nono,x)]
4) FA x [Missile(x) ->
Weapon(x)]
5) FA x [Enemy(x,America) ->
Hostile(x)]
6) American(West)
7) Nation(Nono)
8) Enemy(Nono, America)
9) Nation(America)
Prove: West is a Criminal
1) FAx,y,z[(American(x)&
Weapon(y)&Nation(z)&
10)Owns(Nono,M1) &
Hostile(z)& Sells(x,z,y)) -> Missile(M1)
Criminal(x)]
2) EX x [Owns(Nono,x) & 11)Owns(Nono, M1)
Missile(x)]
3) FA x [Owns(Nono,x) & 12)Missile(M1)
Missile(x)) -> Sells(West,
Nono,x)] – 10 & And Elimination
4) FA x [Missile(x) ->
Weapon(x)]
5) FA x [Enemy(x,America) ->
Hostile(x)]
6) American(West)
7) Nation(Nono)
8) Enemy(Nono, America)
9) Nation(America)
Prove: West is a Criminal
1) FAx,y,z[(American(x)&
Weapon(y)&Nation(z)&
10)Owns(Nono,M1) &
Hostile(z)& Sells(x,z,y)) -> Missile(M1)
Criminal(x)]
2) EX x [Owns(Nono,x) & 11)Owns(Nono, M1)
Missile(x)]
3) FA x [Owns(Nono,x) & 12)Missile(M1)
Missile(x)) -> Sells(West, Universal Elimination
Nono,x)] 13)Missile(M1) -> Weapon(M1)
4) FA x [Missile(x) -> FORALL v []
Weapon(x)] – If 4 & for
true Universal
universalElimination
variable v,
5) FA x [Enemy(x,America) -> then true for a ground term
Hostile(x)]
(term with no variables)
6) American(West)
7) Nation(Nono)
8) Enemy(Nono, America)
9) Nation(America)
Prove: West is a Criminal
1) FAx,y,z[(American(x)&
Weapon(y)&Nation(z)&
10)Owns(Nono,M1) &
Hostile(z)& Sells(x,z,y)) -> Missile(M1)
Criminal(x)]
2) EX x [Owns(Nono,x) & 11)Owns(Nono, M1)
Missile(x)]
3) FA x [Owns(Nono,x) & 12)Missile(M1)
Missile(x)) -> Sells(West,
Nono,x)] 13)Missile(M1) -> Weapon(M1)
4) FA x [Missile(x) ->
Weapon(x)] 14)Weapon(M1)
5) FA x [Enemy(x,America) ->
Hostile(x)] – 12, 13, Modus Ponens
6) American(West)
7) Nation(Nono)
8) Enemy(Nono, America)
9) Nation(America)
Prove: West is a Criminal
1) FAx,y,z[(American(x)&
Weapon(y)&Nation(z)&
10)Owns(Nono,M1) &
Hostile(z)& Sells(x,z,y)) -> Missile(M1)
Criminal(x)]
2) EX x [Owns(Nono,x) & 11)Owns(Nono, M1)
Missile(x)]
3) FA x [Owns(Nono,x) & 12)Missile(M1)
Missile(x)) -> Sells(West,
Nono,x)] 13)Missile(M1) -> Weapon(M1)
4) FA x [Missile(x) ->
Weapon(x)] 14)Weapon(M1)
5) FA x [Enemy(x,America) ->
Hostile(x)] 15)Owns(Nono,M1) &
6) American(West)
7) Nation(Nono) Missile(M1) ->
8) Enemy(Nono, America) Sells(West,Nono,M1)
9) Nation(America)
– 3 & Universal Elimination
Prove: West is a Criminal
1) FAx,y,z[(American(x)&
Weapon(y)&Nation(z)&
10)Owns(Nono,M1) &
Hostile(z)& Sells(x,z,y)) -> Missile(M1)
Criminal(x)]
2) EX x [Owns(Nono,x) & 11)Owns(Nono, M1)
Missile(x)]
3) FA x [Owns(Nono,x) & 12)Missile(M1)
Missile(x)) -> Sells(West,
Nono,x)] 13)Missile(M1) -> Weapon(M1)
4) FA x [Missile(x) ->
Weapon(x)] 14)Weapon(M1)
5) FA x [Enemy(x,America) ->
Hostile(x)] 15)Owns(Nono,M1) &
6) American(West)
7) Nation(Nono) Missile(M1) ->
8) Enemy(Nono, America) Sells(West,Nono,M1)
9) Nation(America)
16)Sells(West,Nono,M1)
– 10, 15, Modus Ponens
Prove: West is a Criminal
1) FAx,y,z[(American(x)& 10)Owns(Nono,M1) & Missile(M1)
Weapon(y)&Nation(z)&
Hostile(z)& Sells(x,z,y)) -> 11)Owns(Nono, M1)
Criminal(x)]
2) EX x [Owns(Nono,x) &
12)Missile(M1)
Missile(x)] 13)Missile(M1) -> Weapon(M1)
3) FA x [Owns(Nono,x) &
Missile(x)) -> Sells(West, 14)Weapon(M1)
Nono,x)]
4) FA x [Missile(x) ->
15)Owns(Nono,M1) & Missile(M1) ->
Weapon(x)] Sells(West,Nono,M1)
5) FA x [Enemy(x,America) ->
Hostile(x)]
16)Sells(West,Nono,M1)
6) American(West) 17)American(West) & Weapon(M1) &
7) Nation(Nono)
Nation(Nono) & Hostile(Nono) &
8) Enemy(Nono, America)
9) Nation(America) Sells(West,Nono,M1) ->
Criminal(West)
– 1, Universal Elimination (x West) (y
M1) (z Nono)
Prove: West is a Criminal
1) FAx,y,z[(American(x)& 10)Owns(Nono,M1) & Missile(M1)
Weapon(y)&Nation(z)&
Hostile(z)& Sells(x,z,y)) -> 11)Owns(Nono, M1)
Criminal(x)] 12)Missile(M1)
2) EX x [Owns(Nono,x) &
Missile(x)] 13)Missile(M1) -> Weapon(M1)
3) FA x [Owns(Nono,x) & 14)Weapon(M1)
Missile(x)) -> Sells(West,
Nono,x)] 15)Owns(Nono,M1) & Missile(M1) ->
4) FA x [Missile(x) -> Sells(West,Nono,M1)
Weapon(x)]
5) FA x [Enemy(x,America) ->
16)Sells(West,Nono,M1)
Hostile(x)] 17)American(West) & Weapon(M1) &
6) American(West) Nation(Nono) & Hostile(Nono) &
7) Nation(Nono)
8) Enemy(Nono, America)
Sells(West,Nono,M1) ->
9) Nation(America) Criminal(West)
18)Enemy(Nono,America) ->
Hostile(Nono)
– 5, Universal Elimination
Prove: West is a Criminal
1) FAx,y,z[(American(x)& 10)Owns(Nono,M1) & Missile(M1)
Weapon(y)&Nation(z)&
Hostile(z)& Sells(x,z,y)) ->
11)Owns(Nono, M1)
Criminal(x)] 12)Missile(M1)
2) EX x [Owns(Nono,x) &
Missile(x)]
13)Missile(M1) -> Weapon(M1)
3) FA x [Owns(Nono,x) & 14)Weapon(M1)
Missile(x)) -> Sells(West,
Nono,x)] 15)Owns(Nono,M1) & Missile(M1) ->
4) FA x [Missile(x) -> Sells(West,Nono,M1)
Weapon(x)] 16)Sells(West,Nono,M1)
5) FA x [Enemy(x,America) ->
Hostile(x)] 17)American(West) & Weapon(M1) &
6) American(West) Nation(Nono) & Hostile(Nono) &
7) Nation(Nono) Sells(West,Nono,M1) -> Criminal(West)
8) Enemy(Nono, America)
9) Nation(America)
18)Enemy(Nono,America) ->
Hostile(Nono)
19)Hostile(Nono)
– 8, 18, Modus Ponens
Prove: West is a Criminal
1) FAx,y,z[(American(x)& 10)Owns(Nono,M1) & Missile(M1)
Weapon(y)&Nation(z)& 11)Owns(Nono, M1)
Hostile(z)& Sells(x,z,y)) ->
Criminal(x)] 12)Missile(M1)
2) EX x [Owns(Nono,x) & 13)Missile(M1) -> Weapon(M1)
Missile(x)] 14)Weapon(M1)
3) FA x [Owns(Nono,x) &
Missile(x)) -> Sells(West, 15)Owns(Nono,M1) & Missile(M1) ->
Nono,x)] Sells(West,Nono,M1)
4) FA x [Missile(x) -> 16)Sells(West,Nono,M1)
Weapon(x)]
17)American(West) & Weapon(M1) &
5) FA x [Enemy(x,America) ->
Hostile(x)]
Nation(Nono) & Hostile(Nono) &
6) American(West) Sells(West,Nono,M1) -> Criminal(West)
7) Nation(Nono) 18)Enemy(Nono,America) -> Hostile(Nono)
8) Enemy(Nono, America) 19)Hostile(Nono)
9) Nation(America) 20)American(West) & Weapon(M1) &
Nation(Nono) & Hostile(Nono) &
Sells(West,Nono,M1)
– 6, 7, 14, 16, 19, And Introduction
Prove: West is a Criminal
1) FAx,y,z[(American(x)& 10)Owns(Nono,M1) & Missile(M1)
Weapon(y)&Nation(z)& 11)Owns(Nono, M1)
Hostile(z)& Sells(x,z,y)) ->
12)Missile(M1)
Criminal(x)]
2) EX x [Owns(Nono,x) & 13)Missile(M1) -> Weapon(M1)
Missile(x)] 14)Weapon(M1)
3) FA x [Owns(Nono,x) & 15)Owns(Nono,M1) & Missile(M1) ->
Missile(x)) -> Sells(West, Sells(West,Nono,M1)
Nono,x)]
16)Sells(West,Nono,M1)
4) FA x [Missile(x) ->
Weapon(x)] 17)American(West) & Weapon(M1) & Nation(Nono)
5) FA x [Enemy(x,America) -> & Hostile(Nono) & Sells(West,Nono,M1) ->
Hostile(x)] Criminal(West)
6) American(West) 18)Enemy(Nono,America) -> Hostile(Nono)
7) Nation(Nono) 19)Hostile(Nono)
8) Enemy(Nono, America)
20)American(West) & Weapon(M1) & Nation(Nono)
9) Nation(America) & Hostile(Nono) & Sells(West,Nono,M1)
21)Criminal(West)
– 17, 20, Modus Ponens
FOPC and the Wumpus
World
• Perception rules
– b,g,t Percept([Smell,b,g],t) -> Smelled(t)
– Here we are indicating a Percept occurring at time t
– s,b,t Percept([s,b,Glitter],t) -> AtGold(t)
• We can use FOPC to write rules for selecting
actions: 
– Reflex agent: t AtGold(t) -> Action(Grab, t)
– Reflex agent
 with internal state:
t AtGold(t) & -Holding(Gold,t) -> Action(Grab, t)
– Holding(Gold,t) cannot be observed, so keeping track
of change is essential
Deducing Hidden Properties
• Properties of locations:
• Squares are breezy near a pit
– Diagnostic rule: infer cause from effect
• 
y Breezy(y) ->  x Pit(x) & Adjacent(x,y)
– Causal rule: infer effect from cause
• x,y Pit(x) & Adjacent(x,y) -> Breezy(y)
• Neither of these is complete
• For example, causal rule doesn’t say whether
squares far away from pits can be breezy
• Definition for Breezy predicate
– Breezy(y) <-> [ Pit(x) & Adjacent(x,y)]
Inference As Search
• Operators are inference rules
• States are sets of sentences
• Goal test checks state to see if it contains query sentence
• AI, UE, MP a common inference pattern, but generate a
huge branching factor
• We need a single, more powerful inference rule
Generalized Modus Ponens
• If we have a rule
– p1(x) & p2(x) & p3(x,y) & p4(y) & p5(x,y) -> q(x,y)
• Each p involves universal / existential quantifiers
• Assume each antecedent appears in KB
– p1(WSU)
– p2(WSU)
– p3(WSU, Washington)
– p4(Washington)
– p5(WSU, Washington)
• If we find a way to “match” the variables
• Then we can infer q(WSU, Washington)
GMP Example
• Rule: Missile(x) & Owns(Nono, x) ->
Sells(West, Nono,x)
• KB contains
– Missile(M1)
– Owns(Nono,M1)
• To apply, GMP, make sure
instantiations of x are the same
• Variable matching process is called
unification
Keeping Track Of Change
• Facts hold in situations, rather than forever
– Example, Holding(Gold,Now) rather than Holding(Gold)
• Situation calculus is one way to represent change in FOPC
– Adds a situation argument to each time-dependent predicate
– Example, Now in Holding(Gold,Now) denotes a situation
• Situations are connected by the Result function
– Result(a,s) is the situation that results from applying action a in s
Describing Actions
• Effect axiom: describe changes due to action
– sAtGold(s) -> Holding(Gold, Result(Grab, s))
• Frame axiom--describe non-changes due to action
– sHaveArrow(s) -> HaveArrow(Result(Grab, s))

• Frame problem: find an elegant way to handle non-change


(a) Representation--avoid frame axioms
(b) Inference--avoid repeated ``copy-overs'' to keep track of
state
• Qualification problem : true descriptions of real actions require
endless caveats - what if gold is slippery or nailed down or …
• Ramification problem : real actions have many secondary
consequences - what about the dust on the gold, wear and tear
on gloves, …
Describing Actions
• Successor-state axioms solve the
representational frame problem
• Each axiom is about a predicate (not an
action per se)
– P true afterwords <->
• [an action made P true
• v P true already and no action made P false]
• For holding
 the gold
– a,s Holding(Gold, Result(a,s)) <->
((a = Grab & AtGold(s)) v (Holding(gold,s) &
a != Release))
Generating Plans
• Initial condition in KB
– At(Agent, [1,1], S0)
– At(Gold, [1,2], S0)
• Query
– Ask(KB,  s Holding(Gold,s))
– In what situation will I be holding the gold?
• Answer: {s/Result(Grab, Result(Forward, S0))}
– Go forward and then grab the gold
– This assumes that the agent is interested in plans
starting at S0 and that S0 is the only situation
described in the KB
Generating Plans: A Better
Way
• Represent plans as action sequences [a1, a2, ..,
an}
• PlanResult(p,s) is the result of execute p (an
action sequence) in s
• Then query Ask(KB,  p Holding(Gold,PlanResult(p, S0))
has solution {p/[Forward, Grab]}
• Definition
 of PlanResult in terms of Result:
• s PlanResult([], s) = s
• a,p,s PlanResult([a|p], s) = PlanResult(p, Result(a,s))
– Planning systems are special-purpose reasoners
designed to do this type of inference more efficiently
than a general-purpose reasoner

You might also like