Formal Logic - PowerPoint PPT Presentation

1 / 62
About This Presentation
Title:

Formal Logic

Description:

Maps Sentences to Truth Values (True/False) 1) Shahid is student student(shahid) ... My house is a blue, two-story, with red shutters, and is a corner house ... – PowerPoint PPT presentation

Number of Views:32
Avg rating:3.0/5.0
Slides: 63
Provided by: michaelb51
Category:
Tags: formal | logic

less

Transcript and Presenter's Notes

Title: Formal Logic


1
Formal Logic
  • The most widely used formal logic method is
  • FIRST-ORDER PREDICATE LOGIC
  • Reference Chapter Two The predicate Calculus
  • Lugers Book
  • Examples included from Norvig and Russel.

2
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,
  • Functions father of, best friend, one more than,
    plus,

3
FOL
  • PL only deals with facts
  • PL cannot have variables
  • Variables refer to things in the world
  • You can deliberate over them
  • How would represent the following fact in PL
  • When you sterilize a jar all the bacteria are dead

4
Syntax of FOL Basic elements
  • Constants john, 2, lums,...
  • Predicates brother, gt,...
  • Functions sqrt, leftsideOf,...
  • Variables X,Y,A,B...
  • Connectives ?, ?, ?, ?, ?
  • Equality
  • Quantifiers ?, ?

5
Syntax of FOL Basic elements
Alternate Convention also exists (Norvig uses the
alternate)
  • Constants John, Lums,...
  • Predicates Brother, gt,...
  • Functions Sqrt, LeftsideOf,...
  • Variables x,y,a,b...
  • Connectives ?, ?, ?, ?, ?
  • Equality
  • Quantifiers ?, ?

6
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 term,,..., term ,
  • are in the relation referred to by predicate

7
Alphabets-I
  • Predicates, variables, functions,constants,
    connectives, quantifiers, and delimiters
  • Constants (first letter small)
  • bLUE a color
  • sanTRO a car
  • crow a bird
  • Variables (first letter capital)
  • Dog an element that is a dog, but
    unspecified
  • Color an unspecified color

8
Alphabets-II
  • Function (evaluates to a constant / variable)
  • Maps Sentences to Objects
  • Ali is father of Babar father_of(ali) baber
  • father(babar) ali
  • Babar is son of Ali son_of(babar) ali
  • Interpretation has to be very clear.
  • If you write father(baber), the answer should be
    ali
  • For the above functions the arity is 1 (number of
    arguments to the function)

9
Alphabets-II
  • Functions
  • 1) shahid likes zahid likes(shahid) zahid
  • 2) atif likes abid likes(atif) abid
  • 3) Constants to Variables likes(X) Y
  • X,Y have two possible BINDINGS
  • X, Y could be shahid, zahid
  • Or
  • X,Y could be atif, abid

likes(X) Y Substitutions For 1 to be
true shahid/X, zahid/Y For 2 to be
true atif/X, abid/Y
10
Alphabets-II
  • Predicate
  • Maps Sentences to Truth Values (True/False)
  • 1) Shahid is student student(shahid)
  • 2) Sana is a girl girl(sana)
  • 3) Father of baber is elder than Hamza
  • elder(father(babar), hamza)
  • For 1 and 2 arity is 1 and for 3 the arity is 2

11
Alphabets-II
  • Predicate
  • Shahid is a good student
  • student(shahid,good) or good_student(shahid) or
  • is_good(shahid,student)
  • 2) Sana is a friend of Saima, Sana and Saima both
    are girls
  • friend_of(sana,saima)girl(sana)girl(saima)
  • 3) Bill helps Fred
  • helps(bill,fred)

12
Atomic sentences
  • Atomic sentence predicate (term1,...,termn)
    or term1 term2
  • term function (term1,...,termn)
    or constant
  • or variable
  • brother(john,richard)
  • greater(length(leftsideOf(squareA)),
    length(leftsideOf(squareB)))
  • gt(length(leftsideOf(squareA)), length(leftsideOf(s
    quareB)))
  • Functions cannot be atomic sentences

