Natural computation

Natural computation, also called natural computing, is the field of research that works with computational techniques inspired in part by nature and natural systems. The aim of such research is to develop new computational tools (in software, hardware or wetware) for solving complex, usually conventionally-hard problems. This often leads to the synthesis of natural patterns, behaviors and organisms, and may result in the design of novel computing systems that use natural media with which to compute.

Natural computing can be divided into three main branches:
 * 1) Computing inspired by nature (also called biologically inspired computing): This makes use of nature as inspiration for the development of problem solving techniques. The main idea of this branch is to develop computational tools (algorithms) by taking inspiration from nature for the solution of complex problems;
 * 2) The simulation and emulation of nature by means of computing: This is basically a synthetic process aimed at creating patterns, forms, behaviors, and organisms that (do not necessarily) resemble ‘life-as-we-know-it’. Its products can be used to mimic various natural phenomena, thus increasing our understanding of nature and insights about computer models; and
 * 3) Computing with natural materials: This corresponds to the use of natural materials to perform computation, thus constituting a true novel computing paradigm that comes to substitute or supplement the current silicon-based computers.

The academic journals of record in this field are Natural Computing and IEEE Transactions on Evolutionary Computation.

Benefits
Benefits of natural computation technologies often mimic those found in real natural systems. These include:


 * Flexibility
 * NC techniques can often be applied to a very wide range of problems and with varying constraints.
 * Adaptability
 * NC algorithms are often good at dealing with unseen data and learning to handle it through intelligent acquisition of information.
 * Robustness
 * NC techniques are often very good at dealing with incomplete data, or data with anomalous features.
 * Decentralised control
 * Many NC techniques utilise a decentralised approach where there is no central hub coordinating computational activities.

Techniques

 * 1) Computing inspired by nature:
 * 2) * Evolutionary computation
 * 3) * Neural networks
 * 4) * Artificial immune systems
 * 5) * Swarm intelligence
 * 6) Simulation and emulation of nature by means of computing
 * 7) * Fractal geometry
 * 8) * Artificial life
 * 9) Computing with natural materials
 * 10) * DNA computing
 * 11) * Quantum computing
 * 12) * Optical computing for NP-complete problems