[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: computer-go: Most simple Go rules
> -----Original Message-----
> From: owner-computer-go@xxxxxxxxxxxxxxxxx
> [mailto:owner-computer-go@xxxxxxxxxxxxxxxxx]On Behalf Of Don Dailey
> Sent: Monday, June 25, 2001 6:32 PM
> To: computer-go@xxxxxxxxxxxxxxxxx
> Cc: computer-go@xxxxxxxxxxxxxxxxx
> Subject: Re: computer-go: Most simple Go rules
>
>
>
> > Do you need anything as clever as Zobrist hashing? Can't you just hash
> > on the number of stones on the board, and then check for collisions?
>
> Yes, you could implement this differently and if you were not
> including this inside a search, you would probably not notice a
> performance penalty for the full board comparisons that would be
> required.
>
> A virtue of your method is that it would never be wrong.
>
> However ...
>
> 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).
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.
BTW, in which way is Zobrist hashing different from normal hashing?