Author: Robert Hyatt
Date: 15:05:01 01/08/99
Go up one level in this thread
On January 08, 1999 at 15:54:18, Marc wrote: >On January 08, 1999 at 00:08:41, Robert Hyatt wrote: > >>On January 07, 1999 at 23:53:36, James Robertson wrote: >> >>>Hi, >>>I have just started implementing hash tables into my program. Already, I have >>>run into *major* problems. Most of them I can probably fix on my own, but a few >>>I need help with: >>> >>>Problem #1 Out of a search of maybe 700k nodes (counting q-nodes), I will only >>>get maybe 6k positions that the program attempts to enter into the tables! What >>>is a reasonable number of storage attempts for a program during a search of that >>>length? >>> >> >>something is wrong. Whenever you exit from your recursive search call, you >>should do a HashStore() operation... not just when you fail high or back up >>a good score, but also when you simply back up alpha because all moves were >>refuted... >> >> >> >> >>>Problem #2 I get tremendously few hits, but that is probably because of problem >>>#1. >>> >>>I figured these would be the best solutions to my problems: >>> >>>Solution #1 Someone posting a simple alpha-beta function somewhere where so I >>>can see where what hash stuff (probes, etc.) goes where. >>> >>>Solution #2 Someone also explaining the above code. >>> >>>Solution #3 Someone speculating on what I might be doing wrong (less crucial). >>> >>>Please help!! >>>James >> >> >>look at _every_ return from your search function. If there is any path out >>of search, except at the top where you detect a repetition or do a hash lookup >>and get a hit, you need to fix that so that you always store the search result >>before exiting. > >Does that include quiescence nodes? I store all nodes up to depth+1 ply (ie. at >search depth 4, all nodes at ply <= 5 get stored.) Is it better just to store >*all* nodes? that is a "religious" question. I have hashed q-nodes, and not hashed q-nodes. I found it a complete "break even" affair and so don't hash them to make the code smaller and simpler in quiesce(). YMMV of course...
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.