Delft University of Technology
Faculty Electrical Engineering, Mathematics and Computer Science
Delft Institute of Applied Mathematics
Counting lattice points in polyhedra using the
Ehrhart theory, applied to Voting theory
A thesis submitted to
Delft University of Technology
in partial fulfilment of the requirements
of the degree
BACHELOR OF SCIENCE
in
APPLIED MATHEMATICS
by
Frank Tabak
Delft, Nederland
August 2010
c 2010 by Frank Tabak. All rights reserved.
Copyright BSc thesis APPLIED MATHEMATICS
“Counting lattice points in polyhedra using the Ehrhart theory, applied to Voting
theory”
Frank Tabak
Delft University of Technology
Supervisor
Dr. A. Schürmann
Other thesis committee members
Prof.dr.ir. K.I. Aardal
Dr. F. Vallentin
Prof.dr.ir. A.W. Heemink
Dr. J.G. Spandaw or
Dr. G.F. Ridderbos
August, 2010
Delft
Preface
First of all I want to thank the reader for taking interest in reading my thesis.
This thesis is a concluding part of the bachelor programme Applied Mathematics of Delft University of Technology. The project was supervised by Achill
Schürmann whom I want to thank for helping me along the way.
The subject of this thesis is counting lattice points in convex polyhedra.
The problem of counting lattice points has been studied extensively by mathematicians. It has a lot of applications in both pure and applied mathematics.
Many problems in the real world can be defined by a system of linear constraints. A convex polyhedron is defined by a set of linear constraints. The integer points inside this polyhedron are integer solutions to the problem. Thus
counting the number of integer points inside the polyhedron corresponds to
counting the number of integer solutions of the problem. The counting of integer points has been studied by Eugène Ehrhart in the 1960’s. He found that the
number of integer points in a polyhedron depend on a parameter n is equal to a
polynomial in n called the Ehrhart polynomial. Alexander Barvinok developed
an algorithm to determine the Ehrhart polynomial efficiently.
In this thesis the above sketched theory is applied to voting theory. There
exist many types of voting systems. For the presidential elections in the United
States for example Plurality Voting is used. In this voting system the candidate
who obtains the most votes wins the election. In France, however, Plurality
Runoff Voting is used. In this system a candidate should get the absolute
majority of the votes in a election. If this requirement is not met, a second
round is organised in which only the two plurality winners of the first round
– those who had the most votes – compete. There is a possibility that both
methods yield a different winner. This thesis attempts to determine the chance
of disagreement between these two methods for any number of voters.
The problems studied in this thesis were and are still studied by many
voting theorists. The way to solve these problems was always done with the
aid of interpolation and sometimes by hand. This method of solving is much
more cumbersome then the method presented in this thesis.
I hope the reader is now eager to read the rest of the thesis.
Frank Tabak
August 2010
1
Summary
Ehrhart’s theorem states that the number of lattice points inside a polyhedron,
that is dependent on some dilation factor n, is given by a quasi-polynomial in
n. This polynomial is called the Ehrhart polynomial. Determining the Ehrhart
polynomial can be a tedious work. Alexander Barvinok developed an efficient
algorithm to compute this polynomial. This algorithm was implemented by
Sven Verdoolaege.
Voting theory is concerned with elections and voting systems. Many types
voting systems exist and all have their advantages and disadvantages. A lot
of research in all the different types of systems is done. In this thesis three
voting systems are investigated: plurality voting, plurality runoff voting and
the Condorcet method.
Plurality voting (PV) is probably the most famous of all voting systems,
in this system the candidate with the most votes wins the election. Plurality
voting is for example used for the presidential elections in the United States.
A slightly different system is plurality runoff voting (PRV) used for the
presidential elections in France. In this voting system a candidate should get
more than 50% of the votes, if no one candidate meets this requirement a second
round of elections is organised in which only the two plurality winners (the two
candidates with the most votes) of the first round compete. The winner of the
second round is the winner of the elections.
It might be possible that PV and PRV disagree, that is, that these systems
yield a different winner. It appears that the computing the chance of this event
occurring is equivalent to counting lattice points in polyhedra. Using Barvinok’s
Algorithm one can find the chance that PV and PRV disagree for an election
with 3 candidates and N voters. It appears that the chance of disagreement
71
increases to 576
≈ 0.1233 for N → ∞. Unfortunately, it was not possible to
compute this chance for a 4 candidate election because of the computational
force needed.
The Condorcet method is a voting system which yields the Condorcet winner. The winner is the candidate who could beat all the other candidates in a
pairwise election. It might, however, be possible that an election does not yield
a Condorcet winner. The chance for this to happen can also be computed using
Barvinok’s Algorithm. The chance of no Condorcet winner in an 3 candidate
1
election with N voters converges to 16
= 0.0625 for N → ∞. Also for this
problem it was not possible to compute the chance for a 4 candidate election.
In many elections voters vote strategically. It the forgoing problems it was
assumed to no strategic votes were casts. This thesis investigates the manipulability of plurality voting by a coalition voters, that means that an election
without strategic voting will yield a different winner than with strategic voting.
It appears that plurality voting is quite susceptible to manipulability. In a 3
71
≈ 0.2465 for
candidate election the chance of manipulation increases to 288
N → ∞.
3
Contents
Preface
1
Summary
3
1 Introduction
7
2 The Ehrhart Theory
2.1 Convex Polyhedra . . . . . .
2.2 Simplex . . . . . . . . . . . .
2.2.1 Triangulation . . . . .
2.3 Pointed Cones . . . . . . . . .
2.4 Generating Functions . . . . .
2.5 The Ehrhart Series . . . . . .
2.6 Some Useful Properties . . .
2.7 Ehrhart’s Theorem . . . . . .
2.8 Ehrhart’s General Theorem .
2.8.1 Quasi-polynomials . .
2.8.2 Ehrhart’s Theorem for
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
Rational Polyhedra
3 Voting Theory
3.1 Plurality Voting Versus Plurality Runoff Voting
3.2 Condorcet Method . . . . . . . . . . . . . . . .
3.3 Manipulability of Plurality Voting . . . . . . .
3.3.1 Counter-manipulability . . . . . . . . .
3.4 Grouping of Variables . . . . . . . . . . . . . .
3.5 PV versus PRV Revisited . . . . . . . . . . . .
3.6 Condorcet Method Revisited . . . . . . . . . .
3.7 Manipulability of Plurality Voting Revisited . .
3.8 PV versus PRV with 4 Candidates . . . . . . .
3.9 Condorcet Method with 4 Candidates . . . . .
4 Barvinok’s algorithm
4.1 Summing a Polynomial Function over Integral
4.2 Barvinok’s Algorithm Implemented . . . . . .
4.2.1 barvinok summate . . . . . . . . . . .
4.2.2 Strict inequalities . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
9
9
11
13
13
16
21
22
26
27
28
28
.
.
.
.
.
.
.
.
.
.
31
31
33
35
36
37
38
38
39
39
41
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
43
43
43
44
45
5 Results
5.1 PV vs. PRV with 3 Candidates . . . . . . . . . . . . .
5.2 PV vs. PRV with 3 Candidates and Strict Inequalities
5.3 Condorcet Method with 3 Candidates . . . . . . . . .
5.4 Manipulability of Plurality Voting with 3 Candidates .
5.5 PV vs. PRV with 4 Candidates . . . . . . . . . . . . .
5.6 Condorcet Method with 4 Candidates . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
47
47
49
50
52
53
54
5
Points
. . . .
. . . .
. . . .
6 Conclusion and Further Research Topics
6.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.1.1 PV vs. PRV with 3 Candidates . . . . . . . . . . . . .
6.1.2 Condorcet Method with 3 Candidates . . . . . . . . .
6.1.3 Manipulability of Plurality Voting with 3 Candidates .
6.1.4 4 Candidate Elections . . . . . . . . . . . . . . . . . .
6.1.5 Simple and Efficient . . . . . . . . . . . . . . . . . . .
6.2 Further Research Topics . . . . . . . . . . . . . . . . . . . . .
6.2.1 Assumptions in the Voting Theory . . . . . . . . . . .
6.2.2 Other Voting Systems . . . . . . . . . . . . . . . . . .
6.2.3 Five Candidates . . . . . . . . . . . . . . . . . . . . .
7 References
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
57
57
57
57
58
58
58
59
59
59
60
61
6
1
Introduction
Combinatorics is a branch of mathematics which is concerned with the study
of finite or countable discrete sets. One of the interests in combinatorics is the
counting of certain elements in a given set.
The main question in this thesis is how to count the number of integer points
(points with integer coordinates), also called lattice points, in a polyhedron
given by a finite system of linear constraints with integer coefficients. Research
in this area was done by the French mathematician Eugène Ehrhart (1906 2000). Interesting is that Ehrhart was a high school mathematics teacher and
did a lot of research in his spare time. A small biography and tribute to Ehrhart
can be found at [5].
Section 2 will make the reader familiar with polyhedra and the Ehrhart
theory. In this section Ehrhart’s Theorem will also be presented, this theorem
states that the number of integer points in a scaled copy of a polyhedron with
dilation factor n will be given by a polynomial in n.
The next section is concerned with voting theory. In this section some assumptions are made to model elections. Two kinds of voting systems considered
are Plurality Voting (PV) and Plurality Runoff Voting (PRV). These two voting
systems could disagree, that is, PV might yield that candidate a is the winner
of an election while PRV might claim that b is the winner in that election. One
might be curious as to what the chance is that these methods disagree.
The Condorcet method is also introduced in this section, this voting systems
yields a Condorcet winner. However, it is possible that the Condorcet method
does not yield a Condorcet winner. Section 3 presents a method to compute
the chance that this event occurs. In this section also a method is presented to
compute the chance that an election is manipulable by a coalition of voters.
Section 4 will consider a implementation of Barvinok’s Algorithm. This
algorithm uses the Ehrhart theory to count lattice points in polyhedra and was
developed by Alexander Barvinok in 1993. The algorithm is very powerful for it
is time-polynomial in input size when the dimension of the polyhedron is fixed.
The implementation was done by S. Verdoolaege in 2004. The format of the
input and output of this implementation will be given.
Section 5 combines the forgoing sections. In this section the problems posed
in Section 3 will be solved. Thus, this section presents the probability that for
a 3 candidate election with N voters:
PV and PRV disagree;
No Condorcet winner is found;
An election is manipulable by a coalition of voters.
Furthermore, it was attempted to compute these probabilities for 4 candidate elections. This was considered non-computable with the present computing powers [9, p. 382]. However, clever use of a method to reduce the number
of variables and recent developments might make it possible to compute these
probabilities.
The last section shall draw conclusion to the results obtained and will pose
some topics for further research.
7
2
The Ehrhart Theory
In this section the reader is familiarized with polyhedra, simplices and pointed
cones to the extend that he or she can understand and fully appreciate the
wonderful theory called Ehrhart theory.
2.1
Convex Polyhedra
The word polyhedron comes from the Classical Greek. It is composed of two
parts: poly and hedron. Poly means ‘many’ and hedron is Greek voor ‘faces’.
So literally poly-hedron means ‘many-faces’, this is quite a good description
of a polyhedron. Before the actual definition of the polyhedron is given some
definitions are needed.
Definition 2.1.1. An affine combination of the vectors x1 , x2 , . . . , xk ∈ Rd is
the vector
k
X
λi xi = λ1 x1 + λ2 x2 + · · · + λk xk
i=1
with λ1 , λ2 , . . . , λk ∈ R scalars such that
Pk
i=1 λi
= 1.
Definition 2.1.2. A convex combination of the vectors x1 , x2 , . . . , xk ∈ Rd is
the vector
k
X
λi xi = λ1 x1 + λ2 x2 + · · · + λk xk
i=1
with λ1 , λ2 , . . . , λk ∈ R≥0 scalars such that
Pk
i=1 λi
= 1.
Note that in the convex combination the scalars λ1 , λ2 , . . . , λk cannot be negative. Because of this and the fact that the scalars sum up to 1 it follows that
λi ∈ [0, 1] for i = 1, 2, . . . , k.
Definition 2.1.3. The affine hull of a set S ∈ Rd is the intersection of all
affine sets containing S.
Definition 2.1.4. The convex hull of a set S ∈ Rd is the intersection of all
convex sets containing S.
Recall that a convex set S has the property that every point P in S can be
connected to every other point in S so that the straight line segment connecting
the two points lies entirely in S.
Definition 2.1.5. The set H = {x ∈ Rd : a1 x1 + a2 x2 , + · · · + ad xd ≤ b}
with a1 , a2 , . . . , ad , b ∈ R and not all ai = 0 and b ∈ Rd is a closed half-space of
dimension d.
A half-space H is open if H = {x ∈ Rd : a1 x1 + a2 x2 , + · · · + ad xd < b}. (Thus
the ‘≤’ is replaced by a ‘<’).
Now it is time to give the definition of a polyhedron.
Definition 2.1.6. A convex polyhedron is described by the intersection of
finitely many half-spaces of some dimension d.
9
Figure 2.1: An example of a polyhedron
The dimension of the affine space spanned by the polyhedron is the dimension
of the polyhedron. Note that a polyhedron that is the intersection of finitly
many half-spaces of dimension d could have a dimension smaller than d.
Because a polyhedron is defined by finitely many half-spaces, a polyhedron
may be defined as a set of x ∈ Rd satisfying the system of m linear inequalities
(with m the number of half-spaces):
a11 x1
a21 x1
..
.
+
+
a12 x2
a22 x2
..
.
+ ...
+ ...
..
.
am1 x1 + am2 x2 + . . .
+
+
a1d xd
a2d xd
..
.
≤ b1
≤ b2
..
.
+ amd xd ≤ bm
Or in short Ax ≤ b where A is the m × d matrix with Aij = aij for i ∈
(1, 2, . . . , m), j ∈ (1, 2, . . . , d) and x and b are the corresponding vectors of size
d and m.
Now the polyhedron is defined, one can take a closer look at the polyhedron
itself.
Definition 2.1.7. A subset of the boundary of a polyhedron is called a face.
The dimension of the affine space spanned by a face of a polyhedron is always
less than or equal to the dimension of the space spanned by the polyhedron
itself. For example, consider a polyhedron of dimension 3. Then there are 4
different kinds of faces:
0-face
1-face
2-face
3-face
vertex
edge
face
cell
(0
(1
(2
(3
dimensional)
dimensional)
dimensional)
dimensional)
Note two things, a 2-dimensional face is actually called ‘face’ and the polyhedron
is a face of itself, namely the 3-dimensional cell. Faces of dimension 4 and higher
are simply called d-faces, where d denotes the dimension.
In contrast to a polyhedron a polytope is defined by vertices.
10
Definition 2.1.8. A convex polytope is the convex hull of finitely many points
v1 , v2 , . . . , vm ∈ Rd .
One could visualise a polytope in 2 dimensions as a rubber band spanned around
nails. Then the rubber band represents the boundary of the polytope while the
nails represent the points. The nails that touch the rubber band are part of the
boundary of the polytope, these points are called vertices
When it holds that all vertices vj of a polytope are rational, thus for all
j ∈ {1, 2, . . . , m} it holds that vj ∈ Qd , the polyope is called rational. If all the
vertices are integer points the polytope is a lattice polytope or integral polytope.
Note that a rational polytope can be transformed into a lattice polytope when
all vertices are multiplied with the least common multiple of the denominators.
The resulting polytope will have the same shape as the original polytope but
the volume would be bigger.
Note that a convex polyhedron is not necessarily bounded. Many authors
use the terms polytope and polyhedron interchangeably, though this is not formally correct since a polyhedron is defined by the intersection of half-spaces
while a polytope is defined as the convex hull of a set vertices and thus, by
definition, bounded.
Theorem 2.1 (Minkowski-Farkas-Weyl). The intersection of a finite number
of half spaces, when a bounded set, is the convex hull of a finite number of
points.
One should note that the theorem actually states that a bounded convex
polyhedron can also be defined as a convex polytope. Interested readers can
find a proof of this theorem in [4].
In the remainder of this work it is assumed that all polyhedra considered
are bounded and convex unless stated otherwise.
The following definition is about dilation of a polyhedron.
Definition 2.1.9. Viewing a polyhedron P as a set of elements of Rd one can
define nP , called the n-th dilate of P , for n ∈ N>0 as
nP = {nx : x ∈ P }
For any integer n > 0 the n-th dilate of a polyhedron is a polyhedron with
all distances between the vertices multiplied by n while leaving all the angles
and proportions the same. Dilated polyhedra depend on some positive integer
parameter n, the polyhedron is then called a parametrised polyhedron. When
n = 1 the dilated polyhedron is simply the polyhedron P . Although the dilate
here is defined only for n > 0, some authors also define the dilate for n = 0,
the dilate 0P is then simply a vertex.
Now the reader is familiarized with convex polyhedra and polytopes a special
kind of polyhedron can be introduced. In the next section simplices are treated.
These polyhedra will be essential to the Ehrhart theory.
2.2
Simplex
In this section simplices are introduced. Simplices can be considered as the
‘building blocks’ of polyhedra.
11
Definition 2.2.1. Consider the d-dimensional Euclidean space. The convex
hull containing the standard basis and the origin of this space is the standard
simplex ∆ of dimension d, or standard d-simplex.
The latter is actually a polytope description of ∆, but as Theorem 2.1 states
this polytope can also be defined as a polyhedron. It is easily seen that the
next proposition holds.
Proposition 2.2. The standard d-simplex is a polyhedron ∆ with:
∆ = {(x1 , x2 , . . . , xd ) ∈ Rd : x1 + x2 + . . . . . . + xd ≤ 1 and all xk ≥ 0}
Figure 2.2: The standard simplex in dimension 3
Note that the simplex of dimension 2 is a triangle and a 3-simplex is a
tetrahedron. In Figure 2.2 a standard simplex of dimension 3 is shown.
A standard d-simplex ∆ is the convex hull of d+1 affine independent points,
v1 , v2 , . . . , vd+1 , and has the property that every point in the simplex can be
uniquely described as a affine combination of its vertices. So for every point
p ∈ ∆ it holds that
p = c1 v1 , c2 v2 , . . . , cd+1 vd+1
P
for some unique constants c1 , c2 , . . . , cd+1 ∈ R and d+1
i=1 ci = 1. It shall become
apparent later on that this is a very important property of simplices. Note that
this property will in general not hold for any convex polyhedron.
One can look at the n-th dilate of the standard simplex, n∆. This polyhedron is given by:
n∆ = {(x1 , x2 , . . . , xd ) ∈ Rd : x1 + x2 + . . . . . . + xd ≤ n and all xk ≥ 0}
The n-th dilate n∆ of this simplex would be the same as in Figure 2.2 but have
n on the axes instead of 1.
A d-simplex is more general than the standard d-simplex.
Definition 2.2.2. The d-simplex is defined as the convex hull of d + 1 affine
independent points v1 , v2 , . . . , vd+1 ∈ Rd .
One can also define the n-th dilate of a d-simplex in the same way as one would
do it for the standard d-simplex.
12
2.2.1
Triangulation
One can subdivide a square into two non-overlapping simplices by drawing a
diagonal. Then the square is the union of the two simplices.
Definition 2.2.3. If for any given convex polyhedron P there is a dissection
of that polyhedron into a set of simplices T satisfying:
[
• P =
∆
∆∈T
• For any ∆1 , ∆2 ∈ T, ∆1 ∩ ∆2 is a face common to both ∆1 and ∆2 .
Then T is called a triangulation of P .
P can be triangulated using no new vertices if there exists a triangulation T
such that for any vertex of any ∆ ∈ T that vertex is a vertex P . In Figure 2.3
various triangulation of a 2-dimensional polyhedron are shown. Figure 2.3(a)
and Figure 2.3(b) are both examples of triangulations using no new vertices. In
Figure 2.3(c) a triangulation is depicted that uses a new vertex. The following
theorem actually shows that every convex polyhedron can be triangulated using
no new vertices.
(a) Triangulation 1
(b) Triangulation 2
(c) Triangulation 3
Figure 2.3: Various triangulations
Theorem 2.3 (Existence of triangulations). Every convex polyhedron can be
triangulated using no new vertices.
The proof of this theorem is not in the scope of this thesis and shall not be given
here, though the interested reader can have a look at [2, p. 205–207]. With
this theorem it is possible to dissect every convex polyhedron into simplices and
therefore every point in the polyhedron can be uniquely described. Later on it
will become apparent that this property is essential to the Ehrhart theory.
2.3
Pointed Cones
The counting of lattice points in polyhedra is the main interest of this thesis.
This can be done by using the Ehrhart theory. Pointed cones form a principal
part of the Ehrhart Theory.
Recall that a hyperplane is a set
13
H = {a1 x1 + a2 x2 + · · · + ad xd = b : a1 , a2 , . . . , ad , b, x1 , x2 , . . . , xd ∈ R}
and not all ai equal to zero.
Definition 2.3.1. A pointed cone is a set K ⊆ Rd of the form:
K = {v + λ1 w1 + λ2 w2 + · · · + λm wm : λ1 , λ2 , . . . , λm ≥ 0 ∈ R}
where v, w1 , w2 , . . . , wm ∈ Rd
are such that there exists a hyperplane H with H ∩ K = {v}.
The vector v is called the apex of K. The other vectors w1 , w2 , . . . , wm are the
generators of the cone. In Figure 2.4 an example of a cone is depicted. Note
that H can be any hyperplane such that H ∩ K = v. The dimension of K is
defined as the dimension of the affine space spanned by K, it is also said that
K is a d-cone. The cone is rational if the generators are in Qd , in this case one
can choose w1 , w2 , . . . , wm ∈ Zd by proper transformation of the generators,
then the cone is called an integer cone.
Definition 2.3.2. If the cone K has d linearly independent generators w1 , w2 , . . . , wd
then K is called a simplicial cone.
Figure 2.4: A pointed cone
A practical application of pointed cones is the so called coning over a
polyhedron. Suppose one is given a convex polyhedron P ∈ Rd with vertices
v1 , v2 , . . . , vm . The process of coning over this polyhedron is done by ‘lifting’
the vertices P into Rd+1 by adding 1 as their last coordinate.
w1 = (v1 , 1), w2 = (v2 , 1), . . . , wm = (vm , 1)
Next the cone over P is defined as
cone(P ) = {λ1 w1 + λ2 w2 + · · · + λm wm : λ1 , λ2 , . . . , λm ≥ 0} ⊂ Rd+1 (2.1)
14
This pointed cone has the origin as apex and the original polyhedron P can
be recovered from cone(P ) by ‘cutting’ it with hyperplane xd+1 = 1. One can
also note that nP is recovered from the cone over P by cutting the cone with
hyperplane xd+1 = n for n ≥ 0. In Figure 2.5 the process of coning over a
polyhedron is depicted.
Figure 2.5: Coning over a polytope
Analogously to the subdivision of polyhedra in simplices a cone can be
divided into simplicial cones.
Definition 2.3.3. If for any given pointed d-cone K there is a dissection of
that cone into a set of simplicial d-cones T satisfying:
[
• K=
S
S∈T
• For any S1 , S2 ∈ T, S1 ∩ S2 is a face common to both S1 and S2 .
Then T is called a triangulation of K.
K can be triangulated using no new generators if there exists a triangulation
T such that the generators of any S ∈ T are generators of K. A corollary to
Theorem 2.3 is the next theorem.
Theorem 2.4. Any pointed cone K can be triangulated into simplcial cones
using no new generators.
Proof. Recall the definition of a pointed cone. One prerequisite is that there
exists a hyperplane H such that the cone intersects H in precisely one point,
the apex v. Given a pointed d-cone K, one can translate H into K, then
H ∩ K contains more than one point. Denote the intersection of H with the
generator wi , which will be one point, pi for i = {1, 2, . . . , m}. Then H ∩ K
can also be defined as the convex hull of p1 , p2 , . . . , pm , hence the intersection
is a (d − 1)-polytope P . Theorem 2.1 ensures that this polytope can also be
15
defined as a polyhedron. Theorem 2.3 states that every convex polyhedron can
be triangulated using no new vertices. So one can triangulate P using no new
vertices into a set of simplices T . One can cone over a simplex in T . The cone
over the simplex is simplicial. All the cones over all simplices in T triangulate
by construction the pointed cone K. Note that indeed no new generators are
used since every generator of the simplicial cones is a vertex in a simplex and
hence a vertex in P and thus given by a generator of K.
Note that the cone is actually a polyhedron, hence it can be represented
by finitely many half-spaces Ax ≤ b. The corresponding hyperplanes of these
half-spaces, Ax = b, intersect in one point, the apex v. Note that a cone is
unbounded and therefore has no polytope description.
2.4
Generating Functions
This section closely follows the introduction to generating functions given in
the book [2, pag. 60-63].
The main interest in this work is the counting of lattice points in polyhedra. A great way to do this is by using generating functions to represent
the lattice points. The function then literally generates all the points in a
polyhedron. Suppose the convex polyhedron P of dimension d is given and
m = (m1 , m2 , . . . , md ) ∈ P ∩ Zd is an integer point in P .
Definition 2.4.1. The integer-point transform σP (z) of P is defined as:
X
σP (z) = σP (z1 , z2 , . . . , zd ) :=
zm .
m∈P ∩Zd
This σP ‘encodes’ all the integer points of P into a generating function. The
power of the vector over a vector is here to be interpreted as:
zm = (z1 , z2 , . . . , zd )(m1 ,m2 ,...,md ) = z1m1 z2m2 . . . zdmd .
This means that every term in the integer-point transform of P represents an
integer point in P . So if (5, 2, 4) is a integer point in P the corresponding term,
also called monomial, in σP (z) is z15 z22 z34 . Substituting z = (1, 1, . . . , 1) gives
the number of points in P also denoted as σP (1) = #(P ∩ Zd ). To make this
concept a little more familiar an example is given.
Example 2.4.1. Consider the polyhedron P that is the convex hull of (0, 0),
(1, 1), (−2, 3) and (−1, 4). One can easily determine from Figure 2.6 that this
polyhedron contains 8 lattice points.
The integer point transform σP of this polyhedron is given by:
σP (z) =
X
zm = z1−2 z23 + z1−1 z22 + z1−1 z23 + z1−1 z24 + z10 z20 + z10 z21 + z10 z22 + z11 z21
m∈P ∩Zd
One should note that the powers of the z1 z2 -pairs are exactly the lattice points
of P . Evaluating σP at z = (1, 1, . . . , 1) gives
16
Figure 2.6: Polyhedron P of Example 2.4.1.
σP (1, 1 . . . , 1) =
X
1m = 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 8.
m∈P ∩Zd
In section 2.3 it was noticed that a pointed cone is also a polyhedron. One
might be curious as to how many lattice points there are in a pointed cone. Since
the cone is unbounded the number of integer points should also be unbounded.
However, one can define the integer point transform of a pointed cone.
Example 2.4.2. Consider the interval [0, ∞) it is immediately apparent that
the number of points in this interval is infinite. Though this interval can also
be thought of as a 1-dimensional cone K. Note that since this cone has only
one generator, w = 1, this cone is simplicial. One now could try and define the
integer point transform σK (z):
σK (z) =
X
zm = 1 + z + z2 + . . .
(2.2)
m∈K∩Z
It is common knowledge that (2.2) is the geometric series and converges for
1
. However if this series is treated as a formal power series the
|z| < 1 to 1−z
question of convergence may be ignored completely. Therefore the integer-point
transform of this cone K is:
1
1−z
This may feel uneasy to do because mostly convergence is an important property. However, the power series considered here is a formal power series and
is used just to represent every lattice point in our polyhedron. The reader
should realize that this notation is just a shorthand notation of the summation
and has nothing to do with convergence whatsoever. Note that evaluating σK
at z = (1, 1, . . . , 1) will actually yield that K contains infinitely many integer
points.
σK (z) =
17
Rd .
Analogously one can look at a cone K = {λw : λ ≥ 0} with w = (w1 , w2 , . . . , wd ) ∈
This is again a 1-dimensional cone.The integer-point transform of this cone
is
σK (z) =
X
zm =
m∈K∩Z
X
zj(w1 ,w2 ,...,wd ) =
j≥0
1
1−
z1w1 z2w2
· · · zdwd
=
1
. (2.3)
1 − zw
Now, as the reader is familiar with the notation of the integer-point transfom, a more intricate example is in place. This next example actually combines
the first two examples and makes a natural introduction to Theorem 2.5
Example 2.4.3. Consider the two-dimensional cone
K = {λ1 (1, 1) + λ2 (−2, 3) : λ1 , λ2 ≥ 0} ⊂ R2 .
Figure 2.7: Cone K of Example 2.4.3.
One should immediately see that this cone is a simplicial cone since the generators w1 = (−2, 3) and w2 = (1, 1) are linear independent. Note that w1
and w2 are two vertices of the polyhedron P in Example 2.4.1., the other
two vertices are linear combinations of w1 and w2 : 0w1 + 0w2 = (0, 0) and
w1 + w2 = (−1, 4). This polyhedron plays a very important role in K and is
actually a parallelogram which is called the fundamental parallelogram Π of K
Π = {λ1 (1, 1) + λ2 (−2, 3) : 0 ≤ λ1 , λ2 < 1} ⊂ R2
Note that the points (−2, 3), (1, 1) and (−1, 4) are not enclosed in Π. Translating Π by nonnegative integer linear combinations of w1 and w2 will cover the
18
whole cone with ‘tiles’ of Π. This observation makes it possible to define the
integer-point transform σK . It is of vital importance that every lattice point
in K can be uniquely described so that σK does not contain the same point
with two different descriptions since this will result in that point being counted
twice.
It is not hard to determine σΠ since this is just a bounded polyhedron,
actually, this was done in Example 2.4.1. minus the vertices (−2, 3), (1, 1) and
(−1, 4). Hence
σΠ (z) = 1 + z2 + z22 + z1−1 z22 + z1−1 z23
Let (p, q) ∈ Π a integer point, thus p, q ∈ Z. Adding to (p, q) nonnegative linear
integer combinations of w1 , w2 gives a subset of Z2 . Let
L(p,q) = {(p, q) + j(1, 1) + k(−2, 3) : j, k ∈ Z≥0 }.
Now one should note that K ∩ Z2 is the disjoint union of the subsets L(p,q) for
all (p, q) ∈ Π. So every lattice point in K is the sum of a lattice point in Π with
nonnegative linear integer combinations of w1 and w2 .
The translation (adding integer multiples of w1 and w2 ) can be represented
using a generating function:
X
zm =
XX
zj(1,1)+k(−2,3) =
j≥0 k≥0
m=j(1,1)+k(−2,3)
j,k≥0
=
X
(z1 z2 )j
j≥0
X
(z1−2 z23 )k
k≥0
1
(1 − z1 z2 )(1 − z1−2 z23 )
Now σK (z) can be defined as
σK (z) = (1 + z2 + z22 + z1−1 z22 + z1−1 z23 )
X
zm
m=j(1,1)+k(−2,3)
j,k≥0
=
1 + z2 + z22 + z1−1 z22 + z1−1 z23
(1 − z1 z2 )(1 − z1−2 z23 )
Note that σK generates all the integer points in K uniquely by ‘picking a point
in Π’ × ‘adding a nonnegative integer multiple of w1 and w2 ’. This results in
a quite compact fraction with a numerator that is σΠ and denominator that is
dependent on the generators w1 and w2 of K.
This example suggests that the integer-point transform of a simplicial rational cone only depends on its generators and the lattice points in its fundamental
parallelepiped.
Theorem 2.5. Consider the simplicial d-cone K defined as
K = {λ1 w1 + λ2 w2 + · · · + λd wd : λ1 , λ2 , . . . , λd ≥ 0}
19
with w1 , w2 , . . . , wd ∈ Zd . Then for v ∈ Rd , the integer-point transform σv+K
of the shifted cone v + K is the rational function
σv+K (z) =
σv+Π (z)
(1 − zw1 )(1 − zw2 ) · · · (1 − zwd )
where Π is the fundamental parallelepiped of K:
Π = {λ1 w1 + λ2 w2 + · · · + λd wd : 0 ≤ λ1 , λ2 , . . . , λd < 1} ⊂ Rd .
Because K is a simplicial cone it has d linear independent generators. Note
that this theorem would also hold for rational cones because one can tranform
rational generators into integer generators by clearing denominators. Before
the proof is given two definition are in place.
Definition 2.4.2. The Floor function bxc gives the largest integer less than
or equal to x for x ∈ R
Definition 2.4.3. The Fractional-part function is defined as {x} = x − bxc
for x ∈ R.
With these two functions the proof of Theorem 2.5 can be given. This proof
is almost identical to the proof given in the book [2, pag. 62-63]
P
Proof. In σv+K (z) = m∈(v+K)∩Zd zm , each integer point m in v + K is listed
as the monomial zm . By definition a point m can be written as a sum of the
generators of K and v for some numbers c1 , c2 , . . . , cd ≥ 0:
m = v + c1 w1 + c2 w2 + · · · + cd wd
Note that, because K is simplicial, the wk ’s are d linear independent vectors
and thus form a basis of Rd . That means that the representation of m is unique.
Furthermore it holds that ci = bci c + {ci } for i = 0, 1, 2, . . . , d. This means that
m can be written as
m = v + ({c1 }w1 + {c2 }w2 + · · · + {cd }wd ) + bc1 cw1 + bc2 cw2 + · · · + bcd cwd
Since for all ci ’s it holds that 0 ≤ ci ≤ 1, the vector
p = v + {c1 }w1 + {c2 }w2 + · · · + {cd }wd
is in the fundamental parallelepiped v + Π. Furthermore, since it is known that
m ∈ Zd and bci cwi ∈ Zd for i = 0, 1, 2, . . . , d, it must hold that p ∈ Zd . And
again, because the generators form a basis, the above representation is unique.
Thus any integer point m ∈ v + K ∩ Zd can be uniquely written as
m = p + k1 w1 + k2 w2 + · · · + kd wd
(2.4)
for some p ∈ (v + Π) ∩ Zd and some integers k1 , k2 , . . . , kd ≥ 0. Thus every
lattice point in the shifted cone can be uniquely written as the sum of some
20
lattice point in the shifted fundamental parallelepiped and a translation over
the generators. It remains to proof that the integer-point transform σv+K (z)
has indeed only monomials zm with m as above.
P
First note that by definition σv+Π (z) = p∈(v+Π)∩Zd zp , the integer point
transform of the shifted fundamental parallelepiped. By using this observation
one can write the given σv+K (z) as
σv+K (z) =
=
(1 −
zw1 )(1
X
σv+Π (z)
− zw2 ) · · · (1 − zwd )
!
!
X
p
k1 w1
z
z
···
k1 ≥0
p∈(v+Π)∩Zd
=
X
X X
p∈(v+Π)∩Zd k1 ≥0 k2 ≥0
···
!
X
z
kd wd
kd ≥0
X
zp+k1 w1 +k2 w2 +···+kd wd
kd ≥0
1
because of (2.3) for i = 1, 2, . . . , d. From the
(1 − zwi )
last line one sees that a exponent will look like (2.4).
ki wi
ki ≥0 z
where
P
2.5
The Ehrhart Series
=
In Section 2.4 a method was introduced to both count and represent the lattice
points in a polyhedron with a formula. Furthermore it was shown that the,
by definition, unbounded simplicial integer cones have a very compact integerpoint transform. Recall that the number of lattice points in a polyhedron P
was represented by the integer-point transform σP (1) = #(P ∩ Zd ). Also recall
that the n-th dilate of a polyhedron was denoted nP for n ∈ N>0 .
Definition 2.5.1. The number of lattice points in the n-th dilate of P ⊂ Rd
is represented by the lattice-point enumerator LP (n) for nP and defined as
LP (n) = #(nP ∩ Zd ).
This lattice-point enumerator is also called the discrete volume of P .
In Section 2.3 the method of coning over a polyhedron was introduced. The
vertices v1 , v2 , . . . , vm were lifted into Rd+1 by adding 1 as their last coordinate.
w1 = (v1 , 1), w2 = (v2 , 1), . . . , wm = (vm , 1)
The intersection of this cone with the hyperplane xd+1 = 1 is P . The intersection of the cone(P ) with hyperplane xd+1 = n would be nP for n ∈ N>0 .
Lemma 2.6. All the integer points in cone(P ) are given by
σcone(P ) (1, 1, . . . , 1, z) = 1 +
X
LP (n)z n .
n>0
This lemma states that the number of points in cone(P ) is only dependent on
the dilates of P .
21
Proof. Note that every lattice point in cone(P ) should lie in a dilate of P with
exception of the apex of the cone, which is the origin in this case. One might
consider the origin as a dilate of P , namely 0P , but recall that only dilates
n ∈ N>0 are defined, thus the origin is treated separately here. Hence, the
integer-point transform of cone(P ) can be written as
σcone(P ) (z1 , z2 , . . . , zd+1 )
2
= 1 + σP (z1 , z2 , . . . , zd )zd+1 + σ2P (z1 , z2 , . . . , zd )zd+1
+ ···
X
n
σnP (z1 , z2 , . . . , zd )zd+1
.
= 1+
n>0
where the 1 is because of the origin. The theorem evaluates σcone(P ) at z =
(1, 1, . . . , 1, z). Doing this yields
σcone(P ) (1, 1, . . . , 1, z) = 1 +
X
σnP (1, 1, . . . , 1)z n
n>0
= 1+
X
#(nP ∩ Zd )z n .
n>0
= 1+
X
LP (n)z n
n>0
The result of Lemma 2.6 is an important formula in the Ehrhart Theory.
Definition 2.5.2. The Ehrhart series of P is defined as
EhrP (z) = 1 +
X
LP (n)z n .
n>0
This series will be used in Section 2.7.
2.6
Some Useful Properties
Before Ehrhart’s theorem can be given some definitions and lemmas need to be
introduced to the extend that the theorem can be proven.
n
Definition 2.6.1. The Eulerian number m
is the number of permutations
of the numbers 1, 2, . . . , n in which exactly m elements are greater than the
previous element.
For instance consider the permutations π1 , π2 , . . . , π6 of {1, 2, 3}:
π
π1
π2
π3
π4
π5
π6
n1 n2 n3
123
132
213
231
312
321
22
#
2
1
1
1
1
0
The second column are the permutations, the third column are the number of
elements in the corresponding permutation which are greater than the previous
element. For instance, in the permutation π1 = 123 n1 = 1, n2 = 2, n3 = 3
and n1 < n2 < n3 . So two elements, n2 and n3 , are greater than the previous
element. For π6 it holds to no one element is greater than the previous element
since 3 > 2 > 1, hence the 0 in the table. The Eulerian numbers are 30 = 1,
3
3
n
1 = 4 and 2 = 1. In the next table various m are shown.
n
0
1
2
3
4
5
6
7
8
9
n n
0
1
n
n
n
n
2
3
4
5
n n n n
6
7
1
1
0
1
1
0
1
4
1
0
1 11
11
1
0
1 26
66
26
1
0
1 57
302
302
57
1
0
1 120 1191 2416
1191
120
1
0
1 247 4293 15619 15619 4293
247
1
1 502 14608 88234 156190 88234 14608 502
8
9
0
1
0
One should note the symmetry in the table. For more information of the Eulerian number the reader is referred to [8, p. 253–257].
One of the properties of the Eulerian number that is used for the proof of
the Ehrhart theory is the following:
Pd d k
X
k=0 k−1 z
d j
j z =
.
(2.5)
(1 − z)d+1
j≥0
In the book [2, pag. 28] this property is used to define the Eulerian number. Note that in the book the Eulerian number is denoted as A(d, k), this
comes from
different definition of the Eulerian number, it holds that
ad slightly
A(d, k) = k−1
. It is not hard to proof that the forgoing property holds.
Proof. To proof the property one can simply rewrite the left hand side to the
right hand side as follows.
X
j≥0
j dzj
=
d dX j
z
z
dz
j≥0
d d
1
=
z
dz
1−z
d
d
= z ···z
| dz {z dz}
d times
23
1
1−z
d
d
= z ···z
| dz {z dz}
z
2z 2
+
(1 − z)2 (1 − z)3
d
d
= z ···z
| dz {z dz}
z + z2
(1 − z)3
d
d
= z ···z
dz
dz
{z
}
|
z + 4z 2 + z 3
(1 − z)3
d−2 times
d−2 times
d−3 times
= ...
Pd
=
d
k
k=0 k−1 z
(1 − z)d+1
Besides the Eulerian number another property is used to proof Ehrhart’s
theorem, this property is of the more widely known binomial coefficients.
Definition 2.6.2. The binomial coefficients m
n is defined through
m
m(m − 1)(m − 2) · · · (m − n + 1)
=
n!
n
for m, n ∈ Z.
The number m
n can be interpreted as number of ways n things can be chosen
from a set of m things.
An extensive introduction to and many properties of binomial coefficient
can be found in [8][p. 153–242].
One property of the binomial coefficients is the binomial series:
X d + k 1
=
zk
(2.6)
d
(1 − z)d+1
k≥0
for d ≥ 0. This property is one of the many considered in the book and can be
found in [8][p. 199].
The next lemma is essential for the proof of the Ehrhart theory.
Lemma 2.7. When it holds that
X
t≥0
f (t)z t =
g(z)
,
(1 − z)d+1
(2.7)
then f is a polynomial of degree d if and only if g is a polynomial of degree at
most d and g(1) 6= 0.
24
Proof. (⇒) First consider the case that f , a polynomial of degree d, is given.
It needs to be shown that g is a polynomial of degree at most d and g(1) 6= 0.
Since f is a polynomial it has the form f (t) = ad td + ad−1 td−1 + · · · + a0 .
Then the left hand side of (2.7) can be written as
X
f (t)z t = ad
t≥0
X
td z t + ad−1
t≥0
t
f (t)z =
ad
t≥0
Pd
d
k=0 k−1
(1 − z)d+1
td−1 z t + · · · + a0
P
zk
t≥o
+
ti z t ,
ad−1
X
zt.
t≥0
t≥0
If one uses (2.5) on each of the ai
X
X
one finds
Pd−1 d−1
k=0 k−1
(1 − z)d
zk
+ ··· +
a0
.
(1 − z)1
Or by setting all the denominators to (1 − z)d+1
X
t
f (t)z =
ad
Pd
t≥0
d
k=0 k−1
(1 − z)d+1
zk
+
ad−1
Pd−1 d−1
k
k=0 k−1 z (1
(1 − z)d+1
− z)
+ ··· +
a0 (1 − z)d
.
(1 − z)d+1
g(z)
Inspection of this expression reveals that it is of the form (1−z)
d+1 with g(z)
some polynomial in z. It remains
d to proof that g has degree at most d and that
g(1) 6= 0. Since ad 6= 0 and k−1
6= 0 for k = 0, 1, . . . , d it holds that g(z) is a
polynomial of degree at most d. Furthermore,
d X
d
g(1) = ad
6= 0
k−1
k=0
d
6= 0 for k = 0, 1, . . . , d.
since ad 6= 0 and k−1
(⇐) Now consider the case that g(z) is given and is a polynomial of degree
at most d with g(1) 6= 0. It has to be proven that f is a polynomial of degree
d.
First use (2.6) and Definition 2.6.2 to see that
g(z)
(1 − z)d+1
X d + t
X (d + t)(d + t − 1) · · · (t + 1)
= g(z)
z t = g(z)
zt.
d
d!
t≥0
(2.8)
t≥0
Note that (d+t)(d+t−1)···(t+1)
is a polynomial in t of degree d, denote this polyd!
nomial as h(t). And since g is a polynomial of degree at most d one can write
25
g(z)
(1 − z)d+1
=
ad z d + ad−1 z d−1 + · · · + a0
X
h(t)z t
t≥0
X
X
X
=
ad h(t)z t+d +
ad−1 h(t)z t+d−1 + · · · +
a0 h(t)z t
t≥0
t≥0
t≥0
X
X
X
a0 h(t)z t
=
ad h(t − d)z t +
ad−1 h(t − d + 1)z t + · · · +
t≥d
t≥0
t≥d−1
X
X
X
=
ad h(t − d)z t +
ad−1 h(t − d + 1)z t + · · · +
a0 h(t)z t
t≥0
=
X
t≥0
t≥0
t
f (t)z .
t≥0
with f (t) = ad h(t − d) + ad−1 h(t − d + 1) + · · · + a0 h(t). Note that the altering
of the lower boundary of the sums – line four – may be done because h(−1) =
h(−2) = · · · = h(−d) = 0 as can be seen from (2.8). The polynomial f (t) is of
degree d because h(t) is of degree d.
2.7
Ehrhart’s Theorem
Finally it is time to present Ehrhart’s theorem. This theorem suggests that the
lattice-point enumerator LP (n), introduced in Section 2.5 as the total number
of lattice points in nP , is a polynomial.
Theorem 2.8 (Ehrhart’s theorem). If P is an integral convex d-polyhedron,
then LP (n) is a polynomial in n of degree d.
The following proof of Ehrhart’s theorem is similar to the proof of the book [2,
pag. 66-67] but is more detailed in some steps.
Proof. The first thing one should note is that it is sufficient to proof this theorem
only for simplices ∆ because every convex polyhedron can be triangulated into
simplices using no new vertices.
From Definition 2.5.2 one knows that
Ehr∆ (z) = 1 +
X
L∆ (n)z n .
n>0
Close inspection of the right hand side of this formula reveals that if
Ehr∆ (z) = 1 +
X
L∆ (n)z n =
n>0
g(z)
(1 − z)d+1
for some polynomial g of degree at most d with g(1) 6= 0 then L∆ (n) is a
polynomial of degree d by Lemma 2.7. From lemma 2.6 one knows that the
26
Ehrhart series of ∆ equals σcone(∆) (1, 1, . . . , 1, z). Since ∆ has d + 1 vertices,
v1 , v2 , . . . , vd+1 , cone(∆) ⊂ Rd+1 is simplicial with apex the origin and generators
w1 = (v1 , 1), w2 = (v2 , 1), . . . , wd+1 = (vd+1 , 1) ∈ Zd+1 .
From Theorem 2.5 it follows that
σcone(∆) (1, 1, . . . , 1, z) =
(1 −
σΠ (1, 1, . . . , 1, z)
w
z 1 )(1 − zw2 ) · · · (1 −
zwd+1 )
(2.9)
where Π = {λ1 w1 + λ2 w2 + · · · + λd+1 wd+1 : 0 ≤ λ1 , λ2 , . . . , λd+1 < 1} ⊂ Rd+1 ,
the fundamental parallelepiped of cone(∆). This parallelepiped is bounded so
the integer-point transform σΠ is a Laurant polynomial in z1 , z2 , . . . , zd+1 .
One should note that the rational function already resembles the form of
the right hand side of (2.7). If one proves that these two function are equivalent
one has proven Ehrhart’s theorem.
First it is shown that the zd+1 -degree of σΠ is at most d. The xd+1 coordinate
of each wi is 1. For every point in Π it holds that the xd+1 coordinate is
λ1 + λ2 + · · · + λd+1 for some 0 ≤ λ1 , λ2 , . . . , λd+1 < 1. Hence λ1 + λ2 + · · · +
λd+1 < d + 1, but this coordinate needs to be an integer, therefore the xd+1
coordinate is at most d, thus the zd+1 -degree of σΠ is at most d. Substituting
(z1 , z2 , . . . , zd+1 ) = (1, 1, . . . , 1, zd+1 ) in σΠ (z) results in a polynomial in zd+1 of
degree at most d. The evaluation σΠ (1, 1, . . . , 1) of this polynomial at zd+1 = 1
is not zero, because by definition σΠ (1) = #(Π∩Zd+1 ) and the origin is a lattice
point in Π. Thus it is proven that the nominator of (2.9), σΠ (1, 1, . . . , 1, z), is
a polynomial in zd+1 with degree at most d and σΠ (1) 6= 0.
1
It remains to proof that the denominator of (2.9) has the form
.
(1 − zd+1 )d+1
Recall that σcone(∆) (z) is evaluated at (z1 , z2 , . . . , zd+1 ) = (1, 1, . . . , 1, zd+1 ). Every generator wi has by construction 1 as the xd+1 -coordinate, thus (1, 1, . . . , 1, zd+1 )wi =
1 . Therefore
zd+1
1
zw1 )(1
zw2 ) · · · (1
zwd+1 )
=
1
(1 −
−
−
(1 − zd+1 )d+1
Thus it is proven that the Ehrhart series of ∆
Ehr∆ (z) = 1 +
X
L∆ (n)z n =
n>0
g(z)
(1 − z)d+1
with g(z) = σΠ (1, 1, . . . , 1, z) a polynomial of degree at most d with σΠ (1) 6= 0.
Therefore Lemma 2.7 states that LP (n) should be a polynomial of degree d and
Ehrhart’s theorem is proven.
2.8
Ehrhart’s General Theorem
The result of Ehrhart’s Theorem is powerful, unfortunately, it only holds for integral convex polyhedra. There is however an extension of Ehrhart’s Theorem to
rational polyhedra. Before this extension can be presented the quasi-polynomial
needs to be introduced.
27
2.8.1
Quasi-polynomials
The quasi-polynomial uses rational periodic numbers.
Definition 2.8.1. A rational periodic number c(n) is a function c : Z → Q
with a period q, such that c(n) = c(n0 ) whenever n ≡ n0 mod q.
Example 2.8.1. Consider c(n) = 52 , 13 , 1, 14 n . This is a rational periodic
number with period 4.
n
0 mod 4
1 mod 4
2 mod 4
3 mod 4
c(n)
5/2
1/3
1
1/4
A quasi-polynomial is a list of ‘regular’ polynomials. Instead of just numbers
as coefficients is has periodic numbers as coefficients.
Definition 2.8.2. A quasi-polynomial f of degree d is a function f (n) =
cd (n)nd + cd−1 (n)nd−1 + · · · + c1 (n)n + c0 (n) where the ci (n)’s are rational
periodic numbers. The period q of f is the least common multiple of the periods
of its coefficients.
Example 2.8.2. Consider the quasi-polynomial f (n) = 5n3 + 21 , 2, 13 n n2 +
2
1, 3 n n + 53 , 4 n . This is a quasi-polynomial of degree 3, the period is the
least common multiple of 1, 3, 2 and 2, thus 6. The list of polynomials that f
represents is shown in the next table.
2.8.2
n
fn mod 6 (n)
0 mod 6
1 mod 6
2 mod 6
3 mod 6
4 mod 6
5 mod 6
5n3 + 1/2n2 + n + 3/5
5n3 + 2n2 + 2/3n + 4
5n3 + 1/3n2 + n + 3/5
5n3 + 1/2n2 + 2/3n + 4
5n3 + 2n2 + n + 3/5
5n3 + 1/3n2 + 2/3n + 4
Ehrhart’s Theorem for Rational Polyhedra
In contrast to Ehrhart’s theorem, 2.8, which states that LP (n) of a integral
convex d-polyhderon is a polynomial, Ehrhart’s theorem for rational polyhedra
states that LP (n) is a quasi-polynomial.
Definition 2.8.3. Consider a rational polyhedron P . The least common
multiple of the denominators of the vertices of P is called the denominator
of P .
Theorem 2.9 (Ehrhart’s theorem for rational polyhedra). If P is a rational
convex polyhedron, then LP (n) is a quasi-polynomial in n of degree d. The
period of LP (n) is a divisor of the denominator of P .
28
The proof of this theorem shall be omitted. Interested readers can find a
nice analogue theory to the theory presented in Section 2.6, 2.7 in [2, p. 67 –
76]. One will notice that the proof of this more general theorem is very similar
to the proof of 2.8.
It is also known that the leading term in LP (n) is independent of n and is
equal to the Euclidean volume of P . The reason for this shall be omitted.
Next is an example of a parameterized rational polyhedron. It shows that
the number of integer points in the polyhedron is indeed given by a quasipolynomial.
Example 2.8.3. Consider the polyhedron P given by
x ≥ 0
x ≤ n/3
The vertices of P are 0 and n/3, thus the denominator of P is 3. Therefore the
general form of the resulting quasi-polynomial should be
LP (n) = αn + [β1 , β2 , β3 ] .
To determine α, β1 , β2 and β3 one must know some initial values of the quasipolynomial. These are just the number of points in some dilate of P . Thus one
finds
n
0
1
2
3
LP (n)
1
1
1
2
From LP (0) = 1 one could deduce that β1 = 1. But then LP (3) = 3α + β1 =
3α + 1 = 2 → α = 1/3. The remaining two equations give β2 = 2/3 and
β3 = 1/3. Thus the result is a quasi-polynomial in n of degree 1 with period 3:
1
2 1
LP (n) = n + 1, ,
.
3
3 3
29
3
Voting Theory
One of the applications of the Ehrhart theory is in Voting theory. There are
many types of voting systems that are possible. Plurality voting, from now
abbreviated PV, for instance is a voting system in which the candidate with
the most votes wins the elections, this voting system is for example used for the
presidential elections in the USA. Plurality Runoff Voting (PRV) is different to
PV in that a candidate must obtain an absolute majority. If no candidate gets
more than 50% of the votes a second round of elections is held with only two
candidates, those who had the highest plurality scores in the first round. The
candidate with the absolute majority in the second round wins the elections.
One might wonder if the two sytems ever disagree, that is, will PV yield another
candidate as winner as PRV for a given voting situation? And if so, what is
the probability of this happening? To tackle these questions some assumptions
have to be made. There will be a total of three assumptions.
1. The IAC condition is satisfied.
2. No strategic votes are cast.
3. Every voter will have a complete linear preference ranking on the candidates
IAC stands for Impartial Anonymous Culture. When the IAC condition is
satisfied it is assumed that every voting situation, thus every outcome of an
election, is evenly likely to occur.
The second assumption is that the voters will not vote strategically but
sincere, that is, the voters will always vote for the candidate they prefer.
Finally it is assumed that every voter will have a complete linear preference
ranking on the candidates, thus a voter will always prefer one candidate over
another and will not prefer them equally. The preference should also be transive,
that is, when one prefers candidate a over b and b over c then one automatically
prefers a over c.
These three assumptions make it possible the tackle the problems posed
earlier.
3.1
Plurality Voting Versus Plurality Runoff Voting
The goal is to determine the chance that the two voting systems PV and PRV
disagree. Assume a three candidate election is held with candidates a, b and
c and N voters. Voters will have a certain order in which they prefer the
candidates by assumption 3. The six possible preferences a voter has are:
abc acb bac bca cab cba
So if a voter has preference abc he or she will prefer a over b over c. That means
that if there are elections with these three candidates this voter will vote for
candidate a. However, suppose PRV is the used voting system and candidate b
and c are the candidates for the second round, then the voter with preference
31
abc will vote for candidate b. This voting behavior is sincere. The number of
voters with preference abc is denoted by nabc .
What does it mean that PV yields another winner than PRV? Suppose that
a voting situation occurs where PV will denote a as winner while PRV will
claim that b has won. Then the first thing one should note is that a second
round has been organised, otherwise b would have the absolute majority of the
votes but then PV would also have to yield b as winner. It should also be noted
that since candidate a wins with PV this candidate will surely have the most
votes, however in the second round b wins, that means the candidates for the
second round are a and b. This information can all be listed as a set of linear
inequalities.
nabc + nacb > nbac + nbca
nbac + nbca > ncab + ncba
nabc + nacb + ncab < N2
nabc + nacb + nbac + nbca + ncab + ncba = N
ni ≥ 0
(a beats b)
(b beats c)
(a loses the second round)
(all votes add up to N )
for i ∈ Sabc
The first two inequalities say that in the first round a has the most votes, then b
and c has the least votes. The third inequality represents the second round. In
the second round candidate c does not participate anymore, that means that the
voters with preference cab and cba will vote for their second choice. Therefore
cab would vote for a, as will abc and acb, hence nabc +nacb +ncab < N2 . Note that
equivalently one could require nbac + nbca + ncba > N2 , meaning that candidate
b gets more than 50% of the votes. Or one could formulate an inequality
without the parameter N , nabc + nacb + ncab < nbac + nbca + ncba . The fourth
inequality represents the total amount of voters. The last line makes sure that
the number people with a certain preference is not negative. Sabc is the set of
all permutations of a, b and c.
So the problem is now represented by a finite set of linear inequalities, those
linear inequalities describe a polyhedron Pd (d for disagreement). One could
choose to leave out the first three inequalities, this also yields a polyhedron,
call this polyhedron Pt (t for total). This polyhedron is describes all possible
voting outcomes. Every lattice point in Pd and Pt is an integer solution to the
linear inequalities and corresponds to an outcome of an election. By the IAC
condition any of these voting situation is evenly likely to occur. The above
linear inequalities only describe the situation where a is the PV winner while b
is the PRV winner but there are 6 different possible pairs of PV winner and PRV
winner. Computing the chance that PV disagrees with PRV in an 3 candidate
election with N voters is equivalent to dividing the number of integer points in
Pd by the number of points in Pt and multiplying it by 6.
#(Pd ∩ Zd )
#(Pt ∩ Zd )
In Figure 3.1 a schematic representation of Pt and Pd is shown. If one can count
the integer points in both Pt and Pd the chance of disagreement between PV
and PRV is known.
P(PV and PRV disagree) = 6
32
Figure 3.1: A schematic representation of the polyhedra Pt and Pd , the marked
dots represent voting situations in which PV disagrees with PRV
In Section 2 it was shown by the Ehrhart theory that the number of points
in a polyhedron is given by a quasi-polynomial. The polyhedra Pd and Pt
considered here depend on a parameter N , the number of voters. The dimension
of both polyhedra is 5. Hence, by the Ehrhart Theory, the number of points in
Pd and Pt will be given by a quasi-polynomial in N of degree 5. The process
of finding this quasi-polynomial requires a lot of computation. One method
of determining the polynomial is by Barvinok’s algorithm. In Section 4 some
background behind the algorithm is sketched and the implementation of the
algorithm by S. Verdoolaege et al. will be considered, this implementation is
used to solve this problem. The results are outlined in Section 5
3.2
Condorcet Method
The Condorcet method is named for the eighteenth-century French mathematician and philosopher Marie Jean Antoine Nicolas de Caritat, marquis de Condorcet (1743 - 1794). He was an early political scientist and developed the
concept known as Condorcet method. The Condorcet method is a voting system in which the winner will always beat each of the other candidates in a
run-off election, this winner is known as the Condorcet winner. This Condorcet
winner does not always exist. The Condorcet voting method is not know to be
currently in use in government elections but is used in various non-governmental
elections.
In a Condorcet election the voter ranks the candidates (1st, 2nd, 3rd, etc.)
on his or her ballot. Tie rankings between candidates are allowed. Then, for
each ballot, the candidates are compared pairwise and a win is tallied for the
33
higher-ranked candidate. These wins are summed for all ballots, preserving
separate tallies for each pairwise combination. The candidate who wins every
one of the pairwise contests is the Condorcet winner.
To clarify this procedure the following example is given. Consider a 3 candidate election with 16 voters. In the following table the ballots are listed. The
preferences are depicted vertically, the last row indicates the number of voters
with that preference.
a
b
c
7
a
c
b
0
b
a
c
2
b
c
a
3
c
a
b
0
c
b
a
4
From this one can see that nabc = 7, nbac = 2, nbca = 3, ncba = 4. In order to
be a Condorcet winner that candidate has to defeat every other candidate in
a pairwise election. Thus a pairwise election between candidate a and b will
be won by candidate b since 9 voters prefer b over a and only 7 prefer a over b
(note that these 7 are only the voters with preference abc).
Election
a−b
a−c
b−c
Votes
7−9
9−7
12 − 4
Winner
b
a
b
Candidate b beats both candidate a and c in a pairwise election and is therefore the Condorcet winner of this election. Note however that different voting
systems will yield different winners. Candidate a for example is the plurality winner. With plurality runoff voting candidate b would also have won the
election.
Interesting about the Condorcet method is that it is even possible for a
candidate to be the Condorcet winner without being the first preference of any
voter. One might say that the Condorcet method yields the ‘best compromise’
candidate.
As stated earlier, it is possible that no Condorcet winner is found using the
Condorcet method. There are a lot of different ways to resolve these problems
which will not be regarded here. The interest here is the chance that the
Condorcet method yields no winner for a 3 candidate election with N voters.
In order for that to happen no one candidate should be able to beat each other
candidate in a pair-wise election. One can also note that the chance of no
Condorcet winner is the complementary event of having a Condorcet winner.
Suppose candidate a is the Condorcet winner, then
nabc + nacb + ncab > N/2
nabc + nacb + nbac > N/2
nabc + nacb + nbac + nbca + ncab + ncba = N
ni ≥ 0
(a beats b)
(a beats c)
(all votes add up to N )
for i ∈ Sabc
Note that the voters specified in the first line, which corresponds to ‘a beats b’,
will all vote for candidate a in a pairwise election between a and b since they
34
prefer that candidate over b. When the total amount of votes of this group is
larger than N/2 ,50% of the votes, candidate a wins the pairwise election.
This set of linear inequalities defines a polyhedron Pc (c for Condorcet winner). The polyhedron Pt (t for total) of all voting situations is given by the
system as above while leaving out the first two inequalities, thus all votes add
up to N and no preference has a negative amount of voters. To compute the
chance that candidate a is a Condorcet winner in a 3 candidate election with
N voters is equal to dividing the number of points in Pd by Pt . The chance
that the election has a Condorcet winner is 3 times the chance that a is the
Condorcet winner because candidate b or c could also be the Condorcet winner.
Hence,
P(No Condorcet winner) = 1 − 3
#(Pc ∩ Zd )
.
#(Pt ∩ Zd )
The results of these computations will be outlined in Section 5.
3.3
Manipulability of Plurality Voting
Recall the three assumptions from the beginning of this section. One stated
that no strategic votes were to be cast. If one drops this assumptions it becomes
possible that the outcome of the elections is manipulated by individuals or a
coalition of voters.
Consider for example a 3 candidate election with 200 voters. The used voting
system is plurality voting and a very reliable poll indicate that candidate a will
win the elections closely followed by candidate b:
Candidate
a
b
c
Number of votes
86
75
39
Suppose furthermore that ncab = 17 and ncba = 22. A voter with preference cba
will see the poll and conclude that is improbable that candidate c will win the
election. That voter, however, does not want candidate a to win the election
because he or she prefers b over a. He or she might come to the conclusion
that voting for candidate b is the best option. If all voters in ncba come to this
conclusion the end results of the election might become
Candidate
a
b
c
Number of votes
86
97
17
yielding candidate b as winner.
In the forgoing example it is assumed to only one group of voters votes
strategically, ncba . It might have been possible that the voters with preference
cab would have concluded that the voters with preference cba were going to
vote for candidate b and so they would vote for candidate a, then candidate a
would still have won the elections.
35
One might want to compute the chance that an election using plurality voting is manipulable by a coalition of voters as shown in the previous example.
To compute this chance one should first compute the chance that a election
without strategic voting denotes candidate a as winner, but with strategic voting candidate b wins, thus voters with preference cba will vote for candidate
b instead of a. This situation can be described by the following set of linear
inequalities.
nabc + nacb > nbac + nbca
nbac + nbca > ncab + ncba
nbac + nbca + ncba > nabc + nacb
nabc + nacb + nbac + nbca + ncab + ncba = N
ni ≥ 0 for i ∈ Sabc
The first inequality corresponds to ‘a beats b’, the second to ‘b beats c’. The
third inequality makes sure that if all voters with preference cba would vote for
candidate b then b wins the election.
This set of linear inequalities describes the polyhedron Pm (m for manipulability). The polyhedron Pt of all total voting situations is defined as the last
two inequalities in the system.
To compute the chance that an election with 3 candidates and N voters is
manipulable (thus that another candidate wins than the projected winner) one
has to count all the lattice points in Pm , multiply it by 6 because of symmetry
and divide that number by the number of lattice points in Pt . Thus,
P(PV manipulable) = 6
#(Pm ∩ Zd )
.
#(Pt ∩ Zd )
In Section 5 the results of this computation is outlined.
3.3.1
Counter-manipulability
Recall that manipulability of PV only assumed that one coalition of voters
would vote strategically. In the example only voters with preference cba voted
strategically, the voters with preference cab did not take any action. Suppose
the latter group decided to vote for candidate a because they suspected that
the voters in ncba would vote for candidate b. Then the outcome of the election
would have been
Candidate
a
b
c
Number of votes
103
97
0
and still yielding candidate a as winner.
The second coalition (voters with preference cab) responds to the manipulation of the first coalition (voters with preference cba). They counter-manipulate
the election. One might be interested to what the chance is that even with
counter-manipulation candidate b will win the election. But note that this is
36
equivalent to the chance that candidate a wins the plurality voting election (a
wins without manipulation), but candidate b wins the plurality runoff voting
election (all voters who would have voted for candidate c now vote for their
second choice, thus c does note compete in the election anymore). Thus the
chance that candidate b wins the election with counter-manipulation is the same
as the chance that plurality voting and plurality runoff voting disagree, and this
is exactly the problem considered in Section 3.1.
3.4
Grouping of Variables
Given two variables x, y ∈ N, one can consider the sum of these variables,
x + y = A. If A = 3 then
x = 0,
x = 1,
x = 2,
x = 3,
y
y
y
y
=3
=2
=1
= 0,
or
or
or
so A actually represents 4 different x, y-pairs for which A = 3. One might say
that the weight of the grouped variable is 4 instead of 1. In general if A = n
then
x = 0,
x = 1,
..
.
y=n
y =n−1
..
.
x = n − 1, y = 1
x = n,
y=0
or
or
..
.
or
or
there are n+1 different possible combinations for the x, y-pair. So a nonnegative
integer coordinate A represents n + 1 different nonnegative integer coordinates
(x, y).
Even more general one can group d variables to a new one: x1 +x2 +· · ·+xd =
A with xi ∈ N for i = 1, 2, . . . , d. Then a coordinate A = n will correspond to
n+d−1
(n + 1)(n + 2) · · · (n + d − 1)
=
(3.1)
d−1
(d − 1)!
non-negative integer (x1 , x2 , . . . , xn )-tuples. This identity is also known as a nmulticombination, or a n-combination with repetition. It can be interpreted as
the number of ways n things can be chosen from a set of d things were repetition
is allowed. For example, suppose one has a box with an infinite amount of balls
in 3 different colors, the number of possible sets of 10 balls is given by:
10 + 3 − 1
(10 + 1)(10 + 2)
=
= 66
3−1
2!
One should note that the grouping of variables is also a combination were
repetition is allowed. The forgoing example shows that a grouped variable
A = x1 + x2 + x3 with A = 10 represents 66 different (x1 , x2 , x3 )-tuples.
37
3.5
PV versus PRV Revisited
Recall from Section 3.1 that the disagreement between PV and PRV with 3
candidates could be represented as a set of linear inequalities.
nabc + nacb > nbac + nbca
nbac + nbca > ncab + ncba
nabc + nacb + ncab < N2
nabc + nacb + nbac + nbca + ncab + ncba = N
ni ≥ 0
(a beats b)
(b beats c)
(a loses the second round)
(all votes add up to N )
for i ∈ Sabc
Closer inspection of these inequalities reveals that grouping of variables is possible. In every inequality the variables nabc and nacb appear side by side, as do
nbac and nbca . Thus one might set na = nabc + nacb , nb = nbac + nbca , nca = ncab
and ncb = ncba . Note that na are all the voters that prefer candidate a over all
other candidates, the same holds for nb and candidate b. The voters that prefer
candidate c over a are denoted by nca , note that these are the same voters as
ncab , the same holds for ncb and ncba . Doing this results in the following set of
linear inequalities
na > nb
nb > nca + ncb
na + nca < N2
na + nb + nca + ncb = N
na , nb , nca , ncb ≥ 0
Note that this system still represents the same problem. But the grouping of
variables has to be taken into account. Every non-negative integer coordinate in
(na , nb , nca , ncb ) represents multiple non-negative integer (nabc , nacb , nbac , nbca , ncab , ncba )tuples. There are na + 1 different combinations for nabc and nacb , nb + 1 for nbac
and nbca , 1 for ncab and 1 for ncba . Thus in total (na , nb , nca , ncb ) will represent
(na + 1) × (nb + 1) × 1 × 1 different (nabc , nacb , nbac , nbca , ncab , ncba )-tuples.
3.6
Condorcet Method Revisited
Recall from Section 3.2 that in an election with 3 candidates and N voters
the chance of having no Condorcet winner could be computed by counting the
lattice points in the polyhedron Pc :
nabc + nacb + ncab > N/2
nabc + nacb + nbac > N/2
nabc + nacb + nbac + nbca + ncab + ncba = N
ni ≥ 0
(a beats b)
(a beats c)
(all votes add up to N )
for i ∈ Sabc
As with PV versus PRV one might note that grouping of variables is possible.
Set na = nabc + nacb , nca = ncab , nba = nbac , nrem = nbca + ncba (‘rem’ for
remaining). Then Pc becomes
38
na + nca > N/2
na + nba > N/2
na + nba + nca + nrem = N
na , nca , nba , nrem ≥ 0
Because of the grouping of variables a general non-negative integer coordinate
(na , nca , nba , nrem ) will correspond to (na + 1) × 1 × 1 × (nrem + 1) non-negative
integer (nabc , nacb , nbac , nbca , ncab , ncba )-tuples.
3.7
Manipulability of Plurality Voting Revisited
In Section 3.5 and 3.6 it was shown that grouping of variables could be applied
to both the problem of disagreement between PV and PRV and that of the
Condorcet method. This section shall apply the grouping of variable concept
to the manipulability of plurality voting problem. Recall that computing the
chance that plurality voting is manipulable is equivalent to
6
#(Pm ∩ Zd )
.
#(Pt ∩ Zd )
Recall that Pm was given by
nabc + nacb > nbac + nbca
nbac + nbca > ncab + ncba
nbac + nbca + ncba > nabc + nacb
nabc + nacb + nbac + nbca + ncab + ncba = N
ni ≥ 0 for i ∈ Sabc
Now note that one can group the variables as na = nabc + nacb , nb = nbac + nbca ,
nca = ncab and ncb = ncba . Thus, the system of linear inequalities becomes
na > nb
nb > nca + ncb
nb + ncb > na
na + nb + ncab + ncb = N
na , nb , nca , ncb ≥ 0
Taking the grouping of variables in account one must realise that every nonnegative integer coordinate in (na , nb , nca , ncb ) represents (na +1)×(nb +1)×1×1
different non-negative integer (nabc , nacb , nbac , nbca , ncab , ncba )-tuples. Note that
the grouping of variables is entirely the same in this problem as in the problem
of disagreement between PV and PRV.
3.8
PV versus PRV with 4 Candidates
The problem considered this whole section until now is about elections with
3 candidates. The reason that only 3 candidates were considered instead of 4
or 5 is the computational power required to solve it. The problem of counting
lattice points in a polyhedron is requires a lot of computational force. However Barvinok’s algorithm has made it possible to solve counting problems in
39
polyhedra faster, see Section 4 for more detail. The problem of disagreement
between PV and PRV with 3 candidates was solved among many others before
them by Lepelley, Louichi and Smaoui (2007) using an older algorithm, Clauss’s
algorithm, and using Barvinok’s algorithm [9]. The former took 1 minute and
40 seconds to solve while the latter algorithm only took 2 seconds to compute.
The 4-candidate case however has 24 = 4! variables:
abcd
bacd
cabd
dabc
abdc
badc
cadb
dacb
acbd
bcad
cbad
dbac
acdb
bcda
cbda
dbca
adbc
bdac
cdab
dcab
adcb
bdca
cdba
dcba
and is because of that a lot harder to compute. Consider that in an election
with N voters PV will denote a as the winner while PRV will have a second
round in which b beats a. The system of linear inequalities representing the
problem are similar to those of the 3 candidate case.
nabcd + nabdc + nacbd + nacdb + nadbc + nadcb >
nbacd + nbadc + nbcad + nbcda + nbdac + nbdca
nbacd + nbadc + nbcad + nbcda + nbdac + nbdca >
ncabd + ncadb + ncbad + ncbda + ncdab + ncdba
nbacd + nbadc + nbcad + nbcda + nbdac + nbdca >
ndabc + ndacb + ndbac + ndbca + ndcab + ndcba
nabcd + nabdc + nacbd + nacdb + nadbc + nadcb +
ncabd + ncadb + ncdab + ndabc + ndacb + ndcab <
P
n
=
N
i∈Sabcd i
ni ≥ 0 for all i ∈ Sabcd
N
2
Note that the first inequality corresponds to ‘a beats b’, the second to ‘b beats c’,
the third to ‘b beats d’ and the fourth line makes sure that in the second round
b beats a. The second to last line means that the total amount of votes is equal
to N , the total amount of voters. Sabcd is the set of all permutations of a, b, c
and d. The last line makes sure that no negative amount of votes is allowed.
Also note that there are no constraints on the total votes for candidate c and
d, that is, there is no inequality corresponding to ‘c beats d’ or the other way
around. This is not necessary for it will only make the problem more complex
and therefore more difficult to compute.
Again, as in the three candidate case, these inequalities define the polyhedron Pd . The polyhedron Pt of all possible outcomes of a 4 candidate election
is given by leaving out the first four inequalities, thus the total amount of votes
should equal N and no candidate can have a negative amount of votes. The
chance of disagreement in an election with N voters will be given by the amount
of lattice points in Pd multiplied by 12 divided by Pt . The 12 is of the various
possible pairs of PV and PRV winners (the problem above only considers the
case that a is the PV winner and b the PRV winner).
Lepelley, Louichi and Smaoui (2007) claim that this four candidate case is
impossible to compute, for now, because of the 24 variables [9, p. 382]. However
40
using the technique of grouping variables introduced in Section 3.4 and applying
it as in the 3 candidate case done in Section 3.5 this problem can be reduced
to a problem of only 6 variables!
nabcd + nabdc + nacbd + nacdb + nadbc + nadcb
nbacd + nbadc + nbcad + nbcda + nbdac + nbdca
ncabd + ncadb + ncdab
ncbad + ncbda + ncdba
ndabc + ndacb + ndcab
ndbac + ndbca + ndcba
= na
= nb
= nca
= ncb
= nda
= ndc
Here, for example, nca are all the voters that prefer candidate c over all other
candidates but prefer a over b. Using these new variables an equivalent system
can be constructed:
na > nb
nb > nca + ncb
nb > nda + ndb
na + nca + nda < N2
na + nb + nca + ncb + nda + ndb = N
na , nb , nca , ncb , nda , ndb ≥ 0
Note that the fourth inequality corresponds to ‘b beats a in the second round’.
In the second round only a and b will compete because they had the highest
plurality score of the first round. All voters in the group nca will now vote for
a, the voters in the group ncb will vote for b and so on.
Of course in this system one has to take the grouping of variables into
account. In this case a non-negative integer coordinate na will correspond to
na + 5
(na + 5)(na + 4)(na + 3)(na + 2)(na + 1)
=
5
120
non-negative integer (nabcd , nabdc , nacbd , nacdb , nadbc , nadcb )-tuples by (3.1). The
same holds for a nb coordinate. A coordinate nca will correspond to
nca + 2
(nca + 2)(nca + 1)
=
2
2
(ncabd , ncadb , ncdab )-tuples. As will coordinates ncb ,nda and ndb . A general nonnegative integer coordinate in these new inequalities (na , nb , nca , ncb , nda , ndb )
will correspond to
na + 5 nb + 5 nca + 2 ncb + 2 nda + 2 ndb + 2
5
5
2
2
2
2
non-negative integer (nabcd , nabdc , . . . , ndcba )-tuples.
3.9
Condorcet Method with 4 Candidates
For a 4 candidate election with N voters one could also define the polyhedron
Pc which contains all voting situations in which candidate a is the Condorcet
41
Winner. Below is the system of linear inequalities with grouping of variables
already applied.
na + nca + ncdab + nda + ndcab ≥ N/2 (a beats b)
na + nba + nbdac + nda + ndbac ≥ N/2 (a beats c)
na + nba + nbcad + nca + ncbad ≥ N/2 (a beats d)
na + nba + nbcad + nbdac + nca + ncbad + ncdab + nda + ndbac + ndcab + nrem = N
na , nba , nca , nda , nbcad , nbdac , ncbad , ncdab , ndbac , ndcab , nrem ≥ 0
with
nabcd + nabdc + nacbd + nacdb + nadbc + nadcb
nbacd + nbadc
ncabd + ncadb
ndabc + ndacb
nbcda + nbdca + ncbda + ncdba + ndbca + ndcba
= na
= nba
= nca
= nda
= nrem
The grouping of variables reduces the number of variables from 24 to 11. One
should keep in mind though that every general non-negative integer coordinate
(na , nba , nca , nda , nbcad , nbdac , ncbad , ncdab , ndbac , ndcab , nrem ) corresponds to
na + 5 nca + 1 ncb + 1 nda + 1 ndb + 1 nrem + 5
5
1
1
1
1
5
non-negative integer (nabcd , nabdc , . . . , ndcba )-tuples.
42
4
Barvinok’s algorithm
Alexander Barvinok is a mathematician who developed an algorithm to count
the integer points inside a rational polyhedron using the Ehrhart Theory. Explaining the whole algorithm is beyond the scope of this work, it can be however
found in [13, Sec. 3] and [12, Sec. 5.3].
4.1
Summing a Polynomial Function over Integral Points
Section 3.4 introduced the concept of grouping of variables. This concept was
useful because it reduces the number of variables in a problem. For instance,
the number of variables in the problem of disagreement between PV and PRV
in a 4-candidate election were reduced from 24 variables to only 6 variables
(Section 3.8).
To make up for the grouping, every integer point in the polyhedron should
not be counted as 1 but should have a specific weight attached to them. It was
shown that this weight was some polynomial. The weight for a certain integer
point is dependent on its coordinates. To attach this weight to the coordinate
one has to sum a polynomial over the integer coordinates.
For example suppose one would like to sum the polynomial p(x, y, z) =
x2 +y+2z 3 over the integer points of some 3 dimensional polyhedron P . Among
the lattice points of P are the two points z1 = (1, 1, 1) and z2 = (2, 1, 0). The
two points will have a weight according to their coordinates, so z1 will have
weight p(1, 1, 1) = 1+1+2 = 4 and z2 will have weight p(2, 1, 0) = 4+1+0 = 5.
Thus every point in P has a weight that is given as a polynomial evaluated in
the coordinates of that point.
The summing of a polynomial over lattice points is not straightforward to
combine with the Ehrhart theory and Barvinok’s algorithm and the theory
behind it shall not be considered in this thesis. M. Vergne et al. studied this
topic. The results of this study can be found in two papers she wrote: [3] and
[1, Sec. 3.2].
4.2
Barvinok’s Algorithm Implemented
S. Verdoolaege et al. implemented Barvinok’s algorithm in 2004. This implementation is called barvinok and can be found on Verdoolaege’s website [11].
From here on out barvinok will refer to the implementation not the mathematician. Barvinok is a library for counting the number of integer points in
parametric and non-parametric polyhedra. The implementation has a lot of
programs that need to be run in a command line1 . Only one of these programs
was used to obtain the results presented in Section 5. The used program is
barvinok summate. This implementation was done in 2007 and is the implementation of the theory by M. Vergne mentioned in Section 4.1. The input and
output of this programs will explained in the next section.
1
For this thesis Ubuntu 9.10 and Ubuntu 10.04 LTS were used to run barvinok
43
4.2.1
barvinok summate
The program barvinok summate expects two inputs; a parameterized polyhedron P represented by a set of linear inequalities, and a (possible piecewise
quasi-)polynomial to sum over. The program then evaluates the polynomial in
each integer point and gives a quasi-polynomial in the parameters as output.
It was said that P was represented by a system of linear inequalities. The
program barvinok summate unfortunately only accepts ‘≥ 0’ and ‘= 0’ as inequalities. Every non-strict inequality or equality could naturally be converted
to a ‘≥ 0’ or ‘= 0’ without any trouble. Strict inequalities, ‘>’ and ‘<’, however, can not be converted to inequalities that easily. Section 4.2.2 presents a
method to obtain a system with strict inequalities using systems with non-strict
inequalities.
The format of the input for barvinok summate shall be shown with the aid
of an example. Consider the following 2-dimensional Polyhedron Pn :
x + y ≤ 3n
2x
≤ 5n
x
≥ 0
y ≥ 0
This polyhedron is dependent on some integer n and is therefore a parameterized
polyhedron. One could easily see, by drawing the polyhedron for example, that
the number of integer points in P1 , thus for n = 1, is 9. See figure 4.1 for P1 .
Figure 4.1: The polyhedron P1
First this system of linear inequalities should be converted to barvinok summate
input. Fortunately Pn only contains non-strict inequalities. This can be converted into a input file for barvinok summate:
#variables x,y
3n - x - y >= 0
5n - 2x >= 0
x >= 0
y >= 0
1
44
The first line specifies the variables in the problem, in this case x and y. The
next four lines are the constraints which define our polyhedron Pn . Then there
is a mandatory white space. The last line is the polynomial to sum over, in this
case every integer point has weight 1.
The output corresponding to this input is a quasi-polynomial in n of degree
2, this is expected by Ehrhart’s Theorem. The output is
( 35/8 * n^2 + ( -1/2 * {( 1/2 * n + 0 )} + 17/4 ) * n + ( -3/4 *
{( 1/2 * n + 0 )} + 1 ) )
This result is not very readable. The {,}-brackets is the fractional-part function,
see Definition 2.4.3. If one were to compute the coefficients for various n one
finds that these coefficients are periodic numbers dependent on n.
35 2
17
5
n +
, 4 n + 1,
8
4
8 n
n
If one were to substitute n = 1 in the polynomial the result would indeed be 9,
the number of integer points in P1 . One could simply use the original output
from barvinok summate in Maple by replacing { by frac( and } by ).
The forgoing example was also considered by Lepelly et al. and was solved
by hand using Clauss’s algorithm [9, p.367]. Indeed the same quasi-polynomial
was found.
The polynomial to sum over was here the constant polynomial 1. If x and
y were both grouped variables (see Section 3.4), for example x = a + b and
y = c + d, then the polynomial to sum over would be (x + 1) ∗ (y + 1). The
last line in the input would then be (x + 1) ∗ (y + 1) instead of 1. The output
would of course be different with this input.
4.2.2
Strict inequalities
In the previous section one has learnt that barvinok summate does not work
with strict inequalities. One could however construct a system with strict inequalities from systems that only contain non-strict inequalities and equalities.
The next example gives a method to do this.
Example 4.2.1. Consider the following system:
x > 0 (1)
y > 0 (2)
Figure 4.2 shows the feasible area of the system. One could construct this
system using only systems with non-strict inequalities and equalities. Note
that both inequalities in the system have a label, (1) and (2). Name this
system (>, >) because of the ‘>’ in (1) and (2). Then (≥, ≥) corresponds to
the system
x ≥ 0
y ≥ 0
45
Figure 4.2: The feasible area of Example 4.2.1.
To construct the (>, >) system one has to subtract all the boundaries of the
feasible area – polyhedron – of the system (≥, ≥). But if one were to take a
close look at (≥, ≥) − (=, ≥) − (≥, =) one should note that the origin is
subtracted twice from the original system. Therefore the origin needs to be
added once:
(>, >) = (≥, ≥) − (=, ≥) − (≥, =) + (=, =)
This way of rewriting is known as applying the inclusion-exclusion principle.
46
5
Results
The problems considered in Section 3 are actually problems of counting lattice
points in polyhedra. Therefore barvinok could be used to solve this problem.
This section shall consider the results of these problems obtained with barvinok.
5.1
PV vs. PRV with 3 Candidates
In Section 3.1 it was shown that the problem of disagreement between PV and
PRV can be represented by a set of linear inequalities and thus a by polyhedron.
This set of linear inequalities can be cast to input for barvinok summate as seen
in Section 4.2.1:
#variables abc,acb,bac,bca,cab,cba
abc + acb - bac - bca >= 0
bac + bca - cab - cba >= 0
-2abc - 2acb - 2cab + N >= 0
abc + acb + bac + bca + cab + cba - N = 0
abc >= 0
acb >= 0
bac >= 0
bca >= 0
cab >= 0
cba >= 0
1
where abc = nabc , acb = nacb , bac = nbac , bca = nbca , cab = ncab , cba = ncba .
Note that the conversion is not entirely correct because the barvinok input uses
non-strict inequalities rather then the strict inequalities used in the polyhedral
description of the problem. In Section 5.2 the method introduced in Section
4.2.2 is applied to obtain the results with strict inequalities.
In Section 3.5 it was shown that this problem could also be described
as a problem in only four variables using the grouping of variables concept,
keeping in mind that every integer point must be evaluated as a polynomial
(na + 1)(nb + 1) The barvinok summate input for this problem will be:
#variables a,b,ca,cb
a - b >= 0
b - ca - cb >= 0
-2a - 2ca + N >= 0
a + b + ca + cb - N = 0
a >= 0
b >= 0
ca >= 0
cb >= 0
(a+1)*(b+1)
47
The problem was solved in a fraction of a second for both formulations (the
latter formulation is a bit faster). The output is the same for both methods
and is a quasi-polynomial in N , the number of voters. This result is a very long
quasi-polynomial D(N ) of degree 5 (the dimension of the original polyhedron)
and shall therefore not be entirely shown here.
71
−139 1
79
5
D(N ) =
N4 + . . .
N +
N +
414720
41472 2
13824
Recall from Section 4.2.1 that the part between the fraction-part function brackets ({ and }) is a periodic number.
To compute the chance that PV and PRV disagree one must know both the
number of voting situations in which disagreement occurs and the total number
of voting situations (Section 3.1). Thus it remains to compute the total number
of voting situations. The total number of voting situations is described as a set
of linear inequalities
nabc + nacb + nbac + nbca + ncab + ncba = N
ni ≥ 0
(all votes add up to N )
(for i ∈ Sabcd ).
One could compute the number of integer points of this system with barvinok
and find
T (N ) =
=
(N + 1)(N + 2)(N + 3)(N + 4)(N + 5)
120
1
1 4 17 3 15 2 137
5
N + N + N + N +
N +1
120
8
24
8
60
a polynomial in N of degree 5. One could also recall that these two equations
are exactly the number of points that a grouped variable N = n1 + n2 + n3 +
n4 + n5 + n6 , ni ∈ N≥0 represents and is thus given by Equation (3.1) for d = 6.
Therefore the chance of disagreement between PV and PRV for N voters is
P(PV and PRV disagree with N voters) = 6
D(N )
.
T (N )
Recall that the multiplication by 6 is because of symmetry, here only the case
of a being the PV winner and b the PRV winner is regarded and there are in
total 6 different ordered pairs possible as PV and PRV winners. The results
are listed in the next table.
48
N
10
15
20
30
50
100
1000
100000
100000000
P(PV and PRV disagree)
0.3596
0.1927
0.2422
0.2059
0.1696
0.1462
0.1255
0.1233
0.1233
It seems that the chance of disagreement converges to 12, 33% for N → ∞. Indeed, if N → ∞ the N 5 term in both D(N ) and T (N ) will dominate. Therefore,
the chance will be given by:
P(PV and PRV disagree with ‘∞’ voters) = 6
71
414720
1
120
!
=
71
≈ 0.1233.
576
This result is well known in voting theory and was among many others
before them also established by D. Lepelly et al. (2007) [9, p. 377].
5.2
PV vs. PRV with 3 Candidates and Strict Inequalities
In the previous section the strict inequalities in the PV vs PRV systems were
replaced by non-strict inequalities so that they could be used as proper input.
Note however that the problem without strict inequalities is not the same as
with non-strict ones. Without the strict inequalities ties are also allowed, so
the polyhedron not only contains voting situations were disagreement occurs
but also contains voting situations in which for example ties between candidate
a and b occur (and thus no disagreement between PV and PRV).
In the system of disagreement between PV and PRV for a 3 candidate
election there are three strict inequalities. Thus (>, >, >) corresponds to
n1 + n2 > n3 + n4
n3 + n4 > n5 + n6
N
2 > n1 + n2 + n5
n1 + n2 + n3 + n4 + n5 + n6 = N
ni ≥ 0
(1)
(2)
(3)
Recall from Section 4.2.2 that all the boundaries have to be subtracted only
once from (≥, ≥, ≥). Doing this yields:
(>, >, >) = (≥, ≥, ≥) − (=, ≥, ≥) − (≥, =, ≥) − (≥, ≥, =)
+ (=, =, ≥) + (=, ≥, =) + (≥, =, =) − (=, =, =)
49
Thus all above systems have to be computed in barvinok. The resulting
quasi-polynomials need to be subtracted and added as done above. Then the
resulting quasi-polynomial, which should be the quasi-polynomial of the system (>, >, >), should be multiplied by 6 and divided by all possible voting
outcomes, as shown in the previous section. Doing this results in a quasipolynomial representing the proper chance of disagreement between PV and
PRV in a 3 candidate election with N voters. In the next table some values of
the polynomial are depicted.
N
10
15
20
30
50
100
1000
100000
100000000
P(PV and PRV disagree)
0
0.0728
0.0434
0.0668
0.0839
0.1022
0.1210
0.1232
0.1233
The chance for disagreement between PV and PRV for an election with 10
voters is 0. That means that the polyhedron Pd of disagreement contains no
integer points. If one compares this table to the table in Section 5.1 one should
note that in this case the chance for small N is very different than found in
the previous section. The chance of disagreement gradually increases as N
grows. The results in the previous section were only right for infinitely large
N , then the N 5 term dominates. The leading term in the quasi-polynomial is
equal to the Euclidean volume of the polyhedron, that volume is the same for
the polyhedra in the strict and non-strict case because the boundary has no
71
influence on the volume, hence both chances converge to 576
.
Here the system without grouping of variables is regarded. If one were to
do the same with grouping of variables one would obtain the same results.
5.3
Condorcet Method with 3 Candidates
In Section 3.2 the reader was familiarised with the Condorcet method. The
objective was to compute the chance that this method does not yield a winner
in a 3 candidate election with N voters. To compute this chance it was suggested
that the complementary event was determined, that is, the chance that there
is a Condorcet winner. The polyhedron Pc was constructed, this polyhedron
represented an election with 3 candidates and N voters in which candidate a was
the winner. Counting the number of lattice points in Pc and dividing it by the
number of lattice points in Pt (the polyhedron of all possible voting situations)
gives the chance that candidate a is the Condorcet winner. The chance that
there is no Condorcet winner is thus 1 − 3בthe chance that a is Condorcet
winner’ (the 3 is because candidate b or c could also be the Condorcet winner).
The set of linear inequalities presented Section 6.1 that represents an 3
candidate election with candidate a as Condorcet winner and N voters can be
50
cast to barvinok summate input. Note that grouping of variables is already
applied.
#variables a,ba,ca,rem
2a + 2ca - N >= 0
2a + 2ba - N >= 0
a + ba + ca + rem - N = 0
a >= 0
ba >= 0
ca >= 0
rem >= 0
(a+1)*(rem+1)
Note that this input uses non-strict inequalities. It was shown in Section 4.2.2
that the system with strict inequalities could be constructed as
(>, >) = (≥, ≥) − (=, ≥) − (≥, =) + (=, =).
where (≥, ≥) is the system above, (=, ≥) is the same system as above with
the first inequality replaced by an equality and so on. Computing all the quasipolynomials with the aid of barvinok summate and then subtracting and adding
them as above one finds the quasi-polynomial that corresponds to the correct
system with strict inequalities. In the next table the chance that an election
with 3 candidates and N voters yields no Condorcet winner are listed.
N
10
15
50
51
100
101
1000
1001
100000
100001
P(No Condorcet winner)
0.2657
0.0596
0.1146
0.0622
0.0895
0.0624
0.0653
0.0625
0.0625
0.0625
Note that the chance differs for even and odd N . It seems that the chance of no
Condorcet winner for small even N is much bigger than for small odd N . This
is probably because the chance of a tie, which will could result in no Condorcet
winner, is much bigger for an even amount of voters. Furthermore the chance
increases for odd N as N grows, while the chance for even N decreases for
N → ∞. The leading coefficient of the quasi-polynomial is N 5 /384, this term
will dominate the quasi-polynomial as N → ∞. Thus
P(No Condorcet winner with ‘∞’ voters) = 1 − 3
51
1
384
1
120
!
=
1
= 0.0625,
16
where the 1/120 is because of the polynomial T (N ) that represents all the
possible voting situations. This result of chance of disagreement was also found
by Gehrlein and Fishburn [7].
5.4
Manipulability of Plurality Voting with 3 Candidates
In Section 3.3 the reader was introduced to manipulable elections. The main
question in that section was the chance that an election with 3 candidates
and N voters could be manipulated so that the projected winner would not win
because of strategic votes. To compute this chance one has to know the number
of voting situations in which this manipulability is possible and divide it by the
total amount of voting situations. The polyhedron Pm , of all voting situations
in which candidate a was the projected winner but b won the elections because
of strategic voting, was defined by a set of linear inequalities. Counting the
number of lattice points in Pm , multiplying it by 6 because of the symmetry
and dividing it by the number of lattice points in Pt (the total number of voting
situations) gives the chance that an election with 3 candidates and N voters,
where plurality voting is the used voting system, is manipulable.
In Section 3.7 grouping of variables was applied to reduce the number of
variables for the problem. The corresponding polyhedron Pm can be casts to
barvinok summate input:
#variables a,b,ca,cb
a - b >= 0
b - ca - cb >= 0
b + cb - a >= 0
a + b + ca + cb - N = 0
a >= 0
b >= 0
ca >= 0
cb >= 0
(a + 1)*(b + 1)
This input uses non-strict inequalities which should be strict ones. Therefore the
inclusion-exclusion principle, introduced in Section 4.2.2, needs to be applied.
Suppose the system above is (≥, ≥, ≥), the goal is then to obtain (>, >, >)
using only non-strict inequalities and equalities. In Section 5.2 this very same
problem was solved using
(>, >, >) = (≥, ≥, ≥) − (=, ≥, ≥) − (≥, =, ≥) − (≥, ≥, =)
+ (=, =, ≥) + (=, ≥, =) + (≥, =, =) − (=, =, =)
All the above systems will result in quasi-polynomials. If one were to add and
subtract the resulting quasi-polynomials, one would obtain the quasi-polynomial
52
M (N ) of the system with strict inequalities. Here only the leading term of the
quasi-polynomial is given:
71
N5 + . . . .
207360
In the next table, for various N , the chance is listed that a 3 candidate election
with N voters is manipulable (and plurality voting is the used voting system).
M (N ) =
N
10
15
20
30
50
100
1000
100000
100000000
P(PV manipulable)
0
0.0890
0.0867
0.1336
0.1679
0.2044
0.2420
0.2465
0.2465
It seems that the chance converges to 0.24652777 . . . for N → ∞. Recall that
the leading term from M (N ) will dominate as N → ∞, furthermore, recall that
the leading term of the polynomial T (N ) that represents all possible voting
situations was N 5 /120. Therefore
P(PV manipulable with ‘∞’ voters) = 6
5.5
71
207360
1
120
!
=
71
= 0.24652777 . . . .
288
PV vs. PRV with 4 Candidates
In Section 3.8 it was shown that the disagreement of PV vs PRV for a 4 candidate election could be represented by a system of linear inequalities with 6
variables using grouping of variables. It was also shown that because of the
grouping of variables every lattice point should have a weight corresponding to
the polynomial:
na + 5 nb + 5 nnca + 2 nncb + 2 nnda + 2 nndb + 2
5
5
2
2
2
2
=
(na + 1)(na + 2)(na + 3)(na + 4)(na + 5) (nb + 1)(nb + 2)(nb + 3)(nb + 4)(nb + 5)
···
5!
5!
(nca + 1)(nca + 2) (ncb + 1)(ncb + 2) (nda + 1)(nda + 2) (ndb + 1)(ndb + 2)
2!
2!
2!
2!
With this information the barvinok summate input can be constructed:
···
53
#variables a,b,ca,cb,da,db
a - b >= 0
b - ca - cb >= 0
b - da - db >= 0
N - 2a - 2ca - 2da >= 0
a + b + ca + cb + da + db - N = 0
a >= 0
b >= 0
ca >= 0
cb >= 0
da >= 0
db >= 0
(a + 1) * (a + 2) * (a + 3) * (a + 4) * (a + 5) * (b + 1) * (b + 2) *
(b + 3) * (b + 4) * (b + 5) * (ca + 1) * (ca + 2) * (cb + 1) * (cb + 2) *
(da + 1) * (da + 2) * (db + 1) * (db + 2) * (1/120) * (1/120)* (1/16)
Unfortunately, even after two weeks of computation, barvinok did not produce an answer. The computation was done on a computer with a 3.2 GHz
processor and 1024 MB of memory.
5.6
Condorcet Method with 4 Candidates
In Section 3.9 a system of linear inequalities was presented that represented an
election with 4 candidates and N voters which yielded candidate a as plurality
winner. Recall that, because of the grouping of variables, one has to sum over
the polynomial
=
na + 5
5
nca + 1 ncb + 1 nda + 1 ndb + 1 nrem + 5
1
1
1
1
5
(na + 1)(na + 2)(na + 3)(na + 4)(na + 5)
(nca + 1)(ncb + 1)(nda + 1) · · ·
5!
(nrem + 1)(nrem + 2)(nrem + 3)(nrem + 4)(nrem + 5)
5!
The barvinok summate input can now be constructed:
· · · (ndb + 1)
54
#variables a,ba,ca,da,bca,bda,cba,cda,dba,dca,rem
2a + 2ca
2a + 2ba
2a + 2ba
a + ba +
a >= 0
ba >= 0
ca >= 0
da >= 0
bca >= 0
bda >= 0
cba >= 0
cda >= 0
dba >= 0
dca >= 0
rem >= 0
+ 2cda + 2da + 2dca
+ 2bda + 2da + 2dba
+ 2bca + 2ca + 2cba
ca + da + bca + bda
+
N >= 0
N >= 0
N >= 0
cba + cda + dba + dca + rem - N = 0
(a + 1) * (a + 2) * (a + 3) * (a + 4) * (a + 5) * (ba + 1) * (ca + 1) *
(da + 1) * (rest + 1) * (rest + 2) * (rest + 3) * (rest + 4) * (rest + 5) *
1/120 * 1/120
Unfortunately, this problem was also not solved within two weeks using
barvinok. The computation was done on a computer with a 3.2 GHz processor
and 1024 MB of memory.
55
6
Conclusion and Further Research Topics
This section shall draw conclusions from te results obtained in Section 5, after
that some topics of further research will be discussed.
6.1
Conclusion
The goal of this thesis was to formulate an efficient way to count the number of
integer points in polyhedra using the Ehrhart Theory, and apply this to Voting
theory.
In Section 2 the Ehrhart theory itself was outlined and Ehrhart’s Theorem was presented and proven. This theorem stated that the number of integer points in a polyhedron depend on some parameter n is given by a quasipolynomial in n. The degree of the quasi-polynomial is the dimension of the
polyhedron.
Section 3 was concerned with Voting theory. Several voting systems were
introduced. These voting systems gave rise to interesting questions. The goal
of the section was to attempt to answer these questions. It was shown that
the problems formulated were actually problems of counting lattice points in
polyhedra, thus one could use the Ehrhart theory to answer the posed questions.
In Section 4 the reader was introduced to an implementation of Barvinok’s
Algorithm by S. Verdoolaege. The in- and output format for the used program,
barvinok summate, was explained. This section also gave a method to create
a system with strict inequalities using only non-strict inequalities.
Section 5 gave the results obtained with barvinok summate for the problems
posed in Section 3.
6.1.1
PV vs. PRV with 3 Candidates
In Sections 5.1 and 5.2 the problem considered was that of the disagreement
between plurality voting and plurality runoff voting. The number of points in
the parametrised polyhedra Pd (all voting situations which yield disagreement)
and Pt (all voting situations) were counted using barvinok summate.
It was shown that as N → ∞ the chance of disagreement converges to
71
576 ≈ 0.1233. For small N the chance is considerably lower but grows quickly
as N increases.
6.1.2
Condorcet Method with 3 Candidates
Section 5.3 considered the problem of an election with 3 candidates and N voters
which yields no Condorcet winner. The chance for this event was computed by
determining the chance of the complementary event, that is, that an election
always yields a Condorcet winner.
1
The limit value of the chance was computed to be 16
= 0.0625 as N → ∞.
Interesting is the alternating chance between even and odd N . The chance of
no Condorcet winner for even N is always bigger than the limiting value, while
the chance for odd N is always smaller. Furthermore, the difference between
the chance for even N and the limiting value is a lot bigger than that of the
57
odd N and the limiting value. This is probably because the chance of a tie
increases as N is even (a tie can result in no Condorcet winner).
6.1.3
Manipulability of Plurality Voting with 3 Candidates
In Section 5.4 manipulability of plurality voting was investigated. The assumption was that voters of a certain coalition would vote for an other candidate
than their top choice in order to let their second choice win the election. Again
barvinok summate was used to count the points in the corresponding polyhedra.
71
The chance of manipulability converges to 288
= 0.24652777 . . . for N → ∞.
For small N this chance was lower but increased to the limiting value as N
increased.
It seems that plurality voting is quite susceptible to manipulation of a coalition of voters. One would preferably want to use a voting method in which this
chance of manipulability is lower. Some interesting research of manipulability
was done by D. Lepelley and B. Mbih [10]. They showed that, of the four voting
systems they investigated, plurality runoff voting was the least susceptible to
manipulation [10, p.253, 264].
6.1.4
4 Candidate Elections
Sections 5.5 and 5.6 attempted to solve the problems of disagreement between
PV and PRV and no Condorcet winner for a 4 candidate election instead of for
a 3 candidate election. The hope was that with the use of the Ehrhart theory
and Barvinok’s algorithm together with the theory developed by M. Vergne
it was possible to solve these problems within a reasonable amount of time.
Unfortunately, after two weeks of computation on a computer with a 3.2 GHz
processor and 1024 MB of memory barvinok summate still did not produce an
answer.
For the Condorcet method, however, some results are known for a 4 candidate election. W.V. Gehrlein obtained results for the chance of disagreement
for odd N , the amount of voters. He found that the limiting value for no Con331
dorcet winner in an election with 4 candidates and N voters is 2048
≈ 0.1616
[6, p.335, 337, 340]. This chance is considerable higher than in the 3 candidate
case. This chance will probably only be higher if there are more candidates
since the chance of tie outcomes increases if more candidates compete.
6.1.5
Simple and Efficient
Voting theorist, many of whom are successful economists, have investigated the
questions posed in this work for a long time. The methods they used to obtain
similar results as in this thesis were very cumbersome and difficult. To get an
idea of the computations and reasoning used by these voting theorists one could
have a look at [10], [7] and [6] (these are just a few of many articles on voting
theory and probability calculation). Only recently is was discovered that the
Ehrhart theory could be used to solve said problems. This thesis solved the
problems using the Ehrhart theory and Barvinok’s algorithm, this method is
58
much more simple and efficient than the methods used by voting theorist before
the ‘rediscovery’ of the Ehrhart theory.
6.2
Further Research Topics
The field of combinatorics combined with voting theory is a very vibrant research topic. This thesis also gives rise to further research topics.
6.2.1
Assumptions in the Voting Theory
In Section 3 voting theory was introduced. With it came three assumption to
make the modelling of an election easier.
1. The IAC condition is satisfied.
2. No strategic votes are cast.
3. Every voter will have a complete linear preference ranking on the candidates
As with many assumptions one might argue that they are not very realistic.
The first assumption is about the IAC condition. IAC stands for Impartial
Anonymous Culture. When this condition is satisfied it is assumed that every
voting situation (an outcome of an election) is evenly likely to occur. This is
of course far from realistic and one might want to drop this assumption. Then
one should define some kind of distribution function over all possible voting
situations so that every outcome of a election has a different probability to
occur.
The second assumption says that there are no strategic voters. This assumption was dropped to investigate manipulability by a coalition of voters of
plurality voting. One could also investigate manipulability by individuals or
manipulability of other voting systems.
The last assumption could also be looked at sceptically. Certainly not every
voter will have a complete linear preference ranking on the candidates. It might
happen that one evenly prefers two candidates. This of course could also be
modelled at the costs of introducing more variables (thus, preference orders).
If one were to allow ties in preferences, a typical preference could look like
a = b > c, meaning that the voter with this preferences evenly likes candidate
a and b and prefers both a and b over c.
6.2.2
Other Voting Systems
In this thesis three kinds of problems were considered:
The chance that plurality voting and plurality runoff voting disagree;
The chance that an election has no Condorcet winner;
The chance that an election is manipulable by a coalition of voters.
There are many more voting systems that could give rise to evenly or more
interesting questions.
59
6.2.3
Five Candidates
In this thesis it was attempted to compute problems for a 4-candidate election. One might be curious if it is also possible to compute the chance for
5 candidates. This of course is a reasonable thought. However, bearing in
mind that the 3-candidate case took lees than a second to compute and the
4-candidate case was not finished after two weeks, it seems highly unlikely that
the 5-candidate case can be solved in reasonable time given the current computational powers of computers and mathematical methods. If it is possible to
parallelize the computations done by barvinok the computation time could be
reduced considerable.
60
7
References
[1] V. Baldoni, N. Berline, and M. Vergne. Summing a polynomial function
over integral points of a polygon. User’s guide. http://www.math.jussieu.
fr/∼vergne/publications2/publications/summingpolygonusersguide.pdf,
May 2009. The user manual for a Maple program for summing a
polynomial function over integral points of a polygon.
[2] M. Beck and S. Robins. Computing the Continuous Discretely: IntegerPoint Enumeration in Polyhedra. Springer, 2007.
[3] N. Berline and M. Vergne. Local euler-maclaurin formula for polytopes.
Moscow Mathematical Journal, 7:355–386, 2007. The mathematical background behind the concept of Summing a Polynomial Function over Integral Points of a polyhedron.
[4] A. Charnes and W. W. Cooper. The strong minkowski farkas-weyl theorem
for vector spaces over ordered fields. Mathematics, 44:914–916, 1958.
[5] P. Clauss. A tribute with a small biography of Eugène Ehrhart. http:
//icps.u-strasbg.fr/∼clauss/Ehrhart.html.
[6] W.V. Gehrlein. Condorcet winners on four candidates with anonymous
voters. Economics letters, 71:335–340, 2001.
[7] W.V. Gehrlein and P.C. Fishburn. Condorcets paradox and anonymous
preference profiles. Public Choice, 26:1–18, 1976.
[8] R. L. Graham, D. E. Knuth, and O. Patashnik. Concrete Mathematics: A
Foundation for Computer Science. Addison-Wesley Publishing Company,
1989.
[9] D. Lepelley, A. Louichif, and H. Smaoui. On ehrhart polynomials and probability calculations in voting theory. Social Choice and Welfare, 30:363–
383, 2007.
[10] D. Lepelley and B. Mbih. The vulnerability of four social choice functions to coalition manipulation of preferences. Social Choice and Welfare,
11:253–265, 1994.
[11] S. Verdoolaege. Barvinok, a library for counting the number of integer
points in parametric and non-parametric polytopes. version used: 0.30
and 0.31. http://www.kotnet.org/∼skimo/barvinok/.
[12] S. Verdoolaege. barvinok: User guide. http://www.kotnet.org/∼skimo/
barvinok/barvinok.pdf, June 29 2010. The user guide for barvinok with
some mathematical background behind the programs.
61
[13] S. Verdoolaege, R. Seghir, K. Beyls, V. Loechner, and M. Bruynoogh.
Counting integer points in parametric polytopes using barvinok’s rational
functions. Algorithmica, 48:37–66, June 2007.
62
© Copyright 2026 Paperzz