Computabilidad y Lenguajes Formales: Autómatas Finitos

Documentos relacionados
Computabilidad y Lenguajes Formales: Autómatas de Pila

Autómatas Deterministas. Ivan Olmos Pineda

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

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

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

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

Lenguajes, Gramáticas y Autómatas Conceptos

El Autómata con Pila

Unidad 4. Autómatas de Pila

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

Equivalencia Entre PDA y CFL

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

Autómatas de Pila y Lenguajes Incontextuales

El Autómata con Pila: Transiciones

Autómatas finitos no deterministas (AFnD)

Tema: Autómata de Pila

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

Autómatas Finitos. Leopoldo Altamirano, Eduardo Morales. Verano, 2011 INAOE. Introducción a. Autómatas. Definición formal de un. Finito Determinístico

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

Introducción a los Autómatas Finitos

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

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

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

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

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

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

Expresiones regulares, gramáticas regulares

Procesadores de Lenguaje

PROGRAMA INSTRUCCIONAL AUTOMATAS Y LENGUAJES FORMALES

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

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

AUTÓMATAS DE PILA Y LENGUAJES INDEPENDIENTES DEL CONTEXTO

Ciencias de la Computación I

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

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

Lenguajes y Gramáticas

Teoría de Autómatas y Lenguajes Formales. Leopoldo Altamirano, Miguel Arias, Jesús González, Eduardo Morales, Gustavo Rodríguez

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

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

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

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

Introducción a Autómatas Finitos

Máquinas de Estados Finitos

Sentido de recorrido. q i

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

Clase 17: Autómatas de pila

2: Autómatas finitos y lenguajes regulares.

Capítulo 7: Expresiones Regulares

PROGRAMACION CONCURRENTE Y DISTRIBUIDA

Serafín Moral Departamento de Ciencias de la Computación. Modelos de Computación ITema 2: Autómatas Finitos p.1/88

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

Cátedra de Sintaxis y Semántica de Lenguajes

Tema 2 Introducción a la Programación en C.

Tema 2: Autómatas finitos

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

Introducción a los códigos compresores

Traductores Push Down para Gramáticas LL

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

Autómatas Finitos y Lenguajes Regulares

BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD CIENCIAS DE LA COMPUTACIÓN

Problemas indecidibles

GRAMATICAS LIBRES DEL CONTEXTO

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

Lenguajes (gramáticas y autómatas)

Análisis de Datos y Métodos Cuantitativos para la Toma de Decisiones 7ma versión MGM

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

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

Lenguajes Formales. 27 de octubre de 2005

1 3 1є7 1є7 1є7 1є7 1є7 1є7 1є7 1є7 1є7 1є7 1є7 1є7 1є7 1є7 1є7 1є7 1є7 1є7 1є7 1є7 1є7 1є7 1є7 1є7 1є7 1є7 1є7 1є7 1є7 1є7 1є7 1є7 1є7 1є7 1є7 1є7 1є

Tema 5 Lenguajes independientes del contexto. Sintaxis

UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR. Ciencias de la ingeniería

Clase 09: AFN, AFD y Construcción de Thompson

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL

Circuitos de Corriente Continua

Teoría de Lenguajes. Teoría de la Programación I

NOMBRE DEL CURSO: Laboratorio de Lenguajes Formales y de Programación

Introducción a la Computación

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

DEPARTAMENTO: Ingeniería e Investigaciones Tecnológicas

PROGRAMA DE MATEMATICAS DISCRETAS

Guía de Modelo Relacional y Conversión de Entidad-Relación a Relacional

Autómatas finitos con salidas

Lenguajes Regulares. Antonio Falcó. - p. 1

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

Compiladores: Sesión 20. Análisis semántico, verificación e inferencia de tipos

Capítulo 6. Relaciones. Continuar

Regular expressions Denial of Service - ReDoS. Michael Hidalgo OWASP Costa Rica michael.hidalgo@owasp.org

MANEJO DE EXPRESIONES REGULARES

Sistemas Distribuidos: Migración de Procesos

Algoritmos y solución de problemas. Fundamentos de Programación Otoño 2008 Mtro. Luis Eduardo Pérez Bernal

ESCUELA: UNIVERSIDAD DEL ISTMO

1. Objetivos. 2. Idea Principal. Teoría de Autómatas y Lenguajes Formales. Boletín de Autoevaluación 3: Cómo se minimiza un AFD?.

Complejidad - Problemas NP-Completos. Algoritmos y Estructuras de Datos III

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

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

Facultad de Ingeniería de Sistemas 1.5 Carrera: Ingeniería de Sistemas 1.6 Código: ISI 1.7 Nivel: Pregrado

Introducción a la Probabilidad

Circuitos de Corriente Continua

CAPÍTULO II TEORÍA DE CONJUNTOS

Transcripción:

