LR's: Lema do Bombeamento e Propriedades de Fechamento

Documentos relacionados
LLC's: Lema do Bombeamento e Propriedades de Fechamento

Propriedades de AFD's

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

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

Autômatos Finitos Não Determinís5cos (AFN)

Expressões Regulares. Linguagens Formais e Autômatos. Andrei Rimsa Álvares

Fundamentos da Teoria da Computação

Linguagens Não-Regulares

Autômatos de Pilha (AP)

Autômatos Finitos Determinís3cos (AFD)

Linguagens Formais e Autômatos P. Blauth Menezes

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

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

Capítulo 2: Máquinas de Estados Finitos. Modelagem do problema. Quebra-cabeças. Newton José Vieira, Isabel Gomes Barbosa. 19 de agosto de 2010

Autômatos com Pilha. Douglas O. Cardoso docardoso.github.io

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

Teoria de Linguagens 2 o semestre de 2017 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 19/9/2017 Valor: 10 pontos

Algoritmo de Minimização de AFD

Fundamentos da Teoria da Computação

Autômatos Finitos e Não-determinismo

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

Teoria de Linguagens 1 o semestre de 2018 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 17/4/2018 Valor: 10 pontos

Máquinas de Turing (MT)

Teoria de Linguagens 2 o semestre de 2015 Professor: Newton José Vieira Primeira Lista de Exercícios Entrega: até 16:40h de 15/9.

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

Como construir um compilador utilizando ferramentas Java

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

Propriedades das Linguagens Livres do Contexto

Máquinas de Turing - Computabilidade

Propriedades de Fecho de Linguagens Regulares.

Expressões Regulares e Gramáticas Regulares

Fundamentos da Teoria da Computação

Formas Normais sobre GLC's

Linguagens Formais e Autômatos Apresentação da Disciplina

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

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

Linguagens Formais e Autômatos Decidibilidade

Variações de Máquinas de Turing

Draft-v0.1. Máquinas de Turing Máquinas de Turing

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

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

Axiomatizações equivalentes do conceito de topologia

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

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

Exercicios. 7.2 Quais das seguintes afirmações são verdadeiras? Justifica. (d) abcd L((a(cd) b) )

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

Lema do Bombeamento para Linguagens Livres do Contexto

C : R I IN 0. tal que. C(α) = 0 sempre que α I {, ɛ} C(α + β) = C(α) + C(β) + 1. C(αβ) = C(α) + C(β) + 1. C(α ) = C(α) + 1.

Lema do Bombeamento Motivação

Linguagens Livres-do-Contexto

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

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

Autómatos Finitos Determinísticos (AFD)

Marcos Castilho. DInf/UFPR. 5 de abril de 2018

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Curso de Ciências de Computação

Linguagens Regulares. Prof. Daniel Oliveira

a n Sistemas de Estados Finitos AF Determinísticos

Gramá3ca Livre de Contexto (GLC)

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

Linguagens Formais e Autômatos P. Blauth Menezes

INE5317 Linguagens Formais e Compiladores AULA 5: Autômatos Finitos

Lista de exercícios 1

Expressões regulares

Linguagens Formais e Autômatos

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

Apostila 05 Assunto: Linguagens dos tipos 0 e 1

Lema do Bombeamento Linguagens Livres de Contexto

Os números primos de Fermat complementam os nossos números primos, vejamos: Fórmula Geral P = 2 = 5 = 13 = 17 = 29 = 37 = 41 = Fórmula Geral

INCLUSÃO DO ALGORITMO DE TRANSFORMAÇÃO DE UM AUTÔMATO FINITO EM EXPRESSÃO REGULAR NO AMBIENTE EDITOR DE AUTÔMATOS FINITOS

1 Expressões Regulares e Linguagens

Aula de 28/10/2013. sticas; Implementação. em Ruby

SCC Capítulo 1 Linguagens Regulares e Autômatos Finitos

Linguagem (formal) de alfabeto Σ

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

Conceitos básicos de Teoria da Computação

Universidade Federal de Alfenas

Linguagens Formais - Preliminares

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

2. DISCIPLINA REQUISITO (RECOMENDAÇÃO) 3. INDICAÇÃO DE CONJUNTO (BCC) Obrigatória TEORIA: 60 LABORATÓRIO: 30

Análise Léxica. Fundamentos Teóricos. Autômatos Finitos e Conjuntos Regulares (cap. III da apostila de Linguagens Formais e Compiladores)

Autômatos e computabilidade

