MAS course - Lect 9

65
LECTURE 9: Cooperation in MAS (III): voting, coalition formation Artificial Intelligence II – Multi-Agent Systems Introduction to Multi-Agent Systems URV, Winter-Spring 2010

description

 

Transcript of MAS course - Lect 9

Page 1: MAS course - Lect 9

LECTURE 9: Cooperation in MAS (III): voting, coalition formation

Artificial Intelligence II – Multi-Agent Systems

Introduction to Multi-Agent Systems

URV, Winter-Spring 2010

Page 2: MAS course - Lect 9

Outline of the lecture

Other kinds of cooperation in MASVoting mechanisms

Properties of social choice rulesPlurality / Binary / Borda / Condorcet

Coalition formationTask allocation via coalition formation

Page 3: MAS course - Lect 9

MAS

Cooperative Benevolent

Independent Self-interested

EmergentDiscrete Without communication -

Implicit

With communication -

Explicit

NegotiatorsDeliberative

Cooperation hierarchy [last lectures]

Partial Global Planning

Auctions

Contract Net

Reactive systems

VotingCoalition formation

Page 4: MAS course - Lect 9

Distributed Decision Making - Voting

Mechanism which chooses the outcome of a negotiation based on the inputs (votes) given by all agents to a set of competing optionsTruthful voters vote for the candidate they think is bestVoters are not always truthful

E.g. “useful vote” effect in politics: more than two candidates, and you are quite certain that your preferred candidate doesn’t have any chance

Page 5: MAS course - Lect 9

Aim of the negotiation: rank feasible social outcomes based on the individual ranking of those outcomes by each agent

A - set of n agentsO - set of m feasible outcomesEach agent i has a preference relation<i : O x O, asymmetric and transitive

Basic elements

Page 6: MAS course - Lect 9

Social choice rule

Input: the agents preference relations (<1 , …, <n )Output: elements of O sorted according to the input - gives the social preference relation <* of the agent groupIn other words – creates ordering for the group of alternatives, so that the most (socially) preferred alternative is chosen

Page 7: MAS course - Lect 9

Desirable properties of the social choice rule (I)

A social preference ordering <* should exist for all possible inputs <* should be defined for every pair of alternatives (o, o')∈O<* should be asymmetric and transitive over OThe outcomes should be Pareto efficient:

If ∀i ∈A, o <i o' then o <* o‘Do not misorder the options if all agents agree

Page 8: MAS course - Lect 9

Desirable properties of the social choice rule (II)

The scheme should be independent of irrelevant alternatives

Taking out/Adding an irrelevant alternative should not affect the winner of the vote

No agent i should be a dictator in the sense that o <i o' implies o <* o' regardless of the preferences of the other agents

Page 9: MAS course - Lect 9

Arrow's impossibility theorem-1951

No social choice rule satisfies all of the six conditions

E.g. in many cases an irrelevant alternative affects the outcome of the voting protocol

Some of the constraints must be relaxedWe may not require <* to be always definedWe may not require that <* is asymmetric and transitive Economy

Nobel Prize 1972

Page 10: MAS course - Lect 9

Voting mechanisms

Some voting mechanisms:Plurality protocol (highest number of votes wins)Binary protocol (series of votes of 2 options each)Borda protocol (sum of all the preferences of the agents)Condorcet protocol (pairwise comparison of options, given full preference ordering of each agent)

All the protocols are problematic in one sense or another

Page 11: MAS course - Lect 9

Plurality protocol

Each agent can give 1 vote to 1 of the alternativesThe alternative with the highest number of votes wins

Page 12: MAS course - Lect 9

Problems of plurality voting (I)

Useful voteQuite common effect of political polls45 % option A, 40% option B, 15% option CThe most socially preferred option is A => it should be the winner if all agents vote truthfullyThe agents that prefer option C know that they have no possibility to win, and most of them (80%) prefer option B to option A => 80% vote for B and 20% for A

A: 48% B: 52%, and B finally wins

Page 13: MAS course - Lect 9

Problems of plurality voting (II)

Huge effect of irrelevant alternative2 basic options, A and B, around 50% eachAnother –very minoritary option- C appears, attracting 1% of the voters of AA: 49% B:50% C:1% and B wins

Loss of information about the preferences of each voter

Each agent can only give 1 vote, even if it considers 2-3-4 “good” alternatives

Page 14: MAS course - Lect 9

Problems of plurality voting (III)

Strange effects42% A C B D26% B C D A17% D C B A15% C D B AA wins with 42% of the votes

58% of the voters preferred other options58% consider A the worst option100% consider C the 1st-2nd best option

Page 15: MAS course - Lect 9

Advantages of plurality voting

Most simple voting mechanismVery efficient from the computational point of viewEquality principle, as it preserves the idea of 1 agent = 1 vote

Page 16: MAS course - Lect 9

Binary protocol

All the options are ordered and then evaluated in pairs (options 1 and 2, the winner with option 3, the winner with option 4, etc.)The option that wins the last evaluation is the overall winner

win(o5 , win (o4 , win (o3 , win(o2 ,o1 ))))

Page 17: MAS course - Lect 9

The ordering problemx > z > y (35%) y > x > z (33%)z > y > x (32%)Note that y is preferred to x (65-35), x is preferred to z (68-32), and z is preferred to y (67-33)

win(x, win(y,z))=xwin(y,win(x,z))=ywin(z, win(x,y))=z

The order of the pairings affects the outcome !The voter organiser may influence the resultThe last options have more chances of winning

Page 18: MAS course - Lect 9

Another problematic example

35% of agents have preferences

33% of agents have preferences

32% of agents have preferences

abdc fff

bdca fff

dcab fff

Win(a,c)=a Win(a,b)=b Win(b,d)=d => d Wins

• d was the worst alternative for 32%

• d was not the best alternative for anyone

• Everybody prefers c to d (!)

Page 19: MAS course - Lect 9

Summary of problems of binary voting

Decisive role of the ordering of the alternativesAn alternative x may win even if there is another alternative x’ which is preferred to xby all agents

Alternatives may be misorderedTemporal cost of the voting process (sequence of pairwise eliminative votes)

Page 20: MAS course - Lect 9

Borda protocol-1770For each voter, we assign |O| points for the highest preference, |O|-1 points for the second, and so on

Example: one agent considers the order ABCDA:4 points, B:3 points, C:2 points, D:1 point

The points are added across the voters and the alternative with the highest count becomes the social choice [similar to Eurovision song contest]

Page 21: MAS course - Lect 9

Borda paradox

a > b > c > d b > c > d > ac > d > a > ba > b > c > db > c > d > ac > d > a > ba > b > c > d

a=18, b=19, c=20, d=13

If the worst alternative –d- is removeda > b > c b > c > ac > a > ba > b > cb > c > ac > a > ba > b > ca=15, b=14, c=13

Page 22: MAS course - Lect 9

Inverted-order paradox

Borda protocol with 4 alternativesx=22, a=17, b=16, c=15Order: xabc

If we remove x: c=15, b=14, a=13The second one is c, not a

1. x > c > b > a2. a > x > c > b3. b > a > x > c4. x > c > b > a5. a > x > c > b6. b > a > x > c7. x > c > b > a

1. c > b > a2. a > c > b3. b > a > c4. c > b > a5. a > c > b6. b > a > c7. c > b > a

Page 23: MAS course - Lect 9

Problems of the Borda protocol

Most computationally expensiveThe Eurovision Song Contest is endless …

Eliminating one irrelevant alternative may totally change the outcome of the protocol

Winner => LastSecond worst => Winner

Total order changes if options are removed one by one

Page 24: MAS course - Lect 9

Condorcet protocol-s.XVIII

Each voter ranks the candidates in order of preferenceEach candidate is compared to each otherIf a candidate wins all the comparisons, it is the winner of the electionIn the event of a tie, use another resolution method (e.g. Borda count)

Page 25: MAS course - Lect 9

Example (I)

Election of the capital city of TennesseeEverybody prefers to have the capital as close as possible

Page 26: MAS course - Lect 9

Example (II)

Nashville wins

Page 27: MAS course - Lect 9

Problem of Condorcet method

Possibility of circular ambiguitiesNo alternative wins all other alternativesThere are many ways to resolve them

Keep the candidate that wins more matches(Copeland)Take into account the relative strengths of defeats(Minimax, Ranked Pairs, Schulze, …)

Can look at the winning votes or at the winning margin

Page 28: MAS course - Lect 9

Example of influence of protocol (I)

45 ABCD, 25 CDBA, 20 DBCA, 10 DCBA

Plurality protocol: A-45 B-0 C-25 D-30A wins quite clearly, B has no votesHowever, note that 55% say that A is the worst option (!)

Page 29: MAS course - Lect 9

Example of influence of protocol (II)

45 ABCD, 25 CDBA, 20 DBCA, 10 DCBAPairwise comparisons

A loses with B,C and DB wins C, C wins D, D wins B

Binary protocolA can never win (!)Order ABCD: D winsOrder BDAC: C winsOrder CDBA: B wins

Page 30: MAS course - Lect 9

Example of influence of protocol (III)

45 ABCD, 25 CDBA, 20 DBCA, 10 DCBACondorcet protocol: no option beats all the others, and B/C/D tied with 2 victoriesBorda protocol

A: 235 B: 265 C:260 D:240B wins (although all the options get similar values)B is not the first option for anyone !!!B is a good consensual option (2nd for 65%, 3rd for 35%), whereas A was very problematic (45% very positive support, but 55% very negative support)Recall that B had 0 votes in the plurality protocol (!)

Page 31: MAS course - Lect 9

Insincere (Strategic) Voters

If a self-interested agent can benefit from insincerely declaring his preferences, he will do so

E.g. Suppose your choice will likely come in second place. If you rank the first choice of the rest of the group (insincerely) very low, you may lower that choice enough so yours is first

However, knowledge of the agent’s true preferences is rarely available

Page 32: MAS course - Lect 9

Coalition formation

Page 33: MAS course - Lect 9

What is a Coalition?

Coalitions are (temporary) collections of individuals working together for the purpose of achieving a taskCoalition formation is the process whereby an agent decides to cooperate with other agents, because

The task cannot be performed by a single agentThe task can be performed more efficiently by several agents working together

Page 34: MAS course - Lect 9

Interesting aspects of coalitions

Agents usuallybring different,complementarycapabilities to thecoalition – theyare not clones !

When the task is completed, the payoff is distributed, the coalition is disbanded and agents continue to pursue their own agendas

Page 35: MAS course - Lect 9

Issues in coalition formationGiven a set of tasks and a set of agents, which coalitions should an agent attempt to form?What mechanism can an agent use for coalition formation?What guarantees regarding efficiency and quality can the mechanism provide?One a coalition has formed, how should its members go about the distribution of work/payoff?

Page 36: MAS course - Lect 9

Solution types

Mechanisms for benevolent agents are usually much simpler than those for self-interested agentsA centralised design of coalitions is usually much simpler to execute than a distributedoneCoalition formation may be external or internal

Page 37: MAS course - Lect 9

External coalition formation

By imposition: an external agency makes decisionsAgents advertise skills (capabilities) and prices (cost)Requestor defines properties of coalition to the external agencyExternal process computes optimal coalition

Page 38: MAS course - Lect 9

Internal coalition formation

By self-organisation: coalitions are established by group interactionsMulti-lateral negotiationIdentification of tasks to be solved

Can be static (given by the user at the beginning) or dynamic (generated by the own agents at run-time)

Negotiation of outcomes (self-interested agents)

Page 39: MAS course - Lect 9

Coalition formation activities

Coalition structure generationOptimizing coalition value

Pooling the resources of the agents to maximize the coalition value

Payoff distributionDeciding how to distribute the payoff between coalition members (equally, outputs, role)

Page 40: MAS course - Lect 9

Coalition structure generationPartition into exhaustive [disjoint] coalitionsGiven 3 agents {a1, a2, a3}, there are seven possible coalitions

{a1}, {a2}, {a3}, {a1, a2}, {a1, a3}, {a2, a3}, {a1, a2, a3}and five coalition structures{a1, a2, a3}, {{a1}, {a2, a3}}, {{a2}, {a1, a3}}, {{a3}, {a1, a2}}, {{a1}, {a2}, {a3}}It may not be necessary or appropriate to generate all coalition structures in advance, depending on the application domain

Page 41: MAS course - Lect 9

Task allocation via coalition formation

There is a set of tasks that have to be distributed among a group of agentsEach task has a certain set of requirements, and each agent has a certain set of capabilitiesThe aim is to find the optimal distribution of tasks to subgroups of agents

Page 42: MAS course - Lect 9

Definitions (I)A set of n agents: N={A1,A2,...,An}Each agent Ai has a positive vector of capabilities

Bi=<bi1,...,bi

r>Each capability is a property that quantifies the agent’s ability in some aspectCapabilities may be expendable (e.g. amount of memory) or non-expendable (e.g. ability to perform an action)There is an evaluation function for each capability, that transforms it into monetary units

Page 43: MAS course - Lect 9

Definitions (II)

Set of m independent tasks T={t1, …, tm}There is a vector of capabilities needed to perform each task tl, Bl={bl

1, …, blr}

The benefit gained from performing each task depends on the capabilities required for its performance

To simplify the problem, it can be a linear function on the amount of resources

Page 44: MAS course - Lect 9

Simplifying conditions on coalitionsA coalition is a group of agents that decide to cooperate to achieve a common taskA coalition can work on a single task at a timeEach agent only belongs to one coalitionA coalition C has a vector of capabilities Bc(sum of the capabilities of the agents in the coalition)A coalition C can perform a task t iff

for all 1<=i<=r bti <= bC

i

Page 45: MAS course - Lect 9

Coalitional cost

For each coalition C and specific task t, it is possible to calculate the coalitional value V, that measures the joint utility that the members of C can reach if they cooperate to satisfy t. This value depends on the capabilities contributed by the team members and the number of coalition membersThe coalitional cost c is the reciprocal of the coalitional valueThe aim is maximising the coalitional value (i.e. minimising the cost)

Page 46: MAS course - Lect 9

Task allocation process

Heuristic: prefer small-sized coalitions, to reduce communication and coordination costs

Maximum coalitional size allowed: kInitial coalitional state: n single agentsStep by step, formation of coalitions

1 new coalition in each iterationWhen an agent joins a coalition, it quits the coalition formation process

Page 47: MAS course - Lect 9

Algorithm of task allocation

Preliminary stage: all possible coalitions are distributed among all agents

Collective, not centralised processIterative stage:

Coalitional values (for each pair –coalition,task-) are (re)calculatedOne coalition C is formedAgents in coalition C quit the coalition formation process

Page 48: MAS course - Lect 9

Stage 1: initial calculations of agent Ai (I)

Li = empty_setThis list will contain, at the end of stage 1, the coalitions whose value agent i will have to calculate

Pi = all permutations up to k agents containing agent i

Those are all the possible coalitions in which agent i could participate

Page 49: MAS course - Lect 9

Stage 1: initial calculations of agent Ai (II)For each permutation in Pi do

Contact agent j, which is in the permutation (i.e. j is in some possible coalition(s) with i)In the first contact, request capabilities BjCommit to calculate the value of some of the coalitions including i and j = SijPi = Pi – SijLi = Li + Sij

End_for

[at the same time]For each agent k that contacts i, Pi = Pi – Ski

Page 50: MAS course - Lect 9

Example (I)

4 agents: A1, A2, A3, A4

Maximum number of coalition members: 3 (k)Possible coalitions for A1 (P1): {A1 }, {A1 , A2 }, {A1 , A3 }, {A1 , A4 }, {A1 , A2 , A3 }, {A1 , A2 , A4 }, {A1 , A3 , A4 }

Coalitions with A2 = {A1 , A2 }, {A1 , A2 , A3 }, {A1 , A2 , A4 }

Page 51: MAS course - Lect 9

Example (II)

A1 contacts A2, requests B2 and commits to calculate S12 = { {A1, A2}, {A1, A2, A3} }The coalitions in S12 are added to L1 and deleted from P1

Agent 2 deletes S12 from P2

[ Later, delete from P1 the coalitions commited by agent 2, S21 ]Similar process with agents A3 and A4

Page 52: MAS course - Lect 9

End of stage 1

All the agents have (collectively) distributed all possible coalitionsEach agent i has a list Li of coalitions whose value it has to (repeatedly) calculate

Page 53: MAS course - Lect 9

Stage 2a: calculate coalitional values (I)Li

cr = Li (in the first iteration) For each coalition C in Li

cr doEc = empty setBc = sum(Bk) for all agents k in C[potential capability of coalition C]For each pending task tj, do

Check if coalition C can do task tj (Bc >= Bj)If it can, calculate the net benefit of tj for C, ejej = sum of market value of capabilities needed in tj

– sum of the capabilities costs – internal coordination costs

Ec = Ec + {(tj , ej )}End for

Page 54: MAS course - Lect 9

Stage 2a: calculate coalitional values (II)Ec contains the benefits that coalition C can gain from each of the tasks it is capable of performing(tcbest, Vc ) = max-value(Ec ) Coalitional value of C and its related taskcc = 1 / Vc Coalitional cost of CEnd for

At the end of this step, each agent has calculated the best coalitional value/cost for each coalition, and it knows the most profitable task for each coalition

Page 55: MAS course - Lect 9

Example (IIIa)

Following the previous example, assume that L1 = { {A1, A2}, {A1, A3}, {A1, A2, A3}, {A1, A3, A4}}A1 calculates the best value (and cost) of each coalition in L1

V12, V13, V123, V134

c12, c13, c123, c134

Page 56: MAS course - Lect 9

Example (IIIb)How is V134 calculated?Assume there are 3 possible tasks

The coalition {1,3,4} can make task 1, with a net benefit 50The coalition {1,3,4} can’t make task 2The coalition {1,3,4} can make task 3, with a net benefit 35

Thus, the coalitional value of the coalition {1,3,4} (V134) is 50, and its coalitional cost c134 is 0.02If this coalition is formed in this iteration, it will be assigned task 1

Page 57: MAS course - Lect 9

Stage 2b: form one coalition (I)

The weight wi of a coalition Ci is defined as wi = ci / |Ci |

Ci = coalition of Li with minimum weightBest coalition for agent i

Each agent announces publicly the weight of its best coalitionwlow = minimum of the announced weights

Best coalition for all agents [Clow , tlowbest]

Page 58: MAS course - Lect 9

Stage 2b: form one coalition (II)

If I am an agent in Clow, join the other agents in Clow to perform task tlow

best

Delete the members of Clow from the list of candidates to future coalitionsLi = Li – coalitions with agents in ClowT = T – tlow

best

Licr = coalitions of Li whose value has to be

recalculatedThose coalitions whose previous best value was making tlow

best

Page 59: MAS course - Lect 9

Example (IV)Following the previous example, A1 calculates the weights of its coalitionse.g. w12 = c12 / 2 ; w134 = c134 / 3

A1 sends its best weight (e.g. w12), and receives the best weigths calculated by agents A2, A3 and A4

After that, all agents know who has found the best coalitione.g. w12 is the minimum => the best coalition is {A1 ,A2 }

Page 60: MAS course - Lect 9

Example (V)

Agents A1 and A2 join together to perform the task t12

best (A1 knows which task it is)These agents quit the coalition formation processIn this example, in the next iteration, agents A3 and A4 would calculate their possibilities of coalition, with respect to the pending tasks, and would decide whether to join or not

Page 61: MAS course - Lect 9
Page 62: MAS course - Lect 9

Ideas for the practical exercise (I)

VotingDifferent firemen could vote which fire to fight if they want to attack always together to join forces to stop fires as soon as possibleThe vote of each firetruck could depen on its actual position, the position of the fires, its actual state (idle, in route to a fire, attacking a fire), its charge of fuel, etc.

Page 63: MAS course - Lect 9

Ideas for the practical exercise (II)

Coalition formation (I)The fires on the city could be the pending tasks. The firetrucks could decide how to join in subgroups (coalitions) to fight each of the firesSame ideas for policemen/roads, or ambulances/buildings with wounded people

Page 64: MAS course - Lect 9

Ideas for the practical exercise (III)

Coalition formation (II)Another idea could be to make a coalition of some firetrucks, police cars and ambulances for each of the buildings on fire.

The working groups of the course are encouraged to use different coordination mechanisms for the different elements of the problem (e.g. to use a Contract Net protocol to assign ambulances and a voting mechanism to assign firetrucks).

Page 65: MAS course - Lect 9

Readings for this week

Article “Methods for task allocation via agent coalition formation”. Shehory, Kraus.Chapters 12 and 13 of the book by M.Wooldridge “An introduction to MultiAgent Systems” (2nd edition).Chapter 9 of the book by M.Fasli “Agent technology for e-commerce”.