Você está na página 1de 2

Autômatos e Computabilidade – Teste 5

O conjunto de todos os autômatos com pilha não-determinı́sticos é contável ou incontável? Se


for contável, mostre como construir uma correspondência com o conjunto dos números naturais.
Se for incontável, mostre que é impossı́vel contruir essa correspondência, fazendo uma prova por
diagonalização.
Resposta: O conjunto é contável. Cada AP não-determinı́stico A pode ser descrito por uma
cadeia hAi sobre um alfabeto Σ. O conjunto P de todas as cadeias hAi que decrevem APs
não-determinı́sticos pode ser enumerado em ordem lexicográfica. Por exemplo, a seguinte MT
enumera P

E= “Ignore a entrada:
1. Repita os seguintes passos para i = 1, 2, 3, . . .
2. Gere uma cadeia si ∈ Σ∗ , em ordem lexicográfica (começando por
s1 = ε, em cada passo i compute o sucessor lexicográfico da cadeia
gerada no passo i − 1 anterior).
3. Verifique se si é uma descrição válida de um AP não-determinı́stico. No caso
afirmativo, imprima si .”

Seja hA1 i, hA2 i, hA3 i, . . . a lista de descrições de APs gerada pelo enumerador E. Então, existe
uma correspondência f entre entre o conjunto de todos os APs e o conjunto dos números
naturais, definida simplesmente por f (n) = An .

Considere o problema de determinar se as linguagens de dois autômatos finitos determinı́sticos


dados são complemento uma da outra. Formule o problema como uma linguagem e prove que é
decidı́vel. Na sua prova, pode utilizar qualquer teorema sobre linguagens decidı́veis visto em aula.

Resposta: O problema pode ser representado pela linguagem T = {hM, N i| M e N são


AFDs e L(M ) = L(N )}. Para provar sua decibilidade, aplicamos o Teorema que afirma que a
linguagem EQAFD = {hM, N i| M e N são AFDs e L(M ) = L(N )} é decidı́vel. Seja S a MT
que decide EQAFD . A seguinte MT decide T :

D= “Sobre a entrada hM, N i, onde M e N são AFDs :


1. Construa um AFD O que reconheça a linguagem L(N ). Para isso, troque os
estados de aceitação de N por estados de não-aceitação e vice versa.
2. Rode S sobre hM, Oi. Se S aceita, aceite; se S rejeita, rejeite.”

Considere a seguinte afirmação: se L é uma linguagem decidı́vel e L′ ⊆ L, então L′ também


é uma linguagem decidı́vel. Se a afirmação for verdadeira, prove-a. Se for falsa, forneça um
contra-exemplo.
Resposta: A afirmção é falsa. Como contra-exemplo, considere L = Σ∗ . Então, L é regular e,
portanto, decidı́vel. No entanto, note que L contém todas as cadeias sobre Σ, e qualquer outra
linguagem sobre Σ estará contida em L, incluindo as linguagens indecidı́veis. Por exemplo, faça
L′ = AMT = {hM, wi| M é uma MT que aceita w}, onde a codificação para M, w é realizada
sobre Σ (i.e., hM, wi ∈ Σ∗ ). Assim, L′ ⊆ L, e L′ é indecidı́vel

Considere o problema de determinar se uma expressão regular sobre o alfabeto Σ = {0, 1} descreve
uma linguagem que contém alguma cadeia que começa com 11 e termina com 0. Formule o
problema como uma linguagem e prove que é decidı́vel. Na sua prova, pode utilizar qualquer
teorema sobre linguagens decidı́veis visto em aula.

Resposta: O problema pode ser representado pela linguagem T = {hRi| R é uma expressão
regular sobre {0, 1} e 11x0 ∈ L(R) para algum x ∈ Σ∗ }. Para provar sua decibilidade,
aplicamos o Teorema que afirma que a linguagem VAFD = {hM i| M é um AFD e L(M ) = ∅} é
decidı́vel. Seja S a MT que decide VAFD . A seguinte MT decide T :

D= “Sobre a entrada hRi, onde R é uma expressão regular:


1. Transforme R em um AFN equivalente, e logo transforme este AFN em um AFD
A equivalente (vimos em aula como fazer ambas transformações).
2. Transforme a expressão regular 11Σ∗ 0 em um AFN equivalente, e logo transforme
este AFN em um AFD B equivalente.
3. Construa um AFD C que reconheça a linguagem L(A) ∩ (B).
4. Rode S sobre hCi. Se S aceita, rejeite; se S rejeita, aceite.”

Você também pode gostar