[computer-go] Caching of local search

Chrilly c.donninger at wavenet.at
Wed Aug 9 23:51:38 PDT 2006


>
> -- hash only the portion of the board that is relevant. This means empty 
> but relevant intersections are assigned nonzero hash values, to 
> distinguish them from irrelevant intersections.
 For the matching operation one has to create the same hash-value over the 
same dirty area?
I think one can not do this incrementally because there can be different 
local searches and one has to calculate for each corresponding area an own 
hash-key.
If the dirty-area is small, calculating the key for the current 
board-position  is fast. For a ladder running over the board it takes some 
time. Its still faster than searching the ladder again, if one has a match. 
But in case of no match, its a considerable loss of time. Depends on the 
matching rate.
One idea I head is to partition the board in 25 4x4 (3x3) tiles. One 
computes incrementally for each tile a hash-number. The local search stores 
then a bit-vector of the dirty tiles and the XOR of the involved 
tile-hashes.
The dirty area gets somewhat larger due to the tiles, but recalculating the 
hash should be much faster.

Chrilly



More information about the computer-go mailing list