intersections, plotmarks, arrows.meta, angles, quotes \tikzset dot/.style=circle,inner sep=1.7pt,fill,label=#1,name=#1, right angle quadrant/.code= \pgfmathsetmacro\quadranta1,1,-1,-1[#1-1] \pgfmathsetmacro\quadrantb1,-1,-1,1[#1-1], right angle quadrant=1, right angle length/.code=, right angle length=2ex, right angle symbol/.style n args=3 insert path= let \p0 = () in let \p1 = (), \p2 = () in let \p3 = () in (\p1) – (\p3) – (\p2) Tandon School of Engineering, New York University, Brooklyn, NY 11201, [email protected]://orcid.org/0000-0003-3110-4702Partially supported by NSF grant CCF-15-40656 and by grant 2014/170 from the US-Israel Binational Science Foundation. Department of Computing Science, TU Eindhoven, 5600 MB Eindhoven, The [email protected]://orcid.org/0000-0001-5770-3784Supported by the Netherlands’ Organisation for Scientific Research (NWO) under project no. 024.002.003. School of Computer Science, University of Sydney, Sydney, NSW 2006, [email protected]://orcid.org/0000-0002-6778-7990Supported under the Australian Research Council Discovery Projects funding scheme (project numbers DP150101134 and DP180102870). Sportlogiq, Inc., Montreal, Quebec H2T 3B3, [email protected] https://orcid.org/0000-0001-6388-9634 \CopyrightBoris Aronov, Mark de Berg, Joachim Gudmundsson and Michael Horton \ccsdesc[100]Theory of computation Design and analysis of algorithms \EventEditorsSergio Cabello and Danny Z. Chen \EventNoEds2 \EventLongTitle36th International Symposium on Computational Geometry (SoCG 2020) \EventShortTitleSoCG 2020 \EventAcronymSoCG \EventYear2020 \EventDateJune 23–26, 2020 \EventLocationZürich, Switzerland \EventLogosocg-logo \SeriesVolume164 \ArticleNoXX \hideLIPIcs
On -Plurality Points in Spatial Voting Games
Abstract
Let be a set of points in , called voters. A point is a plurality point for when the following holds: for every the number of voters closer to than to is at least the number of voters closer to than to . Thus, in a vote where each votes for the nearest proposal (and voters for which the proposals are at equal distance abstain), proposal will not lose against any alternative proposal . For most voter sets a plurality point does not exist. We therefore introduce the concept of -plurality points, which are defined similarly to regular plurality points except that the distance of each voter to (but not to ) is scaled by a factor , for some constant . We investigate the existence and computation of -plurality points, and obtain the following results.
-
•
Define . We prove that , and that for all .
-
•
Define . Given a voter set , we provide an algorithm that runs in time and computes a point such that . Moreover, for we can compute a point with in time.
-
•
Define . We present an algorithm that, given a voter set in , computes an plurality point in time .
keywords:
Computational geometry, Spatial voting theory, Plurality point, Computational social choice1 Introduction
Background.
Voting theory is concerned with mechanisms to combine preferences of individual voters into a collective decision. A desirable property of such a collective decision is that it is stable, in the sense that no alternative is preferred by more voters. In spatial voting games [5, 10] this is formalized as follows; see Fig. 1(i) for an example in a political context. The space of all possible decisions is modeled as and every voter is represented by a point in , where the dimensions represent different aspects of the decision and the point representing a voter corresponds to the ideal decision for that voter. A voter now prefers a proposed decision over some alternative proposal when is closer to than to . Thus a point represents a stable decision for a given finite set of voters if, for any alternative , we have . Such a point is called a plurality point.111One can also require to be strictly more popular than any alternative . This is sometimes called a strong plurality point, in contrast to the weak plurality points that we consider.
For , a plurality point always exists, since in a median of is a plurality point. This is not true in higher dimensions, however. Define a median hyperplane for a set of voters to be a hyperplane such that both open half-spaces defined by contain fewer than voters. For a plurality point in exists if and only if all median hyperplanes for meet in a common point; see Fig. 1(ii). This condition is known as generalized Plott symmetry conditions [12, 24]; see also the papers by Wu et al. [29] and de Berg et al. [4], who present algorithms to determine the existence of a plurality point for a given set of voters.
It is very unlikely that voters are distributed in such a way that all median hyperplanes have a common intersection. (Indeed, if this happens, then a slightest generic perturbation of a single voter destroys the existence of the plurality point.) When a plurality point does not exist, we may want to find a point that is close to being a plurality point. One way to formalize this is to consider the center of the yolk (or plurality ball) of , where the yolk [14, 18, 22, 23] is the smallest ball intersecting every median hyperplane of . We introduce -plurality points as an alternative way to relax the requirements for a plurality point, and study several combinatorial and algorithmic questions regarding -plurality points.

