UNIVERSIDAD NACIONAL DE LOJA AREA DE LA ENERGA LAS INDUSTRIAS Y LOS RECURSOS NATURALES NO RENOVABLES
Por: Catalina Malacatus Pgina 2
Gramtica Una gramtica G es un cudruplo (V, E, R, S) donde V es un alfabeto. E, el conjunto de los smbolos terminales, es un subconjunto de V. R, el conjunto de reglas de transformacin o de produccin, es un subconjunto de V *
V * . S, el smbolo inicial, es un elemento de V E. Los elementos de V E son llamados variables o smbolos no terminales. Por lo general las reglas se escriben o | en lugar de (o, |). Aplicar la regla o | a una palabra uov produce la palabra u|v, por lo que las reglas pueden ser vistas como reglas de remplazo.
Explicacin de los elementos de una gramtica Smbolos terminales: son elementos del alfabeto que no se pueden transformar, por eso se llaman terminales. Normalmente se denotan por letras minsculas. Variables o smbolos no terminales: son elementos auxiliares que permiten poner restricciones sintcticas a un lenguaje. Las variables s se pueden transformar, utilizando las reglas, en una cadena de variables y/o terminales. Por lo general se denotan por letras maysculas o por la notacin <variable>. Reglas: permiten reemplazar variables para generar oraciones vlidas de un lenguaje. Puede haber varias reglas para una misma variable, en este caso y para ahorrar espacio, las distintas opciones se colocan en una sola regla con los distintos reemplazos separados por |. Por ejemplo o | | | o abrevia las tres reglas o | o o o Smbolo inicial: es el smbolo a partir del cual se generan todas las palabras vlidas.
Lenguaje generado por una gramtica
Definicin: Decimos que la cadena w 1 deriva en un paso a la cadena w 2 (w 1
G w 2 ) si y solo si existen cadenas x, y e V * tales que w 1 = xuy y w 2 = xvy y adems existe una regla u v en R. Si no hay lugar a confusin, se acostumbra omitir el subndice que indica la gramtica G.
Definicin: una cadena w e V * es derivable a partir de la gramtica G si y solo si existe una secuencia de derivacin iniciando en el smbolo inicial y terminando en la cadena w: S = w 1 w 2 w 3 . w n = w. Escribimos si o deriva a | en 0 o ms pasos.
Definicin: el lenguaje generado por una gramtica G, L(G), es igual al conjunto de las palabras en E * (es decir, consisten de smbolos terminales) derivables a partir de G. Una gramtica describe las reglas sintcticas del lenguaje. Si una palabra no sigue las reglas, entonces no pertenecen al lenguaje generado por la gramtica. | o *
G
UNIVERSIDAD NACIONAL DE LOJA
AREA DE LA ENERGA LAS INDUSTRIAS Y LOS RECURSOS NATURALES NO RENOVABLES
Por: Catalina Malacatus Pgina 3
Ejemplo de Gramtica G = (V, E, R, S) V = {a, b, c, S, A, B} E = {a, b, c} R: S AccA A BA | B a | b | c w 1 = abcc e L(G) y w 2 = acb e L(G) Cadena Regla Derivacin S S AccA S AccA AccA A BA BAccA BAccA B a aAccA aAccA A BA aBAccA aBAccA B b abAccA abAccA A abccA abccA A abcc
Jerarqua de Chomsky
Descripcin de las gramticas
Gramticas Regulares (tipo 3 o G 3 ): es una gramtica formal (N, , P, S) que puede ser clasificada como regular izquierda o regular derecha. Las gramticas regulares slo pueden generar a los lenguajes regulares de manera similar a los autmatas finitos y las expresiones regulares. Toda gramtica regular es una gramtica libre de contexto. Una gramtica regular derecha es aquella cuyas reglas de produccin P son de la siguiente forma: A a, Un smbolo terminal seguido de una variable A aB, Slo un smbolo terminal Gramticas Lenguajes Mquinas que los aceptan Sin restriccin (tipo 0) Recursivamente numerables Mquinas de Turing Sensitivas al contexto (tipo 1) Sensitivos al contexto Autmatas lineales Libres de contexto (tipo 2) Libres de contexto Autmatas de pila Regulares (tipo 3) Regulares Autmatas finitos deterministas o no deterministas
UNIVERSIDAD NACIONAL DE LOJA AREA DE LA ENERGA LAS INDUSTRIAS Y LOS RECURSOS NATURALES NO RENOVABLES
Por: Catalina Malacatus Pgina 4
A , La cadena vaca. Anlogamente, en una gramtica regular izquierda, las reglas son de la siguiente forma: A a, Un smbolo terminal seguido de una variable A Ba, Slo un smbolo terminal A , La cadena vaca.
Resumiendo: El lado izquierdo consiste slo de una variable, y el lado derecho consiste de: Un smbolo terminal seguido de una variable Slo un smbolo terminal La cadena vaca.
Ejemplo: A aB | a |
Gramticas Libres de Contexto, GLC, (tipo 2 o G 2 ): el conjunto de reglas es un subconjunto finito de (V E) V * , es decir: El lado izquierdo consiste slo de una variable. No hay restricciones para el lado derecho. Ejemplo: S aSb | ab |
Gramticas Sensitivas al Contexto (tipo 1 o G 1 ): el conjunto de reglas es un subconjunto finito de V + V + , es decir, las reglas son de la forma oA| oI| donde o, |, I e V * y A e V E, es decir, A es un smbolo no terminal. Adems, las reglas son no-contractivas, es decir, la longitud del lado izquierdo es menor o igual a la longitud del lado derecho. Esta propiedad de no-contraccin garantiza que un lenguaje sensitivo al contexto no contiene . Ejemplos: S abc | aAbc Ab bA Ac Bbcc bB Bb aB aa | aaA
Gramticas sin restriccin (tipo 0 o G 0 ): el conjunto de reglas es un subconjunto finito de V + V * , es decir, no hay restricciones para las reglas, excepto que el lado izquierdo no es . Ejemplos: S aSBC | aBC CB BC aB ab bB bb bC bc cC ccA bc
UNIVERSIDAD NACIONAL DE LOJA AREA DE LA ENERGA LAS INDUSTRIAS Y LOS RECURSOS NATURALES NO RENOVABLES
Por: Catalina Malacatus Pgina 5
Autmatas y gramticas
Decimos que una gramtica regular G es equivalente a un autmata M (G ~ M) si el lenguaje reconocido por el autmata es igual al lenguaje generado por la gramtica, es decir, si L(G) = L(M). Ejemplo: Gramtica G con V = {a, b, S, A}, E = {a, b}, variables = {S, A}, el smbolo inicial es S y las reglas de produccin son S aS | aA A bA | b
G y M son equivalentes, ambos reconocen a + b + .
Conversin de gramticas regulares a autmatas finitos Sea G = (V, E G , R, S) una gramtica regular. Un AFN que reconoce el mismo lenguaje que G es el autmata M = (K, S M , o, s, F) definido por
(V E) {Z} si existe alguna regla A a (A variable y a smbolo terminal) K = (V E) (variables) en caso contrario.
El alfabeto del autmata consiste de los smbolos terminales de la gramtica, es decir, E M = E G . B cuando exista una regla A aB (a smbolo terminal y A, B variables) o(A,a) = Z cuando exista una regla A a (a smbolo terminal y A variable)
El estado inicial del autmata es el smbolo inicial de la gramtica. {A | A es una regla} {Z} si Z e K F = {A | A es una regla} en caso contrario
Conversin de gramticas regulares En palabras: Asociar a los smbolos no terminales (variables) de la gramtica los estados del autmata. Cada regla A bC de la gramtica nos define una transicin o(A, b) = C; A y C son variables, b es terminal. Las reglas A b, en caso que haya, nos definen transiciones o(A, b) = Z, donde Z es un nuevo estado para el que no hay un smbolo no-terminal asociado.
UNIVERSIDAD NACIONAL DE LOJA AREA DE LA ENERGA LAS INDUSTRIAS Y LOS RECURSOS NATURALES NO RENOVABLES
Por: Catalina Malacatus Pgina 6
Ejemplo Convertir una gramtica regular a un autmata finito. S aA S bA A aB A bB A a B aA B bA
Conversin de autmatas finitos a gramticas regulares Asociar a los estados del autmata los smbolos no terminales de la gramtica. El smbolo inicial de la gramtica corresponde al estado inicial del autmata. La transicin o(A, b) = C define la regla A bC. En caso de que el estado C en la transicin o(A, b) = C sea un estado final, entonces aadimos la regla A b, adems de la regla A bC, ya incluida en el paso anterior. Ejemplo Convertir un autmata finito a una gramtica regular. Q 0 aQ 1
Q 0 bQ 0
Q 1 aQ 2
Q 1 bQ 0
Q 2 aQ 3
Q 2 bQ 0
Q 3 aQ 3
Q 3 bQ 3
Q 0 a
Q 0 b
Q 1 a
Q 1 b
Q 2 b
UNIVERSIDAD NACIONAL DE LOJA AREA DE LA ENERGA LAS INDUSTRIAS Y LOS RECURSOS NATURALES NO RENOVABLES