Вы находитесь на странице: 1из 29

Equivalencia entre AFD y AFND.

Hemos definido la equivalencia para los AFD. Extenderemos esta definicin


para la clase de todos los autmatas finitos (AFD y AFND)de forma que un
autmata M es equivalente a un autmata M si !(M) " !(M).

#a que una funcin es un caso especial de relacin (es decir$ las funciones
son relaciones que poseen requerimientos adicionales)$ las funciones de los AFD
se consideran como relaciones en los AFND. En consecuencia$ todo AFD es un
AFND. !a coleccin d len%ua&es aceptados por los AFND incluye a todos los
len%ua&es aceptados por los AFD. De esto resulta que los AFND solo aceptan
len%ua&es aceptados por los AFD. 'or lo tanto$ los AFND no son m(s potentes que
los AFD con respecto a los len%ua&es que aceptan. 'ara pro)ar esto$ necesitamos
demostrar que todo len%ua&e aceptado por un AFND tam)i*n es aceptado por
al%+n AFD.

,ean M"(-$$,$F$) un AFND. En el tema anterior presentamos una forma de
recorrer M$ de la cual se o)ten.a la coleccin de todos los estados accesi)les
desde el estado inicial en cada una de las etapas de an(lisis de una cadena. Estas
t*cnicas proporcionan la )ase para construir un AFD M"(-$$,$F$) que acepte
el mismo len%ua&e que M. Esencialmente$ lo que se pretende es /acer que cada
estado - se corresponda con un con&unto de estados -. 0uando se anali1a una
cadena con M$ esta se acepta cuando la coleccin finadle estados contiene al
menos un estado de aceptacin perteneciente a F. por tanto$ /aremos que F sea
el con&unto de estados de - que se correspondan con los con&untos de estados
(de -) que contienen un estado de F. /aremos corresponder a , con el con&unto
2,3." y definiremos de forma que nos desplacemos de un con&unto de
estados de M a otro$ como se /ace .

A/ora demostraremos formalmente que todo len%ua&e aceptado por un AFND
es tam)i*n aceptado por un AFD$ con lo que pro)aremos que los len%ua&es AFND
y los len%ua&es AFD est(n formados por la misma coleccin de len%ua&es.

4eorema 5.6 ,ea M"(-$$,$F$) un AFND. Entonces existe un AFD M"
(-$$,$F$) que es equivalente a M.
Demostracin7 Definamos M"(-$$,$F$) como si%ue7 sea ,"2,3$ "$
-"8
-
(que es la coleccin de todos los su)con&untos de -) y F la coleccin de
todos los con&untos de - que contienen estados de F. 'ara cada con&unto
(q
i5$
q
i8
$q
in
)

de - y cada s.m)olo de entrada de $ definiremos a como7

(2q
i5
$ q
i8
$ 9$q
5n
3$) "2p
5
$p
8
$9p
:
)
(2q
i5
$q
i8
$9$q
in
3$) " 2p
5
$p
8
$9$p
:
3

;)s*rvese que $ definida de esta forma$ es una funcin -x en -$ puesto
que esta )ien definida para todos los elementos de -x.
'ara pro)ar que !(M) " !(M)$ de)emos demostrar que para toda la cadena
<$ (,$<)"2p
5
$p
8
$9$p
&
3 si y solo si (,$<)"2p
5
$p
8
$9$p
&
3 con lo cual M acepta < si y
solo si M acepta <. 'ro)aremos esto por induccin so)re la lon%itud de <. ,i la
lon%itud de < es = (es decir <")$ entonces7
(,$<)" (,$) " 2,3 " (,$<)

A/ora supon%amos que para toda cadena < de lon%itud menor o i%ual que m
se tiene que (,$<)"(,$<). ,upon%amos que u es una cadena de lon%itud m>5.
Entonces$ existir( al%+n $ de forma que se o)tiene que u"<$ donde < es una
cadena de lon%itud m. En este caso$ (,<) " ((,$<)$). A/ora$ por la /iptesis
de induccin$ dado que < tiene lon%itud m$ (,$<)" 2p
5
$p
8
$9$p
&
3 si y solo si
(s$<)"2p5$p8$9$p&3.'ero por la forma en la que /emos definido $ tendremos que7

(2p5$p8$9$p&3$) " 2r5$r8$9$r:3
si y solo si
(2p5$p8$9$p&3$)" 2r5$r8$9$r:3

'or lo que (,$<) " 2r5$r8$9$r:3 si y solo si (,$<) " 2r5$r8$9$r:3. Es decir$
la i%ualdad se cumple para cadenas de lon%itud m>5 si se cumple para cadenas
de lon%itud m. Entonces por lo anterior tenemos que (,$<) es un estado de F si y
solo si (,$<) contiene al%+n estado de F. 'or tanto M acepta < si y solo si M
acepta <.
Propiedades de los lenguajes aceptados por un autmata finito.

'ara un alfa)eto se pueden construir los AFND (y los AFD) que acepten
pala)ras unitarias. 'ara ello se puede construir$ incluso un AFND que acepte el
len%ua&e vac.o .
,upon%amos que M
5
" (-
5
$
5
$,
5$
F
5
$
5
) y M
8
"(-
8
$
8
$,
8
$F
8
$
8
) son AFND.
'odemos unir M
5
y M
8
en un nuevo AFND que acepte !(M
5
)!(M
8
)$ a?adiendo un
nuevo estado inicial , y dos 6transiciones$ yna de s a s
i
y otra de , a s
8
. !a
construccion formal de este nuevo AFND M"(-$$,$F$) viene dado por "
5

8
$
F"F
5
F
8
y -"-
5
-
8
2,3$ donde , es el nuevo estado inicial y se define de
forma que se incluyan todas las transiciones de
5
$
8
y las dos nuevas 6
transiciones de s a s
5
y

s
8.
0onviene considerar las relaciones de transicin

5
y
8
como colecciones de ternas ordenadas de -
5
xx-
5
y -
8
xx-
8
$ donde (q$$p)
si%nifica que existe una transicin de q a p mediante el car(cter @es decir$ p
i
(q$)). Asando esta notacin se puede definir7
"
5

8
2(s$$s
5
)$(s$$s
8)3

