1 #ifndef ZZGO_UCT_INTERNAL_H
2 #define ZZGO_UCT_INTERNAL_H
12 /* Internal UCT structures */
15 /* Internal engine state. */
23 bool playout_amaf
, playout_amaf_nakade
;
24 int playout_amaf_cutoff
;
30 /* Equivalent experience for prior knowledge. MoGo paper recommends
31 * 50 playouts per source; in practice, esp. with RAVE, about 6
32 * playouts per source seems best. */
33 int eqex
, even_eqex
, gp_eqex
, policy_eqex
;
35 struct uct_policy
*policy
;
37 struct playout_policy
*playout
;
40 #define UDEBUGL(n) DEBUGL_(u->debug_level, n)
43 typedef struct tree_node
*(*uctp_choose
)(struct uct_policy
*p
, struct tree_node
*node
, struct board
*b
, enum stone color
);
44 typedef struct tree_node
*(*uctp_descend
)(struct uct_policy
*p
, struct tree
*tree
, struct tree_node
*node
, int parity
, bool allow_pass
);
45 typedef void (*uctp_prior
)(struct uct_policy
*p
, struct tree
*tree
, struct tree_node
*node
, struct board
*b
, enum stone color
, int parity
);
46 typedef void (*uctp_update
)(struct uct_policy
*p
, struct tree
*tree
, struct tree_node
*node
, enum stone node_color
, enum stone player_color
, struct playout_amafmap
*amaf
, int result
);