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.