# Optical design for laser tweezers Raman spectroscopy setups for increased
sensitivity and flexible spatial detection

Tobias Dahlberg  Department of Physics, Umeå University, 901 87 Umeå, Sweden
Magnus Andersson  Department of Physics, Umeå University, 901 87 Umeå, Sweden
Corresponding author<EMAIL_ADDRESS>
###### Abstract

We demonstrate a method to double the collection efficiency in Laser Tweezers
Raman Spectroscopy (LTRS) by collecting both the forward and back-scattered
light in a single-shot multitrack measurement. Our method can collect signals
at different sample volumes, granting both the pinpoint spatial selectivity of
confocal Raman and the bulk sensitivity of non-confocal Raman simultaneously.
Further, we display that our approach allows for reduced detector integration
time and laser power. Thus, our method will enable the monitoring of
biological samples sensitive to high intensities for longer times.
Additionally, we demonstrate that by a simple modification, we can add
polarization sensitivity and retrieve extra biochemical information.

††journal: ol

##  1 Introduction

Laser tweezers Raman spectroscopy (LTRS) is a powerful technique that combines
the manipulation capabilities of optical tweezers, and the biochemical
fingerprinting of Raman spectroscopy [1, 2]. LTRS has been applied to study
many biological systems, for example, bacteria, cells, and spores.
Specifically, LTRS has been used to assess germination kinetics, spore
deactivation [3, 4], and red blood cell oxygenation states and interaction
with silver nanoparticles [5, 6]. However, spontaneous Raman scattering is a
weak process as only about 1 in 10 million excitation photons scatters in this
manner. Combining this with the weak scattering inherent to many biological
materials [7], we need either long integration times [8] or high excitation
powers [9] to get clear Raman spectra. However, both of these solutions have
adverse side effects. Long integration times cause the time resolution to
suffer, making it impossible to investigate fast processes. Further,
increasing the excitation power increases the rate of photodamage linearly,
meaning that doubling the power halves the maximum measurements time [10].

We can avoid these problems by moving away from spontaneous Raman scattering
to more sensitive Raman techniques such as CARS or SERS, improving sensitivity
by several orders of magnitude. However, these techniques have limitations.
CARS requires expensive and complicated experimental setups to realize [11],
and SERS necessitates the use of expensive sample substrates that often suffer
problems with producing homogeneous and repeatable Raman signals [12]. Thus,
to keep the simple experimental setup of a spontaneous Raman setup and to
minimize these problems, it is desirable to make it as efficient as possible.

In this work, we show an easy way of doubling an LTRS setup’s collection
efficiency. We modify an LTRS setup working in the back-scattering
configuration to simultaneously collect the forward-scattered light in a
single-shot multitrack measurement using a high numerical aperture condenser.
This concept of increasing collection efficiency in Raman spectroscopy has
been explored in previous publications [13, 14]. However, these approaches
rely on special sample substrates to work increasing complexity compared to
using standard coverslips. Thus, most LTRS setups described in the literature
works by exclusively collecting either the back or forward-scattered light
[15, 16, 17]. Since LTRS samples often are transparent and the setups in
general already have a high numerical aperture condenser mounted, extending
the capabilities to collect both back and forward-scattered light is
straightforward. Using this approach, we demonstrate a more sensitive and
flexible experimental setup that allows for both confocal and non-confocal
detection. Additionally, we show how to add polarization sensitivity to the
setup to measure how the Raman scattering rotates polarization, which depends
on the symmetry of the molecular vibrations [18]. We anticipate that these
results can be useful for future studies of sensitive biological systems.

##  2 Experimental

To trap particles and acquire their Raman spectra, we use a custom-built LTRS
instrument built around a modified inverted microscope (IX71, Olympus)
previously described in [19, 20, 21], see Fig. 1. In short, we focus an 808
$nm$ continuous-wave laser (CRL-DL808-120-S-US-0.5, CrystaLaser) using a 60x
water immersion objective (UPlanSApo60xWIR 1.2NA, Olympus) to form the trap
and excite the Raman scattering. Further, we use the objective to collect the
back-scattered Raman light.

For this study, we modify the setup by adding a 60x oil immersion objective
(UPLANAPO60X 1.4NA, Olympus) above the sample to collect the forward-scattered
light and act as a condenser to illuminate the sample. We then separate the
forward-scattered light and illumination light using a shortpass filter
(FESH0750, Thorlabs). After this, we pass the forward-scattered light through
a notch filter, an optional confocal pinhole, and combine it with the back-
scattered light using a D-shaped pick off mirror (PFD10-03-P01, Thorlabs).
Next, we depolarize the beams using a depolarizer (DPP25-B, Thorlabs) and
direct them to the spectrometer (Model 207, 600lp/mm grating, McPherson),
where they are dispersed and imaged on separate tracks on a CCD detector
(Newton 920N-BR-DD XW-RECR, Andor). Optionally, for polarization Raman
measurements, we instead combine the beams using a polarizing beam splitter
(PBS252, Thorlabs) with a half-wave plate inserted in the forward-scattered
beam path. This change allows us to rotate the forward-scattered beam’s
polarization and select if we want to measure the polarized or depolarized
Raman bands. With this setup, we can separately measure the forward and back-
scattered light or the polarized and depolarized Raman spectrum in a single
shot similar to [18].

To prepare a sample for use in the LTRS setup, we first construct a sample
chamber. We prepared a typical sample chamber by adding two pieces of double-
sided scotch tape (3M Company) spaced 5 $mm$ apart on a 24.0 × 60.0 $mm$
coverslip (no 1, Paul Marienfeld GmbH & Co). Then, we position a 20.0 × 20.0
$mm$ coverslip (no 1 , Paul Marienfeld GmbH & Co) on top of the tape, to form
a 5.0 × 20.0 × 0.1 $mm^{3}$ chamber. Next, we fill the chamber with our sample
liquid of choice by adding a few microliters of liquid at one of the openings
and allowing capillary forces to fill the chamber. For this study, this was
either 3 $\mu m$ CML polystyrene latex beads (Thermo Fisher Scientific)
suspended in either absolute ethanol (VWR International) or Milli-Q water,
alternatively pure cyclohexane (Honeywell International), or Bacillus
Thuringiensis (B. Thuringiensis) spores ATCC 35646 suspended in Milli-Q water.
Finally, we seal the open ends of the chamber using vacuum grease (Dow
Corning).

To measure the Raman spectrum, we mount the sample to the LTRS setup and
position the focal plane of the trapping objective $\sim$ 30 $\mu m$ from the
top coverslip. Then, we focus the condenser objective to be parfocal with the
trapping objective, that is, to have overlapping focal planes. From this
position, we can either measure using this parfocal setup or defocus the two
objectives by moving the trapping objective up or down. After focusing, we can
open the shutter to the laser and trap a particle or illuminate the sample
liquid. Additionally, we can choose if we want to use the optional confocal
pinhole in the forward scattered beam path for confocal or non-confocal
measurements. Next, we record the Raman spectrum using 2 accumulations with 5
$s$ exposure time with a laser power of 20 $mW$. When measuring on spores, we
instead use quartz coverslips (MODEL) to construct the sample chamber and we
use 2 accumulations of 30 $s$ and a laser power of 2.5 $mW$.

Figure 1: Illustration of the experimental setup with abbreviated component
names. M mirror, DM1 750 $nm$ shortpass filter, DM2 650 $nm$ shortpass, PBS
polarizing beamsplitter,OCP optional confocal pinhole, CP confocal pinhole, SF
spatial filter, BE beam expansion, L lens, NF notch filter, DP depolarizer, BC
beam combiner: has two options i) the two beams are merged using a PBS. A
half-wave plate rotates the polarization of one beam to select between
depolarized and polarized Raman scattering. ii) A pick-off mirror, D, is used
to combine the beams. The inset shows a zoomed in view of the sample.

##  3 Results and Discussion

To display our setup’s increased collection efficiency, we trap 3 $\mu m$
polystyrene beads in MQ water and measure their Raman spectra with the
condenser and objective parfocal to each other with the optional confocal
pinhole left out. Configured like this, we theoretically collect $\sim$ 60 %
of the total 4$\pi$ solid angle scattered light from the microparticle, thus
more than doubling the $28\%$ collected solely from the back-scattering. This
increase in collection efficiency should double the Raman signal if we sum the
two detection directions. To verify this experimentally, we compare the
intensity of the 1001 $cm^{-1}$ peak between the back-scattered spectrum and
the sum and see that the ratio between the two is $2\pm 0.1(n=5)$, close to
the expected value of $2$, Fig. 2. The small deviations in the ratio are
probably due to minor alignment differences between samples. These results
indicate that even though this method adds complexity to alignment, it is
still consistent between samples.

As we can see from the acquired spectrum, the forward-scattered light contains
a broad background centered on 1000 $cm^{-1}$, originating from the coverslips
that make up the sample chamber, Fig. 2A. This background is mostly absent
from the back-scattered signal due to the confocal pinhole filtering it out. A
confocal pinhole gives the back-scattered light a high spatial specificity,
meaning it collects light from a small sample volume. Conversely, the forward-
scattered light gathers light from a greater sample volume, lacking a confocal
pinhole. This ability to collect light from a larger volume results in the
forward-scattered light containing more signal from the sample bulk and thus
have more background. As a result, our setup effectively gathers light from
both the sample bulk and the trapped object simultaneously, adding
experimental flexibility to the setup.

Figure 2: A) Backward (black), forward (red) and sum (blue) spectra of a
trapped 3 $\mu m$ polystyrene bead in water. Here we measure with the trapping
and condenser objective parfocal to each other. B) A spectrum of a 3 $\mu m$
polystyrene bead trapped in ethanol which adds a peak at 880 $cm^{-1}$. Here
the trapping and condenser objectives are defocused by 20 $\mu m$ from each
other. C) Spectrum of cyclohexane using pick-off mirror to combine beams
measured with the condenser and trapping objective parfocal to each other. D)
Using PBS to combine beams and a half-wave plate to rotate the polarization of
the forward-scattered beam by 90°.

To demonstrate this difference in spatial sensitivity between the two
detection paths, we measure on 3 $\mu m$ beads suspended in ethanol with the
condenser and trapping objective defocused by 20 $\mu m$ with the optional
confocal pinhole left out, Fig. 2B. In this case, we see that the back-
scattered signal looks the same as before except for an added peak at
$\sim$880 $cm^{-1}$ corresponding to ethanol. However, the forward-scattered
signal has altered. The forward-scattered spectrum now shows a faint
polystyrene peak at 1001 $cm^{-1}$ and a prominent ethanol peak. If we compare
the ethanol peak ratio between the forward and back-scattered spectrum, we get
a ratio of $\sim$2\. Thus even when the condenser objective is defocused, it
is still twice as efficient as the trapping objective at gathering light from
the liquid medium. Also, due to the short depth of focus of the condenser
objective, $\sim$0.6 $\mu m$, very little scattered light from the trapped
particle gets gathered. Combining these effects, we can see that this setup
allows simultaneous measurement of both the bulk sample and the trapped
object.

To investigate our setup’s capabilities to measure liquid samples, we filled a
sample chamber with cyclohexane and measured with trapping, and condenser
objective parfocal to each other with the optional confocal pinhole left out,
Fig. 2C. In this case, we see that both objectives gather a clear cyclohexane
spectrum. However, if we compare the ratio of the $\sim$800 $cm^{-1}$ peak
intensity between the two paths, we see that the forward-scattering is
$\sim$2.8 times more efficient. Comparing this to the previous defocused case,
we now collect $\sim$40 % more signal. The cause of this increase is likely
twofold. First, defocusing separates the excitation laser’s and condenser’s
focal points, lowering the collection efficiency. Second, in the previous
case, a particle was trapped, taking up most of the laser’s focal volume,
hindering it from exciting the liquid. This result indicates that the setup is
beneficial when measuring a purely liquid sample where Raman scattering often
is weak.

To further display the setup’s flexibility, we show how one can add
polarization sensitivity to it. We do this by switching out the D-shaped pick
off mirror in the beam combiner with a PBS. In this configuration, the PBS
acts as a beam combiner and analyzer to selectively combine the polarized and
depolarized Raman bands. As a demonstration, we add a half-wave plate to the
forward-scattered beam path and use it to rotate the polarization by 90°and
measure the Raman spectrum of cyclohexane, a chemical with a know polarization
dependence [22]. From this measurement, we can see a strong polarization
dependence on the $\sim$800 $cm^{-1}$ peak, as it has a strongly reduced
intensity in the forward-scattered spectrum, Fig. 2D. As we use an ordinary
non-achromatic wave-plate and do not know the two beam paths’ collection
efficiency, we do not get the polarization dependence in absolute values.
However, as proof of concept and to measure relative changes in the
polarization dependence of the Raman spectrum of a sample, this method
provides a fast and straightforward single-shot way of measuring polarized
Raman.

Figure 3: A spectrum of a single trapped B. Thuringiensis spore measured using
only backward-scattering (black), and a sum of forward and backward-scattering
(blue).

To demonstrate the setup using a biological sample we trapped a B.
Thuringiensis spore and measured its Raman spectrum, see Fig. 3. The data
shows a clear B. Thuringiensis spectrum with characteristic peaks at 650, 800
and 1016 $cm^{-1}$ even with a modest excitation power of 2.5 $mW$ and
integration time of 60 $s$. If we compare the ratio between the 1016 $cm^{-1}$
peaks in the backward-scattered light and the sum of the forward and backward-
scattered light, we get a ratio of $\sim$2\. It is worth noting that we
switched out the standard microscope slides to quartz slides and added the
optional confocal pinhole to the forward scattered light to reduce the
background noise. The remaining background in the signal probably originates
from the immersion oil used to collect the forward-scattered light and could
be removed by migrating to a water immersion objective. Thus, we can conclude
that this method also doubles the signal intensity even with a confocal
pinhole in the forward-scattered light path. As photodamage is an effect that
depends linearly on laser power, this means that a doubled collection
efficiency allows for a halved photodamage rate which in turn allows for twice
as long measurements without extra photodamage. Additionally

##  4 Conclusions

We demonstrate a simple to implement method that provides a more sensitive and
flexible LTRS setup. The added sensitivity allows for decreased laser power
and thus reduced photodamage to the sample as well as faster acquisition
times. Further, the setup gives the flexibility to measure with the pinpoint
spatial selectivity of confocal Raman and the bulk sensitivity of non-confocal
Raman simultaneously. Lastly, the setup can measure relative changes in a
sample’s polarized Raman spectrum in a single shot. We envision the setup
being used for faster, less invasive, and more flexible chemical
fingerprinting of biological particles.

##  5 Funding

This work was supported by the Swedish Research Council (2019-04016).

##  6 Disclosures

Disclosures. The authors declare no conflicts of interest.

## References

  * [1] R. Thurn and W. Kiefer, Appl. Spectrosc. 38, 78 (1984).
  * [2] B. Redding, M. Schwab, and Y.-l. Pan, Sensors 15, 19021–19046 (2015).
  * [3] D. Chen, S. S. Huang, and Y. Q. Li, Analytical Chemistry 78, 6936 (2006).
  * [4] P. Zhang, L. Kong, P. Setlow, and Y.-q. Li, Applied and Environmental Microbiology 76, 1796 (2010).
  * [5] S. Rao, Štefan Bálint, B. Cossins, V. Guallar, and D. Petrov, Biophysical Journal 96, 209 (2009).
  * [6] A. Bankapur, S. Barkur, S. Chidangil, and D. Mathur, PLOS ONE 9, 1 (2014).
  * [7] N. Kuhar, S. Sil, T. Verma, and S. Umapathy, RSC advances 8, 25888 (2018).
  * [8] Z. Pilát, S. Bernatová, J. Ježek, J. Kirchhoff, A. Tannert, U. Neugebauer, O. Samek, and P. Zemánek, Sensors 18, 1623 (2018).
  * [9] S. S. Huang, D. Chen, P. L. Pelczar, V. R. Vepachedu, P. Setlow, and Y. Q. Li, Journal of Bacteriology 189, 4681 (2007).
  * [10] A. Blázquez-Castro, Micromachines 10, 1 (2019).
  * [11] R. R. Jones, D. C. Hooper, L. Zhang, D. Wolverson, and V. K. Valev, Nanoscale Research Letters 14 (2019).
  * [12] C. Zong, M. Xu, L. J. Xu, T. Wei, X. Ma, X. S. Zheng, R. Hu, and B. Ren, Chemical Reviews 118, 4946 (2018).
  * [13] A. K. Misra, S. K. Sharma, L. Kamemoto, P. V. Zinin, Q. Yu, N. Hu, and L. Melnick, Applied Spectroscopy 63, 373 (2009). PMID: 19281655.
  * [14] M. Y. Wu, D. X. Ling, L. Ling, W. Li, and Y. Q. Li, Scientific Reports 7, 1 (2017).
  * [15] T. J. Harvey, E. C. Faria, A. Henderson, E. Gazi, A. D. Ward, N. W. Clarke, M. D. Brown, R. D. Snook, and P. Gardner, Journal of Biomedical Optics 13, 1 (2008).
  * [16] J. Lin, L. Shao, S. Qiu, X. Huang, M. Liu, Z. Zheng, D. Lin, Y. Xu, Z. Li, Y. Lin, R. Chen, and S. Feng, Biomedical Optics Express 9, 984 (2018).
  * [17] J. Lukose, M. N, G. Mohan, S. Shastry, and S. Chidangil, RSC Adv. 9, 7878 (2019).
  * [18] P. Zhang, P. Setlow, and Y. Li, Opt. Express 17, 16480 (2009).
  * [19] T. Stangner, T. Dahlberg, P. Svenmarker, J. Zakrisson, K. Wiklund, L. B. Oddershede, and M. Andersson, Optics Letters 43, 1990 (2018).
  * [20] T. Dahlberg, D. Malyshev, P. O. Andersson, and M. Andersson, “Biophysical fingerprinting of single bacterial spores using laser Raman optical tweezers,” in _Chemical, Biological, Radiological, Nuclear, and Explosives (CBRNE) Sensing XXI,_ , vol. 11416 J. A. Guicheteau and C. R. Howle, eds., International Society for Optics and Photonics (SPIE, 2020), pp. 156 – 162.
  * [21] D. Malyshev, T. Dahlberg, K. Wiklund, P. O. Andersson, S. Henriksson, and M. Andersson, Analytical Chemistry 93, 3146 (2021). PMID: 33523636.
  * [22] E. Ly, O. Piot, A. Durlach, P. Bernard, and M. Manfait, Applied Spectroscopy 62, 1088 (2008).


1000000 | 2.73 | 1.92 | 1.28 | 0.99
5000000 | 2.76 | 1.85 | 1.30 | 1.01
10000000 | 2.77 | 1.92 | 1.39 | 1.05

Table 20: Percentage CLC Violations Instant Runoff

(a) IC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
3 | 5.53 | 4.12 | 2.86 | 2.16
4 | 0.00 | 0.36 | 0.34 | 0.22
5 | 0.00 | 0.91 | 1.05 | 1.06
10 | 0.34 | 0.06 | 0.08 | 0.03
30 | 0.42 | 0.16 | 0.09 | 0.05
50 | 0.23 | 0.13 | 0.05 | 0.03
100 | 0.41 | 0.18 | 0.10 | 0.07
1000 | 0.15 | 0.06 | 0.02 | 0.02
5000 | 0.07 | 0.03 | 0.02 | 0.00
10000 | 0.05 | 0.02 | 0.01 | 0.00
30000 | 0.03 | 0.01 | 0.01 | 0.00
50000 | 0.03 | 0.01 | 0.00 | 0.01
100000 | 0.02 | 0.01 | 0.00 | 0.00
300000 | 0.01 | 0.00 | 0.00 | 0.00
500000 | 0.01 | 0.00 | 0.00 | 0.00
1000000 | 0.00 | 0.00 | 0.00 | 0.00
5000000 | 0.00 | 0.00 | 0.00 | 0.00
10000000 | 0.00 | 0.00 | 0.00 | 0.00

(b) IAC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
3 | 3.56 | 3.74 | 2.97 | 2.24
4 | 0.00 | 0.26 | 0.28 | 0.19
5 | 0.00 | 0.70 | 1.08 | 1.10
10 | 0.47 | 0.18 | 0.09 | 0.04
30 | 0.21 | 0.15 | 0.09 | 0.05
50 | 0.13 | 0.12 | 0.06 | 0.04
100 | 0.09 | 0.13 | 0.08 | 0.03
1000 | 0.02 | 0.01 | 0.01 | 0.01
5000 | 0.00 | 0.00 | 0.00 | 0.00
10000 | 0.00 | 0.00 | 0.00 | 0.00
30000 | 0.00 | 0.00 | 0.00 | 0.00
50000 | 0.00 | 0.00 | 0.00 | 0.00
100000 | 0.00 | 0.00 | 0.00 | 0.00
300000 | 0.00 | 0.00 | 0.00 | 0.00
500000 | 0.00 | 0.00 | 0.00 | 0.00
1000000 | 0.00 | 0.00 | 0.00 | 0.00
5000000 | 0.00 | 0.00 | 0.00 | 0.00
10000000 | 0.00 | 0.00 | 0.00 | 0.00

Table 21: Percentage CLC Violations Coombs

(a) IC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
3 | 5.50 | 1.41 | 0.00 | 0.17
4 | 0.00 | 0.38 | 0.10 | 0.00
5 | 2.30 | 0.42 | 0.64 | 0.46
10 | 0.08 | 0.03 | 0.05 | 0.04
30 | 0.48 | 0.14 | 0.07 | 0.03
50 | 0.57 | 0.18 | 0.08 | 0.04
100 | 0.24 | 0.10 | 0.05 | 0.02
1000 | 0.14 | 0.05 | 0.02 | 0.01
5000 | 0.07 | 0.04 | 0.01 | 0.01
10000 | 0.05 | 0.03 | 0.01 | 0.00
30000 | 0.03 | 0.02 | 0.01 | 0.00
50000 | 0.02 | 0.01 | 0.00 | 0.00
100000 | 0.02 | 0.01 | 0.00 | 0.00
300000 | 0.02 | 0.00 | 0.00 | 0.00
500000 | 0.01 | 0.00 | 0.00 | 0.00
1000000 | 0.00 | 0.01 | 0.00 | 0.00
5000000 | 0.01 | 0.00 | 0.00 | 0.00
10000000 | 0.00 | 0.00 | 0.00 | 0.00

