180 likes | 416 Views
Universidade Federal da Paraíba Programa de Pós-Graduação em Informática Teoria da Computação – 2013.1. 4 - DECIDIBILIDADE. SIPSER – Exercícios. Equipe: Dorgival Netto, Jarbele Cássia, Silvia Azevedo { dorgidetto , jarbele.cassia }@gmail.com, silvia.azevedo@dce.ufpb.br.
E N D
Universidade Federal da Paraíba Programa de Pós-Graduação em Informática Teoria da Computação – 2013.1 4 - DECIDIBILIDADE SIPSER – Exercícios Equipe: Dorgival Netto, Jarbele Cássia, Silvia Azevedo {dorgidetto, jarbele.cassia}@gmail.com, silvia.azevedo@dce.ufpb.br
Relembrando o conceito de Decidibilidade... • Um problema é decidível se sua solução é encontrada num tempo finito, ou seja, existe uma Máquina de Turing que retorna uma resposta. Caso contrário, ele é indecidível. O conceito de decidibilidade não trata a quantidade de tempos gasto e sim se ele é finito. • Se o problema pode ser representado por uma linguagem recursiva (onde a Máquina de Turing sempre pára) então o problema é decidível.
Decidível Não-decidível Completamente Insolúveis Parcialmente Decidível Computável Não Computável Relembrando o conceito de Decidibilidade...
4.2. Considere o problema de se determinar se um AFD e uma expressão regular são equivalentes. Expresse esse problema como uma linguagem e mostre que ele é decidível. • Resposta: • Como EQ AFD, EXR ={(A,R) / A é um AFD, R é uma expressão regular e L(A) = L(R)}. Mostre que MT E decide EQ AFD, EXR . • E = Sobre a entrada (A,R); onde E é uma MT: • Converta a expressão regular R para um AFD B, equivalente utilizando o procedimento indicado no teorema 1.28. • Use a MT C para decidir EQ AFD indicado no teorema 4.5, com a entrada (A,B). • Se R aceita, aceite. Se R rejeita, rejeite.
4.3. Seja TODAS AFD = {(A) / A é um AFD e L(A) = Σ*}. Mostre que a MT L decide TODASAFD. • Resposta: • Como TODAS AFD={(A) / A é um AFD que reconhece Σ*}. Mostre que a MT L decide TODAS AFD. • L = Sobre a entrada (A), quando A é um AFD. • Construa um AFD B que reconhece L(A) como descrito no exercício 1.10 • Rode a MT T do teorema 4.4 com a entrada (B), quando T decide E AFD. • Se T aceita, aceite. Se T rejeita, rejeite.
4.4. Seja AεGLC = {(G) / G é uma GLC que gera ε}. Mostre que AεGLC é decidível. • Resposta: • Como AεGLC = {(G) / G é uma GLC que reconhece ε}. Mostre que a MT V decide AεGLC. • V= Sobre a entrada (G) quando G é uma GLC: • Rode a MT S do teorema 4.6 com a entrada (G, ε), quando S é decidível para AGLC. • Se S aceita, aceite. Se S rejeita, rejeite.
4.10 Seja INFINITA AP = {(M)|M é um AP e L(M) é uma linguagem infinita}. Mostre que INFINITA AP é decidível. Resposta: Sabendo uma MT R decide INFINITA AP. Então: R = “Sobre a entrada (M), onde M é um AP: 1. Seja k o número de estados de M; 2. Construa um AP S que aceite todas as cadeias de comprimento k ou mais; 3. Construa um AP T, tal que L(T) = L(M) ∩ L(S); 4. Transforme o AP para um GLC; 5. Use o teorema 4.7; 6. Verifique se a GLC é limitada; 7. Se a GLC for limitada, aceite; se não, rejeite. Não gera AP! Até aqui temos a resolução adequada para ao problema 4.9. Mas, não é útil para este problema, visto que não há como garantir que a interseção entre dois APs gera um AP. Então, podemos retomar a resolução deste problema a partir do passo 4 a seguir.
S R é subconjunto de S 0* 4.12 Seja A = {(R, S)|R e S são expressões regulares e L (R) ⊆ L (S) }. Mostre que A é decidível. Respostas: Então L (R) ⊆ L (S), se e apenas se, L(S) ∩ L(R) = Ø. Faça MT X decide A. X = “Sobre a entrada (R, S), onde R e S são ER: 1. Construa um AFD E, de tal modo que L(E) = L(S) ∩ L(R); 2. Execute L (E) ≠Ø, usando o decisor T de E AFD do teorema 4.4; 3. Se T aceita, aceite. Se T rejeita, rejeite.” R 1*
4.15 Seja A = {(R) | R é uma expressão regular que descreve uma linguagem contendo pelo menos uma cadeia w que tem 111 como uma subcadeia (isto é, w = x111y para alguma x e alguma y)}. Mostre que A é decidível. Resposta: Definindo a MT X que decide A, temos: X = “ Sobre a entrada (R) onde R é uma ER e w =∑*111∑* : 1. Transforme R e w em: AFN1 e AFN2, respectivamente; 2. Transforme AFN1 e AFN2 em: AFD1 e AFD2, respectivamente; 3. Para AFD1 definimos M1. Para AFD2 definimos M2. De modo que L (M1 ∩ M2) = Ø. 4. Execute L (M1 ∩ M2) = Ø, usando o decisor T de Eafd do teorema 4.4; 5. Se T aceita, rejeite. Se T rejeita, aceite.” Veja que esta ER não é uma expressão fixa. Podemos ter: 01110, 10111001
Facilitando a compreensão da resolução... R ∑*111∑* AFN AFN AFD AFD M1 M2 ? L (M1 ∩ M2) = Ø Ver Teorema 4.4.
4.19 Seja S = { (M)|M é um AFD que aceita wR sempre que ele aceita w}. Mostre que S é decidível. • X = a entrada de (M), onde M é um AFD • 1. Construa um AFD N, L(M) R= {wR|w ∈ L(M)} • 2. Execute a MT F do Teorema 4.5 EQAFD = {(A,B)| A e B são AFDs e L(A) = L(B)} • 2.1 – F = “Sobre a entrada (M,N), onde M e N são AFDs” • 2.2 – Construa um AFD C, se L(M) = L(N) então L(C) = Ø
4.19 Seja S = { (M)|M é um AFD que aceita wR sempre que ele aceita w}. Mostre que S é decidível. • 2.3 – Testar a vacuidade de C, Teorema 4.4 VAFD = {(C)| C é um AFD e L(C) = Ø} • 2.3.1 – T = “Sobre a entrada (C), onde C é um AFD” • 2.3.2 – Se nenhum estado de aceitação estiver marcado, aceite. Caso contrário, rejeite. • 2.4 – Se T aceita, aceite. Se T rejeita, rejeite. • 3. Se F aceita, aceite. Se F rejeita, rejeite.
4.24 Seja PALAFD = { (M)|M é um AFD que aceita algum palíndromo}. Mostre que PALAFD é decidível. Seja K uma MT que decide EGLC: D = a entrada de M 1. Construa um AP P, L(P) = {w|w é um palíndromo} 2. Construa um AP P’, tal que, L(P’) = L(P) ∩ L(M) 3.Converta P’ em uma GLC equivalente G 4. K verifica se L(G) está vazia 5. Se L(G) está vazia, rejeite. Se não, aceite.
Lima, M. A. “Máquinas de Turing: Enumerabilidade e Decidibilidade”. Faculdade de Ciência da Computação – UFU. 2009. Disponível em: <http://www.facom.ufu.br/~madriana/TC/exercMT.pdf>, acesso em 04 mai 2013. Prado, S. D. “Apostila 06: Teoria da Computação”. Faculdade de Ciências – UNESP. 2009. Disponível em: <http://wwwp.fc.unesp.br/~simonedp/zipados/TC06.pdf>, acesso em 04 mai 2013. Sipser, M. “Introdução à Teoria da Computação”. 2ªed. São Paulo: Thomson Learning, 2007. Vídeo-aula sobre Decidibilidade: <https://class.coursera.org/automata/lecture/27. Esta vídeo-aula integra o curso de Teoria da Computação do Coursera. Referências
Universidade Federal da Paraíba Programa de Pós-Graduação em Informática Teoria da Computação – 2013.1 4 - DECIDIBILIDADE SIPSER – Exercícios Equipe: Dorgival Netto, Jarbele Cássia, Silvia Azevedo {dorgidetto, jarbele.cassia}@gmail.com, silvia.azevedo@dce.ufpb.br (07/05/2013)