Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: How to test hashtable implementation?

Author: Miguel A. Ballicora

Date: 15:49:28 07/21/01

Go up one level in this thread


On July 20, 2001 at 19:25:00, John Merlino wrote:

>On July 20, 2001 at 18:47:08, Dieter Buerssner wrote:
>
>>On July 20, 2001 at 17:54:40, John Merlino wrote:
>>
>>>>> 8/k7/3p4/p2P1p2/P2P1P2/8/8/K7 w - - 0 1
>>>Here's Chessmaster 8000's results. It does NOT use hashtables....
>>>
>>>Time	Depth	Score	Positions	Moves
>>>0:00	24/25	1.72	53171		1. Kb1 Kb7 2. Kc1 Kc7 3. Kd1 Kd7
>>>					4. Kc2 Kc8 5. Kd2 Kd7 6. Kc3 Kc7
>>>					7. Kd3 Kb6 8. Ke3 Kc7 9. Kf3 Kd7
>>>					10. Ke2 Kd8 11. Kd3 Kc7 12. Kc3
>>>					Kb7 13. Kc4 Kb6
>>>0:00	26/27	4.06	86924		1. Kb1 Kb7 2. Kc1 Kc7 3. Kd1 Kd7
>>>					4. Kc2 Kc8 5. Kd2 Kd7 6. Kc3 Kc7
>>>					7. Kd3 Kb6 8. Ke3 Kc7 9. Kf3 Kd7
>>>					10. Kg3 Ke7 11. Kh4 Kf6 12. Kh5
>>>					Ke7 13. Kg5 Kf7 14. Kxf5 Ke7
>>
>>Hmmm - you mean this serious? Without any hashtables at all? Reaching depth 24
>>or 25 or whatever this means in no time. This is really very impressive.
>>
>>Yace can find the move in about 30000 move with very small hash tables (say much
>>less than 1 MB), but when I last tried, it did not find it within an hour
>>without any hashtables (something like depth 20 or 22 was reached).
>>50000 nodes for depth 24 will mean an incredibly small branching factor.
>>
>>Regards,
>>Dieter
>
>You're right. I screwed up. I THOUGHT I was using the personality without
>hashtables, but I was not. What I posted previous was with the default 1MB hash
>table.
>
>Here's the REAL result WITHOUT hashtables (on a PIII-600):
>
>Time	Depth	Score	Positions	Moves
>0:00	5/6	2.01	772		1. Kb2 Kb6 2. Kc3 Kc7 3. Kc4 Kd7
>0:00	5/6	2.01	772		1. Kb2 Kb6 2. Kc3 Kc7 3. Kc4 Kd7
>0:00	6/7	1.97	1486		1. Kb2 Kb6 2. Kc3 Kc7 3. Kc4 Kd7
>					4. Kd3
>0:00	7/8	2.07	3194		1. Kb2 Kb6 2. Kc3 Kc7 3. Kc4 Kb6
>					4. Kd3 Kc7
>0:00	8/9	2.01	6657		1. Kb2 Kb6 2. Kc3 Kc7 3. Kc4 Kb6
>					4. Kd3 Kc7 5. Ke3 Kd7
>0:00	9/10	2.07	15035		1. Kb2 Kb6 2. Kc3 Kc7 3. Kb3 Kb6
>					4. Kc4 Ka6 5. Kd3 Kb6
>0:00	10/11	1.99	29238		1. Kb2 Kb6 2. Kc3 Kc7 3. Kb3 Kb7
>					4. Kc4 Kb6 5. Kd3 Kc7 6. Ke3 Kd7
>0:00	11/12	2.05	68425		1. Kb2 Kb6 2. Kc3 Kc7 3. Kc2 Kd7
>					4. Kb3 Kc7 5. Kc4 Kb6 6. Kd3 Kc7
>0:01	12/13	1.98	145905		1. Kb2 Kb6 2. Kc2 Kc7 3. Kb3 Kb7
>					4. Kc3 Kb6 5. Kc4 Ka6 6. Kd3 Kb6
>					7. Ke3
>0:03	13/14	2.00	376870		1. Kb2 Kb6 2. Kc2 Kc7 3. Kd2 Kd7
>					4. Kc3 Kc7 5. Kb3 Kb7 6. Kc4 Kb6
>					7. Kd3 Kc7
>0:06	14/15	1.90	743319		1. Kb2 Kb6 2. Kc2 Kc7 3. Kd2 Kd7
>					4. Kc3 Kc7 5. Kb3 Kb7 6. Kc4 Kb6
>					7. Kd3 Kc7 8. Ke3 Kd7
>0:16	15/16	1.95	2048507		1. Kb2 Kb6 2. Kc2 Kc7 3. Kb1 Kd7
>					4. Kb2 Kc7 5. Kc3 Kb7 6. Kb3 Kc7
>					7. Kc4 Kb6 8. Kd3 Kc7
>0:34	16/17	1.89	4406951		1. Kb2 Kb6 2. Kc2 Kc7 3. Kb1 Kd7
>					4. Kb2 Kc7 5. Kb3 Kb7 6. Kc3 Kb6
>					7. Kc4 Ka6 8. Kd3 Kb6 9. Ke3
>1:19	17/18	1.91	9904538		1. Kb2 Kb6 2. Kc2 Kb7 3. Kb1 Kc7
>					4. Kc1 Kd7 5. Kc2 Kc7 6. Kb3 Kb7
>					7. Kc3 Kb6 8. Kc4 Ka6 9. Kd3 Kb6
>2:29	18/19	1.85	19233018	1. Kb2 Kb6 2. Kc2 Kb7 3. Kb1 Kc7
>					4. Kc1 Kd7 5. Kc2 Kc7 6. Kb3 Kb7
>					7. Kc3 Kb6 8. Kc4 Ka6 9. Kd3 Kb6
>					10. Ke3
>5:11	19/20	1.86	37896909	1. Kb2 Kb6 2. Kc2 Kb7 3. Kb1 Kc7
>					4. Kc1 Kd7 5. Kc2 Kc8 6. Kb2 Kc7
>					7. Kb3 Kb7 8. Kc3 Kb6 9. Kc4 Ka6
>					10. Kd3 Kb6
>
>Amazing what 1MB of memory can do, eh?

I have studied this position and with this problem, even as little as 1 or 2
kbytes of hashtables are necessary!!.
In fact, with some combination of replacing schemes and evaluation functions
sometimes increasing the hashtables could be a bit worse.

Regards,
Miguel

>
>Sorry for the confusion,
>
>jm



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.