Lema do Bombeamento Linguagens Livres de Contexto



Documentos relacionados
Lema do Bombeamento Linguagens Livres de Contexto

Lista n 0 1 de Exercícios de Teoria da Computação

Linguagens Livres de Contexto e Autômatos a Pilha (Push- Down) Um Modelo de Computação de Força Intermediária. Gramática Livre de Contexto

6.3 Equivalência entre Autômatos com Pilha Não-Determinísticos e Gramáticas Livre do Contexto

Aplicações de Combinatória e Geometria na Teoria dos Números

Faculdade de Computação

Por que o quadrado de terminados em 5 e ta o fa cil? Ex.: 15²=225, 75²=5625,...

Apostila 03 Linguagens Livres de Contexto

BCC242. Alfabeto, Strings, Linguagens. Registro aqui o agradecimento à Profa. Lucília por ceder slides que fazem parte deste material.

Bases Matemáticas. Aula 2 Métodos de Demonstração. Rodrigo Hausen. v /15

Estruturas Discretas INF 1631

x0 = 1 x n = 3x n 1 x k x k 1 Quantas são as sequências com n letras, cada uma igual a a, b ou c, de modo que não há duas letras a seguidas?

Teoria dos Grafos. Edson Prestes

EAD Árvore árvore binária

ESTRUTURAS DE DADOS II MSc. Daniele Carvalho Oliveira

Faculdade de Computação

Projeto e Análise de Algoritmos Projeto de Algoritmos Tentativa e Erro. Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br

UM TEOREMA QUE PODE SER USADO NA

Algoritmos e Estrutura de Dados III. Árvores

Sistemas de Numerações.

por séries de potências

PROGRAMAÇÃO II 4. ÁRVORE

O B. Podemos decompor a pirâmide ABCDE em quatro tetraedros congruentes ao tetraedro BCEO. ABCDE tem volume igual a V = a2.oe

Lema do Bombeamento Motivação

Algoritmos e Estruturas de Dados 2

1. Sistemas de numeração

Lema do Bombeamento. Aplicação para Linguagens Regulares e Livres de Contexto. Maria Adriana Vidigal de Lima. Abril

Gramáticas Livres de Contexto

Solução da prova da 1 a fase OBMEP 2008 Nível 1

ÁRVORES BINÁRIAS DE PESQUISA

9. Derivadas de ordem superior

36ª Olimpíada Brasileira de Matemática GABARITO Segunda Fase

FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO. Projeto e Análise de Algoritmos II Lista de Exercícios 2

1 Propriedades das Funções Contínuas 2

Introdução às Máquinas de Turing (TM)

a 1 x a n x n = b,

Máquinas de Turing. Juliana Kaizer Vizzotto. Disciplina de Teoria da Computação. Universidade Federal de Santa Maria

Máquinas de Turing 1

Árvores. Algoritmos e Estruturas de Dados 2005/2006

Figura 1 Busca Linear

Dicas para a 6 a Lista de Álgebra 1 (Conteúdo: Homomorfismos de Grupos e Teorema do Isomorfismo para grupos) Professor: Igor Lima.

QUESTÃO 1 ALTERNATIVA B

O Problema do Troco Principio da Casa dos Pombos. > Princípios de Contagem e Enumeração Computacional 0/48

Sociedade Brasileira de Matemática Mestrado Profissional em Matemática em Rede Nacional. n=1

ANALÓGICA X DIGITAL. Vamos começar essa aula estabelecendo os dois tipos de eletrônica: Eletrônica Analógica. Eletrônica Digital

MD Sequências e Indução Matemática 1

Autômatos a pilha. UFRN/DIMAp/DIM0330 Linguagens formais. David Déharbe. david/enseignement/2003.

Árvores e Árvores Binárias

AV2 - MA (a) De quantos modos diferentes posso empilhá-los de modo que todos os CDs de rock fiquem juntos?

Contagem. George Darmiton da Cunha Cavalcanti CIn - UFPE

Capítulo 5: Aplicações da Derivada

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO. Seção 5.1 Problemas indecidíveis. Slides originais gentilmente cedidos pela Profa. Ariane Machado Lima

Chapter Noções Preliminares

- UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação

Exercícios Teóricos Resolvidos

Teoria da Computação Linguagens e Expressões Regulares, Autómatos de Estados Finitos

Dadas a base e a altura de um triangulo, determinar sua área.

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2

Compiladores. Análise léxica. Plano da aula. Vocabulário básico. Motivação para análise léxica. Estrutura de um compilador

Notas sobre a Fórmula de Taylor e o estudo de extremos

37ª OLIMPÍADA BRASILEIRA DE MATEMÁTICA PRIMEIRA FASE NÍVEL 1 (6º e 7º anos do Ensino Fundamental) GABARITO

Árvores Binárias Balanceadas

1 Base de um Espaço Vetorial

