SlideShare a Scribd company logo
Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany,
Course on Artificial Intelligence, winter term 2012/2013 0/20
Artificial Intelligence
Artificial Intelligence
6. First Order Logic Inference
Lars Schmidt-Thieme
Information Systems and Machine Learning Lab (ISMLL)
Institute of Economics and Information Systems
& Institute of Computer Science
University of Hildesheim
http://www.ismll.uni-hildesheim.de
Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany,
Course on Artificial Intelligence, winter term 2012/2013 1/20
Artificial Intelligence
1. Unification
2. Forward Chaining
3. Backward Chaining
4. Resolution
Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany,
Course on Artificial Intelligence, winter term 2012/2013 1/20
Artificial Intelligence / 1. Unification
“Compound Expressions”
Formulas and function terms sometimes are described as
compound expressions.
For a compound formula, its operator and its arguments is
defined:
op(P(t1, . . . , tn)) := P args(P(t1, . . . , tn)) := (t1, . . . , tn)
op(f(t1, . . . , tn)) := f args(f(t1, . . . , tn)) := (t1, . . . , tn)
op(¬φ) := ¬ args(¬φ) := (φ)
op(φ ⊕ ψ) := ⊕ args(φ ⊕ ψ) := (φ, ψ), ⊕ ∈ {∧, ∨, →, ↔}
op(∀xφ) := ∀ args(∀xφ) := (x, φ)
op(∃xφ) := ∃ args(∃xφ) := (x, φ)
Atomic terms, i.e., constants and variables, are not considered
compound expressions.
Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany,
Course on Artificial Intelligence, winter term 2012/2013 1/20
Artificial Intelligence / 1. Unification
Unification / Algorithm
1 unify(x, y, θ) :
2 if θ = failure
3 return failure
4 elsif x = y
5 return θ
6 elsif is-variable(x)
7 return unify-var(x, y, θ)
8 elsif is-variable(y)
9 return unify-var(y, x, θ)
10 elsif is-compound(x) and is-compound(y)
11 return unify(args(x), args(y), unify(op(x), op(y), θ))
12 elsif is-list(x) and is-list(y)
13 return unify((x2, . . . , xn), (y2, . . ., yn), unify(x1, y1, θ))
14 else
15 return failure
16 fi
17
18 unify-var(var, x, θ) :
19 if θ(var) = ∅
20 return unify(θ(var), x, θ)
21 elsif θ(x) = ∅
22 return unify(var, θ(x), θ)
23 elsif occurs(var, x)
24 return failure
25 else
26 return θ ∪ {var → x}
Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany,
Course on Artificial Intelligence, winter term 2012/2013 2/20
Artificial Intelligence / 1. Unification
Unification / Example
unify(Knows(John, x), Knows(y, Mother(y)), ∅)
= unify((John, x), (y, Mother(y)), unify(Knows, Knows, ∅))
= unify((John, x), (y, Mother(y)), ∅)
= unify((x), (Mother(y)), unify(John, y, ∅))
= unify((x), (Mother(y)), {y/John})
= unify-var(x, Mother(y), {y/John})
= {y/John, x/Mother(y)}
Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany,
Course on Artificial Intelligence, winter term 2012/2013 3/20
Artificial Intelligence
1. Unification
2. Forward Chaining
3. Backward Chaining
4. Resolution
Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany,
Course on Artificial Intelligence, winter term 2012/2013 4/20
Artificial Intelligence / 2. Forward Chaining
Generalized Modus Ponens
premise conclusion name
F F, F F → G F G → -elimination / modus ponens
F F F Fθ universial instantiation
F F, F F → G, Fθ = F θ F Gθ generalized modus ponens
Lemma 1. Generalized modus ponens is sound.
Proof.
1. F F [assumption]
2. F Fθ [universal instantiation applied to 1]
3. F F → G [assumption]
4. F F θ → Gθ [universal instantiation applied to 3]
5. F Gθ [ → -elemination applied to 2,4]
Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany,
Course on Artificial Intelligence, winter term 2012/2013 4/20
Artificial Intelligence / 2. Forward Chaining
Generalized Modus Ponens / Example
Let the knowledge base F be
King(x) ∧ Greedy(x) → Evil(x)
King(John)
Greedy(y)
Now use
F :=King(John) ∧ Greedy(y)
F :=King(x) ∧ Greedy(x)
G :=Evil(x)
then for
θ := {x/John, y/John}
we have
Fθ = King(John) ∧ Greedy(John) = F θ
and thus we can derive
Gθ = Evil(John)
Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany,
Course on Artificial Intelligence, winter term 2012/2013 5/20
Artificial Intelligence / 2. Forward Chaining
Forward Chaining
Definitions for conjunctive normal forms (CNF), Horn clauses
and Horn formulas are the same as in propositional logic.
Here, atoms are formulas
P(t1, t2, . . . , tn)
where P is a predicate symbol and ti are any terms (including
variables).
A Horn clause C is called definite it it contains exactly one
positive literal, i.e., implications of type
(
n
i=1
¬Li) ≡(
n
i=1
Li → false)
are not possible.
If the knowledge base consists of Horn clauses only, then
generalized modus ponens can be used just like modus ponens
to infer statements iteratively by forward chaining.
Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany,
Course on Artificial Intelligence, winter term 2012/2013 6/20
Artificial Intelligence / 2. Forward Chaining
Example
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 American.
Prove that Col. West is a criminal.
Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany,
Course on Artificial Intelligence, winter term 2012/2013 7/20
Artificial Intelligence / 2. Forward Chaining
Example (2/4)
The law says that it is a crime for an American to sell weapons to
hostile nations.
∀American(x) ∧ Weapon(y) ∧ Hostile(z) ∧ Sell(x, y, z) → Criminal(x)
The country Nono,
Country(Nono)
an enemy of America,
Enemy(Nono, America)
has some missiles,
∃xMissile(x) ∧ Owns(Nono, x)
and all of its missiles were sold to it by Colonel West,
∀xMissile(x) ∧ Owns(Nono, x) → Sell(West, x, Nono)
who is American.
American(West)
Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany,
Course on Artificial Intelligence, winter term 2012/2013 8/20
Artificial Intelligence / 2. Forward Chaining
Example (3/4)
Additional background knowledge:
Missiles are weapons.
∀xMissile(x) → Weapon(x)
Enemies of America are hostile.
∀xEnemy(x, America) → Hostile(x)
Prove that Col. West is a criminal
Criminal(West)?
Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany,
Course on Artificial Intelligence, winter term 2012/2013 9/20
Artificial Intelligence / 2. Forward Chaining
Example (4/4)
The knowledge base can be simplified by
• existential instantiation and
• omitting universal quantifiers
(as all free variables are universally quantified anyway)
American(x) ∧ Weapon(y) ∧ Hostile(z) ∧ Sell(x, y, z) → Criminal(x)
Country(Nono)
Enemy(Nono, America)
Missile(M1) ∧ Owns(Nono, M1)
Missile(x) ∧ Owns(Nono, x) → Sell(West, x, Nono)
American(West)
Missile(x) → Weapon(x)
Enemy(x, America) → Hostile(x)
This knowledge base consists of definite Horn clauses only !
Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany,
Course on Artificial Intelligence, winter term 2012/2013 10/20
Artificial Intelligence / 2. Forward Chaining
Forward Chaining
1 entails-fc(FOL definite horn formula F, query atom Q) :
2 C := ∅
3 C′
:= clauses(F)
4 while C′
= ∅ do
5 C := C ∪ C′
6 C′
:= ∅
7 for C ∈ C do
8 C′
:= standardize-apart(C)
9 for atoms A1, A2, . . . , An ∈ C and θ with body(C′
)θ = (A1 ∧ A2 ∧ . . . ∧ An)θ do
10 H := head(C′
)θ
11 if H ∈ C and H ∈ C′
12 C′
:= C′
∪ {H}
13 if unify(H, Q) return true fi
14 fi
15 od
16 od
17 od
18 return false
Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany,
Course on Artificial Intelligence, winter term 2012/2013 11/20
Artificial Intelligence / 2. Forward Chaining
Forward Chaining / Example
Forward chaining proof
Enemy(Nono,America)Owns(Nono,M1)Missile(M1)American(West)
Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany,
Course on Artificial Intelligence, winter term 2012/2013 11/20
Artificial Intelligence / 2. Forward Chaining
Forward Chaining / Example
Forward chaining proof
Hostile(Nono)
Enemy(Nono,America)Owns(Nono,M1)Missile(M1)American(West)
Weapon(M1) Sells(West,M1,Nono)
Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany,
Course on Artificial Intelligence, winter term 2012/2013 11/20
Artificial Intelligence / 2. Forward Chaining
Forward Chaining / Example
Forward chaining proof
Hostile(Nono)
Enemy(Nono,America)Owns(Nono,M1)Missile(M1)American(West)
Weapon(M1)
Criminal(West)
Sells(West,M1,Nono)
Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany,
Course on Artificial Intelligence, winter term 2012/2013 11/20
Artificial Intelligence
1. Unification
2. Forward Chaining
3. Backward Chaining
4. Resolution
Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany,
Course on Artificial Intelligence, winter term 2012/2013 12/20
Artificial Intelligence / 3. Backward Chaining
Backward Chaining
Backward chaining works the other way around:
• keep a list of yet unsatisfied atoms Q
– starting with the query atom.
• try to find rules whichs head match atoms in Q (after
unification) and
replace the atom from Q by the atoms of the body of the
matching rule.
• proceed recursively until no more atoms have to be satisfied.
Backward chaining keeps track of the substitution needed during
the proof.
Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany,
Course on Artificial Intelligence, winter term 2012/2013 12/20
Artificial Intelligence / 3. Backward Chaining
Backward Chaining / Algorithm
1 entails-bc(FOL definite horn formula F, query atom Q) :
2 return entails-bc-goals(clauses(F), {Q}, ∅) = ∅
3
4 entails-bc-goals(set of FOL definite Horn clauses C, set of FOL atoms Q, θ) :
5 if Q = ∅ return {θ} fi
6 Θ := ∅
7 for C ∈ C do
8 C′
:= standardize-apart(C)
9 θ′
:= unify(head(C′
), Q[1]θ)
10 if θ′
= failure
11 Θ := Θ ∪ entails-bc-goals(C, atoms(body(C′
)) ∪ (Q  {C}), θ ∪ θ′
)
12 fi
13 od
14 return Θ
Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany,
Course on Artificial Intelligence, winter term 2012/2013 13/20
Artificial Intelligence / 3. Backward Chaining
Backward Chaining / Example
Backward chaining example
Criminal(West)
Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany,
Course on Artificial Intelligence, winter term 2012/2013 13/20
Artificial Intelligence / 3. Backward Chaining
Backward Chaining / Example
Backward chaining example
Criminal(West)
Weapon(y)American(x) Sells(x,y,z) Hostile(z)
{x/West}
Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany,
Course on Artificial Intelligence, winter term 2012/2013 13/20
Artificial Intelligence / 3. Backward Chaining
Backward Chaining / Example
Backward chaining example
Criminal(West)
Weapon(y) Sells(x,y,z) Hostile(z)
{x/West}
{ }
American(West)
Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany,
Course on Artificial Intelligence, winter term 2012/2013 13/20
Artificial Intelligence / 3. Backward Chaining
Backward Chaining / Example
Backward chaining example
Hostile(Nono)
Criminal(West)
Missile(y)
Weapon(y) Sells(West,M1,z)American(West)
{ }
Sells(x,y,z) Hostile(z)
{x/West}
Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany,
Course on Artificial Intelligence, winter term 2012/2013 13/20
Artificial Intelligence / 3. Backward Chaining
Backward Chaining / Example
Backward chaining example
Hostile(Nono)
Criminal(West)
Missile(y)
Weapon(y) Sells(West,M1,z)American(West)
{ }
Sells(x,y,z) Hostile(z)
y/M1{ }
{x/West, y/M1}
Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany,
Course on Artificial Intelligence, winter term 2012/2013 13/20
Artificial Intelligence / 3. Backward Chaining
Backward Chaining / Example
Backward chaining example
Owns(Nono,M1)Missile(M1)
Criminal(West)
Missile(y)
Weapon(y) Sells(West,M1,z)American(West)
y/M1{ }
{ }z/Nono{ }
Hostile(z)
{x/West, y/M1, z/Nono}
Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany,
Course on Artificial Intelligence, winter term 2012/2013 13/20
Artificial Intelligence / 3. Backward Chaining
Backward Chaining / Example
Backward chaining example
Hostile(Nono)
Enemy(Nono,America)Owns(Nono,M1)Missile(M1)
Criminal(West)
Missile(y)
Weapon(y) Sells(West,M1,z)American(West)
y/M1{ } { }{ }{ }
{ }z/Nono{ }
{x/West, y/M1, z/Nono}
Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany,
Course on Artificial Intelligence, winter term 2012/2013 13/20
Artificial Intelligence / 3. Backward Chaining
Logic Programming: Prolog
Prolog: logical programming language (PROgrammation en
LOGique; Alain Colmerauer and Philippe Roussel, ca. 1972)
Allows knowlegde bases (= programs) consisting of definite Horn
clauses.
Uses depth-first, left-to-right backward chaining (with several
improvements).
Example:
evil(X) :- king(X), greedy(X).
king(john).
greedy(X).
?- evil(john)
Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany,
Course on Artificial Intelligence, winter term 2012/2013 14/20
Artificial Intelligence / 3. Backward Chaining
Negation as Failure
Prolog allows the usage of negated atoms in rule bodies
interpreting them by negation as failure:
good(X) :- not evil(X)
Now the query ?- good(richard) would evaluate to true as
the opposite, evil(richard) cannot be proved.
This is also called closed world assumption:
if a fact is not encoded in the knowledge base
and cannot be inferred,
then it is considered not to be true.
Negation as failure renders Prolog non-monotonic:
if one adds formulas to the knowledge base, inferences may
become untrue.
Example: add evil(richard) to the knowledge base,
now the query ?- good(richard) evaluates to false.
In first order logics we could not derive any conclusions about
good(richard).
Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany,
Course on Artificial Intelligence, winter term 2012/2013 15/20
Artificial Intelligence / 3. Backward Chaining
Prolog / Examples
Appending two lists to produce a third:
append(X,Y,Z) encodes that X appended to Y results in Z.
append([], Y, Y).
append([X|L], Y, [X|Z]) :- append(L, Y, Z).
query: append([1,2], [3,4], C) ?
answers: C=[1,2,3,4]
query: append(A, B, [1,2]) ?
answers: A=[] B=[1,2]
A=[1] B=[2]
A=[1,2] B=[]
Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany,
Course on Artificial Intelligence, winter term 2012/2013 16/20
Artificial Intelligence
1. Unification
2. Forward Chaining
3. Backward Chaining
4. Resolution
Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany,
Course on Artificial Intelligence, winter term 2012/2013 17/20
Artificial Intelligence / 4. Resolution
FOL Resolvents
Full first-order version:
1 ∨ · · · ∨ k, m1 ∨ · · · ∨ mn
( 1 ∨ · · · ∨ i−1 ∨ i+1 ∨ · · · ∨ k ∨ m1 ∨ · · · ∨ mj−1 ∨ mj+1 ∨ · · · ∨ mn)θ
where Unify( i, ¬mj) = θ.
For example,
¬Rich(x) ∨ Unhappy(x), Rich(Ken)
Unhappy(Ken)
with i = ¬Rich(x), mj = Rich(Ken) and θ = {x/Ken}
Apply resolution steps to CNF(KB ∧ ¬query); complete for FOL.
Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany,
Course on Artificial Intelligence, winter term 2012/2013 17/20
Artificial Intelligence / 4. Resolution
Conversion to CNF
Everyone who loves all animals is loved by
someone:∀x[∀yAnimal(y) =⇒ Loves(x, y)] =⇒ [∃yLoves(y, x)]
1. Eliminate biconditionals and implications
∀x[¬∀y¬Animal(y) ∨ Loves(x, y)] ∨ [∃yLoves(y, x)]
2. Move ¬ inwards: ¬∀x, p ≡ ∃x¬p, ¬∃x, p ≡ ∀x¬p:
∀x[∃y¬(¬Animal(y) ∨ Loves(x, y))] ∨ [∃yLoves(y, x)]
∀x[∃y¬¬Animal(y) ∧ ¬Loves(x, y)] ∨ [∃yLoves(y, x)]
∀x[∃yAnimal(y) ∧ ¬Loves(x, y)] ∨ [∃yLoves(y, x)]
Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany,
Course on Artificial Intelligence, winter term 2012/2013 18/20
Artificial Intelligence / 4. Resolution
Conversion to CNF
3. Standardize variables: each quantifier should use a different
one
∀x[∃yAnimal(y) ∧ ¬Loves(x, y)] ∨ [∃zLoves(z, x)]
4. Skolemize: a more general form of existential instantiation.
Each existential variable is replaced by a Skolem function
of the enclosing universally quantified variables:
∀x[Animal(F(x)) ∧ ¬Loves(x, F(x))] ∨ Loves(G(x), x)
5. Drop universal quantifiers:
[Animal(F(x)) ∧ ¬Loves(x, F(x))] ∨ Loves(G(x), x)
6. Distribute ∧ over ∨:
[Animal(F(x))∨Loves(G(x), x)]∧[¬Loves(x, F(x))∨Loves(G(x), x)]
Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany,
Course on Artificial Intelligence, winter term 2012/2013 19/20
Artificial Intelligence / 4. Resolution
Resolution / Example
Resolution proof: definite clauses
American(West)
Missile(M1)
Missile(M1)
Owns(Nono,M1)
Enemy(Nono,America) Enemy(Nono,America)
Criminal(x)Hostile(z)
L
Sells(x,y,z)
L
Weapon(y)
L
American(x)
L
>
>
>
>
Weapon(x)Missile(x)L
>
Sells(West,x,Nono)Missile(x)
L
Owns(Nono,x)
L
>
>
Hostile(x)Enemy(x,America)
L
>
Sells(West,y,z)
L
Weapon(y)
L
American(West)
L
>
>
Hostile(z)
L
>
Sells(West,y,z)
L
Weapon(y)
L
>
Hostile(z)
L
>
Sells(West,y,z)
L
>
Hostile(z)
L
>
L
Missile(y)
Hostile(z)
L
>
L
Sells(West,M1,z)
>
>
L
Hostile(Nono)
L
Owns(Nono,M1)
L
Missile(M1)
>
L
Hostile(Nono)L Owns(Nono,M1)
L
Hostile(Nono)
Criminal(West)
L Chapter 9 46
Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany,
Course on Artificial Intelligence, winter term 2012/2013 20/20

