On the Halting Problem of Finite-State Programs
|
|
- Dominic Elliott
- 5 years ago
- Views:
Transcription
1 On the Halting Problem of Finite-State Programs Raimund Kirner Vienna University of Technology, Austria, Abstract. The undecidability of the halting problem is a well-known research result of theoretical computer science, dating back to Turing s work in Nevertheless, it is commonly known that the halting problem on finite-state computer systems is decidable. Thus, any undecidability proof given for the halting problem must imply that it does not apply to finite-state computer systems. The aim of this paper is to deepen the understanding of why the undecidability proofs of the halting problem cannot be instantiated as finite-state programs. To bridge the gap between theory and practice, the arguments are based on simple mathematics rather than an extensive use of abstract formalisms. 1 Introduction Knowing whether a program eventually terminates is of outmost importance in several practical field of computer engineering. For example, in case of safetycritical real-time systems it is even important that one can bound the time interval from program start to its termination. The verification of program termination has become known as the halting problem. The halting problem of Turing machines in general is known to be undecidable, while it also known that the halting problem for all finite-state systems is decideable. There are several impossibility proofs available of the halting problem [1, 2] where it is not obvious why they do not apply to finitestate systems. Within this paper we give some insights of why such impossibility proofs do not apply to the problems faced in practice, i.e., the analysis of finite-state systems. Section 2 presents the halting problem and its algorithmic calculation (im)possibility results. In Section 3 we show why the impossibility results of the halting problem cannot be instantiated as finite-state programs, thus giving the practitioner some insights about the analyzability of programs with finite state space. This work has been partially supported by the Austrian Science Fund (Fonds zur Förderung der wissenschaftlichen Forschung) within the research project Compiler- Support for Timing Analysis (COSTA) under contract P18925-N13 and the ARTIST2 Network of Excellence (
2 2 The Halting Problem The halting problem is about the question of whether we can specify an algorithm that is able to determine whether a given program p will eventually terminate on its input i. For example, we would like to have to a program halt(p, i) as given schematically in Figure 1, that returns true if the program will terminate, and otherwise returns false. 1 h a l t ( p, i ) 2 { 3 i f ( program p h a l t s on i n p u t i ) 4 return t r u e ; // p h a l t s 5 e l s e 6 return f a l s e ; // p doesn t h a l t 7 } Fig. 1. Pseudocode of the Halting Function 2.1 Impossibility Results Within this section we describe two different impossibility proofs of the halting problem. In fact, both variants are basically equivalent. The second variant of disproof may be more intuitive for the reader unfamiliar with the analysis of the halting problem. Actually, in case of the first disproof it is obvious that in its original formulation it does not apply to realistic computers having an absolute upper bound of the possible state space, since the disproof is based on an infinite number of different machines (programs) and input data. However, we will show why both disproofs of the halting problem do no apply to any system of finite state space. It should be noted that all the disproofs of the halting problem do not imply that the halting of a concrete program cannot be determined. Instead, they imply that no universal halting function can exist that can determine the termination of all programs. That means, any halting function cannot be total, but only partial. Turing s Diagonalization Result Turing introduced in 1936 a generic computing model (know known as Turing machine) and showed that the universal halting problem is undecidable [3]. The proof relies on the diagonalization technique, applied to an unbounded array where all possible Turing machines are listed applied with all the different input data. Turing s original impossibility result was constructed based on infinite different Turing maschines and infinite different input data. Instead of the different Turing maschines one could also construct the impossibility result by using a universal Turing maschine together with an enumeration of all possible programs. It has to mentioned, that Turing has applied the diagonalization technique on an infinite number of machines (programs) and input data, thus it is obvious why this disproof technique does not apply to finite-state systems with a concrete 2
3 upper bound of state space. But we will also show why this disproof cannot be applied to any finite-state system. Strachey s Impossible Program Strachey proposed a program based on the result of an assumed halting function [2]. The way Strachey s construction and other similar constructions are used to show the impossibility of a decideable halting function is quite similar to Turing s original disproof. But the relevant difference we want to emphasize is that they do not explicitly assume an infinite number of possible machines (programs) or input data, because they directly use reductio ad absurdum to prove that both, Strachey s construction and the universal halting function cannot exist. 1 s t r a c h e y ( p ) 2 { 3 i f ( h a l t ( p, p ) == t r u e ) 4 { 5 L1 : goto L1 ; // loop f o r e v e r 6 } 7 e l s e 8 return ; 9 } Fig. 2. Strachey s Impossible Program The impossibility of Strachey s construction given in Figure 2 becomes obvious if one tries to apply the halting function as follows: halt(strachey, strachey) Since in this case strachey() itself calls halt(strachey, strachey), it is required that the direct call of halt() and the nested call provide the same result. However, this leads to a contradiction, whatever result halt() returns. Within this disproof there seems to be no indication why not it could be even applied to finite-state systems having a concrete upper bound of state space. 2.2 Possibility Result on Finite-State Systems That the halting problem can be at least theoretically solved for finite-state systems has been already argued by Minsky in 1967 [4]:...any finite-state machine, if left completely to itself, will fall eventually into a perfectly periodic repetitive pattern. The duration of this repeating pattern cannot exceed the number of internal states of the machine... It is easy to construct a simple brute-force search algorithm to solve the halting problem for any program that could be executed on a given machine. Thus, the halting problem is computable (decidable) for any finite-state program. The motivation of this article is to present some intuition about why these disproofs of the halting problem do not apply to finite-state systems. 3
4 3 Why the Impossibility Results do not Apply to Finite-State Systems In this section we will provide a constructive insight why a construction like Strachey s can t be instantiated as a finite state program. The same argument also applies for Turing s construction since they are based on the same type of self-reflection. We just use Strachey s construction because we believe that its pseudo-code representation is more convenient. 3.1 Adequate Models of Computation There are different possibilities to model computation of finite state space: Parametric state bound: Theoretical models of finite-state computation do not impose a concrete upper limit of the state space. For example, a linear bounded automaton (LBA) is basically a Turing machine with a finite tape, where the length of the tape is a linear function of the input s length. An LBA is of finite state, but there is no upper bound on the length of the input tape and on the size of the alphabet. Absolute state bound: The specialty of realistic computers is that they have a state space that is bounded to a concrete value. To give an example, Ylikoski proposed the Realistic Linear Bounded Automaton (RLBA) as an adequate model of realistic computers [5]. Modeling Resources To reason about the finiteness of the state space, we present some notation of resources that abstracts from the respresentation of any concrete computation model. The memory needed to execute a program on a finite-state system can be classified as given in Figure 3. Basically, each program consists of a static part that will not be changed during execution of the program, and a dynamic part (state space) that may be modified during execution of the program. The least upper bound of memory needed to hold the static part of a program p on a machine M 1 is denoted as size(p M1 ). The least upper bound of memory needed to hold the dynamic part of p on a machine M 1 is denoted as sp(p M1 ). The overall memory a program p requires on a machine M 1 is mem(p M1 ) = size(p M1 ) + sp(p M1 ) (1) Program Semantics vs. Machine Semantics According to the formal semantics a program may have an infinite state space. But after the program is transformed by the compiler into a program to be executed on a concrete machine M 1 with N bits of memory, it is definite that the state space of the executed program can be at maximum N bits (2 N different states). Such an enforced mapping from an infinite state space to a finite state space implies that certain states on the concrete machine have to be categorized as erroneous. As the platform-specific semantics for a real computer implies that the state space of the program is finite, the halting problem can principally be allways calculated. 4
5 dynamic part (state space) data variables modifiable code sp(p) static part data constants non modifiable code size(p) mem(p) Fig. 3. Classification of Memory Needed to Execute a Program p on a Real Computer 3.2 Analyzing a Universal Variant of halt() for Finite-State Systems Within this section we show why Strachey s construction cannot be instantiated as a finite-state program. We do not assume any specific implementation variant or specialization of the halting function halt(p, i). Lets first analyze the minimal memory requirement of a finite-space halting function fhalt(p M1, i) M2 running on machine M 2 to analyze a program p M1 running on machine M 1, given in Equation 2. sp(fhalt M2 ) size(p M1 ) + sp(p M1 ) (2) Equation 2 states that the halting function fhalt M2 at least has to allocate memory to hold the program code of p M1 and to build up the state space of p M1. Using this minimal memory resources, fhalt M2 is at least able to simulate the program p M1. More sophisticated program analysis techniques like symbolic model checking [6] even demand much more state space sp(fhalt M2 ) by constructing a Kripke structure of the analyzed program that describes the powerset of the analyzed program s state space (2 sp(p M ) 1 different states). One may argue that the minimal required resources required for fhalt M2 are lower, for example, if p M1 has a simple structure that regardless of the concrete input data always ends up in a halting state. In such a case it would not be required to build up the state space of p M1. This argument is valid, but only for a restricted class of programs. In the general case, programs have input-data dependent control flow, which at least requires to model also the state space sp(p M1 ). Applying Equation 2 to Strachey s construction, we get the following equation: sp(fhalt M2 ) size(strachey M1 ) + size(fhalt M1 ) + sp(strachey M1 ) + sp(fhalt M1 ) (3) Given the result of Equation 3 there are two possible cases: M 1 M 2 : In this case we assume that the halting function that analyzes strachey M1 () runs on a separate machine M 2 that has a sufficiently higher 5
6 state space than M 1. However, this differentiation of M 1 and M 2 is not valid, since Strachey s construction requires the halting function fhalt to be within the state space of strachey(), because strachey() calls fhalt. M 1 = M 2 : In this case we get equation Equation 4. Furthermore, for any equation a = k + a k>0 the only solution is a = ω, as it holds ω = k + ω. sp(fhalt M1 ) = k + sp(fhalt M1 ), (4) 0 < k = size(strachey M1 ) + size(fhalt M1 ) + sp(strachey M1 ) Consequently, Equation 4 has the only one solution where the state space of fhalt is infinite: sp(fhalt M1 ) = ω. Thus, we have shown that Strachey s construction (as well as Turing s construction) is of infinite state space. From above analysis we have got a constructive insight why Strachey s construction can t be instantiated as a program with finite state space. 4 Summary and Conclusion Within this paper we addressed the halting problem on finite-state programs. As an example of an impossibility proof of the halting problem we used Strachey s construction of an impossible program. This construction, as well as Turing s construction, and other similar disproofs at the first glance have no obvious indication why they would not apply to finite-state systems. Within this work we showed why the instantiation of the impossibility proofs on them cannot address finite-state systems. As a consequence, the given disproofs of the halting problem do not prohibit the existence of a total halting function for finite-state systems. The results of this paper are aimed to provide a more intuitive understanding of the halting problem. Acknowledgments The author would like to thank Christian Fermüller and Christian El Salloum for their constructive feedback on earlier versions of the document. References 1. Schneider, H.J.: Computability in an introductory course on programming. Bulletin of the European Association for Theoretical Computer Science (EATCS) 73 (2001) Strachey, C.: An impossible program. The Computer Journal 7 (1065) 313 Letter to the Editor. 3. Turing, A.M.: On computable numbers, with an application to the Entscheidungsproblem. Proc. London Mathematical Society 42 (1936) Minsky, M.: Computation, Finite and Infinite Machines. Prentice-Hall, New Jersey (1967) 5. Ylikoski, A.: The Halting Problem on finite and infinite computers. Journal of Advanced Computing Machinery 36 (2005) Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press (1999) ISBN:
CSE355 SUMMER 2018 LECTURES TURING MACHINES AND (UN)DECIDABILITY
CSE355 SUMMER 2018 LECTURES TURING MACHINES AND (UN)DECIDABILITY RYAN DOUGHERTY If we want to talk about a program running on a real computer, consider the following: when a program reads an instruction,
More informationComputability and Complexity
Computability and Complexity Lecture 5 Reductions Undecidable problems from language theory Linear bounded automata given by Jiri Srba Lecture 5 Computability and Complexity 1/14 Reduction Informal Definition
More informationIntroduction to Turing Machines
Introduction to Turing Machines Deepak D Souza Department of Computer Science and Automation Indian Institute of Science, Bangalore. 12 November 2015 Outline 1 Turing Machines 2 Formal definitions 3 Computability
More informationUndecidability COMS Ashley Montanaro 4 April Department of Computer Science, University of Bristol Bristol, UK
COMS11700 Undecidability Department of Computer Science, University of Bristol Bristol, UK 4 April 2014 COMS11700: Undecidability Slide 1/29 Decidability We are particularly interested in Turing machines
More informationLimits of Computability
Limits of Computability Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.jku.at Wolfgang Schreiner
More informationComputation Histories
208 Computation Histories The computation history for a Turing machine on an input is simply the sequence of configurations that the machine goes through as it processes the input. An accepting computation
More informationA Universal Turing Machine
A Universal Turing Machine A limitation of Turing Machines: Turing Machines are hardwired they execute only one program Real Computers are re-programmable Solution: Universal Turing Machine Attributes:
More informationConfusion of Memory. Lawrence S. Moss. Department of Mathematics Indiana University Bloomington, IN USA February 14, 2008
Confusion of Memory Lawrence S. Moss Department of Mathematics Indiana University Bloomington, IN 47405 USA February 14, 2008 Abstract It is a truism that for a machine to have a useful access to memory
More informationCS 361 Meeting 26 11/10/17
CS 361 Meeting 26 11/10/17 1. Homework 8 due Announcements A Recognizable, but Undecidable Language 1. Last class, I presented a brief, somewhat inscrutable proof that the language A BT M = { M w M is
More informationNon-emptiness Testing for TMs
180 5. Reducibility The proof of unsolvability of the halting problem is an example of a reduction: a way of converting problem A to problem B in such a way that a solution to problem B can be used to
More information1 Showing Recognizability
CSCC63 Worksheet Recognizability and Decidability 1 1 Showing Recognizability 1.1 An Example - take 1 Let Σ be an alphabet. L = { M M is a T M and L(M) }, i.e., that M accepts some string from Σ. Prove
More informationThere are two main techniques for showing that problems are undecidable: diagonalization and reduction
Reducibility 1 There are two main techniques for showing that problems are undecidable: diagonalization and reduction 2 We say that a problem A is reduced to a problem B if the decidability of A follows
More informationTuring Machines, diagonalization, the halting problem, reducibility
Notes on Computer Theory Last updated: September, 015 Turing Machines, diagonalization, the halting problem, reducibility 1 Turing Machines A Turing machine is a state machine, similar to the ones we have
More informationUndecidability. Andreas Klappenecker. [based on slides by Prof. Welch]
Undecidability Andreas Klappenecker [based on slides by Prof. Welch] 1 Sources Theory of Computing, A Gentle Introduction, by E. Kinber and C. Smith, Prentice-Hall, 2001 Automata Theory, Languages and
More information6.045J/18.400J: Automata, Computability and Complexity. Quiz 2. March 30, Please write your name in the upper corner of each page.
6.045J/18.400J: Automata, Computability and Complexity March 30, 2005 Quiz 2 Prof. Nancy Lynch Please write your name in the upper corner of each page. Problem Score 1 2 3 4 5 6 Total Q2-1 Problem 1: True
More informationCSCI3390-Lecture 6: An Undecidable Problem
CSCI3390-Lecture 6: An Undecidable Problem September 21, 2018 1 Summary The language L T M recognized by the universal Turing machine is not decidable. Thus there is no algorithm that determines, yes or
More informationLecture Notes: The Halting Problem; Reductions
Lecture Notes: The Halting Problem; Reductions COMS W3261 Columbia University 20 Mar 2012 1 Review Key point. Turing machines can be encoded as strings, and other Turing machines can read those strings
More informationNotes for Lecture Notes 2
Stanford University CS254: Computational Complexity Notes 2 Luca Trevisan January 11, 2012 Notes for Lecture Notes 2 In this lecture we define NP, we state the P versus NP problem, we prove that its formulation
More information16.1 Countability. CS125 Lecture 16 Fall 2014
CS125 Lecture 16 Fall 2014 16.1 Countability Proving the non-existence of algorithms for computational problems can be very difficult. Indeed, we do not know how to prove P NP. So a natural question is
More informationLecture 12: Mapping Reductions
Lecture 12: Mapping Reductions October 18, 2016 CS 1010 Theory of Computation Topics Covered 1. The Language EQ T M 2. Mapping Reducibility 3. The Post Correspondence Problem 1 The Language EQ T M The
More informationAn example of a decidable language that is not a CFL Implementation-level description of a TM State diagram of TM
Turing Machines Review An example of a decidable language that is not a CFL Implementation-level description of a TM State diagram of TM Varieties of TMs Multi-Tape TMs Nondeterministic TMs String Enumerators
More informationDecidability and Undecidability
Decidability and Undecidability Major Ideas from Last Time Every TM can be converted into a string representation of itself. The encoding of M is denoted M. The universal Turing machine U TM accepts an
More informationAdvanced Undecidability Proofs
17 Advanced Undecidability Proofs In this chapter, we will discuss Rice s Theorem in Section 17.1, and the computational history method in Section 17.3. As discussed in Chapter 16, these are two additional
More informationDecision Problems with TM s. Lecture 31: Halting Problem. Universe of discourse. Semi-decidable. Look at following sets: CSCI 81 Spring, 2012
Decision Problems with TM s Look at following sets: Lecture 31: Halting Problem CSCI 81 Spring, 2012 Kim Bruce A TM = { M,w M is a TM and w L(M)} H TM = { M,w M is a TM which halts on input w} TOTAL TM
More informationAn example of a decidable language that is not a CFL Implementation-level description of a TM State diagram of TM
Turing Machines Review An example of a decidable language that is not a CFL Implementation-level description of a TM State diagram of TM Varieties of TMs Multi-Tape TMs Nondeterministic TMs String Enumerators
More informationAdvanced topic: Space complexity
Advanced topic: Space complexity CSCI 3130 Formal Languages and Automata Theory Siu On CHAN Chinese University of Hong Kong Fall 2016 1/28 Review: time complexity We have looked at how long it takes to
More informationTime-bounded computations
Lecture 18 Time-bounded computations We now begin the final part of the course, which is on complexity theory. We ll have time to only scratch the surface complexity theory is a rich subject, and many
More informationUndecidable Problems. Z. Sawa (TU Ostrava) Introd. to Theoretical Computer Science May 12, / 65
Undecidable Problems Z. Sawa (TU Ostrava) Introd. to Theoretical Computer Science May 12, 2018 1/ 65 Algorithmically Solvable Problems Let us assume we have a problem P. If there is an algorithm solving
More informationCS154, Lecture 10: Rice s Theorem, Oracle Machines
CS154, Lecture 10: Rice s Theorem, Oracle Machines Moral: Analyzing Programs is Really, Really Hard But can we more easily tell when some program analysis problem is undecidable? Problem 1 Undecidable
More informationTURING MAHINES
15-453 TURING MAHINES TURING MACHINE FINITE STATE q 10 CONTROL AI N P U T INFINITE TAPE read write move 0 0, R, R q accept, R q reject 0 0, R 0 0, R, L read write move 0 0, R, R q accept, R 0 0, R 0 0,
More information1 Computational Problems
Stanford University CS254: Computational Complexity Handout 2 Luca Trevisan March 31, 2010 Last revised 4/29/2010 In this lecture we define NP, we state the P versus NP problem, we prove that its formulation
More informationTheory of Computation p.1/?? Theory of Computation p.2/?? We develop examples of languages that are decidable
Decidable Languages We use languages to represent various computational problems because we have a terminology for dealing with languages Definition: A language is decidable if there is an algorithm (i.e.
More information1 The decision problem for First order logic
Math 260A Mathematical Logic Scribe Notes UCSD Winter Quarter 2012 Instructor: Sam Buss Notes by: James Aisenberg April 27th 1 The decision problem for First order logic Fix a finite language L. Define
More informationAutomata-based Verification - III
COMP30172: Advanced Algorithms Automata-based Verification - III Howard Barringer Room KB2.20: email: howard.barringer@manchester.ac.uk March 2009 Third Topic Infinite Word Automata Motivation Büchi Automata
More informationLecture notes on Turing machines
Lecture notes on Turing machines Ivano Ciardelli 1 Introduction Turing machines, introduced by Alan Turing in 1936, are one of the earliest and perhaps the best known model of computation. The importance
More information(a) Definition of TMs. First Problem of URMs
Sec. 4: Turing Machines First Problem of URMs (a) Definition of the Turing Machine. (b) URM computable functions are Turing computable. (c) Undecidability of the Turing Halting Problem That incrementing
More informationTuring Machines. Wolfgang Schreiner
Turing Machines Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.jku.at Wolfgang Schreiner
More informationThe purpose here is to classify computational problems according to their complexity. For that purpose we need first to agree on a computational
1 The purpose here is to classify computational problems according to their complexity. For that purpose we need first to agree on a computational model. We'll remind you what a Turing machine is --- you
More informationTheory of Computer Science. Theory of Computer Science. D7.1 Introduction. D7.2 Turing Machines as Words. D7.3 Special Halting Problem
Theory of Computer Science May 2, 2018 D7. Halting Problem and Reductions Theory of Computer Science D7. Halting Problem and Reductions Gabriele Röger University of Basel May 2, 2018 D7.1 Introduction
More informationGödel s Theorem: Limits of logic and computation
Gödel s Theorem: Limits of logic and computation David Keil (dkeil@frc.mass.edu) Framingham State College Math/CS Faculty Seminar March 27, 2003 1 Overview Kurt Gödel, 1931, at age 25, in Vienna, shook
More informationThe Turing Machine. Computability. The Church-Turing Thesis (1936) Theory Hall of Fame. Theory Hall of Fame. Undecidability
The Turing Machine Computability Motivating idea Build a theoretical a human computer Likened to a human with a paper and pencil that can solve problems in an algorithmic way The theoretical provides a
More informationFinal exam study sheet for CS3719 Turing machines and decidability.
Final exam study sheet for CS3719 Turing machines and decidability. A Turing machine is a finite automaton with an infinite memory (tape). Formally, a Turing machine is a 6-tuple M = (Q, Σ, Γ, δ, q 0,
More informationThe halting problem is decidable on a set of asymptotic probability one
The halting problem is decidable on a set of asymptotic probability one Joel David Hamkins The City University of New York http://jdh.hamkins.org Alexei Miasnikov The City University of New York http://www.cs.gc.cuny.edu/
More informationCS5371 Theory of Computation. Lecture 14: Computability V (Prove by Reduction)
CS5371 Theory of Computation Lecture 14: Computability V (Prove by Reduction) Objectives This lecture shows more undecidable languages Our proof is not based on diagonalization Instead, we reduce the problem
More informationCMPT 710/407 - Complexity Theory Lecture 4: Complexity Classes, Completeness, Linear Speedup, and Hierarchy Theorems
CMPT 710/407 - Complexity Theory Lecture 4: Complexity Classes, Completeness, Linear Speedup, and Hierarchy Theorems Valentine Kabanets September 13, 2007 1 Complexity Classes Unless explicitly stated,
More informationjflap demo Regular expressions Pumping lemma Turing Machines Sections 12.4 and 12.5 in the text
On the menu today jflap demo Regular expressions Pumping lemma Turing Machines Sections 12.4 and 12.5 in the text 1 jflap Demo jflap: Useful tool for creating and testing abstract machines Finite automata,
More informationReducability. Sipser, pages
Reducability Sipser, pages 187-214 Reduction Reduction encodes (transforms) one problem as a second problem. A solution to the second, can be transformed into a solution to the first. We expect both transformations
More informationSection 14.1 Computability then else
Section 14.1 Computability Some problems cannot be solved by any machine/algorithm. To prove such statements we need to effectively describe all possible algorithms. Example (Turing machines). Associate
More informationUndecibability. Hilbert's 10th Problem: Give an algorithm that given a polynomial decides if the polynomial has integer roots or not.
Undecibability Hilbert's 10th Problem: Give an algorithm that given a polynomial decides if the polynomial has integer roots or not. The problem was posed in 1900. In 1970 it was proved that there can
More informationFurther discussion of Turing machines
Further discussion of Turing machines In this lecture we will discuss various aspects of decidable and Turing-recognizable languages that were not mentioned in previous lectures. In particular, we will
More informationPredicate Logic - Undecidability
CS402, Spring 2016 Undecidable Problems Does the following program halts? (1) N : n, total, x, y, z (2) n GetUserInput() (3) total 3 (4) while true (5) for x 1 to total 2 (6) for y 1 to total x 1 (7) z
More informationIntroduction to Turing Machines. Reading: Chapters 8 & 9
Introduction to Turing Machines Reading: Chapters 8 & 9 1 Turing Machines (TM) Generalize the class of CFLs: Recursively Enumerable Languages Recursive Languages Context-Free Languages Regular Languages
More informationTuring s thesis: (1930) Any computation carried out by mechanical means can be performed by a Turing Machine
Turing s thesis: (1930) Any computation carried out by mechanical means can be performed by a Turing Machine There is no known model of computation more powerful than Turing Machines Definition of Algorithm:
More informationOpleiding Informatica
Opleiding Informatica Tape-quantifying Turing machines in the arithmetical hierarchy Simon Heijungs Supervisors: H.J. Hoogeboom & R. van Vliet BACHELOR THESIS Leiden Institute of Advanced Computer Science
More informationCS4026 Formal Models of Computation
CS4026 Formal Models of Computation Turing Machines Turing Machines Abstract but accurate model of computers Proposed by Alan Turing in 1936 There weren t computers back then! Turing s motivation: find
More informationIV. Turing Machine. Yuxi Fu. BASICS, Shanghai Jiao Tong University
IV. Turing Machine Yuxi Fu BASICS, Shanghai Jiao Tong University Alan Turing Alan Turing (23Jun.1912-7Jun.1954), an English student of Church, introduced a machine model for effective calculation in On
More informationAutomata-based Verification - III
CS3172: Advanced Algorithms Automata-based Verification - III Howard Barringer Room KB2.20/22: email: howard.barringer@manchester.ac.uk March 2005 Third Topic Infinite Word Automata Motivation Büchi Automata
More informationThe Expressivity of Universal Timed CCP: Undecidability of Monadic FLTL and Closure Operators for Security
The Expressivity of Universal Timed CCP: Undecidability of Monadic FLTL and Closure Operators for Security Carlos Olarte and Frank D. Valencia INRIA /CNRS and LIX, Ecole Polytechnique Motivation Concurrent
More informationDecidable and undecidable languages
The Chinese University of Hong Kong Fall 2011 CSCI 3130: Formal languages and automata theory Decidable and undecidable languages Andrej Bogdanov http://www.cse.cuhk.edu.hk/~andrejb/csc3130 Problems about
More informationAlgorithmic verification
Algorithmic verification Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2018 Outline Overview Model checking Symbolic execution Outline Overview Model checking Symbolic execution Program verification
More informationTuring machine. Turing Machine Model. Turing Machines. 1. Turing Machines. Wolfgang Schreiner 2. Recognizing Languages
Turing achines Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.jku.at 1. Turing achines Wolfgang
More informationPart I: Definitions and Properties
Turing Machines Part I: Definitions and Properties Finite State Automata Deterministic Automata (DFSA) M = {Q, Σ, δ, q 0, F} -- Σ = Symbols -- Q = States -- q 0 = Initial State -- F = Accepting States
More informationCSCE 551: Chin-Tser Huang. University of South Carolina
CSCE 551: Theory of Computation Chin-Tser Huang huangct@cse.sc.edu University of South Carolina Church-Turing Thesis The definition of the algorithm came in the 1936 papers of Alonzo Church h and Alan
More informationComputability and Complexity
Computability and Complexity Decidability, Undecidability and Reducibility; Codes, Algorithms and Languages CAS 705 Ryszard Janicki Department of Computing and Software McMaster University Hamilton, Ontario,
More informationDecidable Languages - relationship with other classes.
CSE2001, Fall 2006 1 Last time we saw some examples of decidable languages (or, solvable problems). Today we will start by looking at the relationship between the decidable languages, and the regular and
More informationACS2: Decidability Decidability
Decidability Bernhard Nebel and Christian Becker-Asano 1 Overview An investigation into the solvable/decidable Decidable languages The halting problem (undecidable) 2 Decidable problems? Acceptance problem
More information5 3 Watson-Crick Automata with Several Runs
5 3 Watson-Crick Automata with Several Runs Peter Leupold Department of Mathematics, Faculty of Science Kyoto Sangyo University, Japan Joint work with Benedek Nagy (Debrecen) Presentation at NCMA 2009
More informationFinal Exam Comments. UVa - cs302: Theory of Computation Spring < Total
UVa - cs302: Theory of Computation Spring 2008 Final Exam Comments < 50 50 59 60 69 70 79 80 89 90 94 95-102 Total 2 6 8 22 16 16 12 Problem 1: Short Answers. (20) For each question, provide a correct,
More informationTuring machines and computable functions
Turing machines and computable functions In this chapter we address the question: how can we define the class of discrete functions that are computable? Probably, most of you are familiar with a few programming
More informationComputational Models Lecture 8 1
Computational Models Lecture 8 1 Handout Mode Ronitt Rubinfeld and Iftach Haitner. Tel Aviv University. May 11/13, 2015 1 Based on frames by Benny Chor, Tel Aviv University, modifying frames by Maurice
More informationDecidability: Church-Turing Thesis
Decidability: Church-Turing Thesis While there are a countably infinite number of languages that are described by TMs over some alphabet Σ, there are an uncountably infinite number that are not Are there
More informationTheory of Computation
Theory of Computation Lecture #10 Sarmad Abbasi Virtual University Sarmad Abbasi (Virtual University) Theory of Computation 1 / 43 Lecture 10: Overview Linear Bounded Automata Acceptance Problem for LBAs
More informationComputational Models Lecture 8 1
Computational Models Lecture 8 1 Handout Mode Nachum Dershowitz & Yishay Mansour. Tel Aviv University. May 17 22, 2017 1 Based on frames by Benny Chor, Tel Aviv University, modifying frames by Maurice
More informationDecidability. Linz 6 th, Chapter 12: Limits of Algorithmic Computation, page 309ff
Decidability Linz 6 th, Chapter 12: Limits of Algorithmic Computation, page 309ff 1 A property P of strings is said to be decidable if the set of all strings having property P is a recursive set; that
More informationTuring machines and linear bounded automata
and linear bounded automata Informatics 2A: Lecture 29 John Longley School of Informatics University of Edinburgh jrl@inf.ed.ac.uk 25 November, 2011 1 / 13 1 The Chomsky hierarchy: summary 2 3 4 2 / 13
More informationCS5371 Theory of Computation. Lecture 10: Computability Theory I (Turing Machine)
CS537 Theory of Computation Lecture : Computability Theory I (Turing Machine) Objectives Introduce the Turing Machine (TM) Proposed by Alan Turing in 936 finite-state control + infinitely long tape A stronger
More informationproblem X reduces to Problem Y solving X would be easy, if we knew how to solve Y
CPS220 Reducibility A reduction is a procedure to convert one problem to another problem, in such a way that a solution to the second problem can be used to solve the first problem. The conversion itself
More informationCS5371 Theory of Computation. Lecture 15: Computability VI (Post s Problem, Reducibility)
CS5371 Theory of Computation Lecture 15: Computability VI (Post s Problem, Reducibility) Objectives In this lecture, we introduce Post s correspondence problem (playing with a special type of domino) We
More informationMapping Reducibility. Human-aware Robotics. 2017/11/16 Chapter 5.3 in Sipser Ø Announcement:
Mapping Reducibility 2017/11/16 Chapter 5.3 in Sipser Ø Announcement: q Slides for this lecture are here: http://www.public.asu.edu/~yzhan442/teaching/cse355/lectures/mapping.pdf 1 Last time Reducibility
More informationKOLMOGOROV COMPLEXITY AND ALGORITHMIC RANDOMNESS
KOLMOGOROV COMPLEXITY AND ALGORITHMIC RANDOMNESS HENRY STEINITZ Abstract. This paper aims to provide a minimal introduction to algorithmic randomness. In particular, we cover the equivalent 1-randomness
More informationCS5371 Theory of Computation. Lecture 10: Computability Theory I (Turing Machine)
CS537 Theory of Computation Lecture : Computability Theory I (Turing Machine) Objectives Introduce the Turing Machine (TM)? Proposed by Alan Turing in 936 finite-state control + infinitely long tape A
More informationOn the Concept of Enumerability Of Infinite Sets Charlie Obimbo Dept. of Computing and Information Science University of Guelph
On the Concept of Enumerability Of Infinite Sets Charlie Obimbo Dept. of Computing and Information Science University of Guelph ABSTRACT This paper discusses the concept of enumerability of infinite sets.
More informationTuring Machines Part II
Turing Machines Part II COMP2600 Formal Methods for Software Engineering Katya Lebedeva Australian National University Semester 2, 2016 Slides created by Katya Lebedeva COMP 2600 Turing Machines 1 Why
More informationLecture 23: Rice Theorem and Turing machine behavior properties 21 April 2009
CS 373: Theory of Computation Sariel Har-Peled and Madhusudan Parthasarathy Lecture 23: Rice Theorem and Turing machine behavior properties 21 April 2009 This lecture covers Rice s theorem, as well as
More informationUndecidability. We are not so much concerned if you are slow as when you come to a halt. (Chinese Proverb)
We are not so much concerned if you are slow as when you come to a halt. (Chinese Proverb) CS /55 Theory of Computation The is A TM = { M,w M is a TM and w L(M)} A TM is Turing-recognizable. Proof Sketch:
More informationTuring Machines A Turing Machine is a 7-tuple, (Q, Σ, Γ, δ, q0, qaccept, qreject), where Q, Σ, Γ are all finite
The Church-Turing Thesis CS60001: Foundations of Computing Science Professor, Dept. of Computer Sc. & Engg., Turing Machines A Turing Machine is a 7-tuple, (Q, Σ, Γ, δ, q 0, q accept, q reject ), where
More informationComputational Models Lecture 8 1
Computational Models Lecture 8 1 Handout Mode Ronitt Rubinfeld and Iftach Haitner. Tel Aviv University. April 18/ May 2, 2016 1 Based on frames by Benny Chor, Tel Aviv University, modifying frames by Maurice
More informationThe decision problem (entscheidungsproblem), halting problem, & Turing machines. CS 350 Fall 2018 gilray.org/classes/fall2018/cs350/
The decision problem (entscheidungsproblem), halting problem, & Turing machines CS 350 Fall 2018 gilray.org/classes/fall2018/cs350/ 1 We must not believe those, who today, with philosophical bearing and
More informationCreative Objectivism, a powerful alternative to Constructivism
Creative Objectivism, a powerful alternative to Constructivism Copyright c 2002 Paul P. Budnik Jr. Mountain Math Software All rights reserved Abstract It is problematic to allow reasoning about infinite
More informationFORMAL LANGUAGES, AUTOMATA AND COMPUTATION
FORMAL LANGUAGES, AUTOMATA AND COMPUTATION DECIDABILITY ( LECTURE 15) SLIDES FOR 15-453 SPRING 2011 1 / 34 TURING MACHINES-SYNOPSIS The most general model of computation Computations of a TM are described
More informationCS151 Complexity Theory. Lecture 1 April 3, 2017
CS151 Complexity Theory Lecture 1 April 3, 2017 Complexity Theory Classify problems according to the computational resources required running time storage space parallelism randomness rounds of interaction,
More informationClass 24: Computability
Menu Class 24: Review: Gödel s Theorem Proof in Axiomatic Systems : Are there some problems that it is impossible to write a program to solve? Halting Problems Hockey Team Logo CS150: Computer Science
More informationThe tape of M. Figure 3: Simulation of a Turing machine with doubly infinite tape
UG3 Computability and Intractability (2009-2010): Note 4 4. Bells and whistles. In defining a formal model of computation we inevitably make a number of essentially arbitrary design decisions. These decisions
More informationLearning Goals of CS245 Logic and Computation
Learning Goals of CS245 Logic and Computation Alice Gao April 27, 2018 Contents 1 Propositional Logic 2 2 Predicate Logic 4 3 Program Verification 6 4 Undecidability 7 1 1 Propositional Logic Introduction
More informationthat shows the semi-decidability of the problem (i.e. a semi-decision procedure for EXISTS-HALTING) and argue that it is correct.
Exercise 1 (15) Consider the following problem: EXISTS-HALTING INSTANCE: A program Π, which takes as input a string over the alphabet {a, b, c,..., z}. QUESTION: Does there exist an input I, such that
More informationStatic Program Analysis using Abstract Interpretation
Static Program Analysis using Abstract Interpretation Introduction Static Program Analysis Static program analysis consists of automatically discovering properties of a program that hold for all possible
More informationTuring machines Finite automaton no storage Pushdown automaton storage is a stack What if we give the automaton a more flexible storage?
Turing machines Finite automaton no storage Pushdown automaton storage is a stack What if we give the automaton a more flexible storage? What is the most powerful of automata? In this lecture we will introduce
More informationCpSc 421 Homework 9 Solution
CpSc 421 Homework 9 Solution Attempt any three of the six problems below. The homework is graded on a scale of 100 points, even though you can attempt fewer or more points than that. Your recorded grade
More informationFinite Automata. Mahesh Viswanathan
Finite Automata Mahesh Viswanathan In this lecture, we will consider different models of finite state machines and study their relative power. These notes assume that the reader is familiar with DFAs,
More informationCS 208: Automata Theory and Logic
CS 208: Automata Theory and Logic b a a start A x(la(x) y.(x < y) L b (y)) B b Department of Computer Science and Engineering, Indian Institute of Technology Bombay. 1 of 19 Logistics Course Web-page:
More information