CS 331 Dr M M Awais 1
FOL
Formal LogicFormal Logic
• The most widely used formal logic method is
FIRST-ORDER PREDICATE LOGIC
Reference: Chapter Two The predicate Calculus
Luger’s Book
Examples included from Norvig and Russel.
CS 331 Dr M M Awais 2
FOL
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,
…
CS 331 Dr M M Awais 3
FOL
Syntax of FOL: Basic elements
• Constants john, 2, lums,...
• Predicates brother, >,...
• Functions sqrt, leftsideOf,...
• Variables X,Y,A,B...
• Connectives , , , , • Equality =
• Quantifiers ,
CS 331 Dr M M Awais 4
FOL
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 forconstant symbols → objectspredicate symbols → relationsfunction symbols → functional relations
• An atomic sentence predicate(term1,...,termn) is trueiff the objects referred to by term,,..., term ,are in the relation referred to by predicate
CS 331 Dr M M Awais 5
FOL
Alphabets-IAlphabets-I
Predicates, variables, functions,constants, connectives, quantifiers, and delimiters
Constants: (first letter small)bLUE a colorsanTRO a carcrow a birdVariables: (first letter capital)Dog: an element that is a dog, but unspecifiedColor: an unspecified color
CS 331 Dr M M Awais 6
FOL
Alphabets-IIAlphabets-IIFunction:
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)
CS 331 Dr M M Awais 7
FOL
Alphabets-IIAlphabets-IIFunctions: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 BINDINGSBINDINGS
{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}
CS 331 Dr M M Awais 8
FOL
Alphabets-IIAlphabets-IIPredicate
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
CS 331 Dr M M Awais 9
FOL
Alphabets-IIAlphabets-IIPredicate
1) Shahid is a good studentstudent(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)
CS 331 Dr M M Awais 10
FOL
Atomic sentencesAtomic 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)))• >(length(leftsideOf(squareA)), length(leftsideOf(squareB)))
Functions cannot be atomic sentences
CS 331 Dr M M Awais 11
FOL
Alphabets-IIIAlphabets-IIIConnectives:^ andv or~ not
ImplicationQuantificationAll persons can seeThere is a person who cannot see
Universal quantifiers (ALL)Existential quantifiers (There exists)
CS 331 Dr M M Awais 12
FOL
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) >(1,2) ≤ (1,2) (1 is greater than 2 or less than equal to 2)
>(1,2) >(1,2) (1 is greater than 2 and is not greater than equal to 2)
CS 331 Dr M M Awais 13
FOL
ExamplesExamples
My house is a blue, two-story, with red shutters, and is a corner houseblue(my-house)^two-story(my-house)^red-shutters(my-
house)^corner(my-house)
Ali bought a scooter or a carbought(ali , car) v bought(ali , scooter)
IF fuel, air and spark are present the fuel will combustpresent(spark)^present(fuel)^present(air)
combustion(fuel)
CS 331 Dr M M Awais 14
FOL
Universal quantification <variables> <sentence>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) ...
•
•
CS 331 Dr M M Awais 15
FOL ExamplesExamplesAll people need air
X[person(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) )
CS 331 Dr M M Awais 16
FOL
ExamplesExamples
Restate the sentence in the following way:
1. Ali is a computer science (CS) student
2. Ali is not a pilot
3. Ali is not a football player
cs_student(ali)^
~pilot(ali)^
~football_player(ali)
CS 331 Dr M M Awais 17
FOL
ExamplesExamplesStudying 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
X[voter(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)
CS 331 Dr M M Awais 18
FOL
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
CS 331 Dr M M Awais 19
FOL
Robotic Arm Example
•Represent the initial details of the system•Generate sentences of descriptive and or implicative nature•Modify the facts using new sentences
a
b
c
d
CS 331 Dr M M Awais 20
FOL
Example: Robotic Arm
• Represent the initial details of the systems
a
b
c
d
on(a,b)on( c,d)ontable(b)ontable(d)clear(a)clear(c)hand_empty
CS 331 Dr M M Awais 21
FOL
Goal:To pick a block and place it over another block
Define predicate: stack_on(X,Y)General sentence:
Conditions ConclusionsWhat could the conditions?
hand_emptyclear (X)clear (Y)pick (X)put_on (X,Y)
a
b
c
d
hand_empty ^ clear (X) ^ clear (Y) ^ pick (X) ^ put_on (X,Y) stack_on (X,Y)
CS 331 Dr M M Awais 22
FOL
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)
hand_empty ^ clear (X) pick (X) clear(Y) ^ pick (X) put_on (X,Y)
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
CS 331 Dr M M Awais 23
FOL
Example: Robotic Arm• Modify details of the systems
a
b
c
d
on(b,a)on( c,d)ontable(b)ontable(d)clear(a)clear(c)hand_empty
a
b
c
d
on(b,a)on( c,d)on(e,a)ontable(b)ontable(d)clear(c)clear(e)hand_empty
e
CS 331 Dr M M Awais 24
FOL
Models for FOL: Example
CS 331 Dr M M Awais 25
FOL
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
CS 331 Dr M M Awais 26
FOL
Existential quantification <variables> <sentence>
• 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) ...
CS 331 Dr M M Awais 27
FOL
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).
CS 331 Dr M M Awais 28
FOL
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)
CS 331 Dr M M Awais 29
FOL
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)]
CS 331 Dr M M Awais 30
FOL
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)
CS 331 Dr M M Awais 31
FOL
Rules: Wumpus world
• Perception T,S,B percept([S,B,glitter],T) glitter(T)
• Reflex T glitter(T) bestAction(grab,T)
–
CS 331 Dr M M Awais 32
FOL
Deducing Squares/PropertiesWhat are Adjacent Squares
X,Y,A,B adjacent([X,Y],[A,B]) [A,B] {[X+1,Y], [X-1,Y],[X,Y+1],[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)]
CS 331 Dr M M Awais 33
FOL
Knowledge engineering in FOL
1. Identify the task2. Assemble the relevant knowledge3. Decide on a vocabulary of predicates, functions,
and constants4. Encode general knowledge about the domain5. Encode a description of the specific problem
instance6. Pose queries to the inference procedure and get
answers7. Debug the knowledge base
8.9.10.11.12.13.
•
CS 331 Dr M M Awais 34
FOL
The electronic circuits domain
One-bit full adder
•
CS 331 Dr M M Awais 35
FOL
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 gates3. Decide on a vocabulary
– Alternatives:type(x1) = xortype(x1, xor)xor(x1)
•
–•
–
–•–
•
CS 331 Dr M M Awais 36
FOL
The electronic circuits domain4. 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))–
•
CS 331 Dr M M Awais 37
FOL
The electronic circuits domain
5. Encode the specific problem instancetype(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))
•
CS 331 Dr M M Awais 38
FOL
The electronic circuits domain
6. Pose queries to the inference procedureWhat 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
7. Debug the knowledge baseMay have omitted assertions like 1 ≠ 0
–•
•
–
•
CS 331 Dr M M Awais 39
FOL
Summary
• First-order logic:– objects and relations are semantic primitives– syntax: constants, functions, predicates,
equality, quantifiers
• Increased expressive power: sufficient to define wumpus world
•
–
•
CS 331 Dr M M Awais 40
FOL
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
Top Related