9th Annual ACCA World Computer Rapid Chess Championships

Discussion of computer chess matches and engine tournaments.

Moderator: Ras

brtzsnr
Posts: 433
Joined: Fri Jan 16, 2015 4:02 pm

Re: 9th Annual ACCA World Computer Rapid Chess Championships

Post by brtzsnr »

hgm wrote: It is important to have a search abort, not only for ponder misses, but also for time management, to handle the occasional search explosion. The easy part is to have a gloabal 'abortFlag', and return from Search() directly after UnMake() when that flag is set.
I tried returning the current score and the best move when time is up, but the returned pv and the score were bad. I couldn't find anything simple that works that resulted in an ELO increase.
mvk
Posts: 589
Joined: Tue Jun 04, 2013 10:15 pm

Re: 9th Annual ACCA World Computer Rapid Chess Championships

Post by mvk »

jdart wrote:tournament results:

http://tomato.chessclub.com/tom/tnum/ma1793_grid.html.

Komodo was the winner with a perfect 9/9 score.

--Jon
Arasan stunned Rookie by sacrificing a knight in the opening for a direct king attack and win.

[d] r1bq1rk1/5p2/pb1p1n1p/npp1p1p1/4P2B/2PP1N2/PPB2PPP/R2QRNK1 w - -
Nxg5!!

Code: Select all

ArasanX(C) kibitzes: time=94.77 sec. score=+1.89 depth=25 nps=6.60M cpu=2114.57% pv: Nxg5 Nxe4 Nh7 Qxh4 Rxe4 Qd8 Nxf8 Kxf8 Re3 Be6 Ng3 Qg5 Ne4 Qh4 Qf3 Bd5 g3 Qh3 Qf6 Qe6 Qxe6 Bxe6 Nxd6 Nc6\012
Classical of course. Rookie didn't see that coming at all, it was happily pondering on Bg3. In this case it takes forever for it to recognise it is in deep trouble. Clearly some work to do on the evaluation. On my laptop, single thread, after Nxg5 (time is in seconds):

Code: Select all

r1bq1rk1/5p2/pb1p1n1p/npp1p1N1/4P2B/2PP4/PPB2PPP/R2QRNK1 b - - 0 1

  time ply  score variation
   0.0   1 +1.178 1... hxg5 2. Bxg5
   0.0   2 +1.178 1... hxg5 2. Bxg5
   0.0   3 +1.349 1... hxg5 2. Bxg5 c4
   0.0   4 +1.041 1... hxg5 2. Bxg5 Be6 3. Ne3
   0.0   5 +1.104 1... hxg5 2. Bxg5 Be6 3. Ne3 c4
   0.0   6 +0.925 1... hxg5 2. Bxg5 Be6 3. h4 Kh7 4. Ne3
   0.0   7 +0.988 1... hxg5 2. Bxg5 Kh7 3. Ne3 Rg8 4. h4 Be6
   0.1   8 +0.857 1... hxg5 2. Bxg5 Kh7 3. h4 Rg8 4. Qf3 Rxg5 5. hxg5
   0.1   9 +0.753 1... hxg5 2. Bxg5 c4 3. Qf3 Kg7 4. Ne3 Kg6 5. h4 Be6
   0.2  10 +0.711 1... hxg5 2. Bxg5 c4 3. Ne3 Be6 4. Qf3 Kg7 5. Nf5+ Bxf5 6.
                  Qxf5 Rh8

   0.8  13 +0.515 1... hxg5 2. Bxg5 c4 3. Ne3 Be6 4. Qf3 Kg7 5. Nf5+ Bxf5 6.
                  Qxf5 cxd3 7. Bxd3 Nc4 8. Rab1

   1.7  14 +0.358 1... hxg5 2. Bxg5 c4 3. Ne3 Be6 4. Qf3 Kg7 5. Nf5+ Bxf5 6.
                  Qxf5 Rc8 7. Bh4 Rh8 8. Qg5+ Kf8 9. g3

   2.4  15 +0.366 1... hxg5 2. Bxg5 c4 3. Ne3 Be6 4. Qf3 Kg7 5. Nf5+ Bxf5 6.
                  Qxf5 cxd3 7. Bxd3 Nc4 8. b3 Nb2 9. Bc2

  12.4  16 +0.409 1... hxg5 2. Bxg5 Kg7 3. Ne3 Be6 4. Qf3 c4 5. Nf5+ Bxf5 6.
                  exf5 Rh8 7. h3 Rc8 8. dxc4 Nxc4 9. a4 b4 10. cxb4

  25.0  17 +0.257 1... hxg5 2. Bxg5 c4 3. dxc4 Nxc4 4. Qc1 Kh7 5. b3 Na5 6.
                  Ne3 Bxe3 7. Qxe3 Be6 8. Rad1 Rg8 9. h3 Rc8 10. Bxf6 Qxf6 11.
                  Rxd6

  29.9  18 +0.212 1... hxg5 2. Bxg5 c4 3. dxc4 Nxc4 4. Qc1 Kh7 5. b3 Na5 6.
                  Ne3 Rg8 7. Nd5 Rg6 8. h3 Be6 9. a4 Bxd5 10. exd5

  68.1  19 -0.451 1... hxg5 2. Bxg5 Kh8 3. Ne3 Be6 4. Qf3 Kg7 5. Nf5+ Bxf5 6.
                  Qxf5 c4 7. b4 cxb3 8. axb3 Rh8 9. g3 Nc6 10. Bh4 Rh6 11.
                  Rec1

  99.4  20 -0.573 1... hxg5 2. Bxg5 Kh8 3. Ne3 Be6 4. Qf3 Kg7 5. Nf5+ Bxf5 6.
                  Qxf5 c4 7. b4 cxd3 8. bxa5 Bxf2+ 9. Qxf2 dxc2 10. Qxc2 Kg6
                  11. Qd2 Rc8 12. Rad1

 117.2  21 -0.572 1... hxg5 2. Bxg5 Kh8 3. Ne3 Be6 4. Qf3 Kg7 5. Nf5+ Bxf5 6.
                  Qxf5 c4 7. b4 cxb3 8. axb3 b4 9. Bh4 Rh8 10. Qg5+ Kf8 11.
                  cxb4 Nc6 12. g3 Rxh4 13. Qxh4 Nxb4

 193.9  22 -0.572 1... hxg5 2. Bxg5 Kh8 3. Ne3 Be6 4. Qf3 Kg7 5. Nf5+ Bxf5 6.
                  Qxf5 c4 7. b4 cxb3 8. axb3 b4 9. Bh4 Rh8 10. Qg5+ Kf8 11.
                  cxb4 Nc6 12. g3 Rxh4 13. Qxh4 Nxb4

 778.3  23 -0.912 1... hxg5 2. Bxg5 Kh8 3. Ne3 Rg8 4. Bxf6+ Qxf6 5. Qh5+ Kg7 6.
                  Nd5 Qd8 7. Re3 Kf8 8. Qh6+ Ke8 9. Nf6+ Ke7 10. Nxg8+ Qxg8 11.
                  Rg3 Qd8 12. Rg7 Be6 13. Rh7 Kd7 14. h4 Nc6 15. Rb1

 1791.4  24 -0.736 1... hxg5 2. Bxg5 Kh7 3. Qf3 Kg7 4. Ne3 Be6 5. Nf5+ Bxf5 6.
                   Qxf5 c4 7. b4 cxb3 8. axb3 Rh8 9. b4 Nc6 10. Bb3 a5 11. Bd5
                   Rc8 12. bxa5 Nxa5 13. Rec1 Qe7

 30900.4  25 -0.834 1... hxg5 2. Bxg5 Kh8 3. Ne3 Rg8 4. Bxf6+ Qxf6 5. Qh5+ Kg7
                    6. Nd5 Qd8 7. Re3 Kf8 8. Qh6+ Ke8 9. Nf6+ Ke7 10. Nxg8+
                    Qxg8 11. Rg3 Qd8 12. Rg7 Be6 13. Rh7 Qf8 14. Qg5+ Kd7 15.
                    h4 Qg8 16. Rg7 Qh8

 43980.0  26 -1.646 1... hxg5 2. Bxg5 c4 3. d4 Bg4 4. Bxf6 Bxd1 5. Bxd8 Raxd8
                    6. Raxd1 exd4 7. cxd4 Nc6 8. d5 Nd4 9. Ne3 Rfe8 10. Bb1
                    Re5 11. Nc2 Nxc2 12. Bxc2 Kg7 13. h4 Rg8 14. g4
[Account deleted]
jdart
Posts: 4433
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: 9th Annual ACCA World Computer Rapid Chess Championships

Post by jdart »

I tried returning the current score and the best move when time is up, but the returned pv and the score were bad.
That is a bug. If the abort flag is set you should exit the search without updating either best move or PV, so you need a condition around the update logic. If your update logic is correct then you should have a valid move and PV after abort.

--Jon
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: 9th Annual ACCA World Computer Rapid Chess Championships

Post by bob »

brtzsnr wrote:This was a fun contest with really strong engines. Thank you Charles for organizing. Here are my takeaways for zurichess:

* Time management is bad. Zurichess uses too little time in the midgame and too much time in the end game. Current algorithm is to allocate per move (time + moves_to_go * inc) / moves_to_go / branching_factor. I adjusted the calculation of the branching factor a bit and got +12ELO
* In some cases (close to being mated, enemy pawn can promote and high depths) the search explodes. In the game against Telepath zurichess spent 9min on a move. This also affects time management which has to be a bit conservative to protect against search explosions. I tried pruning minor promotions, but I get a 5 ELO hit.
* In the end game with a bishop it's best to push the enemy king to the corner of the right color.
* Pondering can be stopped earlier when there is ponder miss. Generally I don't know yet how to abort the search properly when time is up so pondering has to be conservative with the time allocated.
* Crafty won against zurichess with only a bishop and a knight. Zurichess doesn't use end-game table bases, I wonder if it could have avoided the mate.
* I probably need a better opening book for contests.

I uploaded my games here https://goo.gl/FQINPV. There are ten more games, besides zurichess' games. If your engine played agains zurichess and you noticed an area that I need to improve my engine, I would like to hear your opinion.
bishop + knight against lone king is a forced win. Crafty can win that with or without endgame tables...