To all readers:  When I have been posting, I see my own posts as one very long 
line, with no line breaks despite the fact that I have used them when I 
composed the message. If it looks like that to you also, please advise me of 
that unfortunate fact and, is possible, tell me how I shall format my responses 
so that they look good on this board. Strangely enough, I have not had that 
problem on any other board that I post on. From: [email protected]
Date: Sat, 17 Mar 2012 11:16:51 -0700
To: [email protected]
Subject: [EM] Societal ranking from incomplete pairwise information.    
(Pinewood derby.)

Kristofer, (and others too)
If I recall, you were recently experimenting with how to best determine a 
winner (or was it a full ranking) from incomplete pairwise information.  What 
are the methods that you (or others) consider best for that?  It seems like 
Kemeny would be a good fit (if it weren't computationally prohibitive): for 
each pairwise contest you have data on, you just add one point to each possible 
societal ranking which agrees with that pairwise contest.  If your pairwise 
information has a notion of defeat strength, then you can sum the defeat 
strengths to get a Borda-like method.  Otherwise you can count the pairwise 
defeats and have a Copeland-like method.  But for those last two each candidate 
should have about the same number of contests, right?


Does the Schulze method extend naturally to incomplete data?
In your experimentation, were you the one who decided which pairwise contests 
to run or was it decided by some other actor and you just had to live with 
whatever data was generated?


A couple weeks ago, I found myself keeping score for a pinewood derby, where 
8-11 year old boys race wooden cars down a track.  When we thought there were 
only 20 entrants, we were going to try to run the entire pairwise matrix (190 
races).  When 28 boys showed up, that became impossible.  I quickly drew up a 
racing schedule.  Each boy got a number and ended up racing against the next 
five and the previous five cars (mod 28).  (Then we did a quick tournament 
afterwards.)


It occurred to me that it would be better to use the outcomes of the early 
races to decide who races against each other in the later races.  (Let A>B 
signify that A has raced and won against B.)  If A>B, A>C, B>D, and C>D, then 
there is really no point racing A against D.  You really want to use the early 
race outcomes to determine which cars are comparable and race those cars 
against each other.  This increases the information content of each outcome.  
It also contributes to the enjoyment by racing cars of the same caliber and 
getting every boy a win if possible.  I've been thinking about good methods for 
attacking this.


One other important constraint is that all cars should have about the same 
amount of races, which rules out an "insertion-sort" type algorithm.
If the number of cars is 2^n, then I think the first n rounds are pretty 
obvious.  For 32 cars, for example:  (Assuming no ties)


First round: Just pair them up randomly and race them.  There will be 16 
winners and 16 losers.Second round:  Race the 16 winners against each other 
(randomly) and the 16 losers against each other (randomly).

Third round:  Race the 8 undefeated cars against each other (randomly), the 8 
winless cars against each other (randomly), and the 16 one-and-one cars against 
each other (randomly).etc.What you are describing is quite similar to the 
Monrad system used in chess tournaments, with the simplification that you do 
not have to worry about black or white. However, Monrad works partly because 
chess players generally only play one game per day in most competitions, so the 
organizers have ample time to calculate the matchups between days. However, in 
your competition, that is not the case. You need an algorithm that is fast, and 
transparent to the competitors - and their parents.  Here is one that should 
fit the bill:1. List the competitor names, completely at random.2. Put all 
names into a direct elimination bracket of 32. With 28 competitors, there will 
be 4 that have a bye to the next round.3. Run the 12 races in the 1st round. 
The losers, and the 4 who had byes, are demoted to the round of 16. If a race 
concludes with the competitor who is listed lower in the list of stage#1 
winning, then the two competitors in that race switch places. If the winner is 
the one who is listed higher, they keep their places. In no case should the 
competitors not taking part of a race have their listing affected by that 
race.4. Run the round of 16, demoting the losers to the round of 8.5. Repeat 
stage 4 until there is an ultimate loser. He takes place #28 in the total 
tally, and does not compete anymore. His name is taken out of the list in 
stage#1.6. Construct a new DE bracket. All competitors who were placed in 
odd-numbered placements of the first DE bracket retain their places. Those that 
originally were placed in even-numbered places, however, are rotated one step. 
Thus, if the 1st round of the 1st DE bracket featured the matchups A-B, C-D, 
E-F, .... Y-Z, the 1st round of the 2nd DE bracket will be: A-Z, C-B, E-D,.... 
Y-X.7. The 1st DE round in this 2nd DE bracket will feature many new matchups. 
The losers, those that have no opponent,  and the one that is pitted against 
#28 are demoted to the DE round-16. The list is updated whenever there is an 
upset, as described in stage#3.8. Repeat stages #4-5. If the new bracket 
features matchups that already have been competed, the result of the previous 
race is recycled, and the race is not redone. This saves time. There will be 
many instances of that unless there is a lot of noise in the competitor 
performances. Continue until there is an ultimate loser who is placed in the 
#27 spot.9. Repeat stages 6-8, with new rotated brackets in the 1st round, and 
many recurring matchups in the later rounds. Update the list whenever 
necessary. Once there has been 16 brackets, the rotation will have gone full 
circle, and there will be many repeat matchups in the 1st DE round in the 
subsequent DE brackets. This speeds up the process. Continue until there are 
only 4 contestants left, or until there is only time for one bracket.10. Put 
all contestants that have survived stages #1-9 into a forward DE bracket. In 
this bracket, the surviving contestants are seeded according to the position in 
the list, which by now has become more ordered.11. The winners of the 1st DE 
round of the DE bracket established in stage #10 are promoted to the 2nd round, 
and so on until an ultimate winner is found. The other contestants are ranked 
according firstly after in which DE round the lost, and secondly after their 
position in the list prior to stage #10. So there! No calculations necessary, 
and a run time not larger (in all likelyhood, considerably less) than a full 
round robin. Andy Jennings: (Instead of pure randomness, I would avoid racing 
cars that had faced each other before if possible.)That is a very good design 
criteria when coming up with a competition formula.
                                          
----
Election-Methods mailing list - see http://electorama.com/em for list info

Reply via email to