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

Documentos relacionados
Linguagens Não-Regulares

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

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

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

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

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

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

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

Expressões regulares

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

Lema do Bombeamento Motivação

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

SCC Capítulo 3 Linguagens Sensíveis ao Contexto e Autômatos Limitados Linearmente

LR's: Lema do Bombeamento e Propriedades de Fechamento

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

Linguagens Formais e Autômatos P. Blauth Menezes

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

Aula 10: Decidibilidade

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

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

Propriedades das Linguagens Livres do Contexto

Faculdade de Computação

Referências e materiais complementares desse tópico

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

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

Lema do Bombeamento para Linguagens Livres do Contexto

S. C. Coutinho. Máquina de Turing Universal p. 1/22

Lema do Bombeamento Linguagens Livres de Contexto

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

Algoritmo de Minimização de AFD

Autômatos de Pilha (AP)

Linguagens livres de contexto e autômatos de pilha

Aula 9: Máquinas de Turing

Apostila 05 Assunto: Linguagens dos tipos 0 e 1

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

LLC's: Lema do Bombeamento e Propriedades de Fechamento

Curso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 4. Autômatos Finitos

Capítulo 1: Alfabetos, cadeias, linguagens

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

UNIVERSIDADE DA BEIRA INTERIOR

LINGUAGENS FORMAIS Modelos Determinísticos e Não Determinísticos. Usam-se modelos matemáticos para representar eventos (fenômenos) do mundo real.

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

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

a n Sistemas de Estados Finitos AF Determinísticos

Linguagens Formais e Autômatos. Autômatos Finitos Determinísticos (AFD)

Aula 5 - Mais C e repetição

Linguagens Formais e Autômatos

Variedades Adicionais das Máquinas de Turing

Faculdade de Computação

1 Conjuntos, Números e Demonstrações

Curso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 3. Autômatos Finitos

Aula 10: Decidibilidade

LINGUAGENS SENSÍVEIS AO CONTEXTO E AUTÔMA- TOS LIMITADOS LINEARMENTE

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

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

LFA Aula 07. Equivalência entre AFD e AFND. Equivalência entre ER s e AF s Equivalência entre GR s e AF s. Linguagens Formais e Autômatos

Capítulo 1. Aula Conectividade Caminhos

SCC-ICMC-USP. Trabalho em Grupo 1 SCC-0205

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

Aula 7: Autômatos com Pilha

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

a n Sistemas de Estados Finitos AF Determinísticos

Propriedades de Fecho de Linguagens Regulares.

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

Capítulo 8: O problema da parada. Decidibilidade e computabilidade. José Lucas Rangel Introdução.

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

A. (Autómatos finitos determinísticos e não determinísticos AFD e AFND)

Linguagens Formais e Autômatos

Linguagens Formais e Autômatos (LFA)

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

MA21: Resolução de Problemas - gabarito da primeira prova

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

Gramáticas e Linguagens Independentes de Contexto

Linguagens Formais e Autômatos P. Blauth Menezes

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

Universidade Federal de Alfenas

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

Primeira Lista de Exercícios 2005/1... Exercício 1 Desenhe Diagrama de Estados para Máquinas que Decidem as Linguagens:

Fundamentos da Teoria da Computação

AF Não-determinísticos Equivalência entre AFND e AFD

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

Linguagens Livres de Contexto

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

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

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

Universidade Federal de Alfenas

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

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

Lista de exercícios 1

Autômatos finitos não-determinísticos

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

Autómatos Finitos Determinísticos (AFD)

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

1 Limites e Conjuntos Abertos

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

Melhores momentos AULA PASSADA. Complexidade Computacional p. 136

Transcrição:

MAC-4722 Linguagens, Autômatos e Computabilidade Lista L3 Athos Coimbra Ribeiro NUSP: ****** 3 de Abril de 26 Problema.46 (itens a,c, e d) Solução a) L = { n m n m, n } Usamos o lema do bombeamento para mostrar que L não é regular. Esta é uma prova por contradição. Assuma que L é regular. p é o comprimento de bombeamento de L dado pelo lema do bombeamento. Escolhemos s = p p p. Pelo fato de s L e s p, o lema do bombeamento garante que s pode ser escrita da forma s = xyz, onde qualquer cadeia xy i z L para i. A cadeia y deve conter apenas caracteres devido à condição 3 do lema do bombeamento: xy p. Veja que para qualquer i, xy i z não pode pertencer a L pois o número de caracteres do lado esquerdo da cadeia, antes de uma sequência de caracteres, seria diferente do número de caracteres do lado direito da cadeia, após uma sequência de caracteres. Sendo xyyz / L, temos uma contradição, mostrando que L não é regular. c) L = { w w {, } não é um palíndromo } Para mostrar que L não é regular, usamos o fechamento por complemento: Dada uma linguagem regular A, seu complemento, A, também é regular.

