Welcome, Guest. Please Login or Register.
May 21st, 2024, 2:31am

Home Home Help Help Search Search Members Members Login Login Register Register
Arimaa Forum « 2010 World Championship »


   Arimaa Forum
   Arimaa
   Events
(Moderator: supersamu)
   2010 World Championship
« Previous topic | Next topic »
Pages: 1 2 3 4 5  ...  13 Reply Reply Notify of replies Notify of replies Send Topic Send Topic Print Print
   Author  Topic: 2010 World Championship  (Read 16517 times)
Tuks
Forum Guru
*****



Arimaa player #2626

   


Gender: male
Posts: 203
Re: 2010 World Championship
« Reply #30 on: Jan 14th, 2010, 10:18am »
Quote Quote Modify Modify

i second tiebreaker would never happen
IP Logged
Fritzlein
Forum Guru
*****



Arimaa player #706

   
Email

Gender: male
Posts: 5928
Re: 2010 World Championship
« Reply #31 on: Jan 14th, 2010, 1:17pm »
Quote Quote Modify Modify

on Jan 14th, 2010, 10:18am, Tuks wrote:
i second tiebreaker would never happen

There are fewer ties in the first tiebreaker with the formula I proposed and Omar implemented than there are with the simple sum of scores as first tiebreaker.  The most likely way for the second tiebreaker to happen this year would be two players with the same record whose opponents all had the same records.  If it does come to a second tiebreaker, I sure hope it isn't between eighth and ninth place!
IP Logged

Tuks
Forum Guru
*****



Arimaa player #2626

   


Gender: male
Posts: 203
Re: 2010 World Championship
« Reply #32 on: Jan 14th, 2010, 9:46pm »
Quote Quote Modify Modify

but why don't we use the WHR for just the WC then
 
 instead of the initial WHR, wouldnt that make more sense?
IP Logged
RonWeasley
Forum Guru
*****




Harry's friend (Arimaa player #441)

   


Gender: male
Posts: 882
Re: 2010 World Championship
« Reply #33 on: Jan 15th, 2010, 5:39am »
Quote Quote Modify Modify

on Jan 11th, 2010, 9:16am, omar wrote:
During the:  
    fritzlforpresident vs omar  
game it seems there was a problem with the DNS server for arimaa.com.  
...
After the game I tried to ask John if he had any problem on his end, but did not receive any reply. Karl also tried to contact John by phone, but has not gotten through to him yet. So at present we don't know if he timed out because the thought too long and didn't hit the 'Send' button or if he tried to send the move but it did not reach the server because his DNS cache expired and needed to query the DNS server before sending the move.
 
This is all the information I have at present. Will post more if we hear from John.

 
For the record, I have not seen any report about what happened from John's perspective.  I gave it until Wednesday making a good faith attempt to contact him.  Therefore, the game result stands as a win for Omar.
 
TD
IP Logged
Fritzlein
Forum Guru
*****



Arimaa player #706

   
Email

Gender: male
Posts: 5928
Re: 2010 World Championship
« Reply #34 on: Jan 15th, 2010, 6:22am »
Quote Quote Modify Modify

on Jan 14th, 2010, 9:46pm, Tuks wrote:
but why don't we use the WHR for just the WC then
 
 instead of the initial WHR, wouldnt that make more sense?
It makes some sense, but also there is some strangeness that the in-tournament WHR can reverse the ranking by order of wins.  Why do we trust it as a tiebreaker but not as the ranking per se?  Also it was a relatively late suggestion, so we didn't have time to work through all the details such as handling byes and forfeits.  Traditionally byes and forfeits add to the total score but not to the tiebreak, which means someone with the benefit of a free win gets the penalty of a poor tiebreak.  However, with the way woh was calculating it, a bye or forfeit win gave the benefit of a free win without any penalty.
 
Maybe we will use in-tournament WHR in the future, but this year we didn't think it through enough ahead of time to become comfortable with it.
IP Logged

Adanac
Forum Guru
*****



Arimaa player #892

   
Email

Gender: male
Posts: 635
Re: 2010 World Championship
« Reply #35 on: Jan 16th, 2010, 9:51am »
Quote Quote Modify Modify

Sometimes I really enjoy checking how one game can alter the scenarios for the following round in this unpredictable "SoS" ranking system.  For example, if Fritzlein had been correct about no upsets in round 2 then round 3 would have had these top two pairings:
 
