Some stupid remarks by smart people If it should turn out that the basic logics of a machine designed for the numerical solution of differential equations.

Slides:



Advertisements
Similar presentations
Lecture Ref. handout page
Advertisements

CS 345: Chapter 9 Algorithmic Universality and Its Robustness
Class 39: Universality cs1120 Fall 2009 David Evans University of Virginia.
Limitations. Limitations of Computation Hardware precision Hardware precision Software - we’re human Software - we’re human Problems Problems –complex.
1 COMP 382: Reasoning about algorithms Unit 9: Undecidability [Slides adapted from Amos Israeli’s]
Foundations of (Theoretical) Computer Science Chapter 3 Lecture Notes (Section 3.2: Variants of Turing Machines) David Martin With.
CPSC 411, Fall 2008: Set 12 1 CPSC 411 Design and Analysis of Algorithms Set 12: Undecidability Prof. Jennifer Welch Fall 2008.
1 Undecidability Andreas Klappenecker [based on slides by Prof. Welch]
CHAPTER 4 Decidability Contents Decidable Languages
Fall 2004COMP 3351 Reducibility. Fall 2004COMP 3352 Problem is reduced to problem If we can solve problem then we can solve problem.
1 Foundations of Software Design Fall 2002 Marti Hearst Lecture 29: Computability, Turing Machines, Can Computers Think?
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.
AUTOMATA THEORY VIII.
Computability and Modeling Computation What are some really impressive things that computers can do? –Land the space shuttle (and other aircraft) from.
Turing Machines Chapter Plan Turing Machines(TMs) – Alan Turing Church-Turing Thesis – Definitions Computation Configuration Recognizable vs. Decidable.
Class 37: Computability in Theory and Practice cs1120 Fall 2011 David Evans 21 November 2011 cs1120 Fall 2011 David Evans 21 November 2011.
The Turing machine Olena Lastivka. Definition Turing machine is a theoretical device that manipulates symbols on a strip of tape according to a table.
 Computability Theory Turing Machines Professor MSc. Ivan A. Escobar
111 Discrete Mathematics Computability Brief introduction to computable functions, recursive functions, etc. Jeanine Meyer.
1 CO Games Development 2 Week 21 Turing Machines & Computability Gareth Bellaby.
The Recursion Theorem Pages 217– ADVANCED TOPICS IN C O M P U T A B I L I T Y THEORY.
MA/CSSE 474 Theory of Computation More Reduction Examples Non-SD Reductions.
Unsolvability and Infeasibility. Computability (Solvable) A problem is computable if it is possible to write a computer program to solve it. Can all problems.
1 1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 15-1 Mälardalen University 2012.
Course Overview and Road Map Computability and Logic.
Halting Problem Introduction to Computing Science and Programming I.
CSE 311 Foundations of Computing I Lecture 26 Computability: Turing machines, Undecidability of the Halting Problem Spring
CSE 311 Foundations of Computing I Lecture 29 Computability: Turing machines, Undecidability of the Halting Problem Autumn 2012 CSE 3111.
Turing Machines and the Halting Problem This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. To.
Great Theoretical Ideas in Computer Science.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 3 The Church-Turing Thesis Contents Turing Machines definitions, examples,
CS 3813: Introduction to Formal Languages and Automata Chapter 12 Limits of Algorithmic Computation These class notes are based on material from our textbook,
1 Turing’s Thesis. 2 Turing’s thesis: Any computation carried out by mechanical means can be performed by a Turing Machine (1930)
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
Computation Motivating questions: What does “computation” mean? What are the similarities and differences between computation in computers and in natural.
Fundamentals of Informatics Lecture 13 Reduction Bas Luttik.
CSE 311 Foundations of Computing I Lecture 28 Computability: Other Undecidable Problems Autumn 2011 CSE 3111.
Capabilities of computing systems Numeric and symbolic Computations A look at Computability theory Turing Machines.
Lecture 17 Undecidability Topics:  TM variations  Undecidability June 25, 2015 CSCE 355 Foundations of Computation.
Fundamentals of Informatics Lecture 12 The Halting Problem Bas Luttik.
Overview of the theory of computation Episode 3 0 Turing machines The traditional concepts of computability, decidability and recursive enumerability.
1 Turing Machines - Chap 8 Turing Machines Recursive and Recursively Enumerable Languages.
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 3 The Church-Turing Thesis Contents Turing Machines definitions, examples,
1 Introduction to Turing Machines
On computable numbers, with an application to the ENTSCHEIDUNGSPROBLEM COT 6421 Paresh Gupta by Alan Mathison Turing.
1 Chapter 9 Undecidability  Turing Machines Coded as Binary Strings  Universal Turing machine  Diagonalizing over Turing Machines  Problems as Languages.
The Church-Turing Thesis Chapter Are We Done? FSM  PDA  Turing machine Is this the end of the line? There are still problems we cannot solve:
FORMAL LANGUAGES, AUTOMATA, AND COMPUTABILITY * Read chapter 4 of the book for next time * Lecture9x.ppt.
CS 154 Formal Languages and Computability April 5 Class Meeting Department of Computer Science San Jose State University Spring 2016 Instructor: Ron Mak.
David Evans CS200: Computer Science University of Virginia Computer Science Class 26: Halting Problem It is plain at any.
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Undecidable.
Fall 2013 Lecture 27: Turing machines and decidability CSE 311: Foundations of Computing.
Modeling Arithmetic, Computation, and Languages Mathematical Structures for Computer Science Chapter 8 Copyright © 2006 W.H. Freeman & Co.MSCS SlidesTuring.
The Acceptance Problem for TMs
CS 461 – Nov. 2 Sets Prepare for ATM finite vs. infinite Infinite sets
Introduction to Computing Science and Programming I
Universality of Computation
CSE 311 Foundations of Computing I
CS154, Lecture 7: Turing Machines.
CSE 105 theory of computation
Decidable Languages Costas Busch - LSU.
Formal Languages, Automata and Models of Computation
Recall last lecture and Nondeterministic TMs
CSE 311: Foundations of Computing
CSE 105 theory of computation
CO Games Development 2 Week 21 Turing Machines & Computability
Turing Machines Everything is an Integer
Presentation transcript:

