combining numeric and symbolic reasoning in sneps
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
cse@buff
alo
CombiningNumeric and Symbolic Reasoning
in SNePS
Stuart C. ShapiroDepartment of Computer Science & Engineering
Center for MultiSource Information Fusion Center for Cognitive Science
University at Buffalo, The State University of New York
IF Workshop 2006 S. C. Shapiro 2
cse@buff
alo
SNePSSNePS is a
Logic-Based
Frame-Based
Network-Based
knowledge representation, reasoning,and acting system.
IF Workshop 2006 S. C. Shapiro 3
cse@buff
alo
This Talk
• The logic-based view of SNePS
• The SNePSLOG user interface.
• The recently added procedural attachmentto combine
numeric with symbolic reasoning.
IF Workshop 2006 S. C. Shapiro 4
cse@buff
alo
Some SNePSLOG SyntaxP(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 jof 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.
IF Workshop 2006 S. C. Shapiro 5
cse@buff
alo
Procedural Attachment
• A predicate (proposition-forming function) symbol
• may be attached to a procedure
• so instances may be computed
• in the underlying programming language.
IF Workshop 2006 S. C. Shapiro 6
cse@buff
alo
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)
IF Workshop 2006 S. C. Shapiro 7
cse@buff
alo
Illustration
Implementing a Bayesian Network in SNePSusing combined
symbolic and numeric reasoning
IF Workshop 2006 S. C. Shapiro 8
cse@buff
alo
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)).
IF Workshop 2006 S. C. Shapiro 9
cse@buff
alo
An Example Bayesian Network
P(P=L)
0.90
C P(X=pos|C)
T 0.90
F 0.20
Pollution Smoker
Cancer
XRayDyspnoea
From: Kevin B. Korb & Ann E. Nicholson, Bayesian Artificial Intelligence, Chapman & Hall/CRC, 2004, p. 31 ff.
P(S=T)
Joe: 0.30
Jane: 0.50
C P(D=T|C)
T 0.65
F 0.30
P S P(C=T|P,S)
H T 0.05
H F 0.02
L T 0.03
L F 0.001
IF Workshop 2006 S. C. Shapiro 10
cse@buff
alo
The Patient-Independent CPTsCP(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)}).
IF Workshop 2006 S. C. Shapiro 11
cse@buff
alo
Algorithm for calculatedBelGiven 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.
IF Workshop 2006 S. C. Shapiro 12
cse@buff
alo
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).
IF Workshop 2006 S. C. Shapiro 13
cse@buff
alo 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)
IF Workshop 2006 S. C. Shapiro 14
cse@buff
alo
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.