• Nenhum resultado encontrado

Exerc´ıcios Adicionais

Exerc´ıcios

3.6 Exerc´ıcios Adicionais

1. Para cada linguagem a seguir, fa¸ca um APD, se poss´ıvel. Se n˜ao for poss´ıvel, construa um APN e explique por que n˜ao h´a APD.

a) {0n1n| n ≥ 0}{0n1n| n ≥ 0}; b) {0n1n2k| n, k ≥ 0}; c) {0n1n0k| n, k ≥ 0}; d) {0n1n0k| n ≥ 1 e k ≥ 0}; e) {02n(120)n| n ≥ 0}; f ) {02n(012)n| n ≥ 0};

g) {w ∈ {0, 1}∗| w tem algum prefixo com mais 1s que 0s}; h) {w ∈ {0, 1}∗| w tem algum sufixo com mais 1s que 0s}.

i) {w ∈ {0, 1}∗| n1(w) = n0(w) + 1}.

j) {w ∈ {0, 1, 2}∗| n

2(w) = n0(w) + n1(w)}.

2. Seja o conjunto das express˜oes booleanas (EBs), definido recursivamente como segue:

a) V e F s˜ao EBs;

b) se α ´e uma EB, ent˜ao (∼α) ´e uma EB;

c) se α e β s˜ao EBs, ent˜ao (α&β), (α|β), (α->β) e (α<->β) s˜ao EBs.

Os s´ımbolos V e F significam verdadeiro e falso. Os parˆenteses s˜ao usados para delimitar com precis˜ao o escopo de cada operador (observe que n˜ao s˜ao permitidos parˆenteses a mais nem a menos). Os operadores cujos significados s˜ao dados pelas tabelas da Figura A.1, p´agina 277, s˜ao representados por: ∼ (nega¸c˜ao), & (conjun¸c˜ao), | (disjun¸c˜ao), -> (condicional) e <-> (bicondicional). Construa um APD que reconhe¸ca as EBs.

3. Sejam M1 e M2 APNs. Mostre como construir APNs para:

a) L(M1) ∪ L(M2);

b) L(M1)L(M2);

c) L(M1)∗.

4. Seja um AP cuja pilha pode conter, no m´aximo, n s´ımbolos. Que limita¸c˜oes ter´a tal tipo de AP? Justifique sua resposta.

5. Mostre como obter um APN P a partir de um AFNλ M , tal que L(P ) = L(M ), e que P deve ter apenas dois estados e a pilha deve conter no m´aximo um s´ımbolo.

Dica: Fa¸ca o alfabeto de pilha igual ao conjunto de estados do AFNλ.

6. Considere a classe das linguagens reconhecidas por APDs por estado final. Mostre que ela n˜ao ´e fechada sob as opera¸c˜oes:

a) uni˜ao; e b) interse¸c˜ao.

7. Um autˆomato de duas pilhas ´e uma sˆextupla M = (E, Σ, Γ, δ, I, F ), em que: • E, Σ, Γ,I e F s˜ao como em APNs; e

• δ ´e uma fun¸c˜ao de E × (Σ ∪ {λ}) × (Γ ∪ {λ}) × (Γ ∪ {λ}) para D, sendo D constitu´ıdo pelos subconjuntos finitos de E × Γ∗× Γ.

Uma transi¸c˜ao nesse tipo de autˆomato manipula duas pilhas simultaneamente. Assim, a transi¸c˜ao [e′, z1, z2] ∈ δ(e, a, A1, A2), que pode ser representada em um

diagrama de estados por:

e a, A1/z1, A2/z2 e′

significa, no caso em que nenhuma das entidades envolvidas for λ, que “estando no estado e, se o pr´oximo s´ımbolo de entrada for a, o s´ımbolo no topo da pilha 1 for A1 e o s´ımbolo no topo da pilha 2 for A2, h´a uma transi¸c˜ao para o estado

e′, A

1 ´e desempilhado e z1 ´e empilhado na pilha 1, e A2 ´e desempilhado e z2 ´e

empilhado na pilha 2. Fa¸ca autˆomatos de duas pilhas que reconhe¸cam: a) {ww | w ∈ {a, b}∗};

b) {anbncn| n ≥ 0};

