Not logged inRybka Chess Community Forum
Up Topic The Rybka Lounge / Test Positions / Something simple that engines can't see
- - By Benhur (*) [ca] Date 2011-07-23 18:04
5nQ1/4k3/3p2p1/3P1pP1/5P2/5K2/8/b7 w - -


White to move.
This is a case where engines can't see something humans see right away. This game was agreed a draw at this position, because it is a draw.  It quickly becomes clear that the only thing black has to do in order to draw is to keep moving the bishop on the long diagonal, anywhere between a1 and d4. The white queen remains imprisoned, and the white king can't penetrate the fortress or catch the bishop.

Well, engines don't seem to understand the notion of life in prison. They all think white is winning no matter how long you keep them running. They think, in their innocence, that the queen will eventually get out alive.
Parent - - By yusevich (**) [ie] Date 2011-07-24 08:12
Hi, thanks for this interesting post. Yes, it's strange that engines which play like Super GM don't see or understand this position. But it means that there is still much to be done to create PERFECT engines.
Parent - By rav (*) [us] Date 2011-08-21 13:57
Engines do not "understand" positions.  Understanding is clarity without calculation.  Engines have to calculate.  And each calculation is a new beginning.
Parent - By Clementin (*) [ca] Date 2011-10-29 18:54
On my netbook, it takes around 7 minutes to Chiron 1.1 to display a draw score:

