natural algorithms joshua j. arulanandham supervisors: professor cristian s. calude and dr. michael...

38
Natural Algorithms Joshua J. Arulanandham visors: ssor Cristian S. Calude and Dr. Michael J.

Upload: annice-charlotte-lester

Post on 16-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

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

Natural Algorithms

Joshua J. Arulanandham

Supervisors:

Professor Cristian S. Calude and Dr. Michael J. Dinneen

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

The wonders of the world come in two flavours!

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

How water “finds” the average

Water finds the same level in all limbs due to atmospheric pressure.

l1l2 l3 (l1 + l2 + l3 ) /

3

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

Calculating shortest path using strings and beads

AA

B B (Source)(Source)

CC

DD

E E (Destination)(Destination)

ShortestShortestpathpath

As the source, destination nodes in the physical graph-model are stretched apart, the shortest path forms a straight line between them.

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

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.

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

multiply

7919

5839

?factor

?

?

46239041

Bilateral computing devices

1

l

b

A = l x b

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

A “computer” that runs on gravity

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

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

+ + =

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

A “computer” that runs on gravity

4

3

3

4

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

A “computer” that runs on gravity

3

2

4

2

2

2

3

4

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

Sorting {3, 1, 2}

2. Drop 1 bead

3. Drop 2 beads

1. Drop 3 beads(Remember, always from left-to-right)

12

3

A “computer” that runs on gravity

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

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

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

900

The bead-sort computerThe “tilt” operation

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

Bead-Search

2

3

4

5

6

1

2

3

4

5

6

1

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

Bilateral Computing: Solving SAT

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

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

ba’

b

?

?

?

?

1

Inverting a Boolean function

a

ba’

b

0

1

1

1

?

Evaluating a Boolean function

OR

OR

AND

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

A different approach to invert functions

Setting up inputs and observe outputs

Can we set up the “output” and maneuver “input” settings?

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

a

ba’

b

Evaluating a Boolean function

a

ba’

b

Inverting a Boolean function

Solving SAT: a different approach

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

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

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

A computer made of pipes and pistonsIs (~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)

a b

(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.

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

Time complexity

Speed = distance travelled / time taken

t = t1 + t2 = (d/ λ) + t2

t1: time taken for the impulse to reach the pistons

t2: time taken for the pistons to react (due to friction) d grows linearly with no. of gates; t2, λ (speed of sound in water) are constants

d

λAND gate

OR gates

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

Fluidic logicIs (x + y) (x + y’) satisfiable?

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

Balance Machine: A universal natural computational model

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

A self-regulating balance

X + YX Y

INPUT pan (fixed weight)

OUTPUT pan

(variable weight)

infinite source

filler

spiller

The Balance-Machine

+

x y

Z

Addition x + y = Z

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

Schematic representation

+

x y

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.)

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

The balance can compute!

+

x y

Z

Addition

x + y = Z

+

x Y

z

Subtractionx + Y = z

Y = z - x

+

x 1

Z

Increment

Z = x + 1

+

X 1

z

Decrement

X + 1 = z

X = z - 1

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

Weights (or pans) themselves can take the form of a balance-machine.

1) a + B = A 2) a = B

Therefore, A = 2a.

1) A + B = a 2) A = B

Therefore, A = a/2.

A B

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!

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

A = 4d

D = a/4

The balance can compute!

BC

A

Multiplication by 4

d

input

output

Division by 4

BC

a

D

input

output

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

Sharing pans between balances

Example: Solving simultaneous equations

X + Y = 8

X – Y = 2

X1 Y1

8+

1

Y2 2

X2+

2

Y1 Y2

4

X1 X2

3

outputs

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

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 = 1510 + 5 = 15

NOT(x)

+

x Y

15

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

Computation universality of balances

+

x y

Z

AND(x,y)

+

10

x + y = Z + 10

5 + 5 = 0 + 105 + 10 = 5 + 1010 + 5 = 5 + 1010 + 10 = 10 + 10

x + y = Z + 5

5 + 5 = 5 + 55 + 10 = 10 + 510 + 5 = 10 + 510 + 10 = 15 + 5

+

x y

OR(x,y)

Z

+

5

NOTE:

Input

true = 10; false = 5;

Output

Interpreted as 1, if > 5 and as 0, otherwise.

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

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)

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

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

+

A B 10

(1)

+

5 Extra1

+

A’ B

(2)

10

+

5 Extra2

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

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

Why natural algorithms?

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

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

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

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?

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

A new vocabulary

Boolean logic, automata theory, etc.

Natural physical processes

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

“It’s not that the bear dances so well, it’s that he dances at all.”

“Can your Natural-Computer beat my PC ?”