Você está na página 1de 11

Pagina nueva 1

Principal

Objetivos
Importancia del Proyecto

MQUINAS DE ESTADOS: AUTMATAS FINITOS NO DETERMINISTAS


(AFND)

Productos a Construir

Autmatas
Finitos No Deterministas (AFND)
Resultados Esperados
Publicaciones
Integrantes
Bibliografa

Definicin:

Un
Autmata finito determinista queda definido por un
quntupla, al igual que en los AFD, y que
su diferencia
fundamental se
encuentra, en como se definir a la funcin de
transicin:

Herramientas >

AFND = (
, Q, q0,
F, f )

Contctenos

donde:
Agradecimientos

q0

Alfabeto
de smbolos de entrada.

Conjunto
finito de estados

qo Q estado inicial previsto

F Q - es el conjunto de estado
finales de

Funcin
de transicin de estados definida como

aceptacin.

f: Q x ( U { } ) P (Q)

En
donde P (Q), es el conjunto que se puede armar
con todos los
subconjuntos de Q
Este
tipo de autmatas se diferencia de los AFD,
bsicamente en como puede
constituirse la
funcin de transicin:. Esta
diferencias son las siguientes:

1)

Para cada par


estado entrada, el autmata puede tener la
posibilidad de
transitar a mas de un
estado posible.

2)

Para
algn par de estado entrada, el autmata puede no
tener
definido ninguna transicin. Lo que significa que
podr realizar
transicin alguna.

3)

Puede realizar
transiciones de un estado a otro sin leer smbolo
alguno de
la entrada. A este tipo particular de transiciones se
las denomina
transiciones- .

Ejemplo:
Una
AFND puede definirse como sigue:

http://www.profesores.frc.utn.edu.ar/sistemas/ssl/Marciszack/GHD/T-M-AFND.htm[28/01/2016 11:19:13 a.m.]

Pagina nueva 1

AFND1 = ( { 1 , 0 },
{ p, q , r, s , t }, p,
{
r, t }, f )
, donde:
la funcin f puede
definirse:
En
forma
explicita:

f (p,0)
= r

f (q,1) = {s,r}

f (s,1)
= t

f (p,1) =
{t,s}

f (r,0) = p

f
(t, ) = s

f (p, ) = t

f (s,0) =
{p,r}

f (t,1) = s

Tabla de doble entrada:

Al igual que en los AFD


tendremos:

En
las filas los estados
si
el estado es final lo
anteceder un *
si
el estado es inicial lo marcaremos con una
En
las columnas se pondrn los smbolos del alfabeto
de entrada y se aadir una
columna
adicional para
En
la interseccin (celdas de la matriz) se
indicarn las transiciones

{t,s}

{p,r}

{s,r}

En la tabla f de la
funcin de
transicin, se encuentran presentes las tres situaciones que
se
admiten en los
AFND a diferencia de los AFD.

La situacin
identificada como de no
determinismo propiamente dicho, en donde para un
estado determinado y
ante una
misma entrada, el autmata tiene la posibilidad de transitar
a uno o
mas
estado. Esta situacin se presenta en tres oportunidades:

f (p,1) = {t,s}

f (q,1) = {s,r}

f (s,0) = {p,r}

http://www.profesores.frc.utn.edu.ar/sistemas/ssl/Marciszack/GHD/T-M-AFND.htm[28/01/2016 11:19:13 a.m.]

Pagina nueva 1

y en representacin
grfica de f
(p,1) = {t,s}
sera:

La
segunda situacin cuando que es no tiene definida
transicin a estado alguno se
presenta
en las siguientes situaciones:

f (q,0) =

f ( r,1) =

f ( t,0) =

Y la tercer
situacin es cuando tiene la posibilidad de transitar de
estado, an sin leer
ningn
smbolo de la entrada, esta
situacin se evidencia en las siguientes
situaciones:

f (p, )
= t

f (t, )
= s

Grficamente se
evidencia f (p, ) = q
de la siguiente
manera:

Diagrama de
transiciones:

