Transparency No. P3C3-1 Formal Language and Automata Theory Part III Turing Machines and Effective Computability.

Slides:



Advertisements
Similar presentations
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
Advertisements

CSCI 4325 / 6339 Theory of Computation Zhixiang Chen Department of Computer Science University of Texas-Pan American.
1 COMP 382: Reasoning about algorithms Unit 9: Undecidability [Slides adapted from Amos Israeli’s]
February 6, 2015CS21 Lecture 141 CS21 Decidability and Tractability Lecture 14 February 6, 2015.
1 Undecidability Andreas Klappenecker [based on slides by Prof. Welch]
1 Introduction to Computability Theory Lecture14: Recap Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
Introduction to Computability Theory
1 Introduction to Computability Theory Lecture13: Mapping Reductions Prof. Amos Israeli.
CPSC 411, Fall 2008: Set 12 1 CPSC 411 Design and Analysis of Algorithms Set 12: Undecidability Prof. Jennifer Welch Fall 2008.
Reducibility A reduction is a way of converting one problem into another problem in such a way that a solution to the second problem can be used to solve.
Costas Busch - RPI1 Undecidable problems for Recursively enumerable languages continued…
Transparency No Formal Language and Automata Theory Chapter 10 The Myhill-Nerode Theorem (lecture 15,16 and B)
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
CS 302: Discrete Math II A Review. An alphabet Σ is a finite set (e.g., Σ = {0,1}) A string over Σ is a finite-length sequence of elements of Σ For x.
Transparency No. P3C3-1 Formal Language and Automata Theory Part III Turing Machines and Effective Computability.
1 Undecidability Andreas Klappenecker [based on slides by Prof. Welch]
Transparency No. P2C3-1 Formal Language and Automata Theory Chapter 3 Pushdown Automata and Context-Free Languages.
Transparency No. P2C3-1 Formal Language and Automata Theory Chapter 3 Pushdown Automata and Context-Free Languages.
Decidability. Why study un-solvability? When a problem is algorithmically unsolvable, we realize that the problem must be simplified or altered before.
Decidable and undecidable problems deciding regular languages and CFL’s Undecidable problems.
Transparency No. P3C3-1 Formal Language and Automata Theory Part III Turing Machines and Effective Computability.
Transparency No. P3C1-1 Turing Machines PART III Turing Machines and Effective Computability.
Linear Bounded Automata LBAs
1 Decidability continued. 2 Undecidable Problems Halting Problem: Does machine halt on input ? State-entry Problem: Does machine enter state halt on input.
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 5 Reducibility Contents Undecidable Problems from Language Theory.
Transparency No. P2C1-1 Formal Language and Automata Theory Part II Pushdown Automata and Context-Free Languages.
CS5371 Theory of Computation Lecture 12: Computability III (Decidable Languages relating to DFA, NFA, and CFG)
Transparency No. 8-1 Formal Language and Automata Theory Chapter 8 DFA state minimization (lecture 13, 14)
Final Exam Review Cummulative Chapters 0, 1, 2, 3, 4, 5 and 7.
Transparency No. P3C3-1 Formal Language and Automata Theory Part III Turing Machines and Effective Computability.
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen Department of Computer Science University of Texas-Pan American.
Decidability A decision problem is a problem with a YES/NO answer. We have seen decision problems for - regular languages: - context free languages: [Sections.
TM Design Universal TM MA/CSSE 474 Theory of Computation.
Transparency No. P3C1-1 Turing Machines PART III Turing Machines and Effective Computability.
1 Undecidability Reading: Chapter 8 & 9. 2 Decidability vs. Undecidability There are two types of TMs (based on halting): (Recursive) TMs that always.
MA/CSSE 474 Theory of Computation Enumerability Reduction.
Theory of Computing Lecture 21 MAS 714 Hartmut Klauck.
1 Turing’s Thesis. 2 Turing’s thesis: Any computation carried out by mechanical means can be performed by a Turing Machine (1930)
 2005 SDU Lecture13 Reducibility — A methodology for proving un- decidability.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
Grammars A grammar is a 4-tuple G = (V, T, P, S) where 1)V is a set of nonterminal symbols (also called variables or syntactic categories) 2)T is a finite.
Chapter 8 Properties of Context-free Languages These class notes are based on material from our textbook, An Introduction to Formal Languages and Automata,
CSCI 2670 Introduction to Theory of Computing October 13, 2005.
1 Linear Bounded Automata LBAs. 2 Linear Bounded Automata (LBAs) are the same as Turing Machines with one difference: The input string tape space is the.
Donghyun (David) Kim Department of Mathematics and Computer Science North Carolina Central University 1 Chapter 4 Decidability Some slides are in courtesy.
Transparency No. P3C2-1 Formal Language and Automata Theory PART III Chapter 2 Other Equivalent models of Standard Turing machine.
1 Undecidability Andreas Klappenecker [based on slides by Prof. Welch]
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 12 Mälardalen University 2007.
Unrestricted Grammars
Transparency No. P3C1-1 Turing Machines PART III Turing Machines and Effective Computability.
1 Unit – 5 : STATE MACHINES Syllabus: Languages and Grammars – Finite State Machines State machines and languages – Turing Machines – Computational Complexity.
 2005 SDU Lecture11 Decidability.  2005 SDU 2 Topics Discuss the power of algorithms to solve problems. Demonstrate that some problems can be solved.
