Kempelen wrote:I found this position searching in the forum.
[D]4k3/8/8/8/8/8/4P3/4K3 w
It was posted in a thread about testing transposition table. OK I said, let's test it. What I found is that my engine does not find the solution even TT working fine. Then I give the position to other engines which I know TT work apparently fine. The conclusion is that there were engines which dont found the solution even in 30 depth or even passes 2 minutes:
I.e, Buzz engine:
Code: Select all
31 169 2268 12551036 Kd2 Kd7 Kd3 Kd6 Kd4 Ke6 Ke4 Ke7 Ke5 Kf7 Kd6 Kf6 e4 Kg5 e5 K
f4 e6 Ke3 Kd5 Kd3 Ke5 Kc4 Ke4 Kb3 Kd4 Ka2 Kd3 Ka3 Ke4 Kb3
31 169 2270 12557132 Kd2 Kd7 Kd3 Kd6 Kd4 Ke6 Ke4 Ke7 Ke5 Kf7 Kd6 Kf6 e4 Kg5 e5 K
f4 e6 Ke3 Kd5 Kd3 Ke5 Kc4 Ke4 Kb3 Kd4 Ka2 Kd3 Ka3 Ke4 Kb3
i.e2, Mizar:
Code: Select all
19 238 176 1560515 e1d2 e8e7 d2e3 e7d7 e3f4 d7e7 f4f5 e7f7 e2e4 f7e7 e4e5 e7f7 e
5e6 f7e8 f5f4 e8f8 f4e4 f8e8 e4e5 e8f8
20 238 198 1771848 e1d2 e8e7 d2e3 e7d7 e3f4 d7e7 f4f5 e7f7 e2e4 f7e7 e4e5 e7f8 e
5e6 f8e7 f5e5 e7f8 e5f6 f8e8 f6e5 e8f8
As I see, my search tend to fill with king moves or premature pawn push:
Code: Select all
19 197 1425 8622288 1. Kd2 Kd7 2. e4 Ke6 3. Kd3 Ke7 4. Ke3 Ke8 5. e5 Kf8
6. Kd4 Ke7 7. Kd5 Kd7 8. e6+ Kc7 9. Ke5 Kd8 10. Kf6 Kc7
20 197 2571 15915625 1. Kd2 Kd7 2. e4 Ke6 3. Kd3 Ke7 4. Ke3 Ke8 5. e5 Kf8
6. Kd4 Ke7 7. Kd5 Kd7 8. e6+ Ke7 9. Ke5 Ke8 10. Ke4 Kf8 11. Kd5
Of course, I add pawn passed bonus, pawn position bonus and all those things...
What is exactly needed here to correctly find the solution, a part from a correct TT implementation?
You should be able to see a queen very quickly. A simple piece of chess knowledge can help, but it is not necessary.
The simple rule for king and pawn vs king, pawn not a rookpawn, is that if the winning king is 2 squares in front of the pawn, and the pawn can't be taken by the opponent, then the position is won. If the king is one square in front of the pawn, the pawn can't be captured, and the winning king has the opposition, then the position is won.
If any of the above fail, the position is a draw. This position is trivially won since the king can reach a position that meets the above very quickly.
If you can't solve this one in a second or so, you still have some search/transposition table issues even though you think it is working correctly...
Crafty can see the mate here, without endgame tablebases. It takes about 2 minutes to find a mate in 22. EGTB's confirm that this is the shortest mate.
Here's some snapshots:
Code: Select all
depth time score variation (1)
1 0.02 1.60 1. e4 (600nps)
1-> 0.02 1.60 1. e41 (850nps)
2 0.02 1.54 1. e4 Kd7 (900nps)
2-> 0.02 1.54 1. e4 Kd7 (1Knps)
3 0.02 1.92 1. e4 Kd7 2. e5ps)
3-> 0.02 1.92 1. e4 Kd7 2. e5ps)
4 0.02 1.54 1. e4 Kd7 2. Kf2 Ke6
4 0.02 +1 1. Kf2!
4 0.02 +3 1. Kf2!
4 0.02 +M 1. Kf2!
4 0.02 6.56 1. Kf2 Kd7 2. Kf3 Ke6
4-> 0.02 6.56 1. Kf2 Kd7 2. Kf3 Ke6
At this point, Crafty's endgame knowledge has classified this as a "won position" because of the rules I gave.
27 0.49 +1 1. Kf2!
27 0.51 +3 1. Kf2!
27 0.51 +M 1. Kf2!
27 0.53 12.84 1. Kf2 Kf8 2. Kf3 Kf7 3. Ke4 Ke6 4.
e3 Kd6 5. Kf5 Ke7 6. Ke5 Kd7 7. Kf6
Kd6 8. e4 Kd7 9. e5 Ke8 10. Ke6 Kf8
11. Kd7 Kf7 12. e6+ Kf6 13. e7 Kf5
14. e8=Q Kf4
at depth=27, 0.5 secnds, it sees that the pawn can actually promote to a queen...
41 3.90 +1 1. Kf2!
41 4.14 +3 1. Kf2!
41 4.28 +M 1. Kf2!
41 2:24 Mat22 1. Kf2 Kd7 2. Kf3 Ke7 3. Ke4 Ke6 4.
e3 Kd6 5. Kf5 Ke7 6. Ke5 Kd7 7. Kf6
Kc6 8. Ke6 Kb5 9. e4 Kc5 10. e5 Kc6
11. Kf7 Kb5 12. e6 Kb4 13. e7 Kc3 14.
e8=Q Kd2 15. Ke6 Ke2 16. Qd8 Ke1 17.
Qd4 Kf1 18. Qd2 Kg1 19. Kf5 <HT>
At depth 41 it fails high after 3.9 seconds, and after a long search, announces the mate in 22...