Overview
Thesearch section controls the evolutionary search algorithm, database backend, and context program selection strategy.
Basic Configuration
Search Types
SkyDiscover supports multiple search algorithms, each with different strategies for exploring the solution space.Top-K Search
Simple best-first search that maintains the top-k programs by fitness.str
default:"None"
Path to SQLite database for storing results
bool
default:"true"
Whether to log prompts to the database
AdaEvolve (Adaptive Multi-Island)
Adaptive evolutionary algorithm with multiple islands that adjust search intensity based on improvement history.configs/adaevolve.yaml
skydiscover/config.py:380-432
Population Settings
Population Settings
Adaptive Search
Adaptive Search
bool
default:"true"
Enable adaptive search intensity based on improvement signal
float
default:"0.9"
Exponential moving average weight (rho) for improvement signal
float
default:"0.15"
Minimum search intensity (exploitation mode)
float
default:"0.5"
Maximum search intensity (exploration mode)
float
default:"0.4"
Fixed intensity when
use_adaptive_search=falseSelection & Migration
Selection & Migration
Archive & Diversity
Archive & Diversity
Dynamic Islands
Dynamic Islands
Paradigm Breakthrough
Paradigm Breakthrough
bool
default:"true"
Generate new high-level strategies during stagnation
int
default:"10"
Window for improvement rate calculation
float
default:"0.12"
Trigger paradigm breakthrough below this improvement rate
int
default:"2"
Maximum uses per paradigm
int
default:"3"
Number of paradigms to generate per trigger
int
default:"10"
Maximum tried paradigms to track
OpenEvolve Native (MAP-Elites)
Quality-diversity search using MAP-Elites grids with island-based populations.configs/openevolve_native.yaml
skydiscover/config.py:435-450
int
default:"5"
Number of islands in the population
int
default:"40"
Total population size across all islands
int
default:"100"
Size of the MAP-Elites archive
float
default:"0.2"
Probability of exploration (random parent from current island)
float
default:"0.7"
Probability of exploitation (elite from archive)
float
default:"0.1"
Fraction of context programs from top elites
List[str]
default:"[\"complexity\", \"diversity\"]"
Behavioral dimensions for MAP-Elites grid
int
default:"10"
Number of bins per feature dimension
GEPA Native
Guided Evolution for Program Adaptation with elite pool, epsilon-greedy selection, and LLM-mediated merge.skydiscover/config.py:453-472
Beam Search
Beam search with diversity weighting.skydiscover/config.py:362-370
Best-of-N
Generate N candidates and select the best one.skydiscover/config.py:373-377
EvoX (Co-Evolution)
Label-guided co-evolutionary search.configs/evox.yaml
skydiscover/config.py:339-359
SearchConfig Parameters
Defined inskydiscover/config.py:485-493
str
default:"topk"
Search algorithm:
topk, adaevolve, openevolve_native, gepa_native, beam_search, best_of_n, or evoxint
default:"4"
Number of example programs to include in generation prompts
str
default:"None"
Override output directory. If None, auto-generates based on search type and timestamp
DatabaseConfig
default:"DatabaseConfig()"
Algorithm-specific database configuration
CLI Overrides
Override search type from command line:Choosing a Search Algorithm
Top-K
Best for: Quick experiments, simple optimizationPros: Fast, simple, low overheadCons: Limited exploration
AdaEvolve
Best for: Complex optimization, long runsPros: Adaptive, robust, handles stagnationCons: More computational overhead
OpenEvolve Native
Best for: Quality-diversity, exploring trade-offsPros: Diverse solutions, explores full spaceCons: Requires good feature dimensions
GEPA
Best for: Merging diverse solutionsPros: LLM-mediated combination, smart gatingCons: Higher LLM token usage
Next Steps
LLM Configuration
Configure models for search
Evaluator Configuration
Set up program evaluation