180 likes | 195 Views
Chaos and its Computing Paradigm. By: Kellen Dale and Joel Martinez. History. Started as mathematical study Originated at MIT Around 1960. Chaos Revealed. Chaos has three defining characteristics: Extreme sensitivity to initial conditions It has aperiodic long-term behavior
E N D
Chaos and its Computing Paradigm By: Kellen Dale and Joel Martinez
History • Started as mathematical study • Originated at MIT • 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 • xn+1 = rxn(1-xn) • ‘r’ is a positive constant • ‘Xn’ denotes growth as a result of reproduction (between 0 and 1) • ‘(1- Xn)’ represents the loss due to death
Generating Data double lambda = 4; double xNext = 0.5999999; //used .6 and .60000001 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 = 0.5999999;//change to use .6 and .60000001 iteration += 1; }
Computing with Chaos • How do we perform a computation with a choatic system? • Basic logic operations (AND, OR, XOR, NAND…) with chaotic elements
Interpreted to Actual Values • Interpreted Values of AND • (I1,I2,O) • (0,0,0) (0,1,0) (1,0,0) (1,1,1) • Actual values • (X1,X2,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 x0 and input of external values • x = x0 + X1 + X2 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 δ, x0, and x* that are consistent with the three steps in order to achieve the required input-to-output mapping. • Z=AND(X1,X2) • Four possible combos, (0,0), (0, δ), (δ ,0), (δ,δ)
x = x0 + X1 + X2 • Case 1 • Both X1, X2 are 0: x0 + 0 + 0 = x0 • Chaotic update, f(x0) • We know Z (output) should be 0, so we have f(x0) ≤ x* • Case 2 • One of X1,X2 is 0: x0 + 0 + δ => x0 + δ • Chaotic update, f(x0 + δ) • We know Z should be 0, we have f(x0 + δ) ≤ x* • Case 3 • Both X1,X2 are δ: x0+ δ + δ => x0 + 2 δ • Chaotic update, f(x0 + 2 δ) • We know Z should be δ, we can say f(x0 + 2 δ) > x* • We know this update produces a true value, thus by subtracting x* from our derivation above we arrive at: f(x0 + 2 δ) - x* = δ
Example - f(x) = rx(1-x), 0 < r ≤ 4 • r = 4, δ = ¼, x0 = 0, x* = ¾ Three Cases in use: (1) f(x0) = f (0) = 0 ≤ ¾ = x* (2) f(x0 + δ) = f (1/4) = ¾ ≤ x* (3) f(x0 + 2 δ) – x* = f (1/2) – ¾ = 1 -3/4 = ¼ = δ
Advantages • Threshold Changes • Different Circuits on same hardware • Data Transfer • More dynamic • Faster
Future/Current Uses • Artificial Intelligence • Internet Uses • Operating Systems • Data Transmission