62  0.00  238.2M  6:55.13  1.Ke3 Bc3 2.Kd3 Bb2 3.Kc4 Ke8 4.Kb5 Ke7 5.Kc6 Bd4 6.Kb7 Ba1 7.Kc8 Bc3 8.Kb7 Bd4 9.Ka6 Bc3 10.Ka7 Bd4+ 11.Ka6
62  0.00  238.2M  6:55.01  1.Ke3 Bc3 2.Kd3 Bb2 3.Kc4 Ke8 4.Kb5 Ke7 5.Kc6 Bd4 6.Kb7 Ba1 7.Kc8 Bc3 8.Kb7 Bd4 9.Ka6 Bc3 10.Ka7 Bd4+ 11.Ka6
61  0.00  236.6M  6:50.40  1.Ke3 Bc3 2.Kd3 Bb2 3.Kc4 Ke8 4.Kb5 Ke7 5.Kc6 Bd4 6.Kb7 Ba1 7.Kc8 Bc3 8.Kb7 Bd4 9.Ka6 Bc3 10.Ka7 Bd4+ 11.Ka6
61  0.00  236.4M  6:50.23  1.Ke3 Bc3 2.Kd3 Bb2 3.Kc4 Ke8 4.Kb5 Ke7 5.Kc6 Bd4 6.Kb7 Ba1 7.Kc8 Bc3 8.Kb7 Bd4 9.Ka6 Bc3 10.Ka7 Bd4+ 11.Ka6
60  0.00  235.3M  6:48.84  1.Ke3 Bc3 2.Kd3 Bb2 3.Kc4 Ke8 4.Kb5 Ke7 5.Kc6 Bd4 6.Kb7 Ba1 7.Kc8 Bc3 8.Kb7 Bd4 9.Ka6 Bc3 10.Ka7 Bd4+ 11.Ka6
60  0.00  235.2M  6:48.73  1.Ke3 Bc3 2.Kd3 Bb2 3.Kc4 Ke8 4.Kb5 Ke7 5.Kc6 Bd4 6.Kb7 Ba1 7.Kc8 Bc3 8.Kb7 Bd4 9.Ka6 Bc3 10.Ka7 Bd4+ 11.Ka6
59  0.00  234.1M  6:45.83  1.Ke3 Bc3 2.Kd3 Bb2 3.Kc4 Ke8 4.Kb5 Ke7 5.Kc6 Bd4 6.Kb7 Ba1 7.Kc8 Bc3 8.Kb7 Bd4 9.Ka6 Bc3 10.Ka7 Bd4+ 11.Ka6
59  0.00  234.1M  6:45.68  1.Ke3 Bc3 2.Kd3 Bb2 3.Kc4 Ke8 4.Kb5 Ke7 5.Kc6 Bd4 6.Kb7 Ba1 7.Kc8 Bc3 8.Kb7 Bd4 9.Ka6 Bc3 10.Ka7 Bd4+ 11.Ka6
58  0.00  233.8M  6:43.27  1.Ke3 Bc3 2.Kd3 Bb2 3.Kc4 Ke8 4.Kb5 Ke7 5.Kc6 Bd4 6.Kb7 Ba1 7.Kc8 Bc3 8.Kb7 Bd4 9.Ka6 Bc3 10.Ka7 Bd4+ 11.Ka6
58  0.00  233.6M  6:42.49  1.Ke3 Bc3 2.Kd3 Bb2 3.Kc4 Ke8 4.Kb5 Ke7 5.Kc6 Bd4 6.Kb7 Ba1 7.Kc8 Bc3 8.Kb7 Bd4 9.Ka6 Bc3 10.Ka7 Bd4+ 11.Ka6
58  +0.85  224.2M  6:15.66  1.Ke3
58  +0.85  224.1M  6:15.58  1.Ke3 Bc3 2.Kd3 Bb2 3.Kc4 Ke8 4.Kb5 Ke7 5.Kc6 Bd4 6.Kb7 Ba1 7.Kc8 Bc3 8.Kb7 Bd4 9.Ka6 Bc3 10.Ka7 Bb2 11.Ka6 Bc3
58  +1.53  216.6M  6:03.20  1.Ke3
58  +1.53  215.3M  6:01.65  1.Ke3 Bc3 2.Kd3 Bb2 3.Kc4 Ke8 4.Kb5 Ke7 5.Kc6 Bd4 6.Kb7 Ba1 7.Kb6 Bb2 8.Kb5 Ke8 9.Ka4 Ke7 10.Kb3 Ba1 11.Kb4 Bd4 12.Ka4 Ke8 13.Kb3 Ke7 14.Kb4 Bb2 15.Kb5
58  +1.87  209.2M  5:53.54  1.Ke3
58  +1.87  209.1M  5:53.45  1.Ke3 Bc3 2.Kd3 Bb2 3.Kc4 Ke8 4.Kb5 Ke7 5.Kc6 Bd4 6.Kb7 Ba1 7.Kb6 Bb2 8.Kb5 Ke8 9.Ka4 Ke7 10.Kb3 Ba1 11.Kb4 Bd4 12.Ka4 Ke8 13.Kb3 Ke7 14.Kb4 Bb2 15.Kb5
58  +2.04  204.9M  5:48.61  1.Ke3
58  +2.04  204.8M  5:48.53  1.Ke3 Bc3 2.Kd3 Bb2 3.Kc4 Ke8 4.Kb5 Ke7 5.Kc6 Bd4 6.Kb7 Ba1 7.Kb6 Bb2 8.Kb5 Ke8 9.Ka4 Ke7 10.Kb3 Ba1 11.Kb4 Bd4 12.Ka4 Ke8 13.Kb3 Ke7 14.Kb4 Bb2 15.Kb5
57  +2.21  201.5M  5:44.09  1.Ke3 Bc3 2.Kd3 Bb2 3.Kc4 Ke8 4.Kb5 Ke7 5.Kc6 Bd4 6.Kb7 Ba1 7.Kb6 Bb2 8.Kb5 Ke8 9.Ka4 Ke7 10.Kb3 Ba1 11.Kb4 Bd4 12.Ka4 Ke8 13.Kb3 Ke7 14.Kb4 Bb2 15.Kb5

...