-Plurality points: definition and main questions.
Let be a multiset222Even though we allow to be a multiset, we sometimes refer to it as a “set” to ease the reading. When the fact that is a multiset requires special treatment, we explicitly address this. of voters in in arbitrary, possibly coinciding, positions. In the traditional setting a proposed point wins a voter against an alternative if . We relax this by fixing a parameter with and letting win against if . Thus we give an advantage to the initial proposal by scaling distances to by a factor . We now define
to be the multisets of voters won by over and lost by against , respectively. Finally, we say that a point is a -plurality point for when
Observe that -plurality is monotone in the sense that if is a -plurality point then is also a -plurality point for all .
The spatial voting model was popularised by Black [5] and Down [10] in the 1950s. Stokes [27] criticized its simplicity and was the first to highlight the importance of taking non-spatial aspects into consideration. The reasoning is that voters may evaluate a candidate not only on their policies—their position in the policy space—but also take their so-called valence into account: charisma, competence, or other desirable qualities in the public’s mind [13]. A candidate can also increase her valence by a stronger party support [28] or campaign spending [19]. Several models have been proposed to bring the spatial model closer to a more realistic voting approach; see [16, 17, 25] as examples. A common model is the multiplicative model, introduced by Hollard and Rossignol [20], which is closely related to the concept of a -plurality point. The multiplicative model augments the existing spatial utility function by scaling the candidate’s valence by a multiplicative factor. Note that in the 2-player game considered in this paper the multiplicative model is the same as our -plurality model. From a computational point of view very little is known about the multiplicative model. We are only aware of a result by Chung [8], who studied the problem of positioning a new candidate in an existing space of voters and candidates, so that the valence required to win at least a given number of voters is minimized.
One reason for introducing -plurality was that a set of voters in , for , generally does not admit a plurality point. This immediately raises the question: Is it true that, for small enough, any set admits a -plurality point? If so, we want to know the largest such that any voter set admits a -plurality point, that is, we wish to determine
Note that , since any set in admits a plurality point and 1-plurality is equivalent to the traditional notion of plurality.
After studying this combinatorial problem in Section 2, we turn our attention to the following algorithmic question: given a voter set , find a point that is a -plurality point for the largest possible value . In other words, if we define
and
then we want to find a point such that .
Results.
In Section 2 we prove that for all . To this end we first show that is non-increasing in , and then we exhibit a voter set in such that . We also show how to construct in time, for any given in , a point such that , thus proving that . Moreover, for we show how to construct in time a point such that , which means that .333Very recently Filtser and Filtser [15] improved these results for by proving that for any .
In Section 3 we study the problem of computing, for a given voter set of points in , a -plurality point for the largest possible . (Here we assume to be a fixed constant.) While such a point can be found in polynomial time, the resulting running time is quite high. We therefore focus our attention on finding an approximately optimal point , that is, a point such that . We show that such a point can be computed in time.
Notation.
We denote the open ball of radius centered at a point by and, for a point and a voter , we define . Observe that wins against a competitor if and only if is strictly outside , while wins if and only if is strictly inside . Hence, . We define —here we assume is clear from the context—and let denote the arrangement induced by . The competitor point that wins the most voters against will thus lie in the cell of of the greatest depth or, more precisely, the cell contained in the maximum number of disks .
2 Bounds on
In this section we will prove bounds on , the supremum of all such that any finite set admits a -plurality point. We start with an observation that allows us to apply bounds on to those on for . Let denote the convex hull of .
Observation \thetheorem.
Let be a finite multiset of voters in .
-
(i)
Suppose a point is not a -plurality point for . Then there is a point such that .
-
(ii)
For any , there is a point with .
-
(iii)
For any we have .
Proof.
Note that for every point there is a point that lies strictly closer to all voters in , namely the point closest to . This immediately implies part (i): if is beaten by some point then is certainly beaten by a point that lies strictly closer to all voters in than . It also immediately implies part (ii), because if a point lies strictly closer to all voters in than a point , then .
To prove part (iii), let be a voter set such that . Now embed into , say in the flat , obtaining a set . Then by parts (i) and (ii). Hence, . ∎
We can now prove an upper bound on .
Lemma 2.1.
, for .
Proof 2.2.
By Observation 2(iii), it suffices to prove the lemma for . To this end let consist of three voters that form an equilateral triangle of side length 2 in ; see Fig. 2(i).

Let denote the center of . We will first argue that . Note that for all three voters . Hence, for , the open balls are pairwise disjoint and touching at the mid-points of the edges of . Therefore any competitor either wins one voter and loses the remaining two, or wins no voter and loses at least one. The former happens when lies inside one of the three balls ; the later happens when does not lie inside any of the balls, because in that case can be on the boundary of at most two of the balls. Thus, for , the point always wins more voters than does. On the other hand, for , any two balls , intersect and so a point located in such a pairwise intersection wins two voters and beats . We conclude that , as claimed.
The lemma now follows if we can show that for any . Let be the Voronoi diagram of , and let be the closed Voronoi cell of , as shown in Fig. 2(ii). Assume without loss of generality that lies in . Let be the ellipse with foci and that passes through . Thus
Note that is tangent to at the point . Hence, any point in has . This implies that for we have , and so the disks and intersect. It follows that for there is a competitor that wins two voters against , which implies and thus finishes the proof of the lemma.
We now prove lower bounds on . We first prove that for any , and then we improve the lower bound to for . The latter bound is tight by Lemma 2.1.
Let be a finite multiset of voters in . We call a hyperplane balanced with respect to , if both open half-spaces defined by contain at most voters from . Note the difference with median hyperplanes, which are required to have fewer than voters in both open half-spaces. Clearly, for any there is a balanced hyperplane orthogonal to the -axis, namely the hyperplane , where is a median in the multiset of all -coordinates of the voters in . (In fact, for any direction there is a balanced hyperplane orthogonal to .)
Lemma 2.3.
Let . For any finite multi-set of voters in there exists a point such that . Moreover, such a point can be computed in time.
Proof 2.4.
Let be a set of balanced hyperplanes with respect to such that is orthogonal to the -axis, and assume without loss of generality that is the hyperplane . We will prove that the point located at the origin is a -plurality point for for any , thus showing that .
Let be any competitor of . We can assume without loss of generality that . Thus lies in the closed cone defined as
Note that is bounded by portions of the hyperplanes with ; see Fig. 3.
Because is a balanced hyperplane, the open halfspace contains at most voters, which implies that the closed halfspace contains at least voters. Hence, it suffices to argue that for any the point wins all the voters in against .

