TrajectoryLocalProgressUtilityConfiguration
Utility that tracks whether the policy can make the next hop from a cell, not whether the whole episode wins.
Per start cell, an EMA of "did an episode launched here advance along the route" — defined as reaching a cell whose route_utility value clears a bar set a gap_fraction of the way from this cell to its best stored successor. This is the climber (policy skill), orthogonal to the backpropagated route utility's terrain (where a win is reachable). Their product — high route value but low local progress — is the learning frontier, so it advances one hop at a time instead of stalling where the whole episode never wins (see the frontier blend term).
support_threshold gates frontier candidacy: a cell only counts once its route value's reward side is corroborated by this many trajectories, so a single fluke win cannot create a phantom frontier that soaks restart budget forever (the max route aggregator never forgets).
Properties
triggers_successor_route_value_table
triggers_successor_route_value_table: boolwants_competence_table
wants_competence_table: boolMethods
competence_table_aggregator
competence_table_aggregator() -> TrajectoryCellValueAggregatorConfiguration | NoneValues
ema_alpha
ema_alpha: float = Field(default=0.05, gt=0.0, le=1.0)gap_fraction
gap_fraction: float = Field(default=0.5, gt=0.0, le=1.0)Fraction of the gap to the best successor that must be covered to count as progress (α).
kind
kind: Literal['local_progress'] = 'local_progress'route_utility
route_utility: strName of the backpropagated route utility (for example route_quality) whose cell value is climbed.
support_threshold
support_threshold: int = Field(default=3, ge=1)Reward-side corroboration required before a cell is eligible to be a frontier (N).
unknown_prior
unknown_prior: float = Field(default=0.0, ge=0.0, le=1.0)Assumed local-progress rate for cells with no recorded outcomes yet.