Fri 22 April 2022
Children approving their teacher (Photo credit: Wikipedia)
Each voter can apprrove as many candidate as he wants. It can be seen as a majority judgement with only two possible notes. It can also be presented as the same process as a time management system (such as doodle).
To compare with other methods, I start with the ballots for majority judgment and for each ballot approve all candidates whose note is above a threshold.
def jm_to_approval(jm_vote): """transform vote for "juement majoritaire" to approval list.""" notes = MajorityJudgement.notes values = dict(zip(notes, range(7))) return [name for name, appr in jm_vote.items() if values[appr] < 4]
For the rest, simple counters are enough:
- to count number for each candidate
- to count the total number of voters
Graphical representation rely on plot bar.
The results can be different from the one from other voting methods. I'm surprised by the difference between Borda method and approval method. In Borda method, the candidates after the third one have really few points compared to the first ones. In the approval method, if a voter approve 4 candidates, all those candidates have the same approval (no distinction between them).
Borda method (same votes)
This may also come from the threshold I put. I choose this threshold because I think a voter approve all the OK. Nevertheless, it seems the number of approval (archive) can be less than expected (less than 2 approval in average). I find this number really really low. Perhaps it is due to the political offer that does not correspond to voters expectations.
Related articles (or not):
- Alternative voting systems
- Voting method reflections
- Mobile OS alternatives and european sovereignty
- Cache implementation using weakref
- Tkinter and Asyncio