El Autómata con Pila

Documentos relacionados
El Autómata con Pila: Transiciones

Equivalencia Entre PDA y CFL

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

Procesadores de Lenguaje

Unidad 4. Autómatas de Pila

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

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

Traductores Push Down para Gramáticas LL

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

Computabilidad y Lenguajes Formales: Autómatas de Pila

Introducción a Autómatas Finitos

Introducción a los Autómatas Finitos

Computabilidad y Lenguajes Formales: Autómatas Finitos

Autómatas Finitos Deterministicos (DFA)

Autómatas Deterministas. Ivan Olmos Pineda

Expresiones Regulares y Derivadas Formales

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

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

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

Tema: Autómata de Pila

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

Procesadores de Lenguaje

Clase 17: Autómatas de pila

AUTÓMATAS DE PILA Y LENGUAJES INDEPENDIENTES DEL CONTEXTO

Máquinas de Estados Finitos

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

Modelos Computacionales

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

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

Convertir un AFND a un AFD

06 Análisis léxico II

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

Tema 2: El grupo de las permutaciones

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

13.3. MT para reconocer lenguajes

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

LA ESTRUCTURA DE DATOS PILA EN JAVA. CLASE STACK DEL API JAVA. EJEMPLO Y EJERCICIOS RESUELTOS. (CU00923C)

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

Introducción a los códigos compresores

Autómatas sobre palabras infinitas

Tema 5. Estructura de datos Pila

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

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

El análisis descendente LL(1) 6, 7 y 13 de abril de 2011

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

Teoría de Lenguajes. Clase Teórica 8 Propiedades de Lenguajes Independientes de Contexto y su Lema de Pumping Primer cuartimestre 2014

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

GRAMATICAS LIBRES DEL CONTEXTO

Conjuntos. Un conjunto es una colección de objetos. Si a es un objeto y R es un conjunto entonces por. a R. se entiende que a pertenece a R.

MMAF: Espacios normados y espacios de Banach

Espacios conexos. Capítulo Conexidad

Problemas de Espacios Vectoriales

Autómatas finitos no deterministas (AFnD)

Problemas Seleccionados Resueltos: Máquinas de Turing

Las Etapas de la Compilación

Sentido de recorrido. q i

Problemas indecidibles

ARITMÉTICA MODULAR. Unidad 1

Introducción a los espacios vectoriales

ESCUELA: UNIVERSIDAD DEL ISTMO

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

Estructuras de Datos. La pila es un objeto dinámico en constante cambio.

Recordemos que utilizaremos, como es habitual, la siguiente notación para algunos conjuntos de números que son básicos.

Descomposición en valores singulares de una matriz

Pregunta 1 Es correcta esta definición? Por qué?

Grupos libres. Presentaciones.

1. Curvas Regulares y Simples

Algebra Lineal. Gustavo Rodríguez Gómez. Verano 2011 INAOE. Gustavo Rodríguez Gómez (INAOE) Algebra Lineal Verano / 21

Introducción a la Probabilidad

Teoría de Autómatas y Lenguajes Formales. Laura M. Castro Souto

7.4. UTILIDADES DE LAS PILAS

Lenguajes y Gramáticas

Clase 03: Alfabetos, símbolos y cadenas

Estructuras Algebraicas

Conjuntos y matrices. Sistemas de ecuaciones lineales

Tema 5. Muestreo y distribuciones muestrales

CURSO 2013/2014 RESUMEN LÍMITES Y CONTINUIDAD 2, ,61 2,01 4,0401 1,99 3,9601 2,001 4, ,999 3,

Guía 1 Matemática II Resuelta

Coordinación de Matemática I (MAT021) 1 er Semestre de 2013 Semana 7: Lunes 22 - Viernes 27 de Abril. Contenidos

10. LIMITES DE FUNCIONES

Tema 1. Espacios Vectoriales Definición de Espacio Vectorial

Teoría de la Probabilidad Tema 2: Teorema de Extensión

TEMA 3 Elementos de la teoría de los conjuntos. *

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

Espacios Vectoriales

MÁQUINAS DE TURING: PROBLEMAS INDECIDIBLES. Roberto J. de la Fuente López VERSION

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

Forma binomial de números complejos (ejercicios)

Pablo Cobreros Tema 6. El tamaño del infinito

Enteros (Z):..., -3, -2, -1, 0, 1, 2, 3,... Números enteros (positivos o negativos), sin decimales. Incluye a los naturales.

Tema 2: Teorema de estructura de los grupos abelianos finitamente generados.

Espacios topológicos. 3.1 Espacio topológico

Expresiones regulares, gramáticas regulares

Espacios vectoriales reales.

EL42A - Circuitos Electrónicos

Espacios compactos. Capítulo Cubiertas. En este capítulo estudiaremos el concepto de compacidad en un espacio métrico.

Análisis de Algoritmos

EJERCICIOS del TEMA 3: Lenguajes independientes del contexto

Transcripción:

El Autómata con Pila Una Generalización del Autómata Finito Universidad de Cantabria

Esquema 1 2 3 4

Los autómatas son abstracciones de maquinas de calcular, como hemos visto. Los más sencillos no tienen acceso a memoria y por ello tienen sus limitaciones.

Si añadimos acceso a una cantidad finita de memoria, no hay ninguna ganancia, ya que se puede utilizar los autómatas finitos también para simular estos procesos.