4eorema.6 El con&unto de len%ua&es aceptados por un autmata finito so)re el
alfa)eto contiene y los len%ua&es unitarios 2a3 para todo a. Este con&unto es
cerrado con respecto a la unin$ concatenacin y la cerradura de estrella.
Dada una expresin re%ular r para construir un AFND (con 6transiciones en
todos los lados excepto para expresiones re%ulares triviales)$ podemos aplicar las
t*cnicas precedentes a los t*rminos de las expresiones re%ulares. 'or tanto$ todo
len%ua&e re%ular es aceptado por un autmata finito. !o reciproco tam)i*n es
cierto$ como veremos en el Lema de Arden. Es decir$ todo len%ua&e aceptado por
un autmata finito es tam)i*n un len%ua&e re%ular. 'or lo tanto$ el con&unto de los
len%ua&es re%ulares es el mismo que el con&unto de len%ua&es aceptados por un
autmata finito.
0onsideremos el autmata finito M"(-$$,$) y supon%amos que s"q
=
es el
estado inicial. 'ara todo estado q
i
sea7
A
i
"2<B C (q
5
$<)F3
Es decir$ Ai es el con&unto de las cadenas so)re que/acer que M pase
desde q
i
/asta un estado de aceptacin. ,e dice que A
i
" . ,i q
i
F$ entonces se
tiene que A
i
.

Lema de Arden7 Ana ecuacin de la forma D"ADE$ donde A$ tiene una
solucion +nica D"ABE.
Demostracin: ;)s*rvese que ABE"(A
>
) E"A
>
EE"A(ABE)E. por tanto$
ABE esta contenida en toda solucin. ,upon%amos que D"ABE0 es una solucin$
donde 0ABE". ,i resustituye la expresin anterior en la ecuacin D"ADE$ se
o)tiene

ABE0" A(ABE0)E
" A
>
EA0E
" A
>
EEA0
" (A
>
)EA0
" ABEA0
Teorema de Kleene7 An len%ua&e es re%ular si y solo si es aceptado por un
autmata finito.
Autmatas finitos y expresiones regulares.
Una expresin regular para un alfabeto se define como:
es una expresin re%ular
0ada miem)ro de es una expresin re%ular
,i p y q son expresiones re%ulares$ entonces tam)i*n lo es (p q)
,i p y q son expresiones re%ulares$ entonces tam)i*n lo es (p q)
,i p es re%ular$ entonces tam)i*n lo es p
B

Para cada expresin regular r de un alfabeto representa un lenguaje L(r). Adems, si p
! son expresiones regulares, L(p !) " L(p) L(!), L(p !) " L(p) L(!) L(p
#
) " L (p)
#
.
Las expresiones regulares tambi$n especifican lenguajes (al igual !ue diagramas tablas,
autmatas gramticas) . %on una manera concisa de expresar lenguajes regulares (en una
sola l&nea se puede describir un autmata finito completo).
Teorema.' (ado un alfabeto (tiene !ue ser el mismo), los lenguajes regulares de son
exactamente los lenguajes representados por las expresiones regulares de .
Demostracin.' Lo primero !ue )a !ue tener en cuenta es !ue un lenguaje representado
por una expresin regular es regular (demostrado en los subapartados anteriores). Lo
siguiente !ue )aremos ser representar con una expresin regular cual!uier lenguaje
aceptado por un autmata finito. Adems, *amos a considerar *lidos unos diagramas, !ue
llamaremos generali+ados, en los !ue los arcos *an a estar eti!uetados con expresiones
regulares, en lugar de slo s&mbolos. Para ello, *amos a ir reduciendo el diagrama )asta
tener solo uno o dos estados:
a. !lamemos 4 al dia%rama de transiciones ori%inal. ,e /acen tantas copias de
4 como estados de aceptacin /aya. 0ada 4
i
tendr( slo un estado de
aceptacin distinto. !a expresin re%ular resultante ser( la unin de cada
una de las expresiones resultantes de cada 4
i
(4 " 4
5
4
8
.... 4
n
)
b. 0onsiderando por separado cada 4
i
$ y para ir reduciendo el dia%rama
estado por estado$ se usan las operaciones que se definieron
anteriormente7
c. Anin.6 ,i /ay varios arcos que conectan en la misma direccin dos
estados$ estos se puede sustituir por uno etiquetado con la unin de las
expresiones de esos arcos
d. Estrella de Fleene.6 !a expresin re%ular ser( la unin de las etiquetas de
los arcos que salen e inciden en un mismo estado
e. 0oncatenacin.6 Hay dos casos7 dado un estado$ si solo tiene un arco
incidente y otro saliente$ la expresin resultante ser( la concatenacin de
las etiquetas del arco incidente y la del salienteG si en el estado tiene un
arco solo incidente$ arcos que salen e inciden en el mismo estado y un solo
arco saliente$ la expresin resultante ser( la concatenacin de la etiqueta
del arco incidente$ la estrella de Fleene de la unin de las etiquetas de los
arcos que i)an del estado al mismo y la etiqueta del arco saliente por ese
orden.
,stas operaciones se *an aplicando estado a estado, de manera !ue nos *an !uedando
sucesi*amente diagramas con n estados, n'- estados, ..., . estados, / - estado. ,n estos
dos 0ltimos casos:
a. ,i el dia%rama 4 queda con slo un estado$ que es inicial y de aceptacin a
la ve1$ la expresin resultante es la estrella de Fleene de la unin de las
etiquetas de los arcos que salen e inciden en este mismo estado.
1ue 2 !uede con dos estados, uno inicial, el otro de aceptacin. A!u& se pueden tener
alguno o todos de estos 3 arcos: (r)del inicial al inicial, (s) del inicial al de aceptacin, (t) de
aceptacin a aceptacin (u) de aceptacin al inicial. %i s no existe entonces la expresin
regular es la cadena *ac&a, pues no se puede llegar a alg0n estado de aceptacin. %i existe s
pero no u entonces la expresin regular es (r# s t#). %i existe u entonces la expresin
!ueda ((r# s t#) (u (r# s t#))#). %i r t no existen son sustituidos por . A!u& r#
representa la unin de las eti!uetas de los arcos !ue sal&an entraban en el mismo estado,
como se dijo anteriormente.
Determinacin de lenguajes regulares y no regulares.

Es importante pre%untarse su dado un len%ua&e !$ H! es re%ularI. Desde
lue%o$ si ! es finito$ es re%ular$ y de podr( construir un autmata finito o una
expresin re%ular para ellos de forma sencilla. 4am)i*n si ! es especificado ya sea
por medio de un autmata finito o por una expresin re%ular$ la respuesta es o)via.
'or des%racia$ /ay relativamente pocos len%ua&es que sean re%ulares y$ en el caso
de un len%ua&e infinito$ la )+squeda ex/austiva de una expresin re%ular o un
autmata finito puede resultar in+til. En este caso$ se necesita o)tener al%unas
propiedades que compartan todos los len%ua&es re%ulares infinitos y que no est*n
presentes en los len%ua&es no re%ulares.

,upon%amos que un len%ua&e es re%ular y que$ por tanto$ es aceptado por un
AFD M"(-$$,$F$) donde - tiene n estados. ,i !(M) es infinito$ podremos
encontrar cadenas cuya lon%itud sea mayor que n. ,upon%amos que <"a
5
a
8
..
a
n>5
es una de las cadenas de lon%itud n>5 que pertenece a !(M). ,i tuvi*ramos
q
5 "
(,$a
5
)
q
8 "
(q
5
$a
8
)
y as. sucesivamente$ o)tendr.amos los n>5 estados q
5
$ q
8$ 9$
q
n>5
. 'uesto que
- contiene slo n estados$ los que q
i
no ser(n todos distintos. En consecuencia$
oara al%unos .ndices & y :$ con 5 & J : n>5$ se o)tendr( que q
&
"q
:
. 'or lo tanto$
tendremos un ciclo en el camino que parte de , /asta un estado de aceptacin.

'uesto que & J :$ se tiene que la Kparte centralL es decir a
&
>5 9 a
:
$ tiene al
menos lon%itud 5. ;)s*rvese adem(s que la cadena <"a
5
9a
&
a
:>5
9 a
n>5
de)e
pertenecer tam)i*n a !(M) para todo m=. Es decir$ se puede K)om)earL cero o
mas veces la parte central y se%uir teniendo una cadena que sea aceptada por el
autmata.

Lema de bombeo.6 ,ea ! un len%ua&e re%ular infinito. Entonces /ay una
constante n de forma que$ si < es una cadena de ! cuya lon%itud es mayor o i%ual
que n$ se tiene que <"uvx$ siendo uv
i
x! para todo i =$ con CvC 5 y CuvC n.

El lema de )om)eo presenta una propiedad que de)e tener todo len%ua&e
re%ular y nos facilita una forma de determinar si un len%ua&e no es re%ular. 'ara
demostrar que un len%ua&e no es re%ular$ se mostrar( que para cualquier valor n lo
)astante %rande$ se tendr( al menos una cadena de lon%itud n o mayor que falle al
ser K)om)eadaL.
'or e&emplo$ consid*rese el len%ua&e
!"2a
i8
C i 53
4oda la cadena de ! de)e tener una lon%itud que sea un cuadrado perfecto.
,upon%amos que ! es re%ular y sea n la constante dada en el lema de )om)eo.
;)s*rvese que a
n8
! y que$ por el lema de )om)eo$ tenemos que a
n8
" uvx de
forma que
5 CvC n y uv
i
x ! para todo i 5. Entonces se o)tiene que7

n
8
" CuvxC
J Cuv
8
xC
n
8
> n
J (n>5)
8

Es decir$ la lon%itud de uv
8
x no puede pertenecer a !$ es decir$ ! no puede
ser re%ular.
Autmatas bidireccionales
4asta a)ora los autmatas !ue )emos considerado leen su entrada de i+!uierda a derec)a
no reculan sobre ella para reali+ar transiciones alternati*as en funcin de la 55)istoria66 de la
entrada. Los autmatas bidireccionales en cambio, s& pueden re*isar la cadena de entrada
efectuar transiciones en funcin de una misma entrada le&da *arias *eces. 7eamos una
formali+acin de esta nocin de autmatas finitos.
Un autmata bidireccional es una estructura de la forma
donde
La semntica del autmata es mu intuiti*a: %i se est leendo la i'$sima posicin de una
palabra de entrada, en la cual aparece el s&mbolo e, se est en el estado q entonces,
si se pasa al estado p y a revisar la posicin i65 de la
cadena de entrada$
si se pasa al estado p y a revisar la posicin i>5 de la
cadena de entrada.
Para lle*ar un recuento de las transiciones del autmata utili+aremos descripciones
instantneas ((86s). Una DI es una cadena
que indica que la pala)ra de entrada actual es $ se est( leyendo el
s.m)olo e y se est( en el estado q7 o )ien de la forma
$ que indica que se /a arri)ado al estado q y se /a concluido la
lectura de la pala)ra de entrada.
(iremos !ue una (8 se sigue de otra ,
, si es el resultado de aplicar la transicin correspondiente a d9.
:ormalmente,
La cerradura reflexi*o'transiti*a de la relacin 55se sigue66 es la relacin 55se deriva66,
denotada como .
Una palabra es reconocida por el autmata bidireccional si para alg0n estado
final se tiene . ,s decir, una palabra es reconocida si para cuando
se conclua su lectura se )aa arribado a un estado final. ,l lenguaje reconocido por el
autmata bidireccional es
Un lenguaje es regular-B si es reconocido por un autmata bidireccional.
Ejemplo
,l autmata bidireccional !ue
avan1a a la derec/a /asta que /ayan aparecido dos 5Ms$ y
retrocede a la derec/a /asta encontrar un =$ en cuyo caso reentra al estado
inicial$
tiene como transicin a la si%uiente7
,l estado inicial es q9.
%i q- se designa como estado final, entonces se reconocer a palabras de la forma
9
#
(9-9
#
)
#
9-9
#
.
Ejemplo
;onsideremos el semiautmata bidireccional de < estados sobre el alfabeto de dos
s&mbolos A"=a,b>:
Una palabra !ue termina de leerse es . ,n la tabla (..-<) se *e la accin
de sobre .

Tale! Accin de so)re .
Ana pala)ra con un prefi&o de N aMs /ace que se sal%a por la i1quierda de la
cadena de entrada. En efecto$ consideremos . En la
ta)la (O.5P) se ve la accin de so)re .

Tale! Accin de so)re .
Ana pala)ra que cicla es . En la ta)la (O.5@) se ve la accin de
so)re .

Tale! Accin de so)re .
%i se *e la entrada del autmata como inscrita en una cinta con casillas contiguas, en cada
una de las cuales se inscribe un s&mbolo, entonces en una palabra de k s&mbolos )abr k?-
separadores de casillas. %i la palabra de entrada fuese , al escribir
expl&citamente a los separadores, podr&amos re'escribir a como
En la fi%ura (O.@) presentamos un dia%rama de esta presentacin.

Figure ".#! 0adena de entrada y
separadores en un AE.
La aplicacin de la palabra de entrada en el autmata determina una sucesin de cruce Si
en cada uno de los separadores si, de acuerdo con la construccin siguiente:
5.
Qnicialmente /acemos y para cada iR=$ .
8.
'osteriormente$ si es la descripcin instant(nea actual$
es tal que y e est( en la posicin j$
entonces
;on estas reglas, toda sucesin de cruce )a de comen+ar con una pareja de la forma
correspondiente a un mo*imiento a la derec)a, los mo*imientos correspondientes a dos
parejas sucesi*as en una misma sucesin de cruce )abrn de alternarse. Por tanto, al cabo
de la lectura de una palabra de entrada, en cada separador, la correspondiente sucesin de
cruce )a de tener un n0mero impar de elementos. Adems, en el caso de !ue se )aa
aplicado una palabra !ue es efecti*amente reconocida, ninguna sucesin de cruce puede
tener dos apariciones de una misma pareja (en otro caso la 55computacin66 se ciclar&a).
Ejemplo
Para la palabra de longitud <, -9-99-, las @ sucesiones de cruce en el semiautmata
bidireccional son las mostradas en la tabla ..-A.

Tale! ,ucesiones de cruce para el autmata )idireccional .
Ejemplo
Para la palabra de longitud -/, , las -. sucesiones de cruce en el
semiautmata bidireccional son las mostradas en la tabla ../9.

Tale! ,ucesiones de cruce para el autmata )idireccional .
(e manera general, diremos !ue una sucesin de cruce es una lista de parejas de la forma
tal !ue
los movimientos en la sucesin se van alternando$ y
nin%una pare&a se repite en la sucesin.
Por ra+ones !ue se aclararn ms adelante, diremos !ue una sucesin de cruce es derecha si
comien+a con un mo*imiento a la derec)a es de longitud impar. %im$tricamente, diremos
!ue es iquierda si comien+a con un mo*imiento a la i+!uierda es de longitud par.
%i )a n estados en el autmata bidireccional, entonces ninguna sucesin de cruce puede
tener ms de /n elementos. Adems, para cada )a sucesiones de cruce de
longitud /j'- !ue comiencen con el mo*imiento . Por tanto, con n estados, )a
posi)les sucesiones de cruce derec/as. El crecimiento de C
n
es muy r(pido como
se ve en la ta)la (O.85).

Tale ".$%! 0recimiento del n+mero m(ximo de sucesiones de cruce.
,n resumen, el conjunto de sucesiones de cruce para un autmata bidireccional siempre es
finito. Por esto, tendremos !ue todo autmata bidireccional ser e!ui*alente a uno finito
no'determinista. Los estados de $ste 0ltimo sern precisamente las sucesiones de cruce
derec)as posibles. ,n lo !ue resta de esta seccin, *eremos cmo con*ertir un autmata
bidireccional a uno finito e!ui*alente.
Bbser*emos en las tablas (..-A) (../9) !ue cuales!uiera dos sucesiones de cruces
contiguas 55concuerdan66 entre s& en el sentido de !ue sus construcciones son consistentes
con el funcionamiento del correspondiente autmata bidireccional.
A)ora bien, diremos !ue dos sucesiones de cruce S-, S/ concuerdan para un s&mbolo
si para alguna palabra , en la cual e apare+ca en una posicin,
digamos i, se tiene !ue S- aparece como subcadena de la sucesin de cruce Si'-, S/ aparece
como subcadena de Si ambas cadenas forman la 55tra+a66 del funcionamiento del autmata
bidireccional sobre la palabra . (iremos !ue S- concuerda !endo a la derecha con S/ si la
tra+a inicia con el primer elemento de S- el mo*imiento correspondiente es a la derec)a.
%imilarmente, diremos !ue S/ concuerda !endo a la iquierda con S- si la tra+a inicia con el
primer elemento de S/ el mo*imiento correspondiente es a la i+!uierda.
Para poner esto en t$rminos ms precisos:
D.%
!a sucesin vac.a concuerda yendo a la derec/a consi%o misma para
cualquier s.m)olo e.
&.%
!a sucesin vac.a concuerda yendo a la i1quierda consi%o misma para
cualquier s.m)olo e.
D.$
,i S
5
concuerda yendo a la derec/a con S
8
para el s.m)olo e y
entonces la sucesin concuerda yendo a la
derec/a con S
8
para el s.m)olo e.
,n efecto, la pareja indica !ue se atra*iesa al separador si'- )acia la
derec)a para leer el s&mbolo e, luego, por la accin del AC, se *uel*e a atra*esar
si'- pero a)ora )acia la i+!uierda.
&.$
,i S
8
concuerda yendo a la i1quierda con S
5
para el s.m)olo e y
entonces la sucesin
concuerda yendo a la i1quierda con S
5
para el s.m)olo e.
,n efecto, estamos en una situacin sim$trica de la anterior.
D."
,i S
8
concuerda yendo a la i1quierda con S
5
para el s.m)olo e y
entonces concuerda yendo a la derec/a con
para el s.m)olo e.
,n efecto, la pareja indica !ue se atra*iesa a si'- )acia la derec)a para
leer el s&mbolo e, luego, por la accin del AC, se atra*iesa si )acia la derec)a
tambi$n. Posteriormente para mantener la concordancia es necesario !ue S/
concuerde endo a la i+!uierda con S-.
&."
,i S
5
concuerda yendo a la derec/a con S
8
para el s.m)olo e y
entonces concuerda yendo a la i1quierda con
para el s.m)olo e.
,n efecto, estamos en una situacin sim$trica de la anterior.
,e si%ue inmediatamente lo si%uiente7
5.
,i S
5
concuerda yendo a la derec/a con S
8
$ entonces am)as sucesiones S
5

