Author: Hristo
Date: 07:23:44 04/07/99
Has anybody tried to use linked lists instead of hash tables.
I'm currently using a Quad linked list, i.e. Node(prev, next, parent child) to
store the evaluated positions. The prev-next relation identifies all possible
positions at a certain ply, and the parent-child relation is used to store the
different ply-depths. For instance NodeC = Node->child->child->child would go to
a position 3 plys away from the current evaluated position. Then the child will
have NodeC->next ... with all possible moves within this position.
What I can see is:
Linked lists:
-keep the order(paths) of moves static(you always know how you get to a
certain position).
-use memory more efficiently(?). One can discard a particular branch,
completely, in a middle of a search and reclaim the unused memory.
-gives you the ability to traverse more easily. One can widen the tree
without losing the currently evaluated position and the path to it.
-No random access to the tree.
-No or very little detection of move reordering. i.e. one can end up
evaluating the same position more than once ... nasty(!)
-Generally slower performance. However, in some cases the performance seems
to be quite good!
What are your thoughts(experience) on this topic?
regards.
Hristo
p.s.
Thanks Dan C. :-)
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.