fol formal logic - suraj @ lumssuraj.lums.edu.pk/~cs331a05/lecture4(fol).pdf · cs 331 dr m m awais...
TRANSCRIPT
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 CalculusLuger’s BookExamples 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
AlphabetsAlphabets--IIPredicates, 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
AlphabetsAlphabets--IIIIFunction:
Maps Sentences to Objects
Ali is father of Babar father(babar) = alifather_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
AlphabetsAlphabets--IIIIFunctions:1) shahid likes zahid likes(shahid) = zahid2) atif likes abid likes(atif) = abid3) 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
AlphabetsAlphabets--IIIIPredicate
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
AlphabetsAlphabets--IIIIPredicate1) 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 Fredhelps(bill,fred)
CS 331 Dr M M Awais 10
FOL
Atomic sentencesAtomic sentence = predicate (term1,...,termn)
or term1 = term2
term = function (term1,...,termn) or constantor 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
AlphabetsAlphabets--IIIIIIConnectives:^ 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
ExamplesExamplesMy 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) student2. Ali is not a pilot3. 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 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 FOL1. 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�
CS 331 Dr M M Awais 35
FOL
The electronic circuits domain1. 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�
3. Decide on a vocabulary�– Alternatives:�
type(x1) = xor�type(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 domain5. Encode the specific problem instance�
type(x1) = xor type(x2) = xortype(a1) = and type(a2) = andtype(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 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�
7. Debug the knowledge base�May 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