# Computational aspects of stability in weighted voting games - PowerPoint PPT Presentation Download Presentation Computational aspects of stability in weighted voting games

Computational aspects of stability in weighted voting games Download Presentation ## Computational aspects of stability in weighted voting games

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
##### Presentation Transcript

1. Computational aspects of stability in weighted voting games Edith Elkind (NTU, Singapore)Based on joint work with Leslie Ann Goldberg, Paul W. Goldberg, Michael Wooldridge, and Dmitrii Pasechnik

2. Cooperative vs. non-cooperative games • Non-cooperative games: • each player can choose an action • payoffs are determined by the action profile • Cooperative (coalitional) games: • players can form groups (coalitions) • payoff to a group determined by its composition • players have to share group payoff

3. Coalitional games: formal model • G = (N, v) • N={1, ..., n}: set of players • v: 2N→R:characteristic function • v(S): payoff available to S, has to be shared among members of S • p=(p1, ..., pn) is an imputation if • pi≥ 0 for i =1, ..., n • p(N) := Si in N pi = v(N)

4. Coalitional games with compact representations • Weighted voting games (subject of this talk): • G = (w1, ..., wn; T) • each player i has a weightwi • thresholdT • v(S)=1 if w(S) ≥ T, v(S)=0 otherwise • Network flow games: • players are edges of a network • value of a coalition = size of the flow it can carry • Minimum spanning tree games, matching games, etc.

5. Coalitional games: stability • Which imputations are stable? • no subset of players should want to deviate • Core: set of all stable imputations (p1, ..., pn) is in the core if p(S) ≥ v(S)for all S  N • Problem: core may be empty weighted voting game G=(1, 1, 1; 2) suppose wlog p1 > 0 then p({2, 3}) < 1v({2, 3}) = 1 recall: p(S) = SiS pi

6. When is the core non-empty? • Def: G=(N, v) is simple if v(S){0, 1} for all S • WVGs are simple games • Def: in a simple game, i is a veto player if v(S) = 0 for any S  N \ { i } • Claim: a simple game has a non-empty core iffthere is a veto player. Also, (p1, ..., pn) is in the core iffpi = 0 for all non-veto players pi > 0 S N

7. e-core and least core Need to relax the notion of the core: core: p(S) ≥ v(S) for all S  N e-core: p(S) ≥ v(S) - efor all S  N least core: smallest non-empty e-core • minimizing the worst deficit v(S) - p(S) G=(1, 1, 1; 2): • 1/3-core is non-empty: (1/3, 1/3, 1/3) 1/3-core • e-core is empty for any e < 1/3 • least core = 1/3-core

8. Can we compute the core, e-core and the least core of weighted voting games?

9. Computational issuesOur Results (E., Goldberg, Goldberg, Wooldridge, AAAI’07) • Given a WVG G = (w1, ..., wn; T) • Is the core non-empty? • poly-time: use the lemma • For a given e, is the e-core non-empty? • For a given e, is a given imputation p in the e-core? • Is a given imputation p in the least core? • Construct an imputation in the least core. • p reductions from Partition

10. Computational issues Given a WVG G = (w1, ..., wn; T) • Is the core non-empty? • poly-time: use the lemma • For a given e, is the e-core non-empty? • coNP-hard • For a given e, is a given imputation p in the e-core? • coNP-hard • Is a given imputation p in the least core? • NP-hard • Construct an imputation in the least core. • NP-hard reductions from Partition

11. A pseudopolynomial algorithm? • Hardness reduction from Partitionassumes large weights • recall: wi are given in binary, • poly-time algorithm <=> runs in time poly (n, log wmax) • What if weights are small? • e.g., at most poly(n)? • we are happy with algorithms that run in time poly (n, wmax)

12. LP for the least core minc p1+…+ pn = 1 pi≥ 0 for all i = 1, …, n SiJpi ≥ 1 - c for any J s.t. w(J) ≥ T linear program  exponentially many ineqs  Claim: least core = c-core

13. LPs and separation oracles • Separation oracle: • input: (p, c) • output: “yes” if (p, c) satisfies the LP, violated constraint otherwise • Fact: LPs with poly-time separation oraclescan be solved in poly-time. • Our case: given (p, c), is there a J with w(J) ≥ T, p(J) < 1-c? • reduces to Knapsack=> solvable in time poly (n, wmax) • Works for other problems listed above

14. An approximation algorithm • Back to large weights… • Theorem: suppose least core value = e Then for any d we can compute e’ s.t. e≤e’ ≤e(1+d)and e’-core is non-empty in time poly (n, log wmax, 1/d) (FPTAS) • Proof idea: use FPTAS for Knapsack inside the separation oracle

15. Approximating the least core minc p1+…+ pn = 1 pi≥ 0 for all i = 1, …, n • iJpi ≥ 1-c for any J s.t. w(J) ≥ T p1+…+ pn = 1 pi≥ 0 for all i = 1, …, n • iJpi ≥ kd for any J s.t. w(J) ≥ T LPk, k=1, ..., 1/d

16. LPk and the least core value p1+…+ pn = 1 pi≥ 0 for all i = 1, …, n • iJpi ≥ kd for any Js.t. w(J) ≥ T Claim: let k*be the largest value of k such that LPkhas a feasible solution. Then the value e of the least core satisfies 1 – e - d≤ k*d ≤ 1- e Can we find k*? • maybe not, but we can find k’ {k*, k*-1} LPk

