1 GEK1530 Frederick H. Willeboordse Nature’s Monte Carlo Bakery: The Story of Life as a Complex System.

Slides:



Advertisements
Similar presentations
Chapter 1—Introduction Introduction C H A P T E R 1 [The Analytical Engine offers] a new, a vast, and a powerful language... for the purposes of mankind.
Advertisements

Time Value of Money Lecture 9 This lecture is part of Chapter 4: Investing in the Company.
Partial Quotients Division Algorithm. Quick Slate Review Solve the following problems. ……. Ready……… …………..Set………….. ………Go!
Process Design (Specification)
1 CS1000 Introduction to Computer Science Instructor Soufiane Noureddine Lectures Tu/Th: 12:15-13:30 (B650) Office Hours Tu/Th: 11:00-12:00 (C520)
COEN 352 Data structures and Algorithms R. Dssouli.
Turing Machines (At last!). Designing Universal Computational Devices Was Not The Only Contribution from Alan Turing… Enter the year 1940: The world is.
Summer 2011 Wednesday, 07/13. Formal Systems: The ELI System The ELI-system uses only three letters of the alphabet: E, L, I. It has a single axiom, EI,
1 Introduction to Computability Theory Lecture15: Reductions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
© Love Ekenberg The Algorithm Concept, Big O Notation, and Program Verification Love Ekenberg.
CHAPTER 3 The Church-Turing Thesis
CS1001 Lecture 23. Overview Incompleteness and the Halting Problem Incompleteness and the Halting Problem Methods in Artificial Intelligence Methods in.
1 Foundations of Software Design Fall 2002 Marti Hearst Lecture 29: Computability, Turing Machines, Can Computers Think?
1. By the end of this lecture you should be able … To describe in general terms how computers function To describe the fetch-execute cycle To explain.
Turing Machines CS 105: Introduction to Computer Science.
What computers just cannot do. COS 116: 2/28/2008 Sanjeev Arora.
Theory of Computation. Computation Computation is a general term for any type of information processing that can be represented as an algorithm precisely.
The Game of Algebra or The Other Side of Arithmetic The Game of Algebra or The Other Side of Arithmetic © 2007 Herbert I. Gross by Herbert I. Gross & Richard.
The Computational Theory of Mind. COMPUTATION Functions.
Algebra Problems… Solutions
Design and Analysis of Algorithms
Presented by Ravi Teja Pampana
The Beauty and Joy of Computing Lecture #6 Algorithms Alan Turing ( ) would have turned 100 this year. He was a brilliant British mathematician.
Studies in Big Data 4 Weng-Long Chang Athanasios V. Vasilakos MolecularComputing Towards a Novel Computing Architecture for Complex Problem Solving.
Arithmetic of Positive Integer Exponents © Math As A Second Language All Rights Reserved next #10 Taking the Fear out of Math 2 8 × 2 4.
February 24, 2015Applied Discrete Mathematics Week 4: Number Theory 1 Modular Arithmetic Let a be an integer and m be a positive integer. We denote by.
MATH 224 – Discrete Mathematics
Problem Solving Methods. CSCE 1062 Outline Problem Solving Methods Problem solving steps The analytical method The algorithmic method The software engineering.
Unultiplying Whole Numbers © Math As A Second Language All Rights Reserved next #5 Taking the Fear out of Math 81 ÷ 9 Division.
GEK Compound & Prosper GEK2507 Frederick H. Willeboordse
The Turing machine Olena Lastivka. Definition Turing machine is a theoretical device that manipulates symbols on a strip of tape according to a table.
MATH 224 – Discrete Mathematics
Algorithms and their Applications CS2004 ( ) Dr Stephen Swift 1.2 Introduction to Algorithms.
WIKIPEDIA HAS MANY MORE DIVISIBILITY RULES. EXAMPLE Since 52=13(4) is divisible by 4, is divisible by 4 Since 452=56(8)+4 is not divisible.
Data Security and Encryption (CSE348) 1. Lecture # 12 2.
Copyright © Cengage Learning. All rights reserved. CHAPTER 7 FUNCTIONS.
Alan Turing WWII code-breaker mathematical proof of ‘Turing machines’ …in particular, “Universal Turing machine” laid foundations of computer science father.
Design & Analysis of Algorithms Lecture 1 Introduction.
GEK Frederick H. Willeboordse Compound & Prosper!
Halting Problem Introduction to Computing Science and Programming I.
Lecture 1 Introduction Algorithmic Problem Solving John Woodward.
Turing Machines and the Halting Problem This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. To.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1 Chapter 3.
David Evans CS150: Computer Science University of Virginia Computer Science Lecture 36: Modeling Computing.
Complexity & Computability. Limitations of computer science  Major reasons useful calculations cannot be done:  execution time of program is too long.
Computation Motivating questions: What does “computation” mean? What are the similarities and differences between computation in computers and in natural.
1 Cellular Automata What could be the simplest systems capable of wide-ranging or even universal computation? Could it be simpler than a simple cell?
1 GEK1530 Frederick H. Willeboordse Nature’s Monte Carlo Bakery: The Story of Life as a Complex System.
Computer Theory Michael J. Watts
NP-Completness Turing Machine. Hard problems There are many many important problems for which no polynomial algorithms is known. We show that a polynomial-time.
1 IDT Open Seminar ALAN TURING AND HIS LEGACY 100 Years Turing celebration Gordana Dodig Crnkovic, Computer Science and Network Department Mälardalen University.
Overview of the theory of computation Episode 3 0 Turing machines The traditional concepts of computability, decidability and recursive enumerability.
Lecture 16b Turing Machines Topics: Closure Properties of Context Free Languages Cocke-Younger-Kasimi Parsing Algorithm June 23, 2015 CSCE 355 Foundations.
Chapter 12 Theory of Computation Introduction to CS 1 st Semester, 2014 Sanghyun Park.
Chapter 4 With Question/Answer Animations 1. Chapter Summary Divisibility and Modular Arithmetic - Sec 4.1 – Lecture 16 Integer Representations and Algorithms.
Number Theory Lecture 1 Text book: Discrete Mathematics and its Applications, 7 th Edition.
CS 154 Formal Languages and Computability April 5 Class Meeting Department of Computer Science San Jose State University Spring 2016 Instructor: Ron Mak.
Theory of Computation. Introduction We study this course in order to answer the following questions: What are the fundamental capabilities and limitations.
CSE202: Introduction to Formal Languages and Automata Theory
Introduction to formal languages and automata
Numerical Representation of Strings
Theory of Computation Turing Machines.
Fundamentals of Data Representation
Lecture 6 Architecture Algorithm Defin ition. Algorithm 1stDefinition: Sequence of steps that can be taken to solve a problem 2ndDefinition: The step.
P.V.G’s College of Engineering, Nashik
Cellular Automata What could be the simplest systems capable of wide-ranging or even universal computation? Could it be simpler than a simple cell?
Class 26: Modeling Computing CS150: Computer Science
Introduction to Algorithms
Presentation transcript:

1 GEK1530 Frederick H. Willeboordse Nature’s Monte Carlo Bakery: The Story of Life as a Complex System

2 Computation & Turing Machines Lecture 7 We’ve talked about computation, but what is that actually?

GEK Today’s Lecture Algorithms Turing Machines Systematic ways for performing calculations A key notion in the context of computability The Story Nowadays, we often talk about computers and computing. With almost everyone owning a PC that may seem natural. Even so, if we like to gain deeper insight into what is going on we need to ask: What does computing in general mean?

GEK th century: Mental Process 20 th century: Machine Process 21 st century: Nature’s Process? Computing Quantum Computer Molecular Computer However, Nature has already served as an example for many developments: e.g. Neural Nets ?

GEK al-Khwarizmi Algorithm: A specific set of instructions for carrying out a procedure or solving a problem, usually with the requirement that the procedure terminate at some point. Specific algorithms sometimes also go by the name method, procedure, or technique. The word "algorithm" is a distortion of al-Khwarizmi’s name. Al-Khwarizmi was a Persian mathematician who wrote a treatise about algebraic methods whose Arabic title was distorted into the word algebra. He used the Hindu number zero, which was then introduced to Europe when his work was translated by Fibonacci. Born: about 780 in Baghdad Died: about 850

GEK Before we just looked at cellular automata and found that simple recipes can create surprisingly complex behavior. In a more general sense, we can ask ourselves what the framework is within which we can understand such recipes. Firstly, we have to know what an algorithm is. Then we’ll have a look at the so-called Turing machine. Algorithms

