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

Similar documents
Decidability: Church-Turing Thesis

Introduction to Turing Machines

Most General computer?

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

Computation. Some history...

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

What is logic, the topic of this course? There are at least two answers to that question.

Lecture Notes: The Halting Problem; Reductions

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska

THE LOGIC OF COMPOUND STATEMENTS

Turing Machines Part III

Decidable Languages - relationship with other classes.

Undecidability COMS Ashley Montanaro 4 April Department of Computer Science, University of Bristol Bristol, UK

highlights proof by contradiction what about the real numbers?

Turing Machines. Lecture 8

HIS LEGACY. 100 Years Turing celebration. Gordana Dodig Crnkovic, IDT Open Seminar. Computer Science and Network Department Mälardalen University

Fundamentals of Computer Science

Automata Theory. Definition. Computational Complexity Theory. Computability Theory

1 Showing Recognizability

Non-emptiness Testing for TMs

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018

Chapter 3: The Church-Turing Thesis

Large Numbers, Busy Beavers, Noncomputability and Incompleteness

Lecture notes on Turing machines

Chapter 7 Turing Machines

Complexity Theory Turing Machines

Introduction to Languages and Computation

Recap (1) 1. Automata, grammars and other formalisms can be considered as mechanical devices to solve mathematical problems

Limits of Computation

Introduction to Turing Machines. Reading: Chapters 8 & 9

CSCI3390-Lecture 6: An Undecidable Problem

Turing Machine Recap

Part I: Definitions and Properties

The roots of computability theory. September 5, 2016

CS21 Decidability and Tractability

Reducability. Sipser, pages

Lecture 12: Mapping Reductions

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

The Limit of Humanly Knowable Mathematical Truth

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

A Little History Incompleteness The First Theorem The Second Theorem Implications. Gödel s Theorem. Anders O.F. Hendrickson

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

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

Equivalence of TMs and Multitape TMs. Theorem 3.13 and Corollary 3.15 By: Joseph Lauman

Computability Theory. CS215, Lecture 6,

Section 14.1 Computability then else

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

Computability and Complexity

Computability Theory

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

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

CS21 Decidability and Tractability

Decision Problems with TM s. Lecture 31: Halting Problem. Universe of discourse. Semi-decidable. Look at following sets: CSCI 81 Spring, 2012

CS187 - Science Gateway Seminar for CS and Math

Turing machines and linear bounded automata

Algorithmic probability, Part 1 of n. A presentation to the Maths Study Group at London South Bank University 09/09/2015

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

Unit 4: Computer as a logic machine

Undecidable Problems and Reducibility

The Church-Turing Thesis

TURING MAHINES

17.1 The Halting Problem

Turing Machines. 22c:135 Theory of Computation. Tape of a Turing Machine (TM) TM versus FA, PDA

Lecture 19: Universality and Computability

CHAPTER 2 INTRODUCTION TO CLASSICAL PROPOSITIONAL LOGIC

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

Lecture 13: Foundations of Math and Kolmogorov Complexity

Self-reproducing programs. And Introduction to logic. COS 116, Spring 2012 Adam Finkelstein

Computation Histories

CSCE 551: Chin-Tser Huang. University of South Carolina

CS151 Complexity Theory. Lecture 1 April 3, 2017

Turing machines and linear bounded automata

Theory of Computer Science

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

Opleiding Informatica

Proseminar on Semantic Theory Fall 2013 Ling 720 Propositional Logic: Syntax and Natural Deduction 1

6.080 / Great Ideas in Theoretical Computer Science Spring 2008

CS20a: Turing Machines (Oct 29, 2002)

Turing machines and linear bounded automata

cis32-ai lecture # 18 mon-3-apr-2006

Turing Machines and the Church-Turing Thesis

The Unsolvability of the Halting Problem. Chapter 19

Turing machine recap. Universal Turing Machines and Undecidability. Alphabet size doesn t matter. Robustness of TM

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

The Power of One-State Turing Machines

15-251: Great Theoretical Ideas in Computer Science Lecture 7. Turing s Legacy Continues

Before We Start. Turing Machines. Languages. Now our picture looks like. Theory Hall of Fame. The Turing Machine. Any questions? The $64,000 Question

Griffith University 3130CIT Theory of Computation (Based on slides by Harald Søndergaard of The University of Melbourne) Turing Machines 9-0

IST 4 Information and Logic

CS4026 Formal Models of Computation

Chapter 2: Introduction to Propositional Logic

Turing machines Finite automaton no storage Pushdown automaton storage is a stack What if we give the automaton a more flexible storage?

and Models of Computation

CAPES MI. Turing Machines and decidable problems. Laure Gonnord

The universal computer

About the relationship between formal logic and complexity classes

Gödel s Theorem: Limits of logic and computation

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

an efficient procedure for the decision problem. We illustrate this phenomenon for the Satisfiability problem.

