Você está na página 1de 5

Autˆomatos e Computabilidade: Prova 1

1. Indique se cada uma das seguintes afirma¸c˜oes ´e verdadeira o u falsa, e justifique sua resposta. Aten¸c˜ao: respostas corretas sem uma justificativa adequada n˜ao receber˜ao pontos. N˜ao ´e necess´ario fazer provas formais.

(a)

Se um AFD M tem k estados, ent˜ao M deve aceitar alguma cadeia de comprimento pelo menos k 1.

Resposta: Falso. O conjunto de estados de aceita¸c˜ao de um autˆomato pode ser vazio, em cujo caso o autˆomato n˜ao aceita nenhuma cadeia.

(b)

O conjunto de todas as linguagens regulares sobre o alfabeto Σ = { a} ´e finito.

Resposta: Falso. Os conjuntos { a} , { aa} , { aaa} ,

s˜ao

linguagens regulares, e o

conjunto delas, {{ a} ,{ aa} ,{

} ´e infinito.

(c)

A linguagem gerada pela express˜ao regular a ´e vazia.

 

Resposta: Falso. = { ε} ; portanto, a = a .

 

(d)

Se L = L 1 L 2 e L e L 1 s˜ao linguagens regulares, ent˜ao L 2 tamb´em ´e regular.

Resposta: Falso. Se L 1 ´e a linguagem regular Σ e L 2 ´e qualquer linguagem n˜ao regular sobre Σ, ent˜ao L = L 1 L 2 = Σ , que ´e regular.

(e)

Se L ´e uma linguagem regular sobre um alfabeto Σ, ent˜ao L = { aw | w L} , onde a Σ, tamb´em ´e regular.

Resposta: Verdadeiro. Considere a linguagem regular L = { a} . Ent˜ao, L = L L, que ´e regular, pois a classe das linguagens regulares ´e fechada sobre a concatena¸c˜ao.

(f)

O conjunto de todas as palavras que est˜ao em todos os livros da Biblioteca Central da UnB, nas quais a quantidade de vogais ´e a mesma que a de consoantes, ´e uma linguagem regular.

Resposta: Verdadeiro. O conjunto de todas essas palavras ´e finito, e todo con- junto finito ´e uma linguagem regular. Cada uma das palavras constit ui uma lin- guagem regular com uma unica´ cadeia, pois podemos construir um AFD que aceite unicamente essa cadeia e rejeite qualquer outra. A uni˜ao de todas essas lingua- gens tamb´em ´e regular, pois a classe das linguagens regulares ´e f echada sobre essa opera¸c˜ao.

(g) Se um AFN M aceita a cadeia vazia ( ε), ent˜ao o estado inicial
(g)
Se um AFN M aceita a cadeia vazia ( ε), ent˜ao o estado inicial de M necessariamente
deve ser um estado de aceita¸c˜ao.
Resposta: Falso. O seguinte AFN aceita ( ε).
ε
q 1
q 2
(h)
Toda linguagem finita ´e regular.
Resposta: Verdadeiro. Cada uma das cadeias da linguagem constitui uma lin-
guagem regular com uma unica´ cadeia, pois podemos construir um AFD que aceite
unicamente essa cadeia e rejeite qualquer outra. A uni˜ao de todas essas lingua-
gens tamb´em ´e regular, pois a classe das linguagens regulares ´e f echada sobre essa
opera¸c˜ao.
(i)
Para cada linguagem regular L, ´e poss´ıvel construir um AFN que reconhe¸ca L e que
tenha um unico´
estado de aceita¸c˜ao.
Resposta: Verdadeiro. Se L ´e regular, ´e reconhecida por algum AFD, que pode
ser transformado em um AFN M 1 . Para ter um unico´
estado de aceita¸c˜ao, cons-
tru´ımos um novo AFN M , equivalente ao anterior, adicionando setas ε dos estados
de aceita¸c˜ao de M 1 a um novo estado de aceita¸c˜ao unico,´
diagrama.
como mostra o seguinte
M
M
1
ε
ε
(j)
A linguagem gerada pela express˜ao regular ∅ a ∗ ( a ∪ b) ´e vazia.
Resposta: Verdadeiro. Concatenar ∅ a qualquer linguagem produz a linguagem
vazia.
(k)
Se L ´e uma linguagem regular e L ′ ⊆ L, ent˜ao L ′ tamb´em ´e regular.
Resposta: Falso. Por exemplo, suponha que L ´e a linguagem regular Σ ∗ , e L ′ ´e
qualquer linguagem n˜ao regular sobre Σ. Ent˜ao, L ′ ⊆ L.
(l)
Para cada AFN com n estados, existe um AFD com um m´aximo de 2 n estados que
reconhece a mesma linguagem que o AFN.

2.

Considere o seguinte AFN sobre o alfabeto Σ = { a,b} .

b ε,a 1 2 5 b ε ε,b a 3 4 ε,b
b
ε,a
1
2
5
b
ε ε,b
a
3
4
ε,b

a

(a) Transforme o AFN em um AFD que reconhe¸ca a mesma linguagem. Nomeie cada estado
(a)
Transforme o AFN em um AFD que reconhe¸ca a mesma linguagem. Nomeie cada estado
do AFD apropriadamente para indicar a quais estados do AFN corresponde. Aten¸c˜ao:
N˜ao ´e necess´ario mostrar os estados inalcan¸c´aveis desde o estado inicial.
Resposta:
a
a
{ 1 ,2 ,3 ,4
}
{ 2 , 3 ,4 , 5 }
a
b
b
{
2 ,3 ,4 }
b
(b)
Qual a linguagem reconhecida pelo AFD? Forne¸ca uma express˜ao regular simples.

Resposta: O AFD reconhece a linguagem ( a b) . Note que todos os estados s˜ao estados de aceita¸c˜ao.

3. Considere o seguinte AFN sobre o alfabeto Σ = { a,b} .

b

a 1 2 5 ε,b b ε a ε,b 3 4
a
1
2
5
ε,b
b
ε
a
ε,b
3
4

a

(a) Transforme o AFN em um AFD que reconhe¸ca a mesma linguagem. Nomeie cada estado
(a)
Transforme o AFN em um AFD que reconhe¸ca a mesma linguagem. Nomeie cada estado
do AFD apropriadamente para indicar a quais estados do AFN corresponde. Aten¸c˜ao:
N˜ao ´e necess´ario mostrar os estados inalcan¸c´aveis desde o estado inicial.
Resposta:
b
a
a,b
{ 1 }
{ 2 , 3 ,4 }
{ 2 , 3 ,4 , 5 }
b
a
(b)
Qual a linguagem reconhecida pelo AFD? Forne¸ca uma express˜ao regular simples.

Resposta: O AFD reconhece a linguagem ( a b)( a b) . Note que aceita qualquer cadeia, exceto a cadeia vazia.

4. Seja um AFN M que reconhece a linguagem L sobre o alfabeto { a,b} . Construa um novo AFN que reconhece a linguagem L = { xwx| w L, x Σ} . Por exemplo, se aab L, ent˜ao aaaba L e baabb L .

Resposta: Verdadeiro. A partir do AFN M , constru´ımos o novo AFN, M ′ ,
Resposta: Verdadeiro. A partir do AFN M , constru´ımos o novo AFN, M ′ , como
mostra o seguinte diagrama.
M ′
M
a
a
a
b
b
b

5. Escreva uma express˜ao regular para a linguagem L que cont´em todas as cadeias em a b cujo comprimento ´e um m´ultiplo de 3. Por exemplo, L cont´em aaaabb, mas n˜ao cont´em ababab ou aaabb.

Resposta: ( aaa) ( bbb) ( aaa) aab( bbb) ( aaa) abb( bbb) .

6. Utilize o lema do bombeamento para provar que a linguagem L 1 = { a i b j a k | k > i + j } n˜ao ´e regular.

Resposta: Suponha que L 1 ´e regular, e que p ´e o comprimento de bombeamento. Con- sidere a cadeia s = a p ba p+2 L 1 , cujo comprimento ´e | s | > p . Fazemos s = xyz , onde | xy | ≤ p e | y | > 0. Ent˜ao, y deve conter somente as; assim, y = a n , onde 0 < n p 0. Segundo o lema, xyyz L 1 . No entanto, xyyz = a p+n ba p+2 . Como p + 2 n˜ao ´e maior que p + n + 1, ent˜ao xyyz / L 1 . A contradi¸c˜ao indica que L 1 n˜ao pode ser regular.

7. Utilize o lema do bombeamento para provar que a linguagem L 1 = { c i b j a i+j | i,j > 0 } n˜ao ´e regular.

Resposta: Suponha que L 1 ´e regular, e que p ´e o comprimento de bombeamento. Con- sidere a cadeia s = c p b p a 2p L 1 , cujo comprimento ´e | s | > p . Fazemos s = xyz , onde | xy | ≤ p e | y | > 0. Ent˜ao, y deve conter somente cs; assim, y = c n , onde 0 < n p . Segundo o lema, xyyz L 1 . No entanto, xyyz = c n+p b p a 2p . Como n + p + p = 2 p , ent˜ao xyyz / L 1 . A contradi¸c˜ao indica que L 1 n˜ao pode ser regular.