y S
8
son derec/as.
8.
,i S
8
concuerda yendo a la i1quierda con S
5
$ entonces am)as sucesiones
S
5
y S
8
son derec/as.
O.
'ara cualquier pala)ra que se lea por completo en el autmata
)idireccional$ si es su sucesin de sucesiones de cruce$ entonces7
(a)
cada S
i
es una sucesin de cruce derec/a$
())
cada S
i65
concuerda yendo a la derec/a con S
i
$ para el i6*simo s.m)olo de la
pala)ra .
Proposicin '.% (Equivalencia de los autmatas )idireccionales con los no6
deterministas) 4odo len%ua&e re%ular6E es re%ular6N$ y consecuentemente es
tam)i*n re%ular. Es decir$ todo autmata )idireccional es equivalente a un
autmata no6determinista$ y consecuentemente a un autmata finito.
,n efecto, sea un autmata bidireccional. ;onstruamos el
autmata no'determinista siguiente:
estados!
$
estado inicial!
$
estados finales!
$
transiciones!
,s fcil *er !ue ambos autmatas son e!ui*alentes pues una 55computacin reconocedora66,
en el autmata no'determinista, corresponde a una lectura por columnas como las
presentadas en las tablas ..-A ../9, correspondientes a sendas 55computaciones
reconocedoras66, en sus respecti*os autmatas bidireccionales. ,l rec&proco tambi$n *ale.
,l autmata descrito en la demostracin anterior es mu extenso seguramente )a de
contener una gran cantidad de estados inaccesibles. ;omo una primera aproximacin para
reducir el tamaDo del autmata e!ui*alente podemos calcular slo a!uellas sucesiones de
cruce !ue potencialmente pueden concordar, seg0n lo permita la funcin de transicin del
autmata bidireccional.
(escribamos un procedimiento !ue dado un s&mbolo a produce sendas listas de parejas de
sucesiones de cruce !ue concuerdan endo por la derec)a, abre*iado "oncDer, endo por
la i+!uierda, abre*iado "oncIq, respecto al s&mbolo a. Para cada una de las dos relaciones,
"oncDer "oncIq, utili+aremos un arreglo de palabras a re*isar otro de palabras a
re*isadas.
5.
Qnicialmente consideramos la sucesin de cruce vac.a . !a pare&a
se coloca en la lista de pare&as a revisar$ en tanto que la lista de pare&as
revisadas es vac.a$ para cada una de las dos relaciones de concordancia.
8.
'or cada pare&a de sucesiones que quede por revisar$
(a)
se toma la primera pare&a a revisar se%+n ConcDer para pasarla a
las ya revisadas tras el procesamiento que aqu. descri)imos$
())
para cada estado q sea el resultado de leer a en el estado q y
para cada pare&a entre las revisadas o por revisar de la relacin
ConcIzq7
si entonces consideramos la pare&a $ para
colocarla en la lista de las pare&as a revisar se%+n la relacin
ConcDer$ si es que es la primera ve1 que aparece$
si entonces consideramos la pare&a
$ para colocarla en la lista de las
pare&as a revisar se%+n la relacin ConcDer$ si es que es la primera
ve1 que aparece$
(c)
lue%o procedemos de manera dual$ es decir$ se toma la primera pare&a
a revisar se%+n ConcIzq para pasarla a las ya revisadas tras el
procesamiento que aqu. descri)imos$
(d)
para cada estado q sea el resultado de leer a en el estado q y
para cada pare&a entre las revisadas o por revisar de la relacin
ConcDer7
si entonces consideramos la pare&a
$ para colocarla en la lista de las
pare&as a revisar se%+n la relacin ConcIzq$ si es que es la primera
ve1 que aparece$
si entonces consideramos la pare&a
$ para colocarla en la lista de las
pare&as a revisar se%+n la relacin ConcIzq$ si es que es la primera
ve1 que aparece$
O.
!as listas de pare&as revisadas /an de concordar.
,l procedimiento descrito produce a0n una gran cantidad de sucesiones de cruce, aun!ue
efecti*amente est descartando a muc)&simas sucesiones irrele*antes.
Ejemplo
7ol*amos al autmata . ,l algoritmo anterior produce 3E parejas de sucesiones de
cruce derec)as, de manera !ue la primera concuerda con la segunda endo a la derec)a,
respecto al s&mbolo 9. ,n la tabla (..//(a)) las enlistamos en su orden de aparicin con el
algoritmo descrito. %in embargo, a)& aparecen tambi$n sucesiones !ue tienen elementos
repetidos. ,n la tabla (..//(b)) suprimimos esas sucesiones.

Tale ".$$! (a) !as N@ pare&as de sucesiones de cruce derec/as$ de manera que la
primera concuerda con la se%unda yendo a la derec/a$ respecto al s.m)olo =. ())
!as P pare&as de la ta)la (a) sin sucesiones con elementos repetidos.
,n la tabla (../.) enlistamos las parejas de sucesiones de cruce derec)as, de manera !ue la
primera concuerda con la segunda endo a la derec)a, respecto al s&mbolo -, tambi$n en el
orden de aparicin con el algoritmo descrito.