Cada
Nodo es un estado
El
estado inicial tendr un arco entrante no identificado
Los
estados finales tendrn doble crculo.
Existir
un arco con sentido, etiquetado con un smbolo a entre dos
nodos p y q si

existe una transicin F(p,a) = q.

http://www.profesores.frc.utn.edu.ar/sistemas/ssl/Marciszack/GHD/T-M-AFND.htm[28/01/2016 11:19:13 a.m.]

Pagina nueva 1

Conceptos asociados a los AFND


A
continuacin presentaremos un
conjunto de definiciones, que resultan necesarias, para el
tratamiento
de este
tipo de Autmatas:

Relaciones
de Transiciones-
(Conjunto T).

Cierre
transitivo de la relacin T
; (Conjunto T*).

Extensin
a palabras.

Lenguaje
Aceptado por un AFND

Equivalencias
entre AFD y AFND

Relaciones de
Transiciones-
(Conjunto T).

Es
la relacin que se establece entre los pares de estados en
que existe una
transicin-.

Esta relacin
tambin es reflexiva,
lo que significa tambin existir una
transicin entre los
estados
contra ellos mismos, de esta manera se verifica que para todo estado
perteneciente al
conjunto de estados existe f (q, ) = q.

Con las definiciones anteriores, se


proceder a la
construccin de un
conjunto, denominado
conjunto T ,
que contendr a todos
los pares de estados, que tengan
transiciones- entre ellos.

En el ejemplo del AFND1 el conjunto T


resultar:

T = {(p,t)
, (t,s) , (p,p) , (q,q)
, (r,r) , (s,s) , (t,t)
}

Cierre
transitivo de la relacin T
(Conjunto
T*)
Este nuevo conjunto
ser calculado
aplicando la propiedad transitiva de las relacin T ,
ya que se
verifica que:
si
p T q y q T r entonces resulta que p T r.
En nuestro ejemplo se verifica
que
aparare un nuevo
par de estado (p,s) ya
que al aplicar la
relacin transitiva p T t
y t T s entonces p T
s, esta es la nica regla de transitividad que se puede

aplicar, de esta manera


el nuevo conjunto T* nos quedar.

http://www.profesores.frc.utn.edu.ar/sistemas/ssl/Marciszack/GHD/T-M-AFND.htm[28/01/2016 11:19:13 a.m.]

Pagina nueva 1

T
* = {(p,t) , (p,s) , (p,p) , (q,q)
, (r,r) , (s,s) , (t,t),
(t,s) }

Extensin a
palabras
Ahora veremos como
ser el
comportamiento del AFND cuando la entrada deja de ser un
smbolo
individual y
pasa a ser una cadena de caracteres, formados con smbolos
del alfabeto.
Definiremos entonces una
funcin f
:

f :
Q x *
P (Q)
en la que su comportamiento es el
siguiente:

Como los AFND pueden producir


transiciones entre estados
sin leer ningn
smbolo desde el
exterior, para cada uno de los estados en
donde se encuentra
el autmata hay que considerar estas

transiciones-.

Por lo tanto estas transiciones


se
pueden presentar antes de leer el primer smbolo, entre
cada
uno de los
smbolos procesador en la entrada y tambin se lo
debe hacer sobre el final
cuando
se ha finalizado de procesar toda la cadena de entrada.

Estas transiciones
* a las que
hacemos referencias son las que aparecen en el conjunto T*
del cierre
transitivo de las relaciones T (transiciones-)
En nuestro ejemplo del AFND1 :

vamos
a calcular las transiciones que se producirn, tras recibir
en la cinta de
entrada la cadena 101,
entonces:

Lo
primero que debemos realizar previo a
la entrada del primer smbolo, es aplicar si existieren las

relaciones de
transiciones-, y entonces como primer paso se debe aplicar:

f ( p ,
) =

Y entonces lo que
hacemos es buscar
si existen relacin de
transiciones dentro
del conjunto
T* = {(p,t) , (p,s) , (p,p) , (q,q)
, (r,r) , (s,s) , (t,t),
(t,s) }

