Automatas de Pila

25
AUTOMATAS DE PILA Y LENGUAJES INDEPENDIENTES DEL CONTEXTO

description

Descripción de los automatas de pila y de sus funciones, estructuras y conceptos básicos de referencia de los AP

Transcript of Automatas de Pila

Page 1: Automatas de Pila

AUTOMATAS DE PILA Y LENGUAJES INDEPENDIENTES

DEL CONTEXTO

Page 2: Automatas de Pila

07/03/2009Autómatas de Pila y Lenguajes Independientes de Contexto 2

Cuestionario

AutómatasCaracterísticas

Principio de Pre AnálisisFormalización de los AP

Límites de los Autómatas de Pila

Proceso de reconocimiento de una cadena

Lenguajes libres de contextoGramáticas independientes del contexto

Gramáticas libres del contexto

BNF

Bibliografía de Avram Noam Chomsky

Respuestas

Bibliografía

4

58

910

12

13

1517

18

21

22

23

25

Índice

Page 3: Automatas de Pila

07/03/2009Autómatas de Pila y Lenguajes Independientes de Contexto 3

Al termino de esta presentación se contará con la capacidad deidentificar los autómatas de pila y sus diferentes tipos, así como loslenguajes independientes de contexto.

Objetivo

Page 4: Automatas de Pila

1. ¿Qué es un autómata de Pila?

2. ¿Para que sirve la pila de los Autómatas?

3. ¿Qué es el principio de pre análisis?

4. ¿Mencione el proceso de reconocimiento de una cadena?

5. ¿Qué significa un GIC?

6. ¿Para que nos sirve un GIC?

7. ¿Cuantos tipos de gramática existen según la clasificación de Chomsky

y cuales son?

8. ¿A que se debe el nombre “Libre de Contexto”?

07/03/2009 4Autómatas de Pila y Lenguajes Independientes de Contexto

Cuestionario

Page 5: Automatas de Pila

Al igual que con los lenguajes regulares podemos definir un autómata como una

máquina reconocedora de cadenas (palabras) de un determinado lenguaje.

Los autómatas son dispositivos de computo que operan como una maquina de estadosfinitos, las cuales realizan un encadenamiento automático y continuo de operacionescapaces de procesar una información de entrada para producir otra de salida.

Por lo general los autómatas finitos no son lo suficientemente poderosos para aceptar elcontrol de enlace lógico LLC (Logical Link Control) quien es el que define la forma en quelos datos son transferidos sobre el medio físico, proporcionando servicio a las capassuperiores

La idea es agregar “algo” a los Autómatas Finitos para que de alguna manera seincremente

07/03/2009 5Autómatas de Pila y Lenguajes Independientes de Contexto

Autómata

Page 6: Automatas de Pila

Por tal motivo surgen los Autómatas de Pila, que al igual que unAutómata Finito, cuenta con un flujo de entrada y un flujo de controlque puede encontrarse en uno de entre un número finito de estados

Uno de estos estados se designa como el inicial y por lo menos unestado de aceptación

La principal diferencia es que los Autómatas de pila cuentan justamentecon una pila en donde se puede almacenar información pararecuperarla más tarde

07/03/2009 6Autómatas de Pila y Lenguajes Independientes de Contexto

Page 7: Automatas de Pila

07/03/2009Autómatas de Pila y Lenguajes Independientes de Contexto 7

Los símbolos que pueden almacenarse en esta pila se conocen

como símbolos de pila de la maquina, constituyen un conjunto

finito que puede incluir algunos símbolos definiendo el alfabeto

de la maquina y quizá algunos símbolos adicionales que se

utilizan como marcas internas.

Si una maquina inserta un símbolo especial en la pila antes de

efectuar algún otro cálculo, entonces ese símbolo en la cima de

la pila puede usarse como indicador de pila vacía para cálculos

posteriores, dicho símbolo es #

Page 8: Automatas de Pila

La Pila funciona de manera que el último carácter que se almacena en ella es el primero

