<div dir="auto">Good!<div dir="auto"><br></div><div dir="auto">Here's a method that can take advantage of your procedure:</div><div dir="auto"><br></div><div dir="auto">For each ballot B, let f(B) be B's highest ranked Smith member, unless B ranks no Smith member, in which case ffB) is simply B's top choice.</div><div dir="auto"><br></div><div dir="auto">Then for each candidate X, let p(X) be the percentage of the ballots B for which X is f(B).</div><div dir="auto"><br></div><div dir="auto">Finally, for each Z, let H(Z) be the sum given by the expression</div><div dir="auto"><br></div><div dir="auto">Sum{p(X)|X defeats Z pairwise}</div><div dir="auto"><br></div><div dir="auto">Elect argmin H(Z).</div><div dir="auto"><br></div><div dir="auto">This is a decisive version of "friendly voting" so called because of electing the candidate Z with minimal hostility H(Z) directed towards it. Note H(Z) is the total percentage of the ballots B on which f(B) is hostile to Z, i.e. "beats Z" pairwise.</div><div dir="auto"><br></div><div dir="auto">A slight disadvantage of the method is that it requires two passes through the ballots ... the first to get the pairwise matrix, and the second to get p(X) for each X.</div><div dir="auto"><br></div><div dir="auto">-Forest</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Nov 17, 2022, 11:02 AM John Karr <<a href="mailto:brainbuz@brainbuz.org">brainbuz@brainbuz.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  

    
  
  <div>
    For the Vote::Count library I use the following method to find the
    Smith Set. It is simpler than any of the methods currently on
    <a href="https://electowiki.org/wiki/Smith_set#Algorithms" target="_blank" rel="noreferrer">https://electowiki.org/wiki/Smith_set#Algorithms</a> as it only requires
    a complete matrix and does not require using another method to find
    a member of the Smith Set.<br>
    <br>
    Step 0 (Optional). Reduce the set by removing Condorcet Losers.<br>
    <br>
    Step 1. Each Choice proposes that they and every other choice which
    defeats or ties them is the Smith Set.<br>
    <br>
    Step 2. Find the smallest proposal and use it as the Active
    Proposal.<br>
    <br>
    Step 2A. If there is a tie for smallest combine the members to
    create the Active Proposal.<br>
    <br>
    Step 3. Check the proposal of each member of the Active Proposal and
    add any new members.<br>
    <p>Step 4. Repeat step 3 until no new members are added to the
      Active Proposal.</p>
    This method will work because:<br>
    <p>Choices outside the Smith Set will always have a minimum number
      of losses at least equal to the size of the Smith Set.</p>
    <p>Choices within the Smith Set will always have a number of losses
      less than the size of the Smith Set because they will not be
      paired to themselves and there must always be at least one other
      member which does not defeat them.</p>
    <p>Therefore the choice or choices with the fewest defeats will
      always be members of the Smith Set, and any further choice that
      defeats (or ties) them must also be in the Smith Set.</p>
    <div>-- <br>
      <div style="color:FireBrick;font-family:serif">
        <p>Minds gets scrambled like eggs<br>
          Get bruised and erased <br>
          When you live in a brainstorm
        </p>
        <p>— Alice Cooper: Hard Hearted Alice</p>
      </div>
    </div>
  </div>

----<br>
Election-Methods mailing list - see <a href="https://electorama.com/em" rel="noreferrer noreferrer" target="_blank">https://electorama.com/em</a> for list info<br>
</blockquote></div>