Cooperative Games Based on the book and slides by Chalkiadakis, Elkind and Wooldridge.

Slides:



Advertisements
Similar presentations
A Short Tutorial on Cooperative Games
Advertisements

Price Of Anarchy: Routing
An Introduction to Computational Complexity Edith Elkind IAM, ECS.
C&O 355 Mathematical Programming Fall 2010 Lecture 22 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A.
Manipulation, Control, and Beyond: Computational Issues in Weighted Voting Games Edith Elkind (U. of Southampton) Based on joint work with: Y.Bachrach,
Agent Failures in Totally Balanced Games and Convex Games Authors: Yoram Bachrach 1 Ian Kash 1 Nisarg Shah 2 (speaker) 1 Microsoft Research Cambridge.
An Approximate Truthful Mechanism for Combinatorial Auctions An Internet Mathematics paper by Aaron Archer, Christos Papadimitriou, Kunal Talwar and Éva.
Effort Games and the Price of Myopia Michael Zuckerman Joint work with Yoram Bachrach and Jeff Rosenschein.
Introduction to Algorithms
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
Algorithmic aspects of the core in cooperative games over graphs Vangelis Markakis Athens University of Economics and Business Dept. of Informatics Joint.
Negotiating a stable distribution of the payoff among agents may prove challenging. The issue of coalition formation has been investigated extensively,
Seminar In Game Theory Algorithms, TAU, Agenda  Introduction  Computational Complexity  Incentive Compatible Mechanism  LP Relaxation & Walrasian.
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
Cooperative/coalitional game theory Vincent Conitzer
Cooperative Weakest Link Games Yoram Bachrach, Omer Lev, Shachar Lovett, Jeffrey S. Rosenschein & Morteza Zadimoghaddam CoopMAS 2013 St. Paul, Minnesota.
Yoram Bachrach Jeffrey S. Rosenschein November 2007.
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
Overlapping Coalition Formation: Charting the Tractability Frontier Y. Zick, G. Chalkiadakis and E. Elkind (submitted to AAMAS 2012)
Cooperative/coalitional game theory A composite of slides taken from Vincent Conitzer and Giovanni Neglia (Modified by Vicki Allan) 1.
Prisoners Dilemma rules 1.Binding agreements are not possible. Note in Prisoners dilemma, if binding agreements were possible, there would be no dilemma.
Taxation and Stability in Cooperative Games Yair Zick Maria Polukarov Nick R. Jennings AAMAS 2013.
Learning Cooperative Games Maria-Florina Balcan, Ariel D. Procaccia and Yair Zick (to appear in IJCAI 2015)
Cooperative/coalitional game theory A composite of slides taken from Vincent Conitzer and Giovanni Neglia (Modified by Vicki Allan) 1.
Totally Unimodular Matrices Lecture 11: Feb 23 Simplex Algorithm Elliposid Algorithm.
Path Disruption Games (Cooperative Game Theory meets Network Security) Yoram Bachrach, Ely Porat Microsoft Research Cambridge.
Computing Shapley Values, Manipulating Value Distribution Schemes, and Checking Core Membership in Multi-Issue Domains Vincent Conitzer and Tuomas Sandholm.
NP-Complete Problems Reading Material: Chapter 10 Sections 1, 2, 3, and 4 only.
Approximation Algorithms
Coalition Structures in Weighted Voting Games Georgios Chalkiadakis Edith Elkind Nicholas R. Jennings.
Arbitrators in Overlapping Coalition Formation Games
Computing the Banzhaf Power Index in Network Flow Games
Cooperative/coalitional game theory A composite of slides taken from Vincent Conitzer and Giovanni Neglia (Modified by Vicki Allan) 1.
Group Strategyproofness and No Subsidy via LP-Duality By Kamal Jain and Vijay V. Vazirani.
Toward NP-Completeness: Introduction Almost all the algorithms we studies so far were bounded by some polynomial in the size of the input, so we call them.
Computational aspects of stability in weighted voting games Edith Elkind (NTU, Singapore) Based on joint work with Leslie Ann Goldberg, Paul W. Goldberg,
Collusion and the use of false names Vincent Conitzer
Overlapping Coalition Formation: Charting the Tractability Frontier Y. Zick, G. Chalkiadakis and E. Elkind (AAMAS 2012)
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
The Theory of NP-Completeness 1. What is NP-completeness? Consider the circuit satisfiability problem Difficult to answer the decision problem in polynomial.
Graph Coalition Structure Generation Maria Polukarov University of Southampton Joint work with Tom Voice and Nick Jennings HUJI, 25 th September 2011.
1 The Theory of NP-Completeness 2012/11/6 P: the class of problems which can be solved by a deterministic polynomial algorithm. NP : the class of decision.
Computational problems associated with a solution concept Why we need the compact representation of coalitional games Compactly-represented coalitional.
Bounding the Cost of Stability in Games with Restricted Interaction Reshef Meir, Yair Zick, Edith Elkind and Jeffrey S. Rosenschein COMSOC 2012 (to appear)
Linear Programming Data Structures and Algorithms A.G. Malamos References: Algorithms, 2006, S. Dasgupta, C. H. Papadimitriou, and U. V. Vazirani Introduction.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
1 The Theory of NP-Completeness 2 Cook ’ s Theorem (1971) Prof. Cook Toronto U. Receiving Turing Award (1982) Discussing difficult problems: worst case.
Complexity of Determining Nonemptiness of the Core Vincent Conitzer, Tuomas Sandholm Computer Science Department Carnegie Mellon University.
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
NP-COMPLETE PROBLEMS. Admin  Two more assignments…  No office hours on tomorrow.
Manipulating the Quota in Weighted Voting Games (M. Zuckerman, P. Faliszewski, Y. Bachrach, and E. Elkind) ‏ Presented by: Sen Li Software Technologies.
Algorithmic Game Theory and Internet Computing Vijay V. Vazirani Georgia Tech Primal-Dual Algorithms for Rational Convex Programs II: Dealing with Infeasibility.
2) Combinatorial Algorithms for Traditional Market Models Vijay V. Vazirani.
NP-completeness NP-complete problems. Homework Vertex Cover Instance. A graph G and an integer k. Question. Is there a vertex cover of cardinality k?
11 The Cost of Stability in Network Flow Games Ezra Resnick Yoram Bachrach Jeffrey S. Rosenschein.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
Approximation Algorithms based on linear programming.
The Shapley Value The concept of the core is useful as a measure of stability. As a solution concept, it presents a set of imputations without distinguishing.
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
Optimization and Stability in Games with Restricted Interactions Reshef Meir, Yair Zick and Jeffrey S. Rosenschein CoopMAS 2012.
Coalitional Games on “Sparse” Social Networks Edith Elkind University of Oxford.
Dynamic Weighted Voting Games Edith Elkind Dmitrii Pasechnik Yair Zick AAMAS 2013.
Computing Shapley values, manipulating value division schemes, and checking core membership in multi-issue domains Vincent Conitzer, Tuomas Sandholm Computer.
Cooperative Games Based on the book and slides by Chalkiadakis, Elkind and Wooldridge.
ICS 353: Design and Analysis of Algorithms NP-Complete Problems King Fahd University of Petroleum & Minerals Information & Computer Science Department.
Chapter 10 NP-Complete Problems.
Complexity of Determining Nonemptiness of the Core
CPS Cooperative/coalitional game theory
ICS 353: Design and Analysis of Algorithms
Presentation transcript:

Cooperative Games Based on the book and slides by Chalkiadakis, Elkind and Wooldridge

Overview Introduction – What is a coalitional game – examples Definitions The Core Representations of games Computational and algorithmic questions Examples in different types of games

Cooperative Games Cooperative games model scenarios, where – agents can benefit by cooperating – binding agreements are possible In cooperative games, actions are taken by groups of agents Transferable utility games: payoffs are given to the group and then divided among its members Non-transferable utility games: group actions result in payoffs to individual group members This class

Phases of Coalitional Action Agents form coalitions (teams) Each coalition chooses its action Transferable utility (TU) games: the choice of coalitional actions (by all coalitions) determines the payoff of each coalition – the members of the coalition then need to divide this joint payoff

Example 1: Buying Ice-Cream n children, each has some amount of money – the i-th child has b i dollars three types of ice-cream tubs are for sale: – Type 1 costs $7, contains 500g – Type 2 costs $9, contains 750g – Type 3 costs $11, contains 1kg children have utility for ice-cream, and do not care about money The payoff of each group: the maximum quantity of ice-cream the members of the group can buy by pooling their money The ice-cream can be shared arbitrarily within the group

Example 2: Search-and-Rescue by teams of robots n robots, each has a set of skills (climb, dig, etc.) Each rescue scenario requires a set of skills The value of a team of k robots, is the number of different rescue scenarios it can handle What is the best partition to teams? If robots are made by different companies, how much each company should get?