More Related Content

More from Amar Jukuntla

Problem Solving
Problem Solving Problem Solving
Problem Solving
Amar Jukuntla
 
Intelligent Agents
Intelligent Agents Intelligent Agents
Intelligent Agents
Amar Jukuntla
 
Introduction
IntroductionIntroduction
Introduction
Amar Jukuntla
 
DFS
DFSDFS
Sorting
SortingSorting
Sorting
Amar Jukuntla
 
Sorting
SortingSorting
Sorting
Amar Jukuntla
 
Nature of open source
Nature of open sourceNature of open source
Nature of open source
Amar Jukuntla
 
Linux Directory System: Introduction
Linux Directory System: IntroductionLinux Directory System: Introduction
Linux Directory System: Introduction
Amar Jukuntla
 
Introduction to Data Structures
Introduction to Data StructuresIntroduction to Data Structures
Introduction to Data Structures
Amar Jukuntla
 
Learning
LearningLearning
Learning
Amar Jukuntla
 
First Order Logic resolution
First Order Logic resolutionFirst Order Logic resolution
First Order Logic resolution
Amar Jukuntla
 
A*
A*A*
Agents1
Agents1Agents1
Agents1
Amar Jukuntla
 
Need of object oriented programming
Need of object oriented programmingNeed of object oriented programming
Need of object oriented programming
Amar Jukuntla
 

