Autômatos finitos não-determinísticos

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

Autômato com pilha. IBM1088 Linguagens Formais e Teoria da Computação. Evandro Eduardo Seron Ruiz

Expressões regulares

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

Lista de exercícios 1

IBM1088 Linguagens Formais e Teoria da Computação

Linguagens Regulares. Prof. Daniel Oliveira

Linguagens Formais e Autômatos P. Blauth Menezes

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

Linguagens Formais e Autômatos P. Blauth Menezes

IBM1088 Linguagens Formais e Teoria da

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

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

Licenciatura em Engenharia Informática DEI/ISEP Linguagens de Programação 2006/07

Expressões Regulares e Gramáticas Regulares

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

SCC 205 Teoria da Computação e Linguagens Formais

Gramáticas Livres de Contexto

Lema do Bombeamento para Linguagens Livres do Contexto

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

LINGUAGENS FORMAIS Definições. Desenvolveram-se na História em função da necessidade dos grupos humanos que as empregavam

Autômatos Finitos e Não-determinismo

BCC242. Auômato Finito Determinístico

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

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

Linguagens Formais e Autômatos 02/2016. LFA Aula 04 16/11/2016. Celso Olivete Júnior.

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

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

Aula 7: Autômatos com Pilha

Propriedades de Fecho de Linguagens Regulares.

Autómatos Finitos Determinísticos (AFD)

IBM1088 Linguagens Formais e Teoria da Computação

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

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

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

Aula 3: Autômatos Finitos

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

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

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

Linguagens Formais e Autômatos P. Blauth Menezes

Máquinas Universais. Máquina de Turing. Celso Olivete Júnior.

Máquina de Turing Linguagens Sensíveis ao Contexto e Enumeráveis Recursivamente

Autómatos de Pilha. Cada transição é caracterizada pelo estado, símbolo que está ser lido e o elemento no topo da pilha. dados de entrada.

INE5317 Linguagens Formais e Compiladores AULA 6: Autômatos Finitos Com S aída

LFA Aula 08. Minimização de AFD Autômatos Finitos com saídas 25/01/2017. Linguagens Formais e Autômatos. Celso Olivete Júnior.

Linguagens Formais e Autômatos

Linguagens Formais e Autômatos

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

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

Sistemas de Estados Finitos AF Determinísticos. (H&U, 1979) e (H;M;U, 2001)

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

Teoria da Computação. Capítulo 1. Máquina de Turing. Prof. Wanderley de Souza Alencar, MSc.

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

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

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

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

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

Teoria da Computação

Teoria da Computação. Unidade 3 Máquinas Universais. Referência Teoria da Computação (Divério, 2000)

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

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

Autômatos Finitos Determinís3cos (AFD)

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

Apostila 05 Assunto: Linguagens dos tipos 0 e 1

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

Linguagens Livres de Contexto

Linguagens Formais e Autômatos P. Blauth Menezes

Teoria da Computação. Máquinas Universais Máquina com Pilhas

Linguagens Formais e Autômatos

Teoria da Computação. Máquinas Universais Máquina de Turing

PCC104 - Projeto e Análise de Algoritmos

Autómatos de pilha e GIC

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

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

Fundamentos da Teoria da Computação

Aula 9: Máquinas de Turing

Linguagens Formais e Autômatos P. Blauth Menezes

Aula 3: Autômatos Finitos

Linguagens Formais e Autômatos (LFA)

IV Gramáticas Livres de Contexto

Como construir um compilador utilizando ferramentas Java

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

Teoria da Computação

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

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

Matemática Discreta para Ciência da Computação

Teoria da Computação Aula 02 Introdução

Linguagens Formais e Autômatos (LFA)

Fundamentos da Teoria da Computação

Transcrição:

Autômatos finitos não-determinísticos IBM1088 Linguagens Formais e Teoria da Computação Evandro Eduardo Seron Ruiz evandro@usp.br Universidade de São Paulo E.E.S. Ruiz (USP) LFA 1 / 30

