SlideServe
Menu
Préférences
© SlideServe · v2026

Understanding Predicate Calculus: Foundations and Applications in Knowledge Representation

hayley avatar
32 diapositives · 510 Views · Aug 25, 2014

This document explores the fundamentals of Predicate Calculus, presenting its significance in creating accurate and general representations of knowledge. It distinguishes between propositional calculus and predicate calculus, illustrating examples such as conditional statements and syllogisms. Key terminology, well-formed formulas (WFFs), and methods for encoding knowledge in artificial intelligence systems are articulated. The process involves specifying problems, representing knowledge, and structuring relevant domains with predicates and functions to facilitate logical inferences.

Understanding Predicate Calculus: Foundations and Applications in Knowledge Representation - slide 1
01 / 32Understanding Predicate Calculus: Foundations and Applications in Knowledge Representation
1 / 17

Télécharger la présentation

Understanding Predicate Calculus: Foundations and Applications in Knowledge Representation
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. Predicate Calculus 1MotivationBasicsEncoding CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus I

  2. Motivation: More Accurate and General Representations of Knowledge “If Willy is a bird, then Willie can fly.” Propositional calculus: P: Willy is a bird Q: Willy can fly P  Q “Any bird can fly.” Predicate calculus  x (Bird(x)  CanFly(x) ) CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus I

  3. Another Example “John’s grandfather was a blacksmith, and his mother was a seamstress.” Propositional calculus: P1: John’s grandfather was a blacksmith. P2: John’s grandmother was a seamstress. P  Q Predicate calculus: Q1(x): x is a blacksmith. Q2(x): x is a seamstress. f(x): grandfather of x. Q1(f(x))  Q2(m(x)) CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus I

  4. Terminology of the Predicate Calculus Predicate symbols: P, Q, R, P1, P2, ... , Q1, Q2, ..., R1, R2, ... If P takes n arguments, we call P an n-ary predicate P( term1, term2, . . . , termn) n  0 Function symbols: f, g, h, f1, f2, . . . , g1, g2, . . . , h1, h2, . . . A term is either: a constant: e.g., a, b, c, a1, a2, . . . , b1, b2, . . . , c1, c2, . . . a variable: e.g., x, y, z, x1, x2, . . . , y1, y2, . . . , z1, z2, . . . an n-ary function symbol, followed by n terms in parentheses. Examples of terms: x, a, f(x), g1(a, y), h(f(x), g(y, b)) CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus I

  5. Well-Formed Formulas Atomic formula: an n-ary predicate symbol followed by n terms in parentheses: e.g., P(x, f(x, a, y)) If F is an atomic formula, then it is a well-formed formula (WFF). Compound formula: a statement formed from one or more WFFs using logical connectives. If F is a compound formula, then it is a WFF. e.g., P(x, f(x, a, y)) v (Q  R(x)) Quantified formula:a statement formed from a WFFs by prefixing it with a quantifier and a variable. e.g., ( x) (P(x, f(x, a, y)) v (Q  R(x))) ( y) Q(y) If F is a quantified formula, then it is a WFF. CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus I

  6. A Syllogism forPredicate Logic Resolution Coloured flowers are always scented. I dislike flowers that are not grown in the open air. No flowers grown in the open air are colourless. Therefore, I dislike all flowers that are not scented. Lewis Carroll CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus I

  7. Encoding the Syllogism Predicate symbols: C(x) = x “is coloured.” S(x) = x “is scented.” D(x) = “I dislike” x. A(x) = x “is grown in the open air.” CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus I

  8. Encoding the Syllogism Coloured flowers are always scented. ( x) ( C(x)  S(x) ) I dislike flowers that are not grown in the open air. ( x) (A(x)  D(x) ) No flowers grown in the open air are colourless. (x) ( A(x) C(x) ) Therefore, I dislike all flowers that are not scented. (x) (S(x)  D(x) ) CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus I

  9. Proof by Resolution:(1) Negate the conclusion Coloured flowers are always scented. (x) ( C(x)  S(x) ) I dislike flowers that are not grown in the open air. (x) (A(x)  D(x) ) No flowers grown in the open air are colourless. (x) ( A(x) C(x) ) It is not the case that I dislike all flowers that are not scented. (x) (S(x)  D(x) ) CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus I

  10. Proof by Resolution:(2) Obtain Clause Form Coloured flowers are always scented. (x) ( C(x)  S(x) ) (x) (C(x) v S(x) ) Rewrite  using  and v. C(x) v S(x) Drop leading universal quant. The other clauses are: A(x) v D(x) A(x) v C(x) ( x) (S(x)  D(x) ) Move negation inward ( x) (S(x) D(x) ) DeMorgan’s law S(a) D(a) Introduce Skolem constant S(a), D(a) Break into 2 clauses. CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus I

  11. Proof by Resolution:(3) Resolve P1:C(x) v S(x) P2: A(y) v D(y) variables are standardized apart. P3:A(z) v C(z) P4:S(a) P5:D(a) P6: A(a) P2, P5 { a/y } P7: C(a) P3, P6 { a/z } P8: S(a) P1, P7 { a/x } P9: [] P4, P8 { } CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus I

  12. “Encoding” One of the most difficult parts of creating an AI system: Encoding = Formulating a logical representation of the relevant information that can be used to efficiently make the desired kinds of inferences. CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus I

  13. Steps in Encoding • Have the class of problems to be solved written down (in English) • Have the knowledge to be represented written down (in English) • Specify a domain of values or objects over which will be represented by terms (constants, variables, and functions). • Structure the domain by introducing predicates that separate the domain into the subsets meaningful for the application. • Determine whether there are useful functional relationships among any domain elements, and if so, introduce functions that express these relationships. • Develop WFFs based on the chosen predicates and functions to best capture the desired knowledge. CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus I

  14. Example Represent the following information using the predicate calculus in a form that captures most of the individual facts and which supports the inference presented: “Each University of Central Lake Union (UCLU) building must either have an emergency rowboat or be in violation of the Lake Quake code. Any building in violation of the Lake Quake code will be temporarily closed. The annex of Schwimmschach Hall has dinghies but no emergency rowboats. Therefore the annex of Schwimmschach Hall will be temporarily closed.” CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus I

  15. Specifying the Domain “Each University of Central Lake Union (UCLU) building must either have an emergency rowboat or be in violation of the Lake Quake code. Any building in violation of the Lake Quake code will be temporarily closed. The annex of Schwimmschach Hall has dinghies but no emergency rowboats. Therefore the annex of Schwimmschach Hall will be temporarily closed.” Domain: CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus I

  16. Specifying the Domain “Each University of Central Lake Union (UCLU) building must either have an emergency rowboat or be in violation of the Lake Quake code. Any building in violation of the Lake Quake code will be temporarily closed. The annex of Schwimmschach Hall has dinghies but no emergency rowboats. Therefore the annex of Schwimmschach Hall will be temporarily closed.” Domain: BUILDINGS U BOATS BUILDINGS – restricted to buildings belonging to the University of Central Lake Union. This restriction will reduce the number of subsets needed. BOATS – all normal boats. Restriction to UCLU seems unnecessary. Subsets: ANNEXES, ROWBOATS, DINGHIES CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus I

  17. Subdomain Predicates “Each University of Central Lake Union (UCLU) building must either have an emergency rowboat or be in violation of the Lake Quake code. Any building in violation of the Lake Quake code will be temporarily closed. The annex of Schwimmschach Hall has dinghies but no emergency rowboats. Therefore the annex of Schwimmschach Hall will be temporarily closed.” CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus I

  18. Subdomain Predicates “Each University of Central Lake Union (UCLU) building must either have an emergency rowboat or be in violation of the Lake Quake code. Any building in violation of the Lake Quake code will be temporarily closed. The annex of Schwimmschach Hall has dinghies but no emergency rowboats. Therefore the annex of Schwimmschach Hall will be temporarily closed.” isBuilding(x), isRowboat(x), isAnnex(x), isDinghy(x) CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus I

  19. Properties “Each University of Central Lake Union (UCLU) building must either have an emergency rowboat or be in violation of the Lake Quake code. Any building in violation of the Lake Quake code will be temporarily closed. The annex of Schwimmschach Hall has dinghies but no emergency rowboats. Therefore the annex of Schwimmschach Hall will be temporarily closed.” Properties: CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus I

  20. Properties “Each University of Central Lake Union (UCLU) building must either have an emergency rowboat or be in violation of the Lake Quake code. Any building in violation of the Lake Quake code will be temporarily closed. The annex of Schwimmschach Hall has dinghies but no emergency rowboats. Therefore the annex of Schwimmschach Hall will be temporarily closed.” Properties: inViolation(x): x is in violation of the Lake Quake code. tempClosed(x): x will be temporarily closed. CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus I

  21. Constants “Each University of Central Lake Union (UCLU) building must either have an emergency rowboat or be in violation of the Lake Quake code. Any building in violation of the Lake Quake code will be temporarily closed. The annex of Schwimmschach Hall has dinghies but no emergency rowboats. Therefore the annex of Schwimmschach Hall will be temporarily closed.” Constants: CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus I

  22. Constants “Each University of Central Lake Union (UCLU) building must either have an emergency rowboat or be in violation of the Lake Quake code. Any building in violation of the Lake Quake code will be temporarily closed. The annex of Schwimmschach Hall has dinghies but no emergency rowboats. Therefore the annex of Schwimmschach Hall will be temporarily closed.” Constants: schwimmschachHall. CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus I

  23. Relations “Each University of Central Lake Union (UCLU) building must either have an emergency rowboat or be in violation of the Lake Quake code. Any building in violation of the Lake Quake code will be temporarily closed. The annex of Schwimmschach Hall has dinghies but no emergency rowboats. Therefore the annex of Schwimmschach Hall will be temporarily closed.” Binary Relations: CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus I

  24. Relations “Each University of Central Lake Union (UCLU) building must either have an emergency rowboat or be in violation of the Lake Quake code. Any building in violation of the Lake Quake code will be temporarily closed. The annex of Schwimmschach Hall has dinghies but no emergency rowboats. Therefore the annex of Schwimmschach Hall will be temporarily closed.” Binary Relations: has(x, y). x has y. annexOf(x, y). x is an annex of y. We could choose to use a function theAnnexOf(x) , but this makes assumptions about the number of annexes of each building, and would need a new domain element “None” for some buildings and for boats, which don’t have annexes. CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus I

  25. Encoding by Statement “Each University of Central Lake Union (UCLU) building must either have an emergency rowboat or be in violation of the Lake Quake code. Any building in violation of the Lake Quake code will be temporarily closed. The annex of Schwimmschach Hall has dinghies but no emergency rowboats. Therefore the annex of Schwimmschach Hall will be temporarily closed.” CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus I

  26. Encoding by Statement “Each University of Central Lake Union (UCLU) building must either have an emergency rowboat or be in violation of the Lake Quake code. Any building in violation of the Lake Quake code will be temporarily closed. The annex of Schwimmschach Hall has dinghies but no emergency rowboats. Therefore the annex of Schwimmschach Hall will be temporarily closed.” (x) (isBuilding(x)  ((has(x, y) isRowboat(y)) V inViolation(x)) CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus I

  27. Encoding by Statement “Each University of Central Lake Union (UCLU) building must either have an emergency rowboat or be in violation of the Lake Quake code. Any building in violation of the Lake Quake code will be temporarily closed. The annex of Schwimmschach Hall has dinghies but no emergency rowboats. Therefore the annex of Schwimmschach Hall will be temporarily closed.” CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus I

  28. Encoding by Statement “Each University of Central Lake Union (UCLU) building must either have an emergency rowboat or be in violation of the Lake Quake code. Any building in violation of the Lake Quake code will be temporarily closed. The annex of Schwimmschach Hall has dinghies but no emergency rowboats. Therefore the annex of Schwimmschach Hall will be temporarily closed.” (x) (inViolation(x)  tempClosed(x)) CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus I

  29. Encoding by Statement “Each University of Central Lake Union (UCLU) building must either have an emergency rowboat or be in violation of the Lake Quake code. Any building in violation of the Lake Quake code will be temporarily closed. The annex of Schwimmschach Hall has dinghies but no emergency rowboats. Therefore the annex of Schwimmschach Hall will be temporarily closed.” CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus I

  30. Encoding by Statement “Each University of Central Lake Union (UCLU) building must either have an emergency rowboat or be in violation of the Lake Quake code. Any building in violation of the Lake Quake code will be temporarily closed. The annex of Schwimmschach Hall has dinghies but no emergency rowboats. Therefore the annex of Schwimmschach Hall will be temporarily closed.” (x) ( annexOf(schwimmschachHall, x)  (y) (isDinghy(x)  has(x, y))  (z) (isRowboat(z) has(x,z)) ) Here, that the annex exists is a presupposition, and we are choosing to represent it explicitly. CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus I

  31. Encoding by Statement “Each University of Central Lake Union (UCLU) building must either have an emergency rowboat or be in violation of the Lake Quake code. Any building in violation of the Lake Quake code will be temporarily closed. The annex of Schwimmschach Hall has dinghies but no emergency rowboats. Therefore the annex of Schwimmschach Hall will be temporarily closed.” CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus I

  32. Encoding by Statement “Each University of Central Lake Union (UCLU) building must either have an emergency rowboat or be in violation of the Lake Quake code. Any building in violation of the Lake Quake code will be temporarily closed. The annex of Schwimmschach Hall has dinghies but no emergency rowboats. Therefore the annex of Schwimmschach Hall will be temporarily closed.” (x) ( annexOf(schwimmschachHall, x)  tempClosed(x) ) We are re-representing the presupposition, and using the binding in “tempClosed(x).” CSE 415 -- (c) S. Tanimoto, 2008 Predicate Calculus I