GEK Given two arbitrary numbers, it works like this: 1904 : 1156 gives remainder : 748 gives remainder : 408 gives remainder : 340 gives remainder : 68 gives remainder 0 Hence the greatest common divisor is 68 Let us look at a concrete example of an algorithm: Euclid’s algorithm for finding the greatest common divisor. Algorithms

GEK Proof of Euclid’s algorithm Proof of the correctness of Euclid’s Algorithm We have two integers a and b whose GCD has to be determined. The remainder of the division of a by b is taken to be c. Therefore a = qb + c where q is the quotient of the division. Any common divisor of a and b must also divide c and of course any common divisor of b and c will also divide a. Consequently, the greatest common divisor of a and b is the same as the greatest common divisor of b and c. Therefore it is enough if we continue the process with the numbers b and c. Since c is smaller in absolute value than b, we will reach c = 0 after finitely many steps. (see also Optional Algorithms

GEK We can then draw a flow chart that describes this algorithm. Wow! Math without formulas …. Take 2 numbers A and B Replace A by B Replace B by C Divide A by B and store the remainder in C Is C zero? Stop calculation and print out answer B No Yes Algorithms

GEK Now that we have seen what an algorithm is, we can wonder about the concept of a general algorithm. Interestingly, it took more than a 1000 years since the Persian Mathematics book until efforts for a precise description of this notion were made. The most important one is by Alan Turing leading to what is called the Turing Machine. Turing Machines

GEK Alan Turing is one of the greatest scientific geniuses of the 20 th century. Alan Turing (1912 – 1954) founded computer science (1936) cracked the German U-boat Enigma cipher ( ) led the world in computer plans ( ) started the Artificial Intelligence program ( ) and non-linear dynamics in biology ( )

GEK As such, a Turing Machine is a very simple device. The key thing is that in principle it can do everything any digital computer can do. 1.Infinite tape with squares on it. 2.Each square can have a symbol on it (and the total number of available symbols is finite). 3.There is a read-write head which is positioned somewhere on the tape. 4.The machine is in one of a finite number of states. 5.There is a set of rules that tell the machine what to do given a certain state and a certain symbol read from the tape. Turing Machine

GEK This sounds more difficult than it is. Consider this picture: Head State Rules Tape Rules are defined in this format: (current state, current symbol, new state, new symbol, left/right) s The tape can only move 1 square left or one square right Turing Machine

GEK For example, these are the rules for a binary counter 0 Head State Tape Rules are defined in this format: (current state, current symbol, new state, new symbol, left/right) s Start with the symbol s on the tape and in state zero. Then apply the rules until the machine stops write next state is right left Add right left s other 0Return and move and on symbol If in state R = Right, L = Left, - = write nothing Another way to represent the rules. Rules 1) 0,S,1,-,R 2) 0,0 or 1,0,-,L 3) 1,1,1,0,R 4) 1,0,0,1,L Return Add Turing Machine