-
Claim. For any voter with , we have that with equality if and only if lies on an edge of and lies on the orthogonal projection of this edge onto .
-
Proof. For any point below there is a point with , namely the orthogonal projection of onto . Hence, from now on we assume that .
First, we prove that if lies on an edge of and lies on the orthogonal projection of onto . Assume without loss of generality that is the edge of defined by the intersection of the hyperplanes , so that . Since is the same for any , we may assume that is the orthogonal projection of to , which means . We then have
Now assume the condition for equality does not hold. Let be the ray starting at and containing , and let be its orthogonal projection onto . We have two cases: but is not contained in an edge of , or .
In the former case we may, as before, assume that is the projection of onto . Since we have for all . Moreover, since does not lie on an edge of we have for at least one . Thus , and .
In the latter case, let be the line containing and , and let be the point on closest to . Then , where is the projection of onto , and so
We can now use the Law of Sines and the claim above to derive that for any and any voter with we have
Hence, wins every point in . This proves the first part of the lemma since contains at least voters, as already remarked.
Computing the point is trivial once we have the balanced hyperplanes , which can be found in time by computing a median -coordinate for each .
A tight bound in the plane. In we can improve the above bound: for any voter set in the plane we can find a point with . By Lemma 2.1, this bound is tight. The improvement is based on the following lemma.

Lemma 2.5.
Let be a multiset of voters in , let be a triple of concurrent balanced lines such that the smaller angle between any two of them is , and let be the common intersection of . Then .
Proof 2.6.
Let be a competitor of . The three lines partition the plane into six equal-sized sectors, which we number through in a clockwise fashion, so that lies in the closure of ; see Figure 4. Let be the closure of . It is a closed halfspace bounded by a balanced line, so it contains at least half the voters.
Using an analysis similar to that in the proof of Lemma 2.3, we can show that does not lose any voter . Indeed, using the Law of Sines we obtain
which shows that is a -plurality point for any . Hence, .
The main question is whether a triple of concurrent lines as in Lemma 2.5 always exists. The next lemma shows that this is indeed the case. The lemma—in fact a stronger version, stating that any two opposite cones defined by the three concurrent lines contain the same number of points—has been proved for even by Dumitrescu et al. [11]. Our proof of Lemma 2.7 is similar to their proof. We give it because we also need it for odd , and because we will need an understanding of the proof to describe our algorithm for computing the concurrent triple in the lemma. Our algorithm will run in time, a significant improvement over the running time obtained (for the case of even ) by Dumitrescu et al. [11].
Lemma 2.7.
For any multiset of voters in , there exists a triple of concurrent balanced lines such that the smaller angle between any two of them is .
Proof 2.8.
Define the orientation of a line to be the counterclockwise angle it makes with the positive -axis. Recall that for any given orientation there exists at least one balanced line with orientation . When is odd this line is unique: it passes through the median of the voter set when is projected orthogonally onto a line orthogonal to the lines of orientation .

In the rest of the proof it will be convenient to have a unique balanced line for any orientation . To achieve this when is even, we simply delete an arbitrary voter from . (If there are other voters at the same location, these voters are not deleted.) This is allowed because when is even, a balanced line for is also a balanced line for .
Now let be the function that maps an angle value to the unique balanced line ; see Figure 5(i). Note that is continuous for . Let , and , and . For , let be the intersection point between and . If then the lines are concurrent and we are done. Otherwise, consider the situation at and imagine and to be directed in the positive -direction, as in Fig. 5(ii). Clearly, if is to the left of the directed line then is to the right of the directed line , and vice versa. Now increase from to , and note that and . Hence, lies to a different side of the directed line for than it does for . Since both and vary continuously with , this implies that, for some , the point crosses the line , and so the lines are concurrent.
The previous two lemmas show that any voter set in admits a point such that . We now show that we can compute such a point in time, namely, we show how to compute a triple as in Lemma 2.7 in time. We follow the definitions and notation from the proof of that lemma. We will assume that is odd, which, as argued, is without loss of generality.
To find a concurrent triple of balanced lines, we first compute the lines in time. If they are concurrent, we are done. Otherwise, there is a such that are concurrent. To find this value we dualize the voter set , using the standard duality transform that maps a point to the non-vertical line and vice versa. Let denote the dual line of the voter , and let . Note that for the lines are all non-vertical, therefore their duals are well-defined.
Consider the arrangement defined by the duals of the voters. For , define to be the slope of the lines with orientation . Then , the dual of , is the intersection point of the vertical line with , the median level in . (The median level of is the set of points such that there are fewer than lines below and fewer than lines above ; this is well defined since we assume is odd. The median level forms an -monotone polygonal curve along edges of .) Observe that the duals all lie on . For , the -coordinate of lies in , the -coordinate of lies in , and the -coordinate of lies in .

