180 likes | 195 Views
Explore the origins of chaos computing paradigm, its defining characteristics, Butterfly Effect, and chaotic systems like Logistic Map. Visualize computations with chaotically generated data and interpret results with thresholds. Understand the logic of chaotic elements for practical applications in circuit design, data transfer, and dynamic problem-solving scenarios. Discover the potential advantages and future applications of chaos computing in fields like artificial intelligence, internet technology, operating systems, and data transmission.
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