Git Product home page Git Product logo

ballot's People

Contributors

dereckson avatar ncase avatar orta avatar pierremesure avatar smarts avatar superusercode avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ballot's Issues

Part 2, How are the alternatives, IRV section

it's possible for a winning candidate to lose, by becoming more popular. What a glitch!

It is possible for a sitting candidate to lose a subsequent election if they become more popular, but only if another candidate has become even more popular. In the example the triangle has become more popular but the hexagon has become even more popular. This is not a glitch, it is how the system is supposed to work.

When you move the voter base you are not changing an election, you are comparing the results of different elections.

  • In the first election, starting position, the two candidate preferred vote is between square and triangle so the hexagon votes are distributed to their second preference candidate, as the hexagon is closer to the triangle more hexagon votes go to the triangle so the triangle has won.
  • In the second election, voters move closer to triangle and hexagon, the two candidate preferred vote is between the hexagon and the triangle, so the square votes are distributed to their second preference candidate, as the square is closer to the hexagon more square votes go to the hexagon so the hexagon has won. Notice that the difference in round 1 votes between triangle and hexagon stay about the same as you move the voters up, they are both getting more popular.

You must remember that a candidate is only winning if they have greater than 50% of the vote in the current election. At no point in the second election is the triangle ever winning.

There may be problems with IRV but I don’t think that the example you have used demonstrates them.

Maybe the way you have chosen to represent the voters has influenced the way you view the results?

[add a voting system] Majority judgement

So great to read a great article and find the great code in a great repo! :)

It would be nice to add another (ranking) voting system: "majority judgement"1, which is close to "score voting", but with voters giving a score to a subset of candidates (a better explanation @GBodin?).

There is interest for of having this around LaPrimaire.org

I see how clean and practical your code is, so maybe you can give us a few advices and @GBodin and I do it ;)

Yet, the key point is having both visualisation and mathematics behind valid and explicit. And for the moment I have no clue.

Tuple voting ("multi-candidate group") - PLEASE JOIN DISCUSSION

I am aware Nicky never extends his existing creations (e.g. this ballot & voting systems explainer). Yet I do not know of a better place to have such discussion than here πŸ˜‰.

Some years ago I was passing by a highway ad board depicting a few candidates for municipality ballot. And because of my two decades long frustration with politics (both communal as well as governmental & international) I asked myself what is the reason the voted people do not actually seemingly represent any more the personalities we have voted for.

And suddenly an answer has struct me. Because they can not. Why? Well, because the group the winning candidates form is mutually incompatible. So why are we all blind to our innermost needs which include social synergy in a group of people and vote for separate individuals? Thus basically causing inherent incompatibility and basically guaranteeing the representatives will be severely limited in forming a functional and highly effective team.

So why not to actually always vote for a tuple of exactly 3 arbitrary persons (let us consider for simplicity only teams with number of members being a multiple of 3) to include in the final team and for 3 arbitrary persons (up to 2 of which might be identical from the first tuple) to not include in the final team. The final team would consist of tuples mostly voted for (e.g. using the methods in Nicky's explainer) minus the tuples voted against. A tie (i.e. at least two tuples with the same number of votes) would require stopping the ballot or some "escape hatch".

Advantages:

  1. the voter would be "nudged" to think about the mutual compatibility of the 3 candidates she is choosing
  2. the candidates would need to (partially) move away from the individualistic egoistic campaigns and instead nudge the voters into certain groupings
  3. point (2) would in turn would reveal what the tuple members tend to think of the direction of the world around and each other
  4. hopefully the resulting teams made from tuples would be less fragmented, more agile, and more representative of the society

Disadvantages:

  1. partially still relies on the weaknesses of the voting systems discussed in the Nicky's explainer
  2. the number 3 will fail miserably for disproportionately large teams (in which case the obvious solution would be to increase the number 3 to something higher for such ballots)
  3. the number 3 does not allow for arbitrarily sized teams without "escape hatches" (e.g. random selection from the remaining candidates from next highest-ranking tuple, ...)

Thoughts?


P.S. All voting schemes I have ever seen always focused on individuals. I am surprised that the whole world became so dumb and degenerated that this focus on 1 individual is ubiquitous and no "tuple-based scheme" is being used anywhere (Googling it did not yield any results!).

P.P.S. Technically I should call this "set voting" as the order is meaningless but I liked "tuple voting" more subjectively πŸ˜‰.

Broken link

Sadly, "Canada's Cutie-In-Chief"'s picture is missing :(

The Canada's Cutie-In-Chief link in index.html line 159 is no longer served. I would open a pull request with an alternative but I feel like, given the name, the picture was special and I do not believe it is my place to do so.

[add a voting system] STAR voting

STAR voting is Score Then Automatic Runoff, a slight tweak of score. It's still pretty simply to explain and understand, and it's not just theoretical. http://www.equal.vote/ is actually in process of getting it on the 2018 ballot to be potentially implemented in two counties in Oregon. So this isn't bonus for the math nerds, this is real deal stuff that people need to understand!

It should be very easy to add, it's not complex mathematically.

localisation ?

How about translation of this page in other languages ?
Would you be open to pull request of that kind ?
Do you plan some translation with Weblate or something similar ?

Regards,
Millicent

Prepare public translations

If you would be so kind to prepare public translations to this work of yours as you did with Attractor Landscapes, helping with translation without the fear of altering something you would not want to be altered.
The idea that I would like to help translate this work of yours came up since there have been some rather disturbing ballots in Germany just recently. Maybe I thought, this explorable explanation should also be available for non english speakers.

Glitch with Approval Voting model

My understanding of Approval Voting is that it would mirror FPTP in some situations, in the sense that a voter would vote for their most preferred candidate (as with FPTP) PLUS any additional candidates that fall within their personal approval threshold.

Your Approval Voting model, however, only has voters approving candidates within their approval threshold. If no candidates fall within that threshold, voters in your model cast no ballot, instead of just voting for their most preferred/nearest candidate (even if that candidate falls outside of the voter's approval threshold) as they would in FPTP. In other words, in a real-world application of Approval Voting, a voter would more likely bullet vote for a single candidate than not vote for any candidate at all.

Clearly, this issue gets to questions of individual voter strategy in an approval voting system. But making it so easy for voters to cast no ballot whatsoever seems to be an error in your sandbox model. Is it an easily correctable one?

Otherwise, this is a fantastic and incredibly useful tool -- thank you!

add #anchors

Could you add #anchor tags so we could link directly to the Condorcet cycle demo, for example?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.