en salir (orden LIFO), como si apiláramos platos uno encima de otro, y naturalmente el

primero que quitaremos es el último que hemos colocado.

Un aspecto crucial de la pila es que sólo podemos modificar el “tope” de la pila, que es el

extremo por donde entran o salen los caracteres.

Los caracteres a la mitad de la pila no son accesibles sin quitar antes los que están

encima de ellos

07/03/2009Autómatas de Pila y Lenguajes Independientes de Contexto 8

Características

La pila tendrá un alfabeto propio que puede o no

coincidir con el alfabeto de la palabra de entrada.

Esto se justifica porque puede ser necesario

introducir en la pila caracteres especiales usados

como separadores según las necesidades de diseño

del autómata

Page 9: Automatas de Pila

Técnica que permite a los autómatas de pila observar uno o variossímbolos más allá de donde se encuentra la cabeza lectora del autómata,pero sin leerlos realmente.

Esta técnica permite superar el no determinismo de algunos autómatasde pila.

07/03/2009 9Autómatas de Pila y Lenguajes Independientes de Contexto

Principio de Pre Análisis

Page 10: Automatas de Pila

07/03/2009Autómatas de Pila y Lenguajes Independientes de Contexto 10

Un Autómata de Pila es un séxtuplo (K, ∑, Г, ∆, s, F), donde :

K es un conjunto de estados

∑ es el alfabeto de entrada

Г es el alfabeto de la pila

S ∈ K es el estado inicial

F K es un conjunto de estados finales

∆ esta representa la siguiente tabla

Formalización de los AP

(s, a, E) (s, a)

(s, b, E) (s, b,)

(s, c, E) (f, E )

(f, a, a) (f, E )

(f, b, b) (f, E )

Page 11: Automatas de Pila

07/03/2009Autómatas de Pila y Lenguajes Independientes de Contexto 11

∆ (K x ∑* x Г*) x (K x Г*) es la relación de transición.

Ahora describiremos el funcionamiento de los AP. Si tenemos una transición

((p, u, β)(q, )) ∈ ∆, el AP hace lo siguiente:

Estando en el estado p, consiste u de la entrada;

Saca β de la pila;

Llega a un estado q;

Mete en la pila

Las operaciones típicas de las pilas -el “push” y el “pop”- pueden ser vistas como casos

particulares de las transiciones de nuestro AP; en efecto, si sólo queremos meter la

cadena a la pila, se haría con la transición ((p, u, E)(q, )) (“push”), mientras que si sólo

queremos sacar caracteres de la pila de hará con la transición ((p, u, β)(q, E)) (“pop”).

Page 12: Automatas de Pila

Lema de bombeo para lenguajes independientes del contexto• Si L es un lenguaje independiente del contexto con un número infinito de cadenas,

existirá en L una cadena con la forma svuwt, siendo v o w no vacías, y también

existirán en L cadenas de la forma sv”uw”t para todo n>0.

Autómatas de pila deterministas • En cada momento tienen una y sólo una opción posible

07/03/2009 12Autómatas de Pila y Lenguajes Independientes de Contexto

Límites de los Autómatas de Pila

Page 13: Automatas de Pila

Se parte del estado inicial y la pila vacía

Se lee la cadena símbolo a símbolo de izquierda a derecha

Por cada símbolo leído se produce una transición desde el estado actual a otro a través

de la flecha cuyo símbolo de entrada coincida con el símbolo leído, siempre y cuando la

cabecera de la pila coincida con el símbolo de pila que figura a la izquierda del punto y

coma

La cabecera de la pila es sustituida en cada transición por el símbolo de la pila a la

derecha del punto y coma en la etiqueta de la flecha

El autómata puede realizar transiciones entre estados sin consumir símbolos de entrada

o símbolo de pila a través de flechas en las que en el lugar correspondiente de la

etiqueta aparezca el símbolo λ

La cadena es reconocida si es posible que el autómata alcance un estado de

aceptación, estando completamente con sumida la cadena de entrada

