Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018

Similar documents
Foundations of Computation. Ana Bove

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018

Introduction to Turing Machines

Fundamentals of Computer Science

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018

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

CSE 105 Theory of Computation

THEORY OF COMPUTATION (AUBER) EXAM CRIB SHEET

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018

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

Most General computer?

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

Theory of Computation

Turing Machines (TM) The Turing machine is the ultimate model of computation.

MA/CSSE 474 Theory of Computation

Decidability: Church-Turing Thesis

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

Introduction to Turing Machines. Reading: Chapters 8 & 9

Automata Theory. Definition. Computational Complexity Theory. Computability Theory

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

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018

ON COMPUTAMBLE NUMBERS, WITH AN APPLICATION TO THE ENTSCHENIDUGSPROBLEM. Turing 1936

Turing Machines. Lecture 8

Final exam study sheet for CS3719 Turing machines and decidability.

CSE 105 THEORY OF COMPUTATION

Undecidable Problems and Reducibility

Pumping Lemma for CFLs

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

AC68 FINITE AUTOMATA & FORMULA LANGUAGES DEC 2013

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.

Foundations of Informatics: a Bridging Course

CSE355 SUMMER 2018 LECTURES TURING MACHINES AND (UN)DECIDABILITY

CSE 105 THEORY OF COMPUTATION

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2017

CS5371 Theory of Computation. Lecture 10: Computability Theory I (Turing Machine)

Homework 8. a b b a b a b. two-way, read/write

Computability Theory. CS215, Lecture 6,

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

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

DD2371 Automata Theory

Turing machines and linear bounded automata

10. Finite Automata and Turing Machines

6.8 The Post Correspondence Problem

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

NPDA, CFG equivalence

Turing Machines. COMP2600 Formal Methods for Software Engineering. Katya Lebedeva. Australian National University Semester 2, 2014

Part I: Definitions and Properties

Turing Machines Decidability

Decidability (What, stuff is unsolvable?)

CS5371 Theory of Computation. Lecture 10: Computability Theory I (Turing Machine)

Decidable Languages - relationship with other classes.

7.1 The Origin of Computer Science

UNIT-VIII COMPUTABILITY THEORY

Theory of Computation (IX) Yijia Chen Fudan University

ACS2: Decidability Decidability

CS21 Decidability and Tractability

The Turing machine model of computation

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

CS5371 Theory of Computation. Lecture 12: Computability III (Decidable Languages relating to DFA, NFA, and CFG)

AN INTRODUCTION TO COMPUTABILITY THEORY

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

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

CSE 105 THEORY OF COMPUTATION

FORMAL LANGUAGES, AUTOMATA AND COMPUTATION

Introduction to the Theory of Computation. Automata 1VO + 1PS. Lecturer: Dr. Ana Sokolova.

Automata and Computability. Solutions to Exercises

Outline 1 PCP. 2 Decision problems about CFGs. M.Mitra (ISI) Post s Correspondence Problem 1 / 10

CS 275 Automata and Formal Language Theory

Turing machines and linear bounded automata

Computation. Some history...

CSE 105 THEORY OF COMPUTATION. Spring 2018 review class

Automata and Computability. Solutions to Exercises

Theory of Computation Turing Machine and Pushdown Automata

Decidability. Human-aware Robotics. 2017/10/31 Chapter 4.1 in Sipser Ø Announcement:

Propositions as Types

CS20a: Turing Machines (Oct 29, 2002)

CSE 105 THEORY OF COMPUTATION

1 Showing Recognizability

Introduction to the Theory of Computation. Automata 1VO + 1PS. Lecturer: Dr. Ana Sokolova.

Ogden s Lemma for CFLs

SCHEME FOR INTERNAL ASSESSMENT TEST 3

Please give details of your answer. A direct answer without explanation is not counted.

CS20a: Turing Machines (Oct 29, 2002)

The decision problem (entscheidungsproblem), halting problem, & Turing machines. CS 350 Fall 2018 gilray.org/classes/fall2018/cs350/

CS4026 Formal Models of Computation

CS 301. Lecture 18 Decidable languages. Stephen Checkoway. April 2, 2018

CS 275 Automata and Formal Language Theory

Pushdown Automata (2015/11/23)

An example of a decidable language that is not a CFL Implementation-level description of a TM State diagram of TM

Properties of Context-Free Languages. Closure Properties Decision Properties

Cliff s notes for equivalence of CFLs and L(PDAs) LisaCFL L = L(M) for some PDA M L=L(M)forsomePDAM L = L(G) for some CFG G

Theory of Computer Science

Computability and Complexity

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

Decidability. William Chan

Theory of Computer Science. Theory of Computer Science. D7.1 Introduction. D7.2 Turing Machines as Words. D7.3 Special Halting Problem