MODULE- 07 : FLUIDICS AND FLUID LOGIC

Transcription:

Turing Computation /0/ Models of Computation, Turing Machines, and the Limits of Turing Computation Bruce MacLennan Models A model is a tool intended to address a class of questions about some domain of phenomena They accomplish this by making simplifications (idealizing assumptions) relative to the class of questions As tools, models are: ampliative (better able to answer these questions) reductive (make simplifying assumptions) Motivation for Models of Computation What questions are models of computation intended to answer? What are the simplifying assumptions of models of computation? Why were models of computation developed in the early 0 th century, before there were any computers? 3 Effective Calculability Mathematicians were interested in effective calculability: What can be calculated by strictly mechanical methods using finite resources? Think of a human computer following explicit rules that require no understanding of mathematics supplied with all the paper & pencils required 4 Related Issues Formal mathematics: Can mathematical proof & derivation be reduced to purely mechanical procedures requiring no use of intuition? Mechanization of thought: Can thinking be reduced to mechanical calculation? Formal Logic Originally developed by Aristotle (384 3 BCE) A syllogism: All men are mortal Socrates is a man Socrates is mortal Formal logic: the correctness of the steps depend only on their form (syntax), not their meaning (semantics): All M are P S is M S is P More reliable, because more mechanical 5 6 COSC 3 - Algorithm Analysis and Automata

Turing Computation /0/ Calculus In Latin, calculus means pebble In ancient times calculi were used for calculating (as on an abacus), voting, and may other purposes Now, a calculus is: an mechanical method of solving problems by manipulating discrete tokens according to formal rules Examples: algebraic manipulation, integral & differential calculi, logical calculi Assumptions of Calculi Information (data) representation is: formal (info. represented by arrangements) finite (finite arrangements of atomic tokens) definite (can determine symbols & syntax) Information processing (rule following) is: formal (depends on arrangement, not meaning) finite (finite number of rules & processing time) definite (know which rules are applicable) 7 8 Thought as Calculation By ratiocination I mean computation. Thomas Hobbes (588 679) Then, in case of a difference of opinion, no discussion will be any longer necessary It will rather be enough for them to take pen in hand, set themselves to the abacus, and say to one another, Let us calculate! Leibniz (646 76) Boole (85 64): his goal was to investigate the fundamental laws of those operations of mind by which reasoning is performed; to give expression to them in the symbolical language of a Calculus 9 Early Investigations in Mechanized Thought Leibniz (646 76): mechanical calculation & formal inference Boole (85 864): laws of thought Jevons (835 88): logical abacus & logical piano von Neumann (903 957): computation & the brain Turing (9 954): neural nets, artificial intelligence, Turing test 0 Some Models of Computation Markov Algorithms based on replacement of strings by other strings Lambda Calculus based on LISP-like application of functions to arguments SK Calculus based on two operations: ((K X) Y) X (((S X) Y) Z) ((X Z) (Y Z)) Turing Machine most common Intuitive Basis of Turing Machine What could be done by a person following explicit formal rules with an unlimited supply of paper and pencils? Assumption: Any effective (mechanical) calculation could be carried out in this way Reduce to bare essentials (for simplicity): symbols written on a long tape can read/write only one symbol at a time limited memory for the state of the calculation COSC 3 - Algorithm Analysis and Automata

Turing Computation /0/ Defining a Specific TM Colossus: A Real Turing Machine We must specify the alphabet of symbols used on the tape typically 0,, and b (blank) this alphabet is always sufficient (binary coding) We must specify the number of states (memory) Developed in UK in 943 4 to crack Nazi codes Although Turing was not directly involved with Colossus, he was involved with other computerized code-breaking efforts Turing described the TM model in 936 We must specify a finite set of rules of the form: (current state, symbol on tape, symbol to write, next state, direction to move) for example, (3,, 0,, L) 0, L rules may be represented in diagram: 3 3 4 TM Example: Bit Inverter () TM Example: Bit Inverter () 0 0,R 0,R 0,R 0,R 5 6 TM Example: Bit Inverter (3) TM Example: Bit Inverter (4) 0 0 0 halts! 0,R 0,R 0,R 0,R 7 8 COSC 3 - Algorithm Analysis and Automata 3

Turing Computation /0/ Unary Addition Represent the number N by N+ marks ( in this case) unary notation So the numbers M and N will be represented by M+ and N+ marks (with a blank between) The sum should be M+N+ marks TM Example: Addition () b b b b,r b,r b,r b b b b b M + N + M +N +,R 9 0 TM Example: Addition () TM Example: Addition (3) b b b b b b b b b b,r b,r b,r b,r b,r b,r,r,r TM Example: Addition (4) TM Example: Addition (5) b b b b b b b b b b b,r b,r b,r b,r b,r b,r,r,r 3 4 COSC 3 - Algorithm Analysis and Automata 4