Frase do dia The saddest aspect of life right now is that science gathers knowledge faster than society gathers wisdom. Isaac Asimov a a Escritor americano e professor de bioquímica (1920 1992). E.E.S. Ruiz (USP) LFA 2 / 30

Motivação Apresentar os autômatos finitos não-determinísticos Destacar os aspectos formais de AFN que diferenciam do AFD Sugerir a relação entre AFN e AFD E.E.S. Ruiz (USP) LFA 3 / 30

Conteúdo 1 Autômatos finitos não-determinísticos Introdução Formalização Transição vazia e movimento vazio 2 Exemplos Exemplo 1 Exemplo 2 Exemplo 3 3 Exercícios E.E.S. Ruiz (USP) LFA 4 / 30

Autômatos finitos não-determinísticos Introdução AFN AFN: Visão macro O não-determinismo nos autômatos é expresso por uma função tal que, para p Q, o estado corrente, e um símbolo lido, esta função determina aleatoriamente um novo estado de um conjunto de estados alternativos. E.E.S. Ruiz (USP) LFA 5 / 30

Autômatos finitos não-determinísticos Introdução Um possível recorte de um diagrama para um AFN 1 a p a a q 1 q 2 q n 1 Menezes, PB. E.E.S. Ruiz (USP) LFA 6 / 30

Autômatos finitos não-determinísticos Formalização Definição formal de um AFN Definição Um autômato finito não-determinístico (AFN) é uma 5-upla (Q, Σ, δ, q 0, F ), em que 1 Q é um conjunto finito de estados; 2 Σ é um conjunto finito chamado alfabeto; 3 δ : Q Σ 2 Q é a função programa a qual é uma função total. Assim, para um estado p e um símbolo a δ(p, a) = {q 1, q 2,..., q n } é a transição do autômato; 4 q 0 Q é o estado inicial; e 5 F Q é o conjunto de estados de aceitação. Observem a definição de função programa acima. E.E.S. Ruiz (USP) LFA 7 / 30

Autômatos finitos não-determinísticos Formalização Recordando função total Função total Considerando dois conjuntos, X chamado de domínio e Y de contradomínio e, dado: f : X Y, dizemos que: f é total: para todos x X, y Y tal que y = f (x). E.E.S. Ruiz (USP) LFA 8 / 30

Autômatos finitos não-determinísticos Formalização Um possível recorte de um diagrama para um AFN 2 a p a a q 1 q 2 q n 2 Menezes, PB. E.E.S. Ruiz (USP) LFA 9 / 30

Autômatos finitos não-determinísticos Formalização Função programa estendida ou COMPUTAÇÃO Definição Seja N = (Q, Σ, δ, q 0, F ) um AFN. A função programa estendida ou computação de M, denotada por δ : 2 Q Σ 2 Q é a função programa δ : Q Σ 2 Q estendida para palavras e conjunto de estados (P) como: δ (P, ɛ) = P δ (P, aw) = δ ( (q P) δ(q, a), w) ou seja, é a sucessiva aplicação da função programa para cada símbolo da palavra. E.E.S. Ruiz (USP) LFA 10 / 30

Autômatos finitos não-determinísticos Formalização Função programa: mais detalhes continuação... Ou ainda, dados os estados {q 1, q 2,..., q n } e um símbolo a, vale que δ ({q 1, q 2,..., q n }, a) = δ(q 1, a) δ(q 2, a)... δ(q n, a) ou seja, é a união de todas as possibilidades de aplicação da função de transição sobre o símbolo lido. E.E.S. Ruiz (USP) LFA 11 / 30

Autômatos finitos não-determinísticos Transição vazia e movimento vazio Transição vazia δ(p, a) = Se δ(p, a) = afirma-se que a transição é indefinida para (p, a) e, portanto, o autômato para rejeitando a entrada. E.E.S. Ruiz (USP) LFA 12 / 30

