COMP-330 Theory of Computation. Fall Prof. Claude Crépeau. Lecture 1 : Introduction

Similar documents
COMP-330 Theory of Computation. Fall Prof. Claude Crépeau. Lec. 16 : Turing Machines

COMP-330 Theory of Computation. Fall Prof. Claude Crépeau. Lec. 14 : Turing Machines

COMP-330 Theory of Computation. Fall Prof. Claude Crépeau. Lec. 5 : DFA minimization

COMP-330 Theory of Computation. Fall Prof. Claude Crépeau. Lec. 9 : Myhill-Nerode Theorem and applications

COMP-330 Theory of Computation. Fall Prof. Claude Crépeau. Lec. 10 : Context-Free Grammars

COMP-330 Theory of Computation. Fall Prof. Claude Crépeau. Lecture 2 : Regular Expressions & DFAs

THEORY OF COMPUTATION (AUBER) EXAM CRIB SHEET

CS 301. Lecture 17 Church Turing thesis. Stephen Checkoway. March 19, 2018

Introduction to Turing Machines

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018

The Turing Machine. Computability. The Church-Turing Thesis (1936) Theory Hall of Fame. Theory Hall of Fame. Undecidability

Undecidability COMS Ashley Montanaro 4 April Department of Computer Science, University of Bristol Bristol, UK

DD2371 Automata Theory

Decidable Languages - relationship with other classes.

St.MARTIN S ENGINEERING COLLEGE Dhulapally, Secunderabad

Theory of Computation

CSE 105 THEORY OF COMPUTATION. Spring 2018 review class

CSE 105 THEORY OF COMPUTATION

SYLLABUS. Introduction to Finite Automata, Central Concepts of Automata Theory. CHAPTER - 3 : REGULAR EXPRESSIONS AND LANGUAGES

6.8 The Post Correspondence Problem

Automata & languages. A primer on the Theory of Computation. Laurent Vanbever. ETH Zürich (D-ITET) October,

DM17. Beregnelighed. Jacob Aae Mikkelsen

CS21 Decidability and Tractability

Computability Theory. CS215, Lecture 6,

FORMAL LANGUAGES, AUTOMATA AND COMPUTATION

Theory of Computation (IX) Yijia Chen Fudan University

CS481F01 Solutions 8

1. Draw a parse tree for the following derivation: S C A C C A b b b b A b b b b B b b b b a A a a b b b b a b a a b b 2. Show on your parse tree u,

Decidability. William Chan

ENEE 459E/CMSC 498R In-class exercise February 10, 2015

Question Bank UNIT I

17.1 The Halting Problem

Undecibability. Hilbert's 10th Problem: Give an algorithm that given a polynomial decides if the polynomial has integer roots or not.

CS 275 Automata and Formal Language Theory

