Use local test&set instead of global mutex to expand a node.
[pachi/t.git] / montecarlo / internal.h
blobf45816a18d56ee31e1717b83166506ad8c6f329f
1 #ifndef ZZGO_MONTECARLO_INTERNAL_H
2 #define ZZGO_MONTECARLO_INTERNAL_H
4 #include "debug.h"
5 #include "move.h"
7 struct playout_policy;
9 /* Internal MonteCarlo structures */
12 /* Internal engine state. */
13 struct montecarlo {
14 int debug_level;
15 int games, gamelen;
16 float resign_ratio;
17 int loss_threshold;
18 struct playout_policy *playout;
21 #define MCDEBUGL(n) DEBUGL_(mc->debug_level, n)
24 /* Per-move playout statistics. */
25 struct move_stat {
26 int games;
27 int wins;
30 void board_stats_print(struct board *board, struct move_stat *moves, FILE *f);
32 struct montecarlo *montecarlo_state_init(char *arg);
34 #endif