[−][src]Trait oxymcts::LazyTreePolicy
Required methods
fn tree_policy(
tree: &mut LazyMctsTree<State, Reward, A>,
root_state: State,
evaluator_args: &EV::Args
) -> (NodeId, State)
tree: &mut LazyMctsTree<State, Reward, A>,
root_state: State,
evaluator_args: &EV::Args
) -> (NodeId, State)
Choose the best node, for example we apply the UCT to choose the best node then we expand it and we return the expansion.
fn best_child(
tree: &LazyMctsTree<State, Reward, A>,
turn: &State::Player,
parent_id: NodeId,
evaluator_args: &EV::Args
) -> NodeId
tree: &LazyMctsTree<State, Reward, A>,
turn: &State::Player,
parent_id: NodeId,
evaluator_args: &EV::Args
) -> NodeId
This method use the Evaluator to get best child using evaluate_child.
Provided methods
fn update_state(root_state: State, historic: &[State::Move]) -> State
This method is only needed because we don't store the state in each node so we need, to update the state with the stored historic in each node before simulating or expanding it.
Implementors
impl<State, EV, A, Reward> LazyTreePolicy<State, EV, A, Reward> for DefaultLazyTreePolicy<State, EV, A, Reward> where
State: GameTrait,
Reward: Clone + Div + Add + ToPrimitive + Zero,
EV: Evaluator<State, Reward, A, Args = f64>,
A: Clone + Default,
[src]
State: GameTrait,
Reward: Clone + Div + Add + ToPrimitive + Zero,
EV: Evaluator<State, Reward, A, Args = f64>,
A: Clone + Default,
fn tree_policy(
tree: &mut LazyMctsTree<State, Reward, A>,
root_state: State,
evaluator_args: &EV::Args
) -> (NodeId, State)
[src]
tree: &mut LazyMctsTree<State, Reward, A>,
root_state: State,
evaluator_args: &EV::Args
) -> (NodeId, State)
fn update_state(root_state: State, historic: &[State::Move]) -> State
[src]
fn best_child(
tree: &LazyMctsTree<State, Reward, A>,
turn: &State::Player,
parent_id: NodeId,
eval_args: &EV::Args
) -> NodeId
[src]
tree: &LazyMctsTree<State, Reward, A>,
turn: &State::Player,
parent_id: NodeId,
eval_args: &EV::Args
) -> NodeId