The Church-Turing Thesis Chapter Are We Done? FSM  PDA  Turing machine Is this the end of the line? There are still problems we cannot solve:
FORMAL LANGUAGES, AUTOMATA, AND COMPUTABILITY * Read chapter 4 of the book for next time * Lecture9x.ppt.
Recursively Enumerable and Recursive Languages. Definition: A language is recursively enumerable if some Turing machine accepts it.
Linear Bounded Automata LBAs
FORMAL LANGUAGES AND AUTOMATA THEORY
Reductions Costas Busch - LSU.
CSCE 355 Foundations of Computation
LIMITS OF ALGORITHMIC COMPUTATION
Jaya Krishna, M.Tech, Assistant Professor
Instructor: Aaron Roth
Subject Name: FORMAL LANGUAGES AND AUTOMATA THEORY
Decidability continued….
Automata, Grammars and Languages
More Undecidable Problems
Sub: Theoretical Foundations of Computer Sciences
MA/CSSE 474 Theory of Computation
Presentation transcript:

Transparency No. P3C3-1 Formal Language and Automata Theory Part III Turing Machines and Effective Computability

Transparency No. P3C3-1 Formal Language and Automata Theory PART III Chapter 3 Undecidable Problems

Undecidable problems about CFLs Transparency No. P3C3-3 The Halting Problem L : any of your favorite programming languages (C, C++, Java, BASIC, TuringLang, etc. ) Problem: Can you write an L-program HALT(P,X), which takes another L-program P() and string X as input, and HALT(P,X) return true if P(X) halt and return false if P(X) does not halt. The problem of,given an (L-)program P and a data X,determining if P will halt on input X is called the halting problem [for L]. Use simple diagonalization principle, we can show that the halting problem is undecidable (or unsolvable)[i.e., the program HALT(P,X) does not exist!!]

Undecidable problems about CFLs Transparency No. P3C3-4 Halt(P,X) does not exist Ideas leading to the proof: Problem1 : What about the truth value of the sentence: L: L is false Problem 2 : Let S = {X | X  X}. Then does S belong to S or not ? The analysis: S  S => S  S; S  S => S  S. Conclusion: 1. S is not a set!! 2. If a language is too powerful, it may produce expressions that is meaningless or can not be realized. Question: If HALT(P,X) can be programmed, will it incur any absurd result like the case of S? Ans: yes!!

Undecidable problems about CFLs Transparency No. P3C3-5 The proof Assume HALT(P,X) does exist (i.e, can be programmed). Now construct a new program Diag() with HALT() as a subroutine as follows: Diag(X) L 1 : if HALT(X,X) then goto L 1 ; L 2 : end. Properties of Diag(): 1. Diag(X) halts iff HALT(X,X) returns false. 2. Hence if X = P is a program ==> Diag(P) halts iff HALT(P,P) returns false iff P does not halt on P (i.e., P(P) does not halt). The absurd result: Will Diag() halt on input ‘Diag’ ? Diag(Diag) halts Diag does not halt on input Diag. (by (2)) a contradiction!! Hence both Diag and HALT are not programmable

Undecidable problems about CFLs Transparency No. P3C3-6 The Halting problem (for Turing machine) H = def {“M” ”w” |STM M halts on input w }. Notes: 1. By Turing-Church Thesis, any computable function or language can be realized by a [standard] Turing machine; hence H represents all instances of program- data pairs (P,D) s.t. program P halts on input D. 2. Hence to say HALT(P,X) does not exist is equivalent to say that there is no (total) Turing machine that can decide the language H (i.e., H is not recursive.) Theorem: H is r.e. but not recursive. Pf: (1) H is r.e. since H can be accepted by modifying the universal TM U so that it accepts no matter it would accept or reject in the original UTM. (2) H is not recursive: the proof is analog to previous proof. Assume H is recursive => H = L(M) for some total TM M. Now design a new TM M* as follows:

Undecidable problems about CFLs Transparency No. P3C3-7 H is not recursive On input “M” : 1. append a description ““M”” of the program “M” to the input”M”. 2. call and execute M 0 (“M” “”M””) but 2.1 if M 0 accept (t 0 ) => M* loop and does not halt. 2.2 if M 0 reject (r 0 ) => goto accept state t* of M* and halt. COPY M0M0 “M” “M” “”M”” M* r0r0 t0t0 t* loop

Undecidable problems about CFLs Transparency No. P3C3-8 H is not recursive Properties of M*: 1. M 0 is to HALT what M* is to Diag. 2. M* (“M”) halts iff M 0 (“M” “”M””) reject iff M does not halt on input”M”. Absurd result: Will M*(“M*”) halt ? By (2), M*(“M*”) halts iff M* does not halt on input “M*”, a contradiction!! Hence M* and M 0 does not exist. Corollary: The class of recursive languages is a proper subclass of the class of r.e. languages. pf: H is r.e. but not recursive.

