Computation. Some history...

Similar documents
Introduction to Turing Machines

Decidability: Church-Turing Thesis

Great Theoretical Ideas

Decidable Languages - relationship with other classes.

Computability Theory. CS215, Lecture 6,

Lecture 11: Gödel s Second Incompleteness Theorem, and Tarski s Theorem

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018

Turing s 1935: my guess about his intellectual journey to On Co

Gödel s Incompleteness Theorem. Overview. Computability and Logic

Most General computer?

17.1 The Halting Problem

Logic and Computation

Models. Models of Computation, Turing Machines, and the Limits of Turing Computation. Effective Calculability. Motivation for Models of Computation

The Legacy of Hilbert, Gödel, Gentzen and Turing

Gödel s Incompleteness Theorem. Overview. Computability and Logic

Turing Machines. Lecture 8

Institute for Applied Information Processing and Communications (IAIK) Secure & Correct Systems. Decidability

The Search for the Perfect Language

Lecture 13: Foundations of Math and Kolmogorov Complexity

CS187 - Science Gateway Seminar for CS and Math

COMPUTER SCIENCE. 18. Turing Machines. Section

ON COMPUTAMBLE NUMBERS, WITH AN APPLICATION TO THE ENTSCHENIDUGSPROBLEM. Turing 1936

Computability Theory

TURING MAHINES

Part I: Definitions and Properties

Turing Machine properties. Turing Machines. Alternate TM definitions. Alternate TM definitions. Alternate TM definitions. Alternate TM definitions

About the relationship between formal logic and complexity classes

Fundamentals of Computer Science

Theory of Computation

Turing Machines (TM) The Turing machine is the ultimate model of computation.

1 Showing Recognizability

Class 24: Computability

CS21 Decidability and Tractability

Gödel s Theorem: Limits of logic and computation

IV. Turing Machine. Yuxi Fu. BASICS, Shanghai Jiao Tong University

Limits of Computation. Antonina Kolokolova

Understanding Computation

The roots of computability theory. September 5, 2016

CSE 105 THEORY OF COMPUTATION

Automata & languages. A primer on the Theory of Computation. Laurent Vanbever. ETH Zürich (D-ITET) October,

CS5371 Theory of Computation. Lecture 10: Computability Theory I (Turing Machine)

CS 301. Lecture 17 Church Turing thesis. Stephen Checkoway. March 19, 2018

CS151 Complexity Theory. Lecture 1 April 3, 2017

Turing Machine Recap

The Turing Machine. Computability. The Church-Turing Thesis (1936) Theory Hall of Fame. Theory Hall of Fame. Undecidability

Introduction to Turing Machines. Reading: Chapters 8 & 9

The purpose here is to classify computational problems according to their complexity. For that purpose we need first to agree on a computational

1 Reals are Uncountable

Turing Machines and the Church-Turing Thesis

CS5371 Theory of Computation. Lecture 10: Computability Theory I (Turing Machine)

Turing Machines (TM) Deterministic Turing Machine (DTM) Nondeterministic Turing Machine (NDTM)

Large Numbers, Busy Beavers, Noncomputability and Incompleteness

Computability and Complexity

CpSc 421 Homework 9 Solution

CSCI3390-Lecture 6: An Undecidable Problem

7.1 The Origin of Computer Science

CS154, Lecture 12: Kolmogorov Complexity: A Universal Theory of Data Compression

Theory of Computation

Universality and Computability

Turing Machines A Turing Machine is a 7-tuple, (Q, Σ, Γ, δ, q0, qaccept, qreject), where Q, Σ, Γ are all finite

Theory of Computation Lecture Notes. Problems and Algorithms. Class Information

6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, Class 8 Nancy Lynch

Decidability. Linz 6 th, Chapter 12: Limits of Algorithmic Computation, page 309ff

Handouts. CS701 Theory of Computation

CISC 876: Kolmogorov Complexity

Complexity Theory. Ahto Buldas. Introduction September 10, Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach.

Automata Theory. Definition. Computational Complexity Theory. Computability Theory

CS154, Lecture 10: Rice s Theorem, Oracle Machines

Non-emptiness Testing for TMs

Lecture 23: Rice Theorem and Turing machine behavior properties 21 April 2009

Predicate Logic - Undecidability

COMPUTER SCIENCE. Computer Science. 15. Turing Machines. Computer Science. An Interdisciplinary Approach. Section 7.4.

Turing Machines Part III

Lecture 12: Mapping Reductions

Introduction to Languages and Computation

PREDICATE LOGIC: UNDECIDABILITY AND INCOMPLETENESS HUTH AND RYAN 2.5, SUPPLEMENTARY NOTES 2

Universality and Computability. 7.4 Turing Machines. Fundamental Questions. Turing Machine

Turing s thesis: (1930) Any computation carried out by mechanical means can be performed by a Turing Machine

Section 14.1 Computability then else

Universality and Computability

CSE 105 THEORY OF COMPUTATION

! Princeton == center of universe. ! Hilbert, Gödel, Turing, Church, von Neumann.

highlights proof by contradiction what about the real numbers?

Turing Machines. The Language Hierarchy. Context-Free Languages. Regular Languages. Courtesy Costas Busch - RPI 1

COMP-330 Theory of Computation. Fall Prof. Claude Crépeau. Lecture 1 : Introduction

