[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: Tuesday, June 26, 2001 3:50 AM
> To: computer-go@xxxxxxxxxxxxxxxxx
> Cc: computer-go@xxxxxxxxxxxxxxxxx
> Subject: Re: computer-go: Most simple Go rules
>
>
>
> > "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.
>
> I'll bet you are wrong. Zobrist key overhead is absolutely minimal.
> Not only that, but you might even gain a few cutoffs in a ladder
> search that simple ko would miss. You can store keys in a hash table
> for ko testing, you do not need to search linearly backwards.
>
Well, I published my search module, so you can try it :-)
Updating the key is fairly fast. But in case of storing and looking up
there's a trade-off between search-time and storage-space. If you want just
a single array lookup you need a very big table to prevent accidental
overwriting of values. If you want to use a reasonable size table, you'll
need to do more work to store and look up the data.
>
> > 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?
>
>
> Zobrist is a "superfast" method of incrementally updating the hash key
> for the position. It's not really a different hashing method, just a
> way of computing a key. It's based on a table of random numbers that
> you create offline. It's strengths are many, it's not only very fast,
> but it also gives you high quality keys (like excellent distribution
> properties.)
>
Ah, Zobrist seems to have a knack of having his name attached to ideas that
come very naturally to many people. I'm sure the same method of hashing is
also used in many Chess and Draughts programs, do they call it Zobrist
hashing too?