Autómatas Finitos Deterministicos (DFA)

Documentos relacionados
Unidad 4. Autómatas de Pila

Lenguajes (gramáticas y autómatas)

Autómatas de Pila. Descripciones instantáneas o IDs. El Lenguaje de PDA. Equivalencia entre PDAs y CFGs INAOE (INAOE) 1 / 50

Autómatas de Pila y Lenguajes Incontextuales

Autómatas Deterministas. Ivan Olmos Pineda

5 Autómatas de pila 5.1 Descripción informal. 5.2 Definiciones

Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS. Números naturales. Inducción matemática

Temas. Objetivo. Que el estudiante logre: 1) Identificar conceptos constructivos de la Teoría de la Computabilidad. 2) Definir autómatas de pila.

Computabilidad y Lenguajes Formales: Autómatas de Pila

Lenguajes, Gramáticas y Autómatas Conceptos

Teoría de Autómatas y Lenguajes Formales. Introducción a las Gramáticas. Gramáticas incontextuales

Autómatas Mínimos. Encontrar el autómata mínimo. Universidad de Cantabria. Introducción Minimización de Autómatas Deterministas Resultados Algoritmo

Tema: Autómata de Pila

El Autómata con Pila

Una cadena sobre Σ es cualquier secuencia de elementos de longitud finita sobre Σ.

Expresiones regulares, gramáticas regulares

Teoría de Lenguajes. Clase Teórica 7 Autómatas de Pila y Lenguajes Independientes del Contexto Primer cuartimestre 2014

Texto: Hopcroft, J. E., Motwani, R., Ullman, J.D., Introduction to Automata Theory, Languajes, and Computation. 3rd Edition. Addison Wesley, 2007.

Gramáticas independientes del contexto AUTÓMATAS Y LENGUAJES FORMALES LENGUAJES INDEPENDIENTES DEL CONTEXTO Y AUTÓMATAS DE PILA. Otras definiciones I

Expresiones Regulares y Derivadas Formales

Máquinas Secuenciales, Autómatas y Lenguajes. Tema 3.1: Autómatas Finitos Deterministas

Procesadores de Lenguaje

Un autómata con pila no determinista (APND) es una septupla Q A B F en la que

El Autómata con Pila: Transiciones

PROGRAMA INSTRUCCIONAL AUTOMATAS Y LENGUAJES FORMALES

Equivalencia Entre PDA y CFL

Máquinas de Estados Finitos

LENGUAJES FORMALES Y AUTÓMATAS

Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto Segundo Cuatrimestre de 2002

Lenguajes Regulares. Antonio Falcó. - p. 1

ESCUELA: UNIVERSIDAD DEL ISTMO

Lenguajes y Gramáticas

Una (muy) breve introducción a la teoría de la computación

Carrera: SCM Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos.

PONTIFICIA UNIVERSIDAD CATOLICA DEL ECUADOR FACULTAD DE INGENIERIA ESCUELA DE INGENIERIA DE SISTEMAS

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Grado en Ingeniería Informática Online, Curso Universidad Rey Juan Carlos

Ingeniería en Computación. Autómatas y Lenguajes Formales. Unidad de competencia IV: Conocer, utilizar y diseñar gramáticas de libre contexto

John Venn Matemático y filósofo británico creador de los diagramas de Venn

Clase 17: Autómatas de pila

Capítulo 1: Fundamentos: Lógica y Demostraciones Clase 3: Relaciones, Funciones, y Notación Asintótica

Paso 1: Autómata. A 1 sin estados inútiles, que reconoce el lenguaje denotado por a a* b*

Teoría de la Computación

TEMA 5. GRAMÁTICAS REGULARES.

Tipos de datos en S. Lógica y Computabilidad. Codificación de variables y etiquetas de S. Codificación de programas en S

Espacios topológicos. 3.1 Espacio topológico

Sumario: Teoría de Autómatas y Lenguajes Formales. Capítulo 2: Lenguajes Formales. Capítulo 2: Lenguajes Formales

Autómatas Finitos y Lenguajes Regulares

