Autómatas Finitos Deterministicos (DFA)

Documentos relacionados
Autómatas Finitos Deterministicos (DFA)

Autómatas Finitos No-Deterministicos (NFA)

300CIG007 Computabilidad y Lenguajes Formales: Autómatas Finitos

Introducción a la Teoría de Autómatas, Lenguajes y Computación

Introducción a la Lógica y la Computación

Introducción a la Lógica y la Computación

Autómata de Pila (AP, PDA) Tema 18

Autómatas de Estados Finitos

2 Autómatas finitos y gramáticas regulares.

Unidad 4. Autómatas de Pila

autómatas finitos y lenguajes regulares LENGUAJES FORMALES Y

Computabilidad y Lenguajes Formales: Autómatas Finitos

Expresiones regulares y derivadas

Computabilidad y Lenguajes Formales: Teoría de la Computabilidad: Máquinas de Turing

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

Lenguajes Incontextuales

Máquinas de estado finito y expresiones regulares

Lenguajes (gramáticas y autómatas)

PROGRAMACIÓN II AÑO 2009 TALLER 3: TEORÍA DE LENGUAJES Y AUTÓMATAS

Unidad 4. Autómatas de Pila

1. Cadenas EJERCICIO 1

Ciencias de la Computación I

Expresiones Regulares

Computabilidad y Lenguajes Formales: Autómatas de Pila

Autómatas Deterministas. Ivan Olmos Pineda

Tema 4: Gramáticas independientes del contexto. Teoría de autómatas y lenguajes formales I

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

MODELOS DE COMPUTACION I Preguntas Tipo Test. 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular.

Ciencias de la Computación I

Propiedades de Lenguajes Regulares

Curso Básico de Computación Preliminares

3 Propiedades de los conjuntos regulares 3.1 Lema de Bombeo para conjuntos regulares

DIVERSAS REPRESENTACIONES DE UN AUTÓMATA FINITO DETERMINISTA DIVERSE REPRESENTATIONS OF A DETERMINISTIC FINITE AUTOMATON. Humberto Robles Guzmán 1

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

Capítulo 9. Introducción a los lenguajes formales. Continuar

Autómatas de Pila y Lenguajes Incontextuales

7. Máquinas de Turing.

Máquinas Secuenciales, Autómatas y Lenguajes. Tema 4: Expresiones Regulares. Luis Peña

Máquinas de Turing Definición y descripción

Gramáticas independientes del contexto TEORÍA DE LA COMPUTACIÓN LENGUAJES INDEPENDIENTES DEL CONTEXTO Y AUTÓMATAS DE PILA. Otras definiciones I

PRACTICA 5: Autómatas Finitos Deterministas

EJERCICIOS del TEMA 3: Lenguajes independientes del contexto

Tema 1: Introducción. Teoría de autómatas y lenguajes formales I

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

Tema: Autómata de Pila

Teoría de Autómatas y Lenguajes Formales Equivalencia de Conjuntos Pruebas por Inducción

Tema 5: Autómatas a pila. Teoría de autómatas y lenguajes formales I

MÁQUINAS DE TURING CIENCIAS DE LA COMPUTACION I 2009

Lenguajes formales y autómatas

TEORIA DE AUTOMATAS.

6 Propiedades de los lenguajes libres de contexto 6.1 El Lema de Bombeo para LLC

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 42

Teoría de Autómatas y Compiladores [ICI-445] Capítulo 2: Autómatas Finitos

Autómatas Finitos INAOE. Introducción a. Autómatas. Definición formal de un. Finito Determinístico. Finito No- Finitos y Lenguajes Formales

Coordinación de Ciencias Computacionales INAOE. Teoría de Autómatas y Lenguajes Formales. Temario detallado para examen de ingreso 2012

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

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

Expresiones regulares, gramáticas regulares

Modelos Computacionales

El Autómata con Pila

Curso Básico de Computación

ANÁLISIS LÉXICO AUTÓMATAS FINITOS

Teoría de Lenguajes // 1er. cuatrimestre de er. Parcial

Compiladores: Sesión 3. Análisis léxico, expresiones regulares

