Combining Numeric and Symbolic Reasoning in SNePS Stuart C. Shapiro

advertisement
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
Network-Based
knowledge representation, reasoning,
and acting system.
IF Workshop 2006
S. C. Shapiro
2
This Talk
• The logic-based view of SNePS
• The SNePSLOG user interface.
• The recently added procedural attachment
to combine
numeric with symbolic reasoning.
IF Workshop 2006
S. C. Shapiro
3
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.
IF Workshop 2006
S. C. Shapiro
4
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
5
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
6
Illustration
Implementing a Bayesian Network in SNePS
using combined
symbolic and numeric reasoning
IF Workshop 2006
S. C. Shapiro
7
Some Facts of Bayesian Probability
in SNePSLOG
P(x,p):
Bel(x,p);
calculatedBel(x,p):
The prior probability of x is p.
The posterior probability of x is 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
8
An Example Bayesian Network
Pollution
P(P=L)
P(S=T)
Smoker
Joe: 0.30
Jane: 0.50
0.90
Cancer
C
P(X=pos|C)
T
0.90
F
0.20
PS
P(C=T|P,S)
HT
0.05
HF
0.02
LT
0.03
LF
0.001
Dyspnoea
XRay
C
P(D=T|C)
T
0.65
F
0.30
From: Kevin B. Korb & Ann E. Nicholson, Bayesian Artificial Intelligence, Chapman & Hall/CRC, 2004, p. 31 ff.
IF Workshop 2006
S. C. Shapiro
9
The Patient-Independent CPTs
CP(x,y,p):
JCP(x,y,z,p):
ExposedTo(x,v,f):
Does(x,a):
Has(x,d):
Positive(x):
The conditional probability of x given y is p.
The conditional probability of x given y and z is p.
x has been exposed to a v level of factor f.
x engages in the activity a.
x has the disease d.
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
10
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.
IF Workshop 2006
S. C. Shapiro
11
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
12
Inferring Posteriors
: Bel(ExposedTo(Joe,low,pollution), ?p)?
wff12!: Bel(ExposedTo(Joe,low,pollution),0.9)
: Bel(~Does(Joe,smoke), ?p)?
wff32!: Bel(~Does(Joe,smoke),0.7)
: Bel(ExposedTo(Joe,high,pollution), ?p)?
wff46!: Bel(ExposedTo(Joe,high,pollution),0.1)
: Bel(Has(Joe,cancer), ?p)?
wff90!: Bel(Has(Joe,cancer),0.011)
: Bel(Positive(X-ray(Joe)), ?p)?
wff104!: Bel(Positive(X-ray(Joe)),0.208)
: Bel(Has(Joe, dyspnoea), ?p)?
wff126!: Bel(Has(Joe,dyspnoea),0.304)
; should be 0.9
: Bel(Has(Jane,cancer), ?p)?
wff280!: Bel(Has(Jane,cancer),0.017)
: Bel(Positive(X-ray(Jane)), ?p)?
wff294!: Bel(Positive(X-ray(Jane)),0.212)
: Bel(Has(Jane, dyspnoea), ?p)?
wff377!: Bel(Has(Jane,dyspnoea),0.306)
; should be 0.017
IF Workshop 2006
S. C. Shapiro
; should be 0.7
; should be 0.1
; should be 0.011
; should be 0.208
; should be 0.304
; should be 0.212
; should be 0.306
13
Conclusions
• SNePS uses procedural attachment
combine numeric with symbolic reasoning.
to
– 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.
IF Workshop 2006
S. C. Shapiro
14
Download