Example 3: Routing games Each agent controls an edge (or several edges) in a weighted flow graph Quantity version: The value of a coalition is the amount it can flow from source to target Threshold version: The value is 1 if the coalition can flow more than q, and 0 otherwise.

How Is a Cooperative Game Played? Even though agents work together they are still selfish The partition into coalitions and payoff distribution should be such that no player (or group of players) has an incentive to deviate We may also want to ensure that the outcome is fair: the payoff of each agent is proportional to his contribution (not on this class) We will now see how to formalize these ideas

Overview Introduction Definitions The Core Representations of games Computational and algorithmic questions Examples in different types of games

Transferable Utility Games Formalized A transferable utility game is a pair (N, v), where: – N ={1,..., n} is the set of players – v: 2 N → R is the characteristic function for each subset of players C, v(C) is the amount that the members of C can earn by working together – usually it is assumed that v is normalized: v(Ø) = 0 non-negative: v(C) ≥ 0 for any C ⊆ N monotone: v(C) ≤ v(D) for any C, D such that C ⊆ D A coalition is any subset of N; N itself is called the grand coalition

Ice-Cream Game: Characteristic Function C: $6, M: $4, P: $3 w = 500 w = 750 w = 1000 p = $7 p = $9 p = $11 v(Ø) = v({C}) = v({M}) = v({P}) = 0 v({C, M}) = 750, v({C, P}) = 750, v({M, P}) = 500 v({C, M, P}) = 1000

Transferable Utility Games: Outcome An outcome of a TU game G =(N, v) is a pair (CS, x), where: – CS =(C 1,..., C k ) is a coalition structure, i.e., partition of N into coalitions:  i C i = N, C i  C j = Ø for i ≠ j – x = (x 1,..., x n ) is a payoff vector, which distributes the value of each coalition in CS: x i ≥ 0 for all i  N  i  C x i = v(C) for each C is CS

Transferable Utility Games: Outcome Example: – suppose v({1, 2, 3}) = 9, v({4, 5}) = 4 – then (({1, 2, 3}, {4, 5}), (3, 3, 3, 3, 1)) is an outcome – (({1, 2, 3}, {4, 5}), (2, 3, 2, 3, 3)) is NOT an outcome: transfers between coalitions are not allowed An outcome (CS, x) is called an imputation if it satisfies individual rationality: x i ≥ v({i}) for all i  N Notation: we will denote  i  C x i by x(C)

Superadditive Games Definition: a game G = (N, v) is called superadditive if v(C U D) ≥ v(C) + v(D) for any two disjoint coalitions C and D Example: v(C) = |C| 2 : – v(C U D) = (|C|+|D|) 2 ≥ |C| 2 +|D| 2 = v(C) + v(D) In superadditive games, two coalitions can always merge without losing money; hence, we can assume that players form the grand coalition N In this class: will consider (almost) only SA games

Superadditive Games Convention: in superadditive games, we identify outcomes with payoff vectors for the grand coalition – i.e., an outcome is a vector x = (x 1,..., x n ) with  i  N x i = v(N) Caution: some GT/MAS papers define outcomes in this way even if the game is not superadditive Any non-superadditive game G = (N, v) can be transformed into a superadditive game G SA = (N, v SA ) by setting v SA (C) = max (C 1,..., C k )  P(C)  i = 1,..., k v(C i ), where P(C) is the space of all partitions of C G SA is called the superadditive cover of G

