Skip to content

Commit

Permalink
SRV->Star
Browse files Browse the repository at this point in the history
  • Loading branch information
jamesonquinn committed Jul 2, 2018
1 parent 1b2257b commit 4130a45
Show file tree
Hide file tree
Showing 7 changed files with 564 additions and 9 deletions.
242 changes: 242 additions & 0 deletions brochureVSE.svg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/VSE.md
Expand Up @@ -99,7 +99,7 @@ The strategy models include various mixes of the following possibilities:
* IdealApproval: Approval voting, where the "honest" (baseline) vote is to approve any candidate with above-average utility. (It turns out that with this model for candidate utilities, this strategy isn't actually ideal...)
* BulletyApproval60: Approval voting, where the "honest" baseline is that 60% of voters bullet vote (approve only their favorite candidate), and 40% vote as in IdealApproval.
* Score voting: Voters give candidates a numerical rating, and the highest total or average rating wins.
* Score Runoff Voting (SRV): Voters cast ballots as in score voting, rating each candidate on a numerical scale. The two candidates with the highest total or average are selected, and the pairwise winner between those two is the overall winner.
* Star Voting (Score then Automatic runoff): Voters cast ballots as in score voting, rating each candidate on a numerical scale. The two candidates with the highest total or average are selected, and the pairwise winner between those two is the overall winner.
* 3-2-1 Voting (V321): Voters may rate each candidate “Good”, “Acceptable”, or “Rejected”. You find the winner in three steps.
* Find 3 Semifinalists: the candidates with the most “good” ratings.
* Find 2 Finalists: the semifinalists with the fewest rejections.
Expand Down
4 changes: 2 additions & 2 deletions docs/VSEbasic.md
Expand Up @@ -16,13 +16,13 @@ I've run VSE simulations for a number of methods. Here's a chart with only the b

* *3-2-1 voting* is a voting method where voters give each candidate one of 3 ratings — good, acceptable, or bad — and you find the winner in 3 steps. First, the 3 semifinalists are the candidates rated "good" the most; second, the 2 finalists are the semifinalists rated "bad" the least; and third, the winner is the finalist who's rated higher on more ballots (ie, the winner of a virtual runoff). This method's VSE runs from *92-95%*, even with strategic voters. Also, because it's one of the methods which best avoids giving an unfair advantage to those strategic voters, and because its simple ballot format is approachable for all voters, it encourages honest (non-strategic) voting. In my opinion, this is the *best single-winner election method* for large-scale political elections with diverse voters.

* *Score runoff voting* (SRV), also with different possible score levels. This is like score voting (explained below), except that you choose the top 2 candidates based on scores, and then find the one of them who's rated higher on more ballots (ie, the winner of a virtual runoff). With enough possible score levels, this has a VSE of 91% all the way up to 98% —— better than even 3-2-1 voting. The only reasons I chose to highlight 3-2-1 voting above this method is that 3-2-1 has a simpler ballot and resists strategy slightly better. But SRV is undeniably a top-shelf election method, and arguably the best out of all the ones I tested.
* *Star Voting* (Score then Automatic Runoff), also with different possible score levels. This is like score voting (explained below), except that you choose the top 2 candidates based on scores, and then find the one of them who's rated higher on more ballots (ie, the winner of a virtual runoff). With enough possible score levels, this has a VSE of 91% all the way up to 98% —— better than even 3-2-1 voting. The only reasons I chose to highlight 3-2-1 voting above this method is that 3-2-1 has a simpler ballot and resists strategy slightly better. But Star is undeniably a top-shelf election method, and arguably the best out of all the ones I tested.

Some other methods I've tested, but (aside from IRV) left out of the figure above, include:

* *Score voting* with a varied number of possible score levels. This is a method where voters give from 0 to some maximum number of points to each candidate, and the highest average score wins. This method is great when voters all agree on the goals, and merely need to find a candidate who will best implement those goals. But in more contentious situations, such as most political elections and those I tested, it's vulnerable to voting strategy, which can take its VSE from 96% down to 84%.

* *Condorcet methods* such as Schulze and Ranked Pairs. In these methods, voters rank candidates in preference order, and any candidate who can beat all the others pairwise is the winner. These methods also topped out at 98% VSE, though they seem slightly more vulnerable to strategy than SRV; Ranked Pairs, the best Condorcet method I tested, can have a VSE as low as 86% under strategy. However, the complexity of vote-counting and of presenting results in these methods makes them, I feel, more theoretical than practical.
* *Condorcet methods* such as Schulze and Ranked Pairs. In these methods, voters rank candidates in preference order, and any candidate who can beat all the others pairwise is the winner. These methods also topped out at 98% VSE, though they seem slightly more vulnerable to strategy than Star; Ranked Pairs, the best Condorcet method I tested, can have a VSE as low as 86% under strategy. However, the complexity of vote-counting and of presenting results in these methods makes them, I feel, more theoretical than practical.

* *Instant Runoff Voting* (IRV). In this method, voters rank candidates in preference order and the favorites are tallied. Then, there's a process of eliminating the last-place candidate and re-tallying their votes for the voters' next preference (if any), until one candidate tallies more than half of the remaining votes. This method's VSE runs from 92% with honest voters down to 79% with all strategic voters. That's better than plurality, but worse than all the other methods above. Still, this method is notable, because it has the *strongest track record* of any of these methods except plurality; it's been used in thousands of political elections in multiple countries and jurisdictions.

Expand Down
2 changes: 1 addition & 1 deletion docs/vse.html
Expand Up @@ -41,7 +41,7 @@
<div id="htmlwidget_container">
<div id="htmlwidget-b7435ae06a8e1a138be0" style="width:960px;height:500px;" class="scatterD3 html-widget"></div>
</div>
<script type="application/json" data-for="htmlwidget-b7435ae06a8e1a138be0">{"x":{"data":{"x":[0.971484211041739,0.954406588009535,0.843083053298353,0.958341614660365,0.910219263665683,0.965995175264141,0.967601209694857,0.956539283624443,0.843524256157348,0.953117086110139,0.909776138156644,0.96652589906596,0.932775980210885,0.952091248419092,0.845822695230511,0.920177653689669,0.902108073894977,0.957454095545952,0.875064727211005,0.946845405823116,0.840571365586817,0.868826927697466,0.881011083717807,0.943728373650207,0.898705505417564,0.952810262001966,0.853951339745966,0.896328710035976,0.899060457349452,0.955331201421736,0.983270863511924,0.935469766088331,0.911971600339774,0.958438351465796,0.957761403451895,0.971322277982163,0.942253823996861,0.935372746013321,0.883910868999411,0.924796588302771,0.928825614034941,0.956187096156954,0.737712272938313,0.859955333355031,0.718000426072079,0.729894928804224,0.77455526916333,0.834589039300918,0.965568521217713,-0.106269818836669,0.70357932602774,0.789521934438837,0.877491725750915,0.763198738142313,0.913279773647558,0.796655969293376,0.847561428158811,0.893903189189923,0.877159631153812,0.85206101073419,0.985116010840035,0.915684073104097,0.79985244276895,0.816330860488426,0.904374038886032,0.948830750482768,0.987696793468512,0.92370006353105,0.869565044932144,0.878517272412739,0.937558230580537,0.956627029623909,0.943112711566024,0.942074897721521,0.918716196222782,0.928166766521808,0.94275152468267,0.951318204290781,0.890163815424478,0.783661079526733,0.827946567121668,0.828344526534427,0.881436645127739,0.806611248234294,0.912734032003193,0.850703917607839,0.831960983632658,0.836578879179211,0.885134358367623,0.808409680757251],"y":["12. Score0to1000","12. Score0to1000","12. Score0to1000","12. Score0to1000","12. Score0to1000","12. Score0to1000","11. Score0to10","11. Score0to10","11. Score0to10","11. Score0to10","11. Score0to10","11. Score0to10","10. Score0to2","10. Score0to2","10. Score0to2","10. Score0to2","10. Score0to2","10. Score0to2"," 9. IdealApproval"," 9. IdealApproval"," 9. IdealApproval"," 9. IdealApproval"," 9. IdealApproval"," 9. IdealApproval"," 8. BulletyApproval60"," 8. BulletyApproval60"," 8. BulletyApproval60"," 8. BulletyApproval60"," 8. BulletyApproval60"," 8. BulletyApproval60","13. Srv0to10","13. Srv0to10","13. Srv0to10","13. Srv0to10","13. Srv0to10","13. Srv0to10","14. Srv0to2","14. Srv0to2","14. Srv0to2","14. Srv0to2","14. Srv0to2","14. Srv0to2"," 1. Plurality"," 1. Plurality"," 1. Plurality"," 1. Plurality"," 1. Plurality"," 1. Plurality"," 2. Borda"," 2. Borda"," 2. Borda"," 2. Borda"," 2. Borda"," 2. Borda"," 5. Irv"," 5. Irv"," 5. Irv"," 5. Irv"," 5. Irv"," 5. Irv"," 6. Schulze"," 6. Schulze"," 6. Schulze"," 6. Schulze"," 6. Schulze"," 6. Schulze"," 7. Rp"," 7. Rp"," 7. Rp"," 7. Rp"," 7. Rp"," 7. Rp","15. V321","15. V321","15. V321","15. V321","15. V321","15. V321"," 3. Mav"," 3. Mav"," 3. Mav"," 3. Mav"," 3. Mav"," 3. Mav"," 4. Mj"," 4. Mj"," 4. Mj"," 4. Mj"," 4. Mj"," 4. Mj"],"col_var":["a.100% honest","f.100% strategic","e.100% 1-sided strategy","d.Smart 1-sided strat.","b.50% 1-sided strategy","c.50% strategic","a.100% honest","f.100% strategic","e.100% 1-sided strategy","d.Smart 1-sided strat.","b.50% 1-sided strategy","c.50% strategic","a.100% honest","f.100% strategic","e.100% 1-sided strategy","d.Smart 1-sided strat.","b.50% 1-sided strategy","c.50% strategic","a.100% honest","f.100% strategic","e.100% 1-sided strategy","d.Smart 1-sided strat.","b.50% 1-sided strategy","c.50% strategic","a.100% honest","f.100% strategic","e.100% 1-sided strategy","d.Smart 1-sided strat.","b.50% 1-sided strategy","c.50% strategic","a.100% honest","f.100% strategic","e.100% 1-sided strategy","d.Smart 1-sided strat.","b.50% 1-sided strategy","c.50% strategic","a.100% honest","f.100% strategic","e.100% 1-sided strategy","d.Smart 1-sided strat.","b.50% 1-sided strategy","c.50% strategic","a.100% honest","f.100% strategic","e.100% 1-sided strategy","d.Smart 1-sided strat.","b.50% 1-sided strategy","c.50% strategic","a.100% honest","f.100% strategic","e.100% 1-sided strategy","d.Smart 1-sided strat.","b.50% 1-sided strategy","c.50% strategic","a.100% honest","f.100% strategic","e.100% 1-sided strategy","d.Smart 1-sided strat.","b.50% 1-sided strategy","c.50% strategic","a.100% honest","f.100% strategic","e.100% 1-sided strategy","d.Smart 1-sided strat.","b.50% 1-sided strategy","c.50% strategic","a.100% honest","f.100% strategic","e.100% 1-sided strategy","d.Smart 1-sided strat.","b.50% 1-sided strategy","c.50% strategic","a.100% honest","f.100% strategic","e.100% 1-sided strategy","d.Smart 1-sided strat.","b.50% 1-sided strategy","c.50% strategic","a.100% honest","f.100% strategic","e.100% 1-sided strategy","d.Smart 1-sided strat.","b.50% 1-sided strategy","c.50% strategic","a.100% honest","f.100% strategic","e.100% 1-sided strategy","d.Smart 1-sided strat.","b.50% 1-sided strategy","c.50% strategic"],"key_var":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90]},"settings":{"x_log":false,"y_log":false,"labels_size":10,"labels_positions":null,"point_size":64,"point_opacity":1,"hover_size":1,"hover_opacity":null,"xlab":"vse","ylab":"method","has_labels":false,"col_lab":"strategy","col_continuous":false,"colors":null,"ellipses":false,"ellipses_data":[],"symbol_lab":"NULL","size_range":[10,300],"size_lab":"NULL","opacity_lab":"NULL","unit_circle":false,"has_color_var":true,"has_symbol_var":false,"has_size_var":false,"has_opacity_var":false,"has_url_var":false,"has_legend":true,"has_tooltips":true,"tooltip_text":null,"has_custom_tooltips":false,"click_callback":null,"zoom_callback":null,"fixed":false,"legend_width":150,"left_margin":90,"html_id":"scatterD3-HCVATVBW","xlim":[-0.2,1],"ylim":null,"x_categorical":false,"y_categorical":true,"menu":true,"lasso":false,"lasso_callback":null,"dom_id_reset_zoom":"scatterD3-reset-zoom","dom_id_svg_export":"scatterD3-svg-export","dom_id_lasso_toggle":"scatterD3-lasso-toggle","transitions":false,"axes_font_size":"100%","legend_font_size":"100%","caption":null,"lines":{"slope":[0,null],"intercept":[0,0],"stroke_dasharray":[5,5]},"hashes":[]}},"evals":[],"jsHooks":[]}</script>
<script type="application/json" data-for="htmlwidget-b7435ae06a8e1a138be0">{"x":{"data":{"x":[0.971484211041739,0.954406588009535,0.843083053298353,0.958341614660365,0.910219263665683,0.965995175264141,0.967601209694857,0.956539283624443,0.843524256157348,0.953117086110139,0.909776138156644,0.96652589906596,0.932775980210885,0.952091248419092,0.845822695230511,0.920177653689669,0.902108073894977,0.957454095545952,0.875064727211005,0.946845405823116,0.840571365586817,0.868826927697466,0.881011083717807,0.943728373650207,0.898705505417564,0.952810262001966,0.853951339745966,0.896328710035976,0.899060457349452,0.955331201421736,0.983270863511924,0.935469766088331,0.911971600339774,0.958438351465796,0.957761403451895,0.971322277982163,0.942253823996861,0.935372746013321,0.883910868999411,0.924796588302771,0.928825614034941,0.956187096156954,0.737712272938313,0.859955333355031,0.718000426072079,0.729894928804224,0.77455526916333,0.834589039300918,0.965568521217713,-0.106269818836669,0.70357932602774,0.789521934438837,0.877491725750915,0.763198738142313,0.913279773647558,0.796655969293376,0.847561428158811,0.893903189189923,0.877159631153812,0.85206101073419,0.985116010840035,0.915684073104097,0.79985244276895,0.816330860488426,0.904374038886032,0.948830750482768,0.987696793468512,0.92370006353105,0.869565044932144,0.878517272412739,0.937558230580537,0.956627029623909,0.943112711566024,0.942074897721521,0.918716196222782,0.928166766521808,0.94275152468267,0.951318204290781,0.890163815424478,0.783661079526733,0.827946567121668,0.828344526534427,0.881436645127739,0.806611248234294,0.912734032003193,0.850703917607839,0.831960983632658,0.836578879179211,0.885134358367623,0.808409680757251],"y":["12. Score0to1000","12. Score0to1000","12. Score0to1000","12. Score0to1000","12. Score0to1000","12. Score0to1000","11. Score0to10","11. Score0to10","11. Score0to10","11. Score0to10","11. Score0to10","11. Score0to10","10. Score0to2","10. Score0to2","10. Score0to2","10. Score0to2","10. Score0to2","10. Score0to2"," 9. IdealApproval"," 9. IdealApproval"," 9. IdealApproval"," 9. IdealApproval"," 9. IdealApproval"," 9. IdealApproval"," 8. BulletyApproval60"," 8. BulletyApproval60"," 8. BulletyApproval60"," 8. BulletyApproval60"," 8. BulletyApproval60"," 8. BulletyApproval60","13. Star0to10","13. Star0to10","13. Star0to10","13. Star0to10","13. Star0to10","13. Star0to10","14. Star0to2","14. Star0to2","14. Star0to2","14. Star0to2","14. Star0to2","14. Star0to2"," 1. Plurality"," 1. Plurality"," 1. Plurality"," 1. Plurality"," 1. Plurality"," 1. Plurality"," 2. Borda"," 2. Borda"," 2. Borda"," 2. Borda"," 2. Borda"," 2. Borda"," 5. Irv"," 5. Irv"," 5. Irv"," 5. Irv"," 5. Irv"," 5. Irv"," 6. Schulze"," 6. Schulze"," 6. Schulze"," 6. Schulze"," 6. Schulze"," 6. Schulze"," 7. Rp"," 7. Rp"," 7. Rp"," 7. Rp"," 7. Rp"," 7. Rp","15. V321","15. V321","15. V321","15. V321","15. V321","15. V321"," 3. Mav"," 3. Mav"," 3. Mav"," 3. Mav"," 3. Mav"," 3. Mav"," 4. Mj"," 4. Mj"," 4. Mj"," 4. Mj"," 4. Mj"," 4. Mj"],"col_var":["a.100% honest","f.100% strategic","e.100% 1-sided strategy","d.Smart 1-sided strat.","b.50% 1-sided strategy","c.50% strategic","a.100% honest","f.100% strategic","e.100% 1-sided strategy","d.Smart 1-sided strat.","b.50% 1-sided strategy","c.50% strategic","a.100% honest","f.100% strategic","e.100% 1-sided strategy","d.Smart 1-sided strat.","b.50% 1-sided strategy","c.50% strategic","a.100% honest","f.100% strategic","e.100% 1-sided strategy","d.Smart 1-sided strat.","b.50% 1-sided strategy","c.50% strategic","a.100% honest","f.100% strategic","e.100% 1-sided strategy","d.Smart 1-sided strat.","b.50% 1-sided strategy","c.50% strategic","a.100% honest","f.100% strategic","e.100% 1-sided strategy","d.Smart 1-sided strat.","b.50% 1-sided strategy","c.50% strategic","a.100% honest","f.100% strategic","e.100% 1-sided strategy","d.Smart 1-sided strat.","b.50% 1-sided strategy","c.50% strategic","a.100% honest","f.100% strategic","e.100% 1-sided strategy","d.Smart 1-sided strat.","b.50% 1-sided strategy","c.50% strategic","a.100% honest","f.100% strategic","e.100% 1-sided strategy","d.Smart 1-sided strat.","b.50% 1-sided strategy","c.50% strategic","a.100% honest","f.100% strategic","e.100% 1-sided strategy","d.Smart 1-sided strat.","b.50% 1-sided strategy","c.50% strategic","a.100% honest","f.100% strategic","e.100% 1-sided strategy","d.Smart 1-sided strat.","b.50% 1-sided strategy","c.50% strategic","a.100% honest","f.100% strategic","e.100% 1-sided strategy","d.Smart 1-sided strat.","b.50% 1-sided strategy","c.50% strategic","a.100% honest","f.100% strategic","e.100% 1-sided strategy","d.Smart 1-sided strat.","b.50% 1-sided strategy","c.50% strategic","a.100% honest","f.100% strategic","e.100% 1-sided strategy","d.Smart 1-sided strat.","b.50% 1-sided strategy","c.50% strategic","a.100% honest","f.100% strategic","e.100% 1-sided strategy","d.Smart 1-sided strat.","b.50% 1-sided strategy","c.50% strategic"],"key_var":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90]},"settings":{"x_log":false,"y_log":false,"labels_size":10,"labels_positions":null,"point_size":64,"point_opacity":1,"hover_size":1,"hover_opacity":null,"xlab":"vse","ylab":"method","has_labels":false,"col_lab":"strategy","col_continuous":false,"colors":null,"ellipses":false,"ellipses_data":[],"symbol_lab":"NULL","size_range":[10,300],"size_lab":"NULL","opacity_lab":"NULL","unit_circle":false,"has_color_var":true,"has_symbol_var":false,"has_size_var":false,"has_opacity_var":false,"has_url_var":false,"has_legend":true,"has_tooltips":true,"tooltip_text":null,"has_custom_tooltips":false,"click_callback":null,"zoom_callback":null,"fixed":false,"legend_width":150,"left_margin":90,"html_id":"scatterD3-HCVATVBW","xlim":[-0.2,1],"ylim":null,"x_categorical":false,"y_categorical":true,"menu":true,"lasso":false,"lasso_callback":null,"dom_id_reset_zoom":"scatterD3-reset-zoom","dom_id_svg_export":"scatterD3-svg-export","dom_id_lasso_toggle":"scatterD3-lasso-toggle","transitions":false,"axes_font_size":"100%","legend_font_size":"100%","caption":null,"lines":{"slope":[0,null],"intercept":[0,0],"stroke_dasharray":[5,5]},"hashes":[]}},"evals":[],"jsHooks":[]}</script>
<script type="application/htmlwidget-sizing" data-for="htmlwidget-b7435ae06a8e1a138be0">{"viewer":{"width":450,"height":350,"padding":15,"fill":true},"browser":{"width":960,"height":500,"padding":40,"fill":true}}</script>
</body>
</html>
4 changes: 2 additions & 2 deletions docs/vsebreakdown.html

Large diffs are not rendered by default.

0 comments on commit 4130a45

Please sign in to comment.