[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
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.
> 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.)
Don