Overview Introduction Definitions The Core Representations of games Computational and algorithmic questions Examples in different types of games

What Is a Good Outcome? C: $4, M: $3, P: $3 v(Ø) = v({C}) = v({M}) = v({P}) = 0 v({C, M}) = 500, v({C, P}) = 500, v({M, P}) = 0 v({C, M, P}) = 750 This is a superadditive game – Grand coalition is formed (buy the medium pack) – outcomes are payoff vectors How should the players share the ice-cream? – if they share as (200, 200, 350), Charlie and Marcie can get more ice-cream by buying a 500g tub on their own, and splitting it equally – the outcome (200, 200, 350) is not stable!

Definition: the core of a game is the set of all stable outcomes, i.e., outcomes that no coalition wants to deviate from core(G) = { x |  i  C x i ≥ v(C) for any C ⊆ N} – each coalition earns at least as much as it can make on its own Transferable Utility Games: Stability

Ice-Cream Game: Core C: $4, M: $3, P: $3 v(Ø) = v({C}) = v({M}) = v({P}) = 0, v({C, M, P}) = 750 v({C, M}) = 500, v({C, P}) = 500, v({M, P}) = 0 (200, 200, 350) is not in the core: – v({C, M}) > x C + x M (250, 250, 250) is in the core: – no subgroup of players can deviate so that each member of the subgroup gets more (750, 0, 0) is also in the core: – Marcie and Pattie cannot get more on their own!

Games with Empty Core The core is a very attractive solution concept However, some games have empty cores G = (N, v) – N = {1, 2, 3}, v(C) = 1 if |C| > 1 and v(C) = 0 otherwise – consider an outcome x – x i > 0 for some i, so x(N\{i}) < 1, yet v(N\{i}) = 1 There are also other ways to define stable solutions – this class will focus on the core

Computational Issues in Coalitional Games Problem 1: the naive representation of a coalitional game is exponential in the number of players n – need to list values of all coalitions Problem 2: We are usually interested in algorithms whose running time is polynomial in n – Checking stability  go over 2 n coalitions So what can we do?

Overview Introduction Definitions The Core Representations of games – Representation types – Simple games – Characterization of the core Computational and algorithmic questions Examples in different types of games

How to Deal with Representation Issues? Strategy 1: oracle representation – assume that we have a black-box poly-time algorithm that, given a coalition C ⊆ N, outputs its value v(C) – Useful for proofs on general games Strategy 2: restricted classes – consider games on combinatorial structures – Examples: Routing games, Rescue teams – problem: not all games can be represented in this way Strategy 3: give up on worst-case succinctness – devise complete representation languages that allow for compact representation of interesting games – Not covered in this class

Simple Games Definition: a game G = (N, v) is simple if – v(C)  {0, 1} for any C ⊆ N – v is monotone: if v(C) = 1 and C ⊆ D, then v(D) = 1 – Example: threshold routing games A coalition C in a simple game is said to be winning if v(C) = 1 and losing if v(C) = 0 Definition: in a simple game, a player i is a veto player if v(C) = 0 for any C ⊆ N\{i} – For monotone games, equivalent to v(N\{i}) = 0 Theorem: a simple game has a non-empty core iff it has a veto player.

Simple Games: Characterization of the Core Proof (<=): – suppose i is a veto player – consider a payoff vector x with x i = 1, x k = 0 for k ≠ i – no coalition C can deviate from x: if i  C, we have  k  C x k = 1 ≥ v(C) if i  C, we have v(C) = 0 Proof (=>): – consider an arbitrary payoff vector x: – we have  k  N x k = v(N) = 1; thus x i > 0 for some i  N – but then some C ⊆ N\{i} can deviate: since i is not a veto, v(C) = 1, yet x(C) ≤ x(N\{i}) = 1 - x i < 1 i x i > 0 C

Overview Introduction Definitions The Core Representations of games Computational and algorithmic questions – Is a payoff vector x stable (in the core)? – Is the core empty? Examples in different types of games