13
Alphabets-III
  • Connectives
  • and
  • v or
  • not
  • Implication
  • Quantification
  • All persons can see
  • There is a person who cannot see
  • Universal quantifiers ? (ALL)
  • Existential quantifiers ? (There exists)

14
Complex sentences
  • Complex sentences are made from atomic sentences
    using connectives
  • ?S, S1 ? S2, S1 ? S2, S1 ? S2, S1 ? S2,
  • sibling(ali,hamza) ? sibling(hamza,ali)
  • gt(1,2) ? (1,2) (1 is greater than 2 or less
    than equal to 2)
  • gt(1,2) ? ? gt(1,2) (1 is greater than 2 and is not
    greater than equal to 2)

15
Examples
  • My house is a blue, two-story, with red shutters,
    and is a corner house
  • blue(my-house)two-story(my-house)red-shutters(my
    -house)corner(my-house)
  • Ali bought a scooter or a car
  • bought(ali , car) v bought(ali , scooter)
  • IF fuel, air and spark are present the fuel will
    combust
  • present(spark)present(fuel)present(air)
  • combustion(fuel)

16
Universal quantification
  • ?ltvariablesgt ltsentencegt
  • Everyone at LUMS is smart
  • ?X at(X, lums) ? smart(X)
  • ?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(rabia,lums) ? smart(rabia)
  • ? at(shahid,lums) ? smart(shahid)
  • ? at(lums,lums) ? smart(lums)
  • ? ...

17
Examples
  • All people need air
  • ?Xperson(X) need_AIR(X)
  • The owner of the car also owns the boat
  • owner(X , car) car(X , boat)
  • Formulate the following expression in the PC
  • Ali is a computer science student but not a
    pilot or a football player
  • cs_STUDENT(ali) ? (? pilot(ali) ? ?
    ft_PLAYER(ali) )

18
Examples
  • Restate the sentence in the following way
  • Ali is a computer science (CS) student
  • Ali is not a pilot
  • Ali is not a football player
  • cs_student(ali)
  • pilot(ali)
  • football_player(ali)

19
Examples
  • Studying fuzzy systems is exciting and applying
    logic is great fun if you are not going to spend
    all of your time slaving over the terminal
  • ? X(slave_terminal(X) fs_eciting(X)logic_fun
    (X))
  • Every voter either favors the amendment or
    despises it
  • ?Xvoter(X) favor(X , amendment) v
    despise(X,amendment)
  • favor(X , amendment) v
  • despise(X , amendment)
  • (this part simply endorses the statement, may not
    be required)

20
Undecidable Predicate
  • For which exhaustive testing is required
  • Example
  • ?X likes(zahra, X)
  • This sentence is computationally impossible to
    calculate
  • Scope of problem domain is to be limited to
    remove this problem,
  • i.e., X is a variable representing final year
    female student in the AI class, compared to an X
    representing all the people in the city of Lahore

21
Robotic Arm Example
  • Represent the initial details of the system
  • Generate sentences of descriptive and or
  • implicative nature
  • Modify the facts using new sentences

22
Example Robotic Arm
  • Represent the initial details of the systems

on(a,b) on( c,d) ontable(b) ontable(d) clear(a) cl
ear(c) hand_empty
23
Goal To pick a block and place it over another
block
Define predicate stack_on(X,Y) General
sentence Conditions Conclusions What could
the conditions be? hand_empty clear
(X) clear (Y) pick (X) put_on (X,Y)
hand_empty clear (X) clear (Y) pick (X)
put_on (X,Y) stack_on (X,Y)
24
Goal To pick a block and place it over another
block
hand_empty clear (X) clear (Y) pick (X)
put_on (X,Y) ? stack_on (X,Y)
Semantically more correct
hand_empty could be written as empty(hand), if
hand_empty is in the knowledge base, then hand is
empty otherwise false. put_on (X,Y) ? stack_on
(X,Y)
hand_empty clear (X) ? pick (X) clear(Y)
pick (X)? put_on (X,Y) put_on (X,Y) ? stack_on
(X,Y)
25
Example Robotic Arm
  • Modify details of the systems

