0% found this document useful (0 votes)
2 views

chapter07-new2

The document discusses first-order logic (FOL), outlining its syntax, semantics, and applications, particularly in the context of the Wumpus world. It highlights the advantages of FOL over propositional logic, including its ability to express relationships and objects more effectively. Additionally, it introduces concepts such as quantifiers, truth in models, and situation calculus for representing actions and changes.

Uploaded by

pedelli84
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)
2 views

chapter07-new2

The document discusses first-order logic (FOL), outlining its syntax, semantics, and applications, particularly in the context of the Wumpus world. It highlights the advantages of FOL over propositional logic, including its ability to express relationships and objects more effectively. Additionally, it introduces concepts such as quantifiers, truth in models, and situation calculus for representing actions and changes.

Uploaded by

pedelli84
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/ 16

' $

First-order logic

Chapter 7, AIMA2e Chapter 8

& %
1

' $

Outline

♦ Why FOL?
♦ Syntax and semantics of FOL
♦ Fun with sentences
♦ Wumpus world in FOL

& %
2
' $

Pros and cons of propositional logic

Propositional logic is declarative: pieces of syntax correspond to facts


Propositional logic allows partial/disjunctive/negated 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
& %
3

' $

First-order logic

Whereas propositional logic assumes world contains facts,


first-order logic (like natural language) assumes the world contains
• Objects: people, houses, numbers, theories, Ronald McDonald,
colors, baseball games, wars, centuries . . .

• Relations: red, round, bogus, prime, multistoried . . .,


brother of, bigger than, inside, part of, has color, occurred after,
owns, comes between, . . .
• Functions: father of, best friend, third inning of, one more than,
beginning of . . .

& %
4
' $

Logics in general

Language Ontological Commitment Epistemological Commitment


Propositional logic facts true/false/unknown
First-order logic facts, objects, relations true/false/unknown
Temporal logic facts, objects, relations, times true/false/unknown
Probability theory facts degree of belief ∈ [0, 1]
Fuzzy logic degree of truth ∈ [0, 1] known interval value

& %
5

' $

Syntax of FOL: Basic elements

Constants KingJohn, 2, U CB, . . .


Predicates Brother, >, . . .
Functions Sqrt, Lef tLegOf, . . .
Variables x, y, a, b, . . .
Connectives ∧ ∨ ¬ ⇒ ⇔
Equality =
Quantifiers ∀∃

& %
6
' $

Atomic sentences

Atomic sentence = predicate(term1 , . . . , termn )


or term1 = term2

Term = f unction(term1 , . . . , termn )


or constant or variable

E.g., Brother(KingJohn, RichardT heLionheart)


> (Length(Lef tLegOf (Richard)),
Length(Lef tLegOf (KingJohn)))

& %
7

' $

Complex sentences

Complex sentences are made from atomic sentences using connectives

¬S, S1 ∧ S2 , S1 ∨ S2 , S1 ⇒ S2 , S1 ⇔ S2

E.g. Sibling(KingJohn, Richard) ⇒ Sibling(Richard, KingJohn)


>(1, 2) ∨ ≤(1, 2)
>(1, 2) ∧ ¬>(1, 2)

& %
8
' $

Truth in first-order logic

Sentences are true with respect to a model and an interpretation


Model contains ≥ 1 objects (domain elements) and relations among them
Interpretation specifies referents for
constant symbols → objects
predicate symbols → relations
function symbols → functional relations
An atomic sentence predicate(term1 , . . . , termn ) is true
iff the objects referred to by term1 , . . . , termn
are in the relation referred to by predicate

& %
9

' $

Models for FOL: Example

crown

on head
person brother
person
brother king

R $ J
left leg left leg

& %
10
' $

Models for FOL: Lots!

We can enumerate the models for a given KB vocabulary:


For each number of domain elements n from 1 to ∞
For each k-ary predicate Pk in the vocabulary
For each possible k-ary relation on n objects
For each constant symbol C in the vocabulary
For each choice of referent for C from n objects . . .
Computing entailment by enumerating models is not going to be easy!

