Turing Machines COMP 455 – 002, Spring 2019

Total Page:16

File Type:pdf, Size:1020Kb

Turing Machines COMP 455 – 002, Spring 2019 Turing Machines COMP 455 – 002, Spring 2019 Jim Anderson (modified by Nathan Otterness) 1 Turing Machines We want to study computable functions, or algorithms. In particular, we will look at algorithms for answering certain questions. ❖A question is decidable if and only if an algorithm exists to answer it. Example question: Is the complement of an arbitrary Such an algorithm CFL also a CFL? does exist for any ❖This question is undecidable—there is no algorithm specific CFL. that takes an arbitrary CFL and outputs “yes” if the complement is a CFL and “no” otherwise. Jim Anderson (modified by Nathan Otterness) 2 Undecidability Example We can give an informal “proof” showing that an undecidable problem exists. Let’s consider: The “Hello World” problem: Given a program 푃 and an input to that program 퐼, print “yes” if 푃 prints “hello world” when run with input 퐼 and “no” otherwise. ❖푃 can be any program—including one that is very convoluted! Jim Anderson (modified by Nathan Otterness) 3 Undecidability Example Suppose a program, 퐻, exists that solves the “hello world” problem: 푃 “yes” 퐻 퐼 “no” Now consider another program, 퐻1, which is the same as 퐻, but prints “hello world” instead of “no”: 푃 “yes” 퐻1 퐼 “hello world” Jim Anderson (modified by Nathan Otterness) 4 Undecidability Example 푃 “yes” 퐻 퐼 1 “hello world” Next, construct a program 퐻2 that is identical to 퐻1 but only takes a single input, 푃, that it uses as both 푃 and 퐼 in 퐻1: “yes” 푃 퐻 2 “hello world” Another way to “yes” represent 퐻2: 푃 퐻 1 “hello world” Jim Anderson (modified by Nathan Otterness) 5 Undecidability Example Now consider what happens when we run 퐻2 with itself as input: “yes” 퐻 퐻 2 2 “hello world” We have reached a paradox: Suppose 퐻2 prints “hello world” when fed 퐻2 as input. This means that 퐻2 must also print “yes” when fed 퐻2 as input! Jim Anderson (modified by Nathan Otterness) 6 Turing Machines To be able to rigorously do proofs like the “hello world” example, we need a formal model for defining computable functions. The Turing Machine has become the accepted model for formalizing functions. Jim Anderson (modified by Nathan Otterness) 7 Turing Machines A TM can be defined by a 7-tuple 푄, Σ, Γ, 훿, 푞0, 퐵, 퐹 ❖푄: A finite set of states. A TM’s input starts out on the ❖Γ: The tape alphabet. “tape”, so the tape alphabet ❖Σ: The input alphabet. Σ ⊂ Γ. must include the input alphabet. ❖퐵: The blank tape symbol. (퐵 ∈ Γ, and 퐵 ∉ Σ) ❖훿: The next move function: 푄 × Γ → 푄 × Γ × 퐿, 푅 . ❖푞0: The start state. 훿 returns a new state, 훿 takes a state a new tape symbol, ❖퐹: The set of final states. and tape symbol and whether to move left or right. Jim Anderson (modified by Nathan Otterness) 8 Turing Machines Conceptually, a Turing Machine looks like this: All of the rest of the tape initially Non-blank tape symbols is filled with “blank” symbols. (input symbols, etc.) … 퐵 퐵 푋1 … 푋푖 … 푋푛 퐵 퐵 … Tape head The “finite control” just refers to the part of the TM Finite Control that keeps track of the state. Initially, the input starts out on the tape, and the tape head starts at the leftmost input symbol. Jim Anderson (modified by Nathan Otterness) 9 Example: Turing Machine Accepting 0푛1푛 Input string: 0011 … 퐵 퐵 0 0 1 1 퐵 퐵 퐵 … Finite Control State = 푞0 Initial configuration: In start state, at leftmost input symbol on the tape. Jim Anderson (modified by Nathan Otterness) 10 Example: Turing Machine Accepting 0푛1푛 … 퐵 퐵 푋0 푋0 1푌 1푌 퐵 퐵 퐵 … Finite Control State =푞0 푞120 푞120 푞3 푞4 A Turing Machine halts when it can’t make any more moves. Jim Anderson (modified by Nathan Otterness) 11 Example: Formal Notation 푄, Σ, Γ, 훿, 푞0, 퐵, 퐹 , where: 푄 = 푞0, 푞1, 푞2, 푞3, 푞4 , Σ = 0, 1 , Γ = 0, 1, 푋, 푌, 퐵 , 퐹 = 푞4 , And 훿 is defined on the following slide… Jim Anderson (modified by Nathan Otterness) 12 Example: Formal Notation 훿 is as follows: ❖ 훿 푞0, 0 = 푞1, 푋, 푅 : Change the leftmost 0 to X ❖ 훿 푞0, 푌 = 푞3, 푌, 푅 : There are no more 0s ❖ 훿 푞 , 0 = 푞 , 0, 푅 : Skip over 0s 1 1 “Seek” to the leftmost 1. ❖ 훿 푞1, 푌 = 푞1, 푌, 푅 : Skip over Ys ❖ 훿 푞1, 1 = 푞1, 푌, 퐿 : Change the leftmost 1 to Y ❖ 훿 푞2, 0 = 푞2, 0, 퐿 : Skip over 0s “Seek” to the ❖ 훿 푞 , 푌 = 푞 , 푌, 퐿 : Skip over Ys 2 2 leftmost 0. ❖ 훿 푞2, 푋 = 푞0, 푋, 푅 : Move right of the rightmost X ❖ 훿 푞3, 푌 = 푞3, 푌, 푅 : Make sure there are no more 1s ❖ 훿 푞3, 퐵 = 푞4, 퐵, 푅 : There were no more 1s, accept. Jim Anderson (modified by Nathan Otterness) 13 Instantaneous Descriptions for TMs As with a PDA, we can also give an instantaneous description (ID) for a Turing Machine. This indicates both the location of the An ID for a TM has the following form: 훼1푞훼2. tape head and the ❖푞 corresponds to both the state of the TM and current state (푞). the position of the tape head (푞 is written directly before the tape symbol the head is on). ❖훼1훼2 = the tape’s current contents, and only We can’t write an contains the non-blank portion, except in cases infinite number of cells like 훼퐵퐵퐵푞 or 푞퐵퐵퐵훼. without either infinite input or an infinite The depicted portion of the tape is always finite. number of moves. Jim Anderson (modified by Nathan Otterness) 14 Notation for TM Moves Left moves. Suppose 훿 푞, 푋푖 = 푝, 푌, 퐿 . Then, ❖푋1 … 푋푖−1푞푋푖 … 푋푛├ 푋1 … 푋푖−2푝푋푖−1푌 … 푋푛. 푀 ❑The tape head moved from 푋푖 to 푋푖−1. ❑The state changed from 푞 to 푝. ❑푋푖 was replaced by 푌. We moved left past the start of ❖Special case where 푖 = 1: the tape content, so we need to show the extra blank symbol (퐵). ❑푞푋1푋2 … 푋푛├ 푝퐵푌푋2 … 푋푛 푀 We replaced the rightmost tape ❖Special case where 푖 = 푛 and 푌 = 퐵: symbol (푋푛) with a 퐵, so we no ❑푋1 … 푋푛−1푞푋푛├ 푋1 … 푋푛−2푝푋푛−1 longer include it in the ID. 푀 Jim Anderson (modified by Nathan Otterness) 15 Notation for TM Moves Right moves. Suppose 훿 푞, 푋푖 = 푝, 푌, 푅 . Then, ❖푋1 … 푋푖−1푞푋푖 … 푋푛├ 푋1 … 푋푖−1푌푝푋푖+1 … 푋푛. 푀 ❑The tape head moved from 푋푖 to 푋푖+1. ❑The state changed from 푞 to 푝. ❑푋푖 was replaced by 푌. The 퐵 is included here just ❖Special case where 푖 = 푛: to make it clear what the tape head is pointing at. ❑푋1 … 푋푛+1푞푋푛├ 푋1 … 푋푛−1푌푝퐵. 푀 ❖Special case where 푖 = 1 and 푌 = 퐵: ❑푞푋1 … 푋푛├ 푝푋2 … 푋푛. 푀 Jim Anderson (modified by Nathan Otterness) 16 The Language Defined by a TM The language accepted by a Turing Machine 푀 is defined as: ∗ ∗ 퐿 푀 ≡ {푤 | 푤 ∈ Σ and 푞0푤 ├ 훼1푝훼2 for some 푝 ∈ 퐹, and 푀 ∗ 훼1, 훼2 ∈ Γ }. Assumption: If 푀 accepts 푤, 푀 halts. Notation used for moves (similar to a PDA): 푖 ∗ 푖 ∗ ❖ ├, ├, ├, ├, ├. 푀 푀 ❑The 푖 indicates “exactly 푖 moves” ❑The ∗ indicates “any number of moves” ❑The (optional) 푀 below the ├ indicates that TM 푀 made the moves. Jim Anderson (modified by Nathan Otterness) 17 Recursively Enumerable Languages A language that is accepted by a Turing Machine is called recursively enumerable (RE). If a string 푤 is in 퐿 푀 , then 푀 eventually halts and accepts 푤. If 푤 ∉ 퐿 푀 , then one of two things can happen: ❖푀 halts without accepting 푤, or ❖푀 never halts. Jim Anderson (modified by Nathan Otterness) 18 Recursive Languages A language that is accepted by a TM that halts on all inputs is called recursive. This is the accepted formal definition of “algorithm”. ❖For a recursive language, we can always algorithmically determine membership—but we can’t necessarily do this for RE languages. A problem that is solved by a TM that always halts is called decidable. ❖We will discuss decidable problems in much more detail later! Jim Anderson (modified by Nathan Otterness) 19 TM Construction Technique: Extra Storage Storage in the finite control: You can keep track of a finite amount of extra data by incorporating it into the state of a TM. Example: Keep track of an additional symbol: … … … … … If the “extra data” can be 퐴 or 퐵, and the “state” can be 푞0 or 푞1, then the actual Finite Control states of the TM can be State = 푞0 Extra data = 퐴 {[푞0, 퐴], [푞1, 퐴], [푞0, 퐵], [푞1, 퐵]}. Jim Anderson (modified by Nathan Otterness) 20 Storage in the Finite Control: Example Example: Scan the input and ensure the first symbol doesn’t appear a second time. 푀 = 푄, 0, 1 , 0, 1, 퐵 , 훿, 푞0, 퐵 , 퐵, 퐹 푄 = 푞0, 푞1 × 0, 1, 퐵 퐹 = 푞1, 퐵 ► 훿([푞0, 퐵], 0) = ([푞1, 0], 0, 푅) ► 훿([푞0, 퐵], 1) = ([푞1, 1], 1, 푅) ► 훿([푞1, 0], 1) = ([푞1, 0], 1, 푅) ► 훿([푞1, 1], 0) = ([푞1, 1], 0, 푅) ► 훿([푞1, 0], 퐵) = ([푞1, 퐵], 0, 퐿) ► 훿([푞1, 1], 퐵) = ( 푞1, 퐵 , 0, 퐿) Note: This doesn’t change the fact that the TM has a finite number of states! Jim Anderson (modified by Nathan Otterness) 21 Storage in the Finite Control: Example 훿 푞0, 퐵 , 0 = 푞1, 0 , 0, 푅 훿 푞 , 0 , 1 = 푞 , 0 , 1, 푅 If the first symbol 1 1 훿 푞 , 0 , 퐵 = 푞 , 퐵 , 0, 퐿 was a 0, “store” a 0.
Recommended publications
  • PDF with Red/Green Hyperlinks
    Elements of Programming Elements of Programming Alexander Stepanov Paul McJones (ab)c = a(bc) Semigroup Press Palo Alto • Mountain View Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and the publisher was aware of a trademark claim, the designations have been printed with initial capital letters or in all capitals. The authors and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein. Copyright c 2009 Pearson Education, Inc. Portions Copyright c 2019 Alexander Stepanov and Paul McJones All rights reserved. Printed in the United States of America. This publication is protected by copyright, and permission must be obtained from the publisher prior to any prohibited reproduction, storage in a retrieval system, or transmission in any form or by any means, electronic, mechanical, photocopying, recording, or likewise. For information regarding permissions, request forms and the appropriate contacts within the Pearson Education Global Rights & Permissions Department, please visit www.pearsoned.com/permissions/. ISBN-13: 978-0-578-22214-1 First printing, June 2019 Contents Preface to Authors' Edition ix Preface xi 1 Foundations 1 1.1 Categories of Ideas: Entity, Species,
    [Show full text]
  • Undecidability of the Word Problem for Groups: the Point of View of Rewriting Theory
    Universita` degli Studi Roma Tre Facolta` di Scienze M.F.N. Corso di Laurea in Matematica Tesi di Laurea in Matematica Undecidability of the word problem for groups: the point of view of rewriting theory Candidato Relatori Matteo Acclavio Prof. Y. Lafont ..................................... Prof. L. Tortora de falco ...................................... questa tesi ´estata redatta nell'ambito del Curriculum Binazionale di Laurea Magistrale in Logica, con il sostegno dell'Universit´aItalo-Francese (programma Vinci 2009) Anno Accademico 2011-2012 Ottobre 2012 Classificazione AMS: Parole chiave: \There once was a king, Sitting on the sofa, He said to his maid, Tell me a story, And the maid began: There once was a king, Sitting on the sofa, He said to his maid, Tell me a story, And the maid began: There once was a king, Sitting on the sofa, He said to his maid, Tell me a story, And the maid began: There once was a king, Sitting on the sofa, . " Italian nursery rhyme Even if you don't know this tale, it's easy to understand that this could continue indefinitely, but it doesn't have to. If now we want to know if the nar- ration will finish, this question is what is called an undecidable problem: we'll need to listen the tale until it will finish, but even if it will not, one can never say it won't stop since it could finish later. those things make some people loose sleep, but usually children, bored, fall asleep. More precisely a decision problem is given by a question regarding some data that admit a negative or positive answer, for example: \is the integer number n odd?" or \ does the story of the king on the sofa admit an happy ending?".
    [Show full text]
  • CS411-2015F-14 Counter Machines & Recursive Functions
    Automata Theory CS411-2015F-14 Counter Machines & Recursive Functions David Galles Department of Computer Science University of San Francisco 14-0: Counter Machines Give a Non-Deterministic Finite Automata a counter Increment the counter Decrement the counter Check to see if the counter is zero 14-1: Counter Machines A Counter Machine M = (K, Σ, ∆,s,F ) K is a set of states Σ is the input alphabet s ∈ K is the start state F ⊂ K are Final states ∆ ⊆ ((K × (Σ ∪ ǫ) ×{zero, ¬zero}) × (K × {−1, 0, +1})) Accept if you reach the end of the string, end in an accept state, and have an empty counter. 14-2: Counter Machines Give a Non-Deterministic Finite Automata a counter Increment the counter Decrement the counter Check to see if the counter is zero Do we have more power than a standard NFA? 14-3: Counter Machines Give a counter machine for the language anbn 14-4: Counter Machines Give a counter machine for the language anbn (a,zero,+1) (a,~zero,+1) (b,~zero,−1) (b,~zero,−1) 0 1 14-5: Counter Machines Give a 2-counter machine for the language anbncn Straightforward extension – examine (and change) two counters instead of one. 14-6: Counter Machines Give a 2-counter machine for the language anbncn (a,zero,zero,+1,0) (a,~zero,zero,+1,0) (b,~zero,~zero,-1,+1) (b,~zero,zero,−1,+1) 0 1 (c,zero,~zero,0,-1) 2 (c,zero,~zero,0,-1) 14-7: Counter Machines Our counter machines only accept if the counter is zero Does this give us any more power than a counter machine that accepts whenever the end of the string is reached in an accept state? That is, given
    [Show full text]
  • A Microcontroller Based Fan Speed Control Using PID Controller Theory
    A Microcontroller Based Fan Speed Control Using PID Controller Theory Thu Thu Zue Zin and Hlaing Thida Oo University of Computer Studies, Yangon thuthuzuezin @gmail.com Abstract PIC control application is widely used and User define popular in modern elections. The aim of this paper Microcontroller speed PIC 16F877 is design and construct the fan speed control system Duty cycle with microcontroller. PIC 16F877 and photo transistor is used for the system. User define speed can be selected by keypads for various speed. Motor is controlled by the pulse width modulation. Driver The system can be operate with normal mode and circuit timer mode. Delay time for timer mode is 10 seconds. The feedback signal from sensor is controlled by the proportional integral derivative equations to reproduce the desire duty cycle. Sensor Motor 1. Introduction Figure 1. Block Diagram of the System Motors are widely used in many applications, such as air conditioners , slide doors, washing machines and control areas. Motors are 2. Background Theory derivate it’s output performance due to the PID Controller tolerances, operating conditions, process error and Proportional Integral Derivative controller is measurement error. Pulse Width Modulation a generic control loop feedback mechanism widely control technique is better for control the DC motor used in industrial control systems. A PID controller than others techniques. PWM control the speed of attempts to correct the error between a measured motor without changing the voltage supply to process variable and a desired set point by calculating motor. Series of pulse define the speed of the and then outputting a corrective action that can adjust motor.
    [Show full text]
  • Copyright © 1998, by the Author(S). All Rights Reserved
    Copyright © 1998, by the author(s). All rights reserved. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission. WHATS DECIDABLE ABOUT HYBRID AUTOMATA by Thomas A. Henzinger, Peter W. Kopke, Anuj Puri, and Pravin Varaiya Memorandum No. UCB/ERL M98/22 15 April 1998 WHAT'S DECIDABLE ABOUT HYBRID AUTOMATA by Thomas A. Henzinger,Peter W. Kopke, Anuj Puri, and Pravin Varaiya Memorandum No. UCB/ERL M98/22 15 April 1998 ELECTRONICS RESEARCH LABORATORY College ofEngineering University of California, Berkeley 94720 What's Decidable About Hybrid Automata?*^ Thomas A. Henzinger^ Peter W. Kopke^ Anuj Puri^ Pravin Varaiya^ Abstract. Hybrid automata model systems with both digital and analog compo nents, such as embedded control programs. Many verification tasks for such programs can be expressed as reachabibty problems for hybrid automata. By improving on pre vious decidability and undecidability results, we identify a precise boundary between decidability and undecidability for the reachabibty problem of hybrid automata. On the positive side, we give an (optimal) PSPACE reachabibty algorithmfor the case of initiabzed rectangular automata, where ab analog variables foUow independent tra jectories within piecewise-bnear envelopes and are reinitiabzed whenever the envelope changes. Our algorithm is based on the construction ofa timedautomaton that contains ab reachabibty information about a given initiabzed rectangular automaton.
    [Show full text]
  • Turing Machines [Fa’16]
    Models of Computation Lecture 6: Turing Machines [Fa’16] Think globally, act locally. — Attributed to Patrick Geddes (c.1915), among many others. We can only see a short distance ahead, but we can see plenty there that needs to be done. — Alan Turing, “Computing Machinery and Intelligence” (1950) Never worry about theory as long as the machinery does what it’s supposed to do. — Robert Anson Heinlein, Waldo & Magic, Inc. (1950) It is a sobering thought that when Mozart was my age, he had been dead for two years. — Tom Lehrer, introduction to “Alma”, That Was the Year That Was (1965) 6 Turing Machines In 1936, a few months before his 24th birthday, Alan Turing launched computer science as a modern intellectual discipline. In a single remarkable paper, Turing provided the following results: • A simple formal model of mechanical computation now known as Turing machines. • A description of a single universal machine that can be used to compute any function computable by any other Turing machine. • A proof that no Turing machine can solve the halting problem—Given the formal description of an arbitrary Turing machine M, does M halt or run forever? • A proof that no Turing machine can determine whether an arbitrary given proposition is provable from the axioms of first-order logic. This is Hilbert and Ackermann’s famous Entscheidungsproblem (“decision problem”). • Compelling arguments1 that his machines can execute arbitrary “calculation by finite means”. Although Turing did not know it at the time, he was not the first to prove that the Entschei- dungsproblem had no algorithmic solution.
    [Show full text]
  • Complexity: Automata DICE 2015
    An in-between “implicit” and “explicit” complexity: Automata DICE 2015 Clément Aubert Queen Mary University of London 12 April 2015 Introduction: Motivation (Dal Lago, 2011, p. 90) Question Is there an in-between? Answer One can also restrict the quality of the resources. ICC is machine-independent and without explicit bounds. 2 (Ibarra, 1971, p. 88) (Girard et al., 1992, p. 18) Machine-independant Bounded recursion on notation (Cobham, 1965), Bounded linear logic (Girard et al., 1992), Bounded arithmetic (Buss, 1986), . Explicit bounds Automaton, Descriptive complexity (Fagin, 1973), Auxiliary pushdown machine, Recursion on notation (Bellantoni and Cook, 1992), (Boolean circuit,) . Tiered recurrence (Leivant, 1993), . Implicit bounds Introduction: What is ICC? Machine-dependant Turing machine, Random access machine, Counter machine, . 3 (Ibarra, 1971, p. 88) (Girard et al., 1992, p. 18) Explicit bounds Automaton, Descriptive complexity (Fagin, 1973), Auxiliary pushdown machine, Recursion on notation (Bellantoni and Cook, 1992), (Boolean circuit,) . Tiered recurrence (Leivant, 1993), . Implicit bounds Introduction: What is ICC? Machine-dependant Machine-independant Turing machine, Bounded recursion on notation (Cobham, 1965), Random access machine, Bounded linear logic (Girard et al., 1992), Counter machine, . Bounded arithmetic (Buss, 1986), . 3 (Ibarra, 1971, p. 88) Explicit bounds Automaton, Descriptive complexity (Fagin, 1973), Auxiliary pushdown machine, Recursion on notation (Bellantoni and Cook, 1992), (Boolean circuit,) . Tiered recurrence (Leivant, 1993), . Implicit bounds Introduction: What is ICC? Machine-dependant Machine-independant Turing machine, Bounded recursion on notation (Cobham, 1965), Random access machine, Bounded linear logic (Girard et al., 1992), Counter machine, . Bounded arithmetic (Buss, 1986), . (Girard et al., 1992, p. 18) 3 (Ibarra, 1971, p. 88) (Girard et al., 1992, p.
    [Show full text]
  • Bounded Counter Languages
    Bounded Counter Languages⋆ Holger Petersen Reinsburgstr. 75 D-70197 Stuttgart Abstract. We show that deterministic finite automata equipped with k two-way heads are equivalent to deterministic machines with a single two-way input head and k − 1 linearly bounded counters if the accepted ∗ ∗ ∗ language is strictly bounded, i.e., a subset of a1a2 · · · am for a fixed se- quence of symbols a1,a2,...,am. Then we investigate linear speed-up for counter machines. Lower and upper time bounds for concrete recognition problems are shown, implying that in general linear speed-up does not hold for counter machines. For bounded languages we develop a technique for speeding up computations by any constant factor at the expense of adding a fixed number of counters. 1 Introduction The computational model investigated in the present work is the two-way counter machine as defined in [4]. Recently, the power of this model has been compared to quantum automata and probabilistic automata [17,14]. We will show that bounded counters and heads are equally powerful for finite deterministic devices, provided the languages under consideration are strictly bounded. By equally powerful we mean that up to a single head each two- way input head of a deterministic finite machine can be simulated by a counter bounded by the input length and vice versa. The condition that the input is bounded cannot be removed in general, since it is known that deterministic finite two-way two-head automata are more powerful than deterministic two- way one counter machines if the input is not bounded [2]. The special case of equivalence between deterministic one counter machines and two-head automata over a single letter alphabet has been shown with the help of a two-dimensional automata model as an intermediate step in [10], see also [11].
    [Show full text]
  • Programs = Data = First-Class Citizens in a Computational World
    PROGRAMS = DATA = FIRST-CLASS CITIZENS IN A COMPUTATIONAL WORLD Lars Hartmann Neil D. Jones Jakob Grue Simonsen + Visualization by Søren Bjerregaard Vrist (All now or recently at the University of Copenhagen) IMDEA and UCM Madrid (March 2012) Sources: I Conference CS2BIO Computer Science to Biology (ENTCS proceedings June 2010) I Journal Scientific Annals of Computer Science (2011, Vol. XXI) I Festschrift for Carolyn Talcott (November 2011, Springer Festschrift Series, LNCS vol. 7000) I Article accepted to appear in Philosophical Transactions A of the Royal Society | 0 | ALAN TURING STARTED THE BALL ROLLING (IN 1936) 1. A convincing analysis of the nature of computation 2. A very early model of computation (MOC) 3. The first programmers' manual 4. Undecidability of the halting problem 5. Universal Turing machine (a self-interpreter) 6. Contributor to the “Confluence of ideas'": that all sensible models of computation are equivalent, e.g., I Turing machine I Lambda calculus I Recursive function definitions I String rewrite systems | 1 | 75 YEARS OF MODELS OF COMPUTATION (just a few) Lambda calculus Church 1936 Turing machine 1936 von Neumann architecture 1945 Finite automata Rabin and Scott Counter machine Lambek and Minsky Random access machine (RAM) Cook and Reckhow Random access stored program (RASP) Elgot and Robinson Cellular automaton, LIFE,.. von Neumann, Conway, Wolfram Abstract state machine Gurevich et al Text register machine Moss Blob model 2010 | 2 | ABOUT MOCS (MODELS OF COMPUTATION) Criteria I How to compare I How to improve I Lacks, failings, inconveniences I What are they suitable for? Programming? Theorem proving ? Modeling ? . New direction: biological computing I Enormous potential (price, concurrency, automation, .
    [Show full text]
  • Complexity of Small Universal Turing Machines: a Survey
    The complexity of small universal Turing machines: a survey⋆ Turlough Neary1 and Damien Woods2 1 School of Computer Science & Informatics, University College Dublin, Ireland. [email protected] 2 Division of Engineering & Applied Science, California Institute of Technology, Pasadena, CA 91125, USA. [email protected] Abstract. We survey some work concerned with small universal Turing machines, cellular automata, tag systems, and other simple models of computation. For example it has been an open question for some time as to whether the smallest known universal Turing machines of Minsky, Rogozhin, Baiocchi and Kudlek are efficient (polynomial time) simula- tors of Turing machines. These are some of the most intuitively simple computational devices and previously the best known simulations were exponentially slow. We discuss recent work that shows that these ma- chines are indeed efficient simulators. In addition, another related result shows that Rule 110, a well-known elementary cellular automaton, is ef- ficiently universal. We also discuss some old and new universal program size results, including the smallest known universal Turing machines. We finish the survey with results on generalised and restricted Turing machine models including machines with a periodic background on the tape (instead of a blank symbol), multiple tapes, multiple dimensions, and machines that never write to their tape. We then discuss some ideas for future work. 1 Introduction In this survey we explore results related to the time and program size complexity of universal Turing machines, and other models of computation. We also discuss arXiv:1110.2230v1 [cs.CC] 10 Oct 2011 results for variants on the Turing machine model to give an idea of the many strands of work in the area.
    [Show full text]
  • Remote Exploitation of an Unaltered Passenger Vehicle
    TECHNICAL WHITE PAPER Remote Exploitation of an Unaltered Passenger Vehicle Chris Valasek, Director of Vehicle Security Research for IOActive [email protected] Charlie Miller, Security Researcher for Twitter [email protected] Copyright ©2015. All Rights Reserved.- 1 - Contents Introduction ............................................................................................................................ 5 Target – 2014 Jeep Cherokee ............................................................................................... 7 Network Architecture .......................................................................................................... 8 Cyber Physical Features .................................................................................................. 10 Adaptive Cruise Control (ACC) ..................................................................................... 10 Forward Collision Warning Plus (FCW+) ...................................................................... 10 Lane Departure Warning (LDW+) ................................................................................. 11 Park Assist System (PAM) ............................................................................................ 12 Remote Attack Surface ..................................................................................................... 13 Passive Anti-Theft System (PATS) ............................................................................... 13 Tire Pressure Monitoring System (TPMS) ...................................................................
    [Show full text]
  • List of Glossary Terms
    List of Glossary Terms A Ageofaclusterorfuzzyrule 1054 A correlated equilibrium 3064 Agent 58, 76, 105, 1767, 2578, 3004 Amechanism 1837 Agent architecture 105 Anearestneighbor 790 Agent based models 2940 A social choice function 1837 Agent (or software agent) 2999 A stochastic game 3064 Agent-based computational models 2898 Astrategy 3064 Agent-based model 58 Abelian group 2780 Agent-based modeling 1767 Absolute temperature 940 Agent-based modeling (ABM) 39 Absorbing state 1080 Agent-based simulation 18, 88 Abstract game 675 Aggregation 862 Abstract game of network formation with respect to Aggregation operators 122 irreflexive dominance 2044 Aging 2564, 2611 Abstract game of network formation with respect to path Algebra 2925 dominance 2044 Algebraic models 2898 Accuracy 161, 827 Algorithm 2496 Accuracy (rate) 862 Algorithmic complexity of object x 132 Achievable mate 3235 Algorithmic self-assembly of DNA tiles 1894 Action profile 3023 Allowable set of partners 3234 Action set 3023 Almost equicontinuous CA 914, 3212 Action type 2656 Alphabet of a cellular automaton 1 Activation function 813 ˛-Level set and support 1240 Activator 622 Alternating independent-2-paths 2953 Active membranes 1851 Alternating k-stars 2953 Actors 2029 Alternating k-triangles 2953 Adaptation 39 Amorphous computer 147 Adaptive system 1619 Analog 3187 Additive cellular automata 1 Analog circuit 3260 Additively separable preferences 3235 Ancilla qubits 2478 Adiabatic switching 1998 Anisotropic elements 754 Adjacency matrix 1746, 3114 Annealed law 2564 Adjacent 2864,
    [Show full text]