Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tema Fisica
Tema Fisica
1.1 INTRODUCCIN
En cualquier lenguaje humano vemos que hay una serie de componentes que se
repiten. Cada lenguaje tiene su alfabeto, por ejemplo el alfabeto latino, el griego, el
chino; concatenando smbolos se forman las palabras y concatenando palabras se
obtienen las frases. Ahora bien, no basta concatenar palabras correctas para obtener
frases, se deben seguir unas reglas de sintaxis determinadas por la gramtica propia de
cada lengua en cuestin. De manera que cuando leemos un prrafo en una cierta lengua,
pongamos en espaol, podemos detectar tres tipos de errores: puede ocurrir que
encontremos smbolos que no pertenecen al alfabeto del espaol, por ejemplo ma*7a;
podra tambin ocurrir que tengamos faltas de ortografa, las palabras estn todas
escritas con caracteres del alfabeto latino, pero no todas las palabras son correctas,
ejemplo: vurro el que lo lea; por ltimo podemos encontrar que aunque las palabras
sean todas en espaol una frase no tenga sentido porque su sintaxis no es correcta, por
ejemplo: yo tu entonces casa.
As, por ejemplo, cuando escribimos un trozo de programa podemos cometer cualquiera
de los tres tipos de errores. Los programas modernos llevan generalmente incorporados
analizadores lxicos y sintcticos, de modo que cuando se detecta un error el programa
avisa dnde est y de qu tipo es.
1
Inmaculada Luengo
1. Lenguajes y Gramticas
1.1 Introduccin
Las definiciones que veremos a continuacin hacen abstraccin del alfabeto concreto,
los smbolos admitidos como vlidos, y generalizan el concepto de reglas gramaticales y
gramticas.
SMBOLO.
Ejemplos:
a,*, 2, , ta, son 5 smbolos.
1.2.2
ALFABETO.
Ejemplos:
1 = {a ,b ,L , z} 2 = {0 ,1} 3 = {la ,ba , ca , da} 4 = {0 ,1,L ,9} son 4 alfabetos.
1.2.3
PALABRA.
Ejemplos:
Camisa, door, table, for, antena, werse, aaaa, son palabras sobre 1
001100, 0, 1111, 10 son palabras sobre 2
baba, lacada, caca, dalala, son palabras sobre 3
0, 18, 01214, 9999 son palabras sobre 4
2
Inmaculada Luengo
1. Lenguajes y Gramticas
1.2.4
Ejemplos:
Camisa tiene longitud 6 sobre 1 . Con smbolos sera = camisa, = 6
Cada tiene longitud 4 sobre 1 , pero longitud 2, si la consideramos sobre 2
1.2.5
PALABRA VACA
Por convenio se acepta que sobre cualquier alfabeto existe una palabra que llamamos
palabra vaca, cuya longitud es 0 y que denotamos por . Entindase que no es un
espacio en blanco, es slo un concepto.
1.2.6
UNIVERSO DE UN ALFABETO
El conjunto de todas las palabras sobre un alfabeto , incluida la palabra vaca, recibe
el nombre de universo del alfabeto y se representa por * .
1.2.7
LENGUAJE.
Ejemplos:
L1 = {Camisa, door, table, for, antena, werse, aaaa} es un lenguaje sobre 1
L2 = {001100, 0, 1111, 10} es un lenguaje sobre 2
3
Inmaculada Luengo
1. Lenguajes y Gramticas
CONCATENACIN DE PALABRAS.
= uv.
Ejemplos:
Sea u = 01, v = 100 la concatenacin de ambas es = uv= 01100
Sea u = az, v= men, la concatenacin es = uv = azmen
1.3.2
4
Inmaculada Luengo
1. Lenguajes y Gramticas
1.3.3
Sea una palabra sobre cierto alfabeto . Sean u y v dos palabras sobre tales que
Ejemplos:
Si = camisa, entonces los prefijos de son
u0 = , u1 = c , u2 = ca , u3 = cam , u4 = cami , u5 = camis , u6 = camisa
Y los sufijos
v0 = , v1 = a , v2 = sa , v3 = isa , v 4 = misa , v5 = amisa , v6 = camisa
1.3.4
Sea una palabra sobre cierto alfabeto . Llamamos inversa (o reflejada) de la palabra
1 = a n L a 2 a1 .
Ejemplos:
Si, como antes, tomamos = camisa, entonces 1 = asimac
Puede ocurrir que una palabra coincida con su inversa como es el caso de = ana; tales
palabras reciben el nombre de palndromos.
1.3.5
PALABRAS.
i)
1. Lenguajes y Gramticas
ii)
1.3.6
k)
si k > 0
LL
k
=
si k = 0
k )
1 LL 1 si k < 0
Ejemplos:
UNIN DE LENGUAJES
1.4.2
INTERSECCIN DE LENGUAJES.
6
Inmaculada Luengo
1. Lenguajes y Gramticas
1.4.3
COMPLEMENTARIO DE UN LENGUAJE
CONCATENACIN DE LENGUAJES
Dados dos lenguajes L1 y L2, la concatenacin de ambos viene son todas las palabras
que se pueden obtener concatenando una palabra de L1 con una de L2
L1 L2 = {xy : x L1 , y L2 }
Ejemplos:
1.4.5
INVERSO DE UN LENGUAJE
Sea L un lenguaje, su lenguaje inverso viene dado por las palabras inversas de las de L,
es decir
L1 = 1 : L
1.4.6
POTENCIAS DE UN LENGUAJE
k
L = {}
si k = 0
k )
L1 LL L1 si k < 0
Ejemplos:
1. Lenguajes y Gramticas
1.4.7
L+ = Lk
k =1
es decir todas las palabras que se obtienen concatenando cualquier nmero finito de
palabras de L.
1.4.8
L* = Lk
k =0
8
Inmaculada Luengo
1. Lenguajes y Gramticas
1.4.9
ALGUNAS
PROPIEDADES
DE
LAS
OPERACIONES
CON
LENGUAJES
1. Lenguajes y Gramticas
1.5.Gramticas Formales
Hemos construido una frase utilizando slo las reglas anteriores. Decimos que mara
ama a sultn es una frase de la gramtica. De modo anlogo
<frase> <sujeto><predicado> juan<predicado>
juan <verbo intransitivo> juan camina
As juan camina es otra frase de nuestra gramtica.
Queremos hacer una definicin formal de gramtica, para ello vamos a tratar de abstraer
lo principal de lo que en el lenguaje normal llamamos gramtica.
Observamos que hay dos tipos de componentes: los que escribimos entre corchetes <
> y las que no. Llamaremos a esos dos tipos de objetos no terminales y terminales,
respectivamente. Obsrvese que una verdadera frase est escrita slo con terminales y
los no terminales se usan slo en pasos intermedios, para construir con sintaxis correcta.
Lo fundamental de la gramtica son las reglas que nos van a permitir formar frases
correctas. Slo las frases que formemos de acuerdo a esas reglas sern frases correctas
del lenguaje de nuestra gramtica.
Antes de pasar a definir lo que es una gramtica, daremos unas definiciones previas.
1.5.1
REGLA O PRODUCCIN.
Dado un alfabeto , llamamos regla a un par ordenado que se escribe u:= v, donde u y v
son palabras sobre . En realidad una regla nos va a permitir cambiar la palabra u por la
palabra v siempre que queramos, (pero no al revs, v por u).
1.5.2
REGLA COMPRESORA
1. Lenguajes y Gramticas
1.5.3
1.5.Gramticas Formales
DERIVACIN DIRECTA.
Sea x:= y una regla sobre un alfabeto y sea una palabra tal que = uxv, entonces
decimos que la palabra w = uyv es una derivacin directa de y lo escribimos w o
bien uxv uyv.
1.5.4
DERIVACIN
Ejemplos:
Sea ={a,.,z, sean las reglas (1) ab:= aba, (2) aa:= o, (3) ma:=tea. Sea la palabra
calabaza, podemos escribir
(1)
i)
ii)
calabaaza calaboza
(2 )
(3 )
(3 )
rizoma rizotea
(1 )
(2 )
(1)
1.5.5
GRAMTICA.
1. Lenguajes y Gramticas
1.5.Gramticas Formales
Ejemplos:
T = juan, antonio, mara, pepa, ama, lava, peina, adora, paula, sultn, corre,
salta, camina
<frase> es el axioma
12
Inmaculada Luengo
1. Lenguajes y Gramticas
1.5.6
1.5.Gramticas Formales
FORMA SENTENCIAL.
1.5.7
SENTENCIA.
Dada una gramtica G = (T, N, S, P) y una palabra que slo contiene smbolos
terminales (T*) decimos que es una sentencia de G si puede derivarse desde el
axioma, es decir si S* .
Segn estas definiciones, todas las sentencias son formas sentenciales, pero no al revs.
Cualquier derivacin del axioma es una forma sentencial, pero slo son sentencias las
derivaciones que contengan exclusivamente smbolos terminales de G.
Ejemplos:
Sea la gramtica G3 = (T, N, S, P) dada por S:= xSy / xy, siendo T = {x,y}, el nico
no terminal es S, que adems necesariamente es el axioma. Las nicas derivaciones
posibles partiendo de S son del tipo
S xSy xxSyy .xxxxyyyy (tantas y como x)
xSy, xxSyy son formas sentenciales por que se derivan del axioma; no son
13
Inmaculada Luengo
1. Lenguajes y Gramticas
1.5.8
1.5.Gramticas Formales
L(G ) = *T : S *
Ejemplos:
Sea la gramtica G1 dada en los ejemplos anteriores cuyas reglas son S:= xSy / xy Las
nicas derivaciones posibles partiendo de S son del tipo
S xSy xxSyy .xxxxyyyy (tantas y como x)
Por tanto podemos escribir L(G) = {xnyn : n>0}.
Si consideramos la gramtica G2 las sentencias son del tipo maria lava antonio juan
corre , etc, Todas las sentencias constituyen el lenguaje de G2.
1.5.9
GRAMTICAS EQUIVALENTES.
Dos gramticas decimos que son equivalentes si tienen el mismo lenguaje asociado.
Ejemplos:
El mayor problema que nos encontramos es dada una gramtica y una palabra escrita
sobre el alfabeto de smbolos terminales, decidir si la palabra pertenece o no al lenguaje
de la gramtica, es decir si se puede obtener como una derivacin del axioma.
14
Inmaculada Luengo
1. Lenguajes y Gramticas
1.5.Gramticas Formales
Las gramticas fueron clasificadas por Noah Chomsky, atendiendo a la forma de las
reglas en:
Gramticas tipo 3 o regulares: no hay ninguna regla compresora salvo quiz S:=
, siendo S el axioma; adems la parte izquierda de todas las reglas debe ser
exactamente un nico no terminal y la parte derecha o es un nico smbolo
terminal o bien es un terminal seguido de un no terminal o al revs. Las
gramticas regulares se dividen en dos clases atendiendo a esta ltima condicin.
i) Gramtica lineal a la izquierda, sus reglas son de uno de los tipos
siguientes A:= b, A:= Ab, siendo AN , bT.
ii) Gramtica lineal a la derecha, sus reglas son de uno de los tipos siguientes
A:= b, A:= bA, siendo AN , bT.
Ejemplos:
A:= BC1
ii)
1B1A:=1B11B1
15
Inmaculada Luengo
1. Lenguajes y Gramticas
iii)
1BC:= 11
iv)
A:=1D
v)
B:= 0
vi)
D:= B1
1.5.Gramticas Formales
Son una forma de representacin de las derivaciones a partir del axioma de una
gramtica. Slo se puede representar con rboles las derivaciones en gramticas al
menos dependientes del contexto.
Se dibuja un rbol cumpliendo las siguientes condiciones:
de cada nodo no terminal salen tantas ramas como smbolos tiene la parte
derecha de la regla que se va a utilizar.
Ejemplos:
1. Lenguajes y Gramticas
1.5.Gramticas Formales
La palabra derivada se obtiene leyendo los smbolos correspondientes a los nodos hojas
de izquierda a derecha.
Ya hemos visto en la clasificacin de las gramticas que las reglas compresoras no son
aceptadas en las gramticas tipos 1,2 y 3, salvo S:= , donde S es el axioma. A pesar de
esa restriccin con frecuencia encontramos gramticas con reglas del tipo A:= , donde
A es un no terminal distinto del axioma. No es un gran problema a la hora de tratar
dichas gramticas porque es fcil construir una gramtica equivalente a la dada sin
reglas compresoras no permitidas.
Sea G = (T, N, S, P) una gramtica y sea A:= una de sus reglas donde A no es el
axioma. Si eliminamos la regla A:= y por cada regla w:=uAv aadimos la regla w:=
uv. la gramtica obtenida es equivalente a la dada.
Ejemplos:
17
Inmaculada Luengo
1. Lenguajes y Gramticas
1.5.Gramticas Formales
slo dos reglas tales que en la parte derecha aparece M, S:= aMa y M:= aMa por tanto
aadimos una regla S:= aa y otra regla M:= aa y nos queda la nueva gramtica
S:= aMa / aa / bNb
M:= aMa / aa / N
N.= bNb / bb
que es equivalente a la dada.
18
Inmaculada Luengo