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

Slides:



Advertisements
Similar presentations
2.1 Program Construction In Java
Advertisements

Michael Alves, Patrick Dugan, Robert Daniels, Carlos Vicuna
Lecture 2 Dr Richard Reilly Dept. of Electronic & Electrical Engineering Room 153, Engineering Building To insert your company logo on this slide From.
1 Polynomial Church-Turing thesis A decision problem can be solved in polynomial time by using a reasonable sequential model of computation if and only.
© Janice Regan, CMPT 102, Sept CMPT 102 Introduction to Scientific Computer Programming Expressions and Operators Program Style.
1 Discrete Structures CS 280 Example application of probability: MAX 3-SAT.
1 Expressions, Operators Expressions Operators and Precedence Reading for this class: L&L, 2.4.
The Distributive Property
ALGEBRA, EQUATIONS AND FORMULAE. INTRODUCTION  Algebra essentially involves the substitution of letters for numbers in calculations, so that we can establish.
Rev.S08 MAC 1105 Module 3 System of Equations and Inequalities.
Copyright © 2013, 2009, 2005 Pearson Education, Inc. 1 5 Systems and Matrices Copyright © 2013, 2009, 2005 Pearson Education, Inc.
Algebra Part 4 Of Math Survival Guide.
Boolean Logic By: Arthur Brooks February 25, 2003 Think, Speak, and Write Computer Science.
Computer Science 1000 Digital Circuits. Digital Information computers store and process information using binary as we’ve seen, binary affords us similar.
EM and expected complete log-likelihood Mixture of Experts
Solving SAT. Two kinds of (computing) problems “Calculator” problems Problems solvable using the application of a set of well-defined operations ( functions.
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 8: Complexity Theory.
Theory of Computing Lecture 17 MAS 714 Hartmut Klauck.
The Distributive Property allows you to multiply each number inside a set of parenthesis by a factor outside the parenthesis and find the sum or difference.
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: SAT SAT applied in equivalence checking.
1.4 Solving Equations ●A variable is a letter which represents an unknown number. Any letter can be used as a variable. ●An algebraic expression contains.
Chapter 1 Review College Algebra Remember the phrase “Please Excuse My Dear Aunt Sally” or PEMDAS. ORDER OF OPERATIONS 1. Parentheses - ( ) or [ ] 2.
CSE332: Data Abstractions Lecture 24.5: Interlude on Intractability Dan Grossman Spring 2012.
Digital Logic. 2 Abstractions in CS (gates) Basic Gate: Inverter IO IO GNDI O Vcc Resister (limits conductivity) Truth Table.
Linear Algebra. Circuits The circuits in computers and other input devices have inputs, each of which is either a 0 or 1, the output is also 0s and 1s.
Algorithm Design.
1 Lecture 6 BOOLEAN ALGEBRA and GATES Building a 32 bit processor PH 3: B.1-B.5.
SICP Register Machines what and why datapaths instructions abstract operations.
Variables and Algebraic Expressions 1-3. Vocabulary Variable- a letter represents a number that can vary. Constant- a number that does not change. Algebraic.
MM150 Unit 3 Seminar Agenda Seminar Topics Order of Operations Linear Equations in One Variable Formulas Applications of Linear Equations.
Functions and Their Representations
Intro to Planning Or, how to represent the planning problem in logic.
Strings Basic data type in computational biology A string is an ordered succession of characters or symbols from a finite set called an alphabet Sequence.
Reviewing One Step Equations.
NATURAL ALGORITHMS Joshua J. Arulanandham, PhD student. Prof. Cristian S. Calude and Dr. Michael J. Dinneen, Supervisors. Department of Computer Science,
1 Program Development  The creation of software involves four basic activities: establishing the requirements creating a design implementing the code.
CS216: Program and Data Representation University of Virginia Computer Science Spring 2006 David Evans Lecture 8: Crash Course in Computational Complexity.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
1 Arithmetic Where we've been: –Abstractions: Instruction Set Architecture Assembly Language and Machine Language What's up ahead: –Implementing the Architecture.
Goal: I will solve linear equations in one variable. ❖ Linear equations in one variable with one solution, infinitely many solutions, or no solutions.
Design A software design specifies how a program will accomplish its requirements A design includes one or more algorithms to accomplish its goal.
Slide 2- 1 Copyright © 2012 Pearson Education, Inc. Copyright © 2006 Pearson Education, Inc. Publishing as Pearson Addison-Wesley.
Agenda 1. Warm-up (10 min) 2. 3 practice problems - evaluating expressions (20 min) 3. Notes on expressions (10 min) 4. Exit slip (10 min) Warm-Up: Evaluate.
God, Physics and the Natural-Computer Natural Algorithms Joshua Arulanandham Computer Science.
Dr. ClincyLecture Slide 1 CS6020- Chapter 3 (3A and ) Dr. Clincy Professor of CS First Exam - Tuesday, September 6th Coverage: All subjects up to.
3.1 – Simplifying Algebraic Expressions
The Distributive Property
An unconventional computational model.
Evaluating Expressions and Combining Like Terms
Evaluating Expressions and Combining Like Terms
Computer Science 210 Computer Organization
Chap 7. Register Transfers and Datapaths
Intro to C Tutorial 4: Arithmetic and Logical expressions
The Distributive Property
Fundamentals & Ethics of Information Systems IS 201
Algebraic Equations Solving One Step Equations with Whole Numbers
Logic operations.
Computers & Programming Languages
Overview: Fault Diagnosis
Solving Equations Containing
Rational Expressions and Equations
Evaluating Expressions and Combining Like Terms
Logic operations.
CS 140 Lecture 6: Other Types of Gates
Lecture 5 Binary Operation Boolean Logic. Binary Operations Addition Subtraction Multiplication Division.
8.3 The Addition Method Also referred to as Elimination Method.
Evaluating Expressions and Combining Like Terms
Combine Like Terms Notes Page 23
3.0 - Design A software design specifies how a program will accomplish its requirements A design includes one or more algorithms to accomplish its goal.
Presentation transcript:

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

The wonders of the world come in two flavours!

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

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.

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.

multiply ? factor ? ? Bilateral computing devices 1 l b A = l x b

A “computer” that runs on gravity

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

A “computer” that runs on gravity

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

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 A “computer” that runs on gravity

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

Bead-Search

Bilateral Computing: Solving SAT

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 ? Evaluating a Boolean function OR AND

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

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

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 AND gate a b a.b

A computer made of pipes and pistons Is (~a + b)(a + b) satisfiable? a b (~a + b) (a + b) (~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.

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

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

Balance Machine: A universal natural computational model

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

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

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 X1 z Decrement X + 1 = z X = z - 1

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!

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

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

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

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

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)

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) AB10 (1) + 5 Extra 1 + A’B (2) Extra 2

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

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

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?

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

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