Professional Documents
Culture Documents
Contenido
Gramtica libre de contexto ...................................................................................................... 2 Definicin formal ..................................................................................................................... 2 Ejemplos .................................................................................................................................. 3 Ejemplo 1 ............................................................................................................................. 3 Ejemplo 2 ............................................................................................................................. 3 Ejemplo 3 ............................................................................................................................. 3 Ejemplo 4 ............................................................................................................................. 3 Otros ejemplos .................................................................................................................... 3 Derivaciones y rboles sintcticos....................................................................................... 4 Formas normales .................................................................................................................... 6 Problemas indecidibles .......................................................................................................... 6 Propiedades de los lenguajes libres de contexto .............................................................. 7 Gramtica Regular ................................................................................................................. 8 Bibliografa ............................................................................................................................... 9
Pgina 1
Definicin formal
As como cualquier gramtica formal, una gramtica libre de contexto puede ser definida mediante la 4-tupla: G = (Vt,Vn,P,S) donde; Vt es un conjunto finito de terminales Vn es un conjunto finito de no terminales P es un conjunto finito de producciones el denominado Smbolo Inicial los elementos de P son de la forma
Pgina 2
Ejemplos
Ejemplo 1
Una simple gramtica libre de contexto es S aSb | Donde | es un o lgico y es usado para separar mltiples opciones para el mismo no terminal, indica una cadena vaca. Esta gramtica genera el lenguaje no regular .
Ejemplo 2
Aqu hay una gramtica libre de contexto para expresiones enteras algebraicas sintcticamente correctas sobre las variables x, y y z: S x | y | z | S + S | S - S | S *S | S/S | (S) Generara, por ejemplo, la cadena (x + y) *x - z *y / (x + x)
Ejemplo 3
Una gramtica libre de contexto para un lenguaje consistente en todas las cadenas que se pueden formar con las letras a y b, habiendo un nmero diferente de una que de otra, sera: SU|V U TaU | TaT V TbV | TbT T aTbT | bTaT | T genera todas las cadenas con la misma cantidad de letras a que b, U genera todas las cadenas con ms letras a, y V todas las cadenas con ms letras b.
Ejemplo 4
Otro ejemplo para un lenguaje es . No es un lenguaje
regular, pero puede ser generado por la siguiente gramtica libre de contexto. S aSc | B B bBc | E
Otros ejemplos
Las gramticas libres de contexto no estn limitadas a lenguajes matemticos formales. La gramtica de Lojban, un lenguaje artificial hablado con gran capacidad expresiva, es tambin libre de contexto y no ambiguo. El lingista indio Pnini describi el snscrito usando una gramtica libre de contexto. Recientemente se ha sugerido que una clase de poesa Tamil llamada Venpa utiliza principalmente una gramtica libre de contexto.
Pgina 3
SS+S (1) SS+S+S (1) S1+S+S (2) S1+1+S (2) S1+1+1 (2) {{{1}S + {1}S}S + {1}S}S
Donde {...}S indica la subcadena reconocida como perteneciente a S. Esta jerarqua tambin se puede representar mediante un rbol sintctico:
Pgina 4
Este rbol es llamado rbol de sintaxis concreta de la cadena (ver tambin rbol de sintaxis abstracta). En este caso, las derivaciones por la izquierda y por la derecha presentada definen la sintaxis del rbol; sin embargo, hay otra derivacin (por la izquierda) de la misma cadena. La derivacin por la derecha: S S + S (1) S 1 + S (2) S 1 + S + S (1) S 1 + 1 + S (2) S 1 + 1 + 1 (2) Define el siguiente rbol sintctico: S /|\ / | \ / | \ S '+' S | /|\ | / | \ '1' S '+' S | | '1' '1'
Si para una cadena del lenguaje de una gramtica hay ms de un rbol posible, entonces se dice que la gramtica es ambigua. Normalmente estas gramticas son ms difciles de analizar por que el analizador no puede decidir siempre que produccin aplicar
Pgina 5
Formas normales
Una gramtica que no genera la cadena vaca puede ser transformada en una equivalente (que genera el mismo lenguaje) en forma normal de Chomsky o en forma normal de Greibach. La simplicidad de las reglas en forma normal de Chomsky tiene implicaciones tericas y prcticas. Por ejemplo, dada una gramtica libre de contexto, se puede usar su forma normal para construir un algoritmo de coste polinomial que decida si una cadena forma parte del lenguaje definido por la gramtica o no (algoritmo CYK).
Problemas indecidibles
Algunas de las propiedades de las gramticas, y en general, de los lenguajes libres del contexto son de naturaleza decidible, existiendo por lo tanto algoritmos de decisin para resolverlos. Sin embargo, al contrario que en el caso de los lenguajes regulares, existen problemas interesantes para los cuales se ha mostrado su naturaleza indecidible, y por lo tanto, se carece del correspondiente algoritmo. Uno de los ms sencillos es el de decidir si una gramtica libre del contexto dada acepta el lenguaje de todas las posibles cadenas de smbolos. Este lenguaje viene a ser una reduccin del problema de parada de una mquina de Turing con una entrada particular, y por lo tanto, un problema indecidible. La reduccin usa el concepto de historia computacional, es decir, una cadena que describa el proceso de computacin global de una mquina de Turing, esta cadena podra describirse mediante una gramtica libre del contexto. Podemos construir, por tanto, una gramtica libre del contexto que genere todas las cadenas no aceptadas por la mquina de Turing indicada. Una consecuencia importante es que tambin es indecidible la comparacin entre dos gramticas libres del contexto para comprobar si el lenguaje generado coincide. Por el contrario, el problema sencillo de determinar si dada una cadena es aceptada por una determinada gramtica libre del contexto, s que es decidible, y por lo tanto podr escribirse el correspondiente algoritmo para decidirlo.
Pgina 6
Pgina 7
Gramtica Regular
En informtica una gramtica regular es una gramtica formal (N, , P, S) y puede ser clasificada en regular izquierda o derecha. Las gramticas regulares slo pueden generar a los lenguajes regulares de manera similar a los autmatas finitos y las expresiones regulares. Dos gramticas regulares que generan el mismo lenguaje regular se denominan equivalentes. Toda gramtica regular es una gramtica libre de contexto. En una gramtica regular derecha cuyas reglas de produccin P son de la siguiente forma:
1. A > a, donde A es un smbolo no-terminal en N y a uno terminal en 2. A > aB, donde A y B pertenecen a N y a pertenece a 3. A > , donde A pertenece a N.
En una gramtica regular izquierda, las reglas son las siguientes: 1. A > a, donde A es un smbolo no-terminal en N y a uno terminal en 2. A > Ba, donde A y B pertenecen a N y a pertenece a 3. A > , donde A pertenece a N.
Un ejemplo de una gramtica regular G con N = {S, A}, = {a, b, c}, P se define mediante las siguientes reglas: S S A A aS bA cA
Donde S es el smbolo inicial. Esta gramtica describe el mismo lenguaje expresado mediante la expresin regular a bc . Dada una gramtica regular izquierda es posible convertirla, mediante un algoritmo en una derecha y viceversa.
+ *
Pgina 8
Bibliografa
1. JIMMY WALES Y LARRY SANGER. (2001) HTTP://WIKIPEDIA.ORG : ESTADOS UNIDOS.
Pgina 9