Chaos computing

In theoretical computer science, chaos computing is the idea of using chaotic systems for computation. In particular, chaotic systems can be made to produce all types of logic gates and further allow them to be morphed into each other.

Introduction
Chaotic systems generate large numbers of patterns of behavior and are irregular because they switch between these patterns. They exhibit sensitivity to initial conditions which, in practice, means that chaotic systems can switch between patterns extremely fast.

Modern digital computers perform computations based upon digital logic operations implemented at the lowest level as logic gates. There are essentially seven basic logic functions implemented as logic gates: AND, OR, NOT, NAND, NOR, XOR and XNOR.

A chaotic morphing logic gate consists of a generic nonlinear circuit that exhibits chaotic dynamics producing various patterns. A control mechanism is used to select patterns that correspond to different logic gates. The sensitivity to initial conditions is used to switch between different patterns extremely fast (well under a computer clock cycle).

Chaotic morphing
As an example of how chaotic morphing works, consider a generic chaotic system known as the logistic map. This nonlinear map is very well studied for its chaotic behavior and its functional representation is given by:


 * $$\qquad x_{n+1} = r x_n (1-x_n) $$.

In this case, the value of $x$ is chaotic when $r$ >~ 3.57... and rapidly switches between different patterns in the value of $x$ as one iterates the value of $n$. A simple threshold controller can control or direct the chaotic map or system to produce one of many patterns. The controller basically sets a threshold on the map such that if the iteration ("chaotic update") of the map takes on a value of $x$ that lies above a given threshold value, $x$*, then the output corresponds to a 1, otherwise it corresponds to a 0. One can then reverse engineer the chaotic map to establish a lookup table of thresholds that robustly produce any of the logic gate operations. Since the system is chaotic, we can then switch between various gates ("patterns") exponentially fast.

ChaoGate
The ChaoGate is an implementation of a chaotic morphing logic gate developed by William Ditto, Sudeshna Sinha, and K. Murali.

A chaotic computer, made up of a lattice of ChaoGates, has been demonstrated by Chaologix Inc.

Research
Recent research has shown how chaotic computers can be recruited in fault tolerant applications, by introduction of dynamic based fault detection methods. Also it has been demonstrated that multidimensional dynamical states available in a single ChaoGate can be exploited to implement parallel chaos computing, and as an example, this parallel architecture can lead to constructing an SR like memory element through one ChaoGate. As another example, it has been proved that any logic function can be constructed directly from just one ChaoGate.

Chaos allows order to be found in such diverse systems as the atmosphere, heart beating, fluids, seismology, metallurgy, physiology, or the behavior of a stock market.