Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Interesting mate test for hashing (with EPD)

Author: Robert Hyatt

Date: 06:44:57 09/10/99

Go up one level in this thread


On September 10, 1999 at 02:27:21, Richard A. Fowell (fowell@netcom.com) wrote:

>As Dan points out later, this is "White being crushed" and the EPD is:
>8/p7/P5p1/7p/7P/4kpK1/8/8 w - -
>(I put the "with EPD" in the hopes to save folks the trouble Dan and I
> went through).
>

what kind of trouble?  I posted both epd and an ascii board in my original
post...

aha.. I bet you mean the lack of /8/, etc? The _original_ Forsythe notation
did not require that each rank be padded to 8 squares.  That happened later
and (IMHO) is a silly limitation in FEN, because if each rank needs 8 squares,
then the / characters are redundant.  the original Forsythe notation was more
compact which was why it was developed in the first place.

Crafty stores using the original format. I'll modify it to use normal FEN for
those programs that can't parse unless each rank is full...


>Anyway, I tried this on a few programs.
>
>===============
>MacChess
>===============
>MacChess 5.01, given White, takes 8 ply and 3 seconds to conclude mate 6:
>
>02/01|00:00:00|          27| -293| Kh3 f2 Kg2
>03/01|00:00:00|         169| -295| Kh3 Kf4 Kh2 f2
>03/01|00:00:00|         379| -290| Kh2 Ke2 Kg3 f2
>04/01|00:00:00|        1200|-1060| Kh2 Ke2 Kg3 f2 Kg2 f1=Q+ Kg3
>05/01|00:00:00|        4545|-1069| Kh2 Ke2 Kg3 f2 Kf4 f1=Q+ Kg5 Qf5+ Kh6 Kd3
>06/01|00:00:00|       60485|-1209| Kh2 f2 Kg2 Ke2 Kg3 f1=Q Kh2 Qf3 Kg1
>                                                  Qg3+ Kh1 Qxh4+ Kg2
>07/01|00:00:01|      255518|-1217| Kh2 f2 Kg2 Ke2 Kg3 f1=Q Kh2 Ke3 Kg3 Qf2+
>                                          Kh3 Qf3+ Kh2 Kd4 Kg1 Qg3+ Kh1 Qxh4+
>08/01|00:00:03|      702572|-M6  | Kh2 f2 Kg2 Ke2 Kg3 f1=Q Kh2 g5 hxg5
>                                          Kf3 g6 Qg2+
>=================
>Sigma Chess
>=================
>Sigma Chess 4.01 Lite takes 10 ply (1 second, 57601 nodes)
>to see it's demise, coming up with the same line Bob gives:
>
>Kh3 f2
>Kg2 Ke2
>Kg3 f1Q
>Kh2 g5
>hg  Kf3
>g6  Qg2#
>
>=================
>HIARCS 7.0
>=================
>HIARCS 7.0 sees the mate at 9 ply, and is happy:
>09   1.Kh2 f2 Mat-8
>In analysis mode, it does better, seeing the mate in 6 at 9 ply.
>
>Richard A. Fowell (fowell@netcom.com)
>
>
>
>
>On September 10, 1999 at 00:19:37, Robert Hyatt wrote:
>
>>Here is an interesting position given to me by Steffen Jakob:
>>
>> /p/P5p/7p/7P/4kpK/// w
>>
>>       +---+---+---+---+---+---+---+---+
>>    8  |   |   |   |   |   |   |   |   |
>>       +---+---+---+---+---+---+---+---+
>>    7  | *P|   |   |   |   |   |   |   |
>>       +---+---+---+---+---+---+---+---+
>>    6  | P |   |   |   |   |   | *P|   |
>>       +---+---+---+---+---+---+---+---+
>>    5  |   |   |   |   |   |   |   | *P|
>>       +---+---+---+---+---+---+---+---+
>>    4  |   |   |   |   |   |   |   | P |
>>       +---+---+---+---+---+---+---+---+
>>    3  |   |   |   |   | *K| *P| K |   |
>>       +---+---+---+---+---+---+---+---+
>>    2  |   |   |   |   |   |   |   |   |
>>       +---+---+---+---+---+---+---+---+
>>    1  |   |   |   |   |   |   |   |   |
>>       +---+---+---+---+---+---+---+---+
>>         a   b   c   d   e   f   g   h
>>
>>
>>Obviously black is getting crushed.  He has one move, Kh3, which leads to a
>>mate in 6.  Steffen asked me to try this and Crafty found a mate in 4, which
>>doesn't exist.  I spent the entire day debugging this thing and here is what
>>I found:
>>
>>If you recall the discussion here a couple of weeks ago, I reported that I store
>>absolute mate scores (EXACT scores) in the hash table, and that I adjust them
>>so that they are always stored as "mate in N from the current position".  This
>>has always worked flawlessly for me, and still does.
>>
>>For bounds, I once tried adjusting the bounds as well, but found quirks, and
>>left them alone.  Wrong answer.  To fix this mate in 4 problem, I decided to
>>adjust the bounds as well, but I now set any bound value that is larger than
>>MATE-300, by reducing it to exactly MATE-300, but still using the "LOWER"
>>flag to say that this is the lowest value this position could have.  For bound
>>values < -MATE+300, I set them to exactly -MATE+300 and leave the flag as is.
>>
>>This position is cute.  Because not only is it a mate in 6, but there are
>>transpositions that lead to mate in 7, mate in 8, and there are shorter (but
>>non-forced) mates in 4 and 5.  And there are stalemates, and positions with
>>1 legal move, and so forth.
>>
>>You ought to find the following variation as one mate in 6:
>>
>>Kh3, f2, Kg2, Ke2, Kg3, f1=Q, Kh2, g5, hg, Kf3, g6, Qg2#
>>
>>If you find a shorter mate, it is wrong.  If you find a longer mate, you
>>are probably just extending like mad on checks (crafty finds a mate in 8 at
>>shallow depths (9 plies, 2 secs on my PII/300 notebook), and doesn't find the
>>mate in 6 until depth 10, 3 seconds.
>>
>>It is a good test as the transpositions are real cute with white's king caught
>>in a tiny box, but with several different moves that triangulate and transpose
>>into other variations...
>>
>>If you get it right, you have either handled the bounds right, or else you are
>>very lucky.  IE Crafty 16.17 gets this dead right.  But if I disable the eval,
>>it goes bananas, yet the eval is not important when mate is possible.
>>
>>Have fun...
>>
>>I did... :)



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.