410 likes | 758 Views
Formal 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. First-order logic. Whereas propositional logic assumes the world contains facts ,
E N D
Formal 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
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
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
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 constantsymbols→objects predicatesymbols→relations functionsymbols→ functional relations • An atomic sentence predicate(term1,...,termn)is true iff the objectsreferred to by term,,..., term , are in the relation referred to by predicate CS 331 Dr M M Awais
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 CS 331 Dr M M Awais
Alphabets-II Function: Maps Sentences to Objects Ali is father of Babarfather(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 thearity is 1 (number of arguments to the function) CS 331 Dr M M Awais
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} CS 331 Dr M M Awais
Alphabets-II Predicate Maps Sentences to Truth Values (True/False) 1) Shahid is studentstudent(shahid) 2) Sana is a girlgirl(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
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) CS 331 Dr M M Awais
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))) • >(length(leftsideOf(squareA)), length(leftsideOf(squareB))) Functions cannot be atomic sentences CS 331 Dr M M Awais
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) CS 331 Dr M M Awais
Complex sentences • Complex sentences are made from atomic sentences using connectives S, S1 S2, S1 S2, S1 S2, S1S2, 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
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) CS 331 Dr M M Awais
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
Examples All 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
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) CS 331 Dr M M Awais
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 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
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
a c b d Robotic Arm Example • Represent the initial details of the system • Generate sentences of descriptive and or • implicative nature • Modify the facts using new sentences CS 331 Dr M M Awais
a c b d Example: Robotic Arm • Represent the initial details of the systems on(a,b) on( c,d) ontable(b) ontable(d) clear(a) clear(c) hand_empty CS 331 Dr M M Awais
a c b d 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) CS 331 Dr M M Awais
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) CS 331 Dr M M Awais
on(b,a) on( c,d) ontable(b) ontable(d) clear(a) clear(c) hand_empty on(b,a) on( c,d) on(e,a) ontable(b) ontable(d) clear(c) clear(e) hand_empty e a a c c b b d d Example: Robotic Arm • Modify details of the systems CS 331 Dr M M Awais
Models for FOL: Example CS 331 Dr M M Awais
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
Existential quantification • <variables> <sentence> • Someone at LUMS is smart: • X at(X,lums) smart(X) • XP 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
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
Properties of quantifiers • X Y is the same as YX • X Y is the same as YX • XY is not the same as YX • XY loves(X,Y) “There is a person who loves everyone in the world” • YX 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) Xlikes(X,car) • X likes(X,bread) Xlikes(X,bread) CS 331 Dr M M Awais
Equality • term1 = term2is true under a given interpretation if and only if term1and term2refer 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
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
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
Deducing Squares/Properties What 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) Causalrule---infer effect from cause R pit(R) [S adjacent(R,S) breezy(S)] CS 331 Dr M M Awais
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 CS 331 Dr M M Awais
The electronic circuits domain One-bit full adder CS 331 Dr M M Awais
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) CS 331 Dr M M Awais
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)) CS 331 Dr M M Awais
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)) CS 331 Dr M M Awais
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 CS 331 Dr M M Awais
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
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 CS 331 Dr M M Awais