We split into three pieces corresponding to these ranges of the -coordinate. Let , , and denote the sets of edges forming the parts of in the first, second, and third range, respectively, where edges crossing the vertical lines and are split; see Fig. 6. Thus, for any and for , the point lies on an edge in .
Recall that we want to find a value such that are concurrent. For , let be such that , and for define . We are thus looking for a value such that the three points are collinear.
One way to find would be to first explicitly compute ; then we can increase , starting at , and see how the points move over , until we reach a value such that are collinear. Since the best known bounds on the complexity of the median level is [9] we will proceed differently, as follows.
-
1.
Use the recursive algorithm described below to find an interval containing a value with the desired property—namely, that the points , , and are collinear—and such that, for any , the point lies on the same edge of for all .
-
2.
Find a value such that , , and are collinear. Since for each lies on a fixed edge of for all after Step 1, this can be done in time. Indeed, if we go back to primal space we are given three (not necessarily distinct) voters (namely, the primals of the lines containing , , and ) and a range of angles (corresponding to the -range ), such that the line passes through for any . We then only have to compute an orientation such that the lines meet in a common point—such an orientation is guaranteed to exist by our construction of .
We now explain the recursive algorithm used in Step 1.
In a generic call we are given three trapezoids
that are each bounded by two non-vertical edges and two vertical edges (one of
which may degenerate into a point).
Let be the -range of , for ; note that this
is well-defined since is a trapezoid delimited by two vertical edges.
The trapezoids will have the following properties.
-
(P1)
Trapezoid lies inside the vertical slab , trapezoid lies inside the vertical slab , and trapezoid lies inside the vertical slab . Moreover, the -ranges correspond to each other in the following sense. Recall that an -range in the dual plane corresponds to an angular interval in the primal plane. We denote by the -range corresponding to the angular interval . The -ranges will be such that and .
-
(P2)
For any , the part of the median level inside the vertical slab lies entirely inside . Together with the property (P1) this implies that for any we have that , for .
-
(P3)
Let and be such that . Then we have: If lies above the line through and , then lies below the line through and , and vice versa. This guarantees that there exists a value with the desired property and, hence, that contains the interval we are looking for.
In a recursive call we are also given for each the sets of lines intersecting the interior of , as well as , the number of lines from passing completely below .
Initially, is the unbounded trapezoid444Since for this initial trapezoid , the points are not well defined. Recall, however, that in the primal plane the point on “at ” corresponds to the vertical balanced line . Hence, we can derive the relative position of with respect to the line through and , from the relative position of the intersection point with respect to . . Similarly, we initially have and . Furthermore, and for .
The recursion ends when the interior of each is intersected by a single edge of ; we then have . The recursive call for a given triple starts by shrinking to a trapezoid —thus zooming in on the value —as follows. (We assume , otherwise the shrinking of can be skipped.).