Estructuras Algebraicas

2do. Parcial. Todos los ejercicios se entregarán en hojas separadas. El examen tipo test cuenta hasta 2 puntos sobre la nota total.

6. Autómatas a Pila. Grado Ingeniería InformáDca Teoría de Autómatas y Lenguajes Formales

Tema 5 Lenguajes independientes del contexto. Sintaxis

Máquinas Secuenciales, Autómatas y Lenguajes Formales. Tema 4: Autómatas finitos deterministas. Holger Billhardt holger.billhardt@urjc.

Apuntes de Teoría de Autómatas y Lenguajes Formales. Gloria Martínez

AUTÓMATAS DE PILA Y LENGUAJES INDEPENDIENTES DEL CONTEXTO

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

MATEMÁTICAS BÁSICAS. Autora: Jeanneth Galeano Peñaloza Edición: Oscar Guillermo Riaño

PROGRAMACIÓN. UNIDAD II. ALGORITMO PROFA : HAU MOY

1 NOCIONES BÁSICAS SOBRE CONJUNTOS. SÍMBOLOS.

Pregunta 1 [40 puntos] Diga si las siguientes afirmaciones son verdaderas o falsas, demostrando su respuesta.

Capítulo 7: Expresiones Regulares

Teoría de Lenguajes y Autómatas Conceptos y teoremas fundamentales

Autómatas finitos no deterministas (AFnD)

DESARROLLO DE UN ENTORNO DE SIMULACIÓN PARA AUTÓMATAS DETERMINISTAS

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

Tema 2. Fundamentos de la Teoría de Lenguajes Formales

Matemáticas. ticas Discretas. Lenguajes y Gramáticas. Tenemos dos clases de lenguaje: Lenguaje Formal

Autómatas y Lenguajes Formales. Tema 3.2: Autómatas Finitos No Deterministas. Luis Peña luis.pena@urjc.es

Números naturales y recursividad

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Práctica 3

Clase 03: Alfabetos, símbolos y cadenas

Algoritmos y programas. Algoritmos y Estructuras de Datos I

Cualquier lenguaje de contexto libre, L, puede ser generado por medio de una GCL, G, que cumpla las siguientes condiciones:

2.Teoría de Autómatas

Teoría de la Computación para Ingeniería de Sistemas: un enfoque práctico. Prof. Hilda Contreras

Capítulo 1 Lenguajes formales 6

Tabla de contenidos. 1 Lógica directa

Algoritmos y Programas

PROGRAMA DE MATEMATICAS DISCRETAS

Cátedra de Sintaxis y Semántica de Lenguajes

Teoría de la Computación. Apuntes y Ejercicios

TEORÍA DE LENGUAJES FORMALES

Índice Proposiciones y Conectores Lógicos Tablas de Verdad Lógica de Predicados Inducción

Métodos, Algoritmos y Herramientas

Teoría de Autómatas, Lenguajes Formales y Gramáticas. David Castro Esteban

Grupos libres. Presentaciones.

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

EXÁMENES DE REPASO Teoría de Autómatas y Lenguajes Formales UNIVERSIDAD FRANCISCO DE VITORIA

Problemas indecidibles

Límite superior y límite inferior de una sucesión

1. Computadores y programación

Nivel del ejercicio : ( ) básico, ( ) medio, ( ) avanzado.

Teoría de la Computación para Ingeniería de Sistemas: un enfoque práctico. Prof. Hilda Contreras

IIC2213. IIC2213 Teorías 1 / 42

Transcripción:

Autómatas Finitos Deterministicos (DFA) Introducción a la Lógica y la Computación Fa.M.A.F., Universidad Nacional de Córdoba 26/0/6

Info útil Bibliografía: Introducción a la teoría de autómatas, lenguajes y computación. Autores: Hopcroft, John E; Ullman, Jeffrey D. Ubicación en Biblioteca: C C.3 H79. Apunte de la cátedra. http://www.cs.famaf.unc.edu.ar/wiki/lib/exe/fetch. php?media=intrologica:automatas205-.pdf

