<div dir="auto">Let's say a candidate is at the "bottom" of a set of candidates if it is not ranked above even one member of the set.<div dir="auto"><br></div><div dir="auto">The basic method is to elect the candidate who on the most ballots pairwise beats every bottom candidate.</div><div dir="auto"><div dir="auto"><br></div><div dir="auto">Here's the procedure Proc(Beta) with built in tie breaker:<br><div dir="auto"><br></div><div dir="auto">Beta is the set of ballots serving as input for this election procedure. Let K be the set of candidates ranked by the ballots of Beta.</div><div dir="auto"><br></div><div dir="auto">For each candidate X in K let n(X) be the number of ballots B in Beta on which X pairwise beats every bottom candidate of B. </div><div dir="auto"><br></div><div dir="auto">Let T be the set argmax(n(X)), i.e.the tied winning set. If T has only one member, elect that member. Else if T=K, i.e. all candidates are in an exact tie, then elect by random ballot from K. Otherwise, elect Proc(Beta(T)), i.e. apply this procedure recursively to the set of ballots restricted to T.</div><div dir="auto"><br></div><div dir="auto">Without the tiebreaking extension, this method is about as susceptible to ties as Implicit Approval.</div><div dir="auto"><br></div><div dir="auto">Simple random ballot would be adequate for this single winner method, but to get an "order of finish" method based on the function X---->n(X) the recursive version would be very appropriate .... by transforming  n(X) into a polynomial in powers of epsilon with an additional term for each recursive pass through the procedure.</div><div dir="auto"><br></div><div dir="auto"><br></div></div></div></div>