Skippers sixty memorable bugs: nr 4

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

Henk
Posts: 7261
Joined: Mon May 27, 2013 10:31 am

Re: Skippers sixty memorable bugs: nr 4

Post by Henk »

Sven Schüle wrote:
Henk wrote:
Sven Schüle wrote:
Henk wrote:With TT.
Have you checked whether the dubious behaviour disappears when disabling TT? If it disappears then check your mate score handling when storing/retrieving values to/from TT.
Disabling TT does not help. I get this:

Code: Select all

Depth  Value   Time
  1  188305.00   0.013          31   c3b3 
  2  139153.00   0.020         166   c3c4 
  3  141353.00   0.024         472   c3c4 
  4  141353.00   0.029        1192   c3c4 
  5  141353.00   0.041        3206   c3c4 
  6  141353.00   0.061        7091   c3c4 
  7  266849.00   0.167       27779   c3c4 
  8  143353.00   0.344       60661   c3c2 
  9  190505.00   0.556      101337   c3c4 
 10  9999991.00   1.518      278102   c3c2 
 11  9999993.00   2.621      472611   c3c4 
 12  9999993.00   4.768      859834   c3c4 
Why does disabling TT lead to extremely shortened (1-ply) PVs?

Apart from that, the key problem seems to be something else. Now I would disable null move and re-enable TT. QSearch should not cause this kind of problem, unless you have a bug in the in-check detection.
It gets PV from TT. I will enable TT and disable null move and LMR.
Sven
Posts: 4052
Joined: Thu May 15, 2008 9:57 pm
Location: Berlin, Germany
Full name: Sven Schüle

Re: Skippers sixty memorable bugs: nr 4

Post by Sven »

Henk wrote:Does not help. Maybe I have to go back to an ancient pure alpha beta version with TT and or no qSearch.

Code: Select all

1  188258.00   0.015          31   c3b3 
  2  139106.00   0.020          93   c3c4 b3b7 
  3  141306.00   0.023         251   c3c4 b3b7 f3f2 
  4  141306.00   0.029         791   c3c4 b3b7 f3f2 b7d7 
  5  141306.00   0.040        2253   c3c4 b3b7 f3f2 b7c7 c4d5 
  6  141306.00   0.081        8537   c3c4 b3b7 f3f2 b7c7 c4d5 c7c1 
  7  141603.00   0.233       29375   c3c4 b3a3 g7g5 a3a4 d3b4 a4a3 b4d5 
  8  9999995.00   0.576       83831   c3c4 b3a3 g3g2 h2h3 c1h1 h3g2 f3g2 
  9  9999995.00   1.175      169343   c3c4 b3a3 g3g2 h2h3 c1h1 h3g2 f3g2 
 10  9999995.00   2.569      380597   c3c4 b3a3 g3g2 h2h3 c1h1 h3g2 f3g2 
 11  9999995.00   4.631      672281   c3c4 b3a3 g3g2 h2h3 c1h1 h3g2 f3g2
Hmm, that does not look like a qsearch problem at least. I would check the search code itself. It seems Skipper sees a mate that is not forced. Maybe there is a problem of stalemate detection? At least Skipper should see lots of white rook moves giving check. Instead it only sees Kh3 leading to being checkmated.
Henk
Posts: 7261
Joined: Mon May 27, 2013 10:31 am

Re: Skippers sixty memorable bugs: nr 4

Post by Henk »

Sven Schüle wrote:
Henk wrote:Does not help. Maybe I have to go back to an ancient pure alpha beta version with TT and or no qSearch.

Code: Select all

1  188258.00   0.015          31   c3b3 
  2  139106.00   0.020          93   c3c4 b3b7 
  3  141306.00   0.023         251   c3c4 b3b7 f3f2 
  4  141306.00   0.029         791   c3c4 b3b7 f3f2 b7d7 
  5  141306.00   0.040        2253   c3c4 b3b7 f3f2 b7c7 c4d5 
  6  141306.00   0.081        8537   c3c4 b3b7 f3f2 b7c7 c4d5 c7c1 
  7  141603.00   0.233       29375   c3c4 b3a3 g7g5 a3a4 d3b4 a4a3 b4d5 
  8  9999995.00   0.576       83831   c3c4 b3a3 g3g2 h2h3 c1h1 h3g2 f3g2 
  9  9999995.00   1.175      169343   c3c4 b3a3 g3g2 h2h3 c1h1 h3g2 f3g2 
 10  9999995.00   2.569      380597   c3c4 b3a3 g3g2 h2h3 c1h1 h3g2 f3g2 
 11  9999995.00   4.631      672281   c3c4 b3a3 g3g2 h2h3 c1h1 h3g2 f3g2
