Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Wierd hash problems

Author: Bruce Moreland

Date: 02:01:55 08/20/99

Go up one level in this thread



On August 20, 1999 at 04:34:49, James Robertson wrote:

>My program played a game in which this position arose:
>
>r3r1k1/3b1p1p/2p4q/p2p4/3P2p1/1PNPPpP1/P1RQ1P1P/5RK1 w - -
>
>It then played, after an 8 ply search, 1. e4?? which loses immediately to Qh3
>and the loss of the queen after 1. e4?? Qh3 2. Qg5+ 3. Qf8 Qh6+ 4. Qxh6, an
>incredibly simple tactical sequence. I later ran my program on this position and
>it switched to the much much better move Kh1 after 6 plies.
>
>The only differece I can think of between the two searches would be the hash
>table? During the game it had entries from previous searches, and afterwards I
>ran it as a testsuite position with a clean table. I cannot fathom why else my
>program would miss such a thing in an actual game. Is there any reason why a
>hash table would do this? Is there some depth/draft thing I am messing up with
>my table? Is my null move causing problems? Any help anyone can provide is
>greatly appreciated.
>
>James
>
>P.S. Here are the two searches:
>
>a) during the game.
>
>Depth  Score     Time       Nodes  PV
>   1     216        0          35  Rfc1
>   2     200        0         250  e4 Qxd2 Rxd2
>   3     202       60        1263  Rfc1 Qh3 e4
>   4     203      170        9783  e4 Qg7 Qe3 Rab8
>   5     207      220       12885  e4 Qxd2 Rxd2 Be6 Rc1
>   6     202      330       20163  e4 Qxd2 Rxd2 Be6 Rc1 Rab8 Rdc2
>   7     199      550       40726  e4 Qxd2 Rxd2 Be6 Rc1 Rab8 Rdc2 Rb7
>   8     199     1050       89464  e4 Qxd2 Rxd2 Be6 Rc1 Rab8 Nb1 Rb6 Nc3
>
>b) after the game with a fresh hash:
>
>Depth  Score     Time       Nodes  PV
>   1     216        0          32  Rfc1
>   2     200        0         255  e4 Qxd2 Rxd2
>   3     202      270        1457  Rfc1 Qh3 e4
>   4     203      380       10068  e4 Qg7 Qe3 Rab8
>   5     199      440       14046  e4 Qxd2 Rxd2 Be6 Rc1 Rab8
>   6>   -160      660       38006  Ne2 fxe2 Qxe2 a4 Rb1 Qh3 e4 axb3 Rxb3
>   6>   -159      770       46432  b4 axb4 Nxd5 cxd5 Qxb4 Qh3
>   6>     50      770       47608  h4 gxh3 Kh2
>   6>    176      820       51711  Kh1 Qh3 Rg1 f5 Rcc1 Rab8
>   6     176      820       51949  Kh1 Qh3 Rg1 f5 Rcc1 Rab8
>   7     178     1100       76625  Kh1 Qh3 Rg1 f5 Rcc1 Rab8 Rge1
>   8     184     2250      191340  Kh1 Qh3 Rg1 f5 Qd1 Rab8 Qf1 Qxf1 Rxf1
>   9     184     5110      452120  Kh1 Qh3 Rg1 f5 Qd1 Rab8 Qf1 Qxf1 Rxf1
>  10     176     9060      845582  Kh1 Qh3 Rg1 f5 Rcc1 Rab8 Na4 Rb4 Nc5 Be6

I think you are flailing a bit.

There can be any number of things going on differently in the real game case.
You can have some problems involving transition from one position to the next,
for instance you could be leaving things in a bogus state when you terminate a
search.

Also, when you start the program and immediately start a search, there are a lot
of memory locations that are zeroed, which might not be zeroed the second time
you start a search, and perhaps this is causing problems.

A pure hash table problem, which would mean that you are totally off the hook
and have to do nothing, is probably not what is causing this.

This is an important bug for you to understand.

bruce



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.