[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: computer-go: Most simple Go rules
Zobrist hashing is best applied everywhere, but you could apply it
just to the legal move list in advance of a move in order to throw
these moves out of contention for choice of move.
In this case, Zobrist is not needed and any slow hash will do.
However Zobrist is so easy to implement you might as well do the right
thing.
Don
From: Nick Wedd <nick@xxxxxxxxxxxxxxxxx>
In message <000301c0fdb4$45032af0$093ba8c0@xxxxxxxxxxxxxxxxx>, Mark Boon
<tesuji@xxxxxxxxxxxxxxxxx> writes
>> Zobrist hashing would be superfast and is actually very simple to
>> implement. As William mentioned, if you used a wide enough signature
>> key, you are quite safe.
>>
>"Superfast" is relative. I'm sure my ladder-search would be much slower if
>it had to check for super-ko, so it only checks for simple ko. Ironically,
>the only place that would actually occasionally encounter a triple-ko
>situation would be in ladder-search. Still it's rare, so limiting the
>reading-depth prevents it too and the program only pays an occasional
>penalty when it has to back-trace the recursions in a triple-ko (which can
>take a while).
I am not sure how it is proposed that Zobrist hashing should be applied.
At every move in the lookahead? Or just when the program has finished
thinking and is about to make a move, occasionally it will find it
forbidden by superko and have to select another candidate from its list?
>As for suicide, do you count single-stone suicide as legal? Internally
>Goliath doesn't allow suicide, but it can accept a suicide move as long as
>more than one stone is involved. Single-stone suicide is pointless anyway, I
>consider it to be the same as passing.
I have never known a program attempt a single-stone suicide. I hope I
never do :-)
Nick
--
Nick Wedd