17. An “almost” separation oracle • Claim: for each k =1, …, 1/d, there is a procedure SOk that runs in time poly (n, 1/d) and either correctly implements a separation oracle for LPkor stops and produces a feasible solution to LPk-1 • Try to solve LP1, LP2, … , LP1/d using SO1, SO2, … , SO1/d • k’: the largest value of k for which we find a feasible solution (reported by SOk’or SOk’+1) • Claim: k’ {k*, k*-1} e ≤ 1 – k*d≤ e+dimplies e ≤ 1 – k’d≤ e+2d

18. Implementing SOk Input to SOk: p1, …, pn Need to check: SiJpi ≥ kdfor any J s.t. w(J) ≥ T • p’i = max { jd/n : jd/n ≤ pi } • |p’i - pi| < d/n • check if there is a Jwith p’(J) < (k-1)d, w(J) ≥ T(DP for Knapsack) • if not, p1, …, pnis a feasible solution for LPk-1 • if yes, p(J) ≤ p’(J)+d, so p(J) < kd, and hence J is a violated constraint for LPk

19. Additive => multiplicative • We have shown: can compute e’ s.t. e ≤ e’ ≤ e+d • Need: e’ s.t. e ≤ e’ ≤ e(1+d) • Claim: if e > 0 then e≥ 1/n • proof: • some player i is paid at least 1/n • N \ { i } is a winning coalition • Given d, run our algorithm with d’ = d/n:e ≤ e’ ≤ e + d/n ≤ e + de = e(1+d)

20. Most stable point? • Least core may contain more than one point, not all of them equally good • G = (3, 3, 2, 2, 2; 6) p = ( 1/4, 1/4, 1/6, 1/6, 1/6); q = (1/3, 1/6, 1/6, 1/6, 1/6); • p and q are both in the least core = 1/2-core • under p, only 2 coalitions have deficit 1/2 • under q, 5 coalitions have deficit 1/2

21. Nucleolus: definition • deficit: d(p, S) = v(S) - p(S) • least core: minimizes worst deficit • nucleolus: • minimize worst deficit; • given this, minimize 2nd worst deficit, etc. • deficit vector: d(p) = (d(p, S1), ..., d(p, S2n)), ordered from largest to smallest • Def: nucleolus is an imputation p withlex-minimal deficit vector d(p)

22. Nucleolus: properties • Introduced by Schmeidler (1969) • Nucleolus is unique • Always in the least core • “Most stable” imputation

23. Can we compute the nucleolus of weighted voting games?

24. Small vs. large weights • Binary weights: NP-hard to compute • reduction from Partition (E., Goldberg, Goldberg, Wooldridge, AAAI’07) • Unary weights? • pseudopolynomial algorithm (E., Pasechnik, SODA’09)

25. Computing nucleolus: general scheme Sequence of linear programs: • LP1: min (p, e)e p(S) ≥ v(S) – efor all S  2N (p1, e1): interior optimizer for LP1 S1: set of tight constraints for (p1, e1) • LP2:min (p, e)e p(S) = v(S) – e1for all S  S1 p(S) ≥ v(S) – efor all S  2N \ S1 • LP3, LP4, etc. – till there is a unique solution

26. Solving LP1: weighted voting games Solving LP1 = finding the least core LP1: min (p, e)e p1+…+ pn = 1 pi≥ 0 for all i = 1, …, n p(S) ≥ v(S) – efor all S  2N • Can find (p, e) in poly-time. • S1? cannot list explicitly...

27. How to solve LP2? LP 2:min (p, e)e • p(S) = v(S) – e1for all S  S1 • p(S) ≥ v(S) – efor all S  2N \ S1 Is there a poly-time separation oracle for LP2? • input: p1, ..., pn, e; can assume e < e1 • suppose we have found S with w(S) ≥ T, p(S) < 1-e • this is only useful if S is not in S1 • difficulty: S1can be exponentially large

28. How to solve LPj? LP j:min (p, e)e • p(S) = v(S) – e1for all S  S1 • ... • p(S) = v(S) – e j-1for all S  S j-1 p(S) ≥ v(S) – efor all S  2N \(S1 U ... U S j-1) S1,..., S j-1 can be exponentially large

29. Idea: listing → counting • We know e1, ..., e j-1 • Can assume that we know s1=|S1|, ..., s j-1=|S j-1| • Given a candidate solution (p, e), suppose we can compute in poly-time • top j distinct deficits m1, ..., mj • nj= number of coalitions with deficit mj • Check if • mt = et, nt = st for t=1, ..., j-1 • mj ≤ e • Thm: answer is “yes” iff(p, e) is feasible for LPj

30. Missing pieces • How to implement the counting? • WVGs with unary weights: dynamic programming • If the answer is “no”, need to identify a violated constraint • WVGs with unary weights: more dynamic programming

31. General recipe? Meta-theorem: given a coalitional game G, suppose that we can, for any p and j=1, ..., n, identify top j deficits under p andcount how many coalitions have those deficitsin poly-time.Then we can compute the nucleolus of G in poly-time. Question: for which classes of games can we do this?

32. Conclusions • Stability in weighted voting games • core: poly-time computable • e-core, least-core • weakly NP-hard • pseudopolynomial algorithm • FPTAS • nucleolus • weakly NP-hard • pseudopolynomial algorithm • approximation???

33. An “almost” separation oracle • k’: max {k : SOk has a feasible solution} • k’’: max {k : our procedure finds a feasible solution} • Claim: k’’ {k’, k’-1} • for k = 1, …, k’: • if SOk works, it produces a feasible solution for k • if SOk fails, it produces a feasible solution for k-1 • for k = k’+1 • if SOk works, it tells us there is no feasible solution for k • if SOk fails, it produces a feasible solution for k-1 • for k > k’+1 • SOkworks and tells us there is no feasible solution for k