Fundamentos da Teoria da Computação
Terceira Lista de Exercícios - Aula sobre dúvidas
Sérgio Mariano Dias1
1
Mestrando em Ciência da Computação
Departamento de Ciência da Computação
Universidade Federal de Minas Gerais
09/06/2009
Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 1 / 30
1) - Para cada linguagem a seguir, construa um APD:
a) {a3n
b2n
| n ≥ 0}.
Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 2 / 30
1) - Para cada linguagem a seguir, construa um APD:
b) {am
bn
# | m = n}. O alfabeto é {a, b, #} 1
.
1
L = λ. Conforme combinado também será aceito (a, b) em qualquer ordem.
Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 3 / 30
2) - Construa um APN que reconheça {am
bn
| m = n} 2
.
2
L = λ. Conforme combinado também será aceito (a, b) em qualquer ordem.
Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 4 / 30
3) - Construa GLC’s para as linguagens:
a){02n
13n
| n ≥ 0}.
P → 00P111|λ
Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 5 / 30
3) - Construa GLC’s para as linguagens:
b) {0n
1n
| n ≥ 0}{0n
1n
| n ≥ 0} ∪ {02n
13n
| n ≥ 1}.
P → XX|Y
X → 0X1|λ
Y → 00Y111|λ
Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 6 / 30
3) - Construa GLC’s para as linguagens:
c) {an
bn+k
ck
| n, k ≥ 0}.
P → AC
A → aAb|λ
C → bCc|λ
Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 7 / 30
3) - Construa GLC’s para as linguagens:
d) {am
bn
ck
| k ≥ m + n}.
P → XC
X → aXc|Y
Y → bYc|λ
C → cC|λ
Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 8 / 30
4) - Seja a gramática G:
X → 0A | B1 | λ
A → X1
B → 0A
a) Que linguagem é gerada por G?
X → 0X1|0X11|λ
{0n
1k
|n ≤ k ≤ 2n}
Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 9 / 30
4) - Seja a gramática G: b) Mostre que G é ambígua.
00111
Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 10 / 30
4) - Seja a gramática G:
X → 0A | B1 | λ
A → X1
B → 0A
c) Construa uma gramática não ambígua equivalente a G.
X → 0X11|Y
Y → 0Y1|λ
Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 11 / 30
5) - Seja a gramática:
P → AAA | B | Ab
A → aA | B | BC
B → λ
C → BC
a)Se existirem símbolos inúteis, elimine-os.
{X|X →∗
w, w ∈ {a, b}∗
}; produzem sentença.
{B, A, P} → C é inútil
P → AAA|B|Ab
A → aA|B
B → λ
{X|P →∗
uXv} = {P, A, B}; determinando variáveis alcançaveis a partir
de P
Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 12 / 30
5) - b)Elimine regras λ.
Variáveis anuláveis = {B, A, P}
P → AAA|AA|A|B|Ab|b|λ
A → aA|a|B
Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 13 / 30
5) - c)Elimine regras unitárias.
enc(P) = {P, A, B}
enc(A) = {A, B}
enc(B) = {B}
P → AAA|AA|Ab|b|aA|a|λ
A → aA|a
Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 14 / 30
5) - d)Obtenha uma GLC equivalente na forma normal de
Chomsky.
Primeiro.
P → AAA|AA|AY|b|XA|a|λ
A → XA|a
X → a
Y → b
Segundo
P → AQ|AA|AY|b|XA|a|λ
A → XA|a
X → a
Y → b
Q → AA
Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 15 / 30
6) - Seja a gramática:
S → abAB
A → bAB | λ
B → bBAa | λ
C → BC
Obtenha uma GLC equivalente na forma normal de Chomsky.
Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 16 / 30
6) - Eliminando-se regras λ
Variáveis anulavéis = {A, B}
S → abAB|abA|abB|ab
A → bAB|bA|bB|b
B → bBAa|bBa|bAa|ba
C → BC|C - remover C
Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 17 / 30
6) - Eliminando regra unitárias
enc(S) = {S}
enc(A) = {A}
enc(B) = {B}
enc(C) = {C}
S → abAB|abA|abB|ab
A → bAB|bA|bB|b
B → bBAa|bBa|bAc|ba
C → BC (C é inútil)
Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 18 / 30
6) - Variáveis e terminais
S → XYAB|XYA|XYB|XY
A → YAB|YA|YB|b
B → YBAX|YBX|YAX|YX
X → a
Y → b
Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 19 / 30
6) - Quebrando regras
S → XQ1|XQ3|XQ4|XY
Q1 → YQ2
Q2 → AB
Q3 → YA
Q4 → YB
A → YQ2|YA|YB|b
B → YQ5|YQ7|YQ6|YX
Q5 → BQ6
Q6 → AX
Q7 → BX
Y → a
X → b
Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 20 / 30
7) - Construa um APN que aceite a linguagem gerada pela
gramática3
:
S → aABB | aAA
A → aBB | a
B → bBB | A
3
L = λ
Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 21 / 30
8) - Mostre que são ou que não são linguagens livres do
contexto4
:
a) {w ∈ {a, b, c}∗ | na(w) = nb(w)}.
É LLC.
P → aPbP|bPaP|cP|λ
4
ns(w) é a quantidade do símbolo s na palavra w.
Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 22 / 30
8) - Mostre que são ou que não são linguagens livres do
contexto:
b){w ∈ {a, b, c}∗ | na(w) = nb(w) ou na(w) = nc(w)}.
É LLC.
P → X|Y
X → aXbX|bXaX|cX|λ
Y → aYcY|cYaY|bY|λ
Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 23 / 30
8) - Mostre que são ou que não são linguagens livres do
contexto:
c){w ∈ {a, b, c}∗ | na(w) = nb(w) = nc(w)}.
Não é LLC.
L ∩ {a}∗
{b}∗
{c}∗
= {an
bn
cn
|n ≥ 1} que não é LLC5
.
5
Exemplo 118, página 226 do livro texto.
Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 24 / 30
9) - Mostre que sim ou que não; as linguagens livres do
contexto são fechadas sob:
a)Diferença.
Não:
∗
−L = ¬L. Se L é LLC, ¬L pode não ser, pois LLC’s não são
fechadas sob complemento6
.
6
Teorema 29, página 208 do livro texto.
Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 25 / 30
9) - Mostre que sim ou que não; as linguagens livres do
contexto são fechadas sob:
b)Diferença simétrica7
.
Não: (
∗
−L) ∪ (L −
∗
) = ¬L Se L é LLC, ¬L pode não ser, pois LLC’s
não são fechadas sob complemento8
.
7
{x|x ∈ A ∪ B e x /∈ A ∩ B}
8
Teorema 29, página 208 do livro texto.
Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 26 / 30
10) - Prove que as seguintes afirmativas são ou não
verdadeiras, considerando os casos em que (i) X é finita e
(ii) X é regular.
a)Se L é uma LLC, então L − X é uma LLC
(i) V: L − X = L ∩ ¬X
(ii) V: L − X = L ∩ ¬X
Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 27 / 30
10) - Prove que as seguintes afirmativas são ou não
verdadeiras, considerando os casos em que (i) X é finita e
(ii) X é regular.
b)Se L não é uma LLC, então L − X não é uma LLC.
(i) V: (L − X) ∪ (L ∩ X) = L Se (L − X) fosse LLC, L seria LLC.
(ii) F: L −
∗
=
Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 28 / 30
10) - Prove que as seguintes afirmativas são ou não
verdadeiras, considerando os casos em que (i) X é finita e
(ii) X é regular.
c)Se L não é uma LLC, então L ∪ X não é uma LLC.
(i) V: (L ∪ X) − (X − L) = L - Se (L ∪ X) fosse LLC, L seria LLC.
(ii) F: L ∪
∗
=
∗
Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 29 / 30
Obrigado pela atenção e boa prova.
contato:
sergiomariano@gmail.com
mariano@dcc.ufmg.br
Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 30 / 30