Temas del día Introducción Modelos de Computación 2 Autómata Finito Deterministico (DFA) Intuiciones Definición 3 Lenguajes y Autómatas Lenguajes

Modelos de Computación Modelo de computación: es un modelo matemático que aproxima el funcionamiento de una computadora. Sirven para estudiar sus capacidades y limitaciones. Computabilidad: Qué problemas puede resolver una computadora? Complejidad: Cuáles son los problemas computacionalmente dificiles? Existen diferentes modelos de computación: Máquinas de Turing (Turing - 936) Cálculo Lambda (Church - 936) Autómatas Finitos (Rabin y Scott - 950).... Diferente poder de cómputo.

Modelo General de Máquina En su forma mas básica: Input CPU Output Memoria El tipo de memoria afecta el poder computacional. Sin memoria: Autómatas finitos. Con una pila como memoria: Push Down Automatas. Con memoria de acceso aleatorio: Maquinas de Turing. En esta materia estudiaremos los Autómatas Finitos.

Intuiciones I Es común modelar sistemas como: conjunto de estados, y acciones que llevan de un estado a otro. Estado: Es una parte relevante de la historia del sistema. Ejemplo: Interruptor (o switch) push OF F ON push Puede estar en ON u OFF (sus estados). Aprentandolo pasa de un estado a otro. Si está en ON estaba en OFF y alguien lo apretó. Si está en OFF estaba en ON y alguien lo apretó.

Intuiciones II El sistema empieza en un determinado estado. Existen estados finales (o de aceptación). El efecto de una acción depende del estado actual. Ejemplo: Expendedor de golosinas. Estado: Dinero que tiene. Inicialmente sin dinero ($0). Entrega golosina solo si tiene $. Acepta: Monedas de 0.25, 0.50 y. 0.25 Entregar 0 0.50 0.50 0.50 0.25 0.25 0.25 0.50 0.25 0.75

Intuiciones III Qué tienen en común estos ejemplos:? Estados iniciales: OF F 0 Estados finales: OF F ON Acciones para pasar de un estado a otro. {push} {0.25, 0.50,, Entregar} El efecto de una acción depende del estado donde se aplica. AUTOMATAS FINITOS DETERMINISTICOS.

Definición Autómata: Modelo matemático de un sistema con entradas y salidas discretas. Finito: Tiene un nro. finito de estados. Determinístico: En todo momento está en un solo estado. Autómata Finito Deterministico (DFA) Un DFA es una 5-tupla M = (Q, Σ, δ, q 0, F ) donde: Q = {q, q 2,..., q m } es un conjunto finito de estados. Σ = {a, a 2,..., a n } es un conjunto finito de símbolos. δ : Q Σ Q es la función (total) de transición de estados. q 0 Q es el estado inicial. F Q son los estados finales.

Ejemplo - Interruptor push OF F ON push Definimos M = (Q, Σ, δ, q 0, F ): Q = {ON, OF F }. Σ = {push}. q 0 = OF F. F = {ON, OF F }. δ definida como: δ(on, push) = OF F. δ(of F, push) = ON.

Ejemplo - Expendedor de Golosinas Definimos M = (Q, Σ, δ, q 0, F ): Q = {0, 0.25, 0.50, 0.75, }. Σ = {0.25, 0.50,, E}. q 0 = 0. F = {}. δ definida como: 0.25 0 0.50 0.25 E 0.50 0.50 0.25 0.25 0.25 0.50 E 0 0.25 0.50 0.25 0.50 0.75 0.50 0.75 0.75 0 0.25 0.50 0.75

Diagrama de Transición Algoritmo de Generación de Diagramas de Transición Dado un autómata M = (Q, Σ, δ, q 0, F ), su diagrama de transición se construye de la siguiente forma: Se agrega un nodo para cada estado q i Q. 2 Marcamos al nodo del estado inicial q 0 con una flecha que ingresa. 3 Marcamos los estados finales q i F con doble círculos. 4 Agregamos un eje etiquetado a del nodo q i al nodo q j si existe una transición δ(q i, a) = q j. Todo DFA tiene su correspondiente diagrama de transición.

