20
UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO CENTRO UNIVERSITARIO UAEM ATLACOMULCO TEMAS A TRATAR: o GRAMÁTICA GENERATIVA o FORMA NORMAL o AUTÓMATAS CON TRANSICIONES DE CERRADURA o AUTOMATA DE PILA ALUMNA: ALETVIA JACQUELINE LEÓN VENEGAS PROFESOR: ING. HÉCTOR CABALLERO HERNÁNDEZ. MATERIA: AUTÓMATAS Y LENGUAJES FORMALES 23 DE MARZO DE 2015

1...1 noam chomsky (gramatica generativa, automata de pila, etc.)

Embed Size (px)

Citation preview

Page 1: 1...1 noam chomsky (gramatica generativa, automata de pila, etc.)

UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO CENTRO UNIVERSITARIO

UAEM ATLACOMULCO

TEMAS A TRATAR:

o GRAMÁTICA GENERATIVA

o FORMA NORMAL

o AUTÓMATAS CON TRANSICIONES DE CERRADURA

o AUTOMATA DE PILA

ALUMNA:

ALETVIA JACQUELINE LEÓN VENEGAS

PROFESOR:

ING. HÉCTOR CABALLERO HERNÁNDEZ.

MATERIA:

AUTÓMATAS Y LENGUAJES FORMALES

23 DE MARZO DE 2015

Page 2: 1...1 noam chomsky (gramatica generativa, automata de pila, etc.)

1

INTRODUCCIÓN

En el presente trabajo se recopilan algunos temas relacionados con la teoría de Noam Chomsky en los

cuales tratamos de resumir gran parte de la información existente.

Noam Chomsky fue una de las personas que trato la mayor parte de los componentes de un autómata,

creó la gramática generativa, la forma normal, los autómatas con transición de cerradura, los

autómatas de pila, entre otros.

Aquí plasmamos la información más sobresaliente acerca de estos temas, esperando que sea de gran

apoyo para la comprensión de estos ya que son la base de próximos temas relacionados como lo es la

máquina de Turing.

Estos temas tienen un alto grado de dificultad, sin embargo, estudiándolos más a fondo podemos

llegarlos a comprender en su mayoría y quizá hasta llevarlos a la práctica.

Sin embargo, para poder llegar a la práctica debemos mantener una constancia y realizar diversos

ejercicios para poner a prueba todos los conocimientos que vamos adquiriendo a lo largo de nuestras

investigaciones. Podríamos llegar tal vez a crear o descubrir algún otro componente o perfeccionar la

información que actualmente se conoce.

En la materia de autómatas y lenguajes formales esperamos llegar a comprender gran parte de la

información ya existente y quizá llevarla a algo físico en menor escala, y es por esta razón que

realizamos estas investigaciones para tener un poco de conocimiento previo sobre el tema y se facilite

comprenderlo, y podamos plantear nuestras dudas y sea un poco más fácil y rápido adquirir los

conocimientos de estos temas.

Page 3: 1...1 noam chomsky (gramatica generativa, automata de pila, etc.)

2

ÍNDICE

Introducción…………………………………………………………………………… 1

Gramática generativa………………………………………………………….. 3

Forma normal……………………………………………………….…………. 7

Autómatas con transiciones de cerradura……………………………………. 10

Autómata de pila……………………………………………………………… 14

Bibliografía…………………………………………………………………… 19

Page 4: 1...1 noam chomsky (gramatica generativa, automata de pila, etc.)

3

GRAMÁTICA GENERATIVA

Gramática: Permite definir un lenguaje mediante reglas que nos permiten generar o producir cadenas

de un lenguaje. Estas gramáticas son similares a las gramáticas de los lenguajes naturales, pero mucho

más restrictivas y sencillas.

Definición Formal de Gramática

Las reglas de reescritura son un par ordenado de cadenas, α, β ∈ (VN ∪VT)*, representado de la

forma:

α →β

Esto significa que si α es una subcadena de una cadena p, entonces se puede sustituir α por β en p.

En general, las reglas son de la forma: α →β, con