Fundamentos da Teoria da Computação Terceira Lista de Exercícios - Aula sobre dúvidas

  • 1.
    Fundamentos da Teoriada Computação Terceira Lista de Exercícios - Aula sobre dúvidas Sérgio Mariano Dias1 1 Mestrando em Ciência da Computação Departamento de Ciência da Computação Universidade Federal de Minas Gerais 09/06/2009 Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 1 / 30
  • 2.
    1) - Paracada linguagem a seguir, construa um APD: a) {a3n b2n | n ≥ 0}. Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 2 / 30
  • 3.
    1) - Paracada linguagem a seguir, construa um APD: b) {am bn # | m = n}. O alfabeto é {a, b, #} 1 . 1 L = λ. Conforme combinado também será aceito (a, b) em qualquer ordem. Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 3 / 30
  • 4.
    2) - Construaum APN que reconheça {am bn | m = n} 2 . 2 L = λ. Conforme combinado também será aceito (a, b) em qualquer ordem. Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 4 / 30
  • 5.
    3) - ConstruaGLC’s para as linguagens: a){02n 13n | n ≥ 0}. P → 00P111|λ Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 5 / 30
  • 6.
    3) - ConstruaGLC’s para as linguagens: b) {0n 1n | n ≥ 0}{0n 1n | n ≥ 0} ∪ {02n 13n | n ≥ 1}. P → XX|Y X → 0X1|λ Y → 00Y111|λ Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 6 / 30
  • 7.
    3) - ConstruaGLC’s para as linguagens: c) {an bn+k ck | n, k ≥ 0}. P → AC A → aAb|λ C → bCc|λ Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 7 / 30
  • 8.
    3) - ConstruaGLC’s para as linguagens: d) {am bn ck | k ≥ m + n}. P → XC X → aXc|Y Y → bYc|λ C → cC|λ Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 8 / 30
  • 9.
    4) - Sejaa gramática G: X → 0A | B1 | λ A → X1 B → 0A a) Que linguagem é gerada por G? X → 0X1|0X11|λ {0n 1k |n ≤ k ≤ 2n} Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 9 / 30
  • 10.
    4) - Sejaa gramática G: b) Mostre que G é ambígua. 00111 Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 10 / 30
  • 11.
    4) - Sejaa gramática G: X → 0A | B1 | λ A → X1 B → 0A c) Construa uma gramática não ambígua equivalente a G. X → 0X11|Y Y → 0Y1|λ Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 11 / 30
  • 12.
    5) - Sejaa gramática: P → AAA | B | Ab A → aA | B | BC B → λ C → BC a)Se existirem símbolos inúteis, elimine-os. {X|X →∗ w, w ∈ {a, b}∗ }; produzem sentença. {B, A, P} → C é inútil P → AAA|B|Ab A → aA|B B → λ {X|P →∗ uXv} = {P, A, B}; determinando variáveis alcançaveis a partir de P Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 12 / 30
  • 13.
    5) - b)Elimineregras λ. Variáveis anuláveis = {B, A, P} P → AAA|AA|A|B|Ab|b|λ A → aA|a|B Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 13 / 30
  • 14.
    5) - c)Elimineregras unitárias. enc(P) = {P, A, B} enc(A) = {A, B} enc(B) = {B} P → AAA|AA|Ab|b|aA|a|λ A → aA|a Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 14 / 30
  • 15.
    5) - d)Obtenhauma GLC equivalente na forma normal de Chomsky. Primeiro. P → AAA|AA|AY|b|XA|a|λ A → XA|a X → a Y → b Segundo P → AQ|AA|AY|b|XA|a|λ A → XA|a X → a Y → b Q → AA Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 15 / 30
  • 16.
    6) - Sejaa gramática: S → abAB A → bAB | λ B → bBAa | λ C → BC Obtenha uma GLC equivalente na forma normal de Chomsky. Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 16 / 30
  • 17.
    6) - Eliminando-seregras λ Variáveis anulavéis = {A, B} S → abAB|abA|abB|ab A → bAB|bA|bB|b B → bBAa|bBa|bAa|ba C → BC|C - remover C Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 17 / 30
  • 18.
    6) - Eliminandoregra unitárias enc(S) = {S} enc(A) = {A} enc(B) = {B} enc(C) = {C} S → abAB|abA|abB|ab A → bAB|bA|bB|b B → bBAa|bBa|bAc|ba C → BC (C é inútil) Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 18 / 30
  • 19.
    6) - Variáveise terminais S → XYAB|XYA|XYB|XY A → YAB|YA|YB|b B → YBAX|YBX|YAX|YX X → a Y → b Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 19 / 30
  • 20.
    6) - Quebrandoregras S → XQ1|XQ3|XQ4|XY Q1 → YQ2 Q2 → AB Q3 → YA Q4 → YB A → YQ2|YA|YB|b B → YQ5|YQ7|YQ6|YX Q5 → BQ6 Q6 → AX Q7 → BX Y → a X → b Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 20 / 30
  • 21.
    7) - Construaum APN que aceite a linguagem gerada pela gramática3 : S → aABB | aAA A → aBB | a B → bBB | A 3 L = λ Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 21 / 30
  • 22.
    8) - Mostreque são ou que não são linguagens livres do contexto4 : a) {w ∈ {a, b, c}∗ | na(w) = nb(w)}. É LLC. P → aPbP|bPaP|cP|λ 4 ns(w) é a quantidade do símbolo s na palavra w. Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 22 / 30
  • 23.
    8) - Mostreque são ou que não são linguagens livres do contexto: b){w ∈ {a, b, c}∗ | na(w) = nb(w) ou na(w) = nc(w)}. É LLC. P → X|Y X → aXbX|bXaX|cX|λ Y → aYcY|cYaY|bY|λ Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 23 / 30
  • 24.
    8) - Mostreque são ou que não são linguagens livres do contexto: c){w ∈ {a, b, c}∗ | na(w) = nb(w) = nc(w)}. Não é LLC. L ∩ {a}∗ {b}∗ {c}∗ = {an bn cn |n ≥ 1} que não é LLC5 . 5 Exemplo 118, página 226 do livro texto. Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 24 / 30
  • 25.
    9) - Mostreque sim ou que não; as linguagens livres do contexto são fechadas sob: a)Diferença. Não: ∗ −L = ¬L. Se L é LLC, ¬L pode não ser, pois LLC’s não são fechadas sob complemento6 . 6 Teorema 29, página 208 do livro texto. Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 25 / 30
  • 26.
    9) - Mostreque sim ou que não; as linguagens livres do contexto são fechadas sob: b)Diferença simétrica7 . Não: ( ∗ −L) ∪ (L − ∗ ) = ¬L Se L é LLC, ¬L pode não ser, pois LLC’s não são fechadas sob complemento8 . 7 {x|x ∈ A ∪ B e x /∈ A ∩ B} 8 Teorema 29, página 208 do livro texto. Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 26 / 30
  • 27.
    10) - Proveque as seguintes afirmativas são ou não verdadeiras, considerando os casos em que (i) X é finita e (ii) X é regular. a)Se L é uma LLC, então L − X é uma LLC (i) V: L − X = L ∩ ¬X (ii) V: L − X = L ∩ ¬X Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 27 / 30
  • 28.
    10) - Proveque as seguintes afirmativas são ou não verdadeiras, considerando os casos em que (i) X é finita e (ii) X é regular. b)Se L não é uma LLC, então L − X não é uma LLC. (i) V: (L − X) ∪ (L ∩ X) = L Se (L − X) fosse LLC, L seria LLC. (ii) F: L − ∗ = Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 28 / 30
  • 29.
    10) - Proveque as seguintes afirmativas são ou não verdadeiras, considerando os casos em que (i) X é finita e (ii) X é regular. c)Se L não é uma LLC, então L ∪ X não é uma LLC. (i) V: (L ∪ X) − (X − L) = L - Se (L ∪ X) fosse LLC, L seria LLC. (ii) F: L ∪ ∗ = ∗ Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 29 / 30
  • 30.
    Obrigado pela atençãoe boa prova. contato: sergiomariano@gmail.com mariano@dcc.ufmg.br Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação 09/06/2009 30 / 30