maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Community (https://talk.maemo.org/forumdisplay.php?f=16)
-   -   MeeGo Coding Competition 2011 (https://talk.maemo.org/showthread.php?t=71561)

Wonko 2011-11-29 14:14

Re: MeeGo Coding Competition 2011
 
1 Attachment(s)
Alright, I am in a kinda conflicting situation. On one side I want to support you guys in making a decision on the other side I want to avoid conflicts of interest.
The following is the output of openstv-run-election run using the Borda Count approach:
Code:

[rc@n150 Downloads]$ usr/bin/openstv-run-election -s 1 Borda election.blt
OpenSTV version 1.6.1 (http://www.OpenSTV.org/)

Suggested donation for using OpenSTV for an election is $50.  Please go to
http://www.OpenSTV.org/donate to donate via PayPal, Google Checkout, or
Amazon Payments. 

Certified election reports are also available.  Please go to
http://www.openstv.org/certified-reports for more information.

Loading ballots from file election.blt.
Ballot file contains 11 candidates and 95 ballots.
No candidates have withdrawn.
Ballot file contains 92 non-empty ballots.

Counting votes for MeeGo Coding Competition System & Utilities Category using Borda Count.
11 candidates running for 1 seat.
Not using ballot completion.

                                                      Candidate | Count
========================================================================
Audiobook reader http://competition.meetmeego.org/submissions/27 |  195
        Filebox http://competition.meetmeego.org/submissions/66 |  514
        ItemNoTe http://competition.meetmeego.org/submissions/83 |    90
      KhtEditor http://competition.meetmeego.org/submissions/60 |  240
  MIR Translator http://competition.meetmeego.org/submissions/24 |  343
      OMWeather http://competition.meetmeego.org/submissions/47 |  495
        Proximus http://competition.meetmeego.org/submissions/38 |  162
      QtWeather http://competition.meetmeego.org/submissions/45 |  224
        stockona http://competition.meetmeego.org/submissions/25 |  136
            TxPad http://competition.meetmeego.org/submissions/5 |  227
        Vcounter http://competition.meetmeego.org/submissions/70 |    66
                                                      Exhausted |  2368

Borda count totals.

Winner is Filebox http://competition.meetmeego.org/submissions/66.
[rc@n150 Downloads]$

I used the openstv version as linked by neal in this thread. I also copied the complete output including the command line I used for calling.
I did this on a Fedora machine and extracted the *.deb package via "dpkg -x *.deb .". Hence, the strange path of "usr/bin/..." for running the election.

I hope that helps...


Edit:
As the format of the copy&pasted output in code-tags is a little ugly I also attached the output of this voting as run via:
Code:

[rc@n150 Downloads]$ usr/bin/openstv-run-election -s 1 Borda election.blt > election_output.txt
Edit2:
Changing the value for the number of seats to be elected (x) as used for the parameter "-s x" does not seem to make a difference with respect to the reported "Count" values. What I could observe that changes are the reported "Winners" which seem to be selected by ordering all candidates (highest Count number first) according to the "Count" value and then choosing the first x from the top (the first x with the highest Count numbers). x btw can range from 1 to n-1, with n being the total number of candidates.

Edit3:
I don't know what will happen if there is a tie, i.e. at least two candidates with an equal number of Counts.

zehjotkah 2011-11-29 15:30

Re: MeeGo Coding Competition 2011
 
Wonko, could you please do the counting for the other categories as well?
Maybe add the second, third, ... places as well?
Then I'll submit the results to Nemein for publishing.

Users who have a problem with you counting, could count for themselves and compare the results.

Thanks!

neal 2011-11-29 17:32

Re: MeeGo Coding Competition 2011
 
Quote:

Originally Posted by zehjotkah (Post 1130587)
Wonko, could you please do the counting for the other categories as well?
Maybe add the second, third, ... places as well?
Then I'll submit the results to Nemein for publishing.

Users who have a problem with you counting, could count for themselves and compare the results.

Thanks!

Have you decided to use Borda? I don't understand how you came to this decision. I expected that the same counting method as used for the Maemo Community Council election would be used. We've identified a limitation--which Borda shares--and come up with a straightforward solution, which I don't think anyone would object to. Why Borda?

Wonko 2011-11-29 20:59

Re: MeeGo Coding Competition 2011
 
Quote:

Originally Posted by neal (Post 1130631)
We've identified a limitation--which Borda shares--and come up with a straightforward solution, which I don't think anyone would object to.

Actually, Borda calculates a vote count for each candidate which seems not to rely on the seat count (the value of the "-s" option). I tested this for all votings with seat numbers from 1 to 4. In all cases the calculated vote count did not change depending on the number of seats. This is also expected behavior if you look at the definition of how Borda works: http://www.openstv.org/borda-count

What I can tell so far is that Borda seems to order the candidates according to the vote count. A larger vote count means "better" or higher position. The selection of "Winners" is then performed by taking the first n (n=number of seats) candidates from this ordered list.

With respect to the example I posted this means we would end up with an ordered list like this:
  1. Filebox http://competition.meetmeego.org/submissions/66 | 514
  2. OMWeather http://competition.meetmeego.org/submissions/47 | 495
  3. MIR Translator http://competition.meetmeego.org/submissions/24 | 343
  4. KhtEditor http://competition.meetmeego.org/submissions/60 | 240
  5. TxPad http://competition.meetmeego.org/submissions/5 | 227
  6. QtWeather http://competition.meetmeego.org/submissions/45 | 224
  7. Audiobook reader http://competition.meetmeego.org/submissions/27 | 195
  8. Proximus http://competition.meetmeego.org/submissions/38 | 162
  9. stockona http://competition.meetmeego.org/submissions/25 | 136
  10. ItemNoTe http://competition.meetmeego.org/submissions/83 | 90
  11. Vcounter http://competition.meetmeego.org/submissions/70 | 66

This means there is no need for "iterative" or repetitive election runs like when using one of the *STV methods. The ordering of entries is solely by vote count which is not affected by parameters like number of seats.

So far... I hope I could present the technical and mathematical details unbiased and that this helps for the further decision making. As already mentioned earlier I am very much trying to be objective and not to imply that one solution is better or worse than another.

neal 2011-11-29 21:03

Re: MeeGo Coding Competition 2011
 
Quote:

Originally Posted by Wonko (Post 1130722)
Actually, Borda calculates a vote count for each candidate which seems not to rely on the seat count (the value of the "-s" option). I tested this for all votings with seat numbers from 1 to 4. In all cases the calculated vote count did not change depending on the number of seats. This is also expected behavior if you look at the definition of how Borda works: http://www.openstv.org/borda-count

Assume we have 3 candidates, A, B and C. Are you suggesting it is possible that *STV could elect A for -s 1 and B and C for -s 2?

neal 2011-11-29 21:06

Re: MeeGo Coding Competition 2011
 
Here are the differences for using FTSTV and Borda:

--- borda.txt 2011-11-29 22:05:33.000000000 +0100
+++ ftstv.txt 2011-11-29 22:05:52.000000000 +0100
@@ -3,21 +3,21 @@
3 TxPad http://competition.meetmeego.org/submissions/5
4 location2sms http://competition.meetmeego.org/submissions/62
1 MeePasswords http://competition.meetmeego.org/submissions/68
-2 ClipMan http://competition.meetmeego.org/submissions/13
-3 MeeToDo http://competition.meetmeego.org/submissions/74
-4 Wallet http://competition.meetmeego.org/submissions/18
+2 LUCID iron http://competition.meetmeego.org/submissions/4
+3 ClipMan http://competition.meetmeego.org/submissions/13
+4 MeeToDo http://competition.meetmeego.org/submissions/74
1 Oculo http://competition.meetmeego.org/submissions/14
2 TodoList Widget http://competition.meetmeego.org/submissions/86
3 Conky Layout Switcher http://competition.meetmeego.org/submissions/6
4 TcpIpKeyboard http://competition.meetmeego.org/submissions/72
1 PGZ Urban Dictionary http://competition.meetmeego.org/submissions/65
2 N900 X-Ray http://competition.meetmeego.org/submissions/22
-3 BashORGquotations http://competition.meetmeego.org/submissions/64
-4 Rockmarble http://competition.meetmeego.org/submissions/55
-1 PGZ Space Invaders http://competition.meetmeego.org/submissions/10
-2 Mong http://competition.meetmeego.org/submissions/41
-3 Nine Mens Morris Muhle http://competition.meetmeego.org/submissions/51
-4 Nanoparticles http://competition.meetmeego.org/submissions/19
+3 Rockmarble http://competition.meetmeego.org/submissions/55
+4 BashORGquotations http://competition.meetmeego.org/submissions/64
+1 Nine Mens Morris Muhle http://competition.meetmeego.org/submissions/51
+2 Billiardos http://competition.meetmeego.org/submissions/82
+3 Mong http://competition.meetmeego.org/submissions/41
+4 PGZ Space Invaders http://competition.meetmeego.org/submissions/10
1 cuteTube-QML http://competition.meetmeego.org/submissions/3
2 FlowPlayer http://competition.meetmeego.org/submissions/56
3 DLNA Player http://competition.meetmeego.org/submissions/20
@@ -25,11 +25,11 @@
1 CloudGPS http://competition.meetmeego.org/submissions/81
2 modRana http://competition.meetmeego.org/submissions/80
3 GPS Sport Sniffer http://competition.meetmeego.org/submissions/43
-4 Google Places http://competition.meetmeego.org/submissions/71
+4 Nelisquare http://competition.meetmeego.org/submissions/73
1 QNetMan http://competition.meetmeego.org/submissions/28
2 Woodchuck http://competition.meetmeego.org/submissions/84
3 Tweed Suit http://competition.meetmeego.org/submissions/29
-4 Acid Rain http://competition.meetmeego.org/submissions/34
+4 LinkedUp http://competition.meetmeego.org/submissions/44
1 Filebox http://competition.meetmeego.org/submissions/66
2 OMWeather http://competition.meetmeego.org/submissions/47
3 MIR Translator http://competition.meetmeego.org/submissions/24

I only calculated the top 4 for each category.

Wonko 2011-11-29 21:10

Re: MeeGo Coding Competition 2011
 
Quote:

Originally Posted by neal (Post 1130723)
Assume we have 3 candidates, A, B and C. Are you suggesting it is possible that *STV could elect A for -s 1 and B and C for -s 2?

I don't think it would do something like this. I think your approach on using *STV repeatedly also works. I also tried this manually quite a number of times and in all cases an ordering of e.g. A, B, C yielded in:
-s 1 -> A
-s 2 -> A, B
Unfortunately, I am not familiar enough with the mechanics/mathematics behind this to give a real mathematical proof for this. So my whole statement is solely based on the observations I made while trying different combinations.

Wonko 2011-11-29 21:21

Re: MeeGo Coding Competition 2011
 
Quote:

Originally Posted by neal (Post 1130725)
Here are the differences for using FTSTV and Borda:
...
I only calculated the top 4 for each category.

That's exactly the reason why I think that the process of deciding which voting system to choose is pretty "delicate". Another aspect of this issue was also mentioned by Helmuth:
Quote:

Originally Posted by Helmuth (Post 1129991)
I'm afraid some clever developer could look now at the already released numbers, count it itself with different "break methods" and prefer / promote the procedure that gaves him more votes than the other projects.

Unfortunately, we are now in this situation. Personally, I have no clue of how to solve this.

Wonko 2011-11-29 21:27

Re: MeeGo Coding Competition 2011
 
Quote:

Originally Posted by neal (Post 1130723)
Assume we have 3 candidates, A, B and C. Are you suggesting it is possible that *STV could elect A for -s 1 and B and C for -s 2?

What I tried to say and explain was that, due to the nature of how Borda works (by calculating the vote count and ordering candidates depending on the vote count), there is no need for repeated/iterative runs. Without giving a qualitative statement about the approach of running *STV repeatedly.

Helmuth 2011-11-29 21:43

Re: MeeGo Coding Competition 2011
 
Sorry for my late reply.

I tried now to get openSTV running on my N900 but it fails already during the installation. I'm currently not patient enought to find out what I have done wrong and perhaps it is already not any longer needed.
We have a good example how the output looks like. Thanks to Wonko and neal. :)

I suggested only the Borda system because it gaves us the output we need, Nemein has not that much work with it and everyone is able to check how it works and count the votes manually with pen and paper if needed. :) At least I understood how it works! :D

And luckily, at least at Wonkos example category, the final order is (except place 5 and 6) the same. I hope this won't change for the other categories.

Borda was only a suggestion. If someone is able to find a fairer, more transparent and easier to do counting process at the homepage of openSTV please point us to it.

And neal, thanks for all your effort. It works but in my own and personal opinion it is a little bit complicated.

Quote:

Originally Posted by zehjotkah (Post 1130587)
Wonko, could you please do the counting for the other categories as well?
Maybe add the second, third, ... places as well?
Then I'll submit the results to Nemein for publishing.

Mmmh... I would say Nemein should do the counting themselves. If we select the Borda algorithm this should be possible without a big problem. :)

Everybody (perhaps except myself) is later able to doublecheck the counting. :)

The only matter we should check before: Are there projects with the same quantity of votes in the first places and discuss how we could solve this if something like this happens.


All times are GMT. The time now is 13:05.

vBulletin® Version 3.8.8