α ∈ (VN ∪VT)+

β ∈ (VN ∪VT)*

La Gramática.Generativa, en cuanto teoría lingüística, supone, según Chomsky, un corte radical con

las teorías del lenguaje anteriores a él. Todo ese conglomerado prechomskiano queda dividido en dos

partes:

La GRAMÁTICA TRADICIONAL: Entra todo aquello que tenga algo que ver con el lenguaje

hasta Saussure, la filosofía del lenguaje, las diversas teorías gramaticales de los antiguos

(Platón, Aristóteles, Sofistas, Estoicos), las teorías gramaticales de la Edad Media y

principalmente la teoría de. Los gramáticos de Port-Royal, que siguen preferentemente la

teoría aristotélica y a los que Chomsky hace seguidores de Descartes, Leibniz, etc., como

referencia homogénea para sus citas de «gramática tradicional».

La TEORÍA LINGÜISTICA MODERNA. En este entran tanto Saussure como Harris,

Hjelmslev, Pike, etc. Esta es la Lingüística «taxonómica» y «meramente descriptiva», que sólo

proporciona métodos de descubrimiento, pero no teorías auténticas; se reduce a la pura

taxonomía y a la descripción de los datos de un corpus.

La Gramática Generativa se opone asimismo a la llamada Lingüística «moderna» o «estructural». La

oposición a esta teoría moderna no se debe ahora a cuestiones técnicas, sino que es, antes bien, una

cuestión de principio.

La gramática generativa es el conjunto de reglas que permiten generar todas y cada una de las

manifestaciones lingüísticas de una lengua. Pero para elaborar esa teoría lingüística se podría:

o Descubrir la gramática de una lengua sobre la base de un corpus representativo y garante.

Chomsky piensa que esto es imposible.

o Decidir si una gramática ya existente es adecuada o no lo es. Sin premisas de criterio, sería un

apriorismo inadmisible.

Page 5: 1...1 noam chomsky (gramatica generativa, automata de pila, etc.)

4

o Valorar unas cuantas gramáticas e intentar aproximarse a la descripción más perfecta. Para

Chomsky es lo único asequible.

Chomsky lleva razón al decir que una teoría debe ser independiente del material concreto que se va a

describir con ella. Pero una teoría exige un número de premisas implícitas que se reducen al mínimo, y

las definiciones sucesivas deben ir siempre apoyadas en lo ya expuesto. En la práctica equivale esto a

la necesidad de introducir las definiciones previas antes de las que las presuponen; es decir, partir de lo

más sencillo para llegar a lo más complejo como lo exigen la segunda y tercera reglas cartesianas.

La adecuación: gramaticalidad y aceptabilidad

La gramática generativa deberá cumplir, primeramente, el requisito de la gramaticalidad, que es la

adecuación de la gramática a la competencia. Pero no es suficiente que las frases sean gramaticales. La

gramática generará, además, frases con aceptabilidad, que es la adecuación de la gramática a la

actuación. Estos dos conceptos de gramaticalidad y aceptabilidad, serán los criterios que valorarán una

gramática, el primero a nivel de competencia y el segundo a nivel de actuación.

Los componentes gramaticales

El dominio genuinamente lingüístico es el gramatical. Si admitimos y parece indiscutible que en la

lengua hay un nivel fonológico, un nivel sintáctico y un nivel semántico, la gramática constará de los

siguientes componentes:

Componente sintáctico: primordial y generador de estructuras.

Componente semántico: asigna significado a esas estructuras.

Componente fonológico: permite que esas estructuras se hagan perceptibles.

La disposición jerárquica de esos tres tipos de componentes gramaticales puede expresarse como una

jerarquía de dependencias:

Además, un sistema es un lenguaje enormemente complicado. Pero la descripción conjunta de esos

niveles, aunque diferenciados, serán mucho más sencilla que la descripción independiente de las

diversas estructuras de cada uno de ellos. De todas maneras el componente con capacidad generativa

es el sintáctico por: los otros dos son componentes interpretativos.

El componente sintáctico aparece construido por:

