ACS2: Decidability Decidability

Similar documents
acs-07: Decidability Decidability Andreas Karwath und Malte Helmert Informatik Theorie II (A) WS2009/10

FORMAL LANGUAGES, AUTOMATA AND COMPUTATION

Theory of Computation p.1/?? Theory of Computation p.2/?? We develop examples of languages that are decidable

Decidability (intro.)

What languages are Turing-decidable? What languages are not Turing-decidable? Is there a language that isn t even Turingrecognizable?

CSE 105 THEORY OF COMPUTATION

Decidability (What, stuff is unsolvable?)

} Some languages are Turing-decidable A Turing Machine will halt on all inputs (either accepting or rejecting). No infinite loops.

4.2 The Halting Problem

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

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

Intro to Theory of Computation

Decidability. Overview. Preliminaries to Halting Problem. Decidable Problems of Regular Languages. Decidable Problems of Context-Free Languages

Chap. 4,5 Review. Algorithms created in proofs from prior chapters

Undecidability. We are not so much concerned if you are slow as when you come to a halt. (Chinese Proverb)

Computability Theory

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

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

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

CSE 105 THEORY OF COMPUTATION. Spring 2018 review class

Decidable and undecidable languages

Computability Theory

Computability and Complexity

CSE 105 THEORY OF COMPUTATION

1 Showing Recognizability

Computational Models Lecture 8 1

Non-emptiness Testing for TMs

Computational Models Lecture 8 1

Computational Models Lecture 8 1

TURING MAHINES

Computation Histories

Turing Machines, diagonalization, the halting problem, reducibility

CSE 105 THEORY OF COMPUTATION

Theory of Computation (IX) Yijia Chen Fudan University

Reducability. Sipser, pages

Theory of Computation

CPSC 421: Tutorial #1

Turing Machines Part III

ECS 120 Lesson 18 Decidable Problems, the Halting Problem

Undecidable Problems and Reducibility

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

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

Decidable Languages - relationship with other classes.

Intro to Theory of Computation

CS20a: Turing Machines (Oct 29, 2002)

THEORY OF COMPUTATION (AUBER) EXAM CRIB SHEET

COMP/MATH 300 Topics for Spring 2017 June 5, Review and Regular Languages

CSE 105 THEORY OF COMPUTATION

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

V Honors Theory of Computation

16.1 Countability. CS125 Lecture 16 Fall 2014

Decidability and Undecidability

CS5371 Theory of Computation. Lecture 14: Computability V (Prove by Reduction)

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

Lecture Notes: The Halting Problem; Reductions

UNIT-VIII COMPUTABILITY THEORY

DM17. Beregnelighed. Jacob Aae Mikkelsen

Part I: Definitions and Properties

CSE 105 THEORY OF COMPUTATION

CSE 105 THEORY OF COMPUTATION

Undecidability. Andreas Klappenecker. [based on slides by Prof. Welch]

CP405 Theory of Computation

Computational Models Lecture 7, Spring 2009

Computability and Complexity

Introduction to Languages and Computation

A non-turing-recognizable language

CSCE 551 Final Exam, Spring 2004 Answer Key

CSE 105 THEORY OF COMPUTATION

Decidability: Church-Turing Thesis

CSCI3390-Lecture 6: An Undecidable Problem

AC68 FINITE AUTOMATA & FORMULA LANGUAGES DEC 2013

The Unsolvability of the Halting Problem. Chapter 19

CSCI 2200 Foundations of Computer Science Spring 2018 Quiz 3 (May 2, 2018) SOLUTIONS

CS20a: Turing Machines (Oct 29, 2002)

Homework Assignment 6 Answers

Further discussion of Turing machines

Lecture 12: Mapping Reductions

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

CSE 105 THEORY OF COMPUTATION

CpSc 421 Final Exam December 15, 2006

CS 361 Meeting 26 11/10/17

CS 125 Section #10 (Un)decidability and Probability November 1, 2016

Discrete Mathematics for CS Spring 2007 Luca Trevisan Lecture 27

