Download Propositional First Order Logic

Document related concepts
no text concepts found
Transcript
Propositional Logic
First Order Logic
Based on Russell and Norvig slides
1
Propositional Logic
Propositional logic is concerned with the truth or falsehood
of statements (propositions) like:
the valve is closed
five plus four equals nine
Connectives:
and

or

not

implies

equivalent 
(X  (Y  Z))  ((X  Y)  (X  Z))
“X implies Y and Z is the same as X implies Y and X implies Z”
2
Propositional Logic
• Propositional Logic is declarative, pieces of
syntax correspond to facts
• Propositional Logic is compositional
– Meaning of A  B derived from meaning of A and
B
• Meaning in Propositional Logic is contextindependent
• Propositional Logic has limited expressive
power
– Cannot say “Scottish men are careful with
money”
3
Propositional logic
• Logical constants: true, false
• Propositional symbols: P, Q, S, ...
• Wrapping parentheses: ( … )
• Sentences are combined by connectives:
 ...and
 ...or
...implies
..is equivalent
 ...not
4
Propositional logic (PL)
• A simple language useful for showing key ideas and definitions
• User defines a set of propositional symbols, like P and Q.
• User defines the semantics of each of these symbols, e.g.:
– P means "It is hot"
– Q means "It is humid"
– R means "It is raining"
• A sentence (aka formula, well-formed formula, wff) defined as:
– A symbol
– If S is a sentence, then ~S is a sentence (e.g., "not”)
– If S is a sentence, then so is (S)
– If S and T are sentences, then (S v T), (S ^ T), (S => T), and (S
<=> T) are sentences (e.g., "or," "and," "implies," and "if and only
if”)
– A finite number of applications of the above
5
Examples of PL sentences
• (P ^ Q) => R
“If it is hot and humid, then it is raining”
• Q => P
“If it is humid, then it is hot”
•Q
“It is humid.”
6
A BNF grammar of sentences in
propositional logic
S := <Sentence> ;
<Sentence> := <AtomicSentence> |
<ComplexSentence> ;
<AtomicSentence> := "TRUE" | "FALSE" |
"P" | "Q" | "S" ;
<ComplexSentence> := "(" <Sentence> ")" |
<Sentence> <Connective> <Sentence>
|
"NOT" <Sentence> ;
<Connective> := "NOT" | "AND" | "OR" |
"IMPLIES" | "EQUIVALENT" ;
7
Some terminology
• The meaning or semantics of a sentence determines its
interpretation.
• Given the truth values of all of symbols in a sentence, it can be
“evaluated” to determine its truth value (True or False).
• A model for a Knowledge Base (a set of sentences) is a “possible
world” in which each sentence in the KB is True.
– We say that the KB is satisfiable
• A valid sentence or tautology is a sentence that is True under all
interpretations, no matter what the world is actually like or what
the semantics is. Example?
• An inconsistent sentence or contradiction is a sentence that is
False under all interpretations. The world is never like what it
describes. Example?
• P entails Q, written P |= Q, means that whenever P is True, so is
Q. In other words, all models of P are also models of Q.
8
Truth tables
9
Truth tables II
The five logical connectives:
A complex sentence:
10
Models of complex sentences
11
Inference rules
• Logical inference is used to create new sentences
that logically follow from a given set of sentences
(KB).
• An inference rule is sound if every sentence X
produced by an inference rule operating on a KB
logically follows from the KB. (That is, the
inference rule does not create any contradictions)
• An inference rule is complete if it is able to
produce every expression that logically follows
from (is entailed by) the KB.
• Note the analogy to sound and complete search
algorithms.
12
Sound rules of inference
• Here are some examples of sound rules of inference.
• Each can be shown to be sound using a truth table: A rule is sound if
its conclusion is true whenever the premise is true.
RULE
Modus Ponens
And Introduction
And Elimination
Double Negation
Unit Resolution
Resolution
PREMISE
A, A => B
A, B
A^B
~~A
A v B, ~B
A v B, ~B v C
CONCLUSION
B
A^B
A
A
A
AvC
13
Soundness of modus ponens
A
B
A → B
OK?
True
True
True

True
False
False

False
True
True

False
False
True

14
Soundness of the
resolution inference rule
15
Proving things
• A proof is a sequence of sentences, where each sentence is either a
premise or a sentence derived from earlier sentences in the proof
by one of the rules of inference.
• The last sentence is the theorem (also called goal or query) that we
want to prove.
• Example for the “weather problem” given above.
1
Hu
Premise
2 Hu=>Ho
Premise
3 Ho
Modus Ponens(1,2)
4 (Ho^Hu)=>R Premise
5 Ho^Hu
6R
And Introduction(1,2)
Modus Ponens(4,5)
“It is humid”
“If it is humid, it is hot”
“It is hot”
“If it’s hot & humid, it’s
raining”
“It is hot and humid”
“It is raining”
16
Entailment and derivation
• Entailment: KB |= Q
– Q is entailed by KB (a set of premises or
assumptions) if and only if there is no logically
possible world in which Q is false while all the
premises in KB are true.
– Or, stated positively, Q is entailed by KB if and
only if the conclusion is true in every logically
possible world in which all the premises in KB are
true.
• Derivation: KB |- Q
– We can derive Q from KB if there is a proof
consisting of a sequence of valid inference steps
starting from the premises in KB and resulting in Q
17
Two important properties for inference
Soundness: If KB |- Q then KB |= Q
– If Q is derived from a set of sentences KB using a given
set of rules of inference, then Q is entailed by KB.
– Hence, inference produces only real entailments, or any
sentence that follows deductively from the premises is
valid.
Completeness: If KB |= Q then KB |- Q
– If Q is entailed by a set of sentences KB, then Q can be
derived from KB using the rules of inference.
– Hence, inference produces all entailments, or all valid
sentences can be proved from the premises.
18
Complexity
• Theorem: Determining if a set of
sentences in PL is satisfiable (i.e. has
a model) in NP-complete (Cook, 1971)
– Determining if a sentence is valid is coNP-complete
– It is unlikely that we can find a
polynomial algorithms for these problems
19
Complexity
• A sentence in PL is called a Horn
sentence if it is of the form
P1  P2  ...  Pn  Q
or equivalently ¬P1  ¬P2  ...  ¬Pn  Q
• Theorem: If φ is a conjunction of Horn
sentences then determining if φ is
satisfiable can be done in polynomial
time
20
Reasoning in PL
• A proof is a sequence of applications
of inference rules
– Finding proofs is exactly like finding
solutions in search problems
– If we model the successor function to
generate all possible applications of
inference rules, we can use any search
algorithm
• BFS, DFS, A*, etc.
– Forward or Backward Search
21
Resolution
• Resolution yields a complete inference
algorithm when coupled with any
complete search algorithm
– Unit Resolution
• One resolvent is a unit clause
• A v B v C, ~B
->
AvC
– Binary Resolution
• One resolvent is a binary clause
• A v B v C, D v ~B ->
AvCvD
– Full Resolution
• Resolvents of any arity
• A v B v C, A v D v ~B -> ?
factoring
22
Resolution
• It is easy to see that Resolution is sound
– Consider two clauses l1 v … v lk and m1 v … mn,
where li and mj are complementary (i.e. li = ~mj)
– If li is true then mj is false and m1 v … v mj-1 v
mj+1 v … v mn must be true
– If li is false then l1 v … v lj-1 v lj+1 v … v ln must
be true
• This is what resolution gives: l1 v … v lj-1 v lj+1 v … v ln
v m1 v … v mj-1 v mj+1 v … v mn
23
Resolution
• Resolution is also refutation complete
– It can always be used to either confirm
or refute a sentence
• E.g. we can use it to answer the question of
whether A v B is true
– But it cannot be used to enumerate true
sentences
• E.g. if we know that A is true we cannot
automatically generate the consequence A v B
24
A Resolution Algorithm
• Based on proof by contradiction
– Prove KB |= a by showing KB  ~a is
unsatisfiable
• First the query is converted into CNF (conjunctive
normal form) more on this later
• Then the resolution rule is applied to the resulting
clauses
• New clauses are added to the set of clauses (if not
already there)
• The process continues until either
– No new clauses can be added
– The empty clause is derived (i.e. l  ~l)
25
Propositional logic is a weak
language
• Hard to identify “individuals.” E.g., Mary, 3
• Can’t directly talk about properties of individuals
or relations between individuals. E.g. “Bill is tall”
• Generalizations, patterns, regularities can’t easily
be represented. E.g., all triangles have 3 sides
• First-Order Logic (abbreviated FOL or FOPC) is
expressive enough to concisely represent this kind
of situation.
FOL adds relations, variables, and quantifiers, e.g.,
•“Every elephant is gray”:  x (elephant(x) → gray(x))
•“There is a white alligator”:  x (alligator(X) ^ white(X))
26
Example
• Consider the problem of representing
the following information:
– Every person is mortal.
– Confucius is a person.
– Confucius is mortal.
• How can these sentences be
represented so that we can infer the
third sentence from the first two?
27
Example II
• In PL we have to create propositional symbols to stand
for all or part of each sentence. For example, we might
do:
P = “person”; Q = “mortal”; R = “Confucius”
• so the above 3 sentences are represented as:
P => Q; R => P; R => Q
• Although the third sentence is entailed by the first two,
we needed an explicit symbol, R, to represent an
individual, Confucius, who is a member of the classes
“person” and “mortal.”
• To represent other individuals we must introduce separate symbols
for each one, with means for representing the fact that all
individuals who are “people” are also "mortal.”
28
Summary (so far)
• The process of deriving new sentences from old one is called
inference.
– Sound inference processes derives true conclusions given true
premises.
– Complete inference processes derive all true conclusions from
a set of premises.
• A valid sentence is true in all worlds under all interpretations.
• If an implication sentence can be shown to be valid, then - given
its premise - its consequent can be derived.
• Different logics make different commitments about what the
world is made of and what kind of beliefs we can have regarding
the facts.
– Logics are useful for the commitments they do not make
because lack of commitment gives the knowledge base write
more freedom.
29
Summary (so far)
• Propositional logic commits only to the existence
of facts that may or may not be the case in the
world being represented.
– It has a simple syntax and a simple semantic. It
suffices to illustrate the process of inference.
– Propositional logic was considered impractical
for real-world problems, even if they are small.
• But recent (huge) advances in reasoning techniques
have made people reconsider these
• It can now be used to model and reason with several
real problems (SAT)
30
First-order Logic
• Whereas Propositional Logic assumes
the world contains facts, First-order
Logic assumes the world contains:
– Objects; people, houses, games, wars,
colours…
– Relations; red, round, bogus, prime,
brother, bigger_than, part_of…
– Functions; father_of, best_friend,
second_half_of, number_of_wheels…
31
Aside: Logics in General
Language
Proposotional Logic
First-order Logic
Ontological
Com m itm ent
Epistem ological
Com m itm ent
Temporal Logic
facts
true/false/unknow n
facts, objects, relations true/false/unknow n
facts, objects, relations,
times
true/false/unknow n
Probability Theory
Fuzzy Logic
facts
degree of belief [0, 1]
degrees of truth [0, 1] know n interval value
32
Predicate Calculus
Two important extensions to Propositional Logic are:
predicates and quantifiers
– Predicates are statements about objects by themselves or in
relation to other objects. Some examples are:
less-than-zero
weighs-more-than
– The quantifiers then operate over the predicates. There are
two quantifiers:

for all (the universal quantifier)

there exists (the existential quantifier)
So with predicate calculus we can make statements like:
 XYZ: Smaller(X,Y)  Smaller(X,Z)  Smaller(X,Z)
33
Predicate Calculus (cont’d)
Predicate calculus is very general but not very powerful
Two useful additions are functions and the predicate equals
absolute-value
number-of-wheels
colour
Functions do not return true or false but return objects.
34
First Order Logic
Two individuals are “equal” if and only if they are indistinguishable
under all predicates and functions.
Predicate calculus with these additions is a variety of first order logic.
A logic is of first order if it permits quantification over individuals but
not over predicates and functions. For example a statement like “all
predicates have only one argument” cannot be expressed in first order
logic.
The advantage of first order logic as a representational formalism lies
in its formal structure. It is relatively easy to check for consistency
and redundancy.
35
First Order Logic
– Advantages stem from rigid mathematical basis for
first order logic
– This rigidity gives rise to problems. The main
problem with first order logic is that it is monotonic.
“If a sentence S is a logical consequence of a set of
sentences A then S is still a logical consequence of any set
of sentences that includes A. So if we think of A as
embodying the set of beliefs we started with, the addition
of new beliefs cannot lead to the logical repudiation of old
consequences.”
So the set of theorems derivable from the premises is not
reduced (increases monotonically) by the adding of new
premises.
36
Syntax of FOL: Basic Elements
•
•
•
•
•
•
•
Constants: KingJohn, 2, TCD, …
Predicates: Brother, >, …
Functions: Sqrt, LeftLegOf,…
Variables: x, y, a, b,…
Connectives: , , , , 
Equality: =
Quantifiers: , 
37
FOL Example
Sentences
Brother(KingJohn,
RichardTheLionHart)
> (Length (LeftLegOf(RichardThe…)
(Length (LeftLegOf(KingJohn)
Sibling(KingJohn, Richard…) 
Sibling(Richard…, KingJohn)
38
Quantifiers
• Universal Quantification
– x At(x, Aegean)  Smart(x)
• “Everyone at Aegean is Smart”
• Being at Aegean implies you are smart
• 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,Aegean)  Smart(KingJohn)
At(Richard, Aegean)  Smart(Richard)
At(Robin, Aegean)  Smart(Robin)
39
A common mistake to avoid
• Typically,  is the main connective
with 
• Common mistake: using  as the main
connective with :
x At(x,Aegean)  Smart(x)
means “Everyone is at Aegean and
everyone is smart”
40
Quantifiers
• Existential Quantification
– x At(x, Aegean)  Smart(x)
• “Someone at Aegean is Smart”
• There exists someone who is both at Aegean and Smart
• 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,Aegean)  Smart(KingJohn)
 At(Richard, Aegean)  Smart(Richard)
 At(Robin, Aegean)  Smart(Aegean)
 ...
41
Another common mistake to avoid
• Typically,  is the main connective
with 
• Common mistake: using  as the main
connective with :
x At(x,Aegean)  Smart(x)
is true if there is anyone who is not
at Aegean!
42
Properties of quantifiers
• x y is the same as y x
• x y is the same as y x
• x y is not the same as y x
• x y Loves(x,y)
– “There is a person who loves everyone in the world”
• y x Loves(x,y)
– “Everyone in the world is loved by at least one person”
• Quantifier duality: each can be expressed using the
other
• x Likes(x,IceCream) x Likes(x,IceCream)
• x Likes(x,Broccoli)
x Likes(x,Broccoli)
43
Equality
• term1 = term2 is true under a given
interpretation if and only if term1 and
term2 refer to the same object
• E.g., definition of Sibling in terms of
Parent:
x,y Sibling(x,y)  [(x = y)  m,f  (m
= f)  Parent(m,x)  Parent(f,x) 
Parent(m,y)  Parent(f,y)]
44
Inference Rules in FOL
• In FOL there are three new
inference rules
• Universal Elimination:
For each sentence α, variable v, and ground
term g
(v)α |= SUBST({v/g},α)
• E.g. From (x) Likes(x,Icecream), by doing
the substitution {x/John} we can infer
Likes(John,Icecream)
45
Inference Rules in FOL
– Existential Elimination: For each
sentence α, variable v, and new constant k
(v)α |= SUBST({v/k},α)
• E.g. From ( x) Likes(x,Icecream), we can
infer Likes(Somebody,Icecream), as long as
Somebody is a new constant which has not
been used before
46
Inference Rules in FOL
– Existential Introduction: For each
sentence α, variable v not appearing in α,
and ground term g appearing in α
α |= (v) SUBST({g/v},α)
• E.g. from Likes(John,Icecream), we can
infer ( x) Likes(John,x)
47
Using FOL
The kinship domain:
• Brothers are siblings
x,y Brother(x,y)  Sibling(x,y)
• One's mother is one's female parent
m,c Mother(c) = m  (Female(m) 
Parent(m,c))
• “Sibling” is symmetric
x,y Sibling(x,y)  Sibling(y,x)
48
Knowledge engineering in FOL
1. Identify the task
2. Assemble the relevant knowledge
3. Decide on a vocabulary of predicates,
functions, and constants
4. Encode general knowledge about the
domain
5. Encode a description of the specific
problem instance
6. Pose queries to the inference procedure
and get answers
7. Debug the knowledge base
49
The electronic circuits domain
One-bit full adder
50
The electronic circuits domain
1. Identify the task
–
Does the circuit actually add properly? (circuit
verification)
2. Assemble the relevant knowledge
–
–
Composed of wires and gates; Types of gates
(AND, OR, XOR, NOT)
Irrelevant: size, shape, color, cost of gates
–
Alternatives:
3. Decide on a vocabulary
Type(X1) = XOR
Type(X1, XOR)
XOR(X1)
51
The electronic circuits domain
4. Encode general knowledge of the domain
–
–
–
–
–
–
–
–
t1,t2 Connected(t1, t2)  Signal(t1) =
Signal(t2)
t Signal(t) = 1  Signal(t) = 0
1≠0
t1,t2 Connected(t1, t2)  Connected(t2, t1)
g Type(g) = OR  Signal(Out(1,g)) = 1  n
Signal(In(n,g)) = 1
g Type(g) = AND  Signal(Out(1,g)) = 0 
n Signal(In(n,g)) = 0
g Type(g) = XOR  Signal(Out(1,g)) = 1 
Signal(In(1,g)) ≠ Signal(In(2,g))
g Type(g) = NOT  Signal(Out(1,g)) ≠
Signal(In(1,g))
52
The electronic circuits domain
5. Encode the specific problem instance
Type(X1) = XOR
Type(A1) = AND
Type(O1) = OR
Type(X2) = XOR
Type(A2) = AND
Connected(Out(1,X1),In(1,X2))
Connected(In(1,C1),In(1,X1))
Connected(Out(1,X1),In(2,A2))
Connected(In(1,C1),In(1,A1))
Connected(Out(1,A2),In(1,O1))
Connected(In(2,C1),In(2,X1))
Connected(Out(1,A1),In(2,O1))
Connected(In(2,C1),In(2,A1))
Connected(Out(1,X2),Out(1,C1))
Connected(In(3,C1),In(2,X2))
Connected(Out(1,O1),Out(2,C1))
Connected(In(3,C1),In(1,A2))
53
The electronic circuits domain
6. Pose queries to the inference
procedure
What are the possible sets of values of all
the terminals for the adder circuit?
i1,i2,i3,o1,o2 Signal(In(1,C_1)) = i1 
Signal(In(2,C1)) = i2  Signal(In(3,C1)) = i3 
Signal(Out(1,C1)) = o1  Signal(Out(2,C1)) = o2
7. Debug the knowledge base
May have omitted assertions like 1 ≠ 0
54
Monotonicity of First Order Logic
Once you deduce something in first order logic you cannot
get rid of it.
–
–
–
–
Engine won’t start
petrol guage reads empty
petrol tank empty (inferred)
petrol guage faulty
Wont-start(E)
Reads-empty(PG)
Reads-empty(PG) Empty(PT)
Faulty(PG)
Can be handled by qualification:
Reads-empty(PG)  Faulty(PG)  Empty(PT)
55
Example
• Suppose we have the following text:
– 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 an American.
• How can we use FOL to represent the
knowledge in the text?
• How can we use the inference rules of FOL
to infer that “West is a criminal” ?
56
Representing Knowledge in FOL
• “it is a crime for an American to sell
weapons to hostile nations”
– ( x,y,z) American(x)  Weapon(y)  Nation(z) 
Hostile(z)  Sells(x,z,y)  Criminal(x)
• “Nono … has some missiles”
– ( x) Owns(Nono,x)  Missile(x)
• “all of its missiles were sold to it by Colonel
West”
– ( x) Owns(Nono,x)  Missile(x) 
Sells(West,Nono,x)
57
Representing Knowledge in FOL
• Missiles are weapons
– ( x) Missile(x)  Weapon(x)
• An enemy of America is a hostile nation
– ( x) Enemy(x,America)  Hostile(x)
• “West, who is an American”
– American(West)
• “The country Nono”
– Nation(Nono)
• “Nono, an enemy of America”
– Enemy(Nono,America) , Nation(America)
58
Proof
• From ( x) Owns(Nono,x)  Missile(x) with
existential elimination:
– Owns(Nono,M1)  Missile(M1)
• From Owns(Nono,M1)  Missile(M1) with andelimination:
– Owns(Nono,M1) , Missile(M1)
• From ( x) Missile(x)  Weapon(x) with
universal elimination:
– Missile(M1)  Weapon(M1)
• From Missile(M1) , Missile(M1)  Weapon(M1)
with modus ponens:
– Weapon(M1)
59
Proof
• From ( x) Owns(Nono,x)  Missile(x) 
Sells(West,Nono,x) with universal elimination:
– Owns(Nono,M1)  Missile(M1)  Sells(West,Nono,M1)
• From Owns(Nono,M1)  Missile(M1) ,
Owns(Nono,M1)  Missile(M1) 
Sells(West,Nono,M1) with modus ponens:
– Sells(West,Nono,M1)
• From ( x,y,z) American(x)  Weapon(y) 
Nation(z)  Hostile(z)  Sells(x,z,y)  Criminal(x)
with universal elimination (3 times):
– American(West)  Weapon(M1)  Nation(Nono) 
Hostile(Nono)  Sells(Westr,Nono,M1)  Criminal(West)
60
Proof
• From ( x) Enemy(x,America)  Hostile(x) with
universal elimination:
– Enemy(Nono,America)  Hostile(Nono)
• From Enemy(Nono,America) ,
Enemy(Nono,America)  Hostile(Nono) with
modus ponens:
– Hostile(Nono)
• From American(West) , Weapon(M1) ,
Nation(Nono) , Hostile(Nono) ,
Sells(West,Nono,M1) with and introduction:
– American(West)  Weapon(M1)  Nation(Nono) 
Hostile(Nono)  Sells(West,Nono,M1)
61
Proof
• From American(West)  Weapon(M1) 
Nation(Nono)  Hostile(Nono) 
Sells(West,Nono,M1) ,
American(West)  Weapon(M1) 
Nation(Nono)  Hostile(Nono) 
Sells(Westr,Nono,M1)  Criminal(West)
with modus ponens:
– Criminal(West)
62
Summary
• Propositional Logic
– limited expressive power
•
•
•
•
Add predicates and quantifiers
Add functions and equals
First Order Logic
Examples
63