26
Models for FOL Example
27
A common mistake to avoid
  • Represent Everyone at LUMS is smart
  • ?X at(X,lums) ? smart(X)
  • ?X at(X, lums) ? smart(X)
  • Common mistake
  • using ? as the main connective with ? means
  • Everyone is at LUMS and everyone is smart
  • Everyone at LUMS is smart
  • Typically,
  • ? is the main connective with ?

28
Existential quantification
  • ?ltvariablesgt ltsentencegt
  • Someone at LUMS is smart
  • ?X at(X,lums) ? smart(X)
  • ?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(sana,lums) ? smart(sana)
  • ? at(bashir,lums) ? smart(bashir)
  • ? at(lums,lums) ? smart(lums)
  • ? ...

29
Another common mistake to avoid
  • Typically, ? is the main connective with ?
  • Common mistake using ? as the main connective
    with ?
  • ?X at(X,lums) ? smart(X)
  • is true even if there is anyone who is not at
    LUMS!
  • Even if the antecedent is false the sentence can
    still be true (see the truth table of
    implication).

30
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,car) ??X ?likes(X,car)
  • ?X likes(X,bread) ??X ?likes(X,bread)

31
Equality
  • term1 term2 is true under a given
    interpretation if and only if term1 and term2
    refer to the same object
  • 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)

32
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)

33
Rules Wumpus worldNorvig and Russel book for
details(will provide you with handouts)
  • Actions
  • Turn(Right), Turn(Left), Forward, Shoot, Grab,
    Release, Climb
  • Reflex
  • ?T glitter(T) ? bestAction(grab,T)

34
Rules Wumpus worldNorvig and Russel book for
details(will provide you with handouts)
  • Perception
  • ?T,S,B percept(S,B,glitter,T) ? glitter(T)
  • Reflex
  • ?T glitter(T) ? bestAction(grab,T)

35
Rules Wumpus worldNorvig and Russel book for
details(will provide you with handouts)
  • Perception
  • ?T,S,B percept(S,B,glitter,T) ? glitter(T)
  • Reflex
  • ?T glitter(T) ? bestAction(grab,T)

36
Rules Wumpus worldNorvig and Russel book for
details(will provide you with handouts)
  • Perception
  • ?T,S,B percept(S,B,glitter,T) ? glitter(T)
  • Reflex
  • ?T glitter(T) ? bestAction(grab,T)

37
Deducing Squares/Properties
  • What are Adjacent Squares
  • ?X,Y,A,B adjacent(X,Y,A,B) ?
  • A,B ? X1,Y, X-1,Y,X,Y1,X,Y-1
  • Properties of squares
  • ?S,T at(agent,S,T) ? breeze(T) ? breezy(S)
  • Squares are breezy near a pit
  • Diagnostic rule---infer cause from effect
  • ?S breezy(S) ? adjacent(R,S) ? pit(R)
  • Causal rule---infer effect from cause
  • ?R pit(R) ? ?S adjacent(R,S) ? breezy(S)

38
Deducing Squares/Properties
  • Diagnostic rule---infer cause from effect
  • ?S breezy(S) ? adjacent(R,S) ? pit(R)
  • Causal rule---infer effect from cause
  • ?R pit(R) ? ?S adjacent(R,S) ? breezy(S)

39
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

40
Inferencing in FOL
  • Interpretation of the objects/variables etc
  • Denotation of terms
  • Find whether an interpretation holds for a
    particular sentence