c) {anbncndn| n ≥ 0}.

8. Na Figura 2.48, p´agina 120, est´a ilustrado um AFD com fita bidirecional, isto ´e, um AFD cujo cabe¸cote de leitura pode se movimentar para a esquerda ou para a direita ap´os a leitura de um s´ımbolo. Seja um AP com esse mesmo tipo de fita bidirecional. Fa¸ca uma formaliza¸c˜ao desse conceito. Em seguida, construa, se poss´ıvel, APs com fitas bidirecionais que reconhe¸cam:

a) {anbncn| n ≥ 0};

b) {anbncndn| n ≥ 0}.

9. Seja a gram´atica G = ({A, B}, {0, 1}, R, A) em que R tem apenas as regras: A → 0A1 | B

B → 1B0 | λ a) O que ´e L(G)?

b) Prove que L(G) n˜ao ´e regular. c) Fa¸ca uma gram´atica que gere L(G).

10. Construa gram´aticas livres do contexto para as linguagens: a) {ambnc2(m+n)| m, n ≥ 0};

b) {w ∈ {a, b, c}∗| n

a(w) = nb(w) + nc(w)}.

c) {w ∈ {a, b}∗| na(w) = 2nb(w)};

d) {w ∈ {a, b}∗| n

a(w) 6= nb(w)};

e) {w ∈ {a, b}∗| w nao ´e pal´ındromo};

f ) {ambnck| n > m ou n > k};

g) {ambnci| m + n > i};

h) {ambncpdq| m + n ≥ p + q};

i) {w ∈ {a, b}∗| w n˜ao ´e da forma xx}.

11. Fa¸ca uma GLC que gere todas as express˜oes regulares sobre o alfabeto {0, 1}. 12. Seja G a gram´atica ({P, A, B}, {a, b}, R, P ), em que R consta de:

P → AP B | λ A → aAb | λ B → bBa | ba

a) Construa uma deriva¸c˜ao mais `a esquerda de aabbba.

b) Desenvolva a ´arvore de deriva¸c˜ao para a deriva¸c˜ao constru´ıda em (a). c) Defina L(G) utilizando nota¸c˜ao de conjunto.

13. Quantas deriva¸c˜oes levam `a AD da Figura 3.16, p´agina 158? Encontre uma forma de calcular o n´umero de deriva¸c˜oes correspondentes a uma AD qualquer.

14. Seja a gram´atica G: P → a+P | A A → P +b | c

a) Qual ´e a linguagem gerada por G? b) Mostre que G ´e amb´ıgua.

c) Construa uma GLC n˜ao amb´ıgua equivalente a G. 15. Seja G a gram´atica

P → aP a | bP b | aAb A → aA | Ab | λ

a) Que linguagem ´e gerada por G? b) Mostre que G ´e amb´ıgua.

c) Construa uma gram´atica n˜ao amb´ıgua equivalente a G. 16. Seja a GLC G = ({B}, {0, 1}, R, B), em que R consta das regras:

a) Que linguagem ´e L(G)? b) Mostre que G ´e amb´ıgua.

c) A seguinte GLC ´e equivalente a G: B → 0B1 | C

C → 0C11 | D D → 0D111 | λ

Mostre que esta GLC tamb´em ´e amb´ıgua.

17. Mostre que a gram´atica a seguir ´e amb´ıgua e construa uma equivalente n˜ao amb´ıgua:

P → AB A → aA | λ B → bBb | a | λ

18. Mostre que linguagens regulares n˜ao s˜ao inerentemente amb´ıguas. 19. Seja a GLC G = ({A}, {(, )}, R, A), em que R consta das regras:

A → (A)A | (A) | λ a) Mostre que G ´e amb´ıgua.

b) Construa uma GLC equivalente a G n˜ao amb´ıgua. c) Construa um APD que reconhe¸ca L(G).

20. Sejam L1= {ambn| m 6= n} e L2 = {bmcn| m 6= n}. A GLC a seguir gera L1∪L2:

P → X | Y X → aXb | A | B Y → bY c | B | C A → aA | a C → cC | c B → bB | b

a) Mostre que essa GLC ´e amb´ıgua.

b) Fa¸ca uma GLC equivalente n˜ao amb´ıgua, se poss´ıvel.

