CS 561a: Introduction to Artificial Intelligence
CS 561,Sessions 13-14
1
Inference in First-Order Logic
Proofs
Unification
Generalized modus ponens
Forward and backward chaining
Completeness
Resolution
Logic programming
CS 561,Sessions 13-14
2
Inference in First-Order Logic
Proofs extend propositional logic inference to deal with quantifiers
Unification
Generalized modus ponens
Forward and backward chaining inference rules and reasoning program
Completeness Gdels theorem: for FOL, any sentence entailed by
another set of sentences can be proved from that set
Resolution inference procedure that is complete for any set of sentences
Logic programming
CS 561,Sessions 13-14
3
Logic as a representation of the World
Facts
World
Fact
follows
Refers to
(Semantics)
Representation: Sentences
Sentence
entails
CS 561,Sessions 13-14
4
Desirable Properties of Inference Procedures
entail
Follows from-1
derivation
Facts
Fact
Sentences
Sentence
4
need for derivation and entailment to align
system does derivation
explain importance of alignment because computer operates formally, i.e., without crossing the semantic wall, i.e., without access to interpretation (symbol meaning)>
CS 561,Sessions 13-14
5
Remember:
propositional
logic
CS 561,Sessions 13-14
6
Reminder
Ground term: A term that does not contain a variable.
A constant symbol
A function applies to some ground term
{x/a}: substitution/binding list
CS 561,Sessions 13-14
7
Proofs
CS 561,Sessions 13-14
8
Proofs
The three new inference rules for FOL (compared to propositional logic) are:
Universal Elimination (UE):
for any sentence , variable x and ground term ,
x
{x/}
Existential Elimination (EE):
for any sentence , variable x and constant symbol k not in KB,
x
{x/k}
Existential Introduction (EI):
for any sentence , variable x not in and ground term g in ,
x {g/x}
CS 561,Sessions 13-14
9
Proofs
The three new inference rules for FOL (compared to propositional logic) are:
Universal Elimination (UE):
for any sentence , variable x and ground term ,
x e.g., from x Likes(x, Candy) and {x/Joe}
{x/}we can infer Likes(Joe, Candy)
Existential Elimination (EE):
for any sentence , variable x and constant symbol k not in KB,
x e.g., from x Kill(x, Victim) we can infer
{x/k}Kill(Murderer, Victim), if Murderer new symbol
Existential Introduction (EI):
for any sentence , variable x not in and ground term g in ,
e.g., from Likes(Joe, Candy) we can infer
x {g/x}x Likes(x, Candy)
CS 561,Sessions 13-14
10
Example Proof
CS 561,Sessions 13-14
11
Example Proof
CS 561,Sessions 13-14
12
Example Proof
CS 561,Sessions 13-14
13
Example Proof
4 & 5
CS 561,Sessions 13-14
14
Search with primitive example rules
CS 561,Sessions 13-14
15
Unification
Goal of unification: finding
CS 561,Sessions 13-14
16
Unification
{ y / John, x / OJ }
CS 561,Sessions 13-14
17
Extra example for unification
PQ
Student(x)Student(Bob){x/Bob}
Sells(Bob, x)Sells(x, coke){x/coke, x/Bob}
Is it correct?
CS 561,Sessions 13-14
18
Extra example for unification
PQ
Student(x)Student(Bob){x/Bob}
Sells(Bob, x)Sells(y, coke){x/coke, y/Bob}
CS 561,Sessions 13-14
19
More Unification Examples
1 unify(P(a,X), P(a,b)) = {X/b}
2 unify(P(a,X), P(Y,b)) = {Y/a, X/b}
3 unify(P(a,X), P(Y,f(a)) = {Y/a, X/f(a)}
4 unify(P(a,X), P(X,b)) = failure
Note: If P(a,X) and P(X,b) are independent, then we can replace X with Y and get the unification to work.
VARIABLE term
19
To avoid failure like in (4) it is important to standardize variables apart
unify(P(a,x),P(y,b)) can be done with substitution {x/b,y/a}
the trickiest part of unification is dealing with functions;in particular, cannot replace a variable by a term containing that variable; i.e., cannot replace x by f(x).[this is referred to as occurs check]
constraints on unification:every occurrence of a variable has the same term substituted for it
in section, probably next week, will do some unification practice
CS 561,Sessions 13-14
20
Generalized Modus Ponens (GMP)
CS 561,Sessions 13-14
21
Soundness of GMP
CS 561,Sessions 13-14
22
Properties of GMP
Why is GMP an efficient inference rule?
It takes bigger steps, combining several small inferences into one
It takes sensible steps: uses eliminations that are guaranteed to help (rather than random UEs)
It uses a precompilation step which converts the KB to canonical form (Horn sentences)
Remember: sentence in Horn from is a conjunction of Horn clauses
(clauses with at most one positive literal), e.g.,
(A B) (B C D), that is (B A) ((C D) B)
CS 561,Sessions 13-14
23
Horn form
We convert sentences to Horn form as they are entered into the KB
Using Existential Elimination and And Elimination
e.g., x Owns(Nono, x) Missile(x) becomes
Owns(Nono, M)
Missile(M)
(with M a new symbol that was not already in the KB)
CS 561,Sessions 13-14
24
Forward chaining
CS 561,Sessions 13-14
25
Forward chaining example
CS 561,Sessions 13-14
26
Backward chaining
CS 561,Sessions 13-14
27
Backward chaining example
CS 561,Sessions 13-14
28
Another Example (from Konelsky)
Nintendo example.
Nintendo says it is Criminal for a programmer to provide emulators to people.My friends dont have a Nintendo 64, but they use software that runs N64 games on their PC, which is written by Reality Man, who is a programmer.
CS 561,Sessions 13-14
29
Forward Chaining
The knowledge base initially contains:
Programmer(x) Emulator(y) People(z) Provide(x,z,y) Criminal(x)
Use(friends, x) Runs(x, N64 games)
Provide(Reality Man, friends, x)
Software(x) Runs(x, N64 games) Emulator(x)
CS 561,Sessions 13-14
30
Forward Chaining
Programmer(x) Emulator(y) People(z) Provide(x,z,y) Criminal(x)(1)
Use(friends, x) Runs(x, N64 games) Provide(Reality Man, friends, x)(2)
Software(x) Runs(x, N64 games) Emulator(x)(3)
Now we add atomic sentences to the KB sequentially, and call on the forward-chaining procedure:
FORWARD-CHAIN(KB, Programmer(Reality Man))
CS 561,Sessions 13-14
31
Forward Chaining
Programmer(x) Emulator(y) People(z) Provide(x,z,y) Criminal(x)(1)
Use(friends, x) Runs(x, N64 games) Provide(Reality Man, friends, x)(2)
Software(x) Runs(x, N64 games) Emulator(x)(3)
Programmer(Reality Man)(4)
This new premise unifies with (1) with
subst({x/Reality Man}, Programmer(x))
but not all the premises of (1) are yet known, so nothing further happens.
CS 561,Sessions 13-14
32
Forward Chaining
Programmer(x) Emulator(y) People(z) Provide(x,z,y) Criminal(x)(1)
Use(friends, x) Runs(x, N64 games) Provide(Reality Man, friends, x)(2)
Software(x) Runs(x, N64 games) Emulator(x)(3)
Programmer(Reality Man)(4)
Continue adding atomic sentences:
FORWARD-CHAIN(KB, People(friends))
CS 561,Sessions 13-14
33
Forward Chaining
Programmer(x) Emulator(y) People(z) Provide(x,z,y) Criminal(x)(1)
Use(friends, x) Runs(x, N64 games) Provide(Reality Man, friends, x)(2)
Software(x) Runs(x, N64 games) Emulator(x)(3)
Programmer(Reality Man)(4)
People(friends)(5)
This also unifies with (1) with subst({z/friends}, People(z))but other premises are still missing.
CS 561,Sessions 13-14
34
Forward Chaining
Programmer(x) Emulator(y) People(z) Provide(x,z,y) Criminal(x)(1)
Use(friends, x) Runs(x, N64 games) Provide(Reality Man, friends, x)(2)
Software(x) Runs(x, N64 games) Emulator(x)(3)
Programmer(Reality Man)(4)
People(friends)(5)
Add:
FORWARD-CHAIN(KB, Software(U64))
CS 561,Sessions 13-14
35
Forward Chaining
Programmer(x) Emulator(y) People(z) Provide(x,z,y) Criminal(x)(1)
Use(friends, x) Runs(x, N64 games) Provide(Reality Man, friends, x)(2)
Software(x) Runs(x, N64 games) Emulator(x)(3)
Programmer(Reality Man)(4)
People(friends)(5)
Software(U64)(6)
This new premise unifies with (3) but the other premise is not yet known.
CS 561,Sessions 13-14
36
Forward Chaining
Programmer(x) Emulator(y) People(z) Provide(x,z,y) Criminal(x)(1)
Use(friends, x) Runs(x, N64 games) Provide(Reality Man, friends, x)(2)
Software(x) Runs(x, N64 games) Emulator(x)(3)
Programmer(Reality Man)(4)
People(friends)(5)
Software(U64)(6)
Add:
FORWARD-CHAIN(KB, Use(friends, U64))
CS 561,Sessions 13-14
37
Forward Chaining
Programmer(x) Emulator(y) People(z) Provide(x,z,y) Criminal(x)(1)
Use(friends, x) Runs(x, N64 games) Provide(Reality Man, friends, x)(2)
Software(x) Runs(x, N64 games) Emulator(x)(3)
Programmer(Reality Man)(4)
People(friends)(5)
Software(U64)(6)
Use(friends, U64)(7)
This premise unifies with (2) but one still lacks.
CS 561,Sessions 13-14
38
Forward Chaining
Programmer(x) Emulator(y) People(z) Provide(x,z,y) Criminal(x)(1)
Use(friends, x) Runs(x, N64 games) Provide(Reality Man, friends, x)(2)
Software(x) Runs(x, N64 games) Emulator(x)(3)
Programmer(Reality Man)(4)
People(friends)(5)
Software(U64)(6)
Use(friends, U64)(7)
Add:
FORWARD-CHAIN(Runs(U64, N64 games))
CS 561,Sessions 13-14
39
Forward Chaining
Programmer(x) Emulator(y) People(z) Provide(x,z,y) Criminal(x)(1)
Use(friends, x) Runs(x, N64 games) Provide(Reality Man, friends, x)(2)
Software(x) Runs(x, N64 games) Emulator(x)(3)
Programmer(Reality Man)(4)
People(friends)(5)
Software(U64)(6)
Use(friends, U64)(7)
Runs(U64, N64 games)(8)
This new premise unifies with (2) and (3).
CS 561,Sessions 13-14
40
Forward Chaining
Programmer(x) Emulator(y) People(z) Provide(x,z,y) Criminal(x)(1)
Use(friends, x) Runs(x, N64 games) Provide(Reality Man, friends, x)(2)
Software(x) Runs(x, N64 games) Emulator(x)(3)
Programmer(Reality Man)(4)
People(friends)(5)
Software(U64)(6)
Use(friends, U64)(7)
Runs(U64, N64 games)(8)
Premises (6), (7) and (8) satisfy the implications fully.
CS 561,Sessions 13-14
41
Forward Chaining
Programmer(x) Emulator(y) People(z) Provide(x,z,y) Criminal(x)(1)
Use(friends, x) Runs(x, N64 games) Provide(Reality Man, friends, x)(2)
Software(x) Runs(x, N64 games) Emulator(x)(3)
Programmer(Reality Man)(4)
People(friends)(5)
Software(U64)(6)
Use(friends, U64)(7)
Runs(U64, N64 games)(8)
So we can infer the consequents, which are now added to the knowledge base (this is done in two separate steps).
CS 561,Sessions 13-14
42
Forward Chaining
Programmer(x) Emulator(y) People(z) Provide(x,z,y) Criminal(x)(1)
Use(friends, x) Runs(x, N64 games) Provide(Reality Man, friends, x)(2)
Software(x) Runs(x, N64 games) Emulator(x)(3)
Programmer(Reality Man)(4)
People(friends)(5)
Software(U64)(6)
Use(friends, U64)(7)
Runs(U64, N64 games)(8)
Provide(Reality Man, friends, U64)(9)
Emulator(U64)(10)
Addition of these new facts triggers further forward chaining.
CS 561,Sessions 13-14
43
Forward Chaining
Programmer(x) Emulator(y) People(z) Provide(x,z,y) Criminal(x)(1)
Use(friends, x) Runs(x, N64 games) Provide(Reality Man, friends, x)(2)
Software(x) Runs(x, N64 games) Emulator(x)(3)
Programmer(Reality Man)(4)
People(friends)(5)
Software(U64)(6)
Use(friends, U64)(7)
Runs(U64, N64 games)(8)
Provide(Reality Man, friends, U64)(9)
Emulator(U64)(10)
Criminal(Reality Man)(11)
Which results in the final conclusion: Criminal(Reality Man)
CS 561,Sessions 13-14
44
Forward Chaining
Forward Chaining acts like a breadth-first search at the top level, with depth-first sub-searches.
Since the search space spans the entire KB, a large KB must be organized in an intelligent manner in order to enable efficient searches in reasonable time.
CS 561,Sessions 13-14
45
Backward Chaining
The algorithm (available in detail in textbook):
a knowledge base KB
a desired conclusion c or question q
finds all sentences that are answers to q in KB or prove c
if q is directly provable by premises in KB, infer q and remember how q was inferred (building a list of answers).
find all implications that have q as a consequent.
for each of these implications, find out whether all of its premises are now in the KB, in which case infer the consequent and add it to the KB, remembering how it was inferred.If necessary, attempt to prove the implication also via backward chaining
premises that are conjuncts are processed one conjunct at a time
CS 561,Sessions 13-14
46
Backward Chaining
Question:Has Reality Man done anything criminal?
Criminal(Reality Man)
Possible answers:
Steal(x, y) Criminal(x)
Kill(x, y) Criminal(x)
Grow(x, y) Illegal(y) Criminal(x)
HaveSillyName(x) Criminal(x)
Programmer(x) Emulator(y) People(z) Provide(x,z,y) Criminal(x)
CS 561,Sessions 13-14
47
Backward Chaining
Question:Has Reality Man done anything criminal?
Criminal(x)
CS 561,Sessions 13-14
48
Backward Chaining
Question:Has Reality Man done anything criminal?
Criminal(x)
Steal(x,y)
CS 561,Sessions 13-14
49
Backward Chaining
Question:Has Reality Man done anything criminal?
FAIL
Criminal(x)
Steal(x,y)
CS 561,Sessions 13-14
50
Backward Chaining
Question:Has Reality Man done anything criminal?
FAIL
Criminal(x)
Kill(x,y)
Steal(x,y)
CS 561,Sessions 13-14
51
Backward Chaining
Question:Has Reality Man done anything criminal?
FAILFAIL
Criminal(x)
Kill(x,y)
Steal(x,y)
CS 561,Sessions 13-14
52
Backward Chaining
Question:Has Reality Man done anything criminal?
FAILFAIL
Criminal(x)
Kill(x,y)
Steal(x,y)
grows(x,y)
Illegal(y)
CS 561,Sessions 13-14
53
Backward Chaining
Question:Has Reality Man done anything criminal?
FAILFAILFAILFAIL
Criminal(x)
Kill(x,y)
Steal(x,y)
grows(x,y)
Illegal(y)
CS 561,Sessions 13-14
54
Backward Chaining
Question:Has Reality Man done anything criminal?
FAILFAILFAILFAIL
Backward Chaining is a depth-first search: in any knowledge base of realistic size, many search paths will result in failure.
Criminal(x)
Kill(x,y)
Steal(x,y)
grows(x,y)
Illegal(y)
CS 561,Sessions 13-14
55
Backward Chaining
Question:Has Reality Man done anything criminal?
We will use the same knowledge as in our forward-chaining version of this example:
Programmer(x) Emulator(y) People(z) Provide(x,z,y) Criminal(x)
Use(friends, x) Runs(x, N64 games) Provide(Reality Man, friends, x)
Software(x) Runs(x, N64 games) Emulator(x)
Programmer(Reality Man)
People(friends)
Software(U64)
Use(friends, U64)
Runs(U64, N64 games)
CS 561,Sessions 13-14
56
Backward Chaining
Question:Has Reality Man done anything criminal?
Criminal(x)
CS 561,Sessions 13-14
57
Backward Chaining
Question:Has Reality Man done anything criminal?
Yes, {x/Reality Man}
Criminal(x)
Programmer(x)
CS 561,Sessions 13-14
58
Backward Chaining
Question:Has Reality Man done anything criminal?
Yes, {x/Reality Man} Yes, {z/friends}
Criminal(x)
People(Z)
Programmer(x)
CS 561,Sessions 13-14
59
Backward Chaining
Question:Has Reality Man done anything criminal?
Yes, {x/Reality Man} Yes, {z/friends}
Criminal(x)
People(Z)
Programmer(x)
Emulator(y)
CS 561,Sessions 13-14
60
Backward Chaining
Question:Has Reality Man done anything criminal?
Yes, {x/Reality Man}Yes, {z/friends}
Yes, {y/U64}
Criminal(x)
People(z)
Programmer(x)
Emulator(y)
Software(y)
CS 561,Sessions 13-14
61
Backward Chaining
Question:Has Reality Man done anything criminal?
Yes, {x/Reality Man} Yes, {z/friends}
Yes, {y/U64}yes, {}
Criminal(x)
People(z)
Programmer(x)
Emulator(y)
Software(y)
Runs(U64, N64 games)
CS 561,Sessions 13-14
62
Backward Chaining
Question:Has Reality Man done anything criminal?
Yes, {x/Reality Man} Yes, {z/friends}
Yes, {y/U64}
yes, {}
Criminal(x)
People(z)
Programmer(x)
Emulator(y)
Software(y)
Runs(U64, N64 games)
Provide
(reality man,
U64,
friends)
CS 561,Sessions 13-14
63
Backward Chaining
Question:Has Reality Man done anything criminal?
Yes, {x/Reality Man} Yes, {z/friends}
Yes, {y/U64}
yes, {}
Criminal(x)
People(z)
Programmer(x)
Emulator(y)
Software(y)
Runs(U64, N64 games)
Provide
(reality man,
U64,
friends)
Use(friends, U64)
CS 561,Sessions 13-14
64
Backward Chaining
Backward Chaining benefits from the fact that it is directed toward proving one statement or answering one question.
In a focused, specific knowledge base, this greatly decreases the amount of superfluous work that needs to be done in searches.
However, in broad knowledge bases with extensive information and numerous implications, many search paths may be irrelevant to the desired conclusion.
Unlike forward chaining, where all possible inferences are made, a strictly backward chaining system makes inferences only when called upon to answer a query.
64
Field Trip Russells Paradox (Bertrand Russell, 1901)
Your life has been simple up to this point, lets see how logical negation and self-referencing can totally ruin our day.
Russells paradox is the most famous of the logical or set-theoretical paradoxes. The paradox arises within naive set theory by considering the set of all sets that are not members of themselves. Such a set appears to be a member of itself if and only if it is not a member of itself, hence the paradox.
Negation and self-reference naturally lead to paradoxes, but are necessary for FOL to be universal.
Published in Principles of Mathematics (1903).
CS 561,Sessions 13-14
65
Field Trip Russells Paradox
Basic example:
Librarians are asked to make catalogs of all the books in their libraries.
Some librarians consider the catalog to be a book in the library and list the catalog in itself.
The library of congress is asked to make a master catalog of all library catalogs which do not include themselves.
Should the master catalog in the library of congress include itself?
Keep this tucked in you brain as we talk about logic today. Logical systems can easily tie themselves in knots.
See also: http://plato.stanford.edu/entries/russell-paradox/
For additional fun on paradoxes check out I of Newton from: The New Twilight Zone (1985) http://en.wikipedia.org/wiki/I_of_Newton
CS 561,Sessions 13-14
66
CS 561,Sessions 13-14
67
Completeness
As explained earlier, Generalized Modus Ponens requires sentences to be in Horn form:
atomic, or
an implication with a conjunction of atomic sentences as the antecedent and an atom as the consequent.
However, some sentences cannot be expressed in Horn form.
e.g.: x bored_of_this_lecture (x)(not a definite Horn clause)
Cannot be expressed as a definite Horn clause (exactly 1 positive literal) due to presence of negation.
67
CS 561,Sessions 13-14
68
Completeness
A significant problem since Modus Ponens cannot operate on such a sentence, and thus cannot use it in inference.
Knowledge exists but cannotbe used.
Thus inference using Modus Ponensis incomplete.
68
CS 561,Sessions 13-14
69
Completeness
However, Kurt Gdel in 1930-31 developed the completeness theorem, which shows that it is possible to find complete inference rules.
The theorem states:
any sentence entailed by a set of sentences can be proven from that set.
=> Resolution Algorithm which is a complete inference method.
69
CS 561,Sessions 13-14
70
Completeness
The completeness theorem says that a sentence can be proved if it is entailed by another set of sentences.
This is a big deal, since arbitrarily deeply nested functions combined with universal quantification make a potentially infinite search space.
But entailment in first-order logic is only semi-decidable, meaning that if a sentence is not entailed by another set of sentences, it cannot necessarily be proven.
This is to a certain degree an exotic situation, but a very real one for instance the Halting Problem.
Much of the time, in the real world, you can decide if a sentence it not entailed if by no other means than exhaustive elimination.
70
CS 561,Sessions 13-14
71
Completeness in FOL
CS 561,Sessions 13-14
72
Historical note
CS 561,Sessions 13-14
73
Kinship Example
KB:
(1) father (art, jon)
(2) father (bob, kim)
(3) father (X, Y) parent (X, Y)
Goal:parent (art, jon)?
73
First, need to change (3) into CNF:
father (x,y) parent (x,y)
Second, need to negate the Q to get (4)
parent (Art,Jon)
Now, do resolutions:
CS 561,Sessions 13-14
74
Refutation Proof/Graph
parent(art, jon)father(X, Y) => parent(X, Y)
/
father (art, jon)father (art,jon)
/
[]
CS 561,Sessions 13-14
75
Resolution
CS 561,Sessions 13-14
76
Resolution inference rule
CS 561,Sessions 13-14
77
Remember: normal forms
sum of products of
simple variables or
negated simple variables
product of sums of
simple variables or
negated simple variables
CS 561,Sessions 13-14
78
Conjunctive normal form (how-to is coming up)
CS 561,Sessions 13-14
79
Skolemization
If x has a y we can infer that y exists. However, its existence is contingent on x, thus y is a function of x as H(x).
CS 561,Sessions 13-14
80
Examples: Converting FOL sentences to clause form
Convert the sentence
1. (x)(P(x) => ((y)(P(y) => P(f(x,y))) ^ (y)(Q(x,y) => P(y))))
(like A => B ^ C)
2. Eliminate =>
(x)(P(x) ((y)(P(y) P(f(x,y))) ^ (y)(Q(x,y) P(y))))
3. Reduce scope of negation
(x)(P(x) ((y)(P(y) P(f(x,y))) ^ (y)(Q(x,y) ^ P(y))))
4. Standardize variables
(x)(P(x) ((y)(P(y) P(f(x,y))) ^ (z)(Q(x,z) ^ P(z))))
CS 561,Sessions 13-14
81
Examples: Converting FOL sentences to clause form
5. Eliminate existential quantification
(x)(P(x) ((y)(P(y) P(f(x,y))) ^ (Q(x,g(x)) ^ P(g(x)))))
6. Drop universal quantification symbols
(P(x) ((P(y) P(f(x,y))) ^ (Q(x,g(x)) ^ P(g(x)))))
7. Convert to conjunction of disjunctions
(P(x) P(y) P(f(x,y))) ^ (P(x) Q(x,g(x))) ^ (P(x) P(g(x)))
(x)(P(x) ((y)(P(y) P(f(x,y))) ^ (z)(Q(x,z) ^ P(z))))
CS 561,Sessions 13-14
82
Examples: Converting FOL sentences to clause form
8. Create separate clauses
P(x) P(y) P(f(x,y))
P(x) Q(x,g(x))
P(x) P(g(x))
9. Standardize variables
P(x) P(y) P(f(x,y))
P(z) Q(z,g(z))
P(w) P(g(w))
(P(x) P(y) P(f(x,y))) ^ (P(x) Q(x,g(x))) ^ (P(x) P(g(x)))
CS 561,Sessions 13-14
83
Getting back to Resolution proofs
CS 561,Sessions 13-14
84
Resolution proof
Want to prove
Note: This is not a
particularly good example
that came from AIMA 1st ed.
AIMA 2nd ed. Ch 9.5 has
much better ones.
CS 561,Sessions 13-14
85
Inference in First-Order Logic
Canonical forms for resolution
Conjunctive Normal Form (CNF) Implicative Normal Form (INF)
CS 561,Sessions 13-14
86
Example of Refutation Proof
(in conjunctive normal form)
Cats like fish
Cats eat everything they like
Josephine is a cat.
Prove:Josephine eats fish.
cat (x) likes (x,fish)
cat (y) likes (y,z) eats (y,z)
cat (jo)
eats (jo,fish)
86
CS 561,Sessions 13-14
87
Refutation
Negation of goal wff: eats(jo, fish)
eats(jo, fish) cat(y) likes(y, z) eats(y, z)
= {y/jo, z/fish}
cat(jo) likes(jo, fish)cat(jo)
=
cat(x) likes(x, fish) likes(jo, fish)
= {x/jo}
cat(jo)cat(jo)
(contradiction)
87
CS 561,Sessions 13-14
88
Forward chaining
cat (jo)cat (X) likes (X,fish)
/
likes (jo,fish)cat (Y) likes (Y,Z) eats (Y,Z)
/
cat (jo) eats (jo,fish)cat (jo)
/
eats (jo,fish)
CS 561,Sessions 13-14
89
Backward chaining
Is more problematic and seldom used
CS 561,Sessions 13-14
90
Example resolution proof
http://www.cs.utexas.edu/~mooney/cs343/slide-handouts/inference.4.pdf
CS 561,Sessions 13-14
91
Example resolution proof
http://www.cs.utexas.edu/~mooney/cs343/slide-handouts/inference.4.pdf
CS 561,Sessions 13-14
92
Example resolution proof
http://www.cs.utexas.edu/~mooney/cs343/slide-handouts/inference.4.pdf
CS 561,Sessions 13-14
93
Example resolution proof
http://www.cs.utexas.edu/~mooney/cs343/slide-handouts/inference.4.pdf
CS 561,Sessions 13-14
94
Another example resolution proof
http://www.cs.utsa.edu/~bylander/cs5233/notes/logichandout.pdf
CS 561,Sessions 13-14
95
Another example resolution proof
http://www.cs.utsa.edu/~bylander/cs5233/notes/logichandout.pdf
CS 561,Sessions 13-14
96
Another example resolution proof
http://www.cs.utsa.edu/~bylander/cs5233/notes/logichandout.pdf
)
(
)
(
w
Q
w
P
)
(
)
(
x
R
x
P
)
(
)
(
y
S
y
Q
)
(
)
(
z
S
z
R
)
(
)
(
w
Q
w
P
)
(
)
(
x
R
x
P
True
)
(
)
(
y
S
y
Q
)
(
)
(
z
S
z
R
/docProps/thumbnail.jpeg
Reviews
There are no reviews yet.