Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Internal Iterative Deepening (in Crafty)

Author: Larry Griffiths

Date: 10:09:40 01/10/99

Go up one level in this thread


Dear Robert Hyatt,

Thanks for your clarificatioin on the "iterative deepening".  I have created
three or four chess programs over the last couple of decades and have
started a new one.  The best book that I have is "How Computers Play Chess"
by David Levy and Monty Newborn.  I know of you because of the section in
this book on "The Efficient Use of Time" describing CRAY BLITZ and your
1984 paper.  I downloaded your CRAFTY source code and have learned some
neat C language stuff.  I experimented with the Bitboard concept back in
1990 but could not solve some problems that were presented.  I use some
bitboards in my current program. (Mainly to see if the King is in check.)
My bitboards are 64 bit integers and I have two of them for sliding pieces.
When a sliding piece is moved, then I update a DOWNRIGHT and a UPLEFT
bitboard for that piece.  This lets me look in a direction and get the bits
for all of the pieces in that direction.  I then XOR out the pieces that
could attack from that direction so that I can determine if there is an
interposing piece between the square being attacked and the attacking piece.
My program is written for Windows 98 and BitBoard operations takes several
Pentium instructions when performing operations on the 64 bit integers.  I
downloaded some info on how Dark Thought uses bitboards and am being swayed
in that direction.  I saw where you stated that CRAFTY uses about 50% of
its time in the evaluation function and am also swayed in that direction.
My evaluation function is mainly material, developing bishops and knights,
and castleing.  I play my program against some of the lower CM6000 opponents
and mainly have a problem where I end up in a draw due to repeating the
same back and forth moves even though my program is up in material.  I order
moves using a simple killer heuristic.  I tried creating a transposition-table
but took it out as the code not work well.  I like the material only score
because it seems to improve the efficiency of the alpha-beta cutoffs.  I can
only get the program to do full ply to 7 or 8 plys and am thinking of creating
a better evaluation function rather than trying for deeper plys.  I am not
clear on the "Equalizing Captures" concept but have had code that goes one
ply deeper when my programs last move was a capture and it seems to improve
its play.  I extend the search depth (at a leaf node) when the king is in
check and like the idea of selective extensions.  I just joined this web site
and hope to learn about the latest and greatest in chess programming.

Larry Griffiths.



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.