Abstract
We characterize onedimensional Euclidean preference profiles with a small number of alternatives and voters. We show that every singlepeaked preference profile with two voters is onedimensional Euclidean, and that every preference profile with up to five alternatives is onedimensional Euclidean if and only if it is both singlepeaked and singlecrossing. By the work of Chen et al. (Social Choice and Welfare 48(2):409–432, 2017), we thus obtain that the smallest singlepeaked and singlecrossing preference profiles that are not onedimensional Euclidean consist of three voters and six alternatives.
Introduction
The onedimensional Euclidean preference domain (also known as the unidimensional unfolding domain) is a spatial model of structured preferences which originates from economics (Hotelling 1929; Downs 1957), political sciences (Stokes 1963; Brams et al. 2002; Bogomolnaia and Laslier 2007), and psychology (Coombs 1964; Borg et al. 2018). In this domain, the alternatives and the voters are points in a onedimensional Euclidean space, i.e., on the real line, such that the preference of each voter towards an alternative decreases as the Euclidean distance between them increases.
Onedimensional Euclidean preferences are necessarily singlepeaked (Black 1948) and singlecrossing (Roberts 1977) as proven by Coombs (1964), Doignon and Falmagne (1994), and Chen et al. (2017). The reverse, however, does not hold. In his work, Coombs (1964) provided a sample preference profile with 16 voters and 6 alternatives that is singlepeaked and singlecrossing, but not onedimensional Euclidean. This counterexample seems quite large for real world scenarios. For instance, in rank aggregation or winner determination elections, one often either has few alternatives to begin with, or may consolidate by first making a shortlist of only a few alternatives out of many, which will be considered for the final decision. There are also settings where only a few voters are involved, as for instance in a hiring committee or when planning holidays for a family. Hence, a natural question arising in the context of onedimensional Euclidean preferences is whether for profiles with less than 16 voters or less than 6 alternatives, being singlepeaked and singlecrossing is sufficient for being onedimensional Euclidean. In other words, we are interested in the following question:
What are the tight upper bounds on the number of alternatives or voters such that profiles within these bounds are onedimensional Euclidean as long as they are singlepeaked and singlecrossing?
We note that all three restricted preference domains (singlepeakedness, singlecrossingness, and onedimensional Euclideanness) can be detected in polynomial time (Doignon and Falmagne 1994). While both, singlepeakedness and singlecrossingness, admit direct polynomialtime detection algorithms (Doignon and Falmagne 1994; Escoffier et al. 2008; Elkind et al. 2012; Bredereck et al. 2013), detecting onedimensional Euclideanness is done via a nontrivial but polynomialtime reduction to linear programming (Doignon and Falmagne 1994; Knoblauch 2010; Elkind and Faliszewski 2014). Moreover, while both, singlepeakedness and singlecrossingness, can be characterized by a small finite set of forbidden subprofiles (Ballester and Haeringer 2011; Bredereck et al. 2013), onedimensional Euclideanness does not have this finite characterization since Chen et al. (2017) showed that there are infinitely many singlepeaked and singlecrossing preference profiles which are minimally not onedimensional Euclidean, i.e., excluding any single voter from each of these profiles makes it onedimensional Euclidean.
We refer to the work of Bredereck et al. (2016) and Elkind et al. (2017) and the literature cited there for further discussion of the singlepeaked, the singlecrossing, and the onedimensional Euclidean preference domains.
Our contribution. Recently, Chen et al. (2017) provided a singlepeaked and singlecrossing profile with three voters and six alternatives which is not onedimensional Euclidean. In this paper, we show that their counterexample is indeed minimal in terms of the number of voters and the number of alternatives.
In terms of the number of voters, we show that any two singlepeaked preference orders are always onedimensional Euclidean. One way to achieve this would have been to analyze the linear inequalities induced by the linear programs (LP) for detecting onedimensional Euclideanness (Doignon and Falmagne 1994; Knoblauch 2010; Elkind and Faliszewski 2014). We chose, however, to provide a direct algorithm that, given a singlepeaked preference profile with two voters, constructs a concrete onedimensional Euclidean embedding (see Algorithm 1). The reason for this choice is threefold.

First, from a socialchoice and mathematical point of view, through our approach we not only know that all twovoter singlepeaked preference profiles are onedimensional Euclidean but also know that there are onedimensional Euclidean embeddings of all such profiles which display a certain uniform structure. Note that if we had chosen to analyze the corresponding linear program and tried to show that it is always feasible, we may not be able to have a visual understanding of what the embeddings look like unless we had used an LP solver to solve the induced linear inequalities. Moreover, the embeddings provided by an LP solver may have looked completely different between different profiles.

Second, from an algorithmic point of view, our approach is constructive and does not need any external LP solver. The algorithm is so simple that we can provide a publicly available software for individual checking.

