gramatica generativa y automata de pila

20
CENTRO UNIVERSITARIO UAEM ATLACOMULCO INGENIERIA EN COMPUTACION AUTOMATAS Y LENGUAJES FORMALES ALUMNA: ALICIA SANDOVAL CAMACHO PROFESOR: HECTOR CABALLERO HERNANDEZ

Upload: aliciasandovalcamacho

Post on 12-Apr-2017

809 views

Category:

Education


2 download

TRANSCRIPT

CENTRO UNIVERSITARIO UAEM ATLACOMULCO

INGENIERIA EN COMPUTACION

AUTOMATAS Y LENGUAJES FORMALES

ALUMNA: ALICIA SANDOVAL CAMACHO

PROFESOR: HECTOR CABALLERO HERNANDEZ

2° SEMESTRE TURNO MATUTINO

FECHA DE ENTREGA: 24-03-2015

INDICE

Introducción…………………………………………………………..............I

La gramática generativa según Noam Chomsky………………………II-III

- Competencia lingüística- Gramática transformacional- Estructura profunda y estructura superficial- Estructura sintáctica

Forma normal de Chomsky…………………………………………..IV-VI

- Definición de la Forma Normal de Chomsky- Ejemplo

Autómatas con transición vacía (AFND-ε)…………………………VII-VIII

-Definición - Definición de una transición ε-Consecuencias- Transformación de AFND-V a AFND

Autómatas con pila……………………………………………………IX-XI

- Definición formal- Representación- Lenguaje aceptado por un autómata a pila-Ejemplo

Referencias y bibliografía……………………………………………….XII

INTRODUCCION

Este trabajo forma parte de la materia “Autómatas y lenguajes formales”, abarca la gramática generativa de Chomsky en la que nos dice que él fue el fundador de la gramática generativa que expuso por primera vez en su libro Estructuras sintácticas, en el que explicaba un sistema de análisis del lenguaje. Estableció una diferencia entre el conocimiento innato y con frecuencia inconsciente que los individuos tienen de la estructura de su lengua y el modo en que utilizan ésta diariamente.También el tema sobre la forma normal de Chomsky en la que nos describe las reglas que debe cumplir un lenguaje para estar e esta forma. Otro tema visto es el autómata con transición vacía en el que nos dice su definición, las consecuencias y problemas que conlleva tener un autómata con esta característica y la solución que seda al convertirlo en un autómata finito no determinista.El último tema abarcado es el autómata de pila, en este vemos su definición, el lenguaje que es aceptado para poder llevar a cabo las transiciones, su representación y un pequeño ejemplo.

I

LA GRAMATICA GENERATIVA SEGÚN NOAM CHOMSKY

Uno de los lingüistas más famosos, renovadores e influyentes del siglo XX es, indudablemente, Noam Chomsky (n. en 1928) y es el fundador de la gramática generativa que expuso por primera vez en su libro Estructuras sintácticas, un sistema de análisis del lenguaje que ha revolucionado la lingüística moderna. Estableció una diferencia entre el conocimiento innato y con frecuencia inconsciente que los individuos tienen de la estructura de su lengua y el modo en que utilizan ésta diariamente.

El primero, al que llamó “competencia”, permite al hablante distinguir las oraciones gramaticales de las que no lo son, así como generar y comprender un número ilimitado de oraciones nuevas. El segundo, que llamó “actuación”, es la manifestación de la competencia, las oraciones realmente emitidas por el hablante en los actos de habla concretos. Para Chomsky, la lingüística también debe ocuparse de las estructuras profundas, del proceso mental que subyace bajo el uso del lenguaje. Chomsky situó la lingüística en el centro de los estudios sobre la mente. Según él, la teoría lingüística debe dar cuenta de la gramática universal, del conocimiento innato común a todos los miembros de la especie humana; debe igualmente explicar el hecho de que los niños aprenden a hablar con fluidez a una temprana edad, a pesar de los escasos datos y la poca experiencia con los que cuentan.

De estas exigencias deriva su contribución a las ciencias cognitivas, que pretenden comprender el modo en que piensa, aprende y percibe el ser humano.

Competencia lingüística