- (i)
-
(ii)
Compute the intersections of with the edges of each trapezoid in time, as follows.
-
•
Consider a non-vertical edge of . First, compute the level of , the left endpoint of . This can be done by counting the number of lines from below and adding to this number. Next, intersect with all lines of and sort the intersections along , distinguishing lines that cross “from above” and “from below.” Finally, walk along , starting from towards the right, increasing and decreasing the level according to the type of the intersection we encounter. All intersection points that lie on can thus be reported. (For simplicity we ignore the case where partially or fully overlaps . This can either be handled by a simple modification of the procedure, or we can avoid the situation altogether by modifying the cutting such that no edge of the cutting is contained in an input line.)
-
•
For a vertical edge of , we proceed similarly: first compute the level of the lower endpoint of , and then walk upward along until we reach an intersection point at the median level, or the upper endpoint of .
-
•
-
(iii)
The previous step gives us all intersection points of with the edges of trapezoids in . Let be the sorted set of all -coordinates of these intersection points, as illustrated in Fig. 7. Note that . We perform a binary search on to find two consecutive -coordinates, and , such that the interval contains a value with the desired property. Each step in the binary search can be done in time, as follows.
Assume without loss of generality that lies above the line through and , and that lies below the line through and . Suppose that during the binary search we arrive at some , and we want to decide if we want to proceed to the left or to the right of . To do so, we first compute the points , , and . Point can be computed in time, as follows: first compute all intersections of the vertical line with the lines in , and then find the intersection point whose -coordinate has the appropriate rank, taking into account that there are lines from fully below . The points and can be computed in the same way—this takes and time, respectively—after determining their -coordinates in time. (These -coordinate are and , respectively.) After computing , , and we can make our decision: we proceed to the left if lies below the line through and , and to the right if lies above that line. (In the fortunate situation that are collinear, we can take and we are done.)
Since each step in the binary search takes time, the total binary search takes time. Sorting the set before the binary search only increases this by a constant factor.
-
(iv)
Finally, we take the two -coordinates computed in the previous step, and find the points where crosses the vertical lines and . Between and we know that lies inside a single trapezoid . We then intersect with the slab , to obtain the trapezoid . (If, for example, we would have in Fig. 7, then is the grey trapezoid.) Note that the number of lines crossing is at most and that the -range of satisfies property (P3).
After shrinking in this manner, we proceed as follows. We first clip such that its -range corresponds to , and then we shrink the clipped trapezoid to a new trapezoid in the same way as we shrunk to . Thus is crossed by at most lines and satisfies property (P3), where is the -range of . Next, we clip the -range of to , and then we apply the shrinking procedure to to obtain a new trapezoid . Finally, we clip and so that their -ranges correspond to and , respectively. We then recurse on the triple , passing along the appropriate sets and updating the counts .
The total time spent in all three shrinking steps is , and each halves at every level in the recursion. Hence, the total time for Step 1 on page 1 is . As already mentioned, Step 2 takes only constant time. We can conclude that we can find a collinear triple in time. In the primal this corresponds to a triple of collinear concurrent lines as in Lemma 2.5, so we obtain following theorem.
Theorem 2.9.
-
(i)
We have . Moreover, for any multiset of voters in we can compute a point with in time.
-
(ii)
For , we have . Moreover, for any multiset of voters in with , we can compute a point with in time.
3 Finding a point that maximizes
We know from Theorem 2.9 that, for any multiset of voters in , we can compute a point with (even with , in the plane). However, a given voter multiset may admit a -plurality point for larger values of —possibly even for . In this section we study the problem of computing a point that maximizes , that is, a point with .
3.1 An exact algorithm
Below we sketch an exact algorithm to compute together with a point such that . Our goal is to show that, for constant , this can be done in polynomial time. We do not make a special effort to optimize the exponent in the running time; it may be possible to speed up the algorithm, but it seems clear that it will remain impractical, because of the asymptotic running time, and also because of algebraic issues.
Note that we can efficiently check whether a true plurality point exists (i.e., can be achieved) in time by an algorithm of De Berg et al. [4], and if so, identify this point. Therefore, hereafter is used as a sentinel value, and our algorithm proceeds on the assumption that for any point .
For a voter , a candidate , and an alternative candidate , define when , and define otherwise. Observe that for we have
-
•
wins voter over if and only if ,
-
•
and have a tie over voter if and only if , and
-
•
wins voter over if and only if .
For this is not quite true: when we always have a tie, and when then wins even when . When there is a tie for all voters, so the final conclusion (namely that ) is still correct. The fact that we incorrectly conclude that there is a tie when and does not present a problem either, since we assume . Hence, we can pretend that checking if , or , or tells us whether wins , or there’s a tie, or wins , respectively.
Hereafter we identify with its graph , which is a -dimensional surface. Let be the set of points lying above this graph, and be the set of points lying below it. Thus is precisely the set of combinations of where wins over , while is the set where ties with , and is the set where loses to . Consider the arrangement defined by the set of surfaces . Each face in is a maximal connected set of points with the property that all points of are contained in, lie below, or lie above, the same subset of surfaces of . (Note that we consider faces of all dimensions, not just full-dimensional cells.) Thus for all , exactly one of the following holds: , or , or . Let be the union of all faces of such that , that is, such that loses against for all in . We can construct and in time using standard machinery, as is an arrangement of degree-4 semi-algebraic surfaces of constant description complexity [3, 2]. We are interested in the set
What is the relationship between and ? A point is in precisely when, for every choice of , wins at least as many voters as (for the given ). In other words,
That is, is the complement of the projection of to the space representing the pairs . The most straightforward way to implement the projection would involve constructing semi-algebraic formulas describing individual faces and invoking quantifier elimination on the resulting formulas [2]. Below we outline a more obviously polynomial-time alternative.
Construct the vertical decomposition of , which is a refinement of into pieces (“subfaces” ), each bounded by at most surfaces of constant degree and therefore of constant complexity; see Appendix A. A vertical decomposition is specified by ordering the coordinates—we put the coordinates corresponding to last. Since is a refinement of , the set is the union of subfaces of fully contained in . Since is an arrangement of well-behaved surfaces in dimensions, the complexity of is , for any [21]. In particular, comprises subfaces.
Since each is a subface of the vertical decomposition in which the last coordinates correspond to , the projection of to is easy obtain (see Appendix A) in constant time; indeed it can be obtained by discarding the constraints on these last coordinates from the description of . Thus, in time we can construct the family of all the projections of the subfaces of , each a constant-complexity semi-algebraic object in . We now construct the arrangement of the resulting collection and its vertical decomposition . The complexity of is either or , depending on whether or not, respectively [21]. Each subface in is either fully contained in the projection of or fully disjoint from it. Collecting all of the latter subfaces, we obtain a representation of as a union of at most constant-complexity semi-algebraic objects.
Now if is the point with the highest value of , then . It can be found by enumerating all the subfaces of contained in the closure of —we take the closure because is defined as a supremum—and identifying their topmost point or points. Since each face has constant complexity, this can be done in time per subface.555Once again, the projection to the coordinate is particularly easy to obtain if, when constructing , we set the coordinate corresponding to first. This completes our description of an -time algorithm to compute the best that can be achieved for a given set of voters , and the candidate (or the set of candidates) that achieve this value.
3.2 An approximation algorithm
Since computing exactly appears expensive, we now turn our attention to approximation algorithms. In particular, given a voter set in and an , we wish to compute a point such that .
Our approximation algorithm works in two steps. In the first step, we compute a set of candidates. may not contain the true optimal point , but we will ensure that contains a point such that . In the second step, we approximate for each , to find an approximately best candidate.
Constructing the candidate set .
To construct the candidate set , we will generate, for each voter , a set of candidate points. Our final set of candidates will be the union of the sets . Next we describe how to construct .
Partition into a set of simplicial cones with apex at and opening angle , so that for every pair of points and in the same cone we have . We assume for simplicity (and can easily guarantee) that no voter in lies on the boundary of any of the cones, except for itself and any voters coinciding with . Let denote the set of all cones in whose interior contains at least one voter. For each cone we generate a candidate set as explained next, and then we set .
Let be the distance from to the nearest other voter (not coinciding with ) in . Let be the closed spherical shell defined by the two spheres of radii and around , as shown in Fig. 8(i). The open ball of radius is denoted by , and the complement of the closed ball of radius is denoted by . Let be the vertices in an exponential grid defined by a collection of spheres centered at , and the extreme rays of the cones in ; see Fig. 8(ii). The spheres have radii , for . Observe that contains not only points in , but in the entire spherical shell . The set consists of points, and it has the following property:
Let be any point in the spherical shell , and let be a corner of the grid cell containing and nearest to . Then .
To prove the property, let be the point on such that . From the construction of the exponential grid we have . Since and lie in the same cone and, consequently, . The property is now immediate since .

