230 likes | 326 Views
Evolving Social Commitment Based Protocols Using MAPC. Jason Heard Mount Royal University jheard@mtroyal.ca. Rob Kremer University of Calgary kremer@cpsc.ucalgary.ca. Outline. Long Term Goal Background Multi Agent System Communication MAPC Scenarios and Roles Behaviour Representation
E N D
Evolving Social Commitment Based Protocols Using MAPC Jason Heard Mount Royal University jheard@mtroyal.ca Rob Kremer University of Calgary kremer@cpsc.ucalgary.ca
Outline • Long Term Goal • Background • Multi Agent System Communication • MAPC • Scenarios and Roles • Behaviour Representation • Actual Output
Long Term Goal Produce a method of creating a multi agent system by specifying a generic situation (scenario) and a set of goals (postconditions). Evolutionary algorithms will instantiate behaviours (conversation policies) for each of the roles in the scenario.
Background • Multi Agent Systems • Communication Protocols • Conversation Policies • Social Commitments
Multi Agent Systems (MAS) • Multiple Agents: • Interacting with Each Other • Cooperative or Competitive • Possibly: • Multiple Programmers • Conflicting Goals • Need to Communicate
query-if disconfirm confirm Communication Protocols • Describe How Communication Proceeds Alice Bob
query-if Traditional Protocols, cont. Alice Bob not-understood ? refuse ?
Conversation Policies • Describe Rules for Conversations • Map Events (Such as Messages) to Creation and Fulfillment of Social Commitments • Much More Flexible
Social Commitments Behaviours Debtor -> Bob Creditor -> Alice Action -> Send reply message to Alice’s query-if message. describe Social Commitments property Externally Verifiable
Conversation Policy Example 1 Message • Example: • A message with the query-if performative commits the receiver to reply. Social Commitment ( query-if :receiver Bob :sender Alice :reply-with “unique-982347” :language English :ontology “Life” :content “closed(store)”) Debtor -> Bob Creditor -> Alice Action -> Send reply message to Alice’s query-if message.
Conversation Policy Example 2 Message • Example: • A message with the reply performative fulfills a commitment to reply. Social Commitment ( disconfirm :receiver Alice :sender Bob :reply-with “unique-857341” :language English :ontology “Life” :content “closed(store)” ) Debtor -> Bob Creditor -> Alice Action -> Send reply message to Alice’s query-if message.
Protocols Described by Policies • Protocols Can Be Described As Set of Policies • Protocol Proceeds As Agent Attempts to Resolve All Commitments • Commitment Creation Indicates a Required Action • Commitment Fulfillment Allows Agents to Delete Commitments • Still Require Extensive Work to Accomplish New Communication Tasks
MAPC • Input • Scenario • Postconditions (Currently Fitness Functions) • Output • Conversations Policies for each Role
Scenarios and Roles • Scenario Generic Situation • Set of Global Variables, Global Actions and Roles • Scenario Instance Specific Situation • Role Generic Agent in Scenario • Set of Variables and Actions • Role Instance Specific Agent • Within a Specific Scenario Instance
Behaviour Representation • For Each Role • Start-up Function • To Start the Protocol • Idle Function • To Allow Non-Reactive Behaviours • Conversation Policies • Evolved Protocol • Uses Lisp Syntax
Selector Game Output (Selector) (agent nop ; no start-up function nop ; no do-idle function (policy petition act2 (add-commitment msg.receiver msg.receiver msg.performative act5 (select msg.sender)) ) )
Selector Game Output (Choice) (agent (seq ; start-up function (send-message reply act7 this-agent 17) (if-else (get-data "isAcceptable") (seq (seq (send-message petition act10 this-agent 17) (if-else (get-data "isAcceptable") (seq (send-message petition act2 all-agents 39) (nop) ) (seq (send-message petition act2 all-agents 39) (if-else true nop nop)
Selector Game Output (Choice) ) ) ) nop nop ) ) nop ; no do-idle function nop ; no policies )
Selector Game Observations • Expected Query Protocol • Ended Up with Advertisement Protocol
Future Work • Optimize Genetic System • Allows More Complex Scenarios • Automate Filtering Output • More Useful Output • Improve Goal Description • Improve Ease of Use