Documentos de Académico
Documentos de Profesional
Documentos de Cultura
k
S
2
) si y solo si
no existe w e * y |w| s k que distinga a S
1
de S
2
. Decimos que S
1
y
S
2
son indistinguibles (S
1
S
2
) si son k-indistinguibles para k > 0.
Tomemos, por ejemplo, el siguiente autmata:
o 0 1
S
0
S
1
S
0
S
1
S
2
S
1
S
2
S
1
S
2
Cules seran los estados 0-indistinguibles?
En primer lugar, para que dos estados sean 0-distinguibles es
necesario encontrar una cadena de longitud s 0 (o sea, la cadena e)
que los distinga. Veamos qu estados pueden ser distinguidos por la
cadena vaca:
(S0, e) (S0, e)
(S1, e) (S1, e)
(S2, e) (S2, e)
S
0
se distingue de S
1
ya que solo uno entre S
0
y S
1
e F.
S
1
se distingue de S
2
por la misma razn, y S
0
no se distingue
de S
2
ya que S
0
y S
2
e F ambos.
Luego, la cadena vaca divide el conjunto de estados en dos
clases de equivalencia: las clases de los estados 0-indistinguibles,
que seran los estados finales en un grupo y lo no finales en otro.
El algoritmo se basa en ir formando los grupos de estados
indistinguibles para cada una de las posibles cadenas de entrada, y a
la misma vez, separando en grupos diferentes a aquellos estados que
se distinguen por alguna cadena. El proceso de obtencin de estos
grupos se realiza particionando de forma iterativa el conjunto de
estados en nuevos subgrupos hasta que nos sea posible particionar
nuevamente ningn grupo.
La particin inicial es aquella cuyos grupos estn formados por
los estados 0-indistinguibles. Esta particin contiene, como ya hemos
visto, solamente dos grupos de estados: el grupo de los estados
finales y el de los no finales. De manera general, la idea del algoritmo
es la siguiente: supongamos que estamos en la k-sima particin [
k
Molina Palmeros Andrs.
MC: Jos ngel Toledo lvarez
INSTITUTO TECNOLGICO DE MINATITLN
9
y en ellas tenemos los grupos G
1
, G
2
, , G
n
. En este
momento los estados de cada G
i
son k-indistinguibles y cualquier par
de estados tomados de grupos diferentes son distinguibles para
alguna cadena w, |w| s k. Para obtener la nueva particin solo es
necesario analizar si es posible dividir alguno de los grupos, puesto
que en lo adelante dos estados de grupos distintos no podrn
reunirse nuevamente en algn grupo. Si dos estados son distinguidos
por alguna cadena de longitud k, ya no podrn ser indistinguibles.
Para analizar cada grupo se toman sus estados dos a dos y se
comprueba si son (k+1)-indistinguibles analizando sus transiciones
ante cada smbolo de entrada. Tomemos, por ejemplo, los estados S
1
y S
2
de G
1
y analicemos sus transiciones ante el smbolo a: o(S
1
,a) y
o(S
2
,a). Si estas transiciones son a estados que se encuentran en
grupos distintos de la particin [
k
, entonces estos estados han sido
distinguidos por una cadena wa, |wa| = k+1, luego, ellos deben ser
separados en grupos distintos de la nueva particin. Para que dos
estados continen perteneciendo a un mismo grupo en la nueva
particin es necesario que para todos los smbolos de entrada sus
transiciones ante cada smbolo sean a estados de un mismo grupo. El
algoritmo termina cuando [
k+1
= [
k
.
Algoritmo: Minimizacin de un AFD reuniendo sus estados
redundantes
Entrada: Un AFD N = (S,,o,S0,F)
Salida: Un AFD N' = (S',',o,S'0,F') mnimo, tal que L(N) = L(N')
1. Construir una particin inicial [0, con dos grupos de estados,
los finales y los no finales.
k = 1
2. Aplicar el siguiente procedimiento a [k-1 para obtener [k.
a) Para cada grupo G e [k-1, particionar G en subgrupos
de forma tal que dos estados S y T de G estn en un mismo
subgrupo si y solo si para todo smbolo a o(S,a) y o(T,a) son a
estados de un mismo grupo de [k-1
b) [k es la nueva particin formada por los subgrupos
obtenidos.
3. Si [k = [k-1, entonces hacer [final = [k e ir a 4, de lo
contrario hacer k = k+1 e ir a 2.
4. Construir el nuevo autmata de la siguiente forma:
a) Tomar de cada grupo de [final un estado
representante
b) Los estados de N' son los representantes de cada
grupo
Molina Palmeros Andrs.
MC: Jos ngel Toledo lvarez
INSTITUTO TECNOLGICO DE MINATITLN
10
c) Para cada estado representante S, si existe
una transicin por a de S a T en N, entonces en N' habr una
transicin por a de S a R, donde R es el representante del grupo
de T
d) El estado inicial es el representante del grupo donde
est el estado inicial de N, y los estados finales son los
representantes de los grupos que contienen estados finales del
autmata original
Ejemplo: Apliquemos el algoritmo al siguiente autmata
start
A
B
D
0
0
1
1
1
1
1
1
0
0
1
0
0
C F
G E
Primero debemos determinar los estados accesibles:
A, ABD, ABDC, ABDCE, ABDCE, por tanto, F y G son inaccesibles
Minimizacin
[0: G1 = { A,B,D } G2 = { C,E }
A,B,D son 0-indistinguibles
C,E son 0-indistinguibles
o 0 1
A G1 G1
G1 B G1 G2
D G1 G2
G2 C G1 G2
E G1 G2
En G1, B y D son 1-indistinguibles, mientras que A se distingue
de ambos. Luego, es necesario separar A de B y D en la prxima
particin.
En G2, C y E son 1-indistinguibles, por lo que no podrn
separarse en el prximo paso.
Molina Palmeros Andrs.
MC: Jos ngel Toledo lvarez
INSTITUTO TECNOLGICO DE MINATITLN
11
[1: G1 = { A } G2 = { B,D } G3 = { C,E }
[2: G1 = { A } G2 = { B,D } G3 = { C,E }
[2 = [1 = [final
El autmata resultante es:
EQUIVALENCIA ENTRE AUTMATAS Y
GRAMTICAS.
El esquema Generador de Lenguajes (Gramticas) fue
desarrollado por el cientfico Noam Chomsky (1956) y el esquema
generador de Lenguajes fue desarrollado por el cientfico A. M. Turing
(1936), existiendo una estrecha relacin entre ambos resultados, es
decir una completa relacin entre la clasificacin de gramticas hecha
por Chomsky y la Clasificacin de Autmatas hecha por Turing. La
relacin es la siguiente.
Gramticas Lineales a la
Derecha
Autmatas Finitos
Gramticas de Libre Contexto Autmatas de Pila
Gramticas Dependientes del
Contexto
Autmatas de Frontera
Lineal
Gramticas sin Restricciones Mquinas de Turing
start
A
B
0
1
C
0,1
0