More from Amar Jukuntla (14)

Problem Solving
Problem Solving Problem Solving
Problem Solving
 
Intelligent Agents
Intelligent Agents Intelligent Agents
Intelligent Agents
 
Introduction
IntroductionIntroduction
Introduction
 
DFS
DFSDFS
DFS
 
Sorting
SortingSorting
Sorting
 
Sorting
SortingSorting
Sorting
 
Nature of open source
Nature of open sourceNature of open source
Nature of open source
 
Linux Directory System: Introduction
Linux Directory System: IntroductionLinux Directory System: Introduction
Linux Directory System: Introduction
 
Introduction to Data Structures
Introduction to Data StructuresIntroduction to Data Structures
Introduction to Data Structures
 
Learning
LearningLearning
Learning
 
First Order Logic resolution
First Order Logic resolutionFirst Order Logic resolution
First Order Logic resolution
 
A*
A*A*
A*
 
Agents1
Agents1Agents1
Agents1
 
Need of object oriented programming
Need of object oriented programmingNeed of object oriented programming
Need of object oriented programming
 

Recently uploaded

1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
MadhavJungKarki
 
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Sinan KOZAK
 
Pressure Relief valve used in flow line to release the over pressure at our d...
Pressure Relief valve used in flow line to release the over pressure at our d...Pressure Relief valve used in flow line to release the over pressure at our d...
Pressure Relief valve used in flow line to release the over pressure at our d...
cannyengineerings
 
