cse@buffalo research in knowledge representation and reasoning stuart c. shapiro department of...

17
cse@buffalo Research in Knowledge Representation and Reasoning 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: barrie-wilkins

Post on 17-Dec-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cse@buffalo Research in Knowledge Representation and Reasoning Stuart C. Shapiro Department of Computer Science & Engineering Center for MultiSource Information

cse@buff

alo

Research inKnowledge Representation

and Reasoning

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: Cse@buffalo Research in Knowledge Representation and Reasoning Stuart C. Shapiro Department of Computer Science & Engineering Center for MultiSource Information

Fall 2006 S. C. Shapiro 2

cse@buff

alo

KL (SNePS)

PMLa

PMLb

PMLc

SAL

Mind

BodyIndependentof lower-body

implementation

Hearing

Vision

Motion

Speech WORLD

I/P s o c k e t s

MGLAIR Agent Architecture

Dependenton lower-bodyimplementation

Proprioception

Page 3: Cse@buffalo Research in Knowledge Representation and Reasoning Stuart C. Shapiro Department of Computer Science & Engineering Center for MultiSource Information

Fall 2006 S. C. Shapiro 3

cse@buff

alo

SNePSSNePS is a

Logic-Based

Frame-Based

Network-Based

knowledge representation, reasoning,and acting system.

Page 4: Cse@buffalo Research in Knowledge Representation and Reasoning Stuart C. Shapiro Department of Computer Science & Engineering Center for MultiSource Information

Fall 2006 S. C. Shapiro 4

cse@buff

alo

SNePS Is Logic-Based wff1!: all(x)(Isa(x,dog) => Property(x,four-legged)) wff2!: Isa(Toto,dog)

: Property(Toto,?x)? wff3!: Property(Toto,four-legged)

: Isa(Fala,dog)! wff6!: Property(Fala,four-legged) wff5!: Isa(Fala,dog)

: askwh Property(?x,four-legged) Fala: Fala Toto: Toto

: list-wffs wff6!: Property(Fala,four-legged) wff5!: Isa(Fala,dog) wff3!: Property(Toto,four-legged) wff2!: Isa(Toto,dog) wff1!: all(x)(Isa(x,dog) => Property(x,four-legged))

Page 5: Cse@buffalo Research in Knowledge Representation and Reasoning Stuart C. Shapiro Department of Computer Science & Engineering Center for MultiSource Information

Fall 2006 S. C. Shapiro 5

cse@buff

alo

SNePS Is Frame-Based: %(describe *nodes)(m6! (a1 Fala) (a2 four-legged) (r Property))(m5! (a1 Fala) (a2 dog) (r Isa))(m3! (a1 Toto) (a2 four-legged) (r Property))(m2! (a1 Toto) (a2 dog) (r Isa))

(m1! (forall v1) (ant (p1 (a1 v1) (a2 dog) (r Isa))) (cq (p2 (a1 v1) (a2 four-legged) (r Property))))

: %(describe (assert r Isa a1 (Fido Rover Lassie) a2 (dog pet)))

(m7! (a1 Lassie Rover Fido) (a2 pet dog) (r Isa)) wff7!: Isa({Lassie,Rover,Fido},{pet,dog})

: Property(Rover, ?x)? wff8!: Property(Rover,four-legged)

Page 6: Cse@buffalo Research in Knowledge Representation and Reasoning Stuart C. Shapiro Department of Computer Science & Engineering Center for MultiSource Information

Fall 2006 S. C. Shapiro 6

cse@buff

alo

SNePS Is Network-Based: define-frame Ako(nil subclass superclass)Ako(x1, x2) will be represented by {<subclass, x1>, <superclass, x2>}

: Ako({man, dog}, mammal). wff1!: Ako({dog,man},mammal)

: Ako({mammal, fish}, vertebrate). wff2!: Ako({fish,mammal},vertebrate)

: Ako(vertebrate, animal). wff3!: Ako(vertebrate,animal)

: %(define-path subclass (compose subclass

(kstar (compose superclass- ! subclass))))...

: askwh Ako(?x, animal) vertebrate: vertebrate fish: fish mammal: mammal dog: dog man: man

Page 7: Cse@buffalo Research in Knowledge Representation and Reasoning Stuart C. Shapiro Department of Computer Science & Engineering Center for MultiSource Information

Fall 2006 S. C. Shapiro 7

cse@buff

alo

Procedural Attachment

A predicate or function symbol

may be attached to a user-written procedure

so instances may be computed

in the underlying programming language.

Page 8: Cse@buffalo Research in Knowledge Representation and Reasoning Stuart C. Shapiro Department of Computer Science & Engineering Center for MultiSource Information

Fall 2006 S. C. Shapiro 8

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 9: Cse@buffalo Research in Knowledge Representation and Reasoning Stuart C. Shapiro Department of Computer Science & Engineering Center for MultiSource Information

Fall 2006 S. C. Shapiro 9

cse@buff