SCC Capítulo 2 Linguagens Livres de Contexto e Autômatos de Pilha (versão 2)

1 INTRODUÇÃO E CONCEITOS BÁSICOS

Linguagens Regulares, Operações Regulares

a * Minimização de AFD AFD equivalente, com o menor número de estados possível

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

BCC242. Auômato Finito Determinístico

Números Naturais. MA12 - Unidade 1. Os Axiomas de Peano. O Axioma da Indução. Exemplo: uma demonstração por indução

Gramática regular. IBM1088 Linguagens Formais e Teoria da Computação. Evandro Eduardo Seron Ruiz Universidade de São Paulo

Linguagens Formais. Aula 01 - Conceitos Básicos. Prof. Othon Batista Mestre em Informática

Teoria da Computação Exame 1 30 de Junho de 2003

Linguagens Formais e Autômatos 02/2015. LFA Aula 02. introdução 28/09/2015. Celso Olivete Júnior.

Linguagens Formais e Problemas de Decisão

Universidade Federal de Alfenas

MAT Topologia Bacharelado em Matemática 2 a Prova - 27 de maio de 2004

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

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

Linguagens e Programação Automátos Finitos. Paulo Proença

Transcrição:

Linguagens Formais e Autômatos LR's: Lema do Bombeamento e Propriedades de Fechamento Andrei Rimsa Álvares Material extraído do livro e slides do Prof. Newton Vieira (hfp://dcc.ufmg.br/~nvieira)

Introdução Lema do Bombeamento Sumário Propriedades de Fechamento

INTRODUÇÃO Linguagens Formais e Autômatos

Introdução O que é uma linguagem regular? Definição: uma linguagem é dita ser uma linguagem regular se existe um autômato finito que a reconhece Dada uma linguagem L: É possível determinar se ela pertence ou não à classe das linguagens regulares? É possível facilitar a obtenção de um AF para L?

LEMA DO BOMBEAMENTO Linguagens Formais e Autômatos

Lema do Bombeamento Lema: Seja L uma linguagem regular. Então existe uma constante k > 0 tal que, para qualquer palavra z L com z k, existem u, v e w que saqsfazem as condições z = uvw uv k v λ uv i w L, i 0 v u w S M E

Lema do Bombeamento O lema do bombeamento (LB) pode ser usado para provar que uma linguagem infinita L não é regular: 1. supõe-se que L seja linguagem regular 2. supõe-se k > 0, a constante do LB 3. escolhe-se uma palavra z, tal que z k 4. mostra-se que, para toda decomposição de z em uvw, tal que, uv k e v λ, existe i tal que uv i w L Cuidado: O LB não pode ser usado para mostrar que uma linguagem é regular!

Exemplo LB Demonstrar que L = {a n b n n N} não é regular Suponha que L seja uma linguagem regular. Seja k a constante do LB e z = a k b k. Como z k, o lema diz que existem u, v e w tais que: z = uvw uv k v λ uv i w L, i 0 Nesse caso, v só tem a's, pois uvw = a k b k e uv k, e v tem pelo menos um a porque v λ. Isso implica que uv 2 w = a k+ v b k L, o que contradiz o LB. Portanto, L não é linguagem regular.

Demonstrar que Exemplo LB L = {0 m 1 n m > n} não é regular Suponha que L seja uma linguagem regular. Seja k a constante do LB e z = 0 k+1 1 k. Como z k, o lema diz que existem u, v e w tais que: z = uvw uv k v λ uv i w L, i 0 Como uvw = 0 k+1 1 k e 0 < v k, v só tem 0's e possui no mínimo um 0. Logo uv 0 w = 0 k+1 v 1 k L, o que contradiz o LB. Portanto, L não é linguagem regular.

Exemplo LB Demonstrar que não é regular L = {0 n n é um número primo } Suponha que L seja uma linguagem regular. Seja k a constante do LB e z = 0 n, em que n é um primo maior ou igual a k. Como z k, basta mostrar que uv i w L supondo que z = uvw, uv k e v λ. Como z = 0 n, uv i w = 0 n+(i 1) v. Assim, i deve ser tal que n + (i - 1) v não seja um número primo. Ora, para isso basta fazer i = n +1, obtendo-se n + (i 1) v = n + n v = n (1 + v ), que não é primo, pois v > 0. Desse modo, uv n+1 w L, o que contradiz o LB. Logo, L não é linguagem regular.