Turing Computation /0/ TM Example: Addition (6) A Physical Turing Machine b b b b b,r b,r b,r halts!,r See http://aturingmachine.com 5 6 Ordinary Turing Machine We can design a Turing machine M for a specific purpose The Universal Turing Machine For each allowable input x it produces the corresponding output y M M x y 7 8 Universal Turing Machine We can design a Turing machine U that can emulate any Turing machine M Let m be an encoding of M (e.g., its rules) For each allowable input x it produces the corresponding output y U m x U y Equivalence Between TMs and Other Models of Computation If we can use some model of computation to program a UTM, then we can emulate any TM So this model is at least as powerful as TMs If can design TM to emulate another kind of universal machine, then UTM can emulate it So other model is no more powerful than TMs The way to prove equivalent power of different models of computation Equivalent in terms of computability not space/ time efficiency 9 30 COSC 3 - Algorithm Analysis and Automata 5

Turing Computation /0/ General-Purpose Computers The Universal Turing Machine is theoretical foundation of general purpose computer Instead of designing a special-purpose computer for each application Design one general-purpose computer: interprets program (virtual machine description) stored in its memory emulates that virtual machine Church-Turing Thesis CT Thesis: The set of effectively calculable problems is exactly the set of problems solvable by TMs Empirical evidence: All the independently designed models of computation turned out to be equivalent to TM in power Easy to see how any calculus can be emulated by a TM Easy to see how any (digital) computer can be emulated by a TM (and vice versa) But, there is research in non-turing models of computation 3 3 The Liar Paradox The Limits of Computation Epimenides the Cretan (7 th cent. BCE) said, The men of Crete were ever liars If you say that you are lying, and say it truly, you are lying. Cicero (06 43 BCE) I am lying. 33 34 Undecidabilty of the Halting Problem (Informal) Assume we have procedure that decides halting problem for any program/input pair Let P (X) represent the execution of program P on input X (P, X) = if and only if program P halts on input X (P, X) = if and only if program P doesn t halts on input X Program P encoded as string or other legal input to programs Assumed Turing Machine for Halting Problem We can design a Turing machine that can decide, for any Turing machine P and input x, whether P halts on x Let p be an encoding of P (e.g., its rules) If P halts on x: p x 35 36 COSC 3 - Algorithm Analysis and Automata 6

Turing Computation /0/ Assumed Turing Machine for Halting Problem () If P doesn t halt on x: p x Undecidabilty of the Halting Problem () Define the paradoxical procedure :. procedure (P):. if (P, P) then 3. go into an infinite loop 4. else // (P, P) is, so 5. halt immediately Now is a program that can be applied to any program string P 37 38 Turing Machine Turing Machine () After running TM on p and p, if result was, go into an infinite loop After running TM on p and p, if result was, halt immediately p p p p halts! 0000 39 40 TM Applied to q TM Applied to q () After running TM on q and q, if result was, go into an infinite loop After running TM on q and q, if result was, halt immediately q q q q halts! 0000 4 4 COSC 3 - Algorithm Analysis and Automata 7

Turing Computation /0/ Undecidabilty of the Halting Problem (3) What will be the effect of executing ()? If (, ) =, then go into an infinite loop, that is, don t halt But (, ) = iff () halts If (, ) =, then halt immediately But (, ) = iff () doesn t halt So () halts if and only if () doesn t halt A contradiction! Our assumption (that exists) was Rice s Theorem (Informal) Suppose that B is any behavior that a program might exhibit on a given input examples: print a 0, open a window, delete a file, generate a beep Assume that we have a procedure DoesB (P, X) that decides whether P (X) exhibits behavior B As in Turing s proof, we show a contradiction 43 44 Rice s Theorem () Rice s Theorem (3) Define a paradoxical procedure :. procedure (P):. if DoesB (P, P) then 3. don t do B 4. else 5. do B Note that B must be a behavior that we can control Consider the result of executing () () does B if and only if () doesn t do B Contradiction shows our assumption of existence of decision procedure DoesB was A TM cannot decide any controllable behavior for all program/input combinations 45 46 Gödel s Incompleteness Theorem (informally) By constructing a paradoxical proposition that asserts own unprovability, can prove: In any system of formal logic (powerful enough to define arithmetic) there will be a proposition that be neither proved nor disproved in that system Yet by reasoning outside the system, we can prove it s Does this imply that human reasoning cannot be captured in a formal system (calculus)? Or reduced to calculation? Philosophers have been grappling with this problem since the 930s Hypercomputation CT Thesis says effectively calculable = Turing-computable Some authors equate computable with Turing-computable If, then the limits of the TM are the limits of computation Is human intelligence effectively calculable? Hypercomputation = computation beyond the Turing limit 47 48 COSC 3 - Algorithm Analysis and Automata 8