Lecture 14 Rosser s Theorem, the length of proofs, Robinson s Arithmetic, and Church s theorem. Michael Beeson

1 Unrestricted Computation

17.1 The Halting Problem

Transcription:

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018 Lecture 15 Ana Bove May 17th 2018 Recap: Context-free Languages Chomsky hierarchy: Regular languages are also context-free; Pumping lemma for context-free languages; Closure properties for CFL: Union, concatenation, closure, reversal and prefix; Intersection and difference with a RL; No closure under complement; Decision properties for CFL: Is the language empty? Does a word belong to the language of a certain grammar? The following problems are undecidable: Is the CFG G ambiguous? Is the CFL L inherently ambiguous? If L(G 1 ) and L(G 2 ) are CFL, is L(G 1 ) L(G 2 ) =? If L(G 1 ) and L(G 2 ) are CFL, is L(G 1 ) = L(G 2 )? is L(G 1 ) L(G 2 )? If L(G) is a CFL and P a RL, is P = L(G)? is P L(G)? If L(G) is a CFL over Σ, is L(G) = Σ? May 17th 2018, Lecture 15 TMV027/DIT321 1/30

Overview of Today s Lecture Brief on Push-down automata; Brief on undecidable problems; Turing machines. Contributes to the following learning outcome: Explain and manipulate the diff. concepts in automata theory and formal lang; Determine if a certain word belongs to a language; Define Turing machines performing simple tasks; Differentiate and manipulate formal descriptions of lang, automata and grammars. May 17th 2018, Lecture 15 TMV027/DIT321 2/30 Push-down Automata Push-down automata (PDA) are essentially ɛ-nfa with a stack to store information. The stack is needed to give the automata extra memory. Observe we can only access the last element that was added to the stack! Example: To recognise the language 0 n 1 n we proceed as follows: We start reading the input with an empty stack and from start state; When reading the 0 s, we push a symbol into the stack; When reading the 1 s, we pop the symbol on top of the stack; We accept the word if when we finish reading the input then the stack is empty. The languages accepted by the PDA are exactly the CFL. See the book, sections 6.1 6.3. May 17th 2018, Lecture 15 TMV027/DIT321 3/30

Variation of Push-down Automata DPDA = DFA + stack: Deterministic Push-down automata. Accepts the deterministic context-free languages: they are between RL and CFL. The lang. accepted by DPDA have unambiguous grammars. However, not all languages that have unambiguous grammars can be accepted by these DPDA. Example: The language generated by the unambiguous grammar S 0S0 1S1 ɛ cannot be recognised by a DPDA. See section 6.4 in the book. 2 or more stacks: A PDA with at least 2 stacks is as powerful as a TM. Hence these PDA can recognise the recursively enumerable languages (more on this later). See section 8.5.2. May 17th 2018, Lecture 15 TMV027/DIT321 4/30 Undecidable Problems Recall: An undecidable problem is a decision problem for which it is impossible to construct a single algorithm that always leads to a yes-or-no answer. To prove that a certain problem P is undecidable one usually reduces an already known undecidable problem U to the problem P: instances of U become instances of P. (Can be seen like one transforms U so it becomes P). That is, w U iff w P for certain w and w. Then, a solution to P would serve as a solution to U. However, we know there are no solutions to U since U is known to be undecidable. Then we have a contradiction. May 17th 2018, Lecture 15 TMV027/DIT321 5/30

Example of Undecidable Problem: Post s Correspondence It is an undecidable decision problem introduced by Emil Post in 1946. Given words u 1,..., u n and v 1,..., v n in {0, 1}, is it possible to find i 1,..., i k such that u i1... u ik = v i1... v ik? Example: Given u 1 = 1, u 2 = 10, u 3 = 001, v 1 = 011, v 2 = 11, v 3 = 00 we have that u 3 u 2 u 3 u 1 = v 3 v 2 v 3 v 1 = 001100011. We can use grammars to show that the Post s correspondence problem is undecidable by showing that a grammar is ambiguous iff the PCP has a solution. (See Section 9.4 in the book.) May 17th 2018, Lecture 15 TMV027/DIT321 6/30 Undecidable and Intractable Problems The theory of undecidable problems provides a guidance about what we may or may not be able to perform with a computer. (More on this on courses on algorithms.) One should though distinguish between undecidable problems and intractable problems, that is, problems that are decidable but require a large amount of time to solve them. (In daily life, intractable problems are more common than undecidable ones.) To reason about both kind of problems we need to have a basic notion of computation. May 17th 2018, Lecture 15 TMV027/DIT321 7/30

