Lecture11.pptx

Download Report

Transcript Lecture11.pptx

15-453
FORMAL LANGUAGES,
AUTOMATA AND
COMPUTABILITY
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?
Let f : Σ*  Σ* be a computable function
such that w  A  f(w)  B
Σ*
A
f
B
Σ*
f
Say: A is mapping reducible to B;
Write: A m B
Also,  A   B, why?
Theorem: If A m B and B is (semi) decidable,
then A is (semi) decidable
Proof: Let M decide B and let f be a
reduction from A to B
We build a machine N that decides A as follows:
On input w:
1. Compute f(w)
2. Run M on f(w)
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 SEMIDECIDABLE (Why?)
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 SEMIDECIDABLE (why?) Is ETM SEMI-DECIDABLE?
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?
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
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?
 ATM m ETM m EQTM
NO, since,
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
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
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.
x → x, L
0 → 0, L
2n
{0 |n≥0}
q2
 → , R
 → , L
x → x, R
q0
x → x, R
 → , R
qreject
x → x, R
q1
0 → , R
 → , R
0 → x, R
q3
0 → 0, R
0 → x, R
qaccept
q4
 → , R
x → x, R
x → x, L
q 0000
0 →0 0, L
2n
{0 |n≥0}
q1000
q2
xq300
 → , R
 → , L
x → x, R
q0
x → x, R
 → , R
qreject
x0qx4→
0 x, R
q1
0 → , R
 → , R
x0xq
3
q
0 → x, R
0 → x, R
3
x0q2x
xq
0x0, R
0 2→
q2x0x
qq24x0x
qaccept
 → , R
x → x, R
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
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
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.
0
0
0
0
0
q0
0
0
q1 
q00000
q1000
xq300
ODD
x0q40
x0xq3
x0q2x
xq20x
q2x0x
:
#q00000#000q1#xq300#0q40x #x0xq3# ... #
0
0
0
0
0
q0
0
0
q1 
q00000
q1000
xq300
ODD
x0q40
x0xq3
x0q2x
xq20x
q2x0x
:
#q00000#000q1#xq300#0q40x #x0xq3# ... #
0
0
0
0
0
q0
0
0
q1 
q00000
q1000
xq300
ODD
x0q40
x0xq3
x0q2x
xq20x
q2x0x
:
#q00000#000q1#xq300#0q40x #x0xq3# ... #
 x

q1
0
0
0
q3 0 0
q00000
q1000
xq300
EVEN
x0q40
x0xq3
x0q2x
xq20x
q2x0x
:
#q00000#000q1#xq300#0q40x #x0xq3# ... #
 x

q1
0
0
0
q3 0 0
q00000
q1000
xq300
EVEN
x0q40
x0xq3
x0q2x
xq20x
q2x0x
:
#q00000#000q1#xq300#0q40x #x0xq3# ... #
THE POST CORRESPONDENCE
PROBLEM
THE PCP GAME
ba
a
b
b
a
ab
bcb
a
aaa
a
a
c
a
c
aa
a
b
a
ca
abc
ca
ab
a
c
abc
ca
acc
ab
a
ca
GENERAL RULE #1
If every top string is longer than the
corresponding bottom one, there can’t be a match
caa
acc
b
aab
c
a
a
b
aa
a
GENERAL RULE #2
If there is a domino with the same string on the
top and on the bottom, there is 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!
THE FPCP GAME
… is just like the PCP game except that a
match has to start with the first domino
FPCP
aaa
a
a
c
a
c
aa
a
FPCP
ba
a
b
b
a
ab
bcb
a
Theorem: FPCP is undecidable
Proof: Assume machine C decides FPCP
We will show how to use C to decide ATM
Given (M,w)
we will construct a set of
dominos P where a match is
an accepting computation
history for M on w
P=
caa
aba
c
bb
…
C
P has a match?
a
d
x → x, L
0 → 0, L
2n
{0 |n≥0}
q2
 → , R
 → , L
x → x, R
q0
x → x, R
 → , R
qreject
x → x, R
q1
0 → , R
 → , R
0 → x, R
q3
0 → 0, R
0 → x, R
qaccept
q4
 → , R
x → x, R
x → x, L
q 0000
0 →0 0, L
2n
{0 |n≥0}
q1000
q2
xq300
 → , R
 → , L
x → x, R
q0
x → x, R
 → , R
0 → , R
 → , R
x0qx4→
0 x, R
q1
x0xq
3
q
0 → x, R
0 → x, R
3
x0q2x
xq
0x0, R
0 2→
q2x0x
qq24x0x
qreject
qaccept
#q00000#q1000#xq300#x0q40#x0xq3# ... #
:
 → , R
x → x, R
Given (M,w), we will construct an
instance P of FPCP in 7 steps
STEP 1
#
Put
into P
#q0w1w2…wn#
START
STEP 2
If (q,a) = (p,b,R) then add
qa
bp
STEP 3
If (q,a) = (p,b,L) then add
cqa
pcb
RULES
for all c  Γ
x → x, L
0 → 0, L
2n
{0 |n≥0}
q2
 → , R
 → , L
x → x, R
q0
x → x, R
 → , R
qreject
x → x, R
q1
0 → , R
 → , R
0 → x, R
q3
0 → 0, R
0 → x, R
qaccept
q4
 → , R
x → x, R
x → x, L0q 0
0 → 0, L 2
2n
{0 |n≥0}
q2
 → , R
 → , L
xq20
x → x, R
x → x, R
q0
x → x, R
 → , R
#
qreject
#q00000#
q1
0 → , R
0 → x, R
qaccept
q10
q1
xq3
…
0q3
q2x0
q3
0 → x, R
 → , R
q00
q200
q20
0 → 0, R
q20
q4
xq3
q3
x, R
q20
q2x x →
q2
 → , R
STEP 4
a
add
for all a  Γ
a
STEP 5
#
#
#
#
add
CONTINUE
STEP 4
a
add
for all a  Γ
a
STEP 5
#
#
#
#
aqacc
qacca
qacc
qacc
add
STEP 6
add
for all a  Γ
#
q00
q10
q1x
#q00000#
q1
xq3
xq1
q0x
q0
q1
q2
qr
qa
q1
xqr
q3x
q30
q40
q4x
q4
0q20
q20
xq20
xq3
0q4
xq3
xq4
qr
q200
q20
q2x0
0q3
xq3
q3
0q3x
xq3x
q3x
x
0

q20
q2x
q2
q20x
q2xx
q2x
x
0

#
#
0qacc
qacc0
xqacc
qaccx
qacc
qacc
#
#
0
0
x
x
x
x

q10
0
0

xq3
0
0
STEP 7
qacc##
add
#
END
q0
0 → 0, R
 → , R
q1
qaccept
0 → 0, R
 → , R
qreject
#
q00
q10
q0
q1
0

#q00#
0q1
0qrej
qrej
qacc
0

#
#
qacc
0qacc
qacc
qacc0
qacc##
#
#
qacc
qacc
qacc
qacc
#
#
q00
#
0
q1
#
0
qacc
#
0qacc
#
#q00#
0q1
#
0
qacc
#
0
qacc
#
qacc
#
Given (M,w), we can construct an
instance of FPCP that has a match if
and only if M accepts w
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
t2
b1
b2
t1
t1
t2
b1
b1
b2
FPCP:
PCP:
…
…
tk
bk
tk

bk

Given (M,w), we can construct an
instance of PCP that has a match if
and only if M accepts w
For Next Time
Read Chapters 5.2 and 5.3 of the book for next time