Author |
Topic: 2006 World Championship (Read 5935 times) |
|
Fritzlein
Forum Guru
Arimaa player #706
Gender:
Posts: 5928
|
|
Re: 2006 World Championship
« Reply #15 on: Nov 15th, 2005, 9:03am » |
Quote Modify
|
on Nov 15th, 2005, 2:17am, Ryan_Cable wrote: As seeds 1 and 2, I believe that 99of9 and Fritzlein can potentially play each other at only two specific times: The first opportunity is in round 4 in a critical battle to be the last remaining undefeated player. The only other time they can meet is at the end of the tournament playing for the win. |
| I hadn't considered the significance of this. The seeding does keep me away from 99of9, and I couldn't be happier about that. Yet if I'm not mistaken, we can meet twice without playing for the title. Consider the "Achilles heel" scenario: In round four 99of9 plays me for the for the privelege of the round five bye, and and wins. Going into round six, we could have 99of9 undefeated and Adanac and myself with one loss. I would get the round six bye, but then if Adanac beats 99of9 in round six, I would have to play 99of9 in round seven. It could happen that 99of9 beats me a second time, and then loses a second time to Adanac in round eight, and Adanac is the World Champion! I have definitely been hoping that someone else knocks 99of9 out of the tournament, because it sure worked to my advantage last year. Until now I hadn't considered that someone might knock him out only after he has knocked me out! Generally speaking, it isn't so unlikely that 99of9 and I will deal each other two losses in rounds 4 and 7, so only two upsets would be necessary, specifically in rounds 6 and 8. However, if we are each upset in the first three rounds, 99of9 and I couldn't be paired against each other ever unless we met in round 8 for the Championship. If this happens, I plan to claim it was my strategy all along. It is interesting to hear speculation that I might be underrated at 2273. I remember that when I crossed 2300 for the first time there were generous comments that I was poised to rise straight to 2400. I made a bet then that I was overrated from botbashing, and would visit 2200 again before seeing 2400. Since that time my rating has been as high as 2342 and as low as 2206, but not crossed either marker. Today I would still bet that I cross 2200 before 2400, not as a 50-50 speculation, but as a moneymaker.
|
|
IP Logged |
|
|
|
Fritzlein
Forum Guru
Arimaa player #706
Gender:
Posts: 5928
|
|
Re: 2006 World Championship
« Reply #16 on: Nov 15th, 2005, 9:27am » |
Quote Modify
|
By the way, my wife pointed out that the color determination for the first round happens to be alphabetical by username. By my calculation there's only a 1 in 128 chance that could happen randomly. 'fess up, Omar!
|
|
IP Logged |
|
|
|
Ryan_Cable
Forum Guru
Arimaa player #951
Gender:
Posts: 138
|
|
Re: 2006 World Championship
« Reply #17 on: Nov 15th, 2005, 5:16pm » |
Quote Modify
|
on Nov 15th, 2005, 9:03am, Fritzlein wrote:Yet if I'm not mistaken, we can meet twice without playing for the title. Consider the "Achilles heel" scenario: In round four 99of9 plays me for the for the privelege of the round five bye, and and wins. Going into round six, we could have 99of9 undefeated and Adanac and myself with one loss. I would get the round six bye, but then if Adanac beats 99of9 in round six, I would have to play 99of9 in round seven. It could happen that 99of9 beats me a second time, and then loses a second time to Adanac in round eight, and Adanac is the World Champion! |
| You’re right, I missed this possibility. This makes it significantly less of a lock if a titan gets the final undefeated spot. Probably adds another 3 or 4 percentage points to the field’s chances, since a titan being undefeated after round 4 is quite likely. That brings my prediction into line with the simulations 10%. on Nov 15th, 2005, 9:03am, Fritzlein wrote:I have definitely been hoping that someone else knocks 99of9 out of the tournament, because it sure worked to my advantage last year. Until now I hadn't considered that someone might knock him out only after he has knocked me out! |
| As a spectator, I am hoping to see you and 99of9 meet in round 4, and then again for the title, which together almost forms a best of 3 mini-match. There is probably a >10% chance of seeing 3 battle of the titans games in this tournament. on Nov 15th, 2005, 9:03am, Fritzlein wrote:It is interesting to hear speculation that I might be underrated at 2273. I remember that when I crossed 2300 for the first time there were generous comments that I was poised to rise straight to 2400. I made a bet then that I was overrated from botbashing, and would visit 2200 again before seeing 2400. Since that time my rating has been as high as 2342 and as low as 2206, but not crossed either marker. Today I would still bet that I cross 2200 before 2400, not as a 50-50 speculation, but as a moneymaker. |
| Your bet is almost certainly a winner unless you intentionally inflate your rating. I think 2273 would make a good best guess for your rating with 99of9 at 2200. Looking at your record vs. the sub-titans centered around 2025, it is reasonable to think you outrank them by 250 to 300 points. If adjustments were made to the record to remove learning games, blitz games, etc, the advantage might fall near the bottom of this range, but I doubt it falls much below it. Likewise, I think 99of9’s record suggests he is 125 to 200 points above them. This puts you somewhere around 2300 and 99of9 around 2175. Then comes the question of how to deal with the fact that 99of9 seems to be roughly equal to you at the board. Mathematically, I think this calls for simulated annealing to get around the intransitivity in the ratings, but I don’t think that would produce a result much more meaningful than my just cutting 25 points from your rating and giving it to 99of9. Philosophically, it comes down to the nature of your relationship with 99of9. It could be that there is a 100 to perhaps even 200 point gap in your true-ratings, and 99of9 just outperforms against you like he has by going undefeated against PMertens. Alternatively, it could be that your true-ratings are about equal and 99of9 has just been unlucky/underperformed in a few sub-titan games. The only way to determine which is correct is if another or better yet several other players of 99of9’s strength join Arimaa (or rise from the sub-titan ranks). Short of this all we have is opinions and guesses. Mine is that you are 50 to 125 points above 99of9 in true-rating. Of course, there is also the details of different ratings at different time controls. I have heard rumors that you are undefeated at postal, which would put you 400+ above everyone else. on Nov 15th, 2005, 9:27am, Fritzlein wrote:By the way, my wife pointed out that the color determination for the first round happens to be alphabetical by username. By my calculation there's only a 1 in 128 chance that could happen randomly. 'fess up, Omar! |
| 99of9 finds another strategic advantage.
|
|
IP Logged |
|
|
|
omar
Forum Guru
Arimaa player #2
Gender:
Posts: 1003
|
|
Re: 2006 World Championship
« Reply #18 on: Nov 15th, 2005, 5:50pm » |
Quote Modify
|
on Nov 15th, 2005, 9:27am, Fritzlein wrote:By the way, my wife pointed out that the color determination for the first round happens to be alphabetical by username. By my calculation there's only a 1 in 128 chance that could happen randomly. 'fess up, Omar! |
| You had me scared there for a minute. I just double checked the pairing program and it seems OK. I ran it again a few times and got pairings like this: pick Fritzlein MrBrain pick acheron 99of9 pick jdb Ryan_Cable pick PMertens grey_0x2A pick megamau Adanac pick robinson naveed pick Belbo BlackKnight pick Paul omar pick MrBrain Fritzlein pick acheron 99of9 pick jdb Ryan_Cable pick grey_0x2A PMertens pick megamau Adanac pick naveed robinson pick BlackKnight Belbo pick Paul omar pick MrBrain Fritzlein pick 99of9 acheron pick jdb Ryan_Cable pick PMertens grey_0x2A pick Adanac megamau pick naveed robinson pick BlackKnight Belbo pick Paul omar So I guess it was just a fluke. Im also going to post the pairing script here so we have an official record of what we used. This is the same script that was used in my simulations of FDE. #!/usr/bin/ruby if ARGV[0] == nil print <<EOM; Floating Double Elimination Format variant to format proposed by Karl Juhnke (Fritzlein) see the Arimaa Forum for more details search for "World Championship tournament format" 1) Everyone plays until they have lost two times. At the end of each round, any player who has lost for the second time is eliminated. 2) At the beginning of each round, if an odd number of players remain, a bye must be assigned. The bye goes to the player who has recieved the fewest byes so far, with ties broken in favor fewest losses so far, and further ties broken in favor of highest pre-tournament rating. 3) The players who don't get a bye are paired iteratively as follows: Select the unpaired player with the fewest losses (ties broken by highest pretournament rating), and pair him with the player in the field he has played the least number of times, with ties broken in favor of having fewest losses, and further ties broken in favor of lower pre-tournament rating. 4) Within each pairing, whoever has played Gold a smaller percentage of times so far in the tournament should get to play Gold for that game, with ties broken randomly. EOM exit; end pa, ga, ra, ph, rn = getTournState(ARGV[0]); if (pa.length == 0) print "done\n" exit end # Determine number of loses for each player # field called 'loses' is set in the player record for x in 0 ... pa.length pa[x]['loses'] = 0 #print " #{pa[x]['n']} #{pa[x]['r']} \n" end for x in 0 ... ga.length e = '' if ga[x]['w'] == ga[x]['1'] e = ga[x]['2'] else e = ga[x]['1'] end if e == "BYE"; next; end pa[ph[e]]['loses'] += 1 end # Eliminate players who have lost 3 times pa.delete_if {|x| x['loses'] >= 2} # also re-generate the player name index ph.clear for x in 0 ... pa.length ph[pa[x]['n']] = x end # Used for testing; can be commented out mpa = pa mpa.sort! {|x,y| y['r'] <=> x['r']} print "# player rating loses\n"; for x in 0 ... mpa.length print "* #{mpa[x]['n']} #{mpa[x]['r']} #{mpa[x]['loses']}\n" end print "\n" # If only one player is left then show the winner if (pa.length == 1) if ra[1] != nil print "done\n" exit end print "result #{pa[0]['n']} 1\n" exit end print "* Round #{rn+1}\n" print matchPlayers(pa, ga, ph) exit; BEGIN{ def val(v=0) if v==nil; return 0 end if v==""; return 0 end return v end def matchPlayers(pa=[], ga=[], ph=Hash.new) m = "" # Determine how many times each player has played another # also count number of byes and times played as first player v = Hash.new byes = Hash.new first = Hash.new gamesplayed = Hash.new i = 0 for i in 0 ... ga.length p1 = ga[i]['1'] p2 = ga[i]['2'] v[p1+p2] = val(v[p1+p2]) + 1 v[p2+p1] = val(v[p2+p1]) + 1 first[p1] = val(first[p1]) + 1 if p2 == 'BYE'; byes[p1] = val(byes[p1]) + 1 end if p2 != 'BYE' gamesplayed[p1] = val(gamesplayed[p1]) + 1 end if p1 != 'BYE' gamesplayed[p2] = val(gamesplayed[p2]) + 1 end end # Setup the scores for ordering the players later # score - is used when pairing the players # bsc - is used when giving a player a bye # fsc - is used when deciding which player plays first # played - is total number of games played by this player # also mark that they have not been paired for i in 0 ... pa.length pa[i]['score'] = sprintf("%03d%08d", 99 - val(pa[i]['loses']), pa[i]['r']) pa[i]['bsc'] = sprintf("%03d%03d%08d", 99-val(byes[pa[i]['n']]), 99-val(pa[i]['loses']), pa[i]['r']) pa[i]['fsc'] = val(first[pa[i]['n']]) pa[i]['played'] = val(gamesplayed[pa[i]['n']]) pa[i]['paired'] = 0 end # Order the players by fewest loses and highest ratings pa.sort! {|x,y| y['score'] <=> x['score']} # also re-generate the player name index ph.clear for i in 0 ... pa.length ph[pa[i]['n']] = i end # Give one of the players a bye if there are odd number of players if pa.length % 2 == 1 bpa = pa.sort {|x,y| y['bsc'] <=> x['bsc']} p1 = bpa[0]['n'] m = m + "pick #{p1} BYE\n" pa[ph[p1]]['paired'] = 1; end # Now pair the players for i in 0 ... pa.length p1 = pa[i] if p1['paired'] != 0; next end op = [] for j in i+1 ... pa.length p2 = pa[j] if p2['paired'] != 0; next end p2['nsc'] = sprintf("%03d%03d%08d", 99 - val(v[p1['n']+p2['n']]), 99 - val(p2['loses']), 9999999 - p2['r']) op.push(p2) end op.sort! {|x,y| y['nsc'] <=> x['nsc']} p2 = op[0] p1['paired'] = 1 p2['paired'] = 1 if (p1['fsc']/(p1['played']+1)) < (p2['fsc']/(p2['played']+1)) m = m + "pick #{p1['n']} #{p2['n']}\n" elsif p2['fsc'] < p1['fsc'] m = m + "pick #{p2['n']} #{p1['n']}\n" else if rand(2)>0 m = m + "pick #{p1['n']} #{p2['n']}\n" else m = m + "pick #{p2['n']} #{p1['n']}\n" end end end return m end def shuffle!(a=[]) x = a.length if x < 2 return end for n in 1 .. 5*x p1 = rand(x) p2 = rand(x) a[p1], a[p2] = a[p2], a[p1] end end # General tournament routines def getTournState(tf) p, g, w = [], [], [] i = Hash.new round = 0 l = IO.readlines(tf) l.each do |x| # read the player if x =~ /^player +(\w+) +(\d+)/ r = Hash.new r['n'], r['r'] = $1, $2.to_i p.push(r) i[$1] = p.length - 1 end # read the game if x =~ /^(pair|pick) +(\w+) +(\w+) winner +(\w+) *(\w*)/ r = Hash.new r['1'], r['2'], r['w'] = $2, $3, $4 if $5 != nil r['d'] = [$4,$5].join(" ") end g.push(r) end # read the result if x =~ /^result +(\w+) *(\w*)/ w[$2.to_i] = $1 end if x =~ /^done$/ break; end # read the player properites we set if x =~ /^\* +set +player +(\w+) +(\w+) +(\w+)/ if i[$1] != nil p[i[$1]][$2] = $3 end end # read the round number if x =~ /^\* Round +(\d+)/i round = $1.to_i end end return p, g, w, i, round end def printPlayerProp(p, k, v) print "* set player #{p} #{k} #{v}\n" end def printPlayersProp(p, k) p.each do |r| print "* set player #{r['n']} #{k} #{r[k]}\n" end end } exit
|
|
IP Logged |
|
|
|
99of9
Forum Guru
Gnobby's creator (player #314)
Gender:
Posts: 1413
|
|
Re: 2006 World Championship
« Reply #19 on: Nov 15th, 2005, 6:37pm » |
Quote Modify
|
on Nov 15th, 2005, 5:16pm, Ryan_Cable wrote:99of9 finds another strategic advantage. |
| Actually I was disappointed to get gold in the first round, because it means I get less gold later. But I do like having my name at the top of the players online list ... except when 6sense is around.
|
|
IP Logged |
|
|
|
Fritzlein
Forum Guru
Arimaa player #706
Gender:
Posts: 5928
|
|
Re: 2006 World Championship
« Reply #20 on: Nov 15th, 2005, 7:14pm » |
Quote Modify
|
on Nov 15th, 2005, 5:50pm, omar wrote:You had me scared there for a minute. I just double checked the pairing program and it seems OK. [...] So I guess it was just a fluke. |
| That's funny. I guess there was also a 1 in 128 chance it would appear to be ordered by rating, and a 1 in 128 it would appear to be ordered by nationality, and a 1 in 128 chances it would appear to be orded by (fill in the blank). When you consider all the possible correlations one could look for, maybe it isn't so improbable one of them would be true.
|
|
IP Logged |
|
|
|
Fritzlein
Forum Guru
Arimaa player #706
Gender:
Posts: 5928
|
|
Re: 2006 World Championship
« Reply #21 on: Nov 15th, 2005, 7:26pm » |
Quote Modify
|
on Nov 15th, 2005, 5:16pm, Ryan_Cable wrote:Mathematically, I think this calls for simulated annealing to get around the intransitivity in the ratings[...] Philosophically, it comes down to the nature of your relationship with 99of9. It could be that there is a 100 to perhaps even 200 point gap in your true-ratings, and 99of9 just outperforms against you [...] |
| Aha, another convert to the non-transitivity of ratings! It really opens things up when you stop believing in the mathematical model behind the ratings. What then can a rating mean? What then should a rating mean? Let us open a ratings philosophy thread so we can get it all hashed out and ready for Omar to implement a new system next year. One thing about ratings seems clear from experience: the more the contestant mix around who they play against (e.g. when pairings are determined by tournaments rather than by self-selection) the more accurate ratings become. That's yet another reason broad participation in Arimaa tournaments is good for Arimaa.
|
|
IP Logged |
|
|
|
omar
Forum Guru
Arimaa player #2
Gender:
Posts: 1003
|
|
Re: 2006 World Championship
« Reply #22 on: Nov 16th, 2005, 5:18pm » |
Quote Modify
|
on Nov 15th, 2005, 7:14pm, Fritzlein wrote: That's funny. I guess there was also a 1 in 128 chance it would appear to be ordered by rating, and a 1 in 128 it would appear to be ordered by nationality, and a 1 in 128 chances it would appear to be orded by (fill in the blank). When you consider all the possible correlations one could look for, maybe it isn't so improbable one of them would be true. |
| Ordered by rating is intentional. By nationality is a coincidence.
|
|
IP Logged |
|
|
|
Fritzlein
Forum Guru
Arimaa player #706
Gender:
Posts: 5928
|
|
Re: 2006 World Championship
« Reply #23 on: Nov 20th, 2005, 7:56pm » |
Quote Modify
|
OK, fifteen folks showed up for their games, so it is now official that this WC has the most participation ever. Also, many of the games were interesting and intense already in the first round. Just seeing how things are going in this tournament so far, I think it is definitely a good idea to have winners play winners and losers play losers. If we didn't pair that way, but instead had something like 1 and 2 seeds reversing and playing 15 and 16 in the second round, it would be less fun for the prediction contest, less fun for the players involved, and simply less fun all around. Whatever way we decide to tweak the pairing system for next year, we should leave this desirable feature intact. We're still on track for this to be the best WC ever, by a wide margin.
|
« Last Edit: Nov 20th, 2005, 7:56pm by Fritzlein » |
IP Logged |
|
|
|
Fritzlein
Forum Guru
Arimaa player #706
Gender:
Posts: 5928
|
|
Re: 2006 World Championship
« Reply #24 on: Nov 20th, 2005, 9:31pm » |
Quote Modify
|
Ryan Cable noticed something with regard to color assignments. In round two Grey_0x2A plays Megamau. In round one Megamau had silver. It isn't clear whether that should count or not, since he forfeited, but either way Megamau has played gold zero times. Meanwhile Grey_0x2A has played gold once, i.e. more than Megamau, so either way Grey_0x2A should get silver in round two. All of this is mostly moot if Megamau forfeits again, but it should inspire one to take another look at the pairing code.
|
|
IP Logged |
|
|
|
99of9
Forum Guru
Gnobby's creator (player #314)
Gender:
Posts: 1413
|
|
Re: 2006 World Championship
« Reply #25 on: Nov 20th, 2005, 10:58pm » |
Quote Modify
|
Well spotted Ryan. on Nov 20th, 2005, 9:31pm, Fritzlein wrote:In round one Megamau had silver. It isn't clear whether that should count or not, since he forfeited, but either way Megamau has played gold zero times. |
| It's very clear to me that it should count as him having played once with silver. That is the opportunity he had - just because he timed out on move 1 doesn't change the colour he had.
|
|
IP Logged |
|
|
|
Ryan_Cable
Forum Guru
Arimaa player #951
Gender:
Posts: 138
|
|
Re: 2006 World Championship
« Reply #26 on: Nov 21st, 2005, 12:53am » |
Quote Modify
|
on Nov 20th, 2005, 10:58pm, 99of9 wrote:It's very clear to me that it should count as him having played once with silver. That is the opportunity he had - just because he timed out on move 1 doesn't change the colour he had. |
| Yes, I think forfeits should be treated exactly like other games. The person who forfeits doesn’t deserve any favors, and the person receiving the forfeit already gets a big privilege in the free advance to the next round. Mostly, I want this because the rules for losses are predictable up to the coin flips, and handling forfeits is otherwise unspecified. The rules state: The director will also make the final decision on matters of pairing and color assignment. So it is David Fotland’s opinion that matters most. If forfeits are not going to be treated like other games, then I think David should at least state in plain English the algorithm that is being used to handle them. (The ruby script is Greek to me; I can’t even find where it is assigning colors. Even if I understood the code, it would probably still be ambiguous, because it is not clear what the inputs are for a forfeit.) Even if megamau forfeits again, it is important to have this worked out to remove the ambiguity and unpredictability in the color assignment for Adanac and grey_0x2A in round 3+. Whatever rule for handling forfeits is chosen, I can’t think of any good reason for megamau to have silver. I think David should override the script and give megamau gold as soon as possible, so grey_0x2A knows what color to prepare for in case megamau does show. PS BlackKnight vs. acheron confirms that gold is not being assigned by alphabetical order, when the percent of previous gold is equal.
|
|
IP Logged |
|
|
|
Fritzlein
Forum Guru
Arimaa player #706
Gender:
Posts: 5928
|
|
Re: 2006 World Championship
« Reply #27 on: Nov 21st, 2005, 9:49am » |
Quote Modify
|
Speaking of color assignments, I notice that if I play PMertens in round three, one of us will be assigned gold for the third time in a row. However, it doesn't appear possible for someone to be assigned gold for the fourth time in a row in round four. For that to happen, all eight people who played gold in the first round would have had to win.
|
|
IP Logged |
|
|
|
omar
Forum Guru
Arimaa player #2
Gender:
Posts: 1003
|
|
Re: 2006 World Championship
« Reply #28 on: Nov 22nd, 2005, 5:57am » |
Quote Modify
|
on Nov 20th, 2005, 9:31pm, Fritzlein wrote:Ryan Cable noticed something with regard to color assignments. In round two Grey_0x2A plays Megamau. In round one Megamau had silver. It isn't clear whether that should count or not, since he forfeited, but either way Megamau has played gold zero times. Meanwhile Grey_0x2A has played gold once, i.e. more than Megamau, so either way Grey_0x2A should get silver in round two. All of this is mostly moot if Megamau forfeits again, but it should inspire one to take another look at the pairing code. |
| Thanks for pointing this out guys. It was due to a bug in the code. I've fixed the code. I've also changed the color assignement for Grey_0x2A and Megamau and sent an email to the players. No need to consult David on this since it is not an arbitrary choice or a dispute. Here is the change to the code: if (p1['fsc']/(p1['played']+1)) < (p2['fsc']/(p2['played']+1)) changed to: if (p1['fsc']/(p1['played']+1.0)) < (p2['fsc']/(p2['played']+1.0)) It was using interger division but I was expecting float. By changing the 1 to 1.0 we cause it to use floating point calculations.
|
« Last Edit: Nov 22nd, 2005, 8:49am by omar » |
IP Logged |
|
|
|
Fritzlein
Forum Guru
Arimaa player #706
Gender:
Posts: 5928
|
|
Re: 2006 World Championship
« Reply #29 on: Nov 22nd, 2005, 8:39am » |
Quote Modify
|
on Nov 22nd, 2005, 5:57am, omar wrote:Thanks for pointing this out guys. It was due to a bug in the code. I've fixed the code. |
| Thank you, Omar, for fixing that so quickly, and for running the tournament so smoothly in general. You have worked out a fine system, and you stay on top of any problems, which makes it easy for everyone to have a good time.
|
|
IP Logged |
|
|
|
|