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

   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.

No, you  only  need a tiny hash   table, with perhaps   a few thousand
entries to be super safe.  When you make a move on  the board, you add
the position to the table.  When you un-make a move,  you take it out.
Moves that have already  been played in the  game (before your search)
never get backed out.   Your table will never have more entries in it
than the longest line (actual game + longest search depth.)   

The only issue here is to not  overwrite entries.  Since you are doing
adds  and deletes  this  is slightly more  complicated,  but there are
complicated solution and simple workable solutions to this.  I will go
into this if you ask, but you probably already know this.


Don