Turing Machines. Reading Assignment: Sipser Chapter 3.1, 4.2

Reading Assignment: Sipser Chapter 3.1, 4.2

Introduction to the Theory of Computing

From Fundamentele Informatica 1: inleverdatum 1 april 2014, 13:45 uur. A Set A of the Same Size as B or Larger Than B. A itself is not.

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

Chomsky Normal Form and TURING MACHINES. TUESDAY Feb 4

Lecture 23: Rice Theorem and Turing machine behavior properties 21 April 2009

1 Reducability. CSCC63 Worksheet Reducability. For your reference, A T M is defined to be the language { M, w M accepts w}. Theorem 5.

CS154, Lecture 10: Rice s Theorem, Oracle Machines

15-251: Great Theoretical Ideas in Computer Science Lecture 7. Turing s Legacy Continues

Introduction to Automata

MTAT Introduction to Theoretical Computer Science

CSE 105 THEORY OF COMPUTATION

Decision Problems with TM s. Lecture 31: Halting Problem. Universe of discourse. Semi-decidable. Look at following sets: CSCI 81 Spring, 2012

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

CS3719 Theory of Computation and Algorithms

Transcription:

Decidability Bernhard Nebel and Christian Becker-Asano 1

Overview An investigation into the solvable/decidable Decidable languages The halting problem (undecidable) 2

Decidable problems? Acceptance problem : decide whether an automaton accepts a string Equivalence problem : Decide whether two automata are equivalent, i.e. accept the same language Emptiness testing problem : Decide whether the language of an automaton is empty Can be applied to DFA, NFA, REX, PDA, CFG, TM, 3

Acceptance problem for DFAs To decide whether a particular DFA accept a given string w, we express this in a language: A DFA. A DFA contains the encodings of all DFAs together with the string w the DFAs accept: A { B, w B is a DFA that accepts input string w} DFA The problem of testing whether a DFA B accepts w is the same as the problem of whether <B,w> is a member of language A DFA. Proof idea: Decider M will simulate B on input w. If B would accept w, then M accepts; if B rejects, then M rejects. 4

Acceptance problem for DFAs Convert B = (Q, Σ, δ, q 0, F) and input w into string for TM s tape. E.g.: q0 q1 q2 q3 # 0 1 # <table> # q0 # q2 q3 # # 0 1 1 0 1 1 1 0 # q0 Theorem 4.1: A DFA is a decidable language. Proof: M= On input B, w, where B is a DFA and w is a string: 1. Simulate B on input w. 2. If the simulation ends in an accept state, accept. If it ends in a nonaccepting state, reject. 5

Acceptance problem for NFAs (T 4.2) A NFA = B, w B is an NFA that accepts input string w Theorem 4.2: A NFA is a decidable language. Proof: N = On input B, w where B is an NFA, and w is a string: 1. Convert NFA B to an equivalent DFA C, using the procedure for this conversion given in Theorem 1.39. 2. Run TM M from Theorem 4.1 on input C, w. 3. If M accepts, accept; otherwise, reject. Running TM M in stage 2 of N means incorporating M into the design of N as a subprocedure. 6

Acceptance problem for regular expressions A REX = R, w R is a regular expression that generates string w Theorem 4.3: A REX is a decidable language. Proof sketch: 1. Convert regular expression R into an NFA A according to Theorem 1.54. 2. Use Theorem 4.2 to run TM N on input A, w. 3. If N accepts 7

Emptiness testing problem for DFAs E DFA = A A is DFA for which L A = Theorem 4.4 E DFA is a decidable language. Proof: A DFA accepts some string iff reaching an accept state from the start state using valid transitions is possible. To test this condition we can design a TM T that uses a marking algorithm similar to that used in the example about connected graph presented in the end of the lecture about Turing machines. T= On input A where A is a DFA: 1. Mark the start state of A. 2. Repeat until no new states get marked: 3. Mark any state that has a transition coming into it from any state that is already marked. 4. If no accept state is marked, accept; otherwise, reject. 8

