PSet 3 Tournament

From 6.034 Wiki

(Difference between revisions)
Jump to: navigation, search
m (Top bracket: headings for top bracket)
Current revision (23:11, 1 November 2007) (view source)
m (Final standings: brevity)
 
(23 intermediate revisions not shown.)
Line 1: Line 1:
-
There are 51 entries in the tournament. They were given a seed order according to how they performed against rspeer (the TA)'s code in a 0.01-second lightning round. The highest-seeded competitors got byes in the first round.
+
There are 51 entries in the tournament; these consist of everyone who indicated that they would like to compete, and who provided a ps3.scm that can be loaded in a reasonable amount of time. They were given a seed order according to how they performed against rspeer (the TA)'s code in a 0.01-second lightning round. The highest-seeded competitors got byes in the first round.
-
== Top bracket ==
+
Each contest is a series of six games. Each player plays white three times and black there times, on boards of size 5, 6, and 7. If there is a 3-3 tie, the contest is run again at double the time limit to determine a winner.
-
Seed  Round 1...   Round 2...   Round 3 (no results yet)
+
The tournament isn't run in as controlled conditions as the problem set grading, so here's how the rounds were run:
 +
* Round 1: 0.1 seconds per move, on whatever processor time we got on linux.mit.edu
 +
* Round 2: 0.2 seconds per move, on a 4GHz cluster computer
 +
* Round 3: 0.4 seconds per move, on whatever processor time we got on linux.mit.edu
 +
* Round 4: 0.4 seconds per move, on a rather fast multicore machine
 +
* Round 5: 0.8 seconds per move, same multicore machine
 +
* Rounds 6 and 7: 1.6 seconds per move, same multicore machine
 +
 
 +
== Final standings ==
 +
Here, we present the winners and the techniques they used.
 +
 
 +
All three finalists' solutions have something in common: they all assigned pieces a value based on the number of ranks they have moved forward. Simply adding up their ranks would not value one move over another, because every move increases the rank of some pawn, but (for example) squaring the rank makes the player favor moving pieces that are already far down the board (or, conversely, prevent their opponent from moving pieces far down the board).
 +
 
 +
By adding up the squared values for your own pieces, and subtracting the squared values for your opponent pieces, you get a surprisingly powerful "sum-of-squares heuristic". Using 2<sup>n</sup> instead of n<sup>2</sup> gives a "sum-of-exponentials" heuristic that places even more weight on pieces that are far down the board.
 +
 
 +
;First place<nowiki>:</nowiki> Maciej Pacula (mpacula)
 +
:Maciej's evaluation function started with the simple heuristic of the number of possible moves, but made possible ''capturing'' moves worth 10 times more. He added this value to .85 of the sum-of-squares heuristic. With the evaluation function's focus on capturing, the result was an aggressive player that clawed its way to the top for an undefeated victory.
 +
;Second place<nowiki>:</nowiki> Yuran Lu (yuranlu)
 +
:Illustrating the fact that an evaluation function can do well by being dead simple, Yuran's evaluation function used the sum-of-exponentials heuristic and nothing more. Yuran's player lost only to Maciej's (twice).
 +
;Third place<nowiki>:</nowiki> Andreas Weibel (anweibel)
 +
:Andreas' evaluation function was also simple, using just the sum-of-squares heuristic. It performed nearly the same as Yuran's sum-of-exponentials. It was a close match when they competed head-to-head: they tied on the size-5 and size-6 boards, but Yuran's sum-of-exponentials saw the winning move one step ahead in both size-7 games.
 +
 
 +
(This writeup previously said that Yuran used sum-of-squares as well. Sorry about the error.)
 +
 
 +
== Rounds 5-7 ==
 +
 
 +
Round 5...                Round 6...    Round 7
 +
            TOP BRACKET
   
   
-
  [1] ccpost  ]
+
anweibel  ]
-
  [64] BYE      ]--- ccpost   ]
+
mattlong  ]--------------- anweibel ]
-
                            ]--- agorlin
+
                                    ]--- mpacula ]
-
  [32] byoshimo ]--- agorlin ]
+
yuranlu  ]--------------- mpacula  ]            ]
-
  [33] agorlin  ]
+
mpacula   ]                                      ]
 +
                                                  ]
 +
                                                  ]--- mpacula
 +
  martynaj  ]                                       ]
 +
yuranlu  ]-- yuranlu  ]                          ]
 +
                        ]-- yuranlu ]            ]
 +
  agorlin  ]-- agorlin  ]            ]--- yuranlu  ]
 +
mattlong  ]                anweibel ]
   
   
-
[16] ng1213  ]
+
            BOTTOM BRACKET
-
[49] espeed  ]--- ng1213  ]
+
 
-
                            ]--- martynaj
+
== Top bracket (rounds 1-4) ==
-
[17] martynaj ]--- martynaj ]
+
 
-
  [48] jslocum ]
+
  Seed Round 1...   Round 2...    Round 3...    Round 4...
-
+
-
   [8] anweibel ]
+
-
[57] BYE      ]--- anweibel ]
+
-
                            ]--- anweibel
+
-
[25] alerer  ]--- alerer  ]
+
-
[40] rothberg ]
+
   
   
-
   [9] peairs  ]
+
  [1] ccpost  ]
-
  [56] BYE      ]--- peairs  ]
+
[64] BYE      ]--- ccpost  ]
-
                             ]--- nbieber
+
                            ]--- agorlin  ]
 +
[32] byoshimo ]--- agorlin  ]            ]
 +
[33] agorlin  ]                          ]
 +
                                          ]--- martynaj ]
 +
[16] ng1213  ]                          ]            ]
 +
[49] espeed  ]--- ng1213  ]            ]            ]
 +
                            ]--- martynaj ]            ]
 +
[17] martynaj ]--- martynaj ]                          ]
 +
[48] jslocum  ]                                        ]
 +
                                                        ]--- anweibel
 +
  [8] anweibel ]                                        ]
 +
[57] BYE      ]--- anweibel ]                          ]
 +
                            ]--- anweibel ]            ]
 +
