Author: Ernst A. Heinz
Date: 10:21:57 10/06/98
Go up one level in this thread
On October 06, 1998 at 11:55:01, Roberto Waldteufel wrote:
>
>Have you tried both methods for comparison and chosen method 2, or have you not
>tried method 1? I use method 1 and always have - I just assumed without testing
>that passing the whole board data structure on the stack would be too >expensive.
>Maybe I should have tested this out. Method 2 is cetainly easier to program
>because you never need to unmake any moves. The question really is whether it >is
>quicker to unmake moves or copy data.
Let me again quote from my article about "How DarkThought Plays Chess". :-)
******************************************************************************
Search Parametrization
[...]
Data Structures.
Because most computers exhibit different behaviour as for memory
performance and cache sensitivity, DARKTHOUGHT contains distinct
implementations of many data structures accessed during the search.
First and foremost, you may choose between a single global board
modified by corresponding make/unmake-move operations and
stacked local boards that require no unmake after but copying prior to
the make-move operation during node expansion. Similarly, stacked
local move lists as opposed to a single global move list may be
selected. Although they feature much higher memory consumption,
the localized data structures will simplify any future parallelization
attempts. Last but not least, there exist several variations of history
tables with the piece-to-square formulation [99] used by default.
*******************************************************************************
Right now, we use the stacked local boards in connection with a global move
list when running "DarkThought" on the Alpha-21164a. But on most any PC the
stacked local boards are no good at all.
=Ernst=
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.