[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