300CIG007 Computabilidad y Lenguajes Formales: Autómatas Finitos Pontificia Universidad Javeriana Cali Ingeniería de Sistemas y Computación Prof. Gloria Inés Alvarez V.

No Determinismo Hasta ahora cada paso que se computa ha seguido un camino único desde el paso anterior (el paso esta determinado). Esto es Computación Determinista. En una máquina no determinista, en un momento dado, existen varias posibilidades para elegir el siguiente estado.

AF No Determinista A diferencia de un Automata Finito Determinista (DFA), un Automata Finito Determinista (NFA) puede presentar las siguientes características: El mismo símbolo puede ser etiqueta de más de una transición que salga de un mismo nodo Puede tener transiciones etiquetas con ε (cadena vacía)

Como se computa un AFD? Puede ser interpretado de varias maneras: Puede ser visto como una máquina de computación en paralelo, donde varios procesos se ejecutan concurrentemente (uno por cada uno de los posibles caminos) Puede ser visto como un árbol de posibilidades, cuya raíz corresponde al estado de inicio, y cada nodo con mas de un hijo, corresponde a un punto en el cual la máquina tiene múltiples opciones.

DFA: Definición Formal Un Autómata Finito No Determinista es una 5-tupla (Q, Σ, δ, q 0, F), donde: Q es un conjunto finito de Estados Σ es un conjunto finito llamado Alfabeto δ:qxσ ε 2 Q es una función de transición. q 0 Q es el Estado Inicial F Q es el Conjunto de Estados Finales Donde: Σ ε = Σ U {ε}

Computación de un NFA Sea M = (Q, Σ, δ, q 0, F) un autómata finito no determinista y la secuencia de entradas w = w 1 w 2 w 3 w 4...w m, entonces M acepta w si existe una secuencia de estados r 0, r 1, r 2, r m, que cumple las siguientes condiciones: r 0 = q 0 r i+1 δ(r i, w i+1 ), para i = 0,1, 2,, m-1, y r m F

Equivalencia de NFAs y DFAs Teorema: Sea L el lenguaje aceptado por un autómata finito no determinista, entonces existe un autómata finito determinista que acepta L. (Todo autómata finito no determinista tiene un autómata finito determinista equivalente)

Equivalencia de NFAs y DFAs Prueba: Para todo NFA M = (Q, Σ, δ, q 0, F), es posible construir un DFA M = (Q, Σ, δ, q 0, F ) Caso: NFA sin transiciones ε Q son todos los subconjuntos de Q (Q = 2 Q ) Un estado de M representa todos los estados en los que M puede estar en un momento dado. Un estado q p (elemento de Q ) se denota por [q 1, q 2,, q i ], donde q 1, q 2,, q i Q. q 0 = [q 0 ]

Equivalencia de NFAs y DFAs Prueba: Para todo NFA M = (Q, Σ, δ, q 0, F), es posible construir un DFA M = (Q, Σ, δ, q 0, F ) δ ([q 1, q 2,, q i ], a) = [p 1, p 2,, p i ] si y solo si δ({q 1, q 2,, q i }, a) = {p 1, p 2,, p i } Para una cadena de entradas x: δ (q 0, x) = [q 1, q 2,, q i ] si y solo si δ(q 0, x) = {q 1, q 2,, q i } F es el conjunto de todos los estados de Q que contienen algún estado que pertenece a F.

Equivalencia de NFAs y DFAs Prueba: Para todo NFA M = (Q, Σ, δ, q 0, F), es posible construir un DFA M = (Q, Σ, δ, q 0, F ) Caso: NFA con transiciones ε Para todo estado R de M, sea E(R): E(R) = { q q puede ser alcanzado por R siguiendo 0 o mas transiciones ε } Redefinimos q 0 = E({q 0 }) Redefinimos δ : δ (R, a) = { q Q q E(δ(r,a)) para algún r R }

Algoritmo de Construcción de Subconjuntos Dado un NFA construir un DFA: Operaciones: ε-closure(s i ): conjunto de estados del NFA alcanzables desde el estado S i, con transiciones ε ε-closure(t), donde T es un conjunto de estados del NFA: conjunto de estados del NFA alcanzables desde el estado s en T, con transiciones ε Move(T,a), donde T es un conjunto de estados del NFA, y a es un símbolo del alfabeto: conjunto de estados del NFA a los cuales hay una transición con el símbolo a, desde un estado s en T. Pontificia U. Javeriana Cali - Ingenieria de Sistemas y Computación Compiladores

Algoritmo de Construcción de Subconjuntos Algoritmo: genera la tabla de transición Dtran Dstates = ε-closure(s 0 ) Mientras haya un estado T no marcado en Dstates: Marcar T; Para cada símbolo de entrada a U = Є-closure(Move(T,a)) Si U no está en Dstates entonces Adicionar U a Dstates sin marcar Dtran[T,a] = U Pontificia U. Javeriana Cali - Ingenieria de Sistemas y Computación Compiladores