Informática Teórica Aula 7 Tarcisio Coutinho da Silva {tcs5}@cin.ufpe.br
Decidibilidade Com o modelo computacional definido nós podemos agora explorar e conhecer seus limites. Primeiramente vamos estudar os problemas decidíveis os quais existe uma MT que os decidem.
Decidibilidade em LR Analisamos os problemas ligados a LR AAFD = {⟨A, w⟩| A é um AFD e w uma cadeia e w ∈ L(A)} problema da aceitação em AFD AAFN = {⟨A, w⟩| A é um AFN e w uma cadeia e w ∈ L(A)} problema da aceitação em AFN AER = {⟨A, w⟩| A é uma ER e w uma cadeia e w ∈ L(A)} problema da aceitação em ER VAFD = {⟨A⟩| A é um AFD e L(A) = ∅} problema da vacuidade de AFD EQAFD = {⟨A, B⟩| A e B são AFDs e L(A) = L(B)} problema da igualdade entre AFDs
AAFD AAFD é decidível Provamos que AAFD é decidível construindo uma MT M que o decide. M recebe como entrada ⟨A, w⟩, onde A é uma AFD e w uma cadeia. Rode A sobre a entrada w Se A aceitar a cadeia, aceite; se rejeitar, rejeite.
AAFN AAFN é decidível Provamos que AAFN é decidível construindo uma MT N que o decide. N recebe como entrada ⟨A, w⟩, onde A é uma AFN e w uma cadeia. Converta A para um AFD equivalente B Rode M sobre a entrada ⟨B, w⟩ Se M aceitar, aceite; se rejeitar, rejeite.
AER AER é decidível Provamos que AER é decidível construindo uma MT P que o decide. P recebe como entrada ⟨A, w⟩, onde A é uma ER e w uma cadeia Converta A para um AFN equivalente B Rode N sobre a entrada ⟨B, w⟩ Se N aceitar, aceite; se rejeitar, rejeite.
VAFD VAFD é decidível. Provamos que VAFD é decidível construindo uma MT T que o decide. T recebe como entrada ⟨A⟩, onde A é um AFD Marque o estado inicial de A Repita até que nenhum estado novo seja marcado. Marque qualquer estado que tenha transição chegando de um estado já marcado Se nenhum estado de aceitação estiver marcado, aceite; caso contrário, rejeite.
EQAFD EQAFD é decidível. Provamos que EQAFD é decidível construindo uma MT F que o decide. F recebe como entrada ⟨A, B⟩, onde A e B são AFD’s Monte um AFD C tal que L(C) = L(A) ∆ L(B) Rode T sobre a entrada ⟨C⟩ Se T aceitar, aceite; se rejeitar, rejeite.
Exercício Decidibilidade em LR Prove que as linguagens são decidíveis: A = {⟨B, C⟩| B é uma ER e C é um AFN e L(B) = L(C)};
Decidibilidade em LLC AGLC – problema da aceitação em GLC VGLC – problema da vacuidade de GLC
AGLC AGLC é decidível. Provamos que AGLC é decidível construindo uma MT S que o decide. S recebe como entrada ⟨A, w⟩, onde A é uma GLC e w uma cadeia Converta A para uma GLC equivalente B na FNC Liste todas as derivações de B com 2n – 1 passos Se w estiver na lista, aceite; caso contrário, rejeite.
VGLC VGLC é decidível. Provamos que VGLC é decidível construindo uma MT R que o decide. R recebe como entrada ⟨A⟩, onde A é uma GLC Marque os símbolos terminais em A Repita até que nenhuma variável seja marcada Marque qualquer variável que tiver uma regra com a cadeia toda marcada Se a variável inicial não está marcada, aceite; caso contrário, rejeite.
Exercício Decidibilidade em LLC Prove que as linguagens são decidíveis: A = {⟨B, w⟩| B é um AP e w uma cadeia e w ∈ L(B)}; C = {⟨D⟩| D é uma GLC e L(D) = Σ*}.
Exercício Decidibilidade em MTD Prove que as linguagens são decidíveis: A = {⟨B, C, w⟩| B e C são MTDs de aceitação com entrada ⟨w⟩ e w uma cadeia e w ∈ L(B) e w ∈ L(C)}; D = {⟨E, F, w⟩| E e F são MTDs de aceitação com entrada ⟨w⟩ e w uma cadeia e w ∈ L(E) ou w ∈ L(F)}; G = {⟨H, w⟩| H é MTD de aceitação com entrada ⟨w⟩ e w uma cadeia e w ∉ L(H)}.
Diagonalização Método criado por Georg Cantor para determinar a incontabilidade de um conjunto. A idéia é colocar um problema contra ele mesmo, gerando uma contradição ou um paradoxo. Como uma linguagem é um conjunto podemos utilizar esse método pra provar que uma linguagem é indecidível.
Problema da Parada É o problema da aceitação em uma MT (AMT), quando uma MT roda sobre uma cadeia ela pode aceitar, rejeitar ou ficar em loop. Não é possível distinguir se ela entrou em loop ou só está levando muito tempo pra parar. AMT é indecidível A prova utiliza o método da diagonalização que provoca um paradoxo numa MT que tenta decidir essa linguagem quando ela roda sobre sua própria descrição.
Linguagem Turing-Irreconhecível Teorema Uma linguagem é Turing-decidível se e somente se ela é Turing-reconhecível e co-Turing-reconhecível. AMT é irreconhecível Como AMT é reconhecível se seu complemento fosse reconhecível, AMT seria decidível, como não é então AMT é irreconhecível.
Obrigado! Informática Teórica Aula 7 Arthur Ramos - afr@cin.ufpe.br David Hulak - dbh@cin.ufpe.br Filipe Martins - fmm@cin.ufpe.br Hugo Azevedo - hraa@cin.ufpe.br Paulo Orlando - povqs@cin.ufpe.br Ricardo Salomão - rssj2@cin.ufpe.br Tarcisio Coutinho - tcs5@cin.ufpe.br Tiago Ferreira - tfl2@cin.ufpe.br Thyago Machado - tmc@cin.ufpe.br Vinícius Henrique - vhco@cin.ufpe.br