Buscar

ftc lista ADF

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

BCC244-Teoria da Computação DECOM
Prof. Lucília Figueiredo ICEB - UFOP
Lista de Exercícios 01
1 Linguagens
1. Liste os strings de cada uma das seguintes linguagens:
a) ∅∗ R: ∅∗ = {λ} b) ∅+ R: ∅+ = ∅
c) {λ}∗ R: {λ}∗ = {λ} d) {λ}+ R: {λ}+ = {λ}
e) {0}∗ R: {0}∗ = {λ, 0, 00, 000, . . .} f) {0}+ R: {0}+ = {0, 00, 000, . . .}
2. Em que casos L∗ e L+ são finitas?
R: Somente se L = ∅ ou se L = {λ}
3. Seja Σ um alfabeto. Explique que palavras pertencem a cada uma das seguintes linguagens:
• Σn, para um determinado n ≥ 0
R: Σn = {w ∈ Σ∗ | |w| = n}
• (Σ ∪ {λ})n, para um determinado n ≥ 0
R: Σn = {w ∈ Σ∗ | |w| ≤ n}
4. Sejam Σ = {a, b}, A = {a}Σ+ e B = Σ∗ {b}. Descreva cada uma das linguagens a seguir,
especificando a propriedade que deve ser satisfeita pelos strings da linguagem. (O primeiro
item é resolvido como exemplo).
• AA R: AA = {awau |w, u ∈ Σ+}
Todos os strings com comprimento ≥ 4, contendo pelo menos dois as.
• AB R: AB = {awb |w ∈ Σ+}
Todos os strings com comprimento ≥ 3, que começam com a e terminam com b.
• BB R: AB = {wbub |w ∈ Σ∗}
Todos os strings com comprimento ≥ 2, contendo pelo menos dois bs.
• A ∩B R: AB = {awb |w ∈ Σ∗}
Todos os strings com comprimento ≥ 2, começando com a e terminando com b.
• A−B R: AB = {awa |w ∈ Σ∗}
Todos os strings com comprimento ≥ 2, que começam e terminam com a.
• B − A R: AB = {bw |w ∈ Σ∗}
Todos os strings com comprimento ≥ 1, que começam e terminam com b.
2 Autômatos Finitos e Expressões Regulares
1. Para cada uma das linguagens a seguir, sobre o alfabeto {0, 1}, desenhe um Autômato Finito
Determinista que reconheça a linguagem e escreva uma expressão regular que a representa.
(a) O conjunto dos strings com prefixo 01.
R: 01(0 + 1)∗
0
1
1
0
0,1
0,1
(b) O conjunto dos strings que não contêm 01 como sufixo.
R: λ+ (0 + 1)∗ (0 + 11)
0
1
1
0
0
1
(c) O conjunto dos strings que não contêm 01 como substring.
R: 1∗ 0∗
0
1
1
0
0,1
(d) O subconjunto dos strings de {0} ∗ {1}∗ com número par de 0s.
R: (00)∗ 1∗
0
1 0
0
0
1 0,1
(e) O conjunto dos strings com no máximo 3 símbolos.
R: (0 + 1 + λ)(0 + 1 + λ)(0 + 1 + λ)
0,1 0,1 0,1 0,1
0,1
(f) O conjunto dos strings que contêm pelo menos um 0 e um 1.
R: (0+1 + 1+0)(0 + 1)∗)
0
1
1
0
0
1
0,1
(g) O conjunto dos strings em que todo 0 é seguido de pelo menos dois símbolos.
R: (1∗0(0 + 1)(0 + 1))∗
0
1
0
1
0
1
0
1
1
0
(h) O conjunto dos strings que contêm pelo menos um 00, mas nenhum 11.
R: (0 + 10)(10)∗0(0∗10)∗
0
1
0
1
0
1
0
1
0
1
0,1
2. Para cada uma das linguagens a seguir, sobre o alfabeto {0, 1}, desenhe um Autômato Finito
Não Determinista que reconheça a linguagem.
(a) {w ∈ {0, 1}∗ | o primeiro e o penúltimo símbolos de w são 1}.
R:
1 1
0,1
0,1
(b) {w ∈ {0, 1}∗ | o último símbolo de w é diferente do primeiro}.
R:
0
1
1
0,1
0
0,1
(c) {w ∈ {0, 1}∗ | os três últimos símbolos de w não são 000}
R:
1
0
0,1
1 0,1
1
0
0,1
1
(d) {x10n |n ≥ 0, x ∈ {0, 1}e x tem número par de 0s}.
R:
1
0
1
1
0
0
3. Desenhe Autômatos Finitos Deterministas que reconheçam as linguagens A = 0(0 + 1)∗ e
B = (0 + 1)∗1.
R:
MA :
q0
q1
q2
0
1
0,1
0,1
MB :
q3 q4
0
1
1
0
Desenhe também Autômatos Finitos Deterministas que reconheçam as linguagens a seguir.
(a) A ∪B
R:
(q0, q3)
(q1, q3) (q1, q4)
(q2, q4) (q2, q3)
0
1
0
1
1
0
1
0
0
1
(b) A ∩B
R: O autômato é o mesmo da resposta anterior, exceto que o apenas o estado (q1, q4) é um
estado final.
(c) A−B
R: O autômato é o mesmo da resposta anterior, exceto que o apenas o estado (q1, q3) é um
estado final.
4. Quais das seguintes afirmativas são verdadeiras:
(a) Toda linguagem regular pode ser definida a partir de linguagens finitas, usando-se apenas
as operações de união, concatenação e estrela de Kleene.
(b) Toda linguagem regular é finita.
(c) A sintaxe de HTML pode ser expressa por meio de expressões regulares.
(d) Não existe algoritmo capaz de decidir, dada uma expressão regular, se a linguagem deno-
tada por esta expressão é vazia ou não.
(e) Existe um algoritmo para decidir, dada uma expressão regular, se a linguagem denotada
por esta expressão é finita ou é infinita.
R: São corretas as afirmativas (a) e (e)
5. Converta o seguinte autômato finito não determinista em um determinista equivalente.
0 1
2 3
b
a
λ
a
a
a
b
b
a
{0, 2} {1, 2}
{3} {2}
b
a
a
b
a
b
a
a
3 Gramáticas Lineares à Direita e à Esquerda
1. Considere a seguinte gramática Linear à Direita G:
S → aS || bA |λ
A → bbA | aS
(a) Desenhe um Autômato Finito Não Determinista) que reconheça a linguagem L(G).
R:
S A
a
b
a
b
b
(b) Escreva uma expressão regular que represente a linguagem L(G)
R: a∗ (b (bb)∗ a)∗
4 Lema do Bombeamento
1. Considere um autômato finito M com n estados. Explique porque se M reconhece um string
w, tal que |w| ≥ n, então a linguagem aceita por M – L(M) – é infinita.
R: Se M tem n estados, então o maior string que pode ser reconhecido por M , em uma com-
putação em que nenhum estado é repetido, tem comprimento n− 1. Portanto, se M reconhece
um string w, tal que |w| ≥ n, então o caminho da computação de M sobre w envolve um loop.
Então, este loop poderia ser repetido qualquer número de vezes, o que significa que a linguagem
reconhecida por M é infinita.
2. Prove que cada uma das linguagens a seguir não é regular, usando o Lema do Bombeamento.
(a) L = {w1n |w ∈ {0, 1}∗ e |w| = n}
R: Suponha, por contradição, que L seja regular. Então L deve satisfazer o Lema do
Bombeamento. Vamos provar que isso não acontece e que, portanto, L não é regular.
Seja p o número de bombeamento de L e considere o string u = 0p1p. Temos que u ∈ L
e |u| = 2p ≥ p. De acordo com o Lema do Bombeamento, devemos ter que u pode ser
dividido em 3 partes – u = xyz – satisfazendo as seguintes condições:
i) |y| > 0
ii) |xy| < p
iii) xyiz ∈ L, para todo i ∈ N
Entretanto, para qualquer divisão u = xyz satisfazendo i) e ii), temos que y contém
apenas 0s (já que |xy| < p). Portanto, xy2z contém maior número de zeros do que de 1s,
e, portanto, não é da forma w1n, onde |w| = n, isto é, xy2z 6∈ L.
(b) L = {10n1n |n ≥ 1}
R: Suponha, por contradição, que L seja regular. Então L deve satisfazer o Lema do
Bombeamento. Vamos provar que isso não acontece e que, portanto, L não é regular. Seja
p o número de bombeamento de L e considere o string u = 10p1p. Temos que u ∈ L e
|u| = 2p+ 1 ≥ p. De acordo com o Lema do Bombeamento, devemos ter que u pode ser
dividido em 3 partes – u = xyz – satisfazendo as seguintes condições:
i) |y| > 0
ii) |xy| < p
iii) xyiz ∈ L, para todo i ∈ N
Entretanto, para qualquer divisão u = xyz satisfazendo i) e ii), temos que y não contém
nenhum 1 da parte final de u (já que |xy| < p). Portanto, xy2z tem a forma 10k1p, onde
k > p, ou seja xy2z 6∈ L.
3. Prove que cada uma das linguagens a seguir não é regular, usando propriedades de fecho.
(a) L = {0m1n |n,m ≥ 0, n 6= m}
R: Suponha, por contradição, que L seja regular. Então temos que o seu complemento
L é regular. Entretanto, L = {0n1n |n ≥ 0}, que já provamos anteriormente que não é
regular. Portanto, L não é regular.
(b) L = {w ∈ {0, 1}∗ | o número de 0s em w é par e o número de 1s é primo}
R: Suponha, por contradição, que L seja regular. Temos que L1 = 1∗ é regular. Então
L ∩ L1 é uma linguagem regular, já que a classe das linguagens regulares é fechada em
relação à operação de interseção. Entretanto, L∩L1 = {1n |n é primo}, que já provamos
anteriormente que não é regular. Portanto, L não é regular.

Outros materiais