20  +3.22  104488  0:01.24  1.Ke3 Bc3 2.Kd3 Bb2 3.Ke2 Bd4 4.Kd2 Ba1 5.Ke1 Bd4 6.Kf1 Bc3 7.Kg2 Ba1 8.Kf3 Bd4 9.Kg3 Bc3 10.Kf2 Bd4+
19  +3.28  91515  0:01.17  1.Ke3 Bc3 2.Kd3 Bb2 3.Ke2 Bd4 4.Kd2 Ba1 5.Kc2 Bd4 6.Kd2
19  +3.28  90068  0:01.13  1.Ke3 Bc3 2.Kd3 Bb2 3.Ke2 Bd4 4.Kd2 Ba1 5.Kc2 Bd4 6.Kd2
18  +3.28  80949  0:01.10  1.Ke3 Bc3 2.Kd3 Bb2 3.Ke2 Bd4 4.Kd2 Ba1 5.Kc1 Bc3 6.Kd1 Bb2 7.Ke1 Bd4 8.Kd2
18  +3.28  80083  0:01.04  1.Ke3 Bc3 2.Kd3 Bb2 3.Ke2 Bd4 4.Kd2 Ba1 5.Kc1 Bc3 6.Kd1 Bb2 7.Ke1 Bd4 8.Kd2
17  +3.28  78976  0:01.03  1.Ke3 Bc3 2.Kd3 Bb2 3.Ke2 Bd4 4.Kd2 Ba1 5.Kc1 Bc3 6.Kd1 Bb2 7.Ke1 Bd4 8.Kd2
17  +3.28  78854  0:01.01  1.Ke3 Bc3 2.Kd3 Bb2 3.Ke2 Bd4 4.Kd2 Ba1 5.Kc1 Bc3 6.Kd1 Bb2 7.Ke1 Bd4 8.Kd2
17  +3.32  66407  0:00.98  1.Ke3
17  +3.31  66231  0:00.95  1.Ke3 Bc3 2.Kd3 Bb2 3.Ke2 Bd4 4.Kd2 Ba1 5.Kc1 Bc3 6.Kb1 Bd4 7.Kc2 Ba1 8.Kb3 Bd4 9.Kb4
17  +3.49  63445  0:00.93  1.Ke3
17  +3.49  62734  0:00.90  1.Ke3 Bc3 2.Kd3 Bb2 3.Ke2 Bd4 4.Kd2 Ba1 5.Kc1 Bc3 6.Kb1 Bd4 7.Kc2 Ba1 8.Kb3 Bd4 9.Kb4
16  +3.66  61080  0:00.85  1.Ke3 Bc3 2.Kd3 Bb2 3.Ke2 Bd4 4.Kd2 Ba1 5.Kc1 Bc3 6.Kb1 Bd4 7.Kc2 Ba1 8.Kb3 Bd4
16  +3.66  55168  0:00.82  1.Ke3 Bc3 2.Kd3 Bb2 3.Ke2 Bd4 4.Kd2 Ba1 5.Kc1 Bc3 6.Kb1 Bd4 7.Kc2 Ba1 8.Kb3 Bd4
15  +3.66  53842  0:00.81  1.Ke3 Bc3 2.Kd3 Bb2 3.Ke2 Bd4 4.Kd2 Ba1 5.Kc1 Bc3 6.Kb1 Bd4 7.Kc2 Ba1 8.Kb3
...
- By kevsamiga (*) [gb] Date 2011-07-24 04:19
Many if not all engines have a hard time understanding fortress type positions.

If only engines were able to look 100 ply ahead, then fortress draws like these would be discovered using the 50 move rule, as it would then indicate no progress could be made.
I suppose we'll just have to wait for technology to catch up, or failing that, some kind of paradigm shift in chess programming using techniques no one has thought of yet.
- - By Benhur (*) [ca] Date 2011-07-25 11:59
Looks like the key piece of information that we quickly grasp --the fact that the queen can't get out as long as the bishop is in the diagonal -- is impossible to convey in engine language.

This is the position 3 moves earlier, when black realized how he could draw.

4knQ1/7r/3p2p1/2bP1pP1/5P1N/6K1/8/8 b - -


Here black found 59...Rxh4!!

Now after white takes the rook, black just brings the bishop to the long diagonal, and the white queen is in stalemate forever. All that remains for black to do is to close the fortress with Ke7 at some point to protect the d6 pawn. The engines of course are totally blind to any of this, just counting material, so they can never find Rxh4.

If white wants to free his queen, he could only do it by giving up on recapturing, playing 60. Qg6 instead. But then black is clearly winning after  61...Rh7.

So the game continued

60. Kxh4  Bd4 (getting the draw)  61. Kg3 Ke7  62. Kf3 Ba1  1/2-1/2
Parent - - By ernest (****) [fr] Date 2011-07-25 17:20

> Here black found 59...Rxh4!!


Now is this the only saving move?

Houdini of course doesn't understand ...Rxh4 and says ...Bf2+