Undecidable problems about CFLs Transparency No. P3C3-9 More undecidable problems about TMs Theorem: The following problems about TMs are undecidable. 1. [General Halting Problem; GHP] Given a TM M and input w, does M halt on input w. 2. [Empty input Halting Problem; EHP] Given a TM M, does M halt on the empty input string  ? 3. Given a TM M, does M halt on any input ? 4. Given a TM M, does M halt on all inputs ? 5. Given two TMs M1 and M2, do they halt on the same inputs ? 6. Given a TM M, Is the set {x | M halts on x} recursive ? 7. [Halting problem for some fixed TM] Is there a TM M, the halting problem for which is undecidable (i.e., {x | M halt on x} is not recursive ? pf: (1) has been shown; for (7) the UTM U is just one of such machine. (2) ~(6) can be proved by the technique of problem reduction and (1).

Undecidable problems about CFLs Transparency No. P3C3-10 Problem Reduction L 1, L 2 : two languages over  1 and  2 respectively. A reduction from L 1 to L 2 is a computable function f :  1 * -->  2 * s.t. f(L 1 )  L 2 and f(~L 2 )  ~L 2. I.e., for all string x   1 *, x  L 1 iff f(x)  L 2. f(L 1 ) L1L1 ~L 1 1*1* 2*2* f(~L 1 ) f(L 1 ) L2L2 ~L 2 f(~L 1 )

Undecidable problems about CFLs Transparency No. P3C3-11 Problem reduction. We use L 1  f L 2 to mean f is a reduction from L 1 to L 2. We use L 1  L 2 to mean there is a reduction from L 1 to L 2. If L 1  L 2 we say L 1 is reducible to L 2. L 1  L 2 means L 1 is simpler than L 2 in the sense that we can modify any program deciding L 2 to decide L 1. Hence 1. if L 2 is decidable then so is L 1 and 2. If L 1 is undecidable, then so is L 2. Theorem: If L 1  L 2 and L 2 is decidable(or semidecidable, respectively), then so is L 1. Pf: Let L 2 = L(M) and T is the TM computing the reduction f from L 1 to L 2. Now let M* be the machine: on input x 1. call T, save the result f(x) on input tape 2. Call M // and M* accept (or reject) if M accept (or reject). ==> M* can decide (or semidecide) L 1. QED

Undecidable problems about CFLs Transparency No. P3C3-12 Proof of other undecidable problems pf of [EHP]:Let f be the function s.t. f(x) = “W w M” if x = “M””w”; o/w let f(x) = “”. where W w is a TM which always writes the string w on the input tape, go back to left-end and then exits. Lemma: f is a reduction from H to EHP. pf: 1. f is computable. (OK!) 2. for any input x if x  H => x = “M””w” for some TM M and input w and M halts on input w => W w M halt on empty input => W w M  EHP. 3. for any input x if x  H =>f(x) = “” or x = “M””w” for someTM M and input w and M does not halt on input w => W w M does not halt on empty input => W w M  EHP. Corollary: H  EPH and EHP is undecidable.

Undecidable problems about CFLs Transparency No. P3C3-13 EHP  (3)={“M” | M halt on som input}, EHP  (4) ={“M” | M halt on all inputs}. Let f be the function s.t.for any TM M, f(“M”) = “ERASE M”, where ERASE is the machine which always erases all its input, and go back to it left end. Lemma: f is a reduction from EHP to (3) and(4). pf: 1. f is computable. 2. for any TM M, “M”  EHP M halts on empty input ERASE M halts on some/all inputs “ERASE M”  (3),(4). QED Corollary: (3) and(4) are undecidable. (5)(6): left as erercises. (ref: textbook lec 33,34)

Undecidable problems about CFLs Transparency No. P3C3-14 More undecidable problems A semi-Thue T system is a pair T = ( , P) where  is an alphabet and P is a finite set of rules of the form:    where  ∈  + and  ∈  *. The derivation relation induced by a semi-Thue system T:  T = def { (x  y, x  y) | x, y ∈  *,    ∈ P } let  * T be the ref. and trans. closure of  T. The word-problem for semi-Thue system: Given a semi-Thue system T and two words x and y, determine if x  * T y ? Theorem: the word problem for Semi-Thue system (WST) is undecidable. I.e., WST = def { “(T,x,y)” | x  * T y } is undecidable.

Undecidable problems about CFLs Transparency No. P3C3-15 The undecidability of the word problem for ST system We reduce the halting problem H to WST. Let M be a DTM. we construct a semi-Thue system T(M) with alphabet  T = Q U  U { ],q f,q g }. The rule set P T of T(M) is defined as follows : Where a ∈  b ∈  U  ] , pab  aqb if  (p,a) = (q, R), p]  q] if  (p,) = (q,R) bpa  pba if  (p,a) = (q,L) p  q f if p ∈ {t, r} // halt =>enter into q f, ready to eliminate all tape symbols left to current position. q f [  [q f xq f  q f where x ∈  \ { [ } [q f  [q g, // ready to eliminate all remaining tape symbols [q g x  [q g where x ∈  \ { ] }.

