El Autómata con Pila: Transiciones

Documentos relacionados
El Autómata con Pila

Equivalencia Entre PDA y CFL

Unidad 4. Autómatas de Pila

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 de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 42

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

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

Computabilidad y Lenguajes Formales: 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

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

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

Computabilidad y Lenguajes Formales: Autómatas Finitos

Procesadores de Lenguaje

Procesadores de Lenguaje

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

Autómatas Finitos Deterministicos (DFA)

Autómatas de Pila y Lenguajes Incontextuales

Expresiones Regulares y Derivadas Formales

Espacios topológicos. 3.1 Espacio topológico

Introducción a Autómatas Finitos

Espacios Vectoriales

Tema: Autómata de Pila

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

Terminaremos el capítulo con una breve referencia a la teoría de cardinales.

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

Inducción Matemática Conjuntos Funciones. Matemática Discreta. Agustín G. Bonifacio UNSL. Repaso de Inducción, Conjuntos y Funciones

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

Clase 17: Autómatas de pila

Traductores Push Down para Gramáticas LL

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

AUTÓMATAS DE PILA Y LENGUAJES INDEPENDIENTES DEL CONTEXTO

Apéndice sobre ecuaciones diferenciales lineales

Autómatas Deterministas. Ivan Olmos Pineda

(TALF- ITIS- C) Clase 3 5 de Octubre de 2010

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

Grafos. Amalia Duch Brown Octubre de 2007

Introducción a los Autómatas Finitos

06 Análisis léxico II

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

Problemas Seleccionados Resueltos: Máquinas de Turing

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

CONCEPTOS BASICOS DE LA TRANSFORMADA DE LAPLACE LA TRANSFORMADA DE LAPLACE

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

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.

Definición: Dos matrices A y B son iguales si tienen el mismo orden y coinciden los elementos que ocupan el mismo lugar.

Conjunto R 3 y operaciones lineales en R 3

Máquinas de Estados Finitos

Visión artificial y Robótica Modelos de movimiento y mapas. Depto. de Ciencia de la Computación e Inteligencia Artificial

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

Teorema del Valor Medio

Materia: Matemática de Octavo Tema: Operaciones en Q Adición de fracciones con diferente denominador

Conjuntos finitos y conjuntos numerables

Límites Laterales. El límite por la derecha se denota. x 2 + x 2 = 1. x 2. x + x 2. x = x + x 2. El límite por la izquierda se denota

Grupos libres. Presentaciones.

Retículos y Álgebras de Boole

X = a 0 + a 1 m + a 2 m a r m r,

Estructuras Algebraicas

Lenguajes y Gramáticas

Clase 8 Matrices Álgebra Lineal

Conjuntos y funciones convexas

Modelos Computacionales

2. SEÑALES Y SISTEMAS DISCRETOS EN EL TIEMPO. Una señal puede ser definida como una portadora física de información. Por ejemplo,

Esta expresión polinómica puede expresarse como una expresión matricial de la forma; a 11 a 12 a 1n x 1 x 2 q(x 1, x 2,, x n ) = (x 1, x 2,, x n )

Tema 3: Espacios vectoriales

Taller de Resolución de Problemas Computacionales

Espacios vectoriales reales.

Matrices y determinantes. Sistemas de ecuaciones lineales

Introducción a los códigos compresores

Es claro que es una relación de equivalencia. Para ver que tener la misma cardinalidad y la cardinalidad están bien definidas queremos ver que

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

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

MMAF: Espacios normados y espacios de Banach

Tema 1. Espacios Vectoriales Definición de Espacio Vectorial

Autovalores y autovectores Diagonalización y formas canónicas

Espacios Vectoriales

Integrales múltiples

Funciones de Clase C 1

1. Convergencia en medida

Relaciones. Estructuras Discretas. Relaciones. Relaciones en un Conjunto. Propiedades de Relaciones en A Reflexividad

Lección 2: Funciones vectoriales: límite y. continuidad. Diferenciabilidad de campos

Sistemas de ecuaciones lineales

Algebra Lineal XIX: Rango de una Matriz y Matriz Inversa.

RESOLUCIÓN DE SISTEMAS MEDIANTE DETERMINANTES

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

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

En matemáticas el concepto de conjunto es considerado primitivo y no se da una definición de este, por lo tanto la palabra CONJUNTO debe aceptarse

Tema 2: Espacios Vectoriales

Espacios Topológicos 1. Punto de Acumulación. Al conjunto de puntos de acumulación de A se le denomina el conjunto derivado de A (A a Notación).

Guía práctica de estudio 03: Algoritmos

Clase 03: Alfabetos, símbolos y cadenas

TEMA 6 Ejercicios / 3

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

Materia: Matemática de Octavo Tema: Conjunto Q (Números Racionales)

4.12 Ciertos teoremas fundamentales del cálculo de probabilidades

Convertir un AFND a un AFD

Tema 3: El Método Simplex. Algoritmo de las Dos Fases.

13.3. MT para reconocer lenguajes

Sistemas de Ecuaciones Lineales y Matrices

Espacios conexos. Capítulo Conexidad

Tema 2 Resolución de EcuacionesNo Lineales

Transcripción:

El Autómata con Pila: Transiciones El Espacio de Configuraciones Universidad de Cantabria

Esquema Introducción 1 Introducción 2 3

Transiciones Necesitamos ahora definir, paso por paso, como se comporta un autómata si queremos entender su funcionamiento. Por supuesto, esto debe ser una generalización para autómatas finitos.

