Outline 2. 1 Turing Machines. 2 Coding and Universality. 3 The Busy Beaver Problem. 4 Wolfram Prize. 5 Church-Turing Thesis.
|
|
|
- Sybil Bradford
- 9 years ago
- Views:
Transcription
1 Outline 2 CDM Turing Machines Turing Machines 2 Coding and Universality Klaus Sutner Carnegie Mellon University 3-turing-mach 205/8/30 9:46 3 The Busy Beaver Problem 4 Wolfram Prize 5 Church-Turing Thesis Intuitive Computability 3 Alan Turing 4 How can we capture the intuitive notion of computability? Historically, the first notions of computability suggested around 930 were Gödel-Herbrand general recursive functions, and Church s λ-calculus. Gödel was not entirely convinced that these proposals properly capture computability. Soundness and Completeness 5 Turing s Machines 6 We need to identify a formal notion of computability that arguably does not go beyond what a human computor could do (in principle), and arguably captures everything a human computor can do. Note that qualifier arguably, there won t be a theorem. Basic Idea: Observe the computor. We all agree that mathematicians compute (among other things such as drinking coffee or proving theorems). So we could try to define an abstract machine that can perform any calculation whatsoever that could be performed in principle by a mathematician, and only those. To this end we need to formalize what a computor is doing. Mathematicians can always write down their calculations on paper. This amounts simply to bookkeeping of all intermediate results. We need to formalize what can be written down and the rules that control the process of writing things down. Also note that Turing had terrible handwriting, he was always interested in typewriters. His machines are, in a sense, just glorified typewriters.
2 The Abstraction 7 Digression 8 Mathematicians use two-dimensional notation, but could all be flattened out into one-dimensional notation. Only finitely many symbols are allowed. Can think of having a strip of paper subdivided into cells, each cell containing exactly one symbol (possibly the blank symbol) * Flattening out notation is standard when dealing with keyboard input. Instead of x one has to deal with something like arctan( dx = ) Integrate[/(2 + x^2), {x,0,}] ==> ArcTan[/Sqrt[2]]/Sqrt[2] is flattened out into the linear string 2345 * = The Rules 9 Justification 0 The input is written on an otherwise empty tape. The computor s mind has finitely many possible states and is always in one particular of these states. At each step, the computor focuses on one particular cell, the current cell. The computor inspects the current cell and takes action depending on his own state of mind and the symbol in the cell. She may overwrite the symbol in the current cell. She may shift attention to the cell on the left or right. She may switch into a new state of mind. Initially, she is in state start and looks at the first empty cell to the left of the input. The computor keeps doing this until a state of mind finished is reached. These assumptions are quite robust. It would take the computor infinitely long to learn the meaning of infinitely many symbols. Likewise, the mind can assume only finitely many configurations (quantum physics, digital physics). A human mind cannot pay attention to infinitely many symbols. But finitely many symbols is the same as, say, 2. Likewise a step cannot depend on infinitely many symbols. But using finitely many symbols is the same as just using one. All but finitely many cells will always contain a special blank symbol. Otherwise someone would already have had to spend an infinite amount of time writing down the initial tape contents. What is written on the tape at this point constitutes the result of the computation. Finite Tapes A Turing Machine 2 It should be noted that the last condition is a bit harsh. It is certainly justified to insist on a very simple initial tape inscription, but all blanks on either side of the input pushes things a bit. For example, an inscription of the form work tape b a c a b a a a read/write head x x 2... x n x n is surely harmless. For Turing machines, this makes no difference whatsoever, but there are other models of computation such as cellular automata where the more general starting configurations are of great interest. finite state control
3 The Pieces 3 Formalization 4 A tape: a bi-infinite strip of paper, subdivided into cells. Each cell contains a single letter; all but finitely many contain just a blank. So we have a tape inscription. A read/write head that is positioned at a particular cell. That head can move left and right. A finite state control that directs the head: symbols are read and written, the head is moved around and the internal state of the FSC changes. alphabet Σ: finite set of allowed symbols, special blank symbol state set Q: finite set of possible mind configurations δ : Q Σ Q Σ {, 0, } : transition function a special initial state q 0 Q a special halting state q H Q. Definition A Turing machine is a structure M = Q, Σ, δ, q 0, q H. Σ Example: Successor Function 5 Simulation 6 Tape alphabet Σ = {, } States Q = {0,, 2, 3} Initial state q 0 = 0, final state q H = 3. The transition function δ is given be the following table: p σ δ(p, σ) No other transitions are needed. It is not hard to write a program that simulates a Turing machine. Hence, do some computational experiments on these machines. The following visualization method is sometimes useful to understand behavior of small Turing machines. In the pictures: The tape is represented by a row of colored squares. Time flows from top to bottom (usually; sometimes from left to right). The position of the tape head is indicated by a black frame around a square. The rightmost column indicates the state of the machine. Sample Run 7 Addition 8 We are using unary notation, n is represented by n... } {{ } n+ Hence we have to erase two s at the end: 0 is the initial state, 6 is the final state
4 Sample Run 9 A Longer Run 20 Correctness 2 Palindromes 22 Note that for very simple tasks such as addition in unary one can read off a correctness proof from these pictures. What would a complete correctness proof for the Turing machine that performs unary addition look like? What is difficult about the proof? Construct a Turing machine that performs addition when the input is given in binary. What should be pictures look like in this case? How hard is a correctness proof? Comments 23 Formalizing Turing Computation 24 In the pictures, time flows from left to right and the states are in the top row. The first picture represents a unsuccessful computation. The second picture represents a successful computation. Figure out how this machine works. (Hard) Show that any one-tape Turing machine requires quadratic time to recognize palindromes. We need to describe a snapshot during a computation; we need the current tape inscription the current head position the current state For the following, assume for simplicity that Q Σ =. Definition A configuration or instantaneous description (ID) is a word b p a where a, b Σ and p Q: b mb m... b p a a 2... a n means that the read/write head is positioned at a and the whole tape inscription is b m... b a... a n.
5 The Step Relation 25 Many Steps 26 We need to explain the one-step relation bpa M b qa Let δ(p, a ) = (q, c, ) Then the next configuration is defined by b m... q b ca 2... a n = b m...b q ca 2... a n = 0 b m...b c q a 2... a n = + Here we assume that a and b are non-empty, otherwise we can set b = a =. As always, we extend the one-step relation to multiple steps by iteration: C M t C M C M C : one step C : exactly t steps C : any finite number of steps The last notion is problematic: there is no bound on the number of steps. Input and Output 27 Computations 28 Given any input x, x 2,..., x n Σ the initial configuration is C x = q 0 A final configuration is of the form x x 2... x n C H y = q H y y 2... y m For input we have chosen to place the head at the last blank to the left of the input symbol, there are lots of other possibilities (e.g, q 0x... x n). Also, we require our machines to erase the tape (except for the output) and return the tape head to the initial position before halting; nothing important changes if we drop this condition. If C x M C H y then y = y, y 2,..., y m is the output of the computation of machine M on input x. M computes f : N k N if, for all x N k, If f is defined on x then C x M C H y and f(x) = y. If f is undefined on x then the computation of M on x does not halt. Here x is a k-tuple of natural numbers and x Σ is the corresponding tape-inscription. Halting 29 Computable Functions 30 Note that a Turing machine may very well fail to reach the halting state q H during a computation. For example, the machine could ignore its input and just move the head to right at each step. Or it could go into an infinite loop where the same sequence of configurations repeats over and over again. As it turns out, this is not a bug but a feature: we will see shortly that failure to halt is a problem that cannot be eliminated. There are restricted types of Turing machines that a guaranteed to halt on all inputs, but unfortunately they do not capture the full notion of computability. Definition A function f : N k N is (Turing) computable if there is a Turing machine M that computes f. Note that these functions are potentially partial: on any particular input the TM may fail to halt. In fact, the machine may fail to halt on all inputs. Historically these functions are also called partial recursive functions. The ones that are in addition total are called (total) recursive functions.
6 Relations 3 Semidecidable Relations 32 We can use the characteristic function of a relation R { x R char R(x) = 0 otherwise. to translate relations into functions. Definition A relation is (Turing) decidable if its characteristic function is Turing computable. Historically these relations are also called recursive relations. Since Turing machines may fail to halt one and use halting to characterize a class of relations. Definition A relation R is (Turing) semidecidable if there is a Turing machine M that halts precisely on all x such that R(x). We will see shortly that a relation R is decidable iff R and its complement are both semidecidable. Semidecidable sets are also called recursively enumerable (r.e.). Turing Computability and Robustness 33 Input/Output Tapes 34 So we have a notion of a function being computable and a relation being decidable (or semidecidable). b a work tape c a b a a a These notions do not change if we modify our definitions slightly: one-way infinite tapes multiple tapes multiple heads different input/output conventions input tape 0 output tape Note that without this kind of robustness our model would be essentially useless. M Input/Output Tapes 35 The Important Ideas 36 In this model, the input tape is read-only, one-way infinite output tape is write-only, one-way infinite work tape is read/write, two-way infinite As we will, see this is just the right model for space complexity. We can specify a model of computation by defining a space C of possible configurations (snapshots), a next configuration relation, an input and output convention. The details vary, but it s always the same pattern. Details about input/output conventions become really important in low complexity classes; higher up they are all interchangeable.
7 Models of Computation 37 Models of Computation, II 38 C C C C C C N k N Σ Σ The number-theoretic scenario (input and output are natural numbers). The string scenario (input and output are words over some alphabet). s 39 Explain how a multi-tape TM can be simulated by a single-tape TM. Determine how long it takes to recognize palindromes on two tapes versus one tape. Turing Machines 2 Coding and Universality The Busy Beaver Problem Determine the general slow-down caused by switching from two tapes to one. Show that it does not matter whether the tape head is required to return to the standard left position at the end of a computation. Wolfram Prize Church-Turing Thesis TMs and Data Structures 4 Leopold Kronecker 42 Since Turing machines operate only on strings it is not entirely clear how powerful they are, compared to, say, C programs. For example, could one concoct a TM that computes shortest paths in a graph? The key issue is that we need to code the graph as a string. Plus all other needed data structures: lists, trees, matrices,... This is not particularly difficult, but it is worth spelling out the details once and for all. In fact, we will not use strings but an more elementary setting: natural numbers (this approach is more interesting in the context of provability and systems of arithmetic). Die ganzen Zahlen hat der liebe Gott gemacht, alles andere ist Menschenwerk. Dear god made the integers, everything else is the work of men.
8 Sequence Numbers 43 Length 44 We would like to express a sequence a, a 2,..., a n of natural numbers as a single number a, a 2,..., a n. So we need a coding function, a polyadic map of the form. : N N and a decoding function that extracts the components of a coded sequence dec : N N N Note that dec(x, i) need not be defined when i is too large or when x is not of the form a 0, a, a 2,..., a n. One usually insists that the function is total and that there is a length function len( a 0, a, a 2,..., a n ) = n The numbers that appear as codes of sequences are called sequence numbers. so that for i = 0,..., n. a i = dec( a 0, a, a 2,..., a n, i) Show how to check if a number is a sequence number given dec and len. Pairs 45 In Binary 46 The first step is to select a pairing function, an injective map N N N. There are many possibilities, here is a particularly simple choice: π(x, y) = 2 x (2y + ) So π(5, 27) = 760 = Note that the binary expansion of π(x, y) looks like so: y ky k... y } {{ } x where y ky k... y 0 is the binary expansion of y with y k being the most significant digit. This makes it easy to find the corresponding unpairing functions: x = π (π(x, y)) y = π 2(π(x, y)). Extending to Sequences 47 That s It! 48 nil = 0 a,..., a n = π(a, a 2,..., a n ) We can now code any discrete structure as an integer by expressing it as a nested list of natural numbers, and then applying the coding function. For example, the so-called Petersen graph on the left is given by the nested list on the right. Here are some sequence numbers for this particular coding function: 0 = 024 0, 0, 0 = 7, 2, 3, 4, 5 = ((, 3), (, 4), (2, 4), (2, 5), (3, 5), (6, 7), (7, 8), (8, 9), (9, 0), (6, 0), (, 6), (2, 7), (3, 8), (4, 9), (5, 0))
9 Not So Fast 49 Coding TMs 50 Of course, we also need to be able to operate on sequence numbers. Construct a TM that computes the length of a sequence, given the code number as input. Construct a TM that computes the two unpairing functions x = π (π(x, y)) and y = π 2(π(x, y)) Construct a TM that implements the join of two lists given as sequence numbers. A Turing machine is essentially a n 5 table of numbers: The transition function has the form δ : Q Σ Q Σ and we can identify the set of states Q, the alphabet Σ and the displacement with natural numbers. We can further assume without loss of generality that Q is the initial state and, for Q = {, 2,..., n}, that n is the halting state. But the table can be expressed by a single number using our coding machinery. We will write M for the number associated with TM M. Universal Turing Machines 5 Comments 52 The fact that we can code a Turing machine as an integer combined with the observation that Turing machine naturally can compute on integers has an interesting consequence: We can build a Turing machine U that takes as input 2 numbers e and x, interprets e as the code number of a Turing machine M, and then executes M on input x. U will halt on e and x iff M halts on x; moreover, U will return the same output in this case. Any such machine U is called a universal Turing machine. The details of the construction of U are very tedious, but it s clear that this can be done. If U is given a number e as input that fails to code a Turing machine we assume that U fails to halt. Clearly the argument also works for Turing machines with multiple inputs (which we can either keep separate or code into a single input). Note that U is by no means uniquely determined, there are lots and lots of choices. The simulation by a universal TM is even efficient in the sense that the computation of U won t take much longer than the computation of M. A very interesting question is how large a universal Turing machine needs to be. Amazingly, there is a 2-state, 5-symbol UTM (see the lecture on cellular automata). Enumerating Computable Functions 53 Convergence and Divergence 54 Fix some universal Turing machine U. Each TM M translates into an integer e = M, the index for M. Similarly we can think of e as describing a particular computable function, often written ϕ e or {e} Hence, ({e}) e is a complete listing of all computable functions. We won t deal with arity issues here, they are purely technical. When dealing with partial recursive functions it is convenient to have some shorthand notation for convergence and divergence: Similarly one writes {e} (x) versus {e} (x) {e} (x) y to mean that the left hand side converges with output y, or both sides are undefined. Note that {e} (x) is semidecidable.
10 Partial versus Total 55 The Halting Problem 56 It might be tempting to think of partial recursive functions as total recursive functions restricted to some smaller domain of definition. Tempting, but very wrong. Proposition There is a partial recursive function g that is not the restriction of any total recursive function. Proof. Let g(e) = { {e} (e) + if {e} (e), otherwise. It is easy to see that g cannot be of the form g f D for any total recursive function f. Theorem Problem: Halting Problem Instance: An index e, an input x. Question: Does {e} (x) converge? The Halting Problem is undecidable. Proof. Suppose otherwise and define a function g by { {e} (e) + if {e} (e), g(e) = 0 otherwise. Then g is computable, so g {e} for some e. Contradiction via input e. Nota Bene 57 Turing Machines A definition of the form g(x) = { f(x) x A, otherwise. where f is computable and A is semidecidable produces a computable function. But g(x) = { f (x) x A, f 2(x) otherwise. Coding and Universality 3 The Busy Beaver Problem Wolfram Prize does not in general. It is OK when A is decidable, though. Church-Turing Thesis Busy Beaver Problem 59 Variants 60 Here is a famous problem due to Tibor Rado (962). Consider only TMs on tape alphabet Σ = {0, } (where 0 is the blank symbol) and n states. Question: What is the largest number of s any such machine can write on an initially empty tape, and then halt? We write β(n) for this number and refer to β : N N as the Busy Beaver function. Halting is crucial, otherwise we could trivially write infinitely many s. We will not insist that the s are contiguous (that is a variant of the problem with much the same properties). It is standard practice to ignore the halting state in the count, so n means n ordinary states plus one halting state. There are several variants of the BBP in the literature: What is the largest number written in unary (one contiguous block of s) that can be written by a halting n-state machine? What is the largest number of moves a halting n-state machine can make (time complexity)? What is the largest number of tape cells a halting n-state machine can use (space complexity)? These are all closely related, we will only discuss the total number of s version. Establish a hierarchy of corresponding Busy Beaver functions.
11 Busy Beaver n = 6 Busy Beaver n = 2 62 Amazingly, the answer is no longer obvious: β(2) = 4. OK, this is nearly trivial, but still... β() = : if we were to write a second we would never halt. 0 p (q,,r) (q,,l) q (p,,l) halt p0 q0 p q0 p0 q Busy Beaver n = 3 63 How bad can it be? 64 n β(n) Already for n = 5 we only have a lower bound, not the exact value. The champion machine due to Marxen and Buntrock is a small miracle: there are possible machines (this is a brute-force count, one can trim this number a bit). The Marxen-Buntrock Machine 65 Marxen-Buntrock 800 Steps 66 Entry (q, b, X) in position (p, a) means: in state p, scanning an a, go into state q, write b and move X. 0 (2,,R) (3,,L) 2 (3,,R) (2,,R) 3 (4,,R) (5,0,L) 4 (,,L) (4,,L) 5 halt (,0,L) Currently this machine is the 5-state champion: no other halting 5-state machine is known that produces more ones.
12 Misleading Pictures 67 Why is this Hard? 68 Looking at a run of the Marxen-Buntrock machine for a few hundred or even a few thousand steps one invariably becomes convinced that the machine never halts: the machine zig-zags back and forth, sometimes building solid blocks of s, sometimes a striped pattern. Whatever the details, the machine seems to be in a loop (not a an easy concept for Turing machines). Bear in mind: there are only 5 states, there is no obvious method to code an instruction such as do some zig-zag move million times, then stop. Still, this machine stops after steps. There are several fundamental obstructions to computing β(n). No one has a strong theory of the behavior of Turing machines (or any other model of computation). Hence, one has to use brute-force search, at least to some degree. But the number of Turing machines on n states grows wildly exponentially. Most important is the last problem: Even if we could somehow consider all machines on, say, 0 states, there is the problem that we don t know if a machine will ever halt it might just keep running forever. The Halting Problem is directly responsible for BB being so hard. Small Machines can be Complicated 69 Busy Beaver s 70 Define a (n, k)-turing machine to be a TM that has n states and a tape alphabet of size k. Clearly, there is a Busy Beaver problem for (n, k) TMs, the standard problem is just the special case (n +, 2). Very little is known about the general case. In a similar spirit, one can ask for small values of n and k if there is a universal (n, k) machine. One would expect a trade-off between n and k. Some values where universal machines are known to exist are (24, 2), (0, 3), (7, 4), (5, 5), (4, 6), (3, 0), (2, 8), (2, 5) Derive the transition table of the 3-state Busy Beaver machine from the last picture. Give an intuitive explanation of how this machine works. Prove that the last machine is indeed the champion: no other halting 3-state machine writes more than 6 ones. (Hard) Find the Busy Beaver champion for n = 4. (Extremely Hard) Organize a search for the Busy Beaver champion for n = 5. A Prize Question 72 Turing Machines Coding and Universality In May 2007, Stephen Wolfram posed the following challenge question: The Busy Beaver Problem 4 Wolfram Prize Is the following (2,3)-Turing machine universal? 0 2 p (p,,l) (p,0,l) (q,,r) q (p,2,r) (q,0,r) (p,0,l) Church-Turing Thesis Prize money: $25,000.
13 A Run 73 Another 74 Head Movement 75 Compressed Computation Compressed Computation with Different Initial Condition 77 The Big Difference 78 We saw how to construct a universal universal Turing machine. But the prize machine is not designed to do any particular computation, much less to be universal. The problem here is to show that this tiny little machine can simulate arbitrary computations given the right initial configuration (presumably a rather complicated initial configuration). Alas, that s not so easy.
14 The Big Controversy 79 Turing Machines In the Fall of 2007, Alex Smith, an undergraduate at Birmingham, submitted a proof that the machine is indeed universal. Coding and Universality The proof is painfully informal, fails to define crucial notions and drifts into chaos in several places. The Busy Beaver Problem A particularly annoying feature is that it uses infinite configurations: the tape inscription is not just a finite word surrounded by blanks. Wolfram Prize At this point, it is not clear what exactly Smith s argument shows. 5 Church-Turing Thesis Models of Computation 8 Turing s Contribution 82 There are many other models of computation: general recursive functions, λ calculus, Turing machines, Post systems, Markov algorithms, register machines, random access machines,... Historically, Gödel-Herbrand general recursive functions and Church s λ-calculus were the first fully developed models. Once their equivalence was known, Church unsuccessfully tried to persuade Gödel to accept the following proposition: Claim A function is computable in either model iff it is computable in the intuitive sense. But Gödel was convinced when Turing published his paper in 936. Interestingly, he always gave full credit to Turing for having settled the question of what computability really is but none for Church and himself. The ideas that all these models of computation reflect the true meaning of computation has become known as the Church-Turing thesis. June 23, Summary 84 In 202 there were lots of events commemorating Turing s 00th birthday. The most bizarre I ve seen: Some colleagues in Israel have come up with the exciting suggestion of organizing a worldwide Turing night along the lines of the events honoring Yuri Gagarin; see: s_night Maybe all of us should band together to construct a framework for similar local casual events and parties for June 23 next year and perhaps thereafter. What do you think? Turing machines are a particularly useful model of computation; important historically and the standard model in complexity theory. The Busy Beaver function is a good example of computational hardness that appears at very low levels of a hierarchy. There are several models of computation that are all equivalent in the sense that they produce the same notion of computability and decidability. The Church-Turing thesis states that various formal notions of computability precisely capture the intuitive notion of computability.
CS 3719 (Theory of Computation and Algorithms) Lecture 4
CS 3719 (Theory of Computation and Algorithms) Lecture 4 Antonina Kolokolova January 18, 2012 1 Undecidable languages 1.1 Church-Turing thesis Let s recap how it all started. In 1990, Hilbert stated a
Notes on Complexity Theory Last updated: August, 2011. Lecture 1
Notes on Complexity Theory Last updated: August, 2011 Jonathan Katz Lecture 1 1 Turing Machines I assume that most students have encountered Turing machines before. (Students who have not may want to look
Computability Theory
CSC 438F/2404F Notes (S. Cook and T. Pitassi) Fall, 2014 Computability Theory This section is partly inspired by the material in A Course in Mathematical Logic by Bell and Machover, Chap 6, sections 1-10.
Turing Machines: An Introduction
CIT 596 Theory of Computation 1 We have seen several abstract models of computing devices: Deterministic Finite Automata, Nondeterministic Finite Automata, Nondeterministic Finite Automata with ɛ-transitions,
6.080 / 6.089 Great Ideas in Theoretical Computer Science Spring 2008
MIT OpenCourseWare http://ocw.mit.edu 6.080 / 6.089 Great Ideas in Theoretical Computer Science Spring 2008 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.
3515ICT Theory of Computation Turing Machines
Griffith University 3515ICT Theory of Computation Turing Machines (Based loosely on slides by Harald Søndergaard of The University of Melbourne) 9-0 Overview Turing machines: a general model of computation
(IALC, Chapters 8 and 9) Introduction to Turing s life, Turing machines, universal machines, unsolvable problems.
3130CIT: Theory of Computation Turing machines and undecidability (IALC, Chapters 8 and 9) Introduction to Turing s life, Turing machines, universal machines, unsolvable problems. An undecidable problem
CS154. Turing Machines. Turing Machine. Turing Machines versus DFAs FINITE STATE CONTROL AI N P U T INFINITE TAPE. read write move.
CS54 Turing Machines Turing Machine q 0 AI N P U T IN TAPE read write move read write move Language = {0} q This Turing machine recognizes the language {0} Turing Machines versus DFAs TM can both write
CSE 135: Introduction to Theory of Computation Decidability and Recognizability
CSE 135: Introduction to Theory of Computation Decidability and Recognizability Sungjin Im University of California, Merced 04-28, 30-2014 High-Level Descriptions of Computation Instead of giving a Turing
Computational Models Lecture 8, Spring 2009
Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown Univ. p. 1 Computational Models Lecture 8, Spring 2009 Encoding of TMs Universal Turing Machines The Halting/Acceptance
CAs and Turing Machines. The Basis for Universal Computation
CAs and Turing Machines The Basis for Universal Computation What We Mean By Universal When we claim universal computation we mean that the CA is capable of calculating anything that could possibly be calculated*.
1 Definition of a Turing machine
Introduction to Algorithms Notes on Turing Machines CS 4820, Spring 2012 April 2-16, 2012 1 Definition of a Turing machine Turing machines are an abstract model of computation. They provide a precise,
Introduction to Turing Machines
Automata Theory, Languages and Computation - Mírian Halfeld-Ferrari p. 1/2 Introduction to Turing Machines SITE : http://www.sir.blois.univ-tours.fr/ mirian/ Automata Theory, Languages and Computation
Universality in the theory of algorithms and computer science
Universality in the theory of algorithms and computer science Alexander Shen Computational models The notion of computable function was introduced in 1930ies. Simplifying (a rather interesting and puzzling)
Lecture 2: Universality
CS 710: Complexity Theory 1/21/2010 Lecture 2: Universality Instructor: Dieter van Melkebeek Scribe: Tyson Williams In this lecture, we introduce the notion of a universal machine, develop efficient universal
Theory of Computation Chapter 2: Turing Machines
Theory of Computation Chapter 2: Turing Machines Guan-Shieng Huang Feb. 24, 2003 Feb. 19, 2006 0-0 Turing Machine δ K 0111000a 01bb 1 Definition of TMs A Turing Machine is a quadruple M = (K, Σ, δ, s),
Regular Languages and Finite Automata
Regular Languages and Finite Automata 1 Introduction Hing Leung Department of Computer Science New Mexico State University Sep 16, 2010 In 1943, McCulloch and Pitts [4] published a pioneering work on a
The Halting Problem is Undecidable
185 Corollary G = { M, w w L(M) } is not Turing-recognizable. Proof. = ERR, where ERR is the easy to decide language: ERR = { x { 0, 1 }* x does not have a prefix that is a valid code for a Turing machine
Mathematical Induction
Mathematical Induction In logic, we often want to prove that every member of an infinite set has some feature. E.g., we would like to show: N 1 : is a number 1 : has the feature Φ ( x)(n 1 x! 1 x) How
Models of Sequential Computation
Models of Sequential Computation 13 C H A P T E R Programming is often considered as an art, but it raises mostly practical questions like which language should I choose, which algorithm is adequate, and
6.080/6.089 GITCS Feb 12, 2008. Lecture 3
6.8/6.89 GITCS Feb 2, 28 Lecturer: Scott Aaronson Lecture 3 Scribe: Adam Rogal Administrivia. Scribe notes The purpose of scribe notes is to transcribe our lectures. Although I have formal notes of my
The Classes P and NP
The Classes P and NP We now shift gears slightly and restrict our attention to the examination of two families of problems which are very important to computer scientists. These families constitute the
How To Understand The Theory Of Computer Science
Theory of Computation Lecture Notes Abhijat Vichare August 2005 Contents 1 Introduction 2 What is Computation? 3 The λ Calculus 3.1 Conversions: 3.2 The calculus in use 3.3 Few Important Theorems 3.4 Worked
Formal Languages and Automata Theory - Regular Expressions and Finite Automata -
Formal Languages and Automata Theory - Regular Expressions and Finite Automata - Samarjit Chakraborty Computer Engineering and Networks Laboratory Swiss Federal Institute of Technology (ETH) Zürich March
Automata and Computability. Solutions to Exercises
Automata and Computability Solutions to Exercises Fall 25 Alexis Maciel Department of Computer Science Clarkson University Copyright c 25 Alexis Maciel ii Contents Preface vii Introduction 2 Finite Automata
NP-Completeness and Cook s Theorem
NP-Completeness and Cook s Theorem Lecture notes for COM3412 Logic and Computation 15th January 2002 1 NP decision problems The decision problem D L for a formal language L Σ is the computational task:
11 Multivariate Polynomials
CS 487: Intro. to Symbolic Computation Winter 2009: M. Giesbrecht Script 11 Page 1 (These lecture notes were prepared and presented by Dan Roche.) 11 Multivariate Polynomials References: MC: Section 16.6
Universal Turing Machine: A Model for all Computational Problems
Universal Turing Machine: A Model for all Computational Problems Edward E. Ogheneovo Lecturer I, Dept of Computer Science, University of Port Harcourt, Port Harcourt Nigeria. ABSTRACT: Turing machines
Turing Machines, Part I
Turing Machines, Part I Languages The $64,000 Question What is a language? What is a class of languages? Computer Science Theory 2 1 Now our picture looks like Context Free Languages Deterministic Context
4.6 The Primitive Recursive Functions
4.6. THE PRIMITIVE RECURSIVE FUNCTIONS 309 4.6 The Primitive Recursive Functions The class of primitive recursive functions is defined in terms of base functions and closure operations. Definition 4.6.1
Continued Fractions and the Euclidean Algorithm
Continued Fractions and the Euclidean Algorithm Lecture notes prepared for MATH 326, Spring 997 Department of Mathematics and Statistics University at Albany William F Hammond Table of Contents Introduction
Sudoku puzzles and how to solve them
Sudoku puzzles and how to solve them Andries E. Brouwer 2006-05-31 1 Sudoku Figure 1: Two puzzles the second one is difficult A Sudoku puzzle (of classical type ) consists of a 9-by-9 matrix partitioned
THE TURING DEGREES AND THEIR LACK OF LINEAR ORDER
THE TURING DEGREES AND THEIR LACK OF LINEAR ORDER JASPER DEANTONIO Abstract. This paper is a study of the Turing Degrees, which are levels of incomputability naturally arising from sets of natural numbers.
Reading 13 : Finite State Automata and Regular Expressions
CS/Math 24: Introduction to Discrete Mathematics Fall 25 Reading 3 : Finite State Automata and Regular Expressions Instructors: Beck Hasti, Gautam Prakriya In this reading we study a mathematical model
Discrete Mathematics and Probability Theory Fall 2009 Satish Rao, David Tse Note 2
CS 70 Discrete Mathematics and Probability Theory Fall 2009 Satish Rao, David Tse Note 2 Proofs Intuitively, the concept of proof should already be familiar We all like to assert things, and few of us
Math 4310 Handout - Quotient Vector Spaces
Math 4310 Handout - Quotient Vector Spaces Dan Collins The textbook defines a subspace of a vector space in Chapter 4, but it avoids ever discussing the notion of a quotient space. This is understandable
COMP 250 Fall 2012 lecture 2 binary representations Sept. 11, 2012
Binary numbers The reason humans represent numbers using decimal (the ten digits from 0,1,... 9) is that we have ten fingers. There is no other reason than that. There is nothing special otherwise about
How To Compare A Markov Algorithm To A Turing Machine
Markov Algorithm CHEN Yuanmi December 18, 2007 1 Abstract Markov Algorithm can be understood as a priority string rewriting system. In this short paper we give the definition of Markov algorithm and also
Honors Class (Foundations of) Informatics. Tom Verhoeff. Department of Mathematics & Computer Science Software Engineering & Technology
Honors Class (Foundations of) Informatics Tom Verhoeff Department of Mathematics & Computer Science Software Engineering & Technology www.win.tue.nl/~wstomv/edu/hci c 2011, T. Verhoeff @ TUE.NL 1/20 Information
Chapter 7 Uncomputability
Chapter 7 Uncomputability 190 7.1 Introduction Undecidability of concrete problems. First undecidable problem obtained by diagonalisation. Other undecidable problems obtained by means of the reduction
Pushdown Automata. place the input head on the leftmost input symbol. while symbol read = b and pile contains discs advance head remove disc from pile
Pushdown Automata In the last section we found that restricting the computational power of computing devices produced solvable decision problems for the class of sets accepted by finite automata. But along
Lecture 36: Turing Machines [Fa 14]
Caveat lector: This is the zeroth (draft) edition of this lecture note. In particular, some topics still need to be written. Please send bug reports and suggestions to [email protected]. Think globally,
Outline 2. 1 Elementary Cellular Automata. 2 Analysis of Cellular Automata. 3 A Huge Surprise. Generalizations? 4
Outline 2 CDM Cellular Automata Klaus Sutner 1 Elementary Cellular Automata 2 Analysis of Cellular Automata Fall 2013 3 A Huge Surprise Recall: Feedback Shift-Registers 3 Generalizations? 4 r3 r2 r1 r0
This asserts two sets are equal iff they have the same elements, that is, a set is determined by its elements.
3. Axioms of Set theory Before presenting the axioms of set theory, we first make a few basic comments about the relevant first order logic. We will give a somewhat more detailed discussion later, but
THE SEARCH FOR NATURAL DEFINABILITY IN THE TURING DEGREES
THE SEARCH FOR NATURAL DEFINABILITY IN THE TURING DEGREES ANDREW E.M. LEWIS 1. Introduction This will be a course on the Turing degrees. We shall assume very little background knowledge: familiarity with
Introduction to computer science
Introduction to computer science Michael A. Nielsen University of Queensland Goals: 1. Introduce the notion of the computational complexity of a problem, and define the major computational complexity classes.
Introduction to Automata Theory. Reading: Chapter 1
Introduction to Automata Theory Reading: Chapter 1 1 What is Automata Theory? Study of abstract computing devices, or machines Automaton = an abstract computing device Note: A device need not even be a
24 Uses of Turing Machines
Formal Language and Automata Theory: CS2004 24 Uses of Turing Machines 24 Introduction We have previously covered the application of Turing Machine as a recognizer and decider In this lecture we will discuss
WRITING PROOFS. Christopher Heil Georgia Institute of Technology
WRITING PROOFS Christopher Heil Georgia Institute of Technology A theorem is just a statement of fact A proof of the theorem is a logical explanation of why the theorem is true Many theorems have this
Complexity of Algorithms
1 Complexity of Algorithms Lecture Notes, Spring 1999 Peter Gács Boston University and László Lovász Yale University 2 Contents 1 Introduction and Preliminaries 1 1.1 The subject of complexity theory.........................
There is no degree invariant half-jump
There is no degree invariant half-jump Rod Downey Mathematics Department Victoria University of Wellington P O Box 600 Wellington New Zealand Richard A. Shore Mathematics Department Cornell University
Testing LTL Formula Translation into Büchi Automata
Testing LTL Formula Translation into Büchi Automata Heikki Tauriainen and Keijo Heljanko Helsinki University of Technology, Laboratory for Theoretical Computer Science, P. O. Box 5400, FIN-02015 HUT, Finland
The Ergodic Theorem and randomness
The Ergodic Theorem and randomness Peter Gács Department of Computer Science Boston University March 19, 2008 Peter Gács (Boston University) Ergodic theorem March 19, 2008 1 / 27 Introduction Introduction
8 Divisibility and prime numbers
8 Divisibility and prime numbers 8.1 Divisibility In this short section we extend the concept of a multiple from the natural numbers to the integers. We also summarize several other terms that express
Factoring & Primality
Factoring & Primality Lecturer: Dimitris Papadopoulos In this lecture we will discuss the problem of integer factorization and primality testing, two problems that have been the focus of a great amount
Decision Making under Uncertainty
6.825 Techniques in Artificial Intelligence Decision Making under Uncertainty How to make one decision in the face of uncertainty Lecture 19 1 In the next two lectures, we ll look at the question of how
3. Mathematical Induction
3. MATHEMATICAL INDUCTION 83 3. Mathematical Induction 3.1. First Principle of Mathematical Induction. Let P (n) be a predicate with domain of discourse (over) the natural numbers N = {0, 1,,...}. If (1)
5544 = 2 2772 = 2 2 1386 = 2 2 2 693. Now we have to find a divisor of 693. We can try 3, and 693 = 3 231,and we keep dividing by 3 to get: 1
MATH 13150: Freshman Seminar Unit 8 1. Prime numbers 1.1. Primes. A number bigger than 1 is called prime if its only divisors are 1 and itself. For example, 3 is prime because the only numbers dividing
Mathematics for Computer Science/Software Engineering. Notes for the course MSM1F3 Dr. R. A. Wilson
Mathematics for Computer Science/Software Engineering Notes for the course MSM1F3 Dr. R. A. Wilson October 1996 Chapter 1 Logic Lecture no. 1. We introduce the concept of a proposition, which is a statement
Dynamic Programming. Lecture 11. 11.1 Overview. 11.2 Introduction
Lecture 11 Dynamic Programming 11.1 Overview Dynamic Programming is a powerful technique that allows one to solve many different types of problems in time O(n 2 ) or O(n 3 ) for which a naive approach
Remarks on the computational complexity of small universal Turing machines
Remarks on the computational complexity of small universal Turing machines Damien Woods School of Mathematics Boole Centre for Research in Informatics, University College Cork, Ireland http://www.bcri.ucc.ie/
MATH10212 Linear Algebra. Systems of Linear Equations. Definition. An n-dimensional vector is a row or a column of n numbers (or letters): a 1.
MATH10212 Linear Algebra Textbook: D. Poole, Linear Algebra: A Modern Introduction. Thompson, 2006. ISBN 0-534-40596-7. Systems of Linear Equations Definition. An n-dimensional vector is a row or a column
Chapter 3. Cartesian Products and Relations. 3.1 Cartesian Products
Chapter 3 Cartesian Products and Relations The material in this chapter is the first real encounter with abstraction. Relations are very general thing they are a special type of subset. After introducing
SYSTEMS OF EQUATIONS AND MATRICES WITH THE TI-89. by Joseph Collison
SYSTEMS OF EQUATIONS AND MATRICES WITH THE TI-89 by Joseph Collison Copyright 2000 by Joseph Collison All rights reserved Reproduction or translation of any part of this work beyond that permitted by Sections
CELLULAR AUTOMATA AND APPLICATIONS. 1. Introduction. This paper is a study of cellular automata as computational programs
CELLULAR AUTOMATA AND APPLICATIONS GAVIN ANDREWS 1. Introduction This paper is a study of cellular automata as computational programs and their remarkable ability to create complex behavior from simple
CHAPTER 7 GENERAL PROOF SYSTEMS
CHAPTER 7 GENERAL PROOF SYSTEMS 1 Introduction Proof systems are built to prove statements. They can be thought as an inference machine with special statements, called provable statements, or sometimes
CHAPTER 3. Methods of Proofs. 1. Logical Arguments and Formal Proofs
CHAPTER 3 Methods of Proofs 1. Logical Arguments and Formal Proofs 1.1. Basic Terminology. An axiom is a statement that is given to be true. A rule of inference is a logical rule that is used to deduce
14.1 Rent-or-buy problem
CS787: Advanced Algorithms Lecture 14: Online algorithms We now shift focus to a different kind of algorithmic problem where we need to perform some optimization without knowing the input in advance. Algorithms
Lecture 3: Finding integer solutions to systems of linear equations
Lecture 3: Finding integer solutions to systems of linear equations Algorithmic Number Theory (Fall 2014) Rutgers University Swastik Kopparty Scribe: Abhishek Bhrushundi 1 Overview The goal of this lecture
Turing Machines and Understanding Computational Complexity
Turing Machines and Understanding Computational Complexity Paul M.B.Vitányi CWI, Science Park 123, 1098XG Amsterdam The Netherlands 1. Introduction A Turing machine refers to a hypothetical machine proposed
Diagonalization. Ahto Buldas. Lecture 3 of Complexity Theory October 8, 2009. Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach.
Diagonalization Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach. Ahto Buldas [email protected] Background One basic goal in complexity theory is to separate interesting complexity
Language Modeling. Chapter 1. 1.1 Introduction
Chapter 1 Language Modeling (Course notes for NLP by Michael Collins, Columbia University) 1.1 Introduction In this chapter we will consider the the problem of constructing a language model from a set
Notes on Complexity Theory Last updated: August, 2011. Lecture 1
Notes on Complexity Theory Last updated: August, 2011 Jonathan Katz Lecture 1 1 Turing Machines I assume that most students have encountered Turing machines before. (Students who have not may want to look
CS 301 Course Information
CS 301: Languages and Automata January 9, 2009 CS 301 Course Information Prof. Robert H. Sloan Handout 1 Lecture: Tuesday Thursday, 2:00 3:15, LC A5 Weekly Problem Session: Wednesday, 4:00 4:50 p.m., LC
Oracle Turing machines faced with the verification problem
Oracle Turing machines faced with the verification problem 1 Introduction Alan Turing is widely known in logic and computer science to have devised the computing model today named Turing machine. In computer
1 if 1 x 0 1 if 0 x 1
Chapter 3 Continuity In this chapter we begin by defining the fundamental notion of continuity for real valued functions of a single real variable. When trying to decide whether a given function is or
Math 223 Abstract Algebra Lecture Notes
Math 223 Abstract Algebra Lecture Notes Steven Tschantz Spring 2001 (Apr. 23 version) Preamble These notes are intended to supplement the lectures and make up for the lack of a textbook for the course
Linear Programming Notes VII Sensitivity Analysis
Linear Programming Notes VII Sensitivity Analysis 1 Introduction When you use a mathematical model to describe reality you must make approximations. The world is more complicated than the kinds of optimization
Overview. Essential Questions. Precalculus, Quarter 4, Unit 4.5 Build Arithmetic and Geometric Sequences and Series
Sequences and Series Overview Number of instruction days: 4 6 (1 day = 53 minutes) Content to Be Learned Write arithmetic and geometric sequences both recursively and with an explicit formula, use them
6.042/18.062J Mathematics for Computer Science. Expected Value I
6.42/8.62J Mathematics for Computer Science Srini Devadas and Eric Lehman May 3, 25 Lecture otes Expected Value I The expectation or expected value of a random variable is a single number that tells you
MASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.436J/15.085J Fall 2008 Lecture 5 9/17/2008 RANDOM VARIABLES
MASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.436J/15.085J Fall 2008 Lecture 5 9/17/2008 RANDOM VARIABLES Contents 1. Random variables and measurable functions 2. Cumulative distribution functions 3. Discrete
Two-dimensional Languages
Charles University Faculty of Mathematics and Physics Mgr. Daniel Průša Two-dimensional Languages Doctoral Thesis Supervisor: Martin Plátek, CSc. Prague, 2004 Acknowledgements The results presented in
Automata and Formal Languages
Automata and Formal Languages Winter 2009-2010 Yacov Hel-Or 1 What this course is all about This course is about mathematical models of computation We ll study different machine models (finite automata,
Implementation of Recursively Enumerable Languages using Universal Turing Machine in JFLAP
International Journal of Information and Computation Technology. ISSN 0974-2239 Volume 4, Number 1 (2014), pp. 79-84 International Research Publications House http://www. irphouse.com /ijict.htm Implementation
Finite Automata and Regular Languages
CHAPTER 3 Finite Automata and Regular Languages 3. Introduction 3.. States and Automata A finite-state machine or finite automaton (the noun comes from the Greek; the singular is automaton, the Greek-derived
Finite Automata. Reading: Chapter 2
Finite Automata Reading: Chapter 2 1 Finite Automaton (FA) Informally, a state diagram that comprehensively captures all possible states and transitions that a machine can take while responding to a stream
Lecture 13 - Basic Number Theory.
Lecture 13 - Basic Number Theory. Boaz Barak March 22, 2010 Divisibility and primes Unless mentioned otherwise throughout this lecture all numbers are non-negative integers. We say that A divides B, denoted
Hypercomputation: computing more than the Turing machine
Hypercomputation: computing more than the Turing machine Abstract: Toby Ord Department of Philosophy * The University of Melbourne [email protected] In this report I provide an introduction to
6.207/14.15: Networks Lecture 15: Repeated Games and Cooperation
6.207/14.15: Networks Lecture 15: Repeated Games and Cooperation Daron Acemoglu and Asu Ozdaglar MIT November 2, 2009 1 Introduction Outline The problem of cooperation Finitely-repeated prisoner s dilemma
Statistical Machine Translation: IBM Models 1 and 2
Statistical Machine Translation: IBM Models 1 and 2 Michael Collins 1 Introduction The next few lectures of the course will be focused on machine translation, and in particular on statistical machine translation
CHAPTER 5 Round-off errors
CHAPTER 5 Round-off errors In the two previous chapters we have seen how numbers can be represented in the binary numeral system and how this is the basis for representing numbers in computers. Since any
Discrete Mathematics and Probability Theory Fall 2009 Satish Rao, David Tse Note 10
CS 70 Discrete Mathematics and Probability Theory Fall 2009 Satish Rao, David Tse Note 10 Introduction to Discrete Probability Probability theory has its origins in gambling analyzing card games, dice,
ON FUNCTIONAL SYMBOL-FREE LOGIC PROGRAMS
PROCEEDINGS OF THE YEREVAN STATE UNIVERSITY Physical and Mathematical Sciences 2012 1 p. 43 48 ON FUNCTIONAL SYMBOL-FREE LOGIC PROGRAMS I nf or m at i cs L. A. HAYKAZYAN * Chair of Programming and Information
8 Square matrices continued: Determinants
8 Square matrices continued: Determinants 8. Introduction Determinants give us important information about square matrices, and, as we ll soon see, are essential for the computation of eigenvalues. You
On the Structure of Turing Universe: The Non-Linear Ordering of Turing Degrees
On the Structure of Turing Universe: The Non-Linear Ordering of Turing Degrees Yazan Boshmaf November 22, 2010 Abstract Turing Universe: the final frontier. These are the voyages of five mathematicians.
