Course Manual Automata & Complexity 2015
|
|
- Rudolf Holmes
- 7 years ago
- Views:
Transcription
1 Course Manual Automata & Complexity 2015 Course code: Course homepage: Coordinator: Teachers lectures: Teacher exercise classes: Credits: X_ prof. dr. W.J. Fokkink home: w.j.fokkink"at"vu.nl phone: dr. ir. J.J.A. Keiren home: j.j.a.keiren"at"vu.nl F. Geiger BSc 6 ECTS 1 Introduction This course is the last course in the track on Logic & Algorithms, and one of the last courses in the BSc programme. In this course, concepts and results from earlier courses will be put into a broader perspective, and fundamental questions regarding automata & complexity theory will be studied. We introduce important foundations of computer science. In this area, typical questions that are answered are: What is a (programming) language?, How can languages be recognised by computers (automata), What problems can be solved using a class of automata?, How much time and memory does solving a problem require?. The lecture series consists of three parts: automata & languages, complexity theory and an introduction to quantum computing. In the first part, on automata and languages, the concepts of formal language, grammar, and automaton are introduced. Two types of languages, with the corresponding grammars and automata are covered: regular and contextfree languages. Regular languages are used, e.g., in formulate search queries, in the form of regular expressions. Context-free languages are suitable to describe programming languages. The automata-theoretic counterparts here are finite automata and the more powerful pushdown automata. Of both types of automata it will be investigated whether their deterministic versions are less powerful than their non-deterministic counterpart. A central question in this 1
2 part of the course is how it can be determined whether or not a language is regular or context-free. Here the notion of pumping lemmas is introduced. Finally, with each type of language we associate a class of grammars. Left- and rightlinear grammars, and context-free grammars. For the latter we also describe normal forms and we show how these normal forms can be used to construct a parser. This can, e.g., be used to parse a program in a programming language. In the second part of the course, on complexity theory, the central question is What computations can be performed on a computer?. To reason about this question, Turing machines are introduced; we also introduce the closely related notions of recursive- and recursively enumerable languages and unrestrictedand context-sensitive grammars and linear bounded automata. We introduce the Church-Turing thesis, along with examples of undecidable problems such as the halting problem and the Post-correspondence problem. We show how undecidability of new problems can be shown by reduction from a known undecidable problem. Finally, we introduce the most important complexity classes from the complexity hierarchy: P, NP, PSpace, EXP and NEXP, and we discuss NP- and PSpace completeness with the corresponding reduction arguments. In the final part we introduce the basic concepts in quantum computing: qubits, entanglement and quantum-operations. We show how quantum computing can improve computing first using a parity game, and later by introducing Simon s algorithm. The latter solves a problem in quantum-polynomial time, where in the traditional setting the problem has exponential time complexity. The principles introduced in Simon s algorithm are similar to, yet simpler than, those required by Shor s algorithm for prime factorisation. We conclude with the complexity classes BQP and BPP. 2 Entry Conditions There are no strict entry conditions for this course. However, prior knowledge of data structures and algorithms is recommended. Furthermore, basic knowledge of matrices, vectors and complex numbers is helpful. 3 Course goals Upon completion of the course: 1. The student has knowledge of fundamental concepts in computer science, such as automata, languages and computability, and can explain their meaning. 2. The student can apply the algorithmic meaning of concepts on simple problems. This means, among others, that she is able to design simple grammars and automata, can derive automata from grammars and vice versa, and is able to manipulate grammars and automata. 2
3 3. The student can explain the restrictions of different types of automata and grammars, and the restrictions implied by the notion of computability for computer science, i.e. some problems cannot be solved algorithmically. 4. The student can apply techniques to show these restrictions (pumping lemmas and reductions) to simple examples. 5. The student knows basic quantum computing concepts and can explain their meaning. Furthermore, the student can execute simple quantum algorithms to show his understanding of these concepts. The course goals are given in more detail for the individual lectures in Section 5. 4 Literature 4.1 Required reading The material for this class is based on the following book: Peter Linz. An Introduction to Formal Languages and Automata. Jones and Bartlett. (3 rd, 4 th or 5 th edition.) 4.2 Additional reading For some of the lectures, additional background material is available that discusses topics not described by Linz, or that covers topics more thoroughly. Chapter 8 (LL parsing) from Dick Grune and Ceriel J.H. Jacobs. Parsing Techniques - A Practical Guide. Springer, 2008 (2 nd edition). This gives more background on LL parsing (lecture 4). Sections 3.4 and 7.2 from Harry R. Lewis and Christos H. Papadimitriou. Elements of the Theory of Computation. Prentice Hall, 1998 (2 nd edition). Section 3.4 give a translation from context-free grammar to pushdown automaton, section 7.2 describes the bounded tiling problem and Cook s theorem (lectures 5, 9). Sections 12.4, 17.3 and 17.4 from Thomas A. Sudkamp. Languages and Machines. Addison Wesley, 2006 (3 rd edition). Section 12.4 describes Rice s theorem, the other sections discuss PSpace-completeness (lectures 8, 9). Chapter 10 from Sanjeev Arora and Boaz Barak. Computational Complexity: A Modern Approach. Cambridge University Press, draft version from 2007, available from 3
4 index.php/compbook/draft#quantum. This provides an introduction to quantum computing (lectures 10, 11). 5 Lectures The course consists of a series of 11 lectures. The learning outcomes of each of the lectures are described below. 1. Languages as sets, deterministic- and nondeterministic automata. The student is able to describe languages in terms of sets. She is able to define both types of automata, formulate the similarities and differences, and transform a simple nfa into a dfa using the subset construction. 2. Grammars and regular expressions. The student is able to describe regular languages in terms or right- and left- linear grammars. He knows that right-linear grammars and finite automata are equi-expressive, and is able to reduce right-linear grammars into finite automata and vice versa for small examples. Finally, the student knows what regular expressions are, and is able to describe regular languages in terms of regular expressions, the student can convert examples of regular expressions into nfas and vice versa. 3. Properties of regular languages. The student can reason about regular languages using their basic properties. She can also reduce small examples of dfas to obtain the minimal language equivalent dfa. The student can explain the problem of string matching, and is able to apply Thomson s algorithm to match strings on small examples. Finally, she is able to explain the pumping lemma for regular languages, and use it to show that a language is not regular. The student can also explain how to show that a language is regular. 4. Context free languages. The student can describe context free languages in terms of context free grammars. She can determine whether a grammar is context free, and explain whether a context free grammar is ambiguous using derivation trees. She can simplify simple context free grammars by removing λ- and unit productions, removing non-productive variables, and transforming the grammar to Chomsky normal form. The student can parse simple input strings with respect to simple context free grammars using the CYKand LL parsing algorithms. 5. Pushdown automata. The student can describe simple context free languages as a nondeterministic pushdown automaton. He can explain the difference between 4
5 nondeterministic and deterministic pushdown automata, and their difference in expressiveness. He can also reduce simple context free grammars to nondeterministic pushdown automata and vice versa. 6. Properties of context free languages, and Turing machines. The student can reason about context free languages using their basic properties. She can show that a language is not context-free using the pumping lemma. The student also knows what deterministic Turing machines are, and can design simple Turing machines. She can define the concept of recursively enumerable language, and is able to explain the Church-Turing thesis, and its significance for compute science. 7. Variations of Turing machines. The student can describe a number of generalisations of deterministic Turing machines, and argue that they do not add expressivity. He can explain unrestricted grammars, and is able to reduce simple Turing machines to unrestricted grammars. He can also explain the restrictions imposed by context-sensitive grammars, and their relation to linear bounded automata. Finally, the student can reason about context-sensitive and recursive languages using elementary properties. He can also explain the difference between recursive and recursively enumerable languages. The student can explain the Chomsky hierarchy. 8. Undecidability. The student can explain the concepts of decidability and undecidability, and can prove undecidability of the halting problem. She is familiar with Rice s theorem, and can apply it to show undecidability of properties of recursively enumerable languages. The student can give examples of undecidable problems (MPCP, PCP), and can use reductions to prove undecidability of additional problems, e.g. undecidable problems for context free languages. 9. Computational complexity. The student can define complexity classes P and NP, and can explain NPcompleteness. He knows the bounded tiling problem is NP-complete, and can reduce language containment of a concrete nondeterministic Turing machine to the bounded Tiling problem. He can also prove other problems NP-complete, especially the satisfiability problem. The student can define the class co-np, and can prove that if there is an NP-complete language in co-np, then NP = co-np. He can explain the nature of problems in PSpace, NPSpace, EXP and NEXP, and the relation between all complexity classes discussed in this lecture. 10. Quantum computing. The student can explain qubits and entanglement. She can apply quan- 5
6 tum operations to qubits; in particular, she is able to compute the quantum solution to an instance of a parity game. 11. Simon s algorithm. The student can describe quantum circuits in terms of gates. He can apply Simon s algorithm to simple problem instances, and explain the advantage of the quantum algorithm compared to a brute force algoritm. The student can furthermore explain what problem is solved by Shor s algorithm, and he can explain the difference between probabilistic- and quantum algorithms and the corresponding complexity classes BQP and BPP. 6 Exercise classes In the lectures you build up your knowledge on automata & complexity theory. You are going to apply this knowledge to small examples in the exercise classes. You are expected to prepare the exercises before the exercise classes, so that in class the focus can be on discussing problems. The goal of the exercise class is thus to improve your capabilities in applying the theory of the course to small examples. The book also comes with the tool JFLAP that allows you to experiment with the concepts covered in the course. Sometimes you can check your answers using this tool as well, so use it to your advantage! 7 Hand-in exercises To test your knowledge of the topics covered in the lectures and exercise classes, every week a set of hand-in exercises is made available. In total there will be 6 sets of hand in exercises consisting of exam-level questions. If you hand in these exercises, they will be graded and provided with feedback, so that you can check your understanding. For each set of exercises you can obtain 0.1 point bonus on the exam (this means that, in total, you can get 0.6 bonus on the exam). The bonus will be (sum of the marks of the hand-in exercises/10). For some sets of excercises 1 point can be obtained by drawing the automata using JFLAP. 8 Schedule The course consists of 2 2 hours of lecture and 2 2 hours of exercise class every week. To be able to make the most of your own learning experience in the course, it is expected that you prepare the lectures and exercise classes: 6
7 as preparation for the lectures, read the indicated material and identify difficulties, for the exercise classes, do the exercises before the exercise class, so that during the exercise class time can be spent discussing the problems encountered during the exercises. The preparation work is indicated in the schedule below. Session Date Time Location Preparation L1 2/2 13:30 E1 3/2 13:30 L2 5/2 13:30 E2 6/2 11:00 L3 9/2 13:30 E3 10/2 13:30 L4 12/2 13:30 E4 13/2 11:00 L5 16/2 13:30 E5 17/2 13:30 L6 19/2 13:30 E6 20/2 11:00 WN-M623 Write down 3 expectations you have for this course. Read Linz 1.1, 1.2, WN-F637 Make exercises 1.2: 2, 4, 8, 10; 2.1: 1, 2d, 3, 7b, 9b,f 11; 2.2: 12; and 2.3: 2, 3, 6, 12. WN-P647 Read Linz: 1.2, WN-S607 Make exercises 1.2: 11a,b,c, 13, 14a,b,e,f,h; 3.1: 5, 7, 13, 16a,b; 3.2: 1, 2, 4b,d 9, 10a,c, 13a; and 3.3: 1, 3, 6, 12 WN-M623 Read Linz: 2.4, WN-F637 Make exercises 4.1: 17, 20, 26 (note that regular should be right-linear twice); 4.2: 5, 12; 2.4: 1, 4, 6; 4.3: 1, 3, 4e,f WN-P647 Read Linz: 5.1, 5.2, WN-S607 Make exercises 5.1: 2, 7b,e, 8b,h 21, 22; 5.2: 14, 6.1: 6, 7, 9, 15, 16; 6.2: 3, 4; 6.3: 1, 2, 3. Also do the extra exercise on LL parsing WN-M623 Read Linz: Additionally you can read 3.4 from Lewis and Papadimitriou. WN-F637 Make exercises 7.1: 3a, 4c,g 5, 11; 7.2: 5, 6, 15; 7.3: 3, 5, 8, 16, 18 WN-P647 Read Linz: 8.1, 8.2, 9.1, 9.3 WN-S607 Make exercises 8.1: 2, 3, 5, 8c; 8.2: 1, 11, 22, 23; 9.1: 4, 5, 7d,e, 8 7
8 Session Date Time Location Preparation L7 23/2 13:30 E7 24/2 13:30 L8 26/2 13:30 E8 27/2 11:00 L9 2/3 13:30 E9 3/3 13:30 L10 5/3 13:30 E10 6/3 11:00 L11 9/3 13:30 E11 10/3 13:30 WN-M623 Read Linz: 10.2, 10.3, 10.5, WN-F637 Make exercises 11.1: 3, 6, 7, 8, 10; 11.2: 6, 7; 11.3: 1b,d, 3; 10.5: 4c,d WN-P647 Read Linz: Additionally you can read 12.4 from Sudkamp. WN-P647 Make exercises 12.1: 3, 7, 9; 12.3: 1, 3; 12.4: 3, 7, 8 WN-M623 Read Linz: 14.*. Additionally you can read 7.2 from Lewis and Papadimitriou and 17.3, 17.4 from Sudkamp. WN-F637 Make exercises 14.2: 5, 14.3: 2, 3. Also do the 7 extra questions on complexity. WN-P647 Read from Arora and Barak WN-S607 WN-M623 WN-F637 L12 12/3 no lecture E12 13/3 no exercise class L13 16/3 no lecture E13 17/3 no exercise class L14 19/3 13:30 E14 20/3 11:00 WN-P647 WN-S607 Make 7 extra exercises on quantum computing Read 10.5, 10.7 from Arora and Barak Make 8th exercise on quantum computing (application of Simon s algorithm); do the exam from 2010 Q & A session. Prepare questions you still have on the material of the lectures. It is encouraged to submit questions by to the lecturer a day before the start of the lecture. Q & A session on the exercises of the exercise classes. Note, the numbers in the table above refer to the number in editions 4 and 5 of Linz book. If you own a copy of edition 3, please let me know and I can provide you with the alternative exercises. 8
9 9 Study load The study load of the course is 6 ECTS, which is 6 28 = 168 hours. Of these, about 50 are spent in lectures and exercise classes, and the exam takes almost 3 hours. This means there are 115 hours left for self-study activities. Given that the course takes 7 weeks, this means you are expected to spend about 16 hours on self-study every week! This allows for plenty of time preparing the lectures and exercise classes, as well as studying for the exam. 10 Examination Examination of the course is through a written exam. At the exam copies of the slides without handwritten notes may be used. Other material may not be used. The exam dates are as follows: (exam) 25 March 2015, h, room MF-FG2. (resit) 10 June 2015, h, room to be announced. By handing in the hand-in exercises, a maximum of 0.7 bonus on the exam grade can be obtained. You are only eligible for the bonus on the first exam, not in the resit. The final grade for the course is obtained by max(e + B, R), where E is the grade for the exam, R is the grade for the resit, and B are the bonus points. 9
Model 2.4 Faculty member + student
Model 2.4 Faculty member + student Course syllabus for Formal languages and Automata Theory. Faculty member information: Name of faculty member responsible for the course Office Hours Office Number Email
More informationCS 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
More informationPhiladelphia University Faculty of Information Technology Department of Computer Science First Semester, 2007/2008.
Philadelphia University Faculty of Information Technology Department of Computer Science First Semester, 2007/2008 Course Syllabus Course Title: Theory of Computation Course Level: 3 Lecture Time: Course
More informationSRM UNIVERSITY FACULTY OF ENGINEERING & TECHNOLOGY SCHOOL OF COMPUTING DEPARTMENT OF SOFTWARE ENGINEERING COURSE PLAN
Course Code : CS0355 SRM UNIVERSITY FACULTY OF ENGINEERING & TECHNOLOGY SCHOOL OF COMPUTING DEPARTMENT OF SOFTWARE ENGINEERING COURSE PLAN Course Title : THEORY OF COMPUTATION Semester : VI Course : June
More informationThe 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 informationTuring 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 informationCourse Syllabus. Also listed as CS 5349.0U1 Automata Theory (http://go.utdallas.edu/cs5349.0u1.14u)
Course Syllabus Course Information CS 4384.0U1 Automata Theory Summer 2014 TR 3-5:15PM. ECSS 2.312 3 Semester Hours UTD Coursebook: http://go.utdallas.edu/cs4384.0u1.14u Also listed as CS 5349.0U1 Automata
More informationComputer 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 informationNP-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 informationPushdown automata. Informatics 2A: Lecture 9. Alex Simpson. 3 October, 2014. School of Informatics University of Edinburgh als@inf.ed.ac.
Pushdown automata Informatics 2A: Lecture 9 Alex Simpson School of Informatics University of Edinburgh als@inf.ed.ac.uk 3 October, 2014 1 / 17 Recap of lecture 8 Context-free languages are defined by context-free
More informationImplementation 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 informationCS 341: Foundations of Computer Science II elearning Section Syllabus, Spring 2015
CS 341: Foundations of Computer Science II elearning Section Syllabus, Spring 2015 Course Info Instructor: Prof. Marvin K. Nakayama Office: GITC 4312 Phone: 973-596-3398 E-mail: marvin@njit.edu (Be sure
More informationIncreasing Interaction and Support in the Formal Languages and Automata Theory Course
Increasing Interaction and Support in the Formal Languages and Automata Theory Course Susan H. Rodger Duke University ITiCSE 2007 June 25, 2007 Supported by NSF Grant DUE 0442513. Outline Overview of JFLAP
More informationIncreasing Interaction and Support in the Formal Languages and Automata Theory Course
Increasing Interaction and Support in the Formal Languages and Automata Theory Course [Extended Abstract] Susan H. Rodger rodger@cs.duke.edu Jinghui Lim Stephen Reading ABSTRACT The introduction of educational
More informationGenetic programming with regular expressions
Genetic programming with regular expressions Børge Svingen Chief Technology Officer, Open AdExchange bsvingen@openadex.com 2009-03-23 Pattern discovery Pattern discovery: Recognizing patterns that characterize
More informationOverview of E0222: Automata and Computability
Overview of E0222: Automata and Computability Deepak D Souza Department of Computer Science and Automation Indian Institute of Science, Bangalore. August 3, 2011 What this course is about What we study
More informationCS5310 Algorithms 3 credit hours 2 hours lecture and 2 hours recitation every week
CS5310 Algorithms 3 credit hours 2 hours lecture and 2 hours recitation every week This course is a continuation of the study of data structures and algorithms, emphasizing methods useful in practice.
More informationRegular 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
More informationComputer Architecture Syllabus of Qualifying Examination
Computer Architecture Syllabus of Qualifying Examination PhD in Engineering with a focus in Computer Science Reference course: CS 5200 Computer Architecture, College of EAS, UCCS Created by Prof. Xiaobo
More information3515ICT 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 informationMATHEMATICS: CONCEPTS, AND FOUNDATIONS Vol. III - Logic and Computer Science - Phokion G. Kolaitis
LOGIC AND COMPUTER SCIENCE Phokion G. Kolaitis Computer Science Department, University of California, Santa Cruz, CA 95064, USA Keywords: algorithm, Armstrong s axioms, complete problem, complexity class,
More informationAutomata 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 information1. Nondeterministically guess a solution (called a certificate) 2. Check whether the solution solves the problem (called verification)
Some N P problems Computer scientists have studied many N P problems, that is, problems that can be solved nondeterministically in polynomial time. Traditionally complexity question are studied as languages:
More informationIntroduction 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 informationFormal 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 informationHonors 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 informationComplexity Classes P and NP
Complexity Classes P and NP MATH 3220 Supplemental Presentation by John Aleshunas The cure for boredom is curiosity. There is no cure for curiosity Dorothy Parker Computational Complexity Theory In computer
More informationNotes 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 informationQuantum and Non-deterministic computers facing NP-completeness
Quantum and Non-deterministic computers facing NP-completeness Thibaut University of Vienna Dept. of Business Administration Austria Vienna January 29th, 2013 Some pictures come from Wikipedia Introduction
More informationOutline Introduction Circuits PRGs Uniform Derandomization Refs. Derandomization. A Basic Introduction. Antonis Antonopoulos.
Derandomization A Basic Introduction Antonis Antonopoulos CoReLab Seminar National Technical University of Athens 21/3/2011 1 Introduction History & Frame Basic Results 2 Circuits Definitions Basic Properties
More informationUsing Hands-On Visualizations to Teach Computer Science from Beginning Courses to Advanced Courses
Using Hands-On Visualizations to Teach Computer Science from Beginning Courses to Advanced Courses Susan H. Rodger Department of Computer Science Duke University Durham, NC 27705 rodger@cs.duke.edu Abstract
More informationComputational complexity theory
Computational complexity theory Goal: A general theory of the resources needed to solve computational problems What types of resources? Time What types of computational problems? decision problem Decision
More information6.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 informationTechniques algébriques en calcul quantique
Techniques algébriques en calcul quantique E. Jeandel Laboratoire de l Informatique du Parallélisme LIP, ENS Lyon, CNRS, INRIA, UCB Lyon 8 Avril 25 E. Jeandel, LIP, ENS Lyon Techniques algébriques en calcul
More informationComputability 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 informationUniversal 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
More information6.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 informationQuantum Computability and Complexity and the Limits of Quantum Computation
Quantum Computability and Complexity and the Limits of Quantum Computation Eric Benjamin, Kenny Huang, Amir Kamil, Jimmy Kittiyachavalit University of California, Berkeley December 7, 2003 This paper will
More informationPushdown Automata. International PhD School in Formal Languages and Applications Rovira i Virgili University Tarragona, Spain
Pushdown Automata transparencies made for a course at the International PhD School in Formal Languages and Applications Rovira i Virgili University Tarragona, Spain Hendrik Jan Hoogeboom, Leiden http://www.liacs.nl/
More informationCS5236 Advanced Automata Theory
CS5236 Advanced Automata Theory Frank Stephan Semester I, Academic Year 2012-2013 Advanced Automata Theory is a lecture which will first review the basics of formal languages and automata theory and then
More informationFinite 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
More informationCS 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 informationPrime Numbers. Difficulties in Factoring a Number: from the Perspective of Computation. Computation Theory. Turing Machine 電 腦 安 全
Prime Numbers Difficulties in Factoring a Number: from the Perspective of Computation 電 腦 安 全 海 洋 大 學 資 訊 工 程 系 丁 培 毅 Prime number: an integer p> that is divisible only by and itself, ex., 3, 5, 7,, 3,
More informationIntroduction 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 information6.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 informationFinite Automata. Reading: Chapter 2
Finite Automata Reading: Chapter 2 1 Finite Automata Informally, a state machine that comprehensively captures all possible states and transitions that a machine can take while responding to a stream (or
More informationFinite 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 information2.1 Complexity Classes
15-859(M): Randomized Algorithms Lecturer: Shuchi Chawla Topic: Complexity classes, Identity checking Date: September 15, 2004 Scribe: Andrew Gilpin 2.1 Complexity Classes In this lecture we will look
More informationCS154. 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 informationCOMPUTER SCIENCE STUDENTS NEED ADEQUATE MATHEMATICAL BACKGROUND
COMPUTER SCIENCE STUDENTS NEED ADEQUATE MATHEMATICAL BACKGROUND Hasmik GHARIBYAN PAULSON Computer Science Department, California Polytechnic State University, 1 Grand Avenue, San Luis Obispo, CA 93407,
More informationSIMS 255 Foundations of Software Design. Complexity and NP-completeness
SIMS 255 Foundations of Software Design Complexity and NP-completeness Matt Welsh November 29, 2001 mdw@cs.berkeley.edu 1 Outline Complexity of algorithms Space and time complexity ``Big O'' notation Complexity
More informationProperties 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 informationQuantum Computers. And How Does Nature Compute? Kenneth W. Regan 1 University at Buffalo (SUNY) 21 May, 2015. Quantum Computers
Quantum Computers And How Does Nature Compute? Kenneth W. Regan 1 University at Buffalo (SUNY) 21 May, 2015 1 Includes joint work with Amlan Chakrabarti, U. Calcutta If you were designing Nature, how would
More informationCompiler Construction
Compiler Construction Regular expressions Scanning Görel Hedin Reviderad 2013 01 23.a 2013 Compiler Construction 2013 F02-1 Compiler overview source code lexical analysis tokens intermediate code generation
More informationRegular Expressions and Automata using Haskell
Regular Expressions and Automata using Haskell Simon Thompson Computing Laboratory University of Kent at Canterbury January 2000 Contents 1 Introduction 2 2 Regular Expressions 2 3 Matching regular expressions
More informationInformatique Fondamentale IMA S8
Informatique Fondamentale IMA S8 Cours 1 - Intro + schedule + finite state machines Laure Gonnord http://laure.gonnord.org/pro/teaching/ Laure.Gonnord@polytech-lille.fr Université Lille 1 - Polytech Lille
More informationTuring 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 informationComplexity Theory. Jörg Kreiker. Summer term 2010. Chair for Theoretical Computer Science Prof. Esparza TU München
Complexity Theory Jörg Kreiker Chair for Theoretical Computer Science Prof. Esparza TU München Summer term 2010 Lecture 8 PSPACE 3 Intro Agenda Wrap-up Ladner proof and time vs. space succinctness QBF
More informationDetermination of the normalization level of database schemas through equivalence classes of attributes
Computer Science Journal of Moldova, vol.17, no.2(50), 2009 Determination of the normalization level of database schemas through equivalence classes of attributes Cotelea Vitalie Abstract In this paper,
More informationTHE 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 informationQuantum 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 informationThe Optimum One-Pass Strategy for Juliet
Master s Thesis One-Pass Strategies for Context-Free Games Christian Cöster August 2015 Examiners: Prof. Dr. Thomas Schwentick Prof. Dr. Christoph Buchheim Technische Universität Dortmund Fakultät für
More informationIntroduction to Logic in Computer Science: Autumn 2006
Introduction to Logic in Computer Science: Autumn 2006 Ulle Endriss Institute for Logic, Language and Computation University of Amsterdam Ulle Endriss 1 Plan for Today Now that we have a basic understanding
More informationLecture 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 informationAutomata 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 informationFast nondeterministic recognition of context-free languages using two queues
Fast nondeterministic recognition of context-free languages using two queues Burton Rosenberg University of Miami Abstract We show how to accept a context-free language nondeterministically in O( n log
More informationCSE 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 informationShor s algorithm and secret sharing
Shor s algorithm and secret sharing Libor Nentvich: QC 23 April 2007: Shor s algorithm and secret sharing 1/41 Goals: 1 To explain why the factoring is important. 2 To describe the oldest and most successful
More informationDiagonalization. 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 Ahto.Buldas@ut.ee Background One basic goal in complexity theory is to separate interesting complexity
More informationUniversality 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 informationCAs 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*.
More informationATheoryofComplexity,Conditionand Roundoff
ATheoryofComplexity,Conditionand Roundoff Felipe Cucker Berkeley 2014 Background L. Blum, M. Shub, and S. Smale [1989] On a theory of computation and complexity over the real numbers: NP-completeness,
More informationDivision of Mathematical Sciences
Division of Mathematical Sciences Chair: Mohammad Ladan, Ph.D. The Division of Mathematical Sciences at Haigazian University includes Computer Science and Mathematics. The Bachelor of Science (B.S.) degree
More informationComplexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar
Complexity Theory IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar Outline Goals Computation of Problems Concepts and Definitions Complexity Classes and Problems Polynomial Time Reductions Examples
More informationAchilles Assurance Platform. Dr. Nate Kube Founder / CTO Wurldtech
Achilles Assurance Platform Dr. Nate Kube Founder / CTO Wurldtech Presentation Outline Statement of the Problem 3 rd Generation Achilles Assurance Platform Questions and Answers Achilles Certification
More informationThe 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
More informationPushdown 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 informationGuessing Game: NP-Complete?
Guessing Game: NP-Complete? 1. LONGEST-PATH: Given a graph G = (V, E), does there exists a simple path of length at least k edges? YES 2. SHORTEST-PATH: Given a graph G = (V, E), does there exists a simple
More informationIntroduction 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 informationCS Master Level Courses and Areas COURSE DESCRIPTIONS. CSCI 521 Real-Time Systems. CSCI 522 High Performance Computing
CS Master Level Courses and Areas The graduate courses offered may change over time, in response to new developments in computer science and the interests of faculty and students; the list of graduate
More informationFactoring & 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
More informationSyllabus of. BCA III (Bachelor of Computer Application) Semester-V
Syllabus of BCA III (Bachelor of Computer Application) Semester-V Designed by Dr. S.B. Kishor GONDWANA UNIVERSITY, GADCHIROLI SESSION 2014-2015 SEM V BCA III Paper 1 Paper 2 Theory of Computational Analyzer
More informationEastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students
Eastern Washington University Department of Computer Science Questionnaire for Prospective Masters in Computer Science Students I. Personal Information Name: Last First M.I. Mailing Address: Permanent
More informationChapter 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
More informationP versus NP, and More
1 P versus NP, and More Great Ideas in Theoretical Computer Science Saarland University, Summer 2014 If you have tried to solve a crossword puzzle, you know that it is much harder to solve it than to verify
More informationStage III courses COMPSCI 314
Stage III courses To major in Computer Science, you have to take four Stage III COMPSCI courses, plus one other Stage III course chosen from the BSc Schedule. This may be another Stage III COMPSCI course.
More informationInteger Factorization using the Quadratic Sieve
Integer Factorization using the Quadratic Sieve Chad Seibert* Division of Science and Mathematics University of Minnesota, Morris Morris, MN 56567 seib0060@morris.umn.edu March 16, 2011 Abstract We give
More informationComposability of Infinite-State Activity Automata*
Composability of Infinite-State Activity Automata* Zhe Dang 1, Oscar H. Ibarra 2, Jianwen Su 2 1 Washington State University, Pullman 2 University of California, Santa Barbara Presented by Prof. Hsu-Chun
More informationa 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + + a 2n x n = b 2.
Chapter 1 LINEAR EQUATIONS 1.1 Introduction to linear equations A linear equation in n unknowns x 1, x,, x n is an equation of the form a 1 x 1 + a x + + a n x n = b, where a 1, a,..., a n, b are given
More information(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 informationFixed-Point Logics and Computation
1 Fixed-Point Logics and Computation Symposium on the Unusual Effectiveness of Logic in Computer Science University of Cambridge 2 Mathematical Logic Mathematical logic seeks to formalise the process of
More informationAlgebraic Computation Models. Algebraic Computation Models
Algebraic Computation Models Ζυγομήτρος Ευάγγελος ΜΠΛΑ 201118 Φεβρουάριος, 2013 Reasons for using algebraic models of computation The Turing machine model captures computations on bits. Many algorithms
More informationBeyond NP: The Work and Legacy of Larry Stockmeyer. Lance Fortnow University of Chicago
Beyond NP: The Work and Legacy of Larry Stockmeyer Lance Fortnow University of Chicago Larry Joseh Stockmeyer 1948 Born in Indiana 1974 MIT Ph.D. IBM Research at Yorktown and Almaden for most of his career
More informationDeterministic Finite Automata
1 Deterministic Finite Automata Definition: A deterministic finite automaton (DFA) consists of 1. a finite set of states (often denoted Q) 2. a finite set Σ of symbols (alphabet) 3. a transition function
More informationOracle 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 informationLecture 1: Course overview, circuits, and formulas
Lecture 1: Course overview, circuits, and formulas Topics in Complexity Theory and Pseudorandomness (Spring 2013) Rutgers University Swastik Kopparty Scribes: John Kim, Ben Lund 1 Course Information Swastik
More informationOpen Problems in Quantum Information Processing. John Watrous Department of Computer Science University of Calgary
Open Problems in Quantum Information Processing John Watrous Department of Computer Science University of Calgary #1 Open Problem Find new quantum algorithms. Existing algorithms: Shor s Algorithm (+ extensions)
More informationThe Parameterized Complexity of Short Computation and Factorization
The Parameterized Complexity of Short Computation and Factorization Liming Cai and Jianer Chen Department of Computer Science, Texas A & M University College Station, Texas 77843 U.S.A. Rodney G. Downey
More informationAutomata Theory. Şubat 2006 Tuğrul Yılmaz Ankara Üniversitesi
Automata Theory Automata theory is the study of abstract computing devices. A. M. Turing studied an abstract machine that had all the capabilities of today s computers. Turing s goal was to describe the
More informationRevisiting a Limit on Efficient Quantum Computation
Revisiting a Limit on Efficient Quantum Computation Tarsem S. Purewal Jr. Department of Computer Science University of Georgia Athens, GA 30602 purewal@cs.uga.edu ABSTRACT In this paper, we offer an exposition
More information