Preview only show first 10 pages with watermark. For full document please download

2º/2012 - Prova 03 De Autômatos E Computabilidade

Prova 03 de Autômatos e Computabilidade do 2º/2012 da UnB.

   EMBED


Share

Transcript

Autˆ omatos e Computabilidade: Prova 3 1. (1 ponto) O conjunto de todas as fun¸co˜es comput´aveis f : Σ∗ → Σ∗ ´e cont´avel ou incont´avel? Prove sua resposta. Resposta: O conjunto de todas as fun¸co˜es comput´aveis ´e cont´avel. Por defini¸ca˜o, uma fun¸ca˜o 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¸ca˜o 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¸ca˜o finita que pode ser codificada como uma cadeia sobre um alfabeto, e o conjunto de cadeias que s˜ao descri¸co˜es v´alidas de uma m´aquina de Turing pode ser enumerado em ordem lexicogr´afica. 2. (1 ponto) Considere esta afirma¸ca˜o: 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¸ca˜o ´e verdadeira ou falsa? Justifique sua resposta. Resposta: A afirma¸ca˜o ´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 ´ verdade que a m´aquina de Turing descrita na prova n˜ao decide L, mas isso n˜ao L. E 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 = {hM i| M ´e uma m´aquina de Turing e L(M ) ´e regular} ´e decid´ıvel, aplicamos uma redu¸ca˜o a partir de AMT . Se a m´aquina R decide REGULARMT , ent˜ao a seguinte m´aquina decide AMT : U = “Sobre a entrada hM, wi, 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 hN, wi. 3. Se R aceita, aceite; se R rejeita, rejeite.” Do ponto de vista da redu¸ca˜o por mapeamento, qual a fun¸ca˜o comput´avel f que faz a redu¸ca˜o? Qual a m´aquina de Turing que computa f ? Resposta: A fun¸ca˜o f : Σ∗ → Σ∗ ´e f (hM,wi) = hN i, 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 hM, wi, 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 hN i.” 4. (a) (1 ponto) A linguagem A = {hM i| 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¸co˜es do Teorema de Rice. Podemos construir uma m´aquina de Turing M1 que n˜ao aceite nenhuma cadeia, e outra M2 que aceite qualquer cadeias. Ent˜ao, hM1 i ∈ / A, hM2 i ∈ 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 hM3 i, hM4 i ∈ A, ou ambas n˜ao reconhecem tal linguagem e ent˜ao hM3 i, hM4 i ∈ / A. Assim, pelo Teorema de Rice, A ´e indecid´ıvel. (b) (1 ponto) A linguagem B = {hM i| 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 hM i, onde M ´e uma m´aquina de Turing , rejeite.” 5. Seja TUDOMT = {hM i| 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¸co˜es do Teorema de Rice. Podemos construir uma m´aquina de Turing M1 que n˜ao aceite nenhuma cadeia, e outra M2 que aceite qualquer cadeias. Ent˜ao, hM1 i ∈ / TUDOMT , hM2 i ∈ TUDOMT e, portanto, 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 hM3 i, hM4 i ∈ TUDOMT , ou ambas n˜ao reconhecem Σ∗ e ent˜ao hM3 i, hM4 i ∈ / 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. Resposta: Mostramos que AMT ≤m TUDOMT . A seguinte m´aquina de Turing computa uma fun¸ca˜o redutora f : F = “Sobre a entrada hM, wi, 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 hN i.” 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 Turingreconhec´ı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¸ca˜o t : Σ∗ × Σ∗ → Σ∗ . O Teorema da Recurs˜ao diz que existe uma m´aquina de Turing R que computa uma fun¸ca˜o r : Σ∗ → Σ∗ tal que, para toda cadeia w ∈ Σ∗ , r(w) = t(hRi,w). Explique como construir R. Resposta: R ´e construida pela concatena¸ca˜o 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 hBT i: A escreve hBT i na fita, `a esquerda da cadeia de entrada w e usando o separador #. Assim, sobre a entrada w, A produz a sa´ıda hBT i#w e passa o controle a B. (b) B ´e uma m´aquina que, sobre uma entrada x#w, computa Px e escreve hPx i na fita `a esquerda da entrada. Assim, sobre a entrada hBT i#w, B produz a sa´ıda hPhBT i ihBT i#w e passa o controle a T . Sendo que A = P hBT i, e hAihBT i = hABT i, ent˜ao a sa´ıda de B ´e hABT i#w. Ainda, R = ABT , ent˜ao a sa´ıda de B ´e hRi#w. (c) Finalmente, T opera sobre a entrada hRi#w.