1. Autˆomatos e Computabilidade: Prova 3
1. (1 ponto) O conjunto de todas as fun¸c˜oes comput´aveis f : Σ∗
→ Σ∗
´e cont´avel ou incont´avel?
Prove sua resposta.
Resposta: O conjunto de todas as fun¸c˜oes comput´aveis ´e cont´avel. Por defini¸c˜ao, uma
fun¸c˜ao f ´e comput´avel se existe uma m´aquina de Turing que, sobre a entrada w, escreve
f(w) na fita ´e para. Logo, toda fun¸c˜ao comput´avel est´a asociada a uma m´aquina de
Turing. Sabemos que o conjunto de m´aquinas de Turing ´e cont´avel, pois cada m´aquina
possui uma descri¸c˜ao finita que pode ser codificada como uma cadeia sobre um alfabeto,
e o conjunto de cadeias que s˜ao descri¸c˜oes v´alidas de uma m´aquina de Turing pode ser
enumerado em ordem lexicogr´afica.
2. (1 ponto) Considere esta afirma¸c˜ao: Toda linguagem infinita ´e indecid´ıvel. Prova: Seja w
uma cadeia e L uma linguagem infinita. Para determinar se w ∈ L, uma m´aquina de Turing
deve comparar w com cada uma das cadeias da linguagem. Se w ∈ L, em algum momento
a m´aquina de Turing aceita w e para. No entanto, se w /∈ L, a m´aquina de Turing deve
testar as infinitas cadeias de L e, consequentemente, n˜ao ir´a parar nunca. Portanto, L ´e
Turing-reconhec´ıvel, mas ´e indecid´ıvel.
A afirma¸c˜ao ´e verdadeira ou falsa? Justifique sua resposta.
Resposta: A afirma¸c˜ao ´e falsa. Por exemplo, a linguagem L = Σ∗
´e uma linguagem
infinita e ´e dec´ıdivel: uma m´aquina de Turing que aceita todas as cadeias sobre Σ decide
L. ´E verdade que a m´aquina de Turing descrita na prova n˜ao decide L, mas isso n˜ao
implica que L seja indec´ıdivel. Para provar a indecidibilidade deveriamos mostrar que
n˜ao existe uma m´aquina de Turing decisora.
3. (1 ponto) Em aula, para mostrar que a linguagem REGULARMT = { M | M ´e uma m´aquina
de Turing e L(M) ´e regular} ´e decid´ıvel, aplicamos uma redu¸c˜ao a partir de AMT. Se a
m´aquina R decide REGULARMT, ent˜ao a seguinte m´aquina decide AMT:
U= “Sobre a entrada M, w , onde M ´e uma m´aquina de Turing e w ´e uma cadeia:
1. Construa a seguinte m´aquina de Turing.
N: “Sobre a entrada x, onde x ´e uma cadeia:
1. Se x tem a forma 0n
1n
, aceite.
2. Se x n˜ao tem essa forma, rode M sobre w. Se M aceita, aceite.
2. Rode R sobre N, w .
3. Se R aceita, aceite; se R rejeita, rejeite.”
Do ponto de vista da redu¸c˜ao por mapeamento, qual a fun¸c˜ao comput´avel f que faz a
redu¸c˜ao? Qual a m´aquina de Turing que computa f?
2. Resposta: A fun¸c˜ao f : Σ∗
→ Σ∗
´e f( M,w ) = N , onde N ´e uma m´aquina de Turing
tal que L(N) ´e regular se e somente se M aceita w. A m´aquina de Turing que computa
F ´e
F= “Sobre a entrada M, w , onde M ´e uma m´aquina de Turing e w ´e uma cadeia:
1. Construa a seguinte m´aquina de Turing.
N: “Sobre a entrada x, onde x ´e uma cadeia:
1. Se x tem a forma 0n
1n
, aceite.
2. Se x n˜ao tem essa forma, rode M sobre w. Se M aceita, aceite.
2. Dˆe como saida N .”
4. (a) (1 ponto) A linguagem A = { M | M ´e uma m´aquina de Turing e L(M) ´e finita} ´e
decid´ıvel ou indecid´ıvel? Prove sua resposta.
Resposta: A satisfaz as condi¸c˜oes do Teorema de Rice. Podemos construir uma
m´aquina de Turing M1 que n˜ao aceite nenhuma cadeia, e outra M2 que aceite qual-
quer cadeias. Ent˜ao, M1 /∈ A, M2 ∈ A e, portanto, A ´e n˜ao trivial. Tamb´em, se
duas m´aquinas M3 e M4 reconhecem a mesma linguagem, ent˜ao ambas reconhecem
uma linguagem com infinitas cadeias e ent˜ao M3 , M4 ∈ A, ou ambas n˜ao reco-
nhecem tal linguagem e ent˜ao M3 , M4 /∈ A. Assim, pelo Teorema de Rice, A ´e
indecid´ıvel.
(b) (1 ponto) A linguagem B = { M | M ´e uma m´aquina de Turing que dedide a linguagem
A do item (a)} ´e decid´ıvel ou indecid´ıvel? Prove sua resposta.
Resposta: A linguagem do item (a) ´e indecid´ıvel, portanto, B = ∅ e ´e decid´ıvel. A
seguinte m´aquina de Turing decide B:
F= “Sobre a entrada M , onde M ´e uma m´aquina de Turing , rejeite.”
5. Seja TUDOMT = { M | M ´e uma m´aquina de Turing e L(M) = Σ∗
}.
(a) (1,5 pontos) Mostre que TUDOMT n˜ao ´e decid´ıvel.
Resposta: A linguagem TUDOMT satisfaz as condi¸c˜oes do Teorema de Rice. Pode-
mos construir uma m´aquina de Turing M1 que n˜ao aceite nenhuma cadeia, e outra
M2 que aceite qualquer cadeias. Ent˜ao, M1 /∈ TUDOMT, M2 ∈ TUDOMT e, por-
tanto, A ´e n˜ao trivial. Tamb´em, se duas m´aquinas M3 e M4 reconhecem a mesma
linguagem, ent˜ao ambas reconhecem Σ∗
e ent˜ao M3 , M4 ∈ TUDOMT, ou ambas
n˜ao reconhecem Σ∗
e ent˜ao M3 , M4 /∈ TUDOMT. Assim, pelo Teorema de Rice,
TUDOMT ´e indecid´ıvel. Sabemos, tamb´em, que se uma linguagem ´e indecid´ıvel, seu
complemento tamb´em ´e. Ent˜ao, TUDOMT ´e indecid´ıvel.
(b) (1,5 pontos) Prove que TUDOMT n˜ao ´e Turing-reconhec´ıvel.
3. Resposta: Mostramos que AMT ≤m TUDOMT. A seguinte m´aquina de Turing
computa uma fun¸c˜ao redutora f:
F= “Sobre a entrada M, w , onde M ´e uma m´aquina de Turing , e w uma
cadeia:
1. Construa a seguinte m´aquina de Turing.
N: “Sobre a entrada x, onde x ´e uma cadeia:
1. Rode M sobre w. Se M aceita, aceite.
2. Dˆe como saida N .”
Note que, se M aceita w, L(N) = Σ∗
, e se M n˜ao aceita w, L(N) = ∅.
Se AMT ≤m TUDOMT, ent˜ao AMT ≤m TUDOMT. Sabemos que AMT n˜ao ´e Turing-
reconhec´ıvel, ent˜ao TUDOMT tampouco ´e.
Notem que esta reposta tamb´em responde a quest˜ao 5 (a), pois se uma linguagem
n˜ao ´e Turing-reconhec´ıvel, tampouco ´e decid´ıvel.
6. (2 pontos) Seja T uma m´aquina de Turing que computa uma fun¸c˜ao t : Σ∗
× Σ∗
→ Σ∗
. O
Teorema da Recurs˜ao diz que existe uma m´aquina de Turing R que computa uma fun¸c˜ao
r : Σ∗
→ Σ∗
tal que, para toda cadeia w ∈ Σ∗
, r(w) = t( R ,w). Explique como construir
R.
Resposta: R ´e construida pela concatena¸c˜ao de trˆes m´aquinas, R = ABT. Seja Px
uma m´aquina que, sobre uma entrada w, escreve x na fita `a esquerda de w e usando um
separador #. Ent˜ao, fazemos
(a) A = P BT : A escreve BT na fita, `a esquerda da cadeia de entrada w e usando
o separador #. Assim, sobre a entrada w, A produz a sa´ıda BT #w e passa o
controle a B.
(b) B ´e uma m´aquina que, sobre uma entrada x#w, computa Px e escreve Px na
fita `a esquerda da entrada. Assim, sobre a entrada BT #w, B produz a sa´ıda
P BT BT #w e passa o controle a T. Sendo que A = P BT , e A BT =
ABT , ent˜ao a sa´ıda de B ´e ABT #w. Ainda, R = ABT, ent˜ao a sa´ıda de B ´e
R #w.
(c) Finalmente, T opera sobre a entrada R #w.