factor_agent.config.RoundConfig#

class RoundConfig(candidates=20, min_per_type=3, retries=2, max_rounds=30, max_trials=600, patience=5, memory_every=5, seed=0, groups=1, max_children=None, picked_parents=0)[source]#

Bases: object

The size of a round, the planner’s quotas and when the campaign stops.

Attributes#

RoundConfig.candidates = 20#

Candidates asked for per round.

RoundConfig.groups = 1#

Proposal groups a round’s directions are split into, each written, fixed and reviewed by calls of its own that run side by side; a resume may change it.

RoundConfig.max_children = None#

Trials built on one trial (its Lineage’s attempts) at which it is taken off the planner’s parents, so a direction naming it is planned as a new one; None (the default) caps none. It needs context.feedback, and a resume may not change it.

RoundConfig.max_rounds = 30#

Rounds the campaign runs at most.

RoundConfig.max_trials = 600#

Trials (candidates, failed ones included) the campaign runs at most; a round that would go past it is not started.

RoundConfig.memory_every = 5#

Rounds between two distillations of the ledger into the memory.

RoundConfig.min_per_type = 3#

Candidates of every mechanism type per round; the rest are allocated by Thompson sampling.

RoundConfig.patience = 5#

Consecutive rounds without an acceptance after which the campaign stops.

RoundConfig.picked_parents = 0#

Slots each round whose parent the code chooses (Picked parents, _trial_graph), each a slot of its parent’s mechanism type that the planner writes as a refinement or a mutation of it; 0 (the default) picks none. It needs context.theme_correlation, and a resume may not change it.

RoundConfig.retries = 2#

Times a candidate the parser or the Gate refused is sent back to the proposer to fix.

RoundConfig.seed = 0#

Seed of the Thompson sampling; round n draws from (seed, n).