This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

\usetikzlibrary

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 = ((#1)!(#3)!(#2)(#1)!(#3)!(#2)) in let \p1 = ((\p0)!\quadranta\rightanglelength!(#3)(\p 0)!\quadranta*\rightanglelength!(#3)), \p2 = ((\p0)!\quadrantb\rightanglelength!(#2)(\p 0)!\quadrantb*\rightanglelength!(#2)) in let \p3 = ((\p1)+(\p2)(\p0)(\p 1)+(\p 2)-(\p 0)) 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 β\beta-Plurality Points in Spatial Voting Games

Boris Aronov    Mark de Berg    Joachim Gudmundsson    Michael Horton
Abstract

Let VV be a set of nn points in d{\mathbb{R}}^{d}, called voters. A point pdp\in{\mathbb{R}}^{d} is a plurality point for VV when the following holds: for every qdq\in{\mathbb{R}}^{d} the number of voters closer to pp than to qq is at least the number of voters closer to qq than to pp. Thus, in a vote where each vVv\in V votes for the nearest proposal (and voters for which the proposals are at equal distance abstain), proposal pp will not lose against any alternative proposal qq. For most voter sets a plurality point does not exist. We therefore introduce the concept of β\beta-plurality points, which are defined similarly to regular plurality points except that the distance of each voter to pp (but not to qq) is scaled by a factor β\beta, for some constant 0<β10<\beta\leqslant 1. We investigate the existence and computation of β\beta-plurality points, and obtain the following results.

  • Define βdsup{β:any finite multiset V in d admits a β-plurality point}\beta^{*}_{d}\coloneqq\sup\{\beta:\text{any finite multiset $V$ in ${\mathbb{R}}^{d}$ admits a $\beta$-plurality point}\}. We prove that β2=3/2\beta^{*}_{2}=\sqrt{3}/2, and that 1/dβd3/21/\sqrt{d}\leqslant\beta^{*}_{d}\leqslant\sqrt{3}/2 for all d3d\geqslant 3.

  • Define β(p,V)sup{β:p is a β-plurality point for V}\beta(p,V)\coloneqq\sup\{\beta:\text{$p$ is a $\beta$-plurality point for $V$}\}. Given a voter set V2V\in{\mathbb{R}}^{2}, we provide an algorithm that runs in O(nlogn)O(n\log n) time and computes a point pp such that β(p,V)β2\beta(p,V)\geqslant\beta^{*}_{2}. Moreover, for d2d\geqslant 2 we can compute a point pp with β(p,V)1/d\beta(p,V)\geqslant 1/\sqrt{d} in O(n)O(n) time.

  • Define β(V)sup{β:V admits a β-plurality point}\beta(V)\coloneqq\sup\{\beta:\text{$V$ admits a $\beta$-plurality point}\}. We present an algorithm that, given a voter set VV in d{\mathbb{R}}^{d}, computes an (1ε)β(V)(1-\varepsilon)\cdot\beta(V) plurality point in time O(n2ε3d2lognεd1log21ε)O(\frac{n^{2}}{\varepsilon^{3d-2}}\cdot\log\frac{n}{\varepsilon^{d-1}}\cdot\log^{2}\frac{1}{\varepsilon}).

keywords:
Computational geometry, Spatial voting theory, Plurality point, Computational social choice

1 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 d{\mathbb{R}}^{d} and every voter is represented by a point in d{\mathbb{R}}^{d}, 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 vv now prefers a proposed decision pdp\in{\mathbb{R}}^{d} over some alternative proposal qdq\in{\mathbb{R}}^{d} when vv is closer to pp than to qq. Thus a point pdp\in{\mathbb{R}}^{d} represents a stable decision for a given finite set VV of voters if, for any alternative qdq\in{\mathbb{R}}^{d}, we have |{vV:|vp|<|vq|}||{vV:|vq|<|vp|}|\left|\{v\in V:|vp|<|vq|\}\right|\geqslant\left|\{v\in V:|vq|<|vp|\}\right|. Such a point pp is called a plurality point.111One can also require pp to be strictly more popular than any alternative qq. This is sometimes called a strong plurality point, in contrast to the weak plurality points that we consider.

For d=1d=1, a plurality point always exists, since in 1{\mathbb{R}}^{1} a median of VV is a plurality point. This is not true in higher dimensions, however. Define a median hyperplane for a set VV of voters to be a hyperplane hh such that both open half-spaces defined by hh contain fewer than |V|/2|V|/2 voters. For d2d\geqslant 2 a plurality point in d{\mathbb{R}}^{d} exists if and only if all median hyperplanes for VV 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 VV, where the yolk [14, 18, 22, 23] is the smallest ball intersecting every median hyperplane of VV. We introduce β\beta-plurality points as an alternative way to relax the requirements for a plurality point, and study several combinatorial and algorithmic questions regarding β\beta-plurality points.

Refer to caption
Fig. 1: (i) The US presidential candidates 2016 modelled in the spatial voting model, according to The Political Compass (https://politicalcompass.org/uselection2016). Note that the points representing voters are not shown. (ii) The point set satisfies the generalized Plott symmetry conditions and therefore admits a plurality point.

β\beta-Plurality points: definition and main questions.

Let VV be a multiset222Even though we allow VV to be a multiset, we sometimes refer to it as a “set” to ease the reading. When the fact that VV is a multiset requires special treatment, we explicitly address this. of nn voters in d{\mathbb{R}}^{d} in arbitrary, possibly coinciding, positions. In the traditional setting a proposed point pdp\in{\mathbb{R}}^{d} wins a voter vVv\in V against an alternative qq if |pv|<|qv||pv|<|qv|. We relax this by fixing a parameter β\beta with 0<β10<\beta\leqslant 1 and letting pp win vv against qq if β|pv|<|qv|\beta\cdot|pv|<|qv|. Thus we give an advantage to the initial proposal pp by scaling distances to pp by a factor β1\beta\leqslant 1. We now define

V[pβq]{vV:β|pv|<|qv|}andV[pβq]{vV:β|pv|>|qv|}V[p\succ_{\beta}q]\coloneqq\{v\in V:\beta\cdot|pv|<|qv|\}\quad\text{and}\quad V[p\prec_{\beta}q]\coloneqq\{v\in V:\beta\cdot|pv|>|qv|\}

to be the multisets of voters won by pp over qq and lost by pp against qq, respectively. Finally, we say that a point pdp\in{\mathbb{R}}^{d} is a β\beta-plurality point for VV when

|V[pβq]||V[pβq]|,for any point qd.\left|V[p\succ_{\beta}q]\right|\geqslant\left|V[p\prec_{\beta}q]\right|,\quad\text{for any point $q\in{\mathbb{R}}^{d}$}.

Observe that β\beta-plurality is monotone in the sense that if pp is a β\beta-plurality point then pp is also a β\beta^{\prime}-plurality point for all β<β\beta^{\prime}<\beta.

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 β\beta-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 β\beta-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 β\beta-plurality was that a set VV of voters in d{\mathbb{R}}^{d}, for d2d\geqslant 2, generally does not admit a plurality point. This immediately raises the question: Is it true that, for β\beta small enough, any set VV admits a β\beta-plurality point? If so, we want to know the largest β\beta such that any voter set VV admits a β\beta-plurality point, that is, we wish to determine

βdsup{β:any finite multiset V in d admits a β-plurality point}.\beta^{*}_{d}\coloneqq\sup\{\beta:\text{any finite multiset $V$ in ${\mathbb{R}}^{d}$ admits a $\beta$-plurality point}\}.

Note that β1=1\beta^{*}_{1}=1, since any set VV in 1{\mathbb{R}}^{1} 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 VV, find a point pp that is a β\beta-plurality point for the largest possible value β\beta. In other words, if we define

β(V)sup{β:V admits a β-plurality point}\beta(V)\coloneqq\sup\{\beta:\mbox{$V$ admits a $\beta$-plurality point}\}

and

β(p,V)sup{β:p is a β-plurality point for V}\beta(p,V)\coloneqq\sup\{\beta:\mbox{$p$ is a $\beta$-plurality point for $V$}\}

then we want to find a point pp such that β(p,V)=β(V)\beta(p,V)=\beta(V).

Results.

In Section 2 we prove that βd3/2\beta^{*}_{d}\leqslant\sqrt{3}/2 for all d2d\geqslant 2. To this end we first show that βd\beta^{*}_{d} is non-increasing in dd, and then we exhibit a voter set VV in 2{\mathbb{R}}^{2} such that β(V)3/2\beta(V)\leqslant\sqrt{3}/2. We also show how to construct in O(nlogn)O(n\log n) time, for any given VV in 2{\mathbb{R}}^{2}, a point pp such that β(p,V)3/2\beta(p,V)\geqslant\sqrt{3}/2, thus proving that β2=3/2\beta^{*}_{2}=\sqrt{3}/2. Moreover, for d2d\geqslant 2 we show how to construct in O(n)O(n) time a point pp such that β(p,V)1/d\beta(p,V)\geqslant 1/\sqrt{d}, which means that βd1/d\beta^{*}_{d}\geqslant 1/\sqrt{d}.333Very recently Filtser and Filtser [15] improved these results for d4d\geqslant 4 by proving that βd1212+3124330.557\beta^{*}_{d}\geqslant\frac{1}{2}\sqrt{\frac{1}{2}+\sqrt{3}-\frac{1}{2}\sqrt{4\sqrt{3}-3}}\approx 0.557 for any d4d\geqslant 4.

In Section 3 we study the problem of computing, for a given voter set VV of nn points in d{\mathbb{R}}^{d}, a β\beta-plurality point for the largest possible β\beta. (Here we assume dd 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 pp, that is, a point pp such that β(p,V)(1ε)β(V)\beta(p,V)\geqslant(1-\varepsilon)\cdot\beta(V). We show that such a point can be computed in O(n2ε3d2lognεd1log21ε)O(\frac{n^{2}}{\varepsilon^{3d-2}}\cdot\log\frac{n}{\varepsilon^{d-1}}\cdot\log^{2}\frac{1}{\varepsilon}) time.

Notation.

We denote the open ball of radius ρ\rho centered at a point qdq\in{\mathbb{R}}^{d} by B(q,ρ)B(q,\rho) and, for a point pdp\in{\mathbb{R}}^{d} and a voter vv, we define Dβ(p,v)B(v,β|pv|)D_{\beta}(p,v)\coloneqq B(v,\beta\cdot|pv|). Observe that pp wins vv against a competitor qq if and only if qq is strictly outside Dβ(p,v)D_{\beta}(p,v), while qq wins vv if and only if qq is strictly inside Dβ(p,v)D_{\beta}(p,v). Hence, V[pβq]={vV:qDβ(p,v)}V[p\prec_{\beta}q]=\{v\in V\colon q\in D_{\beta}(p,v)\}. We define 𝒟β(p){Dβ(p,v):vV}\mathcal{D}_{\beta}(p)\coloneqq\{D_{\beta}(p,v):v\in V\}—here we assume VV is clear from the context—and let 𝒜(𝒟β(p))\mathcal{A}(\mathcal{D}_{\beta}(p)) denote the arrangement induced by 𝒟β(p)\mathcal{D}_{\beta}(p). The competitor point qq that wins the most voters against pp will thus lie in the cell of 𝒜(𝒟β(p))\mathcal{A}(\mathcal{D}_{\beta}(p)) of the greatest depth or, more precisely, the cell contained in the maximum number of disks Dβ(p,v)D_{\beta}(p,v).

2 Bounds on βd\beta^{*}_{d}

In this section we will prove bounds on βd\beta^{*}_{d}, the supremum of all β\beta such that any finite set VdV\subset{\mathbb{R}}^{d} admits a β\beta-plurality point. We start with an observation that allows us to apply bounds on βd\beta^{*}_{d} to those on βd\beta^{*}_{d^{\prime}} for d>dd^{\prime}>d. Let conv(V)\mathrm{conv}(V) denote the convex hull of VV.

Observation \thetheorem.

Let VV be a finite multiset of voters in d{\mathbb{R}}^{d}.

  1. (i)

    Suppose a point pdp\in{\mathbb{R}}^{d} is not a β\beta-plurality point for VV. Then there is a point qconv(V)q\in\mathrm{conv}(V) such that |V[pβq]|<|V[pβq]|\left|V[p\succ_{\beta}q]\right|<\left|V[p\prec_{\beta}q]\right|.

  2. (ii)

    For any pconv(V)p^{\prime}\not\in\mathrm{conv}(V), there is a point pconv(V)p\in\mathrm{conv}(V) with β(p,V)>β(p,V)\beta(p,V)>\beta(p^{\prime},V).

  3. (iii)

    For any d>dd^{\prime}>d we have βdβd\beta_{d^{\prime}}^{*}\leqslant\beta_{d}^{*}.

Proof.

Note that for every point rconv(V)r\not\in\mathrm{conv}(V) there is a point rconv(V)r^{\prime}\in\mathrm{conv}(V) that lies strictly closer to all voters in VV, namely the point rconv(V)r^{\prime}\in\partial\mathrm{conv}(V) closest to rr^{\prime}. This immediately implies part (i): if pp is beaten by some point qconv(V)q\not\in\mathrm{conv}(V) then pp is certainly beaten by a point qconv(V)q^{\prime}\in\mathrm{conv}(V) that lies strictly closer to all voters in VV than qq. It also immediately implies part (ii), because if a point pp lies strictly closer to all voters in VV than a point pp^{\prime}, then β(p,V)>β(p,V)\beta(p,V)>\beta(p^{\prime},V).

To prove part (iii), let VdV\in{\mathbb{R}}^{d} be a voter set such that β(V)=βd\beta(V)=\beta^{*}_{d}. Now embed VV into d{\mathbb{R}}^{d^{\prime}}, say in the flat xd+1==xd=0x_{d+1}=\cdots=x_{d^{\prime}}=0, obtaining a set VV^{\prime}. Then β(V)=β(V)\beta(V^{\prime})=\beta(V) by parts (i) and (ii). Hence, βdβ(V)=β(V)=βd\beta_{d^{\prime}}^{*}\leqslant\beta(V^{\prime})=\beta(V)=\beta_{d}^{*}. ∎

We can now prove an upper bound on βd\beta_{d}^{*}.

Lemma 2.1.

βd3/2\beta_{d}^{*}\leqslant\sqrt{3}/2, for d2d\geqslant 2.

Proof 2.2.

By Observation 2(iii), it suffices to prove the lemma for d=2d=2. To this end let V={v1,v2,v3}V=\{v_{1},v_{2},v_{3}\} consist of three voters that form an equilateral triangle Δ\Delta of side length 2 in 2{\mathbb{R}}^{2}; see Fig. 2(i).

Refer to caption
Fig. 2: (i) The set V={v1,v2,v3}V=\{v_{1},v_{2},v_{3}\} of voters and the point pp used in the proof of Lemma 2.1. (ii) The ellipse EE is tangent to the Voronoi cell 𝒱(v3)\mathcal{V}(v_{3}).

Let pp denote the center of Δ\Delta. We will first argue that β(p,V)=3/2\beta(p,V)=\sqrt{3}/2. Note that |pvi|=2/3|pv_{i}|=2/\sqrt{3} for all three voters viv_{i}. Hence, for β=3/2\beta=\sqrt{3}/2, the open balls Dβ(vi,p)D_{\beta}(v_{i},p) are pairwise disjoint and touching at the mid-points of the edges of Δ\Delta. Therefore any competitor qq either wins one voter and loses the remaining two, or wins no voter and loses at least one. The former happens when qq lies inside one of the three balls Dβ(vi,p)D_{\beta}(v_{i},p); the later happens when qq does not lie inside any of the balls, because in that case qq can be on the boundary of at most two of the balls. Thus, for β=3/2\beta=\sqrt{3}/2, the point pp always wins more voters than qq does. On the other hand, for β>3/2\beta>\sqrt{3}/2, any two balls Dβ(vi,p)D_{\beta}(v_{i},p), Dβ(vj,p)D_{\beta}(v_{j},p) intersect and so a point qq located in such a pairwise intersection wins two voters and beats pp. We conclude that β(p,V)=3/2\beta(p,V)=\sqrt{3}/2, as claimed.

The lemma now follows if we can show that β(p,V)3/2\beta(p^{\prime},V)\leqslant\sqrt{3}/2 for any ppp^{\prime}\neq p. Let Vor(V)\mathrm{Vor}(V) be the Voronoi diagram of VV, and let 𝒱(vi)\mathcal{V}(v_{i}) be the closed Voronoi cell of viv_{i}, as shown in Fig. 2(ii). Assume without loss of generality that pp^{\prime} lies in 𝒱(v3)\mathcal{V}(v_{3}). Let EE be the ellipse with foci v1v_{1} and v2v_{2} that passes through pp. Thus

E{z2:|zv1|+|zv2|=4/3}.E\coloneqq\{z\in{\mathbb{R}}^{2}:|zv_{1}|+|zv_{2}|=4/\sqrt{3}\}.

Note that EE is tangent to 𝒱(v3)\mathcal{V}(v_{3}) at the point pp. Hence, any point ppp^{\prime}\neq p in 𝒱(v3)\mathcal{V}(v_{3}) has |pv1|+|pv2|>4/3|p^{\prime}v_{1}|+|p^{\prime}v_{2}|>4/\sqrt{3}. This implies that for β3/2\beta\geqslant\sqrt{3}/2 we have β|pv1|+β|pv2|>2\beta\cdot|p^{\prime}v_{1}|+\beta\cdot|p^{\prime}v_{2}|>2, and so the disks Dβ(p,v1)D_{\beta}(p^{\prime},v_{1}) and Dβ(p,v2)D_{\beta}(p^{\prime},v_{2}) intersect. It follows that for β3/2\beta\geqslant\sqrt{3}/2 there is a competitor qq that wins two voters against pp^{\prime}, which implies β(p,V)3/2\beta(p^{\prime},V)\leqslant\sqrt{3}/2 and thus finishes the proof of the lemma.

We now prove lower bounds on βd\beta_{d}^{*}. We first prove that βd1/d\beta_{d}^{*}\geqslant 1/\sqrt{d} for any d2d\geqslant 2, and then we improve the lower bound to 3/2\sqrt{3}/2 for d=2d=2. The latter bound is tight by Lemma 2.1.

Let VV be a finite multiset of nn voters in d{\mathbb{R}}^{d}. We call a hyperplane hh balanced with respect to VV, if both open half-spaces defined by hh contain at most n/2n/2 voters from VV. Note the difference with median hyperplanes, which are required to have fewer than n/2n/2 voters in both open half-spaces. Clearly, for any 1id1\leqslant i\leqslant d there is a balanced hyperplane orthogonal to the xix_{i}-axis, namely the hyperplane xi=mix_{i}=m_{i}, where mim_{i} is a median in the multiset of all xix_{i}-coordinates of the voters in VV. (In fact, for any direction d\vec{d} there is a balanced hyperplane orthogonal to d\vec{d}.)

Lemma 2.3.

Let d2d\geqslant 2. For any finite multi-set VV of voters in d{\mathbb{R}}^{d} there exists a point pdp\in{\mathbb{R}}^{d} such that β(p,V)=1/d\beta(p,V)=1/\sqrt{d}. Moreover, such a point pp can be computed in O(n)O(n) time.

Proof 2.4.

Let {h1,,hd}\mathcal{H}\coloneqq\{h_{1},\dotsc,h_{d}\} be a set of balanced hyperplanes with respect to VV such that hih_{i} is orthogonal to the xix_{i}-axis, and assume without loss of generality that hih_{i} is the hyperplane xi=0x_{i}=0. We will prove that the point pp located at the origin is a β\beta-plurality point for VV for any β<1/d\beta<1/\sqrt{d}, thus showing that β(p,V)1/d\beta(p,V)\geqslant 1/\sqrt{d}.

Let q=(q1,,qd)q=(q_{1},\ldots,q_{d}) be any competitor of pp. We can assume without loss of generality that max1id|qi|=qd>0\max_{1\leqslant i\leqslant d}|q_{i}|=q_{d}>0. Thus qq lies in the closed cone Cd+C_{d}^{+} defined as

Cd+{(x1,,xd)d:xd|xj| for all jd }.C_{d}^{+}\coloneqq\{\ (x_{1},\ldots,x_{d})\in{\mathbb{R}}^{d}:\ x_{d}\geqslant|x_{j}|\mbox{ for all $j\neq d$ }\}.

Note that Cd+C_{d}^{+} is bounded by portions of the 2(d1)2(d-1) hyperplanes xd=±xjx_{d}=\pm x_{j} with jdj\neq d; see Fig. 3.

Because hd:xd=0h_{d}\colon x_{d}=0 is a balanced hyperplane, the open halfspace hd+:xd>0h^{+}_{d}\colon x_{d}>0 contains at most n/2n/2 voters, which implies that the closed halfspace cl(hd):xd0\mathrm{cl}(h_{d}^{-})\colon x_{d}\leqslant 0 contains at least n/2n/2 voters. Hence, it suffices to argue that for any β<1/d\beta<1/\sqrt{d} the point pp wins all the voters in cl(hd)\mathrm{cl}(h_{d}^{-}) against qq.

Refer to caption
Fig. 3: The cone C3+C^{+}_{3} used in the proof of Lemma 2.3.
  • Claim. For any voter vcl(hd)v\in\mathrm{cl}(h_{d}^{-}) with vpv\neq p, we have that sin(qpv)1/d\sin\left(\angle qpv\right)\geqslant 1/\sqrt{d} with equality if and only if qq lies on an edge of Cd+C_{d}^{+} and vv lies on the orthogonal projection of this edge onto hdh_{d}.

  • Proof. For any point vv below hdh_{d} there is a point vhdv^{\prime}\in h_{d} with qpv<qpv\angle qpv^{\prime}<\angle qpv, namely the orthogonal projection of vv onto hdh_{d}. Hence, from now on we assume that vhdv\in h_{d}.

    First, we prove that sin(qpv)=1/d\sin(\angle qpv)=1/\sqrt{d} if qq lies on an edge ee of Cd+C_{d}^{+} and vv lies on the orthogonal projection e¯\overline{e} of ee onto hdh_{d}. Assume without loss of generality that ee is the edge of Cd+C_{d}^{+} defined by the intersection of the d1d-1 hyperplanes xd=xjx_{d}=x_{j}, so that q1==qd1=qdq_{1}=\dots=q_{d-1}=q_{d}. Since qpv\angle qpv is the same for any ve¯v\in\overline{e}, we may assume that vv is the orthogonal projection of qq to hdh_{d}, which means |qv|=qd|qv|=q_{d}. We then have

    sin(qpv)=|qv||pq|=qdq12++qd2=1d.\sin\left(\angle{qpv}\right)=\frac{|qv|}{|pq|}=\frac{q_{d}}{\sqrt{q_{1}^{2}+\dots+q_{d}^{2}}}=\frac{1}{\sqrt{d}}\,.

    Now assume the condition for equality does not hold. Let ρ\rho be the ray starting at pp and containing qq, and let ρ¯\overline{\rho} be its orthogonal projection onto hdh_{d}. We have two cases: vρ¯v\in\overline{\rho} but qq is not contained in an edge of Cd+C_{d}^{+}, or vρ¯v\not\in\overline{\rho}.

    In the former case we may, as before, assume that vv is the projection of qq onto hdh_{d}. Since qCd+q\in C_{d}^{+} we have qd|qj|q_{d}\geqslant|q_{j}| for all jj. Moreover, since qq does not lie on an edge of Cd+C_{d}^{+} we have qd>|qj|q_{d}>|q_{j*}| for at least one jj^{*}. Thus |pq|=q12++qd2<dqd2=d|qv||pq|=\sqrt{q_{1}^{2}+\dotsc+q_{d}^{2}}<\sqrt{d\cdot q_{d}^{2}}=\sqrt{d}\cdot|qv|, and sin(qpv)=|qv|/|pq|>1/d\sin\left(\angle{qpv}\right)=|qv|/|pq|>1/\sqrt{d}.

    In the latter case, let \ell be the line containing pp and vv, and let vv^{\prime} be the point on \ell closest to qq. Then |qv||qv|>|qq¯||qv|\geqslant|qv^{\prime}|>|q\overline{q}|, where q¯\overline{q} is the projection of qq onto hdh_{d}, and so

    sin(qpv)|qv||pq|>|qq¯||pq|1d.\sin\left(\angle{qpv}\right)\geqslant\frac{|qv^{\prime}|}{|pq|}>\frac{|q\overline{q}|}{|pq|}\geqslant\frac{1}{\sqrt{d}}\,.

We can now use the Law of Sines and the claim above to derive that for any β<1/d\beta<1/\sqrt{d} and any voter vcl(hd)v\in\mathrm{cl}(h_{d}^{-}) with vpv\neq p we have

β|pv|<1d|pv|=1d|qv|sin(pqv)sin(qpv)|qv|sin(pqv)|qv|.\beta\cdot|pv|<\frac{1}{\sqrt{d}}\cdot|pv|=\frac{1}{\sqrt{d}}\cdot\frac{|qv|\cdot\sin\left(\angle pqv\right)}{\sin\left(\angle qpv\right)}\leqslant|qv|\cdot\sin\left(\angle pqv\right)\leqslant|qv|\,.

Hence, pp wins every point in cl(hd)\mathrm{cl}(h_{d}^{-}). This proves the first part of the lemma since cl(hd)\mathrm{cl}(h_{d}^{-}) contains at least n/2n/2 voters, as already remarked.

Computing the point pp is trivial once we have the balanced hyperplanes hih_{i}, which can be found in O(n)O(n) time by computing a median xix_{i}-coordinate for each 1id1\leqslant i\leqslant d.

A tight bound in the plane. In 2{\mathbb{R}}^{2} we can improve the above bound: for any voter set VV in the plane we can find a point pp with β(p,V)3/2\beta(p,V)\geqslant\sqrt{3}/2. By Lemma 2.1, this bound is tight. The improvement is based on the following lemma.

Refer to caption
Fig. 4: The partition used in the proof of Lemma 2.5. The region H=cl(S3S4S5)H=\mathrm{cl}(S_{3}\cup S_{4}\cup S_{5}) is indicated in grey.
Lemma 2.5.

Let VV be a multiset of nn voters in 2{\mathbb{R}}^{2}, let 1,2,3\ell_{1},\ell_{2},\ell_{3} be a triple of concurrent balanced lines such that the smaller angle between any two of them is π3\frac{\pi}{3}, and let pp be the common intersection of 1,2,3\ell_{1},\ell_{2},\ell_{3}. Then β(p,V)3/2\beta(p,V)\geqslant\sqrt{3}/2.

Proof 2.6.

Let qq be a competitor of pp. The three lines 1,2,3\ell_{1},\ell_{2},\ell_{3} partition the plane into six equal-sized sectors, which we number S1S_{1} through S6S_{6} in a clockwise fashion, so that qq lies in the closure of S1S_{1}; see Figure 4. Let HH be the closure of S3S4S5S_{3}\cup S_{4}\cup S_{5}. 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 pp does not lose any voter vHv\in H. Indeed, using the Law of Sines we obtain

32|pv|=32sinpqvsinqpv|qv||qv|,sinceqpvπ/3,\frac{\sqrt{3}}{2}\cdot|pv|=\frac{\sqrt{3}}{2}\cdot\frac{\sin{\angle{pqv}}}{\sin{\angle{qpv}}}\cdot|qv|\leqslant|qv|,\quad\text{since}\quad\angle{qpv}\geqslant\pi/3,

which shows that pp is a β\beta-plurality point for any β<3/2\beta<\sqrt{3}/2. Hence, β(p,V)3/2\beta(p,V)\geqslant\sqrt{3}/2.

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 nn 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 nn, 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 O(nlogn)O(n\log n) time, a significant improvement over the O(n4/3log1+εn)O(n^{4/3}\log^{1+\varepsilon}n) running time obtained (for the case of even nn) by Dumitrescu et al. [11].

Lemma 2.7.

For any multiset VV of nn voters in 2{\mathbb{R}}^{2}, there exists a triple of concurrent balanced lines (1,2,3)(\ell_{1},\ell_{2},\ell_{3}) such that the smaller angle between any two of them is π3\frac{\pi}{3}.

Proof 2.8.

Define the orientation of a line to be the counterclockwise angle it makes with the positive yy-axis. Recall that for any given orientation θ\theta there exists at least one balanced line with orientation θ\theta. When nn is odd this line is unique: it passes through the median of the voter set VV when VV is projected orthogonally onto a line orthogonal to the lines of orientation θ\theta.

Refer to caption
Fig. 5: (i) The balanced line μ(θ)\mu(\theta). (ii) If p23p_{23} is to the left of the directed line 1(0)\ell_{1}(0) then p13(0)p_{13}(0) is to the right of 2(0)\ell_{2}(0).

In the rest of the proof it will be convenient to have a unique balanced line for any orientation θ\theta. To achieve this when nn is even, we simply delete an arbitrary voter from VV. (If there are other voters at the same location, these voters are not deleted.) This is allowed because when |V||V| is even, a balanced line for V{v}V\setminus\{v\} is also a balanced line for VV.

Now let μ\mu be the function that maps an angle value θ\theta to the unique balanced line μ(θ)\mu(\theta); see Figure 5(i). Note that μ\mu is continuous for 0θ<π0\leqslant\theta<\pi. Let 1(θ)μ(θ)\ell_{1}(\theta)\coloneqq\mu(\theta), and 2(θ)μ(θ+π3)\ell_{2}(\theta)\coloneqq\mu(\theta+\frac{\pi}{3}), and 3(θ)μ(θ+2π3)\ell_{3}(\theta)\coloneqq\mu(\theta+\frac{2\pi}{3}). For iji\neq j, let pij(θ)i(θ)j(θ)p_{ij}(\theta)\coloneqq\ell_{i}(\theta)\cap\ell_{j}(\theta) be the intersection point between i(θ)\ell_{i}(\theta) and j(θ)\ell_{j}(\theta). If p23(0)1(0)p_{23}(0)\in\ell_{1}(0) then the lines 1(0),2(0),3(0)\ell_{1}(0),\ell_{2}(0),\ell_{3}(0) are concurrent and we are done. Otherwise, consider the situation at θ=0\theta=0 and imagine 1(0)\ell_{1}(0) and 2(0)\ell_{2}(0) to be directed in the positive yy-direction, as in Fig. 5(ii). Clearly, if p23(0)p_{23}(0) is to the left of the directed line 1(0)\ell_{1}(0) then p13(0)p_{13}(0) is to the right of the directed line 2(0)\ell_{2}(0), and vice versa. Now increase θ\theta from 0 to π/3\pi/3, and note that 1(π/3)=2(0)\ell_{1}(\pi/3)=\ell_{2}(0) and p23(π/3)=p13(0)p_{23}(\pi/3)=p_{13}(0). Hence, p23(θ)p_{23}(\theta) lies to a different side of the directed line 1(θ)\ell_{1}(\theta) for θ=0\theta=0 than it does for θ=π/3\theta=\pi/3. Since both 1(θ)\ell_{1}(\theta) and p23(θ)p_{23}(\theta) vary continuously with θ\theta, this implies that, for some θ¯(0,π/3)\bar{\theta}\in(0,\pi/3), the point p23(θ¯)p_{23}(\bar{\theta}) crosses the line 1(θ¯)\ell_{1}(\bar{\theta}), and so the lines 1(θ¯),2(θ¯),3(θ¯)\ell_{1}(\bar{\theta}),\ell_{2}(\bar{\theta}),\ell_{3}(\bar{\theta}) are concurrent.

The previous two lemmas show that any voter set VV in 2{\mathbb{R}}^{2} admits a point pp such that β(p,V)3/2\beta(p,V)\geqslant\sqrt{3}/2. We now show that we can compute such a point in O(nlogn)O(n\log n) time, namely, we show how to compute a triple as in Lemma 2.7 in O(nlogn)O(n\log n) time. We follow the definitions and notation from the proof of that lemma. We will assume that nn is odd, which, as argued, is without loss of generality.

To find a concurrent triple of balanced lines, we first compute the lines 1(0),2(0),3(0)\ell_{1}(0),\ell_{2}(0),\ell_{3}(0) in O(n)O(n) time. If they are concurrent, we are done. Otherwise, there is a θ¯(0,π/3)\bar{\theta}\in(0,\pi/3) such that 1(θ¯),2(θ¯),3(θ¯)\ell_{1}(\bar{\theta}),\ell_{2}(\bar{\theta}),\ell_{3}(\bar{\theta}) are concurrent. To find this value θ¯\bar{\theta} we dualize the voter set VV, using the standard duality transform that maps a point (a,b)(a,b) to the non-vertical line y=ax+by=ax+b and vice versa. Let vv^{*} denote the dual line of the voter vv, and let V{v:vV}V^{*}\coloneqq\{v^{*}:v\in V\}. Note that for θ(0,π/3)\theta\in(0,\pi/3) the lines 1(θ),2(θ),3(θ)\ell_{1}(\theta),\ell_{2}(\theta),\ell_{3}(\theta) are all non-vertical, therefore their duals i(θ)\ell^{*}_{i}(\theta) are well-defined.

Consider the arrangement 𝒜(V)\mathcal{A}(V^{*}) defined by the duals of the voters. For θ0\theta\neq 0, define slope(θ)\mathrm{slope}(\theta) to be the slope of the lines with orientation θ\theta. Then μ(θ)\mu^{*}(\theta), the dual of μ(θ)\mu(\theta), is the intersection point of the vertical line x=slope(θ)x=\mathrm{slope}(\theta) with LmedL_{\mathrm{med}}, the median level in 𝒜(V)\mathcal{A}(V^{*}). (The median level of 𝒜(V)\mathcal{A}(V^{*}) is the set of points qq such that there are fewer than n/2n/2 lines below qq and fewer than n/2n/2 lines above qq; this is well defined since we assume nn is odd. The median level forms an xx-monotone polygonal curve along edges of 𝒜(V)\mathcal{A}(V^{*}).) Observe that the duals 1(θ),2(θ),3(θ)\ell_{1}^{*}(\theta),\ell_{2}^{*}(\theta),\ell_{3}^{*}(\theta) all lie on LmedL_{\mathrm{med}}. For θ(0,π/3)\theta\in(0,\pi/3), the xx-coordinate of 1(θ)\ell_{1}^{*}(\theta) lies in (,1/3)(-\infty,-1/\sqrt{3}), the xx-coordinate of 2(θ)\ell_{2}^{*}(\theta) lies in (1/3,1/3)(-1/\sqrt{3},1/\sqrt{3}), and the xx-coordinate of 3(θ)\ell_{3}^{*}(\theta) lies in (1/3,)(1/\sqrt{3},\infty).

Refer to caption
Fig. 6: The edge sets E1E_{1}, E2E_{2}, and E3E_{3} of LmedL_{\mathrm{med}}, the median level in 𝒜(V)\mathcal{A}(V^{*}).

We split LmedL_{\mathrm{med}} into three pieces corresponding to these ranges of the xx-coordinate. Let E1E_{1}, E2E_{2}, and E3E_{3} denote the sets of edges forming the parts of LmedL_{\mathrm{med}} in the first, second, and third range, respectively, where edges crossing the vertical lines x=1/3x=-1/\sqrt{3} and x=1/3x=1/\sqrt{3} are split; see Fig. 6. Thus, for any θ(0,π/3)\theta\in(0,\pi/3) and for i{1,2,3}i\in\{1,2,3\}, the point i(θ)\ell^{*}_{i}(\theta) lies on an edge in EiE_{i}.

Recall that we want to find a value θ¯(0,π/3)\bar{\theta}\in(0,\pi/3) such that 1(θ¯),2(θ¯),3(θ¯)\ell_{1}(\bar{\theta}),\ell_{2}(\bar{\theta}),\ell_{3}(\bar{\theta}) are concurrent. For <x<1/3-\infty<x<1/\sqrt{3}, let θx\theta_{x} be such that slope(θx)=x\mathrm{slope}(\theta_{x})=x, and for i{1,2,3}i\in\{1,2,3\} define pi(x):=i(θx)p_{i}(x):=\ell^{*}_{i}(\theta_{x}). We are thus looking for a value x¯(,1/3)\bar{x}\in(-\infty,1/\sqrt{3}) such that the three points p1(x¯),p2(x¯),p3(x¯)p_{1}(\bar{x}),p_{2}(\bar{x}),p_{3}(\bar{x}) are collinear.

One way to find x¯\bar{x} would be to first explicitly compute LmedL_{\mathrm{med}}; then we can increase xx, starting at x=x=-\infty, and see how the points pi(x)p_{i}(x) move over EiE_{i}, until we reach a value x¯\bar{x} such that p1(x¯),p2(x¯),p3(x¯)p_{1}(\bar{x}),p_{2}(\bar{x}),p_{3}(\bar{x}) are collinear. Since the best known bounds on the complexity of the median level is O(n4/3)O(n^{4/3}) [9] we will proceed differently, as follows.

  1. 1.

    Use the recursive algorithm described below to find an interval I¯(,1/3)\bar{I}\subseteq\left(-\infty,1/\sqrt{3}\right) containing a value x¯\bar{x} with the desired property—namely, that the points p1(x¯)p_{1}(\bar{x}), p2(x¯)p_{2}(\bar{x}), and p3(x¯)p_{3}(\bar{x}) are collinear—and such that, for any i{1,2,3}i\in\{1,2,3\}, the point pi(x)p_{i}(x) lies on the same edge of EiE_{i} for all xI¯x\in\bar{I}.

  2. 2.

    Find a value x¯I¯\bar{x}\in\bar{I} such that p1(x¯)p_{1}(\bar{x}), p2(x¯)p_{2}(\bar{x}), and p3(x¯)p_{3}(\bar{x}) are collinear. Since for i=1,2,3i=1,2,3 each pi(x)p_{i}(x) lies on a fixed edge eie_{i} of LmedL_{\mathrm{med}} for all xI¯x\in\bar{I} after Step 1, this can be done in O(1)O(1) time. Indeed, if we go back to primal space we are given three (not necessarily distinct) voters v1,v2,v3v_{1},v_{2},v_{3} (namely, the primals of the lines containing e1e_{1}, e2e_{2}, and e3e_{3}) and a range (θ,θ)(\theta,\theta^{\prime}) of angles (corresponding to the xx-range I¯\bar{I}), such that the line i(θ)\ell_{i}(\theta) passes through viv_{i} for any θ(θ,θ)\theta\in(\theta,\theta^{\prime}). We then only have to compute an orientation θ¯(θ,θ)\bar{\theta}\in(\theta,\theta^{\prime}) such that the lines i(θ)\ell_{i}(\theta) meet in a common point—such an orientation θ¯\bar{\theta} is guaranteed to exist by our construction of I¯\bar{I}.

We now explain the recursive algorithm used in Step 1. In a generic call we are given three trapezoids Δ1,Δ2,Δ3\Delta_{1},\Delta_{2},\Delta_{3} that are each bounded by two non-vertical edges and two vertical edges (one of which may degenerate into a point). Let IiI_{i} be the xx-range of Δi\Delta_{i}, for i{1,2,3}i\in\{1,2,3\}; note that this is well-defined since Δi\Delta_{i} is a trapezoid delimited by two vertical edges. The trapezoids Δ1,Δ2,Δ3\Delta_{1},\Delta_{2},\Delta_{3} will have the following properties.

  • (P1)

    Trapezoid Δ1\Delta_{1} lies inside the vertical slab (,1/3)×(,)(-\infty,-1/\sqrt{3})\times(-\infty,\infty), trapezoid Δ2\Delta_{2} lies inside the vertical slab (1/3,1/3)×(,)(-1/\sqrt{3},1/\sqrt{3})\times(-\infty,\infty), and trapezoid Δ3\Delta_{3} lies inside the vertical slab (1/3,)×(,)(1/\sqrt{3},\infty)\times(-\infty,\infty). Moreover, the xx-ranges I1,I2,I3I_{1},I_{2},I_{3} correspond to each other in the following sense. Recall that an xx-range I(,1/3)I\subset(-\infty,-1/\sqrt{3}) in the dual plane corresponds to an angular interval (ϕ,ϕ)(\phi,\phi^{\prime}) in the primal plane. We denote by IθI\oplus\theta the xx-range corresponding to the angular interval (ϕ+θ,ϕ+θ)(\phi+\theta,\phi^{\prime}+\theta). The xx-ranges I1,I2,I3I_{1},I_{2},I_{3} will be such that I2=I1π3I_{2}=I_{1}\oplus\frac{\pi}{3} and I3=I12π3I_{3}=I_{1}\oplus\frac{2\pi}{3}.

  • (P2)

    For any i{1,2,3}i\in\{1,2,3\}, the part of the median level LmedL_{\mathrm{med}} inside the vertical slab Ii×(,)I_{i}\times(-\infty,\infty) lies entirely inside Δi\Delta_{i}. Together with the property (P1) this implies that for any xI1x\in I_{1} we have that pi(x)Δip_{i}(x)\in\Delta_{i}, for i{1,2,3}i\in\{1,2,3\}.

  • (P3)

    Let xleftx_{\mathrm{left}} and xrightx_{\mathrm{right}} be such that I1=(xleft,xright)I_{1}=(x_{\mathrm{left}},x_{\mathrm{right}}). Then we have: If p1(xleft)p_{1}(x_{\mathrm{left}}) lies above the line through p2(xleft)p_{2}(x_{\mathrm{left}}) and p3(xleft)p_{3}(x_{\mathrm{left}}), then p1(xright)p_{1}(x_{\mathrm{right}}) lies below the line through p2(xright)p_{2}(x_{\mathrm{right}}) and p3(xright)p_{3}(x_{\mathrm{right}}), and vice versa. This guarantees that there exists a value x¯I1\bar{x}\in I_{1} with the desired property and, hence, that I1I_{1} contains the interval I¯\bar{I} we are looking for.

In a recursive call we are also given for each Δi\Delta_{i} the sets ViVV^{*}_{i}\subseteq V^{*} of lines intersecting the interior of Δi\Delta_{i}, as well as nin_{i}^{-}, the number of lines from VV^{*} passing completely below Δi\Delta_{i}.

Initially, Δ1\Delta_{1} is the unbounded trapezoid444Since xleft=x_{\mathrm{left}}=-\infty for this initial trapezoid Δ1\Delta_{1}, the points pi(xleft)p_{i}(x_{\mathrm{left}}) are not well defined. Recall, however, that in the primal plane the point on LmedL_{\mathrm{med}} “at x=x=-\infty” corresponds to the vertical balanced line 1(0)\ell_{1}(0). Hence, we can derive the relative position of p1()p_{1}(-\infty) with respect to the line through p2()p_{2}(-\infty) and p3()p_{3}(-\infty), from the relative position of the intersection point 2(0)3(0)\ell_{2}(0)\cap\ell_{3}(0) with respect to 1(0)\ell_{1}(0). (,1/3)×(,)(-\infty,-1/\sqrt{3})\times(-\infty,\infty). Similarly, we initially have Δ2=(1/3,1/3)×(,)\Delta_{2}=(-1/\sqrt{3},1/\sqrt{3})\times(-\infty,\infty) and Δ3=(1/3,)×(,)\Delta_{3}=(1/\sqrt{3},\infty)\times(-\infty,\infty). Furthermore, Vi=VV^{*}_{i}=V^{*} and ni=0n_{i}^{-}=0 for i=1,2,3i=1,2,3.

The recursion ends when the interior of each Δi\Delta_{i} is intersected by a single edge of LmedL_{\mathrm{med}}; we then have I¯:=I1\bar{I}:=I_{1}. The recursive call for a given triple Δ1,Δ2,Δ3\Delta_{1},\Delta_{2},\Delta_{3} starts by shrinking Δ1\Delta_{1} to a trapezoid Δ1\Delta^{\prime}_{1}—thus zooming in on the value x¯\bar{x}—as follows. (We assume |V1|>1|V^{*}_{1}|>1, otherwise the shrinking of Δ1\Delta_{1} can be skipped.).

Refer to caption
Fig. 7: The trapezoid Δ1\Delta_{1} (depicted in black) and the cutting Ξ\Xi (depicted in grey).
  1. (i)

    Set r:=2r:=2 and construct a (1/r)(1/r)-cutting for the lines in V1V^{*}_{1}, clipped to within Δ1\Delta_{1}. In other words, construct a partition Ξ\Xi of Δ1\Delta_{1} into O(r2)=O(1)O(r^{2})=O(1) smaller trapezoids—see Fig. 7—such that the interior of each trapezoid τΞ\tau\in\Xi is intersected by at most n1/2n_{1}/2 lines from V1V^{*}_{1}, where n1:=|V1|n_{1}:=|V^{*}_{1}|. Computing Ξ\Xi can be done in O(n1)O(n_{1}) time [6].

  2. (ii)

    Compute the intersections of LmedL_{\mathrm{med}} with the edges of each trapezoid τΞ\tau\in\Xi in O(n1logn1)O(n_{1}\log n_{1}) time, as follows.

    • Consider a non-vertical edge ee of τ\tau. First, compute the level of pleftp_{\mathrm{left}}, the left endpoint of ee. This can be done by counting the number of lines from V1V^{*}_{1} below pleftp_{\mathrm{left}} and adding n1n_{1}^{-} to this number. Next, intersect ee with all lines of V1V^{*}_{1} and sort the intersections along ee, distinguishing lines that cross ee “from above” and “from below.” Finally, walk along ee, starting from pleftp_{\mathrm{left}} towards the right, increasing and decreasing the level according to the type of the intersection we encounter. All intersection points that lie on LmedL_{\mathrm{med}} can thus be reported. (For simplicity we ignore the case where ee partially or fully overlaps LmedL_{\mathrm{med}}. 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 ee of the cutting is contained in an input line.)

    • For a vertical edge ee of τ\tau, we proceed similarly: first compute the level of the lower endpoint of ee, and then walk upward along ee until we reach an intersection point at the median level, or the upper endpoint of ee.

  3. (iii)

    The previous step gives us all intersection points of LmedL_{\mathrm{med}} with the edges of trapezoids in Ξ\Xi. Let X={ξ1,ξ|X|}X=\{\xi_{1},\ldots\xi_{|X|}\} be the sorted set of all xx-coordinates of these intersection points, as illustrated in Fig. 7. Note that |X|=O(n1)|X|=O(n_{1}). We perform a binary search on XX to find two consecutive xx-coordinates, ξi\xi_{i} and ξi+1\xi_{i+1}, such that the interval (ξi,ξi+1)(\xi_{i},\xi_{i+1}) contains a value x¯\bar{x} with the desired property. Each step in the binary search can be done in O(n1+n2+n3)O(n_{1}+n_{2}+n_{3}) time, as follows.

    Assume without loss of generality that p1(xleft)p_{1}(x_{\mathrm{left}}) lies above the line through p2(xleft)p_{2}(x_{\mathrm{left}}) and p3(xleft)p_{3}(x_{\mathrm{left}}), and that p1(xright)p_{1}(x_{\mathrm{right}}) lies below the line through p2(xright)p_{2}(x_{\mathrm{right}}) and p3(xright)p_{3}(x_{\mathrm{right}}). Suppose that during the binary search we arrive at some ξjX\xi_{j}\in X, and we want to decide if we want to proceed to the left or to the right of ξj\xi_{j}. To do so, we first compute the points p1(ξj)p_{1}(\xi_{j}), p2(ξj)p_{2}(\xi_{j}), and p3(ξj)p_{3}(\xi_{j}). Point p1(ξj)p_{1}(\xi_{j}) can be computed in O(n1)O(n_{1}) time, as follows: first compute all intersections of the vertical line x=ξjx=\xi_{j} with the lines in V1V^{*}_{1}, and then find the intersection point whose yy-coordinate has the appropriate rank, taking into account that there are n1n_{1}^{-} lines from VV1V^{*}\setminus V^{*}_{1} fully below Δ1\Delta_{1}. The points p2(ξj)p_{2}(\xi_{j}) and p3(ξj)p_{3}(\xi_{j}) can be computed in the same way—this takes O(n2)O(n_{2}) and O(n3)O(n_{3}) time, respectively—after determining their xx-coordinates in O(1)O(1) time. (These xx-coordinate are slope(θξj+π/3)\mathrm{slope}(\theta_{\xi_{j}}+\pi/3) and slope(θξj+2π/3)\mathrm{slope}(\theta_{\xi_{j}}+2\pi/3), respectively.) After computing p1(ξj)p_{1}(\xi_{j}), p2(ξj)p_{2}(\xi_{j}), and p3(ξj)p_{3}(\xi_{j}) we can make our decision: we proceed to the left if p1(ξj)p_{1}(\xi_{j}) lies below the line through p2(ξj)p_{2}(\xi_{j}) and p3(ξj)p_{3}(\xi_{j}), and to the right if p1(ξj)p_{1}(\xi_{j}) lies above that line. (In the fortunate situation that p1(ξj),p2(ξj),p3(ξj)p_{1}(\xi_{j}),p_{2}(\xi_{j}),p_{3}(\xi_{j}) are collinear, we can take x¯ξj\bar{x}\coloneqq\xi_{j} and we are done.)

    Since each step in the binary search takes O(n1+n2+n3)O(n_{1}+n_{2}+n_{3}) time, the total binary search takes O((n1+n2+n+3)logn1)O((n_{1}+n_{2}+n+3)\log n_{1}) time. Sorting the set XX before the binary search only increases this by a constant factor.

  4. (iv)

    Finally, we take the two xx-coordinates ξi,ξi+1\xi_{i},\xi_{i+1} computed in the previous step, and find the points where LmedL_{\mathrm{med}} crosses the vertical lines x=ξix=\xi_{i} and x=ξi+1x=\xi_{i+1}. Between x=ξix=\xi_{i} and x=ξi+1x=\xi_{i+1} we know that LmedL_{\mathrm{med}} lies inside a single trapezoid τΞ\tau\in\Xi. We then intersect τ\tau with the slab (ξi,ξi+1)×(,)(\xi_{i},\xi_{i+1})\times(-\infty,\infty), to obtain the trapezoid Δ1\Delta^{\prime}_{1}. (If, for example, we would have (ξi,ξi+1)=(ξ3,ξ4)(\xi_{i},\xi_{i+1})=(\xi_{3},\xi_{4}) in Fig. 7, then Δ1\Delta^{\prime}_{1} is the grey trapezoid.) Note that the number of lines crossing Δ1\Delta^{\prime}_{1} is at most n1/2n_{1}/2 and that the xx-range I1I^{\prime}_{1} of Δ1\Delta^{\prime}_{1} satisfies property (P3).

After shrinking Δ1\Delta_{1} in this manner, we proceed as follows. We first clip Δ2\Delta_{2} such that its xx-range corresponds to I1π3I_{1}\oplus\frac{\pi}{3}, and then we shrink the clipped trapezoid Δ2\Delta_{2} to a new trapezoid Δ2\Delta^{\prime}_{2} in the same way as we shrunk Δ1\Delta_{1} to Δ1\Delta^{\prime}_{1}. Thus Δ2\Delta^{\prime}_{2} is crossed by at most n2/2n_{2}/2 lines and I2π3I^{\prime}_{2}\oplus\frac{-\pi}{3} satisfies property (P3), where I2I^{\prime}_{2} is the xx-range of Δ2\Delta^{\prime}_{2}. Next, we clip the xx-range of Δ3\Delta_{3} to I2π3I^{\prime}_{2}\oplus\frac{\pi}{3}, and then we apply the shrinking procedure to Δ3\Delta_{3} to obtain a new trapezoid Δ3\Delta^{\prime}_{3}. Finally, we clip Δ1\Delta^{\prime}_{1} and Δ2\Delta^{\prime}_{2} so that their xx-ranges correspond to I32π3I^{\prime}_{3}\oplus\frac{-2\pi}{3} and I3π3I^{\prime}_{3}\oplus\frac{-\pi}{3}, respectively. We then recurse on the triple Δ1,Δ2,Δ3\Delta^{\prime}_{1},\Delta^{\prime}_{2},\Delta^{\prime}_{3}, passing along the appropriate sets ViV^{*}_{i} and updating the counts nin_{i}^{-}.

The total time spent in all three shrinking steps is O((n1+n2+n3)log(n1+n2+n3))O((n_{1}+n_{2}+n_{3})\log(n_{1}+n_{2}+n_{3})), and each nin_{i} halves at every level in the recursion. Hence, the total time for Step 1 on page 1 is O(nlogn)O(n\log n). As already mentioned, Step 2 takes only constant time. We can conclude that we can find a collinear triple p1(x¯),p2(x¯),p3(x¯)p_{1}(\bar{x}),p_{2}(\bar{x}),p_{3}(\bar{x}) in O(nlogn)O(n\log n) 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.
  1. (i)

    We have β2=3/2\beta_{2}^{*}=\sqrt{3}/2. Moreover, for any multiset VV of nn voters in 2{\mathbb{R}}^{2} we can compute a point pp with β(p,V)3/2\beta(p,V)\geqslant\sqrt{3}/2 in O(nlogn)O(n\log n) time.

  2. (ii)

    For d3d\geqslant 3, we have 1/dβd3/21/\sqrt{d}\leqslant\beta_{d}^{*}\leqslant\sqrt{3}/2. Moreover, for any multiset VV of nn voters in d{\mathbb{R}}^{d} with d2d\geqslant 2, we can compute a point pp with β(p,V)1/d\beta(p,V)\geqslant 1/\sqrt{d} in O(n)O(n) time.

3 Finding a point that maximizes β(p,V)\beta(p,V)

We know from Theorem 2.9 that, for any multiset VV of nn voters in d{\mathbb{R}}^{d}, we can compute a point pp with β(p,V)1/d\beta(p,V)\geq 1/\sqrt{d} (even with β(p,V)3/2\beta(p,V)\geq\sqrt{3}/2, in the plane). However, a given voter multiset VV may admit a β\beta-plurality point for larger values of β\beta—possibly even for β=1\beta=1. In this section we study the problem of computing a point pp that maximizes β(p,V)\beta(p,V), that is, a point pp with β(p,V)=β(V)\beta(p,V)=\beta(V).

3.1 An exact algorithm

Below we sketch an exact algorithm to compute β(V)\beta(V) together with a point pp such that β(p,V)=β(V)\beta(p,V)=\beta(V). Our goal is to show that, for constant dd, 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., β=1\beta=1 can be achieved) in time O(nlogn)O(n\log n) by an algorithm of De Berg et al. [4], and if so, identify this point. Therefore, hereafter β=1\beta=1 is used as a sentinel value, and our algorithm proceeds on the assumption that β(p,V)<1\beta(p,V)<1 for any point pp.

For a voter vVv\in V, a candidate pdp\in{\mathbb{R}}^{d}, and an alternative candidate qdq\in{\mathbb{R}}^{d}, define fv(p,q)min(|qv|/|pv|,1)f_{v}(p,q)\coloneqq\min(|qv|/|pv|,1) when pvp\neq v, and define fv(p,q)1f_{v}(p,q)\coloneqq 1 otherwise. Observe that for fv(p,q)<1f_{v}(p,q)<1 we have

  • qq wins voter vv over pp if and only if β>fv(p,q)\beta>f_{v}(p,q),

  • qq and pp have a tie over voter vv if and only if β=fv(p,q)\beta=f_{v}(p,q), and

  • pp wins voter vv over qq if and only if β<fv(p,q)\beta<f_{v}(p,q).

For fv(p,q)=1f_{v}(p,q)=1 this is not quite true: when p=q=vp=q=v we always have a tie, and when |pv|<|qv||pv|<|qv| then pp wins vv even when β=fv(p,q)=1\beta=f_{v}(p,q)=1. When p=qp=q there is a tie for all voters, so the final conclusion (namely that |V[pβq]||V[pβq]|\left|V[p\succ_{\beta}q]\right|\geqslant\left|V[p\prec_{\beta}q]\right|) is still correct. The fact that we incorrectly conclude that there is a tie when |pv|<|qv||pv|<|qv| and β=fv(p,q)=1\beta=f_{v}(p,q)=1 does not present a problem either, since we assume β(p,V)<1\beta(p,V)<1. Hence, we can pretend that checking if β>fv(p,q)\beta>f_{v}(p,q), or β=fv(p,q)\beta=f_{v}(p,q), or β<fv(p,q)\beta<f_{v}(p,q) tells us whether qq wins vv, or there’s a tie, or pp wins vv, respectively.

Hereafter we identify fv:2df_{v}\colon{\mathbb{R}}^{2d}\to{\mathbb{R}} with its graph {(p,q,fv(p,q))}2d+1\{(p,q,f_{v}(p,q))\}\subset{\mathbb{R}}^{2d+1}, which is a dd-dimensional surface. Let fv+f_{v}^{+} be the set of points lying above this graph, and fvf_{v}^{-} be the set of points lying below it. Thus fv+f_{v}^{+} is precisely the set of combinations of (p,q,β)(p,q,\beta) where qq wins vv over pp, while fvf_{v} is the set where pp ties with qq, and fvf_{v}^{-} is the set where qq loses vv to pp. Consider the arrangement 𝒜𝒜(F)\mathcal{A}\coloneqq\mathcal{A}(F) defined by the set of surfaces F{fv:vV}F\coloneqq\{f_{v}:v\in V\}. Each face CC in 𝒜\mathcal{A} is a maximal connected set of points with the property that all points of CC are contained in, lie below, or lie above, the same subset of surfaces of FF. (Note that we consider faces of all dimensions, not just full-dimensional cells.) Thus for all (p,q,β)C(p,q,\beta)\in C, exactly one of the following holds: |V[pβq]|<|V[pβq]|\left|V[p\succ_{\beta}q]\right|<\left|V[p\prec_{\beta}q]\right|, or |V[pβq]|=|V[pβq]|\left|V[p\succ_{\beta}q]\right|=\left|V[p\prec_{\beta}q]\right|, or |V[pβq]|>|V[pβq]|\left|V[p\succ_{\beta}q]\right|>\left|V[p\prec_{\beta}q]\right|. Let LL be the union of all faces CC of 𝒜(F)\mathcal{A}(F) such that |V[pβq]|<|V[pβq]|\left|V[p\succ_{\beta}q]\right|<\left|V[p\prec_{\beta}q]\right|, that is, such that pp loses against qq for all (p,q,β)(p,q,\beta) in CC. We can construct 𝒜\mathcal{A} and LL in time O(n2d+1)O(n^{2d+1}) using standard machinery, as 𝒜\mathcal{A} is an arrangement of degree-4 semi-algebraic surfaces of constant description complexity [3, 2]. We are interested in the set

W{(p,β):|V[pβq]||V[pβq]|for any competitor q }d+1.W\coloneqq\{(p,\beta):\left|V[p\succ_{\beta}q]\right|\geqslant\left|V[p\prec_{\beta}q]\right|\mbox{for any competitor $q$ }\}\subset{\mathbb{R}}^{d+1}.

What is the relationship between WW and LL? A point (p,β)(p,\beta) is in WW precisely when, for every choice of qdq\in{\mathbb{R}}^{d}, pp wins at least as many voters as qq (for the given β\beta). In other words,

W={(p,β)there is no q such that (p,q,β)L}.W=\{(p,\beta)\mid\text{there is no $q$ such that $(p,q,\beta)\in L$}\}.

That is, WW is the complement of the projection of LL to the space d+1{\mathbb{R}}^{d+1} representing the pairs (p,β)(p,\beta). 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 vd(𝒜)\operatorname{vd}(\mathcal{A}) of 𝒜\mathcal{A}, which is a refinement of 𝒜\mathcal{A} into pieces (“subfaces” τ\tau), each bounded by at most 2(2d+1)2(2d+1) 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 qq last. Since vd(𝒜)\operatorname{vd}(\mathcal{A}) is a refinement of 𝒜\mathcal{A}, the set LL is the union of subfaces τ\tau of vd(𝒜)\operatorname{vd}(\mathcal{A}) fully contained in LL. Since 𝒜\mathcal{A} is an arrangement of nn well-behaved surfaces in 2d+152d+1\geqslant 5 dimensions, the complexity of vd(𝒜)\operatorname{vd}(\mathcal{A}) is O(n2(2d+1)4+ε)=O(n4d2+ε)O(n^{2(2d+1)-4+\varepsilon})=O(n^{4d-2+\varepsilon}), for any ε>0\varepsilon>0 [21]. In particular, LL comprises O(n4d2+ε)\ell\coloneqq O(n^{4d-2+\varepsilon}) subfaces.

Since each τL\tau\subset L is a subface of the vertical decomposition vd(𝒜)\operatorname{vd}(\mathcal{A}) in which the last dd coordinates correspond to qq, the projection τ\tau^{\prime} of τ\tau to d+1{\mathbb{R}}^{d+1} is easy obtain (see Appendix A) in constant time; indeed it can be obtained by discarding the constraints on these last dd coordinates from the description of τ\tau. Thus, in time O()O(\ell) we can construct the family of all the projections of the \ell subfaces of LL, each a constant-complexity semi-algebraic object in d+1{\mathbb{R}}^{d+1}. We now construct the arrangement 𝒜\mathcal{A}^{\prime} of the resulting collection and its vertical decomposition vd(𝒜)\operatorname{vd}(\mathcal{A}^{\prime}). The complexity of vd(𝒜)\operatorname{vd}(\mathcal{A}^{\prime}) is either O(d+1+ε)O(\ell^{d+1+\varepsilon}) or O(2(d+1)4+ε)=O(2d2+ε)O(\ell^{2(d+1)-4+\varepsilon})=O(\ell^{2d-2+\varepsilon}), depending on whether d+14d+1\leqslant 4 or not, respectively [21]. Each subface in vd(𝒜)\operatorname{vd}(\mathcal{A}^{\prime}) is either fully contained in the projection of LL or fully disjoint from it. Collecting all of the latter subfaces, we obtain a representation of WW as a union of at most O(O(d))=O(nO(d2))O(\ell^{O(d)})=O(n^{O(d^{2})}) constant-complexity semi-algebraic objects.

Now if (p,β)W(p,\beta)\in W is the point with the highest value of β\beta, then β(V)=β(p,V)=β\beta(V)=\beta(p,V)=\beta. It can be found by enumerating all the subfaces of vd(𝒜)\operatorname{vd}(\mathcal{A}^{\prime}) contained in the closure of WW—we take the closure because V(p,β)V(p,\beta) is defined as a supremum—and identifying their topmost point or points. Since each face has constant complexity, this can be done in O(1)O(1) time per subface.555Once again, the projection to the β\beta coordinate is particularly easy to obtain if, when constructing vd(A)\operatorname{vd}(A^{\prime}), we set the coordinate corresponding to β\beta first. This completes our description of an O(nO(d2))O(n^{O(d^{2})})-time algorithm to compute the best β\beta that can be achieved for a given set of voters VV, and the candidate pp (or the set of candidates) that achieve this value.

3.2 An approximation algorithm

Since computing β(V)\beta(V) exactly appears expensive, we now turn our attention to approximation algorithms. In particular, given a voter set VV in d{\mathbb{R}}^{d} and an ε(0,1/2]\varepsilon\in(0,1/2], we wish to compute a point p¯\mkern 1.5mu\overline{\mkern-1.5mup\mkern-1.5mu}\mkern 1.5mu such that β(p¯,V)(1ε)β(V)\beta(\mkern 1.5mu\overline{\mkern-1.5mup\mkern-1.5mu}\mkern 1.5mu,V)\geqslant(1-\varepsilon)\cdot\beta(V).

Our approximation algorithm works in two steps. In the first step, we compute a set PP of O(n/ε2d1log(1/ε))O(n/\varepsilon^{2d-1}\log(1/\varepsilon)) candidates. PP may not contain the true optimal point pp, but we will ensure that PP contains a point p¯\mkern 1.5mu\overline{\mkern-1.5mup\mkern-1.5mu}\mkern 1.5mu such that β(p¯,V)(1ε/2)β(V)\beta(\mkern 1.5mu\overline{\mkern-1.5mup\mkern-1.5mu}\mkern 1.5mu,V)\geqslant(1-\varepsilon/2)\cdot\beta(V). In the second step, we approximate β(p,V)\beta(p^{\prime},V) for each pPp^{\prime}\in P, to find an approximately best candidate.

Constructing the candidate set PP.

To construct the candidate set PP, we will generate, for each voter viVv_{i}\in V, a set PiP_{i} of O(1/ε2d1log(1/ε))O(1/\varepsilon^{2d-1}\log(1/\varepsilon)) candidate points. Our final set PP of candidates will be the union of the sets P1,,PnP_{1},\ldots,P_{n}. Next we describe how to construct PiP_{i}.

Partition d{\mathbb{R}}^{d} into a set 𝒞\mathcal{C} of O(1/εd1)O(1/\varepsilon^{d-1}) simplicial cones with apex at viv_{i} and opening angle ε/(2d)\varepsilon/(2\sqrt{d}), so that for every pair of points uu and uu^{\prime} in the same cone we have uviuε/(2d)\angle uv_{i}u^{\prime}\leqslant\varepsilon/(2\sqrt{d}). We assume for simplicity (and can easily guarantee) that no voter in VV lies on the boundary of any of the cones, except for viv_{i} itself and any voters coinciding with viv_{i}. Let 𝒞(vi)\mathcal{C}(v_{i}) denote the set of all cones in 𝒞\mathcal{C} whose interior contains at least one voter. For each cone C𝒞(vi)C\in\mathcal{C}(v_{i}) we generate a candidate set Gi(C)G_{i}(C) as explained next, and then we set PiC𝒞(vi)Gi(C){vi}P_{i}\coloneqq\bigcup_{C\in\mathcal{C}(v_{i})}G_{i}(C)\cup\{v_{i}\}.

Let dCd_{C} be the distance from viv_{i} to the nearest other voter (not coinciding with viv_{i}) in CC. Let Ai(C)A_{i}(C) be the closed spherical shell defined by the two spheres of radii εdC\varepsilon\cdot d_{C} and dC/εd_{C}/\varepsilon around viv_{i}, as shown in Fig. 8(i). The open ball of radius εdC\varepsilon\cdot d_{C} is denoted by Aiin(C)A_{i}^{\mathrm{in}}(C), and the complement of the closed ball of radius dC/εd_{C}/\varepsilon is denoted by Aiout(C)A_{i}^{\mathrm{out}}(C). Let Gi(C)G_{i}(C) be the vertices in an exponential grid defined by a collection of spheres centered at viv_{i}, and the extreme rays of the cones in 𝒞\mathcal{C}; see Fig. 8(ii). The spheres have radii (1+ε/4)iεdC(1+\varepsilon/4)^{i}\cdot\varepsilon\cdot d_{C}, for 0ilog(1+ε/4)(1/ε2)=O((1/ε)log(1/ε))0\leqslant i\leqslant\log_{(1+\varepsilon/4)}(1/\varepsilon^{2})=O((1/\varepsilon)\log(1/\varepsilon)). Observe that Gi(C)G_{i}(C) contains not only points in CC, but in the entire spherical shell Ai(C)A_{i}(C). The set Gi(C)G_{i}(C) consists of O(1/εdlog(1/ε))O(1/\varepsilon^{d}\log(1/\varepsilon)) points, and it has the following property:

Let pp be any point in the spherical shell Ai(C)A_{i}(C), and let pp^{\prime} be a corner of the grid cell containing pp and nearest to pp. Then |pp|ε|pvi||p^{\prime}p|\leqslant\varepsilon\cdot|pv_{i}|. ()(\ast)

To prove the property, let qq be the point on pvipv_{i} such that |qvi|=|pvi||qv_{i}|=|p^{\prime}v_{i}|. From the construction of the exponential grid we have |pq|ε4|pvi||pq|\leqslant\frac{\varepsilon}{4}\cdot|pv_{i}|. Since pp^{\prime} and qq lie in the same cone pviqε2d\angle p^{\prime}v_{i}q\leqslant\frac{\varepsilon}{2\sqrt{d}} and, consequently, |pq|ε2|qvi|(1+ε4)ε2|pvi||p^{\prime}q|\leqslant\frac{\varepsilon}{2}\cdot|qv_{i}|\leqslant(1+\frac{\varepsilon}{4})\cdot\frac{\varepsilon}{2}\cdot|pv_{i}|. The property is now immediate since |pp||pq|+|qp|<ε|pvi||pp^{\prime}|\leqslant|pq|+|qp^{\prime}|<\varepsilon\cdot|pv_{i}|.

Refer to caption
Fig. 8: (i) The closed spherical shell Ai(C)A_{i}(C) defined by the two balls of radii εdC\varepsilon\cdot d_{C} and dC/εd_{C}/\varepsilon around viv_{i}. (ii) The exponential grid Gi(C)G_{i}(C). The grid is defined by a collection of spheres centered at viv_{i}, plus extreme rays of the cones with apex at viv_{i}. The spheres have radii (1+ε/4)iεdC(1+\varepsilon/4)^{i}\cdot\varepsilon\cdot d_{C} for 0ilog(1+ε/4)(1/ε2)=O((1/ε)log(1/ε))0\leqslant i\leqslant\log_{(1+\varepsilon/4)}(1/\varepsilon^{2})=O((1/\varepsilon)\log(1/\varepsilon)), and the interior angle of a cone is ε/2d\varepsilon/2\sqrt{d}.

As mentioned above, PiC𝒞(vi)Gi(C){vi}P_{i}\coloneqq\bigcup_{C\in\mathcal{C}(v_{i})}G_{i}(C)\cup\{v_{i}\}, and the final candidate set PP is defined as PviVPiP\coloneqq\bigcup_{v_{i}\in V}P_{i}. Computing the sets PiP_{i} is easy: for each of the O(1/εd1)O(1/\varepsilon^{d-1}) cones C𝒞(vi)C\in\mathcal{C}(v_{i}), determine the nearest neighbor of viv_{i} in CC in O(n)O(n) time by brute force, and then generate Gi(C)G_{i}(C) in O((1/ε(d1))log(1/ε))O((1/\varepsilon^{(d-1)})\log(1/\varepsilon)) 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 PP has size O(n/ε2d1log(1/ε))O(n/\varepsilon^{2d-1}\log(1/\varepsilon)) and can be constructed in O(n2/εd1+n/ε2d1log(1/ε))O(n^{2}/\varepsilon^{d-1}+n/\varepsilon^{2d-1}\log(1/\varepsilon)) time.

The next lemma is crucial to show that PP is a good candidate set.

Lemma 3.2.

For any point pdp\in{\mathbb{R}}^{d}, there exists a point pPp^{\prime}\in P with the following property: for any voter vjVv_{j}\in V, we have that |pvj|(1+2ε)|pvj||p^{\prime}v_{j}|\leqslant(1+2\varepsilon)\cdot|pv_{j}|.

Proof 3.3.

Let viv_{i} be a voter nearest to pp. We will argue that the set PiP_{i} contains a point pp^{\prime} with the desired property. We distinguish three cases.
Case I: There is a cone C𝒞(vi)C\in\mathcal{C}(v_{i}) such that pp lies in the spherical shell Ai(C)A_{i}(C). In this case we pick pp^{\prime} to be a point of Gi(C)G_{i}(C) nearest to pp, that is, pp^{\prime} is a corner nearest to pp of the grid cell containing pp. By property ()(\ast) we have

|pvj||pp|+|pvj|ε|pvi|+|pvj|(1+ε)|pvj|,|p^{\prime}v_{j}|\leqslant|p^{\prime}p|+|pv_{j}|\leqslant\varepsilon\cdot|pv_{i}|+|pv_{j}|\leqslant(1+\varepsilon)\cdot|pv_{j}|,

where the last inequality follows from the fact that viv_{i} is a voter nearest to pp.
Case II: Point pp lies in Aiin(C)A_{i}^{\mathrm{in}}(C) for all C𝒞(vi)C\in\mathcal{C}(v_{i}). In this case we pick pvip^{\prime}\coloneqq v_{i}. Clearly |pvj|=0(1+ε)|pvj||p^{\prime}v_{j}|=0\leqslant(1+\varepsilon)\cdot|pv_{j}| for j=ij=i. For jij\neq i, we argue as follows. Let C𝒞(vi)C\in\mathcal{C}(v_{i}) be the cone containing vjv_{j}. Since we are in Case II we know that pAiin(C)p\in A_{i}^{\mathrm{in}}(C), and so

|pvj||pp|+|pvj|εdC+|pvj|ε|pvj|+|pvj|.|p^{\prime}v_{j}|\leqslant|p^{\prime}p|+|pv_{j}|\leqslant\varepsilon d_{C}+|pv_{j}|\leqslant\varepsilon|p^{\prime}v_{j}|+|pv_{j}|. (1)

Moreover, we have

|pvj||pvj||pp||pvj|εdC|pvj|/2,|pv_{j}|\geqslant|p^{\prime}v_{j}|-|pp^{\prime}|\geqslant|p^{\prime}v_{j}|-\varepsilon d_{C}\geqslant|p^{\prime}v_{j}|/2, (2)

where the last step uses that ε1/2\varepsilon\leqslant 1/2 and dC|pvj|d_{C}\leqslant|p^{\prime}v_{j}|. Combining (1) and (2), we obtain |pvj|(1+2ε)|pvj||p^{\prime}v_{j}|\leqslant(1+2\varepsilon)\cdot|pv_{j}|.
Case III: Cases I and II do not apply.

Refer to caption
Fig. 9: Illustration for Case III.

In this case there is at least one cone CC such that pAiout(C)p\in A_{i}^{\mathrm{out}}(C). Of all such cones, let CC^{*} be the one whose associated distance dCd_{C^{*}} is maximized. Let p′′p^{\prime\prime} be the point on the segment pvipv_{i} at distance dC/εd_{C}/\varepsilon from viv_{i}. Without loss of generality, we will assume that pp and viv_{i} only differ in the xdx_{d} coordinate; see Fig. 9(i).

We will prove that the point pp^{\prime} of Gi(C)G_{i}(C^{*}) nearest to p′′p^{\prime\prime} (refer to Fig. 9(i)) has the desired property. Consider a voter vjv_{j}. We distinguish three cases.

  • When i=ji=j, then we have

    |pvi||pp′′|+|p′′vi|(1+ε)|p′′vi|(1+ε)|pvi|,|p^{\prime}v_{i}|\leqslant|p^{\prime}p^{\prime\prime}|+|p^{\prime\prime}v_{i}|\leqslant(1+\varepsilon)|p^{\prime\prime}v_{i}|\leqslant(1+\varepsilon)|pv_{i}|,

    where the second inequality follows from (\ast).

  • When vjv_{j} lies in a cone CC such that pAiin(C)p\in A_{i}^{\mathrm{in}}(C), then we can use the same argument as in Case II to show that |pvj|(1+2ε)|pvj||p^{\prime}v_{j}|\leqslant(1+2\varepsilon)\cdot|pv_{j}|.

  • In the remaining case vjv_{j} lies in a cone CC such that pAiout(C)p\in A_{i}^{\mathrm{out}}(C). Let vkv_{k} be a voter in CC nearest to viv_{i}. Since |vivk|=dC|v_{i}v_{k}|=d_{C}, |pvi|dC/ε|pv_{i}|\geqslant d_{C}/\varepsilon, and |pvk||pvi||pv_{k}|\geqslant|pv_{i}|, we can deduce that pvivkπ/2ε/2\angle{pv_{i}v_{k}}\geqslant\pi/2-\varepsilon/2, as illustrated in Fig. 9(ii). Furthermore, since vkv_{k} and vjv_{j} belong to the same cone CC the angle vkvivj\angle{v_{k}v_{i}v_{j}} is bounded by ε/2dε/2\varepsilon/2\sqrt{d}\leqslant\varepsilon/2 according to the construction. Putting the two angle bounds together we conclude that pvivjπ2ε\angle{pv_{i}v_{j}}\geqslant\frac{\pi}{2}-\varepsilon. Now consider the triangle defined by p,vip,v_{i} and vjv_{j}. From the Law of Sines we obtain

    |vivj|sinvipvj=|pvj|sinpvivj, or |vivj|=|pvj|sinvipvjsinpvivj|pvj|cosε(1+ε)|pvj|,\frac{|v_{i}v_{j}|}{\sin\angle{v_{i}pv_{j}}}=\frac{|pv_{j}|}{\sin\angle{pv_{i}v_{j}}},\text{\quad or\quad}|v_{i}v_{j}|=|pv_{j}|\cdot\frac{\sin\angle{v_{i}pv_{j}}}{\sin\angle{pv_{i}v_{j}}}\leqslant\frac{|pv_{j}|}{\cos\varepsilon}\leqslant(1+\varepsilon)\cdot|pv_{j}|,

    for ε<1/2\varepsilon<1/2. Since p′′p^{\prime\prime} lies on the line between pp and viv_{i} we have:

    |p′′vj|max{|pvj|,|vivj|}(1+ε)|pvj|.|p^{\prime\prime}v_{j}|\leqslant\max\{|pv_{j}|,|v_{i}v_{j}|\}\leqslant(1+\varepsilon)\cdot|pv_{j}|.

    Finally we get the claimed bound by noting that |pp′′|ε|pvi||p^{\prime}p^{\prime\prime}|\leqslant\varepsilon\cdot|p^{\prime}v_{i}| (from (*)),

    |pvj||pp′′|+|p′′vj|ε|pvi|+(1+ε)|pvj|(1+2ε)|pvj|.|p^{\prime}v_{j}|\leqslant|p^{\prime}p^{\prime\prime}|+|p^{\prime\prime}v_{j}|\leqslant\varepsilon\cdot|p^{\prime}v_{i}|+(1+\varepsilon)\cdot|pv_{j}|\leqslant(1+2\varepsilon)\cdot|pv_{j}|.

An approximate decision algorithm.

Given a point pp, a positive real value ε\varepsilon and the voter multiset VV, we say that an algorithm Alg is an ε\varepsilon-approximate decision algorithm if

  • Alg answers yes if pp is a β\beta-plurality point, and

  • Alg answers no if pp is not a (1ε)β(1-\varepsilon)\beta-plurality point.

In the remaining cases, where (1ε)β<β(p,V)<β(1-\varepsilon)\beta<\beta(p,V)<\beta, Alg may answer yes or no.

Next we propose an ε\varepsilon-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 μ\mu represents a region in d{\mathbb{R}}^{d}, denoted by region(μ)\mathrm{region}(\mu), which is a dd-dimensional axis-aligned box or the difference of two such boxes. A BBD tree for a set PP of nn points in d{\mathbb{R}}^{d} can be built in O(nlogn)O(n\log n) time using O(n)O(n) space. It supports (1+ε)(1+\varepsilon)-approximate range counting queries with convex query ranges in O(logn+ε1d)O(\log n+\varepsilon^{1-d}) time [1]. In our algorithm all query ranges will be balls, hence a (1+ε)(1+\varepsilon)-approximate range-counting query for a dd-dimensional ball s(v,r)s(v,r) with center at vv and radius rr returns an integer II such that |Ps(v,r)|I|Ps(v,(1+ε)r)||P\cap s(v,r)|\leqslant I\leqslant|P\cap s(v,(1+\varepsilon)r)|.

Our ε\varepsilon-approximate decision algorithm Alg works as follows.

  1. 1.

    Construct a set QQ of O(n/εd1)O(n/\varepsilon^{d-1}) potential candidates competing against pp, as follows. Let Q(v)Q(v) be a set of O(1/εd1)O(1/\varepsilon^{d-1}) points distributed uniformly on the boundary of the ball s(v,(1ε/2)β|pv|)s(v,(1-\varepsilon/2)\cdot\beta\cdot|pv|), such that the distance between any point on the boundary and its nearest neighbor in Q(v)Q(v) is at most ε4d|pv|ε4β|pv|\frac{\varepsilon}{4\sqrt{d}}\cdot|pv|\leqslant\frac{\varepsilon}{4}\cdot\beta\cdot|pv|. In the last step we use the fact that β1/d\beta\geqslant 1/\sqrt{d}, according to Lemma 2.3. Set QQ(v1)Q(vn)Q\coloneqq Q(v_{1})\cup\cdots\cup Q(v_{n}).

  2. 2.

    Build a BBD tree 𝒯\mathcal{T} on QQ. Add a counter c(μ)c(\mu) to each node μ\mu in 𝒯\mathcal{T}, initialized to zero.

  3. 3.

    For each voter vVv\in V perform a (1+ε/4)(1+\varepsilon/4)-approximate range-counting query with s(v,(1ε/4)β|pv|)s(v,(1-\varepsilon/4)\cdot\beta\cdot|pv|) in 𝒯\mathcal{T}. We modify the search in 𝒯\mathcal{T} slightly as follows. If an internal node μT\mu\in T is visited and expanded during the search, then for every non-expanded child μ\mu^{\prime} of μ\mu with region(μ)\mathrm{region}(\mu^{\prime}) entirely contained in s(v,(1+ε/4)(1ε/4)β|pv|))s(v,β|pv|)s(v,(1+\varepsilon/4)(1-\varepsilon/4)\cdot\beta\cdot|pv|))\subset s(v,\beta\cdot|pv|) we increment the counter c(μ)c(\mu^{\prime}). Similarly, if a leaf is visited then the counter is incremented if the point stored in the leaf lies within s(v,(1ε/4)β|pv|)s(v,(1-\varepsilon/4)\cdot\beta\cdot|pv|).

  4. 4.

    For a leaf μ\mu in 𝒯\mathcal{T}, let M(μ)M(\mu) be the set of nodes in 𝒯\mathcal{T} on the path from the root to μ\mu, and let C(μ)=μM(μ)c(μ)C(\mu)=\sum_{\mu^{\prime}\in M(\mu)}c(\mu^{\prime}). Compute C(μ)C(\mu) for all leaves μ\mu in 𝒯\mathcal{T} by a pre-order traversal of 𝒯\mathcal{T}, and set CmaxμC(μ)C\coloneqq\max_{\mu}C(\mu).

  5. 5.

    If Cn/2C\leqslant n/2, then return yes, otherwise no.

To prove correctness of the algorithm we define, for a given γ>0\gamma>0, a fuzzy ball sγ(v,r)s_{\gamma}(v,r) to be any set such that s(v,r)sγ(v,r)s(v,(1+γ)r)s(v,r)\subseteq s_{\gamma}(v,r)\subseteq s(v,(1+\gamma)r). Thus if qs(v,r)q\in s(v,r) then qsγ(v,r)q\in s_{\gamma}(v,r), if qs(v,(1+γ)r)q\not\in s(v,(1+\gamma)r) then qsγ(v,r)q\not\in s_{\gamma}(v,r), and otherwise qq may or may not be inside in sγ(v,r)s_{\gamma}(v,r). We now observe that for each voter viVv_{i}\in V there is a fuzzy ball sε/4(v1,(1ε/4)β|pvi|)s_{\varepsilon/4}(v_{1},(1-\varepsilon/4)\cdot\beta\cdot|pv_{i}|) such that the value C(μ)C(\mu) for a leaf μ\mu storing a point qq is the depth of qq in the arrangement, denoted by 𝒜ε/4(V,1ε/4)\mathcal{A}_{\varepsilon/4}(V,1-\varepsilon/4), of the fuzzy balls sε/4(v1,(1ε/4)β|pv1|),,sε/4(vn,(1ε/4)β|pv|)s_{\varepsilon/4}(v_{1},(1-\varepsilon/4)\cdot\beta\cdot|pv_{1}|),\ldots,s_{\varepsilon/4}(v_{n},(1-\varepsilon/4)\cdot\beta\cdot|pv|).

Lemma 3.4.

Algorithm Alg ε\varepsilon-approximately decides if pp is a β\beta-plurality point in time O(nεd1lognεd1)O(\frac{n}{\varepsilon^{d-1}}\log\frac{n}{\varepsilon^{d-1}}).

Proof 3.5.

We start by analyzing the running time of the algorithm. Constructing the set of points in QQ can be done in time linear in |Q||Q|, while building the BBD-tree 𝒯\mathcal{T} requires O((n/εd1)log(n/εd1))O((n/\varepsilon^{d-1})\log(n/\varepsilon^{d-1})) time [1, Lemma 1]. Next, the algorithm performs nn approximate range queries, each requiring O(lognεd1+1εd1)O(\log\frac{n}{\varepsilon^{d-1}}+\frac{1}{\varepsilon^{d-1}}) 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 𝒯\mathcal{T} to compute CC takes time linear in the size of 𝒯\mathcal{T}, which is O(n/εd1)O(n/\varepsilon^{d-1}).

Refer to caption
Fig. 10: Illustrating the three balls of different radius used in the correctness proof of Lemma 3.4.

It remains to prove that Alg is correct.

  • If pp is a plurality point there can be no point qdq\in{\mathbb{R}}^{d} having depth greater than n/2n/2 in the arrangement of the balls s(v1,β|pv|),,s(vn,β|pv|)s(v_{1},\beta\cdot|pv|),\ldots,s(v_{n},\beta\cdot|pv|). Since sε/4(v,(1ε/4)β|pv|)s(v,β|pv|)s_{\varepsilon/4}(v,(1-\varepsilon/4)\cdot\beta\cdot|pv|)\subset s(v,\beta\cdot|pv|), for all vv, Alg could not have found a point with depth greater than n/2n/2, and hence, must return yes.

  • If pp is not a (1ε)β(1-\varepsilon)\beta-plurality point, then there exists a point qq with depth greater than n/2n/2 in the arrangement 𝒜(V,1ε)\mathcal{A}(V,1-\varepsilon) of the balls s(v1,(1ε)β|pv|),,s(vn,(1ε)β|pv|)s(v_{1},(1-\varepsilon)\cdot\beta\cdot|pv|),\ldots,s(v_{n},(1-\varepsilon)\cdot\beta\cdot|pv|). Let qq^{\prime} be the point in QQ nearest to qq. We claim that for any ball s(v,(1ε)β|pv|)s(v,(1-\varepsilon)\cdot\beta\cdot|pv|) that contains qq, its expanded version s(v,(1ε/4)β|pv|)s(v,(1-\varepsilon/4)\cdot\beta\cdot|pv|) contains qq^{\prime}. Of course, if s(v,(1ε)β|pv|)s(v,(1-\varepsilon)\cdot\beta\cdot|pv|) contains qq^{\prime} then we are done. Otherwise, let xx be the point where qqqq^{\prime} intersects the boundary of s(v,(1ε)β|pv|)s(v,(1-\varepsilon)\cdot\beta\cdot|pv|); see Fig. 10. Note that qq^{\prime} must also be the point in QQ nearest to xx.

    Let xx^{\prime} be the point on the boundary of s(v,(1ε/2)β|pv|)s(v,(1-\varepsilon/2)\cdot\beta\cdot|pv|) nearest to xx, and let q′′q^{\prime\prime} be a point in QQ on the boundary of s(v,(1ε/2)β|pv|)s(v,(1-\varepsilon/2)\cdot\beta\cdot|pv|). By construction, we have

    |xx|=ε4β|pv|and|xq′′|ε4β|pv||xx^{\prime}|=\frac{\varepsilon}{4}\cdot\beta\cdot|pv|\quad\textrm{and}\quad|x^{\prime}q^{\prime\prime}|\leqslant\frac{\varepsilon}{4}\cdot\beta\cdot|pv|

    and, by the triangle inequality, we obtain

    |xq||xq′′||xx|+|xq′′|ε2β|pv|.|xq^{\prime}|\leqslant|xq^{\prime\prime}|\leqslant|xx^{\prime}|+|x^{\prime}q^{\prime\prime}|\leqslant\frac{\varepsilon}{2}\cdot\beta\cdot|pv|.

    This implies that s(v,(1ε/4)β|pv|)sε/4(v,(1ε/4)β|pv|)s(v,(1-\varepsilon/4)\cdot\beta\cdot|pv|)\subseteq s_{\varepsilon/4}(v,(1-\varepsilon/4)\cdot\beta\cdot|pv|) must contain qq^{\prime}. Consequently, if qq has depth at least n/2n/2 in 𝒜(V,1ε)\mathcal{A}(V,1-\varepsilon) then qq^{\prime} has depth at least n/2n/2 in the arrangement 𝒜ε/4(V,(1ε/4))\mathcal{A}_{\varepsilon/4}(V,(1-\varepsilon/4)), and hence, the algorithm will return no.

The algorithm.

Now we have the tools required to approximate β(V)\beta(V). First, generate the set PP of O(nε2d1log1ε)O(\frac{n}{\varepsilon^{2d-1}}\log\frac{1}{\varepsilon}) candidate points. For each candidate point pPp\in P, perform a binary search for an approximate β(p)\beta^{*}(p) in the interval [1/d,1][1/\sqrt{d},1], until the remaining search interval has length at most ε/21/d\varepsilon/2\cdot 1/\sqrt{d}. For each pp and β\beta^{*}, (ε/2)(\varepsilon/2)-approximately decide if pp is a β\beta^{*}-plurality point in VV. Return the largest β\beta^{*} and the corresponding point pp on which the algorithm says yes.

Theorem 3.6.

Given a multiset VV of voters in d{\mathbb{R}}^{d}, a ((1ε)β(V))((1-\varepsilon)\cdot\beta(V))-plurality point can be computed in O(n2ε3d2lognεd1log21ε)O(\frac{n^{2}}{\varepsilon^{3d-2}}\cdot\log\frac{n}{\varepsilon^{d-1}}\cdot\log^{2}\frac{1}{\varepsilon}).

4 Concluding Remarks

We proved that any finite set of voters in d{\mathbb{R}}^{d} admits a β\beta-plurality point for β=1/d\beta=1/\sqrt{d} and that some sets require β=3/2\beta=\sqrt{3}/2. For d=2d=2 we managed to close the gap by showing that β2=3/2\beta^{*}_{2}=\sqrt{3}/2. One of the main open problems is to close the gap for d>2d>2. Recall that recently the bounds for d4d\geqslant 4 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 VV, a (1ε)β(V)(1-\varepsilon)\cdot\beta(V)-plurality point. The algorithm runs in O(n2/ε3d2)O^{*}(n^{2}/\varepsilon^{3d-2}) time. Another open problem is whether a subquadratic approximation algorithm exists, and to prove lower bounds on the time to compute β(V)\beta(V) or β(p,V)\beta(p,V) exactly. Finally, it will be interesting to study β\beta-plurality points in other metrics, for instance in the personalized L1L_{1}-metric [4] for d>2d>2 or in the L1L_{1}-metric for d2d\geqslant 2.

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 kk-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 β\beta. 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 ±\pm\infty, as appropriate. For example, when we talk about an open interval (a,b)(a,b), i.e., the set of numbers xx with a<x<ba<x<b, we include the possibilities of the unbounded intervals (,b)(-\infty,b), (a,+)(a,+\infty), and (,+)(-\infty,+\infty).

A one-dimensional cylindrical cell is either a singleton or an open interval (a,b)(a,b). So a one-dimensional vertical decomposition is a decomposition of {\mathbb{R}} into a finite number of singletons and intervals.

We now define a cylindrical cell τ\tau in 2{\mathbb{R}}^{2}. Its projection τ\tau^{\prime} to the x1x_{1}-axis is a cylindrical cell in {\mathbb{R}}. The cell τ\tau must have one of the following two forms:

  • {(x1,f2(x1))x1τ}\{(x_{1},f_{2}(x_{1}))\mid x_{1}\in\tau^{\prime}\}, where f2:τf_{2}:\tau^{\prime}\to{\mathbb{R}} is a continuous total function, or

  • {(x1,x2)x1τ,f2(x1)<x2<g2(x1)}\{(x_{1},x_{2})\mid x_{1}\in\tau^{\prime},f_{2}(x_{1})<x_{2}<g_{2}(x_{1})\}, where f2,g2:τf_{2},g_{2}:\tau^{\prime}\to{\mathbb{R}} are two continuous total functions, with the property that f2(x1)<g2(x1)f_{2}(x_{1})<g_{2}(x_{1}) for all x1τx_{1}\in\tau^{\prime}.

If τ\tau^{\prime} is a singleton, the former defines a vertex and the latter an (open) vertical segment. If τ\tau^{\prime} is an interval, the former defines an open monotone arc (a portion of the graph of the function f2f_{2}) 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, 2{\mathbb{R}}^{2} 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 τd\tau\subset{\mathbb{R}}^{d} is defined recursively. Its projection τ\tau^{\prime} is a cylindrical cell in d1{\mathbb{R}}^{d-1}. Moreover, τ\tau must have one of the following forms:

  • {(x,fd(x1,,xd1))xτ}\{(x^{\prime},f_{d}(x_{1},\dots,x_{d-1}))\mid x^{\prime}\in\tau^{\prime}\}, where fd:τf_{d}:\tau^{\prime}\to{\mathbb{R}} is a continuous total function, or

  • {(x,xd)xτ,fd(x)<xd<gd(x)}\{(x^{\prime},x_{d})\mid x^{\prime}\in\tau^{\prime},f_{d}(x^{\prime})<x_{d}<g_{d}(x^{\prime})\}, where fd,gd:τf_{d},g_{d}:\tau^{\prime}\to{\mathbb{R}} are two continuous total functions, with the property that fd(x)<gd(x)f_{d}(x^{\prime})<g_{d}(x^{\prime}) for all xτx^{\prime}\in\tau^{\prime}.

A cylindrical cell is fully specified by giving its dimension and the sequence of functions fif_{i} or pairs of functions fi,gif_{i},g_{i}, as appropriate. In particular, the projection of the cell in a kk-dimensional decomposition to its first k<kk^{\prime}<k coordinates can be obtained by retaining the inequalities in the first kk^{\prime} coordinates and discarding the remaining ones.