SAVE Voronoi IRV

Serial Approval Vote Election

Serial Approval Vote Election (SAVE)

Voronoi Diagrams and Instant Runoff Voting

In this model, the electorate is assumed to be distributed uniformly through the full area, and the area of any region expressed as a fraction of the full area is interpreted as the vote fraction in that area.

A Voronoi diagram is a way of dividing an area based on proximity to a set of points. In a two-dimensional voting context, each point represents a choice alternative, and the area around the point is the fraction of the electorate that considers that point the best alternative. When interpreted in this way, a Voronoi diagram can represent an honest Choose One or IRV election as seen in Figure 1.

Try it out yourself

The Voronoi model controls let you:

  • Set the number \(N\) of initial motion points,
  • Randomly generate \(N\) motions using a Uniform motion distribution,
  • Randomly generate \(N\) motions using a Normal motion distribution,
  • Explicitly add a motion point at the exact center of the diagram if one is not already there using Add center motion,
  • Manually add a new motion using Add motion,
  • Manually remove a motion by selecting it and clicking Delete motion,
  • Move any of the motion points, and
  • Show an IRV election with the current motions using Next IRV Step.

Note: Once you begin stepping through the IRV process all motions become fixed.

null.svg

Figure 1: Voronoi diagram as an election model using an unweighted Euclidean metric.

Things to look for in this simulation ,,fold,,

This model can be used to explain various aspects of political behavior. By limiting the number of choices to 2, one can show why two political parties might converge over time to a common centrist position. With the ability to add a third choice, the model can show why centrist positions are unstable under plurality rules.

As one adds more choices and runs more simulations, it becomes increasingly obvious how IRV is subject to the center squeeze problem. For example, set choices to 15 and click Normal motion distribution. Add a click of Add center motion to the mix, then start clicking Next IRV step while watching where motions are being eliminated.

Trying to predict the winner of an IRV election with any reasonable number of choices is fairly challenging even with all the information displayed right out in the open. My one take-away from this model is how often and how quickly this IRV simulation clears out centrist motions.

The two positive ideas I gleaned from this IRV model are the idea of collective choice as an iterative process, and the realization that quite often, the initial set of motions will not include any really good ones from the perspective of the collective.

That second idea, about good and not so good motions, is implicit in the choice of a spatial model of the electorate. A Voronoi model makes this point very clearly when you use only two motions. The center motion will be preferred over any other motion whatsoever. Given that property of the model, it is tempting to claim any voting system that does not select the most central motion is flawed. I will still make that claim, but a Voronoi diagram is not sufficient evidence to prove the claim. For that, I need a better model of the electorate, which is next on the list.

One fairly negative realization, beyond a distaste for IRV, was that the use of a Voronoi diagram, or any other visualization method that did not represent individual voter preferences, was not a very useful way to represent an electorate. For more on my response to that realization, see the SAVE VT Voters and Electorates page.

What's going on? ,,fold,,

This simulation is a recreation of one of my early models when I first started coding voting systems. The model is very basic. The square region represents the entire electorate, and the labels points represent motions under consideration. Voter preferences are considered to be uniformly and densely distributed, such that there is a 1-to-1 correspondence between an area and a share of the vote.

Voters are assumed to prefer motions closer to their preferred position, so I've used a Voronoi tessellation to indicate the areas closest to each point, and thus each motion's share of first place votes.

The Voronoi tessellation is constructed by running the Bowyer-Watson algorithm on the motion positions to create a Delaunay triangulation: a set of non-overlapping triangles with corners at the input points with the property that there are no input points in the interior of the circumcircle of any of the triangles. The Delaunay triangulation is easily converted to the Voronoi tessellation. For more information see the code or the Wikipedia articles on the Bowyer-Watson algorithm and the Delaunay triangulation.

The score of any motion is a measure of how the electorate as a whole thinks about that motion. It is calculated by using a double integral to determine the area under a cone centered at the motion with a slope of 1 in any direction away from that point. The actual calculation starts with a coordinate transformation mapping the motion and the corners of the full region linearly, so the motion is at the origin. The corner values are then put into the following definite integral. \[ \int_{y_1}^{y_2} \int_{x_1}^{x_2} \sqrt{(x_m - x)^2 + (y_m -y)^2} \,dx\,dy \] where \((x_{1},y_{1})\) is the lower left corner, \((x_{2},y_{2})\) is the upper right corner, and \((x_{m},y_{m})\) is the position of the motion to be scored.

This value is then compared to the result of the largest possible volume result, occurring when the motion is in a corner, to the smallest possible volume, when the motion is at the untranslated origin. The comparison is linear in the volume, and non-linear as the distance from the center (possibly parabolic, but I haven't checked). The change in score for a unit distance is less in the center than at the edges.

This simulation takes the quick and dirty route to implementing honest IRV, in that it runs as a series of honest plurality votes, with eliminations of the motion with the lowest vote share after each round when there is no winner.

Date: 2022-11-26 Sat 00:00

Author: Thomas Edward Cavin

Created: 2025-07-01 Tue 05:16

Validate