Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Olivia Gutú
PEARSON
/ D a to s de catalogación b ib liog ráfica
Gutú. Olivia
P rim ar carao a* teoría da n & n a to s y l m f ^ w / t rw«l n
P r i m e r a e d ic ió n
E d ito ra : Á u re a C am ach o A n g u la n o
au r e a .cam achoO poaraon x o m
M a rian n a L y u b o ro ts (U n iv ersid ad d o S o n o ra )
E d ito r a do d esarro llo : C la u d ia R om ero M e rca d o
P R IM E R A E D IC IÓ N , 2013
D. R . © 2013 p o r U n iv ersid ad d e S o n o ra
Av. R osales y B lvd. E n c in a s s / n
Coi. C o n tro , C . P. 83000
Hem i arillo , S o n o ra
w w w .uson.m x
ISBN L IB R O IM P R E S O : 9 7 8 ^ 07-32-2303-4
ISBN E -B O O K : 978-807-32-2304-1
ISB N E -C H A P T E R : 978 607-32- 2305-8
ISBN L IB R O IM P R E S O U N IS O N : 978-607-518-044-1
ISBN E -B O O K U N IS O N : 978-607-518-045-8
ISB N E -C IIA P T E R U N IS O N : 978-607-518-046-5
13 A u tó m a ta s n tv H p tp rm in istflfll.................................................................... 27
£1.1, flelimnÁn de a n t/u n ata finito. nordetem unistál................................. 27
Í3.2 Anr.^irmtns ron trnnsirinnna instnntA npftd.......................................... 32
0.3__ CñEB fiB BacSS de loa j ¡ ¡ B S 5 5 a B a E 5 ............................................ 36
13.3.1 Del üQ-rietcrminiamo al rirtfirm inám ol.................................... 37
13.3.2 Eliminación de las transiciones instantÁneas)..................... 39
[3.3.3 Equivalencia de autóm atas finitoal.......................................... 41
135
El presente libro fue pensado con el objetivo de brindarle una herram ienta
de apoyo al estudiante de licenciatura o posgrado interesado en aprender por
prim era vez los fundam entos teóricos de la com putación. Dando un enfoque muy
cercano a la formalidad m atem ática sin descartar en lo absoluto las aplicaciones
prácticas. P a ra el correcto entendim iento del presente m aterial se requiere que el
lector tenga conocimiento previo de lógica y teoría de conjuntos, ambas a nivel
dem ental. Posiblemente, el tex to sea más accesible al lector que ten g a alguna
noción de programación y de m atem áticas discretas.
Exceptuando el último capítulo, cada sección tiene tre s componentes: la teoría,
los ejemplos y los ejercicios. El autor consideró im portante incluir métodos de
razonam iento formal no solo en la teoría sino tam bién en los ejercicios, pues
la prueba m atem ática es una herram ienta fundam ental en la comprobación de
modelos hechos en la práctica.
¿P o rq u é e stu d ia r a u tó m a ta s y lenguajes?
Desde el punto de v ista puram ente teórico, el conocimiento básico de autóm atas
y lenguajes perm ite al lector, entre otras cosas en trar de lleno en m ateria de
oomputabilidad. Sin embargo, los conceptos que se tra ta n aquí tienen su propio
interés en aplicaciones a problemas de la vida real. En los siguientes párrafos
se precisan esta s ideas y de paso se describe la distribución de los tem as que
constituyen el texto.
L a información se representa teóricam ente por medio de secuencias finitas
de caracteres, e sta noción escencial en la teoría de la com putación se formaliza
mediante el concepto de cadena. En el prim er capítulo se define el concepto de
l
2 In tro d u c c ió n
1 h t t p s : / / w v .c o u r s e r a .o r g /c o u r s e /a u to B ia t a
Capítulo J ________________________________
Ei» este capítulo se presenta la term inología formal básica para fam iliarizar al
lector cou el estilo del documento. Además, se incluye un breve recordatorio
sobre el principio de inducción m atem ática, pues es el razonam iento en que se
basan prácticam ente to d as las demostraciones del texto. P a ra profundizar sobre
los tem as vistos en e sta sección, d lector puede consultar |2 ¡ y |12J.
3
4 1 A lf a b e t o s , c a d e n a * y lm g x » jo g
an = aa - • • a
n voces
x*y = xy,
M = M + fy|.
En d resto d d docum ento, se abu sa de la notación y se escribe sim plem ente x y
en lugar de x*y. Así pues, se debe entender que x e es la cadena x, no debe de
confundirse con la simple yuxtaposición de x con e, puesto que visto de e sta
forma, x e no e sta ría en la clausura del alfabeto. Si w es una cadena cualquiera,
por convención tD° = e y como es natural, se entiende que:
Al igual que antes, en el resto del texto se escribe n > m para denotar a los
n 6 {m, m + 1, m + 2 , . . . } y se escribe n > m para los n € {m + 1, m + 2 . . . . }.
1.2 Lenguajes
L M = {00001,0111,110001,11111}.
A lo largo del texto, reiteradam ente se liabla de «probar que dos lenguajes
son iguales». Un lenguaje, desde el punto de vista puram ente m atem ático, es
simplemente un conjunto numerable. Si L y M son dos lenguajes y se quiere
1 .3 le n g u a je » 7
• si x 6 L entonces x € A/, y
. si x 6 A/ entonces x € L.
(L M ) N = L { M N ).
L n = J,L -L
n voces
¿* = U L "-
O
Ejem plo 9. Ya que 0o = {f} y para todo natural n se cumple que 0" = 0 y por
ta n to 0 * = {c}.
Prueba. Por definición (L*)° = { f}. Probem os primero que para todo n natural:
( L T = ¿* . (1 2 )
R esta probar que L ' L ' - L*. Si w 6 L ', entonces w = w£, luego w € L 'L ',
con esto se dem uestra que L * C L ’ L*. Sea w 6 L* L*. entonces w = x y donde
x, y € L ' . Entonces, existe m y r tal que x € Lm y y € Lr . P or tanto, la cadena
x y 6 L m +r C L *. Luego. L 'L * C L*. En conclusión, se h a probado la ecuación
(J O ) , p ara todo n natural. Finalmente,
En este capítulo se estudia a los autóm atas finitos determ inistas, concepto que
sirve de modelo p ara procesos donde existe un número finito de estados y de
señales que indican el cambio de estado. La transición de un estad o a o tro se
hace de form a determ inista, lo que significa que dado un estado y una señal
existe solo una posibilidad de estado de llegada. A cada sistem a de estados y
señales le corresponde un lenguaje de cadenas de señales asociado a un problema
específico.
R ite capítulo consta de tres secciones. En la prim era sección se definen los
autóm atas finitos d eten n instas y se dan algunos ejemplos. Los lenguajes asocia
dos a estos sistem as se estudian en la segunda sección. En la tercera sección
finalmente se establece un algoritm o para optim izar este tip o de autóm atas en
función al número de estados.
El estudio formal de los autóm atas finitos determ inistas se rem ite a |19],
aunque la definición habitual que aparece en los libros de texto, c. f. |14| y |26)
-que es la que se presenta aquí - se introdqjo de m anera independiente en |15],
(211 y P 2 J. El algoritm o de inmunización corresponde en origen a |13|.
o
10 2 A u tó m a ta * finito* d o tc rm in is ti
al recibir m ía señal, form alm ente se define como una q uíntupla (Q . E . 6, qo. F )
tal que:
q Q — 0
©^ ©
Si p = <7 se dibqja así:
Ejem plo 10. La ¡dea es modelar el com portam iento de mi interruptor típico de
luz. El in terru p to r solo puede e sta r «en prendido» o «en apagado». En cualquier
caso, si se pulsa d ejará de estar en prendido para estar en apagado o dejará
de e sta r en apagado p ara estar en prendido. Además, se quiere distinguir como
situación preferente el hecho de que el interruptor esté en prendido. E ste pro
cedimiento puede ser descrito mediante el au tóm ata (Q , E . <5. q0, F ) definido de
la siguiente m anera: Q « el conjunto de estados {<7a-<7p} donde qa representa la
2.1 Dtifinioón do au tó m ata finito d o trrm u iH ta II
Ejem plo 11. l a ta re a es diseñar un au tóm ata finito determ inista que reconozca
la p alabra so n o ra en un texto plano. El au tó m ata que se propone es el siguiente:
Ejercicio 8. P ara cad a uno de los siguientes incisos, diseñe un au tóm ata finito
determ inista que entre to d as las cadenas binarias distinga únicamente aquellas
que:
1. acallen en 00.
2. contengan a la subeadena 1001,
3. tengan longitud 3n, n > 0,
4. sean de la form a 0” , n > 0.
Ei Ei
Si S i
Fig. 2 .2 Ju e g o d e c a n ic a s
H asta ahora se h a hablado de que «el a u tó m ata lia leído la cadena tal ...» ,
d a cad en a ha sido distinguida por el a u tó m a ta ...» , etc., para darle form alidad
m atem ática a estas frases a continuación se define el concepto de función de
transición extendida. Concretam ente se precisa describir la form a en que se pasa
de un estado a otro después de recibir sccucncialmentc varias entradas. Dado
un au tó m ata finito determ inista A = (Q , ¿7, <5, g a .F ), la función de transición
« te n d id a <5 es una aplicación con dominio en Q x E* y con imagen contenida
en Q tal que p ara to d o q 6 Q, x € E* y a 6 E:
R. i n i c i a l = q;
r . IN D U C TIV A <S(g,xa) »<5(<5(g,:r),a).
Al conjunto
L (A ) = {te € T* : ó(qo, w) € F )
se le llam a lenguaje aceptado por A. Generalm ente se parte d e un lenguaje L,
digamos «el conjunto de textos que coutieue a la palabra sonora», «el conjunto
14 2 A u tó m a ta * finito» d c t<7 m m ista n
de cadenas binarias que term inan en 00 », etc. Se diseña entonces un autóm ata
finito determ in ista A que acepte a L como lenguaje. P a ra com probar que el
diseño es correcto se h a de verificar que L (A ) = L, en otras palabras, se debe
demostrar que S(qo, w) € F si y solo si w € L. La siguiente propiedad se usa
liabitualm eute en este tip o de comprobaciones, como se ilustra en d ejemplo
Propiedad 3. Sea <5 la función de transición de un au tó m ata finito determ inista.
R itonces p ara cualquier estado q y para cualesquiera dos cadenas x e y de
ém bolos de entrada:
¿ to * v ) = ¿(<5(9i*),y). (2 . 1 )
Ejem plo 12. Sea A =(<?, E , ó, qo, F ) el autóm ata descrito a i el ejem plo[H ]y sea
y - so n o ra. A continuación se prueba que L (A ) <b el conjunto Laon de cadenas
de te x to plano que contienen a la subeadena y; se h a de dem ostrar oitonces que
y es subeadena de ut si y solo si <5(<?o. tv) - qa. Con este fin se prueba primero
que:
¿(Pi v) - <?o, Vp. (2.2)
Sea p / qa. Ya que S(p, b) — qt entonces S(p. so ) = 6(6(p, s), o) - S(qi. o) = <72,
así sucesivamente se concluye que ¿(p, y) = <5(¿(p, sonor), a) = 6(q$. a) = Si
p = q& entonces S (p .y) = qa pues por definición de <5, ¿(tfe, a ) — qa, para todo
a 6 E . Con esto se verifica Q2.2t).
Se supone que y es subeadena de ti?. Si w = x y z , por la propiedad 0 y la
ecuación l]Z 2|| es fácil calcular:
= V ((<5(gb, * ),^(p b , * ) ) , o )
Cou esto se dem uestra la ecuación ({2.3fr para to d a cadena w. R esta verificar que
efectivamente L (C ) = L (A ) n L (B ). pero esto es fácil, ya que te está, en L{C) si
y solo si g((go. Po),tv) pertenece a F x H si y solo si á(qb, te) € F y *¡{po, te) € H
si y solo si te € L (A ) y te € L (B ).
Ejem plo 13. Sean A = ( Q , ¿7, ó. %. F ) y B — (P, i7, 7 ,p 0, H) lo6 autóm atas des
critos m ediante los siguientes diagram as de transición:
Ejercicio 14. Sea A = (Q . E . <5. go, F ) un au tóm ata finito determ inista. Verifique
que el au tó m ata B = (Q . E . ó, q(,, Q \ F ) acepta como lenguaje a E* \ L (A ).
Ejercicio 15. Sean A y B dos au tóm atas finitos determ inistas. C onstruya un
autóm ata finito determ inista que acepte a L (A ) U L (B ) como lenguaje. Dise
ñe tam bién un a u tó m ata finito determ inista que acepte a L {A ) \ L {B ) como
lenguaje.
Ejercicio 16. Defina un autóm ata finito determ inista que acepte como lenguaje
al conjunto de cadenas que no contienen a la palabra reservada th e n pero que
contienen a la p alabra reservada e ls e .
Ejercicio 17. Diseñe un au tóm ata que acepte como lenguaje al conjunto de ca
denas binarias que contengan a 10001 como subeadena y que term inen en 0101 .
Se dice que dos au tó m atas finitos determ inistas A y B son equivalentes á aceptan
el mismo lenguaje. Eli objetivo de esta sección es establecer un algoritmo que dado
A = (Q. E , 6, qo, F ), encuentre un a u tó m ata equivalente pero la menor cantidad
18 2 A u tó m a ta * finito* d e te rm in is ta *
El algoritmo por llenado de tabla tiene como fin encontrar pares llamados dis
tinguibles. Si A es un a u tó m ata finito determ inista con función de transición
6 y conjunto de estados de aceptación F. el algoritmo por llenado de ta b la se
establece m ediante el siguiente proceso inductivo:
O
Fig. 2.S P a so in d u ctiv o d e l a lg o ritm o por D enado d e ta b la , a n te e s ta situ ac ió n : r y s par
d istin g u ib le im p lica p y q p a r d istin g u ib le.
autóm ata, pues los pares distinguibles serán exactam ente aquellos que no son
equivalentes, corno lo establece d teorem a [Q
9i
92
93
9<
95
9«
9r
9o 9i 92 93 9* 95 96
—en este caso únicam ente q j— de los estados que no son de aceptación. Se tachan
entonces los cuadros correspondientes a los pares distinguibles:
9>
q-2
9s
<?5
<76
qr X») Xco x., X¡i) Xdi X-ii
9o 9i 92 93 94 9& 96
(2.4)
La etiq u eta (l) se indica que se tr a ta de la prim era iteración la cual por supuesto
corresponde a la regla inicial. De la información de la tabla p.4| y de la regla
inductiva, se deducen nuevos j>ares distinguibles. Por ejemplo, de saber que q7
y es un par distinguible se deduce que: y <?< es un par distinguible, <jb y qj,
es un par distinguible, q* y q$ es un par distinguible y finalmente que q¿ y q i es
un p ar distinguible, aunque esto últim o ya se sabía (ver figura ET6[|.
<71
02
<73
<74 Xn X» Xm Xn
</6 X* Xpo
9? X» Xi Xo) Xo Xo x ¡» X jij
Oo 0\ 02 Oi Oí <75 <76
9i X*
02 Xa
<73 Xx
94 X» Xa X» X*
97 Xm Xn X») Xw Xn X» Xm
91 92 93 94 95 96
Se repite el procedim iento con los pares etiquetarlos con (3). Los pares etiquetarlos
con (4) no aportan nuevos pares distinguibles. Finalm ente, la tabla queda así:
91 X*1
92 Xo X ,
X 0 X,
93
94 Xn Xo X» Xn
95 Xn Xr X jd Xn Xr-
96 Xn Xa X *i X *1 Xt X*
97 Xn X .) X o) Xn Xn Xm X o)
r — S(p, a i ) y s = S (q ,a i).
De igual modo, <j(s, Xo) = S(q, un). Por tanto. un € lV(p. q). R esta probar que
para to d a cad en a w 6 W (p, g), |tcr0| < M - Se razona por contradicción: sea
y Zq una cadena en VV'(p, g) tal que \zd\ < |z|, p a ra todo z € IV'(p, q). Si w es una
cadena en W (p, q) \ IV'(p. q), entonces |u’o| < |u>|. Como zq € IV'(p, 9 ), entonces
2-3 M m hnización d e l n ú m e ro d e e s ta d o s 23
\zo\ < |u*j|. Por ta n to |¿o| < |u?|. En conclusión, * 6 Hr(p,g) y |¿o| < |to| para
todo tv € W (p, <?). Por hipótesis d e inducción, el algoritm o distingue a p de q en
la iteración | ^ | -f 1 < n 4-1, por ta n to p y q no se distinguen por prim era vez en
la iteración n + 1 y se llega a una contradicción.
Ejem plo 15. Las clases de equivalencia que resultan de aplicar el algoritmo de
Denado de ta b la al autóm ata del ejemplo[ÜJson: [g,] = {$} para i = 0 .1 ,4 ,5 . 6 . 7
y |f c l = ífc)"- {?2- <73}-
2 .3 .2 C o n s tru c c ió n del a u tó m a ta m ín im o
Dado un autóm ata finito determ inista A = (Q , £ , <5, (fo, F ), se define el autómata
m ínim o asociado a A como el autóm ata:
■Amtn = ( Q / s , S , d m m . [ flo ji - f m í n ) i
donde
¿min([<7).«) = ! % ,« ) ] . (2.5)
La función <Jmm está bien definida (ejercicio Las clases de equivalencia de:
24 2 A u tó m a ta » finito» d r tr r m m ia t mi
F m * - M ••< €*) ( 2 -6 )
solo contienen elem entas de F , ya que en la prim era iteración del algoritm o por
llenado de tab la, se distinguen los estados de aceptación de los que no lo son.
En o tra s palabras, si [p] € Fmin, entonces [p] = {q € Q : q = p} C F. Se cumple
adem ás la siguiente propiedad.
Propiedad 4 . Sea A =* (Q, E,S.qo,F) un autóm ata finito determ inista. P ara
to d a cadena w € F* y para todo estado q, <5min((tf], w ) = (¿(qr.«?)].
Ejem plo 16. Sea A el autóm ata descrito m ediante el diagram a de transición que
se m uestra a continuación. Evidentem ente un estado inaccesible es d estado i.
No hay m anera de llegar a él partiendo del estado inicial.
Prueba. P a ra probar que L (A m¡n) - L (A ), es suficiente ver que ¿mindflb), u>) está
en Fmm si y solo si <j(go, w) estílen F. P ero este hecho es una consecuencia trivial
de la propiedad § pues ¿min((<3b). w) = [á(go, w)].
R esta dem ostrar n. se prueba primero que cada estado a € Q/= es equivalente
a algún estado r 6 B. Los estarlos [qo] 6 Q / s y po 6 P son equivalentes puesto
que L (A m „) = L { B ) |ejcrcicio[l§. Sea tj la función de transición de por
el ejercicio ^22) para cada símbolo de entrarla o, rj([qoJ, a) € Q /= es equivalente
a rj(p0.a) € P. Razonando de la misma forma, todos los sucesores de *7((%]•<*)
son equivalentes a algún estarlo de P. Luego, cada estado d e Q ¡- es equivalente
a un estado d e P. Por o tro lado, si \Q/=\ fuera mayor que |P | existirían dos
estados de Q / = que son equivalentes a un mismo estado de P, lo que contradice
la definición del conjunto Q /= . q
Ejercicio 22. Sea A un au tó m ata finito determ inista con función de transición <5y
alfabeto E . Demuestre que si p y q son estados equivalentes entonces r = <5(p, a )
y s — S(q, a ) tam bién lo son. para cualquier a 6 E . ¿Porqué esto implica que
<$min de la ecuación Q2.5Q e s tá bien definida?
Ejercicio 23. En la demostración del teorem a § ¿dónde se usó el hecho de que el
au tó m ata A no debe tener estados inaccesibles?
Capítulo ___________________________
Autómatas no-deterministas
27
28 3 A u tó m a U a n o -d c t^ m in to tiu i
¿ (9 ,a ) = { íh ,...,p m } c Q.
Ejemplo 18. Sea A — ((?, 17.6. qo, F ) el autóm ata descrito m ediante el diagram a
de transición que se m uestra en la figura (¡Tí) En este caso Q = {40, 41 , 92 },
17 =» {0.1}, F - {92 } y además:
¿(9o, 0 ) = {<?o},
¿ (9 o ,l) = {9o-9i}t
¿ (9 i,0 ) = 0.
¿ ( 9 i,l) = {42 },
¿ ( 42 , 0 ) = 0 .
¿( 42 , 1) = 0 .
1 o s d c o n ju n to p o te n c ia do Q , e s to « , el c o n ju n to d e to d o s los s u b c o n ju n to s d e Q .
3.1 D e fin ic ió n d o a u t ó m a t a f in ito n o - d e t e r m i n i s t a 20
1
0 — 1— * 0
la siguiente ruta; al leer 000 se queda en qo, cuando se lee 1 , se pasa a </i y
cuando se lee 1 o tra vez. se pasa a q2 (ver figura [O ). Una cadena es distinguida
por el au tó m ata si existe un camino, tal que a partir d d estad o inicial se llega a
un estado de aceptación. En este ejemplo, el conjunto de cadenas aceptadas es
d conjunto de cadenas binarias que term inan en 11 .
*=1
L ( A ) = { w £ E * :¿ (< ? o ,u > )n F ¿ 0 }
pues
¿(<7i-h) = {<7i},
¿ ( 91 , ho) = ¿(q i,o ) = {91 }
¿ ( 9!. h o l) = ¿( 91. 1 ) = {91 }
¿( 91 , h o l in u n d o ) = ¿( 91 . 0 ) = {91 }.
Por tanto,
¿( 9o- "h o lajm in d o ") - ¿( 9 ,. ")-{ < & } .
Por o tro lado,
<j(<3b, h o lajn u n d o )
110 e s tá definida, pues de e n trad a ¿( 90,h) = 0. En general, este au tóm ata dis
tingue las frases escritas entre comillas, sin que aparezcan comillas en el interior,
en o tras palabras [ejercicio f29j:
Ejercicio 24. Para cada uno de las incisos, diseñe un autóm ata finito no-determ inista
que acepte únicam ente cadenas binarias tales que:
1. term inen en 0011 ;
2 . contengan al menos tres unos;
3. comiencen en 110 y acaben en 0110;
4. contengan lasu b c a d e n a 1010.
Ejercicio 25. Escriba la ta b la de transición del au tóm ata del ejemplo M odi
fique este au tó m ata p ara que dado un texto, diga si ese texto contiene o no al
menos una frase en tre comillas.
Ejercicio 26. Demuestre la propie<lad ^
Ejercicio 27. Sea A el au tó m ata del ejemplo [ l § verifique que L (A ) <b el conjunto
de cadenas binarias que term inan en 11.
Ejercicio 28. Diseñe un autóm ata finito determ inista que acepte como lenguaje
el conjunto de números naturales que term inan en 3, fi o 9.
Ejercicio 2ü. Sea A el autóm ata del ejemplo [IÜJ pruebe que L (A ) es el conjunto
de cadenas de un tex to plano de la form a w = "x " donde x € ( £ \ {"})*•
Ejercicio 30. Demuestre que si un lenguaje es aceptado por un au tóm ata finito
determ inista entonces es aceptado p o r un au tóm ata finito no-determinista.
Q x E l i {f }.
R. INICIAL q € clau(<7);
R. INDUCTIVA si p € claufa) entonces ó(p. e) C clAu(g).
R. in ic i a l 6{q, e) = clau(g);
r . i n d u c tiv a si ¿(g .x ) = {px,. •. ,p^i} entonces:
k
S (q ,x a )= | J c la u fo ),
j=i
te m p lo 21. Sea A el au tóm ata finito no-determ inista con transiciones instan
táneas el siguiente diagram a de transición que se m uestra en la figura {37% La
transición ¿(gb.e) *= {<7i , P i } se in terp reta como sigue: a partir d d estado inicial
qn se puede cam biar instantánem ente al estado 91 o al estado pi sin necesidad
de haber recibido señal alguna. El resto de las transiciones se interpretan igual
que en un a u tó m ata finito no-determ inista.
34 3 A \itó m * u w n o d r tr g m in » ti
a <*(#),x) — { p i, . . . , p m }
í(9o, *) = {Q o Q iP i)
1 {<*.<72}
0 {<?«•£*} ¿(<3h,fl0) = {qo-Qi-Pi-P?}
0 {<fc,P2,P3} ¿(gtj.clOO) = {qb.91 .p 1.p 2 .p 3 }
Por tanto, la cad en a 100 sería aceptada, pues el estado de aceptación pertenece
a Í(<jb.cl00 ). Se ha de notar que a diferencia d e los autóm atas sin transiciones
instantáneas ¡á(qb. 1) ^ <5(g0 ,l)!. pues S(q0A ) = {qu} y sin embargo la tabla
anterior indica que ¿(qb, 1) *= {qb.<7i . P i , 92 }.
3 .2 A u t ó i m t M con tra n a ic k m e a inst*nt&ncuui 35
Ejem plo 22. Sea A el autóm ata del ejem plo (31) Se tiene q u e L( A) os el conjunto
de cadenas binarias que acaban en 00 o en 11. P a ra verificar que en general las
cadenas de la form a x l 1 o xOÜ son aceptadas se razona de la siguiente manera.
Se supone que w = x l l . Ya que qn 6 ¿(go, x), para to d a cadena x , entonces
por flO j), C <j(qo,xf), p o r tan to q\ e clau(qo) C <5(qt>,x). De nuevo por
{f O jl, ¿ ( q i . l l ) C ó(qo, x l l ) . Por definición de Ó, q¿ € ó '(q i.ll). Se concluye que
02 6 ó(oo, x l 1). Si x = 00 se razona de m anera análoga.
P ara ver que son el único tipo de cadenas aceptadas, se supone lo contrario,
es decir se aceptan cadenas que acaban 10 o 01. Si aceptaran cadenas del tipo
w = xlO, al hacer el cálculo preciso se llegaría a que <5(qo, xlO) no tiene algún
estado de aceptación, independientem ente de la cadena x , lo que lleva a u n a
contradicción. De form a sim ilar se razona para w = xOl. Los detalles se dejan
al lector (ejercicio ETÍ).
Ejemplo 23. Sea E = {a, 6 , c}. Se está interesado en diseñar un au tó m ata que
distinga aquellas cadenas en E* cuya últim a en tra d a aparezca alo m ás dos veces.
Por ejemplo, las cadenas caccba, babe y bcaccb deben ser distinguidas, m ientras
las cadenas bcacaaa. ababeb no. Se propoue el autóm ata descrito m ediante el
siguiente diagram a de transición (ejercicio ¡33):
a,e
36 3 A u tó m a ta s n o -« M rrm m ista s
p ara i = a* b.c, se tiene que clau(q,) = {9,, p*} y clau(p,) = {p,}. Por último, es
fácil verificar que clau( 9 / ) = {9 /} .
£ 0 1 2
” ♦ Qo {<7i-« 2} ti M {92 }
9i ti {9o} {<fc} {9o-9i}
*(f2 0 0 0 0
1. calcule la clausura respecto a r d e cada estado;
2. obtenga todas las cadenas de longitud menor o igual a 3 aceptadas por este
autóm ata.
Ejercicio 36. Sean p y 9 dos estados de un au tóm ata no-determ inista con transi
ciones instantáneas. Verifique que si p 6 clau( 9 ) entonces clau(p) C claufa).
Ejercicio 37. Demuestre la propiedad § para autóm atas finitos uo-dctcrm inistas
con transiciones instantáneas.
más general a la clase de lenguajes aceptados por los autóm atas finitos d e ter
m inistas. En o tra s palabras, las tre s máquinas com putacionales son equivalentes
antro sí com o lo señala el teorem a £2
3 .3 .1 D e l n o -d e te rm in is m o al d e te rm in is m o
0 1
0 0 0
-> {flo} Í 9o , 9 i } { 9b }
M 0 M
• M 0 0
ÍQo Qi ) { 9o , 9 i } {#>.«*}
' {Ol-Ql} 0
*{<M. Qi) { 9o , 9 l } {«»}
*{<?0 , 9 f< 72} { 9o , 9 i } { 9b,<fc}
38 3 A u tó m a tiw n o d rtc rm ro ig tiu i
Teorem a 3. Sea A s m autóm ata finito no-determ inista y A d el autóm ata finito
determinista de la construcción Entonces L ( A N) = L (A n ).
si-Ufete-®)-
*=I
(33>
después de este cálculo es conveniente eliminar todos
los estados inaccesibles y volver a definir Q d ;
po « el estaílo inicial dado por clau(go);
F d <b el conjunto { 5 e Q d '■S n F e 0}.
s clau(S) ¿ 5 = d a u (S )?
U sí
{90} {<30,91,92} no
{9 .} {9.} sí
{ 92 } { 91 , 92} no
{91», 91} {<31),91,92} no
{90,92} { 9b .91,92} no
{91-92} {9 1 9 2 } sí
{ 9o, 9 i- 92} { 9b , 9 i , 92 } sí
S M S . o ) * d ( S , \ ) ¿accesible?
Sj
0 0 0 0 0 no
{ 9 ,} { 9 i } {91,92} {9 ,} Í 9i , 92} sí
*{91,92} {91} {91,92} {9»} { 91, 92} sí
* { 9b- 9 i , 92 } {91} {91,92} {9 .} { 9 i , 92 } sí
Teorem a 4 . Sea A& tm autóm ata finito no-determinista con transiciones instan
táneas y A d d autóm ata finito determinista de la construcción iffi.ffi. Entonces
L (A e ) = L ( A d ).
3 .3 .3 E q u iv a le n c ia de a u tó m a ta s finitos
Pruebo.
I = > II. Sea A p = {Q . E , ¿ d . 9o. un au tóm ata finito determ inista que acepta
a L como lenguaje. Entonces el au tó m ata A s = { Q .E ,S n , {qr0) , donde
p ara cad a estado y símbolo de en tra d a o. a) = {$o(q, a)}- Se satisface
trivialm ente que b ( A ^ ) — L ( A D), puesto que para to d a cadena de símbolos
de e n tra d a u>. w ) = {¿o(<3b. te)}.
II = > III. Sea A n = {Q . E . 6&, q ^ .F ) u n au tó m ata finito no-detenninista que
acepta a L como lenguaje. Sea A e = {Q. E , ÓE-qo• í*} el autóm ata finito no-
determ inista con transiciones instantáneas con función de transición definida
p ara c a d a q € Q por:
a ) = M<?i o)i si a 6 T ;
<5E(q, *) = 0 -
Ejercicio 38. A p artir del au tóm ata del ejemplo [TOJ construya con el algoritm o
visto en e sta sección un au tóm ata finito determ inista que acepte el mismo
lenguaje.
Lenguajes regulares
Ei» este capítulo se presenta el concepto de expresión regular, el cual fue in
troducido por S. C. Kleene (17) en los años cincuenta con el fin de describir
eventos que puedeu representarse m ediante modelos de autóm atas finitos. Desde
entonces h asta nuestros días, las expresiones regulares y extensiones de ellas han
sido utilizadas en muchas herram ientas de Unix o lenguajes de programación
como Perl y P ython |1, p. 189|.
E ste capítulo se divide en tres secciones. En la prim era sección se definen
las expresiones y los lenguajes regulares. En la segunda y la tercera sección se
dem uestra que un lenguaje es regular si y solo si es aceptado por un au tóm ata
finito determ inista. E stas ideas de equivalencia pertenecen tam bién a Kleene,
pero la construcción de un autóm ata finito determ inista a partir de una expresión
regular que se presenta aquí corresponde a |20 ].
•43
44 4 I f a i g u n jm r c g u U r c a
Ejemplo 26. Las expresiones ( f + 1)* 4- 0, (0 4- 1)* son expresiones regulares del
alfabeto binario. Las expresión 1 + no es regular para algún alfabeto.
£ (0 1 * + 1 ) = (£ (0 )(£ (1 ) * ) ) U £ (1 ) = £ (0 1 * ) U { 1 } = {1,0,01,011,0111, • • • }.
Ejemplo 29. Para el alfabeto binario, es fácil calcular £ ((0 4 1)*) = {0,1}*.
Ejemplo 30. Se desea encontrar una expresión regular £ sobre el alfabeto bi
nario, tal que £ ( £ ) = {w : ur consta de ceros y unos alternados}. l a expresión
regular 0 1 (0 1 )* acepta como lenguaje al conjunto de cadenas con ceros y unos
alternados, pero solo los que comienzan en 0 y term inan en 1, en otras palabras:
P ara obtener todas las cadenas de ceros y unos alternados es preciso considerar
la expresión regular 01(01)* 4-10(10)* 4-010(10)* + 101(01)*.
4.1 D e fin ic ió n d o e u p r m ió n y le n g u a je r e g u l a r 45
ley p ro p ied ad
(E F )H = E(FH) a a o d a tiv id a d d e la c o n c a te n a c ió n
E + F= F + E c o n m u ta tiv id a d d e la su m a
E + E = E id e m p o te n c ia d e l a s u m a
(E + F)II = E li + FU d istrib u ció n
(£ -* )• = E* id e m p o te n c ia d e la c la u s u ra
0 com o a n u í a d o r
Ee= E í com o id e n tid a d
E + 0 = E 0 com o n e u tro a d itiv o
C u a d ro 4.1 A lgunas equivalencia* d e la* ex p resio n es regulare*.
Ejemplo 32. Se pueden utilizar las propiedades del cuadro g l ] para simplificar
una expresión regular complicada. Por ejemplo, la expresión regular
(0 + 1 )* + ((1 + 0)*)*(1 + 1 ) + 1 + e
Ejemplo 33. E3 sistem a operativo Unix tiene su propia notación para el manejo
de expresiot»es regulares, además, desde un inicio se han ¡do agregado expresiones
regulares extendidas, algunas son:
48 4 le n g u a je s rc g u U rc a
E| F es la expresión regular E 4- F .
E* es la expresión regular E *.
E+ es la expresión regular extendida equivalente a E E '. El operador + tiene la
misma precedencia y asocia!ividad que el operador clausura.
E? es la expresión regular extendida equivalente a E fe . Thmbién tiene la m ism a
precedencia y asociatividad que el operador clausura.
[abe] es la expresión regular extendida equivalente a a + b + c .
[a -z ] es la expresión regular extendida equivalente a a + b + cH------h z . Esto
aplica siempre y cuando se trate de secuencias lógicas como letras mayúsculas
o dígitos.
Ejercicio 41. Demuestre que E ' es un lenguaje regular para cualquier alfabeto
E . Pruebe que el conjunto vacío tam bién es un lenguaje regular.
Ejercicio 43. Para c a d a uno de los siguientes incisos, encuentre una expresión
regular que acepte el lenguaje formado por el conjunto de cadenas binarias tales
que:
1. comienzan en 010 y acaban en 11;
2 . term inan en 010 o en 0111 ;
3. no acaban en 01;
4. tienen longitud 3n, n > 0;
5. son de la form a 0n 1 o 01", n > 0.
Ejercicio 46. Para cad a uno de los siguientes incisos, construya una expresión
regular en la notación de Unix del ejemplo ^51 que describa de forma razonable
los siguientes conjuntos:
1. números telefónicos de Madrid marcados desde México;
2 códigos postales (los C E P códigos de enderegamento postal) d e Salvador
Bahía, en Brasil;
3l números celulares de México m arcados desde un teléfono fijo, no necesaria
mente de la misma ciudad;
4. ligas de páginas de internet provenientes d e FVancia.
Ejercicio 47. Para c a d a una de las siguientes expresiones regulares del alfabeto
{ a b. c}, encuentre el lenguaje que acepta:
1. c(a*b*)*,
2 . (a 4- b )* a b (0 + 0 (a f b )* a b )’c.
3. a*(c + 0 + c b * )+ (a * )* c b * .
Eki e s ta sección se dem uestra que a partir de un autóm ata finito determ inista se
puede construir una expresión regular que acepte el mismo lenguaje. Este hecho
tiene im portancia teórica por sí mismo y se puede establecer con las herram ien
tas vistas h asta el momento, pero no es particularm ente bueno en la práctica
pues como se verá en la dem ostración del teorem a §J puede arrojar expresiones
regulares del orden de 4" términos si n es el número de estados del au tó m ata
dado. Es im portante señalar que siguen aparcncicndo en la literatu ra algorit
mos mejorados con el propósito de obtener una expresión regular a partir de un
autóm ata finito e. g. J28j.
Teorem a 6 . Si A =(Q, E .S.qo. F )cs un autóm ata finito determ inista entonces
existe una expresión regular que acepta el m ism o lenguaje que A.
re g la in d u c tiv a sea k mayor a 1, hay solo dos posibles casos a considerar para
las cadenas que constituyen al lenguaje aceptado por
• El camino que recorre la cadena no pasa por el estado Ar, en este caso la
carie na pertenece al lenguaje aceptado p o r R.\j ~ 1).
. El camino que recorre la cadena pasa al menos una vez por el estado k . En
este caso el camino comienza en i h asta que to p a por prim era vez con k ,
esa subeadena e s tá en el lenguaje aceptado por /?■* ~ l\ Luego la cadena
inicial se recorre del estado k hasta que to p a o tra vez con Ar, de nuevo de k
a k . y así sucesivamente h asta que llega por últim a vez en su recorrido al
estado A;, cad asu b cad ena —leída de k h asta A:— se encuentra en el lenguaje
aceptarlo p o r R ^ k~ luego la concatenación de todas se encuentra en el
lenguaje aceptado por ( R & ~ . Note que si la cadena inicial to p a u n a
sola vez en su recorrido con d estado k . la subeadena recorrida d e k t í k
es la cadena vacía. Finalm ente el recorrido va desde el estado k h asta el
estado j y la subeadena correspondiente e stá en el lenguaje aceptado por
R^f. l \ Por tanto, la cadena inicial pertenece al lenguaje aceptado por
4-3 Do e x p re sio n e s ro gnU rcg a a u tó m a ta » fin ito s 40
□
Ejem plo 34. Considere el au tóm ata de «prendido y apagado» del ejem plo [IDj
En notación del teorem a §j el au tó m ata se ve de la siguiente forma:
k= 1 k =2
II
M. = £ R ^i = £ + a ( c + a a ) 'a
= • *£>- a Ry2 = a + a(ff + aa)"(ff + a a)
4 ° ,> = a 4 ! ' = a JÍ jV = a + (e -f a a ) ( f + a a )* a
b £ > = £ 4 i > = £ + aa R%2 = (c + a a ) + (ff + a a ) ( f + a a ) ’(c + a a )
e sta sección se estu d ia un algoritmo para <le term inar un au tóm ata finito
no-determ inista con transiciones instantáneas a p a rtir de u n a expresión regular.
El procedim iento se p resen ta a través de la prueba del teorem a 0 Existe u n a
construcción directa «expresión regular a au tóm ata finito determ inista» pero
no es posible presentarla con los elementos estudiados hasta el momento, sin
embargo, el lector será capaz de estu d iarla por su cu en ta al finalizar el texto,
consultar por ejem plo. |2, §3.9.5|.
Prueba. La dem ostración se hace por inducción sobre la iteración en que se for
man las expresiones regulares. C oncretam ente se pruelwi la siguiente afirmación.
Sean A y B dos autóm atas que satisfacen los tre s puntos de P (n ) y que aceptan,
respectivamente, el mismo lenguaje que E y F (hipótesis de inducción). En la
iteración n + 1, las expresiones regulares son de la form a E + F , E F , E “ y (E ),
donde E y F son expresiones regulares formadas en una iteración menor o igual
a n. Se consideran los autóm atas descritos en las figuras @ 3 P ^ )y fO ]p a ra las
primeras tres expresiones regulares. Finalmente, para la expresión regular (E ),
d propio au tó m ata A sirve. Los detalles de la demostración se dejan al lector
[ejercicio (51].
Fig. 4 .2 A u tó m a ta q u e a c e p ta a l . ( A ) U l- (R)-
Fig. 4 .4 A u tó m a ta q u e a c e p ta a ¿ ( A )* .
Ejem plo 35. Sea E - (0 + 1)*1. Según la construcción anterior, el au tóm ata
que acep ta a L {0 -F 1) com o lenguaje es:
A p artir del autóm ata anterior se determ ina el autóm ata que acep ta a ¿ ( ( 0 + l ) ' )
como lenguaje:
£
Ejercicio 50. Con el algoritm o descrito en esta sección, encuentre un au tóm ata
finito no-determ inista con transiciones instantáneas que acepte el mismo lenguaje
que la expresión regular 0 ( 1 0 )* + 1( 1 0 )*.
Ejercicio 51. Determine formalmente las definiciones de los autóm atas descritos
en las figuras 2 3 @3 -v E 2 Después escriba con claridad las tre s igualdades de
conjuntos que se han de probar. Demuestre a detalle al menos una de ellas.
44 l e m a d o h o m b o o p a r a h -n g itajó n r e g u l a r e » a3
B f V ¿e,
# 2 - \x ]/[< n ,
B 3. pam todo r > 0, la cadena x y rz está en L.
y = ajt+1 •• -dj
Z = O j-f | •• Om.
6{Pk,Vr ) = P j - (4-2)
6{ p k ,lf+ l ) = Í ( 6(pk,VM),v )
“ h p í^ v )
= ¿(¿(gti.íu •• •Ofc),Ofc+ i - a í ).
- d ( p j,o i a t a f c + i •• - O j ) = p ¿ .
Se cmnple entonces la ecuación (frl.2[), para todo r > 0 . Por otro lado,
S ( p a , x y rz ) = 6( p k , y r z ) = S( 6 ( pk , y r ) , z ) = S ( p j y z ) .
Además,
— *v0
'C r=~x>
x w € L si y solo si yw 6 L.
Fl> fácil ver que = define una relación de equivalencia. Al conjunto de clases de
equivalencia d e E ‘ /= se le llam a índice d e L . El teorem a de MyUill-Nerodc dice
que un lenguaje es regular si y solo si su índice es finito.
Ejem plo 38. H lenguaje La del ejemplo ffS]tiene índice 1. El índice del lenguaje
¿oí del ejemplo £57] es oc, ya que si n / m entonces 0n l" está en L pero 0 TOl n
no e s tá en L es decir (O”1] £ |0n ], si n ¿ ru
Ejercicio 52. Demuestre que los siguientes lenguajes no son regulares utilizando
el lem a de bombeo.
1. El conjunto L 0 de cadenas de corchetes equilibrados, por ejemplo [ [ ] ] ,
[ [ □ ] [ ] ] [ ] , □ □ están en L 0 m ientras [] [ o ] C no.
2. El conjunto form ado por cadenas de ceros y de irnos con una cantidad de
sigual de ceros y de unos. Sugerencia: para cada n natural, considere la
cadena w = On l n l n!.
Ejercicio 53. Sea L = {0Bl B,2m : n > l ,m > 0} U {lm2* : m > 0 ,* > 0}.
Verifique que para cualquier cadena w con |in| > 1 existe una descomposición de
w que satisface las afirmaciones Jh y del lem a de bombeo. Sugerencia:
descomponga a la cadena u; en x = e, y d prim er símbolo de w y z el resto.
Com pruebe que L no es regular usando el teorem a de MyHill-Nerode.
Ejercicio 54. Pruebe que si L y M son lenguajes regulares, entonces tam bién lo
son los lenguajes L u M , L n A/, L \ AI, L M , y L *.
Ejercicio 55. Problemas de decisión de lenguajes regulares. Sea A un autóm ata
finito d eterm inista con n estados. Dem uestre que:
1. L (A ) jí 0 si y solo si existe u n a cadena u* con |u>| < n que es aceptada,
2. L (A ) es infinito si y solo si existe una cadena a cep tad a w con n < |tc| < 2 a
Eli base a esto, diseñe un algoritmo que reciba como en trad a un au tóm ata finito
determ inista y regrese un «sí» o un «no» dependiendo si el lenguaje que acepta
es vacío o no. Haga lo mismo pero que la respuesta sea en función de que el
lenguaje sea infinito o no.
Capítulo ^ J ____________
57
R8 R A u tó m a ta s A p ila
_ _ _
— —
*r t
q . -Y , b n
—
5 xZ E
Ejem plo 39. Sea L a el lenguaje del ejemplo ^ c o rre sp o n d ie n te al autóm ata finito
d eterm inista del ejem plo (TTJ Uim forma trivial de diseñar un a u tó m ata a pila
de aceptación estado-final dado u n au tóm ata finito determ inista es añadiendo
artificialm ente un alfabeto de la pila f = { Z q , a } pero sin algún movimiento en
la pila (cf. teorema
a. Z(J Zq
a, Zq/Z q
a, Zafe
o, Zo/aZo
o, a/e
-0 3
Este au tó m ata adm ite más de un camino de lectura de una cadena ¡incluso
teniendo un solo estado! Por ejemplo, ya que S(q, o, Z q ) = {(g, aZo), (<jf, c)}, a la
cadena aaa le corresponden al menos dos lecturas. La cadena aaa se distingue
por pila vacía porque existe un cam ino de tal form a que al final de la lectura
8.1 D efinición d o a u tó m a ta a p ila _______________________________________________________________ <U
a , a , • . 0 . a ,
a a a
Zo Zo Zo 7* Zo Zo
l* £
Fig. 5 .3 D os le c tu ra s d e la c a d e n a aaa.
[,[/[[
a. [ / [
[,Z o /[Z 0
a. Z q / Z q
e, Zo/e
l,c A
-© O
La idea es acumular en la pila la información de los corclietes abiertos leídos e
ignorar las a leídas por medio de las transiciones:
S(q, C, [ ) = {(<?,[[)},
¿(9, 0 = {(9, [)},
l ,Z 0) = {(q[Z o)),
6(q, a ,Z o ) = {(7 , Zo)}.
do la pila por medio de la transición S(q, ] , [) — {(<?, f)} . U na vez leídos el prim er
Moque de corchetes cerrados seguido del prim er bloque de corchetes abiertos, o
bien la pila se queda con Z 0 o bien existe un rem anente de corchetes abiertos. El
d clo com ienza de nuevo con la lectu ra del segundo bloque de corchetes abiertas
y así sucesivamente. Finalmente la cadena será, aceptada solo si al concluir el
proceso de lectura, la pila se queda solo con Z0. Se procede entonces con la
eliminación del símbolo Z0 de la pila por medio de la transición instantánea
6(q,e, Zx¡) = {(<f,ff)} para asegurar la aceptación por pila vacía. La figura Q
m uestra el movimiento en la pila en el proceso de lectu ra de la cadena [ [ a ] [ ] ] .
r r r ■ r 1 r [ i 1 •
' ’
y a a a É É É y
T t t [ [ í
t
FIg. 5.4 L e c tu ra d o l a c a d e n a [ [ « ] [ ] ] .
Ejem plo 41. Sea L z í el lenguaje conformado por todas las cadenas binarias de
la form a x x , donde x — 01 O2 • • - 0»» y x - o,, • • • 0201 . Por ejemplo, las cadenas e,
110011 , 01000010 son aceptadas por m ientras las cadenas 0 , 101 . 0010 no.
Eli autóm ata a pila que se propone para distinguir a por estado final es el
siguiente:
l,Zo/lZo
0 . V 02Ó
0 , 0 /0 0
1 , 1/11
1 , 0 /1 0
0 , 1/01
Estando en qo, independientem ente de cuál sea el último elem ento de la pila, se
alm acena la información de las señales leídas. E stos movimientos se establecen
a través de las siguientes transiciones:
5.1 D efinición d o a u tó m a ta > p ila 63
0 . 1 1 * . 1 1 . 0 € k
0 0 0 0
2 b 2 b Z o Z o 2 b % Z 0
© — »
© © © — > — ► ) — * > — ► ©
Rg. 5.5 lectura de la endona 0110.
Ejercicio 57. Diseñe un au tóm ata a pila que acepte p o r pila vacía al lenguaje
de tex to s planos que contengan a sentencias de Látex anidadadas de la form a
\b e g in { x } \en d {x > donde x € {document. ta b u l a r , fig u re } .
64 R A u tó m a ta s a p ila
Ejercicio 58. Diseñe un au tó m ata a pila que acepte p o r pila vacía al conjunto de
palíndromos del alfabeto {a. 6. c}.
Ejjercick) 59. Diseñe un au tóm ata a pila de un solo estado que acepte por pila
vacía al lenguaje del ejem plo (31}
Ejercicio 60. Diseñe un autóm ata a pila que acepte por pila vacía al lenguaje
L = { ¿ V e * : *, k > 0 }.
(g ,ax , X 0 ) \ - { p ,x ,a 0 )\ (5.2)
a v
X a
0 0_
® - + ©
Con e s ta definición es posible definir form alm ente al lenguaje aceptado por A
por estado final:
L ( A ) = ( « 6 Í ' : ( „ , » . í l) h ? . í , í ) . ? e F y í c r ) .
Ejemplo 42. Sea A el a u tó m ata de un estado del ejemplo |39| Las siguientes dos
secuencias de relaciones binarias entre descripciones instantáneas corresponden
a las dos lecturas de la c a d en a aaa representados en la figura £ 3
Ejem plo 44. Considere los movimientos representados en la figura £^5}del ejem
plo ff[) Su correspondiente secuencia de descripciones instantáneas es:
Ejem plo 45. Sea A el siguiente au tóm ata a pila, el cual es una versión simplifi
cada del au tó m ata del ejemploflOt
U/CC
l Z Q/ [ Z o
£, Zq/ s
],[/«
-0 O
El objetivo es dem ostrar que JV(A) es el conjunto L 0 formado por cadenas de
corchetes equilibrados. E n este ejemplo se verifica que L a C N (A ). La o tra
contención - A acep ta solo cadenas de L 0— se deja al lector (ejercicio [66). Se
define primero a L a a través del proceso inductivo:
r . in ic ia l c e La\ ,
r . in d u c tiv a x y y en L 0 implica [x ] y x y en L 0 .
Ejem plo 46. Sea A el au tó m ata a pila del ejemplo @1] y x una cadena binaria.
En lo que sigue se verifica que x x € L (A ). Prim ero se ha de probar que:
com probar flSÜfr que e ra el interés inicial, de o tra m anera no parece natural el
paso inductivo. Finalm ente, lo que el lector dem ostrará en el ejercicio jB2]y
implica:
& una ta re a para el lector argum entar porqué A acepta por estado final úni
camente a las cadenas binarias de la form a x £ [ejercicio £»?). En conclusión
L * = L (A ).
Ejercicio 61. Sea A el a u tó m ata de u n solo estado d d ejemplo [33] Pruebe que
N (A ) = /,«.
Ejercicio 62. Sea A el autóm ata del ejemplo @T] H aga una demostración por in
ducción p ara com probar que cualquier cadena binaria x, (q \, x , x Z 0) p* (fli, c, Z 0).
Ejercicio 63. Encuentre un ejemplo para com probar que en general no es cierto
que (q. x . 0 7 ) p- (P,V, 0 l ) implique (q. x. a ) p- (p. y. 0 ).
Ejercicio 64. Para el au tó m ata del ejemplo [TO] dem uestre que
(9 , Z b j p - ( « ,« ,£ ) ,
r »Zo/*o
Ejercicio 66. Sea A el au tóm ata del ejemplo [35] P ruebe que N (A ) C L a .
Ejercicio 67. Sea A el au tóm ata del ejemplo 2 3 Dem uestre que L( A ) c L ^ .
70 R A u tó m a ta s a p ila
En e sta sección se dem uestra formalmente que las dos nociones de aceptación de
un a u tó m a ta a pila son equivalentes.
I- áfl(po.£\ X 0) - {(<7o-ZoX0)};
I I. si (p. a ) 6 SA(q, a. X ) entonces (p. a ) € SB(q. a. X ), para to d o p, q € Q ,
o € T u { f} y X € T;
ni. (p/,ff) 6 Sñiq, e, X 0), para to d o q € Q.
Por III, (g,£, Xo) b - ( p f,e ,e ) , luego se cum ple flO jl para y? = e.
P br otro lado, la propiedad I nos indica que a partir de (po. te, X 0) el único
camino a seguir en un paso es (ib, te. X0) (qb.te. Z0X 0), luego si se cumple
(¡5T) p a ra algún j ? 6 ( f U {X0})* entonces (q o ,w .Z o X 0) b (p/.£,yS)• P or III,
p ara llegar a p / por fuerza (gb,te. 2oX 0) b (q .£ .X o0) para algún q € Q. La
cadena y? tiene que ser la cadena vacía, y a que por construcción de B , Xo
tiene que perm anecer alprincipio de la pila en todo momento. En conclusión
(qn.te, ZoXo) b Afo) y por tan to («b,te, %o) b (q-£,e). D
5 4 A u tó m a ta » a p iU d e t e r m i n is ta * TI
Ejercicio 68. Modifique el autóm ata del ejemplo para que su aceptación sea
por estado final.
Ejercicio 69. Eii notación del teorem a [TT] pruebe que IV implica que para to d a
cadena £ en el alfabeto de la pila.
5 .4 A u tó m a ta s a pila d e te rm in is ta s
Ejem plo 47. El autóm ata <Ie un solo estado del ejemplo E»lno es determ inista,
pucs<5(g.a. 2b) “ {( 9, f ) , (9 , aZ 0)}, con lo que no se satisface la prim era condición
de d eterninism o. El autóm ata del ejemplo tam poco es determ inista, pues
S(q, [. Zo) ^ 0 pero ó(q, f , Z0 ) ¿ 0. por ta n to no se cumple la segunda condición
de detenninism o.
Ejem plo 48. & fácil verificar que el siguiente au tó m a ta a pila es determ inista:
O, Z 0/ OZ 0 1 ,0 /f s , Z 0/ e
E ste autóm ata acepta por estado final al lenguaje Luí definido en el ejem plo (37}
d cual no es regular.
Prueba. Sea A = (Q, 27,6 4 ,<70, F ) un au tóm ata finito determ inista. Se define el
au tó m ata a pila B = (Q, 27, {Z 0},ÓB-qo-Z0. F ), donde óij(fl,a, Z0 ) ~ {(p. Zo)}
para to d o p, q € Q tales que ÓA(q,a) = p. Se lia de prol>ar que (qt>,ur. Z0)
5 .4 A iit6 n » tf t« a p it a c lc tc rm in ia ta » 73
Coino com entario final, resta decir que existen lenguajes regulares que no
son aceptados por pila vacía p o r un autóm ata a pila determ inista. Un ejemplo
sencillo es el lenguaje Lo = {0 n : n > 0 }, de liecho si la cadena 0 fuera aceptada
por pila vacía, entonces (</o. 0. Z q) \~ (p , £, e) y este sería el único camino para
vaciar la pila; luego por fuerza ( 91, 00 . 2 b) (p, 0 , f ) y y a u o s c podría avanzar
más. en otras palabras la cadena 00 no sería aceptada. La figura pT7|resum e las
ideas expuestas hasta ahora y la información de los ejercicios [75j y
Aítórmt ai a pía
raxtetominiMas
F « - 5 .7 R elación e n tr e a u tó m a ta s .
74 R A u tó m a ta s a p ila
Ejercicio 71. Diseñe un autóm ata a pila determ inista (por estado final o por pila
vacía) que acepte los siguientes lenguajes:
1. {CF‘lm :n< m},
2 . {0 " l m : n > m}.
Ejercicio 72. En notación de la prueba del teorem afl2| dem uestre que (qo, te,
(p, e. Zo) si y solo si ÓA(q,„ w ) = p y por tan to L (B ) = L.
Ejercicio 73. Pruebe que si un lenguaje es aceptado por un autóm ata a pila
determ inista por pila vacía, entonces es aceptado por otro au tóm ata a pila de
term inista por estado final.
Ejercicio 74. ¿Porqué la prueba d d teorem a (IT) no puede ser utilizada para de
m ostrar la afirmación falsa «si un lenguaje es aceptado por estado final por
un au tó m ata a pila determ inista entonces es aceptado p o r pila vacía p o r otro
au tó m ata a pila determ inista»?
Ejercicio 75. Sea A un autóm ata a pila determ inista y sea L — L (A ). Sea L 0
el conjunto {te = xo : x € />}, donde o es un símbolo que no pertenece al
conjunto de símbolos de en trad a de A . Demuestre que existe un autóm ata a pila
determ inista B tal que L 0 = N (B ).
Capítulo _____________________________
Ei» este capítulo se estudian las gram áticas libres de contexto, concepto intro
ducido en la literatu ra por el lingüista, filósofo y activista Noam Chomsky a
mediados de los años cincuenta |5j. A lo largo del texto se establecen los elem en
tos básicos de u n a gram ática libre de contexto, su definición formal, el lenguaje
que acep ta y los llamados árboles de derivación, estos últimos están directam ente
ligados al proceso de compilación de un program a En la tercera sección se tr a ta
particularm ente el te m a de la am bigüedad de una gram ática, problema que fue
identificado por C antor |4] y Floyd |11| a principios de los años se se n ta
A —¥ a ,
TS
76 6 G ra m á tic a s Khrog d o c o n te x to
A -> Qi | 02 | • • • | o n.
S —> D N V D N | V D N ,
DN D E T SUS,
D E T —►e s te | u n | el,
SU S —y libro | p ro feso r | ho m b re | café.
VRB to m a | lee.
La variable sin tán tica SU S genera a los sustantivos de e sta gram ática ¿ e . libro,
profesor, h o m b re, café.La variable sintáctica D N genera las cadenas formadas por
un determ inante seguido de mi nombre: « te Kbro. el profesor, un café; por ejemplo,
«to libro es una cadena generada a partir de las secuencias de sustituciones:
D N - » D E T S U S - > « t e libro
S - » D N VDN
- + D E T SU S V D N
—> el SU S V D N
—> el ho m b re V D N
- 4 el h a m b re loe D N
—►el hom bre lee D E T SUS
D ET SUS VRB DN
I
d
I
lo m b ro
I /\
loe DET SUS
esto Kbro
Ejem plo 50. Sean L = {0 " ! " : n > 0 } = Loi U {c} y G = ({ 0 . 1 }, {S }.S. P ) la
gram ática con lista de producciones P:
S -> ff,
S -> 0 S I.
La producción S -* e se puede interpretar como que «la cadena vacía t es
aceptada por S * y ju eg a un papel de regla inicial. La producción S -+ 0.91
se puede in terpretar com o «si es aceptada por S entonces Ou’l también es
aceptada por S», esta producción se puede entender como una regla inductiva.
Siguiendo un sistem a de sustitución análogo al ejem plo @5)se puede deducir que
la gram ática G acep ta a L como lenguaje, en el sentido de que las cadenas
pertenecientes a L —y únicamente esas se pueden generar a partir del sistem a
78 6 G r a h í A tic a s tih r r a d o c o n t e x t o
S -* Q S l
-* 00 S i l
-*■ 0005111
- > 00 ( telll.
5 - t 0 | 1 | e,
5 -> S S .
A 0 | 1 | e,
A -> A A .
6 -> i401.
P ara e s ta gram ática, la variable sintáctica A acepta a to das las cadenas binarias,
m ientras que el sím bolo inicial S* únicamente acepta a las que term inan en 01.
Ejem plo 52. I-as gram áticas libres de contexto algunas veces se describen uti
lizando una notación llam ada B N F (Backus-Naur form ). E sta notación se es
tablece como sigue:
. las variables sintácticas se escriben entre paréntesis angulares ( <. . .>);
• lee símbolos term inales se representan con cadenas de caracteres, sin paréntesis;
• el símbolo : reem plaza al símbolo —> en las producciones.
Por ejemplo, la siguiente gram ática escrita en form ato B N F describe u n a senten
c ia simplificada de asignación de un lenguaje tip o Pascal:
Ejercicio 76. Para cad a uno de los siguientes conjuntos de cadenas, construya
u na gram ática libre de contexto que lo acepte com o lenguaje:
1. { 0 m l n 2 n : n . m > 0 } ,
2 jonl"2m: n, m> 0},
3. {0,*l,”2fc : n — m o m — k).
4. {0n l m02n : 7 t > 0 . m > 0 } .
E jercido 77. Diseñe una gram ática que acepte como lenguaje aquellas cadenas
que correspondan a su vea a u n a gram ática escrita en form ato BNF.
6 .2 L e n g u a je a c e p ta d o p o r una g ra m á tic a
Por convención o 4 a en 0 pasos. A una expresión del tip o a => & se le llam a
derivación El lenguaje aceptado por G es por definición el conjunto:
¿ ( G ) = {te € T * : S ± ur}.
A un lenguaje aceptado por una gram ática libre de contexto se le llama lenguaje
Ubre de contexto
80 6 G r a h í A tic a s tih r r a d o c o n t e x t o
S 5 + S,
5 -> 5 x S,
S -> a \ b \ c.
Ejercicio 78. Pruebe que A = > 7 & y solo si para cualesquiera o. & 6 (T U V)*,
o A 3 => QTJ0.
Encuentre un contraejem plo para dem ostrar que no es cierto que si a A 0 =4 cryfJ
para algunas cadenas o y & a i tone es A =4 7 .
Ejercicio 79. Sea G la gram ática del ejemplo Verifique que S =» ur si y solo
si te = O "!" para algún n > 0 ; es decir, en notación del ejemplo, prueba que
L (G ) = L.
Ejercicio 80. Sean G x y G2 dos gram áticas libres de contexto. Si L — L {G X) y
M = L(G 2 ) diseñe una nueva gramát ica libre de cot4exto G que acepte a L U M
como lenguaje. Haga lo mismo para los lenguajes L M y L*, respectivamente.
¿Se puede construir G que acepte a L n M como lenguaje?
6 .3 A rb o lw d o d e riv a c ió n y a m b ig ü e d ad 81
Ejercicio 81. C onstruya u n a gram ática que acepte como lenguaje al conjunto de
palíndromos sobre el alfabeto {a, 6, c}.
Ejercicio 82. Una gramática regular (por la derecha) es una gram ática que adm ite
solo producciones de la forma:
A - * aB,
A - ¥ a,
A -* e ,
6 .3 Á rb o le s de d e riva ció n y a m b ig ü e d a d
Como se vio en la sección anterior, existe una form a gráfica de representar las
derivaciones por medio de árboles. Estos árboles conocidos com o árboles de
derivación (parsc trccs en inglés) es una estru ctu ra de datos que en el marco
de la teoría de los compiladores representa al program a fuente. La definición for
mal es la siguiente: un árbol de derivación p a ra una gram ática libre de contexto
G = (T. V; 5, P) es u n árbol tal que:
82 6 G ra m á tic a s libros d o c o n te x to
. cada nodo interior —nodos con hijos — es etiquetado p o r una variable sintác
tica;
■ cada l»oja nodos sin hijos— es etiq uetada o bien por u n a variable sintáctica
o por un símbolo term inal o por e. Sin embargo, si una hoja es etiquetada por
e aitonccs tiene que ser el único hijo de su padre:
. un nodo interior es etiquetado con A y sus hijos p o r X \ , X 2. . . . X n , haciendo
la asignación de izquierda a derecha, lo anterior se representa como:
A
X , X 2 X n
I. S 4» te;
II. existe un árbol de derivación con raíz S y rendim iento te.
Ejem plo 56. Un árbol que tiene solo a su raíz tiene a ltu ra ü, el árbol de la figura
jG7T| (a) tiene a ltu ra 1 . Los árboles de derivación de la figura ¡O ] tienen a ltu ra 4.
Sin lugar a duda, estos conceptos perm iten comprobaciones más elaboradas.
U na m uestra es el siguiente ejemplo.
6 .3 A rb o lo d o d e riv a c ió n y a m b ig ü e d ad 83
P(n ): si existe un Arbol de derivación con raíz S , rendim iento te y a ltu ra menor
o igual a n . entonces la cadena te está en L n .
/I\ S ] a a
(« )
/!\
—x —
(*»)
A A (c)
Ejem plo 58. La gram ática del ejemplo £5] es ambigua, puesto que existen dos
árboles de derivación p ara la cadena a + 6 x c :
/ l \
y lista de producciones:
8 —* S y S | S C O L O R | F O R M A .
E sta gram ática es ambigua puesto que existen dos Arboles de derivación para
la cadena w = cuadrados y trángulos rojos, como se m uestra en la figura (O} C ada
árbol tra e implícitam ente una sem ántica distinta; el primero claram ente se in
terp reta com o «‘cuadrados y triángulos’ rojos» y el segundo como «‘cuadrados’
y ‘triángulos rojos’».
COLOR
s 4 s
a ¡>
Ejem plo 60. Si G es la gram ática del ejemplo ft3|entonces la secuencia de deriva
ciones:
ai 03 ... a*
a\ & a\
donde w = X 1X2 • • • Xk y cada árbol de derivación con raíz X t y rendim iento x*
tiene u n a altu ra m enor o igual a n . La hipótesis de inducción nos garantiza la
existencia de una derivación más-a-la-izquicrda X , =£• x ,;s i el árbol de derivación
con raíz X¿ es de a ltu ra 0 , significa que X¿ = x, es un rfmbolo term inal, en
este caso X, x, en 0 pasos. Por otro lado. A =4 X iX ? •• X k es obviamente
una derivación m ás-arla-izquierda Por tanto, se tiene la siguiente secuencia de
derivaciones más-a-lar izquierda
Con esto se prueba P (n -f 1). Se h a de notar que e sta construcción nos arro ja
d istintas derivaciones más-a-la-izquicrda si partim os de árboles de derivación dis
tintos. Además, dos derivaciones inás-arla-izquierda llevan a dos árboles distintos
de derivación jejcrcicio (§5), resumiendo:
6 .3 .2 R e m o v e r la a m b ig ü e d a d en una g ra m á tic a
Ejem plo 61. Sea G la gram ática del ejemplo £7] C laram ente G es ambigua,
puesto que existen varias derivaciones más-arla-izquierda para la cadena c, p o r
ejemplo 5 => e y S =>■ S S => e S => ce. Se propone la gram ática G'\
S -> e,
5 - 4 [S ]5 .
S=» [S ]5 4 [ar]y = w, ( 6 .2 )
En la práctica las gram áticas no son tan simples, pero existen algunos métodos
que se utilizan en casos particulares para remover ambigüedad. E stas técnicas
6 .3 A rb o lw d o d e riv a c ió n y a m b ig ü e d ad 80
incluyen añadir reglas de precedencia y jerarq u ía para obligar una sola in ter
pretación. El lenguaje de la nueva gram ática no es exactam ente el mismo, pero
para fines de dejar en claro el significado de la orden es suficiente. El siguiente
ejemplo tiene com o fin ilustrar estos puntos.
Ejemplo 62. Se considera la gram ática ({0,1}, {5, N } , 5, P ) con lista de produc
ciones P :
S->SxS\S+S\N,
N -» ON | I N | 0 | 1.
Existen dos problemas principalm ente en e sta gram ática El primero es con res
pecto a la precedencia de los operadores x y + análogam ente a lo que se vio
en el ejem plo [5§ si se siguen las reglas aritm éticas usuales el operador x tiene
que tener más precedencia El segundo es respecto a la secuencia de operadores
idénticos. Por ejemplo, la cadena 0- f l + l refleja una orden de ejecución im precisa
aunque el resultado sea el mismo, se ha de señalar si primero se sum a 0 + 1 y
luego al resultado se le sum a 1 o si se sum a 14-1 y luego se hace la sum a de 0 con
el resultado anterior. De form a convencional operaciones de este tipo se hacen de
izquierda a derecha. Por otro lado, existe la posibilidad de que primero se quiera
sum ar dos térm inos y luego multiplicar el resultado por otro y escribir to d a la
arden de ejecución en una cadena; en este caso se han de añadir paréntesis (como
se hace en una calculadora) escribir por ejem plo (1 + 1) x 0 , por ta n to se tienen
que anexar los paréntesis al conjunto de símbolos terminales. La gram ática que
se sugiere tiene la siguiente lista de producciones:
S -> T |S + T ,
T -> F | T x F, (6.3)
F -» N I (5 ),
JV -* ON | \ N | 0 | 1.
El teorem a [I5|establecc una relación en tre los autóm atas a pila determ inistas
y las gram áticas que no son inherentem ente ambiguas. La construcción de una
gram ática no-ambigua a partir de un autóm ata a pila determ inista se presenta
en el capítulo 7 [§7.2. l | y ejercicio [53).
En particular, si L es regular entonces existe una gram ática no-am bigua que
lo acepta como lenguaje. Por otro lado, el recíproco el teorem a @3]no es cierto,
por ejemplo, el lenguaje L& adm ite la gram ática no-am bigua 5 -> <r | OSO | 151
pero no es aceptado p o r algún autóm ata a pila determ inista, como se vio en la
sección 2L31
S -* CICLO-WHILE,
5 -> ASIC,
aC L O -W H IL E -> v h i l e COND do S,
COND -> COND o r COND | COND and COND.
COND -> EXP COMP EXP,
EXP -» EXP OP EXP | VARIABLE,
EXP -> 0 | 1 NUM | • • • | 9 NUM ,
VAR -+ a | b | • • • | 2,
COMP -> > | < |
OP -* + | - | •,
NUM -> NUM NUM | e \ 0 | 1 | • • • | 9.
ASIG VAR : = EXP.
5 a | b | c,
S -> [5] | {5} | ( 5 ) | 5 5 .
5 -► e.
Capítulo / ___________________________
Rite capítulo por conveniencia se dividirá,en cinco secciones. E n las dos primeras
secciones se establece la equivalencia de los autómatas a pila con las gramáticas
libres de contexto, conceptos estudiados en los capítulos 5 y 6,respectivan»ente.
Efcta equivalencia corresponde a dos trabajos independientes de principios de los
años sesenta, el primero fue un reporte interno del M I T de la autoría de Chomsky
y el otro es un artículo publicado por Evey |ül. E n la tercera sección se presenta
el lema de bombeo para lenguajes libres de contexto |3], que en analogía con
los lenguajes regulares, su importancia radica en establecer un criterio útil para
concluir que ciertos lenguajes no son libres de contexto. En la cuarta sección
9e expone el comportamiento de los lenguajes libres de contexto bajo la unión,
intersección, concatenación y clausura. Finalmente en la quinta y última sección
se presenta el algoritmo C Y K |7. 16, 29] para decidir si una cadena pertenece o
no a una gramática dada.
01
02 7 txmgnftjcB K hrw d e c o n te x to
Sea G la gramática
A - » 0 | 1,
d-*dd, (7.1)
El plan es considerar los cambios en las derivaciones como los movimientos del
alfabeto de la pila. Se define el símbolo inicial de la pila c o m o S de tal forma
que la descripción instantánea inicial asociada sea (qo, 10 + 1,5).
Se desea que cada reemplazo efectuado en las derivaciones más-a-larizquicrda
se vean reflejados en un cambio en la pila, siempre que una variable sintáctica
sea la que se encuentre hasta arriba de la pila Por ejemplo, las primeras tres
derivaciones más-arla-izquierda de (f7\2$ aparecen en la tercera entrada de las
descripciones instantáneas de los movimientos deseados:
Así sucesivamente, hasta que queda otra variable sintáctica hasta arriba de la
pila, para continuar con los reemplazos más-a-la-izquicrda. El objetivo es que
finalmente la pila se vacíe cuando se ha leído la cadena completa que es aceptada
por la gramática:
6 ( q ,e ,A ) - { ( q ,0 ) :A - > 0 e P ) , (7.3)
6(q, a. a) = {(q,c)}.
¿(<?,1,1) * { (« ,« )} ,
% ,+ ,+ ) - { ( ? ,* ) } •
(q ,w , S ) p - (q.pn.Qn) = (q .y n + i . Q n + i ) = (q,e,e)-
Con esto se demuestra que toda cadena aceptada por la gramática G es aceptada
por pila vacía por el autómata a pila A. Resta demostrar que toda cadena acep
tada por pila vacía por A es aceptada por G. Con este fin se prueba la siguiente
afirmación sobre números naturales, para toda variable sintáctica A' y cadena
de símbolos terminales un
7 .2 D e a u tó m a ta s a pila a g ra m á tic a s
fl.X /c
et Y /e
entonces para cualquier a € T* se cumple (jta. A"a) \ - (q,e, o), por tanto, se
lee a al pasar de p a <7 eliminando a X del tope de la pila. Luego, a la variable
sintáctica \pXq\ se le asigna la producción
\pXq] -+ a.
a,X/Y
06 7 trfingvmjos librea d o c o n te x to
a,X /YZ
Q r -0
para cualesquiera dos estados rj y r2,si zi es leída al pasar de q a ri al eliminar
a V del tope de la pila y x 2 es leída al pasar de r1 a r2 al eliminar a Z del tope
de la pila, entonces 0x 1X2 es leída al pasar de p a r2 al eliminar a X del tope de
la pila, pues para toda cadena del alfabeto de la pila a:
Ejem plo 64. Sea A el autómata de un solo estado del ejemplo Con las ideas
anteriores se construye a ojo la gramática:
[qZ0q\ -4 a
\qaq\ -> a,
\qZoq\ -> t^qaq\\qZoq\.
S [qoZoq)\
IflXr] -+ a;
(7.6)
• si (r, f ) 6 ¿ (í, £, X ), se incorpora la producción
¡q X r] - + e.
forma:
[<?Ap] =>a [r 0 A 'in ][riA ' 2r 2] -• • [r*_iA *pj 4 w,
para a € X U {í}, algunos estadas r 0. r j , . . ., r* _ i y símbolos del alfabeto de la
pila A i, A2, . . . , A*. Sea w = 0 x 1X2 • • • X* una descomposición de w tal que para
cada i = 1, 2 , . . . , k.
¡ r í - i X i n ] é - X i,
(q .a x \X 2 “ ,Xfc, A ) | - (r 0 .x ix 2 --- , x k. A iA 2 - - X k )
p- ( r i , x 2X3 --- . x k. X 7X 3 - X k )
p* (r 2.X3X4 •• • ,Xfc,A3A 4 •• • A*)
] r (r k - i , x k , x k)
p- (r*;. e. e) = ( p f , f ).
(7.14)
|rfc_iX kP| 4> xfc.
6 P
te ta producción ¿/sobrevive?
Qa.qo (9DZ090Í - f 0(91 O9 j 1Í90 ¿ 090] no
90.91 [90^ 0911 0 (9 i09ni[9o^o9il no
90.92 [90^ 092! *■+ 0(91 °9o!l90^o92l no
91.91 [90^o9ij ~+ 0 (9 i<19 iil9 i^ 'o 9 il sí
¿ ( 9o. 0 , Z o ) = {(91. 0 2 o )}
9 i,9 o [qoZoqo] - » 0(91091][91Z 090] no
91.92 (902092) -* 0(91091 ¡(912092] si
92.92 [90^ 092] - » 0 (9 i0 9 2¡{922 o 9 2j sí
<fc-91 (90^o9i¡ ° ( 9 i0<72l(<72^o9il no
93-90 Í90^o9o¡ “ ♦ 0(<y10(7i ][<ft2o9o] no
lista p ro d u cció n ¿Sobrevivo?
90.90 (9i“ 9 o ]-+ 0 (9 ,O q D!(90OqDl no
90.91 [91091] -♦ OfaiOgo K9DO91] no
90.92 [91Q72] - + 0(91093H90O92] no
9 i .9 i (9 i°9 il -* ° t9 i° ? ill9 i0 9 il sí
í ( í i , 0 ,0 ) = { ( ,! , 0 0 )}
91.90 Í9i09o] - > 0(9, 091](9i09b| no
91.91 (9i°92l -* 0(9i °<7i 1(9»O92I sí
92.92 [91092] - ♦ 0(91 Og2][gaO«(] sí
92.91 (91O91] - + 0(9i 0«p](9j 0 ffi] no
92.90 (9i°9ol - » 0(9iO<ft|[«ftOgr)l no
¿(<73.1.0) = { ( * . « ) } [92O92] 1
S —►|<7o^o9il>
S -* |9oZo92|<
|9o^ o9 i | ü |9i°9i||9i'Z b9i|'
\<loZiyq2\ -* ü l^ iü ^ ill^ Z o ^ l,
(90^ 092! -* O|^i 0^2 1[^2 -2To<¡te| .
fe , 0^,1 - > 0 | 9 l0<7, ||9 ,0 9 , |.
(fllOftl ->0|<7,0q,|(g,0q2|.
\qiOq?\ -* OfoOfeHfeOfe],
foOfla] -+ 1 ,
|<feO«72| -> 1 ,
|<7¿Z()<72| -+ £.
Por últim o, las variables [91O91] y [90^ 091] son símbolos no-generadores. Por
tanto, al borrar a todas las producciones que las involucran, la gram ática que
resulta finalmente es:
S —> [qoZoqzY
[9o^o92| “*
l í i ü ^ l -» OlftO^jlqaO^I,
I91G92I -+ 1 »
|92°92| 1,
[92 ^ 092] -* £•
7 .2 .1 A u tó m a ta s a pila d e te rm in is ta s y g ra m á tic a s
n o -a m b ig u a s
principio e stá relacionado con to d a s las variables sintácticas de la form a [<?o2 bpj
donde p € Q. Sin embargo, solo puede existir un estarlo p tai que \qoZ0p] 4 w.
De hecho, si se supone que hay dos estados p» y p 2 con esa propiedad, entonces
por ({777} se te n d ría que (qo,w, Z 0) p- (p i,£ ,c ) y ($b,tu, Zo) p- (P2 , í , f ) . Como
a p a rtir de ((70, tu, Zo) hay un solo cam ino a seguir al leer la cadena te, por
fuerza p\ — p*. En conclusión, existe una sola derivación mAs-ar lar izquierda de
la form a S => [qoZopj. L a afirmación sobre números naturales ((7.15) implica en
particular que si te es una cadena aceptada p o r pila vacía, entonces existe una
única derivación mós-a-larizquierda (qbZnpj 4 te. Por lo anterior, existe entonces
una única derivación rnAs-a-la-izquierda S 4 tu. El teorem a [Tí] implica que la
gram ática G no es ambigua. R esta razonar porqué Q ' es c ie rta para todo número
natural.
Ejercicio 02. Dado un autóm ata a pila A con n estados, ¿se puede construir otro
a u tó m ata a pila A ' con solo un estado ta l que N (/4) = AT(A')?
encuentre una gram ática libre de contexto que acepte a N { A ) como lenguaje.
Describa al conjunto AT(A).
Ejercicio 04. Sean A un au tóm ata a pila determ inista y L un lenguaje aceptado
por A por estado final. Demuestre que existe u n a gram ática no-am bigua G que
acepta a L como lenguaje. Sugerencia: considere el lenguaje L 0 que se definió
en el ejercicio (75} A partir de la gram ática no-am bigua G c que existe para L 0,
construya o tra no-ambigua p a ra L.
A -> B C .
A —> o;
□
Teorem a 16 (lem a de bom beo para lenguajes libres de contexto). Sea L un
lenguaje libre de contexto. Entonces existe n natural tal que si w es cualquier
cadena de L con |tc| > n , entonces existe una descomposición de w de la form a
w = tw z x y que satisface:
B \. v x ¿ e,
B2. \vzx\ < n ,
Z?3 . para todo r > 0. uvr z x r y 6 L.
7 .3 In m » d o ho m b o o p a ra Ion ícnguftjoa lih rm do c o n te x to
Ao
• * Ai •
* ** * * A» » *
* * • *
*A a)
*
A Ak
Ejem plo 66. Sea Loía = {0n l n2 n : n > 0}. En analogía al lem a <le bom beo para
lenguajes regulares, es posible usar el teorem a [IB] para probar que ¿012 no es
libre de contexto. Se supone lo contrario, es decir, que es libre de contexto.
Entonces, existe un n natural tal que para cualquier cadena w tal que |u?| > n
se puede descomponer de la form a te = tw z x y y además se satisfacen fli, f t y
JB-j. Sea tv = 0 " l n2n . Si [tizx| < n y v x ¿ e, entonces v z x no puede contener
7 .3 In m » d o ho m b o o p a ra Ion Icnguftjon lih rm do c o n te x to
Ejercicio 95. Pruebe que los siguientes lenguajes no son libres de contexto.
1. { o W # : i > l , j > <};
2. {uruj: w es una cadena binaria};
3. {0n l" 2 ‘ : » < n } .
S -> OS B C | OBC.
C B -> B C ,
IB 11,
OB —►01,
1C - > 12.
2C -> 22.
Demuestre que L(G ) = ¿oía, es decir el conjunto ¿012 del ejem plo |G6]es depen
diente de contexto pero no es libre de contexto. Note que por definición, una
gram ática dependiente de contexto no adm ite producciones de la form a A -* e.
Lo que sí se cum ple es que si L es libre de contexto y no contiene a la cadena
vacía, entonces es dependiente de contexto.
108 7 lipnjpiftjcB Khrca d o c o n te x to
El siguiente teorem a resume las principales ideas expuestas en las secciones f>.3[
O y (Z 3
Prueba. Sean .4 = (Q, JC, T, 6a - <3b- Zq. F ) un autóm ta a pila y B ■ (P. E , 7 , po, H )
un au tó m ata finito determ inista. P a ra finalizar esta sección, se presenta a con
tinuación un procedim iento para construir un a u tó m ata a pila que acepta por
estado final a L (A ) n L (B ) como lenguaje. Sea
C = ( Q x P ,E , F V- (9o,Po). Zo, F x H )
Ejercicio 98. Sea L = {On l fl : n > 0} y M — {amlF : m > 0. n > 0}. Verifique
que M « un lenguaje regular. Encuentre u n a gram ática libre de contexto que
acepte a L n A/ com o lenguaje.
7 .5 A lg o ritm o de C o c k e -Y o u n g e r -K a s a m i
71 (!,»)
i : P,n)
3 11..i,
2 (>,2)
1 (*.*) (3,3) (n,n)
0, <h «3 •** On
S -» A C | A B | A D | A E .
B -> S C ,
D -¥ C S , (7.18)
E -+ B S,
A - 4 [,
c -o .
(7.19)
Eli proceso de la regla inductiva se explica en el cuadro [772J P uesto que S al final
del proceso se en cu en tra en la casilla (1,4) se concluye que [ C) ] 6 L{G).
j- i+ l Di p ro d u cció n ta b la
V*i 1*1 V'(* +
4
IM )
Vl2 1 v h = M > V -a - {A} n in g u n a 3
Mr») ■
2 v „ 2 V „ = {A ) S -¥ AC 2 0 ■ 0
V'-M 3 Vía = {C } V'44 = {<C } n in g u n a 1 A A c
C‘, 1
l i 3 3
4 p .4 )
1£ £ £ £ n in g u n a
II II II II
o o ii ii
V 'l 3
■> 3 tí B
S
• 13 n in g u n a
3
o 2 tí a tí
V24 n in g u n a
1 i A ü
V* o B -¥ S C L\3 1
r i 3
4 ü
Vu 1 V » i = M > V*x = { B } S - * A B 3 0 B
4 Vu 2 V,a = 0 VM = 0 n in g u n a 2 tí s tí
V u 3 Vxa = 0 Vw = 0 n in g u n a 1 A A C
l l 3
L\3 1
Ejercido 101. Escriba un program a que reciba como entrada un tex to y diga si
tse te x to incluye o no a la palabra reservada then.
Introducción a la computabilidad
113
114 In tro d u c c ió n a U c o m p u ta b ih d a d
D e fin ició n y m o v im ie n to s en u n a m á q u in a de T u r in g
Una máquina de Tiiring M es una séptupla (Q, E , T, <5, q0, u . F ) donde cada
dem ento estÁ definido de la siguiente manera:
X /Y
e r ~ - 0
t
©
el cual es el estado inicial de la cinta; e sta situación se puede escribir formalmente
a través de una descripción instanánea. por ejemplo (<fc,Ul 101). El símbolo
blanco subrayado U indica que el apuntador lo señalaQ
La transición ¿(go, ü ) - {p, Y , -*} produce el cambio del estado q0 a p y el
siguiente cambio en la cin ta (se mueve el apuntador hacia la derecha, reem
plazando a U por y ) :
|u|y|i|i|o|i|ü]ü
t
®
Este movimiento se escribe en térm inos de descripciones instantáneas como:
l ü |y ¡ x |i |o |i i L i H
t
©
1 O s í m b o l o b l a n c o a p a r e c e e n e l s e g u n d o t é r m i n o d e u n a d e s c r i p c i ó n i n s t a n t á n e a s o lo s i e s
s e ñ a la d o p o r e l a p u n t a d o r o a p a re c e e n m e d io d e s ím b o lo s n o - b la n c o s o d e l s ím b o lo b la n c o
s e ñ a la d o .
116 In tro d u c c ió n a U ro n ip m th ih d a d
(q3, X X X X ) \ - ( q 3, u X X X X ) \ - ( 94, U U X X X X ) .
La m á q u in a de T u r in g co m o un a lg o ritm o
x,x ->
i,u —►
U.U-» U.U4- 0,L1 —
*
0.0-*
Ejemplo 70. Se e stá interesado en diseñar una m áquina de Turing que haga el
efecto de la función / sobre un número binario te. La función / se define como
/ ( i r ) = w - 1 si w es im par y / ( i r ) = ir + 1 si ir es par. Se ha de notar que
un núm ero binario es par si term ina en 0 y es impar si term in a en 1. Además, a
118 ln tr o d u c d á n a U c o m p u ta b ih d a d
1,0 -¥
0,0 -¥
La m á q u in a de T u r in g c o m o una c a d e n a binaria
Sea A/ = (Q , { O .lJ .r , <f. go.LI. F ) una m áquina de Turing sobre el alfabeto bi
nario. Se puede suponer sin pérdida de generalidad, que la m áquina se para
cuando llega a un estado de aceptación, y por tan to suponer que F consta de un
solo estado. P a ra asignarle a Al u n a cadena binaria, primero se establecen las
siguientes asignaciones para el conjunto de estados {qn - » es el único estado de
aceptación), el alfabeto de la cin ta y las direcciones:
Q = Í 9 o , <ii,-- qn 1} <-> ( 1 , 2 , 3 , . . . , n )
r= { 0l l,ü ,A flJ. . . X P} o ( l , 2 , 3 , . . . , « ) (8 .1)
{<-,-»} <-►(1,2).
110
Ejemplo 71. Sea M la m áquina de Turing del ejemplo ¡7Ü[ Las transiciones con
la notación fl8J) son <5(1,3) = (2 ,3 .2 ), 6(2.2) = (2 .2 .2 ), <S(2.1) = (2,1,2),
6(2. 3) = (3 .3 .1 ), 6 (3.2) = (4 ,1 ,2 ), «5(3.1) = (4 ,2 ,2 ). La codificación de M en
tonces es 0100010010001001100100100100100100110010100101001100100010001
00010110001001000010100110001010000100100. Por supuesto esta codificación
no es única, pues depende del orden en que fueron escritas cada una de las
transiciones.
no queda claro que pueda ten er un número finito de estados, pues el número de
estados de las máquinas de Túring que simula puede crecer indefinidamente.
Un enfoque clásico es definir primero las máquinas de Turing m uíti-cinta, en
este contexto constru ir a la m áquina de T\iring universal y luego probar que
las m áquinas de Turing m ulti-cinta son equivalentes a las m áquinas de una sola
cinta, c. /. (14, §9.2.3).
P ro b le m a s d ecidíbles y un p o c o de filosofía
B i la sección f6.3.2jse h abla de que no existe algún algoritmo que arroja un «si» o
tm «no» dependiendo si una gramática dada es ambigua o no. ¿A qué se refiere
esto en térm inos formales? A continuación se explica el abuso de lenguaje. A
c ad a gram ática libre de contexto se le puede asignar una codificación en algún
alfabeto fijo E: el lenguaje asociado a nuestro problema-ejemplo es el conjunto:
Ejercicio 108. Diseñe una m áquina de Turing que acepte como lenguaje al con
ju n to Loi.
Ejercicio 104. Diseñe una m áquina de T\iring que reciba una cadena del alfabeto
binario, digamos 001100 y regrese o tra ordenada de tal form a que los ceros
aparezcan antes que los unos e. g. 000011.
Ejercicio 105. Diseñe una m áquina de Turing que d a d a una cadena binaria w la
transform e en la cad en a binaria tcl lite .
Ejercicio 106. Diseñe una m áquina de Turing que sum e dos números binarios.
R» este apéndice se expone un procedimiento seguro para construir una gram ática
en forma norm al de Chomsky G tal que L(G ) — L(G ) \ {c}, siendo G una
gram ática libre de contexto. El esquem a general es el siguiente:
1.® paso:
. eliminación de producciones vacías.
. eliminación de producciones unitarias.
• eliminación de símbolos inútiles.
2.° paso: conseguir que en todos los cuerpos de longitud (A .l)
m ayor o igual a 2 solamente aparezcan variables:
3 . " paso: descomponer los cuerpos de longitud mayor o
igual a 3 en una cascada de producciones de solo dos
varíales.
Cada paso del procedim iento flA.l} se especifica en las siguientes subsecciones.
P ara ejemplificar cad a p arte im portante se parte de la gram ática:
S - > 0 4 0 | 1D \ | B D .
A -> C , (A.2)
B -> S \ A,
C -> S \ e .
123
124 A . F orm a n o rm a l d e C h o m sk y
l.* f paso
E lim in a c ió n de p ro d u cc io n e s va cía s
D ada una gram ática G, la ta rc a en esta parte es construir una nueva gram ática
G ' sin producciones de la form a A e (llam adas producciones vacías) tal que
L ( G ') = L ( G ) \{ * } .
Sea G la gram ática QA.2|. Si se remueve ¡nocentementea a la producción
C -> £, la gram ática resultante no cumple con lo requerido, porque por ejem plo la
cadena 00 no sería aceptada, de hecho la producción C -> e influye directam ente
en la producción A -* C y finalmente en la producción S 0/10. El método
para la construcción de la nueva gram ática reconoce primero a las variables que
producen a la cadena vacía y después hace ajustes en todas las producciones con
el fin de no modificar el lenguaje aceptado, salvo la pertenencia de la cadena
vacía, por supuesto. El procedim iento se d etalla a continuación.
Lo prim ero es encontrar el subconjunto de variables sintácticas que sean sím
bolos anulables. Se dice que una variable A es un símbolo anulable si A e. Si
G es u n a gram ática . entonces un algoritmo iterativo para encontrar todos los
símbolos anulables es el siguiente:
r . in ic ia l si A -* e es u n a producción de G, entonces
G es un símbolo anulable;
r . in d u c t iv a si B -> C\C<i • • Cfc es una producción de G (A.3)
donde c a d a C , es un símbolo anulable para
i = 1.2 k. entonces B es anulable.
A - * X l X 2 - - X k, k > 1,
Ejemplo 73. A continuación se construye una gram ática sin producciones vacías
a p a rtir de la gram ática QA.2), siguiendo el procedimien to (¡A.4[). El conjunto
{C . A . D. S} de símbolos anulables de la gram ática flA.2) h a sido encontrado en
d ejem plo [73} con ello se concluye el prim er paso. El siguiente paso se especifica
a» la siguiente tabla:
P ara el últim o paso, solo se tiene que elim inar la producción C -¥ e. En resumen,
dcspuós de descartar producciones que se repiten, la gram ática resultante es:
126 A . Forrna n o rm a l do C h o m sk y
S -> O A O | 00 | \ B l | 11 | B B | B %
A -+ C , (A.5)
B -> S | A.
C -+ S .
E lim in a c ió n de p ro d u cc io n e s un itaria s
Ejem plo 74. En este ejem plo se construye una gram ática sin producciones uni
tarias a p a rtir de la gram ática QA.5j. El prim er paso consiste en encontrar todos
los pares unitarios. La siguiente tabla m uestra el proceso de búsqueda a través
del algoritm o iterativo del primer punto del procedim iento QA.6¡>:
127
S -* 0 A 0 | 00 | 1J31 | 11 | BB.
B -> 0A0 | 00 | \ B\ | 11 | BB. (A.7)
C —►0/40 | 00 | 1/?1 | 11 | BB.
A 0A0 | 00 | l f í l | 11 | BB.
E lim in a c ió n de s ím b o lo s inútiles
Sea G = (V.T, P, S ) una gram ática ta l que L(G ) f 0. Se dice que mía variable
sintáctica o símbolo term inal es mi símbolo útil si existe una cadena w 6 7**
128 A . F orm a n o rm a l d e C h o m sk y
R. in ic ia l t o d o s ím b o lo te r m in a l e s g e n e ra d o r:
R. in d u c tiv a si A -* a es u n a p ro d u c c ió n d e G y cada
s ím b o lo d e a e s g e n e r a d o r e n to n c e s A es
u n s ím b o lo g e n e r a d o r ta m b ié n .
r . i n i c i a l el s ím b o lo S e s a le a n z a b le ;
R. i n d u c t i v a si A e s a le a n z a b le y A a e s tá e n P .
e n t o n c e s t o d o s lo s s í m b o l o s d e oc s o n
a lc a n z a b le s ta m b ié n
Ejem plo 75. El objetivo d d ejemplo es construir una gramática libre de contexto
sin símbolos inútiles que acepte el mismo lenguaje que la gramática (]A.7) a través
del procedimiento dA.8Q. Lo primero que se debe hacer es encontrar el conjunto
120
Es decir, en este caso, todos los símbolos de V y T son generadores, por tan to al
aplicar el segundo paso la gram ática resultante G ' es igual que G . Lo que sigue
es encontrar el conjunto de símbolos alcanzables de G ' siguiendo el algoritm o
del tercer punto de QA.8Q:
S -♦ QAO | 00 | 1 11 1| B B .
B -> (L40 | 00 ||1 B 1 |1 11 1| B B . (A.9)
A —►0A0 | 00 | 1 * 1 | 1 11 1\ B B .
2.° paso
Se supone ahora que se parte de una gram ática sin producciones vacías, uni
tarias y sin símbolos inútiles. P a ra cada símbolo term inal a que aparezca en un
cuerpo de longitud mayor o igual a 2 s crea una nueva variable sintáctica A
y una producción A -* a. En cada cuerpo de producción donde aparezca a, se
reemplaza por la nueva variable A. E ste simple procedimiento se ilustra en el
siguiente ejemplo.
Ejemplo 76. Se considera la gram ática ({A.9}. Al símbolo term inal 0 se le asocia
una nueva variable O y al símbolo term inal 1 la nueva variable /. L a gram ática
resultante es:
130 A . F orm a n o rm a l d e C h o m sk y
S -4 O A O I1OO |\ I B I \ I / / BB,
B -4 O A O 1IO O I I B I | BB.
A -4 O A O |1OO 1 I B I | / / BB, (A.10)
0 - 4 0,
/ - ► 1.
3 . " paso
A -4 B \C \,
C\ -4 B^C í ,
Ck-2 -* B k -iB k -
Ejem plo 77. El objetivo de este ejemplo es aplicar el 3.or paso a la gram ática
QA.10Q. Asociada a la producción S -4 O A O se crea una nueva variable X
y se sustituye la producción por las producciones S -* O X y X -* AO . De
igual forma, asociada a la producción S -4 I B I se c re a una nueva variable Y
y se sustituye e sta producción por las producciones S TY y Y -¥ B I . Así
sucesivamente se razona con las otras producciones cuyo cuerpo tiene longitud
mayor o igual a 3. La gram ática resultate es:
5 -4 O X | OO | Í Y | I I | B B .
B - > O X \ 0 0 \ I Y \ I I \BB,
A -4 O X | OO | /V | / / | BB,
X -4 AO.
Y -4 B I ,
O - * O,
/ - 4 1.
131
Teorem a 21. Sea G una gramática tal que L( G) contiene al menos una cadena
distinta de e. Entonces por medio del procedimiento QA.lft se puede construir
una gramática G' en form a normal de Chomsky tal que L( G' ) *=• L (G ) \ {c}.
Ejercicio 112. Dem uestre que el algoritmo iterativo del prim er punto del pro
cedimiento ((A.6) encuentra efectivamente el conjunto de pares unitarios de la
gram ática dada.
Ejercicio 113. En |11, §7.1.1 y §7.1.2] se dem uestra que la gram ática resultante de
aplicar el procedim ento QA.8ft a la gram ática dada G adm ite el mismo lenguaje
que G y adem ás no tiene símbolos inútiles. Un detalle im portante es el orden de
eliminación: prim ero símbolos no-generadores y después símbolos no-alcan/ables.
S se invierte el orden de eliminación es posible que la gram ática resultante no
adm ita el mismo lenguaje que la gram ática d a d a Encuentre un ejemplo.
Lista de símbolos
£ P-
PP t ]yTUjns
h e PP . 1a r p ia r
-> P- 71r
1 P- Tí]
P- 3 ■
/-non P- \L ■
Lq P- 5C
Lqi P- R
La P- 5*
lm P- 61
L*t P- i.:
Lo P- 7!
Lo 12 P- 106
¿D P- 119
Lv P- 119
133
Referencias
135
136
á r b o l d e d e r i v a c i ó n , BT] r e s p e c to a g ,f f 3 |
a l t u r a , (8% c o n c a te n a c ió n
r a f a , |B21 de cadenas, 0
r e n d im ie n to , F 3 d e le n g u a je s , 0
c o n d i c i ó n d e p a r o , ll l f i l
a lfa b e to , 0
b i n a r i o , ¡3] d e riv a c ió n , t a
d e c i n t a , |1 14) m A s -a -L v i z q u i e r d a , W
d e p i l a , ¡58) d e s c r i p c i ó n i n s t a n t á n e a . g g ) [115)
d e s í m b o l o s d e e n t r a d a , [TOJ © HUI d ia g r a m a d e tra n s ic ió n , 5 3 ® ÜÍ9
a lg o ritm o
CYK.fnq e s t a d o , 2 3 1®) © 0 2
p o r l l e n a d o d e t a b l a , ¡18) d e a c e p t a c i ó n , 2 3 ¡K J ©
a u tó m a ta d i s t i n g u i b l e , (TBj
a p i l a , ¡58) e q u i v a l e n t e . fTB¡
d e t e r m i n i s t a , fT2j in a c c e s i b l e , P 3 ]
e q u i v a l e n t e , [17] in i c i a l . 2 3 ¡ 5 0 ^ 3
fin ito d e te r m in a d a , 0 e x p r e s i ó n r e g u l a r , RB)
f i n i t o n o - d e t e r m i n i s t a , ¡58) e q u iv a le n te ,
c o n t r a n s i c i o n e s e , ¡55]
m í n i m o , ¡H ] función d e tra n sic ió n , 2 3 í®) Í®1
e x te n d id a , 2 3 © (55)
B a d c u s - N a u r , f o r m a . 178]
g ra m á tic a
cadena, 0 d e p e n d ie n te d o c o n te x to ,
lo n g itu d , 0 li b r e d e c o n t e x t o , (T5)
v a c ía , 0 s i n r e s t r i c c i o n e s , [51]
C h o m s k y , f o r m a n o r m a l , [lQ 3| a m b ig u a , [S J
c la u s u ra r e g u l a r , ¡51)
d e u n a lfa b e to , gj
d e u n le n g u a je , 0 h ip ó te s is d e in d u c c ió n , 0
137
138
toxico. 0 c u e r p o , |75|
to m a d e b om beo, p3¡ u n i t a r i a . |Í 2 5 |
p a r a le n g u a je s Ubres d e c o n te x to , |1 0 t| v a c ia , [171]
len g u aje. g
d e p e n d ie n te d e c o n te x to , |1(J71 s ím b o lo . 0
libre d e c o n te x to , 5 3 a l c u n / a b l c , [1 2 $
d e u n a u tó m a ta finito d e te rm in is ta , [13) a n u l a b l e , |l 2 4 |
d e u n a u tó m a ta finito no d e te r m in is ta , ¡29¡ de e n tra d a , Q 3 © © l1 ^
con tra n sic io n e s r .p g j g e n e r a d o r , [1 2 $
n h c r c n te m e n te am b ig u o , (5Sj i n ú t i l , fI77)
recu rsiv am en te e n u m e ra b le , [81} [11$ in i c i a l , 5 3
re g u la r, 0 in i c ia l d e c i n t a , (1141
u niversal, [119| in i c ia l d e p ú la , [5 $
t e r m i n a l , [75)
m á q u i n a d e T W in g , [114j s u b c a d e n a , [3}
u n i v e r s a l , [1191
t a b l a d e t r a n s i c i ó n , [T 3
p r in c ip io d e in d u c c ió n m a te m á tic a , [5] t e o r e m a d e M y H i l l - N r r o d e , [58
p r o d u c c i ó n , [75)
b a s e ,0 v a ria b le s in tá c tic a - 5 3