Buscar

2013_2 - Lista 01

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 4 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

Fundamentos da Teoria da Computac¸a˜o 2o semestre de 2013
Professor: Jeroen Antonius Maria van de Graaf DCC/ICEx/UFMG
Lista de Exerc´ıcios Preparato´ria para a Primeira Prova
Fonte: Newton Jose´ Vieira – DCC/ICEx/UFMG
1. Fac¸a definic¸o˜es recursivas das seguintes linguagens, considerando a concatenac¸a˜o como a
operac¸a˜o ba´sica no passo recursivo:1
a) {0, 1}+.
b) {0, 1}∗{0}{0, 1}∗.
c) {0}{0, 1}∗{0}.
d) {0n13n |n ∈ N}.
e) {wwR |w ∈ {0, 1}∗}.
f) {x1 + · · · + xn |n ≥ 1 e xi ∈ {0, 1}
+ para i = 1, . . . , n}. Dica: Fac¸a duas definic¸o˜es
recursivas separadas, a primeira definindo o que pode ser cada xi.
2. Perguntinhas:
(a) Que palavras tem cada uma das linguagens a seguir?
∅∗; ∅+; {λ}∗; {λ}+; {0}∗; {0}+;{λ, 0}∗; {λ, 0}+.
(b) Em que situac¸o˜es L∗ e L+ sa˜o finitas?
(c) Seja Σ um alfabeto. Explique que palavras pertencem a cada uma das linguagens:
• Σn para cada n ≥ 0; que valor tem |Σn|?
• (Σ ∪ {λ})n para cada n ≥ 0; que valor tem |(Σ ∪ {λ})n|?
(d) Sejam Σ = {a, b}, A = {a}Σ+ e B = Σ∗{b}. Apresente uma condic¸a˜o necessa´ria e
suficiente para que uma palavra de Σ∗ pertenc¸a a AA, AB, BB, A ∩ B, A − B e
B −A.
3. Descreva as linguagens a seguir, todas sobre o alfabeto {0, 1}, usando apenas conjuntos
finitos e operac¸o˜es de unia˜o, intersec¸a˜o, complementac¸a˜o, concatenac¸a˜o e fecho de Kleene.
Procure obter uma descric¸a˜o bem concisa.
(a) O conjunto das palavras de prefixo 01.
(b) O conjunto das palavras que na˜o conteˆm 01 como sufixo.
(c) O conjunto das palavras que na˜o conteˆm 01 como subpalavra.
(d) O subconjunto das palavras de {0}∗{1}∗ com nu´mero par de 0s.
(e) O conjunto das palavras com no ma´ximo vinte s´ımbolos.
(f) O conjunto das palavras que conteˆm pelo menos um 0 e um 1.
(g) O conjunto das palavras em que todo 0 e´ seguido de pelo menos dois s´ımbolos.
(h) O conjunto das palavras que conteˆm pelo menos um 00, mas nenhum 11.
1Veja a Sec¸a˜o 1.7, pa´g. 28, do livro-texto.
1
4. Identifique as linguagens que sa˜o geradas pelas grama´ticas a seguir:
(a) G1 = ({P,X}, {a, b}, R1 , P ).
R1: P → aP |Xb |λ
X → aP
(b) G2 = ({P,X}, {a, b}, R2 , P ).
R2: P → aaP |Xb |λ
X → aP
(c) G3 = ({P,A}, {0, 1}, R3 , P ).
R3: P → aPa |A
A → bAb |λ
(d) G4 = ({A,X}, {0, 1}, R4 , A).
R4: A → XAX |X
X → 0X0 | 1X1 | 0 | 1
(e) G5 = ({X,B}, {a, b, c}, R5 ,X).
R5: X → aBX | abc
Ba → aB
Bb → bB
Bc → bcc
5. Obtenha grama´ticas para as linguagens da questa˜o 1.
6. Construa autoˆmatos finitos determin´ısticos (AFDs) que reconhec¸am as linguagens da
questa˜o 3. Apresente apenas os diagramas de estados.
7. Construa AFDs que reconhec¸am as linguagens a seguir. Apresente apenas os diagramas
de estados.
(a) {w ∈ {0, 1}∗ | |w| ≥ 2 e o primeiro e o penu´ltimo s´ımbolos de w sa˜o 1}.
(b) {w ∈ {0, 1}∗ | o u´ltimo s´ımbolo de w e´ diferente do primeiro}.
(c) {w ∈ {0, 1}∗ | os treˆs u´ltimos s´ımbolos de w na˜o sa˜o 000}.
(d) {x10n |n ≥ 0, x ∈ {0, 1}∗ e x tem nu´mero par de 0s}.
8. Fac¸a AFDs que reconhec¸am: X = {0}{0, 1}∗. e Y = {0, 1}∗{1}. Bastam apenas os
diagramas de estados. Em seguida, obtenha o produto dos dois AFDs e explicite que
estados finais ele deve ter para reconhecer:
(a) X ∩ Y .
(b) X ∪ Y .
(c) X − Y .
9. Explique porque se um AFD M reconhece uma palavra de tamanho maior ou igual ao
nu´mero de estados de M , enta˜o L(M) e´ infinita.
10. Construa AFNs para as seguintes linguagens, com o menor nu´mero de estados e de
transic¸o˜es que conseguir:
2
(a) O conjunto das palavras de {a, b, c}∗, de dois ou mais s´ımbolos, em que o u´ltimo
s´ımbolo seja diferente do primeiro.
(b) O conjunto das palavras de {a, b, c}∗ em que o u´ltimo s´ımbolo tenha ocorrido antes
no mı´nimo uma vez.
(c) O conjunto das palavras de {a, b, c}∗ em que o u´ltimo s´ımbolo tenha ocorrido antes
no ma´ximo duas vezes.
11. Seja o AFN com o diagrama de estados a seguir:
1 2
3 4
0
0
0
1
1
1
0 0
Construa um AFD equivalente usando o me´todo visto em aula (subset construction).
12. Seja o AFNλ M :
A B
C D E
λ
λλ
λ λ
a
b
c
d a
13. Construa um AFN N , equivalente a M , usando o me´todo visto em aula.
14. Encontre o AFD mı´nimo usando o me´todo visto em aula para os seguintes AFDs:
a)
0 1
1
0
0 1
b)
0 1
1
0
0 1
c)
0 1
2
1
0
0
1
1
0
3
15. Seja o AFD com o diagrama de estados a seguir:
1
2
3 5
4 6
7
8
0
0 1
1
0
0
1
0
1
0
1
0
1 0
1
1
(a) Descreva a linguagem reconhecida por este AFD.
(b) Minimize-o usando o me´todo visto em aula.
4

Outros materiais