Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: I don't use illegal moves EVER

Author: Heiner Marxen

Date: 11:51:55 11/29/99

Go up one level in this thread


On November 29, 1999 at 11:58:52, leonid wrote:

>On November 29, 1999 at 09:49:36, Heiner Marxen wrote:
>
>>>What I wanted to know is how many variation of "mate solving logic" you have in
>>>your game. Number of variation can go endlessly. I left, for instance, only >four
>>>in my logic. Difference in version of the logic consist in the fact that each
>>>will find at different speed solution. Some logic will find more rapidly the
>>>response but will find the mate not all the time when it is there.
>>
>>I see.  I have just one variation: prove shortest mate (or absence of).
>>
>>I have some ideas about a mate finder mode, but not yet implemented
>>anything.  Dann Corbit suggested a material evaluation goal to me,
>>but I'm not yet sure that I like it.
>
>Material evaluation sound to me as very strange. I do nothing of this kind. When
>you look for mate there are no reason to search any material evaluation.

Yes, sure, that is strange.  What Dann suggested was a completely different
goal: do not search for a mate, but for a (forced) material gain.
Although even if found, it does not say much, it could be an interesting
starting point for tactical analysis.

>Can you say, if few words, how in general mate is found in the logic, not
>necessarily your. I have no idea what is the usual way. When I wrote my logic I
>expected that everybody do almost the same way. After I found that nobody even
>write it inside of the chess game. You came as the next surprise. Not only you

As you say: most do not write an explicit mate solver.  You obviously think
a mate solver to be the natural first stage of a playing program.  Most
others seem to disagree.  So the "usual way" is somewhat undefined.  The basic
mate logic is so simple, that I cannot imagine someone doing it much different
than you and me.  Special options are
- transposition table (TT, cache): I do that, it is really important for
  depth >= 5.  The deeper, the better.
- internal iterative deepening: I do that.  TT helps here.
- special treatment in the last few plies, including specialized move
  generators.
Of course there are other things you can do, but they start to become exotic,
like
- let the defender try to find a mate in 1
- if the attacker has only pawns (besides his king), try to count how many
  moves he must do at least in order to promote one in order to say check
  at least (provided the pawns themselves cannot say check).

One thing is important, however, and I do not know about any special method
besides my own: how to select the first defender move.  Nearly always all
defender moves are good enough to defy the intended mate, since the few
attacker moves we already did most often are so absurd, that there is no
chance to deliver any mate any more.  But the different defender moves
do span search trees of vastly different size.  To select that defender move
which spans the smallest tree is *very* important.

Basically, I prefer checks and captures: both reduce the legal moves of the
attacker, which is a good thing.  I also increase the freedom of the defender
king.  Beyond that it becomes fuzzy.

>wrote the stand alone mate solving logic but did it a long, long time before me.

It just happened that I choose to write a mate solver as my first nontrivial
programming exercise.  I stuck to that project :-)

>The next descovery was for me the positions of invitable mate, through your
>page, that was composed in a stange way like I did. Later I found even few other
>places that contain similar positions.

I do not know of any book or web page, which presents the art of programming
a chess mate solver, or discusses the important techniques of it.  For the
art of "mate finding", as opposed to "proving shortest mate", there is some
literature, e.g. together with "proof-number search".  There are some web
resources.  But they do not search for shortest mate, but for any mate, which
is a more practically useful task.

>Leonid

Heiner Marxen   heiner@drb.insel.de     http://www.drb.insel.de/~heiner/



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.