Formal Logic - PowerPoint PPT Presentation

1 / 40
About This Presentation
Title:

Formal Logic

Description:

The most widely used formal logic method is. FIRST-ORDER ... crow a bird. Variables: (first letter capital) Dog: an element that is a dog, but unspecified ... – PowerPoint PPT presentation

Number of Views:56
Avg rating:3.0/5.0
Slides: 41
Provided by: michaelb51
Category:
Tags: crow | 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
Syntax of FOL Basic elements
  • Constants john, 2, lums,...
  • Predicates brother, gt,...
  • Functions sqrt, leftsideOf,...
  • Variables X,Y,A,B...
  • Connectives ?, ?, ?, ?, ?
  • Equality
  • Quantifiers ?, ?

4
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

5
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

6
Alphabets-II
  • Function
  • Maps Sentences to Objects
  • Ali is father of Babar father(babar) ali
  • father_of(baber) 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)

7
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
8
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

9
Alphabets-II
  • Predicate
  • Shahid is a good student
  • student(shahid,good) or good_student(shahid)
  • 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)

10
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

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

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

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

14
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)
  • ? ...

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

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

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

18
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

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

20
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
21
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? 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)
22
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) is in fact equivalence
hand_empty clear (X) ? pick (X) clear(Y)
pick (X)? put_on (X,Y) put_on (X,Y) ? stack_on
(X,Y)
23
Example Robotic Arm
  • Modify details of the systems

24
Models for FOL Example
25
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 ?

26
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)
  • ? ...

27
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 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).

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

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

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

31
Rules Wumpus world
  • Perception
  • ?T,S,B percept(S,B,glitter,T) ? glitter(T)
  • Reflex
  • ?T glitter(T) ? bestAction(grab,T)

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

33
Knowledge engineering in FOL
  • Identify the task
  • Assemble the relevant knowledge
  • Decide on a vocabulary of predicates, functions,
    and constants
  • Encode general knowledge about the domain
  • Encode a description of the specific problem
    instance
  • Pose queries to the inference procedure and get
    answers
  • Debug the knowledge base

34
The electronic circuits domain
  • One-bit full adder

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

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

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

38
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

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

40
Operations
  • Unification Algorithm for determining the
    subitutions needed to make two predicate calculus
    expressions match
  • Skolemization A method of removing or replacing
    existential quantifiers
  • 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 S and finally adding the results
Write a Comment
User Comments (0)
About PowerShow.com