Presentation is loading. Please wait.

Presentation is loading. Please wait.

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

Similar presentations


Presentation on theme: "FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY"— Presentation transcript:

1 FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
15-453 FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

2 Which are SEMI-DECIDABLE?
ATM = { (M,w) | M is a TM that accepts string w } HALTTM = { (M,w) | M is a TM that halts on string w } ETM = { M | M is a TM and L(M) =  } REGTM = { M | M is a TM and L(M) is regular} EQTM = {( M, N) | M, N are TMs and L(M) =L(N)} ALLPDA = { P | P is a PDA and L(P) = Σ* } ALL UNDECIDABLE Use Reductions to Prove Which are SEMI-DECIDABLE?

3 Say: A is mapping reducible to B; Write: A m B
Let f : Σ*  Σ* be a computable function such that w  A  f(w)  B Σ* Σ* A B f f Say: A is mapping reducible to B; Write: A m B Also,  A m  B, why?

4 Theorem: If A m B and B is (semi) decidable, then A is (semi) decidable
Let M decide B and let f be a reduction from A to B Proof: We build a machine N that decides A as follows: On input w: 1. Compute f(w) 2. Run M on f(w)

5 ATM = { (M,w) | M is a TM that accepts string w }
HALTTM = { (M,w) | M is a TM that halts on string w } CLAIM: ATM m HALTTM CONSTRUCT f : Σ*  Σ* f: (M,w)  (M’, w) where M’( w) = M(w) if M(w) accepts Loops otherwise So, (M, w ) ATM  (M’, w)  HALTTM So HALTTM is NOT DECIDABLE, but it is SEMI-DECIDABLE (Why?)

6 ATM = { (M,w) | M is a TM that accepts string w }
ETM = { M | M is a TM and L(M) =  } CLAIM: ATM m  ETM  ATM m ETM CONSTRUCT f : Σ*  Σ* f: (M,w)  Mw where Mw (s) = M(w) if s = w Loops otherwise So, M(w) accepts  L (Mw)   So, (M, w ) ATM  Mw   ETM So  ETM is NOT DECIDABLE, but it is SEMI-DECIDABLE (why?) Is ETM SEMI-DECIDABLE?

7 ATM = { (M,w) | M is a TM that accepts string w }
REGTM = { M | M is a TM and L(M) is regular} CLAIM: ATM m REGTM So REGTM is UNDECIDABLE CONSTRUCT f : Σ*  Σ* f: (M,w)  M’w where M’w (s) = accept if s = 0n1n M(w) otherwise So, L (M’w) = Σ* if M(w) accepts {0n1n} if not So, (M, w ) ATM  M’w  REGTM Is REG SEMI-DECIDABLE?

8 ATM = { (M,w) | M is a TM that accepts string w }
REGTM = { M | M is a TM and L(M) is regular} CLAIM:  ATM m REGTM So, REG NOT SEMI-DECIDABLE CONSTRUCT f : Σ*  Σ* f: (M,w)  M”w where M”w (s) = accept if s = 0n1n and M(w) accepts Loop otherwise So, L (M’w) = {0n1n} if M(w) accepts  if not So, (M, w )  ATM  M”w  REGTM So, REG NOT SEMI-DECIDABLE

9 ETM = { M | M is a TM and L(M) =  }
EQTM = {( M, N) | M, N are TMs and L(M) =L(N)} CLAIM: ETM m EQTM So EQTM is UNDECIDABLE CONSTRUCT f : Σ*  Σ* f: M  (M, M  ) where M  (s) = Loops So, M E TM  (M, M  )  EQTM Is EQTM SEMI-DECIDABLE? NO, since,  ATM m ETM m EQTM

10 ATM = { (M,w) | M is a TM that accepts string w }
ALLPDA = { P | P is a PDA and L(P) = Σ* } CLAIM: ATM m  ALLPDA  ATM m ALLPDA CONSTRUCT f : Σ*  Σ* f: (M,w)  Pw where Pw (s) = accept iff s is NOT an accepting computation of M(w) So, (M, w )  ATM  Pw  ALLPDA So, (M, w ) ATM  Pw   ALLPDA