Hmm, that does not look like a qsearch problem at least. I would check the search code itself. It seems Skipper sees a mate that is not forced. Maybe there is a problem of stalemate detection? At least Skipper should see lots of white rook moves giving check. Instead it only sees Kh3 leading to being checkmated.
I made a mistake when disabling LMR. After correction I get this. [TT but no null move or LMR].

Code: Select all

Depth  Value   Time
  1  188226.00   0.015          31   c3b3 
  2  139074.00   0.020          93   c3c4 b3b7 
  3  141274.00   0.023         251   c3c4 b3b7 f3f2 
  4  141274.00   0.029         832   c3c4 b3b7 f3f2 b7e7 
  5  141274.00   0.049        3673   c3c4 b3b4 c4c5 b4b7 f3f2 
  6  141074.00   0.066        6289   c3c4 b3b4 c4c3 b4b5 g7g5 b5b7 
  7  130058.00   0.125       16109   c3c4 b3b4 c4c5 b4b5 c5c4 b5h5 f3f2 
  8  130058.00   0.196       23599   c3c4 b3b4 c4c5 b4b5 c5c4 b5h5 f3f2 h5h7 
  9  141074.00   0.466       60631   c3c4 b3b4 c4c5 b4b5 c5c6 b5b6 c6c7 b6b5 g7g5 
 10  142418.00   3.587      312243   c3d2 b3d3 d2e1 d3d2 g3g4 d2b2 f3f2 b2f2 e1f2 h2h3 
 11  158034.00   4.533      494213   c3d2 b3d3 d2e1 d3d2 g3h3 h2g1 e1d2 g1f2 c1c2 f2f1 g7g5 
 12  185426.00   8.499      711755   c3d2 b3d3 d2e1 d3d2 g3g4 d2b2 f3f2 b2b3 f2f1 b3e3 e1d2 e3e7 
 13  186476.00   14.860     1972521   c3d2 b3d3 d2e1 d3d2 d4d3 d2b2 c1c2 h2h1 g3h3 h1g1 f3f2 g1g2 f2f1 
 14  9999987.00   60.396     4167779   c3d2 b3d3 d2e1 d3d2 g3g4 d2b2  
So in Skipper both LMR and null move reductions may return non sense mate scores.
Sven
Posts: 4052
Joined: Thu May 15, 2008 9:57 pm
Location: Berlin, Germany
Full name: Sven Schüle

Re: Skippers sixty memorable bugs: nr 4

Post by Sven »

Henk wrote:I made a mistake when disabling LMR. After correction I get this. [TT but no null move or LMR].

Code: Select all

Depth  Value   Time
  1  188226.00   0.015          31   c3b3 
  2  139074.00   0.020          93   c3c4 b3b7 
  3  141274.00   0.023         251   c3c4 b3b7 f3f2 
  4  141274.00   0.029         832   c3c4 b3b7 f3f2 b7e7 
  5  141274.00   0.049        3673   c3c4 b3b4 c4c5 b4b7 f3f2 
  6  141074.00   0.066        6289   c3c4 b3b4 c4c3 b4b5 g7g5 b5b7 
  7  130058.00   0.125       16109   c3c4 b3b4 c4c5 b4b5 c5c4 b5h5 f3f2 
  8  130058.00   0.196       23599   c3c4 b3b4 c4c5 b4b5 c5c4 b5h5 f3f2 h5h7 
  9  141074.00   0.466       60631   c3c4 b3b4 c4c5 b4b5 c5c6 b5b6 c6c7 b6b5 g7g5 
 10  142418.00   3.587      312243   c3d2 b3d3 d2e1 d3d2 g3g4 d2b2 f3f2 b2f2 e1f2 h2h3 
 11  158034.00   4.533      494213   c3d2 b3d3 d2e1 d3d2 g3h3 h2g1 e1d2 g1f2 c1c2 f2f1 g7g5 
 12  185426.00   8.499      711755   c3d2 b3d3 d2e1 d3d2 g3g4 d2b2 f3f2 b2b3 f2f1 b3e3 e1d2 e3e7 
 13  186476.00   14.860     1972521   c3d2 b3d3 d2e1 d3d2 d4d3 d2b2 c1c2 h2h1 g3h3 h1g1 f3f2 g1g2 f2f1 
 14  9999987.00   60.396     4167779   c3d2 b3d3 d2e1 d3d2 g3g4 d2b2
So in Skipper both LMR and null move reductions may give non sense mate scores.
More precisely I would conclude that either LMR or null move causes the problem. To be sure which one it is I would now re-enable null move, so you test with TT + null move and without LMR. Maybe you do LMR despite being in check? Would be an explanation for not trying the rook checks that would save the draw ...