[1] Fritzlein vs. [3] Adanac
[2] chessandgo vs. [4] Tuks
 
However, the first game of the round has already caused reverberations.  If there are no additional upsets out of the next 7 games, then round 3 will have these pairings instead:
 
[1] Fritzlein vs. [3] Tuks
[2] chessandgo vs. [4] Adanac
 
But if Hippo wins an upset game then it becomes:
 
[1] Fritzlein vs. [3] chessandgo
[2] Tuks vs. [4] Adanac
 
And if all 8 games are upsets then Omar becomes top dog (top elephant?):
 
[1] omar vs. [3] Simon
[2] PMertens vs. [4] Nombril
IP Logged


Fritzlein
Forum Guru
*****



Arimaa player #706

   
Email

Gender: male
Posts: 5928
Re: 2010 World Championship
« Reply #36 on: Jan 16th, 2010, 12:43pm »
Quote Quote Modify Modify

Nice, the various pairing scenarios give me even more reason to pay attention to games outside my own.  My high school chess tournaments, where Swiss pairing was done on record first and seed second, had much less volatile pairing than ours based on record first, SoS second, seed third.
 
One advantage of the greater randomness we have is that it prevents anyone from trying to rig the pairings in advance.  For example, if the pairing were totally predictable and the seeds the day before tournament begin had been
 
1. Fritzlein
2. chessandgo
3. Adanac
4. 99of9
 
