CS 275 Automata and Formal Language Theory

Similar documents
CS 275 Automata and Formal Language Theory

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

Introduction to Turing Machines

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018

Automata Theory. Definition. Computational Complexity Theory. Computability Theory

Church s undecidability result

Handouts. CS701 Theory of Computation

Computability Theory. CS215, Lecture 6,

COMP-330 Theory of Computation. Fall Prof. Claude Crépeau. Lec. 16 : Turing Machines

Friendly Logics, Fall 2015, Lecture Notes 1

Lecture 14 Rosser s Theorem, the length of proofs, Robinson s Arithmetic, and Church s theorem. Michael Beeson

Propositions as Types

ENEE 459E/CMSC 498R In-class exercise February 10, 2015

CS 275 Automata and Formal Language Theory

Gödel s Theorem: Limits of logic and computation

The Church-Turing Thesis and Relative Recursion

CST Part IB. Computation Theory. Andrew Pitts

(a) Definition of TMs. First Problem of URMs

258 Handbook of Discrete and Combinatorial Mathematics

The roots of computability theory. September 5, 2016

Introduction. Foundations of Computing Science. Pallab Dasgupta Professor, Dept. of Computer Sc & Engg INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR

Turing Centenary Lecture

CA320 - Computability & Complexity

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

COMP-330 Theory of Computation. Fall Prof. Claude Crépeau. Lec. 14 : Turing Machines

Foundations of Computation. Ana Bove

PROOFS IN PREDICATE LOGIC AND COMPLETENESS; WHAT DECIDABILITY MEANS HUTH AND RYAN 2.3, SUPPLEMENTARY NOTES 2

Informal Statement Calculus

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

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

CS 275 Automata and Formal Language Theory. Proof of Lemma II Lemma (II )

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

Decidable Languages - relationship with other classes.

Theory of Computer Science

Computability, Undeciability and the Halting Problem

17.1 The Halting Problem

Fundamentals of Computer Science

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska

7.1 The Origin of Computer Science

Primitive recursive functions

Incompleteness Theorems, Large Cardinals, and Automata ov

AN INTRODUCTION TO COMPUTABILITY THEORY

Theory of Computation

Theory of Computer Science. Theory of Computer Science. D8.1 Other Halting Problem Variants. D8.2 Rice s Theorem

About the relationship between formal logic and complexity classes

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

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

Large Numbers, Busy Beavers, Noncomputability and Incompleteness

Predicate Logic - Undecidability

Great Ideas in Theoretical Computer Science

Theory of Computation (IX) Yijia Chen Fudan University

INF210 Datamaskinteori (Models of Computation)

CS 208: Automata Theory and Logic

Hilbert s problems, Gödel, and the limits of computation

Understanding Computation

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

Opleiding Informatica

Cogito ergo sum non machina!

Panu Raatikainen THE PROBLEM OF THE SIMPLEST DIOPHANTINE REPRESENTATION. 1. Introduction

The Turing machine model of computation

Algebraic Combinatorics, Computability and Complexity Syllabus for the TEMPUS-SEE PhD Course

Epistemological and Computational Constraints of Simulation Support for OR Questions

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

Automata Theory and Formal Grammars: Lecture 1

NONSTANDARD MODELS AND KRIPKE S PROOF OF THE GÖDEL THEOREM

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

The Limit of Humanly Knowable Mathematical Truth

Computer Sciences Department

Peano Arithmetic. CSC 438F/2404F Notes (S. Cook) Fall, Goals Now

Undecidable Problems. Z. Sawa (TU Ostrava) Introd. to Theoretical Computer Science May 12, / 65

Handbook of Logic and Proof Techniques for Computer Science

Theory of Computation CS3102 Spring 2014 A tale of computers, math, problem solving, life, love and tragic death

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

A Lower Bound of 2 n Conditional Jumps for Boolean Satisfiability on A Random Access Machine

Undecidability. Andreas Klappenecker. [based on slides by Prof. Welch]

Hilbert s Tenth Problem