y lo que se obtiene
es lo siguiente:
f ( p ,
) = {t,s,p}

Entonces
significa, que el autmata podr estar en
cualquiera de los estados t ,
s , p antes de
recibir la primer entrada, por lo tanto
se deber ver cual sern las transiciones
(aplicacin de la
funcin de
transicin f) con la entrada para cada uno de los estados
respectivos.

Ahora
entonces aplicamos la funcin f
, para el primer
smbolo de la entrada.

http://www.profesores.frc.utn.edu.ar/sistemas/ssl/Marciszack/GHD/T-M-AFND.htm[28/01/2016 11:19:13 a.m.]

Pagina nueva 1

Entonces
lo hecho hasta ahora es :
f ( p , .1 ) = { s , t }

Ahora
nuevamente debemos aplicar el conjunto T* para determinar, si desde los
estados s ,
t
es posible que el
autmata transite
sin leer nada de la entrada. Al aplicar nuevamente el conjunto T* y
nos
quedar:

Hasta el momento tendremos


: f ( p , .1. ) = { s , t }

Veremos ahora a que estados


podr
transitar ante la lectura de la prxima entrada:

Y hasta el momento tendremos


: f ( p
, .1..0 ) = { p, r, s }
Nuevamente aplicaremos el
conjunto
T* y tenemos:

Y hasta el momento tendremos


: f ( p
, .1..0. ) = { p, r, s, t }

Nuevamente tomaremos al
prximo
smbolo de entrada 1
que ser el ltimo que tenemos que
procesar, y
por lo tanto aplicamos la
funcin f.

Vemos que f
( r , 1 ) = , no
tiene definida transicin alguna, por lo
tanto la descartaremos y nos
quedar.
Y hasta el momento tendremos
: f ( p
, .1..0..1 ) = { s, t
}
Ahora nos falta aplicar sobre
el
final de la cadena de entrada, si existe transicin
sobre los
estados
( s, t
) , para ello aplicamos por ltima vez T*

http://www.profesores.frc.utn.edu.ar/sistemas/ssl/Marciszack/GHD/T-M-AFND.htm[28/01/2016 11:19:13 a.m.]

Pagina nueva 1

Y finalmente tendremos
: f
( p , .1..0..1. ) = { s,
t };

Esto significa que partiendo


del
estado inicial p y recibiendo la cadena de entrada 101,
y al

seguir todos las combinaciones posibles de transiciones de estados


(todos los
caminos que se
pueden presentar), el autmata solo
podr quedar posicionado en
el conjunto de estados {s ,
t} que
esta formado
por los estados
s o t ,y
como el estado t pertenece al conjunto de estado
finales de
aceptacin,
se dice que la cadena es aceptada por el AFND
Lenguaje
Aceptado por un AFND

Ser
el conjunto de palabras que le hacen transitar desde el estado inicial
a algn
estado de
finalizacin utilizando la funcin f
.
L AFND =
{ x / x
*
y f (q0 , x) F }

Significa
que el lenguaje aceptado por un AFND estar constituido por
todas las cadenas

formadas con smbolos del alfabeto de entrada, que partiendo


desde el estado
inicial, el autmata
quedar posicionado en un estados
que pertenezca al conjunto de estados finales de aceptacin.
Equivalencias
entre AF Determinista
y No determinista

La
equivalencia entre autmatas AFD y AFND, siempre es posible,
y esto significa
que siempre
se podr dado uno de ellos obtener su
equivalente. Por lo tanto, se
podr asegurar que ambos, AFD
y AFND reconocern
el mismo lenguaje.

Conversin
de AFD a AFND :
Es fcil ver que los
AFD son una
particularizacin de los AFND, ya que: por un lado no
existirn
transiciones- y por otro lado, las transiciones siempre
producirn un estado determinado. As
tendremos
que:
No existirn
transiciones- por lo tanto:
f (q, ) = .
| f (p,a)|
= 1 ; Siempre se
transita a un solo estado

Conversin de AFND a AFD:


