Skip to main content

PlannerCycleObserver

Trait PlannerCycleObserver 

Source
pub trait PlannerCycleObserver {
    // Required methods
    fn observe_percept(
        &mut self,
        step: usize,
        observations: &[u64],
        reward: Reward,
    ) -> Result<(), PlannerAgentError>;
    fn observe_action(
        &mut self,
        step: usize,
        action: Action,
        provenance: PlannerActionProvenance,
    ) -> Result<(), PlannerAgentError>;
    fn end_cycle(&mut self, step: usize) -> Result<(), PlannerAgentError>;
}
Expand description

Observer strategy for ordered planner-cycle telemetry.

Implementations receive a controller’s native event ordering, which is one of:

  • decision-percept: the percept for step t, then action t; after the final scheduled action, one terminal successor percept at step N = learn_cycles + eval_cycles.
  • action-then-post-percept: action t, then the reached percept, both at step t, with no separate terminal percept.

Observers must tolerate either ordering and a percept reported at step == N. Each concrete controller documents which ordering it produces.

Required Methods§

Source

fn observe_percept( &mut self, step: usize, observations: &[u64], reward: Reward, ) -> Result<(), PlannerAgentError>

Observe a percept event for step.

Under the decision-percept ordering, step may equal the total number of scheduled cycles N for the terminal successor percept; observers must accept this one-past-the-last-cycle index.

Source

fn observe_action( &mut self, step: usize, action: Action, provenance: PlannerActionProvenance, ) -> Result<(), PlannerAgentError>

Observe an action event for step.

Source

fn end_cycle(&mut self, step: usize) -> Result<(), PlannerAgentError>

Mark the end of one complete cycle.

Implementations on Foreign Types§

Source§

impl PlannerCycleObserver for ()

Source§

fn observe_percept( &mut self, _step: usize, _observations: &[u64], _reward: Reward, ) -> Result<(), PlannerAgentError>

Source§

fn observe_action( &mut self, _step: usize, _action: Action, _provenance: PlannerActionProvenance, ) -> Result<(), PlannerAgentError>

Source§

fn end_cycle(&mut self, _step: usize) -> Result<(), PlannerAgentError>

Implementors§