The Pumping Lemma. for all n 0, u 1 v n u 2 L (i.e. u 1 u 2 L, u 1 vu 2 L [but we knew that anyway], u 1 vvu 2 L, u 1 vvvu 2 L, etc.

Pushdown automata. Twan van Laarhoven. Institute for Computing and Information Sciences Intelligent Systems Radboud University Nijmegen

Summary. Reg Dodds Department of Computer Science University of the Western Cape 2016 Reg Dodds

CST Part IB. Computation Theory. Andrew Pitts

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

Final exam study sheet for CS3719 Turing machines and decidability.

Recap DFA,NFA, DTM. Slides by Prof. Debasis Mitra, FIT.

Theory of Computation Turing Machine and Pushdown Automata

Computational Models

AN INTRODUCTION TO COMPUTABILITY THEORY

Understanding Computation

Theory of Computation

CS 275 Automata and Formal Language Theory

Mapping Reducibility. Human-aware Robotics. 2017/11/16 Chapter 5.3 in Sipser Ø Announcement:

Great Theoretical Ideas

Turing s thesis: (1930) Any computation carried out by mechanical means can be performed by a Turing Machine

Midterm Exam 2 CS 341: Foundations of Computer Science II Fall 2016, face-to-face day section Prof. Marvin K. Nakayama

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska

Foundations of Informatics: a Bridging Course

Automata Theory. Definition. Computational Complexity Theory. Computability Theory

Automata and Computability. Solutions to Exercises

Equivalent Variations of Turing Machines

Turing Machines. Lecture 8

CSCE 551: Chin-Tser Huang. University of South Carolina

Theory of Computation - Module 4

AC68 FINITE AUTOMATA & FORMULA LANGUAGES DEC 2013

Final Exam Comments. UVa - cs302: Theory of Computation Spring < Total

Theory of Computation (II) Yijia Chen Fudan University

CSE 105 Theory of Computation

HKN CS/ECE 374 Midterm 1 Review. Nathan Bleier and Mahir Morshed

3515ICT: Theory of Computation. Regular languages

The Turing machine model of computation

Midterm Exam 2 CS 341: Foundations of Computer Science II Fall 2018, face-to-face day section Prof. Marvin K. Nakayama

VTU QUESTION BANK. Unit 1. Introduction to Finite Automata. 1. Obtain DFAs to accept strings of a s and b s having exactly one a.

Computation. Some history...

Fundamentals of Computer Science

Automata Theory. Lecture on Discussion Course of CS120. Runzhe SJTU ACM CLASS

Automata and Computability

Theory Bridge Exam Example Questions

(Note that these points are to give a relative sense of the weights on the final exam and have no bearing on extra credit points)

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018

Turing Machines A Turing Machine is a 7-tuple, (Q, Σ, Γ, δ, q0, qaccept, qreject), where Q, Σ, Γ are all finite

Introduction to Languages and Computation

UNRESTRICTED GRAMMARS

UNIT-III REGULAR LANGUAGES

Automata: a short introduction

SE 2FA3: Discrete Mathematics and Logic II. Teaching Assistants: Yasmine Sharoda,

What we have done so far

CP405 Theory of Computation

Computational Models - Lecture 4 1

Church s undecidability result

Languages, regular languages, finite automata

Automata and Computability. Solutions to Exercises

The Church-Turing Thesis. Chapter 18

Section 14.1 Computability then else

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska

Theory of Computation CS3102 Spring 2014 A tale of computers, math, problem solving, life, love and tragic death

Some aspects of computing, data security, and upcoming technologies

Computer Sciences Department

CPSC 421: Tutorial #1

Finite Automata and Regular languages

Chapter 3: The Church-Turing Thesis

The Post Correspondence Problem; Applications to Undecidability Results

Most General computer?

Introduction to the Theory of Computing

1. (a) Explain the procedure to convert Context Free Grammar to Push Down Automata.

Transcription:

COMP-330 Theory of Computation Fall 2017 -- Prof. Claude Crépeau Lecture 1 : Introduction

COMP 330 Fall 2017: Lectures Schedule 1-2. Introduction 1.5. Some basic mathematics 2-3. Deterministic finite automata +Closure properties, 3-4. Nondeterministic finite automata 5. Minimization+ Myhill-Nerode theorem 6. Determinization+Kleene s theorem 7. Regular Expressions+GNFA 8. Regular Expressions and Languages 9-10. The pumping lemma 11. Duality 12. Labelled transition systems 13. MIDTERM 14. Context-free languages 15. Pushdown automata 16. Parsing 17. The pumping lemma for CFLs 18. Introduction to computability 19. Models of computation Basic computability theory 20. Reducibility, undecidability and Rice s theorem 21. Undecidable problems about CFGs 22. Post Correspondence Problem 23. Validity of FOL is RE / Gödel s and Tarski s thms 24. Universality / The recursion theorem 25. Degrees of undecidability 26. Introduction to complexity

I N T R O D U C T I O N

Paris, 1900 German mathematician David Hilbert presented ten problems in mathematics from a list of 23 ( 1, 2, 6, 7, 8, 13, 16, 19, 21 and 22). Speaking on 8 August 1900, at the Paris 2 nd International Congress of Mathematicians, at La Sorbonne. The full list was published later. The problems were all unsolved at the time, and several of them turned out to be very influential for 20 th century mathematics.

Fundamental questions? Can we prove all the mathematical statements that we can formulate? (Hilbert s 2 nd problem) Example: for all natural integers x,y,z and n>2 x n +y n z n (Fermat s last theorem) Certainly, there are many mathematical problems that we do not know how to solve. Is this just because we are not smart enough to find a solution? Or, is there something deeper going on?

Computer Science version of these issues If my boss / supervisor / teacher formulates a problem to be solved urgently, can I write a program to efficiently solve this problem???

Computer Science version of these issues Are there some problems that cannot be solved at all? and, are there problems that cannot be solved efficiently?? (related to Hilbert s 10 th problem)

Computer Science version of these issues If my boss / supervisor / teacher formulates a problem to be solved urgently, can I write a program to efficiently solve this problem???

Kurt Gödel In 1931, he proved that any formalization of mathematics contains some statements that cannot be proved or disproved.

Alan Turing In 1934, he formalized the notion of decidability of a language by a computer.

A Language Let be a finite alphabet. (ex: {0,1}) Let * be all sequences of elements from this alphabet. (ex: 0, 1, 00000, 0101010101,...) A language L is any subset of *. An algorithm A decides a language L if A answers Yes when x L and No when x L.

Comparing Cardinalities languages that we can decide = languages that we can describe < All languages = N = N = R

Alonzo Church In 1936, he proved that certain languages cannot be decided by any algorithm whatsoever...

Emil Post In 1946, he gave a very natural example of an undecidable language...

(PCP) Post Correspondence Problem aaa a bbb aa b bb bb a a bb An instance of PCP with 6 tiles. A solution to PCP aa bbb b a a bb bb

Post Correspondence Problem u 1 u 2 u 3 u n... v 1 v 2 v 3 v n Given n tiles, u 1 /v 1... u n /v n where each u i or v i is a sequence of letters. Is there a k and a sequence <i 1,i 2,i 3,...,i k > ( with each 1 i j n ) such that u i 1 u i 2 u i 3... u i k = v i 1 v i 2 v i 3... v i k?

A Solution to Post Correspondence Problem u 1 u 2 u 3 u n... v 1 v 2 v 3 v n A solution is of this form: u i 1 u i 2 u i 3 u i 4 u i 5 u i k... v i 1 v i 2 v i 3 v i 4 v i 5 v i k with the top and bottom strings identical when we concatenate all the substrings.

Post Correspondence Problem Theorem: The Post Correspondence Problem cannot be decided by any algorithm (or computer program). In particular, no algorithm can identify in a finite amount of time some instances that have a No outcome. However, if a solution exists, we can find it.

Post Correspondence Problem Proof: Reduction technique - if PCP was decidable then another undecidable problem (the halting problem) would be decidable.

The Halting Problem Notice that an algorithm is a piece of text. An algorithm can receive text as input. An algorithm can receive the text description of an algorithm as input. The Halting Problem: Given two texts A,B, consider A as an algorithm and B as an input. Will algorithm A halt (as opposed to loop forever) on input B?

The Halting Problem and PCP Any algorithm to decide PCP can be converted to an algorithm to decide the Halting Problem as well. Conclusion: PCP cannot be decided either.

Computability Theory All languages languages that we can describe languages that we can decide

Syracuse Conjecture For any integer n>0 define the following sequence: { S i /2 S 1 =n, S i+1 = 3S i +1 { if S i is even, if S i is odd. Syracuse(n)= least i s.t. S 1 =n,...,s i =1 0 if S i >1 for all i.

Syracuse Conjecture Example: Syracuse(9) = 20 S 1 =9, S 2 =28, S 3 =14, S 4 =7, S 5 =22, S 6 =11, S 7 =34, S 8 =17, S 9 =52, S 10 =26, S 11 =13, S 12 =40, S 13 =20, S 14 =10, S 15 =5, S 16 =16, S 17 =8, S 18 =4, S 19 =2, S 20 =1 60 45 30 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Syracuse Conjecture For all n that we have computed so far, Syracuse(n) > 0. Conjecture for all n>0, Syracuse(n)>0 If there exists N such that Syracuse(N) = 0 we might not be able to prove it.

Syracuse Conjecture The Syracuse conjecture is believed to be true but no proof of that statement was discovered so far. It is an open problem. Even worse, it might be true but there might be no proof that it is!!! That s because when you write an algorithm you need not know what it does!!!

COMP-330 Theory of Computation Fall 2017 -- Prof. Claude Crépeau Lecture 1 : Introduction