Computable Functions

15-251: Great Theoretical Ideas in Computer Science Fall 2016 Lecture 6 September 15, Turing & the Uncomputable

Church s undecidability result

CSCI3390-Lecture 14: The class NP

CS4026 Formal Models of Computation

What are the recursion theoretic properties of a set of axioms? Understanding a paper by William Craig Armando B. Matos

Final Exam Comments. UVa - cs302: Theory of Computation Spring < Total

Lecture 14: Recursive Languages

Lecture 19: Universality and Computability

CS 301. Lecture 18 Decidable languages. Stephen Checkoway. April 2, 2018

Lecture Notes: The Halting Problem; Reductions

Limits of Computability

Propositional and Predicate Logic - XIII

CS5371 Theory of Computation. Lecture 12: Computability III (Decidable Languages relating to DFA, NFA, and CFG)

CSCI3390-Assignment 2 Solutions

Transcription:

Computation Motivating questions: What does computation mean? What are the similarities and differences between computation in computers and in natural systems? What are the limits of computation? Are there things that cannot be computed? Some history... Hilbert s problems (1900) Is mathematics complete? Is mathematics consistent? Is mathematics decidable? David Hilbert, 1862 1943 1

Some history... Hilbert s problems (1900) Is mathematics complete? Can every mathematical statement be proved or disproved from a finite set of axioms? Is mathematics consistent? Is mathematics decidable? David Hilbert, 1862 1943 Some history... Hilbert s problems (1900) Is mathematics complete? Can every mathematical statement be proved or disproved from a finite set of axioms? Is mathematics consistent? Can only the true statements be proved? Is mathematics decidable? David Hilbert, 1862 1943 2

Some history... Hilbert s problems (1900) Is mathematics complete? Can every mathematical statement be proved or disproved from a finite set of axioms? Is mathematics consistent? Can only the true statements be proved? Is mathematics decidable? David Hilbert, 1862 1943 Is there a definite procedure that can be applied to every statement that will tell us in a finite time whether the statement is true or false? Gödel s incompleteness theorem: Arithmetic (and more complex systems of mathematics) must either be incomplete or inconsistent (or both) Kurt Gödel, 1906 1978 3

Gödel s incompleteness theorem: Arithmetic (and more complex systems of mathematics) must either be incomplete or inconsistent (or both) This statement is unprovable. Kurt Gödel, 1906 1978 The Entscheidungs (decision) problem Is there a definite procedure that can be applied to every statement that will tell us in a finite time whether the statement is true or false? What is a definite procedure? 4

Turing machines Alan Turing, 1912 1954 Simple example: Even or Odd? 5

Simple example: Even or Odd? Symbols: 0, 1, blank States: start, even, odd, halt Simple example: Even or Odd? Symbols: 0, 1, blank States: start, even, odd, halt 6

Turing machine = definite procedure Encoding a Turing Machine Goal: encode TM rules as a binary string 7

Encoding a Turing Machine Goal: encode TM rules as a binary string Possible code: States Symbols Actions start = 000 0 = 000 move_right = 000 even = 001 1 = 001 move_left = 111 odd= 010 blank = 100 halt= 100 separator ( )= 111 Encoding a Turing Machine Goal: encode TM rules as a binary string Possible code: States Symbols Actions start = 000 0 = 000 move_right = 000 even = 001 1 = 001 move_left = 111 odd= 010 blank = 100 halt= 100 separator ( )= 111 What does Rule 1 look like using this code? 8

Universal Turing Machine Special universal Turing machine U Input on U s tape: code for some other Turing machine M, plus input I for that Turing machine Universal TM U runs Mon I In other words, Uis simply a programmable computer! Turing s solution to the Entscheidungs problem Recall the Entscheidungs problem: Is there always a definite procedure that can decide whether a statement is true? What Turing did: 1. Proposed a particular statement 2. Assume there exists a definite procedure (= Turing machine H) for deciding the truth or falsity of this statement 3. Prove that H cannot exist. 9

Turing s proof that H cannot exist Let U(M, I) denote the results of having universal TM Urun M on I Turing s key insight: can have I= M That is, can have U(M, M ) Example of this in your day-to-day experience? Can also have U(M, M) Example? Turing s proof that H cannot exist Proof: Statement: = Turing Machine M, when run on input I, will halt after a finite number of time steps. (Example of machine that does not halt?) Assume Hexists, such thath(m, I) will answer yes if Mhalts on I; no if it does not, for any M, I. (Will later show this leads to a contradiction.) 10

Problem of designing His called the Halting Problem. Not clear how to design H, but let s assume it exists. Given H, let s create H as follows: H takes as input the code of a Turing machine M H then runs H(M,M) If H(M,M) answers yes (i.e., yes, Mhalts on input M), then H goes into an infinite loop. If H(M,M) answers no (i.e., no, Mdoes not halt on input M), then H halts. Now, Turing asked, does H halt when given H as input? Can you spot the contraction? Recap In the 1930s, Turing formalized the notion of definite procedure This formalization opened the door for the invention of programmable computers in the 1940s. Turing machines were blueprints for the von-neumann architecture. Turing also showed that there are limits to what can be computed. 19 th century: all seemed possible in science and mathematics 20 th century: limits to prediction and determinism (quantum mechanics, chaos); limits to mathematics and computation 21 st century:? 11