Friday, 15 June 2018

Syzygy Endgame Explorer (SEE)

Syzygy Endgame Explorer (SEE) is a software written by me for mining the newly generated 7-man endgame tablebases. In my previous post, I've presented the first study based on this mutual zugzwang found by SEE:

The tool can not only find mutual zugzwangs but can also identify positions where interesting moves are the only winning ones (like when a piece moves to a corner square or it is sacrificed). The software is still in the very early phases of development but my goal is to write a tool similar to CQL which searches tablebases instead of pgn files.

For example, this is a position found by SEE:

The only winning move for white is a surprising move to the corner square: 1.Ka1! (tempo). Black is in zugzwang, although not a mutual one. White could reverse its key by moving back to b2.

Making a full search in the tablebase is very time-consuming. Instead, I did searches by adding some constraints to the position of pieces. The following mutual zugzwang was found by restricting the knights to the long diagonal. It is interesting to see how two knights are immobilised in opposite corners:

The next position is a mutual zugzwang unless black has still kept the right to castle! If black can still castle, it saves the draw by 1...0-0! This position was found by restricting the black king to e8 and the black rook to h8.

An interesting mutual zugzwang:

There are 13 mutual zugzwangs with the same configuration of pieces in the upper left corner (with the same material):

rQ6/P2k4/8/8/8/5q2/4R3/3K4 w - - 0 1
rQ6/P7/8/8/R7/2q4k/8/3K4 w - - 0 1
rQ6/P7/8/q7/1R6/8/8/k3K3 w - - 0 1
rQ6/P2k4/5q2/4R3/8/8/1K6/8 w - - 0 1
rQ6/P2k4/8/4R3/8/5q2/2K5/8 w - - 0 1
rQ6/P2k4/2q5/4R3/8/1K6/8/8 w - - 0 1
rQ6/P7/8/3q4/R7/4K2k/8/8 w - - 0 1
rQ6/P4R2/8/8/4K3/8/6k1/7q w - - 0 1
rQ6/P7/4R1K1/8/6k1/8/6q1/8 w - - 0 1
rQ6/P7/4R2K/8/8/5q1k/8/8 w - - 0 1
rQ6/P3K3/2q5/4R3/k7/8/8/8 w - - 0 1
rQ6/P3K3/2q5/4R3/2k5/8/8/8 w - - 0 1
rQ6/P2k2K1/8/3q4/6R1/8/8/8 w - - 0 1

My underpromotion code also seems to work. A sample position:

1. c8=R!! 1. c8=Q? Ra2+! 2. Kxa2 Qxb3+ 3. Ka1 Qc3+! 4. Qxc3 stalemate 1... Rxc8 1... Ra2+ 2. Kxa2 Qxb3+ 3. Ka1 Qc3+ 4. Rxc3 +- 2. Qa6+ Kxb3 3. Qa2+ +-

No comments: