Natural Computing (also called Natural Computation) comes in a variety of different instantiations. The underlying principles of natural computing methods are gleaned from the model of nature. Examples are:
- Evolutionary Computation: Models of organic evolution for adaptation and optimization.
- Neural Networks: Models of neural information processing, e.g. for pattern recognition.
- Fuzzy Logic: Models of a generalized logic allowing to represent and handle the fuzzyness of human language by computers.
- Ant Colony Optimization: Models of ants finding paths from the colony to food, e.g. for finding good paths through graphs.
- Swarm Intelligence: Models of bird flocking, fish schooling, etc. leading to the emergence of global behavior, e.g. for optimization applications.
- Simulated Annealing: Models of physical processes of energy minimization by controlled cooling, e.g. for optimization.
- Cellular Automata: Discrete time and space models of local interactions in space resulting in the emergence of global behavior, with natural processes from biology, physics, chemistry which can be modeled by this approach.
- Molecular Computing: Molecular processes of self-assembly, mutation, cutting and splicing are being used as fundamental operators for computation, either in vitro or in silico.
The above list is non-exhaustive. In our group, we have a focus on evolutionary computation, ant colony optimization, swarm intelligence, cellular automata, and molecular computing. For most practical applications, we are relying on methods of evolutionary computation, specifically instances of evolution strategies.