21. Sejam G1 = (V1, Σ, R1, P1) e G2= (V2, Σ, R2, P2) GLCs n˜ao amb´ıguas, e considere

a GLC G3 = (V1∪ V2∪ {P }, Σ ∪ {#}, R3, P ) tal que:

• V1∩ V2= ∅;

• P 6∈ V1∪ V2; e

A gram´atica G3 pode ser amb´ıgua? Dica: Considere 2 casos: (a) # ∈ Σ e (b)

# 6∈ Σ.

22. Construa uma GLC n˜ao amb´ıgua que gere {w ∈ {0, 1}∗| n

0(w) = n1(w)}.

23. Seja G uma GLC que contenha, entre outras, as regras: hcmdi → se hexp-reli ent˜ao hcmdi

hcmdi → se hexp-reli ent˜ao hcmdi sen˜aohcmdi

em que hcmdi e hexp-reli s˜ao vari´aveis ´uteis e se, ent˜ao e sen˜ao s˜ao terminais. Mostre que G ´e amb´ıgua. Como eliminar a ambiguidade causada por tais regras? 24. Seja G a gram´atica

P → aP | aP bP | λ

Prove que L(G) = {x ∈ {a, b}∗| todo prefixo de x tem no m´ınimo tantos as

quantos bs}. Construa um APD M tal que LF(M ) = L(G).

25. Prove que toda linguagem livre do contexto pode ser reconhecida por um AP sem transi¸c˜oes λ. Para isso, mostre como obter um AP a partir de uma GLC na forma normal de Greibach, de forma similar `aquela do Exemplo 98, por´em sem as transi¸c˜oes λ l´a explicitadas.

26. Prove que toda linguagem livre do contexto ´e gerada por uma gram´atica na qual cada uma das regras ´e de uma das formas:

i. P → λ ii. A → a iii. A → aB iv. A → aBC

sendo P a vari´avel de partida e A, B, C ∈ V e a ∈ Σ. (Dica: Vocˆe pode partir de uma gram´atica na forma normal de Greibach.)

27. Prove que o processo do passo 5 do M´etodo 21, de obten¸c˜ao de GLC na FNG (p´agina 177), termina com nenhuma regra X sendo da forma X → Y w em que Y ´e uma vari´avel e o n´umero de X ´e menor ou igual ao de Y .

28. Prove que existe procedimento de decis˜ao para determinar se uma LLC ´e: a) vazia;

b) finita.

29. Prove que existe procedimento de decis˜ao para determinar, para uma palavra w e uma GLC G arbitr´arias, se w ∈ L(G).

a) L ´e uma linguagem livre do contexto; b) L n˜ao ´e uma linguagem livre do contexto.

31. Prove que as seguintes linguagens n˜ao s˜ao linguagens livres do contexto: a) {02n| n ∈ N};

b) {w ∈ {0, 1}∗| n1(w) = n2+ n0(w) para algum n ∈ N};

c) {0m1n2k| m < n < k};

d) {0m1nck| k = min(m, n)} (min(m, n) ´e o menor valor entre m e n.)

e) {0n1n2

| n ≥ 0}; f ) {0n1n2k| n ≤ k ≤ 2n};

g) {ww | w ∈ {0, 1}∗};

h) {wwRw | w ∈ {0, 1}}.

32. Prove que as seguintes afirmativas s˜ao ou n˜ao verdadeiras, considerando os casos em que (i) X ´e finita e (ii) X ´e regular.

a) se L ´e uma LLC, ent˜ao L − X ´e uma LLC;

b) se L n˜ao ´e uma LLC, ent˜ao L − X n˜ao ´e uma LLC; c) se L n˜ao ´e uma LLC, ent˜ao L ∪ X n˜ao ´e uma LLC.

33. Mostre que a classe das linguagens livres do contexto ´e fechada sob as seguintes opera¸c˜oes (a ´e um certo s´ımbolo do alfabeto de L):

a) prefa(L) = {x | xa ∈ L}; b) sufa(L) = {y | ay ∈ L};

c) restoa(L) = {xy | xay ∈ L}.

d) pref(L) = {x | xy ∈ L}. e) suf(L) = {y | xy ∈ L}.

Documentos relacionados