Undecidable problems about CFLs Transparency No. P3C3-16 WST is undecidable. Lemma: (s, [x, 0) |-* M (h,y,n ) iff s[x]  * T(M) [q g ]. Sol: Let (s, [x, 0) = C 0 |- M C 1 |- … |- M C m = (h,y,n) be the derivation. consider the mapping: f((p, [z, i)) = [z 1..i-1 p z i..|x| ], we have C |- M D  f(C)  T(M) f(D) for all configuration C,D (**). This can be proved by induction on k. Hence f(C 0 ) = s[x]  * T(M) f(C m ) = [y 1..n-1 h y n..|y| ]  * [y 1..n-1 q f y n..|y| ]  * [q f y n..|y| ]  * [q g y n..|y| ]  * [q f ] Conversely, if s[x]  * [q g ], there must exist intermediate cfgs s.t. s[x]  * [yhz]  * [yq f z]  * [q g z]  * [q g ]. Hence (s, [x, 0) |-* M (h,yz,|y|) and M halts on input x.

Undecidable problems about CFLs Transparency No. P3C3-17 Word problem for special SemiThue systems. Corollary: H is reduciable to WST. Sol: for any TM M and input x, M halts on x iff (s, [x, 0) |-* M (h,y,n ) for some y,n iff [sx]  T(M) [q g ]. I.e., “(M,x)” ∈ H iff “(T(M), s[x],[q g ])” ∈ WST, for all TM M and input x. Hence H is reducible to WST. Theorem: WST is undecidable. [word problem for semi-Thue system T]: Given a semi-Thue system T, the word problem for T is the problem of, given two input strings x, y, determining if x  * T y. Define WST(T) = { (x,y) | x  * T y } Theorem: Let M be any TM. If the halting problem for M is undecidable, then WST(T(M)) is undecidable. Pf: since H(M) (Halting Problem for M) is reducible to WST(T(M)). Corollary: There are semi-Thue systems whose word problem are undeciable. In particular, WST(T(UTM)) is undeciable.

Undecidable problems about CFLs Transparency No. P3C3-18 The PCP Problem [Post correspondence system] Let C = [(x 1,y 1 ),...,(x k,y k )] : a finite list of pairs of strings over  A sequence j1,j2,...jn of numbers in [1,k] (n > 0) is called a solution index (and x j1 x j2... x jn a solution) of the system C iff x j1 x j2... x jn = y j1 y j2... y jn. Ex: Let  = {0,1} and C= [(1,101),(10,00),(011,11)]. Does C has any solution? Ans: yes. the sequence is a solution index since x1 x3 x2 x3 = = = y1 y3 y2 y3.

Undecidable problems about CFLs Transparency No. P3C3-19 The PCP Problem [Post correspondence problem:] Given any correspondence system C, determine if C has a solution ? I.e. PCP = def {“C” | C = [(x1,y1),…,(xk,yk)], k > 0, is a list of pairs of strings and C has a solution. } Theorem: PCP is undecidable. pf: Since word problem of some particular semi-Thue systems WST(T) is reducible to PCP.

Undecidable problems about CFLs Transparency No. P3C3-20 Undecidability of the PCP Problem Let T = ( , P) be a semi-Thue system with alphabet {0,1} whose word problem is undecidable. For each pair of string x, y ∈  *, we construct a PCS C(x,y) as follows: C(x,y) has alphabet  = {0,1, *, 0, 1, *, [, ]} if z = a 1 a 2 … a k is a string over {0,1,*}, then let z denote a 1 a 2 …a k. wlog, let 0  0, 1  1 ∈ P. C(x,y) = { ,  ), ,  ) |    ∈ P} U { ([x*, [), (*, *), (*,*), (], *y]) } 0011**  …[x*] 0011**  …[*y]

Undecidable problems about CFLs Transparency No. P3C3-21 Example Ex: Let T = { 11  1, 00  0, 10  01 } Problem x = 1100  T y = 01 C(x,y) = { (11, 1), (11, 1), (00,0), (00, 0), (10,01) (10,01) (1,1), (1,1),(0,0),(0,0), (*,*), (*,*) } U ([1100*, [), (], *01] }

Undecidable problems about CFLs Transparency No. P3C3-22 Derivation vs solution The derivation : 1100  100  10  01  01 can be used to get a solution and vice versa. Theorem: x  * T y iff C(x,y) has a solution Corollary: PCP is undecidable. [1100*1 0 0 *1 0 *0 1 *0 1 *01 ] [ *1 00 *1 0 *01*01]

Undecidable problems about CFLs Transparency No. P3C3-23 Theorem: x  * T y iff C(x,y) has a solution Only-if: Let x = x 0  x 1  x 2 …  x k = y be a derivation of y from x, where x j = s j  j t j  s j  j t j = x j+1 with  j   j ∈ P Now consider the strings: u 0 = [x 0 * v 0 = [ has a common index u 1 = [x 0 * x 1 * = s 0  0 t 0 * v 1 = [ x 0 * = s 0  0 t 0 * has common index … u k-1 =[x 0 * x 1 * x 2 * x 3 * … x k-1 * v k-1 = [ x 0 * x 1 * x 2 * … x k-2 * u k = [x 0 * x 1 * x 2 * x 3 * … x k-1 * x k v k = [ x 0 * x 1 * x 2 * … x k-2 * x k-1 u k+1 = [x 0 * x 1 * x 2 * x 3 * … x k-1 * x k ] = v k+1 = [ x 0 * x 1 * x 2 * … x k-2 * x k-1 *x k ] has a common index =>C(x,y) has a solution.

Undecidable problems about CFLs Transparency No. P3C3-24 Theorem: x  * T y iff C(x,y) has a solution if-part: A solution of C(x,y) must begin with: [x*, [ and must end with ], *y] => the solution must be of the form: [x* w *y] if w contains ] => can be rewritten as [x*z*y]v*y]  U = [x*z*y] = V is also a solu.  To equal [x* V must begin with [ x* = s 0  0 t 0 *  to match x* U must begin with [x* x 1 * = s 0  0 t 0 *  x=x 0  x 1  …  x=x 0  x 1  …  x k = y.

Undecidable problems about CFLs Transparency No. P3C3-25 Decidable and undecidable problems about CFLs The empty CFG problem: I/P: a CFG G = (N, , P, S) O/P: yes if L(G) = {}; no if L(G) is not empty. There exists efficient algorithm to solve this problem. Alg empty-CFG(G) 1. Mark all symbol in . 2. Repeat until there in no new (nonterminal) symbols marked for each rule A -> X 1 X 2 … X m in P do if ALL X i ’s are marked then mark A 3. If S is not marked then return(“yes”) else return(“no”). The alg can be implemented to run in time O(n 2 ). Similar problems existing efficient algorithms: 1. L(G) is infinite 2. L(G) is finite 3. L(G) contains  (or any specific string) 4. Membership ( another input string x in L(G) )

Undecidable problems about CFLs Transparency No. P3C3-26 Undecidable problems about CFL But how about the problem: Whether L(G) =  *, the universal language ?

Undecidable problems about CFLs Transparency No. P3C3-27 Undecidable problems for CFGs Theorem : there is no algorithm that determines whether the lanaguges of two CFGs are disjoint. (i.e., the set DCFG = { “(G1,G2)” | G1 and G2 are CFGs and L(G1)  L(G2) is not empty } is undecidable. Pf: Reduce PCP to DCFG. Let C = (  c, { (x 1,y 1 ), …, (x n,y n ) ) be a PCS. Let G z = (N z,  z, S z, P z ), where z = x or y, N z = {S z }  z = S c U {1,2,…, n} P z = { S z  x i S z i, S z  x i i | i = 1..n } Lemma: C has a solution iff L(Gx)  L(Gy)   corollary: DCFG is undecidable. pf: since PCP is reducible to DCFG.

Undecidable problems about CFLs Transparency No. P3C3-28 Whether L(G) =  * is undecidable for CFGs The set UCFG = { “G” | G is a CFg and L(G) =  * } is undecidable. Pf: 1. For the previous grammar Gx and Gz, we know ~L(Gx) and ~L(Gz) are both context-free languages. -- left as an exercise Hence the set A = def ~L(Gx) U ~L(Gy) = ~(L(Gx)  L(Gy) ) By previous lemma : C has a solution iff L(Gx)  L(Gy)   iff ~A   iff A   * Hence any program deciding UCFG could be used to decide PCP, but we know PCP is undecidable, UCFG thus is undecidable.

Undecidable problems about CFLs Transparency No. P3C3-29 Ambiguity of CFGs is undecidable The set AMBCFG = {“G” | G is an ambiguous CFG } is undecidable. Pf: reduce PCP to AMBCFG. Let Gx, Gy be the two grammars as given previously. let G be the CFG with N = {S, S x, S y }, S G = S P = Px U Py U {S  S x, S  S y } Lemma: C has a solu iff L(G x ) and L(G y ) are not disjoint iff G is ambiguous. Corollary: AMBCFG is undecidable.

Undecidable problems about CFLs Transparency No. P3C3-30 The Chomsky Hierarchy Relationship of Languages, Grammars and machines Languagerecognition modelgeneration model Regular languages (type 3) languages Finite automata (DFA, NFA) regular expressions linear grammars CFL ( type 2, Context Free ) languages Pushdown automataCFG (type 2, context free) grammars CSL (type 1, Context sensitive) Languages LBA (Linear Bound Automata) CSG (Context sensitive, type 1 Grammars) Recursive LanguagesTotal Turing machines- R.E. (Recursively enumerative, type 0) Languages Turing machinesGPSG(type 0, general phrase-structure, unrestricted) grammar

Undecidable problems about CFLs Transparency No. P3C3-31 The Chomsky Hierarchy type 3 (regular langs) CFLs (type 2 langs) CSLs (type 1 Langs) Recursive Languages Recursively Enumerable(type 0) languages All Languages

Undecidable problems about CFLs Transparency No. P3C3-32 Phrase-structure grammar Def.: A phrase-structure grammar G is a tuple G=(N, , S, P) where N, , and S are the same as for CFG, and P is a finite subset of (NU  )* N (NU  )* x (NU  )* is a set of production rules of the form:    where  ∈ (NU  )* N (NU  )* is a string over (NU  )* containing at least on nonterminal.  ∈ (NU  )* is a string over (NU  )*. Def: G is of type 2 =>  ∈ N. 3 (right linear)=> A  a B or A  a (a ≠  ) or S  . 1 => S  e or |  | ≤ |  |.

Undecidable problems about CFLs Transparency No. P3C3-33 Derivations Derivation  G ⊆ (NU  )* x (NU  )* is the least set of pairs such that : ∀ x,y ∈  UN)*,    ∈ P, x  y  G x  y. Let  * G be the ref. and tran. closure of  G. L(G) : the languages generated by grammar G is the set: L(G) = def {x ∈  * | S  * G x }

Undecidable problems about CFLs Transparency No. P3C3-34 Example Design CSG to generate the language L={0 n 1 n 2 n | n ≥ 0 }, which is known to be not context free. Sol: Consider the CSG G1 with the following productions: S  , S  0SABBA  AB, 0A  011A  11 1B  122B  22 For G1 we have S  0SAB  …  0 k (AB) k  * 0 k A k B k  0 k 1 k 2 k ∴ L ⊆ L(G1). Also note that if S  *  ==> #0(  ) = #(A|1)(  ) = #(B|2)(  ). if S  * a ∈ {0,1,2}* => a k = 0 ==> a j = 0 for all j < k. a k = 1 => a j = 1 or 0 for all j < k. Hence  must be of the form 0*1*2* =>  ∈ L. QED