sky / configs /adaevolve.yaml
JustinTX's picture
Add files using upload-large-folder tool
f4790e1 verified
# AdaEvolve - Adaptive Evolutionary Search Configuration
#
# AdaEvolve is an adaptive multi-island evolutionary algorithm that adjusts
# search intensity per island based on accumulated improvement history.
#
# Key features:
# - Per-island adaptive exploration/exploitation via accumulated signal (G)
# - UCB with decayed magnitude rewards for island selection
# - UnifiedArchive per island for quality-diversity balance
# - Ring migration for cross-pollination between islands
# - Dynamic island spawning when global productivity drops
# - Paradigm breakthrough for high-level strategy shifts during stagnation
#
# Usage:
# Copy this file to your example directory as config_adaevolve.yaml
# and fill in the system_message with your problem description.
# General settings
max_iterations: 100
checkpoint_interval: 10
log_level: "INFO"
random_seed: 42
# LLM configuration
llm:
models:
- name: "gpt-5"
weight: 1.0
api_base: "https://api.openai.com/v1"
temperature: 0.7
# top_p: 0.95 # omitted by default; some providers (e.g. Anthropic) reject both temperature and top_p
max_tokens: 32000
timeout: 600
# To use Gemini: comment out models + api_base above, uncomment below
# models:
# - name: "gemini-3-pro-preview"
# api_base: "https://generativelanguage.googleapis.com/v1beta/openai/"
# api_key: ${GEMINI_API_KEY}
# Search configuration
search:
type: "adaevolve"
num_context_programs: 4
database:
# Population settings
population_size: 20
num_islands: 2
# --- Adaptive search intensity ---
# Controls how search intensity adapts based on improvement signal (G)
# High G (productive island) -> low intensity (exploit)
# Low G (stagnating island) -> high intensity (explore)
decay: 0.9 # Exponential moving average weight (rho)
intensity_min: 0.15 # Minimum search intensity (exploitation)
intensity_max: 0.5 # Maximum search intensity (exploration)
# --- Ablation flags ---
# Set to false to disable specific adaptive mechanisms for ablation studies
use_adaptive_search: true # G-based intensity vs fixed_intensity
use_ucb_selection: true # UCB island selection vs round-robin
use_migration: true # Inter-island migration
use_unified_archive: true # Quality-diversity archive vs simple list
# fixed_intensity: 0.4 # Used when use_adaptive_search=false
# --- Migration ---
migration_interval: 15 # Migrate every N iterations
migration_count: 5 # Number of top programs to migrate
# --- Archive settings (when use_unified_archive=true) ---
fitness_weight: 1.0 # Weight for fitness rank in elite score
novelty_weight: 0.0 # Weight for novelty rank in elite score
diversity_strategy: "code" # Diversity metric: "code", "metric", or "hybrid"
# --- Optional Pareto multiobjective mode ---
# Leave pareto_objectives empty to keep the current scalar combined_score behavior.
# When enabled, return the raw objective metrics from the evaluator and set:
# pareto_objectives:
# - accuracy
# - latency
# higher_is_better:
# accuracy: true
# latency: false
# fitness_key: accuracy # Optional scalar proxy for adaptive state / tie-breaking
# pareto_objectives_weight: 0.4 # Weight of Pareto percentile in archive elite score
# --- Dynamic island spawning ---
use_dynamic_islands: true
max_islands: 5 # Maximum number of islands
spawn_productivity_threshold: 0.015 # Spawn if global productivity below this
spawn_cooldown_iterations: 30 # Wait N iterations between spawns
# --- Paradigm breakthrough ---
use_paradigm_breakthrough: true
paradigm_window_size: 10 # Window for improvement rate calculation
paradigm_improvement_threshold: 0.12 # Stagnation threshold
paradigm_max_uses: 2 # Max uses per paradigm
paradigm_max_tried: 10 # Max tried paradigms to track
paradigm_num_to_generate: 3 # Number of paradigms to generate per trigger
# --- Error retry ---
enable_error_retry: true
max_error_retries: 2
# Prompt configuration
prompt:
system_message: |
<REPLACE WITH YOUR PROBLEM-SPECIFIC SYSTEM MESSAGE>
Describe:
- What the algorithm/function should do
- Input/output format
- Optimization objective and metrics
- Constraints
- Techniques to explore
# Evaluator configuration
evaluator:
timeout: 360
max_retries: 3
cascade_evaluation: true
cascade_thresholds: [0.3, 0.6]
# Generation settings
diff_based_generation: true
max_solution_length: 60000