330 likes | 455 Views
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. Cooperative vs. non-cooperative games. Non-cooperative games:
E N D
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
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
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)
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.
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) = SiS pi
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
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
Can we compute the core, e-core and the least core of weighted voting games?
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
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
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)
LP for the least core minc p1+…+ pn = 1 pi≥ 0 for all i = 1, …, n SiJpi ≥ 1 - c for any J s.t. w(J) ≥ T linear program exponentially many ineqs Claim: least core = c-core
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
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
Approximating the least core minc p1+…+ pn = 1 pi≥ 0 for all i = 1, …, n • iJpi ≥ 1-c for any J s.t. w(J) ≥ T p1+…+ pn = 1 pi≥ 0 for all i = 1, …, n • iJpi ≥ kd for any J s.t. w(J) ≥ T LPk, k=1, ..., 1/d
LPk and the least core value p1+…+ pn = 1 pi≥ 0 for all i = 1, …, n • iJpi ≥ 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
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
Implementing SOk Input to SOk: p1, …, pn Need to check: SiJpi ≥ 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
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)
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
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)
Nucleolus: properties • Introduced by Schmeidler (1969) • Nucleolus is unique • Always in the least core • “Most stable” imputation
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)
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
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...
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
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
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
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
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?
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???
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