Abstract
We investigate the computational complexity of electoral control in elections. Electoral control describes the scenario where the election chair seeks to alter the outcome of the election by structural changes such as adding, deleting, or replacing either candidates or voters. Such control actions have been studied in the literature for a lot of prominent voting rules. We complement those results by solving several open cases for Copeland\(^{\alpha }\), maximin, kveto, plurality with runoff, veto with runoff, Condorcet, fallback, range voting, and normalized range voting.
Introduction
Computational social choice has established itself as a central part in the research and development of multiagent systems and artificial intelligence. Without going into the details here, it is important to note that preference aggregation and voting—and the related scenarios of strategic behavior so as to change the outcome of elections—have many applications in artificial intelligence and, especially, in multiagent systems (e.g., in information extraction [57], planning [15], recommender systems [28], ranking algorithms [14], computational linguistics [53], automated scheduling [32], collaborative filtering [55], etc.). Interestingly, as noted by Hemaspaandra [36, p. 7971], “At the 2017 AAMAS conference, for example, there were four sessions devoted to Computational Social Choice; no other topic had that many sessions.”
Since the seminal work of Bartholdi, Orlin, Tovey, and Trick [5,6,7], the founders of computational social choice, many strategic voting problems have been proposed and studied from a complexitytheoretic point of view. These strategic voting problems include

manipulation where voters cast their votes strategically;

bribery where an external agent bribes some voters—without exceeding a given budget—so as to change their votes; and

electoral control where an external agent (usually called the chair) tries to alter the outcome of an election by structural changes such as adding, deleting, partitioning, or replacing either candidates or voters.
For a broad overview of these strategic actions and their applications in artificial intelligence and multiagent systems and for a comprehensive survey of related results, we refer to the book chapters by Conitzer and Walsh [12], Faliszewski and Rothe [25], and Baumeister and Rothe [8] and to the comprehensive list of references cited therein.
We will focus on electoral control, first and foremost on control by replacing but also on control by adding and by deleting either candidates or voters. There is a long line of research centered on the complexity of control. So, before providing the specific motivation for our results, let us briefly outline the history of research on electoral control, focusing on the particular scenarios we will be concerned with.
Bartholdi, Tovey, and Trick [7] were the first to propose control of elections as a malicious way of tampering with their outcome via changing their structure, e.g., by adding or deleting voters or candidates. They introduced the constructive variant where the goal of an election chair is to make a favorite candidate win. Focusing on plurality and Condorcet elections, they determined which control scenarios these rules are immune to (i.e., impossible for the chair to successfully exert control), and in cases where these rules are not immune, they studied the complexity of the associated control problems, showing either resistance (\(\mathrm {NP}\)hardness) or vulnerability (membership in \(\mathrm {P}\)). Complementing their work, Hemaspaandra, Hemaspaandra, and Rothe [33] introduced the destructive variant of control where the chair’s goal is to prevent a despised candidate’s victory. Pinpointing the complexity of destructive control in plurality and Condorcet elections, they also studied the constructive and destructive control complexity of approval voting.
As surveyed by Faliszewski and Rothe [25] and Baumeister and Rothe [8], plenty of voting rules have been analyzed in terms of their control complexity since then. In addition to the just mentioned results on plurality, Condorcet, and approval voting (and its variants) [7, 9, 16, 19, 33]; the complexity of control in various scenarios has been thoroughly analyzed for Copeland [9, 24]; maximin [23, 45, 47, 61]; kveto and kapproval [39, 43, 46, 62]; Bucklin and fallback voting [16, 17, 20, 22], range voting and normalized range voting [48], and Schulze voting [49, 54]. Among these voting rules, fallback voting (a hybrid system due to Brams and Sanver [10] that combines Bucklin with approval voting) and normalized range voting (both will be defined in Sect. 3) are special in that they are the only two natural voting rules with a polynomialtime winner problem that are currently known to have the most resistances to standard control attacks. “Standard control” here refers to control by adding, deleting, or partitioning either candidates or voters because these are the control types originally introduced by Bartholdi, Tovey, and Trick [7].^{Footnote 1}
On the other hand, the computational complexity of replacing either candidates or voters—the control action we mostly focus on—was first studied by Loreggia et al. [40,41,42,43]. Replacement control models voting situations in which the number of candidates or voters are predefined and cannot be changed by the chair. For instance, a parliament often consists of a fixed number of seats whose occupants must be replaced if they are removed from their seats. From another viewpoint, the chair might try to veil his or her election tampering via replacement control actions by making sure that the number of participating candidates and voters is the same as before, hoping that the election might appear to be unchanged at first glance. There are also other types of electoral control, such as more natural models of control by partition introduced by Erdélyi, Hemaspaandra, and Hemaspaandra [18], but we will not consider those in this paper.
Compared with the standard control types (adding/deleting/partitioning voters or candidates), much less is known for the control action of replacing voters or candidates. It can be seen as a combination of adding and deleting them, with the additional constraint that the same number of voters/candidates must be added as have been deleted. Other types of combining standard control attacks, namely multimode control, have been investigated by Faliszewski, Hemaspaandra, and Hemaspaandra [23]. In their model, an external agent is allowed to perform different types of control actions at once such as deleting and/or adding voters and/or candidates. Although some types of multimode control seem to be similar to replacement control, the key difference lies in the tightly coupled control types of replacement control, whereas in multimode control the combined types of standard electoral control can often be handled separately. This leads to the interesting and subtle situation that resistances of voting rules to certain types of standard control do not transfer trivially to related types of replacement control, whereas this indeed can happen for multimode control.
The reader may ask, why do we need yet another paper on the complexity of control? That is, what is the main motivation for the research presented here? Well, the answer is twofold.
First, from a theoretical perspective, it is unsatisfactory that our knowledge about the complexity of control is still incomplete; there are several important voting rules for which we still have some unsolved open cases regarding certain control actions, especially for replacement control. In this paper, we are filling many of these gaps (see Sect. 2and, in particular, Table 1for the details).
Second, from a practical perspective, a designer of a multiagent system will have to have a careful look at which specific application of voting is planned in his or her system and which strategic scenarios the system will most likely be attacked with. Then, to make a reasonable decision as to which voting rule to choose, the designer will have to know the computational (and other) properties of these strategic (e.g., control) actions against his or her system for the various voting rules. The more complete our knowledge is about the complexity of control scenarios for the most commonly used voting rules, the better will be the designer’s decision and the better will be the multiagent system.
Overview of the paper:
Before diving into the technical details of our results, we give an overview of our main contributions in Sect. 2. In Sect. 3, we define the voting rules and control problems to be studied, fix our notation, and give some background on computational complexity. We then study the complexity of various control scenarios for Copeland\(^{\alpha }\) in Sect. 4, maximin in Sect. 5, kveto in Sect. 6, plurality with runoff and veto with runoff in Sect. 7, Condorcet in Sect. 8, fallback in Sect. 9, and for range voting and normalized range voting in Sect. 10. Finally, we conclude in Sect. 11.
Our main contributions
In the following, we highlight our main contributions in detail and compare them with the related work to demonstrate how our contributions have improved the state of the art in electoral control. Table 1 gives an overview of previously known and our new results on the complexity of control by replacing, adding, and deleting either candidates or voters for numerous voting rules. For the formal definition of voting rules and control scenarios mentioned and for the notation of control problems, such as CCAV, the reader is referred to Sect. 3.

Faliszewski et al. [24] and Loreggia [40] investigated the complexity of control in Copeland\(^{\alpha }\) elections, leaving open the case of destructive control by replacing voters for any rational \(\alpha \), where \(0\le \alpha \le 1\). We settle this open problem.

Faliszewski, Hemaspaandra, and Hemaspaandra [23] and Maushagen and Rothe [45, 47] investigated the complexity of control in maximin elections but focused on standard control types (i.e., on the cases of constructive and destructive control by adding, deleting, and partitioning either candidates or voters). This leaves the corresponding cases of control by replacing candidates or voters open. We solve these problems. Moreover, we also solve a more general problem called exact destructive control by adding and deleting candidates, a special form of multimode control.

Lin [39] and Loreggia et al. [43] focused on control in kveto (see also the work of Maushagen and Rothe [46] on control in veto elections). Open cases are constructive control by replacing voters in kveto elections for \(k\ge 2\). We solve these open cases, providing a dichotomy result for kveto with respect to the values of k.

The standard control scenarios were studied by Bartholdi, Tovey, and Trick [7] and Hemaspaandra, Hemaspaandra, and Rothe [33] for Condorcet voting, by Erdélyi et al. [16, 17, 20, 22] for fallback elections, and by Menton [48] for range voting and normalized range voting, leaving open for all these rules the cases of constructive and destructive control by replacing either candidates or voters.

Finally, we investigate the complexity of control for two common voting rules that, somewhat surprisingly, have not been considered yet in the literature, namely plurality with runoff and veto with runoff.
Preliminaries
An election E is given by a pair \(E=(C, V)\), where C is a finite set of candidates and V is a finite multiset of votes. Voters typically^{Footnote 2} express their preferences over the candidates by linear orders over C, such as \(c \ b \ a \ d\) for \(C=\{a,b,c,d\}\), where the leftmost candidate is the most preferred one by this voter and preference (strictly) decreases from left to right. When a subset \(X \subseteq C\) of candidates occurs in a vote (e.g., \(c \ X \ d\) for \(X = \{a, b\}\)), this means that the candidates in X are ranked in this vote according to a fixed order (e.g., assuming the lexicographic order, \(c \ X \ d\) stands for \(c \ a \ b \ d\)). A voting rule (or, more technically, a voting correspondence) \({\tau }\) maps each election (C, V) to a subset \(W \subseteq C\) of the candidates, called the \({\tau }\) winners (or simply the winners if \(\tau \) is clear from the context) of (C, V).
For an election \(E=(C, V)\) and two candidates \(a, b\in C\), let \(N_E(a, b)\) be the number of voters preferring a to b. We drop E from the notation if it is clear from the context. Furthermore, for any set X (e.g., of candidates or voters), let X denote the cardinality of X. For ease of exposition, in this paper we exchangeably use the words vote and voter.
Letting \(E=(C, V)\) be a given election, we consider the following voting rules.
 Copeland\(^{\alpha }\):

For each pairwise comparison between any two candidates, say a and b, if \(N_E(a,b)>N_E(b,a)\), a receives one point and b zero points. If \(N_E(a,b)=N_E(b,a)\), both a and b receive \(\alpha \) points, where \(\alpha \in [0,1]\) is a rational number. The Copeland\(^{\alpha }\) score of any candidate c is the total number of points c receives from all votes in the election, and all candidates with the highest Copeland\(^{\alpha }\) score win.
 Maximin:

The maximin score of a candidate \(a\in C\) is defined as \(\min _{b\in C\setminus \{a\}}N_E(a,b)\), and all candidates with the highest maximin score wins.
 kApproval:

Each voter gives one point to every candidate in the topk positions, and all candidates with the highest score win. In particular, 1approval is often referred to as plurality voting in the literature.
 kVeto:

A candidate gains a point from each vote in which he or she is ranked higher than in the last k positions (i.e., the candidates in the last k positions are vetoed), and all candidates with the highest score win. In particular, 1veto is simply referred to as veto.
 Plurality with Runoff (PRun):

Each voter only approves of his or her topranked candidate. If there is a candidate c who is approved by every voter, then c is the unique winner. Otherwise, this voting rule takes two stages to select the winner. In the first stage, all candidates except the two who receive the, respectively, most and secondmost approvals are eliminated from the election. If more than two candidates have the same highest total approvals, a tiebreaking rule is applied to select exactly two of them, and if there is one candidate with the most approvals but several candidates with the secondmost approvals, a tiebreaking rule is used to select exactly one of those with the secondmost approvals. Then the remaining two candidates, say c and d, compete in the second stage (runoff stage). In particular, if \(N_E(c, d)>N_E(d,c)\) then c wins; and if \(N_E(d, c)>N_E(c,d)\) then d wins. Otherwise, a tiebreaking rule applies to determine the winner between c and d.
 Veto with Runoff (VRun):

Each voter vetoes exactly the lastranked candidate. This voting rule is defined similarly to PRun, with a slight difference in the first stage: all candidates except the two candidates who have the least and secondleast vetoes are eliminated from the election (again applying a tiebreaking rule if necessary).
 Condorcet:

A Condorcet winner is a candidate c who beats all other candidates in pairwise contests, i.e., for each other candidate d, it holds that \(N_E(c,d)> N_E(d,c)\). Note that a Condorcet winner does not always exist, but if there is one, he or she is unique.
 Fallback:

In a fallback election (C, V), each voter v submits his or her preferences as a subset of candidates \(S_v \subseteq C\) that he or she approves of and, in addition, a strict linear ordering of the approved candidates. For instance, if a voter v approves of the candidates \(S_v = \{c_1,...,c_k\} \subseteq C\) and orders them lexicographically, his or her vote would be denoted as \(c_1 \ \cdots \ c_k \  \ C\setminus S_v\). Let \( score _{(C,V)}(c)=\{v\in V \mid c\in S_v\} \) be the number of approvals of c and \( score _{(C,V)}^{i}(c)\) be the number of level i approvals of c (i.e., the number of voters who approve of c and rank c in their top i positions). For convenience, let \( score _{(C,V)}^{0}(c)=0\) for every \(c \in C\). The fallback winner(s) will then be determined as follows:

1.
A candidate c is a level \(\ell \) winner if \( score _{(C,V)}^{\ell }(c) > \nicefrac { V}{2}\). Letting i be the smallest integer such that there is a level i winner, all candidates with the most level i approvals win.

2.
If there is no fallback winner on any level, all candidates with the most approvals win.
 Range Voting:

Instead of a linear order over the m candidates, each voter is associated with a sizem vector \(v \in \{0,1,\dots ,k\}^m\) describing the points the voter gives to each candidate. The number k is the maximum number of points a voter can give to a candidate, i.e., in such a krange election, every voter gives at most k points to a candidate. The krangevoting winners are the candidates with the most points in the given krange election. 1range voting is also known as approval voting.
 Normalized Range Voting:

Similarly to range voting, each voter is associated with a sizem vector \(v \in \{0,1,\dots ,k\}^m\). Additionally, each voter’s vote is normalized to the range of 0 to k in the following way. For each candidate c, let s be the number of points this candidate gains from the voter and \(s_{\text {min}}\) and \(s_{\text {max}}\) be the minimal and maximal score the voter gives to any candidate. Then the normalized score that v gives to c is \(\frac{k(ss_{\text {min}})}{s_{\text {max}}s_{\text {min}}}\). Note that if \(s_{\text {max}} = s_{\text {min}}\), the voter is indifferent to all candidates and can therefore be ignored. Again, the knormalizedrangevoting winners are the candidates with the most normalized points in the given krange election.
We study various control problems that can be considered as special cases of the following problem [23], which is defined for a given voting rule \(\tau \).
\(\tau \)ConstructiveMultimodeControl  