Lema do Bombeamento Toda linguagem regular atende ao lema do bombeamento Mas nem toda linguagem que atende ao lema do bombeamento é regular Considere a seguinte linguagem L sobre Σ = {0,1, a} L = {a0 n 1 n n N} {a m w m 1, w {0,1, a} * } Essa linguagem atende ao lema do bombeamento, mas não é regular

PROPRIEDADES DE FECHAMENTO Linguagens Formais e Autômatos

Definição de Fechamento Seja! uma operação binária sobre os elementos de um conjunto A qualquer. Dizemos que! é fechada em A se, e somente se: a 1, a 2 A a 1! a 2 A Exemplo Operação + sobre o conjunto N Operação sobre o conjunto Z O mesmo pode ser aplicado para linguagens. Seja uma classe de linguagens L e uma operação sobre linguagens O. Diz-se que L é fechada sob O se a aplicação de O à linguagens de L resulta sempre em uma linguagem de L

Propriedades de Fechamento A classe das linguagens regulares é fechada sob: Complementação União Interseção Concatenação Fecho de Kleene Já vimos que isso é verdade para a complementação, união e interseção!

Concatenação Sejam dois AFD's M 1 = (E 1, Σ 1,δ 1,i 1, F 1 ) e M 2 = (E 2, Σ 2,δ 2,i 2, F 2 ) e E 1 E 2 =. O AFN λ M 3 reconhece L(M 1 ) L(M 2 ): M 3 = (E 1 E 2, Σ 1 Σ 2,δ 3,{i 1 }, F 2 ) δ 3 (e, a) = {δ 1 (e, a)}, e E 1, a Σ 1 δ 3 (e, a) = {δ 2 (e, a)}, e E 2, a Σ 2 δ 3 (e, λ) = {i 2 }, e F 1 δ 3 (e, λ) =, e (E 1 E 2 ) F 1

Fecho de Kleene Seja um AFD M = (E, Σ,δ,i, F). O AFN λ M' reconhece L(M) * : M ' = (E {i'}, Σ,δ ',{i'}, F {i'}), i' E δ '(i', λ) = {i} δ '(e, a) = {δ(e, a)}, e E, a Σ δ '(e, λ) = {i'}, e F δ '(e, λ) =, e E F

Aplicação das Propriedades de Fechamento As propriedades de fecho das linguagens regulares podem ser aplicadas em três casos 1. Provar que uma linguagem é regular 2. Provar que uma linguagem não é regular 3. Facilitar a obtenção de um autômato finito para uma linguagem regular

Aplicação 1: Linguagem É Regular Sejam L 1 = {w {0,1} * w representa número divisível por 6 } L 2 = {w {0,1} * o terceiro digito, da esquerda para direita, é 1 } L 1 - L 2 é regular?

Aplicação 1: Linguagem É Regular Sejam L 1 = {w {0,1} * w representa número divisível por 6 } L 2 = {w {0,1} * o terceiro digito, da esquerda para direita, é 1 } L 1 - L 2 é regular? Sabe-se que L 1 e L 2 são regulares e L = L 1 L 2 = L 1 L 2. Como as linguagens regulares são fechadas sob interseção e complementação, então L é linguagem regular.

Aplicação 2: Linguagem Não É Regular Seja L = {a k b m c n k = m + n} L é regular?

Aplicação 2: Linguagem Não É Regular Seja L = {a k b m c n k = m + n} L é regular? Suponha que L é uma linguagem regular. Como {a} * {b} * é linguagem regular e a classe das linguagens regulares é fechada sob interseção, então L {a} * {b} * deve ser uma linguagem regular. Mas a linguagem a seguir não é regular L {a} * {b} * = {a n b n n 0}. Portanto L não é uma linguagem regular.

Aplicação 3: Facilitar Obtenção de AF para LR Sejam L 1 = {w {0,1} * w representa número divisível por 6 } L 2 = {w {0,1} * o terceiro digito, da esquerda para direita, é 1 } Existe AFD para L 1 L 2?

Aplicação 3: Facilitar Obtenção de AF para LR Sejam L 1 = {w {0,1} * w representa número divisível por 6 } L 2 = {w {0,1} * o terceiro digito, da esquerda para direita, é 1 } Existe AFD para L 1 L 2? Sabe-se que existe AFD para L 1 e L 2 e L = L 1 L 2 = L 1 L 2. Usando as técnicas vistas anteriormente, pode-se construir facilmente um AFD para L 2 e, em seguida, um AFD para L 1 L 2. Assim, tem-se um AFD para L.

ISSO É TUDO PESSOAL! Linguagens Formais e Autômatos