Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: hash tables

Author: Uri Blass

Date: 10:54:21 12/20/03

Go up one level in this thread


On December 20, 2003 at 12:57:02, Thomas Mayer wrote:

>Hi Uri,
>
>> I think that the main reason is simply the fact that engines with hash tables
>> are usually stronger not only because of hash tables and have more knowledge
>> about endgames.
>
>well, I have seen it several times, that as long the programmers did not
>implement hashtables I have some chances (as I said, when I survive in the
>middle game) but as soon as they implement hashing in whatever way my chances
>were zero.
>
>> movei cannot play without hashtables but if I release a version without hash
>> you will probably not have chances against it also in the endgame.
>
>There you are most likely right. But of course I have also no chance at all to
>survive in the middle game - I am simply to weak... :)
>
>> I believe that hash does not help a lot for movei espacially when today I do
>> not use it for pruning and I will first learn crafty's code about hash.
>
>maybe you start with some code that is easier to understand like e.g. MSCP or
>TSCP (I think the newest TSCPs have hashtables implemented ?!)


I understood most of tscp before I started with movei.
I know that new tscp has hash keys to detect repetition but not hash tables.
I did not look at mscp but I do not believe that I can learn much from it.

>It is sometimes better to start with the basics and then try to implement your
>own ideas...

I learned about hash from bruce moreland's page but I found by testing that it
is better for me only to store position with score>beta in the hash tables.

>
>> I believe based on some test positions with one entry for hash tables that
>> today being 2 times slower is a bigger demage for movei than not having hash
>> (I do not believe that one entry changes much).
>
>There you are for sure right ! Well, when I mean having implemented hash then I
>had in mind that one would use at least 16k or more entries...
>
>>I expect it to be changed when I implement hash correctly.
>Well, I had some discussions with Dieter Bürßner about that topic - at least you
>could spent some thought on the idea that your implementation is more correct
>then what we do, especially in combination with extensions and forward
>pruning...
>
>Greets, Thomas

I know that my implementation of hash today is very simple and I simply did what
worked in my tests.

Extension is also one of the thing that I need to change in the structure of
movei and today the remaining depth practically does not give me the partial
extensions(I have a different varaible for it and I think that having all in one
varaible is better).

There are things that I do not do the same as Crafty but I still think that I
should learn from crafty (I plan to rewrite my alphabeta and I think before
rewriting it to understand the structure of Crafty in order to have a better
design and my alphabeta is connected with the hash tables).

The structure of Crafty already helped me when I got almost 2% speed improvement
by adding a file iterate.c that does the same job as crafty when previously it
was in the same file as alphabeta.

Uri



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.