Input:  An election \((C \cup D,V \cup W)\) with a set C of (registered) candidates,\(^{3}\) a set D of as yet unregistered candidates, a list V of registered voters, a list W of as yet unregistered voters, a distinguished candidate \(c \in C\), and four nonnegative integers \(\ell _{\text {AV}}\), \(\ell _{\text {DV}}\), \(\ell _{\text {AC}}\), and \(\ell _{\text {DC}}\), with \(\ell _{\text {AV}}\le W\), \(\ell _{\text {DV}}\le V\), \(\ell _{\text {AC}} \le D\), and \(\ell _{\text {DC}} \le C\). 
Question:  Are there \(V' \subseteq V\), \(W' \subseteq W\), \(C' \subseteq C\setminus \{c\}\), and \(D' \subseteq D\) such that \(V' \le \ell _{\text {DV}}\), \(W'\le \ell _{\text {AV}}\), \(C'\le \ell _{\text {DC}}\), \(D'\le \ell _{\text {AC}}\), and c is a \(\tau \) winner of the election \(((C \setminus C')\cup D',(V \setminus V') \cup W')\)? 
In \(\tau \)DestructiveMultimodeControl, we ask whether there exist subsets \(V'\), \(W'\), \(C'\), and \(D'\) as in the above definition such that c is not a \(\tau \) winner in \(((C \setminus C')\cup D',(V \setminus V') \cup W')\).
We will study several special cases or restricted versions of multimode control, such as adding, deleting, or replacing either candidates or voters. Table 2 gives an overview of the restrictions compared to the general multimode control problem.
Throughout the paper, we will use a fourletter code to denote our problems. The first two characters CC/DC stand for constructive/destructive control, the third character A/D/R stands for adding/deleting/replacing, and the last one V/C for voters/candidates. For example, DCRV stands for destructive control by replacing voters. For simplicity, in each problem in the above table, we use \(\ell \) to denote the integer(s) in the input that is not necessarily required to be 0. For example, when considering CCRV, we use \(\ell \) to denote \(\ell _{\text {AV}}=\ell _{\text {DV}}\). As mentioned in the introduction, since the seminal work of Bartholdi, Tovey, and Trick [7] control by adding and deleting candidates or voters has been extensively studied in the literature (see, e.g., [11, 17, 34, 44, 49, 60, 62]). However, the complexity of control by replacing candidates or voters has been introduced and studied just recently by Loreggia et al. [40,41,42,43].
We remark that our proofs are based on the nonuniquewinner model but can be modified to work for the uniquewinner model of the control problems as well.^{Footnote 3}
We assume the reader to be familiar with the basics of complexity theory, such as the complexity classes \(\mathrm {P}\) and \(\mathrm {NP}\) and the notions of \(\mathrm {NP}\)hardness and \(\mathrm {NP}\)completeness under (polynomialtime manyone) reductions. We refer to Tovey’s tutorial [58] for a concise introduction to complexity theory and to the books by Arora and Barak [2], Garey and Johnson [27], and Rothe [56] for more comprehensive discussions.
We call a voting rule immune to a type of control if it is never possible for the chair to reach his or her goal by this control action; otherwise, the voting rule is said to be susceptible to this control type. A susceptible voting rule is said to be vulnerable to this control type if the associated control problem is in \(\mathrm {P}\), and it is said to be resistant to it if the associated control problem is \(\mathrm {NP}\)hard. Note that all considered control problems are easily seen to be in \(\mathrm {NP}\), so any resistance result immediately implies \(\mathrm {NP}\)completeness, and we only provide the \(\mathrm {NP}\)hardness proofs since membership of these problems in \(\mathrm {NP}\) is easy to check. Our \(\mathrm {NP}\)hardness results are mainly based on reductions from the RestrictedExactCoverBy3Sets (RX3C) problem [29] and the HittingSet problem [37]:
RestrictedExactCoverBy3Sets (RX3C)  

Input:  A set \(U=\{u_1,\ldots ,u_{3\kappa }\}\) and a collection \(\mathscr {S}=\{S_1,\ldots ,S_{3\kappa }\}\) of 3element subsets of \(U\) such that each \(u\in U\) occurs in exactly three subsets \(S\in \mathscr {S}\). 
Question:  Does \(\mathscr {S}\) contain an exact 3set cover for \(U\), i.e., a subcollection \(\mathscr {S}'\subseteq \mathscr {S}\) such that every element of \(U\) occurs in exactly one member of \(\mathscr {S}'\)? 
If we do not request every \(u\in U\) to occur in exactly three elements of \(\mathscr {S}\) in the RX3C problem, we obtain the generalized X3C problem.
HittingSet  

Input:  A set \(U=\{u_1,\ldots ,u_{s}\}\) with \(s\ge 1\), a family \(\mathscr {\mathscr {S}}=\{S_1,\ldots ,S_t\}\) of nonempty subsets \(S_i\subseteq U\), and an integer \(\kappa \) with \(1\le \kappa \le s\). 
Question:  Is there a subset \(U' \subseteq U\), \(U'\le \kappa \), such that each \(S_i \in \mathscr {S}\) is hit by \(U'\) (i.e., \(S_i \cap U' \ne \emptyset \) for all \(S_i \in \mathscr {S}\))? 
Note further that all voting rules considered here are susceptible to the control scenarios we study. Since the corresponding proofs can be easily obtained by appropriate examples, we will omit them in most cases. The only exceptions are Condorcet and range voting: While among the voting rules we consider these two are the only ones that are immune to some of the standard control scenarios (namely, to constructive control by adding candidates [7, 48] and to destructive control by deleting candidates [33, 48]), we will explicitly show that susceptibility holds in these control scenarios for Condorcet (see Example 1) and range voting (see Example 2).
Assuming that the reader is familiar with graph theory (see also the books by BangJensen and Gutin [4] and West [59]), we will in some proofs make use of the following problems to show membership in \(\mathrm {P}\).
IntegralMinimumCostFlow (IMCF)  

Input:  A network \(G=(V,E)\), capacity functions \(b_{\alpha }, b_{\beta }: E \rightarrow {\mathbb {N}}_0\), a source vertex \(x\in V\), a sink vertex \(y\in V\setminus \{x\}\), a cost function \(g: E\rightarrow N_0\), and an integer r. 
Task: 
Find a minimum cost flow from x to y of value r. Recall that a flow f is a function assigning to each arc \((u,v)\in E\) an integer number \(f (u,v)\) such that (1) \(b_{\alpha } (u,v)\le f (u,v)\le b_{\beta } (u,v)\); and (2) for every node v except x and y, it holds that \(\sum _{(u,v)\in E} f (u,v)=\sum _{(v,u)\in E} f (v,u)\).Footnote
For simplicity, we write \(b_{\alpha } (u,v)\) for \(b_{\alpha } ((u,v))\), \(b_{\beta } (u,v)\) for \(b_{\beta }((u,v))\), and \(g (u,v)\) for \(g((u,v))\) throughout this paper. The cost of a flow f is \(\sum _{(u,v)\in E} f (u,v) \cdot g (u,v)\), and the value of f is \(\sum _{(x,v)\in E} f (x,v)\). 
In the above definitions, \(b_{\alpha }\) and \(b_{\beta }\) are called the lowerbound capacity and the upperbound capacity, respectively. The IMCF problem is wellknown to be polynomialtime solvable [1].
bEdgeCover (bEC)  

Input:  An undirected multigraph \(G=(V,E)\) without loops, two capacity functions \(b_{\alpha }, b_{\beta }:V \rightarrow {\mathbb {N}}_0\), and an integer r. 
Question:  Is there a bedge cover in G of size at most r, i.e., a subset \(E'\subseteq E\) of at most r edges such that each node \(v \in V\) is incident to at least \(b_{\alpha }(v)\) and at most \(b_{\beta }(v)\) edges in \(E'\)? 
The bEC problem is also known to be polynomialtime solvable [26, 30].
Copeland\(^{\alpha }\) voting
We start by completing our knowledge on control complexity in Copeland\(^{\alpha }\) elections. Previously, Faliszewski et al. [24] and Loreggia [40] investigated the complexity of control in Copeland\(^{\alpha }\) elections, leaving open the cases of destructive control by replacing voters and of constructive and destructive control by replacing candidates. In this section, we fill the gaps. We refer to Table 3 for a summary of our results in this section.
Definition 1
(Lang, Maudet, and Polukarov [38]) A voting rule satisfies Insensitivity to Bottomranked Candidates (IBC) if for any election with at least two candidates, the winners do not change after deleting a subset of candidates who are ranked after all other candidates in all votes.
Note that both Copeland\(^{\alpha }\) and maximin satisfy IBC. Loreggia et al. [42, 43] established the following relationship between CCRC and CCDC, and between DCRC and DCDC.
Lemma 1
(Loreggia et al. [42, 43]) Let \(\tau \) be a voting rule satisfying IBC. Then \(\tau \)CCRC is \(\mathrm {NP}\)hard if \(\tau \)CCDC is \(\mathrm {NP}\)hard, and \(\tau \)DCRC is \(\mathrm {NP}\)hard if \(\tau \)DCDC is \(\mathrm {NP}\)hard.
By Lemma 1 and the facts that Copeland\(^{\alpha }\) satisfies IBC and that, as shown by Faliszewski et al. [24], Copeland\(^{\alpha }\)CCDC is \(\mathrm {NP}\)hard for any rational \(\alpha \) with \(0\le \alpha \le 1\), we have the following result.
Corollary 1
For any rational \(\alpha \) with \(0\le \alpha \le 1\), Copeland\(^{\alpha }\)CCRC is \(\mathrm {NP}\)complete.
However, for each rational \(\alpha \) with \(0\le \alpha \le 1\), Copeland\(^{\alpha }\)DCDC is not \(\mathrm {NP}\)hard but in \(\mathrm {P}\) [24], so Lemma 1 does not imply \(\mathrm {NP}\)hardness of Copeland\(^{\alpha }\)DCRC. In fact, we now show that this problem can be solved in polynomial time.
Theorem 1
For any rational \(\alpha \) with \(0\le \alpha \le 1\), Copeland\(^{\alpha }\)DCRC is in \(\mathrm {P}\).
Proof
To show membership in \(\mathrm {P}\), we will provide an algorithm that runs in polynomial time. Given a Copeland\(^{\alpha }\)DCRC instance \(((C \cup D,V),c, \ell )\), we first check the trivial case, and immediately accept if c is already not winning the election (C, V). Otherwise, for any two candidates \(c_1,c_2\in C \cup D\), let \(\text {Score}(c_1,c_2)\) be the number of points \(c_1\) receives by \(c_2\)’s presence in the election (i.e., \(\text {Score}(c_1,c_2)\) = 1 if \(N_{(C\cup D,V)}(c_1,c_2) > N_{(C\cup D,V)}(c_2,c_1)\), \(\text {Score}(c_1,c_2) = \alpha \) if \(N_{(C\cup D,V)}(c_1,c_2) = N_{(C\cup D,V)}(c_2,c_1)\), and \(\text {Score}(c_1,c_2) = 0\) otherwise).^{Footnote 5} We now try to find a candidate \(d \in (C \cup D) \setminus \{c\}\) and an integer \(\ell '\) with \(1\le \ell '\le \ell \) so that d beats c by replacing \(\ell '\) candidates. For a pair \((d,\ell ')\), we can check if this is possible in polynomial time in the following way. Firstly, we compute \(\text {Score}(c,e)\) and \(\text {Score}(d,e)\) for every \(e \in (C\cup D)\setminus \{c,d\}\). Then we sort \(C \setminus \{c,d\}\) in decreasing order according to \(\text {Score}(c,e)  \text {Score}(d,e)\) for each candidate \(e \in C \setminus \{c,d\}\) and let \(C'\subseteq C\setminus \{c,d\}\) contain the first \(\ell '\) candidates according to this ordering. Furthermore, we sort \(D \setminus \{d\}\) in decreasing order according to \(\text {Score}(d,e)  \text {Score}(c,e)\) and let \(D'\subseteq D\setminus \{d\}\) contain the first \(\ell '\) candidates according to this ordering if \(d \notin D\) and the first \(\ell '  1\) candidates according to this ordering if \(d \in D\). We then check if c is not winning in \(((C \setminus C') \cup D' \cup \{d\},V)\).
Correctness of the algorithm follows from the fact that we iterate over all possible candidates that can prevent c from winning and all possible numbers of replacements we may need to this end, and then check whether we can be successful by adding and deleting the most optimal candidates in regards to how they affect the points balance of c and the candidate that should beat c after this replacement.
To see that the above algorithm runs in polynomial time, note that we can iterate over all pairs of candidates and replacements in \(O(C\cup D\ell )\) time and checking whether a pair is successful takes \(O(C\text {log}(C)+D\text {log}(D))\) time for sorting and choosing the subsets and polynomial time for winner determination. \(\square \)
It remains to handle the case of destructive control by replacing voters. We solve it in the following theorem.
Theorem 2
For any rational \(\alpha \) with \(0\le \alpha \le 1\), Copeland\(^{\alpha }\)DCRV is \(\mathrm {NP}\)complete.
Proof
Our proof is a slight modification of the proof of Theorem 4.17 (showing that for every rational number \(\alpha \) such that \(0\le \alpha \le 1\), Copeland\(^{\alpha }\)CCAV is \(\mathrm {NP}\)complete) given by Faliszewski et al. [24], with the only difference that there are a number of new registered votes. In particular, from an instance \((U, \mathscr {S})\) of the RX3C problem, it is shown by Faliszewski et al. [24] that an instance of CCAV with the following property can be constructed in polynomial time.^{Footnote 6} Let \(U=\mathscr {S}=3\kappa \). The candidate set is
where D is a set of \(t\) padding candidates with \(t\) a sufficiently large integer but bounded by a polynomial in \(\kappa \) (e.g., \(t=9(\kappa +1)^3\)). The multiset V of registered votes are constructed so that, with respect to these registered votes, the Copeland\(^{\alpha }\) scores of p is \(t\), of r is \(t+3\kappa \), and of every other candidate is at most \(t1\). Moreover, it holds that

\(N_{(C, V)}(s, p)N_{(C, V)}(p, s)=\kappa 1\),

\(N_{(C, V)}(r, u)N_{(C, V)}(u, r)=\kappa 3\) for every \(u\in U\), and

\(N_{(C, V)}(c, c')N_{(C, V)}(c', c)\ge \kappa +1\) for all other pairs of candidates c and \(c'\) in C. (\(N_{(C, V)}(c, c')N_{(C, V)}(c', c)\) is the absolute value of \(N_{(C, V)}(c, c')N_{(C, V)}(c', c)\).)
We refer to [24] for the details of how these votes are created. In addition to the above registered votes, we add the following registered votes. First, for every two candidates \(c, c'\in C\) such that \(N_{(C, V)}(c, c')N_{(C, V)}(c', c)\ge \kappa +1\), we add \(2\kappa \) registered votes, among which \(\kappa \) of them are of the form \(c\ c'\ C\setminus \{c, c'\}\) and the other \(\kappa \) of them are of the form \(\overrightarrow{C\setminus \{c, c'\}}\ c\ c'\), where \(\overrightarrow{C\setminus \{c, c'\}}\) is the reversal of \({C\setminus \{c, c'\}}\). Let \(V_1\) be the multiset of the above newly added votes. Then we add a multiset \(V_2\) of \(\kappa \) votes, each of which ranks r in the top, ranks p in the last place, and ranks s just before p. (Other candidates are ranked arbitrarily between r and s.) For notational brevity, let us redefine \(V:=V\cup V_1\cup V_2\) as the multiset of all registered votes hereinafter in the proof. Then it is fairly easy to check that the following conditions hold.

The Copeland\(^{\alpha }\) scores of all candidates remain the same as before the creation of \(V_1\cup V_2\);

\(N_{(C, V)}(s, p)N_{(C, V)}(p, s)=2\kappa 1\);

\(N_{(C, V)}(r, u)N_{(C, V)}(u, r)=2\kappa 3\) for every \(u\in U\); and

\(N_{(C, V)}(c, c')N_{(C, V)}(c', c)\ge 2\kappa +1\) holds for all other pairs of candidates c and \(c'\) not specified above.
The unregistered votes are constructed according to \(\mathscr {S}\). Precisely, for every \(S\in \mathscr {S}\), there is an unregistered vote with the following preference:
Let W denote the set of all unregistered votes. Additionally, we set \(\ell =\kappa \). Finally, we let r be the distinguished candidate (who is the current winner).
We move on to the proof for the equivalence of the two instances.
(\(\Rightarrow \)) Assume that \(U\) admits an exact set cover \(\mathscr {S}'\subseteq \mathscr {S}\). Let \(W'\subseteq W\) be the set of unregistered votes corresponding to \(\mathscr {S}'\). We claim that after replacing \(V_2\) with \(W'\), r is not a winner anymore. Let \(E=(C, V\setminus V_2\cup W')\). Observe that if \(N_{(C, V)}(c, c')N_{(C, V)}(c', c)>2\kappa +1\), then c still beats \(c'\) in E, as we replace at most \(\kappa \) votes. As \(\mathscr {S}'\) is an exact set cover of \(U\), for every \(u\in U\), there are exactly \(\kappa 1\) votes in \(W'\) which rank \(u\) above r. In addition, as \(N_{(C, V)}(r, u)=2\kappa 3\) holds for every \(u\in U\) and all votes in \(V_2\) rank r in the first place, we know that r is beaten by all candidates in \(U\) in the election E. So, the Copeland\(^{\alpha }\) score of r decreases to t in E. Moreover, as all votes in \(V_2\) rank s above p, all votes in \(W'\) rank p in the top, and \(N_{(C, V)}(s, p)N_{(C, V)}(p, s)=2\kappa 1\), we have that \(N_E(p, s)N_E(s, p)=1\), i.e., in the election E the candidate p beats s. Therefore, the Copeland\(^{\alpha }\) score of p in E increases to \(t+1\). Clearly, r is no more a winner in E.
(\(\Leftarrow \)) Assume that there are \(V'\subseteq V\) and \(W'\subseteq W\) such that \(V'=W'\le \kappa \), and r is not a winner in the election \(E=(C, V\setminus V'\cup W')\). As pointed out above, if \(N_{(C, V)}(c, c')N_{(C, V)}(c', c)\ge 2\kappa +1\), then c still beats \(c'\) after replacing at most \(\kappa \) votes. This means that replacing at most \(\kappa \) votes can only change the Copeland\(^{\alpha }\) scores of p, s, and r (see the above conditions). More importantly, between p and s, as all unregistered votes rank s in the last place, replacing at most \(\kappa \) votes does not increase the score of s. Moreover, as \(N_{(C, V)}(r, c')N_{(C, V)}(c', r)\ge 2\kappa +1\) for all other candidates \(c'\in C\setminus U\), replacing at most \(\kappa \) votes can only change the headtohead comparisons between r and candidates in \(U\). This implies that in the election E, r has Copeland\(^{\alpha }\) score at least t. Therefore, we know that p is the only candidate that prevents r from winning in E. Then, as \(N_{(C, V)}(p, c)N_{(C, V)}(c, p)\ge 2\kappa 1\) for all candidates \(c\in C\setminus \{p, s\}\), the Copeland\(^{\alpha }\) score of p in E can be at most \(t+1\). This implies that the Copeland\(^{\alpha }\) score of r in E is exactly t. As the comparisons between r and any of the other candidates in \(C\setminus U\) do not change by replacing at most \(\kappa \) votes, this is possible only when r is beaten by everyone in \(U\) in the election E. This means that for every \(u\in U\), there are at least \(\kappa 1\) votes in \(W'\) which rank \(u\) above r. Due to the construction of the unregistered votes, for each \(S\in \mathscr {S}\) that corresponds to an unregistered vote ranking \(u\) above r, it holds that \(u\not \in S\). As this holds for all \(u\in U\) and \(W'\) contains at most \(\kappa \) votes, we can conclude that the subcollection of \(\mathscr {S}\) corresponding to \(W'\) is an exact set cover of \(U\). \(\square \)
Maximin voting
Let us now turn to maximin voting. Faliszewski, Hemaspaandra, and Hemaspaandra [23] have already investigated the complexity of constructive and destructive control by adding and deleting either candidates or voters. Maushagen and Rothe [45, 47] settled all cases of constructive and destructive control by partitioning either candidates or voters. We will complete the picture on control in maximin elections by providing results on constructive and destructive control by replacing either candidates or voters. Our results in this section are summarized in Table 4.
It is known that constructive control by deleting candidates for maximin is polynomialtime solvable [23]. Hence, assuming \(\mathrm {P}\ne \mathrm {NP}\), Lemma 1 cannot be used to obtain \(\mathrm {NP}\)hardness of MaximinCCRC. However, as stated below, Loreggia [42] introduced another useful lemma.
Definition 2
A voting rule is said to be unanimous if whenever the same candidate is ranked in the top position in all votes, this candidate wins.
Lemma 2
(Loreggia [42]) Let \(\tau \) be an unanimous voting rule that satisfies IBC. If \(\tau \)CCAC is \(\mathrm {NP}\)hard, then \(\tau \)CCRC is \(\mathrm {NP}\)hard.
Due to this lemma and the facts that (1) maximin is unanimous; (2) maximin satisfies IBC; and (3) MaximinCCAC is \(\mathrm {NP}\)complete [23], we have
Corollary 2
MaximinCCRC is \(\mathrm {NP}\)complete.
The following theorem handles constructive and destructive control by replacing voters. Our proof is a modification of the proof of constructive control by adding voters in maximin [23]. In the following, for two subsets A and B of candidates and a linear order over candidates, \(A\ B\) means that \(a\ b\) for every \(a\in A\) and \(b\in B\).
Theorem 3
MaximinCCRV and MaximinDCRV are \(\mathrm {NP}\)complete.
Proof
We start with the constructive case. Let \((U, \mathscr {S})\) be a given RX3C instance such that \(U=\mathscr {S}=3\kappa \). We construct the following MaximinCCRV instance. Let the set of candidates be \(C=U\cup \{c,d\}\) such that \(\{c,d\}\cap U=\emptyset \). The distinguished candidate is c. The registered votes are as follows:

there are \(3\kappa +1\) votes of the form \(d \ U \ c\);

there are \(\kappa \) votes of the form \(c \ U \ d\); and

there are \(\kappa \) votes of the form \(c \ d \ U\).
Let V denote the multiset of the above \(5\kappa +1\) registered votes. The headtohead comparisons of candidates (i.e., \(N_{(C, V)}(c, c')\) for all \(c, c'\in C\)) and their maximin scores with respect to the registered votes are summarized in Table 5.
Moreover, for each \(S\in \mathscr {S}\), we create an unregistered vote in W of the form
We use \(v(S)\) to denote this vote. Finally, we set \(\ell =\kappa \), i.e., we are allowed to replace at most \(\kappa \) voters.
The above MaximinCCRV instance clearly can be constructed in polynomial time. We claim that we can make c the winner of the election by replacing up to \(\kappa \) voters if and only if \(\mathscr {S}\) contains an exact set cover of \(U\).
\((\Rightarrow )\) Assume that \(U\) admits an exact set cover \(\mathscr {S}'\subseteq \mathscr {S}\). Let \(W'=\{v(S) \mid S\in \mathscr {S}'\}\) be the set of the unregistered votes corresponding to this exact set cover. Clearly, \(W'=\mathscr {S}'=\kappa \). Let \(V'\) be a multiset of \(\kappa \) registered votes of the form \(d\ U\ c\). We claim that c becomes a winner in the election \(E'=(C, (V\setminus V')\cup W')\). Let us now analyze the maximin scores of the candidates in \(E'\). First, as all votes in \(W'\) rank c above d, and all votes in \(V'\) rank c in the last position, it holds that \(N_{E'}(c, d)=2\kappa 0+\kappa =3\kappa \). As \(\mathscr {S}'\) is an exact set cover of \(U\), for every candidate \(u\in U\) there is exactly one vote, namely, the vote \(v(S)\) such that \(u\in S\), which ranks c above \(u\) and is contained in \(V'\). In addition, as all votes in \(V'\) rank c in the end, we know that \(N_{E'}(c, u)=2\kappa +1\) for every \(u\in U\). So, the maximin score of c in the election \(E'\) increases from \(2\kappa \) to \(2\kappa +1\). Now we start the analysis for the candidate d. As all votes in \(W'\) rank d in the last position and all votes in \(V'\) rank d in the first position, the maximin score of d in \(E'\) decreases from \(3\kappa +1\) to \(2\kappa +1\). As the maximin score of every candidate \(u\in U\) is at most \(\kappa \) with respect to V, and we are allowed to replace at most \(\kappa \) votes, the maximin score of \(u\) in \(E'\) can be at most \(2\kappa \). In summary, c and d are the only two candidates having the maximum maximin score in \(E'\), and hence c is a winner in \(E'\).
\((\Leftarrow )\) Assume that there is a subset \(V'\subseteq V\) and a subset \(W'\subseteq W\) such that \(V'=W'\le \kappa \) and c wins the election \((C, (V\setminus V')\cup W')\). Let \({\hat{E}}=(C, (V\setminus V')\cup W')\), and let \(\mathscr {S}'=\{S\in \mathscr {S}\mid v(S)\in W'\}\). An important observation is that the maximin score of c in \({\hat{E}}\) can be at most \(2\kappa +1\). In fact, no matter which up to \(\kappa \) unregistered votes are included in \(W'\), there is at least one candidate \(u\in U\) such that there is at most one unregistered vote in \(W'\) which ranks c above \(u\), implying that \(N_{{\hat{E}}}(c, u)\le 2\kappa +1\). From this observation, we know that \(V'\) must consist of exactly \(\kappa \) votes and, moreover, all votes in \(V'\) must rank d above c, since otherwise d would have maximin score at least \(3\kappa +1(\kappa 1)= 2\kappa +2\) in \({\hat{E}}\), contradicting that c is a winner in \({\hat{E}}\). This means that \(V'\) consists of exactly \(\kappa \) registered votes of the form \(d\ U\ c\). Now the maximin score of d in \({\hat{E}}\) is determined as \(3\kappa +1\kappa =2\kappa +1\). We claim that \(\mathscr {S}'\) is an exact set cover of \(U\). For the sake of contradiction, assume that this is not the case. Then there is a candidate \(u\in U\) such that none of the sets in \(\mathscr {S}\) contains \(u\). In light of the above construction of the unregistered votes, all the \(\kappa \) votes in \(W'\) rank this particular candidate \(u\) above c, resulting in the maximin score of c in \({\hat{E}}\) being at most \(2\kappa \), contradicting that c is a winner in \(E'\).
The destructive version works identically, except that the first group of votes (i.e., votes of the type \(d\ U\ c\)) consists of \(3\kappa \) registered votes and the distinguished candidate is d. In this case, one can check that, similarly to the analysis in the above \((\Rightarrow )\) direction, after replacing \(\kappa \) registered votes of the form \(d\ U\ c\) with \(\kappa \) unregistered votes corresponding to an exact set cover of \(U\), the maximin scores of c and d are, respectively, \(2\kappa +1\) and \(2\kappa \), leading to d not being a winner anymore. For the proof of the other direction, one observes that the maximin score of d, after replacing at most \(\kappa \) votes from V and by as many votes from W, is at least \(3\kappa \kappa =2\kappa \), and the maximin score of every \(u\in U\) can be at most \(2\kappa \). This means that c is the only candidate that may have maximin score at least \(2\kappa +1\) in the final election. Analogously to the analysis in the above \((\Leftarrow )\) direction, we can show that the candidate c achieves the maximin score \(2\kappa +1\) if and only if there exists a set of \(\kappa \) unregistered votes corresponding to an exact set cover of \(U\). \(\square \)
It remains to show the complexity of destructive control by replacing candidates for maximin. In contrast to the \(\mathrm {NP}\)hardness results for the other replacing cases, we show that MaximinDCRC is polynomialtime solvable. In fact, we show \(\mathrm {P}\) membership of a more general problem called \(\tau \)ExactDestructiveControlbyAddingandDeletingCandidates, denoted by \(\tau \)EDCAC+DC, where \(\tau \) is a voting rule. In particular, this problem is a variant of \(\tau \)DestructiveMultimodeControl, where \(\ell _{\text {AV}}=\ell _{\text {DV}}=0\), \(W=\emptyset \). Moreover, it must hold that in the solution \(C'=\ell _{\text {DC}}\) and \(D'=\ell _{\text {AC}}\) (i.e., the chair deletes exactly \(\ell _{\text {DC}}\) candidates and adds exactly \(\ell _{\text {AC}}\) candidates). Note that the number of candidates added and the number of candidates deleted do not have to be the same.
Theorem 4
MaximinEDCAC+DC is in \(\mathrm {P}\).
Proof
Our input is a MaximinEDCAC+DC instance as defined above. Suppose that the chair adds exactly \(\ell _{\text {AC}}\) candidates from D and deletes exactly \(\ell _{\text {DC}}\) candidates from C. Note that \(\ell _{\text {DC}}<C\) since the chair must not delete the distinguished candidate c. Our algorithm works as follows. It checks if there is a pivotal candidate \(c'\ne c\) that beats c in the final election. In case c has maximin score at most k for some integer k in the final election, there exists some candidate \(d\in (C \cup D)\setminus \{c\}\), not necessarily different from \(c'\) with \(N(c,d)\le k\). Our algorithm checks whether there is a final election including c, \(c'\), and d, the candidate c has maximin score at most k, and \(c'\) has maximin score at least \(k+1\), where \(k \in \{0,1,\ldots ,V1\}\). Note that we may restrict ourselves to values \(k \le \left\lceil \nicefrac {V}{2}\right\rceil 1\). Otherwise, c does not lose any pairwise comparison and is a weak Condorcet winner and thus a maximin winner.
In more detail, the algorithm first tries to find the candidate \(c' \in (C \cup D)\setminus \{c\}\) and the threshold score k as discussed above, and then proceeds with the following steps.

1.
Let \(D(c')=\{d \in (C \cup D) \setminus \{c\}:~ N(c,d)\le k ~ \wedge ~ (c'=d ~ \vee ~ N(c',d)>k)\}\). If \(D(c')=\emptyset \) or \(N(c',c)\le k\), we immediately reject for the pair \((c',k)\). Otherwise, we try to find a candidate \(d \in D(c')\) (not necessarily different from \(c'\)). The candidate d has the function to fix the score of c below or equal to k. In order to keep \(c'\)’s score above the score of c, it must hold either \(c'=d\) or \(N(c',d)>k\).^{Footnote 7} We go to the next step.

2.
Check whether \(\ell _{\text {DC}} \le C1C \cap \{c',d\}\) and \(\ell _{\text {AC}} \ge D \cap \{c',d\}\). If this is the case, proceed with the next step. Otherwise, we reject because there is no way for the chair to keep both \(c'\) and d in (or to add them to) the final election.

3.
Let \(C_1=\{c'' \in C \setminus \{c,c',d\}:~ N(c',c'') \le k\}\). The candidates in \(C_1\) must all be deleted in order to keep the maximin score of \(c'\) higher than k. If \(C_1 > \ell _{\text {DC}}\), we discard this subcase and try the next triple \((c',k,d)\). Otherwise, the chair deletes all candidates in \(C_1\) and arbitrary other candidates in \(C \setminus \{c,c',d\}\) such that exactly \(\ell _{\text {DC}}\) candidates have been deleted. We go to the next step.

4.
Let \(D_1=\{a \in D \setminus \{c',d\}:~ N(c',a) > k\}\). Candidates in \(D_1\) are the only candidates which may be added and the score of \(c'\) does not decrease. Hence, if \(D_1 < \ell _{\text {AC}}D \cap \{c',d\}\), we reject for the triple \((c',k,d)\) since the chair must add some candidates leading to a lower score than \(k+1\) for \(c'\). Otherwise, we accept.
If the given instance is a YESinstance, at least one such triple \((c', k, d)\) must lead to the algorithm accepting it. However, if we are given a NOinstance, the algorithm must reject. Finally, the algorithm runs in polynomial time because there are polynomially many triples to check and each of them can be done in polynomial time as described above. \(\square \)
Note that MaximinDCRC is polynomialtime Turingreducible to MaximinEDCAC+DC. Then, from Theorem 4 we obtain the following result.
Corollary 3
MaximinDCRC is in \(\mathrm {P}\).
Theorem 4 generalizes the polynomialtime solvability results for MaximinDCAC and MaximinDCDC obtained by Faliszewski et al. [23]. We also point out that Faliszewski, Hemaspaandra, and Hemaspaandra [23] showed that MaximinCCAC\(_\text {u}\)+DC is polynomialtime solvable, where the subscript u refers to control by adding an unlimited number of candidates, as originally defined by Bartholdi, Tovey, and Trick [7]: In this case, the chair is allowed to add as many unregistered candidates as desired but can only delete a limited number of candidates.
kveto
Turning now to kveto and starting with control by replacing voters, it is known that VetoCCRV and kVetoDCRV for all possible k are polynomialtime solvable [43], which leaves open the complexity of kVetoCCRV for \(k\ge 2\). We complement these results by showing that 2VetoCCRV is polynomialtime solvable and kVetoCCRV is \(\mathrm {NP}\)complete for \(k\ge 3\), achieving a dichotomy result for constructive control by replacing voters in kveto with respect to the values of k. Our results in this section are summarized in Table 6.
As a notation, let \(V^c\) (\(W^c\)) be the set consisting of all voters in V (W) vetoing c, and define \(V^{\lnot c}=V\setminus V^c\) (\(W^{\lnot c}=W \setminus W^c\)).
Theorem 5
2VetoCCRV is in \(\mathrm {P}\).
Proof
Let \((C, V\cup W)\), \(\ell \), and \(c\in C\) be the components of a given 2VetoCCRV instance, as described in Sect. 3. Recall that c is the distinguished candidate in the input. Our algorithm distinguishes the following cases:
 Case 1::

\(V^c\le \min (\ell ,WW^c)\).
In this case, the algorithm returns “YES” since c can be made a winner with zero vetoes by replacing all registered votes vetoing c with the same number of unregistered votes not vetoing c.
 Case 2::

\(WW^c \le \min (\ell ,V^c)\).
In this case, the optimal choice for the chair is to replace \(WW^c\) voters in V vetoing c by the same number of voters from W not vetoing c. Hence, all votes in \(W^{\lnot c}\) are ensured in the final election. In addition, all votes in \(V^{\lnot c}\) are also in the final election, as none of these votes needs to be exchanged in an optimal solution. However, the chair possibly needs to exchange further \(\ell W+W^c\) Vvoters vetoing c by the same number of Wvoters vetoing c. Anyway, c has exactly
$$\begin{aligned} v_c = V^c(WW^c) = (V \cup W)^cW \end{aligned}$$vetoes in the final election. Due to these observations, the question is equivalent to searching for no more than \(v_c\) voters in \(V^c \cup W^c\) that shall belong to the final election such that at least \(\max (0,V^c\ell )\) and at most \(V^cW+W^c\) among them belong to \(V^c\). We sequentially check for the exact number \(\ell '\), where
$$\begin{aligned} \max (0,V^c\ell )\le \ell ' \le V^cW+W^c, \end{aligned}$$of Vvoters that are kept in the final election. This implies that we keep exactly \(v_c\ell '\) votes from \(W^{c}\) in the final election. Clearly, if the given instance falls into this case and is a YESinstance, at least one of these checked numbers leads to a YES answer.
In the following, we transform the instance into an equivalent bEC instance in polynomial time, thus providing a reduction from 2VetoCCRV to bEC.
For each candidate \(d \in C\setminus \{c\}\), we create a vertex d. In addition, we create two vertices \(c_V\) and \(c_W\) representing vetoes that nondistinguished candidates receive from voters in V or W vetoing c, respectively. Each voter in \(V^c\) (\(W^c\)) vetoing some candidate \(d\in C\setminus \{c\}\) and c yields an edge between d and \(c_V\) (\(c_W\)). The capacities are as follows:

\(b_{\alpha }(c_V)=b_{\beta }(c_V)=\ell '\). These capacities ensure that exactly \(\ell '\) votes from \(V^c\) are kept in the final election.

\(b_{\alpha }(c_W)=b_{\beta }(c_W)=v_c\ell '\). These capacities ensure that exactly \(v_c\ell '\) votes from \(W^c\) are kept in the final election.

\(b_{\beta }(d)=V\cup W\) and \(b_{\alpha }(d)=v_c(V^{\lnot c} \cup W^{\lnot c})^d\) for every candidate \(d\in C\setminus \{c\}\). As discussed above, all votes in \(V^{\lnot c}\cup W^{\lnot c}\) are in the final elections. These votes give \((V^{\lnot c} \cup W^{\lnot c})^d\) vetoes to the candidate d. Hence, the lowerbound capacity for d is to ensure that in the final election d has at least the same number of vetoes as c. The upperbound capacity for d is not important and can be changed to any integer that is larger than the maximum possible vetoes the candidate d can obtain.
It is fairly easy to check that there is a bedge cover with at most \(v_c\) edges if and only if c can be made a winner in the final election by replacing exactly \(V^c\ell '\) votes.
 Case 3::

\(\ell \le \min (V^c,WW^c\).
In this case, the optimal choice for the chair is to replace exactly \(\ell \) voters in V vetoing c with \(\ell \) voters from W not vetoing c. In other words, we have ensured that the final election contains all voters in \(V^{\lnot c}\), exactly \(V^c\ell \) voters in \(V^c\), and exactly \(\ell \) voters from \(W^{\lnot c}\). This observation enables us to reduce the 2VetoCCRV instance in this case to the following bEC instance.
The vertex set is \(\{c_V\} \cup (C \setminus \{c\})\), i.e., we create a vertex \(c_V\) first and then for each candidate in \(C\setminus \{c\}\) we create a vertex denoted by the same symbol. For each voter in \(V^c\) vetoing some \(d \in C\setminus \{c\}\) (and c), we create an edge \((c_V,d)\). In addition, for each voter in \(W^{\lnot c}\) vetoing two distinct candidates d and e, we create an edge \((d,e)\). The capacities of the vertices are as follows:

\(b_{\alpha }(c_V)=b_{\beta }(c_V)=V^c\ell \). This capacity makes sure that exactly \(V^c\ell \) voters from \(V^c\) remain in the final election.

For every \(d\in C\setminus \{c\}\), we set \(b_{\beta }(d)=V\cup W\) and
$$\begin{aligned} b_{\alpha }(d)=\max \left( 0, V^c\ell (V^{\lnot c})^d\right) . \end{aligned}$$The lower bound ensures that in the final election d has at least the same number of vetoes as c. Here, \((V^{\lnot c})^d\) is the number of vetoes of d obtained from voters in \(V^{\lnot c}\) which, as discussed above, are ensured in the final election. The upper bound is not very important and can be set as any integer larger than the maximum possible number of vetoes that d can obtain in the final election.
Given the above discussions, it is fairly easy to check that c can be made a winner by replacing \(\ell \) voters if and only if there is a bedge cover of size at most \(V^c\).
Each subcase can be done in polynomial time. Consequently, the overall algorithm terminates in polynomial time. Since we thus have a polynomialtime reduction from 2VetoCCRV to bEC and bEC can be solved in polynomial time, the theorem is proven. \(\square \)
We fill the complexity gap of CCRV for kveto by showing that kVetoCCRV is \(\mathrm {NP}\)complete for every \(k\ge 3\). The proof is an adaption of the \(\mathrm {NP}\)hardness proof of constructive control by adding voters for 3veto due to Lin [39].^{Footnote 8}
Theorem 6
For every constant \(k\ge 3\), kVetoCCRV is \(\mathrm {NP}\)complete.
Proof
We show our result only for \(k=3\) and argue at the end of the proof how to handle the cases \(k \ge 4\). Our proof provides a reduction from the RX3C problem. Given an instance \((U, \mathscr {S})\) of RX3C, where \(U=\mathscr {S}=3\kappa \), we construct an instance of 3VetoCCRV as follows. Let the candidate set be \(C=\{c\} \cup \{d_1,d_2,d_3\} \cup U\), where the set \(\{c, d_1,d_2, d_3\}\) is disjoint from U. The distinguished candidate is c. For ease of exposition, let \(n=3\kappa \). The multiset V consists of the following \(2n2\kappa +3\kappa n\) registered voters:

There are \(n+\kappa \) voters vetoing c, \(d_1\), and \(d_2\);

There are n voters vetoing \(d_1\), \(d_2\), and \(d_3\); and

For each \(u\in U\), there are \(n1\) voters vetoing u and any two arbitrary candidates in \(\{d_1, d_2, d_3\}\).
Note that with the registered voters, the distinguished candidate c has \(n+\kappa \) vetoes, each \(u\in U\) has \(n1\) vetoes, and \(d_i\), \(i\in \{1,2,3\}\), has at least n vetoes. Let the multiset W of unregistered voters consist of the following n voters. For each \(S\in \mathscr {S}\), there is a voter vetoing the candidates in \(S\). Finally, we are allowed to replace at most \(\kappa \) voters, i.e., \(\ell =\kappa \).
We claim that c can be made a 3veto winner by replacing at most \(\kappa \) voters if and only if an exact 3set cover of U exists.
(\(\Leftarrow \)) Assume that U has an exact 3set cover \(\mathscr {S}' \subseteq \mathscr {S}\). After replacing the \(\kappa \) votes corresponding to \(\mathscr {S}'\) from W with \(\kappa \) voters in V vetoing c, c has \((n+\kappa )\kappa =n\) vetoes, every \(u\in U\) has \((n1)+1=n\) vetoes, and each \(d_1\), \(d_2\), and \(d_3\) has at least n vetoes. Clearly, c becomes a winner.
(\(\Rightarrow \)) Assume that c can be made a 3veto winner by replacing at most \(\ell \) voters. Let \(V'\subseteq V\) and \(W'\subseteq W\) be the two multisets such that \(V'=W'\) and c becomes a winner after replacing all votes in \(V'\) with all votes in \(W'\). Observe first that \(V'\) and \(W'\) must be exactly \(\kappa \), since otherwise c has at least \(n+1\) vetoes and there exists one \(u\in U\) having at most \(n1\) vetoes in the final election, contradicting that c becomes a winner in the final election. In addition, no matter which \(\kappa \) voters are in \(W'\), there must be at least one candidate \(u\in U\) who has at most n vetoes after the replacement. This implies that each voter in \(V'\) must veto c. As a result, c has \((n+\kappa )\kappa =n\) vetoes after the replacement. This further implies that, for each \(u\in U\), there is at least one voter in \(W'\) who vetoes u. As \(W'=\kappa \), due to the construction of W, the collection of the 3subsets corresponding to the \(\kappa \) voters in \(W'\) form an exact 3set cover.
To show \(\mathrm {NP}\)hardness of kVetoCCRV for \(k \ge 4\), we additionally create \(k3\) dummy candidates being vetoed by every vote. The correctness argument is analogous.
Turning now to control by replacing candidates in kveto, Loreggia et al. [43] solved the two cases of constructive and destructive control by replacing candidates for veto only (i.e., for kveto with \(k=1\)). Note that Loreggia et al. [43] solved both cases for kapproval for any k. However, this does not solve these two cases for kveto since their proofs (which again can be found in the PhD thesis of Loreggia [42]) rely on the fact that kapproval satisfies IBC, but kveto does not.^{Footnote 9} We solve these two cases, CCRC and DCRC, for kveto with \(k \ge 2\) in Theorems 7 and 8.
Theorem 7
For every constant \(k\ge 2\), kVetoCCRC is \(\mathrm {NP}\)complete.
Proof
To prove \(\mathrm {NP}\)hardness of kVetoCCRC for \(k \ge 2\), we will modify the reduction provided by Lin [39] to prove that kVetoCCAC and kVetoCCDC are \(\mathrm {NP}\)hard. Since his reduction was designed so as to prove both cases at once but we only need the “adding candidates” part, we will simplify the reduction.
Let \((U, \mathscr {S},\kappa )\) be an instance of HittingSet with \(U=\{u_1,\dots ,u_s\}\), \(s\ge 1\), \(\mathscr {S}= \{S_1,\dots ,S_t\}\), \(t\ge 1\), and integer \(\kappa \), \(1 \le \kappa < s\) (without loss of generality, we may assume that \(\kappa < s\) since \((U, \mathscr {S},\kappa )\) is trivially a YESinstance if \(\kappa \ge s\)).
We construct an instance \(((C \cup U,V),c,\kappa )\) of kVetoCCRC with candidates \(C = \{c, d\} \cup C' \cup X \cup Y\), where
and unregistered candidates \(U\). Let V contain the following votes:

\((t+2s)(s\kappa +1)\) votes of the form \(Y \ \cdots \ c \ C'\);

\((t+2s)(s\kappa +1)s+\kappa \) votes of the form \(Y \ \cdots \ d \ X\);

for each i, \(1\le i \le t\), one vote of the form \(Y \ \cdots \ c \ X \ S_i\);

for each i, \(1\le i \le s\), one vote of the form \(Y \ \cdots \ d \ X \ u_i\); and

for each i, \(1\le i \le s\), \((t+2s)(s\kappa +1)+\kappa \) votes of the form \(Y \ \cdots \ c \ U\setminus \{u_i\} \ X \ u_i\).
Let \(M=(t+2s)(s\kappa +1)\). Without the unregistered candidates, vetoes are assigned to the other candidates as follows:
candidates in C  c  d  \(c' \in C'\)  \(x \in X\)  \(y \in Y\) 

number of vetoes  \(M(s+1)+s\kappa +t\)  \(M+\kappa \)  M  \(M(s+1) + \kappa (s+1) + t\)  0 
We show that \((U,\mathscr {S}, \kappa )\) is a YESinstance of HittingSet if and only if c can be made a kveto winner of the election by replacing \(\kappa \) candidates from C with candidates from \(U\).
(\(\Rightarrow \)) Assume there is a hitting set \(U' \subseteq U\) of \(\mathscr {S}\) of size \(\kappa \) (since \(\kappa < s\), if \(U'\) is a hitting set of size less than \(\kappa \), we fill \(U'\) up by adding arbitrary candidates from \(U\setminus U'\) to \(U'\) until \(U' = \kappa \)). We then replace the candidates from Y with the candidates from \(U'\). Since c, d, and candidates from \(C'\) have \((t+2s)(s\kappa +1)\) vetoes and candidates from X and \(U'\) have at least \((t+2s)(s\kappa +1)+ \kappa \) vetoes, c is a kveto winner.
(\(\Leftarrow \)) Assume c can be made a kveto winner of the election by replacing \(\kappa \) candidates. Since the \(\kappa \) candidates from Y have zero vetoes but c has at least one veto, we need to remove each candidate of Y (and no other candidate), and in turn we need to add \(\kappa \) candidates from \(U\). Note that c cannot have more than \((t+2s)(s\kappa +1)\) vetoes, for otherwise c would lose to the candidates from \(C'\). Let \(U' \subseteq U\) be the set of \(\kappa \) candidates from \(U\) that are added to the election. Since \(U' = \kappa > 0\), c will lose all \(s((t+2s)(s\kappa +1)+\kappa )\) vetoes from the last group of voters. Furthermore, in order to tie the candidates in \(C'\), c cannot gain any vetoes from the third group of voters. Thus the \(\kappa \) added candidates from \(U\) need to be a hitting set of \(\mathscr {S}\). Also note that with the \(\kappa \) added candidates from \(U\), c also ties d (who lost \(\kappa \) vetoes from the fourth group of voters) and beats the candidates from X and the added candidates from \(U\). \(\square \)
The same result can be shown for destructive control by replacing candidates in kveto elections via a similar proof.
Theorem 8
For every constant \(k\ge 2\), kVetoDCRC is \(\mathrm {NP}\)complete.
Proof
As in the proof of Theorem 7, we will prove \(\mathrm {NP}\)hardness of kVetoDCRC, \(k \ge 2\), by providing a reduction from HittingSet to kVetoDCRC that is a simplified and slightly modified variant of a reduction used by Lin [39] to show that kVetoDCAC and kVetoDCDC are \(\mathrm {NP}\)hard.
Let \((U, \mathscr {S},\kappa )\) be an instance of HittingSet with \(U=\{u_1,\dots ,u_s\}\), \(s\ge 1\), \(\mathscr {S}= \{S_1,\dots ,S_t\}\), \(t\ge 1\), and integer \(\kappa \), \(1 \le \kappa \le s\).
We construct an instance \(((C \cup U,V),c,\kappa )\) of kVetoDCRC with candidates \(C = \{c, c'\} \cup X \cup Y\), where \(X = \{x_1, \dots ,x_{k1}\}\) and \(Y = \{y_1,\dots , y_\kappa \}\), and unregistered candidates \(U\). Let V contain the following votes:

\(2(s\kappa )+2t(\kappa +1)+4\) votes of the form \(\cdots \ c \ Y \ X \ c'\);

\(2t(\kappa +1)+5\) votes of the form \(\cdots \ c' \ X \ c\);

for each i, \(1 \le i \le t\), \(2(\kappa +1)\) votes of the form \(\cdots \ c' \ X \ S_i\);

for each i, \(1 \le i \le s\), two votes of the from \(\cdots \ c \ Y \ X \ u_i\);

for each i, \(1\le i \le \kappa \), \(2(s\kappa )+2t(\kappa +1)+6\) votes of the form \(c \ c' \ \cdots \ y_i \ X\); and

for each i, \(1\le i \le s\), \(2(s\kappa )+2t(\kappa +1)+6\) votes of the form \(c \ c' \ \cdots \ u_i \ X\).
In (C, V), c wins the election with \(2t(\kappa +1)+5\) vetoes while \(c'\) has \(2(s\kappa )+4t(\kappa +1)+4\) vetoes and every other candidate has at least \(2(s\kappa )+2t(\kappa +1)+6\) vetoes.
To complete the proof of Theorem 8, we will now show that \((U,\mathscr {S}, \kappa )\) is a YESinstance of HittingSet if and only if c can be prevented from being a kveto winner of the election by replacing \(\kappa \) candidates from C with candidates from \(U\).
(\(\Rightarrow \)) Assume there is a hitting set \(U' \subseteq U\) of \(\mathscr {S}\) of size \(\kappa \) (since \(\kappa < s\), if \(U'\) is a hitting set of size less than \(\kappa \), we again fill \(U'\) up by adding arbitrary candidates from \(U\setminus U'\) to \(U'\) until \(U' = \kappa \)). Replacing the candidates from Y with the candidates from \(U'\), c gains \(2(s\kappa )\) vetoes and now has \(2(s\kappa )+2t(\kappa +1)+5\) vetoes and \(c'\) loses \(2t(\kappa +1)\) vetoes and now has \(2(s\kappa )+2t(\kappa +1)+4\) vetoes, so c does no longer win the election.
(\(\Leftarrow \)) Assume c can be prevented from being a kveto winner of the election by replacing at most \(\kappa \) candidates. We first argue why we must remove all \(\kappa \) candidates from Y. Firstly, from removing \(c'\) from the election, c’s strongest rival, c does not gain any vetoes and then there won’t be any candidate in the election that can beat c. Secondly, removing any candidate in X from the election will lead to \(c'\) gaining vetoes (which \(c'\) cannot afford) while c can in the best case gain the same number of vetoes as c would gain by replacing candidates from Y. Thus removing candidates from Y is the best choice. All \(\kappa \) candidates from Y need to be removed, for otherwise c does not gain any vetoes. Then \(\kappa \) candidates from \(U\) need to be added to the election. Note that c will always gain \(2(s\kappa )\) vetoes from those replacements, which will bring c to \(2(s\kappa )+2t(\kappa +1)+5\) vetoes, so every candidate other than \(c'\) cannot beat c. In order for \(c'\) to beat c, \(c'\) cannot gain any vetoes from the third group of voters. Therefore, for each \(S_i \in \mathscr {S}\), at least one \(u_j \in S_i\) needs to be added to the election. Thus the \(\kappa \) added candidates from \(U\) need to correspond to a hitting set of \(\mathscr {S}\). \(\square \)
Although we do not focus on parameterized complexity [13, 51] here, we mention in passing that the proofs of Theorems 7 and 8 in fact even show W[2]hardness of CCRC and DCRC, for kveto with \(k \ge 2\).
Plurality with runoff and veto with runoff
We now turn to plurality with runoff and veto with runoff, two quite common voting rules that proceed in two stages, eliminating the “weakest” candidate(s) in the first stage and then holding a runoff among the two surviving candidates for a winner to emerge. To the best of our knowledge, no results on control in plurality with runoff or veto with runoff are known to date. However, a related work has been done by Guo and Shrestha [31] who studied the complexity of control for twostage voting rules X Then Y, where X and Y are both voting rules. Particularly, under X Then Y, the rule X is first applied and then all winning candidates under X enter a runoff election whose winners are determined by Y. Plurality (respectively, veto) with runoff can be considered as an X Then Y rule where Y is plurality (respectively, veto), and X is a rule which selects exactly two candidates with the highest plurality score (respectively, with the fewest vetoes). Nevertheless, it should be pointed out that such an X Then Y rule has not been investigated by Guo and Shrestha [31].
Our results in this section are summarized in Table 7.
We first show that the problems CCAV, CCDV, and CCRV for both plurality with runoff and veto with runoff are polynomialtime solvable when ties are broken in favor of the chair in both stages. More precisely, if several candidates are tied in the first stage, the chair has the right to select the two candidates who survive this stage, and if in the second stage \(N_E(c,d)=N_E(d,c)\) for the two candidates c and d who survive the first stage, the chair is obligated to select the final winner between c and d.
Instead of showing the results separately onebyone, we prove that a variant of the multimode control problem, \(\tau \)Exact Constructive Control by Adding and Deleting Voters, denoted by \(\tau \)ECCAV+DV, is polynomialtime solvable, where \(\tau \) is either plurality with runoff or veto with runoff. In this exact variant of \(\tau \)ConstructiveMultimodeControl, we require that the number of added voters and the number of deleted voters are exactly equal to the corresponding given integer, i.e., we require that \(V'=\ell _{\text {DV}}\) and \(W'=\ell _{\text {AV}}\). Moreover, we have \(\ell _{\text {AC}}=\ell _{\text {DC}}=0\) and \(D=\emptyset \). Note that each of CCAV, CCDV, and CCRV is polynomialtime reducible to ECCAV+DV.
For an election (C, V), a candidate \(d\in C\), and \(\tau \in \{\text {PRun}, \text {VRun}\}\), let \(\tau _{(C, V)}(d)\) be the number of voters in V approving d if \(\tau \) is PRun, and be the number of voters in V vetoing d if \(\tau \) is VRun. In the proof of the following theorem we will show \(\mathrm {P}\) membership of PRunECCAV+DV and VRunECCAV+DV by reducing them to the problem IntegralMinimumCostFlow (IMCF), defined in Sect. 3, which is known to be polynomialtime solvable [1].
Theorem 9
For each \(\tau \in \{\text {PRun}, \text {VRun}\}\), \(\tau \) ECCAV+DV is in \(\mathrm {P}\).
Proof
Let (C, V), W, \(c\in C\), \(\ell _{\text {AV}}\), and \(\ell _{\text {DV}}\) be the components of a given instance as described in the definition of \(\tau \)ECCAV+DV. Here, c is the distinguished candidate. We first give the algorithm for \(\tau \) being plurality with runoff, and then we discuss how to modify the algorithm for the case where \(\tau \) is veto with runoff.
\(\tau =\) PRun. Our algorithm tries to find a candidate \(d\in C\setminus \{c\}\) and four nonnegative integers \(\ell _{\text {AV}}^c\), \(\ell _{\text {AV}}^d\), \(\ell _{\text {DV}}^c\), and \(\ell _{\text {DV}}^d\) such that \(\ell _{X}^c+\ell _{X}^d\le \ell _X\) for \(X\in \{\text {AV,~DV}\}\). This candidate d is supposed to be the one who competes with c in the runoff stage. Moreover, \(\ell _{\text {AV}}^c\) (respectively, \(\ell _{\text {AV}}^d\)) is supposed to be the number of voters added from W that approve c (respectively, d), and \(\ell _{\text {DV}}^c\) (respectively, \(\ell _{\text {DV}}^d\)) is supposed to be the number of voters deleted from V that approve c (respectively, d). Given such a candidate and integers, we determine whether we can add exactly \(\ell _{\text {AV}}\) votes from W of which \(\ell _{\text {AV}}^c\) (respectively, \(\ell _{\text {AV}}^d\)) approve c (respectively, d), and delete exactly \(\ell _{\text {DV}}\) votes from V of which \(\ell _{\text {DV}}^c\) (respectively, \(\ell _{\text {DV}}^d\)) approve c (respectively, d). Clearly, the original instance is a YESinstance if and only if at least one of these tests leads to a YES answer. We show how to find the answer to each subinstance in polynomial time. First, we immediately discard a currently tested candidate d if one of the following conditions holds:

\(\ell _{\text {DV}}^c > \tau _{(C,V)}(c)\);

\(\ell _{\text {DV}}^d > \tau _{(C,V)}(d)\);

\(\ell _{\text {AV}}^c > \tau _{(C,W)}(c)\); or

\(\ell _{\text {AV}}^d > \tau _{(C,W)}(d)\).
So let us assume that none of the above conditions holds. Then the number of voters approving c and d in the final election are determined. More precisely, the number of voters approving \(e\in \{c, d\}\) is \(\tau _{(C,V)}(e)+\ell _{\text {AV}}^{e}\ell _{\text {DV}}^{e}\). For notational simplicity, for each \(e\in \{c, d\}\), let \(\tau (e)=\tau _{(C,V)}(e)+\ell _{\text {AV}}^{e}\ell _{\text {DV}}^{e}\). Let
To ensure that c and d participate in the runoff stage, each candidate \(a\in C\setminus \{c, d\}\) may have at most s approvals in total. A second condition for c to be a runoff winner against d is that c is not beaten by d in their pairwise comparison. Since there are \(n'=V+\ell _{\text {AV}}\ell _{\text {DV}}\) voters in the final election \((C,V')\), d must win at most \(\left\lfloor \nicefrac {n'}{2}\right\rfloor \) duels against c. Let \(A=C\setminus \{c, d\}\) and \(\tau _{(C,V)}(A)=\sum _{a\in A}\tau _{(C, V)}(a)\). Moreover, for \(X\in \{\text {AV}, \text {DV}\}\), let \(\ell _{X}^A=\ell _{X}\ell _{X}^c\ell _{X}^d\). As d in turn wins \(\tau (d)\) comparisons against c in all votes who approve d, if \( \left\lfloor \nicefrac {n'}{2}\right\rfloor \tau (d) <0\), we reject the currently tested candidate d and regard the next one. Otherwise, we search for exactly
voters in V not deleted and approving candidates in A, and exactly \(\ell _{\text {AV}}^A\) voters added from W and approving some \(a \in A\) such that the final election contains at most \( \left\lfloor \nicefrac {n'}{2}\right\rfloor \tau (d) \) voters who approve some \(a \in A\) first and prefer d over c. We solve this question by reducing it to the IMCF problem.
The construction of the IMCF instance is illustrated in Figure 1. In more detail, there is a source x, a sink y, and two nodes \(V^A\) and \(W^A\). Moreover, each voter in \(V \cup W\) approving some \(a \in A\) yields a node. Additionally, each \(a \in A\) yields a node a. If not mentioned otherwise, each cost is equal to zero. There is an arc from x to \(V^A\) with lowerbound and upperbound capacities
There is another arc from x to \(W^A\) with lowerbound and upperbound capacities
Each voter \(v\in V\) who approves some candidate in A yields an arc \((V^A,v)\) with upperbound capacity 1 and lowerbound capacity 0. The cost of this arc is equal to 1 if v prefers d to c. Analogously, we define edges from \(W^A\) to vertices w corresponding to voters in W who approve some \(a \in A\). There is an arc from some \(v \in V \cup W\) to some \(a\in A\) with upperbound capacity 1 and lowerbound capacity 0 if and only if v approves a. Each \(a \in A\) yields an arc (a, y) with upperbound capacity s and lowerbound capacity 0.
One can check that there is a (maximum) flow with value
and (minimum) cost of at most \(\left\lfloor \nicefrac {n'}{2} \right\rfloor \tau (d)\) if and only if we can find exactly \(\tau _{(C,V)}(A)\ell _{\text {DV}}^A\) (remaining) voters in V approving some \(a \in A\) and exactly \(\ell _{\text {AV}}^A\) voters added from W approving some \(a\in A\) such that each \(a\in A\) has at most s approvals, and a weak majority of voters prefers c to d in the final election.
\(\tau =\) VRun. Notice that in this case, \(\tau _{(C, V)}(a)\) denotes the number of voters vetoing a in the election (C, V). The algorithm is similar to the above described algorithm with the following differences. First, for \(X\in \{\text {AV}, \text {DV}\}\), \(\ell _{\text {X}}^c\) and \(\ell _{\text {x}}^d\) are defined analogously but with respect to vetoes of c and d, respectively. Technically, this is achieved by replacing the occurrences of the word “approve” (respectively, “approves” and “approving” and “approvals”) with the word “veto” (respectively, “vetoes” and “vetoing” and “vetoes”) throughout the above algorithm. Second, we replace \(\left\lfloor \nicefrac {n'}{2}\right\rfloor \tau (d)\) marked above with \(\left\lfloor \nicefrac {n'}{2}\right\rfloor \tau (c)\). Recall that in the above algorithm, we use the condition \(\left\lfloor \nicefrac {n'}{2}\right\rfloor \tau (d)<0\) to reject a tested candidate d, as in this case a majority of voters in the final election prefer d to c. When the rule used is veto with runoff, a majority of voters in the final election prefer d to c if \(\left\lfloor \nicefrac {n'}{2}\right\rfloor \tau (c)<0\). Finally, in the IMCF instance constructed in the above algorithm, we change the capacity of each arc from \(a\in A\) to y so that the lower bound capacity is \(s'\), where \(s'=\max \{\tau (c), \tau (d)\}\), and the upperbound capacity is \(V\cup W\). The reason is that in veto with runoff, the two candidates with the least vetoes survive the first stage of the election. Therefore, if the final vetoes of c and d are both at most \(s'\) with one of them being exactly \(s'\), and c and d are the two candidates surviving the first stage, it must be the case that each other candidate has at least \(s'\) vetoes in the final election. \(\square \)
The exact versions of the destructive multimode control for plurality with runoff and veto with runoff are polynomialtime solvable, too.
Theorem 10
PRunEDCAV+DV and VRunEDCAV+DV are in \(\mathrm {P}\).
Proof
To solve a PRunEDCAV+DV or VRunEDCAV+DV instance I with the distinguished candidate p, we solve \(m1\) instances of the constructive exact multimode problems PRunECCAV+DV or VRunECCAV+DV, respectively, each of which takes the same input as I with only the difference that the distinguished candidate is someone in \(C\setminus \{p\}\), where C is the set of candidates in the input and \(m=C\). Moreover, all the \(m1\) instances have different distinguished candidates. Clearly, I is a YESinstance of either of the two destructive problems if and only if at least one of these \(m1\) instances of the corresponding constructive problem is a YESinstance. Due to Theorem 9, each these \(m1\) instances can be solved in polynomial time. Therefore, I can be solved in polynomial time. \(\square \)
Note that for each \(\textsc {Y}\in \{\textsc {CCAV}, \textsc {CCDV}, \textsc {CCRV}, \textsc {DCAV}, \textsc {DCDV}, \textsc {DCRV}\}\) and for each \(\textsc {X}\in \{\textsc {PRun}, \textsc {VRun}\}\), XY is polynomialtime Turingreducible to its exact version. Then, given the above results, we obtain the following corollary.
Corollary 4
For each \(\textsc {Y}\in \{\textsc {CCAV}, \textsc {CCDV}, \textsc {CCRV}, \textsc {DCAV}, \textsc {DCDV}, \textsc {DCRV}\}\), both PRunY and VRunY are in \(\mathrm {P}\).
Concerning control by adding candidates, we have the following results for plurality with runoff and veto with runoff.
Theorem 11
PRunCCAC, PRunDCAC, VRunCCAC, and VRunDCAC are \(\mathrm {NP}\)complete.
Proof
We prove the theorem by reductions from the RX3C problem. Let \((U, \mathscr {S})\), where \(U=\mathscr {S}=3\kappa \), be an instance of the RX3C problem. We prove the theorem for the four different problems separately.
PRunCCAC. For each \(u\in U\), we create a registered candidate, denoted by the same symbol. In addition, we create two registered candidates, q and c, with c being the distinguished candidate. Moreover, for each \(S\in \mathscr {S}\), we create an unregistered candidate, denoted by the same symbol. Regarding the votes, we create \(16+24\kappa \) votes in total defined as follows.

First, we create nine votes with q in the first position.

Second, we create seven votes with c in the first position.

Third, for each \(u\in U\), we create two votes with u in the first position.
The preferences over candidates other than the topranked one in the above \(16+6\kappa \) votes can be set arbitrarily.

Finally, for each \(S\in \mathscr {S}\) and each \(u\in S\), we create two votes of the form \(S\ u\ c\ q\ \cdots \).
We complete the construction by setting \(\ell =\kappa \), i.e., we are allowed to add at most \(\kappa \) candidates. It remains to prove the correctness of the reduction: There is an exact 3set cover if and only if c can be made a winner by adding up to \(\kappa \) candidates.
(\(\Rightarrow \)) If there is an exact 3set cover \(\mathscr {S}'\in \mathscr {S}\), we claim that \(\mathscr {S}'\) is a solution of the PRunCCAC instance constructed above. Clearly, after adding candidates in \(\mathscr {S}'\), q has 9 approvals, c has 7 approvals, every \(S\in \mathscr {S}'\) has 6 approvals, and every \(u\in U\) has \(82=6\) approvals. Then, according to the definition of plurality with runoff, q and c enter the runoff stage. Clearly, a majority of voters prefer c to q, and hence c becomes the unique winner after adding all candidates in \(\mathscr {S}'\).
(\(\Leftarrow \)) Consider now the opposite direction. Observe that to ensure c to survive the first stage, at least \(\kappa \) candidates must be added, since otherwise there were at least one candidate \(u\in U\) which receives at least 8 approvals, resulting in q and u entering the runoff stage. Let \(\mathscr {S}'\) be a solution of the PRunCCAC instance. As discussed, we have \(\mathscr {S}'=\kappa \). If \(\mathscr {S}'\) is not an exact 3set cover, again there is a candidate \(u\in U\) such that u is not in any subset of \(\mathscr {S}'\). According to the construction of the instance, the candidate u receives at least 8 approvals after adding the candidates in \(\mathscr {S}'\), and hence survives the first stage with q. Therefore, \(\mathscr {S}'\) must be an exact 3set cover of U.
PRunDCAC. The reduction differs from the above proof for PRunCCAC only in that the distinguished candidate is q. The correctness relies on the observation that candidate c is the only candidate that can preclude q from winning.
VRunCCAC. For each \(u\in U\), we create a registered candidate, denoted still by u for simplicity. In addition, we create two registered candidates c and q with c being the distinguished candidate. Hence, the set of registered candidates is \(C=U \cup \{c, q\}\). The unregistered candidates are created according to \(\mathscr {S}\), one for each \(S\in \mathscr {S}\), denoted by the same symbol for simplicity. We create a multiset V of votes as follows.

We create one vote of the form \(\mathscr {S}\ U\ c\ q\).

For each \(u\in U\), we crate \(6\kappa 3\) votes of the form \(c\ q\ \mathscr {S}\ U\setminus \{u\}\ u\).

For each \(S\in \mathscr {S}\), we create \(6\kappa +5\) votes as follows:

\(3\kappa +1\) votes of the form \(q\ U\ c\ \mathscr {S}\setminus \{S\} \ S\);

\(3\kappa +1\) votes of the form \(c\ U\ q\ \mathscr {S}\setminus \{S\}\ S\); and

three votes of the form \(q\ U\ \mathscr {S}\setminus \{S\}\ c\ S\).


For each \(S=\{u_{x}, u_{y},u_{z}\}\in \mathscr {S}\), we further create six votes as follows:

two votes of the form \(c\ q\ U\setminus \{u_{x}\}\ \mathscr {S}\setminus \{S\}\ u_{x}\ S\);

two votes of the form \(c\ q\ U\setminus \{u_{y}\}\ \mathscr {S}\setminus \{S\}\ u_{y}\ S\); and

two votes of the form \(c\ q\ U\setminus \{u_{z}\}\ \mathscr {S}\setminus \{S\}\ u_{z}\ S\).

We are allowed to add at most \(\kappa \) candidates, i.e., \(\ell =\kappa \). Note that in the election restricted to the registered candidates,

c has \(3\kappa \cdot (3\kappa +1)+9\kappa \) vetoes,

q has \(3\kappa \cdot (3\kappa +1)+1\) vetoes, and

every \(u\in U\) has \(6\kappa +3\) vetoes.
Hence, c is not a veto with runoff winner of the election. It remains to prove the correctness of the reduction.
(\(\Rightarrow \)) Assume that there is an exact 3set cover \(\mathscr {S}'\subseteq \mathscr {S}\) of U. After adding the candidates in \(\mathscr {S}'\), candidate q has one veto, every \(S\in \mathscr {S}'\) has at least \(6\kappa +11\) vetoes, every \(u\in U\) has \(6\kappa +32=6\kappa +1\) vetoes, and c has \(6\kappa \) vetoes. Hence, q and c move on to the runoff stage. As more voters prefer c over q, c becomes the final winner.
(\(\Leftarrow \)) Suppose that we can add a subset \(\mathscr {S}'\subseteq \mathscr {S}\) of at most \(\kappa \) unregistered candidates to make c a winner under veto with runoff. Observe first that \(\mathscr {S}'\) must contain exactly \(\kappa \) candidates, since otherwise c would have at least \(6\kappa +3\) vetoes, while at least one candidate in U would have at most \(6\kappa +32=6\kappa +1\) vetoes. Hence, this candidate in U and q would be the two candidates going to the runoff stage. Then, from \(\mathscr {S}'=\kappa \), it follows that c has \(6\kappa \) vetoes after adding candidates in \(\mathscr {S}'\). If \(\mathscr {S}'\) is not an exact 3set cover, there must be a candidate \(u\in U\) occurring in at least two subsets of \(\mathscr {S}'\). Then the candidate u has at most \(6\kappa +34=6\kappa 1\) vetoes, leading to q and u being the two candidates competing in the runoff stage. We can conclude that \(\mathscr {S}'\) is an exact 3set cover.
VRunDCAC. The reduction differs from the one for VRunCCAC only in that the distinguished candidate is q. The correctness relies on the observation that candidate c is the only candidate that can preclude q from winning.
Next, we study the complexity of control by deleting candidates for plurality with runoff and veto with runoff.
Theorem 12
PRunCCDC, PRunDCDC, VRunCCDC, and VRunDCDC are \(\mathrm {NP}\)complete.
Proof
Again, letting \((U, \mathscr {S})\) with \(U=\mathscr {S}=3\kappa \) be a given RX3C instance, we separately provide our four reductions from RX3C to PRunCCDC, PRunDCDC, VRunCCDC, and VRunDCDC, respectively. Let \(U=\{u_1,u_2,\dots ,u_{3\kappa }\}\). Without loss of generality, assume that \(\kappa \ge 4\).
PRunCCDC. From \((U, \mathscr {S})\), we create the following instance of PRunCCDC. Let \(C=\{c,q\} \cup U \cup \mathscr {S}\) be the set of candidates and c the distinguished candidate. We create a multiset V of \(9\kappa ^2+21\kappa +1\) votes as follows.

We create \(2\kappa \) votes of the form \(q\ u_1\ u_2\ \dots \ u_{3\kappa } \ \mathscr {S}\ c\).

We create \(\kappa +1\) votes of the form \(q\ u_{3\kappa }\ u_{3\kappa 1}\ \dots \ u_{1} \ \mathscr {S}\ c\).

For each \(u\in U\), we create \(3\kappa 3\) votes of the form \(u\ U\setminus \{u\}\ \mathscr {S}\ c\ q\).

For each \(S\in \mathscr {S}\), we create three votes of the form \(S\ c\ C\setminus (S\cup \{ c, q \}) \ q\).

For each \(S=\{u_{x}, u_{y},u_{z}\}\in \mathscr {S}\), we further create six votes as follows:

two votes of the form \(S\ u_{x}\ C\setminus \{c,q,u_{x}\} \ c\ q\);

two votes of the form \(S\ u_{y}\ C\setminus \{c,q,u_{y}\} \ c\ q\); and

two votes of the form \(S\ u_{z}\ C\setminus \{c,q,u_{z}\} \ c\ q\).

Furthermore, let \(\ell _{\text {DC}}=\kappa \). It remains to prove the correctness.
(\(\Rightarrow \)) Assume there is an exact set cover \(\mathscr {S}'\subseteq \mathscr {S}\). After deleting the candidates in \(\mathscr {S}'\), q has \(2\kappa +\kappa +1=3\kappa +1\) approvals, c has \(3\kappa \) approvals, every remaining \(S\in \mathscr {S}\setminus \mathscr {S}'\) has 9 approvals, and every \(u\in U\) has \(3\kappa 3+2=3\kappa 1\) approvals. Hence, q and c go to the runoff stage, leading to c being the final winner.
(\(\Leftarrow \)) Assume that it is possible to make c a pluralitywithrunoff winner of the election by deleting a set \(C'\subseteq C\setminus \{c\}\) of at most \(\kappa \) candidates. Note that \(q\not \in C'\), since otherwise there would be two candidates in \(U\) receiving at least \(3\kappa 3+2\kappa =5\kappa 3\) and \(3\kappa 3+\kappa +1=4\kappa 2\) approvals, preventing c from winning. Therefore, q has at least \(3\kappa +1\) approvals in the final election. Furthermore, none of the candidates in \(U\) can be deleted, i.e., \(U\cap C'=\emptyset \). In fact, if we delete some candidate \(u\in U\), then the candidate ranked immediately after \(u\) in the \(3\kappa 3\) votes created for \(u\) (in the third voter group) would receive at least \((3\kappa 3)+(3\kappa 3)=6\kappa 6\) approvals, preventing c from winning. This means that the deletion of one candidate in \(U\) invites the deletion of all candidates in \(U\), to make c the winner. However, we are allowed to delete at most \(\kappa \) candidates. In summary, we have \(C'\subseteq \mathscr {S}\). After deleting the candidates in \(C'\), c has \(3C'\) approvals. Note that \(C'=\kappa \) must hold, since otherwise at least one candidate in \(U\) would receive more approvals than candidate c, after deleting all candidates in \(C'\); hence, this candidate and q would be the two candidates going to the runoff stage. Therefore, we know that c receives \(3\kappa \) approvals after deleting all candidates in \(C'\). If \(C'\) is not an exact 3set cover, there must be a candidate \(u\in U\) who occurs in at least two subsets of \(C'\). Due to the construction, candidate \(u\) receives at least \(3\kappa 3+2+2=3\kappa +1\) approvals, implying that q and u are the two candidates surviving the first stage, contradicting that c is the final winner after deleting all candidates in \(C'\). Thus \(C'\) must be an exact 3set cover.
PRunDCDC. The candidate set is
where \(A=\{a_1,\ldots ,a_{\kappa }\}\). For two positive integers x and y such that \(x<y\le 9\kappa ^2\), we define
We create in total \(18\kappa ^2+36\kappa +4\) votes classified into the following groups.

1.
There are \(3\kappa +4\) votes of the form \(q\ C\setminus \{q\}\).

2.
For each \(i\in [3\kappa ]\), there are \(3\kappa 3\) votes of the form
$$\begin{aligned} u_i \ H[(i1)\cdot \kappa , i\cdot \kappa ] \ C\setminus (A\cup H[(i1)\cdot \kappa , i\cdot \kappa ] \cup \{u_i, c, q\})\ c\ q\ A. \end{aligned}$$ 
3.
For each \(S\in \mathscr {S}\), \(S=\{u_x,u_y,u_z\}\), where \(\{x, y, z\}\subseteq [3\kappa ]\), there are nine votes as follows:

three votes of the form \(S\ c \ q \ C\setminus \{S, c, q\}\);

two votes of the form \(S\ u_x \ c\ q \ C\setminus \{S, u_x, c, q\}\);

two votes of the form \(S\ u_y \ c\ q \ C\setminus \{S, u_y, c, q\}\); and

two votes of the form \(S\ u_z \ c\ q \ C\setminus \{S, u_z, c,q\}\).


4.
There are \(9\kappa ^2+15\kappa \) votes denoted by \(v_1, \ldots , v_{9\kappa ^2+15\kappa }\) such that for every \(i\in [9\kappa ^2+15\kappa ]\)), the vote \(v_i\) is of the form
$$\begin{aligned} h_i \ A \ c \ q \ C\setminus (\{c, q, h_i\}\cup A). \end{aligned}$$
Let V denote the multiset of the above constructed votes. The distinguished candidate is q. Finally, we define \(\ell =\kappa \), i.e., we are allowed to delete at most \(\kappa \) candidates from C. The time to construct the above instance is clearly bounded by a polynomial in the size of the RX3C instance.
We are left with the proof of correctness of the reduction. It is useful to first provide a summary of the plurality scores of all candidates for a better understanding of the following arguments. We refer to Table 8 for such a summary.
Due to Table 8, q survives the first stage but c does not. One can check that q is beaten by c but beats everyone else. As a consequence, q is the winner of the above constructed election.
\((\Rightarrow )\) Assume that there is an exact set cover \(\mathscr {S}'\subseteq \mathscr {S}\) of \(U\). Let \(E=(C\setminus \mathscr {S}', V)\). We claim that q is no longer the winner of the election E. With the help of Table 8 one can check easily that in the election E the two candidates q and c receive the most approvals. Particularly, if a candidate \(S\in \mathscr {S}'\) is deleted, the three votes of the form \(S\ c\ q\ C\setminus \{S, c, q\}\) give three approvals to c. Then, as \(\mathscr {S}'=\kappa \), after deleting the candidates in \(\mathscr {S}'\), the candidate c receives \(3\kappa \) new approvals. In addition, as \(\mathscr {S}'\) is an exact set cover, for every \(u\in U\), there is exactly one \(S\in \mathscr {S}'\) such that \(u\in S\). Then, due to the construction of the votes in the third group, the plurality score of \(u\) increases by exactly two, reaching to \(3\kappa 3+2=3\kappa 1\). Other candidates clearly have only constant plurality scores. Therefore, c and q are the two candidates that survive the first stage, and this is the case no matter which tiebreaking scheme is used. As c beats q in the election E, we know that q is no longer a winner.
\((\Leftarrow )\) Assume that there is a subset \(C'\subseteq C\setminus \{q\}\) of at most \(\kappa \) candidates such that q is no longer a winner of \((C\setminus C', V)\). First, it is easy to verify that it is impossible to prevent q from surviving the first stage by deleting at most \(\kappa \) candidates. Additionally, candidate c is the only one beating q. Due to these two observations, we know that the candidates surviving the first stage of \((C\setminus C', V)\) must be c and q. By Table 8, there are candidates in \(U\) who receive at least \(3\kappa 3\) approvals in E. This means that the deletion of the candidates in \(C'\) increases the plurality score of c to at least \(3\kappa 3\). Note that after deleting candidates in \(C'\), none of the votes in the groups (1), (2), and (4) rank c in the top. Therefore, the plurality score of c must be from votes in the group (3). Another significant observation is that \(C'\subseteq \mathscr {S}\) and, moreover, \(C'=\kappa \), since otherwise at least one candidate in \(U\) has a higher plurality score than that of c in E. Therefore, we know that in the election E, c has plurality score exactly \(3\kappa \). Finally, we claim that \(C'\) is an exact set cover of \(U\). Assume for the sake of contradiction that this is not the case. Then there exists at least one candidate \(u\in U\) such that there are two \(S, S'\in C'\) such that \(u\in S\cap S'\). By the construction of the votes in the group (3), the candidate \(u\) will be ranked in the top in four votes (two of the form \(S\ u\ c\ q\ C\setminus \{S, u, c, q\}\) and two of the form \(S' \ u\ c\ q\ C\setminus \{S', u, c, q\}\)). This means that in the election E, the plurality score of \(u\) is at least \(3\kappa 3+4=3\kappa +1\), which is larger than that of c. However, in this case, c is excluded in the first stage, a contradiction.
VRunDCDC. The candidate set is the same as in the reduction for PRunCCDC. Precisely, we define
where q is the distinguished candidate. We create the following votes.

There are three votes of the form \(q \ \mathscr {S}\ U\ c\).

For each \(S=\{u_x,u_y,u_z\}\in \mathscr {S}\), we create six votes as follows:

two votes of the form \(c\ q\ U\setminus \{u_x\}\ \mathscr {S}\setminus \{S\}\ u_x\ S\);

two votes of the form \(c\ q\ U\setminus \{u_y\}\ \mathscr {S}\setminus \{S\}\ u_y\ S\); and

two votes of the form \(c\ q\ U\setminus \{u_z\}\ \mathscr {S}\setminus \{S\}\ u_z\ S\).


For each \(u\in U\), there are two votes of the form \(c \ q \ \mathscr {S}\ U\setminus \{u\} \ u\).
Finally, we define \(\ell =\kappa \), i.e., we are allowed to delete at most \(\kappa \) candidates from \(C\setminus \{q\}\). Clearly, the above instance of VRunDCDC can be constructed in polynomial time. We show that there is an exact set cover of \(U\) if and only if the above VRunDCDC instance is a YESinstance. The number of vetoes of all candidates are summarized in Table 9.
From Table 9, we know that q and some \(u\in U\) survives the first stage of the election. In addition, it is easy to verify that q beats everyone else except c, and hence q wins the election.
\((\Rightarrow )\) Assume that \(U\) admits an exact set cover \(\mathscr {S}'\subseteq \mathscr {S}\). Let \(E'=(C\setminus \mathscr {S}', V)\). We claim that q is no longer a winner in the election \(E'\). To this end, let us first analyze the vetoes of candidates in \(E'\). Observe that deleting candidates only in \(\mathscr {S}\) never changes the vetoes of c and q. So, the vetoes of q and c in \(E'\) are still 0 and 3, respectively. For each \(u\in U\), as \(\mathscr {S}'\) is an exact set cover of \(U\), there is exactly one \(S\in \mathscr {S}'\) such that \(u\in S\). Then, after deleting \(S\) from C, \(u\) receives two more vetoes from the two votes of the form \(c\ q\ U\setminus \{u\}\ \mathscr {S}\setminus \{S\} \ u\ S\), resulting in a final veto count of \(2+2=4\). As this holds for all candidates in \(U\), the two candidates surviving the first stage of the election are q and c. As pointed out above, c beats q, and hence c substitutes q as the new winner in \(E'\).
\((\Leftarrow )\) Assume that there is a subset \(C'\subseteq C\setminus \{q\}\) of at most \(\kappa \) candidates such that q is no longer a winner of \((C\setminus C', V)\) under veto with runoff. Let \(E'=(C\setminus C', V)\). From Table 9, it holds that every candidate in \(C\setminus C'\) except q has a positive veto count in \(E'\). Moreover, as in each of the above constructed votes there are more than \(\kappa +1\) candidates ranked after q and \(C'\le \kappa \), in the election \(E'\), q has no vetoes. This means that q survives the first stage of \(E'\). Then, as c is the only candidate that beats q, we know that c is the other candidate who survives the first stage together with q. This implies that \(c\not \in C'\). As in each vote not vetoing c, there are more than \(\kappa +1\) candidates ranked after c, and it holds that \(C'\le \kappa \), we know that the veto count of c in \(E'\) is 3. Let \(\mathscr {S}'=C'\cap \mathscr {S}\) and \(U'=U\setminus \bigcup _{S\in \mathscr {S}'}S\). We first prove the following claims.
Claim 1
\(U'\subseteq C'\).
Assume for the sake of contradiction there exists a candidate \(u\in U'\) such that \(u\not \in C'\). Then, due to the definition of the votes, \(u\) has two vetoes in \(E'\). However, this contradicts with the fact that c is the candidate that survives the first stage with q. This proves Claim 1.
Claim 2
\(U'=\emptyset \).
Let \(t=C'\cap \mathscr {S}\) and \(t'=C'\cap U\). If \(U'\ne \emptyset \), then we have \(t<\kappa \). As \(\mathscr {S}'\) covers at most 3t elements of \(U\), it holds that \(t'\ge 3\kappa 3t\). It follows that \(t+t'\ge 3\kappa 2t>\kappa \), a contradiction. This proves Claim 2.
Due to the above claim, we know that \(\mathscr {S}'\) covers \(U\). Then, as \(\mathscr {S}'\le \kappa \), \(\mathscr {S}'\) must be an exact set cover of \(U\).
VRunCCDC. The reduction for VRunCCDC is similar to the above reduction for VRunDCDC with only the difference that we set c as the distinguished candidate. If \(U\) admits an exact set cover, then as shown above, after deleting the candidates corresponding to this set cover, c becomes the winner. For the other direction, one observes first that the above two claims still hold in this case. Then it is easy to see that if c becomes a winner after deleting at most \(\kappa \) candidates, the deleted candidates must correspond to an exact set cover of \(U\).
Finally, we study the complexity of control by replacing candidates for plurality with runoff and veto with runoff.
Observe that plurality with runoff is unanimous. Then the \(\mathrm {NP}\)hardness result for PRunCCAC studied in Theorem 11 and Lemma 2 directly yields \(\mathrm {NP}\)hardness of PRunCCRC. In addition, plurality with runoff satisfies IBC when ties are broken deterministically. Hence, from Lemma 1 and the \(\mathrm {NP}\)hardness of PRunDCDC stated in Theorem 12, it follows that PRunDCRC is \(\mathrm {NP}\)hard when ties are broken deterministically. However, in the proof of \(\mathrm {NP}\)hardness of PRunDCDC, the distinguished candidate q has a strictly higher plurality score than any other candidate. So, no matter which tiebreaking scheme is used, q survives the first stage. In addition, as c is the candidate who replaces q as the winner in the final election, it does not matter which candidate in \(U\) survives the first stage with q in the original election. Therefore, \(\mathrm {NP}\)hardness applies to all tiebreaking schemes. (Precisely, we modify the instance of PRunDCDC by adding an additional set of \(\kappa \) unregistered candidates who are ranked after all the other candidates in all votes.)
However, it is easy to check that veto with runoff is not unanimous and does not satisfy IBC either. Hence, we cannot obtain \(\mathrm {NP}\)hardness for VRunCCRC and VRunDCRC using Lemmas 1 and 2. Nevertheless, we can show \(\mathrm {NP}\)hardness of these problems by modifications of the proofs for VRunCCAC and VRunDCDC studied in Theorems 11 and 12. In particular, to obtain \(\mathrm {NP}\)hardness of VRunCCRC, we modify the instance of VRunCCAC by adding an additional set of \(\kappa \) registered candidates and rank them before all the other candidates in all votes. More importantly, we rank all the \(\kappa \) registered candidates in an arbitrary but fixed order so that they have to be replaced to guarantee the victory of the distinguished candidate. To obtain \(\mathrm {NP}\)hardness of VRunDCRC, we modify the instance of VRunDCDC by creating a set of \(\kappa \) unregistered candidates, and rank them directly after q in all votes (i.e., q and these \(\kappa \) candidates are ranked consecutively in all votes with q being the first one among them). The relative order among these \(\kappa \) candidates does not matter.
Summing up, we have the following results.
Theorem 13
PRunCCRC, PRunDCRC, VRunCCRC, and VRunDCRC are \(\mathrm {NP}\)complete.
Note that the \(\mathrm {NP}\)hardness results in the above three theorems (Theorems 11, 12, and 13) hold regardless of the tiebreaking rule used because no tie occurs in either stage of the constructed elections.
Condorcet voting
In this section, we study Condorcet voting. Our results of this section are summarized in Table 10.
For Condorcet we will show that it is vulnerable to three types of replacement control, yet resistant to the fourth one, starting with the resistance proof.
Theorem 14
CondorcetCCRV is \(\mathrm {NP}\)complete.
Proof
We prove \(\mathrm {NP}\)hardness by reducing RX3C to CondorcetCCRV.^{Footnote 10} Let \((U,\mathscr {S})\) be an RX3C instance with \(U=\{u_1, \dots ,u_{3\kappa }\}\), \(\kappa \ge 2\) (which may be assumed, as RX3C is trivially solvable when \(\kappa =1\)), and \(\mathscr {S}=\{S_1, \dots ,S_{3\kappa }\}\). The set of candidates is \(C=U\cup \{c\}\) with c being the distinguished candidate. The votes are constructed as follows:

There are \(2\kappa 3\) registered votes of the form \(u_1 \ \cdots \ u_{3\kappa } \ c\) in V and

for each j, \(1\le j \le 3\kappa \), there is one unregistered vote of the form \(S_j \ c \ U\setminus {S_j}\) in W.
The ordering of candidates in \(S_j\) and \(U\setminus {S_j}\) does not matter in any of those votes. Finally, set \(\ell = \kappa \).
Analyzing the election (C, V), \(u_1\) is the Condorcet winner; in particular, c loses against every \(u_i \in U\) with a deficit of \(2\kappa 3\) votes, i.e.,
We will now show that \((U,\mathscr {S})\) is a YESinstance of RX3C if and only if c can be made the Condorcet winner of the election by replacing \(\kappa \) votes from V with votes from W.
(\(\Rightarrow \)) Assume there is an exact cover \(\mathscr {S}' \subseteq \mathscr {S}\) of \(U\). We remove \(\kappa \) votes of the form \(u_1 \ \cdots \ u_{3\kappa } \ c\) from the election and replace them by the votes of the form \(S_j \ c \ U\setminus {S_j}\) for all \(S_j \in \mathscr {S}'\). Let \((C,V')\) be the resulting election. Since \(\mathscr {S}'\) is an exact cover of \(U\), for each \(u_i \in U\),
Thus c now defeats each \(u_i \in U\) in pairwise comparison and, therefore, has been made the Condorcet winner of \((C,V')\).
(\(\Leftarrow \)) Assume that c can be made a Condorcet winner of the election by replacing at most \(\kappa \) votes. Recall that c has a deficit of
to every \(u_i \in U\) in the original election. Thus exactly \(\kappa \) votes need to be removed from the election, for otherwise c’s deficit of at least \(\kappa 2\) to every other candidate cannot be caught up on, since at least one other candidate is in front of c in every unregistered vote. With \(\kappa \) removed votes, c’s deficit to every other candidate is now decreased to \(\kappa 3\). However, none of the \(\kappa \) votes from W replacing the removed votes can rank some \(u_i \in U\) in front of c more than once, as otherwise we would have
for at least one \(u_i \in U\) in the resulting election \((C,V')\), and c would not win. Let \(\mathscr {S}' \subseteq \mathscr {S}\) be the set such that each \(S_j \in \mathscr {S}'\) corresponds to the vote \(S_j \ c \ U\setminus {S_j}\) from W that is added to the election to replace a removed vote. Every unregistered voter ranks three candidates of \(U\) in front of c. By the pigeonhole principle, in order for the \(\kappa \) new votes to rank each of the \(3\kappa \) candidates of \(U\) in front of c only once, \(\mathscr {S}'\) needs to be an exact cover of \(U\).
By contrast, we show vulnerability to destructive control by replacing voters for Condorcet via a simple algorithm.
Theorem 15
CondorcetDCRV is in \(\mathrm {P}\).
Proof
To prove membership in \(\mathrm {P}\), we will provide an algorithm that solves the problem in polynomial time and outputs, if possible, which of the registered voters must be replaced by which unregistered voters for c to not win.
The input to our algorithm is an election \((C, V \cup W)\), the distinguished candidate \(c\in C\), and a positive integer \(\ell \). The algorithm will output either a pair \((V',W')\) with \(V'\subseteq V\), \(W'\subseteq W\), and \(V' = W' \le \ell \) (i.e., for c to not win, there are votes in \(V'\) that must be removed and votes in \(W'\) that must be added to the election instead), or that control is impossible.
First, the algorithm checks whether c is already not winning the election (C, V) and outputs \((\emptyset ,\emptyset )\) if this is the case, and we are done.
Otherwise, c currently wins, and the algorithm iterates over all candidates \(d\in C\setminus \{c\}\) and first checks whether \(N_{(C,V)}(c,d) N_{(C,V)}(d,c) + 1 \le 2\ell \) (if this is not the case, d loses to c in any case and we can skip this candidate.)
Let \(V' \subseteq V\) contain at most \(\ell \) votes from V preferring c to d and let \(W' \subseteq W\) contain at most \(\ell \) votes from W preferring d to c. If one of them is smaller than the other, remove votes from the larger one until they are equal in size.
Then we check whether \(N_E(c,d)\le N_E(d,c)\) in the election \(E = (C,(V\cup W') \setminus V'))\). If this is the case, c does not beat d in direct comparison, so c cannot win the election. The algorithm then outputs \((V',W')\).
Otherwise, d cannot beat c and the algorithm proceeds to the next candidate. If, after all iterations, no candidate was found that beats or ties c, the algorithm outputs “control impossible.” Obviously, this algorithm runs in polynomialtime and solves the problem.
Bartholdi, Tovey, and Trick [7] observed that, due to the Weak Axiom of Revealed Preference, Condorcet voting is immune to constructive control by adding candidates, and Hemaspaandra, Hemaspaandra, and Rothe [33] made the same observation regarding destructive control by deleting candidates. For control by replacing candidates, however, Condorcet is susceptible both in the constructive and in the destructive case, as shown in the following example.
Example 1
To see that Condorcet is susceptible to constructive control by replacing candidates, consider a set \(C=\{b,c\}\) with two registered candidates, a set \(D=\{d\}\) with just one unregistered candidate, and only one vote of the form \(b \ c \ d\) over \(C \cup D\). We can turn c (who does not win according to \(b \ c\)) into a Condorcet winner by replacing b with d (so we now have \(c\ d\)).
For susceptibility in the destructive case, just consider \(C'=\{c,d\}\) and \(D'=\{b\}\), and replace d with b, all else being equal.
Moreover, since in Condorcet elections the direct comparison between two candidates cannot be influenced by deleting or adding other candidates to the election, CondorcetCCRC and CondorcetDCRC are both easy to solve.
Theorem 16
CondorcetCCRC is in \(\mathrm {P}\).
Proof
To prove membership in \(\mathrm {P}\), we will provide an algorithm that solves the problem in polynomial time and outputs, if possible, which of the original candidates must be replaced by which unregistered candidates for c to win.
The input to our algorithm is an election \((C\cup D,V)\), the distinguished candidate \(c\in C\), and a positive integer \(\ell \). The algorithm will output either a pair \((C',D')\) with \(C'\subseteq C\setminus \{c\}\), \(D'\subseteq D\), and \(C' = D' \le \ell \) (i.e., for c to win, there are candidates in \(C'\) that must be removed and candidates in \(D'\) that must be added to the election instead), or that control is impossible.
First, we check whether c already wins the election (C, V) and output \((\emptyset ,\emptyset )\) if this is the case, and we are done.
Otherwise, let \(C'\subseteq C\setminus \{c\}\) be the set of candidates from \(C\setminus \{c\}\) that beat or tie c in direct comparison and let \(D'\subseteq D\) be a set of at most \(C'\) candidates from D that c beats in direct comparison.
If \(C' \le \ell \) and \(C' = D'\), we output \((C',D')\), and otherwise we output “control impossible.”
Obviously, the algorithm solves the problem and runs in polynomial time.
Theorem 17
CondorcetDCRC is in \(\mathrm {P}\).
Proof
An algorithm that solves the problem works as follows: Given an election \((C\cup D,V)\), a distinguished candidate \(c\in C\), and an integer \(\ell \), it checks whether c is not winning the election (C, V) and outputs \((\emptyset ,\emptyset )\) if this is the case.
Otherwise, it checks whether there is a candidate \(d \in D\) who beats or ties c in direct comparison, whether there is another candidate \(b \in C\) with \(b \ne c\) and whether \(\ell \ge 1\). If these conditions are satisfied, it outputs \((\{b\},\{d\})\), and otherwise “control impossible.”
This algorithm outputs either a successful pair \((C',D')\) with \(C'\subseteq C\setminus \{c\}\), \(D'\in D\), and \(C' = D' \le \ell \) if c can be prevented from winning by replacing at most \(\ell \) candidates, or else “control impossible.” Obviously, the algorithm is correct and runs in polynomial time.
Fallback voting
We will now consider fallback voting and show that it is vulnerable to one type of replacement control and resistant to the others. Our results for fallback voting are summarized in Table 11.
Theorem 18
FallbackCCRV is \(\mathrm {NP}\)complete.
Proof
To prove \(\mathrm {NP}\)hardness, we will modify the reduction from X3C that Erdélyi and Rothe [22] (and Erdélyi et al. [16]) used to show \(\mathrm {NP}\)hardness of FallbackCCAV. Let \((U,\mathscr {S})\) be an X3C instance with \(U=\{u_1, \dots ,u_{3\kappa }\}\), \(\kappa \ge 2\), and \(\mathscr {S}=\{S_1, \dots ,S_t\}\), \(t \ge 1\). The set of candidates is \(C=U\cup {B} \cup \{c\}\) with c being the distinguished candidate and \(B=\{{b}_1,\dots ,{b}_{t(3\kappa 4)}\}\) a set of \(t(3\kappa 4)\) dummy candidates. In V (corresponding to the registered voters), there are the \(3\kappa 1\) votes (recall the input format in fallback elections described in Sect. 3):

\(2\kappa 1\) votes of the form \(U\ \mid \ {B} \cup \{c \}\) and

for each i, \(1\le i \le \kappa \), one vote of the form \({b}_i \ \mid \ U\cup ({B} \setminus \{{b}_i\}) \cup \{c\}\).
In W (corresponding to the unregistered voters), there are the following t votes:

For each j, \(1 \le j \le t\), let \({B}_j=\{{b}_{(j1)(3\kappa 4)+1},\dots ,{b}_{j(3\kappa 4)}\}\) and include in W the vote \({B}_j \ S_j \ c \  \ (U\setminus S_j)\cup ({B} \setminus {B}_j)\).
Finally, set \(\ell = \kappa \).
Having no approvals in (C, V), c does not win. We will show that \((U,\mathscr {S})\) is a YESinstance of X3C if and only if c can be made a fallback winner of the constructed election by replacing at most \(\kappa \) votes from V with as many votes from W.
(\(\Rightarrow \)) Suppose there is an exact cover \(\mathscr {S}' \subseteq \mathscr {S}\) of \(U\). Remove \(\kappa \) votes \(U\  \ {B}\cup \{c\}\) from the election and add, for each \(S_j \in \mathscr {S}'\), the vote \(B_j \ S_j \ c \  \ (U\setminus S_j)\cup ({B}\setminus {B}_j)\) instead. Let \((C,{\widehat{V}})\) be the resulting election. It follows that

\(score_{(C,{\widehat{V}})}({b}_i)\le 2\) for every \({b}_i\in {B}\),

\(score_{(C,{\widehat{V}})}(u_i)=\kappa \) for every \(u_i\in U\) (\(\kappa 1\) approvals from the remaining registered voters and one approval from the added voters since \(\mathscr {S}'\) is an exact cover of \(U\)), and

\(score_{(C,{\widehat{V}})}(c)=\kappa \).
Thus no candidate has a majority on any level and c is one of the winners since he or she ties all candidates of \(U\) for the most approvals overall.
(\(\Leftarrow \)) Suppose c can be made a fallback winner of the election by replacing at most \(\kappa \) votes from V with as many votes from W. Since c has no approvals in (C, V) and we can only add at most \(\kappa \) approvals for c, the only chance for c to win is to have the most approvals in the last stage of the election. Regardless of which votes we remove or add to the election, every dummy candidate can have at most two approvals, which will at least be tied by c if we add \(\kappa \ge 2\) unregistered votes to the election. We need to remove \(\kappa \) votes \(U\ \mid \ B \cup \{c \}\) from the election; otherwise, some \(u_i \in U\) would have at least s approvals, whereas c could gain no more than \(\kappa 1\) approvals from adding unregistered votes. Each \(u_i \in U\) receives \(\kappa 1\) approvals from the remaining registered votes of the original election and c receives \(\kappa \) approvals from the added votes. Additionally, every added voter approves of three candidates from \(U\). Hence, in order for c to at least tie every candidate from \(U\), each \(u_i \in U\) can only be approved by at most one of the added votes. Since there are \(\kappa \) added votes, there must be an exact cover of \(U\).
By contrast, we establish vulnerability of the destructive case of control by replacing voters for fallback voting. The proof employs a rather involved polynomialtime algorithm solving this problem.
Theorem 19
FallbackDCRV is in \(\mathrm {P}\).
Proof
We provide a polynomialtime algorithm that solves the problem and computes which voters need to be removed and which need to be added to prevent the distinguished candidate from being a fallback winner. The algorithm is inspired by an algorithm designed by Erdélyi and Rothe [22] (see also Erdélyi et al. [16]) to prove membership of fallbackDCAV in \(\mathrm {P}\).
For an election (C, V), let \( maj (V)=\lfloor \nicefrac {V}{2} \rfloor +1\) and let
be the deficit of candidate \(d \in C\) to a strict majority in (C, V) on level i, \(1\le i \le C\). Note that the number of voters is always the same, namely V, and so we will use \( maj (V)\) even after we have replaced some voters.
The input of the algorithm is an election \((C,V\cup W)\), a distinguished candidate \(c \in C\), and an integer \(\ell \). The algorithm will output either a pair \((V',W')\) with \(V'\subseteq V\), \(W'\subseteq W\), and \(V' = W' \le \ell \) (i.e., for c to not win, there are votes in \(V'\) that must be removed and votes in \(W'\) that must be added to the election instead), or that control is impossible.
The algorithm runs through \(n = \max _{v \in V \cup W} S_v\) stages which we call the majority stages and one final stage which we call the approval stage. In the majority stages the algorithm checks whether c can be beaten in the first n levels of the fallback election by replacing at most \(\ell \) voters, and in the approval stage it checks whether c can be dethroned in the last stage of the fallback election by this control action.
The algorithm works as follows: If c is already not winning in (C, V), we output \((\emptyset , \emptyset )\) and are done.
Majority Stage i, 1 ≤ i ≤ n: For \(i>1\), this stage is reached if we could not successfully control the election in majority stages 1 through \(i1\). Note that in each majority stage i we assume that a candidate that is approved by a voter on level \(j > i\) is disapproved by this voter. Now, for every candidate \(d\in C\setminus \{c\}\), we check whether d can beat c on level i of the fallback election. First, we check if the following two conditions hold:
If at least one of (1) and (2) does not hold, d cannot have a strict majority on level i or cannot beat c on this level, no matter which at most \(\ell \) votes we replace, and we skip d and proceed to the next candidate (or the next stage if all candidates failed to beat c in this stage).
Otherwise (i.e., if both (1) and (2) hold), we determine the largest \(W_d \subseteq W\) such that \( W_d  \le \ell \) and all votes of \(W_d\) approve of d and disapprove of c on the first i levels. Furthermore, we determine the largest \(V_d \subseteq V\) such that \(V_d \le \ell \) and all votes of \(V_d\) approve of c and disapprove of d on the first i levels. Again, if \( V_d  \ne  W_d\), we fill up the smaller vote list with votes as follows until they are equal in size:

If \( V_d  <  W_d \), we fill up \(V_d\) with votes of \(V \setminus V_d\) who approve of neither c nor d until we either have \( V_d  =  W_d \) or run out of those votes, and in the latter case we now keep adding to \(V_d\) those votes of \(V \setminus V_d\) who approve of both c and d while prioritizing those votes that approve of c on levels up to \(i1\) over votes that approve of c on level i. Only if this is still not enough to make these two vote lists equal in size, we remove votes from \(W_d\) until both lists are equally large.

If \( V_d  >  W_d \), we fill up \(W_d\) with votes of \(W \setminus W_d \) that approve of both c and d on the first i levels while prioritizing those votes that approve of c on level i over votes that approve of c on levels up to \(i1\), and if this is not enough to make these two vote lists equal in size, we add those votes from \(W \setminus W_d \) to \(W_d\) that disapprove of both c and d. Again, only if this is still not enough to make them both equal in size, we will remove votes from \(V_d\) (while prioritizing votes that approve of c on level i) until both lists are equally large.
Now, knowing that the resulting lists \(V_d\) and \(W_d\) are equal in size, we check the following condition:
If (3) or (4) does not hold, d cannot beat c and win on level i, and we skip d and proceed to the next candidate or the next stage.
Otherwise, we check the following condition:
If (5) does not hold, we output \((V_d,W_d)\), as d wins on the ith level and so prevents c from winning. Note that for \(i=1\) condition (5) always fails to hold, so the following steps are only done in majority stages 2 through n. If (5) does hold, then c wins on an earlier level and we failed to control the election. We will try to fix this, if at all possible, in two steps.
Firstly, if there are votes in \(W_d\) that approve of c on levels up to \(i1\) and of d on the first i levels (this would mean that all votes in \(V_d\) approve of c and disapprove of d on the first i levels), then we remove, by taking turns, one of them from \(W_d\) and one from \(V_d\) that approve of c on level i as long as possible and as long as
and (4) still hold. Note that we can skip this step if \(W_d\) was not filled up with votes in earlier steps to bring \(W_d\) and \(V_d\) to the same size.
Secondly, we find the largest vote lists \(W_{cd}\subseteq (W\setminus W_d)\) and \(V_{cd}\subseteq (V \setminus V_d)\) such that:

(a)
\( V_d\cup V_{cd} \le \ell \),

(b)
\( V_{cd} = W_{cd}\),

(c)
all votes in \(V_{cd}\) approve of c on the first \(i1\) levels,

(d)
all votes in \(W_{cd}\) approve of c on level i or disapprove of c, and

(e)
we have
$$\begin{aligned} score _{(C,(V\setminus (V_d\cup V_{cd}))\cup W_d\cup W_{cd})}^{i}(d) \ge \max \{ maj (V), score _{(C,(V\setminus (V_d\cup V_{cd}))\cup W_d\cup W_{cd})}^{i}(c)+1\}. \end{aligned}$$
Items (a), (b), and (e) make sure that we still have a valid replacement action and items (c) and (d) find the best votes to be added and removed such that c loses approvals on the first \(i1\) levels.
Then we check the following condition:
If (6) holds, c cannot be prevented from reaching a strict majority in the first \(i1\) levels without d not reaching a strict majority or failing to beat c on level i as well.
Otherwise, d still has a strict majority on level i and c cannot beat d with a strict majority on earlier levels, so we output \((V_d\cup V_{cd}, W_d\cup W_{cd})\) as a successful pair.
\({Approval Stage}\): This stage will only be reached if it was not possible to find a successful control action in majority stages 1 through n.
We first check whether the following holds:
If (7) does not hold, we output “control impossible” since, after replacing at most \(\ell \) suitable votes, (1) we could not find a candidate that beats c in the majority stages and reaches a strict majority and (2) c cannot be prevented from reaching a strict majority in overall approvals; so c must win, no matter which at most \(\ell \) votes are replaced.
Otherwise (i.e., if (7) holds), we iterate over all candidates \(d\in C\setminus \{c\}\) and check whether
If this is the case, we skip d and proceed to the next candidate or, if none is left, we output “control impossible” since then d cannot catch up on his or her deficit to c.
Otherwise, we will try to make d overtake c in overall approvals while decreasing c’s overall approvals as much as possible in order to prevent c from reaching a strict majority. We again determine the largest \(W_d \subseteq W\) such that \( W_d  \le \ell \) and all votes of \(W_d\) approve of d and disapprove of c. Furthermore, we again determine the largest \(V_d \subseteq V\) such that \( V_d  \le \ell \) and all votes of \(V_d\) approve of c and disapprove of d. Once more, if \( V_d  \ne  W_d\), we fill up the smaller vote list with votes as follows until they are equal in size:

If \( V_d  <  W_d \), we fill up \(V_d\) with votes of \(V \setminus V_d\) who approve of both c and d until we either have \( V_d  =  W_d \) or run out of those votes, and in the latter case we now keep adding to \(V_d\) those votes of \(V \setminus V_d\) who approve of neither c nor d. Only if this is still not enough to make the two lists equal in size, we remove votes from \(W_d\) until both lists are equally large.

If \( V_d  >  W_d \), we fill up \(W_d\) with votes of \(W \setminus W_d \) that disapprove of both c and d until we either have \( V_d  =  W_d \) or run out of those votes, and in the latter case we now keep adding to \(W_d\) those votes of \(W \setminus W_d \) that approve of both c and d. We prefer adding votes disapproving both c and d over votes approving both c and d since the former type of votes keep c’s score as low as possible. Again, only if this is still not enough to make both vote lists equal in size, we remove votes from \(V_d\) until both lists are equally large. Afterwards, if there are votes in \(V \setminus V_d\) that approve of both c and d and votes in \(W \setminus W_d \) that disapprove of both c and d, we add as many as possible of them to \(V_d\) and \(W_d\), respectively, always ensuring that \(V_d = W_d\) still holds. By doing this, we further reduce c’s score without changing the score balance of c and d.
Then we check the following conditions:
If (8) and (9) are true, output \((V_d, W_d)\) since we have successfully prevented c from reaching a strict majority and found a candidate d that beats c by approval score.
Otherwise, we proceed to the next candidate or, if none is left, output “control impossible.”
Correctness of the algorithm follows from the explanations given during its description: The algorithm takes the safest way possible to guarantee that a YESinstance is verified. Clearly, the algorithm runs in polynomial time.
Turning to control by replacing candidates, fallback is resistant in both the constructive and the destructive case.
Theorem 20
FallbackCCRC and FallbackDCRC are \(\mathrm {NP}\)complete.
Proof
Erdélyi and Rothe [22] (see also the subsequent journal version by Erdélyi et al. [16]) showed that fallback is resistant to constructive and destructive control by deleting candidates. Recall that in the former problem (denoted by FallbackCCDC), we are given a fallback election (C, V), a distinguished candidate \(c \in C\), and an integer \(\ell \), and we ask whether c can be made a fallback winner by deleting at most \(\ell \) votes, whereas in the destructive variant (denoted by FallbackDCDC), for the same input we ask whether we can prevent c from winning by deleting at most \(\ell \) votes. To prove the theorem, we will reduce

FallbackCCDC to FallbackCCRC and

FallbackDCDC to FallbackDCRC, respectively.
Let \(((C,V),c,\ell )\) be an instance of FallbackCCDC (or FallbackDCDC). We construct from (C, V) a fallback election \((C \cup D,V')\) with (dummy) unregistered candidates \(D = \{d_1,\dots ,d_\ell \}\), \(D \cap C = \emptyset \), where we extend the votes of V to the set of candidates \(C \cup D\) by letting all voters disapprove of all candidates in D, thus obtaining \(V'\). Our distinguished candidate remains c, and the deletion bound \(\ell \) now becomes the limit on the number of candidates that may be replaced.
Since all candidates from D are irrelevant to the election and can be added to the election without changing the winner(s), it is clear that c can be made a fallback winner of (C, V) by deleting up to \(\ell \) candidates from C if and only if c can be made a fallback winner of \((C \cup D,V')\) by deleting up to \(\ell \) candidates from C and adding the same number of dummy unregistered candidates from D. This gives the desired reduction in both the constructive and the destructive case.
Range voting and normalized range voting
Now we study range voting and normalized range voting. Our results in this section are summarized in Table 12.
We first solve the cases in which range voting and normalized range voting have the same complexity and can be solved at one go starting with constructive control by replacing voters that follows from a result by Menton [48] that makes use of the fact that approval voting is a special case of range voting and normalized range voting.
Theorem 21
(Menton [48]) If approval voting is resistant to a case of control, range voting and normalized range voting will also be resistant for any scoring range.
Corollary 5
RangeVotingCCRV and NormalizedRangeVotingCCRV are \(\mathrm {NP}\)complete.
The destructive variant can be solved by a simple algorithm for range voting and normalized range voting.
Theorem 22
RangeVotingDCRV and NormalizedRangeVotingDCRV are in \(\mathrm {P}\).
Proof
To prove membership in \(\mathrm {P}\) of both problems, we will provide an algorithm that solves the problems in polynomial time and outputs, if possible, which of the registered voters must be replaced by which unregistered voters for c to not win. The input to our algorithm is a krange election \((C, V \cup W)\), the distinguished candidate \(c \in C\), and an integer \(\ell \). The algorithm will output either a pair \((V',W')\) with \(V'\subseteq V\), \(W'\subseteq W\), and \(V' = W' \le \ell \) (i.e., for c to not win, there are votes in \(V'\) that must be removed and votes in \(W'\) that must be added to the election instead), or that control is impossible.
First, the algorithm checks whether c is already not winning the election (C, V) and outputs \((\emptyset ,\emptyset )\) if this is the case, and we are done.
Otherwise (i.e., if c is initially winning), we will try to find a candidate \(d\in C \setminus \{c\}\) who can beat the distinguished candidate c if voters are replaced. Since removing voters from or adding voters to the election does not affect the number of points (normalized or not) other voters give to the candidates, we can compute the change of the points balance (for range voting and normalized range voting, respectively) of c and d for each voter in \(V \cup W\). Formally, let \(v \in V \cup W\) and \(s^v_c\) and \(s^v_d\) be the (normalized) points given to c and d by voter v. Let \( dist _{(C,\{v\})}(c,d) = s^v_c  s^v_d\) be the points difference that c and d would gain if v were part of the election. Order the voters in V and W, respectively, according to those values. Let \(V' = \emptyset \) and \(W'=\emptyset \). Then, in at most \(\ell \) rounds, choose one vote \(v \in V\) to remove from the election that maximizes the points balance in favor of c (i.e., \(v = \mathop {\mathrm{arg}\, \mathrm{max}}\limits _{v \in V} dist _{(C,\{v\})}(c,d)\)) and one vote from \(w \in W\) to add to the election that maximizes the points balance in favor of d (i.e., \(w = \mathop {\mathrm{arg}\, \mathrm{min}}\limits _{v \in V} dist _{(C,\{v\})}(c,d)\)). If the replacement of v with w changes the points balance of c and d in favor of d (i.e., if \( dist _{(C,\{w\})}(c,d)  dist _{(C,\{v\})}(c,d) < 0\)), set \(V=V\setminus \{v\}\), \(V' = V' \cup \{v\}\), \(W=W\setminus \{w\}\), and \(W' = W' \cup \{w\}\).
Afterwards, check whether c is beaten by d in \((C,(V\setminus V') \cup W')\) and output \((V',W')\) if this is the case. If there is no such candidate d, output that control is impossible. The algorithm solves the problems and runs in polynomialtime.
Turning now to control by replacing candidates, we start by examining constructive and destructive control for range voting and show that these problems are easy to solve. First note that Menton [48] showed that range voting (just like its special variant approval voting [33]) is immune to constructive control by adding candidates and to destructive control by deleting candidates. For control by replacing candidates, however, range voting is susceptible both in the constructive and in the destructive case, as shown in the following example.
Example 2
Consider a set \(C=\{c,d\}\) of registered candidates, a set \(D=\{e\}\) with only one unregistered candidate, and one voter v with points vector (1, 2, 0), where \(C \cup D\) is ordered lexicographically (i.e., c gets one point, d two, and e zero points). If we are allowed to replace one candidate, c loses in the 2range election (C, V) under range voting, but wins if d is replaced by e. This shows that range voting is susceptible to constructive control by replacing candidates.
We can use the same candidate sets C and D and the points vector (1, 0, 2) for v to show susceptibility of range voting for destructive control by replacing candidates analogously.
Theorem 23
RangeVotingCCRC and RangeVotingDCRC are in \(\mathrm {P}\).
Proof
For range voting, adding or removing candidates does not affect the points given to other candidates. Therefore, for an input of RangeVotingCCRC and RangeVotingDCRC, respectively, we do the following after checking whether the chair’s constructive or destructive goal is reached trivially (and accepting in this case).
In the constructive case, we need to check whether the number of registered candidates that beat the distinguished candidate c is at most \(\ell \) and whether there are enough unregistered candidates that do not beat c so that each of them can replace one registered candidate beating c. If so, we accept; otherwise, control is impossible.
In the destructive case, we check if there exists an unregistered candidate d that beats c; if so, we choose an arbitrary registered candidate that is not c and replace this candidate by d; otherwise, control is impossible.
In contrast to range voting, we now show that normalized range voting is resistant to constructive and destructive control by replacing candidates. Starting with constructive control, we adapt a reduction by Menton [48] to reduce HittingSet to NormalizedRangeVotingCCRC.
Theorem 24
NormalizedRangeVotingCCRC is \(\mathrm {NP}\)complete.
Proof
The reduction is a simple modification of the reduction that Menton [48] used to show that normalized range voting is resistant to constructive control by adding candidates.
Given a HittingSet instance \((U,\mathscr {S}, \kappa )\), construct a NormalizedRangeVotingCCRC instance as follows. Let \(C = E \cup \{c,w\}\) with \(E = \{e_1,\dots , e_\kappa \}\) be the set of registered candidates and \(D = U\) the set of unregistered candidates.

\(2t(\kappa + 1) + 4s\) voters give a score of 2 to c and each \(e_i \in E\), and a score of 0 to all other candidates;

\(3t(\kappa + 1) + 2\kappa \) voters give a score of 2 to w and each \(e_i \in E\), and a score of 0 to all other candidates;

for each \(b \in U\), 4 voters give a score of 2 to b and each \(e_i \in E\), a score of 1 to w, and a score of 0 to all other candidates; and

for each \(S_i \in \mathscr {S}\), \(2(\kappa +1)\) voters give a score of 2 to each \(b \in S_i\) and each \(e_i \in E\), a score of 1 to c, and a score of 0 to all other candidates.
The voters are exactly the same as in the reduction for NormalizedRangeVotingCCAC of Menton [48] (the number of voters in the second group are adjusted to the nonuniquewinner model) except that every voter gives the candidates from E the maximum number of points. Since w gains zero points from the second group of voters in order for w to have a chance of winning, all candidates from E need to be removed. Together with the fact that we can pad every solution of the HittingSet instance to contain exactly \(\kappa \) elements of \(U\) we can conclude that \((U,\mathscr {S}, \kappa )\) is a YESinstance of HittingSet if and only if \(((C \cup D,V),w,\kappa )\) is a YESinstance of NormalizedRangeVotingCCRC.
For the destructive variant we can use the \(\mathrm {NP}\)hardness of NormalizedRangeVotingDCDC proven by Menton [48].
Theorem 25
NormalizedRangeVotingDCRC is \(\mathrm {NP}\)complete.
Proof
To show \(\mathrm {NP}\)hardness we will reduce NormalizedRangeVotingDCDC to NormalizedRangeVotingDCRC. Given a NormalizedRangeVotingDCDC instance \(((C,V),c,\ell )\), construct a set of unregistered candidates D with \(D=\ell \) and let every voter \(v \in V\) give every candidate from D as many points as he or she gives to c. Therefore, c and every candidate from D will always have the same number of points. Since c is always part of the election (removing c would trivially achieve the destructive goal), adding any candidate of D never affects the number of points given to other candidates. Therefore, if at most \(\ell \) candidates from \(C \setminus \{c\}\) can be removed from the election (C, V) to make c not win (i.e., \(((C,V),c,\ell )\) is a YESinstance of NormalizedRangeVotingDCDC), we can add the same number of candidates from D to the election without changing the winners, so \(((C \cup D,V),c,\ell )\) is a YESinstance of NormalizedRangeVotingDCRC. For the converse direction, if we cannot make c be beaten in (C, V) by removing at most \(\ell \) candidates, we cannot do so by adding candidates from D. Menton [48] showed that NormalizedRangeVotingDCDC is \(\mathrm {NP}\)hard. Thus the theorem is proven.
Conclusions and open problems
We have investigated the computational complexity of control for Copeland\(^{\alpha }\), maximin, kveto, plurality with runoff, veto with runoff, Condorcet, fallback, range voting, and normalized range voting, closing a number of gaps in the literature. Table 1 on page 5 in Sect. 2 gives an overview of our and previously known results on the complexity of control by replacing, adding, and deleting either candidates or voters for the voting rules mentioned above.
Our proofs are based on the nonuniquewinner model but can be modified to work for the uniquewinner model of the control problems as well. Notice that the complexity of CCRV for 2approval remains the only open problem in Table 1. The polynomialtime algorithm for 2VetoCCRV from the proof of Theorem 5 cannot be trivially extended to 2approval. In 2veto, any optimal solution only replaces registered voters in V that veto the distinguished candidate. However, this is not the case in 2approval. In a worst case, we need to replace registered votes in V that do not approve of c with some unregistered votes in W that also do not approve of c. It is not clear how to reduce such a worstcase instance to an equivalent bEC instance.
We point out that the complexity of partitioning either candidates or voters (in the various scenarios due to Bartholdi, Tovey, and Trick [7] and Hemaspaandra, Hemaspaandra, and Rothe [33]) is still open for plurality with runoff and veto with runoff. In addition, it would also be interesting to study the parameterized complexity of control problems for plurality with runoff and veto with runoff. Third, it is important to point out that our \(\mathrm {NP}\)completeness results provide purely a worstcase analysis and whether these problems are hard to solve in practice needs to be further investigated. Finally, our polynomialtime algorithm in Theorem 9 relies on that ties are broken in favor of the chair. It would be interesting to see if the result still holds for other tiebreaking rules. It has been observed that tiebreaking rules may affect the complexity of strategic voting problems [3, 52, 63].
Notes
As defined by Bartholdi, Tovey, and Trick [7], for control by partition of either candidates or voters, there is a first round in which the candidates or voters are partitioned into two subgroups which separately elect winners who then may proceed to the finalround election. Hemaspaandra, Hemaspaandra, and Rothe [33] introduced two tiehandling rules, ties eliminate and ties promote, that determine which of the firstround winners proceed to the final runoff in case of a tie among two or more candidates in any of the two firstround subelections. Further, there are two variants of control by partition of candidates, one with runoff (where both subgroups send their winners to the final round) and one without (where the winners of one subgroup face all candidates of the other in the final round). Hemaspaandra, Hemaspaandra, and Menton [35] showed that certain destructive variants of these problems in fact are the same. In this paper, we will not consider any cases of control by partition, though.
Some voting rules, such as fallback voting, require a different input format to specify votes, as will be explained below.
In the nonuniquewinner model, for a constructive (respectively, destructive) control action to be successful, it is enough to make the distinguished candidate c a winner, possibly among others, of the resulting election (respectively, it must be ensured that c is not even a winner), whereas in the uniquewinner model, a constructive (respectively, destructive) control action is considered to be successful only when c alone wins (respectively, it is enough to ensure that c is not the only winner).
For simplicity, we write \(b_{\alpha } (u,v)\) for \(b_{\alpha } ((u,v))\), \(b_{\beta } (u,v)\) for \(b_{\beta }((u,v))\), and \(g (u,v)\) for \(g((u,v))\) throughout this paper.
Note that the value of \(\text {Score}(c_1,c_2)\) does not depend on any other candidates in the election.
The reduction in [24] is in fact from the X3C problem, which is a generalization of RX3C where the restriction that every \(u\in U\) occurs in exactly three elements of \(\mathscr {S}\) is dropped.
Note that if the maximin score of c is less than k, the candidate \(c'\) can also beat c with maximin score k, but this case is captured by another pair \((c',k)\).
We remark in passing that Loreggia et al. [43] showed \(\mathrm {NP}\)hardness for kApprovalCCRV with \(k \le m3\) from which \(\mathrm {NP}\)hardness of kVetoCCRV with \(k \ge 3\) immediately follows (kveto and \((mk)\)approval are the same for constant m), but their proof (given in the PhD thesis of Loreggia [42]), which reduces X3C to 3ApprovalCCRV, does not make it clear how the reduction can be adapted to kapproval with \(k \le m3\) (in particular, since the addition of dummy candidates would also increase m).
Indeed, to see that kveto does not satisfy IBC, consider the set \(C = \{a,b,c_1,\dots ,c_k\}\) of candidates and let there be only one voter with vote \(a \ b \ c_1 \ \cdots \ c_k\). Then a and b win the election under kveto, but if we remove the bottom ranked candidate \(c_k\), only a wins the election alone, so the set of winners can be changed by removing a bottomranked candidate.
A similar reduction was used by Bartholdi, Tovey, and Trick [7] to prove that CondorcetCCAV is \(\mathrm {NP}\)hard.
References
Ahuja, R., Magnanti, T., & Orlin, J. (1993). Network Flows: Theory, Algorithms, and Applications. New Jersey: PrenticeHall.
Arora, S., & Barak, B. (2009). Computational Complexity: A Modern Approach. Cambridge: Cambridge University Press.
Aziz, H., Gaspers, S., Mattei, N., Narodytska, N., & Walsh, T. (2013) Ties matter: Complexity of manipulation when tiebreaking with a random vote. In: Proceedings of the 27th AAAI Conference on Artificial Intelligence, pp. 74–80
BangJensen, J., & Gutin, G. (2008). Digraphs: Theory. Berlin: SpringerVerlag.
Bartholdi, J., & III., & Orlin, J. . (1991). Single transferable vote resists strategic voting. Social Choice and Welfare, 8(4), 341–354.
Bartholdi, J., & III., Tovey, C., & Trick, M. . (1989). The computational difficulty of manipulating an election. Social Choice and Welfare, 6(3), 227–241.
Bartholdi, J., & III., Tovey, C., & Trick, M. . (1992). How hard is it to control an election? Mathematical and Computer Modelling, 16(8/9), 27–40.
Baumeister, D., & Rothe, J. (2015). Preference aggregation by voting. In: J. Rothe (ed.) Economics and Computation. An Introduction to Algorithmic Game Theory, Computational Social Choice, and Fair Division, Springer Texts in Business and Economics, chap. 4, pp. 197–325. SpringerVerlag
Betzler, N., & Uhlmann, J. (2009). Parameterized complexity of candidate control in elections and related digraph problems. Theoretical Computer Science, 410(52), 5425–5442.
Brams, S., & Sanver, R. (2009). Voting systems that combine approval and preference. In: S. Brams, W. Gehrlein, F. Roberts (eds.) The Mathematics of Preference, Choice, and Order: Essays in Honor of Peter C. Fishburn, pp. 215–237. Springer
Chen, J., Faliszewski, P., Niedermeier, R., & Talmon, N. (2017). Elections with few voters: Candidate control can be easy. Journal of Artificial Intelligence Research, 60, 937–1002.
Conitzer, V., & Walsh, T. (2016). Barriers to manipulation in voting. In: F. Brandt, V. Conitzer, U. Endriss, J. Lang, A. Procaccia (eds.) Handbook of Computational Social Choice, chap. 6, pp. 127–145. Cambridge University Press
Downey, R., & Fellows, M. (2013). Parameterized Complexity (2nd ed.). SpringerVerlag.
Dwork, C., Kumar, R., Naor, M., & Sivakumar, D. (2001). Rank aggregation methods for the web. In: Proceedings of the 10th International World Wide Web Conference, pp. 613–622
Ephrati, E., & Rosenschein, J. (1997). A heuristic technique for multiagent planning. Annals of Mathematics and Artificial Intelligence, 20(1–4), 13–67.
Erdélyi, G., Fellows, M., Rothe, J., & Schend, L. (2015). Control complexity in Bucklin and fallback voting: A theoretical analysis. Journal of Computer and System Sciences, 81(4), 632–660.
Erdélyi, G., Fellows, M., Rothe, J., & Schend, L. (2015). Control complexity in Bucklin and fallback voting: An experimental analysis. Journal of Computer and System Sciences, 81(4), 661–670.
Erdélyi, G., Hemaspaandra, E., & Hemaspaandra, L. (2015). More natural models of electoral control by partition. In: Proceedings of the 4th International Conference on Algorithmic Decision Theory, pp. 396–413
Erdélyi, G., Nowak, M., & Rothe, J. (2009). Sincerestrategy preferencebased approval voting fully resists constructive control and broadly resists destructive control. Mathematical Logic Quarterly, 55(4), 425–443.
Erdélyi, G., Piras, L., & Rothe, J. (2011). The complexity of voter partition in Bucklin and fallback voting: Solving three open problems. In: Proceedings of the 10th International Conference on Autonomous Agents and Multiagent Systems, pp. 837–844
Erdélyi, G., Reger, C., & Yang, Y. (2019). Towards completing the puzzle: Solving open problems for control in elections. In: Proceedings of the 18th International Conference on Autonomous Agents and Multiagent Systems, pp. 846–854
Erdélyi, G., & Rothe, J. (2010). Control complexity in fallback voting. In: Proceedings of Computing: the 16th Australasian Theory Symposium, pp. 39–48
Faliszewski, P., Hemaspaandra, E., & Hemaspaandra, L. (2011). Multimode control attacks on elections. Journal of Artificial Intelligence Research, 40, 305–351.
Faliszewski, P., Hemaspaandra, E., Hemaspaandra, L., & Rothe, J. (2009). Llull and Copeland voting computationally resist bribery and constructive control. Journal of Artificial Intelligence Research, 35, 275–341.
Faliszewski, P., & Rothe, J. (2016). Control and bribery in voting. In: F. Brandt, V. Conitzer, U. Endriss, J. Lang, A. Procaccia (eds.) Handbook of Computational Social Choice, chap. 7, pp. 146–168. Cambridge University Press
Gabow, H. (1983). An efficient reduction technique for degreeconstrained subgraph and bidirected network flow problems. In: Proceedings of the 15th ACM Symposium on Theory of Computing, pp. 448–456
Garey, M., & Johnson, D. (1979). Computers and Intractability: A Guide to the Theory of NPCompleteness. Freeman and Company: W. H.
Ghosh, S., Mundhe, M., Hernandez, K., & Sen, S. (1999). Voting for movies: The anatomy of recommender systems. In: Proceedings of the 3rd Annual Conference on Autonomous Agents, pp. 434–435
Gonzalez, T. (1985). Clustering to minimize the maximum intercluster distance. Theoretical Computer Science, 38, 293–306.
Grötschel, M., Lovász, L., & Schrijver, A. (1988). Geometric Algorithms and Combinatorial Optimization. Berlin: Springer.
Guo, J., & Shrestha, Y.R. (2014). Controlling twostage voting rules. In: Proceedings of the 21st European Conference on Artificial Intelligence, pp. 411–416
Haynes, T., Sen, S., Arora, N., & Nadella, R. (1997). An automated meeting scheduling system that utilizes user preferences. In: Proceedings of the 1st International Conference on Autonomous Agents, pp. 308–315
Hemaspaandra, E., Hemaspaandra, L., & Rothe, J. (2007). Anyone but him: The complexity of precluding an alternative. Artificial Intelligence, 171(5–6), 255–285.
Hemaspaandra, E., Hemaspaandra, L., & Schnoor, H. (2014). A control dichotomy for pure scoring rules. In: Proceedings of the 28th AAAI Conference on Artificial Intelligence, pp. 712–720
Hemaspaandra, E., Hemaspaandra, L. A., & Menton, C. (2020). Search versus decision for election manipulation problems. ACM Transactions on Computation Theory, 12(1), 3:13:42.
Hemaspaandra, L. (2018). Computational social choice and computational complexity: BFFs? In: Proceedings of the 32nd AAAI Conference on Artificial Intelligence, pp. 7971–7977
Karp, R. (1972). Reducibility among combinatorial problems. In: R. Miller, J. Thatcher (eds.) Complexity of Computer Computations, pp. 85–103
Lang, J., Maudet, N., & Polukarov, M. (2013). New results on equilibria in strategic candidacy. In: Proceedings of the 6th International Symposium on Algorithmic Game Theory, pp. 13–25
Lin, A. (2011). The complexity of manipulating \(k\)approval elections. In: Proceedings of the 3rd International Conference on Agents and Artificial Intelligence, pp. 212–218
Loreggia, A. (2012). Iterative voting and multimode control in preference aggregation. Master’s thesis, University of Padova
Loreggia, A. (2014). Iterative voting and multimode control in preference aggregation. Intelligenza Artificiale, 8(1), 39–51.
Loreggia, A. (2016). Iterative voting, control and sentiment analysis. Ph.D. thesis, University of Padova
Loreggia, A., Narodytska, N., Rossi, F., Venable, B., & Walsh, T. (2015). Controlling elections by replacing candidates or votes (extended abstract). In: Proceedings of the 14th International Conference on Autonomous Agents and Multiagent Systems, pp. 1737–1738
Magiera, K., & Faliszewski, P. (2017). How hard is control in singlecrossing elections? Journal of Autonomous Agents and MultiAgent Systems, 31(3), 606–627.
Maushagen, C., & Rothe, J. (2016). Complexity of control by partitioning veto and maximin elections and of control by adding candidates to plurality elections. In: Proceedings of the 22nd European Conference on Artificial Intelligence, pp. 277–285
Maushagen, C., & Rothe, J. (2018). Complexity of control by partitioning veto elections and of control by adding candidates to plurality elections. Annals of Mathematics and Artificial Intelligence, 82(4), 219–244.
Maushagen, C., & Rothe, J. (2020). The last voting rule is home: Complexity of control by partition of candidates or voters in maximin elections. In: Proceedings of the 24th European Conference on Artificial Intelligence, pp. 163–170
Menton, C. (2013). Normalized range voting broadly resists control. Theory of Computing Systems, 53(4), 507–531.
Menton, C., & Singh, P. (2013). Control complexity of Schulze voting. In: Proceedings of the 23rd International Joint Conference on Artificial Intelligence, pp. 286–292
Neveling, M., Rothe, J., & Zorn, R. (2020). The complexity of controlling Condorcet, fallback, and \(k\)veto elections by replacing candidates or voters. In: Proceedings of the 15th International Computer Science Symposium in Russia, pp. 314–327
Niedermeier, R. (2006). Invitation to FixedParameter Algorithms. Oxford: Oxford University Press.
Obraztsova, S., Elkind, E., & Hazon, N. (2011). Ties matter: Complexity of voting manipulation revisited. In: Proceedings of the 22nd International Joint Conference on Artificial Intelligence, pp. 2698–2703
Oflazer, K., & Tür, G. (1997). Morphological disambiguation by voting constraints. In: Proceedings of the 8th Conference of the European Chapter of the Association for Computational Linguistics, pp. 222–229
Parkes, D., & Xia, L. (2012). A complexityofstrategicbehavior comparison between Schulze’s rule and ranked pairs. In: Proceedings of the 26th AAAI Conference on Artificial Intelligence, pp. 1429–1435
Pennock, D., Horvitz, E., & Giles, C. (2000). Social choice theory and recommender systems: Analysis of the axiomatic foundations of collaborative filtering. In: Proceedings of the 17th National Conference on Artificial Intelligence, pp. 729–734
Rothe, J. (2005). Complexity Theory and Cryptology. An Introduction to Cryptocomplexity. EATCS Texts in Theoretical Computer Science. SpringerVerlag
Sigletos, G., Paliouras, G., Spyropoulos, C., & Hatzopoulos, M. (2005). Combining information extraction systems using voting and stacked generalization. Journal of Machine Learning Research, 6, 1751–1782.
Tovey, C. (2002). Tutorial on computational complexity. Interfaces, 32(3), 30–61.
West, D. (2000). Introduction to Graph Theory. New Jersey: PrenticeHall.
Yang, Y. (2017). The complexity of control and bribery in majority judgment. In: Proceedings of the 16th International Conference on Autonomous Agents and Multiagent Systems, pp. 1169–1177
Yang, Y., & Guo, J. (2014).Controlling elections with bounded singlepeaked width. In: Proceedings of the 13th International Conference on Autonomous Agents and Multiagent Systems, pp. 629–636
Yang, Y., & Guo, J. (2017). The control complexity of \(r\)approval: From the singlepeaked case to the general case. Journal of Computer and System Sciences, 89, 432–449.
Yang, Y., & Wang, J. (2017). Anyone but them: The complexity challenge for a resolute election controller. In: Proceedings of the 16th International Conference on Autonomous Agents and Multiagent Systems, pp. 1133–1141
Acknowledgements
We thank the anonymous JAAMAS, AAMAS’19, CSR’20, and ISAIM’20 reviewers for their helpful comments. This work was supported in part by DFG Grants RO1202/142 and RO1202/211.
Funding
Open Access funding enabled and organized by Projekt DEAL.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
The authors are ordered alphabetically.
This paper merges and extends two preliminary versions that appeared in the proceedings of the 18th International Conference on Autonomous Agents and Multiagent Systems (AAMAS 2019) [21] and in the proceedings of the 15th International Computer Science Symposium in Russia (CSR 2020) [50]; the latter paper was also presented at the 16th International Symposium on Artificial Intelligence and Mathematics (ISAIM 2020) with nonarchival website proceedings.
Rights and permissions
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
About this article
Cite this article
Erdélyi, G., Neveling, M., Reger, C. et al. Towards completing the puzzle: complexity of control by replacing, adding, and deleting candidates or voters. Auton Agent MultiAgent Syst 35, 41 (2021). https://doi.org/10.1007/s10458021095239
Accepted:
Published:
DOI: https://doi.org/10.1007/s10458021095239
Keywords
 Computational complexity
 Electoral control
 Copeland
 Maximin
 Veto
 Plurality with runoff
 Veto with runoff
 Condorcet
 Fallback
 Range voting
 Normalized range voting