Polos Olímpicos de Treinamento. Aula 2. Curso de Teoria dos Números - Nível 2. Divisibilidade II. Prof. Samuel Feitosa

Árvores Trie e Patricia. Márcio Bueno ed2tarde@marciobueno.com / ed2noite@marciobueno.com

Um estudo sobre funções contínuas que não são diferenciáveis em nenhum ponto

BUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES

9xy yx9 = (9 100+x 10+y) (y 100+x 10+9) = (8 y) (y+1)

POTENCIAL ELÉTRICO. por unidade de carga

Material Teórico - Módulo de Métodos sofisticados de contagem. Princípio das Casas dos Pombos. Segundo Ano do Ensino Médio

ESTRUTURAS DE DADOS II

Organização e Arquitetura de Computadores I

Pedro Vasconcelos DCC/FCUP. Programação Funcional 15 a Aula Árvores de pesquisa

Contagem. Prof. Dr. Leandro Balby Marinho. Matemática Discreta. Fundamentos Inclusão/Exclusão Princípio da Casa dos Pombos Permutações Combinações

Na disciplina de Cálculo Numérico, vamos trabalhar com a linguagem C++ e o compilador que vamos usar é o Dev C++.

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

4.1 Em cada caso use a definição para calcular f 0 (x). (a) f (x) =x 3,x R (b) f (x) =1/x, x 6= 0 (c) f (x) =1/ x, x > 0.

VALE PARA 1, PARA 2, PARA 3,... VALE SEMPRE?

Classes de Complexidade e NP-Completude

Qual é Mesmo a Definição de Polígono Convexo?

Linguagens, Gramáticas e Máquinas

NOTAÇÃO MUSICAL TRADICIONAL: Como se escrever música?

Simulado OBM Nível 2

Construção de tabelas verdades

Universidade Estadual de Santa Cruz. Departamento de Ciências Exatas e Tecnológicas. Especialização em Matemática. Disciplina: Estruturas Algébricas

Capítulo 1. x > y ou x < y ou x = y

Resoluções comentadas de Raciocínio Lógico e Estatística - SEPLAG EPPGG


Citação e Indiscernibilidade de Idênticos. Citação e indiscernibilidade de idênticos

Árvores Binárias e Busca. Jeane Melo

$XWyPDWRV)LQLWRV'HWHUPLQLVWDV$)' A= (Q, È, G,q 0,F)

(a 1 + a 100 ) + (a 2 + a 99 ) + (a 3 + a 98 ) (a 50 + a 51 ).

5 Equacionando os problemas

Problemas insolúveis. Um exemplo simples e concreto

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

NOTAÇÃO MUSICAL: Como se escreve música?

Organização e Arquitetura de Computadores I

Programação Funcional. Aula 5. Funções Recursivas. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2011.

Estrutura de Dados Básica

Transcrição:

Lema do Bombeamento Linguagens Livres de Contexto

Bombeando FA s 0 0 x y z 1 1 1 0 Strings de comprimento 3 ou mais no DFA acima podem ser bombeados, pois tais strings correspondem a caminhos de comprimento 3, e portanto visitam 4 vértices. O princípio da Casa dos Pombos guarante então que algum vértice é visitado mais de uma vez, resultando em um ciclo de bombeamento.

Bombeando PDA s (, ε X ), X ε q ε, ε $ r ε, $ ε s Entretanto, o lema de bombeamento para linguagem regular falha nesse exemplo. Q: Dê um examplo de string que não pode ser bombeado.

Bombeando PDA s (, ε X ), X ε q ε, ε $ r ε, $ ε s R: ( n ) n não pode ser bombeado na primeira metade. Entretanto, poderíamos bombear dois substrings de uma vez. I.e. tomar k parenteses da esquerda e k da direita.

Bombeamento Duplo DEF: Um string s em Lé dito duplamente bombeável se podemos dividir s em s = uvxyz de modo que para todo i 0temos que s = uv i xy i z L sendo pelo menos um de v,y não vazio. Q1: 00111 é duplamente bombeável em 0*111? Q2: 00100 é duplamente bombeável em {0 n 10 n }? Q3: 00100100 é duplamente bombeável em {0 n 10 n 10 n }?

Bombeamento Duplo R1: Sim. Todo string bombeável é também duplamente bombeável, fazendo-se y = ε. Neste caso, tomamos u= ε, v = 00, x = y= ε,z = 111. uv i xy i z =(00) i 111 está de fato em 0*111. R2: Sim. Faça u= ε, v = 00, x = 1, y = 11 e z= ε uv i xy i z =(00) i 1(00) i está de fato em {0 n 10 n } R3: NÃO! Bombeando duplamente 00100100 ou leva a excesso de 1 s, ou aumenta 2 das sequências de 0 s, sem aumantar a sequência de 0 s restante.

