Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Static Mate Detection

Author: Gerd Isenberg

Date: 13:49:43 01/23/02

Go up one level in this thread


On January 23, 2002 at 15:12:00, Peter McKenzie wrote:

>Fascinating stuff Gerd.  I like the way you tested it by doing a search to
>verify the static evaluation.
>
>Are you aware that something similar (Static Mate Detection) was done many years
>ago by the team who worked on the British program called Master?  There is an
>article in one of the Advances in Computer Chess books.  It seems that you have
>taken it a bit further though.
>
>cheers,
>Peter

Hi Peter,

thanks. I don't remember exactly, may be i read it some years ago. I also read
Levy's Computer Chess Compendum and ICCA-Journals since 93. Surely i read about
it and it was somewhere in my brain.
The light switched on during implementation of some eval stuff and possibly i
was influenced by this article or others.

Hey, a queen attacks a square, only controlled by enemy king - and not occupied
by a queens friend. Why not looking for possible escapes, supported controls
considering batteries and indirect defence by enemy slider through the queen? If
all conditions hit and finally the Queen is not pinned in other then move to
mate direction - it's mate. You have to consider, that the Queen move possibly
gives escape squares, if neighbourered king squares are exclusive controlled
from the queens source square but not from target.

It was in 95 or so, when i first implemented an easy kind of Static Mate
Detection in my old Dos-Program. Only Queen Mates near King and very specialized
BackRank-Mates with RookMover, cheap statements with relative high middlegame
probability to hit.

The old Dos-IsiChess (engine in 386-Assembler) already used BitBoards, no
rotated (640K), but an incremental updated Array of 32 BitBoards (attacks for
every possible piece) and an redundant Array of 64 PieceSets (32Bit, attacked by
every possible piece) for every square and two arrays to map PieceIndex to
PieceSquares. The update-performance was depending on how many square controls
changed after a move - rather good in opening and early middlegame, closed
positions and pawn endings, not so good in open positions, very bad in Queen
endings. In 2000 I started the second try, rotated BitBoards, minimimal
incremental update - huge/lazy eval - pure C++ and only a few optional lines of
inline assembler.

cheers,
Gerd



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.