(b) IAC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
3 | 3.56 | 1.25 | 0.00 | 0.14
4 | 0.00 | 0.25 | 0.05 | 0.00
5 | 2.38 | 0.30 | 0.59 | 0.45
10 | 0.30 | 0.06 | 0.06 | 0.02
30 | 0.32 | 0.14 | 0.06 | 0.04
50 | 0.24 | 0.11 | 0.08 | 0.04
100 | 0.12 | 0.05 | 0.03 | 0.02
1000 | 0.02 | 0.01 | 0.01 | 0.01
5000 | 0.00 | 0.00 | 0.00 | 0.00
10000 | 0.00 | 0.00 | 0.00 | 0.00
30000 | 0.00 | 0.00 | 0.00 | 0.00
50000 | 0.00 | 0.00 | 0.00 | 0.00
100000 | 0.00 | 0.00 | 0.00 | 0.00
300000 | 0.00 | 0.00 | 0.00 | 0.00
500000 | 0.00 | 0.00 | 0.00 | 0.00
1000000 | 0.00 | 0.00 | 0.00 | 0.00
5000000 | 0.00 | 0.00 | 0.00 | 0.00
10000000 | 0.00 | 0.00 | 0.00 | 0.00

Table 22: Percentage CLC Violations Dowdall

(a) IC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
3 | 0.00 | 0.00 | 0.00 | 0.00
4 | 0.00 | 0.00 | 0.00 | 0.00
5 | 0.00 | 0.42 | 0.42 | 0.21
10 | 0.00 | 0.02 | 0.01 | 0.01
30 | 0.10 | 0.05 | 0.03 | 0.02
50 | 0.16 | 0.07 | 0.05 | 0.03
100 | 0.29 | 0.13 | 0.06 | 0.03
1000 | 0.60 | 0.19 | 0.10 | 0.03
5000 | 0.61 | 0.23 | 0.13 | 0.07
10000 | 0.71 | 0.21 | 0.09 | 0.07
30000 | 0.67 | 0.24 | 0.11 | 0.06
50000 | 0.78 | 0.25 | 0.13 | 0.07
100000 | 0.75 | 0.25 | 0.11 | 0.07
300000 | 0.74 | 0.29 | 0.10 | 0.06
500000 | 0.76 | 0.24 | 0.10 | 0.07
1000000 | 0.69 | 0.27 | 0.13 | 0.07
5000000 | 0.70 | 0.29 | 0.12 | 0.06
10000000 | 0.74 | 0.28 | 0.13 | 0.07

(b) IAC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
3 | 0.00 | 0.00 | 0.00 | 0.00
4 | 0.00 | 0.00 | 0.00 | 0.00
5 | 0.00 | 0.33 | 0.39 | 0.20
10 | 0.00 | 0.03 | 0.00 | 0.01
30 | 0.24 | 0.09 | 0.04 | 0.02
50 | 0.42 | 0.13 | 0.04 | 0.03
100 | 0.52 | 0.21 | 0.07 | 0.03
1000 | 0.66 | 0.26 | 0.10 | 0.07
5000 | 0.67 | 0.25 | 0.13 | 0.07
10000 | 0.65 | 0.26 | 0.13 | 0.06
30000 | 0.68 | 0.28 | 0.11 | 0.09
50000 | 0.60 | 0.28 | 0.13 | 0.07
100000 | 0.67 | 0.28 | 0.15 | 0.08
300000 | 0.64 | 0.29 | 0.15 | 0.07
500000 | 0.62 | 0.24 | 0.12 | 0.08
1000000 | 0.62 | 0.26 | 0.13 | 0.07
5000000 | 0.66 | 0.29 | 0.14 | 0.08
10000000 | 0.71 | 0.28 | 0.12 | 0.07

Table 23: Percentage CLC Violations Minimax

(a) IC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
3 | 0.00 | 0.61 | 0.66 | 0.56
4 | 0.00 | 0.00 | 0.00 | 0.00
5 | 0.00 | 0.44 | 0.41 | 0.25
10 | 0.00 | 0.02 | 0.01 | 0.01
30 | 0.00 | 0.04 | 0.01 | 0.01
50 | 0.00 | 0.03 | 0.02 | 0.01
100 | 0.00 | 0.05 | 0.02 | 0.01
1000 | 0.00 | 0.07 | 0.05 | 0.01
5000 | 0.00 | 0.09 | 0.05 | 0.01
10000 | 0.00 | 0.07 | 0.04 | 0.01
30000 | 0.00 | 0.08 | 0.03 | 0.02
50000 | 0.00 | 0.11 | 0.04 | 0.02
100000 | 0.00 | 0.08 | 0.06 | 0.02
300000 | 0.00 | 0.08 | 0.06 | 0.03
500000 | 0.00 | 0.08 | 0.06 | 0.02
1000000 | 0.00 | 0.09 | 0.05 | 0.01
5000000 | 0.00 | 0.08 | 0.04 | 0.02
10000000 | 0.00 | 0.10 | 0.04 | 0.03

(b) IAC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
3 | 0.00 | 0.54 | 0.67 | 0.52
4 | 0.00 | 0.00 | 0.00 | 0.00
5 | 0.00 | 0.35 | 0.40 | 0.28
10 | 0.00 | 0.02 | 0.01 | 0.01
30 | 0.00 | 0.03 | 0.02 | 0.00
50 | 0.00 | 0.02 | 0.03 | 0.02
100 | 0.00 | 0.05 | 0.02 | 0.01
1000 | 0.00 | 0.06 | 0.05 | 0.02
5000 | 0.00 | 0.06 | 0.04 | 0.02
10000 | 0.00 | 0.06 | 0.05 | 0.03
30000 | 0.00 | 0.06 | 0.05 | 0.02
50000 | 0.00 | 0.05 | 0.04 | 0.01
100000 | 0.00 | 0.05 | 0.04 | 0.02
300000 | 0.00 | 0.05 | 0.04 | 0.01
500000 | 0.00 | 0.05 | 0.04 | 0.02
1000000 | 0.00 | 0.05 | 0.05 | 0.03
5000000 | 0.00 | 0.06 | 0.04 | 0.03
10000000 | 0.00 | 0.05 | 0.03 | 0.02

Table 24: Percentage CLC Violations Imposed Rule

(a) IC Data Number of voters (V) | Number of Candidates (C)
---|---
2 | 3 | 4 | 5 | 6
1 | 50.33 | 33.32 | 24.89 | 19.89 | 16.68
2 | 24.65 | 11.10 | 6.17 | 3.87 | 2.86
3 | 49.86 | 31.47 | 22.06 | 16.85 | 13.30
4 | 31.07 | 14.67 | 8.77 | 5.49 | 3.80
5 | 49.97 | 31.46 | 21.67 | 16.02 | 12.57
10 | 37.69 | 19.67 | 11.80 | 8.02 | 5.67
30 | 42.71 | 23.86 | 15.09 | 10.35 | 7.61
50 | 44.33 | 25.28 | 16.23 | 11.29 | 8.33
100 | 46.07 | 26.23 | 17.38 | 12.13 | 9.19
1000 | 48.75 | 28.90 | 19.51 | 14.12 | 10.59
5000 | 49.23 | 29.99 | 19.95 | 14.68 | 11.01
10000 | 49.99 | 30.05 | 20.34 | 14.77 | 11.16
30000 | 49.40 | 30.03 | 20.16 | 14.85 | 11.27
50000 | 49.49 | 30.22 | 20.55 | 14.77 | 11.42
100000 | 49.64 | 30.29 | 20.53 | 14.76 | 11.19
300000 | 49.96 | 30.42 | 20.67 | 14.94 | 11.28
500000 | 49.81 | 30.49 | 20.50 | 14.87 | 11.23
1000000 | 49.90 | 30.16 | 20.70 | 14.95 | 11.31
5000000 | 50.15 | 30.17 | 20.74 | 15.23 | 11.47
10000000 | 49.81 | 30.31 | 20.35 | 15.10 | 11.34

(b) IAC Data Number of voters (V) | Number of Candidates (C)
---|---
2 | 3 | 4 | 5 | 6
1 | 49.83 | 33.55 | 25.26 | 20.09 | 16.61
2 | 33.11 | 14.23 | 7.13 | 3.95 | 2.84
3 | 50.11 | 32.21 | 22.44 | 16.78 | 13.38
4 | 40.01 | 19.16 | 9.66 | 5.62 | 3.79
5 | 49.94 | 31.85 | 22.04 | 16.17 | 12.42
10 | 45.38 | 24.50 | 13.18 | 7.97 | 5.70
30 | 48.68 | 28.48 | 17.05 | 11.06 | 7.69
50 | 48.85 | 29.41 | 18.18 | 11.90 | 8.40
100 | 49.37 | 30.24 | 19.39 | 13.00 | 9.18
1000 | 49.88 | 31.01 | 20.85 | 14.83 | 10.83
5000 | 49.81 | 31.10 | 20.75 | 14.84 | 11.22
10000 | 49.78 | 31.50 | 21.13 | 15.00 | 11.32
30000 | 50.05 | 31.34 | 20.97 | 15.11 | 11.11
50000 | 50.11 | 31.42 | 20.69 | 14.93 | 11.33
100000 | 49.74 | 31.02 | 21.06 | 15.35 | 11.49
300000 | 49.87 | 31.37 | 20.83 | 14.92 | 11.51
500000 | 49.74 | 31.30 | 21.04 | 15.27 | 11.39
1000000 | 50.22 | 31.19 | 20.95 | 15.08 | 11.34
5000000 | 49.92 | 31.25 | 20.89 | 15.03 | 11.52
10000000 | 49.96 | 31.33 | 21.04 | 14.99 | 11.27

###  A.3 IIA

Table 25: Percentage IIA Violations Plurality, Instant Runoff, Top Two,
Minimax

(a) IC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
1 | 100.00 | 100.00 | 100.00 | 100.00
2 | 100.00 | 100.00 | 100.00 | 100.00
3 | 100.00 | 100.00 | 100.00 | 100.00
4 | 100.00 | 100.00 | 100.00 | 100.00
5 | 100.00 | 100.00 | 100.00 | 100.00
10 | 100.00 | 100.00 | 100.00 | 100.00
30 | 100.00 | 100.00 | 100.00 | 100.00
50 | 100.00 | 100.00 | 100.00 | 100.00
100 | 100.00 | 100.00 | 100.00 | 100.00
1000 | 100.00 | 100.00 | 100.00 | 100.00
5000 | 100.00 | 100.00 | 100.00 | 100.00
10000 | 100.00 | 100.00 | 100.00 | 100.00
30000 | 100.00 | 100.00 | 100.00 | 100.00
50000 | 100.00 | 100.00 | 100.00 | 100.00
100000 | 100.00 | 100.00 | 100.00 | 100.00

(b) IAC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
1 | 100.00 | 100.00 | 100.00 | 100.00
2 | 100.00 | 100.00 | 100.00 | 100.00
3 | 100.00 | 100.00 | 100.00 | 100.00
4 | 100.00 | 100.00 | 100.00 | 100.00
5 | 100.00 | 100.00 | 100.00 | 100.00
10 | 100.00 | 100.00 | 100.00 | 100.00
30 | 100.00 | 100.00 | 100.00 | 100.00
50 | 100.00 | 100.00 | 100.00 | 100.00
100 | 100.00 | 100.00 | 100.00 | 100.00
1000 | 100.00 | 100.00 | 100.00 | 100.00
5000 | 100.00 | 100.00 | 100.00 | 100.00
10000 | 100.00 | 100.00 | 100.00 | 100.00
30000 | 100.00 | 100.00 | 100.00 | 100.00
50000 | 100.00 | 100.00 | 100.00 | 100.00
100000 | 100.00 | 100.00 | 100.00 | 100.00

