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
Fall 2006S. C. Shapiro2 KL (SNePS) PMLa PMLb PMLc SAL Mind Body Independent of lower-body implementation Hearing Vision Motion Speech WORLDWORLD I/P s o c k e t s MGLAIR Agent Architecture Dependent on lower-body implementation Proprioception
Fall 2006S. C. Shapiro3 SNePS SNePS is a Logic-Based Frame-Based Network-Based knowledge representation, reasoning, and acting system.
Fall 2006S. C. Shapiro4 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))
Fall 2006S. C. Shapiro5 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)
Fall 2006S. C. Shapiro6 SNePS Is Network-Based : define-frame Ako(nil subclass superclass) Ako(x1, x2) will be represented by {, } : 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
Fall 2006S. C. Shapiro7 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.
Fall 2006S. C. Shapiro8 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)
Fall 2006S. C. Shapiro9 Building Domain all(x)(onFloor(x) => {( location(belowGround)), ( location(aboveGround))}).
Fall 2006S. C. Shapiro10 Primitive Acts A version of procedural attachment for implementing intelligent agents: : perform say(Welcome, "to you all.") Welcome to you all.
Fall 2006S. C. Shapiro11 Policies Connect 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?",""))).
Fall 2006S. C. Shapiro12 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)}.
Fall 2006S. C. Shapiro13 Combined Use of SNeBR & 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)
Fall 2006S. C. Shapiro14 BR with Multiple Sources wff1: 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.
Fall 2006S. C. Shapiro15 : 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
Fall 2006S. C. Shapiro16 Using Source Credibility A contradiction was detected within context default-defaultct. The contradiction involves the newly derived proposition: wff17: ~fish(Willy) { } and the previously existing proposition: wff14: fish(Willy) { } 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)
Fall 2006S. C. Shapiro17 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.