pub trait EpisodeTrait: Send + Sync {
// Required methods
fn id(&self) -> &EpisodeId;
fn learn_model_name(&self) -> &str;
fn task_id(&self) -> Option<TaskId>;
fn group_id(&self) -> Option<GroupId>;
fn outcome(&self) -> &Outcome;
fn scenario_name(&self) -> Option<&str>;
// Provided method
fn is_success(&self) -> bool { ... }
}Expand description
Episode trait - 学習の基本単位を表すインターフェース
各 LearnModel に対応する具体的な Episode 型はこの trait を実装する。 これにより、学習対象ごとに最適化された構造を持ちながら、 共通のインターフェースで扱うことができる。
§実装例
ⓘ
// WorkerTask 学習用の Episode
pub struct WorkerTaskEpisode {
id: EpisodeId,
task_id: TaskId,
actions: Vec<ActionRecord>,
outcome: Outcome,
}
impl EpisodeTrait for WorkerTaskEpisode {
fn id(&self) -> &EpisodeId { &self.id }
fn task_id(&self) -> TaskId { self.task_id }
// ...
}Required Methods§
Sourcefn learn_model_name(&self) -> &str
fn learn_model_name(&self) -> &str
対応する LearnModel 名
Sourcefn scenario_name(&self) -> Option<&str>
fn scenario_name(&self) -> Option<&str>
シナリオ名(あれば)
Provided Methods§
Sourcefn is_success(&self) -> bool
fn is_success(&self) -> bool
成功したかどうか