The point is to know more, to understand more, to share more.
According to AI, this fen is causing a branching explosion. The heavy threats are forcing the engine to calculate deep check sequences. It said without sufficient hash memory, the engine was re-evaluating the exact same sub-trees millions of times, creating a massive bottleneck. Well it was not true, because I tested again this morning, with stockfish 19 (default settings), directly in the terminal, for 5 seconds.
position fen r2r2k1/2q1bp2/p1b1p2Q/3pP2P/1p2P3/3B4/PPP1N1P1/1K1R3R b - - 0 21
go movetime 5000
...
info depth 19 seldepth 45 multipv 1 score cp -312 nodes 2040784 nps 408156 hashfull 691 tbhits 0 time 5000 pv d5e4 h1h3 c7e5 h3g3 e5g3 e2g3 e4d3 c2d3 c6a4 b2b3 a4b5 d3d4 d8d5 h6f4 a8f8 h5h6 e7h4
bestmove d5e4 ponder h1h3
In the terminal in did not jam at a depth. So it must be in the code I used.
I increased the time to see what depth it could reach in 30 seconds (30,000 milliseconds):
go movetime 30000
...
info depth 31 seldepth 60 multipv 1 score cp -392 nodes 16571770 nps 552392 hashfull 991 tbhits 0 time 30000 pv d5e4 h1h3 c7e5 h3g3 e5g3 e2g3 e4d3 c2d3 c6b5 d3d4 d8d5 h6f4 a8f8 g3e4 b5e2 f4g3 g8h7 d1c1 d5f5 g3e3 e2g4 c1c7 e7d8 c7b7 f5h5 a2a4 h5d5 b7b4 h7g7
bestmove d5e4 ponder h1h3
What is the point of engine self-play with depth settings, if they are going to jam on a FEN code and never reach the depth requested. I've learned my lesson, and now I use time per move. Each move will have a different depth and nodes ...
I should of noted the number of nodes. It would of explained the hang effect ... if it was actually analyzing more or just looping like the AI was trying to say.
My project code is trying to find alternative best moves, using 3 settings, depth, time, and nodes.
What I forgot in the code was to use a timed fall-back.
The point is to know more, to understand more, to share more.
According to AI, this fen is causing a branching explosion. The heavy threats are forcing the engine to calculate deep check sequences. It said without sufficient hash memory, the engine was re-evaluating the exact same sub-trees millions of times, creating a massive bottleneck. Well it was not true, because I tested again this morning, with stockfish 19 (default settings), directly in the terminal, for 5 seconds.
position fen r2r2k1/2q1bp2/p1b1p2Q/3pP2P/1p2P3/3B4/PPP1N1P1/1K1R3R b - - 0 21
go movetime 5000
...
info depth 19 seldepth 45 multipv 1 score cp -312 nodes 2040784 nps 408156 hashfull 691 tbhits 0 time 5000 pv d5e4 h1h3 c7e5 h3g3 e5g3 e2g3 e4d3 c2d3 c6a4 b2b3 a4b5 d3d4 d8d5 h6f4 a8f8 h5h6 e7h4
bestmove d5e4 ponder h1h3
In the terminal in did not jam at a depth. So it must be in the code I used.
I increased the time to see what depth it could reach in 30 seconds (30,000 milliseconds):
go movetime 30000
...
info depth 31 seldepth 60 multipv 1 score cp -392 nodes 16571770 nps 552392 hashfull 991 tbhits 0 time 30000 pv d5e4 h1h3 c7e5 h3g3 e5g3 e2g3 e4d3 c2d3 c6b5 d3d4 d8d5 h6f4 a8f8 g3e4 b5e2 f4g3 g8h7 d1c1 d5f5 g3e3 e2g4 c1c7 e7d8 c7b7 f5h5 a2a4 h5d5 b7b4 h7g7
bestmove d5e4 ponder h1h3
What is the point of engine self-play with depth settings, if they are going to jam on a FEN code and never reach the depth requested. I've learned my lesson, and now I use time per move. Each move will have a different depth and nodes ...
I should of noted the number of nodes. It would of explained the hang effect ... if it was actually analyzing more or just looping like the AI was trying to say.
My project code is trying to find alternative best moves, using 3 settings, depth, time, and nodes.
What I forgot in the code was to use a timed fall-back.