CAs and Turing Machines. The Basis for Universal Computation

Size: px
Start display at page:

Download "CAs and Turing Machines. The Basis for Universal Computation"

Transcription

1 CAs and Turing Machines The Basis for Universal Computation

2 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*. It takes some input, runs a program, and produces some output. Or really, we mean it can calculate any algorithm. Algorithms are a well-defined finite sequence of instructions that will always terminate (eventually) with an answer. Oh, get it? Those are just computer programs. *Some things are impossible to calculate with any computer.

3 Your Laptop Is Universal So how about your desktop or laptop? Intuitively, you know it is universal you ve used it enough to know it can do just about anything with the correct hardware and software. You know it will run any algorithm (program). So let s dissect your computer and see what s inside. That will help us see what parts of a CA correspond to the parts of your real computer.

4 Parts of a Computer output input

5 Guts of a Computer More I/O (CDs, USB, etc.) Processor (on mother board ) Memory cards (RAM) Power supply

6 Important Parts: Power Supply? No, not power supply! Turns out energy is unnecessary for computation. Why? Can make reversible computers. Kind of like reversible CA! Copying or measuring a bit is ultimately free. Just can t erase anything that costs energy (increases entropy). So don t erase anything just copy bits into new space. All information is preserved (nothing erased) so no energy expended. Cool proof by Landauer. Ok, so we can t build a powerless computer yet (but we re working on it).

7 Important Parts Input Yes, need a way to get the program (algorithm) and the data (initial state) into the machine. Output Yes, need a way to get the result of the computation. But could share with the input device! E.g., read and write from the same disk. Memory Yes, need a place for temporary storage. But could share the input and output device! E.g., read, write, and store temporarily on the same disk. Processor Yes, need something that actually does the calculation. Typically filled with lots of boolean gates or circuits. And has a clock. Keeps all the operations in sync.

8 Parts of CA Computers Have to be built from the same parts! Memory/input/output Processor and clock Turing in 1936 mathematically formalized these parts. Was interested in what can and can t be computed. Created very simple concept of a Turing Machine (TM) built from these parts. So we ll start with TMs and then show equivalence to some CA.

9 Turing Machine Has a finite-sized control. The processor. Has a tape and a tape head. For reading, writing, memory on the tape. Tape can be magnetic (like floppy disk), paper, legos, piles of cookies, etc. Tape is infinite! Ok, so that is one difference. But practically speaking we can create as big a tape as we would like for our desktop.