[25] alerer  ]--- alerer  ]            ]            ]
 +
[40] rothberg ]                          ]            ]
 +
                                          ]--- anweibel ]
 +
   [9] peairs  ]                          ]
 +
  [56] BYE      ]--- peairs  ]            ]
 +
                             ]--- nbieber ]
  [24] cnorahs  ]--- nbieber  ]
  [24] cnorahs  ]--- nbieber  ]
  [41] nbieber  ]
  [41] nbieber  ]
Line 31: Line 77:
   [4] alexch  ]
   [4] alexch  ]
  [61] BYE      ]--- alexch  ]
  [61] BYE      ]--- alexch  ]
-
                             ]--- igork
+
                             ]--- igork   ]
-
  [29] igork    ]--- igork    ]
+
  [29] igork    ]--- igork    ]            ]
-
  [36] abrahamr ]
+
  [36] abrahamr ]                          ]
-
+
                                          ]--- r_chiang ]
-
  [13] r_chiang ]
+
  [13] r_chiang ]                          ]            ]
-
  [52] BYE      ]--- r_chiang ]
+
  [52] BYE      ]--- r_chiang ]            ]            ]
-
                             ]--- r_chiang
+
                             ]--- r_chiang ]            ]
-
  [20] asilata  ]--- k_rowe  ]
+
  [20] asilata  ]--- k_rowe  ]                          ]
-
  [45] k_rowe  ]
+
  [45] k_rowe  ]                                        ]
-
+
                                                        ]--- mattlong
-
   [5] tkang    ]
+
   [5] tkang    ]                                        ]
-
  [60] BYE      ]--- tkang    ]
+
  [60] BYE      ]--- tkang    ]                          ]
-
                             ]--- ithink
+
                             ]--- ithink   ]            ]
-
  [28] ithink  ]--- ithink  ]
+
  [28] ithink  ]--- ithink  ]            ]            ]
-
  [37] cpercib  ]
+
  [37] cpercib  ]                          ]            ]
-
+
                                          ]--- mattlong ]
-
  [12] cmcheng  ]
+
  [12] cmcheng  ]                          ]
-
  [53] BYE      ]--- cmcheng  ]
+
  [53] BYE      ]--- cmcheng  ]            ]
-
                             ]--- mattlong
+
                             ]--- mattlong ]
  [21] mattlong ]--- mattlong ]
  [21] mattlong ]--- mattlong ]
  [44] dwhitlow ]
  [44] dwhitlow ]
Line 55: Line 101:
   [2] yuranlu  ]
   [2] yuranlu  ]
  [63] BYE      ]--- yuranlu  ]
  [63] BYE      ]--- yuranlu  ]
-
                             ]--- yuranlu
+
                             ]--- yuranlu ]
-
  [31] hsk      ]--- hsk      ]
+
  [31] hsk      ]--- hsk      ]            ]
-
  [34] munir    ]
+
  [34] munir    ]                          ]
-
   
+
                                          ]--- yuranlu ]
-
  [15] owenlin  ]
+
  [15] owenlin  ]                          ]            ]
-
  [50] austein  ]--- owenlin  ]
+
  [50] austein  ]--- owenlin  ]            ]            ]
-
                             ]--- owenlin
+
                             ]--- owenlin ]            ]
-
  [18] markstev ]--- markstev ]
+
  [18] markstev ]--- markstev ]                          ]
-
  [47] lilywang ]
+
  [47] lilywang ]                                        ]
-
+
                                                        ]--- yuranlu
-
   [7] ede      ]
+
   [7] ede      ]                                        ]
-
  [58] BYE      ]--- ede      ]
+
  [58] BYE      ]--- ede      ]                          ]
-
                             ]--- thananat
+
                             ]--- thananat ]            ]
-
  [26] whoburg  ]--- thananat ]
+
  [26] whoburg  ]--- thananat ]            ]            ]
-
  [39] thananat ]
+
  [39] thananat ]                          ]            ]
-
+
                                          ]--- thananat ]
-
  [10] jeremyis ]
+
  [10] jeremyis ]                          ]
-
  [55] BYE      ]--- jeremyis ]
+
  [55] BYE      ]--- jeremyis ]            ]
-
                             ]--- jmstein
+
                             ]--- jmstein ]
  [23] jmtstein ]--- jmstein  ]
  [23] jmtstein ]--- jmstein  ]
  [42] jtchang  ]
  [42] jtchang  ]
Line 79: Line 125:
   [3] jtrigg  ]
   [3] jtrigg  ]
  [62] BYE      ]--- jtrigg  ]
  [62] BYE      ]--- jtrigg  ]
-
                             ]--- jtrigg
+
                             ]--- jtrigg   ]
-
  [30] huynht  ]--- huynht  ]
+
  [30] huynht  ]--- huynht  ]            ]
-
  [35] grk      ]
+
  [35] grk      ]                          ]
-
+
                                          ]--- jtrigg  ]
-
  [14] raza    ]
+
  [14] raza    ]                          ]            ]
-
  [51] amrik    ]--- amrik    ]
+
  [51] amrik    ]--- amrik    ]            ]            ]
-
                             ]--- aspicer
+
                             ]--- aspicer ]            ]
-
  [19] aspicer  ]--- aspicer  ]
+
  [19] aspicer  ]--- aspicer  ]                          ]
-
  [46] jambo    ]
+
  [46] jambo    ]                                        ]
-
+
                                                        ]--- mpacula
-
   [6] mpacula  ]
+
   [6] mpacula  ]                                        ]
-
  [59] BYE      ]--- mpacula  ]
+
  [59] BYE      ]--- mpacula  ]                          ]
-
                             ]--- mpacula
+
                             ]--- mpacula ]            ]
-
  [27] rnk      ]--- rnk      ]
+
  [27] rnk      ]--- rnk      ]            ]            ]
-
  [38] zero    ]
+
  [38] zero    ]                          ]            ]
-
   
+
                                          ]--- mpacula ]
-
  [11] gdurrett ]
