a * Lema do Bombeamento Linguagens regulares e não-regulares

Documentos relacionados
Lema do Bombeamento Operações Fechadas sobre LR s Aplicações

Lema do Bombeamento Operações Fechadas sobre LR s Aplicações

Linguagens Não-Regulares

MAC-4722 Linguagens, Autômatos e Computabilidade Lista L3

Propriedades das Linguagens Livres do Contexto

Lema do Bombeamento para Linguagens Livres do Contexto

Expressões regulares

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

LR's: Lema do Bombeamento e Propriedades de Fechamento

Vamos estudar neste capítulo algumas características da classe das linguagens regulares sobre um alfabeto. Entre elas salientámos:

Segunda Lista de Exercícios 2004/2...

Linguagens Formais e Autômatos P. Blauth Menezes

Lema do Bombeamento Motivação

Terceira Lista de Exercícios 2004/2...

Linguagens Formais e Problemas de Decisão

AF Não-determinísticos Equivalência entre AFDN e AFD Equivalência entre AF e GR (H&U, 1969 e 1979), (H;M;U, 2001) e (Menezes, 2002) 1

AF Não-determinísticos Equivalência entre AFDN e AFD Equivalência entre AF e GR (H&U, 1969 e 1979), (H;M;U, 2001) e (Menezes, 2002) 1

INE5317 Linguagens Formais e Compiladores AULA 6: Propriedades das Linguagens Regulares

a n Sistemas de Estados Finitos AF Determinísticos

Capítulo 4: Autômatos finitos e expressões regulares

Computabilidade e Complexidade (ENG10014)

a n Sistemas de Estados Finitos AF Determinísticos

LINGUAGENS FORMAIS E AUTÔMATOS. Prova 2-10/06/ Prof. Marcus Ramos

Redutibilidade. Mário S. Alvim Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02)

Transformações úteis para GLC: (1) eliminação de produções nulas; (2) eliminação de produções unitárias; (3) Eliminação de símbolos estéreis e

AFNs, Operações Regulares e Expressões Regulares

Capítulo 9: Linguagens sensíveis ao contexto e autômatos linearmente limitados.

Prof. Dr. Marcos Castilho. Departamento de Informática/UFPR. 27 de Fevereiro de 2018

Demonstrações. Terminologia Métodos

Humberto José Bortolossi [01] (a) (1.0) Escreva infinitos números racionais que pertençam ao intervalo

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

Propriedades de Linguagens Livres de Contexto. Propriedades de Linguagens Livres de Contexto. Propriedades de Linguagens Livres de Contexto

Fundamentos da Teoria da Computação

Modelos de Computação Folha de trabalho n. 8

Já falamos que, na Matemática, tudo se baseia em axiomas. Já estudamos os números inteiros partindo dos seus axiomas.

Pré-Cálculo. Humberto José Bortolossi. Aula 2 13 de agosto de Departamento de Matemática Aplicada Universidade Federal Fluminense

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

LFA. Provas formais; Indução; Sintaxe e Semântica Teoria dos Conjuntos

CAPÍTULO 8 PROPRIEDADES DAS LINGUAGENS LIVRES DE CONTEXTO

Aula 1: Introdução ao curso

Problemas Computáveis

Referências e materiais complementares desse tópico

Exercícios Associados à Aula 28 (27/11/2013) Feitos em sala e em equipes

Lista de exercícios 1

Apostila 05 Assunto: Linguagens dos tipos 0 e 1

O que é Linguagem Regular. Um teorema sobre linguagens regulares. Uma aplicação do Lema do Bombeamento. Exemplo de uso do lema do bombeamento

Regulares (RL) 4.1. Propriedades d de fecho das RL ADC/TC/CAP.4/ /LEI/DEIFCTUC 192

Algoritmo de Minimização de AFD

LFA Aula 05. AFND: com e sem movimentos 05/12/2016. Linguagens Formais e Autômatos. Celso Olivete Júnior.

MA14 - Aritmética Unidade 3. Divisão nos Inteiros (Divisibilidade)

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

Dedução Indução Contra-exemplos Contradição Contrapositiva Construção Diagonalização

Lema do Bombeamento Linguagens Livres de Contexto

Capítulo 2: Procedimentos e algoritmos

Universidade Federal do Rio de Janeiro Departamento de Ciência da Computação

UNIVERSIDADE FEDERAL DE. Faculdade de Ciência da Computação

Prova 2 de INF1626 Linguagens Formais e Autômatos

Propriedades de AFD's

Conceitos Básicos. Vocabulário Cadeias Linguagens Expressões Regulares Problema X Linguagem

Operações Fechadas sobre LR s Aplicações

Linguagens, Reconhecedores e Gramáticas

Linguagens Livres-do-Contexto

Universidade Federal de Uberlândia Mestrado em Ciência da Computação

Teoria da Computação. Expressões Regulares e Autômatos Finitos. Thiago Alves

Fundamentos de Matemática. Lista de Exercícios Humberto José Bortolossi

Reduce: reduz o que está imediatamente à esquerda do foco usando uma produção

Dízimas e intervalos encaixados.

Aulas 10 e 11 / 18 e 20 de abril

