Transcript Lecture 5

Logic
Propositional Logic
Logic as a Knowledge
Representation Language
• A Logic is a formal language, with precisely
defined syntax and semantics, which supports
sound inference. Independent of domain of
application.
• Different logics exist, which allow you to
represent different kinds of things, and which
allow more or less efficient inference.
– ..
– propositional logic, predicate logic, temporal
logic, modal logic, description logic..
• But representing some things in logic may
not be very natural, and inferences may
not be efficient. More specialised
languages may be better
Formal Languages
• Intelligent systems require that we have
– Knowledge formally represented
– New inferences/conclusions possible.
• Formal languages have been developed
to support knowledge representation.
• One important one is the use of logic very general purpose way to formally
represent truths about the world, and
draw sound conclusions from these.
Propositional logic
• In general a logic is defined by
– syntax: what expressions are allowed in the
language.
– Semantics: what they mean, in terms of a
mapping to real world
– proof theory: how we can draw new
conclusions from existing statements in the
logic.
• Propositional logic is the simplest..
What is a proposition
• Proposition = Statement that may be
either true or false.
• John is in the classroom.
• Mary is enrolled in 270A.
• If A is true, and A implies B, then B is
true.
• If some A are B, and some B are C,
then some A are C.
• If some women are students, and some
students are men, then ….
Propositional Logic: Syntax
• Symbols (e.g., letters, words) are used to
represent facts about the world, e.g.,
– “P” represents the fact “Andrew likes chocolate”
– “Q” represents the fact “Andrew has chocolate”
• These are called atomic propositions
• True and false are also atomic propositions
• Logical connectives are used to represent
and: , or:  , if-then: , not: .
• Statements or sentences in the language
are constructed from atomic propositions
and logical connectives.
– P  Q “Andrew likes chocolate and he doesn’t have any.”
– P Q “If Andrew likes chocolate then Andrew has chocolate”
Propositional Logic: Semantics
• What does it all mean?
• Sentences in propositional logic tell you
about what is true or false.
– P  Q means that both P and Q are true.
– P  Q means that either P or Q is true (or
both)
Concerns
• What does it mean to say a statement is
true?
• What are sound rules for reasoning
• What can we represent in propositional
logic?
• What is the efficiency?
• Can we guarantee to infer all true
statements?
Propositional Logic: Semantics
– P  Q means that if P is true, so is Q.
• This is all formally defined using truth
tables.
XY
TT
TF
FT
FF
XvY
T
T
T
F
We now know exactly what is meant in terms of the truth of the elementary
propositions when we get a sentence in the language (e.g., P => Q v R).
Truth Tables
• The truth tables for Propositional Calculus
are as follows
Negation
Conjunction
Disjunction
Implication
Exclusive Or
IFF Equivalence
Proof Theory
• How do we draw new conclusions from existing supplied facts?
• We can define inference rules, which are guaranteed to give true
conclusions given true premises.
• For propositional logic useful one is modus ponens:
• If A is true and A=> B is true, then conclude B is true.
A, A B
—————————
B
Proof Theory and Inference
• So, let P mean “It is raining”, Q mean
“I carry my umbrella”.
• If we know that P is true, and P => Q
is true..
• We can conclude that Q is true.
• Note that certain expressions are
equivalent
– think about P => Q and  P v Q.
More complex rules of inference
• Other rules of inference can be used,
e.g.,:
A v B,  B v C
———————————————
AvC
• This is essentially the resolution rule of
inference, used in Prolog.
Consider
• What can we conclude?
sunny v raining
 raining v umbrella