Bombeamento Duplo Em geral, como bombeamento implica bombeamento duplo, toda linguagem regular (infinita) é duplamente bombeável. Também é verdade que toda linguagem livre de contexto (infinita) é duplamente bombeável. Mas Q3 pode ser generalizada de modo a mostrar que {0 n 10 n 10 n } não admite bombeamento duplo para strings com comprimento maior do que um determinado. Isso termina provando que {0 n 10 n 10 n } não é livre de contexto:

Lema do Bombeamento Livre de Contexto THM: Dada uma linguagem livre de contexto L, existe um número p(no. de bombeamento duplo) tal que todo string em L de comprimento p é duplamente bombeável dentro de um substring de comprimento p. Em outras palavras, para todo s Lcom s p podemos escrever : s = uvxyz vy 1(partes bombeávei não vazias) vxy p (bombeamento dentro da porção p) uv i xy i z L for all i 0 (bombea v e y)

CFPL Intuição t k t 2 t 1 s k s 2 s 1 -v -y p -u q -x r -z s s k s 2 s 1 Intuitivamente s = uvxyz é encontrado do seguinte modo: Apenas um número finito de mudaças na pilha podem ocorrer em um ciclo do grafo de comprimento n (o número de estado). Portanto, se sé suficient. longo, existirão estados q,rtais que o mesmo string empilhado em qé desemplihado em re tais que o caminho de qa r começa e termina com a mesma configuração de pilha. Com essa hipótese, podemos bombear juntos ve y já que v empilha o que ydesempilha

CFPL -Prova O que foi mostrado anteriormente possa ser formalizado para provar o Lema do Bombeamento para linguagens livres de contexto. Entrtanto a prova é muito mais complicada do que a prova formal baseada em gramática: Prova do CFPL: Seja Luma linguagem livre de contexto. Considere uma árvore de derivação de um string de Lna qual algum nodo de variável tem ele próprio como ancestral:

S a A A f o r y o u c h u g a a n d a c h o o Podemos substituir a última ocorrência de A pela primeira. I.e., substituir na árvore A * and a por A * chuga and achoo Obtendo o seguinte:

S a A A f o r y o u c h u g a c h o o A c h u g a a n d a c h o o E novamente:

S a A A f o r y o u c h u g a c h o o A c h u g a c h o o A c h u g a a n d a c h o o

S a A A f o r y o u c h u g a a n d a c h o o Ou podemos substituir A * chuga and achoo por A * and a obtendo o resultado a seguir:

S a A a n d a f o r y o u No nosso caso particular, podemos criar qualquer string da forma a (chuga) i and a (choo) i for you

De modo geral, qualquer caminho na árvore de derivação que tenha uma varável repetida dá origem a strings da forma uv i xy i z, todos em L. O restante da prova é apenas um argumento de contagem que garante a ocorrência de uma variável repetida.

Q: Se n é o número de variáveis da gramática, para qual altura da árvore se pode garantir que pelo menos uma variável ocorre repetida? (Lembre-se: a altura da árvore trivial apenas a raiz é 0)

R: Se n é o númerode variáveisda gramática, qualquersubárvorede altura h= n+1 terá uma variável repetida. Isso porque o nível inferior de umaárvorede derivaçãoé compostode terminais, portantoalturan+1 (= n+2 níveis) garanten+1 níveisde variáveis, empelomenosum ramoda árvore. O princípio da casa dos pombos garante que alguma variável ocorre 2 vezes!

Q: Se a gramática está na Forma Normal de Chomsky, de que tipo é qualquer árvore de derivação?

R: Uma árvore binária! Q: Qual é o número máximo de folhas que uma árvore binária de altura n pode ter?

A: 2 n Q: Qual é o número máximo de folhas que pode ter uma árvore de derivação de uma gramática na Forma Normal de Chomsky, se a altura da árvore de derivação é n+1?

A: Também 2 n! Isso porque a única maneira de obter um terminal é por uma regra da forma A ae, portanto, não há dois ramos no último nível. Q: Que comprimento de string garante que sua árvore de derivação tem altura n+1?

R: 2 n. Isso porque nenhuma árvore com comprimento < n+1 poderia gerar essa quantidade de folhas, ou terminais. Isso nos leva a definir o número de bombeamento duplo como p=2 n. O resto do teorema segue das considerações feitas previamente. Apenas precisamos verificar que o bombeamento pode ocorrer em um substring de comprimento p. Isso decorre de ocorrer uma variável repetida nos últimos n+2 níveis da árvore.

Provando que Lnão CFL Método padrão p/ aplicar o lema do bombeamento Apenas no. 3 muda de exemplo p/ exemplo: 1. Suponha que a linguagem é livre de contexto. 2. Então existe um no. de bombeamento p. 3. Encontre um string s que nãoseja duplamente bombeável, em um substring de comprimento p 4. 2 e 3 se contradizem, portanto, 1 deve ser falso e a linguagem não é livre de contexto.

Exemplos A = {a n b n c n n 0} B = {a i b j c k o i j k } C ={1 n 0 n 1 n 0 n n 0}