(@depth 33)
4knQ1/7r/3p2p1/2bP1pP1/5P1N/6K1/8/8 b - - 0 1
Analysis by Houdini 1.5a w32 gtb:
1. +-  (1.87): 1...Bf2+ 2.Kxf2 Rxh4 3.Ke3 Rh3+ 4.Kd2 Rh7 5.Kd3 Rh4 6.Qg7 Rxf4 7.Qf6 Rg4 8.Kd2 Rg2+ 9.Ke3 Rg3+ 10.Kd4 Rg4+ 11.Kd3 Rg1 12.Ke2 Rg3 13.Kf2 Rg4 14.Kf3 Rg1 15.Qxd6 Rxg5 16.Qc6+ Kf7 17.Qb7+ Kg8 18.d6 Rg4 19.d7 Nxd7 20.Qxd7 Re4 21.Qc7 Rg4 22.Qe7 Rd4 23.Qb7 Rg4 24.Qc7 Rd4 25.Qe5 Re4 26.Qd5+ Kg7 27.Qb7+ Kf6 28.Qc6+ Kg7 29.Qb7+ Kf6
2. +-  (3.95): 1...Rxh4 2.Kxh4 Bd4 3.Kg3 Bb2 4.Kg2 Bd4 5.Kf3 Ke7 6.Kg3 Ke8 7.Kg2 Ba1 8.Kf1 Ke7 9.Kf2 Bd4+ 10.Kf3 Ba1 11.Kg3 Bd4 12.Kf3 Ba1
Parent - By Benhur (*) [ca] Date 2011-07-25 18:23 Edited 2011-07-25 18:28
It's funny that after 1...Rxh4 2.Kxh4, Houdini does all the right things:  it immediately brings the black bishop to d4 and then keeps it in that diagonal, and it keeps the black king where it belongs --all of it clearly to prevent the queen from escaping. And yet it can't evaluate the position at all. It doesn't even understand that what it's doing is  "preventing the queen from escaping", so how could it even begin to understand that it can keep doing it forever?
- By Benhur (*) [ca] Date 2011-07-25 14:52
One provisional conclusion from this is the following: The notion of "never" or "forever" seems inexpressible in computational terms, unachievable by computational means except by exhausting all the possible continuations to the very end, a monstruous task. But if the brain is a computational object, then how does our brain manage to bypass all this and arrive at "never" so quickly? (our brain does exactly that, even if there were no move limit). Conclusion: our brain cannot be a purely computational object. If not by computation, by what means does the brain arrive at the "never" conclusion?
- - By Kornrade (*) [ro] Date 2011-07-28 10:48 Edited 2011-07-28 10:53
Today's engines have 4 huge gaps of understanding:
- Fortress, be it around the enemy queen, king, or around the own king, where the humans use the concepts of "never" and "forever" to understand the position
- Long-term strategy, when humans see without calculating that a favourable position will eventually come on the board, even if they don't know how many moves it takes to get there.
- Zugzwang (self-explanatory)
- Cycles, when one move of progress is achieved after a cycle of N moves (extended zwischenzug)... Some have considered this to be the same as long term strategy, I think it has some particularities.

The following study shows three concepts, and after several moves into the solution, the engines evaluate it as -3.00 ... -7.00, despite the fact that it is a win for white.
The winning procedure is easily explained:
First, create a threat to force Black to move the queen to a8
Second, lock the queen (and bishop) in -- this is fortress
Third, get the king to d8 -- this is long term strategy
Fourth, break the fortress by zugzwang
http://rybkaforum.net/cgi-bin/rybkaforum/topic_show.pl?pid=286726;hl=

There are many other studies, some extremely beautiful, that use one or more of the concepts above to fool engines.
Parent - - By rav (*) [us] Date 2011-08-21 14:04
As I replied to an earlier post, Engines do not understand.  To understand is to find clarity without calculation it is intuitive, it comes from either experience or genius.  This is the same conceptual rut that AI programmers all fall into.  Computers do not think, they do not undertsand.  The software allows the computer to calculate.  The calculation follows an algorythm.  The success of that algorythm is a testament to the programmers understanding of the problem and the ability to find a solution. 

To paraphrase, "Today's engines have 4 huge gaps of in their programming:"
Parent - By Benhur (*) [ca] Date 2011-08-21 23:00
I think it's understood that when we use the word "think" or "understand" in these cases we do so in a metaphorical way. The important thing is that we understand how a computer "thinks" since we are the ones creating the algorithms. But we have no idea how we think, or how we arrive so quickly at a certain understanding in a position that the computer can only arrive at by exhausting all the possible continuations. We bring in words like intuition, genius, experience, to describe what we do, but really these words can barely describe what we do, let alone explain how we do it.
Up Topic The Rybka Lounge / Test Positions / Something simple that engines can't see

Powered by mwForum 2.27.4 © 1999-2012 Markus Wichitill