Base: conjunto de reglas que generan las estructuras profundas. Está compuesta por:

Page 6: 1...1 noam chomsky (gramatica generativa, automata de pila, etc.)

5

o Un componente categorial o conjunto de reglas reescriturales que definen las

relaciones gramaticales de los elementos de una cadena discursiva.

o Y por un lexicón, especie de diccionario en el que los términos se definen por un

conjunto acabados de rasgos selectivos que aportan una información semántica y

gramatical. Estos rasgos entran en el proceso generativo después de haber

desarrollado las reglas del componente categorial, al cual se le otorga una

interpretación semántica.

las transformaciones: reglas que van a convertir las estructuras profundas en estructuras

superficiales. Decimos estructura y no cadena discursiva, pues esta aparecerá sólo y cuando

haya actuado el otro componente interpretativo, el componente fonológico.

La gramática de una lengua, entonces, es un sistema de reglas que especifica el conjunto de oraciones

de esa lengua y asigna a cada oración una descripción estructural, la cual muestra qué clase de

elementos tiene esa oración, cómo están organizados y las condiciones para un uso apropiado. Por

tanto, la estructura de una lengua será el conjunto de descripciones estructurales de las oraciones de

esa lengua.

Chomsky hace una referencia importante acerca de Humboldt y de Saussure, a propósito de la

gramática generativa: La forma del lenguaje de Humboldt es, en esencia, el sistema generativo de

reglas, o sea, la gramática generativa, en su sentido más amplio.

En conclusión: interesa descubrir aquellas semejanzas entre varias lenguas que puedan ser atribuidas a

la forma del lenguaje como tal, es decir, ciertos rasgos pueden ser propiedades universales. Según

Chomsky, investigar esto vendría a enriquecer la teoría de la forma lingüística precisando así la noción

de gramática generativa.

Noam Chomsky clasifica las gramáticas en cuatro tipos:

Gramáticas sin restricciones o gramáticas de estructura de frases (Tipo 0).

Gramáticas sensibles al contexto (Tipo 1).

Gramáticas independientes de contexto (Tipo 2).

Gramáticas regulares (Tipo 3).

Conforme a la clasificación de N. Chomsky, los lenguajes se clasifican en cuatro tipos:

Lenguajes sin restricciones (Tipo 0).

Lenguajes sensibles (o dependientes) al contexto (Tipo 1).

Lenguajes independientes de contexto (Tipo 2).

Lenguajes regulares (Tipo 3).

Page 7: 1...1 noam chomsky (gramatica generativa, automata de pila, etc.)

6

Teoría de autómatas – lenguajes formales

(Máquinas abstractas - Gramáticas Formales)

Gramáticas Lenguajes Máquina

Sin restricciones o de Tipo 0 Sin restricciones o de Tipo 0 Máquina de Turing

Sensible al contexto o de Tipo 1 Sensible al contexto o de Tipo 1 Autómata linealmente acotado

Libre de contexto o de Tipo 2 Libre de contexto o de Tipo 2 Autómata de pila

Regular o de Tipo 3 Regular o de Tipo 3 Autómata finito

Gramática Máquina

Lenguajes

equivale

reconoce

genera

describe

genera

Page 8: 1...1 noam chomsky (gramatica generativa, automata de pila, etc.)

7

FORMA NORMAL

Teorema de la forma normal de Chomsky

Toda gramática libre de contexto sin la cadena vacía tiene una gramática equivalente cuyas

producciones están en la Forma Normal de Chomsky.

Forma Normal de Chomsky (FNC)

Una gramática se dice que está en la Forma Normal de Chomsky si sus reglas son de una de estas

formas:

A →BC

A →a

Siendo A, B, Cno terminales y a un terminal.

El algoritmo a seguir es:

1. Pi¡P / Pi: A →1...n, donde ¡(NT), n≥2

a. j, si jT (es terminal) entonces hacer:

b. N=N{Cj}

c. P= P {Cj→j}

d. Modificar Pi, donde antes ponía j ahora poner Cj.

2. PkP / Pk: A →B1...Bm, donde BN, m≥3