Autômatos finitos não-determinísticos Transição vazia e movimento vazio Transição vazia δ(p, a) = Se δ(p, a) = afirma-se que a transição é indefinida para (p, a) e, portanto, o autômato para rejeitando a entrada. Exemplo de transição vazia Σ = {0, 1}, w = 001. q 1 start 1 q 2 A função programa δ(q 1, 0) =, ou seja, não está definida. E.E.S. Ruiz (USP) LFA 12 / 30

Autômatos finitos não-determinísticos Transição vazia e movimento vazio Movimento vazio δ(p, ɛ) = p Se δ(p, ɛ) = p afirma-se que o movimento do estado p para o estado p é vazio, ou seja, acontece mesmo sem haver um símbolo lido. E.E.S. Ruiz (USP) LFA 13 / 30

Autômatos finitos não-determinísticos Transição vazia e movimento vazio Movimento vazio δ(p, ɛ) = p Se δ(p, ɛ) = p afirma-se que o movimento do estado p para o estado p é vazio, ou seja, acontece mesmo sem haver um símbolo lido. Exemplo de movimento vazio Σ = {0, 1}, w = 001. 0 1 q ɛ start 1 q 2 Qualquer símbolo 0 antecede o símbolo 1. E.E.S. Ruiz (USP) LFA 13 / 30

Autômatos finitos não-determinísticos Transição vazia e movimento vazio Movimento vazio: como entender Toda vez que o autômato estiver numa transição ɛ significa que ele está em ambos os estados Se a cadeia é ɛ o estado atual do autômato é duplo {q 0, q 1 } Se o símbolo lido for 0 o estado atual do autômato é novamente {q 0, q 1 } 0 1 q ɛ start 1 q 2 E.E.S. Ruiz (USP) LFA 14 / 30

Exemplos Exemplo 1 Exemplo de um autômato finito não-determinístico (AFN). 3 0,1 0,1 q 1 0,ɛ start 1 q 2 q 1 3 q 4 3 Sipser,M. E.E.S. Ruiz (USP) LFA 15 / 30

Exemplos Exemplo 1 Formalizando o autômato Formalizando o autômato N 1 = (Q, Σ, δ, q 0, F ) temos: 1 Q = {q 1, q 2, q 3, q 4 }; 2 Σ = {0, 1}; 3 δ : Q Σ Q é descrita como: 4 q 1 é o estado inicial; e 0 1 ɛ q 1 q 1 {q 1, q 2 } q 2 q 3 q 3 q 3 q 4 q 4 q 4 q 4 5 F = {q 4 }. E.E.S. Ruiz (USP) LFA 16 / 30

Exemplos Exemplo 1 Como entender o AFN em execução: modo alternativo A cada estado alternativo do AFN, ocorre a divisão da máquina em múltiplas cópias Cada cópia segue o processamento de acordo com seu estado, o símbolo lido e a função programa O símbolo ɛ, como símbolo lido, permite o avanço para o próximo estado do autômato Vejamos agora uma representação da execução do AFN N 1 para a palavra 010110 E.E.S. Ruiz (USP) LFA 17 / 30

Exemplos Exemplo 1 Árvore de execução do AFN N 1 para 010110 q 1 ler 0 q 1 ler 1 q 1 q 2 q 3 ler 0 q 1 q 3 ler 1 q 1 q 2 q 3 q 4 ler 1 q 1 q 2 q 3 q 4 q 4 ler 0 q 1 q 3 q 4 q 4 E.E.S. Ruiz (USP) LFA 18 / 30

Exemplos Exemplo 1 Aceita ou rejeita Definição Seja N = (Q, Σ, δ, q 0, F ) um AFN. A linguagem aceita ou linguagem reconhecida por N, denotada por L(N) ou Aceita(N) é o conjunto de todas as palavras Σ t.q. existe pelo menos um caminho alternativo que aceita a palavra a partir de {q 0 }, ou seja, L(N) = {w δ ({q 0 }, w) F } E.E.S. Ruiz (USP) LFA 19 / 30

