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

Reply via email to