Tale ".$"! !as 5= pare&as$ de manera que la primera concuerda con la se%unda
yendo a la derec/a$ respecto al s.m)olo 5.
Para el autmata , de < estados, este algoritmo da un n0mero extremadamente
grande de sucesiones relacionadas.
;omo otra alternati*a, en *e+ de generar todas las sucesiones de cruce plausibles, con cierta
nocin de plausibilidad, partiendo de la sucesin de cruce primera , dada una
sucesin de cruce actual calcularemos a todas a!uellas !ue concuerdan con ella endo a la
derec)a para cada uno de los s&mbolos en el alfabeto de entrada.
Para esto, definimos dos relaciones de manera tal !ue para
cuales!uiera dos sucesiones de cruce S T:
(iremos !ue una pareja es 55de +ig'+ag66, respecto al s&mbolo a si en la
transicin del autmata bidireccional se tiene . (iremos tambi$n !ue un estado q
es un 55antecedente66 de si para alg0n s&mbolo b se tu*iese !ue .
(e manera recursi*a, tenemos:
(D.%
.
(D.$
.
(D."
.
(&.%
es de 1i%61a%$ respecto al s.m)olo a.
(&.$
.
Utili+aremos un arreglo de sucesiones de cruce a re*isar otro de sucesiones de cruce a
re*isadas.
5.
Qnicialmente se coloca la sucesin de cruce en la lista de
sucesiones a revisar y la de revisadas es vac.a.
8.
En tanto /aya sucesiones por revisar$
(a)
se toma la primera sucesin S a revisar$ para pasarla lue%o a las ya
revisadas$
())
para cada s.m)olo a$
i.
se calcula la lista de sucesiones T tales que $
ii.
se pone una transicin$ marcada con a de S a cada tal T$
iii.
la primera ve1 que apare1ca una tal T$ se la pone en la lista de sucesiones
a revisar.
O.
!a lista de sucesiones revisadas define al autmata no6determinista
equivalente.
Ejemplo
Para el autmata bidireccional , al aplicar el algoritmo anterior se distingue a las
sucesiones de cruce
y con la enumeracin de la primer columna$ la transicin del autmata no6
determinista es
y so)re *ste$ al calcular el autmata determinista equivalente$ o)tenemos el
autmata
donde la ta)la del lado i1quierdo representa una nueva enumeracin a/ora de los
con&untos de estados del autmata no6determinista$ y la ta)la de la derec/a$ la
transicin del nuevo autmata determinista. Este es el equivalente a .
Ejemplo
Para el autmata bidireccional , al aplicar el algoritmo anterior se distingue a -@@
sucesiones de cruce para formar el autmata no'determinista A#D. ;uando a $ste se le
con*ierte en uno determinista, digamos AD, aparecen <. estados. ,l estado 9 de A#D
corresponde a la sucesin de cruce . ,l estado 9 de AD corresponde al conjunto de
estados .
7imos anteriormente !ue la palabra se lee por completo en el
autmata arriba a su estado .. ;uando aplicamos a AD se llega a su estado 3A, el
cual corresponde a la coleccin de estados de A#D
entre los cuales est( el estado 5 que corresponde a la sucesin de cruce
.
Producto de autmatas
%ean dos autmatas
finitos. %u semiautmata producto se define sobre el producto cartesiano como sigue:
estados!
$
estado inicial!
q
=5
"(q
=5
$q
=8
)$
transiciones!
(se tiene un semiautmata porque a+n no /ay estados finales). Denotemos por
a este semiautmata.
,s e*idente !ue
As& pues, si definimos como conjunto de estados finales al conjunto
entonces una pala)ra ser( reconocida por el producto si y slo si lo es
por al%uno de los autmatas o $ es decir$ en este caso$
A)ora, si definimos como conjunto de estados finales al conjunto
entonces una pala)ra ser( reconocida por el producto si y slo si lo es
por am)os autmatas o $ es decir$ en este caso$
Congruencias de autmatas
,ea un semiautmata. Ana relacin de equivalencia SS MM
definida en el con&unto de estados Q se dice ser congrente con la funcin de
transicin si

(T)
es decir para cada s.m)olo$ los estados a los que transita el semiautmata desde
sendos estados equivalentes son tam)i*n equivalentes. ,i SS MM es una
con%ruencia$ entonces el cociente puede ser dotado de una estructura de
semiautmata7
y *ste se dice ser el semiatmata cociente respecto a la con%ruencia SS MM$
denotado como . ,e tiene pues que la proyeccin es un
/omomorfismo de semiautmatas. M(s a+n$ si es un autmata
finito y es una con%ruencia en el semiautmata $ en el cociente
distin%uimos como estados finales a las clases de la forma UqV tales que
$ para o)tener el atmata cociente . Aqu.$ la proyeccin es
un /omomorfismo de autmatas. 0onsecuentemente$ el cociente
su)sume al autmata .
)servacin $." !os autmatas y son equivalentes si y slo si el
con&unto de estados finales ! es la unin de al%unas clases de equivalencia
respecto a SS MM.
'ara presentar unos primeros e&emplos de con%ruencias$ consideremos
/omomorfismos de semiautmatas o autmatas. A lo lar%o de la presente seccin$
toda ve1 que /a)lemos de /omomorfismos$ supondremos que *stos son de /ec/o
epimorfismos$ es decir$ como funciones$ son suprayectivos. ,ean pues
y dos semiautmatas y
un /omomorfismo. Entonces su n+cleo$
$ es una relacin de equivalencia que es de /ec/o
una con%ruencia. 'or tanto$ se puede definir el cociente $ y *ste es
tal que cada clase de equivalencia corresponde )iun.vocamente a un elemento en
la ima%en de ". As. pues$ lo expuesto aqu. lo enunciamos como el
Teorema $.% (de /omomorfismo de semiautmatas) ,i es un
epimorfismo de semiautmatas entonces el cociente es isomorfo a
. En s.m)olos$ .
'ara el caso de autmatas$ si y son dos
autmatas y es un epimorfismo de autmatas$ tal que
entonces es la unin de al%unas clases de equivalencia
respecto a . 'or tanto los autmatas y son isomorfos.
Teorema $.$ (de /omomorfismo de autmatas) ,i es un
epimorfismo de autmatas tal que !
5
es la unin de clases de equivalencia
respecto a $ entonces el cociente es isomorfo a . En
s.m)olos$ .
As. pues$ en cada pare&a de semiautmatas o autmatas /omomorfos que ya
/emos visto$ tendremos con%ruencias de semiautmatas o autmatas y
correspondientes estructuras cocientes. !os e&emplos de /omomorfismos de
semiautmatas y de autmatas que ya /emos visto aqu.$ /an de proporcionar
e&emplos de con%ruencias y de autmatas cocientes.
Teorema
Un lenguaje en aceptado por un A.:.(. es aceptado
por un A.:.F.(.
Demostracin
2ri*ial, a !ue todo A.:.(. es un A.:.F.(.
7er apartado siguiente.
Paso de A.F.N.D. a A.F.D.
-. %e crea P(1) cada elemento de este nue*o conjunto
ser un estado del A.:.(. %i una componente de un
elemento de P(1) es un estado final, dic)o elemento
ser tambi$n un estado final.
/. ADadir un nue*o estado $ al !ue denominaremos estado
muerto.
.. Las entradas sern las mismas.
3. %i en la tabla de transicin del A.:.F.(. un estado pasa
con una entrada a *arios estados, la combinacin de
$stos pertenece a P(1), rellenando la casilla
correspondiente de la tabla de transicin del A.:.(. con
dic)o elemento de P(1).
G. Para rellenar las casillas de los elementos compuestos
de P(1) calculo todos los estados siguientes de cada uno
de los estados componentes de cada uno de dic)os
elementos de P(1). ,l conjunto de todos estos estados
siguientes conforman otro elemento de P(1),
procediendo a su anotacin en la tabla de transicin del
A.:.(.
<. ;ual!uier casilla !ue !uede *ac&a la relleno con el
estado $.
@. Las casillas del estado $ las relleno con el mismo
estado $.
,jemplo: Bbtener el A.:.(. asociado
9 -
A C, ;
#C A ;
#; ;
,jemplo: Bbtener el A.:.(. asociado
H"(I9, -J, I%, U, 7J, I%U9K7-, U%-K-, 7%-K9J,%)
Teorema
Un lenguaje es aceptado por un 'A.:.F.(. es
aceptado por un A.:.F.(.
Demostracin
2ri*ial, a !ue todo A.:.F.(. es un 'A.:.F.(.
7er algoritmo apartado siguiente.
7. Algoritmo de paso de -A.F.N.D. a A.F.N.D.
(ado un lenguaje L aceptado por el 'A.:.F.(.:
A " (,, 1, f, !9, :)
el A.:.F.(. !ue reconoce dic)o lenguaje se construe de
la siguiente manera:
AL " (,, 1, g, !9, :L)
donde:


=
=
9 ) ( J I
9 ) (
6
9
9
% q "l si q %
% q "l si %
%
o

g(!, a) " fL(!, a)


Teor&a de Autmatas ! 'enguajes %ormales Tema () Autmatas %initos
*ro+esor, -ose Ignacio .me /sp&nola Pg. -.
8. Algoritmo alternativo de paso de -A.F.N.D. a
A.F.N.D.
-. ;alcular la clausura de todos los estados del 'A.:.F.(.
!ue tienen transiciones nulas.
/. ;opiar la tabla de transicin excepto la columna
correspondiente a la cadena *ac&a.
.. Para cada uno de los estados del 'A.:.F.(. copiar en
su fila las filas de los estados de su clausura.
3. %i en la clausura de alg0n estado )a alg0n estado final
incluir dic)o estado dentro del conjunto de los estados
finales.
,jemplo: A partir del 'A.:.F.(. asociado al lenguaje L"I9i-j/M K
i,j,M9J, obtener el A.:.F.(. correspondiente.
9. Teorema
Para toda gramtica tipo . existe un A.:.(. !ue acepta
el lenguaje aceptado por la gramtica.
Demostracin
-. .eneracin de un -A)%)#)D) a partir de una gramtica
lineal por la derecha *er apartado -9
/. .eneracin de un -A)%)#)D) a partir de una gramtica
lineal por la iquierda *er apartado --
:inalmente, bastar con aplicar los algoritmos *istos
anteriormente para pasar un 'A.:.F.(. a A.:.F.(., $ste
a A.:.(.
Teor&a de Autmatas ! 'enguajes %ormales Tema () Autmatas %initos
AUT!ATA" F#N#T$" N$ DETE%!#N#"TA". !A&U#NA '$N'EPTUA(.
La 0nica diferencia con los anteriores est en !ue en la transicin en )n estado determinado puede )aber,
para )n mismo s*m+olo, m-s de )n arco o no .a+er ning)no.
(ecimos !ue un autmata finito no determinista acepta una cadena si es posi+le !ue su anlisis deje a la
m!uina en un estado de aceptacin. (ecimos si es posible, pues si se toma el camino e!ui*ocado no se
aceptar&a una cadena !ue podr&a ser *lida (una cadena del lenguaje aceptado por este autmata, designado
por L(N).
:ormalmente el autmata finito no determinista consiste en una !u&ntupla (%, , , , :), donde
, es un con&unto finito de estados
es el alfa)eto de la m(quina
r es un su)con&unto de , x x , (posi)les transiciones de la m(quina)
i (un elemento de ,) es el estado inicial
F (un su)con&unto de ,) es la coleccin de estados de aceptacin
Un autmata de la forma (%, , , , :) acepta la cadena no *ac&a /0/1.../n si solo si existe una serie de
estados s9,s-,...sn tal !ue s9" sn : para cada entero j de - a n (sj'-,xj,sj) est en . Adems, las tripletas
2p,/,34 5 2p,/,r4, donde 3 5 r son estados !ue pueden ser distintos, p)eden estar en , dici$ndose !ue al leer
el s&mbolo / en el estado p se p)ede pasar al estado 3 o al r.
Para )acer un programa de un autmata no determinista se podr&a )acer probando todas las rutas una a una
)asta !ue se terminasen o se aceptase la cadena, lo cual no es eficiente por la cantidad de memoria necesaria
(crece exponencialmente con el n0mero de estados).
Para anali+ar una cadena en un autmata finito no determinista vamos a seg)ir todas las transiciones
posi+les en paralelo (atra*esamos todas las rutas a la *e+)O la cadena se aceptar- si alguna de las r)tas
aca+a en )n estado de aceptacin. Fuestro estado en )n momento dado a no se .allar- determinado por
un estado del diagrama de transiciones, sino por la coleccin de los estados act)ales de todas las r)tas
posi+lesO si P es la coleccin de estados actuales, al leer x del flujo de entrada obtendr&amos un nue*o estado
actual, representada por la coleccin de los estados a los !ue es posible llegar desde un estado P. Al pasar de
conjuntos de estados a conjuntos de estados, se e*itan los retrocesos (las rutas sucesi*as distintas) adems de
superar el no determinismo del autmata.
2,BQ,NA.' Para cada autmata finito no determinista, existe un autmata finito determinista !ue acepta
exactamente el mismo lenguaje.
(,NB%2QA;8RF
%ea N " (%, , , , :), definimos entonces otro autmata N6 determinista
representado por el !u&ntuplo (%6, , , 6,:6) donde:
,M"'(,) 0on&unto de todos los su)con&untos de , (recordar que el
con&unto potencia se encuentra incluido el con&unto vac.o$ que ser( el
estado de captacin %lo)al)
M"2 3 (mismo estado inicial)
FM es la coleccin de su)con&untos de , (estados de ,M) que contienen$
por lo menos$ un estado de F (cada uno de los estados de ,M dentro de
los cuales /ay al menos un estado de aceptacin de M)
es la funcin de ,M x a ,MG para cada s.m)olo del alfa)eto y estado sM
de ,M$ (sM$x) es el estado de ,M compuesto por los estados de , a los
que es posi)le lle%ar desde todos los estados s de sM si%uiendo un arco
con etiqueta xG al ser una funcin$ MM es finito determinista.
N N6 aceptan exactamente las mismas cadenas, es decir, el mismo lenguajeO para
demostrarlo )a !ue )acerlo sobre el enunciado: *ara cada ruta en 0 del estado al
estado sn 1 que recorre arcos $21 $31)))1 $n e4iste una ruta en 05 del estado 5 al estado sn 5
que recorre los arcos $21 $31)))1 $n de modo que sn s5n ! viceversa 6para cada ruta en 05
de 5 recorriendo arcos $21 $31)))1 $n ! cada sn s5n1 e4iste una ruta en 0 de a sn que
recorre arcos $21 $31)))1 $n 7) 6Se demuestra por induccin7)
(el anterior teorema se deduce !ue el no determinismo no permite !ue se acepte un conjunto maor de
cadenas.
2,BQ,NA.' Para cual!uier alfabeto , IL(N) es un autmata finito determinista con alfabeto J " I L(N)
es un autmata finito no determinista con alfabeto J.
'$N6E%T#% UN D#A7%A!A N$ DETE%!#N#"TA EN UN$
DETE%!#N#"TA

;ojamos el diagrama del siguiente autmata para el alfabeto "Ia, bJ. ;omo podemos *er, no es
determinista pues desde el estado - salen dos arcos rotulados con b del estado / salen dos arcos eti!uetados
con a.

Para con*ertir el diagrama no determinista en uno !ue lo sea *amos )a reali+ar los siguientes pasos:
,M"'(,) 0on&unto de todos los su)con&untos de , (recordar que el con&unto potencia se
encuentra incluido el con&unto vac.o$ que ser( el estado de captacin %lo)al)
0omo tenemos tres estados$ el con&unto potencia '(,) " 2 $ 5$ 8$ O$ 568$ 56O$ 86O$ 5686
O 3
M" 23 (mismo estado inicial)
En nuestro caso se%uir( siendo el estado 5.
FM es la coleccin de su)con&untos de , (estados de ,M) que contienen$ por lo menos$ un
estado de F (cada uno de los estados de ,M dentro de los cuales /ay al menos un estado
de aceptacin de M).
En nuestro caso ser(n todos los su)con&untos que ten%an el estado O$ ya que este es el
+nico estado de aceptacin del dia%rama ori%inalG lue%o FM" 2 O$ 56O$ 86O$ 5686O 3
es la funcin de ,M x a ,MG 'ara cada s.m)olo del alfa)eto y estado sM de ,M$ (sM$x) es el
estado de ,M compuesto por los estados de , a los que es posi)le lle%ar desde todos los
estados s de sM si%uiendo un arco con etiqueta x. 0omo es una funcin$ MM es finito
determinista.
En nuestro caso$ En cada estado del con&unto potencia solo va a salir un arco por cada
s.m)olo$ siendo el destino$ el estado de ,M que ten%a todos los estados a los que fuera en
el dia%rama inicial7 para ello7
> vac.o.6 como di&imos$ era el estado de captacin %lo)al$ por lo tanto se le di)u&an tantos
arcos que salen e inciden en el estado$ como s.m)olos del alfa)eto /aya$ con los cuales se
rotulan. Adem(s$ en este estado$ van a incidir todas aquellas transiciones que no exist.an
para al%+n s.m)olo en al%+n estado ori%inal.
> Estado 5.6 0on la etiqueta a no /ay transicin en el ori%inal$ por lo tanto el arco se di)u&a
/acia el estado vac.o con la etiqueta ) salen dos arcos$ uno /acia el estado 8 y otro al
estado O$ por lo tanto el arco se di)u&a al estado 86O
> Estado 8.6 0on la etiqueta ) no /ay transicin en el ori%inal$ por lo tanto el arco se di)u&a
/acia el estado vac.oG con la etiqueta a salen dos arcos$ uno /acia el estado 5 y otro al
estado O$ por lo tanto el arco se di)u&a al estado 56O.
> Estado O.6 0on nin%una de las dos etiquetas /ay transicin en el ori%inal$ por lo tanto se
di)u&an sendos arcos /acia el estado vac.o.
> Estado 568.6 0on la etiqueta a /ay transicin desde el estado 8 ori%inal al 5 y O ori%inal$
por lo tanto el arco se di)u&a /acia el estado 56OG con la etiqueta ) salen dos arcos desde el
estado 5 ori%inal$ uno /acia el estado 8 y otro al estado O$ por lo tanto el arco se di)u&a al
estado 86O.
> Estado 56O.6 0on la etiqueta a no /ay transicin desde nin%uno de los dos estados
ori%inales$ por lo tanto el arco se di)u&a /acia el estado vac.oG con la etiqueta ) salen dos
arcos desde el estado 5 ori%inal$ uno /acia el estado 8 y otro al estado O$ por lo tanto el
arco se di)u&a al estado 86O.
> Estado 86O.6 0on la etiqueta a /ay transicin desde el estado 8 ori%inal al 5 y O ori%inal$
por lo tanto el arco se di)u&a /acia el estado 56OG con la etiqueta ) no sale nin%+n arco en
nin%uno de los dos estados ori%inales$ por lo tanto el arco se di)u&a al estado vac.o.
> Estado 5686O.6 0on la etiqueta a /ay transicin desde el estado 8 ori%inal al 5 y O ori%inal$
por lo tanto el arco se di)u&a /acia el estado 56OG con la etiqueta ) salen dos arcos desde el
estado 5 ori%inal$ uno /acia el estado 8 y otro al estado O$ por lo tanto el arco se di)u&a al
estado 86O.
Ana ve1 que /emos terminado todos los pasos$ podremos eliminar aquellos estados
que sean superfluos al dia%rama que aca)amos de o)tener.
En nuestro caso particular podemos eliminar los estados 8$ O$ 568 y 5686O$ quedando el
definitivo autmata finito determinista.

Вам также может понравиться