Vamos a construir un AFD
partiendo
de un AFND, donde:
AFND = (
, Q, q0, F, f )
AFD
= ( , Q,
q0, F , f )
donde para la conversin
se tendr en
cuenta:

Q = P(Q)

q0
= f (q0, )
; El
nuevo estado inicial, se obtiene en forma directa de T*.

F = {
c / c
Q Si existe q c y
q
F } Un
estado perteneciente al nuevo
conjunto de estados ser de
finalizacin o
aceptacin, solo si esta constituido por
estados que eran de
aceptacin en el
autmata en el AFND de origen.

f(c,a)
= { c / c
Q
= q c f
(q,a)

http://www.profesores.frc.utn.edu.ar/sistemas/ssl/Marciszack/GHD/T-M-AFND.htm[28/01/2016 11:19:13 a.m.]

Pagina nueva 1

Lo que se
har primero es calcular q0 y luego se irn
calculando los dems estados Q

obtenidos a partir de P(Q)


a
medida que van presentando en el proceso de conversin.
Ejemplo:

Dado:
AFND1 = ( { 0 , 1 },
{ p, q , r, s , t }, p,
{
r }, f )
, donde:

Obtendremos
ahora el AFD equivalente.

T = {(p,t)
, (t,s) , (p,p) , (q,q)
, (r,r) , (s,s) , (t,t)
}

T*
= {(p,t) , (p,s)
, (p,p) , (q,q) , (r,r)
, (s,s) , (t,t), (t,s)
}
Nuevo
estado inicial c0
= f ( p,

)
; lo obtendremos de T*

c0 = {
t , s , p}

Para el
estado t

c0 :

Para el
estado s c0 :

http://www.profesores.frc.utn.edu.ar/sistemas/ssl/Marciszack/GHD/T-M-AFND.htm[28/01/2016 11:19:13 a.m.]

Pagina nueva 1

Para el
estado t c0 :

De esta manera
:

f( c0 ,
0 ) = {
(,
, )
}

Por lo
tanto: f
(c0 ,
0 ) = { t, s, p, r } =
c1

De igual
manera calcularemos a c0 pero ahora con entrada
1, pero
simplificando la representacin de
los pasos y nos queda:

http://www.profesores.frc.utn.edu.ar/sistemas/ssl/Marciszack/GHD/T-M-AFND.htm[28/01/2016 11:19:13 a.m.]

Pagina nueva 1

Ahora
debemos para cada uno de los estados que vaya apareciendo, como se va
comportando
ante
ambas entradas. Tomamos ahora el estado c1 = {
t,s,p,r
}

Ahora
tomamos c2 = { t, s}, y
vemos como se comportar la funcin de
transicin f ante nuevas
entradas 0 y
1, respectivamente.

Vemos
ahora que no se ha creado ningn nuevo estado, por lo tanto
hemos terminado el

proceso de construccin de la funcin f


y de el conjunto Q .

Nuevo estado
Q

P(Q)

{ t,s,p
}

http://www.profesores.frc.utn.edu.ar/sistemas/ssl/Marciszack/GHD/T-M-AFND.htm[28/01/2016 11:19:13 a.m.]

Pagina nueva 1

c1

{ t, s, p, r}

c2

{ s , t }

Ahora
estamos en condicin de formalizar el AFD equivalente al AFND1
AFD = ( { 0 , 1 },
{ c0 ,
c1, c2
}, c0 , { c1
}, f ) , donde:
Los estados finales de aceptacin en el
ADND,
es el conjunto F = { r
}, por lo tanto F
estar
conformada por todos los nuevos estados que incluyan a dicho estado. Entonces el estado c1 ser

estado de aceptacin del nuevo autmata.

Donde la funcin de transicin ser:

Y el grafo del AFD quedar :

GHD Copyright 2006-2007.


Todos los derechos reservados.

http://www.profesores.frc.utn.edu.ar/sistemas/ssl/Marciszack/GHD/T-M-AFND.htm[28/01/2016 11:19:13 a.m.]

Você também pode gostar