140 likes | 156 Views
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
E N D
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
SNePS SNePS is a Logic-Based Frame-Based Network-Based knowledge representation, reasoning, and acting system. S. C. Shapiro
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
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
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
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
Illustration Implementing a Bayesian Network in SNePS using combined symbolic and numeric reasoning S. C. Shapiro
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
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
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
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
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
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
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