In evolutionary computation, a human-based genetic algorithm (HBGA) is a genetic algorithm that allows humans to contribute their innovative solutions to the evolutionary process. For this purpose HBGA uses human-based innovation interfaces for initialization, mutation, and crossover operators. Often HBGA uses human evaluation as well (see Interactive genetic algorithm). The first online HBGA implementation 3form uses both human innovation and evaluation, to support innovation in a collaborative problem-solving process. In this implementation, human users are also free to choose the next genetic operation to perform. HBGA is a part of a more general class of human-based evolutionary computation methods.
Recent research suggests that human-based innovation operators are advantageous not only where it is hard to design an efficient computational mutation and/or crossover (e.g. when evolving solutions in natural language), but also in the case where good computational innovation operators are readily available, e.g. when evolving an abstract picture or colors (Cheng, 2004). In the latter case, human and computational innovation can complement each other, producing cooperative results and improving general user experience by ensuring that spontaneous creativity of users will not be lost.
Compared to other evolutionary genetic systems
Comparing a broad range of evolutionary genetic systems with respect to their dependency on human agency, an HBGA is similar to population genetic engineering (term).
| system |
sequences |
mutator |
selectand |
selector |
| nature |
nucleotide |
nature |
individual |
nature |
| artificial selection |
nucleotide |
nature |
individual |
human |
| population genetic engineering |
nucleotide |
human |
gene |
human |
| human-based genetic algorithm |
data |
human |
gene |
human |
| interactive genetic algorithm |
data |
computer |
individual |
human |
| genetic algorithm |
data |
computer |
individual |
computer |
One obvious pattern in the table (adapted from Allan, 2005) 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 far right, the selector is the agent that decides fitness in the system. In nature, and in genetic algorithms, the decisions are automatic; whereas most HBGA systems delegate fitness decisions to humans.
The selectand is the unit selected. In most organic and computer systems (top and bottom) the selectand is the whole individual. For example, in artificial selection, a breeding individual is selected from a cohort of domestic animals or plants. Similarly, in interactive genetic algorithms a whole artifact is selected from the population of artifacts. By contrast, in an HBGA, the selectand is usually a variant gene, compound, or genetic fragment from the gene pool.
Population genetic engineering and HBGA systems are broadly similar. In both, the human agent works at the level of genes, mutating, selecting and recombining gene sequences. The main difference lies in the material structure of the sequences: polynucleotide vs. electronic data.
Structural differences from traditional GA
- All four genetic operators (initialization, mutation, crossover, and selection) can be delegated to humans using appropriate interfaces.
- Initialization is treated as an operator, rather than a phase of GA. This allows to start HBGA with empty population. Initialization, mutation, and crossover operators form a group of innovation operators.
- Choice of genetic operator may be delegated to human as well, so human is not forced to perform a particular operation at any given moment.
- Storing and sampling population remains algorithmic function.
- HBGA usually uses multiple agents to perform genetic operations, being a typical example of a multi-agent system.
Functional features
- HBGA is a method of collaboration and knowledge exchange. It merges competence of its human users creating a kind of symbiotic human-machine intelligence (see also distributed artificial intelligence).
- Human innovation is facilitated by sampling solutions from population, associating and presenting them in different combinations to a user (see creativity techniques).
- HBGA facilitates consensus and decision making by integrating individual preferences of its users.
- HBGA makes use of a cumulative learning idea while solving a set of problems concurrently. This allows to achieve synergy because solutions can be generalized and reused among several problems. This also facilitates identification of new problems of interest and fair-share resource allocation among problems of different importance.
- The choice of genetic representation, a common problem of GA, in HBGA is greatly simplified, since algorithms don't have to be aware of the structure of each solution. In particular, HBGA allows a natural language to be a valid representation.
Areas of application
- Evolutionary knowledge management, integration of knowledge from different sources.
- Collaborative writing based on recombinant text (Allan 2001, 2005).
- Social organization, collective decision-making, and e-governance.
- Traditional areas of application of interactive genetic algorithms: computer art, user-centered design, etc.
- Collaborative problem solving using natural language as a representation.