a. N=N{Dj} j=1..m-2.

b. Reemplazar Pk por las producciones:

A →B1D1, D1→B2D2,..., Dm-2→Bm-1Bm

Cualquier Lenguaje Libre de Contexto sin λ es generado por una gramática en la que todas las

producciones son de la forma A→ a o

A → BC donde A, B, C ∈ VN y a ∈ VT.

Una gramática que tiene todas las producciones en la forma indicada anteriormente se dice que están

en Forma Normal de Chomsky (FNC).

Definición (Forma Normal de Chomsky)

Una gramática libre de contexto G := (V;;Q0;P) se dice que está en forma normal de Chomsky si es

- libre y las únicas producciones (exceptuando, eventualmente, la única - producción Q0 ↔), son

exclusivamente de uno de los dos

tipos siguientes.

A↔ a, con A V y a ,

A ↔ CD, con A;C;D V.

Page 9: 1...1 noam chomsky (gramatica generativa, automata de pila, etc.)

8

Toda gramática libre de contexto es equivalente a una gramática libre de contexto en Forma Normal

de Chomsky.

Además, esta equivalencia es algorítmicamente computable.

Supongamos que tenemos una gramática G = (V;;Q0;P)

propia. Procederemos del modo siguiente:

Definamos un par de clases ¯V y ¯P de símbolos no terminales y producciones.

Inicializar con ¯V := V, ¯P = 0 y añadimos estas producciones por defecto:

Si Q0 ↔ está en P, añadir Q0 ↔ a ¯P sin modificar ¯V.

Si en P hay una producción del tipo A 7! a 2 _ entonces, añadir A 7! a a _P sin modificar _V.

Si en P hay una producción del tipo A ↔ CD, con C, D V, entonces, añadir A ↔ CD a ¯P

sin 7!modificar ¯V.

Simplemente, añadimos las producciones que cumplan la definición.

Finalmente, para cada producción en P del tipo

A ↔ X1…Xk ;

con Xi V que no sea de ninguno de los tres tipos anteriores realizar las tareas siguientes:

Para cada i tal que Xi V, no modificar ¯V

Para cada i tal que Xi , añadir a ¯V una nueva variable ¯Xi , distinta a todas las que ya

estuvieran en ¯V. Añadir a ¯P la producción ¯Xi ↔ Xi en este caso.

Añadir a ¯P la producción A ↔ X01… X0k , donde X0i viene dada por:

Si k = 2, no modificar.

Si k > 2, reemplazar en ¯P, la producción A ↔ X01… X0k por una cadena de producciones:

A ↔ X01 Y2,Y2 ↔ X02 Y3;…;Yk-1 ↔ X0k-1X0k ;

añadiendo a ¯V las variables Y2;… ;Yk-1. Esto termina con el algoritmo.

TEOREMA

Sea G = (V, T,P,S) una CFG tal que L(G) 6= ∅. Sea G1 = (V1, T1,P1,S) la gramática obtenida:1

Eliminando todos los símbolos no-generadores y las producciones en las que ocurren. Sea la

nueva gramática G2 = (V2, T2,P2,S).

Eliminando de G2 todos los símbolos no-alcanzables y las producciones en que ocurren.

G1 no tiene símbolos inútiles, y L(G1) = L(G).

Una propiedad:

Si no hay producciones - ni producciones unitarias, en toda derivación a ⇒ b el valor de l + t se

incrementa reescribiendo una variable por una producción de forma:

A → γ donde γ (V )*

Page 10: 1...1 noam chomsky (gramatica generativa, automata de pila, etc.)

9

En particular, l + t se incrementa en uno si las producciones tienen la siguiente forma:

A → BC (i.e. l se incrementa en uno)

A → a (i.e. t se incrementa en uno)

Por lo tanto, una derivación S ⇒ * x donde x * & |x| = k (de l + t = 1 a l + t = 2k) tiene cuando más

2k – 1 producciones!

Page 11: 1...1 noam chomsky (gramatica generativa, automata de pila, etc.)

10