Once Upon a Time... In early 1900 s, Bertrand Russell showed that formal logic can express large parts of mathematics. In 1928, David Hilbert posed a challenge known as the Entscheidungsproblem (decision problem). This problem asked for an effectively calculable procedure to determine whether a given statement is provable from the axioms using the rules of logic. May 17th 2018, Lecture 15 TMV027/DIT321 8/30 To Prove or Not To Prove: That Is the Question! The decision problem presupposed completness: any statement or its negation can be proved. Wir müssen wissen, wir werden wissen ( We must know, we will know ) In 1931, Kurt Gödel published the incompleteness theorems. The first theorem shows that any consistent system capable of expressing arithmetic cannot be complete: there is a true statement that cannot be proved with the rules of the system. The second theorem shows that such a system could not prove its own consistency. May 17th 2018, Lecture 15 TMV027/DIT321 9/30

λ-calculus as a Language for Logic In the 30s, Alonzo Church (and his students Stephen Kleene and John Barkley Rosser) introduced the λ-calculus as a way to define notations for logical formulas: x λx.m M N In 1935, Kleene and Rosser proved the system inconsistent (due to self application). May 17th 2018, Lecture 15 TMV027/DIT321 10/30 λ-calculus as a Language for Computations Church discovered how to encode numbers in the λ-calculus. For example, 3 is encoded as λf.λx.f (f (f (x))). Encoding for addition, multiplication and (later) predecesor were defined. Thereafter Church and his students became convinced any effectively calculable function of numbers could be represented by a term in the λ-calculus. May 17th 2018, Lecture 15 TMV027/DIT321 11/30

Church s Thesis Church proposed λ-definability as the definition of effectively calculable (known today as Church s thesis). He also demonstrated that the problem of whether a given λ-term has a normal form was not λ-definable (equivalent to the Halting problem). A year later, he demonstrated there was no λ-definable solution to the Entscheidungsproblem. May 17th 2018, Lecture 15 TMV027/DIT321 12/30 General Recursive Functions 1933: Gödel was not convinced by Church s assertion that every effectively calculable function was λ-definable. Church offered that Gödel would propose a different definition which he then would prove it was included in λ-definability. 1934: Gödel proposed the general recursive functions as his candidate for effective calculability (system which Kleene after developed and published). Church and his students then proved that the two definitions were equivalent. Now Gödel doubt his own definition was correct! May 17th 2018, Lecture 15 TMV027/DIT321 13/30

Turing Machines Simultaneously, Alan Mathison Turing formulated his notion of effectively calculable in terms of a Turing machine. He used the Turing machines to show the Entscheidungsproblem undecidable by first showing that the halting problem was undecidable. Turing also proved the equivalence of the λ-calculus and his machines. (Hence Church s thesis is also known as Church-Turing thesis) Go del is now finally convinced! :-) May 17th 2018, Lecture 15 TMV027/DIT321 14/30 Computer Science Was Born! Turing s approach took into account the capabilities of a (human) computer: a human performing a computation assisted by paper and pencil. May 17th 2018, Lecture 15 TMV027/DIT321 15/30

Alan Mathison Turing (23 June 1912 7 June 1954) British computer scientist, mathematician, logician and cryptanalyst; Considered the father of theoretical computer science and artificial intelligence; Philosopher, theoretical biologist; Marathon and ultra distance runner; In the 50 he also became interested in chemistry. May 17th 2018, Lecture 15 TMV027/DIT321 16/30 Alan Mathison Turing He started studying at Cambridge and then moved to Princeton where he took his Ph.D. in 1938 with Alonzo Church; He invented the concept of a computer, called Turing Machine (TM); Turing showed that TM could perform any kind of computation; He also showed that his notion of computable was equivalent to Church s notion of effective calculable; During the WWII he helped Britain to break the German Enigma machines which shortened the war by 2-4 years and saved many lives! May 17th 2018, Lecture 15 TMV027/DIT321 17/30

Turing Award Since 1966, annual prize from the Association for Computing Machinery (ACM) for lasting technical contributions to the computing community. Seen as the Nobel Prize of computing. See http://amturing.acm.org for more information about Turing awards. May 17th 2018, Lecture 15 TMV027/DIT321 18/30 Turing Machines (1936) Theoretically, a TM is just as powerful as any other computer! Powerful here refers only to which computations a TM is capable of doing, not to how fast or efficiently it does its job. Conceptually, a TM has a finite set of states, a finite alphabet (containing a blank symbol), and a finite set of instructions; Physically, it has a head that can read, write, and move along an infinitely long tape (on both sides) that is divided into cells. a 1 a 2 a 3 a 4 a 5 Each cell contains a symbol of the alphabet (possibly the blank symbol). May 17th 2018, Lecture 15 TMV027/DIT321 19/30