Apostila 02. Objetivos: Estudar os autômatos finitos Estudar as expressões regulares Estudar as gramáticas regulares Estudar as linguagens regulares

Aula 1 Aula 2 Aula 3. Ana Carolina Boero. Página:

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

Decidibilidade. Mário S. Alvim Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02)

MA14 - Aritmética Unidade 1 Resumo. Divisibilidade

Linguagens Formais - Preliminares

Indução Matemática. George Darmiton da Cunha Cavalcanti CIn - UFPE

Demonstrações Matemáticas Parte 2

1 Conjuntos, Números e Demonstrações

Unidade 1 - Elementos de Lógica e Linguagem Matemáticas. Exemplo. O significado das palavras. Matemática Básica linguagem do cotidiano

Aula 1 Aula 2. Ana Carolina Boero. Página:

Teoria das Linguagens. Linguagens Formais e Autómatos (Linguagens)

Autómatos Finitos Determinísticos (AFD)

A = B, isto é, todo elemento de A é também um elemento de B e todo elemento de B é também um elemento de A, ou usando o item anterior, A B e B A.

Elementos de Lógica Matemática. Uma Breve Iniciação

Para provar uma implicação se p, então q, é suficiente fazer o seguinte:

Árvores Árvores Geradoras de Custo Mínimo 0/16

Números Inteiros Algoritmo da Divisão e suas Aplicações

Apresentação do curso

Definição. Diremos que um número inteiro d é um divisor de outro inteiro a, se a é múltiplo de d; ou seja, se a = d c, para algum inteiro c.

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

Faculdade de Computação

Introdução à Lógica Matemática

LLC's: Lema do Bombeamento e Propriedades de Fechamento

Fundamentos da Teoria da Computação

Inversão de Matrizes

Existem infinitos números de Carmichael, mas não provaremos isso neste curso.

Lista de Exercícios CT-200 Primeiro Bimestre Carlos Henrique Quartucci Forster Estagiário: Wesley Telles. Revisão de Teoria de Conjuntos

Modelos Universais de Computação

a * Expressões Regulares (ER) Conversão de AF para ER no JFLAP Equivalências entre AFD, AFND, AF-, ER, GR

Linguagens Formais e Autômatos P. Blauth Menezes

Matemática para Ciência de Computadores

Transcrição:

a * Lema do Bombeamento Linguagens regulares e não-regulares 1

Lema do Bombeamento para LR Como decidir que uma linguagem não é regular? Toda linguagem regular satisfaz o Lema do bombeamento (LB). Lemas são artefatos práticos, bons para provas. Se alguém apresenta a você uma LR falsa, use o LB para mostrar a contradição, pois ela não vai satizfazer o LB. Veja que toda cadeia maior que o número de estados do AF força um estado do AF a se repetir (brincos ou voltas) 2

O lema do bombeamento (Pumping Lemma) nos diz que: qualquer cadeia suficientemente longa z de uma LR pode ser decomposta em 3 partes: z = uvw, de maneira que podemos construir outras cadeias da linguagem pela repetição da parte central v. Todas as cadeias da forma u v i w são também da linguagem. Ou seja, podemos acionar a bomba quantas vezes quisermos, para criar quantas sentenças novas da linguagem desejarmos: uw, uvvw, uvvvw, 3

Mostrando que uma Linguagem não é Regular Para mostrar que uma linguagem não é regular, mostramos que não há como decompor uma cadeia (qualquer, arbitrariamente longa) da linguagem de forma que seja possível bombear e continuar na linguagem. Usamos ele para mostrar que CERTAS linguagens não são regulares. E são MUITAS para as quais aplicamos. 4

E para LR? Entretanto, o lema não dá uma condição suficiente para a linguagem ser regular, pois para algumas não regulares o lema é verdadeiro. Assim, o lema não pode ser usado para PROVAR que uma linguagem é regular, embora ele seja aplicável/verdadeiro para todas as LR s. Todavia, se o lema se aplica, nós podemos facilmente construir o AF que reconhece a linguagem, então dizemos que ela é regular. É necessário MAS não suficiente. Não é uma prova do tipo se e somente se (com ida e volta) 5

Lema do Bombeamento Se L é uma linguagem regular, então: existe uma constante natural n tal que, para toda cadeia z de L com comprimento maior ou igual a n (n é chamada tamanho do bombeamento nro de estados), pode ser decomposta em três cadeias u, v, w (z = uvw) de forma que uv n v (isto é, v >= 1) e para qualquer i 0, u v i w є L (veja que i=0 significa remover v). Observem a afirmação acima: existe uma 6

Lema em termos de algoritmo 7

Demonstração (simplificada): Baseia-se no fato de que para as cadeias longas z é necessário usar pelo menos um loop de estados num AFD que aceite a linguagem. Assim, os símbolos de u são usados para chegarmos a um estado q do loop; os símbolos de v são usados para dar a volta no loop, de volta ao estado q; os símbolos de w são usados para ir de q até um estado final. Portanto, podemos dar quantas voltas no loop quisermos, e repetir v um número qualquer i de vezes: u v i w. As cadeias curtas (comprimento < n) não são consideradas porque podem ser aceitas sem passar por nenhum loop. 8