Semantics
•
•
•
•
Model = possible world
x+y = 4 is true in the world x=3, y=1.
x+y = 4 is false in the world x=3, y = 1.
Entailment S1,S2,..Sn |= S means in
every world where S1…Sn are true, S is
true.
• Careful: No mention of proof – just
checTaoiseach all the worlds.
• Some cognitive scientists argue that this
is the way people reason.
Reasoning or Inference
Systems
• Proof is a syntactic property.
• Rules for deriving new sentences from old
ones.
• Sound: any derived sentence is true.
• Complete: any true sentence is derivable.
• NOTE: Logical Inference is monotonic.
Can’t change your mind.
Translation into Propositional
Logic
• If it rains, then the game will be cancelled.
• If the game is cancelled, then we clean
house.
• Can we conclude?
– If it rains, then we clean house.
• p = it rains, q = game cancelled r = we clean
house.
• If p then q.
not p or q
• If q then r.
not q or r
• if p then r.
not p or r (resolution)
What can’t we say?
• Quantification: every student has a
father.
• Relations: If X is married to Y, then Y is
married to X.
• Probability: There is an 80% chance of
rain.
• Combine Evidence: This car is better
than that one because…
• Uncertainty: Maybe John is playing
golf.
Advantages of propositional
logic
Propositional logic is declarative
Propositional logic allows partial/disjunctive/negated
information
– (unlike most data structures and databases)
–
– Propositional logic is compositional:
–
– meaning of B1,1  P1,2 is derived from meaning of B1,1 and of P1,2
–
Meaning in propositional logic is context-independent
– (unlike natural language, where meaning depends on context)
–
Disadvantages
Propositional logic has very limited expressive power
– (unlike natural language)
– E.g., cannot say "pits cause breezes in adjacent squares“
• except by writing one sentence for each square
•
First-order logic
• Whereas propositional logic assumes the
world contains facts,
• first-order logic (like natural language)
assumes the world contains
• Objects: people, houses, numbers, colors,
baseball games, wars, …
• Relations: red, round, prime, brother of,
bigger than, part of, comes between, …
And
• Functions: father of, best friend, one more than,
plus, …
•
Syntax of FOL: Basic elements
•
•
•
•
•
•
•
Constants
Predicates
Functions
Variables
Connectives
Equality
Quantifiers
TaoiseachJohn, 2, DIT,...
Brother, >,...
Sqrt, LeftLegOf,...
x, y, a, b,...
, , , , 
=
, 
Atomic sentences
Atomic sentence = predicate (term1,...,termn)
or term1 = term2
Term
=
function (term1,...,termn)
or constant or variable
• E.g., Brother(TaoiseachJohn,RichardTheLionheart) >
(Length(LeftLegOf(Richard)),
Length(LeftLegOf(TaoiseachJohn)))
Complex sentences
• Complex sentences are made from atomic
sentences using connectives
•
S, S1  S2, S1  S2, S1  S2, S1  S2,
E.g. Sibling(TaoiseachJohn,Richard) 
Sibling(Richard,TaoiseachJohn)
>(1,2)  ≤ (1,2)
>(1,2)   >(1,2)
Truth in first-order logic
• Sentences are true with respect to a model and an interpretation
• Model contains objects (domain elements) and relations among
them
•
• Interpretation specifies referents for
constant symbols
→
objects
predicate symbols
→
relations
function symbols
→
functional relations
• An atomic sentence predicate(term1,...,termn) is true
iff the objects referred to by term1,...,termn
are in the relation referred to by predicate
Universal quantification
• <variables> <sentence>
•
Everyone at DIT is smart:
x At(x,DIT)  Smart(x)
• x P is true in a model m iff P is true with x being each
possible object in the model
•
• Roughly speaTaoiseach, equivalent to the conjunction of
instantiations of P
•


 ...
At(TaoiseachJohn,DIT)  Smart(TaoiseachJohn)
At(Richard,DIT)  Smart(Richard)
At(DIT,DIT)  Smart(DIT)
A common mistake to avoid
• Typically,  is the main connective with 
•
• Common mistake: using  as the main
connective with :
x At(x,DIT)  Smart(x)
means “Everyone is at DIT and everyone is smart”
Existential quantification
• <variables> <sentence>
• Someone at DIT is smart:
• x At(x,DIT)  Smart(x)$
•
• x P is true in a model m iff P is true with x being some
possible object in the model
•
• Roughly speaTaoiseach, equivalent to the disjunction of
instantiations of P
•
At(TaoiseachJohn,DIT)  Smart(TaoiseachJohn)
 At(Richard,DIT)  Smart(Richard)
 At(DIT,DIT)  Smart(DIT)
 ...
Another common mistake to
avoid
• Typically,  is the main connective with 
• Common mistake: using  as the main
connective with :
•
x At(x,DIT)  Smart(x)
is true if there is anyone who is not at DIT!
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)
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)]
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)
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
Summary
• First-order logic:
•
– objects and relations are semantic primitives
– syntax: constants, functions, predicates,
equality, quantifiers
–