GEK Let us go through this algorithm step by step 0 Head State Tape Rules are defined in this format: (current state, current symbol, new state, new symbol, left/right) S In the beginning (this is also called the initial condition) we have: Rules 1) 0,S,1,-,R 2) 0,0 or 1,0,-,L 3) 1,1,1,0,R 4) 1,0,0,1,L Return Add Step 0 - Read Apply rule Turing Machine

GEK Let us go through this algorithm step by step 1 Head State Tape Rules are defined in this format: (current state, current symbol, new state, new symbol, left/right) S Rules 1) 0,S,1,-,R 2) 0,0 or 1,0,-,L 3) 1,1,1,0,R 4) 1,0,0,1,L Return Add Step 0 - Write State=1/Write=Nothing Turing Machine

GEK Let us go through this algorithm step by step 1 Head State Tape Rules are defined in this format: (current state, current symbol, new state, new symbol, left/right) S Rules 1) 0,S,1,-,R 2) 0,0 or 1,0,-,L 3) 1,1,1,0,R 4) 1,0,0,1,L Return Add Step 0 - Move Right Turing Machine

GEK Let us go through this algorithm step by step 1 Head State Tape Rules are defined in this format: (current state, current symbol, new state, new symbol, left/right) S Rules 1) 0,S,1,-,R 2) 0,0 or 1,0,-,L 3) 1,1,1,0,R 4) 1,0,0,1,L Return Add Step 1 - Read Apply rule Turing Machine

GEK Let us go through this algorithm step by step 0 Head State Tape Rules are defined in this format: (current state, current symbol, new state, new symbol, left/right) S Rules 1) 0,S,1,-,R 2) 0,0 or 1,0,-,L 3) 1,1,1,0,R 4) 1,0,0,1,L Return Add Step 1 - Write State=0/Write= Turing Machine

GEK As you can see, we’re now in the same situation as in step 0. Hence the next three slides are identical to those of step 0. (The tape is different though) 0 Head State Tape Rules are defined in this format: (current state, current symbol, new state, new symbol, left/right) S Rules 1) 0,S,1,-,R 2) 0,0 or 1,0,-,L 3) 1,1,1,0,R 4) 1,0,0,1,L Return Add Step 1 - Move Left Turing Machine

GEK Let us go through this algorithm step by step 0 Head State Tape Rules are defined in this format: (current state, current symbol, new state, new symbol, left/right) S Rules 1) 0,S,1,-,R 2) 0,0 or 1,0,-,L 3) 1,1,1,0,R 4) 1,0,0,1,L Return Add Step 2 - Read Apply rule Turing Machine

GEK Let us go through this algorithm step by step 1 Head State Tape Rules are defined in this format: (current state, current symbol, new state, new symbol, left/right) S Rules 1) 0,S,1,-,R 2) 0,0 or 1,0,-,L 3) 1,1,1,0,R 4) 1,0,0,1,L Return Add Step 2 - Write State=1/Write=Nothing Turing Machine

GEK Let us go through this algorithm step by step 1 Head State Tape Rules are defined in this format: (current state, current symbol, new state, new symbol, left/right) S Rules 1) 0,S,1,-,R 2) 0,0 or 1,0,-,L 3) 1,1,1,0,R 4) 1,0,0,1,L Return Add Step 2 - Move Right Turing Machine

GEK Let us go through this algorithm step by step 1 Head State Tape Rules are defined in this format: (current state, current symbol, new state, new symbol, left/right) S Rules 1) 0,S,1,-,R 2) 0,0 or 1,0,-,L 3) 1,1,1,0,R 4) 1,0,0,1,L Return Add Step 3 - Read Apply rule Turing Machine

GEK Let us go through this algorithm step by step 1 Head State Tape Rules are defined in this format: (current state, current symbol, new state, new symbol, left/right) S Rules 1) 0,S,1,-,R 2) 0,0 or 1,0,-,L 3) 1,1,1,0,R 4) 1,0,0,1,L Return Add Step 3 - Write State=1/Write= Turing Machine

