Trait BuildAgent

Source
pub trait BuildAgent<OS: Space, AS: Space, FS: Space> {
    type Agent: Agent<OS::Element, AS::Element> + BatchUpdate<OS::Element, AS::Element>;

    // Required method
    fn build_agent(
        &self,
        env: &dyn EnvStructure<ObservationSpace = OS, ActionSpace = AS, FeedbackSpace = FS>,
        rng: &mut Prng,
    ) -> Result<Self::Agent, BuildAgentError>;
}
Expand description

Build an agent instance for a given environment structure.

Required Associated Types§

Source

type Agent: Agent<OS::Element, AS::Element> + BatchUpdate<OS::Element, AS::Element>

Type of agent to build

Required Methods§

Source

fn build_agent( &self, env: &dyn EnvStructure<ObservationSpace = OS, ActionSpace = AS, FeedbackSpace = FS>, rng: &mut Prng, ) -> Result<Self::Agent, BuildAgentError>

Build an agent for the given environment structure (EnvStructure).

§Args
  • env - The structure of the environment in which the agent is to operate.
  • rng - Used for seeding the agent’s pseudo-random internal parameters, if any.

Implementors§

Source§

impl<OS, AS> BuildAgent<OS, AS, IntervalSpace<Reward>> for BetaThompsonSamplingAgentConfig
where OS: FiniteSpace + Clone + 'static, AS: FiniteSpace + Clone + 'static,

Source§

type Agent = FiniteSpaceAgent<BaseBetaThompsonSamplingAgent, OS, AS>

Source§

impl<OS, AS> BuildAgent<OS, AS, IntervalSpace<Reward>> for UCB1AgentConfig
where OS: FiniteSpace + Clone + 'static, AS: FiniteSpace + Clone + 'static,

Source§

type Agent = FiniteSpaceAgent<Arc<BaseUCB1Agent>, OS, AS>

Source§

impl<OS, AS, FS> BuildAgent<OS, AS, FS> for RandomAgentConfig
where OS: Space, AS: SampleSpace + Clone, FS: Space,

Source§

impl<OS, AS, FS> BuildAgent<OS, AS, FS> for TabularQLearningAgentConfig
where OS: FiniteSpace + Clone + 'static, AS: FiniteSpace + Clone + 'static, FS: Space<Element = Reward>,

Source§

type Agent = FiniteSpaceAgent<BaseTabularQLearningAgent, OS, AS>

Source§

impl<OS, AS, FS, PB, CB> BuildAgent<OS, AS, FS> for ActorCriticConfig<PB, CB>
where OS: FeatureSpace + Clone, OS::Element: 'static, AS: ParameterizedDistributionSpace<Tensor> + Clone, AS::Element: 'static, FS: Space<Element = Reward>, PB: BuildPolicy, CB: BuildCritic,

Source§

impl<OS, AS, FS, VB, OB> BuildAgent<OS, AS, FS> for DqnConfig<VB, OB>
where OS: FeatureSpace + Clone, OS::Element: 'static, AS: FiniteSpace + SampleSpace + ReprSpace<Tensor> + Clone, AS::Element: 'static, FS: Space<Element = Reward>, VB: BuildModule, VB::Module: SeqPacked + SeqIterative, OB: BuildOptimizer, OB::Optimizer: Optimizer,

Source§

impl<T0, T1, OS0, OS1, AS0, AS1, FS0, FS1> BuildAgent<TupleSpace2<OS0, OS1>, TupleSpace2<AS0, AS1>, TupleSpace2<FS0, FS1>> for AgentPair<T0, T1>
where T0: BuildAgent<OS0, AS0, FS0> + 'static, T1: BuildAgent<OS1, AS1, FS1> + 'static, OS0: Space + Clone + 'static, OS1: Space + Clone + 'static, AS0: Space + Clone + 'static, AS1: Space + Clone + 'static, FS0: Space + Clone + 'static, FS1: Space + Clone + 'static,

Source§

type Agent = AgentPair<<T0 as BuildAgent<OS0, AS0, FS0>>::Agent, <T1 as BuildAgent<OS1, AS1, FS1>>::Agent>

Source§

impl<TC, OS, AS, FS> BuildAgent<MetaObservationSpace<OS, AS, FS>, AS, FS> for ResettingMetaAgentConfig<TC>
where TC: BuildAgent<OS, AS, FS> + Clone, TC::Agent: BatchUpdate<OS::Element, AS::Element, Feedback = FS::Element>, OS: Space + Clone, AS: NonEmptySpace + Clone, FS: Space + Clone,

Source§

type Agent = Arc<ResettingMetaAgent<TC, OS, AS, FS>>