pub trait Simulation: StepsIter<Self::Observation, Self::Action, Self::Feedback> {
    type Observation;
    type Action;
    type Feedback;
    type Environment: Environment<Observation = Self::Observation, Action = Self::Action, Feedback = Self::Feedback>;
    type Actor: Actor<Self::Observation, Self::Action>;
    type Logger: StatsLogger;

    fn env(&self) -> &Self::Environment;
    fn env_mut(&mut self) -> &mut Self::Environment;
    fn actor(&self) -> &Self::Actor;
    fn actor_mut(&mut self) -> &mut Self::Actor;
    fn logger(&self) -> &Self::Logger;
    fn logger_mut(&mut self) -> &mut Self::Logger;

    fn log(
        self
    ) -> LogSteps<Self, <Self::Environment as EnvStructure>::ObservationSpace, <Self::Environment as EnvStructure>::ActionSpace, <Self::Feedback as Feedback>::EpisodeFeedback>Notable traits for LogSteps<S, OS, AS, EF>impl<S, OS, AS, EF> Iterator for LogSteps<S, OS, AS, EF> where
    S: Simulation<Observation = OS::Element, Action = AS::Element>,
    S::Feedback: Feedback<EpisodeFeedback = EF>,
    OS: LogElementSpace,
    AS: LogElementSpace,
    EF: Default + Loggable
type Item = PartialStep<S::Observation, S::Action, S::Feedback>;

    where
        Self::Environment: StructuredEnvironment,
        Self::Feedback: Feedback,
        Self: Sized
, { ... } }
Expand description

An environment-actor simulation

Required Associated Types

Required Methods

Provided Methods

Creates an iterator that logs each step

Implementors