Sie sind auf Seite 1von 21

Modelos Formales No Transformacionales

Ficha de Ctedra
1
MODELOS FORMALES PARA EL LENGUAJE
1
Podemos suponer, en un nivel de descripcin, que el lenguaje natural es simplemente un
conjunto de cadenas finitas de palabras, morfemas, fonemas, o lo que sea. Pero como no
cualquier secuencia posible estar en el lenguaje, deberemos distinguir las cadenas
gramaticales de aqullas que no lo son. As, una gramtica puede considerarse un
mecanismo explcito que permite hacer esta distincin, es decir, seleccionar un
subconjunto de cadenas gramaticales del conjunto de todas las cadenas posibles dado un
alfabeto o vocabulario inicial A.
Si llamamos A* al conjunto de todas las cadenas que pueden formarse con los smbolos de
A (o sea, todas las combinaciones posibles sobre A), obtendremos un conjunto infinito con
la misma cardinalidad que los nmeros naturales N. La cardinalidad de un conjunto,
intuitivamente, es la cantidad de elementos que ese conjunto tiene. Para los conjuntos
finitos, la cardinalidad ser alguno de los nmeros naturales; para los infinitos, en cambio,
sern nmeros especiales
2
. Por ejemplo, la cardinalidad del conjunto infinito de los
nmeros naturales N es N
0
(aleph null o aleph zero). Se define como denumerablemente
infinito a los conjuntos cuya cardinalidad es la de los nmeros naturales, o sea, N
0.
.
Tenemos entonces que A* tiene cardinalidad N0.
Adems, es posible mostrar que los subconjuntos de un conjunto cualquiera (con
cardinalidad k) forman un conjunto cuyo cardinal es 2
k
(en la aritmtica del infinito
tambin puede mostrarse que 2
k
es mayor que k). Si definimos lenguaje sobre el
vocabulario A a cualquier subconjunto de A* vemos que, en particular, el conjunto de
todos los lenguajes sobre A tiene cardinalidad 2
No
y es as un infinito no denumerable (un
conjunto con una cardinalidad mayor a la de los nmeros naturales).
Por otro lado, los mecanismos de generacin de lenguajes que aqu consideraremos
(gramticas formales y autmatas) forman clases denumerablemente infinitas, o sea, tienen
cardinalidad N
0
. Se sigue entonces que hay infinitos lenguajes que no tienen gramtica (en
los trminos de ser caracterizados por un artificio finito). Esto significa, en trminos
intuitivos, que hay lenguajes que no pueden ser completamente caracterizados por un
mecanismo finito (podran ser, meramente, un listado de las cadenas que pertenecen a l).
Los lenguajes que s pueden presentan un cierto orden o patrn en sus cadenas que permite
distinguirlas de otras dentro de A*. Esto, veremos, puede hacerse con una gramtica o un
autmata de recursos finitos.
En resumen, dado un alfabeto o vocabulario A, habr lenguajes sobre A que no presentan
ningn patrn particular y habr otros que s lo presenten y pueden caracterizarse con un
mecanismo llamado gramtica
3
. Dentro de estos ltimos, la complejidad en el patrn
permite distinguir distintos tipos de lenguajes.
El estudio de los lenguajes formales es esencialmente la investigacin de la escala de
complejidad que presenta este patrn de las cadenas. La aplicacin lingstica de estas
investigaciones es el intento de localizar al lenguaje natural dentro de esta escala de
complejidad. En este sentido, es parte de la tarea lingstica caracterizar tan precisamente
como sea posible la clase de lenguajes naturales (actuales y potenciales) y distinguir esa
clase de la clase de todos los sistemas que no pueden ser lenguajes naturales. Las
limitaciones de esta tarea, que no deben dejar de tenerse en cuenta, se deben a que los
lenguajes sern vistos simplemente como conjuntos de cadenas y es claro que las oraciones
de cualquier lenguaje natural tienen una estructura mucho ms compleja que la simple
concatenacin de un elemento con otro. Entonces, establecer la escala de complejidad para
los conjuntos de cadenas y ubicar a los lenguajes naturales en esa escala puede, debido al
abandono de importantes propiedades estructurales, ser la clasificacin del lenguaje natural

