# `GEPA.Strategies.CandidateSelector.Pareto`
[🔗](https://github.com/nshkrdotcom/gepa_ex/blob/v0.3.0/lib/gepa/strategies/candidate_selector.ex#L28)

Selects candidates from Pareto front using frequency-weighted sampling.

Programs appearing in more Pareto fronts have higher selection probability.
This naturally balances specialization (programs good at specific examples)
with generalization (programs good across many examples).

# `select`

```elixir
@spec select(GEPA.State.t(), :rand.state() | nil) ::
  {GEPA.Types.program_idx(), :rand.state()}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
