Algorithm Overview
| Algorithm | Complexity | Best For | Key Idea |
|---|---|---|---|
| Top-K | Simple | Quick testing | Refine top-ranked solutions |
| Best-of-N | Simple | Local optimization | Generate N variants from same parent |
| Beam Search | Moderate | Structured exploration | Maintain beam of promising candidates |
| OpenEvolve Native | Moderate | Diversity + quality | MAP-Elites with island migration |
| GEPA Native | Advanced | Multi-objective | Pareto-efficient search with merge |
| AdaEvolve | Advanced | Production use | Adaptive multi-island search with UCB |
| EvoX | Advanced | Research | Co-evolves search strategy itself |
Simple Algorithms
Top-K
Strategy: Always refine the best program.- Quick prototyping
- Problems with clear improvement gradient
- Baseline for comparison
skydiscover/search/topk/database.py:10
Best-of-N
Strategy: Generate N variants from the same parent before switching.- Exhaustive local search around promising solutions
- Reducing variance in stochastic generation
skydiscover/search/best_of_n/database.py:11
Beam Search
Strategy: Maintain a fixed-width beam of promising candidates, expanding in breadth-first manner.best: Always highest-scoring in beamstochastic: Weighted random by scoreround_robin: Cycle through beam membersdiversity_weighted: Balance score and diversity (default)
- Problems requiring breadth-first exploration
- Avoiding premature convergence
- Structured solution spaces
skydiscover/search/beam_search/database.py:28
Advanced Algorithms
OpenEvolve Native
Strategy: MAP-Elites archive + island-based evolution. Key Features:- MAP-Elites Archive: Grid of behavior dimensions, each cell stores best program
- Multi-island: Independent populations with periodic migration
- Diversity Pressure: Explicitly rewards novel behaviors
- Need both high quality AND diversity
- Problems with multiple distinct solution types
- Long-running discovery (100+ iterations)
skydiscover/search/openevolve_native/database.py
GEPA Native
Strategy: Pareto-efficient search with acceptance gating and code merge. Key Features:- Pareto Frontier: Track programs optimal on ≥1 metric
- Acceptance Gating: Only add programs that improve OR are Pareto-optimal
- LLM-Mediated Merge: Combine features from multiple high-performing programs
- Multi-objective optimization (speed vs accuracy, cost vs quality)
- Quality focus over diversity
- Constrained evaluation budget
skydiscover/search/gepa_native/database.py
AdaEvolve ⭐
Strategy: Multi-island adaptive search with UCB selection and paradigm breakthroughs. Architecture:-
Heterogeneous Islands: Each island optimizes different objectives:
balanced: Quality + diversityquality: Pure fitness maximizationdiversity: Novelty searchpareto: Multi-objective optimization
-
UCB Island Selection: Allocate iterations to productive islands:
-
Adaptive Search Intensity:
- High productivity → exploit (sample from top programs)
- Low productivity → explore (sample diverse programs)
- Migration: Periodically share best programs between islands
- Paradigm Breakthroughs: Detect stagnation and spawn new exploration directions
- Production use — best general-purpose algorithm
- Unknown problem structure
- Need robustness across diverse benchmarks
- Frontier-CS: 34% median improvement over competitors
- Math tasks: Matches AlphaEvolve on 6/8 benchmarks
- Systems: 41% cost reduction on cloud scheduling
skydiscover/search/adaevolve/database.py:150
EvoX 🧠
Strategy: Co-evolves the search strategy itself using meta-learning. Key Idea: Treat the search algorithm as a program that can also be evolved. Two-Level Evolution:- Solution Level: Evolve candidate programs (standard)
- Meta Level: Evolve the search strategy that generates programs
Strategy Evaluation Metrics:
- Research on learning-to-search
- Very long runs (200+ iterations)
- Problems where optimal search strategy is unknown
skydiscover/search/evox/controller.py
Algorithm Comparison
Convergence Speed
Diversity vs Quality
Choosing an Algorithm
- Getting Started
- Quick Prototyping
- Multi-Objective
- Research
Recommended:
adaevolveBest general-purpose algorithm. Works well without tuning.Writing Custom Algorithms
Seeskydiscover/search/README.md for detailed guide.
Simple Algorithm (Database only):
skydiscover/search/route.py:
run_discovery() for cross-iteration behavior:
Related
Architecture
How algorithms integrate with the framework
Evaluators
Writing effective evaluation functions