the solution is was quickly found by engine A at ply 2, yet was not found
untill ply 10 on engine B.
I changed the move ordering on engine B to place captures at a higher
priority, since the solution to the puzzle was to make a capture. (Knight for Pawn leading to +2.00 or more advantage.)
After that, the move was considered at ply 2, but not searched deeply enough to show the advantage, and skipped again untill later plys.
so:
engine B looks at the move and thinks its bad :
Code: Select all
2 -50 1 77 f5g7 ??
2 -17 1 81 f1f2 !
2 31 3 153 f1f2 a6a5
2 31 6 493 f1f2 a6a5
3 -19 6 505 f5g7 ??
3 -18 8 806 f1f2 !
3 45 9 1202 f1f2 a6a5 g2h3
3 45 15 1601 f1f2 a6a5 g2h3
Code: Select all
10 111 1998 5542512 f5g7 !!
stat01: 2088 5738496 10 0 0
stat01: 2187 6070272 10 0 0
stat01: 2289 6397952 10 0 0
stat01: 2390 6758400 10 0 0
stat01: 2489 7098368 10 0 0
10 235 2529 7212816 f5g7 e8f8 g7f5 a8a7 f1f2 a7d7
10 235 2529 7212816 f5g7 e8f8 g7f5 a8a7 f1f2 a7d7
10 235 2550 7245303 f5g7 e8f8 g7f5 a8a7 f1f2 a7d7
Code: Select all
info multipv 1 depth 1 score cp 45 time 0 nodes 1112 pv f5e3 b8b7
info multipv 1 depth 2 score cp 27 time 94 nodes 1628 pv f5e3 b8b7 e3c4
info multipv 1 depth 2 score cp 149 time 94 nodes 2000 pv f5g7 g8g7 f3f7 g7h8 f7h5 h8g8 h5g6 g8h8 g6h6 h8g8
info multipv 1 depth 3 score cp 149 time 94 nodes 2798 pv f5g7 g8g7 f3f7 g7h8 f7h5 h8g8 h5g6 g8h8 g6h6 h8g8
info multipv 1 depth 4 score cp 74 time 109 nodes 7733 pv f5g7 e5g7 f3f7 g8h8 f7h5 h8g8 f1f7 e8e4
info multipv 1 depth 5 score cp 163 time 203 nodes 14783 pv f5g7 e8f8 g7f5 b8b5 f5h6 g8h7 f3f5 h7g7 h6f7
info multipv 1 depth 6 score cp 187 time 203 nodes 19283 pv f5g7 e8f8 g7f5 b8b7 h4h5 e5b2
seems to not look at this move in much detail before going to another move, where engine A seems to be looking at it deeper and sees an advantage.
Any ideas? Ultimately I suppose I'd like the engine to consider captures very early, and to extend them.
I dont know how to write a capture extension. (in c, I am writing in)
Even on ply 6 engine B gives only : f5g7??
where engine A gives : f5g7 g8g7 f3f7 g7h8 f7h5 h8g8 h5g6 g8h8 g6h6 h8g8 - as early as ply 2.
I'd like engine B to extend this line as A does, and not give just 1 move without any search.
How can I get it to extend the line?