[computer-go] KO in Hashtable-UCT?
Peter Drake
drake at lclark.edu
Fri May 18 09:01:46 PDT 2007
It took me a long time to get around my mental block and accept the
advice of everyone here, but your intuition is correct: superko is so
rare, and so expensive to detect, that you should NOT check for it on
every move.
Orego's current approach is:
During search, just maintain a single ko point and ignore superko.
(There is a maximum number of moves per game to prevent infinitely
long games.)
After search, when actually making a move:
1) Make a copy of the board
2) Compute the Zobrist hash of the current position from scratch
3) Check for superko violations (against a stack of previous Zobrist
hashes for positions in the real game,)
4) If there is a violation, go back to the copy and try the next best
move
Thanks,
Peter Drake
http://www.lclark.edu/~drake/
On May 17, 2007, at 11:00 PM, Chrilly wrote:
>>> >
>>> I have serious problems with KO. UCT-Suzie plays generally
>>> strong, but makes
>>> terrible blunders in KO-positions. So far I do not even
>>> understand the
>>> problem. Could you describe it more detailed?
>>> I had also some serious SuperKO problems. UCT-Suzie was very
>>> "clever" to
>>> find SuperKOs. We do not check for SuperKO in Alpha-Beta. The
>>> search is not
>>> deep enough. Ignoring SuperKO in UCT is for a Hashtable version
>>> deadly.
>>> GameStack-Overflow.
>>>
>>> Chrilly
>>
>>
>> So does your hash function consider all previous board states (for
>> superKo)? If so, how? I can think of one way, but I don't use it
>> since I have a tree that handles the allowable moves independent of
>> the hashtable.
>>
> When going down a variation the Hash and other Board-State
> Information like e.g. the KO-Point are stored on a stack. Starting
> from the current Top of Stack the detection goes down and search
> for the same hash-key and Ko-Point. Its the "Repeated Position"
> Detection method of chess. The Gamestack-Pointer is decremented by
> 2, one can stop, when a non-capturing move is done (in chess its
> the other way round). One can start 4 Plies from the top of stack.
> Due to the stoping criterion one has to check only a few entries
> (most of the time none).
> If a SuperKO occurs, the position is evaluated by the Material-
> Balance. BlackCaptures - WhiteCaptures + Komi. Probably a better
> way is to ignore the result. But I assumed that SuperKO is a rare
> event and the result has no significant impact on the search-tree.
> Maybe there is something wrong with this approach and the Ko-
> Problems I have a related to this simple SuperKO handling. I
> noticed several times that a direct transformation of chess methods
> has some subtle flaws.
>
> Chrilly
>
> _______________________________________________
>> computer-go mailing list
>> computer-go at computer-go.org
>> http://www.computer-go.org/mailman/listinfo/computer-go/
>
> _______________________________________________
> computer-go mailing list
> computer-go at computer-go.org
> http://www.computer-go.org/mailman/listinfo/computer-go/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://computer-go.org/pipermail/computer-go/attachments/20070518/a6bd8cb1/attachment.htm
More information about the computer-go
mailing list