Computer Chess Club Archives


Search

Terms

Messages

Subject: Help a beginner(thanks)

Author: frank phillips

Date: 08:15:03 07/16/98


Thanks to those who responded yet again to my request for help.  I found the
major bug (I hope) causing the program to be so slow and thought I better ‘own
up’ just in case it might help some other newbie.  My program now does 6 ply in
4 seconds and 7 ply in 30 seconds from the opening position on my K6-233 -
without much evaluation of course.  Your comments helped me step back from the
detail I have been struggling with and identify the problem, which was a full
width search at ply[0].  To begin with, I developed the program without the
search to make sure that the move generator, makemove, unmakemove and in-check
detection worked.  So to start with it effectively played a one move look-ahead
game by calling a function ComputerMove( ) and scoring the position at one move
ahead for all legal moves then choosing the best.  When this was working I added
a Negamax and Quiescent search, but the function ComputerMove( ) was still
making each and every ply[0] move before calling Negamax.  I shifted ply[0] down
to Negamax and the speed increased dramatically presumably becuase of the
alpha-beta cut-offs.   The key was investigating how may nodes the program took
to reach each successive depth as Tom Kerrigan suggested.  Now I can work on
some of the techniques (killer move, null move, hash) you suggested.  What a
wonderful place this is, where a complete novice can get help and encouragement
from the experts.




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.