Autómatas de Pila

26
AUTÓMATA DE PILA Y GRAMÁTICA DE CHOMSKY Pablo Guerra Alexis González

Transcript of Autómatas de Pila

Page 1: Autómatas de Pila

AUTÓMATA DE PILA Y GRAMÁTICA DE

CHOMSKYPablo GuerraAlexis González

Page 2: Autómatas de Pila

AUTÓMATA DE PILA

Page 3: Autómatas de Pila

DEFINICIÓN

Los Autómatas con Pila son una extensión de los AFD a los que se les añade una memoria (pila).

En la pila se almacenan símbolos de la cadena de entrada y de la gramática, así como caracteres especiales (#) para indicar el estado de pila vacía.

Page 4: Autómatas de Pila

CARACTERÍSTICAS

Los autómatas de pila pueden aceptar lenguajes que no pueden aceptar los autómatas finitos.

Un autómata de pila cuenta con una cinta de entrada y un mecanismo de control que puede encontrarse en uno de entre un número finito de estados.

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 last-in-first-out (LIFO).

Page 5: Autómatas de Pila

CARACTERÍSTICAS

Las transiciones entre los estados que ejecutan los autómatas de pila dependen de los símbolos de

entrada y de los símbolos de la pila. El autómata acepta una cadena x si la secuencia de transiciones,

comenzando en estado inicial y con pila vacía, conduce a un estado final, después de leer toda la cadena x.

Page 6: Autómatas de Pila

EJEMPLOS

Page 7: Autómatas de Pila
Page 8: Autómatas de Pila
Page 9: Autómatas de Pila

APLICACIONES

Se pueden utilizar para analizar cadenas

Se puede construir analizadores LR para reconocer prácticamente todos los lenguajes de programación para los que se pueden construir GIC.

Es el método de análisis por desplazamiento y reducción sin retroceso más general.

Las clases de gramáticas que pueden analizarse es un supraconjunto de la clase de gramáticas que se pueden analizar con analizadores sintácticos predictivos.

Puede detectar un error sintáctico tan pronto como sea posible hacerlo en un examen de izquierda a derecha de la entrada.

Page 10: Autómatas de Pila

GRAMÁTICAS DE CHOMSKY

Page 11: Autómatas de Pila

QUÉ SON?

Una gramática describe la estructura de las frases y de las palabras de un lenguaje y se aplica por igual a:•Las lenguas naturales humanas•Lenguajes de programación.

En función de la forma de sus producciones, se puede caracterizar qué tan compleja es una gramática formal. Noam Chomsky mostró que esta caracterización clasifica jerárquicamente a las gramáticas formales: Gramáticas en un nivel están incluidas en los siguientes niveles y la inclusión entre niveles es propia.

Page 12: Autómatas de Pila

PARA QUÉ SE UTILIZA?

Una gramática define la estructura de las frases y de las palabras de un lenguaje.

•Las gramáticas son un método para la generación de palabras de un lenguaje a partir de un alfabeto.

Para generar estas palabras se utilizan las derivaciones.

Se denominan formales porque se centran en los estudios de los lenguajes formales que son aquellos que están definidos a partir de reglas preestablecidas. Para los lenguajes naturales existen otro tipo de gramáticas.

Page 13: Autómatas de Pila

CÓMO SE CLASIFICA?

Tipo 1: Una gramática es tipo 1 monotónica si no contiene reglas donde el lado izquierdo consista en más símbolos que el lado derecho

Tipo 2: Son gramáticas libres de contexto cuando en su lado izquierdo siempre aparece un único no-terminal

Tipo 3: Son gramáticas regulares o de estados finitos cuando en su lado derecho sólo se contiene un no-terminal y además se encuentra al final de la producción.

Tipo 4: Gramáticas de elección finita (FC), no se permite ningún no-terminal a la derecha y el símbolo inicial de la gramática tiene una lista finita de alternativas.

Page 14: Autómatas de Pila

CLASIFICACIONES

Chomsky clasificó las gramáticas en cuatro grandes grupos:G0,G1,G2yG3.Cada uno de estos grupos incluye las gramáticas del siguiente, de acuerdo con el siguiente esquema:

Page 15: Autómatas de Pila

GRAMÁTICA TIPO 0

Page 16: Autómatas de Pila
Page 17: Autómatas de Pila

GRAMÁTICA TIPO 1

Page 18: Autómatas de Pila

GRAMÁTICA TIPO 2

Page 19: Autómatas de Pila
Page 20: Autómatas de Pila

GRAMÁTICA TIPO 3

Page 21: Autómatas de Pila

EJEMPLOSTIPO 0:

Page 22: Autómatas de Pila

TIPO1

Page 23: Autómatas de Pila

TIPO2

Page 24: Autómatas de Pila

TIPO3o Tipo de la regla de producción <A><B> y

Tipo 3: No Tipo 2: No Tipo 1: No Tipo 0: Sí Regla de producción de Tipo 0

o Tipo de la regla de producción <Y> ba Tipo 3: No Tipo 2: Sí Regla de producción de Tipo 2 Tipo 1: Sí Tipo 0: Sí

Page 25: Autómatas de Pila

CONCLUSIONES

Los autómatas de pila son similares a los AFDs pero se diferencian en que pueden una memoria en la que se puede guardar información

A diferencia de los AFDs los autómatas de pila pueden guardar información en lenguajes que los AFDs no reconocen

En las gramáticas de Chomsky las expresiones regulares no saben contar, con lo que podemos apreciar que tenemos una gramática muy restrictiva

El lenguaje natural, el utilizado por el ser humano, se podría considerar dentro de una gramática tipo 0, lo que nos permite generar un número infinito de construcciones correctas.