prova: Suponha um autômato finito determinístico M que reconhece A da forma M = (Q, Σ, δ, q, F ) Existe então um autômato finito determinístico M c = (Q, Σ, δ, q, Q F ) que aceita exatamente todas as palavras em Σ que não são aceitas por M e não aceita nenhuma palavra em Σ que seja aceita por M, ou seja: M c é o autômato que aceita A, provando que A é regular. Provamos então que L não é regular e portanto, L também não é regular. L = { w w {, } é um palíndromo } Usamos o lema do bombeamento para mostrar que L não é regular. Esta é uma prova por contradição. Assuma que L é regular. p é o comprimento de bombeamento de L dado pelo lema do bombeamento. Escolhemos s = p p. Pelo fato de s L e s p, o lema do bombeamento garante que s pode ser escrita da forma s = xyz, onde qualquer cadeia xy i z L para i. A cadeia y deve conter apenas caracteres devido à condição 3 do lema do bombeamento: xy p. Veja que xyyz não é um palíndromo, pois ao realizar o bombeamento, o número de caracteres do lado esquerdo (antes do ) é diferente do número de caracteres do lado direito (após o ). Sendo xyyz / L, temos uma contradição, mostrando que L não é regular. Por fim, se o complemento de L, L, não é regular, L não é regular. d) L = {wtw w, t {, } +} Usamos o lema do bombeamento para mostrar que L não é regular. Esta é uma prova por contradição. Assuma que L é regular. p é o comprimento de bombeamento de L dado pelo lema do bombeamento. Escolhemos s = p p. Pelo fato de s L e s p, o lema do bombeamento garante que s pode ser escrita da forma s = xyz, onde qualquer cadeia xy i z L para i. A cadeia y deve conter apenas caracteres devido à condição 3 do lema do bombeamento: xy p. Veja que para qualquer valor i 2, a quantidade de caracteres antes do primeiro caractere em s é maior ou igual à quantidade de caracteres imediatamente após o primeiro caractere. Note que precisa estar em w, uma vez que o último caractere de s é. Assim, o primeiro w para que s tenha forma wtw deve incluir todos os caracteres antes do primeiro caractere e o primeiro 2

caractere. quando i > 2, independente de como se divida s na forma xy i z respeitando as condições do lema do bombeamento, não há uma quantidade de caracteres suficiente após o primeiro para que xy i z seja da forma wtw com w, t, de modo que para i > 2, xy i z / L. Note, além disto, quando i = 2, a quantidade de caracteres antes e depois do primeiro é igual, de modo que temos t =. Assim, temos uma contradição, mostrando que L não é regular. Problema 2.49 Solução a) B = { k y y {, } e y contém ao menos k s para k } Se B é regular, existe um DFA que reconhece B. Note que por definição, B é a linguagem que aceita qualquer cadeia que inicie com e possua 2 ou mais caracteres, visto que para w B, w com 2 ou mais caracteres sempre pode ser dividido em xy onde o número de caracteres em x é menor ou igual ao número de caracteres em y. Definimos então o autômato A que reconhece B:, q m, q q q 2 A = ({q, q, q 2, q m }, {, }, δ, q, {q 2 }) onde δ é dado pela tabela de transição a seguir: estado q q m q q q q 2 q 2 q 2 q 2 q m q m q m Tabela : tabela de transições Para provar a corretude de A, mostramos que w L A aceita w Primeiramente, mostramos 3