Third, from a complexity point of view, our algorithm is faster than the LPsolver approach. For m alternatives, our algorithm runs in \(O(m\cdot \mathsf {runtime}\text {}\mathsf {mult}(m))\) time, where \(\mathsf {runtime}\text {}\mathsf {mult}(m)\) denotes the running time of the multiplication of two integer numbers of O(m) bits each, while the LPsolver approach would need to check the feasibility of the underlying LP formulation in time \(O(\log ^3(m)\cdot \mathsf {runtime}\text {}\mathsf {matrix}(m))\) (van den Brand 2020), where \(\mathsf {runtime}\text {}\mathsf {matrix}(m)\) denotes the running time of multiplying an \(m\times m\) dimensional matrix. The multiplication of two integers of O(m) bits can be done in time \(\mathsf {runtime}\text {}\mathsf {mult}(m)=O(m\cdot \log (m)\cdot \log (\log (m)))\) (Schönhage and Strassen 1971) while the fastest known algorithm for \(m\times m\)dimensional matrix multiplication runs in time \(\mathsf {runtime}\text {}\mathsf {matrix}(m) =O(m^{2.38})\) (Gall 2014).
As for the number of alternatives, we use the constraint solver CPLEX^{Footnote 1} to show that all singlepeaked and singlecrossing preferences with up to five alternatives are onedimensional Euclidean (see Theorem 3). The proof for the second result is computeraided and can be verified online (see Sect. 4). We note that we did not use the approach given by Doignon and Falmagne (1994), Knoblauch (2010), and Elkind and Faliszewski (2014) to first calculate a linear order of the alternatives and the voters that is consistent to a onedimensional Euclidean embedding. Instead, our CPLEX program is simply a direct translation of the onedimensional Euclidean constraints on the variables representing the alternatives and the voters (see Definition 3). The reason for this is that the CPLEX solver offers a function of returning the absolute value of the difference of any two variables, so a linear order of the alternatives and the voters is not necessary to formulate the onedimensional Euclidean constraints in CPLEX. The verification that every computed embedding is indeed onedimensional Euclidean is done in a straightforward way, namely by going through each voter’ preference order and comparing the distances between the voter’s and alternatives’ embedded positions.
Identifying the smallest singlepeaked and singlecrossing preference profile that is not onedimensional Euclidean not only helps to better understand what precludes a preference profile from being onedimensional Euclidean, but can also be seen as a necessary step on the way towards a compact characterization via forbidden, albeit not finitely many, subprofiles. We remark that compact characterization via infinitely many forbidden substructures has been done for mathematical concepts such as interval graphs (Lekkerkerker and Boland 1962) and the consecutive ones property in binary matrices (Tucker 1972).
Paper outline. In Sect. 2, we introduce necessary definitions, including singlepeaked and singlecrossing preferences, and onedimensional Euclidean preferences. We also discuss some fundamental observations regarding these domain restrictions. In Sect. 3, we formulate our first main result in Theorems 1 and 2. We prove this result by providing a simple and direct algorithm (see Algorithm 1) that constructs a onedimensional Euclidean embedding for any two preference orders which are singlepeaked. We also provide an example to illustrate Algorithm 1 (see Example 3). In Sect. 4, we provide our second main result by describing the computer program that finds all possible preference profiles with up to five alternatives that are both singlepeaked and singlecrossing, and uses the CPLEX solver publicly available for researchers to provide a onedimensional Euclidean embedding for each of these profiles (see Theorem 3). Both the source and the embeddings for all produced profiles (including the verification) are available online from https://owncloud.tuwien.ac.at/index.php/s/nysw13YkUajJpOn and https://owncloud.tuwien.ac.at/index.php/s/Pk8TZxva48LJt35, respectively. For the sake of readability, the proofs of lemmas marked with an asterisk (\(*\)) have been moved to the appendix.
Definitions and notations
Let \({{\mathcal {A}}}:=\{1,\ldots ,m\}\) be a set of alternatives. A preference order \(\succ \) of \({{\mathcal {A}}}\) is a linear order of \({{\mathcal {A}}}\); a linear order is a binary relation which is total, irreflexive, asymmetric, and transitive. For two distinct alternatives a and b, the relation \(a\succ b\) means that a is strictly preferred to (or in other words, ranked higher than) b in \(\succ \). An alternative c is the mostpreferred alternative in \(\succ \) if for each alternative \(b\in {{\mathcal {A}}}\setminus \{c\}\) it holds that \(c \succ b\).
Let \(\succ \) be a preference order over \({{\mathcal {A}}}\). We use \(\succeq \) to denote the binary relation which includes \(\succ \) and preserves the reflexivity, i.e., \(\succeq \, := \succ \cup \{(a,a)\mid a\in {{\mathcal {A}}}\}\). For a subset B of alternatives and an alternative c not in B, we use \(B\succ c\) to refer that each \(b\in B\) is preferred to c in \(\succ \).
A preference profile \({{\mathcal {P}}}\) specifies the preference orders of some voters over some alternatives. Formally, \({{\mathcal {P}}} := ({{\mathcal {A}}}, {{\mathcal {V}}}, {{\mathcal {R}}}:=(\succ _1, \ldots , \succ _n))\), where \({{\mathcal {A}}}\) denotes the set of m alternatives, \({{\mathcal {V}}}\) denotes the set of n voters, and \({{\mathcal {R}}}\) is a collection of n preference orders such that each voter \(v_i\in {{\mathcal {V}}}\) ranks the alternatives according to the preference order \(\succ _i\) on \({{\mathcal {A}}}\). We also assume that no two voters in a preference profile have the same preference order.
Singlepeaked preferences
The singlepeaked property was introduced by Black (1958) and has since been studied extensively.
Definition 1
(singlepeakedness) A preference order \(\succ \) on a set \({{\mathcal {A}}}\) of alternatives is singlepeaked with respect to a linear order \(\rhd \) of \({{\mathcal {A}}}\) if for each two distinct alternatives \(b,c \in {{\mathcal {A}}}\setminus \{a^*\}\) it holds that
where \(a^*\) is the mostpreferred alternative in \(\succ \).
A preference profile \({{\mathcal {P}}}=({{\mathcal {A}}},{{\mathcal {V}}},{{\mathcal {R}}})\) is singlepeaked if there is a linear order \(\rhd \) of the alternatives \({{\mathcal {A}}}\) such that the preference order of each voter from \({{\mathcal {V}}}\) is singlepeaked with respect to \(\rhd \).
Slightly abusing the terminology, we say that two preference orders are singlepeaked if there is a linear order with respect to which each of these two preference orders is singlepeaked.
The singlepeaked property can be characterized by two forbidden subprofiles, worstdiverse configurations and \(\alpha \)configurations (Ballester and Haeringer 2011). The former is defined on three preference orders while the latter is defined on two preference orders. For two arbitrary preference orders, this means that no \(\alpha \)configurations are present, implying the following.
Proposition 1
(Ballester and Haeringer 2011) Two preference orders, denoted as \(\succ _1\) and \(\succ _2\), over the set \({{\mathcal {A}}}\) of alternatives are singlepeaked if and only if for all four distinct alternatives \(u,v,w,z\in {{\mathcal {A}}}\) such that \(u\succ _1 v \succ _1 w\) and \(w\succ _2 v \succ _2 u\) it holds that \(v \succ _1 z\) or \(v \succ _2 z\).
Singlecrossing preferences
The concept of singlecrossing profiles dates back to the seventies, when Mirrlees (1971) and Roberts (1977) observed that voters voting on income taxation may form a linear order such that between each two tax rates, the voters that have the same opinion on the relative positions of both rates are either on the top or at the bottom of the linear order.
Definition 2
(singlecrossingness) Given a preference profile \({{\mathcal {P}}}=({{\mathcal {A}}},{{\mathcal {V}}},{{\mathcal {R}}})\), a linear order \(\rhd \) of the voters \({{\mathcal {V}}}\) is singlecrossing with respect to a pair \(\{a,b\}\subseteq {{\mathcal {A}}}\) of alternatives if the set \(\{v_i \in {{\mathcal {V}}}\mid a \succ _i b\}\) is an interval in \(\rhd \). It is a singlecrossing order for \({{\mathcal {P}}}\) if it is singlecrossing with respect to every pair of alternatives.
Preference profile \({{\mathcal {P}}}\) is singlecrossing if it admits a singlecrossing order of the voters.
The singlecrossing property can be characterized by two forbidden subprofiles, \(\gamma \)configurations and \(\delta \)configurations (Bredereck et al. 2013).
Onedimensional Euclidean preferences
Definition 3
(onedimensional Euclideanness) Let \({{\mathcal {P}}}:=({{\mathcal {A}}}, {{\mathcal {V}}}:=\{v_1, \ldots , v_n\}, {{\mathcal {R}}}:=(\succ _1, \ldots , \succ _n))\) be a preference profile. Let \(E:{{\mathcal {A}}}\cup V \rightarrow {\mathbb {R}}\) be an embedding of the alternatives and the voters into the real line where each two distinct alternatives \(a, b\in {{\mathcal {A}}}\) have different values, that is, \(E(a)\ne E(b)\). A voter \(v_i \in V\) is onedimensional Euclidean with respect to E if for each two distinct alternatives \(a, b \in {{\mathcal {A}}}\) voter \(v_i\) strictly prefers the one closer to him, that is,
An embedding E of the alternatives and voters is a onedimensional Euclidean embedding of profile \({{\mathcal {P}}}\) if each voter in V is onedimensional Euclidean with respect to E.
A preference profile is onedimensional Euclidean if it admits a onedimensional Euclidean embedding.
Example 1 illustrates the concepts of singlepeaked, singlecrossing, and onedimensional Euclidean preferences.
Example 1
Consider the following preference profile with five alternatives \(\{1,2,3,4,5\}\) and six voters \(v_1,v_2,\ldots ,v_6\).
It admits exactly two singlepeaked orders, namely \(5 \rhd 4 \rhd 2 \rhd 1 \rhd 3\) and the reverse of \(\rhd \). The singlecrossing order of the profile is v_{6} ▸ v_{5} ▸ v_{4} ▸ v_{3} ▸ v_{1} ▸ v_{2} and the reverse of ▸. Note that, in contrast to the singlepeaked order, the singlecrossing order is unique up to reversal.
The profile is also onedimensional Euclidean, as shown by the following onedimensional Euclidean embedding.
The following observation regarding the relation between singlepeaked and singlecrossing profiles and the onedimensional Euclidean representation is also known from the literature (Coombs 1964; Doignon and Falmagne 1994; Chen et al. 2017).
Observation 1
If a profile is onedimensional Euclidean, then it is also singlepeaked and singlecrossing.
Proof
It is straightforward to see that if there is a onedimensional Euclidean representation E of a given profile, then this profile is singlepeaked with respect to the order induced by ordering the alternatives increasingly (or decreasingly) according to their values in E. Moreover, it is singlecrossing with respect to the order induced by ordering the voters increasingly (or decreasingly) according to their values in E. \(\square \)
Singlepeaked preference profiles with two voters
In this section, we formulate and prove our first main result.
Theorem 1
A profile \(\mathcal {P}\) with two voters is onedimensional Euclidean if and only if it is singlepeaked.
Proof
The “only if” part follows from Observation 1. The “if” part follows from Theorem 2. \(\square \)
To complete the proof of Theorem 1, we show the following.
Theorem 2
Given a singlepeaked preference profile with two voters and m alternatives as input, Algorithm 1 returns a onedimensional Euclidean embedding of the profile in \(O(m\cdot \mathsf {runtime}\text {}\mathsf {mult}(m))\) time, where \(\mathsf {runtime}\text {}\mathsf {mult}(m)\) denotes the running time of the multiplication of two integers of O(m) bits each.^{Footnote 2}
In the following, in Sect. 3.1, we first present Algorithm 1 and observe some of its technical properties, and in Sect. 3.3 we prove Theorem 2.
Algorithm 1 and some technical results
Our algorithm for Theorem 2 (see 1DEuclidEmbed(\(\succ _1,\succ _2\)) in Algorithm 1) is an “insideout” approach and comprises two stages, an initialization stage (lines 2–9) and an iteration stage (lines 10–13).
In the initialization stage, we embed all inner alternatives (see Definition 4) that are ranked by both voters \(v_1\) and \(v_2\) between their respective mostpreferred alternatives, denoted as \(a_1\) and \(b_1\) throughout the whole section; note that \(a_1\) can be equal to \(b_1\). After that we embed voter \(v_1\) to the right of, and voter \(v_2\) to the left of, the inner alternatives which we have just embedded.
In the iteration stage, we iterate over the remaining alternatives, in order of the preferences of each voter, and try to embed them to the right part of voter \(v_1\) or to the left part of voter \(v_2\). More specifically, we repeatedly call Refine() to find a range of alternatives and embed them either to the right of the rightmost alternative or to the left of the leftmost alternative in the embedding. The alternatives are those which are preferred (either by voter \(v_1\) or voter \(v_2\)) to some already embedded alternatives. If no such alternatives exist, we call Fallback() to find a next alternative less preferred by voter \(v_1\) and embed it to the right of the rightmost alternative. See Fig. 1 for an illustration. The singlepeaked property, according to Proposition 1, guarantees that the newly embedded alternatives (through either Refine or Fallback) do not alter the onedimensional Euclidean property.
Initialization (lines 2–9 of Algorithm 1)
To describe the initialization stage in more detail, we introduce the notion of inner alternatives.
Definition 4
(Inner alternatives) Let \(\succ _1\) and \(\succ _2\) be two preference orders, and let \(a_1\) and \(b_1\) be the mostpreferred alternatives of \(\succ _1\) and \(\succ _2\), respectively. The set of inner alternatives of \(\succ _1\) and \(\succ _2\), denoted as \(\mathsf {inner}(\succ _1, \succ _2)\), is the set of all alternatives that are ranked between \(a_1\) and \(b_1\) by both \(\succ _1\) and \(\succ _2:\)
Example 2
Consider two preference orders \(\succ _1\) and \(\succ _2\) with \(1\succ _1 2 \succ _1 3 \succ _1 4\) and \(3 \succ _2 4 \succ _2 2 \succ _2 1\). The set of inner alternatives of \(\succ _1\) and \(\succ _2\) is \(\mathsf {inner}(\succ _1, \succ _2)=\{1,2,3\}.\)\(\square \)
We observe the following properties concerning the inner alternatives of two singlepeaked preference orders.
Lemma 1
Consider two preference orders \(\succ _1\) and \(\succ _2\).