As mentioned above, , and the final candidate set is defined as . Computing the sets is easy: for each of the cones , determine the nearest neighbor of in in time by brute force, and then generate in time. (It is not hard to speed up the nearest-neighbor computation using appropriate data structures, but this will not improve the final running time in Theorem 3.6.) We obtain the following lemma.
Lemma 3.1.
The candidate set has size and can be constructed in time.
The next lemma is crucial to show that is a good candidate set.
Lemma 3.2.
For any point , there exists a point with the following property: for any voter , we have that .
Proof 3.3.
Let be a voter nearest to . We will argue that the set contains a point with the desired property.
We distinguish three cases.
Case I: There is a cone such that lies in the spherical shell .
In this case we pick to be a point of nearest to , that is, is a corner
nearest to of the grid cell containing .
By property we have
where the last inequality follows from the fact that is a voter nearest to .
Case II: Point lies in for all .
In this case we pick . Clearly
for .
For , we argue as follows. Let be the cone containing .
Since we are in Case II we know that , and so
(1) |
Moreover, we have
(2) |
where the last step uses that and .
Combining (1) and (2),
we obtain .
Case III: Cases I and II do not apply.

In this case there is at least one cone such that . Of all such cones, let be the one whose associated distance is maximized. Let be the point on the segment at distance from . Without loss of generality, we will assume that and only differ in the coordinate; see Fig. 9(i).
We will prove that the point of nearest to (refer to Fig. 9(i)) has the desired property. Consider a voter . We distinguish three cases.
-
•
When , then we have
where the second inequality follows from ().
-
•
When lies in a cone such that , then we can use the same argument as in Case II to show that .
-
•
In the remaining case lies in a cone such that . Let be a voter in nearest to . Since , , and , we can deduce that , as illustrated in Fig. 9(ii). Furthermore, since and belong to the same cone the angle is bounded by according to the construction. Putting the two angle bounds together we conclude that . Now consider the triangle defined by and . From the Law of Sines we obtain
for . Since lies on the line between and we have:
Finally we get the claimed bound by noting that (from (*)),
An approximate decision algorithm.
Given a point , a positive real value and the voter multiset , we say that an algorithm Alg is an -approximate decision algorithm if
-
•
Alg answers yes if is a -plurality point, and
-
•
Alg answers no if is not a -plurality point.
In the remaining cases, where , Alg may answer yes or no.
Next we propose an -approximate decision algorithm Alg. The algorithm will use the so-called Balanced Box-Decomposition (BBD) tree introduced by Arya and Mount [1]. BBD trees are hierarchical space-decomposition trees such that each node represents a region in , denoted by , which is a -dimensional axis-aligned box or the difference of two such boxes. A BBD tree for a set of points in can be built in time using space. It supports -approximate range counting queries with convex query ranges in time [1]. In our algorithm all query ranges will be balls, hence a -approximate range-counting query for a -dimensional ball with center at and radius returns an integer such that .
Our -approximate decision algorithm Alg works as follows.
-
1.
Construct a set of potential candidates competing against , as follows. Let be a set of points distributed uniformly on the boundary of the ball , such that the distance between any point on the boundary and its nearest neighbor in is at most . In the last step we use the fact that , according to Lemma 2.3. Set .
-
2.
Build a BBD tree on . Add a counter to each node in , initialized to zero.
-
3.
For each voter perform a -approximate range-counting query with in . We modify the search in slightly as follows. If an internal node is visited and expanded during the search, then for every non-expanded child of with entirely contained in we increment the counter . Similarly, if a leaf is visited then the counter is incremented if the point stored in the leaf lies within .
-
4.
For a leaf in , let be the set of nodes in on the path from the root to , and let . Compute for all leaves in by a pre-order traversal of , and set .
-
5.
If , then return yes, otherwise no.
To prove correctness of the algorithm we define, for a given , a fuzzy ball to be any set such that . Thus if then , if then , and otherwise may or may not be inside in . We now observe that for each voter there is a fuzzy ball such that the value for a leaf storing a point is the depth of in the arrangement, denoted by , of the fuzzy balls .
Lemma 3.4.
Algorithm Alg -approximately decides if is a -plurality point in time .
Proof 3.5.
We start by analyzing the running time of the algorithm. Constructing the set of points in can be done in time linear in , while building the BBD-tree requires time [1, Lemma 1]. Next, the algorithm performs approximate range queries, each requiring time [1, Theorem 2]). Note that the small modification we made to the query algorithm to update the counters does not increase the asymptotic running time. Finally, the traversal of to compute takes time linear in the size of , which is .

