Está en la página 1de 23

INTEGRANTES:

1. GARCÍA HORNA, FRANCISCO ALEJANDRO


2. GUEVARA SEGURA, JAIR ERINSON
3. PONCE GRAOS, JHERRY ALEXIS
4. RUBIO CABANILLAS, RICARDO MARTÍN
5. ZAVALETA ROJAS, MIGUEL ENRIQUE JUNIOR
CONVERSION AFN
A AFD
INTRODUCCIÓN

Al final de la década del 50, surge el concepto de autómata


finito no determinista en manos de los Informáticos teóricos: Michael O.
Rabin y Dana Scott.

Con el desarrollo de Unix en la década del 70, se utiliza en


expresiones regulares y funciones de búsqueda y reemplazo de texto.
Autómata Finito no Determinista
◦Sea
  un autómata finito definido por la 5-tupla donde es el conjunto de estados, el alfabeto de símbolos
terminales, la relación de transiciones , son los estados finales o de llegada dentro de , es el estado inicial
o de partida.
En un AFND puede darse cualquiera de estos dos casos:
◦ Que existan transiciones del tipo δ (q,a)=q1 y δ(q,a)=q2, siendo q1 ≠ q2;
◦ Que existan transiciones del tipo δ(q, ε), siendo q un estado no-final, o bien un estado final pero con
transiciones hacia otros estados.
Cuando se cumple el segundo caso, se dice que el autómata es un autómata finito no determinista con
transiciones vacías o transiciones (abreviado AFND-ε). Estas transiciones permiten al autómata cambiar
de estado sin procesar ningún símbolo de entrada.
◦En  este ejemplo, y . Por lo tanto, se trata de un autómata finito no determinista, que reconoce la expresión
regular
Convertir un AFN a AFD
 Tenemos el siguiente autómata finito no determinista , que reconoce la expresión
regular
Donde
Q a b
q0 q0, q1 q0

◦ se puede apreciar en la tabla q1 - q2


q2 - q3
q3 - -
a

a b b
q0 q1 q2 q3

b
◦ Como primer paso construimos una tabla igual a delta para cada transición

a b b
q0 q1 q2 q3

 Para hacer la conversión empezamos en el estado inicial que es , de acá partimos :


◦ con a, va a y
Q a b
◦ con b, va a
q0 q0, q1 q0
Y esto apuntamos en la tabla.
 de conocemos a donde se dirige pero de no conocemos entonces lo evaluamos:
◦ con a, va a y ; con a no se dirige a ninguna parte
◦ con b, va a; con b va a
Y esto apuntamos en la tabla.

a
Q a b
a b b q0 q0, q1 q0
q0 q1 q2 q3
q0, q1 q0, q1 q0, q2

b
 de conocemos a donde se dirige pero de no conocemos, entonces lo evaluamos:
◦ con a, va a y ; con a no se dirige a ninguna parte
◦ con b, va a; con b va
Y esto apuntamos en la tabla.

a b b Q a b
q0 q1 q2 q3 q0 q0, q1 q0
q0, q1 q0, q1 q0, q2
q0, q2 q0, q1 q0, q3
b
 de conocemos a donde se dirige pero de no conocemos, entonces lo evaluamos:
◦ con a, va a y ; con a no se dirige a ninguna parte
◦ con b, va a ; con b no se dirige a ninguna parte
Y esto apuntamos en la tabla.

a
Q a b
a b b q0 q0, q1 q0
q0 q1 q2 q3
q0, q1 q0, q1 q0, q2
q0, q2 q0, q1 q0, q3
b q0, q3 q0, q1 q0
Y como ya tenemos la tabla completa, procedemos a dibujar el nuevo diagrama que es la conversión de
AFN a AFD, y para saber el estado final del nuevo diagrama AFD es muy sencillo solo se busca el estado
de aceptación del diagrama de AFN, como en este ejemplo el estado de aceptación del AFN fue q3 entonces
buscamos el nuevo estado que contenga a q3 como es el caso del estado q0,q3

b a

