In evolutionary computation, a human-based genetic algorithm (HBGA) is a genetic algorithm that allows humans to contribute solution suggestions to the evolutionary process. For this purpose, a HBGA has human interfaces for initialization, mutation, and recombinant crossover. As well, it may have interfaces for selective evaluation. In short, a HBGA outsources the operations of a typical genetic algorithm to humans.
Among evolutionary genetic systems, HBGA is the computer-based analogue of genetic engineering (Allan, 2005).
This table compares systems on lines of human agency:
One obvious pattern in the table is the division between organic (top) and computer systems (bottom).
Another is the vertical symmetry between autonomous systems (top and bottom) and human-interactive systems (middle).
Looking to the right, the selector is the agent that decides fitness in the system.
It determines which variations will reproduce and contribute to the next generation.
In natural populations, and in genetic algorithms, these decisions are automatic; whereas in typical HBGA systems, they are made by people.
The innovator is the agent of genetic change.
The innovator mutates and recombines the genetic material, to produce the variations on which the selector operates.
In most organic and computer-based systems (top and bottom), innovation is automatic, operating without human intervention.
In HBGA, the innovators are people.
HBGA is roughly similar to genetic engineering.
In both systems, the innovators and selectors are people.
The main difference lies in the genetic material they work with: electronic data vs. polynucleotide sequences.
All four genetic operators (initialization, mutation, crossover, and selection) can be delegated to humans using appropriate interfaces (Kosorukoff, 2001).
Initialization is treated as an operator, rather than a phase of the algorithm. This allows a HBGA to start with an empty population. Initialization, mutation, and crossover operators form the group of innovation operators.