Simple Games: Checking Non-Emptiness of the Core Corollary: in a simple game G, a payoff vector x is in the core iff x i = 0 for any non-veto player i – proved similarly Checking if a player i is a veto player in monotone games is easy – a single oracle access to compute v(N\{i}) Thus, in simple monotone games – checking non-emptiness of the core or – checking if a given outcome is in the core is easy given oracle access to the characteristic function

The core as a linear program An outcome x in the core of a superadditive game satisfies the following constraints: x i ≥ 0 for all i  N  i  N x i = v(N)  i  C x i ≥ v(C) for any C ⊆ N A linear feasibility program, with one constraint for each coalition: 2 n +n+1 constraints Suppose we have a poly-time algorithm A that can check if a given outcome is in the core and, if not, find a coalition that has an incentive to deviate – then we can solve this LP using A as a separation oracle

Superadditive Games: Approximating the core LFP for the core min  s.t. x i ≥ 0 for all i  N  i  N x i = v(N)  i  C x i ≥ v(C) for any C ⊆ N A minimization program, rather than a feasibility program – if we have an algorithm A defined in the previous slide, it can usually be modified to work for this LP -  LP for the least core

Complexity Upper Bounds Suppose we have an oracle access to the characteristic function v Easy observation: Deciding whether an outcome is in the core is in coNP: – to show that an outcome is not stable, it suffices to guess a coalition that can benefit from deviating (Hard) theorem: Checking if the core is empty is in NP

Overview Introduction Definitions The Core Representations of games Computational and algorithmic questions Examples in different types of games – Weighted voting games – Induced subgraph games – Routing (flow) games – Assignment games – Spanning tree games

Weighted Voting Games n parties in the parliament Party i has w i representatives A coalition of parties can form a government only if its total size is at least q – usually q ≥  i=1,..., n w i /2  + 1: strict majority Notation: w(C) =  i  C w i This setting can be described by a game G = (N, v), where – N = {1,..., n} – v(C) = 1 if w(C) ≥ q and v(C) = 0 otherwise Observe that weighted voting games are simple games Notation: G = [q; w 1,..., w n ] – q is called the quota

Weighted Voting Games: UK United Kingdom, 2005: – 650 seats, q = 326 – Conservatives (C): 196 – Labour (L): 354 – Liberal Democrats (LD): 62 – 8 other parties (O), with a total of 38 seats N = {C, L, LD, O} for any X ⊆ N, v(X) = 1 if and only if L  X L is a veto player, C, LD, and O are dummies

Weighted Voting Games as Resource Allocation Games Each agent i has a certain amount of a resource w i – time or money or battery power One or more tasks with a resource requirement q and a value V If a coalition has enough resources to complete the task (q or more units), it earns its value V, else it earns 0 – By normalization, can assume V = 1 If q <  i w i /2, grand coalition need not form – weighted voting games with coalition structures

Weighted Voting Games: Computational Aspects Computing the core/checking if an outcome is in the core: – Equivalent to check who are the veto players – Player i is veto, iff w(N\{i}) < q – Easy to compute

WVG and Simple Games WVGs are simple games Can every simple game be represented as a WVG? G = (N, v): – N = {1, 2, 3, 4} – v(C) = 1 iff C  {1, 3} ≠ Ø and C  {2, 4} ≠ Ø Suppose G = [q; w 1, w 2, w 3, w 4 ] w 1 + w 2 ≥ q, w 3 + w 4 ≥ q w 1 + w 2 + w 3 + w 4 ≥ 2q w 1 + w 3 < q, w 2 + w 4 < q w 1 + w 2 + w 3 + w 4 < 2q a contradiction!

Network Flow Games Agents are edges in a network with source s and sink t – edge e i has capacity c i Value of a coalition = amount of s–t flow it can carry – v({sa, at}) = 4, v({sa, at, st}) = 7 Thresholded network flow games (TNFG): there exists a threshold T such that – v(C) = 1 if C can carry ≥ T units of flow – v(C) = 0 otherwise TNFG with T = 6 – v({sa, at}) = 0, v({sa, at, st}) = 1 WVG are just simple TNFG! st a b

