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

Documentos relacionados
a n Sistemas de Estados Finitos AF Determinísticos (H&U, 1979) e (H;M;U, 2001)

a n Sistemas de Estados Finitos AF Determinísticos

a n Sistemas de Estados Finitos AF Determinísticos

Linguagens Regulares. Prof. Daniel Oliveira

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

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

Autômatos Finitos Determinís3cos (AFD)

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

BCC242. Auômato Finito Determinístico

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

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

a * Expressões Regulares (ER) AF e ER Equivalências entre AFD, AFND, AF-, ER

Compiladores. Prof. Bruno Moreno Aula 8 02/05/2011

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

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

COMPILADORES. Revisão Linguagens formais Parte 01. Geovane Griesang

Como construir um compilador utilizando ferramentas Java

Aula 7: Autômatos com Pilha

a n Autômatos com Pilha: Definição Informal e Definição Formal Linguagem Aceita por um ACP ACPDet X ACPND Notação gráfica para ACP

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

Propriedades de Fecho de Linguagens Regulares.

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

Autômatos finitos não-determinísticos

Aula 9: Máquinas de Turing

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

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

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

Autômatos com Pilha: Reconhecedores de LLCs

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

Linguagens Livres de Contexto

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

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

Autómatos Finitos Determinísticos (AFD)

Linguagens Formais e Autômatos 02/2016. LFA Aula 01 24/10/2016. Celso Olivete Júnior.

Noções de grafos (dirigidos)

Hierarquia de Chomsky e sua relação com os autômatos

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

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

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

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

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

Linguagens recursivamente enumeráveis

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

PCC104 - Projeto e Análise de Algoritmos

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

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

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

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

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

Aula 3: Autômatos Finitos

Universidade Federal de Alfenas

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

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.

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

Gramáticas Livres de Contexto Parte 1

Compiladores - Análise Ascendente

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

Fundamentos da Teoria da Computação

Teoria da Computação

Linguagens Formais e Autômatos P. Blauth Menezes

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

Teoria da Computação. Máquinas de Turing: variações

SCC 205 Teoria da Computação e Linguagens Formais

Linguaguens recursivamente enumeráveis e recursivas

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.

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

Aula 3: Autômatos Finitos

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

Compiladores - Análise Ascendente

Linguagens Formais e Autômatos (LFA)

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

Computação efectiva. Que linguagens podem ser reconhecidas por algum tipo de autómato?

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

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

Linguagens Livres de Contexto

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

LINGUAGENS FORMAIS E AUTÔMATOS

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

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

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

Universidade Federal de Alfenas

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 Modelos Determinísticos e Não Determinísticos. Usam-se modelos matemáticos para representar eventos (fenômenos) do mundo real.

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

Compiladores. Análise Léxica

Algoritmo de Minimização de AFD

Linguaguens recursivamente enumeráveis

Compiladores - Autômatos

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

Apostila 06. Objetivos: Estudar a Computabilidade Estudar a Decidibilidade Estudar a Redutibilidade

Capítulo A máquina de Turing (TM) padrão Combinações de máquinas de Turing A Tese de Turing. ADC/TC/Cap.9/ /LEI/DEIFCTUC 375

Universidade Federal de Alfenas

Autômatos Finitos e Não-determinismo

Linguagens Livres do Contexto. Adaptado de H. Brandão

Transcrição:

a n Sistemas de Estados Finitos AF Determinísticos (H&U, 1979) e (H;M;U, 2001) 1 Sistemas de Estados Finitos Uma máquina de estados finitos é um modelo matemático de um sistema com entradas e saídas discretas. O sistema pode estar em qualquer um de um número finito de estados. O estado do sistema sumariza a informação relativa às entradas passadas que é necessária para determinar o comportamento do sistema nas próximas entradas. 2 1

Memória Limitada AF são exemplos de modelos de computadores com memória limitada. Já vimos um exemplo na primeira aula de um AF modelando um interruptor On/Off O interruptor se lembra se ele está no estado on ou off e permite o usuário apertar um botão cujo efeito é diferente, dependendo do seu estado. Mas, o que um computador com memória limitada pode fazer???? Muitas coisas úteis! 3 Exemplos Controlador de porta automática que abre no meio Tem um sensor na frente e outro atrás da porta (para não bater em quem está atrás). O controlador está em 1 dos 2 estados: aberto, fechado e as transições seriam: Frente (que faz a porta abrir e segurar aberta) Atrás (que deixa a porta fechada ou mantém aberta) Ambas (pessoas estão na frente atrás) Nenhuma (não há pessoas nem na frente nem atrás) 4 2

Exemplos Mecanismo de controle de um elevador O mecanismo não se lembra das requisições de serviços anteriores, cada estado sumariza somente as informações de andar atual e direção (para cima ou para baixo). As entradas para o sistema são as chamadas a serem atendidas. 5 Exemplos Na computação, um AF é um modelo útil para projetar vários tipos de sistemas: Busca de cadeias em editores de textos. No Word, por exemplo, podemos expressar as cadeias com os caracteres curinga * e outros especiais. 6 3

Exemplos Analisadores léxicos (AL) de compiladores. O AL é a interface entre o programa fonte e o resto do compilador. Ele é responsável por: empacotar os caracteres do programa e lhes dar um rótulo que será usado pelo analisador sintático montar a árvore sintática. Os rótulos são: identificadores, os nomes dos símbolos simples (<, =, [, ), etc.), dos compostos (:=, <>, <=, etc.), números inteiros, números reais, cadeias de caracteres, o nome das palavras-chaves. Eliminar caracteres brancos e comentários e, se for pedido, reeditar o texto fonte acrescentando número de linhas, indentação, etc. Reconhecer alguns erros léxicos como má-formação de inteiros, de reais, de cadeias de caracteres, comentário que não fecha, caracteres não reconhecidos pela linguagem. 7 Problemas de IA Descrição do Problema: um homem (H) com uma couve (C), um lobo (L) e uma ovelha (O) estão na margem esquerda de um rio. Existe um barco com 2 lugares para carregar o homem com um dos outros três. Se o H deixa a O com a C ela a come ou o L com a O ele a come. É possível os quatro atravessarem o rio sem a ovelha ou a couve serem comidas? O problema pode ser modelado analisando os ocupantes da margem esquerda e direita a cada travessia. Cada um é um estado menos os fatais (OC HL, por exemplo). 8 4

Entradas: ações (transições) que o H toma» Atravessar sozinho (H)» Com o lobo (L)» Com a couve ( C )» Com a ovelha (O) Estado Inicial: HLCO - Estado Final (duplamente circulado): - HLCO Existem 2 soluções curtas e inúmeras outras envolvendo caminhos desnecessários. O H HLCO- -HLCO O O O LC-HO HO-LC O H H H L C-HLO HCO-L C HLC-O O L O C C O-HLC L-HCO HLO-C L 9 C O L O sistema é atípico pois: Nele existe só um estado final MAS podem existir vários Para cada transição existe uma reversa, MAS isto não é o caso geral Depois do estado final não existe computação, MAS pode existir 10 5

Definição formal de um AF Determinístico Um AF Determinístico (AFD) é denotado formalmente por uma quíntupla (Q, Σ, δ, qo, F) onde: Q é o conjunto de estados Σ é um alfabeto finito qo Q é o símbolo inicial F Q é o conjunto de símbolos finais δ (delta) é a função de transição de estados mapeando Q X Σ Q. δ(q,a) é um estado para cada estado q e entrada a 11 Esquema da Máquina e Representação usando grafos Esquema: 0 1 0 1 0 0 Controle Finito Fita com a seqüência de símbolos de Σ p estado anterior a símbolo lido q novo estado qo estado inicial qf estado final 12 6

Aceitando cadeias função de transição estendida Estendemos a função de transição para aceitar cadeias: δ : Q X Σ* Q δ (q,w) é um estado p que o AF vai estar depois de ler a cadeia w, começando do estado q. Isto é, existe um caminho no diagrama de transições de q para p denominado w Definimos: 1) δ (q,λ) = q (sem ler um símbolo de entrada o AF não pode mudar de estado) 2) δ (q,wa) = δ(δ (q,w),a) para a como símbolo de entrada e w como cadeia de entrada (Diz como achar o estado depois de ler uma cadeia de entrada wa não vazia. Isto é, encontre o estado p = δ (q,w) depois de ler w. Então calcule δ(p,a)) Usaremos δ no lugar de δ pois δ(q,a) = δ(δ (q, λ),a) = δ (q,a) 13 Linguagem aceita por um AF M Uma cadeia x é dita ser aceita pelo AFD M = (Q, Σ, δ, qo, F) se δ(qo,x) = p para algum p F. Ou L(M) = {x δ(qo,x) F} Def 1: Uma linguagem aceita por um AFD é uma linguagem regular (ou do tipo 3) Def 2: Dois AF M1 e M2 são equivalentes se L(M1) = L(M2) 14 7

Exercício Fazer um AFD M que aceita L(M) = {w w possui um nro par de 0 s e de 1 s } Exemplos de cadeias da linguagem: Lambda 00 11 1010 0101... 15 Exemplo 1 Fazer um AFD M que aceita L(M) = {w w possui um nro par de 0 s e de 1 s } Diagrama de Transição de Estados Cadeia aceita: configuração final VERDE 16 8

Cadeia não aceita: configuração final ROSA 17 Reconhecimento de 110101 δ(qo,1) = q1 e δ(q1,1) = qo Assim: δ(qo,11) = δ(δ(qo,1),1) = δ(q1,1) = qo... δ(qo,110101) = qo Portanto 110101 está na L(M) M = ({qo,q1,q2,q3}, {0,1}, δ, qo, {qo}) entradas δ : estados 0 1 Tabela de Transição de Estados qo q2 q1 q1 q3 q0 q2 q0 q3 q3 q1 q2 Função de Transição de Estados δ(qo,0) = q2 δ(qo,1) = q1 δ(q1,0) = q3 δ(q1,1) = q0 δ(q2,0) = q0 δ(q2,1) = q3 δ(q3,0) = q1 δ(q3,1) = q2 18 9

Tendo somente uma memória finita, só podemos lembrar as informações importantes e associá-las aos estados Usamos os estados para armazenar a paridade dos números e não os números o que exigiria um número infinito de estados (memória infinita). Como projetar um AF? Linha dos 1 s Linha dos 0 s 19 20 10

21 22 11

Quando o estado final é o inicial a cadeia vazia é aceita Inicio de uma simulação, entrada em negrito 23 Exemplo 2 Fazer um AFD M que aceita L(M) = {w {0,1}* w possua pelo menos dois 0 s consecutivos} Garantindo a restrição... 24 12

Completando o AFD M e reconhecendo uma cadeia de L(M) M = ({q0,q1,q2}, {0,1}, δ, q0,{q2}) δ: Fim de uma simulação, entrada em cinza 25 Exemplo 3 Fazer um AFD M que aceita L(M) = {w {0,1}* w possua um número impar de 1 s} Garantindo a restrição... 26 13

Completando o AFD M e reconhecendo uma cadeia de L(M) M = ({q0,q1}, {0,1}, δ, q0,{q1}) δ: Aceitação no JFLAP = verde, com indicação do estado que parou ou ler a cadeia de entrada 27 14