Para Chomsky, cualquier individuo dotado de la facultad de hablar es capaz de expresarse en su propia lengua con corrección e interpretar y entender lo que otro individuo de su comunidad lingüística le pueda comunicar. Es decir, como el ser humano posee la facultad de hablar y conocerla lengua, entendiendo por conocer la lengua, no los conocimientos científicos sobre la misma, sino los mecanismos necesarios para expresarse en su lengua. Es a lo que llama Chomsky la “competencia lingüística”.

Esta competencia está interiorizada, pero se exterioriza en cada acto lingüístico, y es a lo que llama Chomsky “actuación lingüística” o manifestación de la competencia. Esta dicotomía es para Chomsky el primer requisito de la gramática generativa, relacionada con la distinción lengua/habla de Saussure. Pero no identificada, porque la “lengua” Saussureana es una visión estática de la lengua, mientras que la de Chomsky es una visión dinámica.

Gramática transformacional

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: Descubrir la gramática de una lengua sobre la base de un corpus representativo y garante. Chomsky piensa que esto es imposible. Decidir si una gramática ya existente es adecuada o no lo es. Sin Premisas de criterio, sería un apriorismo inadmisible. Valorar unas cuantas gramáticas e intentar aproximarse a la descripción más perfecta. Para Chomsky es lo único asequible. Hay que anotar que la solución última implica a la segunda, por lo que se viene a caer en el condenado apriorismo.

II

En esta primera selección, Chomsky está muy lejos de Hjelmslev y de la escuela europea en cuanto a premisas lógicas. 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.

Estructura profunda y estructura superficial.

La estructura profunda es una abstracción formal de la frase, relacionada con su sentido, y que subyace a la estructura superficial que es la frase proferida. Existen reglas que transforman una estructura profunda en la superficial. "Una gramática es un sistema de reglas finito que genera una pluralidad de estructuras profundas y superficiales relacionadas entre sí". La estructura superficial corresponde varias estructuras profundas, a saber: a) “Yo hago (o construyo) el cuarto (objeto)”. b) “Yo construyo o limpio la habitación”. c) “Yo estoy en cuarto lugar”.

En términos chomskianos diríamos, entonces, que esta oración es ambigua. La estructura profunda soporta o contienen el significado de la oración. La estructura superficial es la forma según la cual se presenta la oración, al ser dicha o escrita. Visto desde otro punto de vista, podemos decir que la estructura profunda es abstracta, mientras que la estructura superficial es una realidad física.La estructura profunda genera la estructura superficial o de superficie. Entre la estructura profunda y la estructura superficial aparecen los procesos de transformación. De ahí la gramática transformacional.

Estructura sintáctica

Son símbolos que forman parte de un “alfabeto” finito. Cada una de tales cadenas es una oración de L. El alfabeto de símbolos primitivos es determinado por la teoría lingüística general, en particular por la fonética universal, la cual especifica los elementos mínimos disponibles para una lengua humana cualquiera y proporciona algunas condiciones sobre su elección y combinación. Una gramática L es un sistema que especifica el conjunto de oraciones L y asigna a cada oración una descripción estructural.

FORMA NOMAL DE CHOMSKY

III

Una gramática formal está en Forma normal de Chomsky si todas sus reglas de producción son de alguna de las siguientes formas:

 oα o

donde  ,   y   son símbolos no terminales (o variables) y α es un símbolo terminal.Todo lenguaje independiente del contexto que no posee a la cadena vacía, es expresable por medio de una gramática en forma normal de Chomsky (GFNCH) y recíprocamente. Además, dada una gramática independiente del contexto, es posible algorítmicamente producir una GFNCH equivalente, es decir, que genera el mismo lenguaje.Una gramática libre de contexto se dice que está en Forma Normal de Chomsky (FNC) si todas sus producciones son de la forma:

Excepcionalmente se permite la producción 

La idea de la transformación de una gramática limpia a FNC se ejecuta en dos pasos:·           Hacer que en la parte derecha de las producciones de longitud mayor o igual que dos sólo haya

terminales. Trocear estas producciones para que tengan longitud dos.

Algoritmo FNC:

1. Para cada producción de la forma 

(a) Para cada αi, si αi es terminal: - Se añade la producción Ca → a- Se cambia αi por Ca en A → α1..αn