Exemplo de demonstração do lema L1 =?? 9

Pelo Lema do Bombeamento, temos que: n = 4 (depende da linguagem, pois depende do número de estados) Para z = abbba z = 5 >= 4 q = q1 (estado do loop) u = a v = bb uv <= 4; v >= 1 w = ba Para todo i >= 0 a (bb) i ba L1 pois L1 = {ab n a n >=1 e impar} ou {ab 2n+1 a n>=0} 10

Exercício Mostrem o lema se aplica para L2 = {abc d n cba n >= 0}, que é regular 11

AF para L2 12

Pelo Lema do Bombeamento, temos que: n = 7 (depende da linguagem, pois depende do número de estados) Para z = abcdcba z = 7 >= 7 q = q3 (estado do loop) u = abc v = d uv <= 7 ; v >= 1 w = cba Para todo i >= 0 abc (d) i cba L2 pois L2 = {abc d n cba n >=0} Ou z = abcddcba; z =8 >=7; abc (dd) i cba L2, i >=0 13

Como escolhemos o n do lema? Pode ser usado o número de estados do AF que estamos trabalhando, para a demonstração de que o lema se aplica para uma LR. Observem que podemos ter vários AF para reconhecer uma dada LR... 14

Exemplo de linguagem não regular {uu R v u,v {0,1} + } para a qual o lema é aplicável Esta linguagem pode ser bombeada com n = 4. Seja w = xyz Suponha que w=uu R v tem comprimento de pelo menos 4, por exemplo, 0011 Se u tem tamanho 1, então v 2 e y pode ser o primeiro caractere em v. x = 00; y = 1; z = 1 xy <= 4 OK, pois 3 <= 4 y <= 1 OK, pois y = 1 001 i 1 є L para qualquer i >= 0 OK, pois 001 є L; 0011 є L; 00111 є L e assim por diante. 15

Provando que L não é regular L = {a i b i i 0} (Já vimos que L é um LLC.) Vamos mostrar, por contradição, que L não é regular. Suponha que L é regular. Se L é regular, o Lema do Bombeamento se aplica, e existe n tal que a decomposição descrita pode ser realizada para qualquer cadeia de comprimento igual ou maior que n. 16

Serão apresentadas 2 formas de prova, ou seja, 2 explicações 17

Prova 1 z = a n b n z = uvw onde: uv <= n v >=1 e para todo i>= 0 uv i w é palavra de L O que é absurdo pois como uv <= n uv é composta exclusivamente por a s. Nesse caso, uv 2 w não pertence a L pois não possui o mesmo número de a e b. 18

Prova 2: Considere a cadeira z = a n b n ; z pode ser dividida em 3 pedaços = uvw onde para i >= 0 a cadeia uv i w pertence a L. Vamos considerar 3 casos para mostrar que este resultado é impossível: 1) a cadeia v consiste somente de a s. Neste caso, a cadeia uvvw tem mais a s do que b s violando o LB. 2) a cadeia v consiste somente de b s. Este caso também dá uma contradição. 3) a cadeia v consiste de a s e b s. Neste caso a cadeia uvvw tem o mesmo número de a s e b s mas não estão na ordem desejada pois v = abab. E assim ela não é membro de L o que é uma contradição. A contradição é inevitável se nós aceitamos a suposição de que B é regular. Assim, B não é regular. 19

Exercícios Mostre que as linguagens abaixo não são regulares: 1) L = {0 n 1 2n n >= 1} 2) L = { xx r x є {0,1}*} 3) L = {0 n 10 n n >= 1} 4) L = {0 n 1 m 2 n n e m são inteiros quaisquer} 5) L = {0 n 1 m n <= m} 20

Mostre que a Linguagem abaixo satisfaz o Lema L = {w w tem um número igual de ocorrências de subcadeias 01 e 10 e somente elas}. Por exemplo, 101 a L pois contém 1 ocorrência de 01 e uma de 10 MAS 1010 não pertence pois contém dois 10 e um 01. 010 também pertence e 0101 não. Cadeias que pertencem a linguagem são: 101, 10101, 1010101,..., 010, 01010,0101010,... Embora possa parecer que a máquina precise contar as cadeias acima como na linguagem a n b n, podemos estar errados... 21

Uma das soluções é a união de 2 AF s 22

Pelo Lema do Bombeamento, temos que: n = 4 Para z = 01010 z = 5 >= 4 q = q1 u = 0 v = 10 uv <= 4 ; v >= 1 w = 10 Para todo i >= 0 (10) i 10 L Para z = 10101 z = 5 >= 4 q = q5 u = 1 v = 01 uv <= 4 ; v >= 1 w = 01 Para todo i >= 1 (01) i 01 L 23

Jflap Verifiquem como o JFLAP trata o lema do bombeamento: Um jogo de adversários (humano, máquina) Utilizem o jogo para exercitar a prova de que as várias linguagens lá disponíveis não são LR. Link útil: http://contentbuilder.merlot.org/toolkit/ht ml/stitch.php?s=57516836801094&id=72430 6996655 24