Exemplos Exemplo 1 Explicando... Ou seja, dada uma palavra w, um AFN para por um dos dois motivos: 1 Aceita w Após processar o último símbolo lido existe pelo menos um estado final pertencente ao conjunto dos estados alternativos (nas execuções alternativas) que foi atingido 2 Rejeita w 1 Após processar o último símbolo lido os estados alternativos não são finais 2 Em algum momento do processamento de w o conjunto de estados alternativos atingido é vazio. O AFN para por indefinição. E.E.S. Ruiz (USP) LFA 20 / 30

Exemplos Exemplo 2 Exemplo 2 4 Projetar um AFN N 2 sobre Σ = {a, b} que considere L 2 = {w w possui aa ou bb como subpalavra} tal que N 2 = ({q 0, q 1, q 2, q f }, Σ, δ f, q 0, {q f }). 4 Menezes, PB E.E.S. Ruiz (USP) LFA 21 / 30

Exemplos Exemplo 2 Exemplo 2: uma solução a,b a q 1 a a,b start q 0 b b q f q 2 E.E.S. Ruiz (USP) LFA 22 / 30

Exemplos Exemplo 2 Detalhes de N 2 Notem que em N 2 temos como função de transição: δ 2 a b q 0 {q 0, q 1 } {q 0, q 2 } q 1 q f q 2 q f q f q f q f E.E.S. Ruiz (USP) LFA 23 / 30

Exemplos Exemplo 3 Exemplo 3 5 Projetar um AFN N 3 sobre Σ = {a, b} que considere L 2 = {w w possui aaa como sufixo} tal que N 2 = ({q 0, q 1, q 2, q f }, Σ, δ f, q 0, {q f }). 5 Menezes, PB E.E.S. Ruiz (USP) LFA 24 / 30

Exemplos Exemplo 3 Exemplo 3: uma solução a,b q a start 0 q a 1 q a 2 q f E.E.S. Ruiz (USP) LFA 25 / 30

Exercícios Exercício em sala (1): 5 minutos Determine a linguagem do AFN N 4 abaixo: a q 1 start q 0 b a q 2 E.E.S. Ruiz (USP) LFA 26 / 30

Exercícios Exercício em sala (1): 5 minutos Determine a linguagem do AFN N 4 abaixo: a q 1 start q 0 b a q 2 Resposta: L(N 4 ) = {a ab} E.E.S. Ruiz (USP) LFA 26 / 30

Exercícios Exercício em sala (2): 5 minutos Determine a linguagem do AFN abaixo: start a a q 0 q 1 a b b q 2 b a q 3 E.E.S. Ruiz (USP) LFA 27 / 30

Exercícios Exercício em sala (3): 5 minutos Determine a linguagem do AFN abaixo: ɛ q 1 start q 0 a a,b b q 2 a E.E.S. Ruiz (USP) LFA 28 / 30

Exercícios Observação Parece mas... A inclusão do não-determinismo é, aparentemente, um acréscimo à capacidade de resolução aos AFD mas na realidade o não-determinismo não aumenta seu poder computacional. E.E.S. Ruiz (USP) LFA 29 / 30

Exercícios Observação Parece mas... A inclusão do não-determinismo é, aparentemente, um acréscimo à capacidade de resolução aos AFD mas na realidade o não-determinismo não aumenta seu poder computacional. AFD equivalente Assim, para cada AFN é possível construir um AFD equivalente que realiza as mesmas computações. O contrário também é verdadeiro. E.E.S. Ruiz (USP) LFA 29 / 30

Exercícios Caros, Continuaremos neste assunto no próximo encontro! E.E.S. Ruiz (USP) LFA 30 / 30