Computer Chess Club Archives




Subject: Re: Can nullmoves behave like this?

Author: Severi Salminen

Date: 14:19:32 01/08/01

Go up one level in this thread

>>>i see you have 'futile moves' also. If you throw futility pruning out,
>>>then nullmove should work brilliant positionally spoken.
>>I tried, but the behaviour was the same. But then I removed my very stupid
>>3-fold repetition algorithm (it is only adding different bitboards of a position
>>to get a "key") and I got results with no fail highs or lows. I must find
>>another way to find repetitions...
>aha perhaps there is the bug then!

Actually no. Forget what I said above. The first modification was that I
returned 0 if a position was reached 2 times instead of 3. This was the case
when search results were different. Then I removed the whole sh#t and I got this
odd failhig/low phenomenon again. The reason is nullmove (and nothing else) and
at least according to Bob this kind of behaviour is unavoidable so I don't worry
it again. The funny thing is that with the "2" version my engine found the
desired a5! very quickly but without repetitions it insists on Kb3...

>do you store repetitions in hashtable?

No. I just generated this "hashkey" (it didn't probably work) and stored it to
an array every time I entered a new position. Associated with this key was a
counter and when it reached 3 I returned 0. I don't have hashtables implemented
yet so that is the next thing to do. And with hash the repetitions should be
easier to include. BTW should one count 2-fold repetitions instead of 3-fold?
With 2 you would get the same result and prune more nodes?

>simplest solution is to never give a cutoff from hash if
>it is score 0.00, that's what i do and it always worked.

Sounds reasonable. 0.00 means (or should mean) draw after all :)


This page took 0.06 seconds to execute

Last modified: Thu, 07 Jul 11 08:48:38 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.