Download • Above we applied the unit resolution inference rule: ℓ1 ∨ … ∨ ℓ k

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Statistical inference wikipedia , lookup

First-order logic wikipedia , lookup

Law of thought wikipedia , lookup

Natural deduction wikipedia , lookup

Unification (computer science) wikipedia , lookup

Inquiry wikipedia , lookup

Truth-bearer wikipedia , lookup

Boolean satisfiability problem wikipedia , lookup

Propositional calculus wikipedia , lookup

Knowledge representation and reasoning wikipedia , lookup

Transcript
136
• Above we applied the unit resolution inference rule:
…
,
1
k, m
…
…
1
i-1
i+1
k
where i and m are complementary literals (one is the negation of
the other)
• In the general form the resolution rule allows to have an arbitrary
number of complementary literals
• Factoring: one must remove duplicate literals from the resulting
clause
A B, A ¬B
A
Department of Software Systems
OHJ-2556 Artificial Intelligence, Spring 2010
1.4.2010
137
• Resolution is a sound inference rule, and it is also complete
• Though, given that A is true, we cannot use resolution to
automatically generate the consequence A B
• However, we can use resolution to answer the question whether
A B is true
• To show that KB
, we show that (KB
¬ ) is unsatisfiable
• First (KB ¬ ) is converted into conjunctive normal form (CNF)
and the resolution rule is applied to the resulting clauses
• A CNF formula is a conjunction of disjunctions of literals (clauses)
…
… ( n,1 …
1,1
1,k)
n,k)
• Every sentence of propositional logic is logically equivalent to a
CNF formula
Department of Software Systems
OHJ-2556 Artificial Intelligence, Spring 2010
1.4.2010
1
138
• Let us convert the sentence R2: B1,1
(P1,2
P2,1) into CNF
• Eliminate
:
(B1,1 (P1,2 P2,1)) ((P1,2 P2,1) B1,1)
• Eliminate :
(¬B1,1 P1,2 P2,1) (¬(P1,2 P2,1) B1,1)
• Move ¬ inwards:
(¬B1,1 P1,2 P2,1) ((¬P1,2 ¬P2,1) B1,1)
• Apply distributivity law to yield R2 finally in CNF:
(¬B1,1
Department of Software Systems
P1,2
P2,1)
(¬P1,2
B1,1)
(¬P2,1
B1,1)
OHJ-2556 Artificial Intelligence, Spring 2010
1.4.2010
139
A resolution algorithm
• First (KB ¬ ) is converted into CNF and the resolution rule is
applied to the resulting clauses
• Each pair that contains complementary literals is resolved to
produce a new clause, which is added to the set if it not already
present
• Eventually,
• there are no new clauses that can be added, in which case
the KB does not entail , or
• an application of the resolution rule derives the empty clause
(= F), in which case KB
• Resolution rule applied to a contradiction P
clause
Department of Software Systems
OHJ-2556 Artificial Intelligence, Spring 2010
¬P yields the empty
1.4.2010
2
140
Horn clauses
• In real-world knowledge bases it is often enough to use
implication rules, like (L1,1 Breeze) B1,1
• The premise of the rule, which is a conjunction of positive literals,
is called the body of the clause
• Also the conclusion is non-negated; it is called the head of the
clause
• If a Horn clause has no body at all, it is called a definite clause or
a fact
• The Horn clause P1 ... Pn Q is logically equivalent with
disjunction (¬P1 … ¬Pn Q)
• Thus, one allows that at most one of the literals is a positive
proposition
Department of Software Systems
OHJ-2556 Artificial Intelligence, Spring 2010
1.4.2010
141
Forward and backward chaining
• Inference with Horn clauses can be done through the forward
chaining or backward chaining algorithm
• Both directions for inference are very natural
• Deciding entailment with Horn clauses can be done in time that is
linear in the size of the knowledge base
• Forward chaining (data-driven reasoning) examines the body of
which rules is satisfied by the known facts and adds their heads
as new facts to the knowledge base
• Every inference is essentially an application of Modus Ponens
• This process continues until the given query q is added or until no
further inferences can be made
Department of Software Systems
OHJ-2556 Artificial Intelligence, Spring 2010
1.4.2010
3
142
AND-OR graph
Q
P
L
B
A
A
A
B
Q
M
L
P
B
P
M
L
L
P
M
L
A
Department of Software Systems
B
OHJ-2556 Artificial Intelligence, Spring 2010
1.4.2010
143
• Forward chaining is a sound and also a complete inference
algorithm
• Backward chaining is a form of goal-directed reasoning
• We aim at showing the truth of a given query q by considering
those implications in the knowledge base that conclude q (have it
as the head)
• By backward chaining one examines the whether all the premises
of one of those implications can be proved true
• Backward chaining touches only relevant facts, while forward
chaining blindly produces all facts
• One can limit forward chaining to the generation of facts that are
likely to be relevant to queries that will be solved by backward
chaining
Department of Software Systems
OHJ-2556 Artificial Intelligence, Spring 2010
1.4.2010
4
144
7.7 Agents Based on Propositional Logic
• Already in our extremely simple wumpus-world it turns out that
using propositional logic as the knowledge representation
language suffers from serious drawbacks
• To initialize the knowledge base with the rules of the game, we
have to give for each square [x,y] the rule about perceiving a
breeze (and the corresponding rule for perceiving a stench)
Bx,y
(Px,y+1 Px,y-1 Px+1,y Px-1,y)
• There is at least one wumpus:
W1,1 W1,2 … W4,3 W4,4
and, on the other hand, at most one wumpus, which can be
expressed by sentences such as
¬W1,1
Department of Software Systems
¬W1,2
OHJ-2556 Artificial Intelligence, Spring 2010
1.4.2010
145
• When we add rules ¬P1,1 and ¬W1,1 to the KB, the simple 4 × 4
world has required in total 2 + 2·16 + 1 + 120 = 155 initial
sentences containing 64 symbols
• Model checking should enumerate 264 1.8 × 1019 possible
models
• More efficient inference algorithms, though, can take advantage
of propositional knowledge representation
• In addition, the KB does not yet contain all the rules of the game
(e.g., arrow, gold, walls) and no knowledge of the possible
actions of the agent (direction the agent is facing, taking steps),
so it cannot yet be used to choose actions
• In addition to being inefficient, propositional logic is also an
unsatisfactory choice
Department of Software Systems
OHJ-2556 Artificial Intelligence, Spring 2010
1.4.2010
5
146
8 FIRST-ORDER LOGIC
Sentence
AtomicSentence | (Sentence Connective Sentence)
| Quantifier VariableList: Sentence | ¬Sentence
AtomicSentence
Predicate(TermList) | Term = Term
TermList
Term | Term, TermList
Term
Function(TermList) | Constant | Variable
Connective
| | |
Quantifier
|
VariableList
Variable | Variable, VariableList
Constant
A | X1 | John | Mary | …
Variable
a|x|s|…
Predicate
Before | HasColor | Raining | …
Function
Mother | LeftLeg | …
Department of Software Systems
OHJ-2556 Artificial Intelligence, Spring 2010
1.4.2010
147
• In the realm of first-order predicate logic there are objects, which
have properties, and between which there are relations
• Constant symbols stand for objects,
predicate symbols stand for relations, that is, relations of arity n,
Mother(John, Mary),
and properties are unary relations,
Student(John)
• A function is a total mapping that associates one single value to
the ordered collection of its arguments
Department of Software Systems
OHJ-2556 Artificial Intelligence, Spring 2010
1.4.2010
6
148
• Quantifiers let us express properties of entire collections of
objects, instead of enumerating the objects by name
• We have the possibility to quantify objects universally and
existentially
y: Student(y) EagerToLearn(y)
x: Father(John) = x
• To determine the semantics for the syntactic notions (constants,
predicates, and functions) need to be bound with an
interpretation to corresponding (real-)world objects
• The world together with the interpretation of the syntax
constitutes the model in predicate logic
Department of Software Systems
OHJ-2556 Artificial Intelligence, Spring 2010
1.4.2010
149
• Term f(t1, …,tn) refers to the object that is the value of function F
applied to objects d1, …,dn, where F is the interpretation of f and
d1, …,dn are the objects that the argument terms t1, …,tn refer to
• Atomic sentence P(t1, …,tn) is true if the relation referred to by the
predicate symbol P holds among the objects referred to by the
arguments t1, …,tn
• The semantics of sentences formed with logical connectives is
identical to that in propositional logic
• The sentence x: (x) is true in a given model under a given
interpretation if sentence is true by assigning some object as
the interpretation of variable x
• The sentence x: (x) is true in a given model under a given
interpretation if sentence is true by assigning any object as the
interpretation of variable x
Department of Software Systems
OHJ-2556 Artificial Intelligence, Spring 2010
1.4.2010
7
150
• Because is really a conjunction over the universe of objects
and is a disjunction, they obey de Morgan’s rules
x: ¬ (x)
x: (x)
x: (x)
¬ x: ¬ (x)
¬
¬ x: (x)
x: ¬ (x)
¬ x: ¬ (x)
x: (x)
• Equality is a special relation, whose interpretation cannot be
changed
• Terms t1 and t2 have this relation if and only if they refer to the
same object
Department of Software Systems
OHJ-2556 Artificial Intelligence, Spring 2010
1.4.2010
151
The kinship domain
m, c: Mother(c) = m
w, h: Husband(h, w)
Female(m)
Male(h)
x: Male(x)
x, y: Sibling(x, y)
Department of Software Systems
x
Spouse(h, w).
¬Female(x).
p, c: Parent(p, c)
g, c: Grandparent(g, c)
Parent(m, c).
Child(c, p).
p: Parent(g, p)
y
p: Parent(p, x)
OHJ-2556 Artificial Intelligence, Spring 2010
Parent(p, c).
Parent(p, y).
1.4.2010
8
152
Peano axioms
• Define natural numbers and addition using one constant symbol
0 and a successor function S
NatNum(0).
n: NatNum(n) NatNum(S(n)).
• So the natural numbers are 0, S(0), S(S(0)), …
• Axioms to constrain the successor function:
n: 0 S(n).
m, n: m n S(m) S(n).
• Addition in terms of the successor function:
m: NatNum(m) +(m, 0) = m.
m, n: NatNum(m) NatNum(n) +(S(m), n) = S(+(m, n))
Department of Software Systems
OHJ-2556 Artificial Intelligence, Spring 2010
1.4.2010
153
Axioms for sets
• To define sets we use:
• Constant symbol Ø, which refers to the empty set
• Unary predicate Set, which is true of sets
• Binary predicates x s and s1 s2
• Binary function are s1Us2, s1 s2, and { x|s }, which refers to
the set resulting from adjoining element x to set s
• The only sets are the empty set and those made by adjoining
something to a set:
s: Set(s)
s=Ø
x, s2: Set(s2) s = { x|s2 }.
• The empty set has no elements adjoined into it:
¬ x, s: { x|s } = Ø.
Department of Software Systems
OHJ-2556 Artificial Intelligence, Spring 2010
1.4.2010
9
154
• Adjoining an element already in the set has no effect:
x, s: x s
s = { x|s }.
• The only members of a set are those elements that were
adjoined into it:
x, s: x s
[ y, s2: (s = { y|s2 } (x = y x s2))].
• Set inclusion:
s1, s2: s1
s2
(
x: x
s1
x
s2).
• Two set are equal iff each is a subset of the other:
s1, s2: (s1 = s2)
(s1 s2 s2 s1).
x, s1, s2: x
x, s1, s2: x
Department of Software Systems
(s1 s2)
(s1Us2)
(x
(x
s1
s1
x
x
s2).
s2).
OHJ-2556 Artificial Intelligence, Spring 2010
1.4.2010
155
9 INFERENCE IN FIRST-ORDER LOGIC
• By eliminating the quantifiers from the sentences of predicate
logic we reduce them to sentences of proposition logic and can
turn to familiar inference rules
• We may substitute the variable v in an universally quantified
sentence v: with any ground term, a term without variables
• Substitution is a binding list – set of variable/term pairs – in
which each variable is given the ground term replacing it
• Let ( ) denote the result of applying the substitution to the
sentence
• Universal instantiation to eliminate the quantifier is the inference
v: ,
({v/g}),
for any variable v and ground term g
Department of Software Systems
OHJ-2556 Artificial Intelligence, Spring 2010
1.4.2010
10
156
• In existential instantiation the variable v is replaced by a Skolem
constant k a symbol that does not appear elsewhere in the KB
v: .
({v/k})
• E.g., from the sentence x: Father(John) = x we can infer the
instantiation Father(John) = F1, where F1 is a new constant
• Eliminating existential quantifiers by replacing the variables with
Skolem constants and universal quantifiers with the set of all
possible instantiations turns the KB essentially propositional
• Ground atomic sentences such as Student(John) and
Mother(John, Mary) must be viewed as proposition symbols
• Therefore, we can apply any complete propositional inference
algorithm to obtain first-order conclusions
Department of Software Systems
OHJ-2556 Artificial Intelligence, Spring 2010
1.4.2010
157
• When the KB includes a function symbol, the set of possible
ground term substitutions is infinite
Father(Father(Father(John)))
• By the famous theorem due to Herbrand (1930) if a sentence is
entailed by the original, first-order KB, then there is a proof
involving just a finite subset of the propositionalized knowledge
base
• Thus, nested functions can be handled in the order of increasing
depth without losing the possibility to prove any entailed sentence
• Inference is hence complete
• Analogy with the halting problem for Turingin machines however
shows that the problem is undecidable
• More exactly: the problem is semidecidable, the sketched
approach comes up with a proof for entailed sentences
Department of Software Systems
OHJ-2556 Artificial Intelligence, Spring 2010
1.4.2010
11
158
9.2 Unification and Lifting
• Inference in propositional logic is obviously too inefficient
• Writing out variable bindings seems to be futile
• When there is a substitution s.t. p’i( ) = pi( ), for all i, where p’i
and pi are atomic sentences as well as q, we can use the
Generalized Modus Ponens (GMP):
p’1, …, p’n, (p1 … pn q)
q( )
• For example, from the fact Student(John) and sentences
x: EagerToLearn(x) and
y: Student(y) EagerToLearn(y) Thesis_2010(y)
we can infer Thesis_2010(John) because of the substitution
{ y/John, x/John}
Department of Software Systems
OHJ-2556 Artificial Intelligence, Spring 2010
1.4.2010
159
• Generalized Modus Ponens is a sound inference rule
• Similarly as GMP can be lifted from propositional logic to firstorder logic, also forward chaining, backward chaining, and the
resolution algorithm can be lifted
• A key component of all first-order inference algorithms is
unification
• The unification algorithm Unify takes two sentences and returns
a unifier for them if one exists:
Unify(p, q) = , s.t. p( ) = q( )
otherwise unification fails
Department of Software Systems
OHJ-2556 Artificial Intelligence, Spring 2010
1.4.2010
12
160
Unify( Knows(John, x), Knows(John, Jane) ) = { x/Jane }
Unify( Knows(John, x), Knows(y, Bill) )= { x/Bill, y/John }
Unify( Knows(John, x), Knows(y, Mother(y)) ) =
{ y/John, x/Mother(John) }
Unify( Knows(John, x), Knows(x, Eliza) ) = fail
• The last unification fails because x cannot take on the values
John and Eliza simultaneously
• Because variables are universally quantified, Knows(x, Eliza)
means that everyone knows Eliza
• In that sense, we should be able to infer that John knows Eliza
Department of Software Systems
OHJ-2556 Artificial Intelligence, Spring 2010
1.4.2010
161
• The problem above arises only because the two sentences
happen to use the same variable name
• The variable names of different sentences have no bearing (prior
to unification) and one can standardize them apart
• There can be more than one unifier, which of them to return?
• The unification algorithm is required to return the (unique) most
general unifier
• The fewer restrictions (bindings to constants) the unifier places,
the more general it is
Unify( Knows(John, x), Knows(y, z) )
{ y/John, z/x }
{ y/John, x/John, z/John }
Department of Software Systems
OHJ-2556 Artificial Intelligence, Spring 2010
1.4.2010
13
162
9.3 Forward Chaining
• As before, let us consider knowledge bases in Horn normal form
• A definite clause either is atomic or is an implication whose body
is a conjunction of positive literals and whose head is a single
positive literal
Student(John)
EagerToLearn(x)
Student(y) EagerToLearn(y)
Thesis_2010(y)
• Unlike propositional literals, first-order literals can include
variables
• The variables are assumed to be universally quantified
Department of Software Systems
OHJ-2556 Artificial Intelligence, Spring 2010
1.4.2010
163
• As in propositional logic we start from facts, and by applying
Generalized Modus Ponens are able to do forward chaining
inference
• One needs to take care that a “new" fact is not just a renaming of
a known fact
Likes(x, Candy)
Likes(y, Candy)
• Since every inference is just an application of Generalized Modus
Ponens, forward chaining is a sound inference algorithm
• It is also complete in the sense that it answers every query
whose answers are entailed by any knowledge base of definite
clauses
Department of Software Systems
OHJ-2556 Artificial Intelligence, Spring 2010
1.4.2010
14
164
Datalog
• In a Datalog knowledge base the definite clauses contain no
function symbols at all
• In this case we can easily prove the completeness of inference
• Let in the knowledge base
• p be the number of predicates,
• k be the maximum arity of predicates (= the number of
arguments), and
• n the number of constants
• There can be no more than pnk distinct ground facts
• So after this many iterations the algorithm must have reached a
fixed point, where new inferences are not possible
Department of Software Systems
OHJ-2556 Artificial Intelligence, Spring 2010
1.4.2010
165
• In Datalog a polynomial number of steps is enough to generate
all entailments
• For general definite clauses we have to appeal to Herbrand’s
theorem to establish that the algorithm will find a proof
• If the query has no answer (is not entailed by the KB), forward
chaining may fail to terminate in some cases
• E.g., if the KB includes the Peano axioms, then forward chaining
adds facts
NatNum(S(0)).
NatNum(S(S(0))).
NatNum(S(S(S(0)))).
…
• Entailment with definite clauses is semidecidable
Department of Software Systems
OHJ-2556 Artificial Intelligence, Spring 2010
1.4.2010
15
166
9.4 Backward Chaining
• In predicate logic backward chaining explores the bodies of those
rules whose head unifies with the goal
• Each conjunct in the body recursively becomes a goal
• When the goal unifies with a known fact – a clause with a head
but no body – no new (sub)goals are added to the stack and the
goal is solved
• Depth-first search algorithm
• The returned substitution is composed from the substitutions
needed to solve all intermediate stages (subgoals)
• Inference in Prolog is based on backward chaining
Department of Software Systems
OHJ-2556 Artificial Intelligence, Spring 2010
1.4.2010
16