Autˆomatos e Computabilidade: Prova 3
1. Diga se cada uma das seguintes afirma¸c˜oes ´e verdadeira ou falsa. Justifique sua resposta.
(a) Se L ´e decid´ıvel, LR pode ser ou n˜ao ser decid´ıvel. (LR ´e o reverso da linguagem L.)
Resposta: Falso. Se existe uma MT M que decide L, podemos construir uma
outra que decide M :
M = “Sobre a entrada w:
1. Obtenha wR invertindo w.
2. Rode M sobre wR.
3. Se M aceita, aceite; se rejeita, rejeite.”
(b) Se L ⊆ {0}∗ ent˜ao L ´e decid´ıvel.
Resposta: Falso. Podemos codificar qualquer linguagem indecid´ıvel, como AMT,
usando o alfabeto un´ario {0}. Por exemplo, podemos codificar cadeias s ∈ Σ∗ na
forma 0n, onde n ´e a posi¸c˜ao de s em uma lista de todas as cadeias sobre Σ em ordem
lexicogr´afica. Se Σ = {a, b}, ent˜ao a = 0, b = 00, aa = 000, ab = 0000 etc.
(c) Se L ≤m {0n1n| n ≥ 0}, ent˜ao L ´e decid´ıvel.
Resposta: Verdadeiro. A linguagem A = {0n1n| n ≥ 0} ´e livre-do-contexto e,
portanto, decid´ıvel. Se L se reduz a uma linguagem decid´ıvel, ent˜ao L tamb´em ´e
decid´ıvel.
(d) Se L ´e Turing-reconhec´ıvel e L ⊆ L ent˜ao L tamb´em ´e Turing-reconhec´ıvel, porque a MT
que aceita cadeias de L tamb´em aceita cadeias de L .
Resposta: Falso. L = Σ∗ ´e regular e, portanto, Turing-reconhec´ıvel, mas AMT ⊆ L
n˜ao ´e Turing-reconec´ıvel.
(e) Existe uma MT U que recebe M como entrada e computa uma MT M tal que, sobre uma
cadeia de entrada w, M aceita w se e somente se M para sobre w.
Resposta: Verdadeiro. Por exemplo:
U= “Sobre a entrada M :
1. Construa a seguinte MT M .
M : “Sobre a entrada w:
1. Rode M sobre w.
2. Se M para, aceite.”
2. Dˆe como sa´ıda M .”
(f) A linguagem EQMT,AFD = { M | M ´e uma MT e existe um AFD D tal que L(M) = L(D)}
´e decid´ıvel, pois todo AFD reconhece uma linguagem regular, e toda linguagem regular ´e
decid´ıvel.
Resposta: Falso. L(D) ´e uma linguagem regular. Pelo teorema de Rice, o pro-
blema de se determinar se uma MT aceita uma linguagem regular ´e indecid´ıvel.
2. Suponha que A ´e Turing-reconhec´ıvel e que A ≤m A. Prove que A ´e decid´ıvel.
Resposta: Se A ≤m A, ent˜ao A ≤m A. Pela redu¸c˜ao, se A ´e Turing-reconhec´ıvel, ent˜ao
A tamb´em ´e Turing-reconhec´ıvel. Se uma linguagem e seu complemento s˜ao Turing-
reconec´ıveis, ent˜ao ela ´e decid´ıvel.
3. Suponha que construimos uma lista de todas as descri¸c˜oes de m´aquinas de Turing, e.g., em ordem
lexicogr´afica: M1 , M2 , . . . , Mi , . . ., e uma lista de todas as cadeias: w1, w2, . . . , wi, . . .. Suponha
que ambas listas s˜ao comput´aveis: para qualquer i, ´e poss´ıvel determinar Mi e wi; tamb´em, dada
M , ´e poss´ıvel determinar i tal que Mi = M e, similarmente, dada w, ´e poss´ıvel determinar i
tal que wi = w.
Ainda, suponha que a seguinte linguagem seja indecid´ıvel: Ld = {w| existe i para o qual w = wi e
Mi n˜ao aceita wi}. Prove, ent˜ao, que AMT = { M, w | M ´e uma MT que aceita w} ´e indecid´ıdivel
por redu¸c˜ao a partir de Ld ou Ld.
Resposta: Suponha que AMT seja decid´ıvel. Ent˜ao, existe uma MT R que decide AMT.
Podemos construir uma MT U que decide Ld, da seguinte forma:
U= “Sobre a entrada w:
1. Determine i tal que wi = w.
2. Compute Mi .
3. Rode R sobre Mi, wi .
4. Se R aceita, rejeite, e se rejeita, aceite.”
Como sabemos que Ld ´e indecid´ıvel, U n˜ao pode existir, o que implica que AMT deve ser
indecid´ıvel.
4. (2 pontos) Prove que a linguagem L = { M | M aceita alguma cadeia w em, no m´aximo, |w|
passos} ´e Turing-reconhec´ıvel.
Resposta: A seguinte MT U reconhece L:
U= “Sobre a entrada M :
1. Enumere cadeias w ∈ Σ∗.
2. Rode M sobre cada cadeia w por |w| passos.
2. Se M aceita, aceite.”
5. (1 ponto) Como visto em aula, ´e poss´ıvel construir uma m´aquina de Turing AUTO que imprime
sua pr´opria descri¸c˜ao, concatenando duas m´aquinas de Turing A e B. Descreva as m´aquinas A e
B.
Resposta: A MT A = P B ignora sua entrada e escreve B na fita:
A= “Sobre qualquer entrada:
1. Apague a entrada.
2. Escreva B na fita.
3. Pare.”
A MT B, sobre a entrada w, computa Pw, e escreve Pw na frente de w:
B= “Sobre a entrada w:
1. Compute Pw.
2. Insira Pw na fita, na frente de w.
3. Pare.”
Assim a concatena¸c˜ao de A e B (AB) produz como resultado A B = AB

