Automata de Pila

Slides:



Advertisements
Presentaciones similares
Autómata finito Determinista
Advertisements

Introducción ¿Qué es un Algoritmo?
GRAMATICA LIBRE DE CONTEXTO
INSTITUTO TECNOLÓGICO DE MINATITLÁN
Autómatas de pila (Pushdown automata)
Gramáticas.
Autómatas Finitos.
Autómata Finito Un autómata finito (AF) es un modelo de computación muy restringido, sin embargo tiene una gran aplicación en reconocimiento de patrones.
TIPOS DE GRAMATICAS JERARQUIAS DE CHOMSKY
Informática I – 4to año Volumen II.
Tema 2 Autómatas finitos 1. Autómata finito determinista
EJERCICIOS DE EXPRESIONES REGULARES Y AUTOMATAS
CLASIFICACION DE LAS MAQUINAS DE TURING
Lenguajes Independientes del Contexto
Autómatas de Pila Teoría del Autómata.
2º curso Ingeniería Técnica en Informática de Sistemas UNED
Teoría de lenguajes y compiladores
Tema 2 Autómatas finitos 1. Autómata finito determinista
Lenguajes regulares Teoría del Autómata.
Teoría de lenguajes y compiladores Analizadores lexicográficos
Teoría de Autómatas I 2º curso Ingeniería Técnica en Informática de Sistemas UNED.
Teoría de Autómatas I 2º curso Ingeniería Técnica en Informática de Sistemas UNED.
MÁQUINAS DE TURING Teoría del Autómata.
Teoría de lenguajes y compiladores
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
Autómatas de Pila (Pushdown Automatón)
Teoría de lenguajes y compiladores
I.- ESTUDIO DE LOS LENGUAJES DE PROGRAMACIÓN.
IV. GRAMÁTICAS DISTRIBUIDAS Y TABLAS DE SÍMBOLOS
Teoría de Autómatas I 2º curso Ingeniería Técnica en Informática de Sistemas UNED.
Centro Universitario Valle de México Gramáticas Libres de Contexto Dra. Maricela Quintana López Elaborado por: Autómatas y Lenguajes Formales.
Autómatas finitos (AF) Los AF constan de 5 elementos fundamentales AF=( , E, F, s,  ).  Un alfabeto (  )  Un conjunto de estados (E)  Un conjunto.
Traducción dirigida por la Sintaxis Teoría de Autómatas y Lenguajes Formales Alma María Pisabarro, 2007.
1 Autómatas de pila (Pushdown automata). 2 Autómata de conteo Autómata finito determinista con un contador de enteros o “bolsa” en la que se colocan o.
Ingreso , proceso y salida de datos
EJERCICIOS Listas, Pilas y Colas
LENGUAJES FORMALES, AUTOMATAS Y MAQUINAS DE ESTADOS FINITOS
2.  Diagramas de Estado.
TEOREMA FUNDAMENTAL DEL CALCULO
Fundamentos de la Computación
5. Análisis y diseño de sistemas secuenciales (I)
Álgebra relacional.
Computación Valeria Herskovic –
Básicos de Autómatas.
Memorias Una memoria es un espacio en el cual se puede almacenar información y es análogo a un arreglo o array en programación convencional. En VHDL una.
AUTOMATAS Y LENGUAJES FORMALES FASE 1
Tema 6. Conceptos básicos de programación (Clase 2)
CREAR DIAGRAMA DE FLUJO
MATEMÁTICA DISCRETA Y LÓGICA 1
PILAS. Operaciones de las Pilas Operaciones que se pueden realizar con una pila son: -PUSH (pila, elemento) -POP (pila) -VACIA (pila)
LENGUAJE DE PROGRAMACION “PILAS”
JAVIER ANDRES MARTÀ MARTINEZ CODIGO 37772
EJERCICIOS DE EXPRESIONES REGULARES Y AUTOMATAS
Ingeniero en Computación José Alfredo Cobián Campos
AUTOMATAS FINITOS DETERMINISTICOS
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA
Desigualdades e Inecuaciones
Grafos dirigidos: Sea G un grafo, si cada arista en G tiene una dirección entonces G se llama grafo dirigido o dígrafo y sus aristas se llaman arcos.
UNIDAD 3. Autómatas Finitos 3.3 Conversión de un AFND a AFD Presentan: Anahi Avila Valdez Erika F. Palma Tzidejhe Docente: Adrián Chávez 1.
EJERCICIOS DE EXPRESIONES REGULARES Y AUTOMATAS 1.α + (β + γ) = (α + β) + γ 2.α + β = β + α 3.α + Ø = α 4.α + α = α 5.α · λ = α 6.α · Ø = Ø 7.α · (β ·
PILAS Una pila es una estructura de datos o lista de elementos, a la cual se le puede insertar o eliminar su contenido sólo por uno de sus extremos, llamado.
GRAMATICA LIBRE DE CONTEXTO LENGUAJE LIBRE DE CONTEXTO Marcela Hernandez.
HERRAMIENTAS DE PROGRAMACIÓN
Tema 2 Autómatas finitos 1. Autómata finito determinista
TEMAS *Arboles Binarios *listas Abiertas y Cerradas - Inserción - Recorrido - Eliminación *Pilas - Concepto - Inserción - Recorrido -
Unidad 3 Números Reales.  Clasificación de los Números Reales en el Siguiente Cuadro.
EJERCICIOS DE EXPRESIONES REGULARES Y AUTOMATAS 1.α + (β + γ) = (α + β) + γ 2.α + β = β + α 3.α + Ø = α 4.α + α = α 5.α · λ = α 6.α · Ø = Ø 7.α · (β ·
AUTÓMATAS ROHERMY OCHOA V AUTÓMATA FINITO Es un modelo computacional que realiza cómputos en forma automática sobre una entrada para producir.
AUTOMATAS GENERALIDADES AUTOR: MARIA FERNANDA DUARTE PORTUGAL C.I. : ASIGNATURA : ESTRUCTURA DISCRETA Y GRAFOS CARRERA: ING, EN SISTEMAS MAYO 2019.
1 Ingeniería en Sistemas Matemática Discreta. 2 EJEMPLOS DE CONJUNTOS:  N: conjunto de los números naturales.N: conjunto de los números naturales. 
Transcripción de la presentación:

Automata de Pila Ing. Kevin Demetrio Díaz García WhatsApp:

Autómata de Pila Los autómatas de pila es una variante de un autómata finito, y también se pueden utilizar para aceptar cadenas de un lenguaje definido sobre un alfabeto . Esta variante de los autómatas finitos puede aceptar lenguajes que no pueden ser reconocidos por un autómata, ya que un autómata de pila cuenta con una estructura primitiva de memoria, una pila, que le permite almacenar símbolos que luego pueden ser extraídos para algún tipo de análisis. Un autómata de pila puede conceptualizarse como un mecanismo que cuenta con una cinta de entrada y un sistema de control que puede estar en uno de cualquiera de los estados del autómata. Uno de estos estados se designa como estado inicial, y además algunos estados se llaman de aceptación o finales. Como se menciono anteriormente, a diferencia de los autómatas finitos, los autómatas de pila cuentan con una memoria auxiliar llamada pila. Los símbolos (llamados símbolos de pila) pueden ser insertados o extraídos de la pila, de acuerdo con el manejo UEPS ( último en entrar, primero en salir).

Autómata de Pila Representación de un autómata de pila

Autómata de Pila De acuerdo a lo descrito anteriormente, el sistema de control tiene la función de guardar el estado actual, leer un símbolo de la entrada y operar la pila con las operaciones push y pop ( ingresa y extrae respectivamente ). Cada movimiento de la máquina depende de tres factores: 1.Es estado actual 2.La entrada siguiente en la cinta 3.El símbolo en el tope de la pila y consiste de dos partes 1.El cambio de estado (o la permanencia en el mismo estado) 2.La sustitución del símbolo de la cima de la pila con la cadena de cero o más símbolos.

Definición Autómata de Pila Un autómata de pila (AP) es una 7-tupla M = (Q, , , q 0, Z 0,A,  ), donde: Q Es un conjunto finito de estados  y  Conjuntos finitos (alfabeto de entrada y pila respectivamente) q 0 Estado inicial Z 0 Símbolo de pila inicial A Conjunto de estados de aceptación  Q × (  U {}) ×  → Conjunto de subconjunto finitos de Q ×  *  Se llama función de transición de M

Transicion Automata de Pila Sea la transición independiente de la entrada: f(q, λ,A) = (qi,Zi) donde: q,qi ∈ Q A ∈ Γ Zi ∈ Γ*

Transicion Automata de Pila Sea la transición Dependiente de la entrada: f(q,a,A) = (qi,Zi) donde: q,qi ∈ Q a ∈ Σ A ∈ Γ Zi ∈ Γ*

Finalización Automata de Pila Sea un autómata de pila puede tener los siguientes finales: Fin por Estado de Aceptación λ, Zo, Zo Fin por Pila Vacía λ, Zo, λ

Autómata de Pila Ejemplo Defina un AP que reconozca el lenguaje L = { a^n b^n | n ≥ 1} : S → aSb | ab Solución Este lenguaje representa las cadenas que tienen una cantidad de a’s seguidas de una cantidad de b’s donde la cantidad de ambas es igual.

Autómata de Pila Ejemplo Defina un AP que reconozca el lenguaje L = { a^n b^2n | n ≥ 1} : S → aSbb | abb Solución Este lenguaje representa las cadenas que tienen una cantidad de a’s seguidas de una cantidad de b’s donde la cantidad de b’s es el doble que la cantidad de a’s.

Autómata de Pila Ejemplo Defina un AP que reconozca el lenguaje L = { a^2n b^n | n ≥ 1} : S → aaSb | aab Solución Este lenguaje representa las cadenas que tienen una cantidad de a’s seguidas de una cantidad de b’s donde la cantidad de a’s es el doble que la cantidad de b’s.

Autómata de Pila Ejemplo Defina un AP que reconozca el lenguaje de los palíndromos sencillos, de acuerdo a la siguiente gramática: S → aSa | bSb | c Solución Este lenguaje es el de las cadenas palíndromas que a´s y b´s que tienen una c en el punto medio de la cadena, esto es, las cadenas que se pueden leer de la misma forma de derecha a izquierda como de izquierda a derecha. Intuitivamente, se puede pensar que esta c en el punto medio servirá para el controlar que los caracteres subsiguientes a este símbolo deben corresponder uno a uno con los caracteres ya procesados en orden inverso.

Autómata de Pila Ejemplo Defina un AP que reconozca el lenguaje de los palíndromos sencillos, de acuerdo a la siguiente gramática: S → aSa | bSb | c Solución

Autómata de Pila Ejemplo Defina un AP que reconozca el lenguaje de los palíndromos sencillos, de acuerdo a la siguiente gramática: S → aSa | bSb | c Solución Las transiciones del autómata de pila se representarán mediante el uso de una tabla como la que a continuación se muestra.

Autómata de Pila Ejemplo Defina un AP que reconozca el lenguaje de los palíndromos sencillos, de acuerdo a la siguiente gramática: S → aSa | bSb | c Solución A continuación se muestra el diagrama de transición resultante Para la gramática anterior:

Se genera la corrida del reloj de un autómata de pila S → aSa | bSb | c 1 Se asigna # numeral para inicio de la corrida del algoritmo

Tabla de transiciones de Automata de Pila Contenido de la pilaResto de la entradaTransición ejecutada aabcbaa (i,, ;p,#) #aabcbaa (p,, ;q,S) S#aabcbaa (q,,S;q,aSa) aSa#aabcbaa (q,a,a;q, ) Sa#abcbaa (q,, S;q,aSa) aSaa#abcbaa (q,a,a;q, ) Saa#bcbaa (q,,S;q,bSb) bSbaa#bcbaa (q,b,b;q, ) Sbaa#cbaa (q,, S;q,c) cbaa#cbaa (q, c,c;q, ) baa#baa (q,b,b;q, ) aa#aa (q,a,a;q, ) a#a (q,a,a;q, ) # (q,,#;f, )

. S  zMNz M  aMa M  z N  bNb N  z la cadena zazabzbz Contenido de la pilaResto de la entradaTransición ejecutada zazabzbz (i,, ;p,#) #zazabzbz (p,, ;p,s) S#zazabzbz (q,,S;q,zMNz) zMNz#zazabzbz (q,z,z;q, ) MNz#azabzbz (q,, M;q,aMa) aMaNz#azabzbz (q,a,a;q, ) MaNz#zabzbz (q,,M;q,z) zaNz#zabzbz (q,z,z;q, ) aNz#abzbz (q,a,a;q, ) Nz#bzbz (q,,N;q,bNb) bNbz#bzbz (q,b,b;q, ) Nbz#zbz (q,,N;q,z) zbz#zbz (q,z,z;q, ) bz#bz (q,b,b;q, ) z#z (q,z,z;p, ) # (q,,#;f, )