roteiro da aula 7 - cic/unbrezende/tc_files/a7.pdf · quem foi alan turing? gram´aticas ≡...

29
Teoria da Computa¸ ao 116360 Aula 7 Roteiro Exerc´ ıcio Linguagens Livres de Contexto Situa¸ ao Atual Quem foi Alan Turing? Roteiro da Aula 7 1 Exerc´ ıcio 2 Linguagens Livres de Contexto Propriedades de Fechamento 3 Situa¸ ao Atual Pumping Lemma 4 Quem foi Alan Turing?

Upload: others

Post on 22-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Teoria da

Computacao

116360

Aula 7

Roteiro

Exercıcio

Linguagens

Livres de

Contexto

Situacao Atual

Quem foi Alan

Turing?

Biografia

Uma vida bastante agitada...