41
Interpretation I/Denotation
  • U set of Objects ( U universe of discourse)
  • Map constants symbols to objects in U
  • I(zahid), Uzahid, shahid, raza, sana, T
  • I(X) what happens now?
  • Map predicates symbols to the relations between
    the objects on U
  • Map function symbols to functions on U
  • I(predicate(t1, t2)) I(predicate)(I(t1), I(t2))

42
Holds (meta rule)
  • holds (predicate(t1,t2), I)
  • iff
  • ltI(t1),I(t2)gt ? I(predicate)

43
Example Robotic Arm
  • Find if the following sentence holds or not

stack_on (X,Y)
I(X) I(Y) I(stack_on) holds (stack_on(X,Y),I) iff
ltI(X),I(Y)gt ? I(stack_on)) ??? No stack_on is
not in U on Holds but under the following
interpretations a/X, b/Y or c/X, d/Y clear(a)
holds but clear(b) does not hold
on(a,b) on( c,d) ontable(b) ontable(d) clear(a) cl
ear(c) hand_empty
44
Quantifiers
45
FOL Example
What is U? Define the following Predicates
above 2 circle 1 oval 1 square 1 triangle
1 Function hat 2
46
FOL Example
What is U?
I(object)
I(above)
Find whether I(square) ????
47
Reason it Out
  • holds (sqaure(object),I) ?
  • YES
  • holds (above(object,hat(object)),I) ?
  • I(hat(object)) sqaure
  • holds(above(triangle,sqaure),I)?
  • NO
  • Hence I(square) FALSE

48
Find the truth of
  • holds (? X, oval(X)), I) ?
  • I(sqaure)lttrianglegt
  • Note for the students
  • Should have solved it when you come next time.

49
The electronic circuits domain
  • One-bit full adder

50
The electronic circuits domain
  • Identify the task
  • Does the circuit actually add properly?
  • (circuit verification)
  • Assemble the relevant knowledge
  • Composed of wires and gates Types of gates (AND,
    OR, XOR, NOT)
  • Irrelevant size, shape, color, cost of gates
  • Decide on a vocabulary
  • Alternatives
  • type(x1) xor
  • type(x1, xor)
  • xor(x1)

51
The electronic circuits domain
  • 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
  • Encode the specific problem instance
  • type(x1) xor type(x2) xor
  • type(a1) and type(a2) and
  • type(o1) or
  • 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,o2),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
  • 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,o1)) O2
  • Debug the knowledge base
  • May have omitted assertions like 1 ? 0

54
Summary
  • First-order logic
  • objects and relations are semantic primitives
  • syntax constants, functions, predicates,
    equality, quantifiers
  • Increased expressive power sufficient to define
    wumpus world

55
Operations/Processes
  • Entailment
  • Unification Algorithm for determining the
    substitutions needed to make two predicate
    calculus expressions match
  • Skolemization A method of removing or replacing
    existential quantifiers using Skolem function
  • Composition If S and S are two substitutions
    sets, then the composition of S and S (SS) is
    obtained by applying the elements of S to the
    elements of and adding the S to S

56
  • Examples (Alternate Convention)

Superscript represents arity of
predicates/functions
57
Entailment
  • A knowledge base entails a sentence IFF the
    sentence holds in every interpretation in which
    the knowledge base holds
  • In Propositional Logic
  • A knowledge base entails a sentence IFF the
    sentence is TRUE in every interpretation that
    makes the knowledge base TRUE

58
Entailment (follows from)
  • KB entails S for every Interpretation I,
  • if KB holds in I,
  • then
  • S holds in I

59
Entailment
  • Computing entailment is impossible in general,
    because there are Infinitely many possible
    interpretations
  • Even computing holds is impossible for
    interpretations with infinite universes

60
Example
Alternate Convention
61
Example
Alternate Convention
62
Example
Alternate Convention
Write a Comment
User Comments (0)
About PowerShow.com