a b b
q0, q3 Q a b
q0 q0, q1 q0, q2
q0 q0, q1 q0
a q0, q1 q0, q1 q0, q2
q0, q2 q0, q1 q0, q3
b
q0, q3 q0, q1 q0

a
◦Y  por ultimo tenemos que el nuevo autómata finito determinista es :
Donde

◦ se puede apreciar en la tabla

b a Q a b
q0 q0, q1 q0
a b b
q0, q1 q0, q1 q0, q2
q0 q0, q1 q0, q2 q0, q3
q0, q2 q0, q1 q0, q3
a q0, q3 q0, q1 q0

a
 Sin embargo si el AFND tiene estados, el AFD resultante podría tener hasta estados, exponencialmente
más. Eso resulta que a veces construir un AFD de un AFND grande no es practicable.
TRANSFORMACIÓN DE AFND
CON TRANSICIONES VACÍAS
A AFD
AFND-V
Son autómatas que pueden realizar una transición sin consumir entrada.
Estas transiciones se etiquetan con ε en el diagrama asociado.
Las transiciones nulas dan una nueva capacidad al autómata. Si se tiene
una transición nula, el autómata puede quedarse donde está o cambiar
de estado sin consumir ningún símbolo de la palabra de entrada. Como
en los AFND, una palabra será aceptada si se llega a un estado final
con alguna de las elecciones posibles
AFND-V
Un autómata Finito no determinista con transiciones nulas es una quíntupla.

M = (Q;A; λ;q0;F) en la que:

Q= es un conjunto nito llamado conjunto de estados.


A = es un alfabeto llamado alfabeto de entrada.
‫ =ﻉ‬es una aplicación llamada función de transición.
 = es un elemento de Q, llamado estado inicial.
F = es un subconjunto de Q, llamado conjunto de estados finales.

Para todo AFND-ε existe un AFND equivalente y para todo AFND existe un AFD equivalente.
AFND-V
Un autómata finito con ‫ ﻉ‬- transiciones (AFND-V) es un AFND al que se le permite
cambiar de estado sin necesidad de consumir un símbolo de entrada. La tabla de
transición de un AFND-V es como la de un AFND excepto que se le añade una
columna correspondiente a ‫ﻉ‬
AFND-V

AFND-V, puede ser transformado a AFND utilizando un algoritmo basado en la “clausura-xi” que
agrupa los estados sin transiciones significativas, dejando solo aquellas que reconocen símbolos del
alfabeto del autómata, iterando cada vez así eliminar el indeterminismo por cadenas vacías.
TRANSFORMACIÓN DEL AFND-V

Las clausuras-xi de cada uno de sus estados


serían:

•clausura-ε(Q0)={Q0,Q1,Q2,F1,Q3}.
•clausura-ε(Q1)={Q1,Q2,F1}.
•clausura-ε(Q2)={Q2,F1}.
•clausura-ε(F1)={F1}.
•clausura-ε(Q3)={Q3}.
•clausura-ε(Q4)={Q4,F2}.
•clausura-ε(F2)={F2}.
TRANSFORMACIÓN DEL AFND-V

1. Ahora se obtiene el estado inicial


Q0*=clausura -ε(Q0)={Q0,Q1,Q2,F1,Q3}.

Q0* solo tiene transiciones con el terminal a


partiendo originalmente de Q3 hacia Q4,
pero Q4*=clausura-ε(Q4))={Q4,F2}.

2. Desde Q4* se puede tomar la transición no


vacía <Q4,b,F1>, con F1*=clausura-ε(F1))={F1}.

3.F1* no tiene transiciones.


TRANSFORMACIÓN DEL AFND-V

El nuevo autómata finito no determinista sería:

A=<{Q0*,Q4*,F1*}, {a,b}, {<Q0*,a,Q4*>,<Q4*,b,F1*>},


{Q0*,Q4*,F1*}, Q0*>
ORDEN DE COMPLEJIDAD

La complejidad algorítmica representa la cantidad de recursos (temporales)


que necesita un algoritmo para resolver un problema y por tanto permite
determinar la eficiencia de dicho algoritmo.
GRACIAS

También podría gustarte