CMPS 217 Logic in Computer Science. Lecture #17

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

Turing machines and linear bounded automata

185.A09 Advanced Mathematical Logic

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

Gottfried Wilhelm Leibniz (1666)

Turing machines and linear bounded automata

The P-vs-NP problem. Andrés E. Caicedo. September 10, 2011

Limits of Computability

CS 275 Automata and Formal Language Theory. Proof of Lemma II Lemma (II )

Limits of Computation. Antonina Kolokolova

6.8 The Post Correspondence Problem

CSCI3390-Lecture 6: An Undecidable Problem

CISC 1002 [CORC 3310, CC 30.10] Paradoxes and the Limits of Knowledge 3 hours; 3 credits

Propositional and Predicate Logic. jean/gbooks/logic.html

6-1 Computational Complexity

Regular Languages and Finite Automata

Decidability. Human-aware Robotics. 2017/10/31 Chapter 4.1 in Sipser Ø Announcement:

Theory of Computation Lecture 1. Dr. Nahla Belal

Recursive Function Theory and Computability

On Rice s theorem. Hans Hüttel. October 2001

Great Theoretical Ideas

Alan Turing and the Mathematics of the Unsolvable

Transcription:

CS 275 Automata and Formal Language Theory Course Notes Part III: Limits of Computation Chapter III.1: Introduction Anton Setzer http://www.cs.swan.ac.uk/ csetzer/lectures/ automataformallanguage/current/index.html April 29, 2016 CS 275 Chapt. III.1 1/ 37

Computability Theory A computable function is a function f : A B such that there is a mechanical procedure for computing for every a A the result f (a) B. In this part (III) we study the limits of computation. The area studying computable functions and their limits is called computability theory. CS 275 Chapt. III.1 2/ 37

Examples Define exp : N N, exp(n) := 2n, where N = {0, 1, 2,...}. exp is computable. However, can we really compute exp(10000000000000000000000000000000000000000000000)? Let String be the set of strings of ASCII symbols. Define a function check : String {true, false} by true check(p) := false Is check computable or not? if p is a syntactically correct Java program, otherwise. CS 275 Chapt. III.1 3/ 37

Examples (Cont.) Define a function terminate : String {true, false}, true terminate(p) := false Is terminate computable? if p is a syntactically correct Java program with no input and outputs, which terminates; otherwise. CS 275 Chapt. III.1 4/ 37

Answer (To be filled in during the lecture) CS 275 Chapt. III.1 5/ 37

Problems in Computability In order to understand and answer the questions we have to Give a precise definition of what computable means. That will be a mathematical definition. Such a notion is particularly important for showing that certain functions are non-computable. Then provide evidence that the definition of computable is the correct one. That will be a philosophical argument. Develop methods for proving that certain functions are computable or non-computable. CS 275 Chapt. III.1 6/ 37

Three Areas Three areas are involved in computability theory. Mathematics. Precise definition of computability. Analysis of the concept. Philosophy. Validation that notions found are the correct ones. Computer science. Study of relationship between these concepts and computing in the real world. CS 275 Chapt. III.1 7/ 37

Questions Related to The Above Given a function f : A B, which can be computed, can it be done effectively? (Complexity theory.) Can the task of deciding a given problem P1 be reduced to deciding another problem P2? (Reducibility theory). CS 275 Chapt. III.1 8/ 37

More Advanced Questions The following is beyond the scope of this module. Can the notion of computability be extended to computations on infinite objects (e.g. streams of data, real numbers,higher type operations)? (Higher and abstract computability theory). What is the relationship between computing (producing actions, data etc.) and proving? (Research by U. Berger and M. Seisenberger). CS 275 Chapt. III.1 9/ 37

Idealisation In computability theory, one usually abstracts from limitations on time and space. A problem will be computable, if it can be solved on an idealised computer, even if it the computation would take longer than the life time of the universe. CS 275 Chapt. III.1 10/ 37