一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理
一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理
一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理
upoux
 
5G Radio Network Througput Problem Analysis HCIA.pdf
5G Radio Network Througput Problem Analysis HCIA.pdf5G Radio Network Througput Problem Analysis HCIA.pdf
5G Radio Network Througput Problem Analysis HCIA.pdf
AlvianRamadhani5
 
Mechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdfMechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdf
21UME003TUSHARDEB
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
uqyfuc
 
smart pill dispenser is designed to improve medication adherence and safety f...
smart pill dispenser is designed to improve medication adherence and safety f...smart pill dispenser is designed to improve medication adherence and safety f...
smart pill dispenser is designed to improve medication adherence and safety f...
um7474492
 
Call For Paper -3rd International Conference on Artificial Intelligence Advan...
Call For Paper -3rd International Conference on Artificial Intelligence Advan...Call For Paper -3rd International Conference on Artificial Intelligence Advan...
Call For Paper -3rd International Conference on Artificial Intelligence Advan...
ijseajournal
 
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
ydzowc
 
5g-5G SA reg. -standalone-access-registration.pdf
5g-5G SA reg. -standalone-access-registration.pdf5g-5G SA reg. -standalone-access-registration.pdf
5g-5G SA reg. -standalone-access-registration.pdf
devtomar25
 
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
ecqow
 
