Segunda lista

Propaganda
1o semestre de 2012
DCC/ICEx/UFMG
Entrega: até 7/5/2011 às 18h
Fundamentos da Teoria da Computação
Professor: Newton José Vieira
Segunda Lista de Exercı́cios
Importante:
Questões ilegı́veis não serão corrigidas (nota zero).
Quem copiar ou deixar copiar uma questão terá nota zero na lista.
Locais de recebimento: salas 3018, 4010 e 4023.
Após as 18h do dia 7/5 começa o primeiro dia de atraso.
1. Construa AFNs para as seguintes linguagens, com o menor número de estados que conseguir:
(a) O conjunto das palavras de {a, b}∗ em que o último sı́mbolo (se houver) seja idêntico
ao primeiro (se houver). Note que λ, a e b são palavras da linguagem.
(b) O conjunto das palavras de {a, b}∗ em que o último sı́mbolo tenha ocorrido antes.
Cada palavra da linguagem tem no mı́nimo dois sı́mbolos.
(c) O conjunto das palavras de {a, b}∗ em que o último sı́mbolo (caso exista) tenha
ocorrido antes no máximo uma vez.
(d) {x1y ∈ {0, 1}∗ | n1 (x) mod 3 = 1 e n0 (y) mod 3 = 1} onde ns (w) é o número de
ocorrências do sı́mbolo s na palavra w.
2. Seja o AFN com o diagrama de estados a seguir:
b
1
a
a
3
b
2
Construa um AFD equivalente usando o método visto em aula (subset construction).
Apresente apenas seu diagrama de estados, com cada estado do AFD nomeado com os
estados respectivos do AFN e com estados de erro, se houver.
3. Obtenha um AFN K com um único estado inicial, equivalente ao AFN da questão anterior, que contenha todos os estados e transições lá contidos. Em seguida, obtenha uma
gramática regular para L(K) usando o método visto em aula.
4. Sejam as linguagens:
• A = {w ∈ {a, b}∗ | o número de as em w é par}
• B = {w ∈ {b, c}∗ | o número de bs em w é ı́mpar}
• C = {w ∈ {a, c}∗ | o número de cs em w é par}
Obtenha um AFN M tal que L(M ) = ABC assim:
(a) obtenha AFDs para A, B e C;
(b) obtenha um AFNλ para ABC a partir dos três AFDs;
(c) converta o AFNλ para um AFN equivalente usando o método visto em aula.
1
5. Prove que {x#xR | x ∈ {0, 1}∗ } não é linguagem regular usando o lema do bombeamento.
6. Prove que os seguintes conjuntos não são linguagens regulares, usando propriedades de
fecho:
(a) {0m 1n | m 6= n}.
(b) {w ∈ {0, 1}∗ | o número de 0s em w é par e o de 1s é primo}.
7. Sejam as linguagens L1 = {w ∈ {0, 1}+ | η(w) mod 3 = 0}, sendo η(w) o número representado por w na base dois, e L2 = {1}∗ ({0}{1}∗ {0}{1}∗ )∗ .
(a) Prove que L1 − L2 é regular usando propriedades de fecho.
(b) Construa um autômato finito para L1 − L2 .
8. Encontre expressões regulares que denotem:
(a) {1}∗ ({0}{1}∗ {0}{1}∗ )∗
(b) A linguagem ABC da questão 4.
(c) A linguagem {x#xR | x ∈ {0, 1}∗ } da questão 5.
9. Encontre expressões regulares para as linguagens da questão 1.
2
Download