Dear Juho,<div><br></div><div>the initiative seems to be very nice, similarly as the open-source by Schulze.</div><div>I am not able to put down a set of requirements at this point, and as I said before:</div><div>It may well be the case that in the end we will leave things as they are in our Czech green party.</div>
<div>Basically I need to convince people and settle for a solution before I return with specifications.</div><div><br></div><div>As written before I appreciate the work by Schulze and will try to cooperate with him with a solution, </div>
<div>as I prefer his methods at this point.</div><div><br></div><div>Your initiative is great though and might be of help for parties whishing proportional elections.</div><div>The margins/winning votes debate seems to be one I will have to look into when I have the time.</div>
<div>As we have a majoritan system, maybe the winning vote will be easier to gain acceptance for.</div><div>On the other hand the margins system seems to be more intuitive and less vulnerable to shifts in one or two votes.</div>
<div><br></div><div>This calculator was unexpected.</div><div>Thanks for the gesture.</div><div><br></div><div>Peter</div><div><br><div class="gmail_quote">On Thu, Jun 17, 2010 at 2:33 AM, Juho <span dir="ltr"><<a href="mailto:juho.laatu@gmail.com">juho.laatu@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">I wrote some code to study proportionality in the Czech Green Party case. I uploaded some of that stuff also in the Internet in case you are interested to experiment with it. The code is purely experimental and draft and not very stable at the moment, i.e. no guarantees given, but right now it seems to be operational at some level. You may check it at <a href="http://electioncalculator.appspot.com/" target="_blank">http://electioncalculator.appspot.com/</a>. At the moment the proportional method does some exhaustive search over all the combinations, so use it only with small number of candidates and elected council members to avoid combinatorial explosion. (I'm interested also in non-exhaustive versions but they are not good enough to be used at the moment.)<br>
<br>
Example input:<br>
<br>
method == Proportional<br>
members == 5<br>
ordered == 2<br>
group == 2 aceg<br>
group == 2 bdf<br>
24 abcd<br>
24 cbad<br>
4 d<br>
24 efgd<br>
24 gfed<br>
<br>
Button "Calculate" should do the job. In this input the used method is obviously "Proportional". Number of council members is 5 ("members == 5"). Two of the members will be elected using a proportional ranking method ("ordered == 2"). There are two groups that each must get at least two members (could be men and women). Different groups may contain also same characters (candidates) and not contain some characters in any of the groups although in the male/female case that would not be very "natural" :-). And then there are the votes. The requirement to achieve maximum proportionality and sufficient participation of all the groups will not impact the ordered candidates (i.e. the ordered candidates may distort proportionality a bit like in the given example where d will be elected as the president, and forcing sufficient representation of the groups may distort the selection of the other members of the council a bit more since the presidents will not participate in this game). Note that the "==" parameters must be given in the first rows of the input. The calculator is not very sensitive with respect to the format of the input. It can eat all kind of strings with (optional) number at the beginning of the row and all kinds of ASCII characters and equal signs and English alphabet characters (candidates) later on the row.<br>
<br>
These properties do cover most of the topics that were addressed in the Czech Green Party discussions. (At least possibility of separate votes for the presidents is still missing (maybe not a key feature but somewhat interesting in theory).)<br>
<br>
The given example contains some ties. Ties will be resolved using random numbers. Ties will be indicated in the results (in the given example both among the ordered candidates and sometimes also in the composition of the whole council).<br>
<br>
I included also some other buttons for some other methods. Clicking button "PO" corresponds to having a "method == PO" parameter row among the parameters at the beginning of the input. "PO" means proportional order/ranking. The above mentioned additional parameters do not have any influence in this method, except that it seems that the "members" parameter will list given number of candidates from the beginning of the ranking. (You should be able to reach the same results also with the "Proportional" method and suitable parameters (all members/candidates ordered).)<br>
<br>
The "Proportional" method is a quite straight forward CPO-STV style method that uses a Hare style quota (number of non-empty ballots divided by the number of council members (not rounded/truncated)). The weight of each vote that ranks some candidates that are in both compared councils above the first candidate that will make the difference between which alternative the vote supports will be reduced by one quota (shared between all such votes). No negative weights though. Equal ranking is allowed. Minmax(margins) is used to compare different alternative council compositions and pick the winning one.<br>
<br>
My current code is full of experimental and testing/debugging related features but if needed I can extract some appropriate variant and provide open source code for it. In this kind of complex methods open source code and/or alternative implementations and/or reference implementations are important to guarantee that the method (and the implementation that will be used in the actual election) is correct and does not contain any unintentional bugs nor any malicious bugs/"features" (and also to make it easier for people to trust that the system works as intended, not just to guarantee that it works as intended).<br>
<br>
Problem reports and other comments are welcome. I hope not too many problem reports though :-). I will expand and improve (and otherwise modify, maybe even destroy) the calculator when time allows and I have the energy and ideas.<br>
<br>
Juho<br>
<br>
<br>
<br>
<br>
<br>
----<br>
Election-Methods mailing list - see <a href="http://electorama.com/em" target="_blank">http://electorama.com/em</a> for list info<br>
</blockquote></div><br></div>