Title: AOSE
1AOSE
- Advanced Software Engineering
- University College Dublin
- December 2007
- Dr Rem Collier
2AOSE
3Coordination
- The process by which an agent reasons about its
local actions and the (anticipated) actions of
others to try and ensure that the community acts
in a coherent manner.
Nick Jennings,1996
4The Coordination Problem
- Managing the interdependencies between the
activities of agents. e.g. - You and I both want to leave the room.
- We independently walk towards the door, which can
only fit one of us. - I graciously permit you to leave first.
5Coordination
- Coordination is a key concept in the design and
implementation of complex dynamic systems - Its about managing dependencies between
activities - This implies that every instance of coordination
includes agents performing activities that are
interdependent - Coordination is the process of building programs
by gluing together active entities (such as
processes, objects with threads, agents or whole
applications) and determining how they interact! - Programming Computation Coordination
6Why Coordinate?
- Preventing anarchy or chaos
- Dependencies between agents actions.
- Need to meet global constraints
- No individual has sufficient competence,
resources or information to solve the entire
problem. - Efficiency
7Coordination Example
- Consider an interaction between two robots, A and
B, operating in a warehouse. - Each robot has been designed a different
manufacturer. - They both have the capability to stack and
unstack boxes that contain goods that have been
stored in the building. - Because both robots work concurrently, they need
to coordinate their actions to share the work
load and to avoid knocking into each other and
dropping the boxes.
8How to Coordinate?
- There are two basic ways of achieving this
- Task sharing
- When a problem isdecomposed intosubproblems
andallocated to differentagents. - Result sharing
- When agents shareinformation relevantto their
subproblems.
Task 1
Task 1.2
Task 1.3
Task 1.1
9How to Coordinate?
- Task Sharing Example
- Our warehouse agents agree a distribution of work
and then go about that work. - Robot A works on the east side of the building.
- Robot B works on the west side.
- Result Sharing Example
- Agents keep each other informed of their current
activities and decide what to do independently. - Robot A decides to move box number A10456.
- Robot A tells robot B.
- Using this additional information, robot B
independently decides to move another box A20987.
10Task Sharing
- The agent decomposes the task into a set of
sub-tasks that are assigned dynamically to the
agents at run-time. - Key Steps
- Problem decomposition for distribution
- Synthesis of sub-problem results to obtain the
solution - Optimisation of the problem-solving activities of
the agents - Techniques for the coordination of the agents
activities - Example Technique Contract Net Protocol
11Task Sharing Process
1. Problem decomposition
2. Subproblem solution
3. Answer synthesis
Ref Smith Davis, 1980
12The Contract Net Protocol
I have a problem!
manager
Potential contrators
announcement
(b) Task Announcement
(a) Recognising the problem
manager
manager
Potential contrator
Award task
bids
(c) Bidding
(d) Award Contract
13The Contract Net Protocol
14..Task Allocation
- A key problem is how to allocate the sub-tasks to
the most appropriate set of agents
15Result Sharing
- Problem solving proceeds by agents cooperatively
exchanging information as the solution is
developed. - The set of tasks are pre-assigned at design time
- Results may be shared
- proactively - one agent sends another agent some
information because it believes that the other
will be interested in it. - reactively an agent sends information to
another in response to a request.
16Question
- Traffic Management
- I have a community of agents that are monitoring
the level of traffic on a road network. - Individual agents are responsible for pre-defined
area of the road network. - When an agent detects a build up of traffic in
its area, it contacts a pre-assigned traffic
management agent. - Mobile Computing
- A personal agent (located on a users PDA)
requests a map centred around the users
coordinates that shows nearby hotels. - The map request is sent to a pre-assigned
map-broker agent who then contacts an appropriate
map agent to get the basic map and an
appropriate restaurant agent to get a list of
nearby restaurants and their coordinates. - Are these examples of coordination? If so, what
type?
17Issues in Coordination
- Network Coherence Maximising how well a
distributed system of agents work together. - Task and Resource allocation amongst agents.
- Recognising and Resolving disparities or
conflicts in goals, facts, beliefs, viewpoints,
and behaviour of agents. - Determining the organisational structure of the
agent system (i.e. the roles, responsibilities
and permissions of agent in the system).
18Coordination Techniques
- Organisational Structures
- Meta-level Information Exchange
- e.g. Partial Global Planning (PGP), (Durfee)
- Multi-agent Planning
- Other Approaches
- Norms and social laws
- Joint Intentions
19AOSE
- Organisational Structures
20Organisational Structures
- A pattern of information and control
relationships between individuals. - Responsible for shaping the types of interactions
among the agents. - Aids coordination by specifying which actions an
agent will undertake. - Organisational Patterns (Dignum Dignum, 2001)
- Market
- Network
- Hierarchy
21The Market Pattern
- Goal Facilitate exchange between self-interested
agents. - Agents are heterogenous and represent a diverse
set of services and/or competencies. - Agents compete to perform tasks leading to their
satisfaction of their own objectives. - Interaction occurs through communication and
negotiation. - Negotiation rules are normally fixed (e.g. a
particular auction protocol must be used). - Payoff is immediate.
- Well suited to open-systems, this pattern has
been used to model e-commerce scenarios and
virtual enterprises.
22The Market Pattern
- Key Infrastructure Agent Roles
- Identification.
- registration of society members.
- Matchmaker.
- keeps track of needs and services of agents in
system. - mediates in matching of demand and supply of
goods or services. - Banking.
- define ways to exchange goods and determine
profit and fairness of exchanges.
23The Hierarchy Pattern
- Goal Coordinate the flow of resources or
information by controlling and directing it via
some (management) central point. - Each agent controls a statically defines
sub-hierarchy (possibly empty). - Agents at lower levels in the hierarchy are
dependent on agents at higher levels in the
hierarchy. - Interactions are determined at design time, and
are hardcoded into the system implementation. - Manager agents are responsible for controling,
coordinating, and optimising sub-system
activities. - Well suited to closed systems, this pattern has
been used in information agents and management of
communication networks.
24The Hierarchy Pattern
- Key Infrastructure Agent Roles
- Controller.
- Monitor and orient the overall performance of the
(sub-) system. - Interface Agents.
- Responsible for communication between the system
and the outside world.
25The Network Pattern
- Goal Facilitate collaboration between
self-interested agents that have a mutual goal. - Agents are willing to trade freedom in exchange
for guarantees regarding security and
trustworthiness. - Services may be traded for soft rewards such as
increase in prestige. - Relationships are dependent on clear
communication patterns and social norms. - Coordination is achieves through mutual interest,
possibly via trusted third parties. - Coordination is governed by well-defined rules
and sanctions. - Well suited to open systems in which security and
trust are essential.
26The Market Pattern
- Key Infrastructure Agent Roles
- Matchmaker
- keeps track of needs and services of agents in
system. - Mediates in matching of demand and supply of
goods or services. - Gatekeeper
- responsible for accepting and introducing new
agents to the market. - informs new agents of the possibilities and
capabilities of the market. - Notary
- registers collaboration contracts between agents.
- Monitoring Agents
- Trusted third parties that keep track of the
execution of collaboration contracts.
27Example
- The Automobile industry
- Has a set of goals To produce different lines of
cars - Has a set of agents to perform the tasks
designers, engineers, salesmen - Possible Patterns (Malone, 1987)
- Product Hierarchy
- Functional Hierarchy
- Centralised Market
- Decentralised Market
28Organisational Structures
29Organisational Structures
Product Manager (several products)
30Organisational Structures
Product Manager 3
Product Manager 2
Product Manager 1
Functional Managers
31Organisational Structures
Product Manager 3
Product Manager 2
Product Manager 1
Designers
Salesmen
Engineers
32Comparison
33Organizational Structures
- Organisational structures can be used to
introduce clear lines of communication between
the agents that exist within the system. - Advantages
- Improved Efficiency.
- Borrows from human society in which coordination
has been successfully achieved... - Disadvantages
- Reduced reliability (single points of failure).
- Reduced flexibility (fixed structure).
34AOSE
- Meta-level Information Exchange
35Meta-level Information Exchange
- Exchange control level information about current
priorities and focus. - Control level information
- May change
- Influence the decisions of agents
- Does not specify which goals an agent will or
will not consider. - Imprecise
- Medium term can only commit to goals for a
limited amount of time.
36Partial Global Planning
- Main principle cooperating agents exchange
information in order to reach common conclusions
about the problem solving process. - Why is planning partial?
- The system does not generate a plan for the
entire problem. - Why is planning global?
- Agents form non-local plans by exchanging local
plans and cooperating to achieve a non-local view
of problem solving.
37Partial Global Planning
- Starts with the premise that goals are inherently
decomposed. - Assumes that an agent with a goal to plan for
might be unaware as to what goals other agents
might be planning for and how those goals are
related to its own. - Individual agents are not necessarily aware of
the global system state. - Purpose of coordination is to develop sufficient
awareness.
38Partial Global Planning
- Partial Global Planning involves 3 iterated
stages - Each agent decides what its own goals are and
generates short-term plans in order to achieve
them. - Agents exchange information to determine where
plans and goals interact. - Agents alter local plans in order to better
coordinate their own activities.
39Partial Global Planning
- Partial Global Plan a cooperatively generated
datastructure containing the actions and
interactions of a group of agents. - Contains
- Objective the larger goal of the system.
- Activity map what agents are actually doing and
the results generated by the activities. - Solution construction graph a representation of
how the agents ought to interact in order to
successfully generate a solution.
40Example
- Distributed Vehicle Monitoring Testbed (DVMT).
- Aims to successfully track a number of vehicles
that pass within the range of a set of
distributed sensors (agents). - Each agent monitors a dedicated area
- There could beoverlapping areas
41AOSE
42Multi-Agent Planning
- Agents generate, exchange and synchronise
explicit plans of actions to coordinate their
joint activity. - They arrange apriori precisely which tasks each
agent will take on. - Plans specify a sequence of actions for each
agent. - It is a trade-off between specificity and
reactivity.
43Multi-Agent Planning Techniques
- Centralised Planning
- Plans of individual agents analysed by a central
coordinator to identify interactions. - Coordinator maintains a single global plan.
- Minimizes the potential for conflict
- Distributed Planning
- Agents pass individual plans and check for
coordination opportunities. - Each agent maintains and manages its own plan.
- No global view conflict can occur
44Multi-Agent Planning Example
- e.g. Air traffic control domain (Cammarata)
- Aim Enable each aircraft to maintain a flight
plan that will maintain a safe distance with all
aircrafts in its vicinity. - Each aircraft send a central coordinator
information about its intended actions. - The coordinator builds a plan which specifies all
of the agents actions including the ones that
they should take to avoid collision. - What if we used a distributed planning approach?
45Multi-Agent Planning
- Critique
- Agents share and process a huge amount of
information. - Requires lots of computing and communication
resources. - Centralised approaches introduce a single point
of failure. - Sometimes Plans can also become obsolete very
quickly
46AOSE
47Negotiation
- The process of several agents searching for an
agreemente.g. about price. - Reaching consensus
Rules of Encouter by Rosenchein and Zlotskin,
1994
48Auctions
- An Auction takes place between an auctioneer and
a collection of bidders. - Goal is for the auctioneer to allocate the goods
to one of the bidders. - In most settings, the auctioneer desires to
maximise the price bidders desire to minimise
the price.
49..Selecting a Bid
50Auction Parameters
51English Auctions
- English auctions are
- First price
- Open cry
- Ascending
- Dominant strategy successively bid a small
amount more than the highest current bid until it
reaches the valuation, then withdraw. - Susceptible to Winners curse
- Winner is the one who overvalues the goods on
offer and may end up paying more than its worth.
52English Auctions
53Dutch Auctions
- Dutch auctions are
- Open cry
- Descending
- Auctioneer starts at an artificially high price.
- Then continually lowers the offer price until an
agent makes a bid which is equal to the current
offer price. - Dominant strategy None
- Susceptible to Winners curse
54Dutch Auctions
55First-price Sealed-bid Auctions
- One shot auction
- Single round, where bidders submit a sealed-bid
for the good. - Good is awarded to agent that made the highest
bid. - Winner pays price of highest bid.
- Best strategy bid less than true value.
56Vickrey Auctions
- Vickrey auctions are
- second-price
- sealed-bids
- Goods are awarded to agent that made the highest
bid. - Winner pays price of second highest bid.
- Best strategy bid the true value.
- Susceptible to anti-social behaviour
57Lies and Collusions
- Lies
- By the bidders (e.g. In Vickrey auctions)
- By the auctioneer (shills, in Vickrey auction)
- Collusion of bidders
- Coalition of bidders where they agree beforehand
to put forward artificially low bids for the good
on offer. - When the good is obtained, the bidders can then
get the true value of the good and share the
profits.
58Towards Negotiation
- Auctions have a number of limitations
- Only concerned with the allocation of goods
- Not adequate for settling agreements that
concerns matters of mutual interest. - Negotiation covers far more than this!
- It may involve
- Exchange of information
- Relaxation of initial goals
- Mutual concession
59Negotiation Example 1
- Consider two companies A and B decide to form an
alliance to develop a software product for the
shipbuilding industry. - Company A has the shipbuilding market and
knowledge in that domain. - Company B is a software company that specialises
in CAD systems and CAE. - They negotiate to agree upon
- the financial assets,
- the skills and technology contributed by each
company, - how much of the new product each company will
own, and - who will market the product and provide
first-line support for the product.
60Negotiation Example 2
- Consider two agents, each controlling a
telecommunications network with associated
resources such as - communication lines,
- microwave links,
- routing computers, and
- short and long-term storage devices.
- The load that each agent has to handle varies
over time. - The agents negotiate about resource sharing.
61Mechanisms, Protocols, Strategies
- Negotiation is governed by a mechanism or a
protocol - defines the rules of encounter between the
agents - the public rules by which the agents will come to
agreements. - Given a particular protocol, how can a particular
strategy be designed that individual agents can
use?
62Mechanisms Design
- Mechanism design is the design of protocols for
governing multi-agent interactions. - Desirable properties of mechanisms are
- Convergence/guaranteed success
- Maximising social welfare
- Pareto efficiency
- Individual rationality
- Stability
- Simplicity
- Distribution
63Negotiation Components
- Any negotiation setting will have 4 components
- Negotiation set represents the space of possible
proposals that agents can make - Protocol defines the legal proposals that agents
can make - Collection of strategies (one for each agent)
determines what proposals the agent will make - Rule to determine when an agreement has been
reached
64Negotiation Process 1
- Negotiation usually proceeds in a series of
rounds, with every agent making a proposal at
every round. - Communication during negotiation
65Negotiation Process 2
- Another way of looking at the negotiation process
is
66Complexity of Negotiations
- Some attributes that make the negotiation process
complex are - Multiple attributes
- Single attribute (price) symmetric scenario.
- Multiple attributes several inter-related
attributes, e.g. buying a car. - The number of agents and the way they interact
- One-to-one, e.g. single buyer and single seller.
- Many-to-one, e.g. multiple buyers and a single
seller, auctions. - Many-to-many, e.g. multiple buyers and multiple
sellers.
67Monotonic Concession Protocol
- Negotiation proceeds in rounds
- On round 1, agents simultaneously propose a deal
from the negotiation set. - Agreement is reached if one agent finds that the
deal proposed by the other agent is at least as
good or better than its proposal.
68Monotonic Concession Protocol
- If no agreement is reached, then negotiation
proceeds to another round of simultaneous
proposals. - In round u1, no agent is allowed to make a
proposal that is less preferred by the other
agent than the deal proposed at time u. - If neither agent concedes, then negotiation
terminates with a conflict deal.
69Monotonic Concession Protocol
- Advantages
- Symmetrically distributed (no agent plays a
special role) - Ensures convergence
- It will not go on indefinitely
- Disadvantages
- Agents can run into conflicts
- Inefficient no quarantee that an agreement will
be reached quickly
70Key Questions
- 3 key questions to be answered
- What should an agents first proposal be?Its
most preferred deal. - On any given round, who should concede?The agent
least willing to risk conflict. - If an agent concedes, then how much should it
concede?Just enough to change the balance of
risk.
71The Risk Factor
- One way to think about which agent should concede
is to consider how much each has to loose by
running into conflict at that point.
Maximum loss from conflict
How much am I willing to risk a conflict?
Maximum loss from concession
Conflict deal
Ai best deal
Aj best deal
72The Zeuthen Strategy
- Uses the risk evaluation strategy
- Suppose you have conceded a lot. Then
- Your proposal is now close to conflict deal.
- You are more willing to risk conflict.
- An agent will be more willing to risk conflict if
the difference in utility between its current
proposal and the conflict deal is low. - Degree of willingness to risk a conflict can be
defined as -
- utility i loses by conceding and accepting js
offerutility i loses by not conceding and
causing conflict
Riskti
73About MCP and Zeuthen Strategies
- Advantages
- Simple and reflects the way human negotiations
work. - Stability in Nash equilibrium if one agent is
using the strategy, then the other can do no
better than using it him/herself. - Disadvantages
- Computationally expensive players need to
compute the entire negotiation set. - Communication burden negotiation process may
involve several steps.
74Summary
- Agent Communication Languages make coordination
and negotiation possible. - Coordination is about managing the
interdependencies between the activities of the
agents. - Negotiation is about reaching a consensus between
agents. - These techniques provide a basis for allowing
agents to dynamically cooperate and collaborate
in order to achieve tasks that are beyond their
individual capabilities.