Table 26: Percentage IIA Violations Borda

(a) IC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
1 | 0.00 | 0.00 | 0.00 | 0.00
2 | 83.35 | 95.80 | 99.18 |
3 | 97.21 | 99.82 | 99.99 |
4 | 73.68 | 99.99 | 100.00 | 100.00
5 | 93.40 | 99.34 | 100.00 | 100.00
10 | 95.12 | 100.00 | 100.00 | 100.00
30 | 99.93 | 100.00 | 100.00 | 100.00
50 | 100.00 | 100.00 | 100.00 | 100.00
100 | 100.00 | 100.00 | 100.00 | 100.00
1000 | 100.00 | 100.00 | 100.00 | 100.00
5000 | 100.00 | 100.00 | 100.00 | 100.00
10000 | 100.00 | 100.00 | 100.00 | 100.00
30000 | 100.00 | 100.00 | 100.00 | 100.00
50000 | 100.00 | 100.00 | 100.00 | 100.00
100000 | 100.00 | 100.00 | 100.00 | 100.00

(b) IAC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
1 | 0.00 | 0.00 | 0.00 | 0.00
2 | 71.65 | 92.00 | 98.37 | 99.71
3 | 89.40 | 99.09 | 99.95 | 100.00
4 | 57.05 | 99.86 | 100.00 | 100.00
5 | 78.57 | 97.70 | 100.00 | 100.00
10 | 74.86 | 99.91 | 100.00 | 100.00
30 | 86.26 | 99.94 | 100.00 | 100.00
50 | 85.55 | 99.93 | 100.00 | 100.00
100 | 85.00 | 99.92 | 100.00 | 100.00
1000 | 84.54 | 99.94 | 100.00 | 100.00
5000 | 84.75 | 99.94 | 100.00 | 100.00
10000 | 84.65 | 99.93 | 100.00 | 100.00
30000 | 84.48 | 99.92 | 100.00 | 100.00
50000 | 85.00 | 99.92 | 100.00 | 100.00
100000 |  | 99.92 | 100.00 | 100.00

Table 27: Percentage IIA Violations Coombs

(a) IC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
1 | 0.00 | 0.00 | 0.00 | 0.00
2 | 83.42 | 95.88 | 99.17 |
3 | 97.14 | 99.79 | 99.99 | 100.00
4 | 73.66 | 100.00 | 100.00 | 100.00
5 | 93.33 | 99.36 | 100.00 | 100.00
10 | 95.01 | 100.00 | 100.00 | 100.00
30 | 99.98 | 100.00 | 100.00 | 100.00
50 | 100.00 | 100.00 | 100.00 | 100.00
100 | 100.00 | 100.00 | 100.00 | 100.00
1000 | 100.00 | 100.00 | 100.00 | 100.00
5000 | 100.00 | 100.00 | 100.00 | 100.00
10000 | 100.00 | 100.00 | 100.00 | 100.00
30000 | 100.00 | 100.00 | 100.00 | 100.00
50000 | 100.00 | 100.00 | 100.00 | 100.00
100000 | 100.00 | 100.00 | 100.00 | 100.00

(b) IAC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
1 | 0.00 | 0.00 | 0.00 | 0.00
2 | 71.64 | 91.95 | 98.41 | 99.73
3 | 89.17 | 99.07 | 99.96 | 100.00
4 | 57.16 | 99.88 | 100.00 | 100.00
5 | 78.55 | 97.77 | 100.00 | 100.00
10 | 74.88 | 99.89 | 100.00 | 100.00
30 | 87.70 | 99.99 | 100.00 | 100.00
50 | 86.57 | 100.00 | 100.00 | 100.00
100 | 86.28 | 100.00 | 100.00 | 100.00
1000 | 86.23 | 100.00 | 100.00 | 100.00
5000 | 86.14 | 100.00 | 100.00 | 100.00
10000 | 86.41 | 99.99 | 100.00 | 100.00
30000 | 86.24 | 99.99 | 100.00 | 100.00
50000 | 86.18 | 100.00 | 100.00 | 100.00
100000 | 86.12 | 100.00 | 100.00 | 100.00

Table 28: Percentage IIA Violations Dowdall

(a) IC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
1 | 0.00 | 0.00 | 0.00 | 0.00
2 | 83.45 | 95.86 | 99.14 | 99.86
3 | 97.17 | 99.79 | 99.99 | 100.00
4 | 99.58 | 99.99 | 100.00 | 100.00
5 | 93.66 | 100.00 | 100.00 | 100.00
10 | 99.79 | 100.00 | 100.00 | 100.00
30 | 100.00 | 100.00 | 100.00 | 100.00
50 | 100.00 | 100.00 | 100.00 | 100.00
100 | 100.00 | 100.00 | 100.00 | 100.00
1000 | 100.00 | 100.00 | 100.00 | 100.00
5000 | 100.00 | 100.00 | 100.00 | 100.00
10000 | 100.00 | 100.00 | 100.00 | 100.00
30000 | 100.00 | 100.00 | 100.00 | 100.00
50000 | 100.00 | 100.00 | 100.00 | 100.00
100000 | 100.00 | 100.00 | 100.00 | 100.00

(b) IAC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
1 | 0.00 | 0.00 | 0.00 | 0.00
2 | 71.32 | 92.04 | 98.38 | 99.72
3 | 89.07 | 99.04 | 99.95 | 100.00
4 | 95.26 | 99.84 | 100.00 | 100.00
5 | 78.26 | 99.98 | 100.00 | 100.00
10 | 91.86 | 100.00 | 100.00 | 100.00
30 | 97.41 | 100.00 | 100.00 | 100.00
50 | 97.45 | 100.00 | 100.00 | 100.00
100 | 97.30 | 100.00 | 100.00 | 100.00
1000 | 97.33 | 100.00 | 100.00 | 100.00
5000 | 97.31 | 100.00 | 100.00 | 100.00
10000 | 97.28 | 100.00 | 100.00 | 100.00
30000 | 97.45 | 100.00 | 100.00 | 100.00
50000 | 97.35 | 100.00 | 100.00 | 100.00
100000 | 97.41 | 100.00 | 100.00 | 100.00

Table 29: Percentage IIA Violations Copeland

(a) IC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
1 | 0.00 | 0.00 | 0.00 | 0.00
2 | 83.27 | 95.93 | 99.22 |
3 | 97.21 | 99.82 | 99.99 |
4 | 73.38 | 99.90 | 100.00 |
5 | 99.79 | 100.00 | 100.00 | 100.00
10 | 99.46 | 100.00 | 100.00 | 100.00
30 | 100.00 | 100.00 | 100.00 | 100.00
50 | 100.00 | 100.00 | 100.00 | 100.00
100 | 100.00 | 100.00 | 100.00 | 100.00
1000 | 100.00 | 100.00 | 100.00 | 100.00
5000 | 100.00 | 100.00 | 100.00 | 100.00
10000 | 100.00 | 100.00 | 100.00 | 100.00
30000 | 100.00 | 100.00 | 100.00 | 100.00
50000 | 100.00 | 100.00 | 100.00 | 100.00
100000 | 100.00 | 100.00 | 100.00 | 100.00

(b) IAC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
1 | 0.00 | 0.00 | 0.00 | 0.00
2 | 71.50 | 91.88 | 98.33 |
3 | 89.38 | 99.08 | 99.97 |
4 | 57.20 | 99.88 | 100.00 | 100.00
5 | 97.54 | 99.97 | 100.00 | 100.00
10 | 98.14 | 100.00 | 100.00 | 100.00
30 | 99.93 | 100.00 | 100.00 | 100.00
50 | 99.98 | 100.00 | 100.00 | 100.00
100 | 99.99 | 100.00 | 100.00 | 100.00
1000 | 100.00 | 100.00 | 100.00 | 100.00
5000 | 100.00 | 100.00 | 100.00 | 100.00
10000 | 100.00 | 100.00 | 100.00 | 100.00
30000 | 100.00 | 100.00 | 100.00 | 100.00
50000 | 100.00 | 100.00 | 100.00 | 100.00
100000 | 100.00 | 100.00 | 100.00 | 100.00

Table 30: Percentage IIA Violations Black

(a) IC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
1 | 0.00 | 0.00 | 0.00 | 0.00
2 | 83.29 | 95.80 | 99.11 |
3 | 97.27 | 99.83 | 100.00 |
4 | 73.55 | 99.99 | 100.00 | 100.00
5 | 93.37 | 99.35 | 100.00 |
10 | 95.17 | 99.99 | 100.00 | 100.00
30 | 99.89 | 100.00 | 100.00 | 100.00
50 | 99.99 | 100.00 | 100.00 | 100.00
100 | 100.00 | 100.00 | 100.00 | 100.00
1000 | 100.00 | 100.00 | 100.00 | 100.00
5000 | 100.00 | 100.00 | 100.00 | 100.00
10000 | 100.00 | 100.00 | 100.00 | 100.00
30000 | 100.00 | 100.00 | 100.00 | 100.00
50000 | 100.00 | 100.00 | 100.00 | 100.00
100000 | 100.00 | 100.00 | 100.00 | 100.00

(b) IAC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
1 | 0.00 | 0.00 | 0.00 | 0.00
2 | 71.36 | 91.97 | 98.35 |
3 | 89.40 | 99.02 | 99.96 |
4 | 57.22 | 99.85 | 100.00 | 100.00
5 | 78.79 | 97.71 | 100.00 |
10 | 75.09 | 99.93 | 100.00 | 100.00
30 | 85.56 | 99.93 | 100.00 | 100.00
50 | 85.02 | 99.92 | 100.00 | 100.00
100 | 84.47 | 99.93 | 100.00 | 100.00
1000 | 84.41 | 99.90 | 100.00 | 100.00
5000 | 84.49 | 99.94 | 100.00 | 100.00
10000 | 84.41 | 99.91 | 100.00 | 100.00
30000 | 84.47 | 99.92 | 100.00 | 100.00
50000 | 84.31 | 99.94 | 100.00 | 100.00
100000 |  | 99.93 | 100.00 |

Table 31: Percentage IIA Violations Baldwin

(a) IC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
1 | 0.00 | 0.00 | 0.00 | 0.00
2 | 83.35 | 95.88 | 99.19 |
3 | 97.38 | 99.83 | 99.99 | 100.00
4 | 73.51 | 99.99 | 100.00 | 100.00
5 | 93.48 | 99.37 | 99.99 |
10 | 95.11 | 99.97 | 100.00 | 100.00
30 | 99.88 | 100.00 | 100.00 | 100.00
50 | 99.99 | 100.00 | 100.00 | 100.00
100 | 100.00 | 100.00 | 100.00 | 100.00
1000 | 100.00 | 100.00 | 100.00 | 100.00
5000 | 100.00 | 100.00 | 100.00 | 100.00
10000 | 100.00 | 100.00 | 100.00 | 100.00
30000 | 100.00 | 100.00 | 100.00 | 100.00
50000 | 100.00 | 100.00 | 100.00 | 100.00
100000 | 100.00 | 100.00 | 100.00 | 100.00

