CPE/CSC 580: Intelligent Agents Franz J. Kurfess Computer Science Department California Polytechnic State University San Luis Obispo, CA, U.S.A. 1 Course Overview ❖ ❖ Introduction Intelligent Agent, Multi-Agent Systems Agent Examples Agent Architectures ❖ Reasoning Agents ❖ Agent Encounters, Resource Sharing, Agreements Communication ❖ Observation, Analysis, Performance Improvement Multi-Agent Interactions ❖ Knowledge, Reasoning, Planning Learning Agents ❖ Agent Hierarchy, Agent Design Principles Speech Acts, Agent Communication Languages Collaboration © Franz J. Kurfess 3 Overview Collaboration ❖ Motivation ❖ Objectives ❖ Collaboration ❖ Cooperative Distributed Problem Solving ❖ self-interest, societal benefits Benevolent vs. Self-interested Agents Task Sharing and Result Sharing Contract Net for Task Allocation Blackboards Example: HEARSAY II Important Concepts and Terms © Franz J. Kurfess 4 Collaboration Benevolent vs. Self-interested Agents Task Sharing and Result Sharing Contract Net for Task Allocation 10 Benevolent Agents ❖ agents help each other whenever ask ❖ within “reasonable” limits Cooperative Distributed Problem Solving (CDPS) systems consisting of benevolent agents much easier to design than non-benevolent systems possible if the whole system has a single owner or designer © Franz J. Kurfess 11 Self-Interested Agents ❖ agents representing individuals or organizations ❖ always consider their interest first may come at the expense of others potential for conflict more general more difficult to design systems self-interested agents are not necessarily malevolent no intention to harm other agents © Franz J. Kurfess 12 Cooperative Problem Solving ❖ task sharing ❖ components of a task are distributed to participating agents result sharing information is distributed may be intermediate or partial results © Franz J. Kurfess 13 Contract Net ❖ task-sharing protocol for task allocation among agents recognition announcement bidding awarding expediting © Franz J. Kurfess 14 Recognition ❖ agent realizes that it needs help with a problem goal can not be achieve in isolation agent does not have the necessary capabilities agent prefers to achieve in collaboration with others better solution quality resource utilization risk deadline © Franz J. Kurfess 15 Announcement ❖ agent sends out a task announcement specification of the task to be achieved task description “delivery of a component to location A” constraint deadline quality handling meta-information housekeeping deadline for bids format for bids payment modalities © Franz J. Kurfess 16 Bidding ❖ recipients of the announcement decide if they want to bid for the task ❖ capabilities capacities quality constraints price information agents that choose to bid submit a tender © Franz J. Kurfess 17 Awarding ❖ originating agent selects bid and awards the contract winning bidder is notified and awarded the contract other bidding agents are notified “contractor” expedites the task may lead to further tasks to be distributed “sub-contracting” © Franz J. Kurfess 18 Contract Net Example task announcement bidding award contract [Woolridge 2009] 19 Node Issues Task Announcement Task Announcement Manager [Woolridge 2009] 9-18 20 Idle Node Listening to Task Announcements Manager Potential Contractor Manager Manager [Woolridge 2009] 9-19 21 Node Submitting a Bid Bid Manager Potential Contractor [Woolridge 2009] 9-20 22 Manager Listening to Bids Bids Potential Contractor Manager Potential Contractor [Woolridge 2009] 9-21 23 Manager Making an Award Award Manager Contractor [Woolridge 2009] 9-22 24 Contract Established Contract Manager Contractor [Woolridge 2009] 9-23 25 Contract Net Issues ❖ task specification ❖ quality of service ❖ selection between competing offers may require balancing multiple criteria © Franz J. Kurfess 26 Cooperative Distributed Problem Solving (CDPS) Basics of CDPS CDPS and Contract Nets Blackboards Example: HEARSAY II 27 Cooperative Distributed Problem Solving (CDPS) distributed control distributed data storage no agent has sufficient information to solve the entire problem [Woolridge 2009] 28 CDPS System Characteristics Assumption: Communication is slower than computation loose coupling efficient protocol modular problems problems with large grain size [Woolridge 2009] 9-14 29 CDPS System Consequences any unique node is a potential bottleneck distribute data distribute control organized behavior is hard to guarantee no one node has the complete picture [Woolridge 2009] 9-15 30 CDPS Phases Problem Decomposition Sub-problem distribution Sub-problem solution Answer synthesis The contract net protocol deals with phase 2, subproblem distribution. 9-16 [Woolridge 2009] 31 Contract Net for CDPS collection of nodes is the “contract net” each node on the network can be a manager or a contractor at different times for different tasks, sub-contracting a node gets a composite task or can’t solve its present task breaks it into subtasks announces subtasks acting as a manager receives bids from potential contractors awards the job [Woolridge 2009] 9-17 32 Blackboard Systems design for distributed collaborative systems central area that serves as a task sharing message board “blackboard” (BB) no relation to the Blackboard course management system reasonably efficient implementation of a DCPS blackboard may be a bottleneck [Woolridge 2009] 33 Result Sharing in Blackboard Systems first scheme for cooperative problem solving results shared via shared data structure (BB) multiple agents can read and write to BB agents write partial solutions to BB BB may be structured into hierarchy mutual exclusion over BB required ⇒ bottleneck limitations on concurrent activities Compare: LINDA tuple spaces, JAVASPACES [Woolridge 2009] 34 Hearsay II Speech Understanding System developed at Carnegie-Mellon in the mid1970’s goal was to reliably interpret connected speech involving a large vocabulary first example of the blackboard architecture, “a problem-solving organization that can effectively exploit a multi-processor system.” (Fennel and Lesser, 1976) required a distributed system architecture too challenging for single computers [Woolridge 2009] 9-27 35 Summary Collaboration © Franz J. Kurfess 38 Important Concepts and Terms ❖ agent ❖ benevolent ❖ blackboard competition ❖ collaboration ❖ contract net ❖ coordination ❖ Cooperative Distributed Problem Solving (CDPS) ❖ multi-agent system ❖ result sharing © Franz J. Kurfess 39