EDIT: forget the last sentence. But still LMR would be my favorite suspect.
Henk
Posts: 7261
Joined: Mon May 27, 2013 10:31 am

Re: Skippers sixty memorable bugs: nr 4

Post by Henk »

Sven Schüle wrote:
Henk wrote:I made a mistake when disabling LMR. After correction I get this. [TT but no null move or LMR].

Code: Select all

Depth  Value   Time
  1  188226.00   0.015          31   c3b3 
  2  139074.00   0.020          93   c3c4 b3b7 
  3  141274.00   0.023         251   c3c4 b3b7 f3f2 
  4  141274.00   0.029         832   c3c4 b3b7 f3f2 b7e7 
  5  141274.00   0.049        3673   c3c4 b3b4 c4c5 b4b7 f3f2 
  6  141074.00   0.066        6289   c3c4 b3b4 c4c3 b4b5 g7g5 b5b7 
  7  130058.00   0.125       16109   c3c4 b3b4 c4c5 b4b5 c5c4 b5h5 f3f2 
  8  130058.00   0.196       23599   c3c4 b3b4 c4c5 b4b5 c5c4 b5h5 f3f2 h5h7 
  9  141074.00   0.466       60631   c3c4 b3b4 c4c5 b4b5 c5c6 b5b6 c6c7 b6b5 g7g5 
 10  142418.00   3.587      312243   c3d2 b3d3 d2e1 d3d2 g3g4 d2b2 f3f2 b2f2 e1f2 h2h3 
 11  158034.00   4.533      494213   c3d2 b3d3 d2e1 d3d2 g3h3 h2g1 e1d2 g1f2 c1c2 f2f1 g7g5 
 12  185426.00   8.499      711755   c3d2 b3d3 d2e1 d3d2 g3g4 d2b2 f3f2 b2b3 f2f1 b3e3 e1d2 e3e7 
 13  186476.00   14.860     1972521   c3d2 b3d3 d2e1 d3d2 d4d3 d2b2 c1c2 h2h1 g3h3 h1g1 f3f2 g1g2 f2f1 
 14  9999987.00   60.396     4167779   c3d2 b3d3 d2e1 d3d2 g3g4 d2b2
So in Skipper both LMR and null move reductions may give non sense mate scores.
More precisely I would conclude that either LMR or null move causes the problem. To be sure which one it is I would now re-enable null move, so you test with TT + null move and without LMR. Maybe you do LMR despite being in check? Would be an explanation for not trying the rook checks that would save the draw ...

EDIT: forget the last sentence. But still LMR would be my favorite suspect.
You are probably right. Output using null move reductions only.

Code: Select all

 1  188195.00   0.015          31   c3b3 
  2  139043.00   0.021         166   c3c4 b3b7 
  3  141243.00   0.025         412   c3c4 b3b7 f3f2 
  4  141243.00   0.028         952   c3c4 b3b7 f3f2 b7e7 
  5  141243.00   0.041        3160   c3c4 b3a3 f3f2 a3a4 c4d5 
  6  184724.00   0.078       10277   c3c4 b3b2 g3g4 h2h3 d3b2 h3h2 
  7  188195.00   0.103       15985   c3c4 b3b2 g3g4 h2h3 d3b2 h3h2 b2d3 
  8  144418.00   0.240       42119   c3d2 b3d3 d2e2 d3f3 g3f3 h2g2 g7g5 g2h2 
  9  190395.00   0.421       82273   c3c4 b3b2 g3g4 b2c2 c1c2 h2h1 g4h4 h1g1 f3f2 
 10  184724.00   1.057      201493   c3c4 b3b4 c4c5 b4b5 c5c6 b5b2 g3g4 h2h3 d3b2 h3h2 
 11  184724.00   1.894      373835   c3c4 b3b4 c4c3 b4b3 
 12  184724.00   3.660      683320   c3c4 b3b4 c4c3 b4b3 
 13  184724.00   6.483     1266905   c3c4 b3b4 c4c3 b4b3 
 14  184724.00   10.778     1987449   c3c4 b3b4 c4c3 b4b3 
 15  220703.00   21.931     4250070   c3c4 b3b4 c4d5 b4b5 c1c5 b5c5 d3c5 h2h1 f3f2 h1h2 h5h4 h2h1 f2f1 h1h2 g7g5 
 16  9999985.00   44.674     7504345   c3c4 b3b4 c4d5 b4b5 c1c5 b5c5 d3c5 h2h1 f3f2 h1h2 h5h4 h2h1 f2f1 h1h2 f1g2 h2g2