my small report of the Programmer's Tournament, organized by Richard Pijl last weekend.
Congrats to Gian-Carlo Pascutto for sovereignly winning the Programmers Tour with Deep Sjeng. 5.5 out of six, followed by Diep, CTD and Shredder with 4/6. Good luck in Bejing, Gian-Carlo!
I like to thank Richard for the idea, organization and implementation of the programmers tournament and the enormous amount of work. That implied discussions, planning, looking for an appropriate playing hall combined with accommodation, invitations and correspondence, maintaining an internet site for the tournament, buying and carrying huge amounts of all kind of snacks, fruits, soft drinks and about six kinds of Belgian and Dutch beer, updating the site and wake-up service, not to mention playing himself with CTD. Richard's daughters, Tessa, Renske and Merel were serving drinks and snacks during the games - the whole Pijl family was in action - before, during and after the tournament - Da capo!
The tournament took place in "de Bouwhoeve", Hoogstraten-Wortel, Belgium. A farm with huge amounts of cows and chickens, promoting agrotourism with a lot of outdoor and indoor activities like Boerengolf (farmers golf) on grassland between cows (!), cycling, go-cart, pool billard, dart and computer-chess of course. The huge and homey playing hall with bar was in the loft, appartement, rooms, kitchens, etc., downstairs.
It was an perfect tournament and social event as well in a friendly atmosphere and spirit. It is an absolutely recommendation for other programmers to join next time, likely feb/mar next year as Richard already proposed. It is because that season is better suited for indoor activities and has less collision potential with other tournaments, like in June /July.
This first time we were competing with the chess 960 qualifier and the IOPCC. We were only nine participants due to some late cancelation and in one case absent without valid excuse. So there was a Bye each round in the six round swiss. Time control was 90 minutes per side for the whole game.
The nine participants were:
- Ayito by Jaime Benito de Valle Ruiz, Lincoln, UK, AMD Turion
Brutus by Stephan Vermeire, Amersfoort, The Netherlands, AMD 2.4 Ghz dual core
Crashtest Dummy by Richard Pijl, Minderhout, Belgium, AMD dual Opteron 270
Deep Sjeng by Gian-Carlo Pascutto, Gent, Belgium, Intel Q6600
Diep by Vincent Diepeveen, Veenendaal, The Netherlands, AMD Opteron 285
HansDamf by Gerd Isenberg, Hattingen, Germany, AMD Athlon64 X2 2.2GHz
Joker by Harm-Geert Müller, Amsterdam, The Netherlands, Intel Core2 Duo 24Ghz (1 core)
Marquis by Roland Marquis, Basel, Switzerland, Macbook with win32
Shredder by Stefan Meyer-Kahlen, Düsseldorf, Germany, AMD Athlon64 X2 4200+
My program HansDamf (derived from Hansdampf in allen Gassen, which is the German pendant of Jack of all trades) played surprisingly well - likely because some luck with the booklines. HansDamf is basically IsiChess MMX 32-bit with its own proprietary GUI. The name was actually reserved for my new and "lightning fast" 64-bit program - after registering HansDamf for ICT8 and the Programmers Tour in march or so, I got aware that it would take much more time for a good eval and parallel search design and implementation and had a dilemma. I decided to keep the new name and to adopt some reduction ideas from the new program inside the renamed IsiChess, rather than to play with an half-ready 64-bit program. I played with my Shuttle box, an AMD Athlon64 X2 3200+ (2.2GHz) 1GByte ram, win xp64. Two threads share a 256MB hashtable.
First round with white was an easy win against Marquis. Marquis and Brutus were newcomers in over the board tournaments. While Brutus is quite competitive and had a tough game in the last round against Deep Sjeng, Marquis was too new and too weak. Without hashtable and nullmove is quite a big handicap. Nevertheless kudos to Roland Marquis and his book author and chess consultant IM Roland Ekström for the courage in participating to get some experience, motivations and ideas what to do further.
[Event "Chess Programmers Tournament 2008"]
[Site "Wortel"]
[Date "2008.06.28"]
[Round "1"]
[White "HansDamf"]
[Black "Marquis"]
[Result "1-0"]
[PlyCount "89"]
[EventDate "2008.??.??"]
1. e4 Nf6 2. e5 Nd5 3. d4 d6 4. Nf3 dxe5 5. Nxe5 g6 6. Bc4 Bg7 7. O-O O-O 8.
Re1 e6 9. Na3 Nc6 10. Nxc6 bxc6 11. c3 Re8 12. Bf1 e5 13. dxe5 Bxe5 14. c4
Bxh2+ 15. Kxh2 Rxe1 16. Qxe1 Nf6 17. Kg1 Bg4 18. f3 Bf5 19. Bg5 Qd4+ 20. Qf2
Qxf2+ 21. Kxf2 Nd7 22. g4 Be6 23. Bf4 Rc8 24. Nc2 Rb8 25. b3 Rb7 26. Nd4 c5 27.
Nxe6 fxe6 28. Re1 Kf7 29. g5 Rb6 30. Bxc7 Rc6 31. Bf4 Ra6 32. Re2 Ra3 33. Rd2
Nb6 34. Bh3 Nc8 35. Be3 Ra5 36. Rd7+ Ne7 37. a4 Kf8 38. Rd6 Nf5 39. Bxf5 exf5
40. Bd2 Ke7 41. Rf6 Rxa4 42. bxa4 Ke8 43. Ra6 Kf8 44. Rxa7 Kg8 45. a5 1-0
After a lunch break and some relaxing the seconds round was black against Diep. Queens Indian with some early tactics resulting in two rooks versus queen motive. Finally HansDamf had to force perpetual checks with its queen, while Diep's rooks were threatening mate.
[Event "Chess Programmers Tournament 2008"]
[Site "Wortel"]
[Date "2008.06.28"]
[Round "2"]
[White "Diep"]
[Black "HansDamf"]
[Result "1/2-1/2"]
[PlyCount "72"]
[EventDate "2008.??.??"]
1. d4 Nf6 2. c4 e6 3. Nf3 b6 4. e3 Bb7 5. Bd3 Be7 6. Nc3 c5 7. O-O cxd4 8. exd4
d5 9. cxd5 Nxd5 10. Ne5 O-O 11. Qh5 Nf6 12. Qh4 Ne4 13. Qh3 Qxd4 14. Bxe4 Bxe4
15. Nf3 Bxf3 16. Qxf3 Qd7 17. Qxa8 Nc6 18. Qxf8+ Kxf8 19. Rd1 Qc7 20. Be3 Ne5
21. Nb5 Qb8 22. Bd4 Ng4 23. g3 e5 24. h3 Nf6 25. Be3 Bc5 26. Rac1 Bxe3 27. fxe3
Qb7 28. Rc7 Qf3 29. Rd8+ Ne8 30. Rcc8 Qxg3+ 31. Kf1 Qf3+ 32. Ke1 Qxe3+ 33. Kd1
Qf3+ 34. Ke1 Qe3+ 35. Kd1 Qf3+ 36. Ke1 Qe3+ 1/2-1/2
Round three on saturday was against Richard's CTD. QDA where Black was a pawn up with a worse structure.
Anyway both programs aggreed White was the one fighting for a draw. CTD eventually missed the win and transposed to a pawn-ending which turned out to be a draw. Despite CTD had some pawn-tempi until all pawns where blocked and a "worthless" lever-possibility, there black king couldn't break through, since white clould close the bottleneck a3 in time with the shuffle a2,b2.
[Event "Chess Programmers Tournament 2008"]
[Site "Wortel"]
[Date "2008.06.28"]
[Round "3"]
[White "HansDamf"]
[Black "Crash Test Dummy"]
[Result "1/2-1/2"]
[PlyCount "86"]
[EventDate "2008.??.??"]
1. d4 d5 2. c4 dxc4 {-0.16/12} 3. Nf3 Nf6 {-0.21/11} 4. Nc3 a6 {-0.14/11} 5. e4
b5 {-0.01/11} 6. e5 Nd5 {+0.08/11} 7. a4 Bb7 {+0.28/11} 8. e6 fxe6 {+0.19/12}
9. Ne5 Nxc3 {+0.27/11} 10. bxc3 g6 {+0.81/11} 11. axb5 axb5 {+0.31/15} 12. Rxa8
Bxa8 {+0.40/16} 13. Bxc4 bxc4 {+0.27/17} 14. Qa4+ Bc6 {+0.32/17} 15. Nxc6 Qd7 {
+0.49/19} 16. Qa8 Qxc6 {+0.66/19} 17. Qxb8+ Kf7 {+0.74/18} 18. O-O Bg7 {
+0.94/18} 19. Qb4 Qd5 {+1.06/17} 20. Re1 Ra8 {+1.06/17} 21. Bf4 Rc8 {+1.18/16}
22. Be3 e5 {+1.18/16} 23. dxe5 Bxe5 {+1.17/15} 24. h3 e6 {+1.27/15} 25. Bh6 Rg8
{+1.32/14} 26. h4 Rd8 {+1.27/16} 27. g3 Bf6 {+1.25/14} 28. Bg5 Bxg5 {+1.14/16}
29. hxg5 Qc6 {+1.14/17} 30. Qb1 Rd3 {+0.93/19} 31. Qb8 Kg7 {+1.03/18} 32. Qb4
Kf7 {+1.03/20} 33. Qb8 Kg7 {+1.03/20} 34. Qb4 Rd6 {+0.75/19} 35. Qa3 Kf7 {
+0.95/18} 36. Qc1 Qf3 {+0.88/19} 37. Qe3 Qxe3 {+1.87/23} 38. Rxe3 Rd3 {+1.87/24
} 39. Kf1 Rxe3 {+1.85/27} 40. fxe3 e5 {+1.85/30} 41. e4 Ke6 {+1.85/36} 42. Ke2
Kd6 {+1.85/28} 43. Kd1 Kc5 {+1.85/26} 1/2-1/2
After dinner there was another nice evening and a short night. Sunday morning, in Round 4 HansDamf was black against Shredder. In a quite a3 Queens Indian, HansDamf managed to grab a draw in a bishop versus knight ending with pawns on both wings. Amazingly in thirteen years IsiChess never managed to get a single draw against Shredder at W(M)CCCs, IPCCCs and DOCCs and ICTs. Now, with a new name, the first draw - wow!
[Event "Chess Programmers Tournament 2008"]
[Site "Belgien"]
[Date "2008.06.29"]
[Round "4"]
[White "Shredder"]
[Black "HansDampf"]
[Result "1/2-1/2"]
[PlyCount "131"]
[EventDate "2008.??.??"]
1. d4 {book 0s} Nf6 {8s (d5)} 2. c4 {book 0s} e6 {5s} 3. Nf3 {book 0s} b6 {
6s (d5)} 4. a3 {book 0s} Bb7 {7s} 5. Nc3 {book 0s} d5 {10s} 6. Bg5 {book 0s}
Be7 {9s} 7. Qa4+ {book 0s} c6 {11s (Qd7)} 8. Bxf6 {book 0s} Bxf6 {9s} 9. cxd5 {
book 0s} exd5 {8s} 10. g3 {book 0s} O-O {9s} 11. Bg2 {book 0s} Qe7 {8s (c5)}
12. O-O {-0.06/14 40s} Nd7 {15s (Rd8)} 13. e3 {+0.09/19 11:00m} Qe6 {
2:51m (Rfd8)} 14. Qc2 {+0.11/16 3:44m} Rfd8 {3:04m (Be7)} 15. e4 {
+0.18/15 3:11m} dxe4 {1:34m} 16. Nxe4 {+0.18/18 0s} Be7 {2:57m} 17. Nc3 {
+0.28/18 14s} Qf6 {1:49m (Qg6)} 18. Rad1 {+0.45/16 1:12m} Qg6 {2:20m (Nf8)} 19.
Qxg6 {+0.37/17 37s} hxg6 {49s} 20. Rfe1 {+0.36/19 1:10m} Bf8 {2:23m (Kf8)} 21.
Ne5 {+0.69/19 1:11m} Rac8 {1:09m} 22. Bh3 {+0.68/19 1:41m} Nxe5 {1:27m} 23.
dxe5 {+0.68/22 0s} Rb8 {46s} 24. Bd7 {+0.38/19 2:26m} Be7 {4:40m} 25. f3 {
+0.35/20 0s} Kf8 {1:08m (g5)} 26. Kg2 {+0.27/18 1:30m} c5 {1:52m} 27. a4 {
+0.33/17 1:16m} Bc8 {1:26m (g5)} 28. Bxc8 {+0.24/20 2:32m} Rbxc8 {2:53m} 29.
Rd5 {+0.29/22 1s} c4 {38s (Rxd5)} 30. Red1 {+0.75/20 1:22m} Rxd5 {48s} 31. Rxd5
{+0.62/22 40s} a6 {16s (Bb4)} 32. Rd7 {+0.92/20 1:05m} Rd8 {23s (Bc5)} 33.
Rxd8+ {+1.19/23 1:00m} Bxd8 {6s} 34. Kf2 {+0.97/24 1:08m} Ke7 {10s} 35. Ke3 {
+0.81/23 4:14m} Ke6 {5s} 36. Ke4 {+0.80/22 8:25m} f6 {15s (g5)} 37. Kd4 {
+1.24/23 1:50m} fxe5+ {3:03m} 38. Kxc4 {+0.79/29 0s} Be7 {9:33m} 39. Ne4 {
+0.85/30 0s} Bf6 {39s (Bd8)} 40. Nc3 {+0.84/22 1:11m} Be7 {2:17m} 41. Ne4 {
+0.83/25 0s} Bf6 {2:01m (Bf8)} 42. h3 {+0.83/24 2:41m} Be7 {48s} 43. b4 {
+0.94/24 4s} Bf8 {53s (Bd8)} 44. Ng5+ {+0.84/25 1:09m} Kd6 {1:08m} 45. b5 {
+1.01/24 51s} a5 {56s} 46. Ne4+ {+0.93/25 3:03m} Ke6 {21s} 47. g4 {
+0.51/26 3:44m} Be7 {1:13m} 48. Nf2 {+0.53/25 20s} Bc5 {55s (Bg5)} 49. Ne4 {
+0.32/25 10s} Be7 {1:17m} 50. Nc3 {+0.24/28 0s} Bh4 {38s (Bc5)} 51. Nd5 {
+0.43/26 29s} Bf2 {50s} 52. Nc7+ {+0.26/27 5s} Kd6 {31s} 53. Nd5 {+0.22/27 23s}
Ke6 {2:00m (Kd7)} 54. Nc7+ {+0.41/27 30s} Kd6 {1:51m} 55. Na6 {0.00/31 0s} Ke6
{1:03m (g5)} 56. Kc3 {0.00/26 27s} Bd4+ {35s (Kd6)} 57. Kd3 {+0.05/26 30s} Kd5
{39s (g5)} 58. h4 {+0.09/25 19s} Kd6 {43s (Bc5)} 59. Ke4 {+0.43/25 24s} Bf2 {
14s} 60. h5 {+0.19/26 16s} gxh5 {10s} 61. gxh5 {+0.13/25 0s} Ke6 {2:20m} 62.
Nb8 {0.00/29 0s} Bg3 {44s (Be1)} 63. Na6 {+0.05/25 33s} Bf2 {34s} 64. Nc7+ {
+0.01/26 10s} Kd7 {35s} 65. Nd5 {0.00/27 0s} Kd6 {7s} 66. f4 {0.00/27 17s}
1/2-1/2
Round five black agian agianst the leading Deep Sjeng. In a closed ruy lopez, HansDamf opened with 14...d5 too early. After some manouvering it went tactical and HansDamf lost its rook for some pawns and checks.
[Event "Chess Programmers Tournament 2008"]
[Site "Wortel"]
[Date "2008.06.29"]
[Round "5"]
[White "Deep Sjeng"]
[Black "HansDamf"]
[Result "1-0"]
[PlyCount "111"]
[EventDate "2008.??.??"]
1. e4 {book 32s} e5 {8s (c5)} 2. Nf3 {book 0s} Nc6 {9s (Nf6)} 3. Bb5 {book 0s}
a6 {6s (Nf6)} 4. Ba4 {book 0s} Nf6 {7s} 5. O-O {book 0s} Be7 {6s (b5)} 6. Re1 {
book 0s} b5 {5s} 7. Bb3 {book 0s} O-O {6s} 8. a4 {book 0s} Bb7 {7s (b4)} 9. d3
{book 0s} d6 {6s} 10. Nbd2 {book 0s} Re8 {8s} 11. Nf1 {book 0s} Qd7 {1:57m} 12.
Bd2 {+0.32/19 2:14m} Nd8 {1:19m (b4)} 13. Ng3 {+0.35/19 2:13m} Ne6 {1:31m} 14.
Ng5 {+0.33/19 16s} d5 {45s (Rf8)} 15. Nxe6 {+0.58/18 1:34m} Qxe6 {3:44m} 16.
Qf3 {+0.70/19 0s} c6 {4:26m (dxe4)} 17. Nf5 {+0.67/17 41s} Bf8 {23s} 18. Re2 {
+0.53/18 2:26m} c5 {1:35m} 19. exd5 {+0.52/19 2s} Bxd5 {1:08m} 20. Bxd5 {
+0.51/19 51s} Nxd5 {40s} 21. Ng3 {+0.43/18 1:46m} Bd6 {2:03m (f6)} 22. Kh1 {
+0.45/17 1:18m} Bc7 {2:58m (f6)} 23. Nf5 {+0.31/16 1:20m} Kh8 {33s} 24. Ne3 {
+0.21/18 1:47m} Nf4 {1:33m} 25. Ree1 {+0.23/18 0s} Rad8 {52s} 26. g3 {
+0.37/17 8s} e4 {1:01m} 27. dxe4 {+0.26/18 47s} Rxd2 {43s} 28. gxf4 {
+0.28/18 18s} f6 {3:05m (Qc6)} 29. axb5 {+0.80/17 1:50m} axb5 {1:04m} 30. b3 {
+0.74/17 33s} Rd4 {2:18m} 31. Nd5 {+0.93/19 0s} Bb8 {1:22m} 32. c3 {+0.94/19 0s
} Rd2 {1:15m} 33. Rad1 {+1.02/19 9s} Rb2 {57s} 34. c4 {+1.33/18 18s} bxc4 {32s}
35. bxc4 {+1.33/19 1:34m} Rc2 {35s (Qf7)} 36. e5 {+2.15/17 2:35m} fxe5 {1:58m}
37. Qb3 {+2.11/18 0s} Qg6 {1:14m} 38. Ne7 {+2.23/18 0s} Qg4 {1:38m (Qh5)} 39.
Qxc2 {+2.26/18 2:28m} Qf3+ {2:41m} 40. Kg1 {+2.26/18 0s} Qg4+ {3:43m} 41. Kf1 {
+2.34/17 0s} Qh3+ {4:23m} 42. Ke2 {+2.34/17 0s} Qh5+ {59s (Qg4+)} 43. f3 {
+2.99/16 2:02m} Qxh2+ {3:25m} 44. Kd3 {+3.01/17 0s} Qxf4 {1:19m} 45. Kc3 {
+3.30/16 0s} Bc7 {49s} 46. Nd5 {+3.43/16 38s} Qxf3+ {37s} 47. Re3 {+3.39/15 14s
} Ba5+ {2:04m} 48. Kb3 {+3.39/16 0s} Qf8 {36s (Qf7)} 49. Qe4 {+3.55/17 2:15m}
Qf7 {52s (Qf2)} 50. Rf3 {+4.70/15 1:18m} Qd7 {1:19m (Qb7+)} 51. Rdf1 {
+7.70/15 2:06m} Rb8+ {44s} 52. Ka2 {+8.10/14 33s} Rg8 {34s (Qa4+)} 53. Rf8 {
+9.90/13 42s} Bd8 {1:17m} 54. Qxe5 {+9.99/13 0s} h6 {20s} 55. R1f7 {
+11.28/14 27s} Bf6 {1:00m} 56. Nxf6 {+11.45/15 0s} 1-0
Unfortunately I got the Bye for the last and sixth round - which finally results in 3.5/6 and fifth place. In the evening we had a pizza in a near italian restaurant and afterwards watched the second half of the soccer final, which didn't improve my mood either. As always if it is about to say good bye, some sadness and emptiness arises, that it was all over. Monday morning a leaved de Bouwhoeve to immediately drove the 2 hours to work...
See
http://www.xs4all.nl/~rpijl/html/programmers_tour.html
http://www.xs4all.nl/~rpijl/tournament/index.html
Hope to meet you next time with your program as well!
Cheers,
Gerd