07/03/2009 13Autómatas de Pila y Lenguajes Independientes de Contexto

Proceso de reconocimiento de una cadena:

Page 14: Automatas de Pila

Coffee Break

07/03/2009Autómatas de Pila y Lenguajes Independientes de Contexto 14

ak Coffee

Coffee

Page 15: Automatas de Pila

07/03/2009 15Autómatas de Pila y Lenguajes Independientes de Contexto

Lenguajes Libres de Contexto

Los LLC se describen mediante las Gramáticas Libres de Contexto (GLC).

Todos los LR son LLC, pero no todos los LLC son LR.

Los LLC (que no sean LR) no pueden denotarse mediante expresiones regulares ni

pueden ser reconocidos mediante AF. Los LLC se utilizan para especificar la mayoría de

los lenguajes de programación

Page 16: Automatas de Pila

07/03/2009Autómatas de Pila y Lenguajes Independientes de Contexto 16

1. G = (VN, VT, E, P) con VT= {id, num,+,*,(,)} VN = {E}

P:

Hallar gramática que genera el lenguaje regular denotado por la expresión

regular a*b*

Hallar gramática que genera el lenguaje anbn , n >= 0

Hallar gramática que describe el lenguaje de los palíndromosformados por

a’s y b’s

Ejemplos

1. E→E+E

2. E→E*

3. E→(E)Derivar la palabra id * (id+num) * id

4. E→id

5. E→num

Page 17: Automatas de Pila

Son el método más popular utilizado para describir la sintaxis de los lenguajes de

programación.

Existen distintos tipos de gramáticas y asociado a cada uno de ellos hay un

autómata.

Chomsky definió cuatro tipos:

1- Gramáticas regulares.

2- Gramáticas libres del contexto.

3- Gramáticas dependientes del contexto.

4- Gramáticas irrestrictas.

Las más usadas en el área de compiladores son las gramáticas libres del contexto y

las gramáticas regulares.

07/03/2009 17Autómatas de Pila y Lenguajes Independientes de Contexto

Gramáticas Independientes del Contexto

Page 18: Automatas de Pila

07/03/2009 18Autómatas de Pila y Lenguajes Independientes de Contexto

Gramáticas Libres del Contexto

Su principal característica es la de generar cadenas en modalidad espejo.

Su importancia radica en que permiten describir los aspectos sintácticos de los

lenguajes de programación. Es decir, como debe escribirse correctamente un

programa.

Sin embargo tienen sus limitaciones desde el punto de vista semántica (declaración y

uso de identificadores en Pascal).

El nombre “libre de contexto” se debe a que cada una de las producciones pueden ser

aplicadas independientemente del contexto en donde aparezca un no terminal en una

forma sentencial.

Sus producciones responden al modelo: A →α, donde A ∈VN y α∈(VN ∪VT)*

Page 19: Automatas de Pila

07/03/2009 19Autómatas de Pila y Lenguajes Independientes de Contexto

En sus reglas aparece a la izquierda un único símbolo no terminal , y a la derechacualquier combinación de símbolos terminales y no terminales, o la palabra vacía

Derivaciones:

árboles que se pueden leer de diferentes formas

Derivación por la derecha:

siempre se aplican las reglas de reescritura al símbolo no terminal más a la derecha de lacadena de derivación

Derivación por la izquierda:

siempre se aplican las reglas de reescritura al símbolo no terminal más a la derecha de lacadena de derivación

Page 20: Automatas de Pila

07/03/2009Autómatas de Pila y Lenguajes Independientes de Contexto 20

1. S AB2. S A3. A aAa4. A λ5. B Bb6. B b Derivación por la izquierda:

S AB aAaB aaB aaBb aaBbb aabbb

Ejemplo:

Derivación por la derecha:

S AB ABb ABbb Abbb aAabbb aabbb

Page 21: Automatas de Pila

07/03/2009Autómatas de Pila y Lenguajes Independientes de Contexto 21

La BNF es otra forma de especificar una gramática libre del contexto, y usa

