Roteiro da Aula 7 - CIC/UnBrezende/tc_files/a7.pdf · Quem foi Alan Turing? Gram´aticas ≡...
Transcript of Roteiro da Aula 7 - CIC/UnBrezende/tc_files/a7.pdf · Quem foi Alan Turing? Gram´aticas ≡...
![Page 1: Roteiro da Aula 7 - CIC/UnBrezende/tc_files/a7.pdf · Quem foi Alan Turing? Gram´aticas ≡ Autˆomatos de Pilha Linguagem Livre de Contexto Uma linguagem L ⊆ Σ∗ ´e Livre de](https://reader033.fdocument.pub/reader033/viewer/2022050218/5f64058a6c0c2e61243d9a27/html5/thumbnails/1.jpg)
Teoria da
Computacao
116360
Aula 7
Roteiro
Exercıcio
Linguagens
Livres de
Contexto
Situacao Atual
Quem foi Alan
Turing?
Roteiro da Aula 7
1 Exercıcio
2 Linguagens Livres de Contexto
Propriedades de Fechamento
3 Situacao Atual
Pumping Lemma
4 Quem foi Alan Turing?
![Page 2: Roteiro da Aula 7 - CIC/UnBrezende/tc_files/a7.pdf · Quem foi Alan Turing? Gram´aticas ≡ Autˆomatos de Pilha Linguagem Livre de Contexto Uma linguagem L ⊆ Σ∗ ´e Livre de](https://reader033.fdocument.pub/reader033/viewer/2022050218/5f64058a6c0c2e61243d9a27/html5/thumbnails/2.jpg)
Teoria da
Computacao
116360
Aula 7
Roteiro
Exercıcio
Linguagens
Livres de
Contexto
Situacao Atual
Quem foi Alan
Turing?
Exercıcio
Construa um Aut. de Pilha que aceite a mesma linguagem
gerada pela gramatica:
S → aAA
A → aS | bS | a
![Page 3: Roteiro da Aula 7 - CIC/UnBrezende/tc_files/a7.pdf · Quem foi Alan Turing? Gram´aticas ≡ Autˆomatos de Pilha Linguagem Livre de Contexto Uma linguagem L ⊆ Σ∗ ´e Livre de](https://reader033.fdocument.pub/reader033/viewer/2022050218/5f64058a6c0c2e61243d9a27/html5/thumbnails/3.jpg)
Teoria da
Computacao
116360
Aula 7
Roteiro
Exercıcio
Linguagens
Livres de
Contexto
Propriedades deFechamento
Situacao Atual
Quem foi Alan
Turing?
Gramaticas ≡ Automatos de Pilha
Linguagem Livre de Contexto
Uma linguagem L ⊆ Σ∗ e Livre de Contexto se existe uma
gramatica livre de contexto G tal que L(G) = L.
Linguagem Livre de Contexto
Uma linguagem L ⊆ Σ∗ e Livre de Contexto se existe um
automato de pilha A tal que L(A) = L.
![Page 4: Roteiro da Aula 7 - CIC/UnBrezende/tc_files/a7.pdf · Quem foi Alan Turing? Gram´aticas ≡ Autˆomatos de Pilha Linguagem Livre de Contexto Uma linguagem L ⊆ Σ∗ ´e Livre de](https://reader033.fdocument.pub/reader033/viewer/2022050218/5f64058a6c0c2e61243d9a27/html5/thumbnails/4.jpg)
Teoria da
Computacao
116360
Aula 7
Roteiro
Exercıcio
Linguagens
Livres de
Contexto
Propriedades deFechamento
Situacao Atual
Quem foi Alan
Turing?
Fechamento por Uniao
A classe das linguagens Livres de Contexto
e fechada por uniao!
• Dadas duas gramaticas: G1 = (V1, Σ1, R1, S1) e
G2 = (V2, Σ2, R2, S2);
• A uniao L(G1) ∪ L(G2) e gerada pela gramatica:
![Page 5: Roteiro da Aula 7 - CIC/UnBrezende/tc_files/a7.pdf · Quem foi Alan Turing? Gram´aticas ≡ Autˆomatos de Pilha Linguagem Livre de Contexto Uma linguagem L ⊆ Σ∗ ´e Livre de](https://reader033.fdocument.pub/reader033/viewer/2022050218/5f64058a6c0c2e61243d9a27/html5/thumbnails/5.jpg)
Teoria da
Computacao
116360
Aula 7
Roteiro
Exercıcio
Linguagens
Livres de
Contexto
Propriedades deFechamento
Situacao Atual
Quem foi Alan
Turing?
Fechamento por Uniao
A classe das linguagens Livres de Contexto
e fechada por uniao!
• Dadas duas gramaticas: G1 = (V1, Σ1, R1, S1) e
G2 = (V2, Σ2, R2, S2);
• A uniao L(G1) ∪ L(G2) e gerada pela gramatica:
• G3 = {V1∪V2∪{S3}, Σ1∪Σ2, R1∪R2∪{S3 → S1 | S2}, S3}
![Page 6: Roteiro da Aula 7 - CIC/UnBrezende/tc_files/a7.pdf · Quem foi Alan Turing? Gram´aticas ≡ Autˆomatos de Pilha Linguagem Livre de Contexto Uma linguagem L ⊆ Σ∗ ´e Livre de](https://reader033.fdocument.pub/reader033/viewer/2022050218/5f64058a6c0c2e61243d9a27/html5/thumbnails/6.jpg)
Teoria da
Computacao
116360
Aula 7
Roteiro
Exercıcio
Linguagens
Livres de
Contexto
Propriedades deFechamento
Situacao Atual
Quem foi Alan
Turing?
Fechamento por Intersecao
Exercıcios
• Construa uma gramatica para:
L1 = {0n1n2m | n ≥ 0, m ≥ 0};
• Construa uma gramatica para:
L2 = {0n1m2m | n ≥ 0, m ≥ 0}.
![Page 7: Roteiro da Aula 7 - CIC/UnBrezende/tc_files/a7.pdf · Quem foi Alan Turing? Gram´aticas ≡ Autˆomatos de Pilha Linguagem Livre de Contexto Uma linguagem L ⊆ Σ∗ ´e Livre de](https://reader033.fdocument.pub/reader033/viewer/2022050218/5f64058a6c0c2e61243d9a27/html5/thumbnails/7.jpg)
Teoria da
Computacao
116360
Aula 7
Roteiro
Exercıcio
Linguagens
Livres de
Contexto
Propriedades deFechamento
Situacao Atual
Quem foi Alan
Turing?
Fechamento por Intersecao
Exercıcios
• Construa uma gramatica para:
L1 = {0n1n2m | n ≥ 0, m ≥ 0};
• Construa uma gramatica para:
L2 = {0n1m2m | n ≥ 0, m ≥ 0}.
Mas L1 ∩ L2 e {0n1n2n | n ≥ 0}. Veremos que essa linguagem
nao e livre de contexto!
![Page 8: Roteiro da Aula 7 - CIC/UnBrezende/tc_files/a7.pdf · Quem foi Alan Turing? Gram´aticas ≡ Autˆomatos de Pilha Linguagem Livre de Contexto Uma linguagem L ⊆ Σ∗ ´e Livre de](https://reader033.fdocument.pub/reader033/viewer/2022050218/5f64058a6c0c2e61243d9a27/html5/thumbnails/8.jpg)
Teoria da
Computacao
116360
Aula 7
Roteiro
Exercıcio
Linguagens
Livres de
Contexto
Propriedades deFechamento
Situacao Atual
Quem foi Alan
Turing?
Fechamento por Complementacao
Se e fechada por uniao e nao e fechada por intersecao,
pode ser fechada por complementacao?
![Page 9: Roteiro da Aula 7 - CIC/UnBrezende/tc_files/a7.pdf · Quem foi Alan Turing? Gram´aticas ≡ Autˆomatos de Pilha Linguagem Livre de Contexto Uma linguagem L ⊆ Σ∗ ´e Livre de](https://reader033.fdocument.pub/reader033/viewer/2022050218/5f64058a6c0c2e61243d9a27/html5/thumbnails/9.jpg)
Teoria da
Computacao
116360
Aula 7
Roteiro
Exercıcio
Linguagens
Livres de
Contexto
Propriedades deFechamento
Situacao Atual
Quem foi Alan
Turing?
Fechamento por Complementacao
Se e fechada por uniao e nao e fechada por intersecao,
pode ser fechada por complementacao?
Nao, por causa do DeMorgan... A ∩ B = A ∪ B
![Page 10: Roteiro da Aula 7 - CIC/UnBrezende/tc_files/a7.pdf · Quem foi Alan Turing? Gram´aticas ≡ Autˆomatos de Pilha Linguagem Livre de Contexto Uma linguagem L ⊆ Σ∗ ´e Livre de](https://reader033.fdocument.pub/reader033/viewer/2022050218/5f64058a6c0c2e61243d9a27/html5/thumbnails/10.jpg)
Teoria da
Computacao
116360
Aula 7
Roteiro
Exercıcio
Linguagens
Livres de
Contexto
Situacao Atual
Pumping Lemma
Quem foi Alan
Turing?
Situacao Atual
Interse\c c\~ao
Regulares
P(Σ∗)
{0n1n | n ≥ 0}
Aut. Finito Determinıstico
Aut. Finito Nao-determinıstico
Expressoes Regulares
Complementacao
Uniao
Fechada por:
Intersecao
![Page 11: Roteiro da Aula 7 - CIC/UnBrezende/tc_files/a7.pdf · Quem foi Alan Turing? Gram´aticas ≡ Autˆomatos de Pilha Linguagem Livre de Contexto Uma linguagem L ⊆ Σ∗ ´e Livre de](https://reader033.fdocument.pub/reader033/viewer/2022050218/5f64058a6c0c2e61243d9a27/html5/thumbnails/11.jpg)
Teoria da
Computacao
116360
Aula 7
Roteiro
Exercıcio
Linguagens
Livres de
Contexto
Situacao Atual
Pumping Lemma
Quem foi Alan
Turing?
Situacao Atual
Regulares
P(Σ∗)
{0n1n | n ≥ 0}
Aut. de Pilha
Gramatica Livre de Contexto
Aut. Finito Determinıstico
Aut. Finito Nao-determinıstico
Expressoes Regulares
Complementacao
Uniao
Fechada por:
IntersecaoComplementacao
Uniao
Fechada por:
Intersecao
Livres de Contexto
![Page 12: Roteiro da Aula 7 - CIC/UnBrezende/tc_files/a7.pdf · Quem foi Alan Turing? Gram´aticas ≡ Autˆomatos de Pilha Linguagem Livre de Contexto Uma linguagem L ⊆ Σ∗ ´e Livre de](https://reader033.fdocument.pub/reader033/viewer/2022050218/5f64058a6c0c2e61243d9a27/html5/thumbnails/12.jpg)
Teoria da
Computacao
116360
Aula 7
Roteiro
Exercıcio
Linguagens
Livres de
Contexto
Situacao Atual
Pumping Lemma
Quem foi Alan
Turing?
Situacao Atual
Regulares
P(Σ∗)
{0n1n | n ≥ 0}{0n1n2n | n ≥ 0}
Aut. de Pilha
Gramatica Livre de Contexto
Aut. Finito Determinıstico
Aut. Finito Nao-determinıstico
Expressoes Regulares
Complementacao
Uniao
Fechada por:
IntersecaoComplementacao
Uniao
Fechada por:
Intersecao
Livres de Contexto
![Page 13: Roteiro da Aula 7 - CIC/UnBrezende/tc_files/a7.pdf · Quem foi Alan Turing? Gram´aticas ≡ Autˆomatos de Pilha Linguagem Livre de Contexto Uma linguagem L ⊆ Σ∗ ´e Livre de](https://reader033.fdocument.pub/reader033/viewer/2022050218/5f64058a6c0c2e61243d9a27/html5/thumbnails/13.jpg)
Teoria da
Computacao
116360
Aula 7
Roteiro
Exercıcio
Linguagens
Livres de
Contexto
Situacao Atual
Pumping Lemma
Quem foi Alan
Turing?
Arvore de derivacao para Gramaticas
S → B1B1B1B, B → BB | 0 | 1 | ε
S
![Page 14: Roteiro da Aula 7 - CIC/UnBrezende/tc_files/a7.pdf · Quem foi Alan Turing? Gram´aticas ≡ Autˆomatos de Pilha Linguagem Livre de Contexto Uma linguagem L ⊆ Σ∗ ´e Livre de](https://reader033.fdocument.pub/reader033/viewer/2022050218/5f64058a6c0c2e61243d9a27/html5/thumbnails/14.jpg)
Teoria da
Computacao
116360
Aula 7
Roteiro
Exercıcio
Linguagens
Livres de
Contexto
Situacao Atual
Pumping Lemma
Quem foi Alan
Turing?
Arvore de derivacao para Gramaticas
S → B1B1B1B, B → BB | 0 | 1 | ε
S
1B1B B 1 B
![Page 15: Roteiro da Aula 7 - CIC/UnBrezende/tc_files/a7.pdf · Quem foi Alan Turing? Gram´aticas ≡ Autˆomatos de Pilha Linguagem Livre de Contexto Uma linguagem L ⊆ Σ∗ ´e Livre de](https://reader033.fdocument.pub/reader033/viewer/2022050218/5f64058a6c0c2e61243d9a27/html5/thumbnails/15.jpg)
Teoria da
Computacao
116360
Aula 7
Roteiro
Exercıcio
Linguagens
Livres de
Contexto
Situacao Atual
Pumping Lemma
Quem foi Alan
Turing?
Arvore de derivacao para Gramaticas
S → B1B1B1B, B → BB | 0 | 1 | ε
S
1B1B B 1 B
B B B B
ε 0
![Page 16: Roteiro da Aula 7 - CIC/UnBrezende/tc_files/a7.pdf · Quem foi Alan Turing? Gram´aticas ≡ Autˆomatos de Pilha Linguagem Livre de Contexto Uma linguagem L ⊆ Σ∗ ´e Livre de](https://reader033.fdocument.pub/reader033/viewer/2022050218/5f64058a6c0c2e61243d9a27/html5/thumbnails/16.jpg)
Teoria da
Computacao
116360
Aula 7
Roteiro
Exercıcio
Linguagens
Livres de
Contexto
Situacao Atual
Pumping Lemma
Quem foi Alan
Turing?
Arvore de derivacao para Gramaticas
S → B1B1B1B, B → BB | 0 | 1 | ε
S
1B1B B 1 B
B B B B
BB
0 0 0
ε 0
![Page 17: Roteiro da Aula 7 - CIC/UnBrezende/tc_files/a7.pdf · Quem foi Alan Turing? Gram´aticas ≡ Autˆomatos de Pilha Linguagem Livre de Contexto Uma linguagem L ⊆ Σ∗ ´e Livre de](https://reader033.fdocument.pub/reader033/viewer/2022050218/5f64058a6c0c2e61243d9a27/html5/thumbnails/17.jpg)
Teoria da
Computacao
116360
Aula 7
Roteiro
Exercıcio
Linguagens
Livres de
Contexto
Situacao Atual
Pumping Lemma
Quem foi Alan
Turing?
Arvore de derivacao para Gramaticas
S → B1B1B1B, B → BB | 0 | 1 | ε
S
1B1B B 1 B
B B B B
BB
0 0 0
01
ε 0
![Page 18: Roteiro da Aula 7 - CIC/UnBrezende/tc_files/a7.pdf · Quem foi Alan Turing? Gram´aticas ≡ Autˆomatos de Pilha Linguagem Livre de Contexto Uma linguagem L ⊆ Σ∗ ´e Livre de](https://reader033.fdocument.pub/reader033/viewer/2022050218/5f64058a6c0c2e61243d9a27/html5/thumbnails/18.jpg)
Teoria da
Computacao
116360
Aula 7
Roteiro
Exercıcio
Linguagens
Livres de
Contexto
Situacao Atual
Pumping Lemma
Quem foi Alan
Turing?
Arvore de derivacao para Gramaticas
S → B1B1B1B, B → BB | 0 | 1 | ε
S
1B1B B 1 B
B B B B
BB
0 0 0
01
ε 0
0 0 1 1 0 1 0
![Page 19: Roteiro da Aula 7 - CIC/UnBrezende/tc_files/a7.pdf · Quem foi Alan Turing? Gram´aticas ≡ Autˆomatos de Pilha Linguagem Livre de Contexto Uma linguagem L ⊆ Σ∗ ´e Livre de](https://reader033.fdocument.pub/reader033/viewer/2022050218/5f64058a6c0c2e61243d9a27/html5/thumbnails/19.jpg)
Teoria da
Computacao
116360
Aula 7
Roteiro
Exercıcio
Linguagens
Livres de
Contexto
Situacao Atual
Pumping Lemma
Quem foi Alan
Turing?
Arvore de derivacao para Gramaticas
S → B1B1B1B, B → BB | 0 | 1 | ε
S
![Page 20: Roteiro da Aula 7 - CIC/UnBrezende/tc_files/a7.pdf · Quem foi Alan Turing? Gram´aticas ≡ Autˆomatos de Pilha Linguagem Livre de Contexto Uma linguagem L ⊆ Σ∗ ´e Livre de](https://reader033.fdocument.pub/reader033/viewer/2022050218/5f64058a6c0c2e61243d9a27/html5/thumbnails/20.jpg)
Teoria da
Computacao
116360
Aula 7
Roteiro
Exercıcio
Linguagens
Livres de
Contexto
Situacao Atual
Pumping Lemma
Quem foi Alan
Turing?
Bombeando em gramaticas
u v x
R
R
S
zy
![Page 21: Roteiro da Aula 7 - CIC/UnBrezende/tc_files/a7.pdf · Quem foi Alan Turing? Gram´aticas ≡ Autˆomatos de Pilha Linguagem Livre de Contexto Uma linguagem L ⊆ Σ∗ ´e Livre de](https://reader033.fdocument.pub/reader033/viewer/2022050218/5f64058a6c0c2e61243d9a27/html5/thumbnails/21.jpg)
Teoria da
Computacao
116360
Aula 7
Roteiro
Exercıcio
Linguagens
Livres de
Contexto
Situacao Atual
Pumping Lemma
Quem foi Alan
Turing?
Bombeando em gramaticas
u
S
v
R
RR
R z
x yv
y
![Page 22: Roteiro da Aula 7 - CIC/UnBrezende/tc_files/a7.pdf · Quem foi Alan Turing? Gram´aticas ≡ Autˆomatos de Pilha Linguagem Livre de Contexto Uma linguagem L ⊆ Σ∗ ´e Livre de](https://reader033.fdocument.pub/reader033/viewer/2022050218/5f64058a6c0c2e61243d9a27/html5/thumbnails/22.jpg)
Teoria da
Computacao
116360
Aula 7
Roteiro
Exercıcio
Linguagens
Livres de
Contexto
Situacao Atual
Pumping Lemma
Quem foi Alan
Turing?
Bombeando em gramaticas
x
R
u
R
S
z
![Page 23: Roteiro da Aula 7 - CIC/UnBrezende/tc_files/a7.pdf · Quem foi Alan Turing? Gram´aticas ≡ Autˆomatos de Pilha Linguagem Livre de Contexto Uma linguagem L ⊆ Σ∗ ´e Livre de](https://reader033.fdocument.pub/reader033/viewer/2022050218/5f64058a6c0c2e61243d9a27/html5/thumbnails/23.jpg)
Teoria da
Computacao
116360
Aula 7
Roteiro
Exercıcio
Linguagens
Livres de
Contexto
Situacao Atual
Pumping Lemma
Quem foi Alan
Turing?
Pumping Lemma para ling. Livres de Contexto
Pumping Lemma
• Para toda linguagem livre de contexto L;
• Existe p ∈ N; tal que
• Para toda palavra w ∈ L, |w| ≥ p;
• Existe u, v, x, y, z:
• w = uvxyz;• |vxy| ≤ p;• |vy| ≥ 1; tal que
• Para todo i ≥ 0, uvixyiz ∈ L.
![Page 24: Roteiro da Aula 7 - CIC/UnBrezende/tc_files/a7.pdf · Quem foi Alan Turing? Gram´aticas ≡ Autˆomatos de Pilha Linguagem Livre de Contexto Uma linguagem L ⊆ Σ∗ ´e Livre de](https://reader033.fdocument.pub/reader033/viewer/2022050218/5f64058a6c0c2e61243d9a27/html5/thumbnails/24.jpg)
Teoria da
Computacao
116360
Aula 7
Roteiro
Exercıcio
Linguagens
Livres de
Contexto
Situacao Atual
Pumping Lemma
Quem foi Alan
Turing?
Pumping Lemma para ling. Livres de Contexto
Pumping Lemma
• Para toda linguagem livre de contexto L;
• Existe p ∈ N; tal que
• Para toda palavra w ∈ L, |w| ≥ p;
• Existe u, v, x, y, z:
• w = uvxyz;• |vxy| ≤ p;• |vy| ≥ 1; tal que
• Para todo i ≥ 0, uvixyiz ∈ L.
Se L e livre de contexto =⇒ vale o PL para L↓ contrapositiva
Se nao vale o PL para L =⇒ L nao e livre de contexto
![Page 25: Roteiro da Aula 7 - CIC/UnBrezende/tc_files/a7.pdf · Quem foi Alan Turing? Gram´aticas ≡ Autˆomatos de Pilha Linguagem Livre de Contexto Uma linguagem L ⊆ Σ∗ ´e Livre de](https://reader033.fdocument.pub/reader033/viewer/2022050218/5f64058a6c0c2e61243d9a27/html5/thumbnails/25.jpg)
Teoria da
Computacao
116360
Aula 7
Roteiro
Exercıcio
Linguagens
Livres de
Contexto
Situacao Atual
Pumping Lemma
Quem foi Alan
Turing?
Exemplos
Vamos demonstrar que a seguinte linguagen
nao e livre de contexto
• {0n1n2n | n ≥ 0};
![Page 26: Roteiro da Aula 7 - CIC/UnBrezende/tc_files/a7.pdf · Quem foi Alan Turing? Gram´aticas ≡ Autˆomatos de Pilha Linguagem Livre de Contexto Uma linguagem L ⊆ Σ∗ ´e Livre de](https://reader033.fdocument.pub/reader033/viewer/2022050218/5f64058a6c0c2e61243d9a27/html5/thumbnails/26.jpg)
Teoria da
Computacao
116360
Aula 7
Roteiro
Exercıcio
Linguagens
Livres de
Contexto
Situacao Atual
Pumping Lemma
Quem foi Alan
Turing?
Situacao Atual
Regulares
P(Σ∗)
{0n1n | n ≥ 0}{0n1n2n | n ≥ 0}
Aut. de Pilha
Gramatica Livre de Contexto
Aut. Finito Determinıstico
Aut. Finito Nao-determinıstico
Expressoes Regulares
Complementacao
Uniao
Fechada por:
IntersecaoComplementacao
Uniao
Fechada por:
Intersecao
Livres de Contexto
![Page 27: Roteiro da Aula 7 - CIC/UnBrezende/tc_files/a7.pdf · Quem foi Alan Turing? Gram´aticas ≡ Autˆomatos de Pilha Linguagem Livre de Contexto Uma linguagem L ⊆ Σ∗ ´e Livre de](https://reader033.fdocument.pub/reader033/viewer/2022050218/5f64058a6c0c2e61243d9a27/html5/thumbnails/27.jpg)
Teoria da
Computacao
116360
Aula 7
Roteiro
Exercıcio
Linguagens
Livres de
Contexto
Situacao Atual
Quem foi Alan
Turing?
Alan Turing
![Page 28: Roteiro da Aula 7 - CIC/UnBrezende/tc_files/a7.pdf · Quem foi Alan Turing? Gram´aticas ≡ Autˆomatos de Pilha Linguagem Livre de Contexto Uma linguagem L ⊆ Σ∗ ´e Livre de](https://reader033.fdocument.pub/reader033/viewer/2022050218/5f64058a6c0c2e61243d9a27/html5/thumbnails/28.jpg)
Teoria da
Computacao
116360
Aula 7
Roteiro
Exercıcio
Linguagens
Livres de
Contexto
Situacao Atual
Quem foi Alan
Turing?
Maquina EnigmaCriptografia na 2. Guerra Mundial
![Page 29: Roteiro da Aula 7 - CIC/UnBrezende/tc_files/a7.pdf · Quem foi Alan Turing? Gram´aticas ≡ Autˆomatos de Pilha Linguagem Livre de Contexto Uma linguagem L ⊆ Σ∗ ´e Livre de](https://reader033.fdocument.pub/reader033/viewer/2022050218/5f64058a6c0c2e61243d9a27/html5/thumbnails/29.jpg)
Teoria da
Computacao
116360
Aula 7
Roteiro
Exercıcio
Linguagens
Livres de
Contexto
Situacao Atual
Quem foi Alan
Turing?
Biografia
Uma vida bastante agitada...