10 Turing Machine Picture Blank tape (often written with the symbol #) # # # # #... Tape head for reading and writing Tape with symbols (I/O and memory) Put you program and data here! q 4 q 0 q 1 q 3 q 2 Finite control (processor)

11 Finite State Control This is just an automata. Take automata theory. Has a finite number of states q o through q n. The current state is indicated by the arrow. At discrete steps (the clock!), the automata does two things. 1. State changes to a new q i that depends on (1) the current state, and (2) the symbol on the tape. q 4 q 3 q 0 q 1 q 2 2. Either writes a new symbol on the tape, or moves tape head left or right to a new position.

12 How s That Transition Work? Define the transition from one state to another as d(q i, X) = (q j, Y, D) where q i is the current state q j is the next state X is the current symbol on the tape Y is the symbol that is written in place of X D is the direction that the tape head moves L = left, R = right, S = stay put

13 Picture of Transition Function Draw transition d(q i, X) = (q j, Y, D) as q i X/Y, D q j So can draw entire TM this way show all possible transitions

14 Example TM: Accept Input With aba Looks like a typical automata! (Take Automata Theory.) This TM accepts all strings that contain a substring aba. Assumes an alphabet of a, b, and # (could be 0, 1, and #). Program quits when reaches h a or h r. h a is an accepting state indicating that input does contain aba. h r is a reject state indicating that input does not contain aba. b/b, R h r #/#, R #/#, R q 0 q 1 #/#, R #/#, R a/a, R a/a, R q 2 q 3 h a b/b, R a/a, R Try it! b/b, R tape not shown

15 TM Example: n mod 2 This TM calculates n mod 2. Assumes an alphabet of 1 and # (could be 0, 1, and #). Represents a number in unary. E.g., 1111 is 4, is 5. On tape will leave a single 1 or nothing. 1/1, R #/#, R #/#, R q 0 q 1 #/#, L 1/#, L q 2 q 3 q 4 h a 1/#, L #/#, R #/1, R Try it on #111# and #1111# tape not shown

16 So What s the Big Deal? This simple computer is as powerful as it gets. Extensions to the model add no new power. Extra tape heads, two-dimensional tapes, etc. Or even CD-ROMS, USB ports, etc. Lots of proofs of this. Take Theory of Computation. E.g., Having 2 tapes is same as 1 tape. The proof essentially takes one tape and splits it into two. May not be as efficient as your desktop, but can do all the same stuff. May not be as pretty (the output is on tape, not a nice display), but gives the same answers.

17 Church s Thesis Church-Turing Thesis: Turing Machines are formal versions of algorithms. Can t be proved. Why? Because an algorithm isn t mathematically defined. In fact, this thesis says that the TM is the mathematical definition. Can be disproved. Why? Someone could invent something more powerful tomorrow. Not likely to be disproved. Every other type of computation has been proven identical. Lambda-calculus, general recursive functions, quantum computing, etc. In fact, we will prove that CA computation is identical to the Turing Machine!

18 Philosophical Implication Anything you want to calculate can be done on a Turing Machine. So if you want to prove that something can do any calculation, you have to show it is equivalent to all possible Turing Machines. All TMs? Yup! i.e., we have to show that Rule 110, Life and other Universal CA are equivalent to all TMs. Sounds like a pain. So we ll create a Universal TM that makes life easier.

19 Universal TMs Our current TM can only do one kind of task at a time. We fix the finite state machine (i.e., control/automata) to solve that particular task. Your desktop can do many different tasks. We don t have to rebuild your desktop for every new application. So what s the difference? We need to build a so called universal TM. A Universal TM can read in (as input) any other TM and run its program! Ah, a programmable TM. So now we just have to show that a CA is equivalent to this one Universal TM!

20 Turing Machine: Definition A Turing Machine is a quadruple (Q, S, d, q 0 ) where Q is a finite set of states, not including the halt state q h. S is an alphabet including the blank symbol but not the symbols L, R, S. q 0 Q is the initial state. d is the transition function from Q S to (Q {q h }) S {L, R, S} Note: The transition function is the same as what we defined before, but here we were careful to show that we can t transition away from the halt state. Note: Sometimes the definition for the transition function is Q S to (Q {q h }) (S {L, R}) with no S symbol. i.e., the TM can (1) move L or R, or (2) write a new symbol on the tape, but it can t do both at the same time. This changes nothing fundamental.

21 Building A Universal TM If a Universal TM is going to read any other TM as input (from its tape), then we need a way to encode a TM (so we can write it on a tape). Our Universal TM will use the alphabet {0, 1, #}. Then everything about the TM it is reading must be represented in this alphabet. Let state q 0 be 0 q 1 be 00 q 2 be 000 and in general q i be 0 i+1. (The exponent means concatenation.) Continuing in this way, we can build a table representing the symbols of a TM (see next slide).

22 Mapping TM Symbols Onto a Universal Tape The a i are the alphabet. For example, 0 and 1. Or 0, 1, and 2. Or a and b. Etc. Original TM symbol # 0 a i 0 i+2 h a 0 h r 00 q i 0 i+1 S 0 L 00 R 000 Code for input on Universal TM

23 Mapping Transitions And Input Onto a Universal Tape d(q i, a i ) = (q k, a k, D) is represented by q i 1a i 1q k 1a k 1D1. Just separate by ones. For example, d(q 0, a 2 ) = (q 1, a 4, L) is An input string W is W = 1a i 1a k 1a m 1a n 1 a p 1 Begin and end with a 1.

24 Encoding The Whole TM Suppose there are n states and m letters in the TM alphabet. Q = n, S = m Then there are n m possible transitions. Call them S ik where 1 i n and 1 k m Then we can list the whole Turing machine (Q, S, d, q 0 ) and its input in this order 1q 0 1S 11 S 12...S 1m S 21 S 22...S 2m...S n1 S n2...s nm 1W We ll abbreviate this input as MW M for Turing Machine

25 Universal TM Operation So how s the Universal TM (UTM) work on this input MW? To make the explanation easier, let s use a UTM that has three tapes. Recall, this adds no new powers to the UTM. Tape 1 will initially hold the input state MW. Tell the UTM to copy W onto tape 2. Writing automata to copy and shift input states is straightforward. Note M and W are easy to find it s the only part of the input that is separated by three 1 s. Tell the UTM to copy the initial state q 0 onto tape 3. Again, easy to find.

26 Input Universal TM Picture So far we have W used to be here. And of course, M and W actually occupy many cells. # M # # # # # # # # # # #... The init state of the TM State of M # W # # # # # # # # # # #... # q 0 # # # # # # # # # # # q 0 q 1 q 4 q 2 q 3

27 Universal TM Operation (cont.) 1. Tell the UTM to move the head of tape 2 to the first simulated tape cell of the TM. 2. UTM now finds the transition on tape 1 that corresponds to the current state (on tape 3) and the current cell value (on tape 2). 3. Execute this transition as follows. 1. Change the contents of tape 2 to reflect the new cell value. (i.e., update W) 2. Move the tape head on tape 2 in the direction indicated. i.e., move right or left to the next (or previous) simulated tape cell of the TM. 3. Change the contents of tape 3 to the new state. 4. Repeat until can t find a transition (in which case it halts and rejects) or enters accepting state (halt and accept). Sweet! (And phew!)

28 Taking Stock Ok, we have a Universal TM that can simulate any other TM. So now, to show that we have a Universal CA, we just have to prove it is equivalent to a Universal TM. In other words, that will prove that the CA can calculate any algorithm. And next, we do that for the Game of Life!

CS154. Turing Machines. Turing Machine. Turing Machines versus DFAs FINITE STATE CONTROL AI N P U T INFINITE TAPE. read write move.

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

More information

6.080 / 6.089 Great Ideas in Theoretical Computer Science Spring 2008

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.

More information

Notes on Complexity Theory Last updated: August, 2011. Lecture 1

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

More information

Turing Machines: An Introduction

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,

More information

CS 3719 (Theory of Computation and Algorithms) Lecture 4

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

More information

Turing Machines, Busy Beavers, and Big Questions about Computing

Turing Machines, Busy Beavers, and Big Questions about Computing Turing Machines, usy eavers, and ig Questions about Computing My Research Group Computer Security: computing in the presence of adversaries Last summer student projects: Privacy in Social Networks (drienne

More information

Turing Machines, Part I

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

More information

FORMAL LANGUAGES, AUTOMATA AND COMPUTATION

FORMAL LANGUAGES, AUTOMATA AND COMPUTATION FORMAL LANGUAGES, AUTOMATA AND COMPUTATION REDUCIBILITY ( LECTURE 16) SLIDES FOR 15-453 SPRING 2011 1 / 20 THE LANDSCAPE OF THE CHOMSKY HIERARCHY ( LECTURE 16) SLIDES FOR 15-453 SPRING 2011 2 / 20 REDUCIBILITY

More information

CS 341 Homework 9 Languages That Are and Are Not Regular

CS 341 Homework 9 Languages That Are and Are Not Regular CS 341 Homework 9 Languages That Are and Are Not Regular 1. Show that the following are not regular. (a) L = {ww R : w {a, b}*} (b) L = {ww : w {a, b}*} (c) L = {ww' : w {a, b}*}, where w' stands for w

More information

Theory of Computation Chapter 2: Turing Machines

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),

More information

Computational Models Lecture 8, Spring 2009

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

More information

Theory of Computation Prof. Kamala Krithivasan Department of Computer Science and Engineering Indian Institute of Technology, Madras

Theory of Computation Prof. Kamala Krithivasan Department of Computer Science and Engineering Indian Institute of Technology, Madras Theory of Computation Prof. Kamala Krithivasan Department of Computer Science and Engineering Indian Institute of Technology, Madras Lecture No. # 31 Recursive Sets, Recursively Innumerable Sets, Encoding

More information

3515ICT Theory of Computation Turing Machines

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

More information

Reading 13 : Finite State Automata and Regular Expressions

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

More information

Computability Theory

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.

More information

Classical Information and Bits

Classical Information and Bits p. 1/24 Classical Information and Bits The simplest variable that can carry information is the bit, which can take only two values, 0 or 1. Any ensemble, description, or set of discrete values can be quantified

More information

Formal Languages and Automata Theory - Regular Expressions and Finite Automata -

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

More information

Outline. Database Theory. Perfect Query Optimization. Turing Machines. Question. Definition VU , SS Trakhtenbrot s Theorem

Outline. Database Theory. Perfect Query Optimization. Turing Machines. Question. Definition VU , SS Trakhtenbrot s Theorem Database Theory Database Theory Outline Database Theory VU 181.140, SS 2016 4. Trakhtenbrot s Theorem Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität Wien 4.

More information

CSE 135: Introduction to Theory of Computation Decidability and Recognizability

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

More information

ECS 120 Lesson 17 Church s Thesis, The Universal Turing Machine

ECS 120 Lesson 17 Church s Thesis, The Universal Turing Machine ECS 120 Lesson 17 Church s Thesis, The Universal Turing Machine Oliver Kreylos Monday, May 7th, 2001 In the last lecture, we looked at the computation of Turing Machines, and also at some variants of Turing

More information

Finite Automata and Formal Languages

Finite Automata and Formal Languages Finite Automata and Formal Languages TMV026/DIT321 LP4 2011 Lecture 14 May 19th 2011 Overview of today s lecture: Turing Machines Push-down Automata Overview of the Course Undecidable and Intractable Problems

More information

24 Uses of Turing Machines

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

More information

Automata and Formal Languages

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,

More information

The Halting Problem is Undecidable

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

More information

Finite Automata and Formal Languages

Finite Automata and Formal Languages Finite Automata and Formal Languages TMV026/DIT321 LP4 2011 Ana Bove Lecture 1 March 21st 2011 Course Organisation Overview of the Course Overview of today s lecture: Course Organisation Level: This course

More information

6.080 / 6.089 Great Ideas in Theoretical Computer Science Spring 2008

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.

More information

the lemma. Keep in mind the following facts about regular languages:

the lemma. Keep in mind the following facts about regular languages: CPS 2: Discrete Mathematics Instructor: Bruce Maggs Assignment Due: Wednesday September 2, 27 A Tool for Proving Irregularity (25 points) When proving that a language isn t regular, a tool that is often

More information

Computing basics. Ruurd Kuiper

Computing basics. Ruurd Kuiper Computing basics Ruurd Kuiper October 29, 2009 Overview (cf Schaum Chapter 1) Basic computing science is about using computers to do things for us. These things amount to processing data. The way a computer

More information

Binary numbers. Try converting 3, 22, and 71 to binary; try converting 10101, 1100, and to decimal. Satisfaction problem

Binary numbers. Try converting 3, 22, and 71 to binary; try converting 10101, 1100, and to decimal. Satisfaction problem Binary numbers We are used to expressing numbers in base 10, but binary numbers are base 2. Here are some simple examples of decimal numbers and their binary equivalents. Decimal Binary 0 00 1 01 2 10

More information

Lecture 1: Time Complexity

Lecture 1: Time Complexity Computational Complexity Theory, Fall 2010 August 25 Lecture 1: Time Complexity Lecturer: Peter Bro Miltersen Scribe: Søren Valentin Haagerup 1 Introduction to the course The field of Computational Complexity

More information

Properties of Stabilizing Computations

Properties of Stabilizing Computations Theory and Applications of Mathematics & Computer Science 5 (1) (2015) 71 93 Properties of Stabilizing Computations Mark Burgin a a University of California, Los Angeles 405 Hilgard Ave. Los Angeles, CA

More information

Computing Functions with Turing Machines

Computing Functions with Turing Machines CS 30 - Lecture 20 Combining Turing Machines and Turing s Thesis Fall 2008 Review Languages and Grammars Alphabets, strings, languages Regular Languages Deterministic Finite and Nondeterministic Automata

More information

Automata Theory CS F-15 Undecidiability

Automata Theory CS F-15 Undecidiability Automata Theory CS411-2015F-15 Undecidiability David Galles Department of Computer Science University of San Francisco 15-0: Universal TM Turing Machines are Hard Wired Addition machine only adds 0 n 1

More information

6.080/6.089 GITCS Feb 12, 2008. Lecture 3

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

More information

Introduction to Turing Machines

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

More information

(IALC, Chapters 8 and 9) Introduction to Turing s life, Turing machines, universal machines, unsolvable problems.

(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

More information

CMPSCI 250: Introduction to Computation. Lecture #19: Regular Expressions and Their Languages David Mix Barrington 11 April 2013

CMPSCI 250: Introduction to Computation. Lecture #19: Regular Expressions and Their Languages David Mix Barrington 11 April 2013 CMPSCI 250: Introduction to Computation Lecture #19: Regular Expressions and Their Languages David Mix Barrington 11 April 2013 Regular Expressions and Their Languages Alphabets, Strings and Languages

More information

Automata and Computability. Solutions to Exercises

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

More information

Final Exam - Comments

Final Exam - Comments University of Virginia - cs3102: Theory of Computation Spring 2010 Final Exam - Comments Problem 1: Definitions. (Average 7.2 / 10) For each term, provide a clear, concise, and precise definition from

More information

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 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

More information

Definition: String concatenation. Definition: String. Definition: Language (cont.) Definition: Language

Definition: String concatenation. Definition: String. Definition: Language (cont.) Definition: Language CMSC 330: Organization of Programming Languages Regular Expressions and Finite Automata Introduction That s it for the basics of Ruby If you need other material for your project, come to office hours or

More information

Regular Languages and Finite State Machines

Regular Languages and Finite State Machines Regular Languages and Finite State Machines Plan for the Day: Mathematical preliminaries - some review One application formal definition of finite automata Examples 1 Sets A set is an unordered collection

More information

CS231: Computer Architecture I

CS231: Computer Architecture I CS231: Computer Architecture I Spring 2003 January 22, 2003 2000-2003 Howard Huang 1 What is computer architecture about? Computer architecture is the study of building entire computer systems. Processor

More information

Lecture 2: Universality

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

More information

Menu. cs3102: Theory of Computation. Class 17: Undecidable Languages. Alternate Proof Input. Alternate Proof Input. Contradiction! Contradiction!

Menu. cs3102: Theory of Computation. Class 17: Undecidable Languages. Alternate Proof Input. Alternate Proof Input. Contradiction! Contradiction! cs3102: Theory of Computation Class 17: Undecidable Languages Spring 2010 University of Virginia David Evans Menu Another SELF-REJECTINGargument: diagonalization A language that is Turing-recognizable

More information

C H A P T E R Regular Expressions regular expression

C H A P T E R Regular Expressions regular expression 7 CHAPTER Regular Expressions Most programmers and other power-users of computer systems have used tools that match text patterns. You may have used a Web search engine with a pattern like travel cancun

More information

We give a basic overview of the mathematical background required for this course.

We give a basic overview of the mathematical background required for this course. 1 Background We give a basic overview of the mathematical background required for this course. 1.1 Set Theory We introduce some concepts from naive set theory (as opposed to axiomatic set theory). The

More information

Fundamentals of Computer Architecture. 1. Introducing The Processor

Fundamentals of Computer Architecture. 1. Introducing The Processor Fundamentals of Computer Architecture 1. Introducing The Processor 1 Chapter Overview This chapter includes: The key aspects of a computer; A brief history of the computer and its place within our modern

More information

A TM. Recall the A TM language: A TM = { M, w M is a TM and M accepts w.} is undecidable. Theorem: The language. p.2/?

A TM. Recall the A TM language: A TM = { M, w M is a TM and M accepts w.} is undecidable. Theorem: The language. p.2/? p.1/? Reducibility We say that a problem Q reduces to problem P if we can use P to solve Q. In the context of decidability we have the following templates : If A reduces to B and B is decidable, then so

More information

Parts of a Computer. Preparation. Objectives. Standards. Materials. 1 1999 Micron Technology Foundation, Inc. All Rights Reserved

Parts of a Computer. Preparation. Objectives. Standards. Materials. 1 1999 Micron Technology Foundation, Inc. All Rights Reserved Parts of a Computer Preparation Grade Level: 4-9 Group Size: 20-30 Time: 75-90 Minutes Presenters: 1-3 Objectives This lesson will enable students to: Identify parts of a computer Categorize parts of a

More information

Regular Expressions. Languages. Recall. A language is a set of strings made up of symbols from a given alphabet. Computer Science Theory 2

Regular Expressions. Languages. Recall. A language is a set of strings made up of symbols from a given alphabet. Computer Science Theory 2 Regular Expressions Languages Recall. A language is a set of strings made up of symbols from a given alphabet. Computer Science Theory 2 1 String Recognition Machine Given a string and a definition of

More information

Review: Induction and Strong Induction. CS311H: Discrete Mathematics. Mathematical Induction. Matchstick Example. Example. Matchstick Proof, cont.

Review: Induction and Strong Induction. CS311H: Discrete Mathematics. Mathematical Induction. Matchstick Example. Example. Matchstick Proof, cont. Review: Induction and Strong Induction CS311H: Discrete Mathematics Mathematical Induction Işıl Dillig How does one prove something by induction? What is the inductive hypothesis? What is the difference

More information

Markov Algorithm. CHEN Yuanmi December 18, 2007

Markov Algorithm. CHEN Yuanmi December 18, 2007 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

More information

CSC 310: Information Theory

CSC 310: Information Theory CSC 310: Information Theory University of Toronto, Fall 2011 Instructor: Radford M. Neal Week 2 What s Needed for a Theory of (Lossless) Data Compression? A context for the problem. What are we trying

More information

Computer Science Theory. From the course description:

Computer Science Theory. From the course description: Computer Science Theory Goals of Course From the course description: Introduction to the theory of computation covering regular, context-free and computable (recursive) languages with finite state machines,

More information

Lecture 2: The Complexity of Some Problems

Lecture 2: The Complexity of Some Problems IAS/PCMI Summer Session 2000 Clay Mathematics Undergraduate Program Basic Course on Computational Complexity Lecture 2: The Complexity of Some Problems David Mix Barrington and Alexis Maciel July 18, 2000

More information

Universality in the theory of algorithms and computer science

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)

More information

An Interesting Way to Combine Numbers

An Interesting Way to Combine Numbers An Interesting Way to Combine Numbers Joshua Zucker and Tom Davis November 28, 2007 Abstract This exercise can be used for middle school students and older. The original problem seems almost impossibly

More information

2110711 THEORY of COMPUTATION

2110711 THEORY of COMPUTATION 2110711 THEORY of COMPUTATION ATHASIT SURARERKS ELITE Athasit Surarerks ELITE Engineering Laboratory in Theoretical Enumerable System Computer Engineering, Faculty of Engineering Chulalongkorn University

More information

CHAPTER 3 Numbers and Numeral Systems

CHAPTER 3 Numbers and Numeral Systems CHAPTER 3 Numbers and Numeral Systems Numbers play an important role in almost all areas of mathematics, not least in calculus. Virtually all calculus books contain a thorough description of the natural,

More information

Turing Machine and the Conceptual Problems of Computational Theory

Turing Machine and the Conceptual Problems of Computational Theory Research Inventy: International Journal of Engineering And Science Vol.4, Issue 4 (April 204), PP 53-60 Issn (e): 2278-472, Issn (p):239-6483, www.researchinventy.com Turing Machine and the Conceptual

More information

Management Challenge. Managing Hardware Assets. Central Processing Unit. What is a Computer System?

Management Challenge. Managing Hardware Assets. Central Processing Unit. What is a Computer System? Management Challenge Managing Hardware Assets What computer processing and storage capability does our organization need to handle its information and business transactions? What arrangement of computers

More information

Announcements. CS243: Discrete Structures. More on Cryptography and Mathematical Induction. Agenda for Today. Cryptography

Announcements. CS243: Discrete Structures. More on Cryptography and Mathematical Induction. Agenda for Today. Cryptography Announcements CS43: Discrete Structures More on Cryptography and Mathematical Induction Işıl Dillig Class canceled next Thursday I am out of town Homework 4 due Oct instead of next Thursday (Oct 18) Işıl

More information

Managing Memory on your Macintosh

Managing Memory on your Macintosh Managing Memory on your Macintosh This is not the be-all and end-all of technical Mac memory discussions. Rather, it attempts to explain, in layperson s terms, how memory works and how you can make it

More information

3. Recurrence Recursive Definitions. To construct a recursively defined function:

3. Recurrence Recursive Definitions. To construct a recursively defined function: 3. RECURRENCE 10 3. Recurrence 3.1. Recursive Definitions. To construct a recursively defined function: 1. Initial Condition(s) (or basis): Prescribe initial value(s) of the function.. Recursion: Use a

More information

Chapter 5: Sequential Circuits (LATCHES)

Chapter 5: Sequential Circuits (LATCHES) Chapter 5: Sequential Circuits (LATCHES) Latches We focuses on sequential circuits, where we add memory to the hardware that we ve already seen Our schedule will be very similar to before: We first show

More information

Mathematical Induction

Mathematical Induction Mathematical Induction MAT30 Discrete Mathematics Fall 016 MAT30 (Discrete Math) Mathematical Induction Fall 016 1 / 19 Outline 1 Mathematical Induction Strong Mathematical Induction MAT30 (Discrete Math)

More information

Induction. Margaret M. Fleck. 10 October These notes cover mathematical induction and recursive definition

Induction. Margaret M. Fleck. 10 October These notes cover mathematical induction and recursive definition Induction Margaret M. Fleck 10 October 011 These notes cover mathematical induction and recursive definition 1 Introduction to induction At the start of the term, we saw the following formula for computing

More information

Induction and Recursion

Induction and Recursion Induction and Recursion Winter 2010 Mathematical Induction Mathematical Induction Principle (of Mathematical Induction) Suppose you want to prove that a statement about an integer n is true for every positive

More information

THE TURING DEGREES AND THEIR LACK OF LINEAR ORDER

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.

More information

Session 7 Fractions and Decimals

Session 7 Fractions and Decimals Key Terms in This Session Session 7 Fractions and Decimals Previously Introduced prime number rational numbers New in This Session period repeating decimal terminating decimal Introduction In this session,

More information

New York University, Leonard N. Stern School of Business. C Information Systems for Managers Fall Hardware Fundamentals

New York University, Leonard N. Stern School of Business. C Information Systems for Managers Fall Hardware Fundamentals New York University, Leonard N. Stern School of Business C20.0001 Information Systems for Managers Fall 1999 Hardware Fundamentals Hardware is a general term used to describe the electronic machines that

More information

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. 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

More information

CS101: Introduction to Computing

CS101: Introduction to Computing Lecture 7: What is a Computer? Device that accepts input, process, and stores data, and gives output Understanding Computer Hardware Device that can execute specific set of instructions in a well-defined

More information

Introduction to Automata Theory. Reading: Chapter 1

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

More information

Oracle Turing machines faced with the verification problem

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

More information

(Refer Slide Time: 2:14)

(Refer Slide Time: 2:14) (Refer Slide Time: 2:14) Digital Circuits and Systems Prof. S. Srinivasan Professor Department of Electrical Engineering Indian Institute of Technology, Madras Lecture # 24 Design of Synchronous Sequential

More information

FINITE STATE AND TURING MACHINES

FINITE STATE AND TURING MACHINES FINITE STATE AND TURING MACHINES FSM With Output Without Output (also called Finite State Automata) Mealy Machine Moore Machine FINITE STATE MACHINES... 2 INTRODUCTION TO FSM S... 2 STATE TRANSITION DIAGRAMS

More information

WRITING PROOFS. Christopher Heil Georgia Institute of Technology

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

More information

Introduction to Computer System

Introduction to Computer System Representation of Basic Information Introduction to Computer System The basic functional units of computer are made of electronics circuit and it works with electrical signal. We provide input to the computer

More information

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

6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, 2010. Class 4 Nancy Lynch 6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, 2010 Class 4 Nancy Lynch Today Two more models of computation: Nondeterministic Finite Automata (NFAs)

More information

Homework Five Solution CSE 355

Homework Five Solution CSE 355 Homework Five Solution CSE 355 Due: 17 April 01 Please note that there is more than one way to answer most of these questions. The following only represents a sample solution. Problem 1: Linz 8.1.13 and

More information

A Formalization of the Turing Test Evgeny Chutchev

A Formalization of the Turing Test Evgeny Chutchev A Formalization of the Turing Test Evgeny Chutchev 1. Introduction The Turing test was described by A. Turing in his paper [4] as follows: An interrogator questions both Turing machine and second participant

More information

Part VII Conclusion: Computer Science

Part VII Conclusion: Computer Science Part VII Conclusion: Computer Science This is the end of the technical material in this book. We ve explored the big ideas of composition of functions, functions as data, recursion, abstraction, and sequential

More information

Introduction to computer science

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.

More information

Project V Building Up Savings and Debt

Project V Building Up Savings and Debt Project V Building Up Savings and Debt 1 Introduction During the January Workshop, oh so long ago, we talked about compound interest. If you deposit a pincipal P into a savings account with an interest

More information

Computer Basics Worksheet

Computer Basics Worksheet Computer Basics Worksheet Name: Directions: Complete this worksheet by filling in the blanks or as directed by your instructor. To learn about each section click and visit the Unit 1 page under Resources.

More information

Basic Properties of Rings

Basic Properties of Rings Basic Properties of Rings A ring is an algebraic structure with an addition operation and a multiplication operation. These operations are required to satisfy many (but not all!) familiar properties. Some

More information

Implementation of Recursively Enumerable Languages using Universal Turing Machine in JFLAP

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

More information

Hardware. What s inside the. box?

Hardware. What s inside the. box? Hardware What s inside the box? Inside the case Motherboard CPU Hard Disk Memory Ethernet Card Optical Drive Power Supply Fan Video Card Sound Card http://www.youtube.com/watch?v=-gqmtitmdas Motherboard

More information

Quantum Computing. Robert Sizemore

Quantum Computing. Robert Sizemore Quantum Computing Robert Sizemore Outline Introduction: What is quantum computing? What use is quantum computing? Overview of Quantum Systems Dirac notation & wave functions Two level systems Classical

More information

Windows Server Performance Monitoring

Windows Server Performance Monitoring Spot server problems before they are noticed The system s really slow today! How often have you heard that? Finding the solution isn t so easy. The obvious questions to ask are why is it running slowly

More information

YubiKey Static Password Function

YubiKey Static Password Function YubiKey Static Password Function White Paper November 11, 2015 By Dain Nilsson YubiKey Static Password Function 2015 Yubico. All rights reserved. Page 1 of 9 Copyright 2015 Yubico Inc. All rights reserved.

More information

NP-Completeness and Cook s Theorem

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:

More information

Chapter 1. Computation theory

Chapter 1. Computation theory Chapter 1. Computation theory In this chapter we will describe computation logic for the machines. This topic is a wide interdisciplinary field, so that the students can work in an interdisciplinary context.

More information

what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored?

what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored? Inside the CPU how does the CPU work? what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored? some short, boring programs to illustrate the

More information

Automata and Languages

Automata and Languages Automata and Languages Computational Models: An idealized mathematical model of a computer. A computational model may be accurate in some ways but not in others. We shall be defining increasingly powerful

More information

Computers. Hardware. The Central Processing Unit (CPU) CMPT 125: Lecture 1: Understanding the Computer

Computers. Hardware. The Central Processing Unit (CPU) CMPT 125: Lecture 1: Understanding the Computer Computers CMPT 125: Lecture 1: Understanding the Computer Tamara Smyth, tamaras@cs.sfu.ca School of Computing Science, Simon Fraser University January 3, 2009 A computer performs 2 basic functions: 1.

More information

Automata Theory and Languages

Automata Theory and Languages Automata Theory and Languages SITE : http://www.info.univ-tours.fr/ mirian/ Automata Theory, Languages and Computation - Mírian Halfeld-Ferrari p. 1/1 Introduction to Automata Theory Automata theory :

More information

The computer's internal components

The computer's internal components Computer hardware and types of computer A brief introduction to the insides of a computer and its added hardware. This will help explain what a computer is from a hardware point of view, how we control

More information