Some stupid remarks by smart people If it should turn out that the basic logics of a machine designed for the numerical solution of differential equations coincide with the logics of a machine intended to make bills for a department store, I would regard this as the most amazing coincidence I have even encountered. -Howard Aiken, Harvard University (1956) I think there is a world market for maybe five computers. -Thomas Watson, chairman of IBM (1943)

Universal computation The universal computing machine It is possible to invent a single machine which can be used to compute any computable sequence. -Alan Turing (1936) Let us now return to the analogy of the theoretical computing machines… It can be shown that a single special machine of that type can be made to do the work of all. It could in fact be made to work as a model of any other machine. The special machine may be called the universal machine. -Alan Turing (1947) There will be positively no internal alterations to be made even if we wish suddenly to switch from calculating the energy levels of the neon atom to the enumeration of groups of order Alan Turing (1945) We do not need to have an infinity of different machines doing different jobs... the engineering problem of producing various machines for various jobs is replaced by the office work of programming the universal machine to do these jobs. -Alan Turing (1948)

Practicality: note 1 Turing was not –solving differential equations, or –doing department-store billing His goal: solve a basic question in logic of mathematics –This forced an approach that was as general as possible as simple as possible –and permitted an approach that was conceptual rather than physical in fact completely impractical Nevertheless...

Background: Foundations of Mathematics Frege & Russell (1879, 1913): –invention of formal logic for mathematical reasoning –new logical foundations for mathematics Hilbert (1928): –is mathematics logically complete? –is mathematics logically consistent? –is mathematics logically decidable? Gödel (1931): –mathematical logic is incomplete –consistency of such a system can’t be proved within itself Turing (1936): –mathematical logic is undecidable –there is no procedure for determining whether a proposition is provable

Practicality: note 2 Wittgenstein:... The question is: Why are people afraid of contradictions?... Turing says, “Because something may go wrong with the application.” But nothing need go wrong. And if something does go wrong – if the bridge breaks down – then your mistake was of the kind of using a wrong natural law. Turing: You cannot be confident of applying your calculus until you know that there is no hidden contradiction in it. Wittgenstein: There seems to me to be an enormous mistake there... Suppose I convince Rhees of the paradox of the Liar, and he says, “I lie, therefore I do not lie, therefore I lie and I do not lie, therefore we have a contradiction, therefore 2x2=269.’ Well, we should not call this multiplication, that is all... Turing: Although you do not know that the bridge will fall if there are no contradictions, yet it is almost certain that if there are contradictions it will go wrong somewhere. Wittgenstein: But nothing has ever gone wrong that way yet... (Debate in Wittgenstein’s “Foundations of mathematics” course, Cambridge University, 1939)