AUTÓMATAS CON TRANSICIONES DE CERRADURA

Un autómata finito no determinista (NFA) puede elegir uno de varios estados posibles cuando

lee un carácter.

Además, tiene un conjunto de estados iniciales S.

La función de transición de un NFA es : Q x → P(Q).

La función anterior se extiende a una función

* : P(Q) x * → P(Q) de esta forma:

*(A, ) = A

*(A, a) =U (q,a)

q*(A,)

El lenguaje aceptado es | *(S, ) F = 0

Transiciones _ Un autómata finito no determinista con transiciones -es una quinteta N = (Q,,, S, F),

igual a un NFA salvo que

: Q x ( ) → P(Q).

Ahora es posible transitar de un estado a otro sin consumir símbolos. * se define así

Los conjuntos regulares son cerrados bajo las operaciones de: Unión Intersección Complemento Concatenación Estrella de Kleene

Nota: en las demostraciones siguientes se supondrá que los autómatas son completos, i.e.,

que la función no es parcial. Podemos construir un diagrama que nos ayude a determinar los distintos miembros del lenguaje. Tal

diagrama tiene la forma de un grafo dirigido son información adicional añadida, y se llama diagrama

de transición. Los vértices del grafo se llaman estados y se usan para señalar, en ese momento, hasta

que lugar se ha realizado la cadena. Las aristas del grafo se etiquetan con caracteres del alfabeto y se

llaman transiciones. Si el siguiente carácter a reconocer concuerda con la etiqueta de alguna transición

que parte del estado actual, nos desplazamos al estado al que nos lleve la arista correspondiente. Se

comienza en un estado inicial, y cuando se hayan tratado todos los caracteres de la palabra (cadena)

correspondiente, necesitamos saber si la cadena es "legal". Para ello se marcan ciertos estados

Matemáticas Discreta Prof. José Luis Chacón Pensar y actuar como estados de aceptación o estados

finales (doble círculo). Toda cadena que surja de una transición desde el estado inicial a un estado

Page 12: 1...1 noam chomsky (gramatica generativa, automata de pila, etc.)

11

final de aceptación es "legal". Marcamos el estado inicial con una flecha (→) y alrededor de los

estados de aceptación trazamos un círculo.

Por ejemplo el diagrama de la Figura 1 acepta todas las cadenas que están formadas por 0 o más a s

seguidas por una única b. Obsérvese que para toda cadena de la forma akb, para k ≥ 0, el recorrido del

diagrama termina en un estado de aceptación. El recorrido del mismo con cualquier otra cadena de a s

y b s (incluida la cadena vacía) termina en cualquier otro estado, pero este no es de aceptación.

Considérese el lenguaje A = {(ab)i | i ≥ 1}, el cual está representado por la expresión regular (ab)+. La

palabra más corta de este lenguaje es ab. El estado inicial no es un estado de aceptación, porque

entonces aceptaría la palabra vacía. Hay dos transiciones una para a y una para b; ninguna de ellas

puede llevar a un estado de aceptación. Esto se debe a que ni a ni b son palabras del lenguaje A. Las

cadenas legales se obtienen al llegar a un estado de aceptación y se debe hacer esto después de un

número finito de pares de transiciones ab. Un diagrama de transición para A es el que muestra la

Figura 2. Este diagrama tiene un único estado de aceptación. Si el análisis termina en cualquier otro

estado, la cadena no está correctamente construida. Asimismo se puede ver que una vez que se

identifica un prefijo incorrecto, se realiza un desplazamiento a un estado que no es de aceptación y se

permanece en el mismo.

Page 13: 1...1 noam chomsky (gramatica generativa, automata de pila, etc.)

12

Consideremos el lenguaje (ab)*. En este caso se acepta la cadena vacía. Por lo tanto, el estado inicial

es también de aceptación. El diagrama de transición se muestra en la Figura 3

Podemos representar el diagrama por medio de una tabla que indica el siguiente estado al cual

desplazarse, dado un estado y un símbolo de entrada (Figura 4). Obsérvese que la tabla para nuestro

