# Chaos Computing: What it is and why we should care about it?

The operation of any computing machine is necessarily a physical process, and this crucially determines the possibilities and limitations of the computing device. For the past 20 years, the throughput of digital computers has increased at an exponential rate. Fueled by improvements in integrated-circuit technology, the exponential growth predicted by Moore’s law has held true. But Moore’s Law will come to an end as chipmakers will hit a wall when it comes to shrinking the size of transistors. As conventional chip manufacturing technology runs into physical limits in the density of circuitry and signal speed, which sets limits to binary logic switch scaling, alternatives to semiconductor-based binary digital computers are emerging. Apart from analogue VLSI, these include bio-chips, which are based on materials found in living creatures, optical computers that live on pure light, and quantum computers that depend on the laws of quantum mechanics in order to perform, in theory, tasks that ordinary computers cannot.

There is also another emerging computing paradigm, one which exploits the richness and complexity inherent in nonlinear dynamics, called chaos computing. 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. This article takes a deeper look at this technology and explores its possible applications in conventional computing technology.

# What is a chaotic system?

Dynamics is the study of how things change in time. In its simplest terms, dynamics can be characterized by two behaviors: regular and irregular. Regular behaviors include clocks, the seasons, metronomes, and so forth. Irregular behaviors include the weather, stock markets, casino games, and so forth. However, while regular behavior repeats a single pattern or multiple patterns in a predictable and unchanging manner, irregular behaviors (usually attributable to nonlinear effects, thus the name nonlinear dynamics) are much more varied and includes two extremes: random dynamics and chaotic dynamics.

Regular (or Periodic) Dynamics Changes in behavior depend upon previous state, motion repeats itself in a rigidly predictable manner. Examples: Seasons, clocks, linear electronics, Earth’s orbit, …

Irregular (or Aperiodic) Dynamics

Random: next change in the behavior or dynamics has no dependence upon current state of the dynamics. Changes are completely unpredictable. Examples: Sequence of coin toss, Roulette, …

Chaotic: next change in the dynamics has a deterministic dependence upon the current state of the dynamics. Changes, while irregular, move both regularly and irregularly between many patterns. Examples: Dripping water faucets, weather patterns, predator-prey populations, nonlinear electronics, orbit of Pluto, …

Now, concentrating upon chaotic systems we can essentially boil down to two essential features:

*Pattern Generation*: Chaotic systems generate large numbers of patterns of behavior and are irregular because they switch between these patterns.

*Sensitivity to Initial Conditions*: Chaotic systems exhibit “sensitivity to initial conditions,” which, in practice, means that chaotic systems can switch between patterns extremely fast.

# Logic Gates

All modern digital computers perform computations based upon digital logic operations implemented at the lowest level as logic gates, meaning essentially that all computations can be performed by sequences of ones and zeros. All computations in digital computers, as simple as adding two numbers and as complicated as reformatting a word processing document, ultimately are performed in hardware with combinations of these gates that perform logic functions. There are essentially seven basic logic functions implemented as logic gates: AND, OR, NOT, NAND, NOR, XOR and XNOR as shown below with associated circuit icons that represent the circuit that implements the logic function. Each logic gate is implemented in silicon as a static circuit that can be connected (and possibly reconnected) with other logic gate circuits to perform all computations requested by the user.

# Principle of the Morphing Chaotic Logic Gates

Logic gates, based upon the input electrical pattern of ones and zeros, produce an output electrical pattern of ones or zeros that correspond to their respective logic operation (or truth table). Each conventional logic gate consists of a dedicated circuit that produces the proper logical output. A chaotic morphing logic gate, henceforth ChaoGate, primarily consists of a generic nonlinear circuit that exhibits chaotic dynamics. Such chaotic dynamics is capable of generating many different patterns. We exploit this feature and select out, through a control mechanism, patterns that correspond to all logic gates. We further exploit the sensitivity to initial conditions to switch between different patterns extremely fast (well under a computer clock cycle). In practice to create a candidate ChaoGate we construct an optimized (power, size, speed, stability) chaotic electronic circuit with associated internal control circuitry that can select out any logic gate and switch between any logic gates exponentially fast. Thus, with a single ChaoGate we can reproduce, on the fly, any desired logic gate in hardware at each clock cycle.

# Chaotic Morphing

As an example of how chaotic morphing works, let’s take 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:

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. One can select out one of many patterns by implementing a controller for the chaotic system. We have chosen (but are not restricted to) a simple threshold controller that 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. Below, for illustrative purposes, we show what values of x0 and x* correspond to which gates for the logistic map with a specific OR gate sequence mapped out in detail.

# Chaotic Computer

Chaotic computer is a lattice of ChaoGates that communicate through interconnection system, running between them. A realization of such a chaotic computer has been demonstrated by Chaologix Inc. in 0.18 micrometer VLSI and commercialization is underway.