(b) IAC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
1 | 0.00 | 0.00 | 0.00 | 0.00
2 | 71.61 | 92.12 | 98.24 |
3 | 89.32 | 99.12 | 99.95 | 100.00
4 | 56.92 | 99.86 | 100.00 | 100.00
5 | 78.35 | 97.72 | 99.99 |
10 | 74.90 | 99.89 | 100.00 | 100.00
30 | 85.10 | 99.86 | 100.00 | 100.00
50 | 84.44 | 99.87 | 100.00 | 100.00
100 | 84.16 | 99.85 | 100.00 | 100.00
1000 | 83.72 | 99.87 | 100.00 | 100.00
5000 | 83.80 | 99.83 | 100.00 | 100.00
10000 | 83.70 | 99.83 | 100.00 | 100.00
30000 | 83.65 | 99.85 | 100.00 | 100.00
50000 | 83.80 | 99.86 | 100.00 | 100.00
100000 |  |  | 100.00 |

###  A.4 UNM

Table 32: Percentage UNM Violations Plurality

(a) IC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
1 | 100.00 | 100.00 | 100.00 | 100.00
2 | 16.75 | 58.25 | 85.74 | 96.46
3 | 2.82 | 17.43 | 40.42 | 62.63
4 | 0.42 | 4.63 | 14.14 | 28.19
5 | 0.09 | 1.21 | 4.65 | 10.77
10 | 0.00 | 0.00 | 0.01 | 0.05
30 | 0.00 | 0.00 | 0.00 | 0.00
50 | 0.00 | 0.00 | 0.00 | 0.00
100 | 0.00 | 0.00 | 0.00 | 0.00
1000 | 0.00 | 0.00 | 0.00 | 0.00

(b) IAC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
1 | 100.00 | 100.00 | 100.00 | 100.00
2 | 28.60 | 60.07 | 85.75 | 96.39
3 | 10.77 | 22.15 | 41.52 | 62.54
4 | 4.61 | 7.80 | 15.84 | 28.44
5 | 2.35 | 2.88 | 5.35 | 10.99
10 | 0.19 | 0.05 | 0.03 | 0.06
30 | 0.00 | 0.00 | 0.00 | 0.00
50 | 0.00 | 0.00 | 0.00 | 0.00
100 | 0.00 | 0.00 | 0.00 | 0.00
1000 | 0.00 | 0.00 | 0.00 | 0.00

Table 33: Percentage UNM Violations Top Two

(a) IC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
1 | 100.00 | 100.00 | 100.00 | 100.00
2 | 16.43 | 58.33 | 86.11 | 96.44
3 | 2.82 | 17.29 | 40.65 | 62.53
4 | 0.49 | 4.51 | 14.42 | 28.01
5 | 0.09 | 1.10 | 4.75 | 10.76
10 | 0.00 | 0.00 | 0.01 | 0.06
30 | 0.00 | 0.00 | 0.00 | 0.00
50 | 0.00 | 0.00 | 0.00 | 0.00
100 | 0.00 | 0.00 | 0.00 | 0.00
1000 | 0.00 | 0.00 | 0.00 | 0.00

(b) IAC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
1 | 100.00 | 100.00 | 100.00 | 100.00
2 | 28.64 | 59.82 | 85.97 | 96.43
3 | 10.82 | 22.30 | 41.37 | 62.55
4 | 4.88 | 7.97 | 15.43 | 28.26
5 | 2.40 | 3.05 | 5.46 | 11.14
10 | 0.20 | 0.03 | 0.03 | 0.05
30 | 0.00 | 0.00 | 0.00 | 0.00
50 | 0.00 | 0.00 | 0.00 | 0.00
100 | 0.00 | 0.00 | 0.00 | 0.00
1000 | 0.00 | 0.00 | 0.00 | 0.00

Table 34: Percentage UNM Violations Minimax

(a) IC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
1 | 100.00 | 100.00 | 100.00 | 100.00
2 | 16.67 | 41.89 | 64.99 | 81.79
3 | 2.82 | 9.20 | 18.29 | 29.48
4 | 0.43 | 1.72 | 3.77 | 6.98
5 | 0.09 | 0.29 | 0.72 | 1.35
10 | 0.00 | 0.00 | 0.00 | 0.00
30 | 0.00 | 0.00 | 0.00 | 0.00
50 | 0.00 | 0.00 | 0.00 | 0.00
100 | 0.00 | 0.00 | 0.00 | 0.00
1000 | 0.00 | 0.00 | 0.00 | 0.00

(b) IAC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
1 | 100.00 | 100.00 | 100.00 | 100.00
2 | 28.21 | 44.13 | 65.25 | 81.50
3 | 10.84 | 12.83 | 19.34 | 29.40
4 | 4.74 | 3.82 | 4.56 | 6.99
5 | 2.33 | 1.12 | 1.00 | 1.38
10 | 0.21 | 0.00 | 0.00 | 0.00
30 | 0.00 | 0.00 | 0.00 | 0.00
50 | 0.00 | 0.00 | 0.00 | 0.00
100 | 0.00 | 0.00 | 0.00 | 0.00
1000 | 0.00 | 0.00 | 0.00 | 0.00

Table 35: Percentage UNM Violations Imposed Rule

(a) IC Data Number of voters (V) | Number of Candidates (C)
---|---
2 | 3 | 4 | 5 | 6
1 | 49.98 | 100 | 100 | 100 | 100
2 | 24.77 | 66.55 | 89.57 | 97.48 | 99.53
3 | 12.42 | 38.65 | 63.23 | 80.26 | 90.44
4 | 6.22 | 21.21 | 38.92 | 55.55 | 69.00
5 | 3.11 | 11.23 | 22.14 | 34.41 | 45.90
10 | 0.10 | 0.41 | 0.84 | 1.54 | 2.25
30 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00
50 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00
100 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00
1000 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00

(b) IAC Data Number of voters (V) | Number of Candidates (C)
---|---
2 | 3 | 4 | 5 | 6
1 | 50.07 | 100 | 100 | 100 | 100
2 | 33.19 | 71.59 | 89.96 | 97.47 | 99.53
3 | 25.08 | 49.78 | 66.26 | 80.81 | 90.50
4 | 19.99 | 35.58 | 44.64 | 56.89 | 69.16
5 | 16.72 | 26.23 | 28.88 | 35.87 | 46.39
10 | 9.18 | 7.67 | 3.11 | 2.08 | 2.38
30 | 3.23 | 0.57 | 0.01 | 0.00 | 0.00
50 | 1.97 | 0.16 | 0.00 | 0.00 | 0.00
100 | 1.00 | 0.01 | 0.00 | 0.00 | 0.00
1000 | 0.09 | 0.00 | 0.00 | 0.00 | 0.00

###  A.5 MC

Table 36: Percentage MC Violations Borda Count

(a) IC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
3 | 4.07 | 6.15 | 7.21 | 7.61
4 | 0.00 | 0.12 | 0.16 | 0.18
5 | 3.31 | 3.54 | 3.10 | 2.63
10 | 0.11 | 0.06 | 0.04 | 0.03
30 | 0.00 | 0.00 | 0.00 | 0.00
50 | 0.00 | 0.00 | 0.00 | 0.00
100 | 0.00 | 0.00 | 0.00 | 0.00
1000 | 0.00 | 0.00 | 0.00 | 0.00
5000 | 0.00 | 0.00 | 0.00 | 0.00
10000 | 0.00 | 0.00 | 0.00 | 0.00
30000 | 0.00 | 0.00 | 0.00 | 0.00
50000 | 0.00 | 0.00 | 0.00 | 0.00
100000 | 0.00 | 0.00 | 0.00 | 0.00

(b) IAC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
3 | 5.29 | 7.31 | 7.76 | 7.95
4 | 0.00 | 0.26 | 0.23 | 0.23
5 | 6.03 | 5.06 | 3.38 | 2.70
10 | 1.36 | 0.43 | 0.07 | 0.02
30 | 2.04 | 0.08 | 0.00 | 0.00
50 | 2.04 | 0.03 | 0.00 | 0.00
100 | 2.08 | 0.01 | 0.00 | 0.00
1000 | 2.05 | 0.00 | 0.00 | 0.00
5000 | 2.11 | 0.00 | 0.00 | 0.00
10000 | 2.15 | 0.00 | 0.00 | 0.00
30000 | 2.05 | 0.00 | 0.00 | 0.00
50000 | 2.06 | 0.01 | 0.00 | 0.00
100000 | 2.01 | 0.00 | 0.00 | 0.00

Table 37: Percentage MC Violations Coombs

(a) IC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
3 | 11.13 | 18.00 | 16.98 | 15.74
4 | 0.00 | 1.04 | 1.87 | 1.97
5 | 9.24 | 7.71 | 6.80 | 6.33
10 | 0.80 | 0.62 | 0.31 | 0.20
30 | 0.12 | 0.01 | 0.00 | 0.00
50 | 0.02 | 0.00 | 0.00 | 0.00
100 | 0.00 | 0.00 | 0.00 | 0.00
1000 | 0.00 | 0.00 | 0.00 | 0.00
5000 | 0.00 | 0.00 | 0.00 | 0.00
10000 | 0.00 | 0.00 | 0.00 | 0.00
30000 | 0.00 | 0.00 | 0.00 | 0.00
50000 | 0.00 | 0.00 | 0.00 | 0.00
100000 | 0.00 | 0.00 | 0.00 | 0.00

(b) IAC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
3 | 6.99 | 16.02 | 16.59 | 15.44
4 | 0.00 | 0.82 | 1.73 | 1.98
5 | 7.04 | 7.73 | 6.90 | 6.22
10 | 1.47 | 1.03 | 0.43 | 0.19
30 | 1.60 | 0.26 | 0.01 | 0.00
50 | 1.59 | 0.13 | 0.00 | 0.00
100 | 1.49 | 0.07 | 0.00 | 0.00
1000 | 1.37 | 0.01 | 0.00 | 0.00
5000 | 1.41 | 0.02 | 0.00 | 0.00
10000 | 1.32 | 0.01 | 0.00 | 0.00
30000 | 1.38 | 0.02 | 0.00 | 0.00
50000 | 1.41 | 0.02 | 0.00 | 0.00
100000 | 1.34 | 0.02 | 0.00 | 0.00

Table 38: Percentage MC Violations Dowdall

(a) IC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
3 | 0.00 | 0.00 | 0.00 | 0.00
4 | 0.00 | 0.00 | 0.00 | 0.00
5 | 0.00 | 0.03 | 0.02 | 0.02
10 | 0.00 | 0.00 | 0.00 | 0.00
30 | 0.00 | 0.00 | 0.00 | 0.00
50 | 0.00 | 0.00 | 0.00 | 0.00
100 | 0.00 | 0.00 | 0.00 | 0.00
1000 | 0.00 | 0.00 | 0.00 | 0.00
5000 | 0.00 | 0.00 | 0.00 | 0.00
10000 | 0.00 | 0.00 | 0.00 | 0.00
30000 | 0.00 | 0.00 | 0.00 | 0.00
50000 | 0.00 | 0.00 | 0.00 | 0.00
100000 | 0.00 | 0.00 | 0.00 | 0.00