Generative AI Use cases applications solutions and implementation.pdf
Generative AI Use cases applications solutions and implementation.pdfGenerative AI Use cases applications solutions and implementation.pdf
Generative AI Use cases applications solutions and implementation.pdf
mahaffeycheryld
 
Introduction to Computer Networks & OSI MODEL.ppt
Introduction to Computer Networks & OSI MODEL.pptIntroduction to Computer Networks & OSI MODEL.ppt
Introduction to Computer Networks & OSI MODEL.ppt
Dwarkadas J Sanghvi College of Engineering
 
CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1
PKavitha10
 
Operational amplifiers and oscillators notes
Operational amplifiers and oscillators notesOperational amplifiers and oscillators notes
Operational amplifiers and oscillators notes
ShachiPGowda
 
Null Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAMNull Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAM
Divyanshu
 
Supermarket Management System Project Report.pdf
Supermarket Management System Project Report.pdfSupermarket Management System Project Report.pdf
Supermarket Management System Project Report.pdf
Kamal Acharya
 
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
Paris Salesforce Developer Group
 
Data Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason WebinarData Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason Webinar
UReason
 

Recently uploaded (20)

1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
 
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
 
Pressure Relief valve used in flow line to release the over pressure at our d...
Pressure Relief valve used in flow line to release the over pressure at our d...Pressure Relief valve used in flow line to release the over pressure at our d...
Pressure Relief valve used in flow line to release the over pressure at our d...
 
一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理
一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理
一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理
 
5G Radio Network Througput Problem Analysis HCIA.pdf
5G Radio Network Througput Problem Analysis HCIA.pdf5G Radio Network Througput Problem Analysis HCIA.pdf
5G Radio Network Througput Problem Analysis HCIA.pdf
 
Mechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdfMechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdf
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
 
smart pill dispenser is designed to improve medication adherence and safety f...
smart pill dispenser is designed to improve medication adherence and safety f...smart pill dispenser is designed to improve medication adherence and safety f...
smart pill dispenser is designed to improve medication adherence and safety f...
 
Call For Paper -3rd International Conference on Artificial Intelligence Advan...
Call For Paper -3rd International Conference on Artificial Intelligence Advan...Call For Paper -3rd International Conference on Artificial Intelligence Advan...
Call For Paper -3rd International Conference on Artificial Intelligence Advan...
 
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
 
5g-5G SA reg. -standalone-access-registration.pdf
5g-5G SA reg. -standalone-access-registration.pdf5g-5G SA reg. -standalone-access-registration.pdf
5g-5G SA reg. -standalone-access-registration.pdf
 
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
 
Generative AI Use cases applications solutions and implementation.pdf
Generative AI Use cases applications solutions and implementation.pdfGenerative AI Use cases applications solutions and implementation.pdf
Generative AI Use cases applications solutions and implementation.pdf
 
Introduction to Computer Networks & OSI MODEL.ppt
Introduction to Computer Networks & OSI MODEL.pptIntroduction to Computer Networks & OSI MODEL.ppt
Introduction to Computer Networks & OSI MODEL.ppt
 
CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1
 
Operational amplifiers and oscillators notes
Operational amplifiers and oscillators notesOperational amplifiers and oscillators notes
Operational amplifiers and oscillators notes
 
Null Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAMNull Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAM
 
Supermarket Management System Project Report.pdf
Supermarket Management System Project Report.pdfSupermarket Management System Project Report.pdf
Supermarket Management System Project Report.pdf
 
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
 
Data Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason WebinarData Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason Webinar
 