diagrama de transición tiene, para cada par estado-entrada, un único estado siguiente. De este modo

para cada estado y símbolo de entrada, se puede determinar el siguiente estado. Se puede pensar que

sean acciones de una máquina. dicha máquina se denomina autómata finito, una computadora ideal. El

autómata finito se define en términos de sus estados, la entrada que acepta y su reacción ante la

misma. Hay autómatas de dos tipos, deterministas y no deterministas. El autómata que corresponde a

la figura 4 es determinista.

Formalmente, un autómata finito determinista M es una colección de cinco elementos.

Un alfabeto de entrada .

Una colección finita de estados Q.

Un estado inicial S.

Una colección de estados finales o de aceptación.

Una función : Q × → Q que determina el único estado siguiente para el par (qi, )

correspondiente al estado actual y la entrada.

Autómata Finito No Determinista

Si se permite que desde un estado se realicen cero, una o más transiciones mediante el mismo símbolo

de entrada, se dice que el autómata finito es no determinista. A veces es más conveniente diseñar

autómatas finitos no determinista (AFN) en lugar de deterministas.

Page 14: 1...1 noam chomsky (gramatica generativa, automata de pila, etc.)

13

Un autómata finito no determinista es una colección de cinco objetos (Q,, S, F, ), donde

Una colección finita de estados Q.

Un alfabeto de entrada .

Un estado inicial S.

Una colección de estados finales o de aceptación F.

Una función : Q× → P(Q) que determina un subconjunto de Q para el par (qi, )

correspondiente al estado actual y la entrada. P(Q) son los subconjuntos de Q.

Equivalencia entre AFN y AFD

Decimos que dos autómatas M y M′son equivalentes si L(M) = L(M′).

Teorema 2 Para todo autómata finito no determinista M existe un autómata finito determinista M1 tal

que M y M1 son equivalentes.

-Transiciones

Estas son las transiciones de un estado en otro que no dependen de ninguna entrada. Para todo estado

q ∈ Q, definimos la -cerradura de q como

− c(q) = {p | p es accesible desde q sin consumir ninguna entrada}

Para q ∈ Q y ∈ se define

d(q, ) = {p | hay una transición de q a p etiquetada con }

Esta definición se amplía a conjuntos como sigue

Eliminación de las Transiciones-

Las transiciones- son una conveniencia, pero no incrementan la potencia de los FA’s. Para eliminar

las transiciones-:

Calcular la cerradura transitiva s´olo para los arcos .

Ejemplo: q → {q}; r → {r , s}; s → {r , s}.

Si un estado p puede alcanzar al estado q por medio de arcos , y existe una transición de q a

r en la entrada a (no ), entonces añádase una transición de p a r con la entrada a.

Convertir el estado p en un estado de aceptación siempre y cuando p pueda alcanzar algún

estado de aceptación q por medio de arcos .

Eliminar todas las transiciones-.

Page 15: 1...1 noam chomsky (gramatica generativa, automata de pila, etc.)

14

AUTÓMATA DE PILA

Una pila es un dispositivo de almacenamiento que sigue el principio ``primero-en-entrar-último-en

salir''. Lo podemos pensar como un arreglo lineal indicado con los números naturales:

AUTÓMATAS DE PILA O PUSH -DOWN (PDA).

Un autómata de pila o Push-Down es un autómata que cuenta con un mecanismo que permita

almacenamiento ilimitado y opera como una pila.

El autómata de pila (se abrevia PDA de sus siglas en inglés Push-Down Autómata) tiene una cinta de

entrada, un control finito y una pila. La pila es una cadena de símbolos de algún alfabeto.

Un autómata a pila es una séptupla:

AP= (Σ, Γ, Q, A0, q0, f, F)

donde :

Σ es el alfabeto de entrada

Γ es el alfabeto de la pila

Q es un conjunto finito de estados

A0 ∈ Γ es el símbolo inicial de la pila

q0 ∈ Q el estado inicial del autómata

F ⊆ Q es el subconjunto de estados finales