los siguientes símbolos:

Símbolos no terminales entre <>

Sustitución de → por ::=

Ejemplo: <sentenciafor>::=for<condicion><sentencia>

Una gramática libre de contexto G, se dice que es ambigua, si existe alguna

palabra perteneciente al lenguaje que genera que tenga más de un árbol de

derivación.

Un lenguaje es intrínsecamente ambiguo cuando no existe ninguna

gramática libre de contexto que lo genere que no sea ambigua.

BNF

Page 22: Automatas de Pila

07/03/2009Autómatas de Pila y Lenguajes Independientes de Contexto 22

(7 de diciembre de 1928 en

Filadelfia, Estados Unidos) es un

lingüista, filósofo, activista, autor

y analista político

estadounidense.

Es profesor emérito de

Lingüística en el MIT y una de

las figuras más destacadas de la

lingüística del siglo XX, es

sumamente reconocido en la

comunidad científica y

académica por sus importantes

trabajos en teoría lingüística y

ciencia cognoscitiva.

Avram Noam Chomsky

Page 23: Automatas de Pila

1. ¿Qué es un autómata de Pila?

son dispositivos de computo que operan como una maquina de estados finitos, las cuales realizan un encadenamiento automático y

continuo de operaciones capaces de procesar una información de entrada para producir otra de salida.

2. ¿Para que sirve la pila de los Autómatas?

para almacenar información para recuperarla más tarde

3. ¿Qué es el principio de pre análisis?

Técnica que permite a los autómatas de pila observar uno o varios símbolos más allá de donde se encuentra la cabeza lectora del

autómata, pero sin leerlos realmente.

4. ¿Mencione el proceso de reconocimiento de una cadena?

Se parte del estado inicial y la pila vacía

Se lee la cadena símbolo a símbolo de izquierda a derecha

Por cada símbolo leído se produce una transición desde el estado actual a otro a través de la flecha cuyo símbolo de entrada coincida

con el símbolo leído, siempre y cuando la cabecera de la pila coincida con el símbolo de pila que figura a la izquierda del punto y coma

La cabecera de la pila es sustituida en cada transición por el símbolo de la pila a la derecha del punto y coma en la etiqueta de la

flecha

El autómata puede realizar transiciones entre estados sin consumir símbolos de entrada o símbolo de pila a través de flechas en las

que en el lugar correspondiente de la etiqueta aparezca el símbolo λ

La cadena es reconocida si es posible que el autómata alcance un estado de aceptación, estando completamente con sumida la

cadena de entrada

07/03/2009 23Autómatas de Pila y Lenguajes Independientes de Contexto

Respuestas

Page 24: Automatas de Pila

07/03/2009Autómatas de Pila y Lenguajes Independientes de Contexto 24

5. ¿Qué significa un GIC?

Gramática Independiente del Contexto

6. ¿Para que nos sirve un GIC?

Para describir la sintaxis de los lenguajes de programación.

7. ¿Cuantos tipos de gramática existen según la clasificación de Chomsky y cuáles son?1- Gramáticas regulares.

2- Gramáticas libres del contexto.

3- Gramáticas dependientes del contexto.

4- Gramáticas irrestrictas.

8. ¿A que se debe el nombre “Libre de Contexto”?

se debe a que cada una de las producciones pueden ser aplicadas independientemente del contexto en donde aparezca un no

terminal en una forma sentencial.

Page 25: Automatas de Pila

• http://dac.escet.urjc.es/~lrincon/uned/ta1/ta1-tema2.pdf

• http://148.202.148.5/cursos/cc209/teoriacomp/MODULO_4/Teoria_4_2.htm

• http://cnx.org/content/m16320/latest/

• http://fisica.ciens.ucv.ve/etisc/2001/curso/Ce_iii_clase1.html

• http://156.35.94.1/asignaturas/aut.mat.dis/apuntes/Tema2-2005-2006V1.pdf

07/03/2009 25Autómatas de Pila y Lenguajes Independientes de Contexto

Bibliografía