Players are vertices of a weighted graph Value of a coalition = total weight of internal edges – v(T) = x+y, v(S) = x+y+z+t Models social networks – Facebook, LinkedIn – cell phone companies with free in-network calls Induced Subgraph Games v T S x y zt

If all edge weights are non-negative, the core is non-empty – also, we can check in poly-time if a given outcome is in the core If weights can be negative, the game is not monotone – Theorem: Core is empty iff there is a negative cut – determining emptiness of the core is NP-complete Induced Subgraph Games: Complexity [Deng, Papadimitriou’94] G1G1 G2G2 G3G3

Assignment Games [Shapley & Shubik’72] Players are vertices of a bipartite graph (V, W, E) Value of a coalition = weight of the max-weight induced matching – v({x, y, z}) = 0, v({x, x’, y’}) = 3 Computing the core/nucleolus: – poly-time [Solymosi & Raghavan’94] Generalization: matching games – same definition, but the graph need not be bipartite – least core: poly-time [Faigle et al.’06] x y zz’ y’ x’

So far, we assumed that coalitions form to earn money Alternatively, they can form to share costs – v(C) ≤ 0 for all C ⊆ N Definitions of superadditivity, convexity, etc. need to be modified Example: minimum spanning tree games – players are vertices of a weighted graph with a distinguished vertex s – all players want to connect to s – edge weights represent costs – v(C) = -w(minimum spanning tree on C U {s}) – v({a}) = -3, v({a, b}) = - 5, v({a, b, c}) = Cost-Sharing Games ab c s

Minimum Spanning Tree Games: Complexity The core is always non-empty: build a minimum spanning tree and charge each agent the cost of the upstream link [Granot&Huberman’81] Yet, checking if an outcome is in the core is coNP-complete [Faigle et al.’97] Computing the value of the least core and the nucleolus is NP-hard [Faigle et al.’98]

Coalitional Skill Games [Bachrach&Rosenschein’08] Set of skills S = {s 1,..., s k } Set of agents N: agent i has a subset of skills S i ⊆ S Set of tasks T = {t 1,..., t m } – each task t j requires a subset of skills S(t j ) ⊆ S A skill set of a coalition C: s(C) = U i  C S i Tasks that C can perform: T(C) = {t j | S(t j ) ⊆ S(C)} Utility function u : 2 T → R – e.g., sum or max of values of individual tasks Characteristic function: v(C) = u(T(C))

Coalitional Skill Games: Expressiveness and Complexity Any monotone game can be expressed as a CSG: – given a game G = (N, v), we create a task t C and set u(t C ) = v(C) for any C ⊆ N – each agent i has a unique skill s i – t C requires the skills of all agents in C – set u(T’) = max { u(t) | t  T’ } – u(T(C)) = max {u(t D ) | D ⊆ C} = max {v(D) | D ⊆ C} = v(C) However, the representation is only succinct when the game is naturally defined via a small set of tasks [Bachrach&Rosenschein’08] discuss complexity of many solution concepts under this formalism

Synergy Coalition Games [Conitzer & Sandholm’06] Superadditive game: v(C U D) ≥ v(C) + v(D) for any two disjoint coalitions C and D Idea: if a game is superadditive, and v(C) = v(C 1 ) v(C k ) for any partition (C 1,..., C k ) of C (no synergy), no need to store v(C) Representation: list v({1}),... v({n}) and all synergies Succinct when there are few synergies This representation allows for efficient checking if an outcome is in the core. However, it is still hard to check if the core is non-empty.

Marginal Contribution Nets [Ieong&Shoham’05] Idea: represent the game by a set of rules of the form pattern → value – pattern is a Boolean formula over N – value is a number A rule applies to a coalition if its fits the pattern v(C) = sum of values of all rules that apply to C Example: R 1 : (1 ⋀ 2) ⋁ 5 → 3 R 2 : 2 ⋀ 3 → -2 v({1, 2}) = 3, v({2, 3}) = -2, v({1, 2, 3}) = 1