Turing Machines: More Concretely Let represents the blank symbol and let Σ be a non-empty alphabet of symbols such that {, L, R} Σ =. Now, we define Σ = Σ { }; The read/write head of the TM is always placed over one of the cells. We said that that particular cell is being read, examined or scanned; At every moment, the TM is in a certain state q Q, where Q is a non-empty and finite set of states; In some cases, we consider a set F of final states. May 17th 2018, Lecture 15 TMV027/DIT321 20/30 Turing Machines: Transition Functions In one move, the TM will: 1 Change to a (possibly) new state; 2 Replace the symbol below the head by a (possibly) new symbol; 3 Move the head to the left (denoted L) or to the right (denoted R). The behaviour of a TM is given by a possibly partial transition function δ Q Σ Q Σ {L, R} δ is such that for every q Q, a Σ there is at most one instruction. Note: We have a deterministic TM. May 17th 2018, Lecture 15 TMV027/DIT321 21/30

How to Compute with a TM? Before the execution starts, the tape of a TM looks as follows: a 1 a 2 a n 1 a n b 1 b m The input data is placed on the tape, if necessary separated with blanks; There are infinitely many blank to the left and to the right of the input; The head is placed on the first symbol of the input; The TM is in a special initial state q 0 Q; The machine then proceeds according to the transition function δ. May 17th 2018, Lecture 15 TMV027/DIT321 22/30 Turing Machine: Formal Definition Definition: A TM is a 6-tuple (Q, Σ, δ, q 0,, F ) where: Q is a non-empty, finite set of states; Σ is a non-empty alphabet such that {, L, R} Σ = ; δ Q Σ Q Σ {L, R} is a transition function, where Σ = Σ { }; q 0 Q is the initial state; is the blank symbol, / Σ; F is a non-empty, finite set of final or accepting states, F Q. Note: In some cases, the set F is not relevant (compare with FA). May 17th 2018, Lecture 15 TMV027/DIT321 23/30

Result of a Turing Machine Definition: Let M = (Q, Σ, δ, q 0,, F ) be a TM. We say that M halts if for certain q Q and a Σ, δ(q, a) is undefined. Whatever is written in the tape when the TM halts can be considered as the result of the computation performed by the TM. If we are only interested in the result of a computation, we can omit F from the formal definition of the TM. May 17th 2018, Lecture 15 TMV027/DIT321 24/30 Examples Example: Let Σ = {0, 1}, Q = {q 0 } and let δ be as follows: What does this TM do? δ(q 0, 0) = (q 0, 1, R) δ(q 0, 1) = (q 0, 0, R) Example: The execution of a TM might loop. Consider the following set of instructions for Σ and Q as above. δ(q 0, a) = (q 0, a, R) with a Σ { } May 17th 2018, Lecture 15 TMV027/DIT321 25/30

Recursive and Recursively Enumerable Languages Let M = (Q, Σ, δ, q 0,, F ) be a TM. Definition: The TM M accepts a word w Σ if when we run M with w as input, the TM is in a final state when it halts. Definition: The language accepted by a TM is the set of words that are accepted by the TM. Definition: A language is called recursively enumerable if there is a TM accepting the words in that language. Definition: A Turing decider is a TM that never loops, i.e. the TM halts. Definition: A language is called recursive or decidable if there is a Turing decider accepting the words in the language. May 17th 2018, Lecture 15 TMV027/DIT321 26/30 Hierarchy of Languages May 17th 2018, Lecture 15 TMV027/DIT321 27/30

Example of a Turing Decider How to define a TM that accepts the language L = {ww r w {0, 1} }? Let Σ = {0, 1, X, Y }, Q = {q 0,..., q 7 } and F = {q 7 }, Let a {0, 1}, b {X, Y, }, and c {X, Y }. δ(q 0, 0) = (q 1, X, R) δ(q 0, 1) = (q 3, Y, R) δ(q 0, ) = (q 7,, R) δ(q 1, a) = (q 1, a, R) δ(q 3, a) = (q 3, a, R) δ(q 1, b) = (q 2, b, L) δ(q 3, b) = (q 4, b, L) δ(q 2, 0) = (q 5, X, L) δ(q 4, 1) = (q 5, Y, L) δ(q 5, a) = (q 6, a, L) δ(q 5, c) = (q 7, c, R) δ(q 6, a) = (q 6, a, L) δ(q 6, c) = (q 0, c, R) What happens with the input 0110? And with the input 010? May 17th 2018, Lecture 15 TMV027/DIT321 28/30 Overview of Next Lecture More on Turing machines; Summary of the course. May 17th 2018, Lecture 15 TMV027/DIT321 29/30

Overview of next Week Mon 21 Tue 22 Wed 23 Thu 24 Fri 25 Lec 13-15 HB3 TM. Summary. 15-17 EA Exercise 10-12 EA Exercise 15-17 EL41 Consultation 10-12 ES53 Individual help Lec 13-15 HB3 Exams. Assignment 7: TM. Deadline: Friday May 25th 23:59. May 17th 2018, Lecture 15 TMV027/DIT321 30/30