lpetrich
Contributor
I've successfully implemented Dodgson's method. Its aggregation size is O(N!) and its run time is O(N!), it must be noted.
I've discovered a way to do Maximal lotteries by linear programming. For Condorcet matrix C, one finds a difference matrix
D = C - transpose(C)
D(i,j) means (candidate i beating candidate j) - (candidate j beating candidate j)
One must find probability distribution p(all the candidates) satisfying
p.D >= 0
The probability distribution p must satisfy p >= 0 and sum(p) = 1
I've discovered that this can be reduced to a linear-programming problem:
Maximize w for p.D >= w
A related one is
Minimize v for p.D <= v
Now I'll have to find a good algorithm for doing linear programming, preferably one written in Python.
I've discovered a way to do Maximal lotteries by linear programming. For Condorcet matrix C, one finds a difference matrix
D = C - transpose(C)
D(i,j) means (candidate i beating candidate j) - (candidate j beating candidate j)
One must find probability distribution p(all the candidates) satisfying
p.D >= 0
The probability distribution p must satisfy p >= 0 and sum(p) = 1
I've discovered that this can be reduced to a linear-programming problem:
Maximize w for p.D >= w
A related one is
Minimize v for p.D <= v
Now I'll have to find a good algorithm for doing linear programming, preferably one written in Python.