[EM] Calculated failure/success rates using randomized ballots and candidates

VoteFair electionmethods at votefair.org
Mon Jan 4 21:12:49 PST 2021

On 1/4/2021 3:03 PM, Jan Kok wrote:
> Please consider merging your code with Warren D. Smith's election
> simulator available at https://www.rangevoting.org/IEVS/IEVS.c

Thanks for the suggestion.  I share your desire for compatible software 
tools for analyzing and implementing better election methods.

However, I looked at the IEVS.c code and see that it serves a different 
purpose from what my code is intended to accomplish.  And it's 
incompatible with what I think we need.  Specifically:

IEVS does not include the STAR (Score Then Automatic Runoff) voting 
method, which is surprising since the STAR method is based on Score 
ballots, which is what Warren Smith favors.  I'll let someone else who 
is already familiar with IEVS conventions add that missing method.

IEVS does not include the Condorcet-Kemeny method, and adding that 
method to the IEVS code would not be simple.

I believe that separating ballot-generation software from vote-counting 
software is very important for these reasons:

* Allows tech-savvy voters to test vote-counting software for the 
purpose of deciding whether the vote-counting software is ready to be 
used for real surveys, elections, etc.  The IEVS program does not have 
this separation between method calculations and the generation of test 

* My vote-counting code accepts ballot codes that indicate actual 
ballots from an actual survey, election, etc., which contrasts with the 
IEVS code that generates ballots internally.

* IEVS does not allow a ballot to rank multiple candidates at the same 
preference level, yet this is needed for real voting situations.  My 
vote-counting software handles these ballots, so I don't see value in 
stripping out this important code to fit into the IEVS framework.

* IEVS code does not fully handle resolving ties, which is yet another 
important part of calculating results for real surveys, elections, etc.

* IEVS can simulate dishonest voters by using the candidate input order 
(from most popular to least popular) to decide how to "mark" ballots 
dishonestly.  This is great for academic analysis.  But this feature 
destroys the trustworthiness of the IEVS vote-counting code for use in 
real surveys, elections, etc.

Yes, the IEVS code is very useful for academic analysis.

Yet I believe we need more ready-to-use "real-life" vote-counting 
software -- and external/separate testing software -- because that 
combination provides an important bridge to getting better methods 
adopted in real surveys, elections, etc.

Richard Fobes

More information about the Election-Methods mailing list