Course Manual Automata & Complexity 2015

Size: px
Start display at page:

Download "Course Manual Automata & Complexity 2015"

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

CS 301 Course Information

CS 301 Course Information CS 301: Languages and Automata January 9, 2009 CS 301 Course Information Prof. Robert H. Sloan Handout 1 Lecture: Tuesday Thursday, 2:00 3:15, LC A5 Weekly Problem Session: Wednesday, 4:00 4:50 p.m., LC

More information

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

SRM UNIVERSITY FACULTY OF ENGINEERING & TECHNOLOGY SCHOOL OF COMPUTING DEPARTMENT OF SOFTWARE ENGINEERING COURSE PLAN

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

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

Course Syllabus. Also listed as CS 5349.0U1 Automata Theory (http://go.utdallas.edu/cs5349.0u1.14u)

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

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

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

CS 341: Foundations of Computer Science II elearning Section Syllabus, Spring 2015

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

Increasing Interaction and Support in the Formal Languages and Automata Theory Course

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

Increasing Interaction and Support in the Formal Languages and Automata Theory Course

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

Genetic programming with regular expressions

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

Overview of E0222: Automata and Computability

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

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

Regular Languages and Finite Automata

Regular Languages and Finite Automata Regular Languages and Finite Automata 1 Introduction Hing Leung Department of Computer Science New Mexico State University Sep 16, 2010 In 1943, McCulloch and Pitts [4] published a pioneering work on a

More information

Computer Architecture Syllabus of Qualifying Examination

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

MATHEMATICS: CONCEPTS, AND FOUNDATIONS Vol. III - Logic and Computer Science - Phokion G. Kolaitis

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

1. Nondeterministically guess a solution (called a certificate) 2. Check whether the solution solves the problem (called verification)

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

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

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

Complexity Classes P and NP

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

Quantum and Non-deterministic computers facing NP-completeness

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

Outline Introduction Circuits PRGs Uniform Derandomization Refs. Derandomization. A Basic Introduction. Antonis Antonopoulos.

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

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

Computational complexity theory

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

Techniques algébriques en calcul quantique

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

Universal Turing Machine: A Model for all Computational Problems

Universal Turing Machine: A Model for all Computational Problems Universal Turing Machine: A Model for all Computational Problems Edward E. Ogheneovo Lecturer I, Dept of Computer Science, University of Port Harcourt, Port Harcourt Nigeria. ABSTRACT: Turing machines

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

Quantum Computability and Complexity and the Limits of Quantum Computation

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

Pushdown Automata. International PhD School in Formal Languages and Applications Rovira i Virgili University Tarragona, Spain

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

CS5236 Advanced Automata Theory

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

Finite Automata. Reading: Chapter 2

Finite Automata. Reading: Chapter 2 Finite Automata Reading: Chapter 2 1 Finite Automaton (FA) Informally, a state diagram that comprehensively captures all possible states and transitions that a machine can take while responding to a stream

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

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

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

Finite Automata. Reading: Chapter 2

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

2.1 Complexity Classes

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

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

COMPUTER SCIENCE STUDENTS NEED ADEQUATE MATHEMATICAL BACKGROUND

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

SIMS 255 Foundations of Software Design. Complexity and NP-completeness

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

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

Compiler Construction

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

Regular Expressions and Automata using Haskell

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

Informatique Fondamentale IMA S8

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

Complexity Theory. Jörg Kreiker. Summer term 2010. Chair for Theoretical Computer Science Prof. Esparza TU München

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

Determination of the normalization level of database schemas through equivalence classes of attributes

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

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

The Optimum One-Pass Strategy for Juliet

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

Introduction to Logic in Computer Science: Autumn 2006

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

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

Fast nondeterministic recognition of context-free languages using two queues

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

Shor s algorithm and secret sharing

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

Diagonalization. Ahto Buldas. Lecture 3 of Complexity Theory October 8, 2009. Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach.

Diagonalization. Ahto Buldas. Lecture 3 of Complexity Theory October 8, 2009. Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach. Diagonalization Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach. Ahto Buldas Ahto.Buldas@ut.ee Background One basic goal in complexity theory is to separate interesting complexity

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

CAs and Turing Machines. The Basis for Universal Computation

CAs and Turing Machines. The Basis for Universal Computation CAs and Turing Machines The Basis for Universal Computation What We Mean By Universal When we claim universal computation we mean that the CA is capable of calculating anything that could possibly be calculated*.

More information

ATheoryofComplexity,Conditionand Roundoff

ATheoryofComplexity,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 information

Division of Mathematical Sciences

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

Complexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar

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

Achilles Assurance Platform. Dr. Nate Kube Founder / CTO Wurldtech

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

The Classes P and NP

The Classes P and NP The Classes P and NP We now shift gears slightly and restrict our attention to the examination of two families of problems which are very important to computer scientists. These families constitute the

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

Guessing Game: NP-Complete?

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

CS Master Level Courses and Areas COURSE DESCRIPTIONS. CSCI 521 Real-Time Systems. CSCI 522 High Performance Computing

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

Factoring & Primality

Factoring & Primality Factoring & Primality Lecturer: Dimitris Papadopoulos In this lecture we will discuss the problem of integer factorization and primality testing, two problems that have been the focus of a great amount

More information

Syllabus of. BCA III (Bachelor of Computer Application) Semester-V

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

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

Chapter 7 Uncomputability

Chapter 7 Uncomputability Chapter 7 Uncomputability 190 7.1 Introduction Undecidability of concrete problems. First undecidable problem obtained by diagonalisation. Other undecidable problems obtained by means of the reduction

More information

P versus NP, and More

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

Stage III courses COMPSCI 314

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

Integer Factorization using the Quadratic Sieve

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

Composability of Infinite-State Activity Automata*

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

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

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

(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

Fixed-Point Logics and Computation

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

Algebraic Computation Models. Algebraic Computation Models

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

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

Deterministic Finite Automata

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

Lecture 1: Course overview, circuits, and formulas

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

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

The Parameterized Complexity of Short Computation and Factorization

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

Automata Theory. Şubat 2006 Tuğrul Yılmaz Ankara Üniversitesi

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

Revisiting a Limit on Efficient Quantum Computation

Revisiting 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