(1)
For each \(r\in \{1,2\}\), the mostpreferred alternative of \(\succ _r\) belongs to \(\mathsf {inner}(\succ _1,\succ _2)\).

(2)
If \(\succ _1\) and \(\succ _2\) are singlepeaked, then for each two distinct inner alternatives \(x, y\in \mathsf {inner}(\succ _1,\succ _2)\) it holds that \(x\succ _1 y\) if and only if \(y \succ _2 x\).
Proof
The first statement follows from the definition of \(\mathsf {inner}(\succ _1,\succ _2)\).
It remains to show Statement (2). If \(a_1=b_1\), then by the definition of \(\mathsf {inner}\) it holds that \(\mathsf {inner}(\succ _1,\succ _2)=\{a_1\}=\{b_1\}\), and the second statement holds immediately since \(\mathsf {inner}(\succ _1,\succ _2)\) has only one alternative. Thus, let us assume that \(a_1 \ne b_1\) so that \(\mathsf {inner}(\succ _1,\succ _2)\ge 2\). Let \(\succ _1\) and \(\succ _2\) be singlepeaked. Suppose, for the sake of contradiction, that there are two distinct alternatives \(x,y\in \mathsf {inner}(\succ _1,\succ _2)\) with \(x\succ _1 y\) and \(x \succ _2 y\)—the case with \(y \succ _1 x\) and \(y \succ _2 x\) works analogously. Since \(a_1\succ _1 b_1\) and \(b_1 \succ _2 a_1\), it follows that \(x,y \notin \{a_1,b_1\}\). By the definition of \(a_1\) and \(b_1\) and since \(x,y\in \mathsf {inner}(\succ _1,\succ _2)\), this implies that \(a_1 \succ _1 x \succ _1 y \succ _1 b_1\) and \(b_1 \succ _2 x \succ _2 y \succ _2 a_1\)—a contradiction to Proposition 1. \(\square \)
Now, we are ready to describe the initialization stage of Algorithm 1, where we first embed all inner alternatives (lines 2–7). By Proposition 1, voters \(v_1\) and \(v_2\) have exactly the opposite preferences with respect to these inner alternatives. Hence, by the singlepeaked property, the order of the inner alternatives induced by any onedimensional Euclidean embedding is fixed (up to reverse). In other words, the induced order corresponds to the preferences of either voter \(v_1\) or voter \(v_2\). Without loss of generality, we choose the induced order to correspond to the preferences of voter \(v_2\). More precisely, if the preference order of \(v_2\) restricted to the inner alternatives is \(c_1\succ c_2\succ \cdots \succ c_x\), where \(x=\mathsf {inner}(\succ _1,\succ _2)\), then we let each two consecutive alternatives in \(\succ \) have unit distance. Then, in lines 8–9 we embed voter \(v_2\) to the left of \(c_1\) and \(v_1\) to the right of \(c_x\), again at unit distance.
Summarizing, we observe the following about the initialization stage.
Proposition 2
Let E be the embedding constructed by the end of the initialization phase (lines 2–9) of Algorithm 1. Let \(c_1, c_2, \ldots , c_x\) be the embedded alternatives with \(E(c_1)<\cdots < E(c_x)\). The following holds.

(1)
\(\mathsf {inner}(\succ _1,\succ _2)=\{c_1,c_2,\dots ,c_x\}\) with \(c_x=a_1\) and \(c_1=b_1\).

(2)
The preferences of voter \(v_2\) restricted to \(\mathsf {inner}(\succ _1,\succ _2)\) are \(c_1 \succ _2 c_2 \succ _2 \dots \succ _2 c_x\).

(3)
\(E(v_1)E(v_2)=\mathsf {inner}(\succ _1,\succ _2)+1\).

(4)
\(E(v_2) < E(c_1)\) and \(E(c_{x})<E(v_1)\).

