On Thu, Jun 10, 2010 at 11:09 PM, Erik van der Werf <[email protected]> wrote: > Lukasz Lew's libego used to have the fastest light playouts. IIRC some > years ago it already got over 100k playouts per second for 9x9 on one > core. I guess it should now be possible to get over 200k light > playouts per second. Others on this list may have more accurate > numbers.
Cores didn't really get much faster recently, so what makes you think it could be twice as fast now? A while ago I took a peek at his code, but I found it hard to understand. In a logical sense I saw some places that seem sub-optimal from an algorithmic point of view. But I figured the numbers speak for themselves. At the time it was reported it did something like 40K playouts per Ghz. But I didn't manage to verify this as I never got his code to compile. It's probably a bit too Linux specific in its setup. The main reason I didn't look into it further (apart from lack of time) is that AFAIK it doesn't keep liberties. But I think it does keep a few other useful things. People refer to 'light' playouts but may mean different things. I like to at least make the distinction between playouts that keeps correct liberty counts and playouts with pseudo liberties. In my personal code, pseudo liberties is only marginally faster than real liberties so I find it highly preferable to keep real liberties so it can be used by a tactical module. But I didn't spend nearly as much time as Lukasz trying to optimize it. The other thing that needs care when touting playout speeds is whether this is purely measuring playouts, or playouts while building a MCTS tree (or hashtable). My Java implementation of light playouts with liberties does something like 30K-35K per second on one core. I think it's similar on a 2.6Ghz i5 as on an older 2.8Ghz. The same code directly translated to C is about twice as fast. Mark _______________________________________________ Computer-go mailing list [email protected] http://dvandva.org/cgi-bin/mailman/listinfo/computer-go
