Você está na página 1de 2

Autômatos e Computabilidade: Prova 1

1. Defina formalmente:

(a) (0,25 ponto) Alfabeto


Resposta: qualquer conjunto finito e não vazio.

(b) (0,25 ponto) Cadeia


Resposta: qualquer sequência finita de elementos (sı́mbolos) de um alfabeto.

(c) (0,25 ponto) Linguagem


Resposta: qualquer conjunto de cadeias.

(d) (1,25 pontos) Expressão regular


Resposta: uma expressão regular sobre uma alfabeto Σ é: (1) a, onde a ∈ Σ, (2) ε,
(3) ∅, (4) R1 ∪ R2 , onde R1 e R2 são expressões regulares, (5) R1 ◦ R2 , onde R1 e R2
são expressões regulares, ou(4) R1∗ , onde R1 é uma expressão regular.

2. (1,5 ponto) Prove que a linguagem L = {an babc2n | n > 0} não é regular. Utilize o Lema do
bombeamento.

Resposta: Suponha L regular, e seja p seu comprimento de bombeamento. Considere a


cadeia w = ap babc2p . Assim, w ∈ L e |w| = 3p + 3 ≥ p. Dividimos w na forma w = xyz.
As condições |xy| ≤ p e |y| > 0 implicam que y está contido na sequência inicial de as e que
y = ak , com 0 < k ≤ p. Então, xyyz = ap+k babc2p . Nesta cadeia, a quantidade de cs (2p)
não é igual ao duplo da quantidade da as (p + k) na sequência inicial, portanto, xyyz ∈ / L.
Concluimos que L não satisfaz o Lema e então deve ser não regular.

3. (1,5 pontos) A diferença entre dois conjuntos A e B é definida como A − B = {x| x ∈


A e x∈ / B}. Se L1 e L2 são linguagens regulares, então L1 − L2 sempre é regular? Prove
sua resposta.

Resposta: note que L1 − L2 = {x| x ∈ L1 e x ∈ / L2 } = L1 ∩ L2 . A classe das linguagens


regulares é fechada sobre as operações de interseção e complementação, portanto, L1 − L2
sempre é regular.

4. Seja a seguinte linguagem


TRIPLES = {a3n | n ≥ 0}

(a) (1 ponto) Forneça uma expressão regular para TRIPLES


Resposta: (aaa)∗ .

(b) (0,5 ponto) Considere agora a seguinte prova de que TRIPLES não é regular:
i. Suponha TRIPLES regular. Então, TRIPLES satisfaz o lema do bombeamento;
seja p seu comprimento de bombeamento.
ii. Escolha a cadeia de teste w = xyz = a3p .
iii. O lema do bombeamento exige |xy| ≤ p e |y| > 0. Faça, então, y = a.
iv. Então, xy 2 z = a3p+1 .
v. 3p + 1 não é múltiplo de 3, então xy 2 z ∈
/ TRIPLES. Portanto, TRIPLES não
satisfaz o lema do bombeamento.
vi. A contradição implica que TRIPLES não é regular.
Claramente, esta prova contradiz o item (a). O que está errado?
Resposta: A prova não considera todas as possı́veis subdivisões da cadeia de teste.

(c) (0,5 ponto) Qual o comprimento mı́nimo de bombeamento de TRIPLES ? Justifique


sua resposta.
Resposta: O comprimento mı́nimo é 1. Se w é uma cadeia de TRIPLES e |w| ≥ 1,
então w = a3n , com n ≥ 1, e pode ser bombeada fazendo x = ε, y = aaa e z igual ao
restante da cadeia. A cadeia vazia não pode ser bombeada, pois não poderia satisfazer
|y| > 0.

5. (1 ponto) A expressão regular Σ+ @Σ+ .Σ+ , onde Σ contém todas as letras do alfabeto,
descreve endereços de e-mail da forma john@something.something. Desenhe o diagrama de
estados de um autômato finito não determinı́stico que reconheça a linguagem descrita por
essa expressão. Nos rótulos das transições do autômato, pode usar o sı́mbolo Σ para indicar
qualquer sı́mbolo do alfabeto. Note que os sı́mbolos @ e . não pertencem a Σ.

Resposta:
Σ Σ Σ

q0 Σ q1 @ q2 Σ q3 . q4 Σ q5

6. (2 pontos) Prove que para todo AFN existe um AFD equivalente. Na sua prova, considere
somente o caso de AFNs sem transições-ε.

Resposta: A prova é por construção. Seja um AFN N = (Q, Σ, δ, q0 , F ) sem transições-ε.


Construı́mos um AFD equivalente M = (Q′ , Σ, δ ′ , q0′ , F ′ ) fazendo:

Q′ = P(Q),
[
δ ′ (R,a) = δ(r,a), para R ∈ Q′ e a ∈ Σ,
r∈R
q0′ = {q0 },

F = {R| R ∈ Q′ e R contém um estado de aceitação de N }

Você também pode gostar