Computer Chess Club Archives


Search

Terms

Messages

Subject: Hash tables vs Linked lists.

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.