Algorithms for the Coalitional Manipulation Problem Michael Zuckerman∗ Ariel D. Procaccia† Abstract We investigate the problem of coalitional manipulation in elections, which is known to be hard in a variety of voting rules. We put forward efficient algorithms for the problem in Scoring rules, Maximin and Plurality with runoff, and analyze their windows of error. Specifically, given an instance on which an algorithm fails, we bound the additional power the manipulators need in order to succeed. We finally discuss the implications of our results with respect to the popular approach of employing computational hardness to preclude manipulation. 1 Introduction Social choice theory is an extremely well-studied subfield of economics. In recent years, interest in the computational aspects of social choice, and in particular in the computational aspects of voting, has sharply increased. Among other things, this trend is motivated by numerous applications of voting techniques and paradigms to problems in artificial intelligence [15, 12, 10]. In an election, a set of voters submit their (linear) preferences (i.e., rankings) over a set of candidates. The winner of the election is designated by a voting rule, which is basically a mapping from the space of possible preference profiles into candidates. A thorn in the side of social choice theory is formulated in the famous Gibbard-Satterthwaite Theorem [13, 21]. This theorem states that for any voting rule that is not a dictatorship, there are elections in which at least one of the voters would benefit by lying. A dictatorship is a voting rule where one of the voters—the dictator— single-handedly decides the outcome of the election. Since the 1970s, when this impossibility result was established, an enormous amount of effort has been invested in discovering ways to circumvent it. Two prominent and well-established ways are allowing payments [22, 4, 14], or restricting the voters’ preferences [17]. ∗ School of Computer Science and Engineering, The Hebrew University of Jerusalem, Jerusalem 91904, Israel, email: [email protected]. The author thanks Noam Nisan for a generous grant which supported this work. † School of Computer Science and Engineering, The Hebrew University of Jerusalem, Jerusalem 91904, Israel, email: [email protected]. The author is supported by the Adams Fellowship Program of the Israel Academy of Sciences and Humanities. ‡ School of Computer Science and Engineering, The Hebrew University of Jerusalem, Jerusalem 91904, Israel, email: [email protected] Jeffrey S. Rosenschein‡ In this paper, we wish to discuss a third path—the “path less taken”, if you will—which has been explored by computer scientists. The Gibbard-Satterthwaite Theorem implies that in theory, voters are able to manipulate elections, i.e., bend them to their advantage by lying. But in practice, deciding which lie to employ may prove to be a hard computational problem; after all, there are a superpolynomial number of possibilities of ranking the candidates. Indeed, Bartholdi et al. [2] put forward a voting rule where manipulation is NP-hard. In another important paper, Bartholdi and Orlin [1] greatly strengthened the approach by proving that the important Single Transferable Vote (STV) rule is hard to manipulate. This line of research has enjoyed new life in recent years thanks to the influential work of Conitzer, Lang and Sandholm [7].1 The foregoing paper studied the complexity of coalitional manipulation. In this setting, there is a coalition of potentially untruthful voters, attempting to coordinate their ballots so as to get their favorite candidate elected. The authors further assume that the votes are weighted: some voters have more power than others. Conitzer et al. show that in a variety of prominent voting rules, coalitional manipulation is NP-hard, even if there are only a constant number of candidates (for more details, see Section 2). This work has been extended in numerous directions, by various authors [16, 20, 5, 8]; Elkind and Lipmaa [9], for example, strengthened the abovementioned results about coalitional manipulation by employing cryptographic techniques. In short, computational complexity is by now a well-established method of circumventing the GibbardSatterthwaite Theorem. Unfortunately, a shortcoming of the results we mentioned above is that they are worst-case hardness results, and thus provide a poor obstacle against potential manipulators. Recent work regarding the average-case complexity of manipulation have argued that manipulation with respect to many worst-case-hard-to-manipulate voting rules is easy in practice [6]. In particular, Procaccia and Rosenschein [19, 18] have established some theoretical results regarding the tractability of the coalitional manipulation problem in practice. The matter was further discussed by Erdelyi et al. [11]. In spite of this, the question of the tractability of the manipulation problem, and in particular of 1 Historical note: although we cite the JACM 2007 paper, this work originated in a AAAI 2002 paper. 277 ~ = hm − 1, m − 2, . . . , 0i, consider are: Borda, where α ~ = h1, 1, . . . , 1, 0i. and Veto, where α the coalitional manipulation problem, in practical settings is still wide-open. Our Approach and Results. We wish to convince that, indeed, the coalitional manipulation problem can be efficiently solved in practice, but our approach differs from all previous work. We present efficient heuristic algorithms for the problem which provide strong theoretical guarantees. Indeed, we characterize small windows of instances on which our algorithms may fail; the algorithms are proven to succeed on all other instances. Specifically, we prove the following results regarding three of the most prominent voting rules (in which coalitional manipulation is known to be NP-hard even for a constant number of candidates): • Maximin. For any two distinct candidates x and y, let N(x, y) be the number of voters who prefer x to y. The maximin score of x is S (x) = miny,x N(x, y). • Copeland. For any two distinct candidates x and y, let C(x, y) = +1 if N(x, y) > N(y, x) (in this case we say that x beats y in their pairwise election), C(x, y) = 0 if N(x, y) = N(y, x), and C(x, y) = −1 if N(x, y) < N(y, x). The Copeland score of candidate x is S (x) = P y,x C(x, y). • Plurality with runoff. In this rule, a first round eliminates all candidates except the two with the highest plurality scores. The second round determines the winner between these two by their pairwise election. Theorem. 1. In the Borda rule, if it is possible to find a manipulation In some settings the voters are weighted. A weight for an instance with certain weights, Algorithm 2 will succeed when given an extra manipulator with maximal function is a mapping w : S → N. When voters are weighted, the above rules are applied by considering a voter weight. of weight l to be l different voters. 2. In the Plurality with Runoff rule, if it is possible to find D 2.1. a manipulation for an instance with certain weights, Al1. In the C C W Mgorithm 3 will succeed when given an extra manipulator (CCWM) problem, we are given a set C of canwith maximal weight. didates, with a distinguished candidate p ∈ C, a set of 3. In the Maximin rule, if it is possible to find a manipuweighted voters S that already cast their votes (these lation for an instance with certain weights, Algorithm 1 are the truthful voters), and weights for a set of voters will succeed when given two copies of the set of manipT that still have not cast their votes (the manipulators). ulators. We are asked whether there is a way to cast the votes in T such that p wins the election. Structure of the Paper. In Section 2, we describe the 2. C C U M major voting rules and formulate the coalitional manipula(CCUM) problem is a special case of CCWM problem tion problem. In Section 3, we present and analyze our alwhere all the weights equal 1. gorithms in three subsections: Borda, Plurality with Runoff, and Maximin. Finally, we discuss our results in Section 4. R 2.1. We implicitly assume in both questions that 2 Voting Rules and Manipulation Problems An election consists of a set C = {c1 , . . . , cm } of candidates and a set S = {v1 , . . . , v|S | } of voters. The voters provide a total order on the candidates. To put it differently, each voter submits a ranking of the candidates. The voting setting also includes a voting rule, which is a function from the set of all possible combinations of votes to C. We shall discuss the following voting rules (whenever the voting rule is based on scores, the candidate with the highest score wins): ~ = hα1 , . . . , αm i be a vector of non• Scoring rules. Let α negative integers such that α1 ≥ α2 ≥ . . . ≥ αm . For each voter, a candidate receives α1 points if it is ranked first by the voter, α2 if it is ranked second, etc. The score sα~ of a candidate is the total number of points the candidate receives. The scoring rules which we will the manipulators have full knowledge about the other votes. Unless explicitly stated otherwise, we also assume that ties are broken adversarially to the manipulators, so if p ties with another candidate, p loses. T 2.1. ([7]) The CCWM problem in all the abovementioned voting rules is NP-complete, even when the number of candidates is constant. Throughout this paper we will use the convention that |C| = m, |S | = N and |T | = n. Whenever the voting rule is based on scores, we will denote by S S , j (c) the score of candidate c from the voters in S and the first j voters of T (fixing some order on the voters of T ). Whenever it is clear from the context that S is fixed, we will use simply S j (c) for the same. Also, for G ⊆ C, 0 ≤ j ≤ n we will write S j (G) = {S j (g) | g ∈ G}. For two lists A, B (ordered multisets, possibly with multiplicities), we denote by A + B the list which is obtained after B is appended to A. 278 N, |W| = |T | = n. It is enough to show that if there is a manipulation for the set T , then for the same instance with manipulator voters T 0 = T + {v} with weights list W 0 = W + {w}, where w ≥ 1 is any integer, there is also a manipulation, and the rest will follow by induction. Let ~ = hα1 , . . . , αm i be the scores vector of the rule. Let XS α be the preference orders of the voters in S , and XT be the preference orders of voters in T that make p win. Fix some order on the voters in T . By definition, for all c ∈ C \ {p}, S n (c) < S n (p). Let the additional voter of T 0 rank p at the first place, and report some arbitrary order on the other R 3.1. We refer to an iteration of the main for loop in candidates. Then for all c ∈ C \{p}, S n+1 (p) = S n (p)+wα1 > S n (c) + wα1 ≥ S n+1 (c). Hence, p wins. line 4 of the algorithm as a stage of the algorithm. 3 Results We begin our contribution by presenting a general greedy algorithm for the coalitional manipulation problem. Some of our main results concern this algorithm or its restriction to scoring rules. The greedy algorithm is given as Algorithm 1. It works as follows: the manipulators, according to descending weights, each rank p first and rank the other candidates in a way that minimizes their maximum score. This algorithm is a generalization of the one that appeared in [3]. We will use the fact that for many voting rules, if there exists a manipulation for a coalition of manipulators with weights list W, then there exists a manipulation for a coalition of manipulators with weights list W 0 where W 0 ⊇ W. Normally, if the coalition is too small then there is no manipulation, and this is indeed what the algorithm will report. On the other hand, if the coalition is large enough, then the greedy algorithm will find the manipulation. So there remains a window of error, where for some coalitions there could exist a manipulation, but the algorithm may not find it. We are interested in bounding the size of this window. We first formulate the monotonicity property described above. D 3.1. In the context of the CCWM problem, a voting rule is said to be monotone in weights if it satisfies the following property: whenever there is a manipulation making p win for manipulator set T with weights list W, there is also a manipulation making p win for manipulator set T 0 with weights list W 0 , where T 0 ⊇ T , W 0 ⊇ W. Monotonicity in weights is a prerequisite for the type of analysis we wish to present. However, not all the basic voting rules have this property. In particular, the prominent Copeland rule does not possess this property (see the full version of the paper [23] for an example). 3.1 Borda In this subsection, we analyze the performance of Algorithm 1 with respect to the important Borda voting rule. Note that, in the context of scoring rules, Algorithm 1 reduces to Algorithm 2. This algorithm first appeared in Procaccia and Rosenschein [19]. In this specific instantiation of Algorithm 1, we do not require sorting the manipulators’ weights, as this does not play a part in our analysis. L 3.1. Scoring rules are monotone in weights. We are now ready to present our theorem regarding the Borda rule. T 3.1. In the Borda voting rule, let C be a set of candidates with p ∈ C a preferred candidate, S a set of voters who already cast their votes. Let W be the weights list for the set T . Then: 1. If there is no ballot making p win the election, then Algorithm 2 will return false. 2. If there exists a ballot making p win the election, then for the same instance with weights list W +{w01 , . . . , w0k }, P where k ≥ 1, ki=1 w0i ≥ max(W), Algorithm 2 will return true. A key notion for the proof of the theorem is the definition of the set GW . Let W be list of weights; we define GW as follows. Run the algorithm n + 1 stages with the weights W + {w}, where w is an arbitrary weight. Let G0W = argmaxg∈C\{p} {S 0 (g)}, and, by induction, for s = s s−1 1, 2, . . . : GW = GW ∪ {g | g was ranked after some g0 ∈ s−1 GW at some stage l, 1 ≤ l ≤ n + 1}. Finally, let GW = s ∪0≤sGW . The definition is independent of the weight w, as this weight is used only at stage n + 1, so it does not impact the preferences of the voters, and thus it does not impact GW . From the definition, G0W ⊆ G1W ⊆ . . . ⊆ C \ {p}. Furthermore, as |C \ {p}| = m − 1, it follows that there exists 0 ≤ s0 ≤ m − 2 s0 s0 +1 s0 s.t. GW = GW , and thus GW = GW = Gm−2 W . L 3.2. Given W, the candidates in GW were ranked at each stage l, 1 ≤ l ≤ n + 1 at |GW | last places, i.e., they were always granted the points |GW | − 1, . . . , 0. Proof. If, by way of contradiction, there exists c ∈ C \ GW that was ranked at some stage at one of the last |GW | places, then there is g ∈ GW that was ranked before c at that stage. s s+1 Let s ≥ 0 such that g ∈ GW . By definition, c ∈ GW ⇒c∈ GW , a contradiction. Proof. Let C be the candidates; p ∈ C is the preferred candidate, S is the set of truthful voters, and W are the L 3.3. For all c ∈ C \ GW , it holds that S n (c) ≤ weights for the manipulators T . Denote |C| = m, |S | = ming∈GW {S n (g)}. 279 Algorithm 1 Decides CCWM 1: procedure G(C, p, XS , W) |W| = |T | = n 2: sort(W) 3: X←φ 4: for j = 1, . . . , n do 5: P j ← (p) 6: for t = 2, . . . , m do 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: . XS is the set of preferences of voters in S , W is the list of weights for voters in T , . Sort the weights in descending order . Will contain the preferences of T . Iterate over voters by descending weights . Put p at the first place of the j-th preference list . Iterate over places of j-th preference list . Evaluate the score of each candidate if j would put it at the next available place Pick c ∈ argminc∈C\P j {Score of c from XS ∪ X ∪ {P j + {c}}} P j = P j + {c} . Add c to j’s preference list end for X ← X ∪ {P j } end for XT ← X if argmaxc∈C {Score of c based on XS ∪ XT } = {p} then return true . p wins else return false end if end procedure Proof. Suppose for contradiction that there are c ∈ C \ GW last |GW | places, it follows that and g ∈ GW , s.t. S n (c) > S n (g). Then at stage n + 1, c would s |GX n W |−1 X have been ranked after g. Let s ≥ 0 s.t. g ∈ GW . Then 1 X s+1 S 0 (g) + wj i) q(W) = ( c ∈ GW ⇒ c ∈ GW , a contradiction. |GW | g∈G j=1 i=0 W (3.2) 1 X 0 L 3.4. Given W, |W| = n, let GW be as before. Denote ≤ S n (g) =: q0 (XT ) |G | W by q(W) the average score of candidates in GW after n g∈GW P stages: q(W) = |G1W | g∈GW S n (g). Then: Combining together (3.1) and (3.2) we get that S n0 (p) ≤ 1. If S n (p) ≤ q(W) then there is no manipulation that q0 (XT ). There is at least one g ∈ GW such that S n0 (g) ≥ q0 (XT ) makes p win the election, and the algorithm will return (since q0 (XT ) is the average of the scores), hence S n0 (p) ≤ S n0 (g), and so p will not win when XT is applied. false. Also note that Algorithm 2 returns true only if it constructs a (valid) ballot that makes p win, and so for the case 2. If S n (p) > maxg∈GW {S n (g)}, then there is a manipulaS (p) ≤ q(W) the algorithm will return false. n tion that makes p win, and the algorithm will find it. We now prove part 2 of the lemma. If S n (p) > maxg∈GW {S n (g)}, then by Lemma 3.3 for all c ∈ C \ {p}, Proof. We first prove part 1. Denote W = {w1 , . . . , wn }. We S (p) > S (c), and so the algorithm will find the manipun n have the set GW , and we suppose that S n (p) ≤ q(W). Let lation. us consider any ballot XT of votes in T , and let S n0 (c) be the scores of the candidates c ∈ C implied by this ballot L 3.5. Let G , q(W) be as before. Then for w ≥ 1, W (including also all the votes in S ). As in Algorithm 2, p q(W + {w}) − q(W) ≤ w m−2 . 2 was placed at the top of the preference of each voter in T ; it follows that s Proof. First, GW ⊆ GW+{w} , because for all s ≥ 0, GW ⊆ s G . Now, for all g ∈ G \ G , g was not ranked in W+{w} W n W+{w} X the first n + 1 stages after any candidate in GW , and so for all (3.1) S n (p) = S 0 (p) + w j (m − 1) ≥ S n0 (p) g0 ∈ GW , S n (g) ≤ S n (g0 ), and hence j=1 On the other hand, since by Lemma 3.2, in Algorithm 2 the candidates of GW were ranked by all the voters in T at the 280 1 X |GW+{w} | g∈G W+{w} S n (g) ≤ 1 X S n (g0 ) = q(W) |GW | g0 ∈G W Algorithm 2 Decides CCWM in Scoring rules 1: procedure S--G(C, p, S 0 (C), W) . S 0 (C) is the list of scores of candidates distributed by voters in S , W is the list of weights for voters in T , |W| = |T | = n 2: for j = 1, . . . , n do . Go over voters in T 3: S j (p) = S j−1 (p) + w j α1 . Put p at the first place of the j-th preference list 4: Let t1 , t2 , . . . , tm−1 s.t. ∀l, S j−1 (ctl−1 ) ≤ S j−1 (ctl ) 5: j votes p ct1 . . . ctm−1 6: for l = 1, . . . , m − 1 do . Update the scores 7: S j (ctl ) = S j−1 (ctl ) + w j αl+1 8: end for 9: end for 10: if argmaxc∈C {S n (c)} = {p} then . p wins 11: return true 12: else 13: return false 14: end if 15: end procedure Case 1: j > 1. In this case g was ranked before g0 at stage j − 1. So we have: Now we can proceed: q(W + {w}) = = 1 X |GW+{w} | g∈G 1 S n+1 (g) W+{w} X |GW+{w} | g∈G S n (g) + W+{w} w |GW+{w} X|−1 |GW+{w} | i=0 i (3.3) S j−1 (g) ≥ S j−1 (g0 ) (3.4) S j−2 (g) ≤ S j−2 (g0 ) Denote αd (h) := m − (place of h ∈ C at the preference list of voter d). Further, denote by wd the weight of voter d (so at stage d, h gets wd αd (h) points). g was ranked bem−2 fore g0 at stage j − 1, and hence α j−1 (g) > α j−1 (g0 ). De= q(W) + w note l = α j−1 (g) − α j−1 (g0 ), and w := w j−1 . Let g0 = 2 g0 , g1 , . . . , gl = g be the candidates that got at stage j − 1 the And so, q(W + {w}) − q(W) ≤ w m−2 points wα j−1 (g0 ), w(α j−1 (g0 ) + 1), . . . , w(α j−1 (g0 ) + l), respec2 . tively. Our purpose is to show that {S j−1 (g0 ), . . . , S j−1 (gl )} We will prove in Lemmas 3.6 – 3.9 that for any weights is w-dense, and therefore w -dense. By definition of the max list W, |W| = n: maxg∈GW {S n (g)} − q(W) ≤ max(W) m−2 2 . First algorithm, we need to show that the scores of candidates in GW are not scattered too much. We will need the following definition: (3.5) S j−2 (g0 ) ≥ S j−2 (g1 ) ≥ . . . ≥ S j−2 (gl ) m−2 ≤ q(W) + w X i m − 1 i=0 D 3.2. For an integer w ≥ 0, a finite non-empty Denote ut = S j−2 (gt ) + wα j−1 (g0 ) for 0 ≤ t ≤ l. Then set of integers A is called w-dense if when we sort the set in nonincreasing order b1 ≥ b2 ≥ . . . ≥ bk (such that (3.6) For all 0 ≤ t ≤ l, S j−1 (gt ) = ut + wt {b1 , . . . , bk } = A), it holds that for all 1 ≤ j ≤ k − 1, So we need to show that {ut + wt | 0 ≤ t ≤ l} is w-dense. It is b j+1 ≥ b j − w. enough to show that: L 3.6. Let W be a list of weights, |W| = n. Let GW = (a) For all 0 ≤ t ≤ l, if ut + wt < u0 , then there exists s s s−1 ∪0≤sGW , as before. Then for all s ≥ 1 and g ∈ GW \ GW t < t0 ≤ l s.t. ut + wt < ut0 + wt0 ≤ ut + w(t + 1), and s−1 0 there exist g ∈ GW , X ⊆ C \ {p} (maybe X = φ) and j, 0 ≤ j ≤ n, s.t. {S j (g), S j (g0 )} ∪ S j (X) is wmax -dense, where (b) For all 0 ≤ t ≤ l, if u + wt > u , then there exists t 0 wmax = max(W). 0 ≤ t0 < t s.t. u + w(t − 1) ≤ u 0 + wt0 < u + wt. t s s−1 GW \GW . t Proof. Let s ≥ 1 and g ∈ By definition there exist Proof of (a): From (3.5) we get s−1 g0 ∈ GW and 1 ≤ j ≤ n + 1 minimal s.t. g was ranked after g0 at stage j. We distinguish between two cases: (3.7) u0 ≥ . . . ≥ ul 281 t Also from (3.3) and (3.6) we have u0 ≤ ul + wl. Let 0 ≤ t ≤ l − 1 s.t. ut + wt < u0 . Let us consider the sequence ut +wt, ut+1 +w(t+1), . . . , ul +wl. Since ut +wt < u0 ≤ ul +wl, it follows that there is a minimal index t0 , t < t0 ≤ l s.t. ut + wt < ut0 + wt0 . Then ut0 −1 + w(t0 − 1) ≤ ut + wt, and thus Denote Z1 := {g0 , g1 } ∪ X10 . Similarly, if g1 < G0W , then there s−2 exist g2 ∈ GW and X20 s.t. {S n (g1 ), S n (g2 )} ∪ S n (X20 ) is wmax dense. Denote Z2 := {g1 , g2 } ∪ X20 , etc. Thus, we can build a sequence of sets Z1 , . . . , Z s+1 , s.t. for all 1 ≤ t ≤ s + 1, S n (Zt ) is wmax -dense, g = g0 ∈ Z1 and for each 1 ≤ t ≤ s there exists s−t gt ∈ G W s.t. gt ∈ Zt ∩ Zt+1 , and in particular, g s ∈ G0W . It is easy to see that for two w-dense sets A, A0 , if 0 0 (3.8) ut −1 + wt ≤ ut + w(t + 1) A∩A0 , φ then A∪A0 is also w-dense, and hence we get Zg := S s+1 0 t=1 Zt is wmax -dense. Note that S 0 (G W ) is wmax -dense, and From (3.7) ut0 ≤ ut0 −1 , and then hence there exists Ẑ, G0W ⊆ Ẑ ⊆ C \ {p} s.t. S n (Ẑ) is wmax S 0 0 dense. From this we conclude that {S n (g) | g ∈ Ẑ ∪ g∈GW Zg } (3.9) ut0 + wt ≤ ut0 −1 + wt S is wmax -dense. By Lemma 3.3, for all h ∈ Ẑ ∪ g∈GW Zg , if Combining (3.8) and (3.9) together, we get ut0 + wt0 ≤ h < GW , then S n (h) ≤ ming∈GW {S n (g)}, and hence S n (GW ) is ut + w(t + 1). This concludes the proof of (a). The proof a also wmax -dense. of (b) is similar. L 3.9. Let W be a list of weights, |W| = n, wmax = Case 2: j = 1. In this case s ≥ 2, because otherwise, max(W). Let GW be as before, and denote q(W) = if s = 1, then g0 ∈ G0W ; therefore S 0 (g) ≥ S 0 (g0 ) = 1 P g∈GW S n (g), as before. Then maxg∈GW {S n (g)} − q(W) ≤ s−2 0 0 |G W| maxh∈C\{p} {S 0 (h)} ⇒ g ∈ GW , a contradiction. g < GW , m−2 s−1 because otherwise, by definition g ∈ GW . Therefore there wmax 2 . s−2 00 0 exists g ∈ GW s.t. g was ranked after g00 at some stage Proof. Sort the members of GW by their scores after the j0 , i.e., S j0 −1 (g0 ) ≥ S j0 −1 (g00 ). g has never been ranked n-th stage, i.e., GW = {g1 , . . . , g|GW | } s.t. for all 1 ≤ t ≤ s−1 after g00 (because otherwise g ∈ GW ), and it follows that |GW | − 1, S n (gt ) ≥ S n (gt+1 ). Denote for 1 ≤ t ≤ |GW |, 00 S j0 −1 (g) ≤ S j0 −1 (g ), and we have S j0 −1 (g) ≤ S j0 −1 (g0 ). ut = S n (g1 ) − wmax (t − 1), and let U = {u1 , . . . , u|GW | }. |U| = Let j0 be minimal s.t. S j0 (g) ≤ S j0 (g0 ). As at stage 1 g |GW |, max U = S n (g1 ) = maxg∈GW {S n (g)}. By Lemma 3.8, was ranked after g0 , it holds that S 0 (g) ≥ S 0 (g0 ). If it is easy to see that for all 1 ≤ t ≤ |GW |, S n (gt ) ≥ ut . P W| j0 = 0 then S 0 (g) = S 0 (g0 ), and hence {S 0 (g), S 0 (g0 )} is Consequently, q(W) ≥ |G1 | |G t=1 ut , hence maxg∈GW {S n (g)} − W 0-dense, and therefore wmax -dense. Otherwise it holds that q(W) = u − q(W) ≤ u − 1 P|GW | u = w |GW |−1 ≤ 1 1 max 2 t=1 t |GW | S j0 −1 (g) > S j0 −1 (g0 ), and as in Case 1, we can prove that m−2 . w max 2 {S j0 (g), S j0 (g0 )} ∪ S j0 (X) is wmax -dense for some X ⊆ C \ {p}. Now we are ready to prove Theorem 3.1. Proof. Regarding part 1, Algorithm 2 returns true only if it L 3.7. Let W be a list of weights, |W| = n, wmax = constructs a (valid) ballot that makes p win, and thus if there max(W). Let H ⊆ C \ {p} s.t. S j (H) is wmax -dense for some is no ballot making p win, Algorithm 2 will return false. 0 0 0 0 ≤ j ≤ n. Then there exists H , H ⊆ H ⊆ C \ {p} s.t. S n (H ) We now prove part 2 of the theorem. Suppose that there is wmax -dense. exists a ballot making p win for weights list W, |W| = n. Pk 0 0 0 0 Proof. We have H ⊆ C \ {p} and 0 ≤ j ≤ n, s.t. S j (H) Let W := W + {w1 , . . . , wk } for k ≥ 1, i=1 wi ≥ max(W). is wmax -dense. Denote H j := H. Define inductively for By Lemma 3.4, S n (p) > q(W). From Lemma 3.5 we get by t = j, j + 1, . . . , n − 1: Ht+1 = {g ∈ C \ {p} | minh∈Ht {S t (h)} ≤ induction that k X S t (g) ≤ maxh∈Ht {S t (h)}}. Of course, for all t, Ht ⊆ Ht+1 . m−2 q(W 0 ) ≤ q(W) + w0i · It is easy to see that if for some j ≤ t ≤ n − 1, S t (Ht ) is (3.10) 2 i=1 wmax -dense, then S t+1 (Ht+1 ) is also wmax -dense. So we get by induction that S n (Hn ) is wmax -dense, and H ⊆ Hn ⊆ C \ {p}. By Lemma 3.9 and (3.10) we get: m−2 max {S n+k (g)} ≤ q(W 0 ) + max(W 0 ) · g∈GW 0 2 L 3.8. Let W be a list of weights, |W| = n, wmax = k X m−2 max(W). Let GW be as before. Then the set S n (GW ) is wmax ≤ q(W 0 ) + w0i · dense. 2 i=1 s s−1 Proof. Let g = g0 ∈ GW . If g < G0W , then g ∈ GW \ GW s−1 for some s ≥ 1. By Lemma 3.6 there exist g1 ∈ GW and X1 ⊆ C \ {p} s.t. {S j (g0 ), S j (g1 )} ∪ S j (X1 ) is wmax -dense for some 0 ≤ j ≤ n. By Lemma 3.7 there exists X10 , X1 ⊆ X10 ⊆ C \ {p}, s.t. {S n (g0 ), S n (g1 )} ∪ S n (X10 ) is wmax -dense. 282 ≤ q(W) + k X w0i · (m − 2) i=1 < S n (p) + k X i=1 w0i · (m − 1) = S n+k (p) and hence, by Lemma 3.4 the algorithm will find a ballot Proof. Let 0 ≤ j ≤ n − 2. Let g , p be any candidate. making p win for set T 0 with weights W 0 , and will return By definition S j (g) ≤ f ( j). We would like to show that true. This completes the proof of Theorem 3.1. S j+2 (g) ≤ f ( j) + max{w j+1 , w j+2 }. If S j+1 (g) ≤ f ( j), then S j+2 (g) ≤ S j+1 (g)+w j+2 ≤ f ( j)+ For an example where there is a manipulation for max{w j+1 , w j+2 }, and we are done. So let us assume now that weights list W, but the algorithm will find a manipulation S j+1 (g) > f ( j). Define a directed graph G = (V, E), where only for weights list W + {w0 }, see the full version of the V = {g} ∪ {x ∈ C \ {p} | x was ranked after g at stage j + 1}, paper [23]. and (x, y) ∈ E iff y ∈ MIN j (x). There is at least one outgoing edge from g in E, since otherwise there was g0 ∈ MIN j (g) 3.2 Maximin In this subsection, we show that Algo- that voter j+1 put before g, and then S j+1 (g) = S j (g) ≤ f ( j), rithm 1 also does well with respect to the Maximin rule. a contradiction. In addition, for all x ∈ V \{g}, there is at least one outgoing edge from x in E, because otherwise there was L 3.10. Maximin is monotone in weights. x0 ∈ MIN j (x) that was ranked before g at stage j + 1, and then Algorithm 1 would have ranked x before g (after x0 ) The remaining monotonicity Lemmas are deferred to the since then S j+1 (x) = S j (x) ≤ f ( j) < S j+1 (g), which is again full version of the paper [23]. a contradiction. For x ∈ V, denote by V(x) all the vertices y in V s.t. there T 3.2. In the Maximin rule, let C be the set of candi- exists a directed path from x to y. Denote by G(x) the subdates with p ∈ C the preferred candidate, and S the set of graph of G induced by V(x). It is easy to see that G(g) voters who already cast their votes. Let W be the weights list contains at least one circle. Let U be one such circle. Let for the set T . Then: g0 ∈ U be the vertex that was picked first among the vertices of U at stage j + 1. Let g00 be the vertex before g0 in the 1. If there is no ballot making p win the election, then circle: (g00 , g0 ) ∈ U. Since g00 was ranked after g0 at stage Algorithm 1 will return false. j + 1, it follows that S j+1 (g00 ) = S j (g00 ) ≤ f ( j). Suppose by way of contradiction that S j+2 (g) > f ( j) + 2. If there is a ballot making p win the election, then for ∗ max{w 0 0 j+1 , w j+2 }. g was ranked by j + 2 at place t . Then the same instance with weights list W s.t. W ⊇ W + W 00 ∗ < t , since otherwise (i.e., W 0 contains two copies of W), Algorithm 1 will g was ranked by j + 2 at place ∗ when we had reached the place t , we would pick g00 (with return true. 00 score S j+2 (g ) ≤ f ( j) + w j+2 < S j+2 (g)) instead of g—a contradiction. Let us introduce some more notation. For candidates Denote by X1 all the vertices in V(g) that have an g, g0 ∈ C and 0 ≤ j ≤ n we denote by N j (g, g0 ) the total outgoing edge to g00 in G(g). For all x ∈ X1 , g00 ∈ MIN j (x), weight of the voters after j stages (including the voters in S ) 00 that prefer g over g0 . So S j (g) = ming0 ∈C\{g} N j (g, g0 ). We i.e., S j (x) = N j (x, g ). All x ∈ X1 were ranked by j + 2 before g, since otherwise, if there was x ∈ X1 , s.t. until also denote for g ∈ C, 0 ≤ j ≤ n: the place t∗ it still was not added to the preference list, then when evaluating its score on place t∗ , we would get: MIN j (g) = {h ∈ C \ {g} | N j (g, h) = S j (g)}. S j+2 (x) ≤ N j+2 (x, g00 ) = N j+1 (x, g00 ) ≤ N j (x, g00 ) + w j+1 = Fixing the set C, p ∈ C, and an order on the weights list S j (x) + w j+1 < S j+2 (g), and so we would put x instead of g. W, we denote by f ( j) the maximal score of p’s opponents Denote by X2 all the vertices in V(g) that have an outgoing edge to some vertex x ∈ X1 . In the same manner we can distributed by Algorithm 1 after j stages: show that all the vertices in X2 were ranked at stage j + 2 f ( j) = max S j (g). before g. We continue this way backwards on the path in g∈C\{p} G(g) from g00 to g, and we get that one vertex before g on In Algorithm 1, p is always placed at the top of each that path, say g0 , was ranked by j + 2 before g. Thus, preference, and so with each voter its score grows by the weight of this voter. In our next lemma we will put forward an upper bound on the growth rate of the scores of p’s opponents. S j+2 (g) ≤ N j+2 (g, g0 ) = N j+1 (g, g0 ) ≤ N j (g, g0 ) + w j+1 = S j (g) + w j+1 ≤ f ( j) + max{w j+1 , w j+2 } < S j+2 (g), L 3.11. Consider Algorithm 1 applied to the Maximin a contradiction. rule. Denote by w j the weight of the j-th voter processed We are now ready to prove Theorem 3.2. by the algorithm. Then for all 0 ≤ j ≤ n − 2, f ( j + 2) ≤ f ( j) + max{w j+1 , w j+2 }. Proof. We prove part 1. Algorithm 1 returns true only if it 283 constructs a (valid) ballot that makes p win, and thus if there in X that put g at the top of their preferences). We also use P is no ballot making p win, Algorithm 1 will return false. NX (g, g0 ) = v∈U wv , where U is the set of all the voters in We now prove part 2. Suppose that there exists a ballot X that prefer g to g0 , and wv is the weight of voter v. Finally, ZT making p win for weights list W = {w1 , . . . , wn }. Let for g, g0 ∈ C we denote g g0 if a tie between g and g0 is S 0j (g) be the scores implied by ZT . Then: broken in favor of g. n X f (0) < S n0 (p) ≤ S 0 (p) + (3.11) R 3.2. In Algorithm 3 we do not rely on the assumption that for all g , p, g p. wi i=1 Let W = W + W + X, where X is some list of weights (possibly empty). We need to show that S |W 0 | (p) > f (|W 0 |). In Algorithm 1, after sorting the weights of W 0 , the equal weights of two copies of W will be adjacent, i.e., the order of weights in W 0 will be of the form: x1 , . . . , xq1 , w1 , w1 , xq1 +1 , . . . , xq2 , w2 , w2 , . . . , wn , wn , xqn +1 , . . . , x|X| . By Lemma 3.11, one can prove by induction that: 0 (3.12) f (|W 0 |) ≤ f (0) + |X| X xi + i=1 n X T 3.3. In the Plurality with runoff rule, let C be the set of candidates with p ∈ C the preferred candidate, S the set of voters who already cast their votes. Let W be the weights list for the set T , and let u ≥ 0 be the error window. Then: wi i=1 And so by (3.11) and (3.12) we have: S |W 0 | (p) = S 0 (p) + |X| X xi + 2 n X i=1 > f (0) + |X| X i=1 xi + In the next theorem we prove the correctness of Algorithm 3, and analyze its time complexity. We will see that for getting an exact answer (u = 0), we will need running time which is polynomial in max(W) and the rest of the input. As the weights in W are specified in binary representation, this requires exponential time. However when the size of the error window increases, the complexity decreases, so for max(W) ) the complexity of the algorithm is polynou = Ω( log(max(W)) mial in its input. 1. If there is no ballot making p win the election, then Algorithm 3 will return false. wi i=1 n X 2. If there is a ballot making p win the election, then for the same problem with voter set T 0 = T +{vn+1 , . . . , vn+l } with weights list W 0 = W + {wn+1 , . . . , wn+l }, where P l ≥ 0, lj=1 wn+ j ≥ u, Algorithm 3 will return true. wi i=1 ≥ f (|W 0 |) 3. On input C, p, XS , WS , W, u, where |C| = m, |S | = N, |W| = n, u is an integer, s.t. 0 ≤ u ≤ max(W), the running time of Algorithm 3 is polynomial in m, N, log(max(WS )), n and max(W) u+1 . 3.3 Plurality with Runoff In this subsection we present a heuristic algorithm for the CCWM problem in Plurality with runoff. The algorithm receives as a parameter a size of window 0 ≤ u ≤ max(W) where it can give a wrong answer. The proof of the theorem is given in the full version of Its running time depends on the size of its input and on u (see the paper [23]. below). We begin by noting: L 3.12. Plurality with runoff is monotone in weights. We will now give an informal description of the algorithm. We go over all the candidates other than p. To each candidate g we try to assign the voters with minimal total weight, such that if these voters place g first, g continues to the second round; the rest of the voters rank p first. If we succeeded in this way to make g and p survive the first round, and in the second round p beats g, then we found a valid ballot for making p win the election. If no candidate g was found in this way, then we report that there is no ballot. A formal description of this algorithm, Algorithm 3, is given at the end of this paper. The following additional notations are required. Denote by βX (g) the plurality score of g from voter set X (i.e., the sum of weights of the voters 4 Discussion We would first like to discuss the application of our results to unweighted coalitional manipulation (the CCUM problem). It is known that this problem is tractable when the number of candidates is constant [7]. However, to the best of our knowledge there are no results regarding the complexity of the problem when the the number of candidates is not constant. We conjecture that CCUM in Borda and Maximin is NP-complete. In the context of unweighted manipulation, one can consider the following optimization problem (call it CCUO, where “O” stands for Optimization): given the votes of the truthful voters, find the minimum number of manipulators needed in order to make p win. Then, our theorems almost directly imply the following corollary: 284 C 4.1. 1. Algorithm 2 approximates CCUO in Borda up to an additive factor of 1. 2. Algorithm 1 is a 2-approximation algorithm for CCUO in Maximin. On the other hand, we have the following results: C 4.2. Algorithm 3 efficiently solves the CCUM problem in Plurality with runoff. T 4.1. Algorithm 2 efficiently solves the CCUM problem in Veto. Corollary 4.2 is a special case of Theorem 3.3, where the error window is u = 0, the number of additional voters is l = 0, and all the weights equal 1. The proof of Theorem 4.1 is given in the full version of the paper [23]. We deduce that CCUM, and thus CCUO, in the Plurality with runoff and Veto rules are in P. We now turn to a brief and informal discussion regarding the implications of our results with respect to solving the weighted coalitional manipulation problem, CCWM, in practice. Our theorems imply that our algorithms err on only very specific configurations of the voters’ weights. Intuitively, this means that if one looks at some (reasonable) distribution over the instances of the CCUM problem (such that weights are randomly selected), the probability of hitting the window of error is extremely small. Procaccia and Rosenschein [19] show that Algorithm 2 has a small chance of mistake with respect to a junta distribution—which is arguably especially hard—over the instances of CCWM in scoring rules. This result uses a very loose analysis regarding the algorithm’s window of error. Our result regarding Borda is far stronger, since the window of error is much more accurately characterized. However, since the result in Procaccia and Rosenschein deals with scoring rules in general, neither result subsumes the other. References [1] J. Bartholdi and J. Orlin. Single transferable vote resists strategic voting. Social Choice and Welfare, 8:341–354, 1991. [2] J. Bartholdi, C. A. Tovey, and M. A. Trick. The computational difficulty of manipulating an election. Social Choice and Welfare, 6:227–241, 1989. [3] J. Bartholdi, C. A. Tovey, and M. A. Trick. Voting schemes for which it can be difficult to tell who won the election. Social Choice and Welfare, 6:157–165, 1989. [4] E. H. Clarke. Multipart pricing of public goods. Public Choice, 11:17–33, 1971. [5] V. Conitzer and T. Sandholm. Universal voting protocol tweaks to make manipulation hard. In IJCAI, pages 781–788, 2003. [6] V. Conitzer and T. Sandholm. Nonexistence of voting rules that are usually hard to manipulate. In AAAI, pages 627–634, 2006. [7] V. Conitzer, T. Sandholm, and J. Lang. When are elections with few candidates hard to manipulate? Journal of the ACM, 54(3):1–33, 2007. [8] E. Elkind and H. Lipmaa. Hybrid voting protocols and hardness of manipulation. In ISAAC, Lecture Notes in Computer Science, pages 206–215. Springer-Verlag, 2005. [9] E. Elkind and H. Lipmaa. Small coalitions cannot manipulate voting. In FC, Lecture Notes in Computer Science. SpringerVerlag, 2005. [10] E. Ephrati and J. S. Rosenschein. A heuristic technique for multiagent planning. Annals of Mathematics and Artificial Intelligence, 20:13–67, 1997. [11] G. Erdelyi, L. A. Hemaspaandra, J. Rothe, and H. Spakowski. On approximating optimal weighted lobbying, and frequency of correctness versus average-case polynomial time. Technical report, arXiv:cs/0703097v1, 2007. [12] S. Ghosh, M. Mundhe, K. Hernandez, and S. Sen. Voting for movies: the anatomy of a recommender system. In AGENTS, pages 434–435, 1999. [13] A. Gibbard. Manipulation of voting schemes. Econometrica, 41:587–602, 1973. [14] T. Groves. Incentives in teams. Econometrica, 41:617–631, 1973. [15] T. Haynes, S. Sen, N. Arora, and R. Nadella. An automated meeting scheduling system that utilizes user preferences. In AGENTS, pages 308–315, 1997. [16] E. Hemaspaandra, L. A. Hemaspaandra, and J. Rothe. Anyone but him: The complexity of precluding an alternative. Artificial Intelligence, 171(5–6):255–285, 2007. [17] H. Moulin. On strategy-proofness and single peakedness. Public Choice, 35:437–455, 1980. [18] A. D. Procaccia and J. S. Rosenschein. Average-case tractability of manipulation in voting via the fraction of manipulators. In AAMAS, pages 718–720, 2007. [19] A. D. Procaccia and J. S. Rosenschein. Junta distributions and the average-case complexity of manipulating elections. Journal of Artificial Intelligence Research, 28:157–181, 2007. [20] A. D. Procaccia, J. S. Rosenschein, and A. Zohar. Multiwinner elections: Complexity of manipulation, control and winner-determination. In IJCAI, pages 1476–1481, 2007. [21] M. Satterthwaite. Strategy-proofness and Arrow’s conditions: Existence and correspondence theorems for voting procedures and social welfare functions. Journal of Economic Theory, 10:187–217, 1975. [22] W. Vickrey. Counter speculation, auctions, and competitive sealed tenders. Journal of Finance, 16(1):8–37, 1961. [23] M. Zuckerman, A. D. Procaccia, and J. S. Rosenschein. Algorithms for the coalitional manipulation problem. Technical report 2007-116, Leibniz Center for Research in Computer Science, The Hebrew University of Jerusalem, 2007. 285 Algorithm 3 Decides CCWM in Plurality with runoff with desired accuracy 1: procedure P--(C, p, XS , WS , W, u) . XS is the set of preferences of voters in S , WS are the weights of voters in S , W = {w1 , . . . , wn } are the weights of voters in T , u is the size of error window 2: for g in C \ {p} do . Go over candidates in C \ {p} 3: if there exists g0 ∈ argmaxg0 ∈C\{p} βS (g0 ), g0 , g s.t. g0 g then 4: λg ← maxg0 ∈C\{p} βS (g0 ) − βS (g) + 1 5: else 6: λg ← maxg0 ∈C\{p} βS (g0 ) − βS (g) 7: end if P 8: if λg > ni=1 wi then . If we cannot make g pass to the next round 9: continue . Go to the next candidate in the main loop 10: end if 11: x ← ---(W, λg , u) P P 12: . x ∈ {0, 1}n minimizes { nj=1 w j x j | nj=1 w j x j ≥ λg , ∀ j, x j ∈ {0, 1}} 13: All the voters j s.t. x j = 1 vote g . . . . Order of candidates except g is arbitrary 14: All the voters j s.t. x j = 0 vote p . . . 15: if ∃g0 ∈ C \ {p, g} s.t. βS (g0 ) > βS (p) + βT (p) 16: or βS (g0 ) = βS (p) + βT (p) and g0 p then 17: continue . p does not pass to next round 18: end if 19: if NS ∪T (p, g) > NS ∪T (g, p) or NS ∪T (p, g) = NS ∪T (g, p) and p g then 20: return true . p beats g in the second round 21: else 22: continue 23: end if 24: end for 25: return false . No appropriate g was found 26: end procedure 27: 28: 29: 30: 31: 32: 33: 34: procedure ---(W, λg , u) . W = {w1 , . . . , wn } are the weights of voters in T , λg is the minimum total sum of desired weights, u is the size of error window Check that 0 ≤ u ≤ max(W) u +1 k ← 2n P w P P Solve by dynamic prog.: max{ nj=1 kj x j | nj=1 w j x j ≤ nj=1 w j − λg , ∀ j, x j ∈ {0, 1}} Let x ∈ {0, 1}n be the vector that maximizes the above sum return ~1 − x . ~1 is the vector of n 1-s end procedure 286
© Copyright 2026 Paperzz