Exercícios
description
Transcript of Exercícios
Exercícios
Linguagens Formais
1. Para cada um dos pares de descrições de linguagens a seguir, escolha o relacionamento correto de acordo com essas quatro opções:
(1) (2): linguagem (1) é um subconjunto da linguagem (2).
(1) (2): linguagem (1) é um super-conjunto da linguagem (2).
(1) = (2): as linguagens (1) e (2) são as mesmas.(1) ? (2): as linguagens (1) e (2) não possuem relação de
subconjunto; ou seja, existem cadeias em (1) que não estão em (2), e há cadeias em (2) que não estão em (1).
a) (1): A linguagem da GLC com as produções S 0S1 | 1S0 | λ
(2): A linguagem da expressão regular (0 + 1 )*. (1) está contida em (2). (2) gera todas as cadeias de 0’s
e 1’s, enquanto (1) não gera cadeias como 11, ou qualquer string de tamanho ímpar.
b) (1): A linguagem da GLC com as produções
S AS | SB | λ, A 0 e B 1
(2): A linguagem da expressão regular 0*1*
As linguagens são iguais.
c) (1): A linguagem da expressão regular
(0 + 1)*11(0 + 1)*
(2): A linguagem da expressão regular (0*1*11)*0*110*1*
(1) contém (2).
(1) é formada por todas as cadeias de 0’s e 1’s com dois 1’s consecutivos. (2) não possui algumas dessas cadeias, como por exemplo as terminadas em 110101.
2) Seja L a linguagem consistindo de todas as cadeias de zero ou mais 0’s seguidas por um ou mais 1’s, seguidas por dois ou mais 2’s. Por exemplo, 001122, 122 e 0111122 estão em L; 012 (poucos 2’s) e 0112122 (um 2 precede um 1) não estão.
a) Escreva uma expressão regular cuja linguagem
seja L. 0*11*222*
b) Dê uma gramática livre de contexto que gere a mesma linguagem. É suficiente apenas dar as produções, assumindo que S é o símbolo inicial.
Existem várias gramáticas aceitáveis, uma delas é:S ABCA 0A | λB 1B | 1C 2C | 22
3) Construa uma gramática regular para cada uma das linguagens a seguir:
(a) o conjunto das cadeias sobre {a, b, c} que não contém aa.
S aA | bS | cS | λA bS | cS | λ(b) o conjunto das cadeias sobre {a, b, c} nas quais
cada b é seguido por pelo menos um c.S aS | bA | cS | λA cS(c) o conjunto das cadeias sobre {a, b} nas quais o
número de a’s é divisível por 3.S aA | bS | λA aB | bAB aS | bB
d) O conjunto das cadeias sobre {a, b} nos quais cada a é precedido (imediatamente) ou seguido (imediatamente) por b.
S aA | bB | λ
A bB
B aS | bB | λ
4) Seja G a gramáticaS aS | Sb | ab | SS(a) Dê uma expressão regular para L(G).(a+b+)+
(b) Construa duas derivações mais a esquerda de aabb.
S aS aSb aabb
S Sb aSb aabb
(c) Construa as árvores de derivação para as derivações da parte (b)
S Sa S S b
S b a S a b a b
(d) Construa uma gramática não ambígua equivalente a G.
S aS | abAA bA | S | λ(e) Escreva uma gramática regular equivalente. S aS | aBB bAA bA | aS | aB | λ
5) Seja G a gramática livre de contexto com as seguintes produções:
S aS | Sb | a | b(a) Prove, por indução no tamanho da derivação, que todas
as cadeias w Є L(G) tem a propriedade de não conter ba como uma subcadeia.
Seja t = tamanho da indução.(i) Se t = 1 então S => a ou S => b. Portanto, não possuem
ba como subcadeia.(ii) Supomos que, para 1 t < k, se S =>* w e |w|= t, então
w não possui ba como subcadeia.(iii) Vamos mostrar que a proposição vale para t = k
Nesse caso, S =>k w. Como em cada passo de derivação exatamente um terminal é gerado (a ou b), então necessariamente |w| = k. Além disso, w foi gerado num caminho S => aS =>k-1 ax ou S=> Sb =>k-1 yb, e|x| = |y| = k-1.Por (ii), nem x nem y têm ba como subcadeia. Logo, ax e yb também não têm ba como subcadeiac.q.d.
6) Construa uma gramática para cada uma das linguagens:(a) {ambn | m > n}S aS | aAA aAb | λ(b) {w Є {a, b}* | o número de a’s em w é o dobro do número
de b’s}S aSaSbS | aSbSaS | bSaSaS | λ(c) {ambn | n ≤ m ≤ 2n}S aSb | aaSb | λ(d) {ambncpdq | m + n ≥ p + q}
6) Construa uma gramática para cada uma das linguagens:(a) {ambn | m > n}S aS | aAA aAb | λ(b) {w Є {a, b}* | o número de a’s em w é o dobro do número
de b’s}S aSaSbS | aSbSaS | bSaSaS | λ(c) {ambn | n ≤ m ≤ 2n}S aSb | aaSb | λ(d) {ambncpdq | m + n ≥ p + q}S aSd | A | B = gera igual número de a e dA bAd | C = gera igual número de b e dB aBc | C | D = gera igual número de a e cC bCc | E = geral igual número de b e cD aD | E = gera pelo menos um aE bE | λ = gera pelo menos um b
Exercícios da 4a. Lista (material web)
6) Indicar qual é a linguagem gerada pela gramática dada, e classificá-la:
(a) S A0
A 1A
A0 10
L = 1+ 0
G.Regular equivalente:
S A0
A 1A | 1
(e) S 0A | 1B
A 0A | 0
B 1B | 1
L= (0+ + 11+) A linguagem é regular.