combining numeric and symbolic reasoning in sneps

14
cse@buffalo 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

Upload: gretel

Post on 03-Feb-2016

41 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Combining Numeric and Symbolic Reasoning in SNePS

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

Page 2: Combining Numeric and Symbolic Reasoning in SNePS

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.

Page 3: Combining Numeric and Symbolic Reasoning in SNePS

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.

Page 4: Combining Numeric and Symbolic Reasoning in SNePS

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.

Page 5: Combining Numeric and Symbolic Reasoning in SNePS

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.

Page 6: Combining Numeric and Symbolic Reasoning in SNePS

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)

Page 7: Combining Numeric and Symbolic Reasoning in SNePS

IF Workshop 2006 S. C. Shapiro 7

cse@buff

alo

Illustration

Implementing a Bayesian Network in SNePSusing combined

symbolic and numeric reasoning

Page 8: Combining Numeric and Symbolic Reasoning in SNePS

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)).

Page 9: Combining Numeric and Symbolic Reasoning in SNePS

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

Page 10: Combining Numeric and Symbolic Reasoning in SNePS

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)}).

Page 11: Combining Numeric and Symbolic Reasoning in SNePS

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.

Page 12: Combining Numeric and Symbolic Reasoning in SNePS

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).

Page 13: Combining Numeric and Symbolic Reasoning in SNePS

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)

Page 14: Combining Numeric and Symbolic Reasoning in SNePS

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.