+
  [11] gdurrett ]                          ]
-
  [54] BYE      ]--- gdurrett ]
+
  [54] BYE      ]--- gdurrett ]            ]
-
                             ]--- gdurrett
+
                             ]--- gdurrett ]
  [22] luuk    ]--- luuk    ]
  [22] luuk    ]--- luuk    ]
  [43] geofft  ]
  [43] geofft  ]
-
== Bottom bracket ==
+
== Bottom bracket (rounds 1-4) ==
Since this is a double-elimination tournament, you end up in this bracket whenever you lose a round. The bottom bracket plays two games for every one that the top bracket plays.
Since this is a double-elimination tournament, you end up in this bracket whenever you lose a round. The bottom bracket plays two games for every one that the top bracket plays.
-
  Round 1...  Round 2...                Round 3 (no results yet)
+
  Round 1...  Round 2...                Round 3...                Round 4...
   
   
  BYE      ]-- byoshimo ]
  BYE      ]-- byoshimo ]
  byoshimo ]  ccpost  ]-- ccpost  ]
  byoshimo ]  ccpost  ]-- ccpost  ]
-
                                     ]-- ng1213
+
                                     ]-- ng1213   ]
-
  espeed  ]-- jslocum  ]-- ng1213  ]
+
  espeed  ]-- jslocum  ]-- ng1213  ]            ]-- gdurrett ]
-
  jslocum  ]  ng1213  ]
+
  jslocum  ]  ng1213  ]                gdurrett ]            ]
-
+
                                                              ]
-
  BYE      ]-- rothberg ]
+
  BYE      ]-- rothberg ]                                      ]-- gdurrett ]
-
  rothberg ]  alerer  ]-- alerer  ]
+
  rothberg ]  alerer  ]-- alerer  ]                        ]            ]-- martynaj ]
-
                                     ]-- alerer
+
                                     ]-- alerer   ]            ]  martynaj ]            ]
-
  BYE      ]-- cnorahs  ]-- cnorahs  ]
+
  BYE      ]-- cnorahs  ]-- cnorahs  ]            ]-- aspicer  ]                        ]
-
  cnorahs  ]  peairs  ]
+
  cnorahs  ]  peairs  ]               aspicer ]                                      ]
-
   
+
                                                                                        ]
-
  BYE      ]-- abrahamr ]
+
  BYE      ]-- abrahamr ]                                                                ]
-
  abrahamr ]  alexch  ]-- alexch  ]
+
  abrahamr ]  alexch  ]-- alexch  ]                                                   ]-- martynaj
-
                                     ]-- alexch
+
                                     ]-- alexch   ]                                      ]
-
  BYE      ]-- asilata  ]-- asilata  ]
+
  BYE      ]-- asilata  ]-- asilata  ]            ]-- jmstein  ]                        ]
-
  asilata  ]  k_rowe  ]
+
  asilata  ]  k_rowe  ]               jmstein ]            ]                        ]
-
   
+
                                                              ]                        ]
-
  BYE      ]-- cpercib  ]
+
  BYE      ]-- cpercib  ]                                      ]-- owenlin  ]            ]
-
  cpercib  ]  tkang    ]-- cpercib  ]
+
  cpercib  ]  tkang    ]-- cpercib ]                        ]            ]-- owenlin ]
-
                                     ]-- cpercib
+
                                     ]-- cpercib ]            ]  r_chiang ]
-
  BYE      ]-- dwhitlow ]-- cmcheng  ]
+
  BYE      ]-- dwhitlow ]-- cmcheng ]            ]-- owenlin ]
-
  dwhitlow ]  cmcheng  ]
+
  dwhitlow ]  cmcheng ]                owenlin ]
   
   
  BYE      ]-- munir    ]
  BYE      ]-- munir    ]
  munir    ]  hsk      ]-- hsk      ]
  munir    ]  hsk      ]-- hsk      ]
-
                                     ]-- markstev
+
                                     ]-- markstev ]
-
  austein  ]-- lilywang ]-- markstev ]
+
  austein  ]-- lilywang ]-- markstev ]            ]-- ithink  ]
-
  lilywang ]  markstev ]
+
  lilywang ]  markstev ]                ithink  ]            ]
-
+
                                                              ]
-
  BYE      ]-- whoburg  ]
+
  BYE      ]-- whoburg  ]                                      ]-- ithink  ]
-
  whoburg  ]  ede      ]-- whoburg  ]
+
  whoburg  ]  ede      ]-- whoburg  ]                        ]            ]-- ithink  ]
-
                                     ]-- jtchang
+
                                     ]-- jtchang ]            ]  thananat ]            ]
-
  BYE      ]-- jtchang  ]-- jtchang  ]
+
  BYE      ]-- jtchang  ]-- jtchang  ]            ]-- igork    ]                        ]
-
  jtchang  ]  jeremyis ]
+
  jtchang  ]  jeremyis ]                igork    ]                                      ]
-
+
                                                                                        ]
-
  BYE      ]-- grk      ]
+
  BYE      ]-- grk      ]                                                                ]
-
  grk      ]  huynht  ]-- grk      ]
+
  grk      ]  huynht  ]-- grk      ]                                                   ]-- agorlin
-
                                     ]-- grk
+
                                     ]-- grk     ]                                      ]
-
  raza    ]-- raza    ]-- raza    ]
+
  raza    ]-- raza    ]-- raza    ]            ]-- grk      ]                        ]
-
  jambo    ]  amrik    ]
+
  jambo    ]  amrik    ]               nbieber ]            ]                        ]
-
   
+
                                                              ]                        ]
-
  BYE      ]-- zero    ]
+
  BYE      ]-- zero    ]                                      ]-- agorlin  ]            ]
-
  zero    ]  rnk      ]-- rnk      ]
+
  zero    ]  rnk      ]-- rnk      ]                        ]            ]-- agorlin  ]
-
                                     ]-- geofft
+
                                     ]-- rnk      ]            ]  jtrigg  ] 
-
  BYE      ]-- geofft  ]-- geofft  ]