(5)
If \(\succ _1\) and \(\succ _2\) are singlepeaked, then the preferences of voter \(v_1\) restricted to \(\mathsf {inner}(\succ _1,\succ _2)\) are \(c_x \succ _1 c_{x1} \succ _1 \dots \succ _1 c_1\).
Proof
The first three statements follow directly from lines 3–7 and from the definition of \(\mathsf {inner}(\succ _1,\succ _2)\). Moreover, it holds that \(E(c_1)=1\), \(E(c_x)=\mathsf {inner}(\succ _1,\succ _2)\), \(E(v_2)=0\), and \(E(v_1)=\mathsf {inner}(\succ _1,\succ _2)+1\). This implies Statement 4.
As to Statement 5, consider an arbitrary embedded alternative \(c_j\) with \(j\in \{1,\ldots ,x1\}\). Then, by the second statement, we have that \(c_j \succ _2 c_{j+1}\). By Lemma 1(2), we have that \(c_{j+1} \succ _1 c_j\). \(\square \)
The iteration stage (lines 10–13 of Algorithm 1)
After having embedded all inner alternatives and the two voters, the main loop (lines 10–13) extends the embedding by alternatingly placing alternatives that should be embedded to the right of the rightmost embedded alternative and alternatives that should be embedded to the left of the leftmost embedded alternative. The corresponding procedure is called Refine() (lines 14–25) and is used for both voters \(v_1\) and \(v_2\). It searches through the alternatives along the preference order of \(v_1\) (resp. \(v_2\)), and finds all notyetembedded alternative(s) C which \(v_1\) (resp. \(v_2\)) ranks between two already embedded alternatives. To make sure the other notyetembedded alternatives can still be embedded at a later stage, we embed the found alternatives C to the right (resp. left) of the rightmost (resp. leftmost) embedded alternative. The Fallback(\(\succ _1,E\)) procedure in line 13 guarantees that at least one alternative is embedded during each iteration, thus ensuring that the algorithm terminates.
For an illustration, see the following example.
Example 3
(Illustration for Algorithm 1) Consider the following preference profile with two voters and eight alternatives:
It is singlepeaked with respect to the order \(\rhd \) with \(8 \rhd 6 \rhd 5 \rhd 3 \rhd 2 \rhd 1 \rhd 4 \rhd 7\), and also with respect to the reverse of \(\rhd \). Given the two preferences orders as input, our algorithm will return a onedimensional Euclidean embedding which is depicted in the following line.
Table 1 summarizes how the algorithm proceeds with \(v_1\) and \(v_2\) as input.
More precisely, in the initialization, the inner alternatives \(\mathsf {inner}(\succ _1,\succ _2)=\{1,2,3\}\) are embedded between voter \(v_1\) at 4 and voter \(v_2\) at 0.
In iteration 1 of the main loop (lines 10–13), alternative 4 is embedded to the right of voter \(v_1\) in the first call to Refine(\(\succ _1,v_1,E\)), as it is the first notyetembedded alternative in the preferences of \(v_1\). Since \(c_2=4\), we set \({\mathsf {j}}:=2\) in line 16. Since \(c_3=2\) is an embedded alternative with the smallest index which \(v_1\) ranks lower than 4, we set \({\mathsf {i}}:=3\) in line 18. Next, we set \(\textsf {dist}({\mathsf {j}}1):=E(v_1)E(c_{{\mathsf {j}}1}) = 43 = 1\) and \(\textsf {dist}({\mathsf {i}}) :=E(v_1)E(c_{{\mathsf {i}}}) = 42 = 2\) in lines 19–20. Finally, for \(k={\mathsf {j}}=2\) we set
After alternative 4 has been embedded, alternatives 5 and 6 are embedded to the left of the leftmost alternative, namely 3, in the first call to Refine(\(\succ _2,v_2,E\)).
This is because alternatives 5 and 6 are the first notyetembedded alternatives in the preference order of \(v_2\), and there is an embedded alternative, namely 4, such that \(v_2\) prefers \(\{5,6\}\) to 4. So, \({\mathsf {j}}:=4\) and \({\mathsf {i}}:=6\), \(\textsf {dist}({\mathsf {j}}1) :=3\), and \(\textsf {dist}({\mathsf {i}})=5+\frac{1}{2}\). Hence, for \(k={\mathsf {j}}=4\),
For \(k={\mathsf {j}}+1=5\),
Fallback(\(\succ _1,E\)) is not called since at least one of the calls to Refine() returned \(\mathsf {true}\).
In iteration 2, that is, after alternatives 5 and 6 have been embedded, neither Refine(\(\succ _1, v_1, E\)) nor Refine(\(\succ _2,v_2,E\)) return \(\mathsf {true}\). Alternative 7 is the first notyetembedded alternative in the preference order of \(v_1\). Thus, Fallback(\(\succ _1,E\)) embeds 7 to the right of \(v_1\) so that it becomes the rightmost alternative with \({\mathsf {j}}:=7\):
At last, in iteration 3, Refine(\(\succ _1,v_1,E\)) returns \(\mathsf {false}\). Then, in Refine(\(\succ _2, v_2, E\)), alternative 8 is embedded to the left of the leftmost alternative, namely 6, as 8 is the first notyetembedded alternative in the preferences of \(v_2\) and there is an embedded alternative, namely 7, such that \(v_2\) prefers alternative 8 to 7. So, \({\mathsf {j}}:=7\) and \({\mathsf {i}}:=8\), \(\textsf {dist}({\mathsf {j}}1) :=5+\frac{1}{2}\), and \(\textsf {dist}({\mathsf {i}})=13+\frac{2}{3}\). For \(k={\mathsf {j}}=7\),
\(\square \)
Due to the way we embed the alternatives in Refine(\(\succ ,v,E\)), the newly embedded alternatives do not violate the onedimensional Euclidean property for voter v, as stated in the following lemma.
Lemma 2
(\(*\)) Let \({\mathsf {j}}\) and \({\mathsf {i}}\) be as defined in a call to Refine(\(\succ _z,v_z, E\)) with \(z\in \{1,2\}\). If E satisfies \(E(c_{{\mathsf {j}}1})E(v_z) < E(c_{{\mathsf {i}}})E(v_z)\), then after the call to Refine(\(\succ _z,v_z,E\)) it holds that \(E(c_{{\mathsf {j}}1})E(v_z)<E(c_{\mathsf {j}})E(v_z)<\dots< E(c_{{\mathsf {i}}1})E(v_z)<E(c_{{\mathsf {i}}})E(v_z)\).
Running time of Algorithm 1
We close this subsection by analyzing the running time of Algorithm 1. Clearly, the initialization in lines 2–9 can be done in O(m) time. Recall that the number of alternatives embedded during the initialization phase is \({p1}\). Then, the main loop in lines 10–13 terminates after at most \(mp+1\) iterations since in each iteration at least one of the calls to Refine(\(\succ _z,v_z,E\)) with \(z\in \{1,2\}\) or Fallback(\(\succ _1,E\)) will embed at least one more alternative.
Hence, it remains to analyze the running time of embedding the alternatives via a call to Refine or Fallback. Since each such alternative is embedded exactly once, which needs a constant number of multiplications, additions, and subtractions (see lines 19–23 and line 29), we only need to analyze the running time of the multiplication in the assignments in lines 22–23, as well as the running time of finding the two indices \({\mathsf {j}}\) and \({\mathsf {i}}\) in lines 16, 18, and 28.
Implementation for finding \({\mathsf {j}}\) and \({\mathsf {i}}\). A straightforward implementation may require \(O(m^2)\) time in total to find \({\mathsf {j}}\) and \({\mathsf {i}}\) in all calls to Refine(\(\succ _z,v_z,E\)) and Fallback(\(\succ _1,E\)). However, with a few additional variables we can find them in O(m) time in total in all calls. For brevity’s sake, we have left this optimization out of the description of Algorithm 1. A modified version that includes it can be found in Appendix B.1.
Next, we analyze the running time for a possible multiplication in lines 22–23 of Algorithm 2. To this end, let us assume that we store the position of each embedded alternative \(c_i\) in a integer triple \((e_i,f_i,g_i)\) such that \(E(c_i)=e_i+\frac{f_i}{g_i}\) with \(e_i,f_i,g_i \in \mathbb {Z}\) and \(f_i < g_i\). Then, a multiplication in lines 22–23 can be done via integer multiplication, whose running time depends on the largest \(e_i+1\) and the largest denominator \(g_i\) in the triple encoding.
Largest value computed. To estimate the largest value, we only need to estimate the largest distance from either voter to all alternatives. Observe that in Refine(\(\succ _z,v_z,E\)), since the distance from \(v_z\) to each of the newly embedded alternatives is smaller than the distance from \(v_z\) to \(c_{{\mathsf {i}}}\) (which is already embedded), the largest distance from \(v_z\) to any embedded alternative is not increased. The distance from \(v_{3z}\) to each of the newly embedded alternatives could be enlarged by p, which is the distance between the two voters. The same holds for Fallback(\(\succ _1,E\)). Hence, the largest distance from either voter to all alternatives is bounded by \(p\cdot (mp+1) \in O(m^2)\).
Largest denominator computed. As for the largest computed denominator, we observe that it depends on the number of alternatives to be embedded. To this end, let \(x_1,x_2,\ldots ,x_{n}\), \(n\le mp+1\) denote the number of alternatives embedded in a successful call of Refine \((\succ ,v,E)\). Then, the largest computed denominator is bounded by the following:
where the first inequality is due to inequality of arithmetic and geometric means, the second inequality is due to the fact that the total number of alternatives embedded during the iteration stage is bounded by \(m{p1}\), the fourth inequality is due to the fact that \(n \le m{p1}\), and e denotes the Euler number.
Since the multiplication of two integers of value \(O(e^m)\) can be done in \(O(m\cdot \log (m) \cdot \log (\log (m)))\) time (Schönhage and Strassen 1971) and since for each embedded alternative our algorithm performs a constant number of integer multiplications, additions, and subtractions, our algorithm can be implemented to run in \(O(m^2\cdot \log (m) \cdot \log (\log (n)))\) time.
Proof of Theorem 2
In Sect. 3.2, we prove the running time stated in Theorem 2. To prove Theorem 2, it remains to prove that Algorithm 1 is correct, i.e., it returns a onedimensional Euclidean embedding whenever the two input preference orders are singlepeaked. To this end, let \(\succ _1\) and \(\succ _2\) be the input reference orders with \(\succ _1:a_1\succ _1 a_2 \succ _1 \cdots \succ _1 a_m\) and \(\succ _2:b_1\succ _2 b_2\succ _2 \cdots \succ _2 b_m\). First of all, by Proposition 2, the initialization phase computes a onedimensional Euclidean embedding of \(\succ _1\) and \(\succ _2\) when restricted to the inner alternatives \(\mathsf {inner}(\succ _1, \succ _2)\). Thus, to prove the correctness, we only need to show that each iteration of the main loop (lines 10–13) extends the embedding in such a way that it is onedimensional Euclidean for \(\succ _1\) and \(\succ _2\) when restricted to the embedded alternatives. To achieve this, we need to show that the procedures Refine(\(\succ _z,v_z,E\)), \(z\in \{1,2\}\), and Fallback(\(\succ _1,E\)), extend the existing onedimensional Euclidean embedding to one that is onedimensional Euclidean with respect to the alternatives that have already been embedded and those which are newly embedded. To this end, we introduce a few more technical notions regarding a subset of alternatives.
Definition 5
Let \(E:{{\mathcal {A}}}\cup \{v_1,v_2\}\rightarrow {\mathbb {R}}\cup \{\bot \}\) be an embedding of a twovoter preference profile \({{\mathcal {P}}}=({{\mathcal {A}}},{{\mathcal {V}}},{{\mathcal {R}}})\) with \({{\mathcal {V}}}=\{v_1,v_2\}\) and \({{\mathcal {R}}}=(\succ _1,\succ _2)\). Let \({{\mathcal {A}}}'\subseteq {{\mathcal {A}}}\) be a nonempty subset of alternatives. We say that E is onedimensional Euclidean with respect to \({{\mathcal {A}}}'\) if for each voter \(v_z\in {{\mathcal {V}}}\) and each two alternatives \(x, y \in {{\mathcal {A}}}'\) it holds that \(E(x)\ne \bot \), \(E(y)\ne \bot \) and
For each voter \(v_z\in {{\mathcal {V}}}\), we use \(\mathsf {worst}({{\mathcal {A}}}',v_z)\) to denote the alternative from \({{\mathcal {A}}}'\) which is least preferred by \(v_z\), i.e.,
Example 4
Consider the profile from Example 3 again.
If \({{\mathcal {A}}}'=\{1,2,3,4\}\), then \(\mathsf {worst}({{\mathcal {A}}}',v_1)=3\) and \(\mathsf {worst}({{\mathcal {A}}}',v_2)=4\). \(\square \)
For the ease of case distinctions, we introduce another notion called no later than and observe a useful property regarding “no later than”.
Definition 6
(No later than) For two distinct alternatives x and y, we say that x is embedded no later than y if one of the following conditions holds.

(i)
Alternatives x and y are both embedded during initialization.

(ii)
They are both embedded in the same call to Refine().

(iii)
When y is to be embedded, x is already embedded, i.e., \(E(x)\ne \bot \).
We say that y is embedded later than x if (i) x is embedded no later than y while (ii) y is not embedded no later than x.
For instance, alternative 5 is embedded later than alternative 4 in Example 3 although they are embedded in the same iteration of the main loop.
The following lemma states that no alternative that is less preferred by both voters will be embedded too early, making sure that the insideout approach in Refine() is correct.
Lemma 3
(\(*\)) Let x and y be two distinct alternatives with \(x \succ _1 y\) and \(x \succ _2 y\). Then, Algorithm 1 embeds x no later than y.
Now, we continue with the correctness proof for the iteration stage. Let D be the alternatives that are embedded at the beginning of Refine or Fallback, and assume that E is onedimensional Euclidean with respect to D.
In the remainder of the proof, we consider Refine() and Fallback() separately in Sects. 3.3.1 and 3.3.2.
Embedding alternatives in Refine(\(\succ _z,v_z,E\)) with \(z\in \{1,2\}\)
Assume that Refine \((\succ _z,v_z,E)=\mathsf {true}\) as otherwise nothing needs to be proved. Let C be the set of alternatives that are to be embedded in the call and let \(v_{z'}\) be the other voter with \(z'\in \{1,2\}\setminus \{z\}\). By the procedure Refine(\(\succ _z,v_z,E\)), the two embedded alternatives that Refine identifies are \(c_{\mathsf {j}}\) and \(c_{\mathsf {i}}\) in lines 16 and 18 such that \(C=\{c_{{\mathsf {j}}},c_{{\mathsf {j}}+1},\dots ,c_{{\mathsf {i}}1}\}\) and
By assumption, the embedding E is onedimensional Euclidean with respect to D.
Onedimensional Euclideanness regarding voter \(v_z\). By Lemma 2, it follows that E is also a onedimensional Euclidean embedding for voter \(v_z\) regarding \(D\cup C\). In particular, it holds that,
Onedimensional Euclideanness regarding voter \(v_{z'}\). It remains to show that E is also onedimensional Euclidean for voter \(v_{z'}\) regarding all alternatives from \(D\cup C\).
To achieve this, we prove the following two lemmas which ensure that the newly embedded alternatives are onedimensional Euclidean with respect to voter \(v_{z'}\).
Lemma 4
(\(*\)) Assume that the input preference orders \(\succ _1\) and \(\succ _2\) are singlepeaked. For each notyetembedded alternative x, i.e., \(x\notin D\), it holds that \(\mathsf {worst}(D,\succ _1)\succ _1 x\) or \(\mathsf {worst}(D,\succ _2) \succ _2 x\).
The next lemma states that for each two notyetembedded alternatives, the singlepeaked property imposes that they are ordered in the same way by both voters.
Lemma 5
(\(*\)) Assume that the input preference orders \(\succ _1\) and \(\succ _2\) are singlepeaked. For each two notyet embedded alternatives x and y, i.e., \(x,y\notin D\) with \(x\ne y\), the following holds:
For each \(r\in \{1,2\}\) it holds that if \(x\succ _r y \succ _r \mathsf {worst}(D,\succ _r)\), then \(\mathsf {worst}(D,\succ _{s}) \succ _{s} x \succ _{s} y\), where \(s \in \{1,2\}\setminus \{r\}\).
Now, if we apply Lemma 5 on the alternatives C in the preferences given in (1), we obtain that voter \(v_{z'}\)’s preferences must be \(\mathsf {worst}(D,v_{z'})\succ _{z'} c_{{\mathsf {j}}} \succ _{z'} c_{{\mathsf {j}}+1} \succ _{z'} \cdots \succ _{z'} c_{{\mathsf {i}}1}\). By the embedding of the alternatives from C (lines 22–23), for each alternative \(a_{k}\) with \({\mathsf {j}}\le k \le {\mathsf {i}}1\) it holds that
In both cases, we obtain that
Thus, to show that E remains onedimensional Euclidean for voter \(v_{z'}\) regarding the alternatives from \(D\cup C\), we only need to show that \(E(\mathsf {worst}(D,\succ _{z'}))E(v_{z'})<E(c_{{\mathsf {j}}})E(v_{z'})\).
Now, if we can show that
then we can derive that
which is what we needed to show.
Thus, the only remaining task is to show that (6) holds. We distinguish between two cases; let \(\mathsf {best}(\succ _z)\) and \(\mathsf {best}(\succ _{z'})\) denote the mostpreferred alternative in \(\succ _z\) and \(\succ _{z'}\), respectively.
If \(\mathsf {worst}(D,\succ _{z'}) \in \mathsf {inner}(\succ _1,\succ _2)\), then by the definition of inner alternatives, it follows that \(\mathsf {worst}(D,\succ _{z'})\succeq _{z'} \mathsf {best}(\succ _z)\). By the definition of \(\mathsf {worst}(D,\succ _{z'})\), this also implies \(\mathsf {worst}(D,\succ _{z'})=\mathsf {best}(\succ _z)\), and thus \(\mathsf {worst}(D,\succ _{z'}) \succeq _z c_{{\mathsf {j}}1}\) as \(\mathsf {best}(\succ _z)\) is the first alternative in \(\succ _z\).
If \(\mathsf {worst}(D,\succ _{z'}) \notin \mathsf {inner}(\succ _1,\succ _2)\), then \(\mathsf {worst}(D,\succ _{z'})\) was embedded during an iteration stage in the main loop. Suppose, for the contradiction that \(c_{{\mathsf {j}}1}\succ _z \mathsf {worst}(D,\succ _{z'})\). By the definition of \(c_{{\mathsf {j}}}\), it follows that
Now, let us consider the iteration in the main loop where \(\mathsf {worst}(D, \succ _{z'})\) was embedded. First of all, \(\mathsf {worst}(D,\succ _{z'})\) cannot be embedded in Refine(\(\succ _{z'},v_{z'},E\)) because by definition, there existed no other alreadyembedded alternative which is less preferred by voter \(v_{z'}\). Second, neither can \(\mathsf {worst}(D,\succ _{z'})\) be embedded in Refine(\(\succ _z,v_z,E\)), since otherwise by (7) all alternatives from C must be embedded at least in the same call as \(\mathsf {worst}(D,\succ _{z'})\), a contradiction. Finally, neither can \(\mathsf {worst}(D,\succ _{z'})\) be embedded in Fallback(\(\succ _1, E\)) because there existed at least one other alternative, namely \(c_{{\mathsf {j}}}\), which is more preferred by \(v_{z}\) to \(\mathsf {worst}(D,\succ _{z'})\). This means that there exists no iteration where \(\mathsf {worst}(D,\succ _{z'})\) can be embedded, a contradiction.
Summarizing, we have shown that \(\mathsf {worst}(D,\succ _{z'}) \succeq _z c_{{\mathsf {j}}1}\). This completes the proof for the case where alternatives are embedded in Refine(\(\succ _z,v_z,E\)).
Embedding alternatives in Fallback(\(\succ _1,E\))
For brevity’s sake, define \(a^*:=\mathsf {worst}(D,\succ _1)\) and \(b^*:={\mathsf{worst}}(D,\succ _2)\). By our algorithm, it must hold that
We also infer that \(C=\{a_{\mathsf {j}}\}\) where \({\mathsf {j}}=D+1\), and that
To show the onedimensional Euclidean property, we only need to show that \(E(a^*)E(v_1) < E(a_{\mathsf {j}})E(v_1)\) and \(E(b^*)E(v_2)< E(a_{\mathsf {j}})E(v_2)\). By lines 28–29, it holds that \(a^*=a_{{\mathsf {j}}1}\). Thus, we infer that
By the definition of \(a^*\) and \(b^*\), voter \(v_1\) has preferences
Since E is onedimensional Euclidean with respect to voter \(v_2\) and the alternatives in D, this implies the following:
To conclude, we have shown that in each case the algorithm extends the embedding so that the resulting embedding is onedimensional Euclidean for both voters and the alternatives already embedded as well as the newly embedded alternatives. Thus, our algorithm indeed computes a onedimensional Euclidean embedding of two voters whose preferences are singlepeaked.
Singlepeaked and singlecrossing profiles with up to five alternatives are onedimensional Euclidean
In this section, we state and prove our second main result concerning preference profiles with up to five alternatives.
Theorem 3
Each preference profile with up to five alternatives is onedimensional Euclidean if and only if it is singlepeaked and singlecrossing.
Proof
From Observation 1, we know that a onedimensional Euclidean profile is necessarily singlepeaked and singlecrossing. Thus, to show the theorem, it suffices to show that every singlepeaked and singlecrossing preference profile with up to five alternatives is also onedimensional Euclidean. We achieve this by using a computer program via the CPLEX solver that exhaustively searches for all possible singlepeaked and singlecrossing profiles with up to five alternatives and provide a onedimensional Euclidean embedding for each of them. Since the CPLEX solver accepts constraints on the absolute value of the difference between any two variables, our computer program is a simple onetoone translation of the onedimensional Euclidean constraints given in Definition 3. Hence, we do not need to compute any singlepeaked or singlecrossing order necessary for the nontrivial approaches as given in the literature (Doignon and Falmagne 1994; Knoblauch 2010; Elkind and Faliszewski 2014).
We did some optimization to significantly shrink our search space on all possible singlepeaked and singlecrossing preference profiles.

First, we only consider profiles with at least two alternatives and at least two voters who have pairwise distinct preference orders as two voters with the same preference order can be embedded at the same position without losing the onedimensional Euclidean property. Since the relevant profiles in consideration must be singlecrossing, by Doignon and Falmagne (Doignon and Falmagne 1994, Lemma 1) and Bredereck et al. (Bredereck et al. 2013, Section 2.1), our program only searches for profiles with at most \(\left( {\begin{array}{c}m\\ 2\end{array}}\right) +1\) distinct preference orders, where m is the number of alternatives, \(3\le m\le 5\). The minimum number of voters we need to consider is three as by Theorem 1 all singlepeaked and singlecrossing preference profiles with two voters are onedimensional Euclidean.

Second, we assume that one of the preference orders in the sought profile is \(1\succ 2 \succ \ldots \succ m\). We denote this order as the canonical preference order.

Third, using the monotonicity of the singlepeaked property, we consider adding a preference order (there are \(m!1\) many) to form a potential relevant singlepeaked and singlecrossing profile only if it is singlepeaked with the canonical one. By Lackner and Lackner (Lackner and Lackner 2017, Theorem 12(i)), among all \(m!1\) preference orders other than the canonical one, there are \(\left( {\begin{array}{c}2m2\\ m1\end{array}}\right) 1\) preference orders that each form with the canonical one a singlepeaked profile. Note that for \(m=5\), the number of potentially singlepeaked profiles with \(n=\left( {\begin{array}{c}5\\ 2\end{array}}\right) +1=11\) voters is reduced from \(\left( {\begin{array}{c}m!1\\ n1\end{array}}\right) =\left( {\begin{array}{c}119\\ 10\end{array}}\right) \) to \(\left( {\begin{array}{c}\left( {\begin{array}{c}2m2\\ m1\end{array}}\right) 1\\ 10\end{array}}\right) =\left( {\begin{array}{c}69\\ 10\end{array}}\right) \).
We summarize the number of singlepeaked and singlecrossing profiles with up to \(m=5\) alternatives and up to \(n=\left( {\begin{array}{c}m\\ 2\end{array}}\right) +1\) voters in Table 2. Note that we include profiles which have two voters although by Theorem 1 all singlepeaked and singlecrossing preference profile with two voters are onedimensional Euclidean.
We implemented a program which, for each of these produced profiles, uses the IBM ILOG CPLEX optimization software package to check and find a onedimensional Euclidean embedding. The verification is done by going through each voter’s preference order and checking the condition given in Definition 3. The source code and all generated profiles, together with their onedimensional Euclidean embeddings and the distances used for the verification, are available online at https://owncloud.tuwien.ac.at/index.php/s/Pk8TZxva48LJt35 and can be verified using the software at https://owncloud.tuwien.ac.at/index.php/s/nysw13YkUajJpOn. \(\square \)
Conclusion and outlook
We have shown that for preference profiles with at most five alternatives or at most two voters, being singlepeaked and singlecrossing suffices for being onedimensional Euclidean.
Our research leads to some interesting followup questions. First of all, using our computer program from Sect. 4 we can produce all singlepeaked and singlecrossing preference profiles and all onedimensional Euclidean preference profiles. A natural question is to count the number of structured (e.g., singlepeaked, singlecrossing, onedimensional Euclidean) preference profiles and provide a closed formula in terms of the number m of alternatives and the number n of voters, in a similar spirit as recent work by Lackner and Lackner (2017) and Chen and Finnendahl (2018).
Second, both the singlepeaked and the singlecrossing property can be characterized by a few small forbidden subprofiles (Ballester and Haeringer 2011; Bredereck et al. 2013). However, this is not the case for the onedimensional Euclidean property (Chen et al. 2017). Thus we ask: is it possible to characterize small onedimensional Euclidean preference profiles via a few forbidden subprofiles? We note that onedimensional Euclidean preferences can be detected in polynomial time, using linear programming (Doignon and Falmagne 1994; Knoblauch 2010). Chen (2016, Chapter 4.11) provided a generic construction and showed that there are at least n! singlepeaked and singlecrossing preference profiles with \(n=m/2\) voters and m alternatives that are not onedimensional Euclidean. For \(m=6\), this number would be 6. However, through our computer program we found that for \(m=6\) and \(n=3\), out of 4179 singlepeaked and singlecrossing preference profiles, there are 48 which are not onedimensional Euclidean. This gap in numbers merits further investigation.
Last but not least, for \(d\ge 2\), ddimensional Euclidean preference profiles are not necessarily singlepeaked nor singlecrossing (Bogomolnaia and Laslier 2007). In other words, the forbidden subprofiles that are used to characterize singlepeaked or singlecrossing preference profiles are not of use to characterize ddimensional Euclidean profiles. Peters (2017) showed that finitely many small forbidden subprofiles are not enough to characterize the ddimensional Euclidean property for any \(d\ge 2\). This leads to the question of searching for compact, sufficient and necessary conditions for preference profiles to be ddimensional Euclidean. Bogomolnaia and Laslier (2007) answered this question for profiles that may contain ties. Moreover, they showed that for each \(d\ge 1\), there exists a nonddimensional Euclidean preference profiles with \(d+2\) voters and \(d+2\) alternatives. Bulteau and Chen (2020) used a computer program to verify that all preference profiles with up to seven alternatives and up to three voters are 2dimensional Euclidean, and provided a preference profile with 3 voters and 28 alternatives which cannot be embedded into the twodimensional space.
Notes
The multiplication of two integers of O(m) bits can be done in \(O(m\cdot \log (m) \cdot \log (\log (m)))\) time, for instance via the Schönhage–Strassen algorithm (Schönhage and Strassen 1971).
References
Ballester MÁ, Haeringer G (2011) A characterization of the singlepeaked domain. Soc Choice Welfare 36(2):305–322
Black D (1948) On the rationale of group decision making. J Polit Econ 56(1):23–34
Black D (1958) The theory of committees and elections. Cambridge University Press, Cambridge
Bogomolnaia A, Laslier JF (2007) Euclidean preferences. J Math Econ 43(2):87–98
Borg I, Groenen PJ, Mair P (2018) Applied multidimensional scaling and unfolding. Springer, Berlin
Brams SJ, Jones MA, Kilgour DM (2002) Singlepeakedness and disconnected coalitions. J Theor Polit 14(3):359–383
Bredereck R, Chen J, Woeginger GJ (2013) A characterization of the singlecrossing domain. Soc Choice Welfare 41(4):989–998
Bredereck R, Chen J, Woeginger GJ (2016) Are there any nicely structured preference profiles nearby? Math Soc Sci 79:61–73
Bulteau L, Chen J (2020) On the border between Euclidian and nonEuclidean preference profiles in \(d\)dimension. working paper
Chen J (2016) Exploiting structure in computationally hard voting problems. PhD thesis, Technical University of Berlin, Germany
Chen J, Finnendahl UP (2018) On the number of singlepeaked narcissistic or singlecrossing narcissistic preferences. Discrete Math 341(5):1225–1236
Chen J, Pruhs K, Woeginger GJ (2017) The onedimensional Euclidean domain: finitely many obstructions are not enough. Soc Choice Welfare 48(2):409–432
Coombs CH (1964) A theory of data. Wiley, Hoboken
Doignon J, Falmagne J (1994) A polynomial time algorithm for unidimensional unfolding representations. J Algorithms 16(2):218–233
Downs A (1957) An economic theory of democracy. Harper and Row, Manhattan
Elkind E, Faliszewski P (2014) Recognizing 1Euclidean preferences: an alternative approach. In Proceedings of the 7th International Symposium on Algorithmic Game Theory (SAGT ’14), volume 8768 of Lecture Notes in Computer Science, pp 146–157. Springer
Elkind E, Faliszewski P, Slinko A (2012) Clone structures in voters’ preferences. In Proceedings of the 13th ACM Conference on Electronic Commerce (EC ’12), pp 496–513. ACM Press
Elkind E, Lackner M, Peters D (2017) Structured preferences. In: Endriss U (ed) Trends in computational social choice. AI Access
Escoffier B, Lang J, Öztürk M (2008) Singlepeaked consistency and its complexity. In: Proceedings of the 18th European Conference on Artificial Intelligence (ECAI ’08), pp 366–370. IOS Press
Gall FL (2014) Powers of tensors and fast matrix multiplication. In: Proceedings of the 39th International Symposium on Symbolic and Algebraic Computation (ISSAC ’14), pp 296–303. ACM
Hotelling H (1929) Stability in competition. Econ J 39(153):41–57
Knoblauch V (2010) Recognizing onedimensional Euclidean preference profiles. J Math Econ 46(1):1–5
Lackner ML, Lackner M (2017) On the likelihood of singlepeaked preferences. Soc Choice Welfare 48(4):717–745
Lekkerkerker CG, Boland JC (1962) Representation of finite graphs by a set of intervals on the real line. Fundamenta Mathematicae 51:45–64
Mirrlees JA (1971) An exploration in the theory of optimal income taxation. Rev Econ Stud 38:175–208
Peters D (2017) Recognising multidimensional euclidean preferences. In: Proceedings of the 31st AAAI Conference on Artificial Intelligence (AAAI ’17), pp 642–648
Roberts KW (1977) Voting over income tax schedules. J Public Econ 8(3):329–340
Schönhage A, Strassen V (1971) Schnelle multiplikation großer zahlen. Computing 7(3–4):281–292
Stokes DE (1963) Spatial models of party competition. Am Polit Sci Rev 57:368–377
Tucker A (1972) A structure theorem for the consecutive \(1\)’s property. J Combin Theory Ser B 12:153–162
van den Brand J (2020) A deterministic linear program solver in current matrix multiplication time. In: Proceedings of the 31st Annual ACMSIAM Symposium on Discrete Algorithms (SODA ’20), pp 259–278
Acknowledgements
We thank the anonymous reviewers of the journal Social Choice and Welfare for their constructive feedback. We thank Laurent Bulteau (Laboratoire d’Informatique Gaspard Monge in MarnelaVallée, France) for his insight and helpful comments on this work while Jiehua Chen was visiting him in March 2016; the visit was funded by Laboratoire d’Informatique Gaspard Monge in MarnelaVallée, France. We also thank Marcin Dziubiński (University of Warsaw) for his helpful feedback and suggestion on improving the paper. Jiehua Chen was supported by European Research Council (ERC) under the European Union’s Horizon 2020 research and innovation programme under Grant Agreement Numbers 677651, and by the WWTF research project (VRG18012).
Funding
Open access funding provided by TU Wien (TUW).
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendices
Appendix
Additional material for section 3.1
Proof of Lemma 2
Lemma 2. Let \({\mathsf {j}}\) and \({\mathsf {i}}\) be as defined in a call to Refine(\(\succ _z,v_z, E\)) with \(z\in \{1,2\}\). If E satisfies \(E(c_{{\mathsf {j}}1})E(v_z) < E(c_{{\mathsf {i}}})E(v_z)\), then after the call to Refine(\(\succ _z,v_z,E\)) it holds that \(E(c_{{\mathsf {j}}1})E(v_z)<E(c_{\mathsf {j}})E(v_z)<\dots< E(c_{{\mathsf {i}}1})E(v_z)<E(c_{{\mathsf {i}}})E(v_z)\).
Proof
By the definitions of \({\mathsf {j}}\) and \({\mathsf {i}}\), since E satisfies \(E(c_{{\mathsf {j}}1})E(v_z) < E(c_{{\mathsf {i}}})E(v_z)\) it holds that
Note that \(\textsf {dist}({\mathsf {j}}1)\) and \(\textsf {dist}({\mathsf {i}})\) are defined in lines 19–20 of Algorithm 1. From lines 22–23 of Algorithm 1, it is straightforward to verify that for each alternative \(c_k\) with \({\mathsf {j}}1\le k \le {\mathsf {i}}\),
Combining (13) with (12), we obtain the chain of inequalities in the lemma.\(\square \)
Additional material for section 3.2
Continued discussion on the implementation for j and i
Now, we discuss in depth how we achieve the claimed running time of \(O(m\cdot \mathsf {runtime}\text {}\mathsf {mult}(m))\), using a few additional variables. An extended version of Algorithm 1 where we explicitly state how these variables are initialized and updated can be found in Algorithm 2. The differences are marked in red.
We use a counter \({\mathsf {s}}\), which counts the number of currently embedded alternatives, to test the condition in lines 10, 15, 27 of Algorithm 1 in constant time. Counter \({\mathsf {s}}\) is initialized with \({p1}\); recall that the number of inner alternatives embedded during the initialization phase in Algorithm 1 is \({p1}\).
We introduce two integer arrays \(\mathsf {rk}_1\) and \(\mathsf {rk}_2\) to store for each alternative x the position of x in the preference order of \(\succ _1\) and \(\succ _2\), respectively (see line 33 of Algorithm 2).
For each voter \(v_z\), \(z\in \{1,2\}\), we introduce two integer variables \(u_z\) and \(w_z\) which store the following information:

(i)
\(u_z\) stores the largest position (i.e., index) in \(\succ _z\) among all alternatives that were embedded in the previous call to Refine(\(\succ _z,v_z,E\)).

(ii)
\(w_z\) stores the largest position (i.e., index) in \(\succ _z\) among all already embedded alternatives.
Both \(u_1\) and \(u_2\) are initialized to 1. \(w_1\) is initialized such that \(a_{w_1} = b_1\), while \(w_2\) is initialized such that \(b_{w_2}=a_1\) (see lines 31 and 40 of Algorithm 2).
Assume that we are in a call to Refine(\(\succ _z,v_z,E\)) with \(\succ _z:c_1\succ _z c_2\succ _z \cdots \succ _z c_m\). To find \({\mathsf {j}}\), we go through the preference order of \(v_z\), starting from \(c_{u_z}\), and increment the value of \(u_z\) until we find a not yet embedded alternative (see line 49 of Algorithm 2). Then, we set \({\mathsf {j}}:=u_z\) in line 50. We test the condition in line 17 in Algorithm 1 in constant time by checking whether \(u_z < w_z\) since \(c_{w_z}\) is the alternative with the largest index among all embedded alternatives. If the condition is met, then we find \({\mathsf {i}}\) by going through the preference order of \(v_z\), starting from \(c_{u_z}\) and incrementing the value of \(u_z\) until we find a first alreadyembedded alternative (see line 52 of Algorithm 2). We set \({\mathsf {i}}:=u_z\) and \(u_z:={\mathsf {i}}1\) in line 53. We only need to update the value of \(w_{z'}\) with \(z'=3z\) since the largest index among all embedded alternatives in the preference order of \(v_{z'}\) may have changed (see line 59 of Algorithm 2). We update the counter \({\mathsf {s}}\) in line 60 of Algorithm 2.
We also need to adjust Fallback(\(\succ _1,E\)). By the main loop, when we call Fallback(), both Refine(\(\succ _1,v_1,E\)) and Refine(\(\succ _2,v_2,E\)) must have returned \(\mathsf {false}\). This also means that \({\mathsf {s}}< m\) and \(u_1\) already points to a first notyetembedded alternative in the preference order of \(v_1\). Hence, we only need to set \({\mathsf {j}}:=u_1\) in line 65 of Algorithm 2. We need to update the values of both \(w_1\) and \(w_2\) in line 67 of Algorithm 2, and update the counter \({\mathsf {s}}\) in line 68.
It is straightforward to see that the value of variable \(u_z\) (\(z\in \{1,2\}\)) is never decreased and will always be increased by at least the number of alternatives to be embedded in each iteration. Since our algorithm terminates after at most \(mp+1\) calls of Refine, the search for \({\mathsf {j}}\) and \({\mathsf {i}}\) in all calls from the main loop combined needs O(m) time.
Additional material for section 3.3
Proof of Lemma 3
Lemma 3. Let x and y be two distinct alternatives with \(x \succ _1 y\) and \(x \succ _2 y\). Then, Algorithm 1 embeds x no later than y.
Proof
If \(y \in \mathsf {inner}(\succ _1,\succ _2)\), then by the transitivity of preference orders, it follows that \(x\succ _1 y \succ _1 b_1\) and \(x\succ _2 y \succ _2 a_1\), This immediately implies that \(x\in \mathsf {inner}(\succ _1,\succ _2)\), meaning that x and y are both embedded during the initialization, and that x is embedded no later than y.
Now, let us assume that \(y \notin \mathsf {inner}(\succ _1,\succ _2)\). Consider the call when y was embedded. There are two cases.
If y has been embedded in line 22 or line 23 in a call to Refine(\(\succ _z,v_z,E\)), \(z\in \{1,2\}\), then let \({\mathsf {j}}\) and \({\mathsf {i}}\) be the indices as defined in that call such that \(c_{{\mathsf {j}}} \succeq _z y \succ _z c_{{\mathsf {i}}}\). If \(E(x)\ne \bot \), i.e., x has already been embedded, then by the definition of “no later than”, x is embedded no later than y. If \(E(x)=\bot \), since \(c_{{\mathsf {j}}}\) was defined as the first alternative that is not yet embedded, it follows that \(c_{{\mathsf {j}}} \succeq _z x\). Since \(x \succ _z y\), it follows that \(c_{{\mathsf {j}}} \succeq _z x \succ _z y \succ _z c_{{\mathsf {i}}}\), implying that x is embedded in the same call Refine\((\succ _z,v_z,E)\) as y. Thus, x is embedded no later than y.
If y has been embedded in Fallback(\(\succ _1,E\)) in line 13, meaning that it is also the only alternative that is embedded during that iteration, then line 28 guarantees that \(E(x)\ne \bot \), and thus, x is embedded no later than y.\(\square \)
Proof of Lemma 4
Lemma 4. Assume that the input preference orders \(\succ _1\) and \(\succ _2\) are singlepeaked. For each notyetembedded alternative x, i.e., \(x\notin D\), it holds that \(\mathsf {worst}(D,\succ _1)\succ _1 x\) or \(\mathsf {worst}(D,\succ _2) \succ _2 x\).
Proof
Let \(a^*=\mathsf {worst}(D,\succ _1)\) and \(b^*=\mathsf {worst}(D,\succ _2)\). Towards a contradiction, suppose that \(\succ _1\) and \(\succ _2\) are singlepeaked but x is an alternative with \(x\notin D\) such that
This implies that
as \(a_1 \succ _1 x\) and \(b_1 \succ _2 x\); recall that \(a_1\) (resp. \(b_1\)) is the alternative most preferred by voter \(v_1\) (resp. \(v_2\)). Since x is not yet embedded while \(a^*\) and \(b^*\) are already embedded, applying Lemma 3 two times (letting \(y=a^*\) and \(y=b^*\), respectively), we know that
Together, with the assumption given in (14), we obtain that
By the definitions of \(a_1\) and \(b_1\), we further infer that
We distinguish between two cases, in each case aiming to obtain \(x\in \mathsf {inner}(\succ _1, \succ _2)\) which is a contradiction to \(x\notin D\) as \(\mathsf {inner}(\succ _1,\succ _2)\subseteq D\).
Case 1: If \(a_1 = b^*\), then the preferences given in (18) are equivalent to
Furthermore, \(b_1\ne a^*\) as otherwise \(x\in \mathsf {inner}(\succ _1,\succ _2)\)—a contradiction. Consequently, the preferences given in (19) imply that
Since \(\succ _1\) and \(\succ _2\) are singlepeaked, by Proposition 1 and by (20), we must have that \(x\succ _1 b_1\). However, this implies that \(x\in \mathsf {inner}(\succ _1, \succ _2)\) since \(x\succ _2 a_1\)—a contradiction.
Case 2: If \(a_1 \ne b^*\), then the preferences given in (18) imply that
Since \(\succ _1\) and \(\succ _2\) are singlepeaked, by Proposition 1 and by (21), we must have that \(x\succ _2 a_1\) and \(x\succ _1 b_1\), implying that \(x\in \mathsf {inner}(\succ _1, \succ _2)\)—a contradiction.\(\square \)
Proof of Lemma 5
Lemma 5. Assume that the input preference orders \(\succ _1\) and \(\succ _2\) are singlepeaked. For each two notyet embedded alternatives x and y , i.e., \(x,y\notin D\) with \(x\ne y\), the following holds:
For each \(r\in \{1,2\}\) it holds that
if \(x\succ _r y \succ _r \mathsf {worst}(D,\succ _r)\), then \(\mathsf {worst}(D,\succ _{s}) \succ _{s} x \succ _{s} y\), where \(s \in \{1,2\}\setminus \{r\}\).
Proof
Let \(\succ _1\) and \(\succ _2\) be singlepeaked, and let x, y be as defined in the lemma. Consider an arbitrary index \(r\in \{1,2\}\) such that \(x \succ _r y \succ _r \mathsf {worst}(D,\succ _r)\) holds. Let \(s\in \{1,2\}\setminus \{r\}\). Let \(\mathsf {best}(\succ _z)\) be the most preferred alternative in the preference order \(\succ _z\). Since \(x,y\notin D\) and \(\mathsf {best}(\succ _z)\in D\), we have that
By Lemma 4, it follows that \(\mathsf {worst}(D,\succ _s) \succ _s \{x,y\}\). Thus, it remains to show that \(x\succ _s y\). Towards a contradiction, suppose that \(y \succ _s x\). By the definition of \(\mathsf {worst}(D, \succ _s)\), voter \(v_s\) must have preferences
Together with (22), we have
a contradiction to Proposition 1. \(\square \)
Rights and permissions
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
About this article
Cite this article
Chen, J., Grottke, S. Small onedimensional Euclidean preference profiles. Soc Choice Welf 57, 117–144 (2021). https://doi.org/10.1007/s0035502001301y
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s0035502001301y