# Embedding Extra Features in Chaos Computing

Although the birth of Chaos Computing dates back to the main idea of bringing out basic simple logic gates from nonlinear chaotic dynamics, recently new features and capabilities are introduced and excluded for the sophisticated concept of Chaos Computing. Chaotic dynamics is a rich source of behaviors and patterns, which provide us with a great range of opportunities to embed higher level and sophisticated informatics related jobs in ChaoGate (ChaoGates).

In conventional computers, Hardware consists of just bare static logic gates and almost entire portion of real and higher-level processing duties are implemented as the Software. As a basic rule in Computer Engineering, computations performed in Hardware level are faster, more reliable and even secure than computations performed in Software level. Software should be translated to the very basic, elementary and primitive operations of hardware and by these translations, Software usually loses its efficiency and speed. At this point, the new concept of ChaoGate presents its novel and brilliant property. In sharp contrast to conventional computers, where Hardware is made up of static, regular-dynamics circuits, ChaoGate (as the basic Hardware block of a Chaotic Computers) consist of a dynamic and chaotic circuit, which different sophisticated and higher-level jobs can be brought out from it. As an example, it was demonstrated how Chaotic Computers and ChaoGates 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. One of the recent and most interesting applications is the subject of embedding intelligence in ChaoGate, e.g. how a group of ChaoGates can evolve and self-organize themselves (through morphing) to solve an unknown problem, or how can a ChaoGate evolve itself to response to an unstructured, unknown and dynamic environment properly, through morphing. Actually, these new features that can be embedded in ChaoGate seem endless, thanks to Chaotic Dynamics!

Today, a large number of very interesting chaos-based methods and approaches for information manipulation (processing, transmission, compressing, etc.) have been introduced. These methods are implemented as a program (Software) running on conventional computers, or specific dedicated implementations have been introduced for them. In the first case, the Chaos based Software should be translated to the primitive, and elementary operations of static (from the view of reconfiguration of gates) and regular-dynamic (from the view of physical behavior of gate) hardware, where in this translation they lose their efficiency, speed, security, and reliability. By the other words, regular-dynamic Hardware cannot support irregular (chaotic and even random) dynamic Software efficiently. In the second choice of implementation, a dedicated hardware cannot be reprogrammed and so is not a computer. The outstanding capability of a Chaotic Computer, constructed by ChaoGates as the Hardware is that the different chaos-based information manipulation methods can be realized and embedded in Hardware level, which preserves their speed, reliability, security and efficiency. In one side, Chaotic dynamics of ChaoGate can be efficiently applied for implementing different Chaos based algorithms, and on the other side, by implementation of these algorithms on ChaoGates, automatically they situate and run on Hardware (Hardware/ Firmware) level, which results in efficiency, security, reliability and speed of them.

# Biological and Natural Roots of Chaos Computing

Chaos Computing is not an abstract, imaginary or artificial approach for computing. It has strong natural and biological roots. Chaotic behavior is the occupied and mostly visited behavior in nature and biology. As an example, it has been observed that brain signals of rat, encountered by an unknown smell, goes chaotic to remind and associate it to one of previous smells. Such observations and evidences have motivated and initiated enormous number of different chaos-based information manipulation methods. Most of these methods have been introduced as Software, running on a computer. But in nature and biology, one cannot find a boundary between the physical body (Hardware) and data and algorithms (Software) as we define in conventional computers. In nature and biology, algorithms and date are emergences from the dynamics of physical body, and they do not possess independent characteristics from the physical body. From this point of view, chaotic computers and ChaoGates are more biological oriented than previous chaos-based information manipulation methods, because most of the processing jobs can be embedded in Hardware and in fact chaos computing is a dynamic based approach for computing, where computation coincides by the intrinsic dynamics of the ChaoGate. Thus, the roots of the chaotic computing, goes into the nature and biology, and as a result strong hopes exist that chaos computing may open new directions in computation technology.

We can soon expect to see greater application of this technology, especially since Processor IP licensor ARM Ltd. has acquired ChaoLogix Inc. as of October 2017 for an undisclosed sum of money and folded the company into its security operations. ARM appears to be particularly interested in the feature of ChaoGates where they have a power signature that is independent of the inputs which makes it valuable in thwarting differential power analysis (DPA) side channel attacks. A spokesperson for ARM said: “ChaoLogix has created technology that reduces the effectiveness of DPA- and DEMA-based [differential electromagnetic analysis] security attacks, and as security is key in many markets, ARM will be integrating this technology into future products. This will enable ARM’s customers to bring more secure products to market at a very competitive cost.” This clear indication towards the future implementation of chaos computing is all the more reason for us to be informed about this technology as we can expect it to soon become a mainstay of our consumer electronics, especially with companies like Apple soon switching to ARM based processors for their Mac lineup and also Microsoft investing in ARM based Windows laptops.