(b) IAC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
3 | 0.00 | 0.00 | 0.00 | 0.00
4 | 0.00 | 0.00 | 0.00 | 0.00
5 | 0.00 | 0.08 | 0.03 | 0.01
10 | 0.00 | 0.00 | 0.00 | 0.00
30 | 0.16 | 0.00 | 0.00 | 0.00
50 | 0.16 | 0.00 | 0.00 | 0.00
100 | 0.16 | 0.00 | 0.00 | 0.00
1000 | 0.20 | 0.00 | 0.00 | 0.00
5000 | 0.19 | 0.00 | 0.00 | 0.00
10000 | 0.20 | 0.00 | 0.00 | 0.00
30000 | 0.16 | 0.00 | 0.00 | 0.00
50000 | 0.16 | 0.00 | 0.00 | 0.00
100000 | 0.20 | 0.00 | 0.00 | 0.00

Table 39: Percentage MC Violations Imposed Rule

(a) IC Data Number of voters (V) | Number of Candidates (C)
---|---
2 | 3 | 4 | 5 | 6
1 | 49.87 | 66.82 | 74.96 | 80.12 | 83.40
2 | 24.70 | 22.30 | 18.68 | 15.81 | 13.85
3 | 50.03 | 51.77 | 47.05 | 41.28 | 36.89
4 | 31.29 | 22.33 | 15.23 | 10.88 | 7.91
5 | 49.82 | 42.04 | 31.12 | 23.30 | 17.73
10 | 37.81 | 15.43 | 5.79 | 2.62 | 1.15
30 | 42.78 | 3.84 | 0.24 | 0.02 | 0.00
50 | 44.41 | 0.98 | 0.01 | 0.00 | 0.00
100 | 45.74 | 0.04 | 0.00 | 0.00 | 0.00
1000 | 48.91 | 0.00 | 0.00 | 0.00 | 0.00
5000 | 49.57 | 0.00 | 0.00 | 0.00 | 0.00
10000 | 49.57 | 0.00 | 0.00 | 0.00 | 0.00
30000 | 49.75 | 0.00 | 0.00 | 0.00 | 0.00
50000 | 49.77 | 0.00 | 0.00 | 0.00 | 0.00
100000 | 49.93 | 0.00 | 0.00 | 0.00 | 0.00

(b) IAC Data Number of voters (V) | Number of Candidates (C)
---|---
2 | 3 | 4 | 5 | 6
1 | 49.96 | 66.37 | 74.98 | 80.18 | 83.40
2 | 33.42 | 28.75 | 21.22 | 16.46 | 13.97
3 | 49.68 | 56.96 | 50.14 | 42.52 | 37.15
4 | 39.87 | 33.16 | 19.18 | 11.74 | 8.25
5 | 49.97 | 52.21 | 36.98 | 24.86 | 17.99
10 | 45.24 | 36.56 | 12.64 | 3.32 | 1.33
30 | 48.36 | 37.43 | 5.71 | 0.14 | 0.00
50 | 49.30 | 37.63 | 3.97 | 0.02 | 0.00
100 | 49.61 | 37.62 | 2.75 | 0.00 | 0.00
1000 | 49.84 | 37.74 | 1.79 | 0.00 | 0.00
5000 | 50.13 | 37.87 | 1.63 | 0.00 | 0.00
10000 | 50.27 | 37.49 | 1.64 | 0.00 | 0.00
30000 | 49.74 | 37.81 | 1.64 | 0.00 | 0.00
50000 | 49.91 | 37.55 | 1.60 | 0.00 | 0.00
100000 | 49.71 | 37.59 | 1.65 | 0.00 | 0.00

###  A.6 JS frequencies

Recall that the JS frequencies for Plurality, Instant Runoff, Minimax, Top
Two, and Imposed Rule are always 0% in elections with at least three
candidates and two voters. For the rest of the systems, the JS frequency
tables are below.

Table 40: JS Frequencies Borda Count

(a) IC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
10 | 4.78 | 0.00 | 0.00 | 0.00
30 | 0.09 | 0.00 | 0.00 | 0.00
50 | 0.00 | 0.00 | 0.00 | 0.00
100 | 0.00 | 0.00 | 0.00 | 0.00
1000 | 0.00 | 0.00 | 0.00 | 0.00
5000 | 0.00 | 0.00 | 0.00 | 0.00
10000 | 0.00 | 0.00 | 0.00 | 0.00
30000 | 0.00 | 0.00 | 0.00 | 0.00
50000 | 0.00 | 0.00 | 0.00 | 0.00

(b) IAC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
10 | 24.88 | 0.09 | 0.00 | 0.00
30 | 13.93 | 0.07 | 0.00 | 0.00
50 | 14.47 | 0.07 | 0.00 | 0.00
100 | 15.12 | 0.07 | 0.00 | 0.00
1000 | 15.24 | 0.07 | 0.00 | 0.00
5000 | 15.08 | 0.08 | 0.00 | 0.00
10000 | 15.38 | 0.08 | 0.00 | 0.00
30000 | 15.32 | 0.06 | 0.00 | 0.00
50000 | 15.45 | 0.08 | 0.00 | 0.00

Table 41: JS Frequencies Coombs

(a) IC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
10 | 4.89 | 0.00 | 0.00 | 0.00
30 | 0.02 | 0.00 | 0.00 | 0.00
50 | 0.00 | 0.00 | 0.00 | 0.00
100 | 0.00 | 0.00 | 0.00 | 0.00
1000 | 0.00 | 0.00 | 0.00 | 0.00
5000 | 0.00 | 0.00 | 0.00 | 0.00
10000 | 0.00 | 0.00 | 0.00 | 0.00
30000 | 0.00 | 0.00 | 0.00 | 0.00
50000 | 0.00 | 0.00 | 0.00 | 0.00

(b) IAC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
10 | 24.84 | 0.10 | 0.00 | 0.00
30 | 12.36 | 0.00 | 0.00 | 0.00
50 | 13.58 | 0.00 | 0.00 | 0.00
100 | 13.86 | 0.00 | 0.00 | 0.00
1000 | 13.75 | 0.00 | 0.00 | 0.00
5000 | 13.61 | 0.00 | 0.00 | 0.00
10000 | 14.15 | 0.01 | 0.00 | 0.00
30000 | 13.83 | 0.01 | 0.00 | 0.00
50000 | 13.80 | 0.01 | 0.00 | 0.00

Table 42: JS Frequencies Copeland

(a) IC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
10 | 0.54 | 0.00 | 0.00 | 0.00
30 | 0.00 | 0.00 | 0.00 | 0.00
50 | 0.00 | 0.00 | 0.00 | 0.00
100 | 0.00 | 0.00 | 0.00 | 0.00
1000 | 0.00 | 0.00 | 0.00 | 0.00
5000 | 0.00 | 0.00 | 0.00 | 0.00
10000 | 0.00 | 0.00 | 0.00 | 0.00
30000 | 0.00 | 0.00 | 0.00 | 0.00
50000 | 0.00 | 0.00 | 0.00 | 0.00

(b) IAC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
10 | 3.10 | 0.01 | 0.00 | 0.00
30 | 0.35 | 0.00 | 0.00 | 0.00
50 | 0.17 | 0.00 | 0.00 | 0.00
100 | 0.10 | 0.00 | 0.00 | 0.00
1000 | 0.05 | 0.00 | 0.00 | 0.00
5000 | 0.05 | 0.00 | 0.00 | 0.00
10000 | 0.04 | 0.00 | 0.00 | 0.00
30000 | 0.05 | 0.00 | 0.00 | 0.00
50000 | 0.05 | 0.00 | 0.00 | 0.00

Table 43: JS Frequencies Dowdall

(a) IC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
10 | 0.23 | 0.00 | 0.00 | 0.00
30 | 0.00 | 0.00 | 0.00 | 0.00
50 | 0.00 | 0.00 | 0.00 | 0.00
100 | 0.00 | 0.00 | 0.00 | 0.00
1000 | 0.00 | 0.00 | 0.00 | 0.00
5000 | 0.00 | 0.00 | 0.00 | 0.00
10000 | 0.00 | 0.00 | 0.00 | 0.00
30000 | 0.00 | 0.00 | 0.00 | 0.00
50000 | 0.00 | 0.00 | 0.00 | 0.00

(b) IAC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
10 | 8.10 | 0.00 | 0.00 | 0.00
30 | 2.61 | 0.00 | 0.00 | 0.00
50 | 2.64 | 0.00 | 0.00 | 0.00
100 | 2.57 | 0.00 | 0.00 | 0.00
1000 | 2.56 | 0.00 | 0.00 | 0.00
5000 | 2.63 | 0.00 | 0.00 | 0.00
10000 | 2.59 | 0.00 | 0.00 | 0.00
30000 | 2.59 | 0.00 | 0.00 | 0.00
50000 | 2.65 | 0.00 | 0.00 | 0.00

Table 44: JS Frequencies Black

(a) IC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
10 | 4.83 | 0.01 | 0.00 | 0.00
30 | 0.11 | 0.00 | 0.00 | 0.00
50 | 0.01 | 0.00 | 0.00 | 0.00
100 | 0.00 | 0.00 | 0.00 | 0.00
1000 | 0.00 | 0.00 | 0.00 | 0.00
5000 | 0.00 | 0.00 | 0.00 | 0.00
10000 | 0.00 | 0.00 | 0.00 | 0.00
30000 | 0.00 | 0.00 | 0.00 | 0.00
50000 | 0.00 | 0.00 | 0.00 | 0.00

(b) IAC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
10 | 24.92 | 0.07 | 0.00 | 0.00
30 | 14.44 | 0.07 | 0.00 | 0.00
50 | 14.98 | 0.08 | 0.00 | 0.00
100 | 15.53 | 0.07 | 0.00 | 0.00
1000 | 15.59 | 0.10 | 0.00 | 0.00
5000 | 15.51 | 0.06 | 0.00 | 0.00
10000 | 15.59 | 0.09 | 0.00 | 0.00
30000 | 15.53 | 0.09 | 0.00 | 0.00
50000 | 15.69 | 0.06 | 0.00 | 0.00

Table 45: JS Frequencies Baldwin

(a) IC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
10 | 4.89 | 0.03 | 0.00 | 0.00
30 | 0.12 | 0.00 | 0.00 | 0.00
50 | 0.01 | 0.00 | 0.00 | 0.00
100 | 0.00 | 0.00 | 0.00 | 0.00
1000 | 0.00 | 0.00 | 0.00 | 0.00
5000 | 0.00 | 0.00 | 0.00 | 0.00
10000 | 0.00 | 0.00 | 0.00 | 0.00
30000 | 0.00 | 0.00 | 0.00 | 0.00
50000 | 0.00 | 0.00 | 0.00 | 0.00

(b) IAC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
10 | 25.10 | 0.11 | 0.00 | 0.00
30 | 14.91 | 0.14 | 0.00 | 0.00
50 | 15.56 | 0.13 | 0.00 | 0.00
100 | 15.84 | 0.15 | 0.00 | 0.00
1000 | 16.29 | 0.13 | 0.00 | 0.00
5000 | 16.20 | 0.17 | 0.00 | 0.00
10000 | 16.30 | 0.17 | 0.00 | 0.00
30000 | 16.35 | 0.15 | 0.00 | 0.00
50000 | 16.20 | 0.14 | 0.00 | 0.00

