Chaos computing
From Wikipedia, the free encyclopedia
This article may require cleanup to meet Wikipedia's quality standards. Please improve this article if you can. (November 2007) |
Chaos Computing
[edit] Introduction
Presented is a specific description and illustration of how chaotic systems can be made to produce and morph between such all logic gates.
[edit] What is a Chaotic System?
Dynamics is the study of how things change in time. In its simplest terms dynamics can 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. [1]
Regular (or Periodic) Dynamics Changes in behavior depend upon previous state, motion repeats itself in a rigidly predictable manner. Examples: Seasons, Clocks, Loan Payments, 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,” [2] which, in practice, means that chaotic systems can switch between patterns extremely fast.
[edit] Logic Gates
All modern digital computers perform computations based upon digital logic operations implemented as logic gates.[3] Essentially this means that all computations can be performed by sequences of ones and zeros. Digital computers implement, at the lowest level, digital logic in the form of circuits called logic gates. All computations in digital computers ultimately are performed in hardware with combinations of logic gates that perform operations as simple as adding two numbers and as complicated as reformatting a word processing document. 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 in as a static circuit that can be connected and possible reconnected with other logic gate circuits to perform all computations requested by the user.
[edit] 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 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.
[edit] Chaotic Morphing
As an example of how chaotic morphing works, lets 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 = 4 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.
[edit] How to Morph into a Two Input XOR Gate with the Logistic Map
Overview of settings for the logistic map to create ALL logic gates
In the four pictures above it is explicitly shown how we can reproduce the entire truth table that corresponds to an OR gate. By changing x* (and x0) we can alter the response of the circuit to correspond to all the other gates.
Since the logistic map in this parameter regime is chaotic, a circuit implementation can be morphed exponentially fast (typically under half a clock cycle for a given VLSI implementation) between all logic gates or functions. A realization of chaotic computing has been demonstrated by Chaologix Inc. in 0.18 micron VLSI and commercialization is underway.
[edit] 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 micron VLSI and commercialization is underway.
[edit] Embedding Extra Features in Chaos Computing
Although the born of Chaos Computing returns 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 reach 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 following picture, the condition of Software, Firmware, and Hardware in a computer system is illustrated: In this picture a simple hierarchy of a computer system, which consists of Hardware level, Firmware level, and Software level, is illustrated.
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 this translations, Software usually loses its efficiency and speed. At this point, the new concept of GhaoGate 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, in [1] 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 [2], [3]and as an example, this parallel architecture can lead to constructing an SR like memory element through one ChaoGate [4]. As another example, it has been proved that any logic function can be constructed directly from just one ChaoGate [5]. 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, by especial thanks of 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 a 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 can not support irregular (chaotic and even random) dynamic Software efficiently. In the second choice of implementation, a dedicated hardware can not 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.
[edit] Biological and Natural Roots of Chaos Computing
Chaos Computing is not an abstract, imaginary, and 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, has 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 can not 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 the most of the processing jobs can be embedded in Hardware and in fact chaos computing is a dynamic based approach for computing, where computations 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 mankind computation technology.
[edit] References
- ^ "Fault tolerance and detection in chaotic Computers" M.R. Jahed-Motlagh, B. Kia, W.L. Ditto and S. Sinha, International Journal of Bifurcation and Chaos 17, 1955-1968(2007)
- ^ "Chaos-based computation via Chua's circuit: parallel computing with application to the SR flip-flop"D. Cafagna, G. Grassi, International Symposium on Signals, Circuits and Systems, ISSCS 2005, Volume: 2, 749-752 (2005)
- ^ "Parallel computing with extended dynamical systems" S. Sinha, T. Munakata and W.L. Ditto Physical Review E, 65 036214 [1-7](2002)
- ^ "Chaos-based computation via Chua's circuit: parallel computing with application to the SR flip-flop"D. Cafagna, G. Grassi, International Symposium on Signals, Circuits and Systems, ISSCS 2005, Volume: 2, 749-752 (2005)
- ^ “Reconfigurable logic blocks Based on a chaotic Chua circuit,” H. R. Pourshaghaghi, B. Kia, W. Ditto and M. R. Jahed-Motlagh, to be published in CHAOS, SOLITONS & FRACTALS
“The 10 Coolest Technologies You’ve Never Heard Of – Chaos Computing,” PC Magazine, Vol. 25, No. 13, page p. 66, August 8, 2006. [4]
“Logic from Chaos,” MIT Technology Review, June 15, 2006. [5]
“Method and apparatus for a chaotic computing module,” W. Ditto, S. Sinha and K. Murali, US Patent Number 07096347 (August 22, 2006).[6]
“Exploiting the controlled responses of chaotic elements to design configurable hardware,” W. L. Ditto and S. Sinha, Philosophical Transactions of the Royal Society London A, 364, pp. 2483—2494 (2006) (doi:10.1098/rsta.2006.1836).
“Chaos Computing: ideas and implementations” William L. Ditto, K. Murali and S. Sinha, Philosophical Transactions of the Royal Society London A, (2007) (10.1098/rsta.2007.2116).
“Experimental realization of the fundamental NOR Gate using a chaotic circuit,” K. Murali, Sudeshna Sinha and William L. Ditto Phys. Rev. E 68, 016205 (2003).
“Implementation of NOR gate by a chaotic Chua’s circuit,” K. Murali, Sudeshna Sinha and William L. Ditto, Int. J. of Bifurcation and Chaos, Vol. 13, No. 9, pp. 1-4, (2003).
"Fault tolerance and detection in chaotic Computers" M.R. Jahed-Motlagh, B. Kia, W.L. Ditto and S. Sinha, International Journal of Bifurcation and Chaos 17, 1955-1968(2007)
"Chaos-based computation via Chua's circuit: parallel computing with application to the SR flip-flop"D. Cafagna, G. Grassi, International Symposium on Signals, Circuits and Systems, ISSCS 2005, Volume: 2, 749-752 (2005)
"Parallel computing with extended dynamical systems" S. Sinha, T. Munakata and W.L. Ditto Physical Review E, 65 036214 [1-7](2002)
“Reconfigurable logic blocks Based on a chaotic Chua circuit,” H. R. Pourshaghaghi, B. Kia, W. Ditto and M. R. Jahed-Motlagh, to be published in CHAOS, SOLITONS & FRACTALS