Design of the Universal Machine Infinite “tape” –one-dimensional sequence of “squares” –each square may bear a “symbol” or be blank –there are a finite number of discrete symbols Finite control –machine has finitely many control states (what Turing calls “conditions” or “m-configurations”) –machine sees or “scans” one square of the tape at any step –a given control state specifies what to do for each possible scanned symbol possible actions: –write a symbol in the scanned square or erase the square –move the tape one square left or one square right –or halt

Function of the Universal Machine The tape provides –input information (before the machine starts) –output information (after the machines stops – if it does) –a “scratch pad” for working storage The set of control states is the program –Each control state is a tuple, i.e. 1.control-state 2.scanned-symbol 3.written-symbol 4.tape-motion 5.next-state –order of tuples doesn’t affect the program

Why is the machine “Universal”? We can write a TM program that “runs” any TM program: Given as input a symbolic description of a TM, combined with a specified input, it simulates the operation of the specified machine and produces the output that the specified machine would have produced for the specified input. We can do the same thing for arbitrary variant designs of “automatic machines” – each can be effectively simulated by the Universal Machine Therefore, the Universal Machine can compute anything that can be computed!

Options for the Universal Machine Is the tape infinite in both directions or just rightwards? One tape or multiple tapes? One or many control units? Can the machine both write a symbol & move the tape in one step? Replace the tape with a two-dimensional grid? and so on... None of this makes any essential difference: because any Universal Machine can simulate any other design...

How it works TM java applet by Suzanne Brittonjava applet

How Turing (1936) used his machine Some TMs with some inputs eventually halt, but some TMs with some inputs will never halt The “halting set” of a TM: the set of inputs for which it eventually halts Define a set D of natural numbers that is not the halting set of any TM –Method express TM programs as numbers use Cantor’s diagonal method –crudely: too few programs vs. too many sets of numbers Problem: find an algorithm to determine whether a given natural number belongs to set D –if such an algorithm existed, we could turn it into a TM whose halting set was D –this is a contradiction –therefore no such algorithm exists Thus there are logical propositions that are not decidable

Practicality: note 2 again Wittgenstein:... The question is: Why are people afraid of contradictions?... Turing says, “Because something may go wrong with the application.” But nothing need go wrong. And if something does go wrong – if the bridge breaks down – then your mistake was of the kind of using a wrong natural law. Turing: You cannot be confident of applying your calculus until you know that there is no hidden contradiction in it. Wittgenstein: There seems to me to be an enormous mistake there... Suppose I convince Rhees of the paradox of the Liar, and he says, “I lie, therefore I do not lie, therefore I lie and I do not lie, therefore we have a contradiction, therefore 2x2=269.’ Well, we should not call this multiplication, that is all... Turing: Although you do not know that the bridge will fall if there are no contradictions, yet it is almost certain that if there are contradictions it will go wrong somewhere. Wittgenstein: But nothing has ever gone wrong that way yet... (Debate in Wittgenstein’s “Foundations of mathematics” course, Cambridge University, spring 1939)

German “enigma” encryption machine About the enigma...enigma Enigma photographphotograph Enigma simulatorsimulator

Logic goes to war On 9/4/1939, Alan Turing reported to the Government Code and Cypher School at Bletchley Park, to work on enigma decryption A key part of the method he developed was: –assume something about the enigma configuration –test cyphertext mechanically against that hypothesis look for patterns inconsistent with the assumptions in case of contradiction, reject the assumption and go on essentially a proof by reductio ad absurdum First direct practical application of logical contradiction? Role of information theory –how to decide what assumptions to test? –use of entropy measure – before Shannon!

“Bans” and “Decibans” Possible settings of the enigma machine: 8 x –Inferences about the settings were based on the statistics of the German language and the logical consequences of the machine design –Evidence for particular hypotheses was tallied on sheets of paper printed in the town of Banbury, so the process of tallying evidence was called “Banburismus”, and the units of evidence were called “bans” A scoring system based on entropy equation (in base 10) was designed by Turing –one ban =~ 3.3 bits –ban was inconveniently large, so “deciban” =~ 1/3 bit was used –scoring used to combine evidence from different sources rank hypotheses for testing by limited resources To find an enigma key “it was necessary to find about 129 decibans [of information] from somewhere” (I.J. Good) Turing met Shannon at Bell Labs in 1943, and may have helped guide his early thinking about information theory