+
  BYE      ]-- geofft  ]-- geofft  ]            ]-- agorlin  ]
-
  geofft  ]  luuk    ]
+
  geofft  ]  luuk    ]               agorlin  ]
 +
 
 +
 
 +
== Detailed results ==
 +
Click on the name of any match to see the output of the match. The last line of the file indicates the overall winner.
 +
 
 +
=== Top bracket, round 1 ===
 +
*[http://web.mit.edu/6.034/grader/tournament/result-ccpost-BYE.txt ccpost vs. BYE]: ccpost
 +
*[http://web.mit.edu/6.034/grader/tournament/result-byoshimo-agorlin.txt byoshimo vs. agorlin]: agorlin
 +
*[http://web.mit.edu/6.034/grader/tournament/result-ng1213-espeed.txt ng1213 vs. espeed]: ng1213
 +
*[http://web.mit.edu/6.034/grader/tournament/result-martynaj-jslocum.txt martynaj vs. jslocum]: martynaj
 +
*[http://web.mit.edu/6.034/grader/tournament/result-anweibel-BYE.txt anweibel vs. BYE]: anweibel
 +
*[http://web.mit.edu/6.034/grader/tournament/result-alerer-rothberg.txt alerer vs. rothberg]: alerer
 +
*[http://web.mit.edu/6.034/grader/tournament/result-peairs-BYE.txt peairs vs. BYE]: peairs
 +
*[http://web.mit.edu/6.034/grader/tournament/result-cnorahs-nbieber.txt cnorahs vs. nbieber]: nbieber
 +
*[http://web.mit.edu/6.034/grader/tournament/result-alexch-BYE.txt alexch vs. BYE]: alexch
 +
*[http://web.mit.edu/6.034/grader/tournament/result-igork-abrahamr.txt igork vs. abrahamr]: igork
 +
*[http://web.mit.edu/6.034/grader/tournament/result-r_chiang-BYE.txt r_chiang vs. BYE]: r_chiang
 +
*[http://web.mit.edu/6.034/grader/tournament/result-asilata-k_rowe.txt asilata vs. k_rowe]: k_rowe
 +
*[http://web.mit.edu/6.034/grader/tournament/result-tkang-BYE.txt tkang vs. BYE]: tkang
 +
*[http://web.mit.edu/6.034/grader/tournament/result-ithink-cpercib.txt ithink vs. cpercib]: ithink
 +
*[http://web.mit.edu/6.034/grader/tournament/result-cmcheng-BYE.txt cmcheng vs. BYE]: cmcheng
 +
*[http://web.mit.edu/6.034/grader/tournament/result-mattlong-dwhitlow.txt mattlong vs. dwhitlow]: mattlong
 +
*[http://web.mit.edu/6.034/grader/tournament/result-yuranlu-BYE.txt yuranlu vs. BYE]: yuranlu
 +
*[http://web.mit.edu/6.034/grader/tournament/result-hsk-munir.txt hsk vs. munir]: hsk
 +
*[http://web.mit.edu/6.034/grader/tournament/result-owenlin-austein.txt owenlin vs. austein]: owenlin
 +
*[http://web.mit.edu/6.034/grader/tournament/result-markstev-lilywang.txt markstev vs. lilywang]: markstev
 +
*[http://web.mit.edu/6.034/grader/tournament/result-ede-BYE.txt ede vs. BYE]: ede
 +
*[http://web.mit.edu/6.034/grader/tournament/result-whoburg-thananat.txt whoburg vs. thananat]: thananat
 +
*[http://web.mit.edu/6.034/grader/tournament/result-jeremyis-BYE.txt jeremyis vs. BYE]: jeremyis
 +
*[http://web.mit.edu/6.034/grader/tournament/result-jmstein-jtchang.txt jmstein vs. jtchang]: jmstein
 +
*[http://web.mit.edu/6.034/grader/tournament/result-jtrigg-BYE.txt jtrigg vs. BYE]: jtrigg
 +
*[http://web.mit.edu/6.034/grader/tournament/result-huynht-grk.txt huynht vs. grk]: huynht
 +
*[http://web.mit.edu/6.034/grader/tournament/result-raza-amrik.txt raza vs. amrik]: amrik
 +
*[http://web.mit.edu/6.034/grader/tournament/result-aspicer-jambo.txt aspicer vs. jambo]: aspicer
 +
*[http://web.mit.edu/6.034/grader/tournament/result-mpacula-BYE.txt mpacula vs. BYE]: mpacula
 +
*[http://web.mit.edu/6.034/grader/tournament/result-rnk-zero.txt rnk vs. zero]: rnk
 +
*[http://web.mit.edu/6.034/grader/tournament/result-gdurrett-BYE.txt gdurrett vs. BYE]: gdurrett
 +
*[http://web.mit.edu/6.034/grader/tournament/result-luuk-geofft.txt luuk vs. geofft]: luuk
 +
 
 +
=== Bottom bracket, round 1 ===
 +
*[http://web.mit.edu/6.034/grader/tournament/result-BYE-byoshimo.txt BYE vs. byoshimo]: byoshimo
 +
*[http://web.mit.edu/6.034/grader/tournament/result-espeed-jslocum.txt espeed vs. jslocum]: jslocum
 +
*[http://web.mit.edu/6.034/grader/tournament/result-BYE-rothberg.txt BYE vs. rothberg]: rothberg
 +
*[http://web.mit.edu/6.034/grader/tournament/result-BYE-cnorahs.txt BYE vs. cnorahs]: cnorahs
 +
*[http://web.mit.edu/6.034/grader/tournament/result-BYE-abrahamr.txt BYE vs. abrahamr]: abrahamr
 +
*[http://web.mit.edu/6.034/grader/tournament/result-BYE-asilata.txt BYE vs. asilata]: asilata
 +
*[http://web.mit.edu/6.034/grader/tournament/result-BYE-cpercib.txt BYE vs. cpercib]: cpercib
 +
*[http://web.mit.edu/6.034/grader/tournament/result-BYE-dwhitlow.txt BYE vs. dwhitlow]: dwhitlow
 +
*[http://web.mit.edu/6.034/grader/tournament/result-BYE-munir.txt BYE vs. munir]: munir
 +
*[http://web.mit.edu/6.034/grader/tournament/result-austein-lilywang.txt austein vs. lilywang]: lilywang
 +
*[http://web.mit.edu/6.034/grader/tournament/result-BYE-whoburg.txt BYE vs. whoburg]: whoburg
 +
*[http://web.mit.edu/6.034/grader/tournament/result-BYE-jtchang.txt BYE vs. jtchang]: jtchang
 +
*[http://web.mit.edu/6.034/grader/tournament/result-BYE-grk.txt BYE vs. grk]: grk
 +
*[http://web.mit.edu/6.034/grader/tournament/result-raza-jambo.txt raza vs. jambo]: raza
 +
*[http://web.mit.edu/6.034/grader/tournament/result-BYE-zero.txt BYE vs. zero]: zero
 +
*[http://web.mit.edu/6.034/grader/tournament/result-BYE-geofft.txt BYE vs. geofft]: geofft
 +
 
 +
=== Top bracket, round 2 ===
 +
*[http://web.mit.edu/6.034/grader/tournament/result-ccpost-agorlin.txt ccpost vs. agorlin]: agorlin
 +
*[http://web.mit.edu/6.034/grader/tournament/result-ng1213-martynaj.txt ng1213 vs. martynaj]: martynaj
 +
*[http://web.mit.edu/6.034/grader/tournament/result-anweibel-alerer.txt anweibel vs. alerer]: anweibel
 +
*[http://web.mit.edu/6.034/grader/tournament/result-peairs-nbieber.txt peairs vs. nbieber]: nbieber
 +
*[http://web.mit.edu/6.034/grader/tournament/result-alexch-igork.txt alexch vs. igork]: igork
 +
*[http://web.mit.edu/6.034/grader/tournament/result-r_chiang-k_rowe.txt r_chiang vs. k_rowe]: r_chiang
 +
*[http://web.mit.edu/6.034/grader/tournament/result-tkang-ithink.txt tkang vs. ithink]: ithink
 +
*[http://web.mit.edu/6.034/grader/tournament/result-cmcheng-mattlong.txt cmcheng vs. mattlong]: mattlong
 +
*[http://web.mit.edu/6.034/grader/tournament/result-yuranlu-hsk.txt yuranlu vs. hsk]: yuranlu
 +
*[http://web.mit.edu/6.034/grader/tournament/result-owenlin-markstev.txt owenlin vs. markstev]: owenlin
 +
*[http://web.mit.edu/6.034/grader/tournament/result-ede-thananat.txt ede vs. thananat]: thananat
 +
*[http://web.mit.edu/6.034/grader/tournament/result-jeremyis-jmstein.txt jeremyis vs. jmstein]: jmstein
 +
*[http://web.mit.edu/6.034/grader/tournament/result-jtrigg-huynht.txt jtrigg vs. huynht]: jtrigg
 +
*[http://web.mit.edu/6.034/grader/tournament/result-amrik-aspicer.txt amrik vs. aspicer]: aspicer
 +
*[http://web.mit.edu/6.034/grader/tournament/result-mpacula-rnk.txt mpacula vs. rnk]: mpacula
 +
*[http://web.mit.edu/6.034/grader/tournament/result-gdurrett-luuk.txt gdurrett vs. luuk]: gdurrett
 +
 
 +
=== Bottom bracket, round 2a ===
 +
*[http://web.mit.edu/6.034/grader/tournament/result-byoshimo-ccpost.txt byoshimo vs. ccpost]: ccpost
 +
*[http://web.mit.edu/6.034/grader/tournament/result-jslocum-ng1213.txt jslocum vs. ng1213]: ng1213
 +
*[http://web.mit.edu/6.034/grader/tournament/result-rothberg-alerer.txt rothberg vs. alerer]: alerer
 +
*[http://web.mit.edu/6.034/grader/tournament/result-cnorahs-peairs.txt cnorahs vs. peairs]: cnorahs
 +
*[http://web.mit.edu/6.034/grader/tournament/result-abrahamr-alexch.txt abrahamr vs. alexch]: alexch
 +
*[http://web.mit.edu/6.034/grader/tournament/result-asilata-k_rowe.txt asilata vs. k_rowe]: asilata
 +
*[http://web.mit.edu/6.034/grader/tournament/result-cpercib-tkang.txt cpercib vs. tkang]: cpercib
 +
*[http://web.mit.edu/6.034/grader/tournament/result-dwhitlow-cmcheng.txt dwhitlow vs. cmcheng]: cmcheng
 +
*[http://web.mit.edu/6.034/grader/tournament/result-munir-hsk.txt munir vs. hsk]: hsk
 +
*[http://web.mit.edu/6.034/grader/tournament/result-lilywang-markstev.txt lilywang vs. markstev]: markstev
 +
*[http://web.mit.edu/6.034/grader/tournament/result-whoburg-ede.txt whoburg vs. ede]: whoburg
 +
*[http://web.mit.edu/6.034/grader/tournament/result-jtchang-jeremyis.txt jtchang vs. jeremyis]: jtchang
 +
*[http://web.mit.edu/6.034/grader/tournament/result-grk-huynht.txt grk vs. huynht]: grk
 +
*[http://web.mit.edu/6.034/grader/tournament/result-raza-amrik.txt raza vs. amrik]: raza
 +
*[http://web.mit.edu/6.034/grader/tournament/result-zero-rnk.txt zero vs. rnk]: rnk
 +
*[http://web.mit.edu/6.034/grader/tournament/result-geofft-luuk.txt geofft vs. luuk]: geofft
 +
 
 +
=== Bottom bracket, round 2b ===
 +
*[http://web.mit.edu/6.034/grader/tournament/result-ccpost-ng1213.txt ccpost vs. ng1213]: ng1213
 +
*[http://web.mit.edu/6.034/grader/tournament/result-alerer-cnorahs.txt alerer vs. cnorahs]: alerer
 +
*[http://web.mit.edu/6.034/grader/tournament/result-alexch-asilata.txt alexch vs. asilata]: alexch
 +
*[http://web.mit.edu/6.034/grader/tournament/result-cpercib-cmcheng.txt cpercib vs. cmcheng]: cpercib
 +
*[http://web.mit.edu/6.034/grader/tournament/result-hsk-markstev.txt hsk vs. markstev]: markstev
 +
*[http://web.mit.edu/6.034/grader/tournament/result-whoburg-jtchang.txt whoburg vs. jtchang]: jtchang
 +
*[http://web.mit.edu/6.034/grader/tournament/result-grk-raza.txt grk vs. raza]: grk
 +
*[http://web.mit.edu/6.034/grader/tournament/result-rnk-geofft.txt rnk vs. geofft]: rnk
 +
 
 +
=== Top bracket, round 3 ===
 +
*[http://web.mit.edu/6.034/grader/tournament/result-agorlin-martynaj.txt agorlin vs. martynaj]: martynaj
 +
*[http://web.mit.edu/6.034/grader/tournament/result-anweibel-nbieber.txt anweibel vs. nbieber]: anweibel
 +
*[http://web.mit.edu/6.034/grader/tournament/result-igork-r_chiang.txt igork vs. r_chiang]: r_chiang
 +
*[http://web.mit.edu/6.034/grader/tournament/result-ithink-mattlong.txt ithink vs. mattlong]: mattlong
 +
*[http://web.mit.edu/6.034/grader/tournament/result-yuranlu-owenlin.txt yuranlu vs. owenlin]: yuranlu
 +
*[http://web.mit.edu/6.034/grader/tournament/result-thananat-jmstein.txt thananat vs. jmstein]: thananat
 +
*[http://web.mit.edu/6.034/grader/tournament/result-jtrigg-aspicer.txt jtrigg vs. aspicer]: jtrigg
 +
*[http://web.mit.edu/6.034/grader/tournament/result-mpacula-gdurrett.txt mpacula vs. gdurrett]: mpacula
 +
 
 +
=== Bottom bracket, round 3a ===
 +
*[http://web.mit.edu/6.034/grader/tournament/result-ng1213-gdurrett.txt ng1213 vs. gdurrett]: gdurrett
 +
*[http://web.mit.edu/6.034/grader/tournament/result-alerer-aspicer.txt alerer vs. aspicer]: aspicer
 +
*[http://web.mit.edu/6.034/grader/tournament/result-alexch-jmstein.txt alexch vs. jmstein]: jmstein
 +
*[http://web.mit.edu/6.034/grader/tournament/result-cpercib-owenlin.txt cpercib vs. owenlin]: owenlin
 +
*[http://web.mit.edu/6.034/grader/tournament/result-markstev-ithink.txt markstev vs. ithink]: ithink
 +
*[http://web.mit.edu/6.034/grader/tournament/result-jtchang-igork.txt jtchang vs. igork]: igork
 +
*[http://web.mit.edu/6.034/grader/tournament/result-grk-nbieber.txt grk vs. nbieber]: grk
 +
*[http://web.mit.edu/6.034/grader/tournament/result-rnk-agorlin.txt rnk vs. agorlin]: agorlin
 +
 
 +
=== Bottom bracket, round 3b ===
 +
*[http://web.mit.edu/6.034/grader/tournament/result-gdurrett-aspicer.txt gdurrett vs. aspicer]: gdurrett
 +
*[http://web.mit.edu/6.034/grader/tournament/result-jmstein-owenlin.txt jmstein vs. owenlin]: owenlin
 +
*[http://web.mit.edu/6.034/grader/tournament/result-ithink-igork.txt ithink vs. igork]: ithink
 +
*[http://web.mit.edu/6.034/grader/tournament/result-grk-agorlin.txt grk vs. agorlin]: agorlin
 +
 
 +
=== Top bracket, round 4 ===
 +
*[http://web.mit.edu/6.034/grader/tournament/result-martynaj-anweibel.txt martynaj vs. anweibel]: anweibel
 +
*[http://web.mit.edu/6.034/grader/tournament/result-r_chiang-mattlong.txt r_chiang vs. mattlong]: mattlong
 +
*[http://web.mit.edu/6.034/grader/tournament/result-yuranlu-thananat.txt yuranlu vs. thananat]: yuranlu
 +
*[http://web.mit.edu/6.034/grader/tournament/result-jtrigg-mpacula.txt jtrigg vs. mpacula]: mpacula
 +
 
 +
=== Bottom bracket, round 4a ===
 +
*[http://web.mit.edu/6.034/grader/tournament/result-gdurrett-martynaj.txt gdurrett vs. martynaj]: martynaj
 +
*[http://web.mit.edu/6.034/grader/tournament/result-owenlin-r_chiang.txt owenlin vs. r_chiang]: owenlin
 +
*[http://web.mit.edu/6.034/grader/tournament/result-ithink-thananat.txt ithink vs. thananat]: ithink
 +
*[http://web.mit.edu/6.034/grader/tournament/result-agorlin-jtrigg.txt agorlin vs. jtrigg]: agorlin
 +
 
 +
=== Bottom bracket, round 4b ===
 +
*[http://web.mit.edu/6.034/grader/tournament/result-martynaj-owenlin.txt martynaj vs. owenlin]: martynaj
 +
*[http://web.mit.edu/6.034/grader/tournament/result-ithink-agorlin.txt ithink vs. agorlin]: agorlin
 +
 
 +
=== Top bracket, round 5 ===
 +
*[http://web.mit.edu/6.034/grader/tournament/result-anweibel-mattlong.txt anweibel vs. mattlong]: anweibel
 +
*[http://web.mit.edu/6.034/grader/tournament/result-yuranlu-mpacula.txt yuranlu vs. mpacula]: mpacula
 +
 
 +
=== Bottom bracket, round 5a ===
 +
*[http://web.mit.edu/6.034/grader/tournament/result-martynaj-yuranlu.txt martynaj vs. yuranlu]: yuranlu
 +
*[http://web.mit.edu/6.034/grader/tournament/result-agorlin-mattlong.txt agorlin vs. mattlong]: agorlin
 +
 
 +
=== Bottom bracket, round 5b ===
 +
*[http://web.mit.edu/6.034/grader/tournament/result-yuranlu-agorlin.txt yuranlu vs. agorlin]: yuranlu
 +
 
 +
=== Round 6 ===
 +
*[http://web.mit.edu/6.034/grader/tournament/result-anweibel-mpacula.txt anweibel vs. mpacula]: mpacula
 +
*[http://web.mit.edu/6.034/grader/tournament/result-yuranlu-anweibel.txt yuranlu vs. anweibel]: yuranlu
 +
 
 +
=== Final ===
 +
*[http://web.mit.edu/6.034/grader/tournament/results-mpacula-yuranlu.txt mpacula vs. yuranlu]: mpacula

Current revision

There are 51 entries in the tournament; these consist of everyone who indicated that they would like to compete, and who provided a ps3.scm that can be loaded in a reasonable amount of time. They were given a seed order according to how they performed against rspeer (the TA)'s code in a 0.01-second lightning round. The highest-seeded competitors got byes in the first round.

Each contest is a series of six games. Each player plays white three times and black there times, on boards of size 5, 6, and 7. If there is a 3-3 tie, the contest is run again at double the time limit to determine a winner.

The tournament isn't run in as controlled conditions as the problem set grading, so here's how the rounds were run:

  • Round 1: 0.1 seconds per move, on whatever processor time we got on linux.mit.edu
  • Round 2: 0.2 seconds per move, on a 4GHz cluster computer
  • Round 3: 0.4 seconds per move, on whatever processor time we got on linux.mit.edu
  • Round 4: 0.4 seconds per move, on a rather fast multicore machine
  • Round 5: 0.8 seconds per move, same multicore machine
  • Rounds 6 and 7: 1.6 seconds per move, same multicore machine

Contents

Final standings

Here, we present the winners and the techniques they used.

All three finalists' solutions have something in common: they all assigned pieces a value based on the number of ranks they have moved forward. Simply adding up their ranks would not value one move over another, because every move increases the rank of some pawn, but (for example) squaring the rank makes the player favor moving pieces that are already far down the board (or, conversely, prevent their opponent from moving pieces far down the board).

By adding up the squared values for your own pieces, and subtracting the squared values for your opponent pieces, you get a surprisingly powerful "sum-of-squares heuristic". Using 2n instead of n2 gives a "sum-of-exponentials" heuristic that places even more weight on pieces that are far down the board.

First place: Maciej Pacula (mpacula)
Maciej's evaluation function started with the simple heuristic of the number of possible moves, but made possible capturing moves worth 10 times more. He added this value to .85 of the sum-of-squares heuristic. With the evaluation function's focus on capturing, the result was an aggressive player that clawed its way to the top for an undefeated victory.
Second place: Yuran Lu (yuranlu)
Illustrating the fact that an evaluation function can do well by being dead simple, Yuran's evaluation function used the sum-of-exponentials heuristic and nothing more. Yuran's player lost only to Maciej's (twice).
Third place: Andreas Weibel (anweibel)
Andreas' evaluation function was also simple, using just the sum-of-squares heuristic. It performed nearly the same as Yuran's sum-of-exponentials. It was a close match when they competed head-to-head: they tied on the size-5 and size-6 boards, but Yuran's sum-of-exponentials saw the winning move one step ahead in both size-7 games.

(This writeup previously said that Yuran used sum-of-squares as well. Sorry about the error.)

Rounds 5-7

Round 5...                 Round 6...    Round 7
            TOP BRACKET

anweibel  ]
mattlong  ]--------------- anweibel ]
                                    ]--- mpacula  ]
yuranlu   ]--------------- mpacula  ]             ]
mpacula   ]                                       ]
                                                  ]
                                                  ]--- mpacula
martynaj  ]                                       ]
yuranlu   ]-- yuranlu  ]                          ]
                       ]-- yuranlu  ]             ]
agorlin   ]-- agorlin  ]            ]--- yuranlu  ]
mattlong  ]                anweibel ]

            BOTTOM BRACKET

Top bracket (rounds 1-4)

Seed  Round 1...   Round 2...    Round 3...    Round 4...

 [1] ccpost   ]
[64] BYE      ]--- ccpost   ]
                            ]--- agorlin  ]
[32] byoshimo ]--- agorlin  ]             ]
[33] agorlin  ]                           ]
                                          ]--- martynaj ]
[16] ng1213   ]                           ]             ]
[49] espeed   ]--- ng1213   ]             ]             ]
                            ]--- martynaj ]             ]
[17] martynaj ]--- martynaj ]                           ]
[48] jslocum  ]                                         ]
                                                        ]--- anweibel
 [8] anweibel ]                                         ]
[57] BYE      ]--- anweibel ]                           ]
                            ]--- anweibel ]             ]
[25] alerer   ]--- alerer   ]             ]             ]
[40] rothberg ]                           ]             ]
                                          ]--- anweibel ]
 [9] peairs   ]                           ]
[56] BYE      ]--- peairs   ]             ]
                            ]--- nbieber  ]
[24] cnorahs  ]--- nbieber  ]
[41] nbieber  ]

 [4] alexch   ]
[61] BYE      ]--- alexch   ]
                            ]--- igork    ]
[29] igork    ]--- igork    ]             ]
[36] abrahamr ]                           ]
                                          ]--- r_chiang ]
[13] r_chiang ]                           ]             ]
[52] BYE      ]--- r_chiang ]             ]             ]
                            ]--- r_chiang ]             ]
[20] asilata  ]--- k_rowe   ]                           ]
[45] k_rowe   ]                                         ]
                                                        ]--- mattlong
 [5] tkang    ]                                         ]
[60] BYE      ]--- tkang    ]                           ]
                            ]--- ithink   ]             ]
[28] ithink   ]--- ithink   ]             ]             ]
[37] cpercib  ]                           ]             ]
                                          ]--- mattlong ]
[12] cmcheng  ]                           ]
[53] BYE      ]--- cmcheng  ]             ]
                            ]--- mattlong ]
[21] mattlong ]--- mattlong ]
[44] dwhitlow ]

 [2] yuranlu  ]
[63] BYE      ]--- yuranlu  ]
                            ]--- yuranlu  ]
[31] hsk      ]--- hsk      ]             ]
[34] munir    ]                           ]
                                          ]--- yuranlu  ]
[15] owenlin  ]                           ]             ]
[50] austein  ]--- owenlin  ]             ]             ]
                            ]--- owenlin  ]             ]
[18] markstev ]--- markstev ]                           ]
[47] lilywang ]                                         ]
                                                        ]--- yuranlu
 [7] ede      ]                                         ]
[58] BYE      ]--- ede      ]                           ]
                            ]--- thananat ]             ]
[26] whoburg  ]--- thananat ]             ]             ]
[39] thananat ]                           ]             ]
                                          ]--- thananat ]
[10] jeremyis ]                           ]
[55] BYE      ]--- jeremyis ]             ]
                            ]--- jmstein  ]
[23] jmtstein ]--- jmstein  ]
[42] jtchang  ]

 [3] jtrigg   ]
[62] BYE      ]--- jtrigg   ]
                            ]--- jtrigg   ]
[30] huynht   ]--- huynht   ]             ]
[35] grk      ]                           ]
                                          ]--- jtrigg   ]
[14] raza     ]                           ]             ]
[51] amrik    ]--- amrik    ]             ]             ]
                            ]--- aspicer  ]             ]
[19] aspicer  ]--- aspicer  ]                           ]
[46] jambo    ]                                         ]
                                                        ]--- mpacula
 [6] mpacula  ]                                         ]
[59] BYE      ]--- mpacula  ]                           ]
                            ]--- mpacula  ]             ]
[27] rnk      ]--- rnk      ]             ]             ]
[38] zero     ]                           ]             ]
                                          ]--- mpacula  ]
[11] gdurrett ]                           ]
[54] BYE      ]--- gdurrett ]             ]
                            ]--- gdurrett ]
[22] luuk     ]--- luuk     ]
[43] geofft   ]

Bottom bracket (rounds 1-4)

Since this is a double-elimination tournament, you end up in this bracket whenever you lose a round. The bottom bracket plays two games for every one that the top bracket plays.

Round 1...   Round 2...                Round 3...                Round 4...

BYE      ]-- byoshimo ]
byoshimo ]   ccpost   ]-- ccpost   ]
                                   ]-- ng1213   ]
espeed   ]-- jslocum  ]-- ng1213   ]            ]-- gdurrett ]
jslocum  ]   ng1213   ]                gdurrett ]            ]
                                                             ]
BYE      ]-- rothberg ]                                      ]-- gdurrett ]
rothberg ]   alerer   ]-- alerer   ]                         ]            ]-- martynaj ]
                                   ]-- alerer   ]            ]   martynaj ]            ]
BYE      ]-- cnorahs  ]-- cnorahs  ]            ]-- aspicer  ]                         ]
cnorahs  ]   peairs   ]                aspicer  ]                                      ]
                                                                                       ]
BYE      ]-- abrahamr ]                                                                ]
abrahamr ]   alexch   ]-- alexch   ]                                                   ]-- martynaj
                                   ]-- alexch   ]                                      ]
BYE      ]-- asilata  ]-- asilata  ]            ]-- jmstein  ]                         ]
asilata  ]   k_rowe   ]                jmstein  ]            ]                         ]
                                                             ]                         ]
BYE      ]-- cpercib  ]                                      ]-- owenlin  ]            ]
cpercib  ]   tkang    ]-- cpercib  ]                         ]            ]-- owenlin  ]
                                   ]-- cpercib  ]            ]   r_chiang ]
BYE      ]-- dwhitlow ]-- cmcheng  ]            ]-- owenlin  ]
dwhitlow ]   cmcheng  ]                owenlin  ]

BYE      ]-- munir    ]
munir    ]   hsk      ]-- hsk      ]
                                   ]-- markstev ]
austein  ]-- lilywang ]-- markstev ]            ]-- ithink   ]
lilywang ]   markstev ]                ithink   ]            ]
                                                             ]
BYE      ]-- whoburg  ]                                      ]-- ithink   ]
whoburg  ]   ede      ]-- whoburg  ]                         ]            ]-- ithink   ]
                                   ]-- jtchang  ]            ]   thananat ]            ]
BYE      ]-- jtchang  ]-- jtchang  ]            ]-- igork    ]                         ]
jtchang  ]   jeremyis ]                igork    ]                                      ]
                                                                                       ]
BYE      ]-- grk      ]                                                                ]
grk      ]   huynht   ]-- grk      ]                                                   ]-- agorlin
                                   ]-- grk      ]                                      ]
raza     ]-- raza     ]-- raza     ]            ]-- grk      ]                         ]
jambo    ]   amrik    ]                nbieber  ]            ]                         ]
                                                             ]                         ]
BYE      ]-- zero     ]                                      ]-- agorlin  ]            ]
zero     ]   rnk      ]-- rnk      ]                         ]            ]-- agorlin  ]
                                   ]-- rnk      ]            ]   jtrigg   ]   
BYE      ]-- geofft   ]-- geofft   ]            ]-- agorlin  ]
geofft   ]   luuk     ]                agorlin  ]


Detailed results

Click on the name of any match to see the output of the match. The last line of the file indicates the overall winner.

Top bracket, round 1

Bottom bracket, round 1

Top bracket, round 2

Bottom bracket, round 2a

Bottom bracket, round 2b

Top bracket, round 3

Bottom bracket, round 3a

Bottom bracket, round 3b

Top bracket, round 4

Bottom bracket, round 4a

Bottom bracket, round 4b

Top bracket, round 5

Bottom bracket, round 5a

Bottom bracket, round 5b

Round 6

Final