# AdaEvolve — faithful port of SkyDiscover's AdaEvolve defaults (the reference implementation; # it is the ground truth wherever it diverges from the paper). # Sections mirror the six core components. Mirrors skydiscover AdaEvolveDatabaseConfig. seed: 0 general: max_iterations: 100 inner_retry_times: 3 # 1 + max_error_retries(2): AdaEvolveController._run_normal_step # makes up to 3 generate+evaluate attempts per iteration, each # RESAMPLING the parent/mode and folding the prior error as # RETRY CONTEXT (handled by the scaffold's step override, not the # shared base _attempt which holds the parent fixed) population: # AdaEvolveArchipelago num_islands: 2 # initial islands (also read by selection_policy) population_size: 20 # programs per island archive (ArchiveConfig.max_size) k_neighbors: 5 # k for k-NN code-distance novelty archive_elite_ratio: 0.2 # fraction protected from eviction fitness_weight: 1.0 # elite-score fitness-percentile weight novelty_weight: 0.0 # elite-score novelty-percentile weight pareto_weight: 0.4 # deprecated; folded into fitness (scalar) migration_count: 5 # top programs sent to (k+1) mod K selection_policy: # AdaEvolvePolicy (also reads population.num_islands) decay: 0.9 # EMA (ρ) for G, UCB rewards R, decayed visits V intensity_min: 0.15 # exploration-probability floor (I_min) intensity_max: 0.5 # exploration-probability ceiling (I_max) fixed_intensity: 0.4 # used when use_adaptive_search is false use_adaptive_search: true # ablation: G-based intensity vs fixed_intensity use_ucb_selection: true # ablation: UCB island selection vs round-robin use_migration: true # ablation: ring migration on/off use_dynamic_islands: true # spawn islands on global stagnation migration_interval: 15 # migrate every N iterations max_islands: 5 # island cap for dynamic spawning spawn_productivity_threshold: 0.015 # spawn when improvements/evaluations < this spawn_cooldown_iterations: 30 # min iterations between spawns local_context_program_ratio: 0.6 # local share of inspirations num_inspirations: 4 # inspirations per prompt (num_context_programs) memory: # AdaEvolveParadigmMemory (Level-3 meta-guidance) use_paradigm_breakthrough: true # paradigm-breakthrough on/off paradigm_window_size: 10 # binary global-improvement window paradigm_improvement_threshold: 0.12 # rate < this (full window, no active paradigm) → generate paradigm_max_uses: 2 # uses per paradigm before rotation paradigm_num_to_generate: 3 # ideas per generator call paradigm_max_tried: 10 # bounded history of tried paradigms # NOTE (deviations from the upstream config surface): # - upstream `use_unified_archive` (QD-archive vs legacy capped-list ablation) is NOT ported — # the quality-diversity archive is always on (sanctioned decision; no legacy mode). # - upstream `diff_based_generation` / `allow_full_rewrites` are not exposed: AdaEvolveProposer is # hard-wired to SEARCH/REPLACE diffs with a full-rewrite fallback (the upstream defaults).