& %
11

' $

Universal quantification

∀ < variables > < sentence >


Everyone at GMU is smart:
∀ x At(x, GM U ) ⇒ 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, GM U ) ⇒ Smart(KingJohn)
∧ At(Richard, GM U ) ⇒ Smart(Richard)
∧ At(M ason, GM U ) ⇒ Smart(M ason)
∧ ...

& %
12
' $

A common mistake to avoid

Typically, ⇒ is the main connective with ∀


Common mistake: using ∧ as the main connective with ∀:

∀ x At(x, GM U ) ∧ Smart(x)

means “Everyone is at GMU and everyone is smart”

& %
13

' $

Existential quantification

∃ < variables > < sentence >


Someone at Madison is smart:
∃ x At(x, M adison) ∧ 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, M adison) ∧ Smart(KingJohn)


∨ At(Richard, M adison) ∧ Smart(Richard)
∨ At(M adison, M adison) ∧ Smart(M adison)
∨ ...

& %
14
' $

Another common mistake to avoid

Typically, ∧ is the main connective with ∃


Common mistake: using ⇒ as the main connective with ∃:

∃ x At(x, M adison) ⇒ Smart(x)

is true if there is anyone who is not at Madison!

& %
15

' $

Properties of quantifiers

∀ x ∀ y is the same as ∀ y ∀ x (why??)


∃ x ∃ y is the same as ∃ y ∃ x (why??)
∃ 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)
& %
16
' $

Fun with sentences

Brothers are siblings

& %
17

' $

Fun with sentences

Brothers are siblings


∀ x, y Brother(x, y) ⇒ Sibling(x, y).
“Sibling” is symmetric

& %
18
' $

Fun with sentences

Brothers are siblings


∀ x, y Brother(x, y) ⇒ Sibling(x, y).
“Sibling” is symmetric
∀ x, y Sibling(x, y) ⇔ Sibling(y, x).
One’s mother is one’s female parent

& %
19

' $

Fun with sentences

Brothers are siblings


∀ x, y Brother(x, y) ⇒ Sibling(x, y).
“Sibling” is symmetric
∀ x, y Sibling(x, y) ⇔ Sibling(y, x).
One’s mother is one’s female parent
∀ x, y M other(x, y) ⇔ (F emale(x) ∧ P arent(x, y)).
A first cousin is a child of a parent’s sibling

& %
20
' $

Fun with sentences

Brothers are siblings


∀ x, y Brother(x, y) ⇒ Sibling(x, y).
“Sibling” is symmetric
∀ x, y Sibling(x, y) ⇔ Sibling(y, x).
One’s mother is one’s female parent
∀ x, y M other(x, y) ⇔ (F emale(x) ∧ P arent(x, y)).
A first cousin is a child of a parent’s sibling
∀ x, y F irstCousin(x, y) ⇔
∃ p, ps P arent(p, x) ∧ Sibling(ps, p) ∧ P arent(ps, y)

& %
21

' $

Equality

term1 = term2 is true under a given interpretation


if and only if term1 and term2 refer to the same object

E.g., 1 = 2 and ∀ x ×(Sqrt(x), Sqrt(x)) = x are satisfiable


2 = 2 is valid
E.g., definition of (full) Sibling in terms of P arent:
∀ x, y Sibling(x, y) ⇔ [¬(x = y) ∧ ∃ m, f ¬(m = f ) ∧
P arent(m, x) ∧ P arent(f, x) ∧ P arent(m, y) ∧ P arent(f, y)]

& %
22
' $

Interacting with FOL KBs

Suppose a wumpus-world agent is using an FOL KB