Ejemplo 5 - Creando un Diagrama de Transición Sea M = (Q, Σ, δ, q 0, F ): Q = {q 0, q, q 2, q 3 }. Σ = {0, }. Estado inicial: q 0. F = {q 0 }. δ definida como: 0 q 0 q 2 q q q 3 q 0 q 2 q 0 q 3 q 3 q q 2 q 0 q 0 0 0 q 2 q 3 0

Algunas Definiciones Alfabeto (Σ): es un conjunto finito de símbolos. Ej: Σ = {0, }. Cadena: secuencia finita de símbolos. Ej: 0, 000, 00. ɛ: es la cadena vacía (sin símbolos). Σ : conjunto de todas las palabras sobre Σ. Ej: Σ = {ɛ, 0,, 00, 0, 000, 00,...}. Lenguaje: Un lenguaje L sobre un alfabeto Σ es un conjunto de palabras sobre el alfabeto Σ (L Σ ). Ej: L = {w w termina en } Σ.

Operaciones sobre Cadenas Longitud de una cadena w ( w ): es el nro. de símbolos. abab = 4, ɛ = 0. Subcadena: es una cadena incluida en una cadena. Si w = bbabaa, ab es subcadena de w, aab no. Prefijo de una cadena w: es una subcadena de w que comienza con el primer símbolo de w. Si w = bbabaa, bba es un prefijo de w, ba no. Sufijo de una cadena w: es una subcadena de w que termina con el último símbolo de w. Si w = bbabaa, baa es un sufijo de w, aba no. Concatenación de dos cadenas w y x (wx): es la unión de las cadenas w y x. Si w = aaa y x = bbb, ab = aaabbb. aɛ = ɛa = a.

Intuiciones 0 q 0 q 0 q 2 q 3 0 0 Consideremos secuencias de símbolos. A que estado nos llevan la secuencias:, 0, 0, 0, : q 0 q 2. 0,, 0, : q 0 q 0. 0, : q 0 q 3. Secuencia como palabras., 0, 0, 0, 000. 0,, 0, 00. 0, 0. Un autómata acepta palabras. Palabras aceptadas Lenguaje del autómata. El lenguaje caracteriza al autómata. Cuál es el lenguaje de este autómata?

Definiciones Transforma en ( ) Sea M un DFA, sean p, q estados de M y α = a 0 a... a n una cadena en M. Diremos que α transforma p en q (p α q) si partiendo de p y aplicando sucesivamente los inputs a 0, a,..., a n llegamos al estado q. p ɛ p (ɛ transforma un estado en si mismo). Si α = a 0, a,..., a n : p α q p a0 a q a n a... qn n q. Si α = βγ, donde β y γ son cadenas, entonces: p α q sii existe r Q tal que p β r γ q. Una cadena α en M es aceptada si transforma el estado inicial en uno final.

Lenguaje de un Autómata Lenguaje aceptado por un autómata Sea M un DFA, el lenguaje aceptado por M (L(M)) es el conjunto de cadenas aceptadas por el autómata. L(M) = {α Σ existe p F tal que q 0 α p}.

Ejemplo 5 0 0 M q 0 q Cuál es lenguaje de M? L(M) = {w w tiene un nro impar de s}. Cómo estamos seguros? Probando el siguiente predicado: q 0 w q si y solo si w tiene un nro. impar de s. Cómo se prueba? Por inducción en w.

Equivalencia de Autómatas Un autómata esta caracterizado por su lenguaje. Podemos comparar los lenguajes de dos autómatas. Igualdad de lenguajes noción de equivalencia entre autómatas. Equivalencia de Autómatas Sean M y M dos DFA. Diremos que M y M son equivalentes si: L(M) = L(M ).

Ejemplo 6 b b a q 0 q q 2 a a M b b a q 0 q a M 2 b Son equivalentes M y M 2? Cuál es el lenguaje de M? Cuál es el lenguaje de M 2?