Author: Don Dailey
Date: 14:04:00 05/14/98
Go up one level in this thread
On May 14, 1998 at 13:34:54, Will Singleton wrote: > >On May 14, 1998 at 05:32:13, frank phillips wrote: > >>Can anyone point me in the direction of explanations of the techniques >>used in chess programming. Having learnt a bit of C this year and with >>the help of articles found on the Net about search algorithms managed to >>write crude connect4 and othello programs, I would now appreciate some >>pointers to simple but thorough and complete explanations of bitboards >>and hashtables. Several articles I have found partially explain these >>topics but usually assume that the reader has more knowledge than I do, >>perhaps because they assume a basic programming background which I do >>not have. The source code to Crafty (thanks Bob) is well documented but >>beyond me at the moment. On a specific issue, I would be grateful for >>an explanation of how to get a pv out of the (alpha/beta negamax) >>search. Everything I have tried so far based on storing the best move >>in an array pv[depth] has failed, so I seem to be missing a fundamental >>point - or am just plain stupid :-/ > >Hi Frank, > >As you know, you can find a wealth of material on the net. Here's one >that's useful: http://www.xs4all.nl/~verhelst/chess/. > >If you really want to get into it, you can order back issues or a >complete set of the ICCA Journal. Look at >http://www.dcs.qmw.ac.uk/~icca/. > >There are also some chess programming books at Amazon, do a search over >there. > >Re your question on the pv, take a look at Tom Kerrigan's Simple Chess >Program. Much better than crafty for the novice :) > >I hope you know what you're getting into. Actually, you probably don't. > I was where you are about a year and a half ago (chess >programming-wise). And I've learned most stuff the hard way. Not every >algorithm or idea works the same in every program, a lot depends on the >interaction of the parts. And sometimes, it's just plain magic that it >works at all. > >btw, does everyone down your way say "learnt?" > >Will Frank, Pv's are a little tricky but you can do it. You must think of them recursively. In other words DON'T try to see the whole picture, but concentrate on each single part. Each node has a responsibility to KNOW what it's own pv is and TRUSTS the child to return a legitimate one to it. Make sure each node returns a correct PV and the problem will take care of itself. And don't forget to TERMINATE them correctly, or you will get garbage at the end of PV's. I hope this helps some. If you still have trouble I will try to write a tiny psudo code fragment for you. - Don
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.