and perceives a smell and a breeze (but no glitter) at t = 5:
T ell(KB, P ercept([Smell, Breeze, N one], 5))
Ask(KB, ∃ a Action(a, 5))
I.e., does the KB entail any particular actions at t = 5?
Answer: Y es, {a/Shoot} ← substitution (binding list)
Given a sentence S and a substitution σ,
Sσ denotes the result of plugging σ into S; e.g.,
S = Smarter(x, y)
σ = {x/Hillary, y/Bill}
Sσ = Smarter(Hillary, Bill)
Ask(KB, S) returns some/all σ such that KB |= Sσ
& %
23

' $

Knowledge base for the wumpus world

“Perception”
∀ b, g, t P ercept([Smell, b, g], t) ⇒ Smelt(t)
∀ s, b, t P ercept([s, b, Glitter], t) ⇒ AtGold(t)
Reflex: ∀ t AtGold(t) ⇒ Action(Grab, t)
Reflex with internal state: do we have the gold already?
∀ t AtGold(t) ∧ ¬Holding(Gold, t) ⇒ Action(Grab, t)
Holding(Gold, t) cannot be observed
⇒ keeping track of change is essential

& %
24
' $

Deducing hidden properties

Properties of locations:
∀ x, t At(Agent, x, t) ∧ Smelt(t) ⇒ Smelly(x)
∀ x, t At(Agent, x, t) ∧ Breeze(t) ⇒ Breezy(x)
Squares are breezy near a pit:
Diagnostic rule—infer cause from effect
∀ y Breezy(y) ⇒ ∃ x P it(x) ∧ Adjacent(x, y)
Causal rule—infer effect from cause
∀ x, y P it(x) ∧ Adjacent(x, y) ⇒ Breezy(y)
Neither of these is complete—e.g., the causal rule doesn’t say whether
squares far away from pits can be breezy
Definition for the Breezy predicate:
∀ y Breezy(y) ⇔ [∃ x P it(x) ∧ Adjacent(x, y)]
& %
25

' $

Keeping track of change


Facts hold in situations, rather than eternally
E.g., Holding(Gold, N ow) rather than just Holding(Gold)
Situation calculus is one way to represent change in FOL:
Adds a situation argument to each non-eternal predicate
E.g., N ow in Holding(Gold, N ow) denotes a situation
Situations are connected by the Result function
Result(a, s) is the situation that results from doing a in s

PIT

Gold PIT

PIT
PIT
Gold PIT

S1
PIT

Forward
S0
& %
26
' $

Describing actions I

“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,
...
& %
27

' $

Describing actions II

Successor-state axioms solve the representational frame problem


Each axiom is “about” a predicate (not an action per se):

P true afterwards ⇔ [an action made P true


∨ P true already and no action made P false]

For holding the gold:


∀ a, s Holding(Gold, Result(a, s)) ⇔
[(a = Grab ∧ AtGold(s))
∨ (Holding(Gold, s) ∧ a 6= Release)]

& %
28
' $

Making plans

Initial condition in KB:


At(Agent, [1, 1], S0)
At(Gold, [1, 2], S0)
Query: Ask(KB, ∃ s Holding(Gold, s))
i.e., in what situation will I be holding the gold?
Answer: {s/Result(Grab, Result(F orward, S0))}
i.e., 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

& %
29

' $

Making plans: A better way

Represent plans as action sequences [a1 , a2 , . . . , an ]


P lanResult(p, s) is the result of executing p in s
Then the query Ask(KB, ∃ p Holding(Gold, P lanResult(p, S0)))
has the solution {p/[F orward, Grab]}
Definition of P lanResult in terms of Result:
∀ s P lanResult([ ], s) = s
∀ a, p, s P lanResult([a|p], s) = P lanResult(p, Result(a, s))
Planning systems are special-purpose reasoners designed to do this type
of inference more efficiently than a general-purpose reasoner

& %
30
' $

Summary

First-order logic:
– objects and relations are semantic primitives
– syntax: constants, functions, predicates, equality, quantifiers
Increased expressive power: sufficient to define wumpus world
Situation calculus:
– conventions for describing actions and change in FOL
– can formulate planning as inference on a situation calculus KB

& %
31

You might also like