Por lo tanto autómatas más generales tienen que tener memoria infinita, pero las diferencias están en como se accede a los contenidos de esa memoria. Esta lección estará dedicada a los autómatas que tienen una memoria que funciona como un stack o una pila.

Stacks Podemos identificar las pilas con ciertos lenguajes y ciertas funciones sobre un alfabeto Γ del modo siguiente. Comenzaremos añadiendo un nuevo símbolo Z 0 que no está en Γ. Las pilas (stacks) son elementos del lenguaje: Z 0 Γ. El símbolo Z 0 se identificará con el significado Fondo de la Pila.

Stacks El fondo de la pila es un elemento que se puede leer, se puede sacar pero no se puede volver a introducir. Los elementos de la pila se colocaran de izquierda a la derecha, esto es los elementos del fondo son los los que están más a la izquierda. Como anticipo diremos que los elementos se irán introduciendo uno a uno, colocandolos a la izquierda.

Funciones sobre las Pilas empty: Definimos la aplicación dada mediante: empty : Z 0 Γ {0, 1}, empty(ω) := { 1, si ω = λ 0, en otro caso

Funciones sobre las Pilas top: Definimos la aplicación top : Z 0 Γ Γ {λ}, mediante la regla siguiente: Dada una pila Z 0 ω Z 0 Γ (con ω = w 1 w n Γ ), { wn Γ, si ω = w top(z 0 w) := 1 w n Γ, Z 0 ω λ λ, en caso contrario

Funciones sobre las Pilas push: Apilar (empujar) una pila encima de otra. Definimos la aplicación push : Z 0 Γ Γ Z 0 Γ, mediante la regla siguiente: Dada una pila Z 0 ω Z 0 Γ (con ω = w 1 w n Γ ), y una palabra a Γ, dada mediante: a := a 1 a r, definimos push(z 0 ω, a) := Z 0 w 1 w n a 1 a r Z 0 Γ.

Funciones sobre las Pilas pop (Pull Out the top): Definimos la aplicación pop : Z 0 Γ Z 0 Γ, mediante la regla siguiente: Dada una pila Z 0 ω Z 0 Γ, definimos pop(z 0 ω) como el resultado de eliminar top(z 0 ω), esto es { Z0 w pop(z 0 ω) := 1 w n 1 Z 0 Γ, si w 1 w n Γ +, Z 0, en caso contrario

Propiedad Básica Una de las propiedades básicas de las operaciones es, obviamente, la siguiente: push(pop(z 0 ω), top(z 0 ω)) = Z 0 ω.

Definición Definición (Non Deterministic Pushdown Automata) Un autómata con pila (o pushdown autómata) indeterminista es una lista A := (Q, Σ, Γ, Q 0, F, Z 0, δ) donde: Q es el conjunto de estados y que suele denominarse espacio de estados, y Q 0 es el estado inicial, Σ y Γ son conjuntos finitos donde Z 0 Γ y es llamado el fondo de la pila, F es el subconjunto de Q de estados finales aceptadores, δ es una correspondencia: δ : Q (Σ {λ}) (Γ) P(Q Γ ), que se denomina función de transición.

Propiedad Adicional La función de transición debe verificar la propiedad siguiente para cada lista (q, x, A) Q (Σ {λ}) (Γ {Z 0 }): {(p, ω) Q Γ : (p, ω) δ(q, x, A)} <. Es decir, sólo un número finito de elementos de Q Γ estarán relacionados con cada elemento (q, x, A) mediante la función de transición.

Propiedad Adicional Nótese que hemos supuesto que la función de transición δ tiene su rango (el conjunto hacia el que va a parar) en Q Γ. Esta condición nos dirá (más adelante) que no podemos escribir en la pila el símbolo de fondo de pila nada más que cuando se escriba en la configuración inicial. Podremos, sin embargo, leerlo. No estará, en ningún caso, en medio de la pila.

El determinismo en autómatas con pila difiere del caso de autómatas finitos. No vamos a exigir que δ sea aplicación sino algo más delicado.

Esto es porque el autómata tiene que leer de la pila y de la cinta de lectura.

La imagen de cualquier lectura contiene a lo sumo 1 elemento. Es decir, para cualesquiera (q, x, A) Q (Σ {λ}) (Γ {Z 0 }), el conjunto de los elementos relacionados con él a través de δ tiene, a lo sumo, 1 elemento: ({(p, ω) Q Γ : (p, ω) δ(q, x, A) = (p, ω)}) 1.

Si dados q Q y A Γ, existieran (p, ω) Q Γ tales que δ(q, λ, A) = (q, ω), entonces, ninguno de los elementos de Q Σ (Γ {Z 0 }) tiene imagen por δ. Es decir, si entonces {(p, ω) Q Γ : (p, ω) δ(q, λ, A)} = 1, {(p, ω) Q Γ : (p, ω) δ(q, x, A)} = 0. x Σ

Ejemplo de Autómata Determinista Dar un autómata determinista que acepte el siguiente lenguaje: L := {a n b m c n : n, m 1}

No es cierto, en el caso de autómatas con pila, que todo autómata con pila indeterminista sea equivalente a un autómata con pila determinista. Así, el siguiente lenguaje es aceptado por un autómata con pila indeterminista, pero no puede ser aceptado por un autómata con pila determinista: L := {a n b m c n : n, m 1} {a n b m c m : n, m 1} {a, b, c}.

No todos los autómatas deterministas acaban en un tiempo finito. Son mucho más complejos que los finitos, ya que estos pueden entrar en ciclos.