Author: Tony Werten
Date: 04:26:34 08/26/03
Go up one level in this thread
On August 26, 2003 at 06:00:51, Hans Bogaards wrote: >Hello Everybody, > >I'll introduce myself briefly: I am Hans Bogaards from the Netherlands. A couple >of years ago I wrote a chess playing program called Joshua. It never reached >such a state that I played tournaments with it or released it to the public. The >project ground to a hold mostly due to the demands of graduating. > >Lately I've become interested again in Chess and Computer Chess, so I've started >with a rewrite of my program. But I can't seem to find The solution to one >(simple) problem: How do I remember the PV during the search. > >In my old program I first used a 2 dimensional array PV[MAXDEPTH][MAXDEPTH] and >stored the best move in PV[Depth][Depth] and copied the rest of the PV from >PV[Depth + ][Depth + X] to PV[Depth][Depth + 1]. This worked but was very slow. It shouldn't be. Remember, you only have to do it when score>alpha Tony > >Later I used a linked list with as extra parameter a pointer to the end of the >variation. This was still a bit slow, but esp. very cumbersome to keep all the >administration in the right order. It also made my code hard to read. > >I have the feeling that there must be some very simple way to preserve the PV, >but I've looked at the source-code of GNU Chess 4.0 and of Crafty, but I dont >understand how the PV structure/code work in both these programs... > >One solution I know is to only use the transposition table for the best move, >but when I tried that in my old program it made the search tree quite a bit >larger... > >What kind of structure do you use in your programs? (if you are willing to >share...) >Am I missing sometimes simple here? > >Hope you can help me... >-- >Greetings >Hans
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.