Evolutionary Computation · A Living Field Guide

Solutions that evolve.

NovaGenetica is a curated, growing home for everything worth knowing about Genetic Algorithms and Genetic Programming — plain-language primers, the foundational books and papers, the software you can actually run, and real projects that put evolution to work. Whether you're new to the idea or going deep, start here.

1975
Holland's foundational book on adaptation
2 tracks
Genetic Algorithms and Genetic Programming, side by side
Books · Papers · Code
a sourced library, not a link dump
1 robot
a working project that navigates by evolution
Why it matters

One idea, an enormous range of uses.

You don't need a perfect model of a problem to evolve a good solution to it — you just need a way to score candidates and a way to vary them. That's why evolutionary methods turn up everywhere.

Optimization

Scheduling, routing, layout, parameter tuning, and design problems where the search space is huge and the math is ugly. GAs find strong answers without needing gradients or a tidy formula.

Search · Tuning · Design

Machine learning

Evolving features, neural-network weights and structures (neuroevolution), rule sets, and symbolic models that stay readable — a complement to gradient-based learning.

Neuroevolution · Symbolic models

Robotics & control

Evolving controllers, gaits, and navigation policies on real and simulated hardware — including the SEED-Nav robot featured on this site.

Controllers · Navigation
The core loop

How evolution searches.

Every genetic algorithm and genetic program runs the same basic cycle. Once you see it, you see it everywhere.

  1. Represent. Encode each candidate solution as a genome — a string of numbers, a bit vector, or a tree of program code.
  2. Evaluate. Score every candidate with a fitness function: how good is this solution at the job you care about?
  3. Select. Give fitter candidates a better chance of becoming parents — the pressure that drives improvement.
  4. Vary. Recombine parents (crossover) and introduce small random changes (mutation) to produce a new generation — then repeat until it's good enough.
An open invitation

Built something with evolution? Share it.

NovaGenetica is a community resource. If you've written a paper, built a library, taught a course, or evolved a project in genetic algorithms or genetic programming, we'd love to feature it in the library — with full credit and a link back to you. Beginners welcome.

Share your work
Who's behind this

Curated by Darin R. Molnar, PhD

NovaGenetica is maintained by Darin R. Molnar, PhD — a technologist and researcher who builds with evolutionary methods, including the SEED-Nav navigation robot featured here. Consulting work runs through Shoreline Consulting.

More about Darin & Shoreline