alo

Building Domain

all(x)(onFloor(x)

=> {(<(x,3) => location(belowGround)),

(<(2,x) => location(aboveGround))}).

Page 10: Cse@buffalo Research in Knowledge Representation and Reasoning Stuart C. Shapiro Department of Computer Science & Engineering Center for MultiSource Information

Fall 2006 S. C. Shapiro 10

cse@buff

alo

Primitive Acts

A version of procedural attachment

for implementing intelligent agents:

: perform say(Welcome, "to you all.")

Welcome to you all.

Page 11: Cse@buffalo Research in Knowledge Representation and Reasoning Stuart C. Shapiro Department of Computer Science & Engineering Center for MultiSource Information

Fall 2006 S. C. Shapiro 11

cse@buff

alo

PoliciesConnect propositions and acts:

wheneverdo(location(belowGround), withsome(f, onFloor(f),

say("It's dark here on floor",f), say("Where am I?",""))).

wheneverdo(location(aboveGround), withsome(f, onFloor(f),

say("It's sunny outside floor",f),

say("Where am I?",""))).

Page 12: Cse@buffalo Research in Knowledge Representation and Reasoning Stuart C. Shapiro Department of Computer Science & Engineering Center for MultiSource Information

Fall 2006 S. C. Shapiro 12

cse@buff

alo SNeBR:Belief Revision/

Assumption-Based Truth Maintenance

• Identify possible culprits of contradictions.

• Disbelieve implications of disbelieved hypotheses.

• Use state constraints to adjust beliefs:andor(1,1){onFloor(1),onFloor(2),onFloor(3),onFloor(4)}.

andor(1,1){location(belowGround),location(aboveGround)}.

Page 13: Cse@buffalo Research in Knowledge Representation and Reasoning Stuart C. Shapiro Department of Computer Science & Engineering Center for MultiSource Information

Fall 2006 S. C. Shapiro 13

cse@buff

alo

Combined Use ofSNeBR & Procedural Attachment

: perform believe(onFloor(1))It's dark here on floor 1

: location(?x)? wff24!: ~location(aboveGround) wff6!: location(belowGround)

: perform believe(onFloor(4))It's sunny outside floor 4

: location(?x)? wff33!: ~location(belowGround) wff7!: location(aboveGround)

Page 14: Cse@buffalo Research in Knowledge Representation and Reasoning Stuart C. Shapiro Department of Computer Science & Engineering Center for MultiSource Information

Fall 2006 S. C. Shapiro 14

cse@buff

alo

BR with Multiple Sourceswff1: all(x)(andor(0,1){mammal(x),fish(x)})

wff2: all(x)(fish(x) <=> has(x,scales))

wff4: all(x)(whale(x) => fish(x))

wff5: Source(Melville,all(x)(whale(x) => fish(x)))

wff6: all(x)(whale(x) => mammal(x))

wff7: Source(Darwin,all(x)(whale(x) => mammal(x)))

wff8: Sgreater(Darwin,Melville)

wff11: free(Willy) and whale(Willy)

Note: Source & Sgreater props are regular object-language props.

Page 15: Cse@buffalo Research in Knowledge Representation and Reasoning Stuart C. Shapiro Department of Computer Science & Engineering Center for MultiSource Information

Fall 2006 S. C. Shapiro 15

cse@buff

alo

: has(Willy, scales)?

I infer fish(Willy)

I infer has(Willy,scales)

I infer mammal(Willy)

I infer it is not the case that wff14: fish(Willy)

Finding the Contradiction

Page 16: Cse@buffalo Research in Knowledge Representation and Reasoning Stuart C. Shapiro Department of Computer Science & Engineering Center for MultiSource Information

Fall 2006 S. C. Shapiro 16

cse@buff

alo

Using Source CredibilityA contradiction was detected within context default-defaultct.The contradiction involves the newly derived proposition:

wff17: ~fish(Willy) {<der,{wff1,wff6,wff11}>}

and the previously existing proposition: wff14: fish(Willy) {<der,{wff4,wff11}>}

The least believed hypothesis: (wff4) The most common hypothesis: (nil) The hypothesis supporting the fewest wffs: (wff1)

I removed the following belief: wff4: all(x)(whale(x) => fish(x))

I no longer believe the following 2 propositions: wff14: fish(Willy) wff13: has(Willy,scales)

Page 17: Cse@buffalo Research in Knowledge Representation and Reasoning Stuart C. Shapiro Department of Computer Science & Engineering Center for MultiSource Information

Fall 2006 S. C. Shapiro 17

cse@buff

alo

Conclusions• MGLAIR is an agent architecture

– For connecting reasoning with sensing and acting

• SNePS is a– Logic-based

– Frame-based

– Network-based

– Knowledge representation, reasoning, and acting system.

• Procedural attachment provides– Sensing, acting, computing at the “subcognitive” layers

• SNeBR does belief revision & truth maintenance.• Source meta-knowledge may be entered and used.