This reply is to both Erik and Petr,

I was running a profile on the program just now. It spends about 90% updating information to speed up the playout, these are captures and liberties after play and the resulting 3x3 codified part of the board. These are updated when needed, so about 4-8 intersections per play on average.

In the updating information part, the most costly is a recursive function that counts liberties (it spends itself 33% of all time).

It is in C in a modern PC, board size is 19x19. The heavy playout count in the meanwhile was raised to 66 per sec/thread. I'm doing a lot of optimizing and in the playouts part there is not much I can thin out more. With these profiling results I'll attack the liberty counting primitives next. You probably know some method more efficient than a recursive search over the board surface.

Gonçalo

On 15/10/2015 00:43, Erik van der Werf wrote:
I don't know, what language are you using? Did you do any
optimizations? How many clock cycles does it take your program on
average to make and undo a move (just counting the core board update)?

BTW you didn't specify board size and hardware, so I assumed 19x19 and
a modern PC.

Erik

On Thu, Oct 15, 2015 at 12:56 AM, Gonçalo Mendes Ferreira <[email protected]> wrote:
Really? I didn't mention it but it's uses MCTS-UCT with RAVE, progressive
pruning, mercy thresholds and max playout depth, etc. What could I be
missing that is that much of a boost in the playouts, in your experience?

Gonçalo


On 14/10/2015 23:40, Erik van der Werf wrote:
You should be able to do at least 50 times faster.

Erik

On Thu, Oct 15, 2015 at 12:27 AM, Gonçalo Mendes Ferreira <[email protected]>
wrote:
Hi, I've been searching the mailing list archive but can't find an answer
to
this.

What is currently the number of playouts per thread per second that the
best
programs can do, without using the GPU?

I'm getting 2075 in light playouts and just 55 in heavy playouts. My
heavy
playouts use MoGo like patterns and are probability distributed, with
liberty/capture counts/etc only updated when needed, so it should be
pretty
efficient.

What would be a good ballpark for this?

Thank you,
Gonçalo F.

_______________________________________________
Computer-go mailing list
[email protected]
http://computer-go.org/mailman/listinfo/computer-go

Reply via email to