Unidad Temática IVNormalización de Gramáticas
4.1 Gramáticas Libres de Contexto     Las gramáticas libres de contexto     generan lenguajes aceptados por            Aut...
Antecedentes• Hemos dicho que los Autómatas Finitos reconocen los  lenguajes generados por las gramáticas llamadas  regula...
Los Autómatas de Pila• No se sujetan a esta restricción, es decir, si aceptan el  lenguaje x n y n• Se asocian a las gramá...
Las gramáticas libres de contexto• Se diferencían de las gramáticas regulares porque el  lado derecho de sus reglas de ree...
4.1.1 Conceptos Básicos relacionados             con gramáticas• Hemos dicho también que una gramática proporciona  reglas...
Ejemplo de Gleen Brookshear1. <Frase>     < sujeto> <predicado> <punto>2. <Sujeto>     <sustantivo>3. <sustantivo>      Ma...
El ejemplo anterior es de una gramática• Regular, excepto por la primera regla de reescritura.• Libre de Contexto.• Cuyas ...
Y que además• Tiene sus no terminales entre paréntesis  rectangulares y sus terminales sin paréntesis.• Tiene como símbolo...
Preguntas del ejemplo para ejercicio:1. ¿Qué significado tiene el hecho de que la gramática   ejemplo es regular, excepto ...
Otro ejemplo de Brookshear• La gramática             S     XSZ             S     Y             Y     yY             Y     ...
Preguntas del ejemplo para el ejercicio1. ¿Cuáles son los elementos de la gramática   ejemplo?.2. ¿Es ésta una gramática r...
4.1.2 Árboles de derivación yderivación por derecha e izquierda• Hasta ahora se han aplicado reglas de manera  que la no t...
Del segundo ejemplo decimos que:La gramática          S     XSZ           S    Y           Y    yY           Y    λ       ...
Un árbol de derivación• Tiene como nodos las terminales y las no terminales  de la gramática.• El nodo raíz es el símbolo ...
Un tercer ejemplo de Brookshear• Sea la gramática independiente del contexto:       S     zMNz       M     aMa       M    ...
El árbol de derivación para esta cadena es:                       s       z       M               N       z           a   ...
Ejercicio para el tercer ejemplo1. Verifica que el árbol de derivación efectivamente   permita obtener la cadena zazabzbz....
Solución al ejercicio 3 del tercer ejemplo:  Primero representamos el diagrama de transición  de un autómata que acepte el...
El autómata diseñadoEs un autómata finito (Q, ∑ , q0, δ. F) contransiciones               que puede convertirse enun autóm...
0, λ; λ                  0, λ; λ                                                         0, λ; λ                          ...
Asumiendo como válido  El diagrama de transiciones del autómata de pila (M) , puede  obtenerse la correspondiente gramátic...
Aplicando el algoritmo1. Como sólo el estado 3 es de aceptación:              S < 1, λ, 3>2. Para cada uno de los tres es...
Para la transición (1, 0,λ; 1, λ)     <1, λ, 2>  1 <2, λ, 2> <2, λ, 2>< 1, λ, 1>  0 <1, λ, 1> <1, λ, 1>    <1, λ, 2>  1...
Dado que w asume sólo un valor ( λ ) , mientras que ry k asumen tres (1, 2 y 3 respectivamente), cadatransición genera 9 r...
4.1.3 Recursividad por la derecha y por               la izquierda• Puede observarse que las derivaciones pueden  repetirs...
Upcoming SlideShare
Loading in...5
×

Unidad temática iv