w L = A aceita w Assumimos uma palavra w L, ou seja, w inicia em e tem ao menos 2 caracteres. Mostramos que A aceita w por indução no número n de caracteres em w. Note que w deve ser da forma 2 n onde n é a enésima aparição do caractere. Base: Para n = 2, A aceita w, pois w é da forma. Veja que w é processado em A da seguinte forma: δ(q, ) = q δ(q, ) = q ou seja, o número de zeros em w não importa aqui δ(q, ) = q 2 δ(q 2, ) = q 2 ou seja, o número de zeros em w não importa aqui De modo que ao fim de w, A termina em q 2, que é estado final. Hipótese: A aceita w se w inicia em e o número de caracteres em w é igual a k. Passo de indução: Se A aceita w para w com k caracteres, mostramos que A aceita w com k + caracteres : Para k w é da forma 2 k Para k + w é da forma 2 k k+ Por hipótese, após a k-ésima aparição de em w, A se encontra em um estado de aceitação, independente inclusive de uma cadeia de zeros após o k- ésimo em w. Deste modo, temos que w para k + se encontra no estado de aceitação q 2 de A logo antes de ler k+ Segundo as transições de A, processamos: δ(q 2, ) = q 2 δ(q 2, ) = q 2 ou seja, o número de zeros em w não importa aqui de modo que A permanece em um estado de aceitação, finalizando a prova. Mostramos agora A aceita w = w L Se A aceita w, ao fim de w temos A em um estado final, ou seja: q 2. Para alcançar q 2 vindo de um estado inicial, as transições possíveis são δ(q, ) = q 2 δ(q 2, ) = q 2 δ(q 2, ) = q 2 4

deste modo, w pode terminar em qualquer cadeia em {, }, pois uma vez em q 2, qualquer entrada se mantém no estado final. Porém é necessária a transição por q, δ(q, ), visto que o estado inicial é q. Assim, sabemos que w deve ter forma do tipo x( ). Por sua vez, para que chegue em q vindo do estado inicial temos as seguintes transições δ(q, ) = q δ(q, ) = q de modo que x deve ser x =. Note que se w iniciar em, segue a transição δ(q, ) = q m e que não há transições saindo de q m para um estado diferente. Assim, temos w da forma ( ), que sempre pode ser dividida em 2 partes onde a parte da esquerda contém menos ou a mesma quantidade de caracteres do que a da direita, de forma que w L, finalizando a demonstração. b) C = { k y y {, } e y contém no máximo k s para k } Usamos o lema do bombeamento para mostrar que C não é regular. Esta é uma prova por contradição. Assuma que C é regular. p é o comprimento de bombeamento de C dado pelo lema do bombeamento. Escolhemos s = p p p. Pelo fato de s C e s p, o lema do bombeamento garante que s pode ser escrita da forma s = xyz, onde qualquer cadeia xy i z C para i. A cadeia y deve conter apenas caracteres devido à condição 3 do lema do bombeamento: xy p. Veja que para i =, xy i z não pode pertencer a C pois o número de caracteres do lado direito da cadeia, depois de uma sequência de caracteres, seria maior do que o número de caracteres do lado esquerdo da cadeia, antes de uma sequência de caracteres. Ficaria impossível dividir s no formato k y com o número de caracteres em y menor ou igual a k ao se bombear para baixo (i = ). Sendo xy z / C, temos uma contradição, mostrando que C não é regular. Problema 3 Converter a expressão regular ( ) ( ) para AFN. Solução A conversão a seguir é realizada utilizando o método apresentado em LEMMA.55, segunda edição do livro texto (Sipser). Para a expressão regular, temos: 5

Para a expressão regular, temos: Para a expressão regular, temos: Para a expressão regular ( ), temos: Para a expressão regular ( ), temos: Para a expressão regular, temos: Para a expressão regular ( ), temos: 6

Para a expressão regular ( ) ( ), temos: Finalmente, para a expressão regular ( ) ( ), temos: 7

Concluindo a conversão. Problema 4 No autômato generalizado da figura.67b, foi removido o estado 2, resultando no autômato da figura.67c. Foi então removido o estado para produzir o autômato da figura.67d, obtendo-se assim uma expressão regular final. Refazer o procedimento produzindo um autômato generalizado ao se remover o estado daquele da figura.67b. Deste autômato generalizado resultante, remova o estado 2 e produza um novo autômato generalizado final com dois estados. Compare a expressão regular obtida com aquela mostrada no livro. Solução a a,b b 2 Adicionamos estados inicial e final, s e a: 8

a a b b s 2 a Removemos o estado : a b a s b 2 a Finalmente, removemos o estado 2: a b(a b) s a de modo que a expressão regular obtida é igual à expressão regular do exemplo.67. a b(a b) 9