Este documento presenta información sobre diferentes tipos de gramáticas formales. En primer lugar, se proporciona un cuadro resumiendo las características principales de las gramáticas dependientes del contexto, independientes del contexto y regulares. Luego, se dan ejemplos ilustrativos de cada tipo de gramática. Finalmente, se explica brevemente el concepto de árbol de derivación y su uso para representar las derivaciones de una gramática.
1. REPUBLICA BOLIVARIANA DE VENEZUELA
MINISTERIO DE EDUACION Y DEPORTE
FACULTAD DE INGENIERIA
UNIVERSIDAD FERMIN TORO (CABUDARE)
INTEGRANTE:
Roberto Zanetti CI. 19.350.616
MATERIA: Automatas
PROF. ING. Edecio Freitez
CABUDARE; 03 DE AGOSTO DE 2013
2. 1. Realice un cuadro donde se destaquen las principales
Características de los 3 tipos de gramáticas estudiadas.
Tipo Gramática Restricciones a la
forma
de las Reglas
Lenguaje Autómata Otras
características
1 Dependientes
del Contexto o
Sensibles de
Contexto
La parte derecha
contiene como mínimo
los símbolos de la
parte izquierda
AµB aAβB
Donde A,B en V y µ,β
en
(V U T)*
Dependiente
del Contexto Las máquinas
que los aceptan
son autómatas
linealmente
acotados (linear-
bounded).
Las
producciones
son no
contractivas
Nunca genera a
la palabra nula
2 Independiente
del Contexto
La parte izquierda solo
puede tener un
símbolo
A aβ,
Donde A en V, y β en
(V
U T)*
Independiente
del Contexto
Máquinas que
los aceptan:
Autómata a Pila
(Pushdown
Automaton)
No hay
restricciones al
lado derecho
3 Regulares La regla solo puede
tener 2 formas:
AaaB y Aaa, donde
A,B en V y a en T
Regulares
Máquinas que
los aceptan:
autómata finito,
determinista o no
determinista.
El lado izquierdo
debe consistir en
un solo no
terminal
El lado derecho
debe ser un
terminal seguido
de un
no terminal, o un
solo terminal o la
cadena vacía
3. 2. Para cada una de las gramáticas estudiada cite un ejemplo
Diferente al que se muestra en el material
Gramáticas dependientes del Contexto o Sensibles de Contexto
Esta gramática genera el canónico nolengua context-free :
Arco del → de S
R del arte del → | b
bbcc del → del bTc
bbUT del → del bTT
→ UU DE UT
→ Vcc de VUc del → de UUc
→ UV VV
bbcc del → del bVc
bbWV del → del bVV
→ WW DE WV
→ Tcc de TWc del → de WWc
→ TT DEL PESO
La cadena de la generación para el bbb ccc del aaa es:
S
arco
aaRTc
aaaRTTc
aaabTTc
aaabbUTc
aaabbUUc
aaabbVUc
aaabbVcc
aaabbbccc
Gramáticas más complicadas se pueden utilizar para analizar , y otras idiomas con
aún más letras:
S -> abcd
S -> aXbcd
Xb -> bX
Xc -> bYc
Yc -> cY
Yarda -> Rcdd
cR -> Rc
Br -> Rb
aR -> aaX | aa
4. (Esta gramática no es de hecho sensible al contexto, debido a la presencia de
producciones tales como Xb -> bX. Sin embargo, existe una gramática sensible al
contexto para esta lengua.)
La cadena de la generación para el ddd del ccc del bbb del aaa es:
S
aXbcd
abXcd
abbYcd
abbcYd
abbcRcdd
abbRccdd
abRbccdd
aRbbccdd
aaXbbccdd
aabXbccdd
aabbXccdd
aabbbYccdd
aabbbcYcdd
aabbbccYdd
aabbbccRcddd
aabbbcRccddd
aabbbRcccddd
aabbRbcccddd
aabRbbcccddd
aaRbbbcccddd
aaabbbcccddd
Gramáticas Independiente del Contexto
Sea G una gramatica (V, Σ, S, P) dada por:
V = {S}
Σ = {a}
P = {S → aS, S → λ}
Se tiene S ⇒ λ y
S ⇒ aS ∗ =⇒ a· · ·aS ⇒ a· · ·a.
Por consiguiente, L(G) = a∗.
De manera m´as simple, podemos presentar una gram´atica GIC listando sus
producciones y separando con el s´ımbolo | las producciones de una misma
variable. Se
5. supone siempre que las letras may´usculas representan variables y las letras
min´usculas representan s´ımbolos terminales. As´ı la gram´atica del ejemplo
anterior se presenta
simplemente como:
S → aS | λ.
GRAMÁTICAS REGULARES Y LENGUAJES REGULARES
sea el AFD de la siguiente figura:
acepta el lenguaje a* b. La correspondiente gramática regular será:
Q1 → a Q1 Ib Q2
Q2 → a Q3 Ib Q3Iλ
Q3 → a Q3 Ib Q3
Es posible probar que cualquier palabra ω que sea aceptada por el AFD M, puede
ser generada por la gramática regular G. Esto significa que L(G) = L(M).
También es posible deducir un AFND a partir de una gramática regular G.
Sea G = (N, ∑, S0, P) una G.R., se define M = (Q, ∑, S, F, δ) como sigue:
Q = N ∪ {ƒ}, donde ƒ es un nuevo símbolo.
S0 = S
F = {ƒ}
y δ se construye a partir de las producciones de P, como se indica a continuación:
a, b1. Si A → σ1…σn B es una producción de P, con A y B como no terminales,
entonces se agregan a Q los nuevos estados q1, q2, …, qn-1 y las transiciones
siguientes:
δ (A, σ1…σn ) = δ (q1 , σ1…σn ) = …= δ (q n-1, σn ) = B
2. Si A → σ1…σn es una producción de P, entonces se añadirán a Q los nuevos
estados q1, q2, …, q n-1 y a δ, las transiciones siguientes:
δ (A, σ1…σn ) = δ (q1 , σ1…σn ) = …= δ (q n-1, σn ) = ƒ
6. Gramáticas Regulares
Derivación de la gramática.
L3 = {xc3m/ x ∈ {a, b}* y la cantidad de b’s es par y m ≥ 0}, siendo L3 = L(M3D)
M3D = < {e0, e1, e2, e3, e4}, {a, b, c}, δ3D, e0, {e0, e4}>
δ3D está definida por el siguiente diagrama de transición de estados
Como al estado inicial entran arcos, se asocia el símbolo distinguido S y además
un símbolo no
Terminal A.
La gramática correspondiente a este lenguaje es
G = ({A, B, C, D, E}, {a, b, c}, P, S), siendo P el siguiente conjunto:
S → ε (el estado inicial es también final) A → cC
S → aA B → aB
S → a B → bA (se usa el símbolo no terminal
asociado al estado inicial)
S → bB B → b
S → cC C → cD
A → aA D → cE
A → a D → c
A → bB E → cC
7. 3. Defina Árbol de derivación de gramáticas y explique su uso.
Arbol de derivación
Llamamos derivación a una secuencia de pasos de derivación que generan una
palabra x L(G) a partir del símbolo privilegiado S.
A cada derivación de una palabra producida por una gramática corresponde
un árbol de la derivación, cuya raíz es la variable inicial. Los hijos de cada nodo
son los elementos de la parte derecha de la regla de producción que se aplica en
cada paso de la derivación.
Ejemplo:
Sea L = {a}*; P = { Regla1: S a S | Regla2: S }
La palabra x = a2 es producida por la derivación:
1 1 2
S a S a a S a a
A esta derivación le corresponde el siguiente árbol de derivación
S
a S
a S
Como se ve, las hojas del árbol son o bien símbolos terminales o bien .
Con esta G cada palabra se genera con un árbol único, pero en general no es así.
Veamos otra G que genera el mismo L: P = { 1,SSS | 2,a |3, }.
8. Con esta nueva G una misma palabra puede ser generada con diversas
derivaciones. Dos derivaciones diferentes para producir x = a2 son:
1 2 2
S S S a S a a
1 1 2 2 3
S S S S S S a S S a a S a a
La segunda derivación es una muestra de las muchas derivaciones que pueden
efectuarse con diferentes longitudes de cadenas con el símbolo auxiliar, ya que
contamos con la regla de producción 3 para eliminarlo. Observemos también que,
para una misma longitud de cadena, tenemos libertad para eliminar cualquiera de
las tres S, lo que daría lugar a derivaciones diferentes.
Cada derivación tiene asociado un árbol de derivación único. Es ésa una regla
general.
Así a la primera derivación le corresponde el árbol siguiente de la izquierda y a la
segunda el otro:
S S
S S S S
a a a S
a
Sin embargo un mismo árbol de derivación puede representar varias derivaciones
diferentes. Por ejemplo el árbol de la izquierda también representa a la derivación
1 2 2
S S S S a a a
9. 4. Explique ampliamente que significa Sensible al Contexto y Libre
del contexto, Justifique su respuesta
La gramática tipo 1 También llamadas gramáticas sensibles al contexto. Es
importante ya que toma cuenta la ubicación de los símbolos no terminales
en la regla de derivación (que preceden y suceden a cada símbolo
Terminal, deben mantener su ubicación en el lado derecho de la regla de
producción tal como aparece en la parte izquierda de la regla de
producción).
Este tipo de gramática se caracteriza porque las partes Izquierdas y Derechas
tienen que tener una parte común y se admite como regla compresora la regla
S→ε.
No existen reglas compresoras, salvo, opcionalmente, la que deriva el axioma a la
palabra vacía.
Existen reglas en las que un símbolo no terminal puede derivar a formas
sentenciales distintas, según los símbolos que aparezcan a su alrededor.
Las reglas de producción son de la siguiente forma:
La gramatica tipo 2 es una gramática independiente del contexto (GIC) es
una cuádrupla G = (N, , S, P), donde:
N: es una colección finita (no vacía) de símbolos no terminales.
E: es un alfabeto.
S: es un no terminal llamado símbolo inicial.
10. P: un conjunto de producciones
Donde generan los lenguajes independientes del contexto. Las reglas son de la
forma con A un no terminal y una cadena de terminales y no terminales. Estos
lenguajes son aquellos que pueden ser reconocidos por un autómata con pila
5. Para el lenguaje dado a continuación obtenga la GIC
Correspondiente. Defina todas sus componentes
L(G) = (ab*Ua*b)*
G= (N,E,S,P)
N= {S}
E= {ab}
P= se forma por S aSa IbSbI