Chaos and its Computing Paradigm By: Kellen Dale and Joel Martinez
History Started as mathematical study Originated at MIT –A–Around 1960
Chaos Revealed Chaos has three defining characteristics: Extreme sensitivity to initial conditions It has aperiodic long-term behavior It is completely deterministic
The Butterfly Effect “The flapping of a single butterfly’s wings today produces a tiny change in the state of the atmosphere. Over a period of time, what the atmosphere actually does diverges from what it would have done. So, in a month’s time, a tornado that would have devastated the Indonesian coast doesn’t happen. Or maybe on that wasn’t going to happen, does.” –Ian Stewart, Does God Play Dice? The Mathematics of Chaos, pg.141
COME ON DOWN!! Plinko –Does it follow the defining characteristics? Dependent on initial conditions? Aperiodic? Deterministic?
Example of a Chaotic System Logistic Map –Used as a population model x n+1 = rx n (1-x n ) ‘r’ is a positive constant ‘X n ’ denotes growth as a result of reproduction (between 0 and 1) ‘(1- X n )’ represents the loss due to death
Generating Data double lambda = 4; double xNext = ; //used.6 and int iteration = 0; fout.open(“output.txt”); for(int j = 0; j < 51; j++){ for(int i = 0; i < iteration; i++){ xNext = lambda*xNext*(1 - xNext); } fout << xNext << endl; xNext = ;//change to use.6 and iteration += 1; }
Visualizing the Logistic Map
Computing with Chaos How do we perform a computation with a choatic system? –B–Basic logic operations (AND, OR, XOR, NAND…) with chaotic elements
Interpreted to Actual Values Interpreted Values of AND –(I 1, I 2,O) –(0,0,0) (0,1,0) (1,0,0) (1,1,1) Actual values –(X 1,X 2,Z) –(interpreted -> actual), (0 0) (1 δ) –(0,0,0) (0, δ,0) (δ,0,0) (δ, δ, δ)
Output Given a Threshold Value Chaotic element output based on a threshold value represented as x* –If f(x) ≤ x*, no output, i.e. Z= 0 (false) –Otherwise, Z = δ (true) = f(x) – x* is outputted –Using these characteristics in combination with the chaotic behavior of f(x) we implement the AND operator in three steps.
Three Steps Step 1 –Initialization of x 0 and input of external values –x = x 0 + X 1 + X 2 for the AND operator Step 2 –Chaotic update: x -> f(x), where f(x) is our chaotic function Step 3 –Threshold mechanism to get output, ‘Z’ –Z = 0 (false) if f(x) ≤ x* –Z = δ (true) = f(x) – x*, if f(x) > x*
Choosing Parameters Need three parameters δ, x 0, and x* that are consistent with the three steps in order to achieve the required input-to-output mapping. Z=AND(X 1,X 2 ) –Four possible combos, (0,0), (0, δ), (δ,0), (δ,δ)
x = x 0 + X 1 + X 2 Case 1 –B–Both X 1, X 2 are 0: x = x 0 –C–Chaotic update, f(x 0 ) –W–We know Z (output) should be 0, so we have f(x 0 ) ≤ x* Case 2 –O–One of X 1,X 2 is 0: x δ => x 0 + δ –C–Chaotic update, f(x 0 + δ) –W–We know Z should be 0, we have f(x 0 + δ) ≤ x* Case 3 –B–Both X 1,X 2 are δ: x 0 + δ + δ => x δ –C–Chaotic update, f(x δ) –W–We know Z should be δ, we can say f(x δ) > x* –W–We know this update produces a true value, thus by subtracting x* from our derivation above we arrive at: f(x δ) - x* = δ
Additional Operators
Example - f(x) = rx(1-x), 0 < r ≤ 4 -r = 4, δ = ¼, x 0 = 0, x* = ¾ Three Cases in use: (1) f(x 0 ) = f (0) = 0 ≤ ¾ = x* (2) f(x 0 + δ) = f (1/4) = ¾ ≤ x* (3) f(x δ) – x* = f (1/2) – ¾ = 1 -3/4 = ¼ = δ
Advantages Threshold Changes –D–Different Circuits on same hardware –D–Data Transfer More dynamic Faster
Future/Current Uses Artificial Intelligence Internet Uses Operating Systems Data Transmission