On Wed, Jun 6, 2012 at 12:13 PM, Petr Baudis <[email protected]> wrote: > On Wed, Jun 06, 2012 at 10:35:08AM -0400, Don Dailey wrote: > > Is the issue simply the CGOS behavior, the wrong bot losing on forfeit > or > > something like that? If so it does need to be fixed. > > I think Folkert simply asked a honest question whether his program is > required to implement superko to play on CGOS, and did not mean to > ask for any changes in CGOS itself, just check the current situation. >
I was not being critical, I am just trying to understand the question and it seems I did misunderstand. The first response misdirected me because in it was the suggestion that it might be possible to ignore superko - but I see that was referring to the go program, not the server. Thanks for the help in understand this. I think Fatman and Lazarus, my own programs, basically used the approach of ignoring superko in the playouts, but not in the tree. Don > > To reiterate, the answer to Folkert's question is: yes, you need to > support superko; make sure to educate yourself about positional vs. > situational superko. Detection of superko using a hash table and Zobrist > hashing (which is simple and useful to implement for other purposes too) > is fairly straightforward. > > In case of MCTS, a simple and cheap way is to detect superko as "output > filter" and use next best move in the tree if superko violation is > detected; however, some situations may be significantly misread because > of that. The other extreme is detecting and avoiding superko even in > simulations; that is fairly expensive (due to a guaranteed cache miss > during hash table lookup, at the very least) and usually *not* done. > The most common compromise is to detect and prune superko moves only > in the game tree and check only the simple ko rule in simulations. > > Another point is to follow the usual maxim "be conservative in what > you send and liberal in what you receive". It is good idea to accept > even opponent moves which you believe violate superko and leave the rule > enforcement on the server, since different environments might mandate > different superko rules. > > Kind regards, > > -- > Petr "Pasky" Baudis > Smart data structures and dumb code works a lot better > than the other way around. -- Eric S. Raymond > _______________________________________________ > Computer-go mailing list > [email protected] > http://dvandva.org/cgi-bin/mailman/listinfo/computer-go >
_______________________________________________ Computer-go mailing list [email protected] http://dvandva.org/cgi-bin/mailman/listinfo/computer-go