Transiciones Sea dado un autómata A := (Q, V, Σ, Q 0, F, Z 0, δ). El espacio de configuraciones es el producto S A := Q Σ Z 0 V. Dada una palabra ω Σ, la configuración inicial vendrá dada por: I A (ω) := (Q 0, ω, Z 0 ), esto es, escribimos ω en la cinta de trabajo, escribimos el estado inicial en la unidad de control y escribimos Z 0 en la pila como tareas de inicialización.

Recordemos El autómata no esta obligado a leer la cinta de entrada, pero si esta obligado a leer la memoria, esto implica que, para que el autómata continúe la computación, tiene que estar por lo menos el fondo de pila Z 0. Además este símbolo esta en la pila o la pila esta vacía.

Transiciones Read/Push (q, ω, Z 0 Z ) A (q, ω, Z 0 Z ), donde q Q y ω := w 1 w r, Z 0 Z = Z 0 Z 1 Z n. Realizamos las siguientes operaciones: Read Leemos la información (q, w 1, Z n ) (es decir, el estado, el primer símbolo de la palabra y el top de la pila). Supondremos w 1 λ. Transition Aplicamos la función de transición obteniendo δ(q, w 1, Z n ) = (q, η), con η Γ, η λ. Push and Move Entonces, ω = w 2 w r ( borramos un símbolo de la palabra a analizar (move). Z := Z 0 Z 1 Z n 1 η, es decir, Z 0 Z := push(pop(z 0 Z ), η).

Transiciones Read/Pop (Q, ω, Z 0 Z ) A (Q, ω, Z 0 Z ), donde q Q y ω := w 1 w r, Z 0 Z = Z 0 Z 1 Z n. Realizamos las siguientes operaciones: Read Leemos la información (q, w 1, Z n ) Transition Aplicamos la función de transición obteniendo δ(q, w 1, Z n ) = (q, λ). Obsérvese que, en este caso, se ha obtenido λ como símbolo de la pila, esto indica que debemos hacer pop sin hacer push. Pop and Move Entonces, ω = w 2 w r ( borramos un símbolo de la palabra a analizar (move). Z 0 Z := Z 0 Z 1 Z n 1 := pop(z 0 Z ) = push(pop(z 0 Z ), λ).

Transiciones Lambda/Push donde q Q y ω := w 1 w r, las siguientes operaciones: (q, ω, Z 0 Z ) A (q, ω, Z 0 Z ), Z 0 Z = Z 0 Z 1 Z n. Realizamos Read Lambda En este caso, no se lee la cinta aunque sí se lee la pila. Leeremos (q, λ, Z n ). Transition Aplicamos la función de transición obteniendo δ(q, λ, Z n ) = (q, η), con η Γ, η λ. Push Entonces, q = q (cambia el estado de la transición). ω = ω ( No borramos un símbolo de la palabra a analizar (make no move)). Z 0 Z := Z 0 Z 1 Z n 1 η := push(pop(z), η).

Énfasis Introducción Es importante señalar que la diferencia entre instrucciones /Push y /Pop es artificial. Nótese que y pop(z) = push(pop(z), λ) push(z) = push(pop(z), ω), con ω Γ, no tienen diferencias semánticas significativas porque, obviamente, λ Γ. Las distinguimos para que se pueda ver la operación borrar el último dígito de la pila como una operación distinguida.

Énfasis Introducción No añadimos ninguna novedad si la pila nos dejara leer los k primeros símbolos, en vez del primero solo. Si la cinta lee más de una vez el mismo símbolo y solo lee el siguiente dependiendo de la transición tampoco añade más expresividad al autómata.

Énfasis Introducción También es importante ver que los autómatas finitos se pueden ver como autómatas con pila del modo siguiente: Suponemos que la función de transición δ verifica que δ(q, x, Z ) = (q, Z ), (q, x, Z ) Q (Σ {λ}) Γ. En este caso, todas las instrucciones pasan por hacer push(pop(z 0 ), λ) que no cambia el contenido de la pila desde la configuración inicial.

Énfasis Introducción La configuración del autómata es una instantánea que muestra un paso concreto en la computación sobre una palabra. Los autómatas más interesantes son aquellos que son deterministas porque permiten ser simulados en la práctica, ya que realizan una única secuencia de computaciones bien definida.

Énfasis Introducción Teorema Si A es un autómata con pila determinista, su sistema de transición (S A, A ) es determinista. Es decir, dada una configuración c S A, existirá a lo sumo una única configuración c S A tal que c A c.

Demostración Siguiendo las dos hipótesis de la Definición de Autómata Determinista: Dada una configuración, uno pude hacer una transición Read/... o una Lambda/... Si cabe la posibilidad de hacer una transición Lambda/..., no habrá ninguna transición que permita hacer lectura (por la segunda de las condiciones impuestas). Si, por el contrario, no hay ninguna transición Lambda/..., entonces es forzoso hacer una transición de lectura y ésta es, a lo sumo, única.

Nuestro problema ahora es como representar los autómatas con pila. Solo nos centraremos en los autómatas deterministas, ya que son los únicos que permiten una implementación realista.

Con los autómatas finitos, utilizábamos una matriz donde se colocaban por filas y columnas, estados y símbolos respectivamente.

Codificación de un Autómata Vamos a representar la función de transición como una tabla. Para ello, podemos usar dos entradas. De una parte, el producto cartesiano E := Q (Σ {λ}) (Γ {Z 0 }) que será el conjunto de las entradas de la función de transición. De otro lado tenemos un conjunto infinito de las salidas O := Q Γ, pero nuestra hipótesis nos dice que sólo un número finito de elementos de Q Γ van a entrar en la relación.

Ya están resueltos todos los problemas? Es posible que se den configuraciones que no permitan acabar las computaciones? Por qué esto no ocurre con los autómatas finitos?