Table 46: JS Frequencies for Pairwise Majority

(a) IC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
10 | 76.19 | 45.27 | 21.02 | 7.50
30 | 82.69 | 56.23 | 31.23 | 13.97
50 | 84.64 | 59.83 | 35.31 | 17.34
100 | 86.92 | 64.02 | 39.92 | 21.08
1000 | 90.05 | 70.89 | 48.37 | 28.82
5000 | 90.65 | 72.55 | 50.99 | 30.84
10000 | 90.81 | 72.64 | 51.11 | 31.40
30000 | 90.89 | 73.53 | 52.06 | 31.89
50000 | 91.08 | 73.77 | 52.04 | 32.39

(b) IAC Data Number of voters (V) | Number of Candidates (C)
---|---
3 | 4 | 5 | 6
10 | 84.50 | 51.12 | 22.47 | 7.69
30 | 90.42 | 64.15 | 33.53 | 14.42
50 | 91.81 | 67.86 | 38.56 | 17.78
100 | 92.77 | 71.49 | 43.87 | 21.85
1000 | 93.54 | 75.46 | 52.17 | 30.32
5000 | 93.76 | 75.97 | 53.24 | 32.27
10000 | 93.67 | 75.87 | 53.28 | 32.92
30000 | 93.55 | 75.94 | 53.08 | 33.02
50000 | 93.66 | 76.10 | 53.51 | 32.80

##  Appendix B Remarks about Code and Algorithms

All voting systems were modelled by the authors using C++ and Python. The C++
code was used in the simulations due to its better time performance.

###  B.1 Voting Systems

For the voting systems, the code structure was as follows. Each voting system
is a class derived from the VotingSystem Abstract Base Class. This base class
has various member fields, some of which are number of voters, number of
candidates, cwc_violations, iia_violations, etc. It also has three purely
virtual functions (set_votes, create_societal_order, and determine_winner).
Each derived class of this base class implements these three methods. For
instance, Plurality sets the votes based on first-place votes in a given
preference schedule, while Borda Count calculates each candidate’s points. The
create_societal_order ranks candidates based on the system’s rule for ranking,
and the determine_winner selects the candidate ranked first as the winner. In
case of ties, one of the candidates ranked first is randomly selected as the
winner. All candidates ranked first have an equal chance of winning. Note for
Instant Runoff, Coombs, and Baldwin, further functions were implemented to
module the various rounds.

The only voting system which was not fully modelled in this manner was
Pairwise Majority. This is because it does not always produce a societal
preference order. However, since Pairwise Majority only violates transitivity,
a special transitivity function (See Appendix B.3.1) was designed to compute
percentage TR violations for the system.

###  B.2 Candidates

In the constructor of the VotingSystem class, the candidates are initialized.
They are objects of the Candidate class. This class has member fields such as
number_of_votes, borda_points, name, rank, round_eliminated (for Instant
Runoff, Coombs, and Baldwin), and others. Functions such as set_votes modified
the candidate objects directly and, based on their attributes, they were
ranked to determine the winner.

###  B.3 Criteria

For each criterion, a function was created to check if a voting system
violates that criteria for a particular preference schedule. Note that a
preference schedule was modelled as a list of positive integers representing
how many voters chose each preference order. For instance, consider the
following preference schedule:

| 2 | 1 | 0 | 3 | 1 | 0
---|---|---|---|---|---|---
1st | A | A | B | B | C | C
2nd | B | C | A | C | A | B
3rd | C | B | C | A | B | A

In our code, this preference schedule would be modelled as the list
[2,1,0,3,1,0]. The preference orders are assumed to be arranged alphabetically
and each number in the list is associated with the respective preference
order. For instance, the 3 in the list indicates that 3 voters had preference
order $B\succ_{i}C\succ_{i}A$.

The naming convention of functions that check for violations is
violates_criterion. For instance, violates_cwc is the function to check
whether CWC was violated in a particular run. These functions take as input a
preference schedule and returns a Boolean value to check whether the criterion
is violated.

Consider the violates_cwc function. Based on the input preference schedule, it
finds the Condorcet winner if one exists. It then finds the winner of the
election using the determine_winner function, which is specific to the voting
system. If there is a Condorcet winner and they are not elected, the method
returns false. Otherwise, it returns true. Analogous functions were made for
CLC and MC.

Note that for CWC, our paper considered the frequency of CWC violations rather
than Condorcet efficiency, which is the likelihood that CWC is satisfied given
a Condorcet winner exists. In our code, for each simulation, the number of
times CWC was violated was found and then divided by the number of trials (and
subsequently multiplied by 100) to obtain the frequency of CWC violations.
Then, the relative frequency of CWC violations of various voting systems was
considered. However, these relative frequencies can also be used to make
observations about the relative Condorcet efficiencies of voting systems.
Percentage CWC violations and Condorcet efficiency can be related by the
following formula. Let $CE$ be the Condorcet efficiency, $\%CWC\\_vios$ the
percentage CWC violations, and $Condorcet\\_count$ the percentage of times a
Condorcet winner exists in the 10000 trials. Then,
$CE=(1-\frac{\%CWC\\_vios}{Condorcet\\_count})\times 100$.

For a given culture and a fixed number of voters and candidates, the
$Condorcet\\_count$ is approximately constant. Thus, when comparing voting
systems, if the parameters of the election are constant, then Condorcet
efficiency only depends on $\%CWC\\_vios$. The higher the percentage CWC
violations, the lower the Condorcet efficiency. Thus, the relative frequencies
of violating CWC also tell us which voting systems have the highest Condorcet
efficiencies in elections. For instance, Coombs relatively has a very low
frequency of CWC violations, and, as mentioned in Section 6.2, literature
indicates Coombs has very high Condorcet efficiencies when compared to other
systems. Note that raw percentage violations were measured over Condorcet
efficiencies with the goal of treating all criterion the same.

In this study, methods for CS, UD, ND were not created because the results
were already known theoretically. Only Imposed Rule violates CS (and does so
100% of the time) and all systems satisfy UD and ND. The algorithm for U is
the same as is described in Dougherty and Heckelman (2020), and is briefly
described below.

The violates_unanimity function loops over every candidate pair and checks if
any are Pareto pairs (See Section 6.5). For each Pareto pair, it checks
whether the candidate that all the voters prefer is societally ranked above
the other candidate in the pair. If not, then the function returns true. If no
Pareto pair violates U or there are no Pareto pairs, then the function returns
false.

The transitivity and IIA algorithms were substantially different that
Dougherty and Heckelman (2020).

####  B.3.1 Transitivity Algorithm

There were two violate_TR functions created; one for Pairwise Majority and one
for other systems.

The one for the 11 other systems works as follows. Candidates are ranked based
on the voting system rule. Then all possible three element permutations of the
list of candidates is generated. For each permutation of candidates, the
algorithm checks the following. Let $(A,B,C)$ be an arbitrary permutation of
three candidates. If $A$ is ranked above or equal to $B$, and $B$ is ranked
above of equal $C$, then $A$ must be ranked above of equal $C$ for preferences
to be transitive. If preferences are not transitive for the particular
permutation, then the function returns true. If preferences are transitive for
every permutation then the function returns false. Intuitively, since a
societal preference order was created at the start of function, transitivity
could never possibly be violated in any of these 11 systems. Accordingly, this
function always gives 0% violations.

Since Pairwise Majority did not always produce a societal preference order, a
special function was designed to compute transitivity violations. First, the
algorithm generates all three element permutations of the list of candidates.
For each permutation, the algorithm checks the following without the use of a
ranking. Suppose that the three candidates in the permutation are $A$, $B$,
and $C$, in that order. The algorithm checks that if $A$ beats or ties $B$ in
a head to head match up (as defined in Section 2.1.1), and $B$ beats or ties
$C$, then $A$ must beat or tie $C$. If this check fails, that means that
transitivity is violated under Pairwise Majority and the function returns
true. If this check passes for all permutations, then the function returns
false. Note that here we do not use the rank of candidates in a societal
preference order; we instead use head to head match ups as per the definition
of Pairwise Majority. Although the methodology is different to Dougherty and
Heckelman (2020), we obtain the exact same results for three-candidate
elections.

####  B.3.2 IIA Algorithm

The violates_IIA function takes a preference schedule as input, and returns a
Boolean value. The algorithm loops through all possible candidate pairs, or
all two element subsets of the set of candidates. For each candidate pair, the
following test is done. Let the pair of candidates be called $A$ and $B$. We
first find the societal preference between $A$ and $B$. Then, we let $j$ equal
the number of voters who prefer $A$ over $B$ and $k$ the number of voters who
prefer $B$ over $A$. We then randomly generate 300 additional preference
schedules in which $j$ voters still prefer $A$ over $B$ and $k$ voters prefer
$B$ over $A$. If any of these new preference schedules produce a different
societal preference between $A$ and $B$ than the original, then the original
preference schedule is considered to violate IIA and the function returns
true. This is repeated for every possible pair of candidates until an IIA
violation is found. If no IIA violation is found, the function returns false.

For instance, consider a Plurality election with three candidates and 19
voters. Using IC or IAC, the following preference schedule is obtained. It is
then passed as input into the violates_IIA function.

| 3 | 2 | 5 | 1 | 0 | 8
---|---|---|---|---|---|---
1st | A | A | B | B | C | C
2nd | B | C | A | C | A | B
3rd | C | B | C | A | B | A

Suppose the first candidate pair that is checked is $A$ and $B$. The societal
preference order is $C\succ B\succ A$ since Plurality only considers first
place voters. Note that society prefers B over $A$. First, the algorithm finds
that five voters have preference $A\succ_{i}B$ and 14 voters have preference
$B\succ_{i}A$. The algorithm then generates 300 more preference schedules
where five voters have preference order $A\succ_{i}B$ and 14 have preference
order $B\succ_{i}A$. These preference schedules are selected randomly from all
possible options.

The mathematical technique used to generate these preference schedule is a
application of stars and bars. Consider a voter that chooses $A\succ_{i}B$ in
the original preference schedule (this only includes their relative ranking of
$A$ and $B$ and does not include the position of $C$). In the new preference
schedule, they must keep their preference between $A$ and $B$ the same. Thus,
they can choose between three preference orders: $A\succ_{i}B\succ_{i}C$,
$A\succ_{i}C\succ_{i}B$, and $C\succ_{i}A\succ_{i}B$. All five voters who vote
$A\succ_{i}B$ face this choice. To model this, we randomly generate three
numbers to represent how many voters choose each option. These numbers must
add to the total voters voting $A\succ_{i}B$, in this case five. In terms of
stars and bars, there are five stars and two bars. We randomly select the
location of these two bars and count how many stars are in the three
partitions. These represent how many voters choose $A\succ_{i}B\succ_{i}C$,
$A\succ_{i}C\succ_{i}B$, and $C\succ_{i}A\succ_{i}B$.

Similarly, we generate three numbers that sum to 14, the number of voters who
vote $B\succ_{i}A$. This way a new preference schedule is obtained where each
voter maintains their preference between A and B. This application of stars
and bars is not a novel algorithm, but to our knowledge it has not been
applied to computing IIA violations.

One possible preference schedule that may be obtained is below:

| 5 | 1 | 0 | 1 | 0 | 13
---|---|---|---|---|---|---
1st | A | A | B | B | C | C
2nd | B | C | A | C | A | B
3rd | C | B | C | A | B | A

