[−][src]Struct ggpf::policies::mcts::rave::RAVEPolicy_
RAVE policy description.
Trait Implementations
impl<G: MCTSGame + SingleWinner> BaseMCTSPolicy<G> for RAVEPolicy_<G>
[src]
type NodeInfo = RAVENodeInfo
Additional node statistics.
type MoveInfo = RAVEMoveInfo
Additional move statistics.
type PlayoutInfo = (bool, Vec<G::Move>)
Informations generated by a playout.
fn get_value(
&self,
board: &G,
_action: &G::Move,
node_info: &Self::NodeInfo,
move_info: &Self::MoveInfo,
_exploration: bool
) -> f32
[src]
&self,
board: &G,
_action: &G::Move,
node_info: &Self::NodeInfo,
move_info: &Self::MoveInfo,
_exploration: bool
) -> f32
fn default_node(&self, _board: &G) -> Self::NodeInfo
[src]
fn default_move(&self, _board: &G, _action: &G::Move) -> Self::MoveInfo
[src]
fn backpropagate(
&mut self,
leaf: Arc<RwLock<MCTSTreeNode<G, Self>>>,
history: &[G::Move],
(has_won, history_default): Self::PlayoutInfo
)
[src]
&mut self,
leaf: Arc<RwLock<MCTSTreeNode<G, Self>>>,
history: &[G::Move],
(has_won, history_default): Self::PlayoutInfo
)
fn simulate<'life0, 'life1, 'async_trait>(
&'life0 self,
board: &'life1 G
) -> Pin<Box<dyn Future<Output = Self::PlayoutInfo> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
[src]
&'life0 self,
board: &'life1 G
) -> Pin<Box<dyn Future<Output = Self::PlayoutInfo> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Auto Trait Implementations
impl<G> RefUnwindSafe for RAVEPolicy_<G> where
<G as Game>::Player: RefUnwindSafe,
<G as Game>::Player: RefUnwindSafe,
impl<G> Send for RAVEPolicy_<G> where
<G as Game>::Player: Send,
<G as Game>::Player: Send,
impl<G> Sync for RAVEPolicy_<G> where
<G as Game>::Player: Sync,
<G as Game>::Player: Sync,
impl<G> Unpin for RAVEPolicy_<G> where
<G as Game>::Player: Unpin,
<G as Game>::Player: Unpin,
impl<G> UnwindSafe for RAVEPolicy_<G> where
<G as Game>::Player: UnwindSafe,
<G as Game>::Player: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Erased for T
impl<T> From<T> for T
[src]
impl<T> FromPy<T> for T
fn from_py(t: T, Python) -> T
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> IntoPy<U> for T where
U: FromPy<T>,
U: FromPy<T>,
fn into_py(self, py: Python) -> U
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,