|
|
|
|
|
by skj
3108 days ago
|
|
Here's an idea: 1. decide how many congresspeople there should be 2. allow anyone to run 3. allow anyone to vote for anyone 4. once someone has #voters/#congresspeople, they become a congressperson 5. no one else can vote for that person So, you're not actually competing against another person. You're competing get enough people to say "this person represents me". |
|
First, in order to make the lockout in #5 work it would seem that the votes need to be tallied in real time as they are cast.
This could be addressed in a couple of ways.
(A) Allow votes of the form:
That would allow processing votes in batches, ordered by time stamp.(B) Instead of a lockout, allow a candidate to receive more votes than the #voters/#congresspeople threshold. Each voter starts with a weighted vote with weight 1, and provides a list of alternative candidates similar to from (A).
If C1 gets a total weighted vote above the election threshold, choose t such that if each voters weight is multiplied by t the total for C1 will exactly equal the threshold.
For each C1 voter, split their vote giving t of it to C1, and 1-t of it to their C2.
Iterate through this until it converges. (I think it must converge, but offhand do not have a proof).
Second, you need to know the number of voters in advance to set the threshold. Note that you need the actual number of people who will vote, not just the number of eligible voters, because if you use the later you will be setting the threshold too high.
Third, if the number of people running is large, it is quite possible nobody reaches the election threshold. You need a procedure to whittle down the number of candidates.