Equivalence problem for DFAs EQ { A, B A and B are DFAs and L( A) L( B)} DFA Theorem 4.5 EQ DFA Proof is a decidable language L( C ) ( L( A ) L( B )) ( L( A ) L( B )) L(A) L(B) The symmetric difference of L(A) and L(B) This expression is sometimes called the symmetric difference of L( A ) and L( B ). Here L( A ) is the complement of L( A ). The symmetric difference is useful here because L( C ) if and only if L( A ) L( B ). One can construct C from A and B with the constructions for proving the class of regular languages are closed under the complement, union, and intersection. These constructions are algorithms that can be carried out by Turing machines. Once C has been constructed one can use Theorem 4.4 to test whether L( C ) is empty. If it is empty, L( A ) and L( B ) must be equal. F="On input A,B, where A and B are DFA s: 1. Construct DFA C as described. 2. Run TM T from Theorem 4.4 on input C. 3. If T accepts, accept. If T rejects, reject. " 9

Acceptance problem for CFGs A { G, w G is a CFG that generates input string w} CFG Theorem A CFG Proof 4.6 4.7 is a decidable language Relies on the following property : If G is in Chomsky Normal Form, then any derivation of whas length at most 2 w 1 There are only finitely many derivations of length less than n. The TM S for A CFG follows. S="On input G,w, where G is a CFG and w is a string: 1. Convert G to an equivalent grammar in Chomsky normal form. 2. List all derivations with 2n 1 steps, where n is the length of w, except if n 0, then instead list all derivations with 1 step. 3. If any of these derivations generate w, accept; if not, reject. " 10

Emptiness testing problem for CFGs E { G G is a CFG for which L( G) } CFG Theorem E CFG Proof 4.7 4.8 is a decidable language Determine for each variable whether that variable is capable of generating a string of terminals R="On input G, where G is a CFG: 1. Mark all terminal symbols in G. 2. Repeat until no new variables get marked: 3. Mark any variable A where G has a rule A U U...U and 1 2 k each symbol U 1,...,U k has already been marked. 4. If the start symbol is not marked, accept; otherwise reject. " 11

Equivalence problem for CFGs EQ CFG = G, H G and H are CFGs and L G = L H In fact: EQ CFG is not decidable! The proof follows later. A method along the lines of the proof for DFAs is bound to fail, because the class of context free languages is not closed under complementation or intersection! 12

Every CFL is decidable Theorem 4.9 4.8 Every context free language is decidable Proof Let G be a CFG for A and design a TM M that decides A. We build a copy of G into M. It works as follows. G G M G ="On input w: 1. Run TM S (from m T4.6) T4.7) on input Gw, 2. If this machine accepts, accept; if it rejects, reject." 13

The relationship amoung classes of languages 14

The halting problem There is a specific problem that is algorithmically unsolvable (undecidable), e.g. the halting problem Philosophical implications : computers are fundamentally limited 15

The halting problem A TM = Theorem 4.11 A TM is undecidable. Proof given later. M, w M is a TM and M accepts w Observe that A TM is turing-recognizable. Thus, recognizers are more powerful than deciders, because requiring a TM to halt on all inputs (decider) restricts the kinds of languages that it can recognize. The following TM U recognizes A TM. U= On input M, w where M is a TM and w is a string: 1. Simulate M on input w. 2. If M ever enters its accept state, accept; if M ever enters its reject state, reject. Note: This machine loops on input M, w if M loops on w, which is why it does not decide A TM. 16

Diagonalization Georg Cantor 1873 Measure the size of (infinite) sets Consider the function f: A B f is injective (one-to-one), if f(a) f(b) whenever a b f is surjective (onto), if for every b B there is an a A: f(a) = b f is bijective (corresponence) if it is injective and surjective n f(n)= 2n 1 2 2 4 3 6 I 2i A and B are said to be the same size, if there exists a bijective function f, i.e. for every element in A there exists an unique element in B. Example: f: N(natural numbers) E(even numbers) f(n) = 2n is a bijective function Both sets have the same size Definition: A set is countable, if it is finite or has the same size as N. 17

