This is a voting simulator to look at the Bayesian Regret for different voting methods. It is built to look at it in several different ways in order to be able to handle multi-winner elections.
This simulator uses issue based utility. Each person is asigned a random opinion on a number of issues, on a unit ball. The regret / negative utility of a candidate to a person is the distance between the two of them. We look a large number of metrics to determine which voting methods are better or worse.
The following metrics are tracked for each output:
For each issue, this compares the majority of the voters to the majority of the council, and counts how often the results are different. This represents the number of times that a vote done by the council will turn out differently from a vote done by the population. A smaller number is better.
For each issue, this compares the mean of the voters to the mean of the council, and counts how often the results are different. The mean represents what a group is likely to comprimize to do. If the majority who would vote against an issue care about it enough less than the minority who would vote for it, it is not unreasonable that they would be likely to compromize on other issues to get the votes for the issue. A smaller number is better.
This is just like Majority Misses, but for issues that have a 2/3rds majority. In general, councils that do better in Majority Misses, but worse in Super Majority Misses do not represent minority voters well, and if certain actions like the ability to change the constitution need to be protected by requiring a super majority, voting systems that do poorly here will not offer those protections. A smaller number is better.
This is the distance in issue space between the mean opinion of the voters and the mean opinion of the council. The closer the means are, the better the council represents the population. A lower number is better.
This is the mean distance from each individual voter to the mean oppinion of the council. Using the distance between the voter and the candidates, this is one way of looking at the Bayesian Regret. A lower number is better.
Each voter is considered to get an amount of utility on each issue based on their oppinion on the issue. If the winning council votes on each issue, this is the average amount of utility gained/lost by all the voters. A higher number is better.
This is just like the Distance between Means, but using the median voter on each issue rather than the mean. It also uses the median winning candidate instead of the mean. A lower number is better.
Like the Mean Distance to the Mean, this is a way of looking at the Bayesian Regret, using distances to measure regret. However, unlike the Mean Distance to the Mean, this looks at the distance to the nearest winning councilmember rather than the mean oppinion of the council. This should represent how closely represented the average voter is. A lower number is better.
There are a few variables used to generate the output. Changing the variables can change the output.
This is the number of voters in the population.
This is the number of issues that the voters care about. It should be at least two.
If this is not 0, it will cause the population to cluster together. This different distribution will result in different distributions. The closer it is to 1, the more clustering will occur. It cannot be 1 or higher. This might or might not be a good way to represent that people who interact with each other can influence each other, and end up with similar oppinions.
This is how many times the simulation will run. If it doesn't run ehough, stastical anomolies can impact the result. However it does make it take longer to run more.
The following uses a population of 1005 people, 3 issues, clustering of 0.5, and 10000 repetitions.
. | majorityMisses | meanMisses | superMajorityMisses | distBetwenMeans | meanDistToMean | issueUtility | medianDiff | meanNearestDist |
---|---|---|---|---|---|---|---|---|
HypotheticalDirectDemocracy | 0.0 | 0.2619 | 0.0 | 0.0 | 0.9964248670458794 | 0.09735401454732055 | 0.0 | 0.0 |
HypotheticalPerfectSingleWinner | 0.2619 | 0.0 | 3.0 | 0.0 | 0.9964248670458794 | 0.10117888669758104 | 0.06385825772869644 | 0.9964248670458794 |
HypotheticalBestRunningCandidate from 20 candidates | 0.4106 | 0.3197 | 3.0 | 0.9380656727578127 | 1.2809621483683586 | 0.09426070621041581 | 0.8896993644770255 | 1.2809621483683586 |
1 winner Sequential Score using strategy Honest Score from 20 candidates | 0.504 | 0.4605 | 3.0 | 0.9423936196073551 | 1.2817343567609787 | 0.08931136899880367 | 0.8973600646054787 | 1.2817343567609787 |
1 winner STV using strategy Honest List from 20 candidates | 0.8429 | 0.8288 | 3.0 | 0.9605298937754154 | 1.294580454993248 | 0.06419059378530365 | 0.9316027673393086 | 1.294580454993248 |
Plurality using strategy Honest List from 20 candidates | 1.3149 | 1.3256 | 3.0 | 0.9901088430259988 | 1.320308627998829 | 0.018171509072708432 | 0.9842328885972673 | 1.320308627998829 |
Jury of 1 from 20 candidates | 1.4228 | 1.4251 | 3.0 | 0.996983514211096 | 1.3281755145907401 | 0.007461371410469292 | 0.9973684619768843 | 1.3281755145907401 |
5 winner Sequential Score using strategy Honest Score from 20 candidates | 0.8188 | 0.8259 | 0.342 | 0.16058953896015418 | 1.0034566716074944 | 0.06457793797044432 | 0.4939622733249753 | 0.6713871244490147 |
5 winner STV using strategy Honest List from 20 candidates | 0.9908 | 1.0345 | 0.1782 | 0.14012827164725486 | 1.0029452415764333 | 0.04765630923322169 | 0.4455776657442424 | 0.6036514595210553 |
5 winner At Large using strategy ApprovalFiftyPercentScore from 20 candidates | 0.6518 | 0.6069 | 1.9019 | 0.6237528719981961 | 1.1265424895524978 | 0.08049156831394066 | 0.7391555922904786 | 0.8511210862398148 |
Jury of 5 from 20 candidates | 1.3475 | 1.3612 | 1.1497 | 0.4151812811722739 | 1.0628834990799427 | 0.015420344088407001 | 0.6551210885636344 | 0.729687903881073 |