1 Models of Computation o Turing Machines o Finite store + Tape o transition function: o If in state S1 and current cell is a 0 (1) then write 1 (0) and.

Slides:



Advertisements
Similar presentations
Introduction to Turing Machines
Advertisements

Turing Machines January 2003 Part 2:. 2 TM Recap We have seen how an abstract TM can be built to implement any computable algorithm TM has components:
Algorithms Sipser 3.3 (pages ). CS 311 Fall Computability Hilbert's Tenth Problem: Find a process according to which it can be determined.
Part VI NP-Hardness. Lecture 23 Whats NP? Hard Problems.
CS 345: Chapter 9 Algorithmic Universality and Its Robustness
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen Department of Computer Science University of Texas-Pan American.
1 Section 14.1 Computability Some problems cannot be solved by any machine/algorithm. To prove such statements we need to effectively describe all possible.
Complexity 7-1 Complexity Andrei Bulatov Complexity of Problems.
Computability and Complexity 4-1 Existence of Undecidable Problems Computability and Complexity Andrei Bulatov.
FLAC Lecture 19 Turing Machines and Real Life * Reductions Mihai Budiu March 3, 2000.
CS5371 Theory of Computation Lecture 11: Computability Theory II (TM Variants, Church-Turing Thesis)
Complexity 5-1 Complexity Andrei Bulatov Complexity of Problems.
1 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
Fall 2004COMP 3351 Turing Machines. Fall 2004COMP 3352 The Language Hierarchy Regular Languages Context-Free Languages ? ?
Courtesy Costas Busch - RPI1 Turing Machines. Courtesy Costas Busch - RPI2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
Turing Machines.
Quantum Automata Formalism. These are general questions related to complexity of quantum algorithms, combinational and sequential.
Computability and Complexity 3-1 Turing Machine Computability and Complexity Andrei Bulatov.
Costas Busch - RPI1 Turing Machines. Costas Busch - RPI2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
Fall 2004COMP 3351 A Universal Turing Machine. Fall 2004COMP 3352 Turing Machines are “hardwired” they execute only one program A limitation of Turing.
1 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 18 Instructor: Paul Beame.
Grammars, Languages and Finite-state automata Languages are described by grammars We need an algorithm that takes as input grammar sentence And gives a.
Final Exam Review Cummulative Chapters 0, 1, 2, 3, 4, 5 and 7.
Design and Analysis of Algorithms
Section 11.4 Language Classes Based On Randomization
Introduction to Computational Thinking Vicky Chen.
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen Department of Computer Science University of Texas-Pan American.
Theory of Computing Lecture 15 MAS 714 Hartmut Klauck.
Lecture 4. RAM Model, Space and Time Complexity
Introduction to CS Theory Lecture 15 –Turing Machines Piotr Faliszewski
CSE 311 Foundations of Computing I Lecture 26 Computability: Turing machines, Undecidability of the Halting Problem Spring
CSE 311 Foundations of Computing I Lecture 29 Computability: Turing machines, Undecidability of the Halting Problem Autumn 2012 CSE 3111.
1 P P := the class of decision problems (languages) decided by a Turing machine so that for some polynomial p and all x, the machine terminates after at.
CMSC 330: Organization of Programming Languages Finite Automata NFAs  DFAs.
Computer Science 101 Theory of Computing. Computer Science is... The study of algorithms, with respect to –their formal properties –their linguistic realizations.
1 Turing’s Thesis. 2 Turing’s thesis: Any computation carried out by mechanical means can be performed by a Turing Machine (1930)
Complexity & Computability. Limitations of computer science  Major reasons useful calculations cannot be done:  execution time of program is too long.
Strings Basic data type in computational biology A string is an ordered succession of characters or symbols from a finite set called an alphabet Sequence.
Turing -Recognizable vs. -Decidable
Computer Theory Michael J. Watts
Capabilities of computing systems Numeric and symbolic Computations A look at Computability theory Turing Machines.
Theory of computing, part 4. 1Introduction 2Theoretical background Biochemistry/molecular biology 3Theoretical background computer science 4History of.
1 Section 13.1 Turing Machines A Turing machine (TM) is a simple computer that has an infinite amount of storage in the form of cells on an infinite tape.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
1 Turing Machines and Equivalent Models Section 13.1 Turing Machines.
1 Turing Machines - Chap 8 Turing Machines Recursive and Recursively Enumerable Languages.
1 Introduction to Turing Machines
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 12 Mälardalen University 2007.
1 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
Umans Complexity Theory Lectures Lecture 1b: Turing Machines & Halting Problem.
1 8.4 Extensions to the Basic TM Extended TM’s to be studied: Multitape Turing machine Nondeterministic Turing machine The above extensions make no increase.
Chapter 9 Turing Machines What would happen if we change the stack in Pushdown Automata into some other storage device? Truing Machines, which maintains.
1 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
1 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
Universal Turing Machine
Fall 2013 Lecture 27: Turing machines and decidability CSE 311: Foundations of Computing.
Modeling Arithmetic, Computation, and Languages Mathematical Structures for Computer Science Chapter 8 Copyright © 2006 W.H. Freeman & Co.MSCS SlidesTuring.
Turing’s Thesis Costas Busch - LSU.
L is in NP means: There is a language L’ in P and a polynomial p so that L1 ≤ L2 means: For some polynomial time computable map r :  x: x  L1 iff.
ماشین های تورینگ، تشخیص پذیری و تصمیم پذیری زبان ها
Part VI NP-Hardness.
Non Deterministic Automata
Busch Complexity Lectures: Turing Machines
CSE 311 Foundations of Computing I
Turing Machines 2nd 2017 Lecture 9.
Chapter 9 TURING MACHINES.
Theory of Computation Turing Machines.
Recall last lecture and Nondeterministic TMs
Instructor: Aaron Roth
Presentation transcript:

1 Models of Computation o Turing Machines o Finite store + Tape o transition function: o If in state S1 and current cell is a 0 (1) then write 1 (0) and move head left (right) and transition to state S2 o Halting problem: undecidable!!!

2 Models of Computation o Turing machine variants do not add computational power: o Multiple tapes, multiple heads, 2- directional infinite tapes etc. o RAM machines: same as Turing, except that a MOVE can bring the head to an arbitrary position on the tape => computers – Von Neuman architecture

A simple Machine Language MEM[I] – memory ACC STORE I LOAD I LOADC X ADD I IFZ Label

Computability vs. Expressiveness Computabilty: can we compute something? Expressiveness: how easy is to implement something we want to compute?

Uniform and Non-Uniform models A computation defined by a Turing Machine is uniform – solve problems of any size CIRCUITS: non-uniform models Example: 16-bit adder, 32-bit adder – will not add (without extra tricks) 2 64-bit numbers

Finite Functions as building blocks Finite Functions (in particular finite sets) 32-bit, 64-bit words are finite functions to {0,1} Arrays are finite functions Strings are arrays – therefore finite functions Structures and Fields: (name->value) are FF Functions about Functions => A Turing Equivalent Model: Lambda Calculus

Sparseness String on V: finite function (from 0..n) to V V an alphabet, V* all strings on V A set S included in V* is sparse iff it has a ‘small’ number of strings of any given length N  – where small means something like ‘a polynomial number of’ – or something else, depending on the relevant complexity class Sparseness has a profound effect on computation models and computer architecture.  Reading/writing a memory word at a time is efficient because, in most problems, relatively few words need to be changed at any given time => Von Neuman computer, ‘CPU’ etc.

Programming Languages deal with sparse sets Intuitively – only a small set of possible combinations of syntactic elements are meaningful and end up being used in an actual programming language Various conjectures (mostly by Hartmanis) state that if there are (complexity-wise) hard sparse sets than something in the complexity hierarchy collapses (i.e. Mahaney’s theorem) Efficient representation of sparse sets =>  A solution: hashing – represent large structures with small ones (small integers) knowing that only ‘a few’ of them will be used => dictionaries => symbol tables => memory allocators => object and code sharing mechanisms

Kolmogorov-Chaitin algorithmic complexity Size of the smallest program that generates a set of strings Undecidable Does not depend on the programming language Related to compressibility: random sequences are harder to compress than regular sequences