and if I had foreseen highly probable third round pairings of Fritzlein vs Adanac, chessandgo vs. 99of9, I might have rushed to lose a pre-tournament game to chessandgo to get the pairings of Fritzlein vs 99of9, chessandgo vs Adanac instead.  (Not because 99of9 is not a fearsome competitor, but because he hasn't played since the last tournament.)  The greater unpredictability of the current pairing system, though, would thwart any such attempt at jiggering the pairings via pre-tournament losses.
 
« Last Edit: Jan 16th, 2010, 12:44pm by Fritzlein » IP Logged

Fritzlein
Forum Guru
*****



Arimaa player #706

   
Email

Gender: male
Posts: 5928
Re: 2010 World Championship
« Reply #37 on: Jan 18th, 2010, 1:35pm »
Quote Quote Modify Modify

on Jan 12th, 2010, 9:16am, Fritzlein wrote:
I was going to predict one upset in the second round as well, but since that got moved forward to the first round, I will now predict zero upsets in the second round.

As it turns out, there were two upsets in the second round as well, so my prediction was even wronger than it had been in the first round.  For the third round, Swiss pairing takes us into territory where the favorites are no longer obvious, and the only thing certain is lots of exciting games.
IP Logged

Adanac
Forum Guru
*****



Arimaa player #892

   
Email

Gender: male
Posts: 635
Re: 2010 World Championship
« Reply #38 on: Jan 18th, 2010, 7:04pm »
Quote Quote Modify Modify

Omar:  Can you explain what the Strength of Schedule formula is for this year's tournament?  I want to make sure it's accurate on the Wiki.
 
Also, on the topic of the Wiki, can you please create a link from the "Championship > 2010 World Championship" Official Rules on the arimaa.com homepage to the Wiki 2010 WC article: http://arimaa.com/arimaa/mwiki/index.php/2010_World_Championship
 
Thanks!!
« Last Edit: Jan 18th, 2010, 7:20pm by Adanac » IP Logged


aaaa
Forum Guru
*****



Arimaa player #958

   


Posts: 768
Re: 2010 World Championship
« Reply #39 on: Jan 19th, 2010, 1:34pm »
Quote Quote Modify Modify

on Jan 12th, 2010, 9:05am, Fritzlein wrote:
If I had remembered that I would have commented on the 99of9-Simon game even though Simon was still logged into chat.

In my opinion that's taking it too far as it would increase the risk of accidental exposure. It's still better to have a clear barrier to cheating that can only be bypassed with deliberate intent.
IP Logged
omar
Forum Guru
*****



Arimaa player #2

   


Gender: male
Posts: 1003
Re: 2010 World Championship
« Reply #40 on: Jan 19th, 2010, 3:48pm »
Quote Quote Modify Modify

on Jan 18th, 2010, 7:04pm, Adanac wrote:
Omar:  Can you explain what the Strength of Schedule formula is for this year's tournament?  I want to make sure it's accurate on the Wiki.

 
The formula I used was:
P = wins[this_player]  
foreach op in list_of_opponents[this_player]  
  O = wins[op]  
  T = 1/(1+10^(4*(P-O)/(N+1))  
  TieBreaker += T  
 
I'll try to post the code here so it can be checked. Even if the formula is right, the implementation could still be wrong Smiley
 
Code:

# this creates the following global hashes with the usernames as keys:
#   %score - 2*games won + 1*games drawn
#   %sos - sum of opponents score
#   %played - count of games played between a pair of players;
#   key is both usernames, like: "$first $second"
#   %byes - count of how many byes the player has received; forfiets are considered byes
 
sub calcScore{
  my(@g, $g, $p1, $p2, $won, $why, $k, $v);
  my($p, $o, $t);
 
# go through the games and calculate the score for the players
  @g = $ev->getGamesBeforeRound($round);
  foreach $g (@g){
    ($p1, $p2, $won, $why) = ($g->{1}, $g->{2}, $g->{won}, $g->{why});
 
# count the pairings
    $played{"$p1 $p2"} += 1;
    if ($p1 eq '-BYE-'){ $byes{$p2} += 1; }
    if ($p2 eq '-BYE-'){ $byes{$p1} += 1; }
# win by forfiet also considered a bye
    if ($why eq 'f'){
 if ($won == 1){ $byes{$p2} += 1; }
 if ($won == 2){ $byes{$p1} += 1; }
    }
 
# Use this if the tournament does not allow dropping out and late joins
    if (! $allowDropJoin){
 if ($won == 1){ $score{$p1} += 2; }
 if ($won == 2){ $score{$p2} += 2; }
 if ($won eq 'd'){ $score{$p1} += 1; $score{$p2} += 1; }
    }
 
# Use this if the tournament will allow dropping out and late joins
#   basically it adds 1 point to the score for rounds in which the players
#   did not play; as if they had a draw
    if ($allowDropJoin){
 if ($won == 1){ $score{$p1} += 1; $score{$p2} -= 1; }
 if ($won == 2){ $score{$p2} += 1; $score{$p1} -= 1; }
    }
  }
  if ($allowDropJoin){
    while(($k,$v) = each(%score)){
 $score{$k} = $v + ($round - 1);
    }
  }
 
# set the score of the -BYE- player to zero, so that it does not get added to sos
  $score{'-BYE-'} = 0;
 
# go through each game and calculate sum-of-opponent-score (sos)
#   as proposed by Karl Juhnke; see this thread for details; particularly Nov 13th, 2009 postings
# http://arimaa.com/arimaa/forum/cgi/YaBB.cgi?board=events;action=display;num=1255748924
  foreach $g (@g){
    ($p1, $p2, $won) = ($g->{1}, $g->{2}, $g->{won});
# calc tie breaker for p1
    $p = $score{$p1};
    $o = $score{$p2};
# $round already is one more than number of rounds played, so don't add 1 to it as
#   given by Karl's formula
    $t = 1.0/(1.0+10**(4*($p-$o)/($round)));
    $sos{$p1} += $t;
# calc tie breaker for p2
    $p = $score{$p2};
    $o = $score{$p1};
    $t = 1.0/(1.0+10**(4*($p-$o)/($round)));
    $sos{$p2} += $t;
  }
}
 

 
IP Logged
Fritzlein
Forum Guru
*****



Arimaa player #706

   
Email

Gender: male
Posts: 5928
Re: 2010 World Championship
« Reply #41 on: Jan 19th, 2010, 7:15pm »
Quote Quote Modify Modify

on Jan 19th, 2010, 3:48pm, omar wrote:
The formula I used was:
P = wins[this_player]  
foreach op in list_of_opponents[this_player]  
  O = wins[op]  
  T = 1/(1+10^(4*(P-O)/(N+1))  

Hmmm, I think there is a problem with implementation, hopefully not the missing end parenthesis above Wink.  According to the pairing page, chessandgo has a tiebreaker of 0.002.  Chessandgo has a record of 2-0, while his opponents naveed and PMertens have records of 0-2 and 1-1 respectively.  I calculate chessandgo's tiebreaker according to the above formula to be
 
1/(1+10^(4*(2-0)/(2+1))) + 1/(1+10^(4*(2-1)/(2+1)))
= 1/(1+10^(4*2/3)) + 1/(1+10^(4*1/3))
= 1/(1+10^(2.666)) + 1/(1+10^(1.333))
= 0.002 + 0.044
= 0.046
 
It is suspicious that one term of the equation is 0.002.  If you had an extra factor of two stuck in the exponent somewhere, then the first term would go near zero and the second would drop to 0.002, equaling the listed tiebreaker.
 
The factor of 4 in the formula simulates a rating range of 1600, which was reasonable for past years, but this year the rating range is closer to 1000 points, which would make it better if we used a factor of 2.5 instead of 4.  So there is a parametrization issue that is my fault as well as the implementation issue that isn't my fault.  Tongue
« Last Edit: Jan 19th, 2010, 7:22pm by Fritzlein » IP Logged

Adanac
Forum Guru
*****



Arimaa player #892

   
Email

Gender: male
Posts: 635
Re: 2010 World Championship
« Reply #42 on: Jan 19th, 2010, 7:18pm »
Quote Quote Modify Modify

I think I've got it working properly in the Wiki.  Would anyone mind checking a couple of these rows to make sure the revised SoS is correct?
 
http://arimaa.com/arimaa/mwiki/index.php/2010_Open_Classic_Round_3#Round _3_Standings
 
The SoS is the sum of these 3 values for each player:
 
 Fritzlein     0.0909 0.0909 0.5
 chessandgo    0.0099 0.0909 0.5
 Adanac   0.0099 0.0909 0.5
 99of9    0.5000 0.0909 0.5
 Tuks     0.0909 0.0909 0.5
 ChrisB   0.9091 0.9091 0.5
 omar     0.0909 0.9091 0.5
 PMertens      0.5000 0.9091 0.5
 The_Jeh  0.9091 0.0909 0.5
 naveed   0.9901 0.9091 0.5
 woh      0.9901 0.9091 0.5
 Simon    0.5000 0.9091 0.5
 Nevermind     0.9091 0.0909 0.5
 Nombril  0.0909 0.9091 0.5
 fritzlforpresident 0.9091 0.9091 0.5
 Hippo    0.5000 0.0909 0.5
 
on Jan 19th, 2010, 3:48pm, omar wrote:

 
The formula I used was:
P = wins[this_player]  
foreach op in list_of_opponents[this_player]  
  O = wins[op]  
  T = 1/(1+10^(4*(P-O)/(N+1))  
  TieBreaker += T  
 
I'll try to post the code here so it can be checked. Even if the formula is right, the implementation could still be wrong Smiley
 
Code:

# this creates the following global hashes with the usernames as keys:
#   %score - 2*games won + 1*games drawn
#   %sos - sum of opponents score
#   %played - count of games played between a pair of players;
#             key is both usernames, like: "$first $second"
#   %byes - count of how many byes the player has received; forfiets are considered byes
 
sub calcScore{
  my(@g, $g, $p1, $p2, $won, $why, $k, $v);
  my($p, $o, $t);
 
# go through the games and calculate the score for the players
  @g = $ev->getGamesBeforeRound($round);
  foreach $g (@g){
    ($p1, $p2, $won, $why) = ($g->{1}, $g->{2}, $g->{won}, $g->{why});
 
# count the pairings
    $played{"$p1 $p2"} += 1;
    if ($p1 eq '-BYE-'){ $byes{$p2} += 1; }
    if ($p2 eq '-BYE-'){ $byes{$p1} += 1; }
# win by forfiet also considered a bye
    if ($why eq 'f'){
      if ($won == 1){ $byes{$p2} += 1; }
      if ($won == 2){ $byes{$p1} += 1; }
    }
 
# Use this if the tournament does not allow dropping out and late joins
    if (! $allowDropJoin){
      if ($won == 1){ $score{$p1} += 2; }
      if ($won == 2){ $score{$p2} += 2; }
      if ($won eq 'd'){ $score{$p1} += 1; $score{$p2} += 1; }
    }
 
# Use this if the tournament will allow dropping out and late joins
#   basically it adds 1 point to the score for rounds in which the players
#   did not play; as if they had a draw
    if ($allowDropJoin){
      if ($won == 1){ $score{$p1} += 1; $score{$p2} -= 1; }
      if ($won == 2){ $score{$p2} += 1; $score{$p1} -= 1; }
    }
  }
  if ($allowDropJoin){
    while(($k,$v) = each(%score)){
      $score{$k} = $v + ($round - 1);
    }
  }
 
# set the score of the -BYE- player to zero, so that it does not get added to sos
  $score{'-BYE-'} = 0;
 
# go through each game and calculate sum-of-opponent-score (sos)
#   as proposed by Karl Juhnke; see this thread for details; particularly Nov 13th, 2009 postings
# http://arimaa.com/arimaa/forum/cgi/YaBB.cgi?board=events;action=display;num=1255748924
  foreach $g (@g){
    ($p1, $p2, $won) = ($g->{1}, $g->{2}, $g->{won});
# calc tie breaker for p1
    $p = $score{$p1};
    $o = $score{$p2};
# $round already is one more than number of rounds played, so don't add 1 to it as
#   given by Karl's formula
    $t = 1.0/(1.0+10**(4*($p-$o)/($round)));
    $sos{$p1} += $t;
# calc tie breaker for p2
    $p = $score{$p2};
    $o = $score{$p1};
    $t = 1.0/(1.0+10**(4*($p-$o)/($round)));
    $sos{$p2} += $t;
  }
}
 

 

 
IP Logged


Fritzlein
Forum Guru
*****



Arimaa player #706

   
Email

Gender: male
Posts: 5928
Re: 2010 World Championship
« Reply #43 on: Jan 19th, 2010, 7:34pm »
Quote Quote Modify Modify

on Jan 19th, 2010, 7:18pm, Adanac wrote:
I think I've got it working properly in the Wiki.  Would anyone mind checking a couple of these rows to make sure the revised SoS is correct?

Yes, it looks correct, although it also looks weird to be using 3 for the round number while everyone still has only 0, 1, or 2 wins.
 
And if it isn't too much like changing the rules mid-tournament, I really would advocate changing the 4 in the exponent to a 2.5.
« Last Edit: Jan 19th, 2010, 7:35pm by Fritzlein » IP Logged

Fritzlein
Forum Guru
*****



Arimaa player #706

   
Email

Gender: male
Posts: 5928
Re: 2010 World Championship
« Reply #44 on: Jan 20th, 2010, 7:56am »
Quote Quote Modify Modify

I didn't think carefully enough about the factor of 4 in the exponent of my SoS formula, so let me think about it a little bit more out loud.
 
Last year there were 18 players registered for the World Championship, with game room ratings ranging from 1066 to 2476, and averaging about 1800.  My SoS formula with 4 in the exponent simulates approximately these ratings for given records after five rounds:
 
5-0 = 2467
4-1 = 2200
3-2 = 1933
2-3 = 1667
1-4 = 1400
0-5 = 1133
 
That seems about right for last year's field.  But this year's field was much tougher, with whole history ratings ranging from 1581 to 2568 and averaging about 2000.  Now my formula with the parameter 4 simulates the various records as
 
5-0 = 2667
4-1 = 2400
3-2 = 2133
2-3 = 1867
1-4 = 1600
0-5 = 1333
 
which is too high on the high end and too low on the low end.  The actual field is not that spread out this year.  Changing the parameter to 3 would make the simulation
 
5-0 = 2500
4-1 = 2300
3-2 = 2100
2-3 = 1900
1-4 = 1700
0-5 = 1500
 
which seems about right for this year's field.  I suggested 2.5 in my previous post, but that actually squeezes it a bit too much, so I am (re)changing my recommendation to 3.
 
One way to make the parameter automatic based on the players who actually register rather than eyeballed by me after the fact would be to set it to
 
0.5 + ([highest rating] - [lowest rating])/400
 
a formula which works both for last year and this year.  Last year it would have been 4.025, and this year 2.9675, i.e. basically 4 then and 3 now as I am recommending.
« Last Edit: Jan 20th, 2010, 7:57am by Fritzlein » IP Logged

Pages: 1 2 3 4 5  ...  13 Reply Reply Notify of replies Notify of replies Send Topic Send Topic Print Print

« Previous topic | Next topic »

Arimaa Forum » Powered by YaBB 1 Gold - SP 1.3.1!
YaBB © 2000-2003. All Rights Reserved.