GEK Let us go through this algorithm step by step 1 Head State Tape Rules are defined in this format: (current state, current symbol, new state, new symbol, left/right) S Rules 1) 0,S,1,-,R 2) 0,0 or 1,0,-,L 3) 1,1,1,0,R 4) 1,0,0,1,L Return Add Step 3 - Move Right Turing Machine

GEK Let us go through this algorithm step by step 1 Head State Tape Rules are defined in this format: (current state, current symbol, new state, new symbol, left/right) S Rules 1) 0,S,1,-,R 2) 0,0 or 1,0,-,L 3) 1,1,1,0,R 4) 1,0,0,1,L Return Add Step 4 - Read Apply rule Turing Machine

GEK Let us go through this algorithm step by step 0 Head State Tape Rules are defined in this format: (current state, current symbol, new state, new symbol, left/right) S Rules 1) 0,S,1,-,R 2) 0,0 or 1,0,-,L 3) 1,1,1,0,R 4) 1,0,0,1,L Return Add Step 4 - Write State=0/Write= Turing Machine

GEK Let us go through this algorithm step by step 0 Head State Tape Rules are defined in this format: (current state, current symbol, new state, new symbol, left/right) S Rules 1) 0,S,1,-,R 2) 0,0 or 1,0,-,L 3) 1,1,1,0,R 4) 1,0,0,1,L Return Add Step 4 - Move Left Turing Machine

GEK Let us go through this algorithm step by step 0 Head State Tape Rules are defined in this format: (current state, current symbol, new state, new symbol, left/right) S Rules 1) 0,S,1,-,R 2) 0,0 or 1,0,-,L 3) 1,1,1,0,R 4) 1,0,0,1,L Return Add Step 5 - Read Apply rule Turing Machine

GEK Let us go through this algorithm step by step 0 Head State Tape Rules are defined in this format: (current state, current symbol, new state, new symbol, left/right) S Rules 1) 0,S,1,-,R 2) 0,0 or 1,0,-,L 3) 1,1,1,0,R 4) 1,0,0,1,L Return Add Step 5 - Write Do nothing Turing Machine

GEK And we back in the beginning. 0 Head State Tape Rules are defined in this format: (current state, current symbol, new state, new symbol, left/right) S Rules 1) 0,S,1,-,R 2) 0,0 or 1,0,-,L 3) 1,1,1,0,R 4) 1,0,0,1,L Return Add Step 5 - Move Left Turing Machine

GEK Applet Turing Machine Counter Turing Machine Addition

GEK The Universal Turing machine is a Turing machine that can mimic any Turing machine by having the rules encoded on the tape as well. Universal Turing Machine This is an important concept in that it provides a formal way to deal with the questions of computability. And now … ladies … and gentlemen!

GEK Rule 110

GEK There are many localized structures that interact in various ways. After starting from random initial conditions The idea is to use these structures to build up blocks that can be used for computations. The actual implementation is quite complicated but key issue is that it can be done. Rule 110

GEK After starting from random initial conditions Rule Applet Try to play with the CA applet on the web site. After starting from a single black cell 0 x x 64 1 x 32 0 x 16 1 x 8 1 x 4 1 x 2 0 x 1 110

GEK Wolfram believes (and I think he is right to do so) that the discovery of such a simple system displaying universality is very significant. Why? It makes it quite conceivable that many systems, including many natural systems are universal. Rule 110 Implications

GEK An example of a universal Turing Machine is the personal computer. Computers But.. the funny thing is: There is a proof that any Universal Turing Machine can emulate any other Universal Turing Machine and hence conceptually speaking this PC can do no more than rule 110! ==

GEK The notion of the Turing machine plays an important role when analyzing computability. Hence we see: Simple system→ Simple behavior Complicated system→ Complicated behavior Complex system→ Complex behavior False Wrapping up Key Points of the Day One does not need complicated or complex set of rules to obtain complex behavior.

GEK Wrapping up Give it some thought References As in a social context, prejudice is bad for Science as well.