Hi, I started experimenting with implementing own Go robot and first I created a generic infrastructure that various engines should be able to plug into. Currently, a random player and a straightforward MonteCarlo bot (plays as zzgobot on KGS now) engines are implemented; the sources are at
http://rover.dkm.cz/w/zzgo.git in case anyone is interested. I chose to implement it in C so that I can maximize raw computing speed, but the results have been rather disappointing for me in this area. I'm now wondering about whether I should keep bothering about optimizing the board library further or if what I have is good enough by general standards already and I should instead start making the MC playouts smarter (*NOW* I understand why you want to add domain-specific knowledge like giving handling atari a preference ;-), implement UCT, ... Thus, I would like to ask, how fast can your engines play out random games (and on what hardware)? My random playouts are limited only with rule and do-not-fill-1pt-eye constraints. Currently, on my meager AMD 1.6 GHz (single core) my engine is able to play 2500 games per second on 9x9 - with 1000 games per move candidate, that is about 30s per move in the opening; but it seems that most people prefer 10000 instead of 1000. Is the difference all that visible? Based on what I have heard, this is not good at all, but I'm running out of ideas on what to optimize, thus I'm asking so that I know what should I set my goal to be here. Thank you, -- Petr "Pasky" Baudis We don't know who it was that discovered water, but we're pretty sure that it wasn't a fish. -- Marshall McLuhan _______________________________________________ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/