There are several corner cases in the VTP RCV algorithm where the wrong things occurs. In addition, it is not clear what the right thing is nor if there is one right thing - different election officials / states may want to handle the corner cases differently.
Regardless, the current known/suspected list of issues are the following:
if there is a 2-way tie for loser in a round, an exception is raised; and this has precedence over other edge conditions below
if there is greater than a 2-way tie for loser in a round, an exception is raised
note - both of the above need to work 'correctly' in contests with multiple winners (select 2 out of 3, etc)
if the last round does not result in a technical majority (the default is less than 50% of the voters have chosen the winner), an exception is raised (note - it seems that some states allow the majority candidate to be the winner)
I am thinking that the target design goal for the above is the following algorithm:
if the number of non-tying non-losing selections is equal or greater than the desired number of winners, re-assign all the losing selections. Note that the winner may still not attain the desired majority votes but it will be important to see that.
if that is not true, given the potential political nature of this edge case, raise an error for now and consult with the RCV tabulator folks
let the last RCV round finish as is - just pass the results back even if no candidate has obtained the desired majority
There are several corner cases in the VTP RCV algorithm where the wrong things occurs. In addition, it is not clear what the right thing is nor if there is one right thing - different election officials / states may want to handle the corner cases differently.
Regardless, the current known/suspected list of issues are the following:
I am thinking that the target design goal for the above is the following algorithm: