Presentation is loading. Please wait.

Presentation is loading. Please wait.

Natural Algorithms Joshua J. Arulanandham Supervisors: Professor Cristian S. Calude and Dr. Michael J. Dinneen.

Similar presentations


Presentation on theme: "Natural Algorithms Joshua J. Arulanandham Supervisors: Professor Cristian S. Calude and Dr. Michael J. Dinneen."— Presentation transcript:

1

2 Natural Algorithms Joshua J. Arulanandham Supervisors: Professor Cristian S. Calude and Dr. Michael J. Dinneen

3 The wonders of the world come in two flavours!

4 How water “finds” the average Water finds the same level in all limbs due to atmospheric pressure. l1l1 l2l2 l3l3 (l 1 + l 2 + l 3 ) / 3

5 Calculating shortest path using strings and beads A B (Source) C D E (Destination) E (Destination)Shortestpath As the source, destination nodes in the physical graph-model are stretched apart, the shortest path forms a straight line between them.

6 Our work is a braid of three ideas/inventions: New ideas in the Thesis A gravity based “computer”—constructed out of beads and rods of an abacus— that can perform data processing tasks like sorting, searching, etc. with an efficiency that is unmatched by any conceivable classical computer algorithm. Bilateral Computing, a paradigm for the construction of natural physical computing devices which are “bilateral” in nature—devices that do not distinguish between “computing” and “inverting” a function. These devices can spontaneously compute as well as invert a given function and can be used to solve problems that are considered intractable for digital computers. Balance Machine, a generic natural computational model consisting of components that resemble an ordinary physical balance. We have shown that this mechanical model of computation has the same rich “computing repertoire” of a digital computer.

7 multiply 7919 5839 ? factor ? ? 46239041 Bilateral computing devices 1 l b A = l x b

8 A “computer” that runs on gravity

9 How to make a “computer” with beads, rods and gravity ++=

10 A “computer” that runs on gravity 4 3 3 4

11 3 2 4 2 2 2 3 4

12 Sorting {3, 1, 2} 2. Drop 1 bead 3. Drop 2 beads 1. Drop 3 beads (Remember, always from left-to-right) 1 2 3 A “computer” that runs on gravity

13 Sorting {2, 4, 3, 2} 2. Drop 4 beads 3. Drop 3 beads 1. Drop 2 beads (Remember, always from left-to-right) 4. Drop 2 beads 4 2 2 3 A “computer” that runs on gravity

14 90 0 The bead-sort computer The “tilt” operation

15 Bead-Search 2 3 4 5 6 1 2 3 4 5 6 1

16 Bilateral Computing: Solving SAT

17 SAT = satisfiability of Boolean formulas Input: A Boolean formula such as ( a+b ) ( a’+b ) Question: Is there an assignment (of 0s and 1s) to the variables ( a and b ) such that the formula evaluates to 1? a b a’ b ? ? ? ? 1 Inverting a Boolean function a b a’ b 0 1 1 1 ? Evaluating a Boolean function OR AND

18 A different approach to invert functions Setting up inputs and observe outputs Can we set up the “output” and maneuver “input” settings?

19 a b a’ b Evaluating a Boolean function a b a’ b Inverting a Boolean function Solving SAT: a different approach

20 Bilateral computing devices - AND, OR gates Inputs (use weights ): “push” = 1; “no-push” = 0 Outputs (use fluid level ): “up” = 1; “down” = 0 Note: AND gates use a higher threshold (liquid-level) for signaling a 1-output OR gate a b a + b 0 0 0 1 0 1 0 1 1 1 1 1 AND gate a b a.b 0 0 0 1 0 0 0 1 0 1 1 1

21 A computer made of pipes and pistons Is (~a + b)(a + b) satisfiable? a b (~a + b) (a + b) 0 0 0 1 0 0 0 1 1 1 1 1 (~a + b) (a + b) ab (a + b) ~ab (~a + b) 1. The seesaw always keeps pistons one up and the other down. 2. Push inputs are “restrained” (one can use standard weights to give the exact “push” required rather than actually pushing). 3. There is a stop-cock in the apparatus (the weakest spot in the whole machinery) ready to be released if pressure exceeds a certain limit.

22 Time complexity Speed = distance travelled / time taken t = t 1 + t 2 = (d/ λ) + t 2 t 1 : time taken for the impulse to reach the pistons t 2 : time taken for the pistons to react (due to friction) d grows linearly with no. of gates ; t 2, λ (speed of sound in water) are constants d λ AND gate OR gates

23 Fluidic logic Is (x + y) (x + y’) satisfiable?

24 Balance Machine: A universal natural computational model

25 A self-regulating balance X + Y XY INPUT pan (fixed weight) OUTPUT pan (variable weight) infinite source filler spiller The Balance-Machine + xy Z Addition x + y = Z

26 Schematic representation + xy Z Addition x + y = Z small letters, numerals represent fixed weights (inputs) capital letters represent variable weights (outputs) represents a balance; weights on both sides must balance + represents combination of two weights that add up. (The weights needn’t balance each other.)

27 The balance can compute! + xy Z Addition x + y = Z + x Y z Subtraction x + Y = z Y = z - x + x 1 Z Increment Z = x + 1 + X1 z Decrement X + 1 = z X = z - 1

28 Weights (or pans) themselves can take the form of a balance-machine. 1) a + B = A 2) a = B Therefore, A = 2 a. 1) A + B = a 2) A = B Therefore, A = a /2. AB a Example 2: Division by 2 Note: The weight of a balance-machine is the sum of the individual weights on its pans. a B A Example 1: Multiplication by 2 input output The balance can compute!

29 A = 4 d D = a /4 The balance can compute! B C A Multiplication by 4 d input output Division by 4 B C a D input output

30 Sharing pans between balances Example: Solving simultaneous equations X + Y = 8 X – Y = 2 X1X1 Y1Y1 8 + 1 Y2Y2 2 X2X2 + 2 Y1Y1 Y2Y2 4 X1X1 X2X2 3 outputs

31 NOTE: Input true = 10; false = 5; Output Interpreted as 1, if > 5 and as 0, otherwise. Computation universality of balances x + Y = 15 5 + 10 = 15 10 + 5 = 15 NOT(x) + x Y 15

32 Computation universality of balances + xy Z AND(x,y) + 10 x + y = Z + 10 5 + 5 = 0 + 10 5 + 10 = 5 + 10 10 + 5 = 5 + 10 10 + 10 = 10 + 10 x + y = Z + 5 5 + 5 = 5 + 5 5 + 10 = 10 + 5 10 + 5 = 10 + 5 10 + 10 = 15 + 5 + xy OR(x,y) Z + 5 NOTE: Input true = 10; false = 5; Output Interpreted as 1, if > 5 and as 0, otherwise.

33 Computation universality of balances Balance as a transmission line Balance (2) acts as transmission line, feeding output from (1) into the input of (3). (1)(2)(3)

34 Solving SAT with balances Consider the satisfiability of (a + b) (~a + b) + A 15 A’ (3) Machines 1-3 work together, sharing the variables A, B, and A’. The only possible configuration in which they can “stop” is one of the satisfiable configurations, if any. If the machine keeps “staggering”, then the expression is not satisfiable. Assumptions true = 10; false = 5 Fluid let out in “drops” (of 5 units) Max. weight held by pan = 10 units a b (~a+b)(a+b) 0 0 0 1 0 0 0 1 1 1 1 1 + AB10 (1) + 5 Extra 1 + A’B (2) 10 + 5 Extra 2

35 “Physics is like sex. Sure, it may give some practical results, but that's not why we do it.” Why natural algorithms?

36 Which is easier: flipping a coin or its numerical simulation?

37 Given a linear sequence of amino acids, into what three dimensional configuration will the sequence fold? Which is faster: protein folding or its numerical simulation?

38 A new vocabulary Boolean logic, automata theory, etc. Natural physical processes

39 “It’s not that the bear dances so well, it’s that he dances at all.” “Can your Natural-Computer beat my PC ?”


Download ppt "Natural Algorithms Joshua J. Arulanandham Supervisors: Professor Cristian S. Calude and Dr. Michael J. Dinneen."

Similar presentations


Ads by Google