html5-img
1 / 40

Formal Logic

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 ,

iden
Download Presentation

Formal Logic

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  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, … CS 331 Dr M M Awais

  3. 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. 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

  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 CS 331 Dr M M Awais

  6. 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

  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} CS 331 Dr M M Awais

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

  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) CS 331 Dr M M Awais

  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))) • >(length(leftsideOf(squareA)), length(leftsideOf(squareB))) Functions cannot be atomic sentences CS 331 Dr M M Awais

  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) CS 331 Dr M M Awais

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

  14. 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. 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

  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) CS 331 Dr M M Awais

  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 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. 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. 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

  20. 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

  21. 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

  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) CS 331 Dr M M Awais

  23. 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

  24. Models for FOL: Example CS 331 Dr M M Awais

  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  CS 331 Dr M M Awais

  26. 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

  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). CS 331 Dr M M Awais

  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) CS 331 Dr M M Awais

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

  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) CS 331 Dr M M Awais

  31. 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. 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

  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 CS 331 Dr M M Awais

  34. The electronic circuits domain One-bit full adder CS 331 Dr M M Awais

  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) CS 331 Dr M M Awais

  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)) CS 331 Dr M M Awais

  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)) CS 331 Dr M M Awais

  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 CS 331 Dr M M Awais

  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 CS 331 Dr M M Awais

  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 CS 331 Dr M M Awais

More Related