I was thinking about a reverse single transferable vote type situation (i.e. most votes is eliminated) where the process continues until there is only on state left and at each new round there really is a new vote. My suspicion is that this could be modelled by assuming like:

50% to most similar (remaining) state, 25% to next most similar state, 25% to next most similar state if present state is the most populous state


90% current state; 10% most similar state

This means that for each time period the number of states is reduced by one and presumes people opt for options most similar to their preference in the previous time period. That latter character reminds me in particular of Markov chains.

I would like to know how to think about doing this or what search terms would help to find someone else who has already tried this.

My instinct that it would be a bit like if you had for t=1, n=20 bins that marbles had fallen into and then count the number of marbles in each bin. For t=2, there are still n=20 bins but the most populated bin from the previous example has a 0% destination probability for all other bins/states and the destination probabilities for the other bins depend on their relationships to each other and, in particular, the "losing" bin. And the for t=3 there are now two bins with destination probabilities of 0% and so on... Being able to look at the situation for each t would be important, too.

Any language would be greatly helpful in a conceptual sense, but on a personal level I have even a cursory understanding of just R (but also some experience with and access to SAS and a bit less again, on both counts, with Stata).

Thank you (and apologies if this is in the wrong place).

  • 2
    $\begingroup$ I think the process of having a preference list from each voter and then slowly eliminating the candidate with the least votes and checking the preference list again is exactly that and simulating it by markov chains might result in a different outcome. $\endgroup$ – Adder Jun 9 '17 at 11:49

The principle of your voting system makes me think of Instant Run off, which forces the participants to vote X number of time when there's X+1 candidates on the poll. For Instant Runoff it is the choice that gather the less votes which is out of the competition, but i think you can easily adapt this system to your situation. (Inverting the max and min condition to get the right state out of the game)

I think you can figure it out in R, but you can also try to do it in Python. Take a look at this post : List sorting/modify problem if you want to see how IR can be implemented in Python. You might have to try and post what you've done (even not working) or to ask more specific questions if you want further help from the community.

You can also try other voting systems if it matches with your expectations, i would strongly recommand you the Condorcet voting method if you don't want to bother with multiple round processus : http://short.open-agora.com/m0ZQMPjMQV


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy