[Chessx-users] ChessX Moves contra Engine Evaluations
Chess Database and PGN viewer
Brought to you by:
hognose
From: Joseph P. <jpo...@nc...> - 2019-02-02 23:54:19
|
I like to evaluate chess positions using the Engine Match feature (where I select the same engine for White and Black (so that any non-draw result is due to the features of the position rather than the relative playing strength of the engines)). I've run into a problem where ChessX plays a move that doesn't have the highest evaluation (for White moves) or the lowest evaluation (for Black moves) according to the chess engine doing the calculating. The problem does not happen all the time; but, it happens often enough that you should be able to observe it after a few tries. Here are the circumstances in which I've observed this phenomenon. I give ChessX a position and let it play an engine match from that position with a given number of minutes per move and with the Analysis boxes set to display 3 moves each. (I use Stockfish for both White and Black, although I doubt that makes a difference). After a number of moves have been played, I stop the engines and recheck suspicious looking moves as follows. I select the move immediately prior to the suspicious looking move and re-initiate the engine match. When time runs out in this "recheck" situation, ChessX halts and recommends the move that appears first in the Analysis box display -- but that list is not always sorted to put the best at the top. Here are some actual results obtained in this manner. FEN: r1bqk2r/pp2n1pp/1bpp1p2/8/2QPPB2/2N2N1P/P4PP1/R4RK1 b kq - 0 14 -0.41 [+] [*] 14... d5 15. exd5 (depth 31, 0:05:00) -0.56 [+] [*] 14... g5 15. Bd2 g4 16. hxg4 Bxg4 17. Nh4 Qd7 18. Rab1 Rg8 19. Rfe1 Be6 20. Qd3 Rg4 21. g3 O-O-O 22. Ng2 f5 23. Nf4 Kb8 24. d5 Bf7 25. Rxb6 axb6 26. exf5 Re8 27. dxc6 bxc6 28. f6 Nc8 29. Rxe8 Qxe8 30. Qxh7 d5 31. Na4 d4 32. Qh3 Rg8 (depth 30, 0:05:00) -0.43 [+] [*] 14... Ba5 15. Rfe1 Bxc3 16. Qxc3 Ng6 17. Bg3 O-O 18. Qb3+ Rf7 19. Rac1 d5 20. exd5 Qxd5 21. Qxd5 cxd5 22. Nh4 Nxh4 23. Re8+ Rf8 24. Rxf8+ Kxf8 25. Bxh4 b6 26. Rc7 Ba6 27. Bg3 Bc4 28. a3 Kg8 29. f3 a5 30. a4 Ba6 31. Kf2 Rc8 32. Rxc8+ Bxc8 33. f4 Kf7 (depth 30, 0:05:00) [+] 14... d5 (suggested move) === FEN: r1bq1rk1/pp2n1pp/1b3p2/3p4/3P1B2/1QN2N1P/P4PP1/R4RK1 w - - 2 17 -0.24 [+] [*] 17. Rae1 Rf7 (depth 32, 0:05:00) -0.13 [+] [*] 17. Rfe1 Rf7 18. Nb5 Ba5 19. Rec1 Ng6 20. Bg3 Rd7 21. Rc5 Ne7 22. Rac1 Nc6 23. Nd6 Rxd6 24. Bxd6 Qxd6 25. Rxd5 Qe6 26. Rxc6 bxc6 27. Rxa5 Qxb3 28. axb3 Be6 29. Ne1 Bxb3 30. Nd3 Rd8 31. Nb4 Rxd4 32. Nxc6 Ra4 33. Rxa7 Rxa7 34. Nxa7 Ba4 35. Kf1 Kf7 36. Ke2 Bd7 37. f3 Ke6 38. Ke3 g5 (depth 31, 0:05:00) -0.65 [+] [*] 17. a4 Rf7 18. Rfe1 Ba5 19. Bd2 b6 20. Rac1 Ba6 21. Nb5 Bxd2 22. Nxd2 Nf5 23. g4 Bxb5 24. axb5 Nh4 25. Rc6 Ng6 26. Qg3 Qd7 27. Qd6 Qxd6 28. Rxd6 Nf4 29. Re3 f5 30. Rc6 Rd8 31. Nb3 fxg4 32. hxg4 Ng6 33. f3 Re7 (depth 31, 0:05:00) [+] 17. Rae1 (suggested move) === Assuming the evaluations are reliable[1], ChessX should sort the data structure backing the display box before selecting a move when time runs out. Thanks, Joe [1]: Notice that in each of these cases, the recommended move was evaluated at a depth 1-ply more than the others. I suspect that, when time ran out, the engine was not finished evaluating at the new depth. That may be a source of unreliability. -- Nothing Unreal is Self-Aware |