f es una aplicación denominada función de transición de ternas (estado, símbolo de entrada o

λ, símbolo de pila) en el conjunto de las partes Q×Γ*

f : Q×{Σ∪{λ}}× Γ → 2Q×Γ* (subconjunto finito)

Un AP comienza su funcionamiento en la configuración inicial:

En el estado inicial (q0)

Con sólo un símbolo en la pila (A0)

Con la cabeza lectora en el primer símbolo de la entrada

A partir de esta configuración realiza transiciones según la definición de la función f.

Interpretación de la función de transición

Representaremos con:

(a, b,...) los elementos de Σ

(A, B, C..) los de Γ

(x, y, z,...) los de Σ*

(X, Y, Z,...) los de Γ*

La interpretación de f es:

Page 16: 1...1 noam chomsky (gramatica generativa, automata de pila, etc.)

15

f(q, a, A) = {(q1, Z1), (q2, Z2),... (qn, Zn)}

cuando el autómata se encuentra en el estado q, lee el símbolo de entrada a y tiene el símbolo A en la

cima de la pila; el autómata pasará a algún estado qi (recordar que es no determinista), eliminará el

símbolo A de la pila e introducirá en ella la palabra Zi , quedando la cabeza de Zi en la cima de la pila.

f(q, λ, A) = {(q1, Z1), (q2, Z2),... (qn, Zn)}

cuando el autómata se encuentra en el estado q, y tiene el símbolo A en la cima de la pila; el autómata

pasará a algún estado qi (recordar que es no determinista), eliminará el símbolo A de la pila e

introducirá en ella la palabra Zi , quedando la cabeza de Zi en la cima de la pila.

Representación gráfica

AP=({a,b,c},{S,A,B,b},{p,q,r},S,p,f,{r})

f (p,a,S)={(p,SAB), (q,b)}

f (p,λ,S)={(p,SAB)}

f (q,b,b)={(q,λ)}

f (q,b,B)={(q,λ)}

f (q,c,A)={(q,A),(q,λ)}

f (q,λ,B)={(r,λ)}

Cada estado corresponde a un nodo en el grafo y está etiquetado con el nombre del estado (si

es un estado final se marca además con *)

Cada transición (q, Z)∈f(p, a, A) corresponde a un arco del nodo p al nodo q y tiene la etiqueta

(a,A,Z).

Las etiquetas de los arcos pueden tener la forma:

(a,A,λ), (a,A,B), (a,A,BC...), (λ,A,λ), (λ,A,B), (λ,A,BC...) siendo (a∈Σ, A,B,C∈Γ).

No hay transiciones de forma:

(..., λ, ...), (ab..., ..., ...) o (..., AB..., ...)

Lenguaje aceptado por un autómata a pila

Se describe el proceso de aceptación o rechazo de una palabra de Σ* mediante una sucesión de

movimientos.

Page 17: 1...1 noam chomsky (gramatica generativa, automata de pila, etc.)

16

Un AP= (Σ, Γ, Q, A0, q0, f, F) puede reconocer palabras del alfabeto de entrada de dos formas

distintas:

por estado final:

LF(AP) = {x | (q0, x, A0) ├* (p, λ, X), con p∈F, X∈Γ*}

por vaciado de pila :

LV(AP) = { x | (q0, x, A0) ├* (p, λ, λ) con p∈Q}

LF(AP) y LV(AP) representan a los lenguajes reconocidos por el autómata AP por estado final y por

vaciado de pila respectivamente. Cuando la aceptación se realiza por vaciado de pila, el conjunto de

estados finales F es irrelevante.

Equivalencia de autómatas de pila

Dos autómatas de pila M1 y M2 diremos que son equivalentes si L(M1)=L(M2).

Autómatas a pila deterministas

Decimos que un autómata a pila es determinista si se verifica lo siguiente:

∀ q∈Q, ∀ A∈Γ:

f(q, λ, A) ≠ ∅ ⇒ ∀ a∈Σ: f(q, a, A) = ∅

∀q∈Q, ∀A∈Γ, ∀a∈ Σ∪{λ}:

f(q, a, A) contiene como máximo un elemento. .

A diferencia de los autómatas finitos, se entiende que un AP es no determinista, a menos que se diga

lo contrario.

Gramáticas independientes del contexto.

Recordemos que las gramáticas independientes del contexto se caracterizan porque la parte izquierda

de todas sus reglas es un solo no teminal (A:= w, donde w es cualquier palabra escrita con terminales y

no terminales) y no hay reglas compresoras salvo tal vez S:= λ, siendo S el axioma.

Símbolos inaccesibles

Un símbolo no terminal decimos que es inaccesible si desde el axioma no se puede derivar ninguna

palabra que lo contenga. Si un símbolo es inaccesible y lo eliminamos junto con todas sus

producciones y todas las producciones en las que aparezca, la gramática obtenida es equivalente a la

dada.

Símbolos superfluos

Hay dos tipos de posibles símbolos superfluos de una gramática

No terminales: un símbolo no terminal es superfluo si a partir de él no se puede obtener

ninguna derivación escrita sólo con símbolos terminales. Si eliminamos un símbolo no

terminal superfluo, sus producciones y las producciones en que aparece, la gramática obtenida

es equivalente a la dada.

Page 18: 1...1 noam chomsky (gramatica generativa, automata de pila, etc.)

17

Terminales: un símbolo terminal decimos que es superfluo si no aparece en ninguna

derivación desde el axioma. Si eliminamos del alfabeto de terminales los terminales

superfluos la gramática obtenida es equivalente a la dada.

Gramática limpia

Una gramática que no tiene símbolos inaccesibles ni superfluos se dice que es una gramática limpia.

Proceso de Análisis Sintáctico

Ejemplo:G = ({a}, {S}, S, {S ::= aS | a}) cadena de entrada= aa

Análisis de la cadena de entrada

Comenzara siempre introduciendo en la pila del autómata la marca inicial, a la que se suele

llamar 0.a partir de este momento, cada vez que se introduce un símbolo en la pila, se mete a

continuación un símbolo de estado o marca. Por lo tanto, en cualquier instante, la pila

contendrá alternativamente símbolos de la gramática y marcas.

Page 19: 1...1 noam chomsky (gramatica generativa, automata de pila, etc.)

18

Determina la fila m a estudiar, que vendrá siempre dado por la marca que aparezca en la cima

de la pila y la columna c dada por el símbolo en curso de la entrada.

APLICACIONES.

Existe un gran número de problemas de diseño de software que se simplifican mediante la conversión

automática de las expresiones regulares a una instrumentación eficiente de computadora del autómata

finito correspondiente.

Los autómatas finitos se usan frecuentemente en los problemas que implican el análisis de cadenas de

caracteres. Tales problemas incluyen problemas de búsqueda e identificación, tales como la búsqueda

de la existencia de una cadena en un archivo o el reconocimiento de cadenas de entrada que satisfagan

ciertos criterios. Un autómata finito es, él mismo, un modelo de un procedimiento para reconocimiento

de cadenas por medio de la expresión regular asociada. Por tanto, en la búsqueda de una cadena en un

archivo, podemos aplicar el autómata finito de forma sistemática a las cadenas del archivo hasta que se

acepta la cadena o se termina el archivo.

Page 20: 1...1 noam chomsky (gramatica generativa, automata de pila, etc.)

19

BIBLIOGRAFÍA

J. E. Hopcroft, R. Motwani, J. D. Ullman. Introducción a la Teoría de Autómatas, Lenguajes y

Computación Addison Wesley Longman, Pearson Education Company, Segunda Edición

2001.

Dean Kelly.Teoría de Autómatas y Lenguajes Formales Prentice- Hall, 1998.

Pedro García, Tomás Perez, etc.Teoría de Autómatas y Lenguajes Formales. Alfaomega

Grupo Editor. 2001.

Chomsky, N. (1974). Observaciones sobre la nominalización. En Sánchez de Zavala, V.

(Comp.), Semántica y sintaxis en lingüística transformatoria I (pp. 133-187). Madrid:

Alianza.