<div dir="ltr">Well then.<div><br></div><div><a href="https://github.com/jrmoserbaltimore/libdemocrav/blob/refactor/UnitTests/resources/testcases/HistoricElections.simpletabulatortest">https://github.com/jrmoserbaltimore/libdemocrav/blob/refactor/UnitTests/resources/testcases/HistoricElections.simpletabulatortest</a>  <br></div><div><br></div><div>"smith set" is the smith set.</div><div><br></div><div>"schwartz set" is valid when the smith set and schwartz set differ.</div><div><br></div><div>When the smith or schwartz set are 1, a tabulator can test itself as "condorcet-smith" or "condorcet-schwartz"</div><div><br></div><div>Other valid types of results are "tideman's alternative" (if schwartz = 1, elect; else eliminate non-smith, runoff 1, repeat); "tideman's alternative smith" (elects by smith set = 1); "tideman's alternative schwartz" (schwartz set elimination); and "meek-stv".</div><div><br></div><div>This is an extremly basic outcome format.  The json format.. I can't parse yet.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, May 13, 2019 at 1:34 PM John <<a href="mailto:john.r.moser@gmail.com">john.r.moser@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div>[Not subscribed; please CC me on responses.]</div><div><br></div><div>Does anyone have Smith Set, Schwartz Set, IRV, and STV (2, 3, 4, 5, etc.) results for the HIL files here:</div><div><br></div><a href="https://rangevoting.org/TidemanData.html" target="_blank">https://rangevoting.org/TidemanData.html</a><br><div><br></div><div>I get the following for A1 with Meek-STV (precision = 9, seats = 3):</div><div><br></div><div><div>Tabulation completion data:</div><div>  0.0000000000<span style="white-space:pre-wrap">     </span>Candidate  2<span style="white-space:pre-wrap">   </span>defeated</div><div>  156.7058824400000000000<span style="white-space:pre-wrap">       </span>Candidate  9<span style="white-space:pre-wrap">   </span>elected</div><div>  0.0000000000<span style="white-space:pre-wrap">   </span>Candidate  7<span style="white-space:pre-wrap">   </span>defeated</div><div>  135.9776274220000000000<span style="white-space:pre-wrap">       </span>Candidate  1<span style="white-space:pre-wrap">   </span>elected</div><div>  0.0000000000<span style="white-space:pre-wrap">   </span>Candidate  5<span style="white-space:pre-wrap">   </span>defeated</div><div>  0.0000000000<span style="white-space:pre-wrap">  </span>Candidate  6<span style="white-space:pre-wrap">   </span>defeated</div><div>  0.0000000000<span style="white-space:pre-wrap">  </span>Candidate  8<span style="white-space:pre-wrap">   </span>defeated</div><div>  131.1851762120000000000<span style="white-space:pre-wrap">       </span>Candidate  3<span style="white-space:pre-wrap">   </span>elected</div><div>  0.0000000000<span style="white-space:pre-wrap">   </span>Candidate  4<span style="white-space:pre-wrap">   </span>defeated</div><div>  0.0000000000<span style="white-space:pre-wrap">  </span>Candidate 10<span style="white-space:pre-wrap">    </span>defeated</div><div>  Notes:</div></div><div><br></div><div>The next step is to follow the debugger step by step and straighten out the logic (it gives an odd report with 2 candidates), and then clean up the remaining refactoring artifacts (the constructor for a tabulator has number of seats as an argument—so does the Tabulate() call).</div><div><br></div><div>Right now, the tabulator computes IRV (broken by vote splitting, not recommended), Tideman's Alternative (recommended), and Meek-STV (recommended).  It does not compute:</div><div><br></div><div> - MNTV (non-representative, not recommended)</div><div> - Approval (non-representative, inherently tactical and voter-risk-behavior based, not recommended)</div><div> - Range voting methods (subject to an amplification of the Approval voting problem, but can be computed as ranked by flattening)</div><div> - Plurality (broken by vote splitting, not recommended)</div><div> - STV rules without surplus pass-through (broken by Woodall free riding, not recommended)</div><div> - Schulze STV (resists Hylland free riding, recommended)</div><div><br></div><div>Code is available here:  <a href="https://github.com/jrmoserbaltimore/libdemocrav" target="_blank">https://github.com/jrmoserbaltimore/libdemocrav</a></div><div><br></div><div>This is pre-alpha work.</div><div><br></div><div>Thanks in advance.</div><div>—John<br></div></div></div>
</blockquote></div>