Você está na página 1de 3

Autômatos e Computabilidade – Teste 6

1. Considere o problema de se determinar se uma máquina de Turing T não aceita nenhuma


cadeia w. Formule o problema como uma linguagem e prove que é indecidı́vel.

Resposta: VMT = {hT i| T é uma MT e L(T ) = ∅}. Prova: páginas 200–201 do livro
texto.

2. Considere o problema de se determinar se uma máquina de Turing T aceita qualquer cadeia


w. Formule o problema como uma linguagem e prove que é indecidı́vel.

Resposta: P = {hT i| T é uma MT e L(T ) = Σ∗ }. Prova: P satisfaz as duas condições


do teorema de Rice: (1) Podemos construir uma MT que rejeite qualquer cadeia, e outra
que aceite qualquer cadeia; logo, P é não trivial. (2) Se duas MT reconhecem a mesma
linguagem, então ambas reconhecem Σ∗ ou nenhuma delas a reconhece. Em consequência,
o teorema de Rice diz que P é indecidı́vel.

3. Considere o problema de se determinar se uma máquina de Turing T reconhece uma lin-


guagem regular. Formule o problema como uma linguagem e prove que é indecidı́vel.

Resposta: REGU LARMT = {hT i| T é uma MT e L(T ) = é uma linguagem regu-


lar }. Prova: páginas 201–202 do livro texto ou por aplicação do teorema de Rice:
REGU LARMT satisfaz as duas condições do teorema. (1) Podemos construir uma MT
que reconheça a linguagem não regular {0n 1n | n ≥ 0}, e outra que reconheça a linguagem
regular Σ∗ ; logo, REGU LARMT é não trivial. (2) Se duas MT reconhecem a mesma
linguagem, então ambas reconhecem uma linguagem regular ou nenhuma delas reconhece
uma. Em consequência, o teorema de Rice diz que REGU LARMT é indecidı́vel.

4. Considere o problema de se determinar se um autômato linearmente limitado A aceita uma


dada cadeia w. Formule o problema como uma linguagem e prove que é decidı́vel.

Resposta: AALL = {hA, wi| A é um ALL que aceita a cadeia w}. Prova: página 205 do
livro texto.

5. Considere o problema de se determinar se duas gramáticas livre-do-contexto geram a mesma


linguagem. Formule o problema como uma linguagem e prove que é indecidı́vel.

Resposta: EQGLC = {hG1 , G2 i| G1 e G2 são GLCs e L(G1 ) = L(G2 )}. Prova: Supo-
nha que EQGLC seja decidı́vel. Construı́mos, então, um decisor M para T ODASGLC =
{hGi| G é uma GLC e L(G) = Σ∗ }:

M = “Sobre a entrada hGi, onde G é uma GLC:


1. Construa uma GLC G0 tal que L(G0 ) = Σ∗ .
2. Rode o decisor para EQGLC sobre hG, G0 i.
3. Se o decisor aceita, aceite; se rejeita, rejeite.”

Como sabemos que T ODASGLC é indecidı́vel, concluimos que o decisor para EQGLC não
existe e, portanto, esta linguagem é indecidı́vel.
6. Considere o problema de se determinar se uma máquina de Turing T aceita uma cadeia de
entrada wR sempre que ela aceita w. Formule o problema como uma linguagem e prove que
é indecidı́vel.

Resposta: L = {hT i| T é uma MT que aceita wR sempre que ela aceita w}. Prova:
Suponha que L seja decidı́vel. Construı́mos, então, um decisor U para AMT = {hM, wi| M
é uma MT que aceita a cadeia w}:

U = “Sobre a entrada hM, wi, onde M é uma MT e w é uma cadeia:


1. Construa uma a seguinte MT Mw .
Mw = “Sobre a entrada x:
1. Se x = 01 aceite.
2. Se x = 10, simule M sobre w. Se M aceita w, aceite; se M
rejeita w, rejeite.
3. Se x 6= 01 e x 6= 10 rejeite.
2. Rode o decisor para L sobre hMw i.
3. Se o decisor aceita, aceite; se rejeita, rejeite.”

Como sabemos que AMT é indecidı́vel, concluimos que o decisor para L não existe e,
portanto, esta linguagem é indecidı́vel.

7. Considere o problema de se determinar se uma máquina de Turing T aceita a cadeia vazia


ε. Formule o problema como uma linguagem e prove que é indecidı́vel.

Resposta: P = {hT i| T é uma MT e ε ∈ L(T )}. Prova: P satisfaz as duas condições do


teorema de Rice: (1) Podemos construir uma MT que rejeite ε e outra que aceite ε; logo,
P é não trivial. (2) Se duas MT reconhecem a mesma linguagem, então ambas aceitam
εou ambas rejeitam ε. Em consequência, o teorema de Rice diz que P é indecidı́vel.
Também podemos usar redução a partir de AMT = {hM, wi| M é uma MT que aceita a
cadeia w}: Suponha que P seja decidı́vel. Construı́mos, então, um decisor U para AMT :

U = “Sobre a entrada hM, wi, onde M é uma MT e w é uma cadeia:


1. Construa uma a seguinte MT Mw .
Mw = “Sobre a entrada x:
1. Simule M sobre w. Se M aceita w, aceite; se M rejeita w, rejeite.”
2. Rode o decisor para P sobre hMw i.
3. Se o decisor aceita, aceite; se rejeita, rejeite.”

Note que Mw aceita ε (e, portanto, Mw ∈ P ) se e somente se M aceita w. Como sabemos


que AMT é indecidı́vel, concluimos que o decisor para P não existe e, portanto, esta
linguagem é indecidı́vel.

8. Considere o problema de se determinar se uma máquina de Turing T para sobre uma dada
cadeia de entrada w. Formule o problema como uma linguagem e prove que é indecidı́vel.

Resposta: P ARAMT = {hT, wi| T é uma MT que para sobre a cadeia w}. Prova:
páginas 198–199 do livro-texto.

9. Considere o problema de se determinar se duas máquinas de Turing reconhecem a mesma


linguagem. Formule o problema como uma linguagem e prove que é indecidı́vel.
Resposta: EQMT = {hT1 , T2 i| T1 e T2 são MTs e L(T1 ) = L(T2 )}. Prova: página 202
do livro-texto, ou redução a partir de AMT = {hM, wi| M é uma MT que aceita a cadeia
w}: Suponha que EQMT seja decidı́vel. Construı́mos, então, um decisor U para AMT :

U = “Sobre a entrada hM, wi, onde M é uma MT e w é uma cadeia:


1. Construa uma a seguinte MT M1 .
M1 = “Sobre a entrada x:
1. Aceite.”
2. Construa uma a seguinte MT M2 .
M1 = “Sobre a entrada x:
1. Simule M sobre w. Se M aceita w, aceite; se M rejeita w, rejeite.”
2. Rode o decisor para EQMT sobre hM1 , M2 i.
3. Se o decisor aceita, aceite; se rejeita, rejeite.”

Note que L(M1 ) = Σ∗ , e L(M2 ) = L(M1 ) se e somente se M aceita w. Como sabemos


que AMT é indecidı́vel, concluimos que o decisor para EQMT não existe e, portanto, esta
linguagem é indecidı́vel. .

Você também pode gostar