Remark on Variables In this lecture I will often use i, j, k, l, m, n for variables denoting natural numbers. I will often use p, q and some others for variables denoting programs. I will use z for integers. Other letters might be used as well for variables. These conventions are not treated very strictly. Especially when running out of letters. CS 275 Chapt. III.1 11/ 37

History of Computability Theory Gottfried Wilhelmvon Leibnitz (1646 1716) Built a first mechanical calculator. Was thinking about a machine for manipulating symbols in order to determine truth values of mathematical statements. Noticed that this requires the definition of a precise formal language. CS 275 Chapt. III.1 12/ 37

History of Computability Theory David Hilbert(1862 1943) Poses 1900 in his famous list Mathematical Problems as 10th problem to decide Diophantine equations. CS 275 Chapt. III.1 13/ 37

Decision Problem Hilbert (1928) Poses the Entscheidungsproblem (German for decision problem). The decision problem is the question, whether we can decide whether a formula in predicate logic is provable or not. Predicate logic is the standard formalisation of logic with connectives,,, and quantifiers,. Predicate logic is sound and complete. This means that a a formula is provable if and only if it is valid (in all models). CS 275 Chapt. III.1 14/ 37

Decision Problem So the decidability of predicate logic is the question whether we can decide whether a formula is valid (in all models) or not. If predicate logic were decidable, provability in mathematics would become trivial. Entscheidungsproblem became one of the few German words which have entered the English language. CS 275 Chapt. III.1 15/ 37

History of Computability Theory Gödel, Kleene, Post, Turing (1930s) Introduce different models of computation and prove that they all define the same class of computable functions. CS 275 Chapt. III.1 16/ 37

History of Computability Theory Kurt Gödel (1906 1978) Introduced the (Herbrand-Gödel-) recursive functions in his 1933-34 Princeton lectures. Proved the famous incompleteness theorems now called first and second Gödel s Incompleteness Theorem CS 275 Chapt. III.1 17/ 37

History of Computability Theory Stephen Cole Kleene (1909 1994) Probably the most influential computability theoretician up to now. Introduced the partial recursive functions. CS 275 Chapt. III.1 18/ 37

History of Computability Theory Emil Post (1897 1954) Introduced the Post problems. CS 275 Chapt. III.1 19/ 37

History of Computability Theory Alan Mathison Turing (1912 1954) Introduced the Turing machine. Proved the undecidability of the Turing-Halting problem. CS 275 Chapt. III.1 20/ 37

Gödel s Incompleteness Theorem Gödel (1931) proves in his first incompleteness theorem: Every reasonable primitive-recursive theory is incomplete, i.e. there is a formula s.t. neither the formula nor its negation is provable. The theorem generalises to recursive i.e. computable theories as introduced later in this module. For the moment it suffices to understand recursive informally as intuitively computable. The notion primitive-recursive would be taught in an advanced module on computability theory. Primitive recursive functions form a restricted class of computable functions which contain all functions which are computable in a feasible way. CS 275 Chapt. III.1 21/ 37

Gödel s Incompleteness Theorem Therefore no computable theory proves all true formulae. Therefore, it is undecidable whether a formula is true or not. Otherwise, the theory consisting of all true formulae would be a complete computable theory. CS 275 Chapt. III.1 22/ 37

Undecidability of the Decision Problem Church and Turing (1936) postulate that the models of computation established above define exactly the set of all computable functions (Church-Turing thesis, sometimes called Church s thesis). Both established independently undecidable problems and proved that the decision problem is undecidable, i.e. unsolvable. Even for a class of very simple formulae we cannot decide the decision problem. CS 275 Chapt. III.1 23/ 37

Undecidability of the Decision Problem Church shows the undecidability of equality in the λ-calculus. Turing shows the unsolvability (i.e. undecidability) of the halting problem just months after Church s result was obtained. It is undecidable whether a Turing machine (and by the Church-Turing thesis equivalently any non-interactive computer program of a Turing-complete programming language) eventually stops. That problem turns out to be the most important undecidable problem. CS 275 Chapt. III.1 24/ 37

