Computer Chess Club Archives




Subject: Re: Very easy mate to solve.

Author: leonid

Date: 12:19:22 12/31/01

Go up one level in this thread

On December 31, 2001 at 10:58:46, Heiner Marxen wrote:

>On December 31, 2001 at 07:44:24, leonid wrote:
>>Hi, Heiner!
>>>>What is "immediate mate move"?
>>>If the defender is to move, and the current depth is at least 3 (mate-in-2
>>>or more left after defender move), and the defender has more than just his bare
>>>king, then, before even generating the legal defender moves, Chest calls
>>>the special mate-move-generator, trying to find a "mate the attacker in 1".
>>>The moves found by that move generator are just candidates, and must be
>>>executed to verify them, but there are not many false candidates.
>>This is probably what I expected to write but never come to my code. Recently I
>>put all kind of counters in plys three. What is interesting to see there is that
>>biggest part of all positions for this ply have checking moves. So, if this side
>>use its checking move and have certain number of legal moves for his king, it
>>have good chances to escape mate after response. All work should be in finding
>>how many initially legal king's moves are needed. Also it is important to see if
>>each if its moves do not diminish number of already existing king's escape
>With "ply three", do you mean the defender is to move as part of the mate-in-2,
>with the attacker asked to solve a mate-in-1 after this move?


>If so, then yes: most of these moves are checking moves, and almost all of
>them are quite successful.  In Chest I have a special handling for this.
>The main thought (from the perspective of the defender) is:
>- After the move I will select now, he (the attacker) is trying to mate me.
>  I will keep him busy by checking him, so he has to defend to the check,
>  instead of checking me.

Exact! And since in my program all checking moves are already at the head of the
chain, I should use some data that it already there.

>- Ok, I could check him with this piece from there.  Now, could he defend
>  against that check and at the same time check me?
>  Well... if his king moves out of check... could be a discovered check
>  to me, at most... but from there, where his king is leaving to there,
>  where my king still is, there is no geometric connection... no discovered
>  check.

This is very close to what I expect to see but, like in the past, I will do it
in parts. First I will see how many times king can escape the mate when its side
(I speak about 3 ply) give check to whites. Only after this I will look into
second part, when on ply 3 blacks have no moves to check but black king have
around 5 moves or more. This possibility is very much present in position that
you brought today.

>More cases and details are tested, until one finds, that the defender by
>checking the attacker in a certain way, already avoids any mate in the next
>move.  In Chest I estimate that by verifying that the attacker cannot even
>follow up with a checking move.  I call that "fatal anti check", FAC.
>This is a very successful heuristic.

>Well, I learned "heuristic" as a technical term in computer science.

Before I read a lot about programming but it was only Assembler related books.
Nothing about chess. I don't remember "heuristic" word on all my reading.

After your previous message I went to search in "Oxford American Dictionary" for
1979 "heuristic". Wanted to "refresh my mind". Dictionary is around 50000 words
but this word is missing.

>>>Holger was interested to do research and experiments on this, and tried
>>>to work on the tree size estimation idea.  He spent 2 weeks of his vacations
>>>on this, and came back with an extended version of Chest, which now solved
>>>that mate-in-9 much, much faster.  Actually, it was the first time that
>>>we did solve that position (took 32.5 hours on a HP9000-835 in 1991).

At the time when my first mate solver version was done, in around 1995, this
position could easily take months to solve.

>>If this man was able to do everything in two weeks, he was stronger that me.
>Not "everything", just the extension :-)
>Also, trying out ideas is _much_ faster in C than in assembler.
>That is the main reason for me to not use assembler, any more.

When you write only for fun, Assembler could be the most amusing thing to use. I
like its freedom.

>>I was coming all two weeks with some kind of new ideas and biggest part of them
>>never worked.
>I forgot to mention: we also introduced options for all three authors,
>so that every author can trigger his own extensions without disturbing the
>research of the others.  Anyway, it is a good idea to make extensions
>conditional, so one can play with and without them, until the case is settled,
>at which time a default is chosen.
>>>So I took his code, cleaned it up somewhat, added some comments, and
>>>asked him about all those peculiar details in there, which I did not
>>>understand.  Most often he could not explain much more than "I tried
>>>several things, and this worked best... don't know why".
>>So, he, probably, did like me after statistics.


This page took 0.01 seconds to execute

Last modified: Thu, 07 Jul 11 08:48:38 -0700

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