<div dir="auto"><div>See a slight correction in the first method, below ...</div><div dir="auto"><br></div><div dir="auto">Also, once you have Smith, the TopTwoRunoff is no longer necessary; just elect the  Smith candidate ranked on the most ballots.</div><div dir="auto"><br></div><div dir="auto">If you wanted to go the extra mile so as to have a burial resistant method, Elect the candidate ranked on the most ballots that is not defeated pairwise by the Smith candidate ranked on the fewest ballots.</div><div dir="auto"><br></div><div dir="auto">-Forest<br><br><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">El sáb., 8 de ene. de 2022 7:01 p. m., Forest Simmons <<a href="mailto:forest.simmons21@gmail.com">forest.simmons21@gmail.com</a>> escribió:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div>Richard,</div><div dir="auto"><br></div><div dir="auto">Here are two hand count methods for constructing the Smith set (off the top of my head):</div><div dir="auto"><br></div><div dir="auto">Method 1:</div><div dir="auto"><br></div><div dir="auto">List the candidates in any convenient order. Then sort the list pairwise. The Smith set consists of all of the candidates in the sorted list above some cutoff level.</div><div dir="auto"><br></div><div dir="auto">Usually that cutoff level can be quickly found by "inspection." But here's a systematic procedure.</div><div dir="auto"><br></div><div dir="auto">Start with the tentative cutoff just below the candidate at the top of the sorted list. Then ..</div><div dir="auto">While there remains any candidate with questionable Smith status,  let C be the highest such candidate. If C pairwise defeats a candidate above the current cutoff, then lower the cutoff to the position immediately below C. Else mark C as "non-Smith".</div></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Change this designation to "not a Smith set cutoff candidate"</div><div dir="auto"><br></div><div dir="auto"></div><div dir="auto"><div class="gmail_quote" dir="auto"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div dir="auto">EndWhile</div><div dir="auto"><br></div><div dir="auto">Method 2:</div><div dir="auto"><br></div><div dir="auto">Borrow a handheld calculator having matrix multiplication capability. Initialize an n×n matrix (where n is the number of candidates) with all ones, including the main diagonal. </div><div dir="auto"><br></div><div dir="auto">For each (i, j) combination where i  and j are not equal, if candidate i does not defeat candidate j pairwise, then zero out the j_th element of the i_th row.</div><div dir="auto"><br></div><div dir="auto">Now square this matrix repeatedly until the number of zero entries stabilizes.</div><div dir="auto"><br></div><div dir="auto">[This will take fewer than ceiling(log(n)/log(2)) squarings. So for 1000 candidates, fewer than ten squarings.]</div><div dir="auto"><br></div><div dir="auto">The rows that end up with all positive entries are the Smith candidate rows. Rows with one or more zero entries correspond to non-Smith candidates.</div><div dir="auto"><br></div><div dir="auto">If you are doing this by hand, you can speed this up drastically by replacing the sums of products that define matrix multiplication with "sups of infs":</div><div dir="auto"><br></div><div dir="auto">For squaring the matrix M, replace the (i,k) entry of M^2  given by the sum of products</div><div dir="auto"><br></div><div dir="auto">Sum (over j) of m(i,j)*m(j,k)</div><div dir="auto"><br></div><div dir="auto">with the max of mins</div><div dir="auto"><br><span style="font-family:sans-serif">Max(over j) of Min(m(i,j), m(j,k))</span></div><div dir="auto"><font face="sans-serif"><br></font></div><div dir="auto"><font face="sans-serif">This limits all entries to zeros and ones, making the computations trivial (though still tedious in the case of hundreds of candidates). It gets faster with practice... the limit to your speed is how fast you can write zeros and ones into n×n arrays.</font></div><div dir="auto"><font face="sans-serif"><br></font></div><div dir="auto"><font face="sans-serif">It's kind of fun once you get the hang of it ... you haven't really lived without having mastered this technique! </font></div><div dir="auto"><br><br><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">El vie., 7 de ene. de 2022 5:42 p. m., Richard, the VoteFair guy <<a href="mailto:electionmethods@votefair.org" target="_blank" rel="noreferrer">electionmethods@votefair.org</a>> escribió:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 1/7/2022 4:27 PM, Forest Simmons wrote:<br>
 > Actually, neither RP nor Schulze has better Condorcet efficiency than<br>
 > Smith//TopTwoRunOff, which is the simple method you should be aiming for.<br>
<br>
To anyone, I have some questions (that might also be in the minds of a <br>
few lurkers).<br>
<br>
How are the "top two" candidates determined according to the <br>
Smith//TopTwoRunoff method?<br>
<br>
Or, where is Smith//TopTwoRunoff described? (I didn't find it in <br>
Electowiki.)<br>
<br>
Since the topic is simplicity, how can ballots be hand counted to <br>
determine the Smith set?<br>
<br>
Yes I know that pairwise counting can be done by having each person at a <br>
table keep track of only one pair of candidates -- as each ballot is <br>
passed from person to person.  But how can those pairwise vote counts be <br>
simply(!) converted into the Smith set -- for any set of ballots?<br>
<br>
As a related question, how does "//" differ from "/"?  In other words, <br>
is Smith/TopTwoRunoff different from Smith//TopTwoRunoff, and if so, how?<br>
<br>
Thanks!<br>
<br>
Richard Fobes<br>
<br>
<br>
On 1/7/2022 4:27 PM, Forest Simmons wrote:<br>
> Robert,<br>
><br>
> You opined ...<br>
><br>
> "Probably Schulze or RP is the best thing to do for those cases when<br>
> there is no Condorcet winner.  But getting that into legislative<br>
> language is difficult, which is why I have advocated for BTR-STV."<br>
><br>
> Actually, neither RP nor Schulze has better Condorcet efficiency than<br>
> Smith//TopTwoRunOff, which is the simple method you should be aiming for.<br>
><br>
> Here's the typical example that I used earlier today:<br>
><br>
> 40 A>C<br>
> 35 B>C<br>
> 25 C>A<br>
><br>
> The sincere CW is C, which any Condorcet method will elect in an ideal<br>
> neighborhood, but only a burial resistant method like Q&D/C will<br>
> reliably elect in a saavy, scrappy neighborhood.<br>
><br>
> All of the standard (head-in-the-sand) Universal Domain methods like RP,<br>
> Schulze, MinMax, etc. are more or less likely to elect A, depending on<br>
> how politically saavy/street smart the A faction is.<br>
><br>
> So those highly vaunted methods are no better than Condorcet completed<br>
> byTopTwoRunoff, which produces the exact same result as they do 100<br>
> percent of the time in this context, but much more simply.<br>
><br>
> So TopTwoRunoff works just as well as Schulze for cycle resolution in<br>
> this context, yet it is by far the most adoptable proposal for Condorcet<br>
> completion.... because of its simplicity and familiarity.<br>
><br>
> Don't worry about the legislative language .. just copy the language<br>
> from existing jurisdictions where it is already in use ... with the<br>
> simple tweak of replacing the phrase, "In the event there is no absolute<br>
> majority candidate ..."  ... with the phrase, "In the event there is no<br>
> head-to-head majority candidate ..."<br>
><br>
> There is no valid excuse for proposing Plurality as a Condorcet finisher<br>
> when this more adoptable proposal is there for the taking.<br>
><br>
> Plurality as a finisher would be a huge liability/embarrassment even if<br>
> you could get it adopted, which is doubtful.<br>
><br>
> Fair Vote people would rightly mock a Condorcet method that in principle<br>
> allows a Condorcet Loser to win.<br>
><br>
> How would we prevent that happening?<br>
><br>
> Of course we could say ... "In the event there is no majority<br>
> head-to-head winner, elect the FPTP winner, unless all Plurality counts<br>
> fall short of 50 percent, in which case complete the Plurality finisher<br>
> with a TopTwoRunOff finisher, finisher."<br>
><br>
> That wouldn't even make sense, because there could never be a 50% plus<br>
> Plutality winner without already having a Condorcet Winner... since a 50<br>
> percent plus Plurality winner is automatically a Condorcet Winner.<br>
><br>
> I hate to be pedantic, but let's not squander our opportunity on an<br>
> atrocious proposal. If there were not a simpler, more adoptable proposal<br>
> readily available, I would say, "Go ahead, leave your keys in the car,<br>
> cross your fingers, and take your chances!"<br>
><br>
> In my humble, but expert opinion, there are only two tenable proposals<br>
> for Burlington, Vt. at this time ...<br>
><br>
> 1. Condorcet completed by TopTwoRunoff when necessary... of course under<br>
> a more attractive name.<br>
><br>
> 2. TopTwoRunoff restricted to the "top cycle" or "Smith Set" ... even<br>
> more important to get a better name.<br>
><br>
> This second method is just as good as Schulze for public elections, so<br>
> don't pine for the day when the world is safe for Kemeny-Young, for<br>
> Pete's sake!<br>
><br>
> You should put the choice to the people who control the decision<br>
> orocess. After making clear the prestige of an ISDA upgrade at<br>
> practically no extra cost, let them decide between the two options.<br>
><br>
> Either choice will result in a respectable method that cannot be easily<br>
> gainsayed.<br>
><br>
> Good Luck!<br>
><br>
> -Forest<br>
----<br>
Election-Methods mailing list - see <a href="https://electorama.com/em" rel="noreferrer noreferrer noreferrer" target="_blank">https://electorama.com/em</a> for list info<br>
</blockquote></div></div></div>
</blockquote></div></div></div>