In this preference schedule, the societal preference order is $C\succ A\succ
B$. Now society prefers $A$ over $B$. But the number of voters with preference
order $A\succ_{i}B$ is still 5 and the number who have order $B\succ A$ is
still 14. Thus, even if every voter maintains their preference between $A$ and
$B$ in both preference schedules, the societal preference between $A$ and $B$
is not the same in both.151515Technically, the identity of voters is not kept
track of. We cannot say for sure that it was these same voters who voted A
over B in both preference schedule. However, this does not matter. As long as
the total who prefer A over B is the same, there exists a case where it was
these same voters who voted A over B in both preference schedules. Thus the
preference schedule violates IIA by definition as there exists another
preference schedule which show a different social rank for a pair even if all
voters vote the same way between that pair. Since IIA is violated for this
pair, the algorithm return true as it does not need to check for the other
pairs.

This algorithm never reports IIA violations that do not exist. However, it can
miss violations. This can happen when the number of voters is very high. As
the number of voters increases, there are more possible preference schedules
where $j$ voters vote $A\succ_{i}B$ and $k$ voters vote $B\succ_{i}A$. Thus,
in the 300 new preference schedules generated, there may be no preference
schedule that has a different societal order, even if one exists. We cannot
check every single preference since there are $(\frac{c!}{2})^{v}$ possible
preference schedules such that each voter maintains their relative preference
between a pair. Note $c$ is the number of candidates and $v$ is the number of
voters. What we can do, is increase the number of additional preferences
generated. In fact, for all systems that have a non-trivial satisfaction of
IIA, 1000 additional preferences were generated during the collection of the
IAC data. In particular, this was done for the voting systems Baldwin, Black,
Borda Count, Copeland, Coombs, and Dowdall. This gave better results, but
still missed some IIA violations. Thus our IIA results should be taken as
lower bounds for IIA violations.

In Dougherty and Heckelman (2020), a different IIA algorithm was used. They
first fix a candidate pair, say $A$ and $B$. Then they move the third
alternative (say $C$) up one in the preference schedule, then up two, then
down one, then down two. They make similar moves for $A$ and $B$, moving each
up one and down one. They then move $A$ and $B$ simultaneously. Specifically,
they move the less preferred alternative up one and the more preferred
alternative down one. Each move is only done if voters’ individual preferences
between $A$ and $B$ do not change. For each move they check if the social
ranking between $A$ and $B$ if different than the social ranking in the
original preference schedule.161616In their paper, they mention if there is a
change of social ranking, then IIA is considered violated. We interpret this
as follow. If $A\succ B$ in the original preference schedule, then this must
remain the case for all moves. The same holds is $B\succ A$ or $A=B$. In
particular, we believe they view ties as distinct social rankings. If so, IIA
is violated. A full description of the algorithm is in their paper [48].

We implemented their algorithm as well to compare our algorithm against
theirs. When we used their algorithm, we got the same results as their table,
with the exception of with Copeland. The reason for why the Copeland data was
different is discussed in Section B.3.3. We found that our algorithm finds
substantially more violations that the algorithm in Dougherty and Heckelman
(2020). While this difference in minor in the IC data, it is greater in the
IAC data. For Dowdall, Coombs, Copeland, and Baldwin our algorithm reports a
greater percentage IIA violations. For Coombs and Copeland, the difference in
the data is around 20 percentage points.

Their algorithm misses many violations because it considers only a limited
number of moves. It does not consider moves where, for instance, only 1 voter
changes their preference from say $A\succ_{i}B\succ_{i}C$ to
$C\succ_{i}A\succ_{i}B$. It tries to, as they put it, aggressively violate IIA
[48], by having the moves apply to all preference order. Our algorithm
performs well, especially for a small number of voters, because it also
considers cases where only a single voter changes their preference order, or
only a few voters do. Thus, their algorithm misses various IIA violations,
particularly for Copeland and Coombs. One example of an IIA violation they
always miss, and that our algorithm catches most of the time, is seen in
Section 6.4.

Our algorithm also scales better to test IIA for a greater number of
candidates. In our algorithm, an analogous procedure is used for four or more
candidates. For four candidates to obtain the additional preference schedules,
a very similar process is repeated. Instead of randomly generating three
numbers which sum to the number of voters voting $A\succ_{i}B$, 12 numbers are
generated. This is because there are twelve possible preference orders where
$A$ is ranked above $B$ in a four-candidate election. Each number represents
how many times each of the 12 preference schedules are chosen. 12 further
number that sum to the number of voters voting $B\succ_{i}A$ are generated,
and the preference schedule is created. There is no easy way to extend their
algorithm for a greater number of candidates.

However, their algorithm is much more time efficient. Our algorithm runs until
it finds a preference schedule that shows a different social ranking than the
original. This can take some time because these preference schedules are
randomly generated. In cases when IIA is actually satisfied for that
preference schedule, the algorithm loops over all 300 additional preference
schedule for each pair of candidates before it returns false. For elections
with a small number of voters, IIA is satisfied an non-trivial amount of
times. Furthermore, as the number of candidates increases, there are many more
pairs to consider. Due to these factors, for six candidate elections with a
small number of voters, some of the data points could not be obtained as they
took more than eight hours to compute using our method. On the other hand,
their algorithm considers a limited amount of moves and thus is faster.

In a few cases, their algorithm also catches more violations. In three
candidates elections using IAC for Borda Count, their algorithm catches 1.7
percentage points more violations for 100 voters and 3 percentage points more
violations for 1000 voters. We have discussed above why our algorithm may miss
more IIA violations as the number of voters rises, and this occurs for Borda
Count.

We believe that both algorithms can be used to complement each other. For
elections with more than three candidates, our algorithm can be used. For
quickly computing reasonable lower bounds for the frequency of IIA violations,
their algorithm can be used. While there are cases where their algorithm
reports more violations, generally our algorithm catches a far greater number
of IIA violations and provides better lower bounds for percentage IIA
violations.

####  B.3.3 Disagreement in IIA Conclusion

In this section, we analyze various of the conclusions that Dougherty and
Heckelman (2020) make about IIA violations. There is also a brief discussion
about a possible inconsistency in their Copeland data.

As we used a different IIA algorithm than Dougherty and Heckelman (2020), our
data substantially varies from their data. One of these differences was
outlined in Section 6.4. Dougherty and Heckelman (2020) state that Copeland
satisfies IIA if a strict majority of voters have identical preferences orders
while Borda Count only satisfies IIA if all voters have identical preferences
[48]. However, through a counterexample in Section 6.4, we showed that
Copeland can violate IIA even though a strict majority of voters have
identical preference orders. The fact that their algorithm misses such cases
is one of the reasons why our algorithm reports higher lower bounds for IIA
violations. Furthermore, they also state that in elections with three voters
and three candidates under IC, Coombs and Copeland violate IIA more than 40
percentage points less than Borda Count. However, we find that Copeland,
Dowdall, Coombs, Borda, Black, and Baldwin can only satisfy IIA in elections
with two or three voters if all voters have identical preferences. Thus, for
elections with up to three voters, all these systems are equally likely to
violate IIA.

We also disagree with some of other the conclusions the authors make regarding
IIA violations under Copeland. They state that Copeland violates IIA at a
greater frequency for even number of voters $N$, than for the adjacent odd
values $N-1$ and $N+1$.171717They claim that this is the case as there are
more ties for elections with an even number of voters. While they are right
that ties make it easier to violate IIA, there are many cases for four voter
elections where there are no ties and IIA is satisfied. There are also
preference schedules where not every voter has identical preferences, yet IIA
is satisfied. Our findings do not agree with this and show that for even
number of voters, IIA violations in Copeland actually occur less frequently.
For instance in three-candidate IC elections, Copeland violates IIA 97.2% of
the time for three voters and only 73.4% of the time for four voters. We
believe that this difference occurs because their algorithm fails to catch
many IIA violations for odd number of voters under Copeland.

As we have already discussed, our algorithm catches substantially more
violations that their algorithm in most cases. This is why the data in the two
studies differs. The papers do agree, however, that Coombs tends to violate
IIA less frequently than Dowdall and Group 1 systems (See Section 6.8).
However, the stark differences in performance between systems is not present
in our data. Each system violates IIA at least 80% of the time in elections
with at least 30 voters.

One final disagreement we have with their data is in reference to an
inconsistency in their data table we found while using their algorithm. For
the purpose of comparing the algorithms, we coded their IIA algorithm in our
Python model for testing. Using their algorithm, we obtained the exact same
data table that they did for both IC and IAC, with the exception of Copeland.
For Copeland elections with three candidates and at least four voters181818In
elections with three voters, the data is in agreement., we believe that their
reported values are higher than what their algorithm produces. For instance,
in elections with four voters and three candidates under IC, our simulations
using their algorithm show a 73.7% chance of violating IIA, while the value
reported in their paper is 88.9%. What is interesting is that our algorithm
also shows around 73% violations for identical elections.

As our algorithm generally catches equally as many or more IIA violations, at
least for low number of voters, we are inclined to believe that 88.9%
violations is higher than the actual value. This over counting is also seen
for Copeland elections under IAC for elections with more than four voters. For
elections with 30 voters and three candidates under IAC, their algorithm
yields 72% IIA violations, but the reported value is 78.5%. Note that as the
number of voters increases, the extent of over counting decreases. For IC,
they correctly show the data reaches 100% violations, and for IAC the
difference between their reported value and the values we obtain using their
algorithm becomes almost 0.

We do not know why this over counting occurred, but it could be due to errors
in their Copeland method. It is also possible that there are some differences
between our implementation of their algorithm and their actual algorithm. We
do not believe this is likely because our code of their algorithm agrees with
their data in every case except for Copeland.

###  B.4 Distributions

In this study, two cultures (IC and IAC) were used to randomly generate
preference schedules for the simulations. We built a separate function for
each culture which takes as input the number of voters $V$ and candidates $C$
and outputs a preference schedule.

For IC, the function loops over every voter and randomly allocates a
preference order. The algorithm does this by randomly generating a number from
1 to $C!$ for each voter, since there are $C!$ possible preference orders. The
preference order that corresponds to the number generated (remember the
preference orders are arranged alphabetically) is that voter’s preference
order. This information is used to create the preference schedule, which is
returned in the form of a list as detailed in Section B.3.

For IAC, the algorithm generates $C!$ numbers that add to $V$. These $C!$
numbers represent the number of times each preference order is selected. This
is done in a very similar manner to the application of stars and bars
discussed in the IIA algorithm. From this information the preference schedule
is created and then returned.

###  B.5 Running the code

Say we want to find all CLC violations for Instant Runoff in an election with
100 voters and three candidates. We run the command ./main 100 3 IC
InstantRunoff CLC in terminal. The main function takes these command line
arguments and creates an object of the InstantRunoff class, It uses 100 and 3
to initialize the number of voter and number of candidates, respectfully.
Three candidate objects are initialized as well. Then the code enters the
find_clc_violations function. The find_clc_violations takes as arguments the
number of trials (fixed at 10000 in our study) and the culture (IC or IAC).
For each trial, this function first generates a preference schedule using the
culture specified. It then checks for that system if CLC is violated. If so,
it appends a counter. After all the trials, the number of violations is
divided by the number of trials to get the percentage CLC violation. This
value is recorded. The process is analogous for different voting systems and
criteria.