Hacker News new | ask | show | jobs
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".

3 comments

Interesting idea. It has a some troubling flaws, though.

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:

  Vote for candidate C1
  If C1 is locked out, vote for C2
  If C2 is locked out, vote for C3
  ...
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.

Congratulations, you've just devised the single transferable vote used in Ireland, Malta and Australia. Assuming that "the procedure to whittle down the number of candidates" is "exclude the worst-performing candidate and continue to their C2".
Intriguing.

Could a person have their vote assigned to more than one person if none of them have won yet? (Probably with some sort of ranking to resolve any ambiguities as to who their vote goes to)

I'm not sure if that would be the optimal threshold for number of votes needed.

Here is an idea for a small modification:

First, have all the voters vote on the number of congresspeople to have, and then pick the median (if there is an even number of votes, and the middle two are different, pick between the two at random).

Then, after the result of the first vote has been decided, have everyone vote on the vote threshold (making sure that they are informed of what the voters/seats number), and again, take the median of the votes (and again, if a tie between 2 values, pick between the two at random. Don't average them.).

Then do what you said, with the chosen number of seats and the chosen vote threshold.

There are no doubt some downsides to this method. I don't yet have enough understanding of them to fully recommend it, but it seems worth looking into!

you've essentially described the first steps of an STV election ....

In an STV election people make a list, at step 4 above the highest vote on your list that's still viable accrues to someone, if they get more votes that required the portion of your vote that's needed to elect the person stays with them and the rest of your vote moves down your list ... whenever the process gets stuck the person with the least number of votes is removed from contention and their voters get to try the next person on their list