On Dec 12, 2006, at 9:55 AM, [EMAIL PROTECTED] wrote:
From: [EMAIL PROTECTED]
Mostly I've independently verified the results, but I've added my
favorite pet method, Instant Runoff Normalized Ratings (IRNR) into
the mix.
When you say you average results, does that mean you mix the colour ?
Yes. If the elections at one pixel don't all go the same way the
colors of the winning choices are mixed proportionally to their
number of wins.
How do your voters vote ?
I assume it is something like:
Utility = 1/distance ?
Yup. I've now added that to the page.
Max Social Utility: pick candidate with highest utilty
highest total global utility, yes
Pick One: Pick nearest
IRV: Pick in order of distance
IRNR: Pick in order of distance (do you have link to count rules?)
Being a ratings method, it's based on the 1/r utility.
http://bolson.org/voting/methods.html#IRNR
Condorcet: Pick in order of distance
Rating Summation: Rating = utility ? (Range)
Are votes capped, if not then won't that give same as max utility ?
Yeah, given that everyone's voting honestly it's effectively the same
summation as finding the global utility. But it's separately
implemented code. I think it's worth running as a check.
Borda: Pick in order of distance
This method is great because it makes behaviors of the election
method readily apparent visually. I used to claim that IRNR would be
free of IRV's oddities because IRNR considered the whole ballot and
used continuous ratings. Someone here cleverly found a counter case,
but graphically it jumps out of the picture that IRNR does have
irregularities. On the plus side, they're much smaller than IRV's
problems. :-)
What would be cool would be if you re-ran the sims with strategic
voting.
Simulating polling and what voters do about that is hard and I
haven't settled on a method that seems entirely right to me. Some of
what you say will probably be like what it should be.
Plurality -- run poll and then everyone votes for one of the top 2 in
the poll. I am not sure this is accurate though.
What about
2 candidates are selected as the favourites (same 2 for entire run)
Take a poll
Pick favourite of the top 2 unless,
the utility of both the top 2 is less than X, then pick favourite
In election
Vote for your favourite of the top 2 candidates in the poll
This models the benefit of being one of the main party nominees.
Another option is to keep rerunning the election until the winner
is stable ... but that might be cyclic.
IRV -- run poll and rank favourite of top 2 first and least
favourite of
top 2 last, rest honest. Not sure if that is actually what is
strategic
IRNR: Not sure
Condorcet:
Range/Rating Summation:
- Rate favorite at max and least favourite at win and linear
interpolate rest
- Use approval strategy (give max to favorite of top 2 and min to
other of top 2)
Borda:
I understand that most of you aren't computer scientists and
quick to
program up new tests, but I'm excited about this testing right now
and if you'll just implement your favorite election method in _some_
language, C, C++, java, javascript, perl, python, heck I'll even
accept PHP, LISP or FORTRAN, I'll translate it and fit it into the
test harness.
There aren't probably that many functions.
You need 1 that converts a candidate/utility list to a vote and 1
that converts a list of votes into a result.
This allows people to code voting strategies (by changing the utility
to vote function).
In theory the vote would be defined by the person who submits the
voting method.
This is the key part of the C++ interface for implementing a new
election method in my simulation framework.
/* use these */
class Voter {
public:
float getPref( int candidateIndex );
};
class VoterArray {
public:
Voter operator[]( int voterIndex );
};
/* Implement a subclass of this */
class VotingSystem {
public:
virtual void init( const char** envp );
/* return winner in winnerArray[0], second place in [1], and so on */
virtual void runElection( int* winnerArary, const VoterArray they );
virtual ~VotingSystem();
};
Details here:
http://bolson.org/voting/sim_one_seat/Voter.h
http://bolson.org/voting/sim_one_seat/VotingSystem.h
election-methods mailing list - see http://electorama.com/em for list info