Title: Intelligent Systems Lecture 8 Knowledge Representation in FirstOrder Logic
1Intelligent Systems Lecture 8Knowledge
Representation in First-Order Logic
WS 2008
2Outline
- Motivation
- Syntax and semantics of FOL
- Using FOL
- Wumpus world in FOL
3Pros and cons of propositional logic
- ? Propositional logic is declarative
- ? Propositional logic allows partial/disjunctive/n
egated information - (unlike most data structures and databases)?
- Propositional logic is compositional
- meaning of B1,1 ? P1,2 is derived from meaning of
B1,1 and of P1,2 - ? Meaning in propositional logic is
context-independent - (unlike natural language, where meaning depends
on context)? - ? Propositional logic has very limited expressive
power - (unlike natural language)?
- E.g., cannot say "pits cause breezes in adjacent
squares - except by writing one sentence for each square
4First-order logic (FOL)?
- FOL (like propositional logics) is declarative,
compositional, and the meaning of its sentences
is context-independent - Propositional logic assumes the world contains
facts, FOL (like natural language) assumes the
world contains (ontological commitment)? - Objects people, houses, numbers, colors,
baseball games, wars, - Relations red, round, prime, brother of, bigger
than, part of, comes between, - Functions father of, best friend, one more than,
plus, - FOL can express facts about some or all the
objects in the universe - Every sentence in FOL is either true, false or
unknown to an agent (epistemological commitment)
5Syntax of FOL Basic elements
- Constants KingJohn, 2, NUS,...
- Predicate symbols Brother, gt,...
- Function symbols Sqrt, LeftLegOf,...
- Variables x, y, a, b,...
- Connectives ?, ?, ?, ?, ?
- Quantifiers ?, ?
6FOL sentences
Atomic sentence predicate (term1,...,termn)
or term1 term2 Term
function (term1,...,termn) or
constant or variable Complex sentences are made
from atomic sentences using connectives ?S, S1 ?
S2, S1 ? S2, S1 ? S2, S1 ? S2,
7Truth in FOL
- Sentences are true with respect to a model and an
interpretation - A model contains objects (domain elements) and
relations among them - Interpretation specifies referents for
- constant symbols ? objects
- predicate symbols ? relations
- function symbols ? functions
- An atomic sentence predicate(term1,...,termn) is
true - iff the objects referred to by term1,...,termn
- are in the relation referred to by predicate
8Models for FOL Example
9Truth in the example
10Universal quantification
- ?ltvariablesgt ltsentencegt
- "Everyone at UIBK is smart"
- ?x At(x,UIBK) ? Smart(x)?
- ?x P is true in a model m iff P is true with x
being each possible object in the model - Roughly speaking, equivalent to the conjunction
of instantiations of P - At(KingJohn, UIBK) ? Smart(KingJohn)
- ? At(Richard, UIBK) ? Smart(Richard)
- ? At(UIBK, UIBK) ? Smart(UIBK)
- ? ...
11A common mistake to avoid
- Typically, ? is the main connective with ?
- Common mistake using ? as the main connective
with ? - ?x At(x,UIBK) ? Smart(x)?
- means Everyone is at UIBK and everyone is
smart - Correct ?x At(x,UIBK) ? Smart(x)?
12Existential quantification
- ?ltvariablesgt ltsentencegt
- "Someone at UIBK is smart"
- ?x At(x,UIBK) ? Smart(x)?
- ?x P is true in a model m iff P is true with x
being some possible object in the model - Roughly speaking, equivalent to the disjunction
of instantiations of P - At(KingJohn,UIBK) ? Smart(KingJohn)
- ? At(Richard,UIBK) ? Smart(Richard)
- ? At(UIBK,UIBK) ? Smart(UIBK)
- ? ...
13Another common mistake to avoid
- Typically, ? is the main connective with ?
- Common mistake using ? as the main connective
with ? - ?x At(x,UIBK) ? Smart(x)?
- is true if there is anyone who is not at UIBK!
- Usually used in Queries
- "Is there someone in UIBK who is smart?"
- Correct ?x At(x,UIBK) ? Smart(x)?
14Properties of quantifiers
- ?x ?y is the same as ?y ?x
- ?x ?y is the same as ?y ?x
- ?x ?y is not the same as ?y ?x
- ?x ?y Loves(x,y)?
- There is a person who loves everyone in the
world - ?y ?x Loves(x,y)?
- Everyone in the world is loved by at least one
person - Quantifier duality each can be expressed using
the other - ?x Likes(x,IceCream) ??x ?Likes(x,IceCream)?
- ?x Likes(x,Broccoli) ??x ?Likes(x,Broccoli)?
15Equality
- term1 term2 is true under a given
interpretation if and only if term1 and term2
refer to the same object - E.g., definition of Sibling in terms of Parent
- ?x,y Sibling(x,y) ? ?(x y) ? ?m,f ? (m f) ?
Parent(m,x) ? Parent(f,x) ? Parent(m,y) ?
Parent(f,y)
16Using FOL
- The family domain
- Brothers are siblings
- ?x,y Brother(x,y) ? Sibling(x,y)?
- One's mother is one's female parent
- ?m,c Mother(c) m ? (Female(m) ? Parent(m,c))?
- Sibling is symmetric
- ?x,y Sibling(x,y) ? Sibling(y,x)?
17Interacting with FOL KBs
18Wumpus world revisited
- PEAS
- Performance measure
- gold 1000, death -1000
- -1 per step, -10 for using the arrow
- 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
- Actuators
- Left turn, Right turn, Forward, Grab, Release,
Shoot - Sensors
- Stench, Breeze, Glitter, Bump, Scream
19Wumpus world in FOL
- Smell and breeze (but no glitter) at t5
- Tell(KB,Percept(Smell,Breeze,None,5))?
- Ask(KB,?a BestAction(a,5))?
- Does the KB entail some best action at t5?
- Answer Yes, a/Shoot ? substitution (binding
list)? - Given a sentence S and a substitution s, Ss
denotes the result of plugging s into S e.g., - S Smarter(x,y)?
- s x/Hillary,y/Bill
- Ss Smarter(Hillary,Bill)?
- Ask(KB,S) returns some/all s such that KB s
20Knowledge base for the wumpus world - Percepts
and actions
- Perception
- ?t,s,b Percept(s,b,Glitter,t) ? Glitter(t)?
- Reflex
- ?t Glitter(t) ? BestAction(Grab,t)?
21Representing the Environment
- ?x,y,a,b Adjacent(x,y,a,b) ?
- a,b ? x1,y, x-1,y,x,y1,x,y-1
- Pit(1,3), Pit (2,5), etc.
- Wumpus Home(Wumpus)?
- Properties of squares
- ?s,t At(Agent,s,t) ? Breeze(t) ? Breezy(s)?
22Deducing hidden properties
- Squares are breezy near a pit
- Diagnostic rule---infer cause from effect
- ?s Breezy(s) ? ?r Adjacent(r,s) ? Pit(r)?
- ?s ? Breezy(s) ? ? ?r Adjacent(r,s) ? Pit(r)?
- ?s Breezy(s) ? ?r Adjacent(r,s) ? Pit(r)?
- Causal rule---infer effect from cause
- ?r Pit(r) ? ?s Adjacent(r,s) ? Breezy(s)
- ?s ?r Adjacent(r,s) ? ? Pit(r) ? ?Breezy(s)?
- Diagnostic reasoning systems vs. model-based
reasoning systems (based on causal rules)?
23Summary
- First-order logic
- objects, relations and functions are semantic
primitives - syntax constants, function symbols, predicate
symbols, equality, quantifiers - Increased expressive power sufficient to define
wumpus world, with time stamps, etc. - Next week inference in FOL
24 25See you in two weeks!