It remains to prove that Alg is correct.
-
•
If is a plurality point there can be no point having depth greater than in the arrangement of the balls . Since , for all , Alg could not have found a point with depth greater than , and hence, must return yes.
-
•
If is not a -plurality point, then there exists a point with depth greater than in the arrangement of the balls . Let be the point in nearest to . We claim that for any ball that contains , its expanded version contains . Of course, if contains then we are done. Otherwise, let be the point where intersects the boundary of ; see Fig. 10. Note that must also be the point in nearest to .
Let be the point on the boundary of nearest to , and let be a point in on the boundary of . By construction, we have
and, by the triangle inequality, we obtain
This implies that must contain . Consequently, if has depth at least in then has depth at least in the arrangement , and hence, the algorithm will return no.
The algorithm.
Now we have the tools required to approximate . First, generate the set of candidate points. For each candidate point , perform a binary search for an approximate in the interval , until the remaining search interval has length at most . For each and , -approximately decide if is a -plurality point in . Return the largest and the corresponding point on which the algorithm says yes.
Theorem 3.6.
Given a multiset of voters in , a -plurality point can be computed in .
4 Concluding Remarks
We proved that any finite set of voters in admits a -plurality point for and that some sets require . For we managed to close the gap by showing that . One of the main open problems is to close the gap for . Recall that recently the bounds for have been improved—see Footnote 3 in the introduction—but there is still a small gap left between the upper and lower bound.
We also presented an approximation algorithm that finds, for a given , a -plurality point. The algorithm runs in time. Another open problem is whether a subquadratic approximation algorithm exists, and to prove lower bounds on the time to compute or exactly. Finally, it will be interesting to study -plurality points in other metrics, for instance in the personalized -metric [4] for or in the -metric for .
Acknowledgements
The authors would like to thank Sampson Wong for improving an earlier version of Lemma 2.5.
References
- [1] Sunil Arya and David M. Mount. Approximate range searching. Computational Geometry – Theory & Applications, 17(3):135–152, 2000.
- [2] Saugata Basu, Richard Pollack, and Marie-Françoise Roy. Algorithms in Real Algebraic Geometry (Algorithms and Computation in Mathematics). Springer-Verlag, Berlin, Heidelberg, 2006.
- [3] Mark de Berg, Otfried Cheong, Marc van Kreveld, and Mark Overmars. Computational Geometry: Algorithms and Applications. Springer-Verlag, 3rd edition, 2008.
- [4] Mark de Berg, Joachim Gudmundsson, and Mehran Mehr. Faster algorithms for computing plurality points. ACM Transactions on Algorithms, 14(3), 2018.
- [5] Duncan Black. On the rationale of group decision-making. Journal of Political Economy, 56(1):23–34, 1948.
- [6] Bernard Chazelle. Cutting hyperplanes for divide-and-conquer. Discrete & Computational Geometry, 9:145–158, 1993.
- [7] Bernard Chazelle, Herbert Edelsbrunner, Leonidas J. Guibas, and Micha Sharir. A singly exponential stratification scheme for real semi-algebraic varieties and its applications. Theoretical Computer Science, 84:77–105, 1991. Also in Proc. 16th Int. Colloq. on Automata, Languages and Programming, 1989, pp. 179–193.
- [8] Jonathan Chung. Optimally locating a new candidate in spatial and valence models of voting games, 2018. Honours thesis, University of Sydney.
- [9] Tamal K. Dey. Improved bounds for planar -sets and related problems. Discrete & Computational Geometry, 19(3):373–382, 1998.
- [10] Anthony Downs. An Economic Theory of Political Action in a Democracy. Journal of Political Economy, 65(2):135–135, 1957.
- [11] Adrian Dumitrescu, János Pach, and Géza Tóth. Drawing Hamiltonian cycles with no large angles. The Electronic Journal of Combinatorics, 19(2):P31, 2012.
- [12] James Enelow and Melvin Hinisch. On Plott’s pairwise symmetry condition for majority rule equilibrium. Public Choice, 40(3):317–321, 1983.
- [13] Haldun Evrenk. Valence politics. In Roger D. Congleton, Bernard Grofman, Stefan Voigt, and Haldun Evrenk, editors, Oxford Handbook of Public Choice, chapter 13. Oxford University Press, 2019.
- [14] Scott Feld, Bernard Grofman, and Nicholas Miller. Centripetal forces in spatial voting: On the size of the yolk. Public Choice, 59:37–50, 10 1988.
- [15] Arnold Filtser and Omrit Filtser. Plurality in spatial voting games with constant . Manuscript, 2020.
- [16] Noah Giansiracusa and Cameron Ricciardi. Computational geometry and the U.S. supreme court. Math. Soc. Sci., 98:1–9, 2019.
- [17] Fabian Gouret, Guillaume Hollard, and Stéphane Rossignol. An empirical analysis of valence in electoral competition. Social Choice and Welfare, 37(2):309–340, 2011.
- [18] Joachim Gudmundsson and Sampson Wong. Computing the yolk in spatial voting games without computing median lines. In The 33rd AAAI Conference on Artificial Intelligence, pages 2012–2019. AAAI Press, 2019.
- [19] Helios Herrera, David K. Levine, and César Martinelli. Policy platforms, campaign spending and voter participation. Journal of Public Economics, 92(3):501–513, 2008.
- [20] Guillaume Hollard and Stéphane Rossignol. An alternative approach to valence advantage in spatial competition. Journal of Public Economic Theory, 10(3):441–454, 2008.
- [21] Vladlen Koltun. Almost tight upper bounds for vertical decompositions in four dimensions. Journal of the ACM, 51(5):699–730, 2004.
- [22] Richard D. McKelvey. Covering, dominance, and institution-free properties of social choice. American Journal of Political Science, 30(2):283–314, 1986.
- [23] Nicholas R. Miller. The spatial model of social choice and voting. In Jac C. Heckelman and Nicholas R. Miller, editors, Handbook of Social Choice and Voting, chapter 10, pages 163–181. Edward Elgar Publishing, 2015.
- [24] Charles R. Plott. A notion of equilibrium and its possibility under majority rule. The American Economic Review, 57(4):787–806, 1967.
- [25] David Sanders, Harold D. Clarke, Marianne C. Stewart, and Paul Whiteley. Downs, stokes and the dynamics of electoral choice. British Journal of Political Science, 41(2):287–314, 2011.
- [26] Micha Sharir and Pankaj K. Agarwal. Davenport-Schinzel Sequences and Their Geometric Applications. Cambridge University Press, 1995.
- [27] Donald E. Stokes. Spatial models of party competition. American Political Science Review, 57(2):368–377, 1963.
- [28] Alan E. Wiseman. A theory of partisan support and entry deterrence in electoral competition. Journal of Theoretical Politics, 18(2):123–158, 2006.
- [29] Yen-Wei Wu, Wei-Yin Lin, Hung-Lung Wang, and Kun-Mao Chao. Computing plurality points and condorcet points in Euclidean space. In Proceedings of the 24th International Symposium on Algorithms and Computation (ISAAC), volume 8283 of Lecture Notes in Computer Science, pages 688–698. Springer, 2013.
Appendix
Appendix A A primer on vertical decompositions
We follow the notation and terminology of [26, 7]. A vertical decomposition is, roughly, any partition of space into finitely many so-called cylindrical cells (see below for a definition); it need not be a topological complex. A vertical decomposition of an arrangement is a refinement of an arrangement into cylindrical cells,666The specific decomposition depends on the algorithm used to construct it and on the ordering of the coordinates. In the computational- and combinatorial-geometry literature, one often speaks of “the vertical decomposition of the arrangement” in the sense of “the vertical decomposition obtained by applying the algorithm, say, of Chazelle et al.[7] or of Koltun [21], to the given arrangement.” where refinement means that each cylindrical cell is a subset of a face in the arrangement. We define cylindrical cells recursively. To simplify the notation, any inequality limit in our definitions can be omitted, i.e., replaced by a , as appropriate. For example, when we talk about an open interval , i.e., the set of numbers with , we include the possibilities of the unbounded intervals , , and .
A one-dimensional cylindrical cell is either a singleton or an open interval . So a one-dimensional vertical decomposition is a decomposition of into a finite number of singletons and intervals.
We now define a cylindrical cell in . Its projection to the -axis is a cylindrical cell in . The cell must have one of the following two forms:
-
•
, where is a continuous total function, or
-
•
, where are two continuous total functions, with the property that for all .
If is a singleton, the former defines a vertex and the latter an (open) vertical segment. If is an interval, the former defines an open monotone arc (a portion of the graph of the function ) and the latter an open pseudo-trapezoid delimited by two (possibly degenerate) vertical segments on left and right and by the two disjoint function graphs below and above. (Recall that any of the limits may be omitted. For example, is a legal cell in a trivial two-dimensional vertical decomposition consisting only of itself, where all the limits have been “replaced by infinities.”)
A cylindrical cell is defined recursively. Its projection is a cylindrical cell in . Moreover, must have one of the following forms:
-
•
, where is a continuous total function, or
-
•
, where are two continuous total functions, with the property that for all .
A cylindrical cell is fully specified by giving its dimension and the sequence of functions or pairs of functions , as appropriate. In particular, the projection of the cell in a -dimensional decomposition to its first coordinates can be obtained by retaining the inequalities in the first coordinates and discarding the remaining ones.