77

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
77
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Unidad temática iv"

  1. 1. Unidad Temática IVNormalización de Gramáticas
  2. 2. 4.1 Gramáticas Libres de Contexto Las gramáticas libres de contexto generan lenguajes aceptados por Autómatas de Pila
  3. 3. Antecedentes• Hemos dicho que los Autómatas Finitos reconocen los lenguajes generados por las gramáticas llamadas regulares, lenguajes que también reciben el nombre de regulares.• Estos autómatas se asocian con los Analizadores Léxicos.• Tienen entre sus limitaciones ser incapaces de reconocer el lenguaje x n y n donde n es un número entero positivo cualquiera.• Esto significa que este lenguaje no es un lenguaje regular.
  4. 4. Los Autómatas de Pila• No se sujetan a esta restricción, es decir, si aceptan el lenguaje x n y n• Se asocian a las gramáticas denominadas “libres de contexto” capaces de generar lenguajes entre los cuales se encuentra el arriba mencionado.• A diferencia de los Autómatas Finitos carentes de memoria externa, los autómatas de pila reciben ese nombre porque tienen una pila como memoria externa.
  5. 5. Las gramáticas libres de contexto• Se diferencían de las gramáticas regulares porque el lado derecho de sus reglas de reescritura pueden contener cualquier número de terminales y de no terminales en el orden que sea.• Pero al igual que en las gramáticas regulares se mantiene la restricción de que en el lado izquierdo de las reglas de reescritura debe existir solamente una no terminal.
  6. 6. 4.1.1 Conceptos Básicos relacionados con gramáticas• Hemos dicho también que una gramática proporciona reglas para generar un lenguaje. Estas reglas se llaman “reglas de reescritura, de producción o de derivación” y se forman con elementos llamados “terminales” y “no terminales”, sólo los “no terminales” pueden generar nuevas reglas.• Se puede definir como una cuaterna (V,T,S,R) donde: V = Conjunto finito de no terminales. T= Conjunto finito de terminales. S= Símbolo inicial (elemento de V). R= Conjunto de reglas de reescritura.
  7. 7. Ejemplo de Gleen Brookshear1. <Frase> < sujeto> <predicado> <punto>2. <Sujeto> <sustantivo>3. <sustantivo> Maria4. <sustantivo> Juan5. <predicado> <verbo intransitivo>6. <predicado> <verbo transitivo> <objeto>7. <verbo intransitivo> patinar8. <verbo transitivo> golpear9. <verbo transitivo> quiere10. <objeto> a <sustantivo>11. <punto> .
  8. 8. El ejemplo anterior es de una gramática• Regular, excepto por la primera regla de reescritura.• Libre de Contexto.• Cuyas reglas pueden formar frases como: “Juan quiere a María.” “María golpea a Juan.” “Juan golpea a Juan.” “María quiere a María.” “María quiere patinar.” y otras. Pero no se puede formar la frase “Juan no quiere patinar.”
  9. 9. Y que además• Tiene sus no terminales entre paréntesis rectangulares y sus terminales sin paréntesis.• Tiene como símbolo inicial la no terminal <frase>• Puede considerarse una gramática subconjunto de la gramática española.• El alfabeto de las reglas que contiene, y del lenguaje que genera, incluye todos los símbolos que forman las terminales y las no terminales de esta gramática.
  10. 10. Preguntas del ejemplo para ejercicio:1. ¿Qué significado tiene el hecho de que la gramática ejemplo es regular, excepto por la regla 1 y es de contexto libre?.2. ¿Cómo se puede obtener la frase “Juan quiere a María.”?.3. ¿Qué cambios se tendrían que hacer en las reglas de reescritura de esta gramática para que se pudiera generar la frase “Juan no quiere ir a patinar.”?.
  11. 11. Otro ejemplo de Brookshear• La gramática S XSZ S Y Y yY Y λ X x Z z Puede generarse la cadena xyz mediante las siguientes derivaciones: S XSZ xSZ xYZ xyYZ xyZ xyz
  12. 12. Preguntas del ejemplo para el ejercicio1. ¿Cuáles son los elementos de la gramática ejemplo?.2. ¿Es ésta una gramática regular?. ¿es libre de contexto?3. ¿Qué otras cadenas serían generadas por la gramática?. (cómo se aplicarían las reglas para generarlas).
  13. 13. 4.1.2 Árboles de derivación yderivación por derecha e izquierda• Hasta ahora se han aplicado reglas de manera que la no terminal que se sustituye es la que se encuentra más a la izquierda de la correspondiente regla.• Esto se llama “derivación por la izquierda”.• También podría realizarse una “derivación por la derecha”.• Como caso tomemos el segundo ejemplo de Brookshear e intentemos obtener la cadena xyz mediante una derivación por la derecha.
  14. 14. Del segundo ejemplo decimos que:La gramática S XSZ S Y Y yY Y λ X x Z zPuede generar la cadena xyz mediante las siguientesderivaciones por la derecha:S XSZ XSz XYz Xy Yz Xyz xyz
  15. 15. Un árbol de derivación• Tiene como nodos las terminales y las no terminales de la gramática.• El nodo raíz es el símbolo de inicio.• Los hijos son los símbolos que en la derivación reemplazan al no terminal padre.• Las hojas son las terminales.
  16. 16. Un tercer ejemplo de Brookshear• Sea la gramática independiente del contexto: S zMNz M aMa M z N bNb N z que genera el lenguaje zan zanbmzbmz, siendo n y m números naturales al cual pertenece la cadena zazabzbz.
  17. 17. El árbol de derivación para esta cadena es: s z M N z a M a b N b z z
  18. 18. Ejercicio para el tercer ejemplo1. Verifica que el árbol de derivación efectivamente permita obtener la cadena zazabzbz. Si es así construye un árbol para la cadena zaazaabzbz.2. ¿Mediante esta gramática se podría obtener la cadena zaazaaabbbzbbz? Si es posible construye el correspondiente árbol de derivación, si no es posible di porqué no.3. Construye una gramática que genere cadenas binarias que contengan cualquier cantidad, entera no negativa, de pares de unos. Luego elabora un árbol de derivación para la cadena 01101001.
  19. 19. Solución al ejercicio 3 del tercer ejemplo: Primero representamos el diagrama de transición de un autómata que acepte el lenguaje “pares de unos” 0 0 0 1 1 1 2 3 1
  20. 20. El autómata diseñadoEs un autómata finito (Q, ∑ , q0, δ. F) contransiciones que puede convertirse enun autómata de pila (Q, ∑ , Г, q0, δ. F) contransiciones δ: Q x ( ∑ U λ) Q x Г* siendo Г elalfabeto de pila. El autómata de pila equivalente, suponiendo unapila conteniendo sólo la cadena vacía λ, se puederepresentar de la siguiente manera:
  21. 21. 0, λ; λ 0, λ; λ 0, λ; λ 1, λ; λ 1, λ; λ 1 2 3 1, λ; λLa transición (0, λ; λ) en el estado 1 (al igual que en losestados 2 y 3)significa que cuando la cabeza lectora de lamáquina lee un 0 en la cinta de entrada, se extrae λ(cadena vacía) de la cima de la pila y se coloca λ en lacima de la misma pila. Nótese que, si en lugar de λhubiese otros símbolos de ∑ , podría extraerse einsertarse cualquier símbolo del alfabeto de pila demanera que al final se altere su contenido.
  22. 22. Asumiendo como válido El diagrama de transiciones del autómata de pila (M) , puede obtenerse la correspondiente gramática independiente del contexto mediante el algoritmo siguiente:1. Para cada estado de aceptación f de M, forme la regla de reescritura S  < q0, λ, f).2. Para cada estado p en M forme la regla de reescritura <p, λ, p>  λ.3. Para cada transición (p, x, y; q, z), con y ≠ λ genere una regla de reescritura <p, y, r> x <q, z, r> para cada estado r de M.4. Para cada transición de la forma (p, x, λ; q, z), genere todas las reglas de reescritura de la forma <p, w, r>  x <q, z, k> <k, w, r>, donde w es un símbolo de pila o λ, mientras que k y r (que pueden ser iguales) son estados de M.
  23. 23. Aplicando el algoritmo1. Como sólo el estado 3 es de aceptación: S < 1, λ, 3>2. Para cada uno de los tres estados < 1, λ, 1>  λ <2, λ, 2>  λ <3, λ, 3>  λ3. No existen transiciones (p, x, y; q, z), con y ≠ λ4. Se establece la regla <p, w, r>  x <q, z, k> <k, w, r>, dondew = { λ }; k = 1,2,3; r = 1, 2, 3 Por lo que al realizar este 4to paso se tendrán las siguientes reglas de reescritura:
  24. 24. Para la transición (1, 0,λ; 1, λ) <1, λ, 2>  1 <2, λ, 2> <2, λ, 2>< 1, λ, 1>  0 <1, λ, 1> <1, λ, 1> <1, λ, 2>  1 <2, λ, 3> <3, λ, 2><1, λ, 1>  0 <1 , λ, 2> <2, λ, 1> <1, λ, 3>  1<2, λ, 1> <1, λ, 3><1, λ, 1 >  0 < 1, λ, 3> <3, λ, 1> <1, λ, 3>  1<2, λ, 2> <1, λ, 3><1, λ, 2>  0 < 1, λ, 1> <1, λ, 2> <1, λ, 3>  1<2, λ, 2> <1, λ, 3><1, λ, 2>  0 <1, λ, 2> <2, λ, 2> para la transición (2,0, λ; λ,2)<1, λ, 2>  0 <1, λ, 3> <3, λ, 2> <2, λ, 1>  0 <2, λ, 1> <1, λ, 1><1, λ, 3>  0 <1, λ, 1> <1, λ, 3> <2, λ, 1>  0<2, λ, 2> <2, λ, 1>< 1, λ, 3>  0 <1, λ, 2> <1, λ, 3> <2, λ, 1>  0 <2, λ, 3> <3, λ, 1>< 1, λ, 3 >  0 <1, λ, 3> <3, λ, 3> <2, λ, 2>  0 <2, λ, 1> <1, λ, 2>Para la transición (1, 1, λ; 2, λ) <2, λ, 2>  0<2, λ, 2> <2, λ, 2><1, λ, 1 >  1 <2, λ, 1> <1, λ, 1> <2, λ, 2>  0<2, λ, 3> <3, λ, 2><1, λ, 1>  1 <2 , λ, 2> <2, λ, 1> <2, λ, 3>  0<2, λ, 1> <1, λ, 3><1, λ, 1>  1 <2, λ, 3> <3, λ, 1> <2, λ, 3>  0<2, λ, 2> <2, λ,3>< 1, λ, 2>  1<2, λ, 1> <1, λ, 2> <3, λ, 3>  0<2, λ, 3> <3, λ,3>
  25. 25. Dado que w asume sólo un valor ( λ ) , mientras que ry k asumen tres (1, 2 y 3 respectivamente), cadatransición genera 9 reglas de reescritura (3 x 3 x 1),como ha sucedido en las tres transiciones cuyasreglas generadas se muestran en la diapositivaanterior. Vale la pena que concluyas de escribir lasreglas de reescritura que generan las otras cuatrorestricciones.
  26. 26. 4.1.3 Recursividad por la derecha y por la izquierda• Puede observarse que las derivaciones pueden repetirse sustituciones cíclicas y recursivas de manera que existen casos en que debemos ayudarnos de reglas lambda (épsilon) para concluir. De la misma manera se observa esto en los árboles como en los procesos de derivación por la izquierda o por la derecha.• Esta propiedad de recursividad en la derivación da origen al llamado “lema de bombeo” que posteriormente será utilizado.
  1. ¿Le ha llamado la atención una diapositiva en particular?

    Recortar diapositivas es una manera útil de recopilar información importante para consultarla más tarde.

×