[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?