1
Adaptacin de captulos de Partee, B, Meule, A, Wall, R. Matematical Methods in Linguistics, Netherlands:
Kluwer Academics Publishers, 1993.
2
Para una explicacin de estas nociones consultar Sartorio, AC, Conjuntos e infinitos, Buenos Aires: Eudeba,
2000. Cap. 2. Y tambin Partee, B. Ob. Cit. Cap 4.
3
Ms adelante veremos la relacin de esto con la nocin de algoritmo y mquina de Turing.
Modelos Formales No Transformacionales
Ficha de Ctedra
2
en una dimensin, en ltima instancia, irrelevante. Extender los resultados del estudio de
los lenguajes formales a la teora lingstica debe hacerse con mucho cuidado.
Consideraremos dos clases de mecanismos formales que pueden funcionar como
gramticas: 1) autmatas y 2) sistemas de reglas de rescritura. Antes de especificar cada
uno y sus relaciones, daremos algunas consideraciones preliminares.
CONCEPTOS BASICOS Y DEFINICIONES
Cadena: Dado un conjunto finito A (el vocabulario o alfabeto), una cadena en A es una
secuencia finita de ocurrencias de los elementos de A. Por ejemplo, sea A={a, b, c}, son
cadenas en A aabca, cccbaaca, abc, etc. La longitud de la cadena ser el nmero de
ocurrencias de los smbolos de A (as, los tres ejemplos tendrn longitud 5, 7 y 3
respectivamente). La cadena de longitud 0 ser la cadena vaca (e). Dos cadenas son
idnticas si tienen la misma ocurrencia de smbolos en el mismo orden (aabbc y aabbc).
Reverso: Dado un alfabeto A, i) si x es una cadena de longitud 0, entonces x
R
= x (e
R
=e),
ii) si x es una cadena de longitud k+1 y es de la forma wa donde a _ A y w _ A* entonces
(wa)
R
= aw
R.
Concatenacin: Es una operacin binaria entre cadenas que simplemente las yuxtapone.
As, abca ^ aab nos da la cadena abcaaab. La concatenacin es asociativa, no es
conmutativa, tiene un elemento identidad (e) y est clausurada
4
.
A* : Es el conjunto de todas las cadenas sobre A.
Lenguaje: a) un lenguaje sobre un vocabulario A es cualquier subconjunto de A*, b) un
lenguaje generado por una gramtica G es el conjunto de todas las cadenas terminales
generadas por G. Como vimos en la introduccin, la definicin a) implica lenguajes con y
sin un patrn particular en sus cadenas. La definicin b) implica lenguajes con un patrn
definido, (lenguajes generados a partir de una gramtica) y podemos escribir L (G) para
dar cuenta de ellos.
Gramtica: Sistema deductivo de axiomas (usualmente, consideramos un solo axioma o
smbolo inicial S) y reglas de inferencia (de la forma ! " #) que generan las oraciones de
L como sus teoremas.
Formalmente: dado un conjunto $ = V
T
% V
N
, una gramtica G es una cudrupla
< V
T
, V
N
, S, R > donde:
V
T
: vocabulario terminal, sobre el cual se formarn las cadenas que son oraciones
de L (convencionalmente usaremos letras minsculas, por ejemplo, V
T
= {a, b, c,
d})
V
N
: vocabulario no terminal, smbolos que estarn en las cadenas intermedias de la
derivacin (convencionalmente usaremos letras maysculas, por ejemplo,
V
N
={S,A,B}
S: smbolo inicial (un miembro de V
N
)
R: conjunto de reglas (conjunto finito de pares ordenados en $*V
N
$* x $*). Las
reglas reescriben una cadena que contenga al menos un smbolo no terminal. Por
ejemplo:
S " AB, A " ac, B " Bd, B " b
Algoritmo: es un procedimiento fijo y determinstico que puede ser aplicado
mecnicamente para proveer un resultado en una cantidad finita de tiempo. Son
generalmente designados para ser aplicados a una clase de problemas y no a un problema
individual.

4
Para estas nociones consultar el anexo A de esta ficha.
Modelos Formales No Transformacionales
Ficha de Ctedra
3
Derivacin: Dada una gramtica G, una derivacin es una secuencia de cadenas x
1
, ..., x
n
(n&1) tal que x
1
= S y para cada x
i
(2 ' i ' n) x
i
se obtiene de x
i-1
por la aplicacin de
alguna regla en R.
rbol de estructura de constituyentes: cuando las reglas de la gramtica se restringen a
rescribir slo un smbolo no terminal es posible construir gramticas que generen
estructura de constituyentes ms que simples cadenas. Estos diagramas (rboles)
representan tres tipos de informacin:
- El agrupamiento jerrquico en constituyentes de las partes de la oracin (los
rboles tienen convencionalmente una orientacin vertical, con los nodos
formantes o terminales en la parte inferior. Las ramas siempre conectan un
nodo ms alto con otro ms bajo y sta es la jerarqua inherente).
- El tipo gramatical de cada constituyente (cada nodo est etiquetado con o
asociado a una categora gramatical; por ejemplo, Verbo, Determinante, Frase
Nominal, etc).
- El ordenamiento de izquierda a derecha de los constituyentes.
Rel. de dominio: un nodo x domina a un nodo y si hay una secuencia de ramas que se
extiende de x a y con la misma orientacin (una secuencia descendente). Esta relacin es
transitiva, reflexiva y antisimtrica (si x domina a y e y domina a x, entonces x = y. Esto
produce un ordenamiento parcial dbil)
Condicin de nodo nico: en todo rbol bien formado hay exactamente un nico nodo que
domina a todos los dems.
Rel precedencia: un nodo x precede a un nodo y si no lo domina. Esta relacin es transitiva,
irreflexiva y asimtrica (si x precede a y entonces y no puede preceder a x. Esto produce un
ordenamiento parcial estricto).
Condicin de exclusividad: para todo nodo x, y si x e y estn en relacin de precedencia,
entonces x e y no estn en relacin de dominio.
Condicin de no enredo: para todo nodo x, y si x precede a y entonces todo nodo
dominado por x precede a todos los nodos dominados por y.
Comando: El nodo x comanda al nodo y ssi x no domina a y, y no domina a x y hay un
nodo S que domina a y.
Reglas: una regla de la forma A " # se leer como rescriba A como #.
Sensibles al contexto: son reglas de la forma A " # / ( _ ), donde / se lee en
el contexto y _ marca la posicin de A. La interpretacin de estas reglas es que
A puede ser remplazada por la cadena # slo si la cadena ( precede
inmediatamente a A y la cadena ) la sigue inmediatamente. Tambin podemos
escribirlas como (A) " (#).
Libres de contexto: son reglas de la forma A " # (pueden verse como reglas
sensibles al contexto con contexto nulo).
Jerarqua chomskiana: incrementando las restricciones sobre la forma de las reglas se
puede establecer una serie de gramticas de poder generativo decreciente.
! Gramtica Tipo 0 (sistema de reglas de escritura irrestricto): son las ms generales
y no tienen ninguna restriccin en la forma de las reglas excepto que en el lado
izquierdo debe haber al menos un smbolo no terminal (el lado izquierdo no puede ser
la cadena vaca).
Modelos Formales No Transformacionales
Ficha de Ctedra
4
! Gramtica Tipo 1 (sistemas de reglas sensibles al contexto): cada regla es de la
forma (A) " (#), donde # * e. Son reglas no contractivas, es decir, producen
cadenas de, por lo menos, la misma longitud.
! Gramticas Tipo 2 (sistema de reglas libres de contexto): cada regla tiene la forma
A " #, donde # puede ser la cadena vaca (es decir, permite la regla A " e).
! Gramticas Tipo 3 (sistemas regulares o lineales a la derecha): cada regla es de la
forma A "xB o A " x, donde A y B son smbolos no terminales y x es una cadena de
smbolos terminales.
Relaciones entre ellas: La clase de gramticas no forman una jerarqua estricta, es decir,
no siempre se da que cada clase sea una subclase del tipo ms bajo. Pero:
I. Todo Tipo 1 es tambin Tipo 0
II. El Tipo 2 no est propiamente incluido en el Tipo 1 (debido a que reglas de la
forma A " e estn permitidas en el Tipo 2 y no en el Tipo 1)
III. El Tipo 3 est propiamente contenido en el Tipo 2
Relaciones con los lenguajes generados: Sean dos clases de Gramticas G
i
, G
j
, si G
i
est
propiamente contenida en G
j
, no se sigue que necesariamente las clases de lenguajes
correspondientes estn en la misma relacin. Debido a que toda gramtica de Tipo i es
tambin de Tipo i+1, se sigue que todo lenguaje de Tipo i es tambin de Tipo i+1; es decir,
L
i
+ L
i+1
. Pero puede ser que todo lenguaje Tipo i+1 tenga alguna gramtica del Tipo i que
lo genere. En ese caso, L
i
es un subconjunto de L
i+1
pero no un subconjunto propio (L
i
,
L
i+1
). Entonces:
I. Los lenguajes de Tipo 3 estn propiamente incluidos en el Tipo 2
II. Los lenguajes de Tipo 2 que no contengan la cadena vaca estn propiamente
incluidos en el Tipo 1
III. Los lenguajes de Tipo 1 estn propiamente incluidos en el Tipo 0.
Ejemplo: Sea un lenguaje L = { x - {a, b}* / x contenga igual nmero de as y bs}. Este
lenguaje puede ser generado por una gramtica de Tipo 0 con reglas como:
S " ABS A " a
S " e B " b
AB " BA
BA " AB
Y tambin puede ser generado por una Gramtica de Tipo 2 tal que sus reglas son:
S " e B " bS B " aBB
S " aB A " a
A " bA a " aS
B " b A " bAA
Pero no podra ser generado por una de Tipo 1 pues contiene la regla S " e.
En sntesis, las gramticas se ordenan segn la complejidad de las reglas: las ms simples
son las gramticas de Tipo 3 o lineales, despus vienen las de Tipo 2 o libres de contexto,
despus las de Tipo 1 o sensibles al contexto y finalmente las de Tipo 0 o irrestrictas. Esta
jerarqua de gramticas puede ponerse en correspondencia con una jerarqua de mquinas
de reconocimiento o autmatas: respectivamente, autmatas de estado finito, pushdown o
descendentes, linear bounded y mquinas de Turing.
As:
1) Gramticas de Tipo 3 (lineares) " Lenguajes regulares o de autmatas finitos
Modelos Formales No Transformacionales
Ficha de Ctedra
5
2) Gramticas de Tipo 2 (libres de contexto) " Lenguajes libres de contexto o de
autmatas descendentes (pushdown)
3) Gramticas de Tipo 0 (irrestrictas) " Lenguajes recursivamente enumerables o de
mquinas de Turing
4) Gramticas de Tipo 1 (sensibles al contexto) " Lenguajes sensibles al contexto o de
autmatas linear bounded
Analizaremos cada caso en los apartados siguientes.
LENGUAJES Y AUTOMATAS
Un autmata es un mquina de computar abstracta e ideal esto es, un objeto matemtico
ms que fsico. Un autmata est caracterizado por la manera en que produce las
computaciones: para cualquier autmata hay una clase de inputs que recibe y una clase de
outputs que produce; la relacin entre ellos estar determinada por la estructura, o la
organizacin interna, del autmata. Nos ocuparemos de autmatas que tienen inputs
discretos (y no continuos) y dejaremos de lado aquellos cuyo funcionamiento es
probabilstico.
Un estado es entendido como caracterstico de un autmata que cambia durante el curso
de la computacin y sirve para relacionar los inputs y los outputs. Consideraremos
autmatas que tienen un nmero finito de estados.
Un autmata puede tambin tener una memoria. Para los autmatas ms simples, la
memoria consistir simplemente en los propios estados. Autmatas ms poderosos pueden
tener una cinta (tape) donde la mquina puede leer y escribir smbolos y hacer un trabajo
de apilado.
Normalmente consideraremos a los autmatas como aceptadores, es decir, mecanismos
que, dado un input, o lo rechazan o lo aceptan despus de una cantidad finita de
computaciones. En particular, si el input es una cadena sobre el alfabeto A entonces el
autmata podr aceptar algn lenguaje sobre A y rechazar su complemento. Veremos
tambin que es posible considerar al autmata como generador de cadenas y lenguajes de
manera similar a las gramticas.
Veamos los casos de 1) a 4) antes presentados.
1) AUTOMATA FINITO, LENGUAJES REGULARES Y GRAMATICAS TIPO 3
Un autmata finito (Fa) es un mecanismo abstracto de computar que recibe cadenas de
smbolos, los lee uno a uno de izquierda a derecha y, despus de leer el ltimo de ellos,
acepta o rechaza la cadena. En cualquier punto de su computacin un Fa est en uno de sus
estados finitos. La computacin de Fa est dirigida por un programa o conjunto de
instrucciones para cambiar de un estado a otro cuando el mecanismo lee un smbolo de
entrada. Siempre hay un estado inicial y otro final. Si se termina la computacin en el
estado final, la cadena es aceptada. De lo contrario, es rechazada.
Autmata determinstico (dFa): es un mecanismo que tiene una y slo una instruccin para
cada combinacin de estados y smbolos ledos. Su conducta est completamente
determinada.
Autmata no determinstico (nFa): es un mecanismo que puede tener ms de una
instruccin que aplicar en un punto particular o que no tiene determinado qu instruccin
aplicar.
Modelos Formales No Transformacionales
Ficha de Ctedra
6
Relacin: Los autmatas no determinsticos aceptan exactamente la misma clase de
lenguajes que los autmatas determinsticos y entonces, para todo nFa hay un dFa y para
todo dFa hay un nFa. Puede verse que un determinstico tiene tpicamente ms estados que
un no determinstico que sea equivalente y que hay un algoritmo que convierte un nFa en
un dFa. Los nFa son ms fciles de construir que los dFa. Adems, es ms fcil probar
ciertos resultados para los nFa.
Lenguaje de autmata finito (Fal): es un lenguaje generado por un Fa.
Problema: Podemos decidir si un L es un Fal o no lo es?
Debido a que el requisito de aceptabilidad consiste en que exista al menos un camino que
comience en el estado inicial, lea el input completo y termine en un estado final, si
intentamos construir un Fa que acepte a L y fallamos, no estaramos justificados a concluir
que L no es Fal. Sera, entonces, til dar otra caracterizacin de estos lenguajes no en
trminos de aceptacin/rechazo sino en relacin con operaciones recursivas sobre
conjuntos de cadenas.
La clase de los lenguajes regulares es idntica a la clase de los Fal (puede probarse el
teorema que dice que un conjunto de cadenas es un lenguaje de autmata finito (Fal) ssi es
un lenguaje regular). Los lenguajes regulares son lenguajes que se obtienen del conjunto
vaco y el lenguaje unitario (aqullos que contienen una cadena) por repetidas aplicaciones
de las operaciones de unin, concatenacin y estrella de Kleene (A*: conjunto formado por
la concatenacin de miembros de A cualquier nmero de veces inclusive 0 en cualquier
orden y permitiendo repeticiones). Para mostrar que un L es regular, hay que indicar cmo
podemos construir sus cadenas aplicando estas operaciones sobre el lenguaje vaco o
unitario.
Propiedades de los lenguajes regulares:
Podemos ganar en comprensin acerca de los objetos matemticos si nos preguntamos (i)
cmo se comportan en relacin con ciertas operaciones -por ejemplo, conjuntsticas- y (ii)
cules son las preguntas acerca de ellas que pueden responderse a travs de un algoritmo
por ejemplo, dado un Fa M y una cadena x, puede determinarse algortmicamente si M
acepta o no a x? (problema de la membresa) o puede determinarse si M acepta o no
alguna cadena en absoluto (problema del vaco)?.
Aqu se vern las propiedades conjuntsticas de estos lenguajes (que son, en definitiva,
conjuntos):
- cerrado para la operacin de unin, concatenacin y Kleene star
- cerrado para la operacin de complementacin
- cerrado para la interseccin
Luego, los lenguajes regulares a partir de cualquier alfabeto fijo forman una lgebra de
Boole.
Supongamos ahora que L es un Fal infinito. Entonces, L es aceptado por algn Fa que tiene
un nmero finito de estados. Ya que L es infinito, hay algunas cadenas que son demasiado
largas y habr algunas de ellas que tienen ms smbolos que estados de Fa. Pero, entonces,
ya que el Fa acepta toda cadena de L, Fa tendr que entrar en algn estado ms de una vez
y esa vuelta de un estado sobre s mismo a lo largo de un camino se denomina loop.
Podemos, entonces, enunciar el siguiente teorema:
Pumping Theorem: Si L es un lenguaje Fal infinito (no hay frontera superior en el largo
de las oraciones) sobre un alfabeto $ entonces hay cadenas x, y, z - $* tales que y *e y
xy
n
z - L para todo n & 0. En otras palabras, L admite loops que pueden ser recorridos
infinitas veces.
Modelos Formales No Transformacionales
Ficha de Ctedra
7
El Teorema garantiza que existe al menos una opcin de x, y, z con esas condiciones. Por
lo tanto, para decidir si un lenguaje es un Fal, slo debemos ver que no existe tal opcin, es
decir, si no vale el Pumping Theorem, no es un Fal. (el problema surge cuando podemos
aplicar el Teorema: podra ser que valiera el Pumping Theorem para un lenguaje y que
ste, sin embargo, no sea un Fal).
Recordemos que en una Gramtica de Tipo 3 o right linear en la parte izquierda de la
regla tenemos siempre un nodo no terminal y en la derecha o bien un nodo terminal
seguido de uno no terminal o bien un nodo terminal
A " x B
A " x
donde A y B son smbolos no terminales (- V
N
) y x es una cadena de smbolos terminales
(- V
T
).
Relacin entre las gramticas lineales y los lenguajes aceptados por autmatas finitos:
Para ver la relacin entre estas gramticas y los Fal, es preciso interpretar la regla A " xB
como una transicin de un autmata del estado A al estado B a travs de la lectura de x y la
regla A " x como una transicin del estado A al estado final F a travs de la lectura de x.
Puede mostrarse que as los lenguajes aceptados por Fa son los mismos que los generados
por una Gramtica de Tipo 3 o right linear grammar. La conversa tambin puede
demostrarse: todo Fal puede convertirse en un lenguaje generado por una Gramtica de
Tipo 3. En este caso, los estados del Fa se interpretan como cadenas no terminales y las
entradas de la cinta como cadenas terminales.
Contamos ahora con tres caracterizaciones alternativas de la misma clase de lenguajes:
lenguajes aceptados o generados por un Fa (determinstico o no determinstico), lenguajes
regulares y lenguajes generados por gramticas de Tipo 3.
Daremos algunos ejemplos:
Un Fa puede caracterizarse con un diagrama de estados como el que sigue.
Convencionalmente, marcamos con un > el estado inicial (q
0
) y con un crculo doble el
estado final (q
1
). Para cada instruccin habr una flecha que indica el paso de un estado a
otro cuando lee determinado smbolo:
a a
b
> q
0
q
1
b
Vemos que este autmata, determinstico, no aceptar la cadena abaab (debido a que q
0
no
es el estado final) y s aceptar aabbb y, en general, toda cadena que contenga un nmero
impar de bs.
Un ejemplo de un Fa no determinstico es:
b
ab
> q
0
q
1
a
e b
q
2
Modelos Formales No Transformacionales
Ficha de Ctedra
8
Vemos que este autmata no aceptar cadenas como ba o ab y s aceptar, por ejemplo, aa
y abb.
Daremos, por ltimo, un ejemplo de cmo podemos asociar un Fa con una gramtica de
Tipo3:
Sea G = <V
T
, V
N
, S, R > donde V
T
= {a, b}, V
N
= {S,A,B} y
S " aA
A " aA
R = A " bbB
B " bB
B " b
Por ejemplo, la derivacin segn G de aabbbb sera: S. aA.aaA. aabbB. aabbbB .
aabbbb
Podemos entonces asociar a G un Fa equivalente como sigue:
a b
a bb b
> S A B F
Vemos que este Fa tambin acepta la cadena aabbbb, y, en general, acepta el mismo
lenguaje generado por G.
Inadecuacin de las right linear grammars para los lenguajes naturales:
Podemos afirmar que el lenguaje natural no es un Fal utilizando para su demostracin el
Pumping Theorem (PT) en relacin con ciertas oraciones del lenguaje natural que tienen la
forma
(1) x
n
y
n-1
died (por ejemplo: the cat died (n=1); the cat the dog chased died (n=2) etc)
donde x - al conjunto de las frases nominales e y - al conjunto de los verbos transitivos.
La prueba podra reconstruirse como sigue: Si no se cumple el PT, el lenguaje no es
regular (o un Fal). El lenguaje L que consista en todas las cadenas formada a partir de (1)
es el resultado de la interseccin del ingls con el lenguaje regular A*B* {died}. Como los
lenguajes regulares estn cerrados bajo interseccin, si el ingls fuera regular, L tambin
debera serlo. Pero como puede verse que no hay candidatos posibles para y que respeten el
PT, L no es regular y, por lo tanto, el ingls (y ningn lenguaje natural) no es regular
5
.
2) AUTOMATA PUSHDOWN, GRAMATICAS Y LENGUAJES LIBRES DE
CONTEXTO
Los autmatas pushdown o autmatas descendentes (Pda) son ms poderosos que los
Fal. Tienen un tape auxiliar en el que pueden leer, escribir y borrar smbolos (es como un

5
Para otra diferente demostracin de que el ingls no es un lenguaje de estados finitos puede consultarse
Chomsky, N. (1956) Three Models for the Description of Language IT 2, 113-124 o Syntactic Structures,
1957, La Haya, Mouton. Cap. 3.
Modelos Formales No Transformacionales
Ficha de Ctedra
9
stack (pila) o pushdown store: lo ltimo que entra es lo primero que sale). Aceptan, por
tanto, una clase ms amplia de lenguajes. Como los Fa, leen sus input de izquierda a
derecha y tienen un nmero finito de estados. La transicin de un estado a otro permite que
el primer smbolo de la pila sea ledo y removido, sumado a, o dejado sin cambios. Una
transicin (q
i
, a, A)"(q
j
"/) se leer como: estando en el estado q
1
lee a en la cinta del
input y lee A en la cima de la pila y pasa al estado q
j
y reemplaza A por la cadena /. En el
caso de que / sea la cadena vaca (e) el efecto neto es remover (pop) a A de la pila y el
smbolo que estaba inmediatamente abajo quedara en la cima de la pila. En el caso de que
/ = BC, A sera removido y BC sumado a la pila. En el caso de que / = AB, el efecto sera
como poner a B en la cima. Si / = A, la transicin dejar a la pila sin cambio.
La aceptacin se define en trminos de: (i) todo el input fue ledo, (ii) el Pda est en un
estado final o (iii) el stack est vaco.
Por ejemplo, para generar un L = {a
n
b
n
/ n & 0} podemos proponer un Pda como el que
sigue:
Estados: K = {q
0
, q
1
}
Alfabeto del input: $ = {a, b}
Alfabeto de la pila: 0 = {A}
Estado inicial: q
0
Estados finales: q
0
, q
1
Transiciones: (q
0
, a, e) " (q
0
, A)
(q
0
, b, A) " (q
1
, e)
(q
1
, b, A) " (q
1
, e)
Veamos cmo podemos mostrar el funcionamiento de este Pda para la cadena aabb:
aabb aabb aabb aabb aabb
_ _ _ _
q
0
q
0
q
0
A q
1
q
1
A A A
pila
Esta mquina trabaja entonces usando su stack (pila) como un contador para seguir la
huella del nmero de as en la parte inicial de la cinta (colocando, cada vez, una A en la
pila). Una vez que encuentra una b, cambia al estado q
1
y empieza a sacar a las As del
stack por cada b encontrada. Slo si el nmero de bs es igual al nmero de as podr
vaciarse el stack al final (y el input entero ser ledo). Parecera entonces que hay dos
estados bsicos: el de aceptacin y el de rechazo.
Los Pda pueden ser determinsticos (si tienen un solo movimiento aceptable) o no
determinsticos (si tienen ms de uno). Un Pda no determinstico acepta una cadena si
existe al menos un patrn en el cual la cadena ha sido aceptada. No acepta si tal patrn no
existe.
Los autmatas determinsticos y los no determinsticos no son equivalentes (la prueba de
ello es compleja y no la desarrollaremos aqu).
Un lenguaje libre de contexto (cfl) es un conjunto de cadenas que puede ser generado por
una Gramtica libre de contexto (Tipo 2).
Propiedades conjuntsticas de los cfl:
Los lenguajes libres de contexto son cerrados bajo la unin y estrella de Kleene, no son
cerrados bajo la interseccin ni la complementacin.
Modelos Formales No Transformacionales
Ficha de Ctedra
10
Recordemos que en las Gramticas Tipo 2 (sistema de reglas libres de contexto) cada
regla tiene la forma A " #, donde # puede ser la cadena vaca (es decir, permite la regla
A" e).
Puede verse que los Pda no determinsticos aceptan exactamente los mismos lenguajes
que los generados por las gramticas libres de contexto (Tipo 2). La prueba, que no
desarrollaremos aqu, se basa en que puede encontrarse un algoritmo para construir, dada
cualquier gramtica libre de contexto, un equivalente Pda no determinstico.
Como vimos, toda gramtica lineal a la derecha (Tipo 3) es tambin una gramtica libre de
contexto (Tipo 2). Entonces, los lenguajes regulares estn contenidos en los lenguajes
generados por las gramticas libres de contexto.
Ejemplo:
Sea G = <V
N
, V
T
, S, R> donde V
T
= {a, b}, V
N
= {S} y R = { S"aSb, S"e}
Veamos cmo puede asociarse un Pda M a G. Las transiciones de M sern construidas a
partir de las reglas de G de la siguiente manera:
i) M contendr la instruccin (q
0
, e, e) " (q
1
, S)
ii) Para cada regla A " !, M contendr una instruccin (q
1
, e, A) " (q
1
, !)
iii) Para cada smbolo a - V
T
, M contendr una instruccin (q
1
, a, a)" (q
1
, e)
As, el Pda M contendr lo siguiente:
K = {q
0
, q
1
}, $ = {a, b}, 0 = {S, a, b}, s= q
0
, F = {q
1
}
Transiciones: (q
0
, e, e) " (q
1
, S)
(q
1
, e, S) " (q
a
, aSb)
(q
1
, e, S) " (q
1
, e)
(q
1
, a, a) " (q
1
, e)
(q
1
, b, b) " (q
1
, e)
Esta gramtica G y este Pda M generan la cadena aabb y, en general, todas las cadenas de
{a
n
b
n
/ n & 0}
Notemos que los Pda construidos de esta manera sern en general no determinsticos ya
que hay en la gramtica ms de una regla que rescribe algn no terminal A.
El Pumping Theorem, al igual que con los Fal, puede usarse para probar que un lenguaje L
no es libre de contexto. El teorema hace uso del hecho de que las derivaciones en los
lenguajes libres de contexto se pueden asociar con rboles de anlisis y del hecho de que el
ancho mximo de un rbol est constreido por su alto. No desarrollaremos la
demostracin pero lo enunciaremos as:
Pumping Theorem: Si L es un lenguaje libre de contexto infinito, hay alguna constante K
tal que cualquier cadena w en L ms larga que K puede ser dividida en subcadenas (w = u v
x y z) tal que v e y no son vacas y u v
i
x y
i
z - L para todo i & 0.
Qu es K? Es un nmero que depende de la gramtica de L y es tan grande como para
asegurar que cualquier cadena ms grande que K tenga un rbol de derivacin con un
patrn no terminal repetido.
De esta manera puede probarse que un L = {a
n
b
n
c
n
/ n & 0} no es libre de contexto (debera
haber alguna constante K tal que cualquier cadena ms larga que K tomemos por ejemplo
a
K
b
K
c
K
- se pueda factorear en u v x y z tal que v e y no sean ambas vacas y se puedan
repetir. Puede verse que probando con cualquier combinacin posible no hay opcin de u,
v, x, y, z que cumpla las condiciones del teorema).
Debido a que la interseccin de un lenguaje regular R y un lenguaje libre de contexto L es
siempre libre de contexto, otra forma de saber si un lenguaje dado no es libre de contexto
es la siguiente:
Modelos Formales No Transformacionales
Ficha de Ctedra
11
1.- Encontrar un lenguaje regular R (un lenguaje que pueda ser descripto por un autmata
de estado finito), tal que la interseccin entre L y R sea un lenguaje cuya estructura
podamos analizar.
2.- Probar que esa interseccin no es libre de contexto.
3- Entonces, L no es libre de contexto.
Inadecuacin de las gramticas libres de contexto para los lenguajes naturales:
Puede verse que el ingls no es un lenguaje libre de contexto utilizando lo que se conoce
como dependencias cross-serial de un largo arbitrariamente largo. En ella, los tems estn
relacionados en un orden de izquierda a derecha del tipo:
x
1
x
2
... x
n
... y
1
y
2
... y
n
Un lenguaje como {xx / x - {a, b}*} presenta estas dependencias (para las cadenas de
longitud 2n, el i-simo y el (i+1)-simo smbolo deben estar relacionados) y no es libre de
contexto.
Puede verse que el suizo-alemn presenta oraciones del tipo w a
n
b
m
x c
n
d
m
y donde a son
los objetos (en caso acusativo) de los verbos c y b son los objetos (en caso dativo) de los
verbos d.
Por ejemplo, en su versin en ingls sera:
John said that we (the children)
n
(Hans)
m
the house have wanted to (let)
n
(help)
m
paint.
(John said that we let the children help Hans paint the house). En suizo-alemn las
dependencias se observan bien porque help requiere caso dativo y Hans est en
dativo; let requiere acusativo y the children est en acusativo.
Si consideramos que este fragmento del suizo-alemn es el resultado de la interseccin del
suizo-alemn con un lenguaje regular R, entonces como este fragmento no es libre de
contexto podemos concluir que el suizo-alemn (y los lenguajes naturales) no son libres de
contexto.
3) MAQUINAS DE TURING Y GRAMATICAS DE TIPO 0
Un Mquina de Turing (TM) tiene una caja de control, que en cualquier punto est en uno
de los finitos estados, un tape dividido en cuadraditos en donde se escriben cada uno de los
smbolos del input y un cabezal lector que escanea un cuadradito del input por vez. Las
mquinas de Turing tambin pueden escribir sobre el input y pueden mover su cabezal
lector tanto a la derecha como a la izquierda.
La computacin comienza en el estado inicial, con el cabezal lector leyendo el smbolo que
se encuentra ms a la izquierda del input. Asumimos que la cinta se extiende
indefinidamente de izquierda a derecha y que los cuadraditos que no estn ocupados por
smbolos del input tienen un smbolo blanco #.
Asumimos tambin que las mquinas de Turing son determinsticas, es decir, para cada
estado y para cada smbolo del alfabeto al menos un movimiento es posible. No pediremos
que deba existir un movimiento para todo par smboloestado, y si la TM se encuentra en
un punto de la computacin en donde ninguna instruccin es aplicable, entonces, para
(halts).
As, no hay estados finales definidos en una TM. Diremos que una cadena es aceptada si,
cuando es dada a la TM en su configuracin standard, causa que la TM pare despus de un
Modelos Formales No Transformacionales
Ficha de Ctedra
12
nmero finito de movimientos; de otra forma, es rechazada (es decir, la TM nunca para y
computa para siempre).
Veamos un ejemplo:
El conjunto de estados K = {q
0
, q
1
}, el alfabeto $ = {a, b, #}, el estado inicial es q
0
, las
instrucciones 1 son:
(q
0
, a) " (q
1
, b)
(q
0
, b) " (q
1
, a)
1 = (q
0
, #) " (q
1
, #)
(q
1
, a) " (q
0
, R)
(q
1
, b) " (q
0
, R)
Cada instruccin (q
i
, a
j
) " (q
k
, X) se lee del siguiente modo: si la TM est en el estado q
i
leyendo a
j
entonces entra en el estado q
k
(posiblemente idntico a q
i
) y si X es un smbolo
del alfabeto, reemplaza a
j
por ese smbolo X. Si X es L o R, entonces a
j
queda sin cambios
y el cabezal lector se mueve un cuadradito hacia la izquierda o derecha respectivamente.
Podemos mostrarlo as:
... # a b a # ... _ ... # b b a # ...
q
0
q
11
... # b b a # ... _ ... # b a a # ...
q
0
q
1
... # b a a # ... _ ... # b a b # ...
q
0
q
1
... # b a b # ... _ ... # b a b # ...
q
0
q
1
PARA
Esta TM para debido a que no hay ninguna instruccin que comience con (q
1
, #). Notemos,
sin embargo, que si la TM tambin contuviera la instruccn (q
1
, #) " (q
1
, R) computara
por siempre (movindose hacia la derecha una vez que haya encontrado el #). Tambin
ocurrira lo mismo con una instruccin como (q
1
, #) " (q
1
, #) solo que en este caso en
lugar de escanear indefinidamentre hacia la derecha, la TM estar en un cuadradito del tape
leyendo y escribiendo # para siempre.
Como vimos en el ejemplo, debido a que una TM puede escribir el smbolo # en porciones
de la cinta ms all de las que ocupe la cadena input y no tiene por qu ser necesariamente
bloqueada, una posibilidad abierta a las TM (pero no a los Fas ni a los Pdas) es que
compute para siempre.
Problema: podemos decir, en general, si un TM parar o computar por siempre?
No. Enunciaremos para esto el Halting Problem para las TM: el problema de saber si la
TM parar en algn momento o computar por siempre no puede ser decidido por una TM
(es decir, no es decidible por un algoritmo). Dada una cadena, si la TM para, entonces
sabremos que la cadena pertenece a L, pero si no para (y no sabremos si parar en algn
momento o computar por siempre) no tenemos cmo decidir si la cadena pertenece o no a
L.
Modelos Formales No Transformacionales
Ficha de Ctedra
13
Otros problemas de indecidibilidad afectan a las TM son, por ejemplo:
- si una TM arbitraria alguna vez entrar en determinado estado particular,
- si parar en algn input (de todos),
- si parar en todos los inputs,
- si alguna vez escribir un smbolo particular en su cinta,
- si parar dada la cadena vaca (e)
Esto no significa que dada una TM particular no haya manera de decidir si parar, si parar
dada la cadena vaca, etc; lo que implica es que no existe un nico y general algoritmo del
que tengamos garanta que funcionar para toda TM.
Recordemos que una Gramtica Tipo 0 (sistema de reglas de escritura irrestricto) no
tiene ninguna restriccin en la forma de las reglas excepto en que en el lado izquierdo debe
haber al menos un smbolo no terminal (el lado izquierdo no puede ser la cadena vaca).
Los lenguajes generados por una gramtica de Tipo 0 son exactamente los lenguajes
aceptados por una Mquina de Turing. As, los problemas de indecidibilidad que vimos
para las TM se trasladan a las gramticas de Tipo 0: no hay un algoritmo que determine
para una gramtica G arbitraria si G generar alguna cadena, si generar la cadena vaca, si
generar todas las cadenas en $*, etc. Podemos entonces decir que no sabremos, dadas G
1
y G
2
,
- si L(G
1
) = L (G
2
),
- si L (G
1
) 2 L (G
2
) = 3,
- si L (G
1
) + L (G
2
),
- si L(G
1
) es inherentemente ambiguo.
Todo lo que intuitivamente llamaramos algoritmos puede ser formulado como una
Mquina de Turing? Church conjetura que s y entonces podemos afirmar que:
A es aceptado por alguna TM ssi existe un algoritmo para reconocer cadenas en A
Diremos entonces que el conjunto A es recursivamente enumerable (existe un algoritmo
para reconocer todas las cadenas de A). Pero, si una cadena no est en el lenguaje, el
algoritmo podra no dar respuesta (podra no parar). Entonces, si el conjunto es
recursivamente enumerable tendremos un s por respuesta a la pregunta pertenece esta
cadena al lenguaje? solo en el caso de que la cadena pertenezca, y no obtendremos
respuesta si no pertenece.
Por otro lado, diremos que un conjunto es recursivo si existe un algoritmo para reconocer
las cadenas de A y las de su complemento ($* - A). En este caso hay un algoritmo que
responde s o no a la pregunta pertenece esta cadena al lenguaje?
4) AUTOMATAS LIMITADOS LINEALMENTE, LENGUAJES SENSIBLES AL
CONTEXTO Y GRAMATICAS TIPO 1
Un autmata linealmente limitado (Lba) es una Mquina de Turing cuyas
computaciones estn restringidas a la cantidad de cinta donde el input est escrito. Consiste
en un conjunto finito de estados, un alfabeto finito (que incluye marcadores a izquierda y
derecha como [ y ]) un estado inicial y un conjunto finito de instrucciones de la misma
forma que las de una Mquina de Turing. El input estar escrito entre los marcadores ([w])
y el Lba no contiene instrucciones que le permitan moverse despus de ellos, ni borrarlos,
ni reemplazarlos. Puede pensarse que una formulacin equivalente es aqulla que limita la
cinta usable no a una longitud igual a la cadena input sino a una funcin lineal de la
longitud del input (de la forma ax+b, donde a y b son constantes).
As, los Lba estn entre los Pdas y las Mquinas de Turing. Pueden leer y escribir y
moverse a izquierda y a derecha sobre el input como las TM pero las TM tienen una
Modelos Formales No Transformacionales
Ficha de Ctedra
14
cantidad ilimitada de cinta disponible para la computacin. Un Pda, por el otro lado, usa
una cantidad mxima de cinta para su pila, la cual es una funcin lineal del largo del input
pero los Pda no tienen el poder de los Lbas de moverse hacia la izquierda y la derecha y
as tener acceso a cualquier porcin de la memoria codificada en la cinta durante la
computacin.
Recordemos que una Gramtica Tipo 1 (sistemas de reglas sensibles al contexto) tiene
reglas de la forma (A) " (#), donde # * e. Son reglas no contractivas, es decir,
producen cadenas de, por lo menos, la misma longitud (el lado derecho tiene por lo menos
la misma longitud que el izquierdo). En particular, reglas como A " e estn excluidas y
entonces la cadena vaca no puede ser generada en un lenguaje sensible al contexto.
Excepto por la cadena vaca, los lenguajes aceptados por los Lba no determinsticos son
lenguajes generados por una gramtica de Tipo 1.
Todo lenguaje generado por una gramtica de Tipo 1 es un conjunto recursivo. As, para
todo lenguaje sensible al contexto hay una Mquina de Turing que lo genera. Pero, los
lenguajes sensibles al contexto no agotan los conjuntos recursivos: hay lenguajes
recursivos que no son sensibles al contexto (adems del ejemplo trivial del que contiene la
cadena vaca).
Propiedades de los lenguajes sensibles al contexto:
- cerrados bajo las operaciones de unin, concatenacin e interseccin con un
lenguaje regular
- no cerrados bajo Kleene star (ya que L* debe contener a e)
- la membresa puede ser decidible
4.1 Lenguajes entre lenguajes libres de contexto y sensibles al contexto
La mayora de las investigaciones supusieron que la jerarqua chomskiana estableca,
primero, que el lenguaje natural, considerado como conjunto de cadenas, debera caer en
algn lugar entre los lenguajes libres de contexto y los sensibles al contexto y, despus,
que estaran de alguna manera ms cercanos a los libres de contexto. Por un lado, los
sensibles al contexto parecan ser demasiado inclusivos (conteniendo lenguajes del tipo
a
n
b
n!
que no parecen candidatos para ningn tipo de modelo lingstico). Por el otro lado,
gran parte de la sintaxis del lenguaje natural pareca poder generarse con una gramtica
libre de contexto. Luego, despus de unos aos, se ha encontrado evidencia convincente de
que los lenguajes naturales no son lenguajes libres de contexto (recordar el ejemplo del
suizo-alemn).
Estas consideraciones llevaron a investigaciones de lenguajes que pueden ser
moderadamente sensibles al contexto. No nos ocuparemos de ellos aqu
6
pero los
mencionaremos:
! Gramticas indexadas
! Gramticas de rboles de anexin
! Gramticas nucleares (Head Grammars)
! Gramticas categoriales
Ejemplos de las ltimas dos son el modelo HPSG (Head-Driven Phrase Structure
Grammar) y el modelo PTQ (The Proper Treatment of Quantification in Ordinary English)
de Montague, respectivamente. El modelo HPSG es fuertemente lexicalista y asume que
cada cadena contiene un smbolo distinguible llamado ncleo (head) de la cadena. El
trabajo de Montague sobre la semntica del lenguaje natural asume una sintaxis categorial

6
Para una caracterizacin general de cada una de estas gramticas consultar Partee, B, Ob. Cit.. Cap. 21.
Modelos Formales No Transformacionales
Ficha de Ctedra
15
que permite una correspondencia muy cercana entre las estructuras sintcticas y
semnticas.
Presentaremos ahora una clase de gramtica que asume una gramtica base de algn tipo
de los antes mencionados (especficamente gramticas libres y sensibles al contexto) y
agrega un conjunto de reglas llamadas transformaciones. De esta manera, segn Chomsky,
se pueden caracterizar completamente los lenguajes naturales.
7

7
Para una explicacin y defensa de las gramticas transformacionales vese Chomsky, N. (1956) Three
Models for the Description of Languaje IT 2, 113-124 o Syntactic Structures, 1957, La Haya, Mouton.
Modelos Formales No Transformacionales
Ficha de Ctedra
16
GRAMATICAS TRANSFORMACIONALES (GT)
El componente sintctico de una Gramtica Transformacional (GT) consiste en dos partes:
i) la base, que puede ser una gramtica libre de contexto (cfg) o una gramtica sensible al
contexto (csg);
ii) el componente transformacional, que es un conjunto de reglas linealmente ordenado.
La base genera, a partir del smbolo inicial S, por recursividad, una clase infinita de
rboles. Cada uno de estos rboles sirve de input a las reglas transformacionales y cada una
de ellas define un mapeo de rbol a rbol. Si una regla transformacional no puede aplicarse
a un rbol particular, el rbol queda sin cambio y la siguiente regla de la secuencia es
considerada. Las reglas se aplican segn el principio del ciclo transformacional: la
secuencia entera de reglas transformacionales se aplica primero al rbol ms bajo rotulado
con una S (aqul que no contiene ningn otro subrbol). Una vuelta simple por todo el
conjunto de reglas transformacionales constituye un ciclo. Ciclos subsecuentes toman
como dominio subrboles rotulados con una S sucesivamente ms altos hasta que
finalmente en el ltimo ciclo el dominio de aplicacin de las reglas es el rbol entero.
Operaciones de las reglas transformacionales:
borrado: operacin sujeta al principio de recuperabilidad: cualquier tem borrado debe,
o bien dejar una copia en un lugar especfico del rbol, o bien ser un tem lxico fijo
mencionado en la especificacin de la regla.
sustitucin
adjuncin
Def: La estructura superficial es el output final de las reglas transformacionales.
Def: Una GT es un mecanismo que aparea rboles base con estructuras superficiales bien
formadas.
Def: Un lenguaje generado por una GT es el conjunto de todas las cadenas que aparecen
como secuencias de terminales de ciertos rboles de estructura superficial bien formados.
No todo marcador de frase (representacin de la estructura de constituyentes de una
oracin) generado por la base necesita ser mapeado por las reglas transformacionales en
una estructura superficial bien formada Por ejemplo, el smbolo especial # que figura a
ambos lados del smbolo S debe ser borrado por la aplicacin de ciertas reglas
transformacionales. Si el marcador de frase que es output final del componente
transformacional contiene algn # no ser una estructura superficial bien formada y el
marcador de frase que form el input original se dice que fue filtrado por las reglas
transformacionales. Una GT con estas propiedades se denomina GT con filtro.
Relaciones:
- Si la base es una csg la GT tiene la misma capacidad generativa dbil que las gramticas
de Tipo 0. As, los lenguajes generados por una GT con base csg son justamente los
conjuntos recursivamente enumerables.
- Si la base es una cfg, la GT tambin genera todos los conjuntos recursivamente
enumerables. Pero aqu el efecto de filtro del componente transformacional debe usarse
extensivamente.
Prop: Los lenguajes transformacionales no son recursivos por el hecho de que para
cualquier GT dada, no hay lmite superior en el nmero de subrboles etiquetados con el
smbolo S que pueden aparecer en el marcador de frase de la base. Esto es consecuencia de
que la teora permite a las reglas transformacionales reducir marcadores de frase de la base
Modelos Formales No Transformacionales
Ficha de Ctedra
17
que contienen un gran nmero de rboles S para producir cadenas muy cortas sin violar la
condicin de recuperabilidad del borrado. Si la GT debe generar conjuntos recursivos,
entonces debe ser restringida de manera que para cualquier gramtica dada y cualquier
oracin haya un procedimiento que determine el mximo nmero de ciclos que puede
involucrar la derivacin de esa oracin por la gramtica.
Rel. L naturales: Puede suponerse que los lenguajes naturales estn propiamente incluidos
en los conjuntos recursivos que estn, a su vez, propiamente incluidos en los
recursivamente enumerables. As, las GT son capaces de generar conjuntos de cadenas que
no son posibles lenguajes naturales. Esta versin de la teora acerca de las GT es
demasiado amplia (permite demasiadas clases de gramticas) y tiene problemas para
resolver el objetivo de la teora lingstica segn el cual debe darse una precisa
caracterizacin de la nocin de gramtica posible para el lenguaje natural.
Otro resultado no deseado: dado un conjunto de datos (que los lingistas generalmente
consideran relevantes), la Hiptesis de una Base Universal (la conjetura de que las
gramticas de todos los lenguajes naturales tienen las mismas reglas en la base) puede
probarse que es falsa.
Modelos Formales No Transformacionales
Ficha de Ctedra
18
Anexo A. Algunos conceptos del lgebra
Definicin: Un lgebra es un conjunto A (finito o infinito) con un nmero (finito o infinito)
de operaciones (f
1
,...,f
n
) que deben cumplir dos requerimientos:
i) Clausura: A est clausurado bajo la operacin si para todo a, b _ A hay un
elemento c _ A tal que a b = c
ii) Unicidad: Si a = a y b = b entonces a b = a b
Ejemplos de lgebras:
A = < S, ~, &, 4, ", 5 > sintaxis de la lgica
B = < {0, 1}, ~, &, 4, ", 5 > semntica de la lgica
Definicin: Un lgebra B es un sublgebra de un lgebra A = < A, f
A
1
,..., f
n
A
> si satisface:
i) B + A
ii) Para todo i, f
1
B
toma los mismos valores que f
i
A
cuando se restringe a los
elementos de B
iii) B est clausurada bajo todas las operaciones de f
i
B
Propiedades de las operaciones:
! Asociativa: Para todo a, b, c en A, (a b) c = a (b c)
! Conmutativa: Para todo a, b en A, a b = b a
! Idempotente: Para todo a en A, a a = a
! Distributiva: Para todo a, b, c en A, a
1
(b
2
c) = (a
1
b)
2
(a
1
b)
Propiedades especiales de ciertos elementos:
! e
i
es un elemento de identidad a izquierda ssi para todo a _ A, e
i
a = a (dem con la
identidad a derecha).
! Dada una operacin de A x A en B, con un elemento de identidad e, un elemento a
tiene un inverso a derecha a
r
ssi a a
r
= e (dem con la identidad a izquierda). Entonces,
si
a
-1
a = a a
-1
= e diremos que a
-1
es el inverso de a.
! Un elemento 0
d
es llamado cero a derecha para una operacin ssi para todo a _ A,
0
d
a = 0
d
(dem para cero a la izquierda). Si vale a izquierda y derecha el elemento es
simplemente el cero de la operacin .
Relaciones entre lgebras: Son funciones que mapean un lgebra en otra: F: A " B, donde
A y B son lgebras.
Propiedades:
! Inyectiva: Si F (a) = F (b), entonces a = b (rel. Uno a uno)
! Subyectiva: Si F: A"B, entonces {F(a) / a _ A} = B
! Biyectiva: Si es Inyectiva y Subyectiva
Morfismo: es un mapeo F: A"B concebido dinmicamente como un proceso de
transformacin de A en B.
! Si A =< A, f
1
,..., f
n
> y B = < B, g
1
,..., g
n
> entonces A y B son isomrficas ssi hay una
correspondencia uno a uno entre sus operaciones (f
i
5 g
i
) y una funcin uno a uno !
que mapee A sobre B tal que para todo x, y, z _ A y para todo i ' n,
g
i
(!(x), !(y), !(z), ...) = ! (f
i
(x, y, z, ...))
! Un homomorfismo es una correspondencia entre lgebras con todas las propiedades de
un isomorfismo excepto que el mapeo de A en B debe ser muchos a uno; el conjunto B
debe ser menor que el conjunto A.
! Un automorfismo de un lgebra A es un isomorfismo de A con l mismo. El mapeo
identidad (! (x) = x) provee siempre un automorfismo (trivial).
Modelos Formales No Transformacionales
Ficha de Ctedra
19
Ejemplos. Sean,
A = < S, ~, &, 4, ", 5 > sintaxis de la lgica
B = < {0, 1}, ~, &, 4, ", 5 > semntica de la lgica
Cualquier asignacin de valores de verdad al conjunto S es un homomorfismo F: A"B, es
decir, distintos p, q pueden ser mapeados con los mismos valores de verdad:
F (p&q) = F (p) & F (q)
F (~p) = ~ F(p)
F (p4q) = F (p) 4 F (q)
F (p " q) = F (p) " F (q)
F (p 5 q) = F (p) 5 F (q)
Dada una asignacin a las oraciones atmicas la composicin preserva el homomorfismo
del lgebra sintctica al lgebra semntica.
As, si la diferencia entre dos sistemas lgicos es slo el alfabeto (vocabulario) entonces
son isomrficos. En este caso, la sintaxis y la semntica difieren en su alfabeto (S y {0, 1}
respectivamente).
Modelos Formales No Transformacionales
Ficha de Ctedra
20
Anexo B. Ejercitacin
Autmatas finitos. Gramticas de Tipo 3
1. Considere el siguiente diagrama de estados:
0
0 1 S
1
1
S
0
S
2
0
1
a) Cul de las siguientes cadenas son aceptadas?
i) 01011
ii) 0011
iii) 11001101
iv) 01010111111
b) Describa lo ms simple posible el lenguaje aceptado por el autmata
2. Considere el siguiente conjunto de reglas de transicin:
(S
0
, 0) " S
0
(S
3
, 0) " S
0
(S
0
, 1) " S
1
(S
3
, 1) " S
4
(S
1
, 0) " S
2
(S
4
, 0) " S
0
(S
1
, 1) " S
3
(S
4
, 1) " S
5
(S
2
, 0) " S
0
(S
5
, 0) " S
0
(S
2
, 1) " S
1
(S
5
, 1) " S
5
Estados finales: S
4
y S
5
a) Dibuje un diagrama de estados
b) Describa el conjunto de cadenas inputs aceptadas por el autmata
c) Dibuje un diagrama de estados para un autmata equivalente a ste pero que tenga
cuatro estados
3. Considere un autmata finito no determinstico cuyo alfabeto es {the, old, man, men,
is, are, here, and}
a) Construya un diagrama de estados para un autmata que acepte el siguiente lenguaje:
{the man is here; the men are here}
b) Lo mismo para: {the man is here, the men are here, the old man is here, the old men
are here, the old old man is here, the old old men are here, ...}
c) Construya un diagrama de estados para un autmata que acepte todas las oraciones de
b) ms todas las formadas con la conjuncin, es decir, the old man is here and the old
old men are here and the men are here.
4. Construya gramticas de Tipo 3 que generen cada uno de los siguientes lenguajes.
Asuma un vocabulario fijo V
T
= {a,b}
- L
1
= {aa, ab, ba, bb}
- L
2
= {x / x contenga cualquier nmero de ocurrencias de a y b en cualquier orden}
- L
3
= {x / x contenga exactamente dos ocurrencias de a, no necesariamente
contiguas}
- L
4
= {x / x contenga exactamente una ocurrencia de a o exactamente una ocurrencia
de b, o ambas}
- L
5
= {x / x contenga un nmero par de ocurrencias de a y de b (cero cuenta como
par)}
- L
6
= L
3
2 L
5
Modelos Formales No Transformacionales
Ficha de Ctedra
21
5. Construya autmatas finitos (no determinstico) que acepte cada uno de los lenguajes
de 4
Autmatas Pushdown. Gramticas Libres de Contexto
6. Construya gramticas libres de contexto que generen los siguientes lenguajes:
- L
1
= a
n
b
m
a
n
(n, m & 1)
- L
2
= a
n
b
n
a
m
b
m
(n, m & 1)
- L
3
= {x / x - {a,b}* y x contenga dos veces ms b que a
- L
4
= {xx
R
/ x - {a,b}* }
- L
5
= {x - {a,b}* / x = x
R
}
7. Construya un autmata pushdown determinstico que acepte toda cadena de la forma
xc, donde x es una cadena de a y b de longitud 0 o ms en la cual el nmero total de a
sea exactamente el nmero total de b.
8. Construya un autmata pushdow no determinstico que acepte todas las cadenas de la
forma a
n
ba
n
o de la forma a
2n
ba
n
para todo n & 1.
Mquinas de Turing. Gramticas Tipo 0
9. Escriba una gramtica de Tipo 0 que genere el lenguaje {(a
2
)
n
/ n & 0}
10. Considere la siguiente mquina de Turing M = < {q
0
, q
1
} , {a, b, #} , q
0
, 1 > donde:
(q
0
, a) " (q
0
, R)
1 = (q
0
,#) " (q
1
, a)
(q
1
, a) " (q
1
, L)
(q
1
,#) " (q
0
, a)
a) Escriba las 12 primeras situaciones de la mquina M si comienza en la situacin
(e, q
0
, a, ##a)
b) Qu continuar haciendo la mquina despus de esto?
c) Parar alguna vez?
d) Usar una cantidad finita de tape (cinta)?
e) Qu hara la mquina si comenzase en otra situacin?
11. Construya una mquina de Turing que acepte cuanquier cinta escrita sobre el
vocabulario {0, 1} y convierta toda cadena contigua de dos o ms 1 en 0. Todo lo
dems queda sin cambio. Por ejemplo, la cinta input #01011011101# debera finalizar
como #01000000001#.
Autmata linealmente limitado. Lenguajes Sensibles al Contexto. Gramticas Tipo 1
12. Construya gramticas sensibels al contexto para cada uno de los siguientes lenguajes:
L
1
= { a
n
b
n
c
n
, para n & 1}
L
2
= {x x - {a,b,c}* / x contenga un nmero ( & 1) igual de a, b y c}
L
3
= {xx / x - {a,b}
+
} (es decir, todas las cadenas no vacas en {a,b}* con la mitad
izquierda y derecha idnticas.

Das könnte Ihnen auch gefallen