Executing Specifications of Social Reasoning Agents Iain Wallace Michael Rovatsos School of Informatics The University of Edinburgh DALT’10 www.inf.ed.ac.uk
Overview 1 Why is general social reasoning interesting? 2 How does ESB specify social reasoning? 3 How is it implemented? 4 A simple example. 5 Conclusions www.inf.ed.ac.uk
Motivation • A general, intuitive, structure for social reasoning. • A guide for implementation without prescribing reasoning methods. • Bounded rationality principles for social reasoning. • Automated analysis of designs. www.inf.ed.ac.uk
What is ESB? • E xpectation - S trategy - B ehaviour • ESB assumes (Inter)actions are governed not only by goals, but also: • Expected behaviour of others. • Experience and observation. • Potential future behaviour of self and others. ESB is not a concrete social reasoning method. www.inf.ed.ac.uk
What’s in an Expectation? An example from the card game Rummy: N ame = Expectation 1 C ondition = Agent ( b ) picked up 2 ♦ Expected Φ = Agent ( b ) is collecting 2s T est = +( Agent ( b ) picks up a 2) − ( Agent ( b ) ignores/discards a 2) Response ρ + = remove( { E 2 , E 5 } ) add( { E 3 , E 4 } ) Response ρ − = remove( { E 1 } ) www.inf.ed.ac.uk
Reasoning with Expectations www.inf.ed.ac.uk
Introducing ESB-RS www.inf.ed.ac.uk
Expectations: Generating the FSM For each expectation E next(E.Condition) := case: For each other expectation O If (E in O.Tp.addSet) OR (E in O.Tm.addSet) then next(E.Condition) : { True,False } If (E in O.Tp.remSet) OR (E in O.Tm.remSet) then { DC } next(E.Condition) : end for { True,False } ; Condition = True : Condition = False : { True,False } ; Condition = DC : { DC } ; end case next(E.Test) := case: Condition = DC : { NA } true : { Tp, Tm, NA } end case end for www.inf.ed.ac.uk
Strategies and the FSM • Strategies define the style of an agent’s reasoning, and provide a means to bound it. • Defined as restrictions on the strategy graph. • Implemented as constraints on the FSM transition relation. • An optimistic agent: next ( E . Test : { Tp , NA } ) www.inf.ed.ac.uk
Checking Behaviour Conditions Behaviours are the interface between ESB and BDI: condition ⊲ action Where an “action” in this case is a belief plus BDI plan. Conditions are CTL formulae: E ♦ ( Expectation 1 Φ ) “I might hold Expectation 1 in the future” www.inf.ed.ac.uk
Capturing Simple Social Reasoning - Expectations Expectation Exp. Joint Intention Condition pwag(self,Y,A,Q) ∧ pwag(Y,self,A,[Q ∧ pwag(self,Y,A,Q)]) Φ JointIntention(self,Y,A) T+ A ∨ ¬ Q ∨ F T − (A ∨ ¬ Q ∨ F) [source( ¬ Y)] ρ + - - ρ − pwag(X,Y,A,Q) = persistent weak achievement goal, from X to Y, to achieve A relative to condition Q. www.inf.ed.ac.uk
Capturing Simple Social Reasoning - Behaviours Only one behaviour is needed for an agent to act on a JI: ji(self,Y,A) ⊲ ( bel haveJI(A)) When to request an action: E ♦ (ji(self,Y,A)) ∧ ( desire A) ⊲ ( bel requestJI) When to agree to an action: request(A,Q,F) ∧ E ♦ (ji(self,Y,A) ∧ ( desire A) ⊲ ( bel agreeRequest(A)) www.inf.ed.ac.uk
Capturing Simple Social Reasoning - An Extension A simple team plan: www.inf.ed.ac.uk
Capturing Simple Social Reasoning - An Extension New expectations: New Behaviours: E ♦ (ji(self,Y,A)) ∧ free(Y) ⊲ ( bel requestJI(Y)) request(A,Q,F) ∧ E ♦ (ji(self,Y,A)) ∧ free(self) ⊲ ( bel agreeRequest(A)) www.inf.ed.ac.uk
Conclusions • ESB-RS is an implemented general social reasoning system. • Implemented with NuSMV model checker and Jason BDI interpreter. • ESB can capture simple social reasoning concepts in generic fashion. • But how general is ESB-RS, what classes of social reasoning can be captured? www.inf.ed.ac.uk
Recommend
More recommend