Example 4.15: rational numbers Let Q = numbers. m n m, n N be the set of positive rational Q seems to be much larger than N, but Q is countable Informatik Theorie II (A) WS2008/09 18

R is uncountable R = the set of real numbers (have a decimal representation) Theorem 4.17 R is uncountable. Proof idea: We proof (by contradiction) that there is no correspondence between R and N. Assume that there were a correspondence f, then f must pair all members of N with all members of R. We construct x R that is not paired with any element of N by choosing the i th fractional digit of x to be different from the i th fractional digit of f(i). Example n f(n) 1 3.1414 2 5.567 3 0.888888 x = 0.275 So, x f(n) for all n 19

B the set of all infinite binary strings Lemma B is uncountable Proof idea By analogy to Let L be the set of all languages over Lemma L is uncountable Proof idea We define a correspondence between L and B Let * * { s, s,...}; which is countable 1 2 Each language A in L has a unique characteristic sequence in B defined as follows {, 0, 1, 00, 01, 10, 11, 000, 001,... } ; A { 0, 00, 01, 000, 001,... } ; A 0 1 0 1 1 0 0 1 1.... A f : L B : f ( A) A is a correspondence 20

Some languages are not Turingrecognizable Theorem (T4.15) Some languages are not Turing recognizable Proof There is a countable number of Turing Machines (Each Turing Machine can be encoded in a string; the set of all strings over a finite alphabet is countable; not all strings need to encode legal TMs) The set of all languages is uncountable Therefore there is no correspondence between the set of all TMs and the set of all languages. 21

A TM is undecidable (Proof) A { M, w M is a TM that accepts w} A TM Theorem TM (T4.9) 4.11 (revisited) is undecidable Proof by contradiction; assume Suppose His a decider for is decidable accept if M accepts w H ( M, w ) reject if M does not accept w A TM A TM 22

A TM is undecidable (ctd.) Use H to define D: On input M, where M is a TM 1. Run H on input < M, M 2. Output the opposite of what H outputs ; accept if M does not accept M So, D( M ) reject if M accepts M and accept if D does not accept D D( D ) reject if D accepts D This is impossible! Further Explanations H accepts M, w when M accepts w D rejects M when M accepts M D rejects D when D accepts D 23

Entry i,j is accept if M i accepts <M j > <M1> <M2> <M3> <M4>... M1 accept accept M2 accept accept accept accept M3... M4 accept accept 24

Entry i,j is the value of H on input <M i,<m j >> <M1> <M2> <M3> <M4>... M1 accept reject accept reject M2 accept accept accept accept M3 reject reject reject reject... M4 accept reject accept reject 25

What happens if D occurs? <M1> <M2> <M3> <M4>... <D>... M1 accept reject accept reject accept M2 accept accept accept accept accept M3 reject reject reject reject... reject... M4 accept reject accept reject accept D reject reject accept accept? 26

Co-Turing-recognizable and decidability Theorem 4.22 A language is decidable iff it is Turing-recognizable and co-turingrecognizable. Proof: Forward direction: If A is decidable, we can easily see that both A and its complement A are Turing-recognizable. Any decidable language is Turing-recognizable and the complement of a decidable language also is decidable. Backward direction: Assume both A and A are Turing-recognizable. Let M 1 be the recognizer for A and M 2 the recognizer for A. The following TM M is a decider for A: M= On input w: 1. Run both M 1 and M 2 on input w in parallel. 2. If M 1 accepts, accept; if M 2 accepts, reject. 27

A TM is not Turing-recognizable Corollary 4.23 A TM is not Turing-recognizable. Proof: We know that A TM is Turing-recognizable. Assume that A TM were also Turing-recognizable. A TM would be decidable. Theorem 4.11 tells us that A TM is undecidable. Contradiction! A TM is not Turing-recognizable. 28

Summary A TM A DFA, A NFA, A REX, A CFG, E DFA, E CFG, EQ DFA A TM The relationship amoung languages 29