2. Para cada producción de la forma A → B1...Bm, m ≥ 3(a) Se añaden (m-2) no terminales D1, D2, ..., Dm-2 (distintos para cada producción) (b) La producción A → B1...Bm se reemplaza por A → B1D1, D1 → B2D2, ... Dm-2 → Bm-1Bm

Definición de la Forma Normal de Chomsky

Diremos que una gramática incontextual G=(N, T, P, S) que no genera la cadena vacía, está en FNC cuando todas sus reglas son de la forma: {A → BC con A, B, C ∈ N {A → a, con A, B ∈ N y a ∈T Teorema. Todo lenguaje incontextual L que no incluye la cadena vacía, es generado por una gramática en FNC.

IV

Ejemplo

Sea la gramática incontextual G definida por las siguientes reglas:

S → bA | aB

A → bAA | aS | a

B → aBB | bS | b

Se obtiene la gramática en FNC intermedia G':

S → CbA | Ca B

A → CbAA | Ca S | a

B → Ca BB | CbS | b

Ca → a

Cb → b

A partir de G', se obtiene la gramática en FNC G'':

S → CbA | Ca B

A → CbD1 | Ca S | a

V

D1 → AA

B → Ca D2 | CbS | b

D2 → BB

Ca → a

Cb → b

VI

AUTOMATAS CON TRANSICIÓN VACIA (AFND-ε)

Definición

Es el autómata finito que tiene al menos una transición vacía.Los AFND-TV son definiciones de AFND dentro de los lenguajes regulares que dificultan su implementación mecánica e informática; pero es común obtenerlos a partir de transformaciones a lo interno de los LR (expresiones regulares a AF, gramáticas regulares a AF). Entonces son vitales para el análisis lexicográfico durante el diseño de los lenguajes de programación.

Definición de una transición ε

Una transición ε es una transición que puede ocurrir sin consultar la cadena de entrada (y sin consumir ningún carácter). Se puede ver como una “igualación” de la cadena vacía. Las transiciones ε son contra intuitivas, porque pueden ocurrir “espontáneamente”, sin búsqueda hacia adelante y sin modificación de la cadena de entrada.

Consecuencias

La definición formal de AFND-V se basa en la consideración de que a menudo según los algoritmos de transformación de expresiones y gramáticas regulares a AF terminan obteniéndose autómatas con transiciones múltiples para un mismo símbolo o transiciones vacías.

Independientemente que sean indeseables, sobre todo para la implementación material, fundamentalmente mecánica, de los autómatas finitos; son imprescindibles durante la modelación de analizadores lexicográficos de los elementos gramaticales de los lenguajes de programación, llamados tókenes, como literales numéricos, identificadores, cadenas de texto, operadores, etc.

Reconocedor de lenguajes regulares que no usa memoria para almacenar los estados de ejecución ni los símbolos del lenguaje, con al menos una transiciones vacía.

VII

Transformación de AFND-V a AFND

Los AFND-V se pueden transformar a autómatas finitos no deterministas mediante una serie de transformaciones que se basan en la reducción a solo los estados con transiciones significativas

determinados por la clausura , siguiendo los pasos:

1. Se calcula A=clausura-v(q0), que corresponderá al estado inicial del nuevo autómata.2. Para cada símbolo del alfabeto T, se verifican los estados alcanzables a partir de algún estado

contenido en A, y se calcula la clausura-v de dichos estados alcanzables. Si dichas clausuras-v producen nuevos conjuntos distintos de A, es decir conjuntos Ai, estos serán nuevos estados a los que se accederá a partir de A y del símbolo correspondiente.

3. Se repite lo anterior para cada nuevo conjunto Ai obtenido en (2), hasta que no existan transiciones posibles para ningún símbolo del alfabeto.

VIII

AUTOMATAS CON PILA

Un autómata con pila, autómata a pila o autómata de pila es un modelo matemático de un sistema que recibe una cadena constituida por símbolos de un alfabeto y determina si esa cadena pertenece al lenguaje que el autómata reconoce. El lenguaje que reconoce un autómata con pila pertenece al grupo de los lenguajes libres de contexto en la clasificación de la Jerarquía de Chomsky.

Los autómatas de pila, en forma similar a como se usan los autómatas finitos, también se pueden utilizar para aceptar cadenas de un lenguaje definido sobre un alfabeto A. 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. Uno de estos estados se designa como estado inicial, y además algunos estados se llaman de aceptación o finales.

Definición formal:

Formalmente, un autómata con pila puede ser descrito como una

séptupla   donde:

 es un conjunto finito de estados;  y   son alfabetos (símbolos de entrada y de la pila respectivamente);

 es el estado inicial;  es el símbolo inicial de la pila;  es un conjunto de estados de aceptación o finales;

La interpretación de , con

  , y   es la siguiente:

Cuando el estado del autómata es  , el símbolo que la cabeza lectora está inspeccionando en ese momento es  , y en la cima de la pila nos encontramos el símbolo  , se realizan las siguientes acciones:

Si  , es decir no es la cadena vacía, la cabeza lectora avanza una posición para inspeccionar el siguiente símbolo.

Se elimina el símbolo   de la pila del autómata.

Se selecciona un par   de entre los existentes en la definición de  , la función de transición del autómata.

Se apila la cadena  , con   en la pila del autómata, quedando el símbolo   en la cima de la pila.

IX

Se cambia el control del autómata al estado .

Representación

Una máquina de este tipo se representa de la siguiente forma

Al igual que un autómata finito un autómata de pila cuenta con un flujo de entrada y un flujo de control que 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 un estado es de aceptación.La principal diferencia es que los autómatas de pila cuentan con una pila en donde pueden almacenar información para recuperarla más tarde.

Los símbolos que pueden almacenarse en esta pila se conocen como símbolos de pila de la máquina, constituyen un conjunto finito que puede incluir algunos símbolos definiendo el alfabeto de la máquina y quizá algunos símbolos adicionales que se utilizan como marcas internas. Si una máquina 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 #.

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. Un AP= (Σ, Γ, Q, A0, q0, f, F) puede reconocer palabras del alfabeto de entrada de dos

X

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.

Ejemplo

Sea el siguiente LLC   ; formado por las

cadenas Dicho lenguaje puede ser reconocido por el siguiente autómata con pila:

donde las transiciones son:

 para cualquier El significado de las transiciones puede ser explicado analizando la primera transición:

donde   es el estado actual,   es el símbolo en la entrada y   se extrae de la cima de la pila. Entonces, el estado del autómata cambia a   y el símbolo   se coloca en la cima de la pila.

XI

Referencia y bibliografía

http://vallejos-hayden.blogdiario.com/1165440000/

(pg.41).http://lengua.laguia2000.com/gramatica/estructura-profunda-y-estructura-

superficialhttp://www.csub.edu/~tfernandez_ulloa/spanishlinguistics/chomsky%20y%20la

%20gramatica%20generativa.pdf (REVISTA DIGITAL “ONVESTIGACIÓN Y EDUCACIÓN”

CHOMSKY LA GRAMÁTICAGENERATIVA, PAG

http://books.google.com.co/books?

id=6tUv4IzUWtwC&pg=PA3&hl=es&source=gbs_toc_r&cad=4#v=onepage&q&f=false (Noam

Chomsky Estructuras Sintácticas PAG 4

http://es.wikipedia.org/wiki/Forma_normal_de_Chomsky

http://users.dsic.upv.es/asignaturas/facultad/tal/practica6.pdf

http://teodelacomp.blogspot.mx/2011/03/forma-normal-de-chomsky.html

http://ingenieria.uatx.mx/labastida/files/2013/06/Aut%C3%B3matas-Finitos1.pdf

Acevedo Martínez, Liesner; Osorio Ramírez, Karel. Manual de apoyo a la docencia. Técnicas de

Compilación: Manual Práctico para estudiantes de Informática. Libro electrónico

en PDF. UCI. La Habana, 2011.

http://www.ecured.cu/index.php/Aut%C3%B3mata_finito_no_determinista_con_transici

%C3%B3n_vac%C3%ADa

http://es.wikipedia.org/wiki/Aut%C3%B3mata_con_pila

http://www.ia.urjc.es/grupo/docencia/automatas_itis/apuntes/capitulo11.pdf

XII