Author: Dann Corbit
Date: 17:35:22 02/03/03
Go up one level in this thread
On February 03, 2003 at 20:22:33, Mike Carter wrote: >I am writing a chess engine in QuickBasic - I have an ancient DOS(!) compiler - >and have a question re: the subject line. I've seen some pretty comprehensive >discussions/papers on the above topics (usually in pseudo-C) but I still don't >fully understand the concepts (be patient, my degree is in statistics and not >computer science) and I am looking for a *very* basic description of the general >chess program algorithm. > >For example: first you generate moves, then sort them... I'm fine up to here. >When I try to evaluate, my crude attempts to prune the tree fall way short of >other methods and I'm left with hundreds of thousands of nodes for 3 to 5 ply. >My gut feeling is, with alpha-beta, I might have 20K nodes to examine at that >ply. > >The main question: in simple terms, how do I use alpha/beta?? How often do I >evaluate? Do I take each root move, generate moves to a certain ply (say 5), >then evaluate? Even if this gives me a score that ultimately is the PV, don't I >still have to at least check one node at ply 5 for all the other branches >(assuming an average of approx. 35 legal moves, that's still 35^4... 1.5 >million nodes!). I *know* I'm missing some fundamental aspect of a/b... if >someone could provide a clear, very high-level description it would be greatly >appreciated! Thanks! Read this first: http://www.seanet.com/~brucemo/toc.htm Then this: http://www.ics.uci.edu/~eppstein/180a/w99.html Then this: http://www.chessbrain.net/beowulf/theory.html Anything you still don't understand -- fill in the gaps with stuff from here: http://www.wbholmes.de/linkse_cpro.htm http://www.xs4all.nl/~verhelst/chess/programming.html
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.