The SNePS Approach to Cognitive Robotics Stuart C. Shapiro Department of Computer Science and Engineering and Center for Cognitive Science University at Buffalo shapiro@cse.buffalo.edu S.C. Shapiro Outline • • • • • • • • Introduction Intensional Representation & Propositions SNePS Connectives and Quantifiers SNeRE Acting Constructs Example Plans Representation and Use of Indexicals A Personal Sense of Time Summary S.C. Shapiro Goal • A computational cognitive agent that can: – – – – – – – S.C. Shapiro Understand and communicate in English; Discuss specific, generic, and “rule-like” information; Reason; Discuss acts and plans; Sense; Act; Remember and report what it has sensed and done. Embodied Cassie • A computational cognitive agent – Embodied in hardware – or Software-Simulated – Based on SNePS and GLAIR. S.C. Shapiro SNePS • Knowledge Representation and Reasoning – Propositions as Terms • SNIP: SNePS Inference Package – Specialized connectives and quantifiers • SNeBR: SNePS Belief Revision • SNeRE: SNePS Rational Engine • Interface Languages – SNePSUL: Lisp-Like – SNePSLOG: Logic-Like – GATN for Fragments of English. S.C. Shapiro GLAIR Architecture Grounded Layered Architecture with Integrated Reasoning Knowledge Level SNePS Perceptuo-Motor Level Sensory-Actuator Level NL Percepts S.C. Shapiro Action Interaction with Cassie English (Statement, Question, Command) (New Belief) [SNePS] (Current) Set of Beliefs [SNePS] Reasoning Clarification Dialogue GATN Parser Looking in World Answer Actions (Updated) Set of Beliefs [SNIP] [SNeRE] [SNePS] GATN Generator Reasoning English sentence expressing new belief answering question reporting actions S.C. Shapiro Cassie, the BlocksWorld Robot S.C. Shapiro Cassie, the FEVAHR S.C. Shapiro FEVAHR/Cassie in the Lab S.C. Shapiro FEVAHRWorld Simulation S.C. Shapiro UXO Remediation Cassie Corner flag Field UXO Drop-off zone NonUXO object Battery meter Corner flag Recharging Station S.C. Shapiro Corner flag Cassie Safe zone Crystal Space Environment S.C. Shapiro Outline • • • • • • • • Introduction Intensional Representation & Propositions SNePS Connectives and Quantifiers SNeRE Acting Constructs Example Plans Representation and Use of Indexicals A Personal Sense of Time Summary S.C. Shapiro Entities, Terms, Symbols, Objects • Cassie’s mental entity: a person named Bill • SNePS term: B5 • Object in world: S.C. Shapiro Intensional Representation Intensional entities are distinct even if coreferential. “The morning star is the evening star.” “George IV wondered if Scott was the author of Waverly.” S.C. Shapiro McCarthy’s Telephone Number Problem Mary's telephone number is Mike's telephone number. I understand that Mike's telephone number is Mary's telephone number. Pat knew Mike's telephone number. I understand that Pat knew Mike's telephone number. Pat dialed Mike's telephone number. I understand that Pat dialed Mike's telephone number. S.C. Shapiro Answering the Telephone Number Problem Did Pat dial Mary's telephone number? Yes, Pat dialed Mary's telephone number. Did Pat know Mary's telephone number? I don't know. S.C. Shapiro Representing Propositions Propositions must be first-class entities of the domain Represented by terms. S.C. Shapiro Discussing Propositions That Bill is sweet is Mary's favorite proposition. I understand that Mary's favorite proposition is that Bill is sweet. Mike believes Mary's favorite proposition. I understand that Mike believes that Bill is sweet. S.C. Shapiro Outline • • • • • • • • Introduction Intensional Representation & Propositions SNePS Connectives and Quantifiers SNeRE Acting Constructs Example Plans Representation and Use of Indexicals A Personal Sense of Time Summary S.C. Shapiro Logic for NLU & Commonsense Reasoning Either Pat is a man or Pat is a woman or Pat is a robot. I understand that Pat is a robot or Pat is a woman or Pat is a man. Pat is a woman. I understand that Pat is a woman. What is Pat? Pat is a woman and Pat is not a robot and Pat is not a man. S.C. Shapiro Representation in FOPL? Man(Pat) Woman(Pat) Robot(Pat) S.C. Shapiro Representation in FOPL? Man(Pat) Woman(Pat) Robot(Pat) but don’t want inclusive or S.C. Shapiro Representation in FOPL? Man(Pat) Woman(Pat) Robot(Pat) but don’t want inclusive or Man(Pat) +Woman(Pat) +Robot(Pat) T T T F T So don’t want exclusive or either S.C. Shapiro andor andor(i, j){P1, ..., Pn} True iff at least i, and at most j of the Pi are True S.C. Shapiro thresh thresh(i, j){P1, ..., Pn} True iff either fewer than i, or more than j of the Pi are True Note: thresh(i, j) ~andor(i, j) S.C. Shapiro or-entailment {P1, ..., Pn} v=> {Q1, ..., Qn} True iff S.C. Shapiro for all i, j Pi Qj and-entailment {P1, ..., Pn} &=> {Q1, ..., Qn} True iff for all j P1 &…& Pn Qj S.C. Shapiro Numerical entailment {P1, ..., Pn} i=> {Q1, ..., Qn} True iff for all j andor(i, n){P1, …, Pn } Qj S.C. Shapiro Universal Quantifier all(ū)({R1(ū),..., Rn(ū)} &=> {C1(ū),..., Cm(ū)}) Every ā that satisfies R1(ū)&…& Rn(ū) also satisfies C1(ū),..., Cm(ū)}) S.C. Shapiro Numerical Quantifiers nexists(i,j,k)(x) ({P1(x),..., Pn(x)}: {Q(x)})} There are k individuals that satisfy P1(x) ... Pn(x) and, of them, at least i and at most j also satisfy Q(x) S.C. Shapiro Outline • • • • • • • • Introduction Intensional Representation & Propositions SNePS Connectives and Quantifiers SNeRE Acting Constructs Example Plans Representation and Use of Indexicals A Personal Sense of Time Summary S.C. Shapiro MENTAL ACTS • Believe(proposition) • Disbelieve(proposition) S.C. Shapiro Act Selection • Do-One({act1 ... actn}) • Snif(if(condition, act), ... if(condition, act) [else(act)]) S.C. Shapiro Act Iteration • Do-All({act1 ... actn}) • Sniterate(if(condition, act), ... if(condition, act), [else(act)]) • Snsequence(act1, ..., actn) • Cascade(act1, ..., actn) • P-Do-All({act1, ..., act2}) S.C. Shapiro Entity Iteration WithSome(var, suchthat, do, [else]) WithAll(var, suchthat, do, [else]) WithSome+(var, suchthat, do, [else]) WithNew(vars, thatare, suchthat, do, [else]) S.C. Shapiro Proposition/Act Transformers • • • • • • • • Achieve(proposition) ActPlan(act, plan) GoalPlan(proposition, act) Precondition(act, proposition) Effect(act, proposition) WhenDo(proposition, act) WheneverDo(proposition, act) IfDo(proposition, act) S.C. Shapiro Outline • • • • • • • • Introduction Intensional Representation & Propositions SNePS Connectives and Quantifiers SNeRE Acting Constructs Example Plans Representation and Use of Indexicals A Personal Sense of Time Summary S.C. Shapiro Conditional Plans If a block is on a support then a plan to achieve that the support is clear is to pick up the block and then put the block on the table. all(x, y) ({Block(x), Support(y), On(x, y)} &=> {GoalPlan(Clear(y), Snsequence(Pickup(x), Put(x, Table)))}) (STRIPS-like representation: No times) S.C. Shapiro Use of Conditional Plan GoalPlan(Clear(B), Snsequence(Pickup(A), Put(A, Table))) Remember (cache) derived propositions. S.C. Shapiro Use of Conditional Plan GoalPlan(Clear(B), Snsequence(Pickup(A), Put(A, Table)))??? SNeBR to the rescue! S.C. Shapiro A FEVAHR Acting Rule all(a, o) ({Agent(a), Thing(o)} &=> {Precondition(Follow(a, o), Near(a, o)), GoalPlan(Near(a, o), Goto(a, o)), Precondition(Goto(a, o), Lookat(a, o)), ActPlan(Lookat(a, o), Find(a, o))}) Uses a temporal model. S.C. Shapiro Acting According to the Rule S.C. Shapiro Acting According to the Rule Follow a red robot. I found a red robot. I am looking at a red robot. S.C. Shapiro Acting According to the Rule Follow a red robot. I found a red robot. I am looking at a red robot. I went to a red robot. I am near a red robot. I am following a red robot. S.C. Shapiro A Plan for Blowing up UXOs all(a)(Agent(a) => ActPlan(Blowup(a, UXOs), Act(a, Cascade(SearchforUxo(a), WithSome+(obj, Near(a, obj), WithNew({ch ex}, {Charge(ch), Explosion(ex)}, Possess(a, ch), Cascade(Place(a, ch, obj), Hide(a), Waitfor(a, ex), SearchforUxo(a))), goto(a, SafeZone)))))) S.C. Shapiro Outline • • • • • • • • Introduction Intensional Representation & Propositions SNePS Connectives and Quantifiers SNeRE Acting Constructs Example Plans Representation and Use of Indexicals A Personal Sense of Time Summary S.C. Shapiro Representation and Use of Indexicals • Words whose meanings are determined by occasion of use • E.g. I, you, now, then, here, there • Deictic Center <*I, *YOU, *NOW> • *I: SNePS term representing Cassie • *YOU: person Cassie is talking with • *NOW: current time. S.C. Shapiro Analysis of Indexicals (in input) • • • • S.C. Shapiro First person pronouns: *YOU Second person pronouns: *I “here”: location of *YOU Present/Past relative to *NOW. Generation of Indexicals • *I: First person pronouns • *YOU: Second person pronouns • *NOW: used to determine tense and aspect. S.C. Shapiro Use of Indexicals 1 Come here. S.C. Shapiro Use of Indexicals 2 Come here. I came to you, Stu. I am near you. S.C. Shapiro Use of Indexicals 3 Who am I? Your name is ‘Stu’ and you are a person. Who have you talked to? I am talking to you. Talk to Bill. I am talking to you, Bill. Come here. S.C. Shapiro Use of Indexicals 4 Come here. I found you. I am looking at you. S.C. Shapiro Use of Indexicals 5 Come here. I found you. I am looking at you. I came to you. I am near you. S.C. Shapiro Use of Indexicals 6 Who am I? Your name is ‘Bill’ and you are a person. Who are you? I am the FEVAHR and my name is ‘Cassie’. Who have you talked to? I talked to Stu and I am talking to you. S.C. Shapiro Outline • • • • • • • • Introduction Intensional Representation & Propositions SNePS Connectives and Quantifiers SNeRE Acting Constructs Example Plans Representation and Use of Indexicals A Personal Sense of Time Summary S.C. Shapiro A Personal Sense of Time • *NOW contains SNePS term representing current time. • *NOW moves when Cassie acts or perceives a change of state. S.C. Shapiro Representation of Time before ! after before ! after ! B1 B6 I lex find S.C. Shapiro NOW Movement of Time t1 NOW S.C. Shapiro before ! after t2 NOW before ! after t3 NOW Performing a Punctual Act t1 before ! after t2 before ! after t3 time ! event NOW S.C. Shapiro NOW Performing a Durative Act t1 before ! after t2 ! time t3 ! event NOW NOW S.C. Shapiro The Pacemaker • PML process periodically increments variable COUNT. • *COUNT = some PML integer. • Reset to 0 when NOW moves. • Provides bodily “feel” of passing time. S.C. Shapiro Quantizing Time Cannot conceptualize fine distinctions in time intervals. So quantize, e.g. into half orders of magnitude (Hobbs, 2000). S.C. Shapiro Movement of Time with Pacemaker ! time t1 before ! duration after q t2 KL PML hom NOW COUNT n 0 S.C. Shapiro The Problem of the Fleeting Now How can you reason about “now” if it never stands still? S.C. Shapiro Fleeting Now Example 1 12:15:00: 12:15:02: 12:17:00: 12:19:00: “Is John having lunch now?” Agent walks to John’s office. Agent sees John at his desk, eating. Agent reports “yes”. Appropriate granularity. S.C. Shapiro Fleeting Now Example 2 12:15:00: “Is John having lunch now?” Agent knows John is at home without a phone. Agent contemplates driving to John’s home. Don’t bother---inappropriate granularity. S.C. Shapiro The Vagueness of “now” I’m now giving a talk. I’m now supervising PhD students. I’m now visiting Paris. I’m now living in Buffalo. The agent is now walking to John’s office. The agent is now seeing if John is eating lunch. Multiple now’s at different granularities. S.C. Shapiro NOW-MTF Maximal Temporal Frame based on *NOW NOW Semi-lattice of times, all of which contain *NOW, any of which could be meant by “now” Finite---only conceptualized times of conceptualized states S.C. Shapiro Moving NOW with MTF NOW S.C. Shapiro Typical Durations “If the walk light is on now, cross the street.” Relevant duration is typical duration of walk lights. “Is John having lunch now?” Relevant duration is typical duration of lunch. Use quantized typical durations when updating NOW-MTFs. S.C. Shapiro Using Appropriate Granularity Lunch time NOW Yes! S.C. Shapiro Outline • • • • • • • • Introduction Intensional Representation & Propositions SNePS Connectives and Quantifiers SNeRE Acting Constructs Example Plans Representation and Use of Indexicals A Personal Sense of Time Summary S.C. Shapiro Goal • A computational cognitive agent/robot • That can communicate in natural language. S.C. Shapiro Intensional Representation & Propositions • • • • SNePS terms represent mental entities. May assert that two entities are coreferential. Relations/acts may be declared transparent. Propositions are first-class entities. S.C. Shapiro SNePS Connectives and Quantifiers • Designed logical connectives and rules of inference More appropriate for NLU and Commonsense reasoning than in standard FOPC. S.C. Shapiro SNeRE Acting Constructs • Separate, but Coordinated Syntax and Semantics For Acting and for Reasoning S.C. Shapiro Representation and Use of Indexicals • Use of Deictic Center for parser to interpret indexicals as current referents • And for generator to generate indexicals from current referents. S.C. Shapiro A Personal Sense of Time • *NOW is current time. • Updated when Cassie acts or perceives a change of state. • Points into MTF to support vagueness of “now”. S.C. Shapiro For More Information • • • • • • Personnel Manual Tutorial Bibliography ftp’able SNePS source code etc. • http://www.cse.buffalo.edu/sneps/ S.C. Shapiro