Sorry for replying to my own post, but it occured to me that there is a more straightforward (although possibly less efficient) way of finding the "Approval Equilibrium". If there are multiple Approval Equilibriums, it will find all of them, and if none, it can determine that as well. (I'm pretty sure there will always be at least one, but not sure if there can be multiple ones or not)
<br><br>Iterate between all candidate pairs, giving one the label "Winner" and one "Runner up" each time though the loop. For instance:<br>winner: A runner-up: B<br>winner: B runner-up: A<br>winner: A runner-up: C
<br><br>There should be numCandidates-1 * numCandidates pairs.<br><br>For each combination, submit Approval ballots for each voter, using Approval Strategy A, and with the assumption that the stated candidates are the winner and runner up (minus the current voter's vote).
<br><br>If the approval ballots submitted result in the same pair being winner and runner up, we will consider this pair to be in equilibrium. If one and only one equilibrium is found, we have our winner (and approval scores).
<br><br>Looking at it this way, we could consider that an ranked ballot election may or may not have a "Unique Approval Equilibrium" and therefore a clearcut winner. If an election does not, it could be treated as an election without a Condorcet winner,
i.e. we have to resort to a "plan b" to resolve the tie/cycle.<br><br>However, I suspect that it will be FAR less likely have an election without a Unique Approval Equlibrium, than to have one without a Condorcet winner. In fact I would not be surprised to find it is provably impossible, barring true ties.
<br><br>-rob<br>