Prova 03 de Autômatos e Computabilidade

  • 1.
    Autˆomatos e Computabilidade:Prova 3 1. Diga se cada uma das seguintes afirma¸c˜oes ´e verdadeira ou falsa. Justifique sua resposta. (a) Se L ´e decid´ıvel, LR pode ser ou n˜ao ser decid´ıvel. (LR ´e o reverso da linguagem L.) Resposta: Falso. Se existe uma MT M que decide L, podemos construir uma outra que decide M : M = “Sobre a entrada w: 1. Obtenha wR invertindo w. 2. Rode M sobre wR. 3. Se M aceita, aceite; se rejeita, rejeite.” (b) Se L ⊆ {0}∗ ent˜ao L ´e decid´ıvel. Resposta: Falso. Podemos codificar qualquer linguagem indecid´ıvel, como AMT, usando o alfabeto un´ario {0}. Por exemplo, podemos codificar cadeias s ∈ Σ∗ na forma 0n, onde n ´e a posi¸c˜ao de s em uma lista de todas as cadeias sobre Σ em ordem lexicogr´afica. Se Σ = {a, b}, ent˜ao a = 0, b = 00, aa = 000, ab = 0000 etc. (c) Se L ≤m {0n1n| n ≥ 0}, ent˜ao L ´e decid´ıvel. Resposta: Verdadeiro. A linguagem A = {0n1n| n ≥ 0} ´e livre-do-contexto e, portanto, decid´ıvel. Se L se reduz a uma linguagem decid´ıvel, ent˜ao L tamb´em ´e decid´ıvel. (d) Se L ´e Turing-reconhec´ıvel e L ⊆ L ent˜ao L tamb´em ´e Turing-reconhec´ıvel, porque a MT que aceita cadeias de L tamb´em aceita cadeias de L . Resposta: Falso. L = Σ∗ ´e regular e, portanto, Turing-reconhec´ıvel, mas AMT ⊆ L n˜ao ´e Turing-reconec´ıvel. (e) Existe uma MT U que recebe M como entrada e computa uma MT M tal que, sobre uma cadeia de entrada w, M aceita w se e somente se M para sobre w. Resposta: Verdadeiro. Por exemplo: U= “Sobre a entrada M : 1. Construa a seguinte MT M . M : “Sobre a entrada w: 1. Rode M sobre w. 2. Se M para, aceite.” 2. Dˆe como sa´ıda M .” (f) A linguagem EQMT,AFD = { M | M ´e uma MT e existe um AFD D tal que L(M) = L(D)} ´e decid´ıvel, pois todo AFD reconhece uma linguagem regular, e toda linguagem regular ´e decid´ıvel. Resposta: Falso. L(D) ´e uma linguagem regular. Pelo teorema de Rice, o pro- blema de se determinar se uma MT aceita uma linguagem regular ´e indecid´ıvel. 2. Suponha que A ´e Turing-reconhec´ıvel e que A ≤m A. Prove que A ´e decid´ıvel. Resposta: Se A ≤m A, ent˜ao A ≤m A. Pela redu¸c˜ao, se A ´e Turing-reconhec´ıvel, ent˜ao A tamb´em ´e Turing-reconhec´ıvel. Se uma linguagem e seu complemento s˜ao Turing- reconec´ıveis, ent˜ao ela ´e decid´ıvel.
  • 2.
    3. Suponha queconstruimos uma lista de todas as descri¸c˜oes de m´aquinas de Turing, e.g., em ordem lexicogr´afica: M1 , M2 , . . . , Mi , . . ., e uma lista de todas as cadeias: w1, w2, . . . , wi, . . .. Suponha que ambas listas s˜ao comput´aveis: para qualquer i, ´e poss´ıvel determinar Mi e wi; tamb´em, dada M , ´e poss´ıvel determinar i tal que Mi = M e, similarmente, dada w, ´e poss´ıvel determinar i tal que wi = w. Ainda, suponha que a seguinte linguagem seja indecid´ıvel: Ld = {w| existe i para o qual w = wi e Mi n˜ao aceita wi}. Prove, ent˜ao, que AMT = { M, w | M ´e uma MT que aceita w} ´e indecid´ıdivel por redu¸c˜ao a partir de Ld ou Ld. Resposta: Suponha que AMT seja decid´ıvel. Ent˜ao, existe uma MT R que decide AMT. Podemos construir uma MT U que decide Ld, da seguinte forma: U= “Sobre a entrada w: 1. Determine i tal que wi = w. 2. Compute Mi . 3. Rode R sobre Mi, wi . 4. Se R aceita, rejeite, e se rejeita, aceite.” Como sabemos que Ld ´e indecid´ıvel, U n˜ao pode existir, o que implica que AMT deve ser indecid´ıvel. 4. (2 pontos) Prove que a linguagem L = { M | M aceita alguma cadeia w em, no m´aximo, |w| passos} ´e Turing-reconhec´ıvel. Resposta: A seguinte MT U reconhece L: U= “Sobre a entrada M : 1. Enumere cadeias w ∈ Σ∗. 2. Rode M sobre cada cadeia w por |w| passos. 2. Se M aceita, aceite.” 5. (1 ponto) Como visto em aula, ´e poss´ıvel construir uma m´aquina de Turing AUTO que imprime sua pr´opria descri¸c˜ao, concatenando duas m´aquinas de Turing A e B. Descreva as m´aquinas A e B. Resposta: A MT A = P B ignora sua entrada e escreve B na fita: A= “Sobre qualquer entrada: 1. Apague a entrada. 2. Escreva B na fita. 3. Pare.” A MT B, sobre a entrada w, computa Pw, e escreve Pw na frente de w: B= “Sobre a entrada w: 1. Compute Pw. 2. Insira Pw na fita, na frente de w. 3. Pare.” Assim a concatena¸c˜ao de A e B (AB) produz como resultado A B = AB