1 / 14

Combining Numeric and Symbolic Reasoning in SNePS

Combining Numeric and Symbolic Reasoning in SNePS. Stuart C. Shapiro Department of Computer Science & Engineering Center for MultiSource Information Fusion Center for Cognitive Science University at Buffalo, The State University of New York. SNePS. SNePS is a Logic-Based Frame-Based

shollister
Download Presentation

Combining Numeric and Symbolic Reasoning in SNePS

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. CombiningNumeric and Symbolic Reasoning in SNePS Stuart C. Shapiro Department of Computer Science & Engineering Center for MultiSource Information Fusion Center for Cognitive Science University at Buffalo, The State University of New York

  2. SNePS SNePS is a Logic-Based Frame-Based Network-Based knowledge representation, reasoning, and acting system. S. C. Shapiro

  3. This Talk • The logic-based view of SNePS • The SNePSLOG user interface. • The recently added procedural attachment to combine numeric with symbolic reasoning. S. C. Shapiro

  4. Some SNePSLOG Syntax P(a,b) The proposition that P is true of a and b. P({a1, …, an}, {b1, …, bm}) The proposition that P is true of each ai and bj. andor(i,j){P1, …, Pn} The proposition that at least i and at most j of the Pi are true. andor(1,1){P1, …, Pn} The proposition that exactly 1 of the Pi are true. andor(0,0){P1, …, Pn} The proposition that none of the Pi are true. ~P The proposition that P is false, abbreviation of andor(0,0){P}. all(x,y,)(P(x,y) => Q(x,y)) The proposition that for every x and y, if P(x,y) then Q(x,y). all(x,y,)(P(x,y) => {Q1(x,y), … Qn(x,y)}) The proposition that for every x and y, if P(x,y) then Qi(x,y), for each i. {P1, …, Pn} &=> Q The conjunction of the Pi (solved in parallel) implies Q. P1 => (… (Pn => Q)…) The conjunction of the Pi (solved in serial) implies Q. S. C. Shapiro

  5. Procedural Attachment • A predicate (proposition-forming function) symbol • may be attached to a procedure • so instances may be computed • in the underlying programming language. S. C. Shapiro

  6. Example of Procedural Attachment : Diff(7,3,?x)? wff24!: Diff(7,3,4) : Diff(10,?x,7)? wff25!: Diff(10,3,7) : Diff(?x,5,7)? wff26!: Diff(12,5,7) : Diff(15,8,7)? wff314!: Diff(15,8,7) : Diff(15,8,9)? wff316!: ~Diff(15,8,9) S. C. Shapiro

  7. Illustration Implementing a Bayesian Network in SNePS using combined symbolic and numeric reasoning S. C. Shapiro

  8. Some Facts of Bayesian Probability in SNePSLOG P(x,p): The prior probability of x is p. Bel(x,p); The posterior probability of x is p. calculatedBel(x,p): The calculated posterior probability of x is p. all(x,p)(P(x,p) => Bel(x,p)). all(x,p)(Bel(~x,p) => all(q)(Diff(1,p,q) => Bel(x,q))). all(x,y)(andor(1,1){x,y} => all(p)(Bel(x,p) => all(q)(Diff(1,p,q) => Bel(y,q)))). all(x,p)(calculatedBel(x,p) => Bel(x,p)). S. C. Shapiro

  9. An Example Bayesian Network Pollution Smoker Cancer Dyspnoea XRay From: Kevin B. Korb & Ann E. Nicholson, Bayesian Artificial Intelligence, Chapman & Hall/CRC, 2004, p. 31 ff. S. C. Shapiro

  10. The Patient-Independent CPTs CP(x,y,p): The conditional probability of x given y is p. JCP(x,y,z,p): The conditional probability of x given y and z is p. ExposedTo(x,v,f): x has been exposed to a v level of factor f. Does(x,a): x engages in the activity a. Has(x,d): x has the disease d. Positive(x): The procedure x gave a positive result all(x)(andor(1,1){ExposedTo(x,low,pollution), ExposedTo(x,high,pollution)}). all(x)(Patient(x) => {JCP(Has(x,cancer), ExposedTo(x,high,pollution), Does(x,smoke), 0.05), JCP(Has(x,cancer), ExposedTo(x,high,pollution), ~Does(x,smoke), 0.02), JCP(Has(x,cancer), ExposedTo(x,low,pollution), Does(x,smoke), 0.03), JCP(Has(x,cancer), ExposedTo(x,low,pollution), ~Does(x,smoke), 0.001), CP(Positive(X-ray(x)), Has(x,cancer), 0.90), CP(Positive(X-ray(x)), ~Has(x,cancer), 0.20), CP(Has(x,dyspnoea), Has(x,cancer), 0.65), CP(Has(x,dyspnoea), ~Has(x,cancer), 0.30)}). S. C. Shapiro

  11. Algorithm for calculatedBel Given an X, To find the p such that calculatedBel(X,p): Infer from the KB all Ei, pi s.t. CP(X,Ei,pi). Infer from the KB the qi s.t. Bel(Ei,qi). Set pcp to Σi (pi * qi). Infer from the KB all E1i, E2i, pi s.t. JCP(X,E1i,E2i,pi). Infer from the KB the q1i s.t. Bel(E1i,q1i). and the q2i s.t. Bel(E2i,q2i). Set pjcp to Σi (pi * q1i * q2i). Set p to pcp + pjcp. S. C. Shapiro

  12. The Patients and Their Priors Patient(x): x is a patient. Patient({Joe,Jane}). P(ExposedTo(Joe,low,pollution), 0.90). P(Does(Joe,smoke), 0.30). P(ExposedTo(Jane,low,pollution), 0.90). P(Does(Jane,smoke), 0.50). S. C. Shapiro

  13. Inferring Posteriors : Bel(ExposedTo(Joe,low,pollution), ?p)? ; should be 0.9 wff12!: Bel(ExposedTo(Joe,low,pollution),0.9) : Bel(~Does(Joe,smoke), ?p)? ; should be 0.7 wff32!: Bel(~Does(Joe,smoke),0.7) : Bel(ExposedTo(Joe,high,pollution), ?p)? ; should be 0.1 wff46!: Bel(ExposedTo(Joe,high,pollution),0.1) : Bel(Has(Joe,cancer), ?p)? ; should be 0.011 wff90!: Bel(Has(Joe,cancer),0.011) : Bel(Positive(X-ray(Joe)), ?p)? ; should be 0.208 wff104!: Bel(Positive(X-ray(Joe)),0.208) : Bel(Has(Joe, dyspnoea), ?p)? ; should be 0.304 wff126!: Bel(Has(Joe,dyspnoea),0.304) : Bel(Has(Jane,cancer), ?p)? ; should be 0.017 wff280!: Bel(Has(Jane,cancer),0.017) : Bel(Positive(X-ray(Jane)), ?p)? ; should be 0.212 wff294!: Bel(Positive(X-ray(Jane)),0.212) : Bel(Has(Jane, dyspnoea), ?p)? ; should be 0.306 wff377!: Bel(Has(Jane,dyspnoea),0.306) S. C. Shapiro

  14. Conclusions • SNePS uses procedural attachment to combine numeric with symbolic reasoning. • New attached procedures may be added by the KE. • Strengths of symbolic reasoning: • Representation of, and reasoning about general cases. • Instantiating multiple specific cases. • Clarity of declarative statements. • Strengths of numerical reasoning: • Complicated numerical calculations. • Especially sums and products of series. • Sometimes faster than logical deduction. S. C. Shapiro

More Related