11 COMPUTATION HISTORIES
An accepting computation history is a sequence of configurations C1,C2,…,Ck, where 1. C1 is the start configuration, 2. Ck is an accepting configuration, 3. Each Ci follows from Ci-1 An rejecting computation history is a sequence of configurations C1,C2,…,Ck, where 1. C1 is the start configuration, 2. Ck is a rejecting configuration, 3. Each Ci follows from Ci-1 M accepts w if and only if there exists an accepting computation history that starts with C1=q0w

12 Non-deterministic checks for 1, 2, and 3.
P will recognize all strings (read as sequences of configurations) that: 1. Do not start with C1 2. Do not end with an accepting configuration 3. Where some Ci does not properly yield Ci+1 ε,ε → ε ε,ε → ε ε,ε → ε Non-deterministic checks for 1, 2, and 3.

13 { 0 | n ≥ 0 } 2n qreject qaccept x → x, L 0 → 0, L q2  → , R
x → x, R x → x, R q0 q1 q3 0 → , R 0 → x, R x → x, R  → , R 0 → 0, R  → , R 0 → x, R qreject qaccept q4 x → x, R  → , R

14 { 0 | n ≥ 0 } q00000 2n q1000 xq300 x0q40 x0xq3 x0q2x xq20x
0 → , R  → , R qaccept qreject 0 → x, R x → x, R 0 → 0, L x → x, L  → , L 0 → 0, R { 0 | n ≥ 0 } 2n q0 q1 q2 q3 q4 q00000 q1000 xq300 x0q40 x0xq3 x0q2x xq20x q2x0x q2x0x

15 P recognizes all strings except: #C1# C2R #C3 #C4R #C5 #C6R #….# Ck
If k is odd, put Ck on stack and see if Ck+1R follows properly: For example, If =uaqibv and  (qi,b) = (qj,c,R), then Ck properly yields Ck+1  Ck+1 = uacqjv

16 P recognizes all strings except: #C1# C2R #C3 #C4R #C5 #C6R #….# Ck
If k is odd, put Ck on stack and see if Ck+1R follows properly: If =uaqibv and  (qi,b) = (qj,c,L), then Ck properly yields Ck+1  Ck+1 = uqjacv

17 P recognizes all strings except: #C1# C2R #C3 #C4R #C5 #C6R #….# Ck
If k is even, put CkR on stack and see if Ck+1 follows properly.

18 #q00000#000q1#xq300#0q40x #x0xq3# ... #
q1 q1000 q0 xq300 x0q40 ODD x0xq3 x0q2x xq20x q2x0x : #q00000#000q1#xq300#0q40x #x0xq3# ... #

19 #q00000#000q1#xq300#0q40x #x0xq3# ... #
q1 q1000 q0 xq300 x0q40 ODD x0xq3 x0q2x xq20x q2x0x : #q00000#000q1#xq300#0q40x #x0xq3# ... #

20 #q00000#000q1#xq300#0q40x #x0xq3# ... #
q1 q1000 q0 xq300 x0q40 ODD x0xq3 x0q2x xq20x q2x0x : #q00000#000q1#xq300#0q40x #x0xq3# ... #

21 #q00000#000q1#xq300#0q40x #x0xq3# ... #
q1000 q1 xq300 x0q40 EVEN x0xq3 x0q2x xq20x q2x0x : #q00000#000q1#xq300#0q40x #x0xq3# ... #

22 #q00000#000q1#xq300#0q40x #x0xq3# ... #
q1000 q1 xq300 x0q40 EVEN x0xq3 x0q2x xq20x q2x0x : #q00000#000q1#xq300#0q40x #x0xq3# ... #

23 THE POST CORRESPONDENCE PROBLEM

24 THE PCP GAME ba a ba a a ab a ab b bcb b a

25 aaa a aaa a a c a aa a aa a aa c a

26 b ca b ca a ab a ab a ab ca a ca a abc c abc c

27 abc ab ca a acc ca

28 GENERAL RULE #1 If every top string is longer than the corresponding bottom one, there can’t be a match

29 caa a acc a b b aab aa c a

30 GENERAL RULE #2 If there is a domino with the same string on the top and on the bottom, there is a match

31 Given a collection of dominos, is there a match?
POST CORRESPONDENCE PROBLEM Given a collection of dominos, is there a match? PCP = { P | P is a set of dominos with a match } PCP is undecidable!

32 THE FPCP GAME … is just like the PCP game except that a match has to start with the first domino

33 FPCP aaa a aaa a a c a aa a aa a aa c a

34 FPCP ba a a ab b bcb b a

35 We will show how to use C to decide ATM
Theorem: FPCP is undecidable Proof: Assume machine C decides FPCP We will show how to use C to decide ATM

36 Given (M,w) we will construct a set of dominos P where a match is an accepting computation history for M on w caa c aba bb a d P = C P has a match?

37 { 0 | n ≥ 0 } 2n qreject qaccept x → x, L 0 → 0, L q2  → , R
x → x, R x → x, R q0 q1 q3 0 → , R 0 → x, R x → x, R  → , R 0 → 0, R  → , R 0 → x, R qreject qaccept q4 x → x, R  → , R

38 #q00000#q1000#xq300#x0q40#x0xq3# ... #
0 → , R  → , R qaccept qreject 0 → x, R x → x, R 0 → 0, L x → x, L  → , L 0 → 0, R { 0 | n ≥ 0 } 2n q0 q1 q2 q3 q4 q00000 q1000 xq300 x0q40 x0xq3 x0q2x xq20x q2x0x q2x0x #q00000#q1000#xq300#x0q40#x0xq3# ... # :

39 Given (M,w), we will construct an instance P of FPCP in 7 steps

40 STEP 1 # #q0w1w2…wn# Put into P START

41 If (q,a) = (p,b,R) then add If (q,a) = (p,b,L) then add
STEP 2 qa bp If (q,a) = (p,b,R) then add STEP 3 cqa pcb If (q,a) = (p,b,L) then add for all c  Γ RULES

42 { 0 | n ≥ 0 } 2n qreject qaccept x → x, L 0 → 0, L q2  → , R
x → x, R x → x, R q0 q1 q3 0 → , R 0 → x, R x → x, R  → , R 0 → 0, R  → , R 0 → x, R qreject qaccept q4 x → x, R  → , R

43 { 0 | n ≥ 0 } 2n qreject qaccept … 0 → , R  → , R 0 → x, R x → x, R
0 → 0, L x → x, L  → , L 0 → 0, R { 0 | n ≥ 0 } 2n q0 q1 q2 q3 q4 0q20 q200 xq20 q2x0 q20 q20 # #q00000# q00 q1 q10 xq3 0q3 q20 xq3 q2x q3 q2

44 STEP 4 a add for all a  Γ STEP 5 # # # add CONTINUE

45 STEP 4 STEP 5 STEP 6 a add for all a  Γ # # # add aqacc qacc qacca

46 # #q00000# # #q00000# # #q00000# q1 q00 q1 q00 xq3 q10 xq1 q1x q0x xqr q0 qr qa q1 q2 q1 q3x xq3 q30 0q4 q40 xq3 q4x xq4 q4 qr 0q20 q200 q20 q20 xq20 q2x0 q20 0q3 xq3 q2x q2 q3 0q3x q20x q2xx xq3x q3x q2x x # # # # 0qacc qacc0 x xqacc x qaccx x qacc x qacc xq3 q10

47 STEP 7 qacc## # add END

48 0 → 0, R  → , R q0 q1 qaccept  → , R qreject
# #q00# 0q1 q00 0qrej q10 qrej q0 q1 qacc # # # qacc qacc qacc 0qacc qacc qacc qacc qacc0 # qacc## # #q00# 0q1 q00 # # q1 qacc # qacc qacc # qacc 0qacc #

49 Given (M,w), we can construct an instance of FPCP that has a match if and only if M accepts w

50 Can convert an instance of FPCP into one of PCP:
Let u = u1u2…un, define: u =  u1  u2  u3  …  un u = u1  u2  u3  …  un  u =  u1  u2  u3  …  un  t1 b1 t2 b2 tk bk FPCP: t1 b1 t1 b1 t2 b2 tk bk  PCP:

51 Given (M,w), we can construct an instance of PCP that has a match if and only if M accepts w

52 Read Chapters 5.2 and 5.3 of the book for next time


Download ppt "FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY"

Similar presentations


Ads by Google