First Order Logic

  • 1. Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence, winter term 2012/2013 0/20
  • 2. Artificial Intelligence Artificial Intelligence 6. First Order Logic Inference Lars Schmidt-Thieme Information Systems and Machine Learning Lab (ISMLL) Institute of Economics and Information Systems & Institute of Computer Science University of Hildesheim http://www.ismll.uni-hildesheim.de Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence, winter term 2012/2013 1/20
  • 3. Artificial Intelligence 1. Unification 2. Forward Chaining 3. Backward Chaining 4. Resolution Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence, winter term 2012/2013 1/20
  • 4. Artificial Intelligence / 1. Unification “Compound Expressions” Formulas and function terms sometimes are described as compound expressions. For a compound formula, its operator and its arguments is defined: op(P(t1, . . . , tn)) := P args(P(t1, . . . , tn)) := (t1, . . . , tn) op(f(t1, . . . , tn)) := f args(f(t1, . . . , tn)) := (t1, . . . , tn) op(¬φ) := ¬ args(¬φ) := (φ) op(φ ⊕ ψ) := ⊕ args(φ ⊕ ψ) := (φ, ψ), ⊕ ∈ {∧, ∨, →, ↔} op(∀xφ) := ∀ args(∀xφ) := (x, φ) op(∃xφ) := ∃ args(∃xφ) := (x, φ) Atomic terms, i.e., constants and variables, are not considered compound expressions. Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence, winter term 2012/2013 1/20
  • 5. Artificial Intelligence / 1. Unification Unification / Algorithm 1 unify(x, y, θ) : 2 if θ = failure 3 return failure 4 elsif x = y 5 return θ 6 elsif is-variable(x) 7 return unify-var(x, y, θ) 8 elsif is-variable(y) 9 return unify-var(y, x, θ) 10 elsif is-compound(x) and is-compound(y) 11 return unify(args(x), args(y), unify(op(x), op(y), θ)) 12 elsif is-list(x) and is-list(y) 13 return unify((x2, . . . , xn), (y2, . . ., yn), unify(x1, y1, θ)) 14 else 15 return failure 16 fi 17 18 unify-var(var, x, θ) : 19 if θ(var) = ∅ 20 return unify(θ(var), x, θ) 21 elsif θ(x) = ∅ 22 return unify(var, θ(x), θ) 23 elsif occurs(var, x) 24 return failure 25 else 26 return θ ∪ {var → x} Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence, winter term 2012/2013 2/20
  • 6. Artificial Intelligence / 1. Unification Unification / Example unify(Knows(John, x), Knows(y, Mother(y)), ∅) = unify((John, x), (y, Mother(y)), unify(Knows, Knows, ∅)) = unify((John, x), (y, Mother(y)), ∅) = unify((x), (Mother(y)), unify(John, y, ∅)) = unify((x), (Mother(y)), {y/John}) = unify-var(x, Mother(y), {y/John}) = {y/John, x/Mother(y)} Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence, winter term 2012/2013 3/20
  • 7. Artificial Intelligence 1. Unification 2. Forward Chaining 3. Backward Chaining 4. Resolution Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence, winter term 2012/2013 4/20
  • 8. Artificial Intelligence / 2. Forward Chaining Generalized Modus Ponens premise conclusion name F F, F F → G F G → -elimination / modus ponens F F F Fθ universial instantiation F F, F F → G, Fθ = F θ F Gθ generalized modus ponens Lemma 1. Generalized modus ponens is sound. Proof. 1. F F [assumption] 2. F Fθ [universal instantiation applied to 1] 3. F F → G [assumption] 4. F F θ → Gθ [universal instantiation applied to 3] 5. F Gθ [ → -elemination applied to 2,4] Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence, winter term 2012/2013 4/20
  • 9. Artificial Intelligence / 2. Forward Chaining Generalized Modus Ponens / Example Let the knowledge base F be King(x) ∧ Greedy(x) → Evil(x) King(John) Greedy(y) Now use F :=King(John) ∧ Greedy(y) F :=King(x) ∧ Greedy(x) G :=Evil(x) then for θ := {x/John, y/John} we have Fθ = King(John) ∧ Greedy(John) = F θ and thus we can derive Gθ = Evil(John) Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence, winter term 2012/2013 5/20
  • 10. Artificial Intelligence / 2. Forward Chaining Forward Chaining Definitions for conjunctive normal forms (CNF), Horn clauses and Horn formulas are the same as in propositional logic. Here, atoms are formulas P(t1, t2, . . . , tn) where P is a predicate symbol and ti are any terms (including variables). A Horn clause C is called definite it it contains exactly one positive literal, i.e., implications of type ( n i=1 ¬Li) ≡( n i=1 Li → false) are not possible. If the knowledge base consists of Horn clauses only, then generalized modus ponens can be used just like modus ponens to infer statements iteratively by forward chaining. Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence, winter term 2012/2013 6/20
  • 11. Artificial Intelligence / 2. Forward Chaining Example 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 American. Prove that Col. West is a criminal. Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence, winter term 2012/2013 7/20
  • 12. Artificial Intelligence / 2. Forward Chaining Example (2/4) The law says that it is a crime for an American to sell weapons to hostile nations. ∀American(x) ∧ Weapon(y) ∧ Hostile(z) ∧ Sell(x, y, z) → Criminal(x) The country Nono, Country(Nono) an enemy of America, Enemy(Nono, America) has some missiles, ∃xMissile(x) ∧ Owns(Nono, x) and all of its missiles were sold to it by Colonel West, ∀xMissile(x) ∧ Owns(Nono, x) → Sell(West, x, Nono) who is American. American(West) Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence, winter term 2012/2013 8/20
  • 13. Artificial Intelligence / 2. Forward Chaining Example (3/4) Additional background knowledge: Missiles are weapons. ∀xMissile(x) → Weapon(x) Enemies of America are hostile. ∀xEnemy(x, America) → Hostile(x) Prove that Col. West is a criminal Criminal(West)? Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence, winter term 2012/2013 9/20
  • 14. Artificial Intelligence / 2. Forward Chaining Example (4/4) The knowledge base can be simplified by • existential instantiation and • omitting universal quantifiers (as all free variables are universally quantified anyway) American(x) ∧ Weapon(y) ∧ Hostile(z) ∧ Sell(x, y, z) → Criminal(x) Country(Nono) Enemy(Nono, America) Missile(M1) ∧ Owns(Nono, M1) Missile(x) ∧ Owns(Nono, x) → Sell(West, x, Nono) American(West) Missile(x) → Weapon(x) Enemy(x, America) → Hostile(x) This knowledge base consists of definite Horn clauses only ! Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence, winter term 2012/2013 10/20
  • 15. Artificial Intelligence / 2. Forward Chaining Forward Chaining 1 entails-fc(FOL definite horn formula F, query atom Q) : 2 C := ∅ 3 C′ := clauses(F) 4 while C′ = ∅ do 5 C := C ∪ C′ 6 C′ := ∅ 7 for C ∈ C do 8 C′ := standardize-apart(C) 9 for atoms A1, A2, . . . , An ∈ C and θ with body(C′ )θ = (A1 ∧ A2 ∧ . . . ∧ An)θ do 10 H := head(C′ )θ 11 if H ∈ C and H ∈ C′ 12 C′ := C′ ∪ {H} 13 if unify(H, Q) return true fi 14 fi 15 od 16 od 17 od 18 return false Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence, winter term 2012/2013 11/20
  • 16. Artificial Intelligence / 2. Forward Chaining Forward Chaining / Example Forward chaining proof Enemy(Nono,America)Owns(Nono,M1)Missile(M1)American(West) Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence, winter term 2012/2013 11/20
  • 17. Artificial Intelligence / 2. Forward Chaining Forward Chaining / Example Forward chaining proof Hostile(Nono) Enemy(Nono,America)Owns(Nono,M1)Missile(M1)American(West) Weapon(M1) Sells(West,M1,Nono) Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence, winter term 2012/2013 11/20
  • 18. Artificial Intelligence / 2. Forward Chaining Forward Chaining / Example Forward chaining proof Hostile(Nono) Enemy(Nono,America)Owns(Nono,M1)Missile(M1)American(West) Weapon(M1) Criminal(West) Sells(West,M1,Nono) Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence, winter term 2012/2013 11/20
  • 19. Artificial Intelligence 1. Unification 2. Forward Chaining 3. Backward Chaining 4. Resolution Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence, winter term 2012/2013 12/20
  • 20. Artificial Intelligence / 3. Backward Chaining Backward Chaining Backward chaining works the other way around: • keep a list of yet unsatisfied atoms Q – starting with the query atom. • try to find rules whichs head match atoms in Q (after unification) and replace the atom from Q by the atoms of the body of the matching rule. • proceed recursively until no more atoms have to be satisfied. Backward chaining keeps track of the substitution needed during the proof. Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence, winter term 2012/2013 12/20
  • 21. Artificial Intelligence / 3. Backward Chaining Backward Chaining / Algorithm 1 entails-bc(FOL definite horn formula F, query atom Q) : 2 return entails-bc-goals(clauses(F), {Q}, ∅) = ∅ 3 4 entails-bc-goals(set of FOL definite Horn clauses C, set of FOL atoms Q, θ) : 5 if Q = ∅ return {θ} fi 6 Θ := ∅ 7 for C ∈ C do 8 C′ := standardize-apart(C) 9 θ′ := unify(head(C′ ), Q[1]θ) 10 if θ′ = failure 11 Θ := Θ ∪ entails-bc-goals(C, atoms(body(C′ )) ∪ (Q {C}), θ ∪ θ′ ) 12 fi 13 od 14 return Θ Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence, winter term 2012/2013 13/20
  • 22. Artificial Intelligence / 3. Backward Chaining Backward Chaining / Example Backward chaining example Criminal(West) Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence, winter term 2012/2013 13/20
  • 23. Artificial Intelligence / 3. Backward Chaining Backward Chaining / Example Backward chaining example Criminal(West) Weapon(y)American(x) Sells(x,y,z) Hostile(z) {x/West} Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence, winter term 2012/2013 13/20
  • 24. Artificial Intelligence / 3. Backward Chaining Backward Chaining / Example Backward chaining example Criminal(West) Weapon(y) Sells(x,y,z) Hostile(z) {x/West} { } American(West) Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence, winter term 2012/2013 13/20
  • 25. Artificial Intelligence / 3. Backward Chaining Backward Chaining / Example Backward chaining example Hostile(Nono) Criminal(West) Missile(y) Weapon(y) Sells(West,M1,z)American(West) { } Sells(x,y,z) Hostile(z) {x/West} Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence, winter term 2012/2013 13/20
  • 26. Artificial Intelligence / 3. Backward Chaining Backward Chaining / Example Backward chaining example Hostile(Nono) Criminal(West) Missile(y) Weapon(y) Sells(West,M1,z)American(West) { } Sells(x,y,z) Hostile(z) y/M1{ } {x/West, y/M1} Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence, winter term 2012/2013 13/20
  • 27. Artificial Intelligence / 3. Backward Chaining Backward Chaining / Example Backward chaining example Owns(Nono,M1)Missile(M1) Criminal(West) Missile(y) Weapon(y) Sells(West,M1,z)American(West) y/M1{ } { }z/Nono{ } Hostile(z) {x/West, y/M1, z/Nono} Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence, winter term 2012/2013 13/20
  • 28. Artificial Intelligence / 3. Backward Chaining Backward Chaining / Example Backward chaining example Hostile(Nono) Enemy(Nono,America)Owns(Nono,M1)Missile(M1) Criminal(West) Missile(y) Weapon(y) Sells(West,M1,z)American(West) y/M1{ } { }{ }{ } { }z/Nono{ } {x/West, y/M1, z/Nono} Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence, winter term 2012/2013 13/20
  • 29. Artificial Intelligence / 3. Backward Chaining Logic Programming: Prolog Prolog: logical programming language (PROgrammation en LOGique; Alain Colmerauer and Philippe Roussel, ca. 1972) Allows knowlegde bases (= programs) consisting of definite Horn clauses. Uses depth-first, left-to-right backward chaining (with several improvements). Example: evil(X) :- king(X), greedy(X). king(john). greedy(X). ?- evil(john) Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence, winter term 2012/2013 14/20
  • 30. Artificial Intelligence / 3. Backward Chaining Negation as Failure Prolog allows the usage of negated atoms in rule bodies interpreting them by negation as failure: good(X) :- not evil(X) Now the query ?- good(richard) would evaluate to true as the opposite, evil(richard) cannot be proved. This is also called closed world assumption: if a fact is not encoded in the knowledge base and cannot be inferred, then it is considered not to be true. Negation as failure renders Prolog non-monotonic: if one adds formulas to the knowledge base, inferences may become untrue. Example: add evil(richard) to the knowledge base, now the query ?- good(richard) evaluates to false. In first order logics we could not derive any conclusions about good(richard). Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence, winter term 2012/2013 15/20
  • 31. Artificial Intelligence / 3. Backward Chaining Prolog / Examples Appending two lists to produce a third: append(X,Y,Z) encodes that X appended to Y results in Z. append([], Y, Y). append([X|L], Y, [X|Z]) :- append(L, Y, Z). query: append([1,2], [3,4], C) ? answers: C=[1,2,3,4] query: append(A, B, [1,2]) ? answers: A=[] B=[1,2] A=[1] B=[2] A=[1,2] B=[] Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence, winter term 2012/2013 16/20
  • 32. Artificial Intelligence 1. Unification 2. Forward Chaining 3. Backward Chaining 4. Resolution Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence, winter term 2012/2013 17/20
  • 33. Artificial Intelligence / 4. Resolution FOL Resolvents Full first-order version: 1 ∨ · · · ∨ k, m1 ∨ · · · ∨ mn ( 1 ∨ · · · ∨ i−1 ∨ i+1 ∨ · · · ∨ k ∨ m1 ∨ · · · ∨ mj−1 ∨ mj+1 ∨ · · · ∨ mn)θ where Unify( i, ¬mj) = θ. For example, ¬Rich(x) ∨ Unhappy(x), Rich(Ken) Unhappy(Ken) with i = ¬Rich(x), mj = Rich(Ken) and θ = {x/Ken} Apply resolution steps to CNF(KB ∧ ¬query); complete for FOL. Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence, winter term 2012/2013 17/20
  • 34. Artificial Intelligence / 4. Resolution Conversion to CNF Everyone who loves all animals is loved by someone:∀x[∀yAnimal(y) =⇒ Loves(x, y)] =⇒ [∃yLoves(y, x)] 1. Eliminate biconditionals and implications ∀x[¬∀y¬Animal(y) ∨ Loves(x, y)] ∨ [∃yLoves(y, x)] 2. Move ¬ inwards: ¬∀x, p ≡ ∃x¬p, ¬∃x, p ≡ ∀x¬p: ∀x[∃y¬(¬Animal(y) ∨ Loves(x, y))] ∨ [∃yLoves(y, x)] ∀x[∃y¬¬Animal(y) ∧ ¬Loves(x, y)] ∨ [∃yLoves(y, x)] ∀x[∃yAnimal(y) ∧ ¬Loves(x, y)] ∨ [∃yLoves(y, x)] Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence, winter term 2012/2013 18/20
  • 35. Artificial Intelligence / 4. Resolution Conversion to CNF 3. Standardize variables: each quantifier should use a different one ∀x[∃yAnimal(y) ∧ ¬Loves(x, y)] ∨ [∃zLoves(z, x)] 4. Skolemize: a more general form of existential instantiation. Each existential variable is replaced by a Skolem function of the enclosing universally quantified variables: ∀x[Animal(F(x)) ∧ ¬Loves(x, F(x))] ∨ Loves(G(x), x) 5. Drop universal quantifiers: [Animal(F(x)) ∧ ¬Loves(x, F(x))] ∨ Loves(G(x), x) 6. Distribute ∧ over ∨: [Animal(F(x))∨Loves(G(x), x)]∧[¬Loves(x, F(x))∨Loves(G(x), x)] Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence, winter term 2012/2013 19/20
  • 36. Artificial Intelligence / 4. Resolution Resolution / Example Resolution proof: definite clauses American(West) Missile(M1) Missile(M1) Owns(Nono,M1) Enemy(Nono,America) Enemy(Nono,America) Criminal(x)Hostile(z) L Sells(x,y,z) L Weapon(y) L American(x) L > > > > Weapon(x)Missile(x)L > Sells(West,x,Nono)Missile(x) L Owns(Nono,x) L > > Hostile(x)Enemy(x,America) L > Sells(West,y,z) L Weapon(y) L American(West) L > > Hostile(z) L > Sells(West,y,z) L Weapon(y) L > Hostile(z) L > Sells(West,y,z) L > Hostile(z) L > L Missile(y) Hostile(z) L > L Sells(West,M1,z) > > L Hostile(Nono) L Owns(Nono,M1) L Missile(M1) > L Hostile(Nono)L Owns(Nono,M1) L Hostile(Nono) Criminal(West) L Chapter 9 46 Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence, winter term 2012/2013 20/20