Undecidability and the Limit of Human Beings The undecidability of the Turing Halting Problem has similarities with limits in physics such as Speed limited by speed of light. Heisenberg s uncertainty principle. It limits what human beings can do Even with the most advanced computers we cannot decide the Turing halting problem. CS 275 Chapt. III.1 25/ 37

History of Computability Theory Alonzo Church (1903-1995) CS 275 Chapt. III.1 26/ 37

History of Computability Theory Post (1944) studies degrees of unsolvability. This is the birth of degree theory. In degree theory one divides problems into groups ( degrees ) of problems, which are reducible to each other. Reducible means essentially relative computable. Degrees can be ordered by using reducibility as ordering. The question in degree theory is: what is the structure of degrees? CS 275 Chapt. III.1 27/ 37

Degrees Reducible to Degree computable problems CS 275 Chapt. III.1 28/ 37

History of Computability Theory Yuri Vladimirovich Matiyasevich ( 1947) Solves 1970 Hilbert s 10th problem negatively: The solvability of Diophantine equations is undecidable. CS 275 Chapt. III.1 29/ 37

History of Computability Theory Stephen Cook(Toronto) Cook (1971) introduces the complexity classes P and NP and formulates the problem, whether P NP. CS 275 Chapt. III.1 30/ 37

Current State The problem P NP is still open. Complexity theory has become a big research area. Intensive study of computability on infinite objects (e.g. real numbers, higher type functionals) is carried out (e.g. U. Berger, J. Blanck and J. Tucker in Swansea). Computability on inductive and co-inductive data types is studied (e.g. A. Setzer, U. Berger). Research on program synthesis from formal proofs (e.g. U. Berger and M. Seisenberger in Swansea). CS 275 Chapt. III.1 31/ 37

Current State Concurrent and game-theoretic models of computation are developed (e.g. Prof. Moller in Swansea). Automata theory further developed. Alternative models of computation are studied (quantum computing, genetic algorithms). CS 275 Chapt. III.1 32/ 37

Name Computability Theory The original name was recursion theory, since the mathematical concept claimed to cover exactly the computable functions is called recursive function. This name was changed to computability theory during the last 10 years. Many books still have the title recursion theory. CS 275 Chapt. III.1 33/ 37

Overview over Part III 1. Introduction. 2. The Unlimited Register Machine (URM) 3. Turing machines and. the undecidability of the halting problem. CS 275 Chapt. III.1 34/ 37

Literature [Cu80] Cutland: Computability. Cambridge University Press, 1980. Main text book. [Co90] Daniel E. Cohen: Computability and Logic. Ellis Horwood, 1990. [Su05] Thomas A. Sudkamp: Languages and machines. 3rd Edition, Addison-Wesley 2005. [BJB07] George S. Boolos, Richard C. Jeffrey, John Burgess: Computability and logic. 5th Ed. Cambridge Univ. Press, 2007 [LP97] Lewis/Papadimitriou: Elements of the Theory of Computation. Prentice Hall, 2nd Edition, 2008. [Si05] Sipser: Introduction to the Theory of Computation. South-Western College Publishing. 3rd Edition, 2012. CS 275 Chapt. III.1 35/ 37

Literature [Ma10] Martin: Introduction to Languages and the Theory of Computation. 4th Edition, McGraw Hill, 2010. Criticised in Amazon Reviews. But several editions. [HMU07] John E. Hopcroft, R. Motwani and J. Ullman: Introduction to Automata Theory, Languages, and Computation. Addison Wesley, 3rd Ed, 2007. Excellent book, mainly on automata theory context free grammars. But covers Turing machines, decidability questions as well. CS 275 Chapt. III.1 36/ 37

Literature [Ve06] Velleman: How To Prove It. Cambridge University Press, 2nd Edition, 2006. Book on basic mathematics. Useful if you need to fresh up your mathematical knowledge. [Gr99] Griffor (Ed.): Handbook of Computability Theory. North Holland, 1999. Expensive. Postgraduate level. CS 275 Chapt. III.1 37/ 37