§ 2.5  ·  Research area

Genetic operators

How candidates are generated and recombined: mutation families, crossover families, and the adaptive selection between them.

§ 1   Why operators

What generates candidates, what recombines them, and what they have to preserve

Two families of operators move every population forward. Mutation takes a single candidate and produces a structurally adjacent one. Crossover takes two candidates and produces an offspring that combines material from both. In symbolic regression both kinds of operator have to walk the same line: enough structural change to find new hypotheses, not so much that the offspring is indistinguishable from a fresh random tree.

The Ufinq operator surface is built from the same primitives as classical tree-based GP, with three differences. Every operator belongs to a named family with declared semantics, so the population's mix can be reasoned about. Replacement-style crossovers take a pluggable subtree-selection strategy, so bloat control is an orthogonal modifier, not a baked-in constant. And every operator's success is tracked per branch by an adaptive bandit, so over time a branch draws from the operators that are actually working.

§ 2   Sub-areas

Four threads of work

§ 2.1

Mutation families

  • Families by what they edit. Constant, terminal, structural, function, logical, component, sequence and model mutations. Each family has its own legal local edits.
  • Random-node mutation. A node is drawn from those the mutation supports and replaced through the same structural API every other operator uses, which preserves type compatibility and arity.
  • Sub-search as a mutation. One mutation does not edit a node at all: it opens an inner search on the component that carries the error and splices the result back. See Compositional search.
  • Open questions. Mutations that respect tuned constants instead of re-randomizing them; the relation between the size of a local edit and offspring quality.
§ 2.2

Crossover taxonomy

  • Seven canonical families. Addition, Removal, Replacement, Combination, Blending, Splice, Semantic. Every crossover declares its family.
  • In the lineup. Tree-aligned one-point crossover and an approximate geometric-semantic crossover run by default alongside the classical operators.
  • Subtree selection as a seam. Replacement crossovers take a pluggable subtree-selection strategy. Uniform-random is what runs; size-fair (Langdon 2000), depth-fair and homologous-aligned (Poli & Langdon 1998) strategies are implemented and awaiting evaluation.
  • Headless-chicken baseline. Mating with a freshly composed random tree runs as one arm of the bandit, so every other operator's payoff is measured against a known reference in the same run.
  • Open questions. Brood selection (implemented, not yet in the lineup); which subtree-selection strategy earns the default.
§ 2.3

Adaptive operator selection

  • Per-branch bandits. Each branch maintains its own bandit state over the operators available to it. Branch isolation is absolute, so a branch learns from its own outcomes only; there is no cross-branch aggregation of operator weights.
  • Flat by default, hierarchical available. A branch runs a UCB1 bandit over its operators, warmed up from prior weights. A two-level bandit over family and operator exists and is under evaluation.
  • Reward against parent best. An offspring counts as a success when it beats the better of its parents, not the population mean. The signal stays informative even when the population is converging.
  • One data stream. The per-operator outcome stream that drives selection is also recorded for offline ablation analysis.
  • Open questions. A bandit over operator hyperparameters; reward design under multi-objective selection.
§ 2.4

Bloat control as an orthogonal modifier

  • In the selection strategy. Bloat control lives in the subtree-selection strategy, not in each operator. One size-fair strategy applies to every replacement-family crossover.
  • A small policy class. Each strategy is a small class, not a fork of every operator that would have to be kept in sync.
  • Open questions. Strategy choice as a per-branch bandit arm of its own; how strategies interact with the normalized populations that symbolic refinement produces.
§ 3   Why it matters

Three consequences of this design

Coverage with disciplineOperators are added by family with declared semantics, not by hunch, and a known baseline runs beside them in every branch.
Bloat is decoupledSubtree-selection strategy is an orthogonal modifier. A new bloat-control idea is a new strategy class, not a fork of every operator.
The mix tunes itselfPer-branch bandits learn which operators are paying off in this run, on this dataset, against this population. The configured operator list is the upper bound on what is reachable; what actually fires is selected.
§ 4   Notes & references

Related material

Adjacent areas: Symbolic refinement describes the normalization that makes structural comparisons between offspring meaningful; Search describes the two diversity checks that decide whether an offspring survives into the gene pool; Compositional search describes the sub-search mutation. The system view of how operators fit into a single branch is described under Technology § 1.

Read

Continue reading

Other research areas are listed under Research. Published work lives on Papers; short-form notes on Notes.

Back to Research areas