Tema 2: Los Autómatas y su Comportamiento

Clases de complejidad computacional: P y NP

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

Máquinas Secuenciales, Autómatas y Lenguajes Formales. Tema 7: Máquinas Transductoras. Holger Billhardt

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 45

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

Máquinas de Estados Finitos

Introducción a la indecidibilidad

Departamento de Tecnologías de la Información. Tema 5. Decidibilidad. Ciencias de la Computación e Inteligencia Artificial

La máquina de Turing

10 Análisis léxico VI Compiladores - Profr. Edgardo Adrián Franco Martínez

Nombre de la asignatura : Lenguajes y Autómatas. Carrera : Ingeniería en Sistemas Computacionales. Clave de la asignatura : SCB- 9324

Alfabetos, cadenas y lenguajes

Universidad de Valladolid

CONJUNTOS REGULARES. Orlando Arboleda Molina. 19 de Octubre de Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle

Examen. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. Segundo Semestre, 2003.

Expresiones regulares, gramáticas regulares Unidad 3

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

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

PROGRAMA INSTRUCCIONAL AUTOMATAS Y LENGUAJES FORMALES

Algoritmos para strings. Bioinformática Elvira Mayordomo

1. Define que es un Autómatas finitos determinanticos y cuáles son sus elementos constitutivos (explique cada uno de ellos).

4 horas. 96 horas. Competencias Especificas: Construye algoritmos analizando su complejidad mediante técnicas y métodos documentados.

Lógica - Conjuntos inductivos

Teoría de la Computación Lenguajes Regulares (LR) - Propiedades

Programa de Asignatura

Transcripción:

Autómatas Finitos Deterministicos (DFA) Introducción a la Lógica Fa.M.A.F., Universidad Nacional de Córdoba 22//4 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:automatas22.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 - 95).... 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 OFF 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 ($). Entrega golosina solo si tiene $. Acepta: Monedas de.25,.5 y..25 Entregar.5.5.5.25.25.25.5.25.75 Intuiciones III Qué tienen en común estos ejemplos:? Estados iniciales: OFF Estados finales: OFF ON Acciones para pasar de un estado a otro. {push} {.25,.5, } 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, 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 es el estado inicial. F Q son los estados finales. Ejemplo - Interruptor push OFF ON push Definimos M = (Q, Σ, δ, q, F): Q = {ON, OFF}. Σ = {push}. q = OFF. F = {ON, OFF}. δ definida como: δ(on, push) = OFF. δ(off, push) = ON.

Ejemplo - Expendedor de Golosinas Definimos M = (Q, Σ, δ, q, F): Q = {,.25,.5,.75, }. Σ = {.25,.5,, E}. q =. F = {}. δ definida como:.25.5.25 E.5.5.25.25.25.5 E.25.5.25.5.75.5.75.75.25.5.75 Diagrama de Transición Algoritmo de Generación de Diagramas de Transición Dado un autómata M = (Q, Σ, δ, q, 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 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, F): Q = {q, q, q 2, q 3 }. Σ = {, }. Estado inicial: q. F = {q }. δ definida como: q q 2 q q q 3 q q 2 q q 3 q 3 q q 2 q q q 2 q 3 Algunas Definiciones Alfabeto (Σ): es un conjunto finito de símbolos. Ej: Σ = {, }. Cadena: secuencia finita de símbolos. Ej:,,. ɛ: es la cadena vacía (sin símbolos). Σ : conjunto de todas las palabras sobre Σ. Ej: Σ = {ɛ,,,,,,,...}. 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, ɛ =. 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 q q q 2 q 3 Consideremos secuencias de símbolos. A que estado nos llevan la secuencias:,,,, : q q 2.,,, : q q., : q q 3. Secuencia como palabras.,,,,.,,,.,. 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 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, a,..., a n llegamos al estado q. p ɛ p (ɛ transforma un estado en si mismo). Si α = a, a,..., a n : p α q p a a q a n a... n qn 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 una 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 α p}.

Ejemplo 5 M q 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 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 q q 2 a a M b b a q 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?