SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
Cap¶
   ³tulo 3
Teor¶ de aut¶matas y
    ³a       o
lenguajes regulares.

Los lenguajes regulares son de¯nidos mediante expresiones regulares y son
aceptados por un tipo especial de m¶quina de estados ¯nitos llamada aut¶ma-
                                   a                                   o
ta.
Un aut¶mata puede verse c¶mo una caja negra que reciben una entrada y
       o                   o
produce una salida. El autom¶ta se dice que es ¯nito ya que realiza un
                               a
n¶ mero ¯nito de instrucciones y determina la salida, en ese momento el
 u
aut¶mata termina su ejecuci¶n.
   o                       o
Existen dos tipos de a¶ tomatas ¯nitos: deterministas y no deterministas.
                       u
La diferencia r¶dica en que el determinista, dada la entrada, en cada paso
               a
s¶lo tiene una opci¶n para continuar, mientras que el no determinista puede
 o                 o
tener varias opciones. Para que la diferencia sea clara veamos los siguiente
ejemplos:
Ejemplo 1 Determinista: Mar¶a le dice a Beto que va a tirar un volado: si
                                 ³
cae sol, entonces ella gana y si cae aguila ella pierde.
Ejemplo 2 No Determinista: Ahora Mar¶a le propone a Beto que si cae sol
                                         ³
ella gana y si cae aguila entonces hay dos opciones, que ella acepte que ha
perdido o tira un nuevo volado con las mismas reglas.

En este cap¶³tulo estudiaremos primero los autom¶tas ¯nitos deterministas,
                                                a
despu¶s los no deterministas y ¯nalmente veremos la relaci¶n entre los au-
      e                                                   o
tom¶tas ¯nitos y las expresiones regulares.
    a
 Teor¶ de la Computaci¶n
     ³a               o                                 Maricela Quintana
                                    23
 ITESM-CEM Dept. C.C.                                       Jes¶s S¶nchez
                                                               u a
¶
3.1. AUTOMATAS FINITOS DETERMINISTAS.

3.1     Aut¶matas ¯nitos deterministas.
           o
Un aut¶mata ¯nito determinista AFD, es una m¶quina abstracta que dada
       o                                         a
una entrada produce una salida. Esta m¶quina tiene un n¶mero ¯nito de
                                           a                 u
estados, (m¶quina de estados ¯nitos) de forma que al ejecutarse la m¶quina
            a                                                        a
est¶ en el estado inicial y cuando termina debe estar en un estado ¯nal o en
   a
un estado inv¶lido o de error.
              a

La m¶quina va del estado inicial al ¯nal mediante una serie de estados in-
     a
termedios; el cambio de estado est¶ determinado por el estado en el que se
                                  a
encuentra la m¶quina y el s¶
               a           ³mbolo a procesar de la entrada.




               Figura~3.1: Un aut¶mata ¯nito determinista.
                                 o


Un AFD es utilizado para determinar si una cadena dada como entrada per-
tenece al lenguaje que el autom¶ta reconoce. Es claro que el funcionamiento
                               a
del aut¶mata obedece a las reglas de cambio de estado; estas reglas son es-
       o
peci¯cadas mediante una funci¶n de transici¶n ¶ diagrama de transiciones,
                               o            o o
que podemos decir de¯ne a la m¶quina de estados.
                                 a

3.1.1    Introducir el concepto de diagrama de transicio-
         nes o m¶quina de estados.
                a
Un aut¶mata ¯nito es el modelo matem¶tico de un sistema que cuenta con
      o                               a
un n¶mero in¯nito de con¯guraciones internas o estados.
    u

Un diagrama de transici¶n o una funci¶n de transici¶n especi¯ca lo que la
                       o             o             o
m¶quina debe hacer si su situaci¶n cumple con ciertas condiciones. La si-
  a                             o
tuaci¶n de un AFD, que reconoce un lenguaje, est¶ formado por el estado
     o                                           a
 Teor¶ de la Computaci¶n
     ³a               o                                 Maricela Quintana
                                    24
 ITESM-CEM Dept. C.C.                                       Jes¶s S¶nchez
                                                               u a
CAP¶                               ¶
     ³TULO 3. TEOR¶ DE AUTOMATAS Y LENGUAJES
                        ³A
REGULARES.
en que el autom¶ta est¶ y el s¶
                 a      a      ³mbolo que se est¶ analizando de la entrada.
                                                a
As¶ la funci¶n de transici¶n del AFD de la ¯gura 3.1 es:
  ³         o             o

                               E   a   b    c   d
                               0   1   ;    3   ;
                               1   ;   2    3   1
                               2   ;   2    3   ;
                               3   ;   ;    ;   ;

La lectura de las reglas del diagrama de transici¶n es como sigue:
                                                 o

   ² Si estas en el estado cero y el s¶
                                      ³mbolo a procesar es a,entonces ve al
     estado uno.

   ² Si estas en el estado uno y el s¶
                                     ³mbolo a procesar es c, entonces ve al
     estado tres.


Otra forma de representar el comportamiento del AFD es mediante un dia-
grama de transici¶n, ¶ste es un grafo donde los nodos representan estados, y
                  o e
las °echas transiciones entre estados ocasionadas por la lectura del caracter
etiquetado en el arco.

Al observar el diagrama de transici¶n podr¶
                                    o       ³amos preguntarnos >cu¶l es el es-
                                                                    a
tado inicial? o >cu¶les son los estados ¯nales? En el rengl¶n correspondiente
                   a                                       o
                        ³mbolo a, >qu¶ signi¯ca ;? Para dar respuesta a estas
al estado dos, bajo el s¶             e
preguntas, no basta con tener la funci¶n de transici¶n, necesitamos los dem¶s
                                       o            o                       a
componentes del AFD.


3.1.2    Especi¯car cu¶les son los elementos que confor-
                       a
         man a una m¶quina de estados.
                      a
Un aut¶mata ¯nito determinista (AFD) M es una tupla M = (S; §; ±; S0 ; F )
      o
donde

   ² S es el conjunto ¯nito de estados.

   ² § es un alfabeto.
 Teor¶ de la Computaci¶n
     ³a               o                                  Maricela Quintana
                                       25
 ITESM-CEM Dept. C.C.                                        Jes¶s S¶nchez
                                                                u a
¶
3.1. AUTOMATAS FINITOS DETERMINISTAS.

    ² ± es una funci¶n de transici¶n:
                    o             o

                                    ± : S£§!S                               (3.1)
                                    b
                                    ± : S £ §¤ ! S                          (3.2)

    ² S0 es el estado inicial.

    ² F µ S es el conjunto de estados ¯nales.


La forma de denotar el estado inicial en un diagrama de transici¶n es me-
                                                                o
diante una punta de °echa. Los estados ¯nales se especi¯can colocando un
circulo interno en el nodo (ver ¯gura 3.1).

Un AFD lee la entrada de izquierda a derecha; un s¶  ³mbolo a la vez. Una vez
que el s¶³mbolo ha sido procesado ya no tiene ning¶n efecto en el resto del
                                                     u
proceso. En cualquier paso de la ejecuci¶n, el resultado depende unicamente
                                          o                       ¶
del estado actual y la cadena a procesar. A esta combinaci¶n estado-cadena"
                                                          o
se le llama descripci¶n instant¶nea.
                      o         a

Una descripci¶n instant¶nea de un aut¶mata es un par (s; x) donde s repre-
               o        a              o
senta el estado donde se encuentra el aut¶mata en un momento dado, y x es
                                         o
una cadena conteniendo los caracteres de entrada a¶ n no le¶
                                                  u        ³dos. Si x = ay y
±(Si ; a) = Sj tenemos que:

                                 (Si ; ay) `M (Sj ; y)                      (3.3)
                                                                            ¤
    ³mbolo `M signi¯ca en un paso del autom¶ta. De manera similar `M y
El s¶                                      a
+
`M signi¯can en cero o m¶s pasos y en uno o m¶s pasos respectivamente.
                        a                    a
                                                                       ¤
Un AFD reconoce a la cadena w como parte del lenguje si: (S0 ; w) `M (Si ; ¸)
y (Si 2 F )
                                   P
Ejemplo 3 Las cadenas sobre = fa; bg que tienen a la subcadena bb o no
tienen a la subcadena aa son aceptadas por el DFA M de la ¯gura 3.2.
                                        P
    M = fS = fS0 ,S1 ,S2 ,S3 ,S4 ,S5 g,   = fa; bg, ±, S0 , F = fS0 ,S1 ,S4 ,S5 gg


    a) funci¶n de transici¶n
            o             o
 Teor¶ de la Computaci¶n
     ³a               o                                     Maricela Quintana
                                          26
 ITESM-CEM Dept. C.C.                                           Jes¶s S¶nchez
                                                                   u a
CAP¶                    ¶
   ³TULO 3. TEOR¶ DE AUTOMATAS Y LENGUAJES
                ³A
REGULARES.




Figura~3.2: Un aut¶mata que acepta strings conteniendo bb o no conteniendo
                  o
aa.

                                    E   a    b
                                    0   1    4
                                    1   2    4
                                    2   2    3
                                    3   2    5
                                    4   1    5
                                    5   5    5

   b) Descripciones de las cadenas abbab, babab, aab,aabba

   ² (S0 ; abbab) `M (S1 ; bbab) `M (S4 ; bab) `M (S5 ; ab) `M (S5 ; b) `M
     (S5 ; ¸)

   ² (S0 ; babab) `M (S4 ; abab) `M (S1 ; bab) `M (S4 ; ab) `M (S1 ; b) `M
     (S4 ; ¸)

   ² (S0 ; aab) `M (S1 ; ab) `M (S2 ; b) `M (S3 ; ¸)

   ² (S0 ; aabba) `M (S1 ; abba) `M (S2 ; bba) `M (S3 ; ba) `M (S5 ; a) `M
     (S5 ; ¸)


3.1.3    Explicar que una m¶quina de estados (aut¶mata)
                            a                    o
         es util para generar lenguajes.
            ¶
Un aut¶mata puede ser usado para representar un lenguaje, si se considera
       o
                                        P
la entrada como una cadena de caracteres ¤ . La cadena x es aceptada por
 Teor¶ de la Computaci¶n
     ³a               o                                Maricela Quintana
                                        27
 ITESM-CEM Dept. C.C.                                      Jes¶s S¶nchez
                                                              u a
¶
3.1. AUTOMATAS FINITOS DETERMINISTAS.

un AFD M si                     ¤
                        (S0 ; w) `M (Si ; ¸) y Si 2 F                   (3.4)
                                          P
Ejemplo 4 Queremos generar L sobre = f1; 2g de todas las palabras que
contienen s¶lo un uno (al inicio) y por lo menos un dos al ¯nal. Es decir que
           o
12, 1222, 12222 son palabras que pertenecen al lenguaje. De manera similar,
el aut¶mata de la ¯gura 3.3 reconoce a L = abb¤ .
      o




                Figura~3.3: Un aut¶mata que reconoce abb¤
                                  o



3.1.4    De¯nir los t¶rminos: lenguaje generado por un
                     e
         aut¶mata y equivalencia entre aut¶matas.
            o                             o
El lenguaje de un AFD M, denotado L(M) es el conjunto de cadenas sobre
P¤
    aceptadas por M. L siempre es regular.
                                      ¤
                 L(M ) = fwj(S0 ; w) `M (Si ; ¸) y Si 2 F g             (3.5)




Ejemplo 5 El lenguaje generado por el AFD de la ¯gura 3.4 es L(M ) = ab+


Dos aut¶matas M1 y M2 son equivalentes si aceptan el mismo lenguaje, esto
       o
es, L(M1 ) = L(M2 ).


Ejemplo 6 Los autom¶tas de las ¯guras 3.3 y 3.4 reconocen los lenguajes
                       a
L1 = abb y L2 = ab , dado que abb¤ = ab+ los aut¶matas reconocen el
         ¤            +
                                                   o
mismo lenguaje y por lo tanto son equivalentes.

 Teor¶ de la Computaci¶n
     ³a               o                                 Maricela Quintana
                                     28
 ITESM-CEM Dept. C.C.                                       Jes¶s S¶nchez
                                                               u a
CAP¶                    ¶
   ³TULO 3. TEOR¶ DE AUTOMATAS Y LENGUAJES
                ³A
REGULARES.




                    Figura~3.4: Aut¶mata que reconoce ab+
                                   o

3.1.5     Establecer las caracter¶
                                 ³sticas particulares de un
          aut¶mata determinista.
             o
Un aut¶mata determinista produce como salida dos posibles respuestas: ca-
       o
dena aceptada o rechazada. Un AFD por de¯nici¶n debe procesar toda la
                                               o
entrada.
Ejemplo 7 Al procesar la entrada w=ababb en el AFD de la ¯gura 3.3 ocurra
lo siguiente
    (S0 ; ababb) `M (S1 ; babb) `M (S2 ; abb) `M (;; abb)
    En ese momento sabemos perfectamente que la salida sera: rechazada.

El tipo de determinismo de los aut¶matas mostrados es llamado determi-
                                    o
nismo incompleto. En ¶stos cada con¯guraci¶n tiene a lo m¶s una acci¶n
                        e                     o              a          o
especi¯cada. Las transiciones de la m¶quina est¶n de¯nidas por una funci¶n
                                     a          a                       o
               P
parcial ± : S £ ! S. En el momento en que es posible determinar que una
cadena es rechazada, el proceso termina. Si el procesamiento termina antes
de haber analizado toda la cadena de entrada, la cadena es rechazada.

Una especi¯caci¶n incompleta de un DFA es transformada f¶cilmente a un
                o                                              a
DFA equivalente a~ adiendo un estado de error. En este estado se entra cada
                  n
vez que la m¶quina llega a una con¯guraci¶n para la cual no se ha especi¯cado
             a                           o
alguna acci¶n. En este punto, la m¶quina lee el resto de la cadena y termina.
            o                      a
Ejemplo 8 Para convertir el DFA de la ¯gura 3.3 especi¯cado incompleta-
mente, debemos agregar el estado S3 y las transiciones siguientes:
    ±(S0 ; b) = S3 , ±(S1 ; a) = S3 , ±(S2 ; a) = S3 , ±(S3 ; a) = S3 , ±(S3 ; b) = S3
    El estado S3 ser¶ el estado de error. As¶ el procesamiento de la entrada
                       a                           ³
ababb es:
    (S0 ; ababb) `M (S1 ; babb) `M (S2 ; abb) `M (S3 ; abb) `M (S3 ; bb) `M
(S3 ; b) `M (S3 ; ¸)

 Teor¶ de la Computaci¶n
     ³a               o                                        Maricela Quintana
                                         29
 ITESM-CEM Dept. C.C.                                              Jes¶s S¶nchez
                                                                      u a
¶
3.2. AUTOMATAS NO-DETERMINISTAS.

3.2     Aut¶matas no-deterministas.
           o
Los aut¶matas que se analizaron en la secci¶n anterior responden de manera
       o                                    o
                            ¶
determinista a una entrada. Esto signi¯ca que siempre responden de manera
unica a una entrada. Los aut¶matas no-deterministas pueden responder de
¶                            o
varias maneras a una entrada. Inclusive pueden cambiar de estado sin leer
ning¶n caracter de entrada. A ¶sto se le llama transici¶n vac¶ (o transici¶n
     u                         e                       o     ³a           o
¸) .


3.2.1    Especi¯car las caracter¶
                                ³sticas de aut¶mata no-
                                              o
         determin¶
                 ³stico
Un aut¶mata ¯nito no determinista (AFN) M es una tupla M = (S; §; ±; S0 ; F )
      o
donde


   ² S es el conjunto ¯nito de estados.

   ² § es un alfabeto.

   ² ± es una funci¶n de transici¶n:
                   o             o

                                ± : S £ (§ [ f¸g) ! S ¤                   (3.6)


   ² S0 es el estado inicial.

   ² F µ S es el conjunto de estados ¯nales.


    Note que a diferencia de los aut¶matas deterministas, la regla de transi-
                                     o
ci¶n de los AFN indica que un caracter (o ninguno) puede llevarnos de un
  o
                       ¶
estado a varios otros. Esto implica que hay varios caminos de ejecuci¶n que el
                                                                     o
aut¶mata debe seguir. Si en alguno de los caminos de ejecuci¶n el aut¶mata
    o                                                         o        o
acepta una cadena de entrada, la cadena es aceptada. Es decir:

                                        ^
                    L(M ) = fx 2 §¤ j ± (S0 ; x)  F 6= ;g                (3.7)

 Teor¶ de la Computaci¶n
     ³a               o                                      Maricela Quintana
                                       30
 ITESM-CEM Dept. C.C.                                            Jes¶s S¶nchez
                                                                    u a
CAP¶                    ¶
   ³TULO 3. TEOR¶ DE AUTOMATAS Y LENGUAJES
                ³A
REGULARES.
3.2.2     Introducir el concepto de transiciones m¶ltiples
                                                  u
          y transiciones nulas.
Un AFN permite varias transiciones posibles a partir de un mismo s¶³mbolo.
Adem¶s, puede haber transiciones nulas (o instant¶neas) no ocasionadas por
     a                                           a
s¶
 ³mbolos.

Ejemplo 9 Suponga que tenemos
                                       X
                           M = (Q;         ; ±; q0 ; fq2 ; q4 g)                 (3.8)

donde
                               ±     0          1
                               q0 fq0 ; q3 g fq0 ; q1 g
                               q1    ;        fq2 g
                               q2  fq2 g      fq2 g
                               q3  fq4 g        ;
                               q4  fq4 g      fq4 g
                    ^
   Encontremos ± (q0 ; 01001) viendo las descripciones instant¶neas de la eje-
                                                              a
cuci¶n:
    o

   (q0 ; 01001) ` (fq0 ; q3 g; 1001) ` (fq0 ; q1 g [ ;; 001) ` (fq0 ; q3 g [ ;; 01)
                ` (fq0 ; q3 g [ fq4 g; 1) ` (fq0 ; q1 g [ ; [ fq4 g; ¸)
                ^
   Por lo que ± (q0 ; 01001) = fq0 ; q1 ; q4 g: En esta corrida hubo varios cami-
nos de ejecuci¶n representados por la uni¶n de diferentes estados actuales.
              o                                 o
Note que un ; signi¯ca un camino que no puede continuar. La cadena es
aceptada por el aut¶mata pues
                   o

                        fq0 ; q1 ; q4 g  fq2 ; q4 g = fq4 g 6= ;

   Una transici¶n instant¶nea puede ser usada, aprovechando los m¶ ltiples
               o         a                                       u
caminos de ejecuci¶n, para unir funcionalidades de aut¶matas.
                  o                                   o

Ejemplo 10 En la ¯gura siguiente podemos ver el uso de las transiciones
vac¶ para obtener, en el primer caso, un aut¶mata que reconoce L(M1 ) [
   ³as                                      o
L(M2 ), y en el segundo caso L(M1 )L(M2 ):


 Teor¶ de la Computaci¶n
     ³a               o                                             Maricela Quintana
                                          31
 ITESM-CEM Dept. C.C.                                                   Jes¶s S¶nchez
                                                                           u a
¶
3.2. AUTOMATAS NO-DETERMINISTAS.




                   λ              λ
                         L(M1)
                                                      λ


                                              L(M1)       L(M2)

                   λ     L(M2)    λ




                   Figura~3.5: Uso de transiciones vac¶
                                                      ³as.

3.2.3     Describir las facilidades que proporcionan este
          tipo de aut¶matas para el dise~o de ciertos ti-
                      o                  n
          pos de lenguajes, as¶ como las di¯cultades que
                                ³
          presentan para su automatizaci¶n.
                                         o
Los AFN tienen un poder de representaci¶n mayor que los AFD, pues con
                                          o
pocos estados es posible representar un funcionamiento complejo. Sin em-
bargo el poder de expresi¶n es el mismo, pues cualquier AFN tiene un AFD
                          o
equivalente.
   Puede resultar dif¶ construir un programa que simule un AFN pues se
                     ³cil
necesita guardar un espacio de estados enorme. Es por ello que normalmente
son convertidos a su AFD equivalente.

3.2.4     Explicar c¶mo puede convertirse un aut¶mata
                    o                              o
          no-determin¶³stico a uno determin¶
                                           ³stico.
Primero hay que ver c¶mo quitar las transiciones nulas para transformar un
                     o
AFN-2 a su equivalente AFN. Primero hay que calcular
                                        [
                           b
                           ± : S £ (§    f¸g)¤ ! S                         (3.9)
utilizando la notaci¶n de cerradura-¸(q), que es el conjunto de v¶rtices p tales
                    o                                            e
que hay un camino de ¸ entre q y p.
 Teor¶ de la Computaci¶n
     ³a               o                                       Maricela Quintana
                                        32
 ITESM-CEM Dept. C.C.                                             Jes¶s S¶nchez
                                                                     u a

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Tema2
Tema2Tema2
Tema2
 
Formulación
FormulaciónFormulación
Formulación
 
Estructura selectiva
Estructura selectivaEstructura selectiva
Estructura selectiva
 
Tipos de Autómatas 
Tipos de Autómatas Tipos de Autómatas 
Tipos de Autómatas 
 
Simulaciones y procesos markovianos tesis
Simulaciones y procesos markovianos tesisSimulaciones y procesos markovianos tesis
Simulaciones y procesos markovianos tesis
 
DISEÑO DE SISTEMAS DIFUSOS Y CONTROL LÓGICO DIFUSO
DISEÑO DE SISTEMAS DIFUSOS Y CONTROL LÓGICO DIFUSODISEÑO DE SISTEMAS DIFUSOS Y CONTROL LÓGICO DIFUSO
DISEÑO DE SISTEMAS DIFUSOS Y CONTROL LÓGICO DIFUSO
 
Portafolio Unidad 4 [Lenguajes y autómatas] - Máquinas de Turing
Portafolio Unidad 4 [Lenguajes y autómatas] - Máquinas de TuringPortafolio Unidad 4 [Lenguajes y autómatas] - Máquinas de Turing
Portafolio Unidad 4 [Lenguajes y autómatas] - Máquinas de Turing
 
Transparencias5
Transparencias5Transparencias5
Transparencias5
 
Automatas de estado finito
Automatas de estado finitoAutomatas de estado finito
Automatas de estado finito
 
Autómatas finitos deterministas (afd)
Autómatas finitos deterministas (afd)Autómatas finitos deterministas (afd)
Autómatas finitos deterministas (afd)
 
Manual C/C++
Manual C/C++Manual C/C++
Manual C/C++
 
Recursividad
RecursividadRecursividad
Recursividad
 
Logica difusa grupo 2
Logica difusa grupo 2Logica difusa grupo 2
Logica difusa grupo 2
 
Implementaciones ACO AEB
Implementaciones ACO AEBImplementaciones ACO AEB
Implementaciones ACO AEB
 
Convolución y su transformada de fourier
Convolución y su transformada de fourierConvolución y su transformada de fourier
Convolución y su transformada de fourier
 
Ciclo desde para
Ciclo desde paraCiclo desde para
Ciclo desde para
 
Estructuras de control selectivas
Estructuras de control selectivasEstructuras de control selectivas
Estructuras de control selectivas
 
JavaWorld - SCJP - Capitulo 5
JavaWorld - SCJP - Capitulo 5JavaWorld - SCJP - Capitulo 5
JavaWorld - SCJP - Capitulo 5
 
Las estructuras de control
Las estructuras de controlLas estructuras de control
Las estructuras de control
 
5 condicionales
5 condicionales5 condicionales
5 condicionales
 

Destacado

Codigo ejemplo j2 me
Codigo ejemplo   j2 meCodigo ejemplo   j2 me
Codigo ejemplo j2 meOscar Eduardo
 
English Text book
English Text bookEnglish Text book
English Text bookSói Sói
 
Trayecto de actividades_diplomado
Trayecto de actividades_diplomadoTrayecto de actividades_diplomado
Trayecto de actividades_diplomadoOscar Eduardo
 
Javame sdk-datasheet-167819
Javame sdk-datasheet-167819Javame sdk-datasheet-167819
Javame sdk-datasheet-167819Oscar Eduardo
 
English tenses , grammar
English   tenses , grammarEnglish   tenses , grammar
English tenses , grammarKevin Pratama
 

Destacado (9)

Codigo ejemplo j2 me
Codigo ejemplo   j2 meCodigo ejemplo   j2 me
Codigo ejemplo j2 me
 
Programación
ProgramaciónProgramación
Programación
 
Ids icmp
Ids icmpIds icmp
Ids icmp
 
English Text book
English Text bookEnglish Text book
English Text book
 
Ccna exploration 03
Ccna exploration 03Ccna exploration 03
Ccna exploration 03
 
Trayecto de actividades_diplomado
Trayecto de actividades_diplomadoTrayecto de actividades_diplomado
Trayecto de actividades_diplomado
 
Javame sdk-datasheet-167819
Javame sdk-datasheet-167819Javame sdk-datasheet-167819
Javame sdk-datasheet-167819
 
Cod intermedio
Cod intermedioCod intermedio
Cod intermedio
 
English tenses , grammar
English   tenses , grammarEnglish   tenses , grammar
English tenses , grammar
 

Similar a Teoría de autómatas finitos deterministas y lenguajes regulares

Modelado en espacio de estados
Modelado en espacio de estadosModelado en espacio de estados
Modelado en espacio de estadosAlejandro Flores
 
Maquinas de estado
Maquinas de estadoMaquinas de estado
Maquinas de estado_05mauricio
 
Presentacion 2 - Maquinas de Estado Finito
Presentacion 2 - Maquinas de Estado FinitoPresentacion 2 - Maquinas de Estado Finito
Presentacion 2 - Maquinas de Estado Finitojunito86
 
Arduino: Maquinas de estado con Arduino
Arduino: Maquinas de estado con ArduinoArduino: Maquinas de estado con Arduino
Arduino: Maquinas de estado con ArduinoSANTIAGO PABLO ALBERTO
 
Máquinas de estado finito
Máquinas de estado finitoMáquinas de estado finito
Máquinas de estado finitoFabiola Dubraska
 
33col2301405 121126110801-phpapp02
33col2301405 121126110801-phpapp0233col2301405 121126110801-phpapp02
33col2301405 121126110801-phpapp02nayis_bonillav
 
Presentación de Simulación Digital
Presentación de Simulación DigitalPresentación de Simulación Digital
Presentación de Simulación DigitalJavierVelasquezVivar
 
Manual users algoritmos
Manual users   algoritmosManual users   algoritmos
Manual users algoritmosJeremy Luis
 
Funciones de Activación Tansig y Logsig
Funciones de Activación Tansig y Logsig Funciones de Activación Tansig y Logsig
Funciones de Activación Tansig y Logsig Raul
 
Busqueda de epacio de estado 1
Busqueda de epacio de estado 1Busqueda de epacio de estado 1
Busqueda de epacio de estado 1EdwinVega49
 
Sistemas Embebidos
Sistemas EmbebidosSistemas Embebidos
Sistemas EmbebidosJorge Garzon
 
Representecion-EspectraDAxz<x<zx<zxz<l.pptx
Representecion-EspectraDAxz<x<zx<zxz<l.pptxRepresentecion-EspectraDAxz<x<zx<zxz<l.pptx
Representecion-EspectraDAxz<x<zx<zxz<l.pptxSANTOS400018
 
Estructuras condicionales
Estructuras condicionalesEstructuras condicionales
Estructuras condicionalesSTEVENZAFIRO
 
Gramaticas Regulares
Gramaticas RegularesGramaticas Regulares
Gramaticas Regularesjohanna20
 
Introducción a la Teoría de Autómatas by Yeredith
Introducción a la Teoría de Autómatas by YeredithIntroducción a la Teoría de Autómatas by Yeredith
Introducción a la Teoría de Autómatas by Yeredithyeredith1
 

Similar a Teoría de autómatas finitos deterministas y lenguajes regulares (20)

Modelado en espacio de estados
Modelado en espacio de estadosModelado en espacio de estados
Modelado en espacio de estados
 
Conversion
ConversionConversion
Conversion
 
Red de Petri
Red de Petri Red de Petri
Red de Petri
 
Maquinas de estado
Maquinas de estadoMaquinas de estado
Maquinas de estado
 
Presentacion 2 - Maquinas de Estado Finito
Presentacion 2 - Maquinas de Estado FinitoPresentacion 2 - Maquinas de Estado Finito
Presentacion 2 - Maquinas de Estado Finito
 
Arduino: Maquinas de estado con Arduino
Arduino: Maquinas de estado con ArduinoArduino: Maquinas de estado con Arduino
Arduino: Maquinas de estado con Arduino
 
Circuito secuencial
Circuito secuencialCircuito secuencial
Circuito secuencial
 
Máquinas de estado finito
Máquinas de estado finitoMáquinas de estado finito
Máquinas de estado finito
 
33col2301405 121126110801-phpapp02
33col2301405 121126110801-phpapp0233col2301405 121126110801-phpapp02
33col2301405 121126110801-phpapp02
 
Presentación de Simulación Digital
Presentación de Simulación DigitalPresentación de Simulación Digital
Presentación de Simulación Digital
 
Ca 2013 f_01
Ca 2013 f_01Ca 2013 f_01
Ca 2013 f_01
 
Manual users algoritmos
Manual users   algoritmosManual users   algoritmos
Manual users algoritmos
 
Funciones de Activación Tansig y Logsig
Funciones de Activación Tansig y Logsig Funciones de Activación Tansig y Logsig
Funciones de Activación Tansig y Logsig
 
Busqueda de epacio de estado 1
Busqueda de epacio de estado 1Busqueda de epacio de estado 1
Busqueda de epacio de estado 1
 
Sistemas Embebidos
Sistemas EmbebidosSistemas Embebidos
Sistemas Embebidos
 
Representecion-EspectraDAxz<x<zx<zxz<l.pptx
Representecion-EspectraDAxz<x<zx<zxz<l.pptxRepresentecion-EspectraDAxz<x<zx<zxz<l.pptx
Representecion-EspectraDAxz<x<zx<zxz<l.pptx
 
Estructuras condicionales
Estructuras condicionalesEstructuras condicionales
Estructuras condicionales
 
Gramaticas Regulares
Gramaticas RegularesGramaticas Regulares
Gramaticas Regulares
 
Introducción a la Teoría de Autómatas by Yeredith
Introducción a la Teoría de Autómatas by YeredithIntroducción a la Teoría de Autómatas by Yeredith
Introducción a la Teoría de Autómatas by Yeredith
 
Padilla e
Padilla ePadilla e
Padilla e
 

Más de Oscar Eduardo

Más de Oscar Eduardo (20)

Introducción a IngSW_2022.pptx
Introducción a IngSW_2022.pptxIntroducción a IngSW_2022.pptx
Introducción a IngSW_2022.pptx
 
Inventario tic
Inventario ticInventario tic
Inventario tic
 
Modelo pruebas
Modelo pruebasModelo pruebas
Modelo pruebas
 
Framework Android
Framework AndroidFramework Android
Framework Android
 
Comunicación
ComunicaciónComunicación
Comunicación
 
Modelos de Mediación
Modelos de MediaciónModelos de Mediación
Modelos de Mediación
 
Lenguajes regulares
Lenguajes regularesLenguajes regulares
Lenguajes regulares
 
User stories
User storiesUser stories
User stories
 
App upb móvil 20141
App upb móvil 20141App upb móvil 20141
App upb móvil 20141
 
Subir una aplicación a google play
Subir una aplicación a google playSubir una aplicación a google play
Subir una aplicación a google play
 
Analisis sintáctico
Analisis sintácticoAnalisis sintáctico
Analisis sintáctico
 
Iswiii
IswiiiIswiii
Iswiii
 
Presentacion rup
Presentacion rupPresentacion rup
Presentacion rup
 
Arquitectura sistema
Arquitectura sistemaArquitectura sistema
Arquitectura sistema
 
Doctic modelopropuestadeintervencin
Doctic modelopropuestadeintervencinDoctic modelopropuestadeintervencin
Doctic modelopropuestadeintervencin
 
Isw
IswIsw
Isw
 
Iswii
IswiiIswii
Iswii
 
Generalidades sobre windows phone 7.5
Generalidades sobre windows phone 7.5Generalidades sobre windows phone 7.5
Generalidades sobre windows phone 7.5
 
Notacion uml
Notacion umlNotacion uml
Notacion uml
 
Iswii
IswiiIswii
Iswii
 

Teoría de autómatas finitos deterministas y lenguajes regulares

  • 1. Cap¶ ³tulo 3 Teor¶ de aut¶matas y ³a o lenguajes regulares. Los lenguajes regulares son de¯nidos mediante expresiones regulares y son aceptados por un tipo especial de m¶quina de estados ¯nitos llamada aut¶ma- a o ta. Un aut¶mata puede verse c¶mo una caja negra que reciben una entrada y o o produce una salida. El autom¶ta se dice que es ¯nito ya que realiza un a n¶ mero ¯nito de instrucciones y determina la salida, en ese momento el u aut¶mata termina su ejecuci¶n. o o Existen dos tipos de a¶ tomatas ¯nitos: deterministas y no deterministas. u La diferencia r¶dica en que el determinista, dada la entrada, en cada paso a s¶lo tiene una opci¶n para continuar, mientras que el no determinista puede o o tener varias opciones. Para que la diferencia sea clara veamos los siguiente ejemplos: Ejemplo 1 Determinista: Mar¶a le dice a Beto que va a tirar un volado: si ³ cae sol, entonces ella gana y si cae aguila ella pierde. Ejemplo 2 No Determinista: Ahora Mar¶a le propone a Beto que si cae sol ³ ella gana y si cae aguila entonces hay dos opciones, que ella acepte que ha perdido o tira un nuevo volado con las mismas reglas. En este cap¶³tulo estudiaremos primero los autom¶tas ¯nitos deterministas, a despu¶s los no deterministas y ¯nalmente veremos la relaci¶n entre los au- e o tom¶tas ¯nitos y las expresiones regulares. a Teor¶ de la Computaci¶n ³a o Maricela Quintana 23 ITESM-CEM Dept. C.C. Jes¶s S¶nchez u a
  • 2. ¶ 3.1. AUTOMATAS FINITOS DETERMINISTAS. 3.1 Aut¶matas ¯nitos deterministas. o Un aut¶mata ¯nito determinista AFD, es una m¶quina abstracta que dada o a una entrada produce una salida. Esta m¶quina tiene un n¶mero ¯nito de a u estados, (m¶quina de estados ¯nitos) de forma que al ejecutarse la m¶quina a a est¶ en el estado inicial y cuando termina debe estar en un estado ¯nal o en a un estado inv¶lido o de error. a La m¶quina va del estado inicial al ¯nal mediante una serie de estados in- a termedios; el cambio de estado est¶ determinado por el estado en el que se a encuentra la m¶quina y el s¶ a ³mbolo a procesar de la entrada. Figura~3.1: Un aut¶mata ¯nito determinista. o Un AFD es utilizado para determinar si una cadena dada como entrada per- tenece al lenguaje que el autom¶ta reconoce. Es claro que el funcionamiento a del aut¶mata obedece a las reglas de cambio de estado; estas reglas son es- o peci¯cadas mediante una funci¶n de transici¶n ¶ diagrama de transiciones, o o o que podemos decir de¯ne a la m¶quina de estados. a 3.1.1 Introducir el concepto de diagrama de transicio- nes o m¶quina de estados. a Un aut¶mata ¯nito es el modelo matem¶tico de un sistema que cuenta con o a un n¶mero in¯nito de con¯guraciones internas o estados. u Un diagrama de transici¶n o una funci¶n de transici¶n especi¯ca lo que la o o o m¶quina debe hacer si su situaci¶n cumple con ciertas condiciones. La si- a o tuaci¶n de un AFD, que reconoce un lenguaje, est¶ formado por el estado o a Teor¶ de la Computaci¶n ³a o Maricela Quintana 24 ITESM-CEM Dept. C.C. Jes¶s S¶nchez u a
  • 3. CAP¶ ¶ ³TULO 3. TEOR¶ DE AUTOMATAS Y LENGUAJES ³A REGULARES. en que el autom¶ta est¶ y el s¶ a a ³mbolo que se est¶ analizando de la entrada. a As¶ la funci¶n de transici¶n del AFD de la ¯gura 3.1 es: ³ o o E a b c d 0 1 ; 3 ; 1 ; 2 3 1 2 ; 2 3 ; 3 ; ; ; ; La lectura de las reglas del diagrama de transici¶n es como sigue: o ² Si estas en el estado cero y el s¶ ³mbolo a procesar es a,entonces ve al estado uno. ² Si estas en el estado uno y el s¶ ³mbolo a procesar es c, entonces ve al estado tres. Otra forma de representar el comportamiento del AFD es mediante un dia- grama de transici¶n, ¶ste es un grafo donde los nodos representan estados, y o e las °echas transiciones entre estados ocasionadas por la lectura del caracter etiquetado en el arco. Al observar el diagrama de transici¶n podr¶ o ³amos preguntarnos >cu¶l es el es- a tado inicial? o >cu¶les son los estados ¯nales? En el rengl¶n correspondiente a o ³mbolo a, >qu¶ signi¯ca ;? Para dar respuesta a estas al estado dos, bajo el s¶ e preguntas, no basta con tener la funci¶n de transici¶n, necesitamos los dem¶s o o a componentes del AFD. 3.1.2 Especi¯car cu¶les son los elementos que confor- a man a una m¶quina de estados. a Un aut¶mata ¯nito determinista (AFD) M es una tupla M = (S; §; ±; S0 ; F ) o donde ² S es el conjunto ¯nito de estados. ² § es un alfabeto. Teor¶ de la Computaci¶n ³a o Maricela Quintana 25 ITESM-CEM Dept. C.C. Jes¶s S¶nchez u a
  • 4. ¶ 3.1. AUTOMATAS FINITOS DETERMINISTAS. ² ± es una funci¶n de transici¶n: o o ± : S£§!S (3.1) b ± : S £ §¤ ! S (3.2) ² S0 es el estado inicial. ² F µ S es el conjunto de estados ¯nales. La forma de denotar el estado inicial en un diagrama de transici¶n es me- o diante una punta de °echa. Los estados ¯nales se especi¯can colocando un circulo interno en el nodo (ver ¯gura 3.1). Un AFD lee la entrada de izquierda a derecha; un s¶ ³mbolo a la vez. Una vez que el s¶³mbolo ha sido procesado ya no tiene ning¶n efecto en el resto del u proceso. En cualquier paso de la ejecuci¶n, el resultado depende unicamente o ¶ del estado actual y la cadena a procesar. A esta combinaci¶n estado-cadena" o se le llama descripci¶n instant¶nea. o a Una descripci¶n instant¶nea de un aut¶mata es un par (s; x) donde s repre- o a o senta el estado donde se encuentra el aut¶mata en un momento dado, y x es o una cadena conteniendo los caracteres de entrada a¶ n no le¶ u ³dos. Si x = ay y ±(Si ; a) = Sj tenemos que: (Si ; ay) `M (Sj ; y) (3.3) ¤ ³mbolo `M signi¯ca en un paso del autom¶ta. De manera similar `M y El s¶ a + `M signi¯can en cero o m¶s pasos y en uno o m¶s pasos respectivamente. a a ¤ Un AFD reconoce a la cadena w como parte del lenguje si: (S0 ; w) `M (Si ; ¸) y (Si 2 F ) P Ejemplo 3 Las cadenas sobre = fa; bg que tienen a la subcadena bb o no tienen a la subcadena aa son aceptadas por el DFA M de la ¯gura 3.2. P M = fS = fS0 ,S1 ,S2 ,S3 ,S4 ,S5 g, = fa; bg, ±, S0 , F = fS0 ,S1 ,S4 ,S5 gg a) funci¶n de transici¶n o o Teor¶ de la Computaci¶n ³a o Maricela Quintana 26 ITESM-CEM Dept. C.C. Jes¶s S¶nchez u a
  • 5. CAP¶ ¶ ³TULO 3. TEOR¶ DE AUTOMATAS Y LENGUAJES ³A REGULARES. Figura~3.2: Un aut¶mata que acepta strings conteniendo bb o no conteniendo o aa. E a b 0 1 4 1 2 4 2 2 3 3 2 5 4 1 5 5 5 5 b) Descripciones de las cadenas abbab, babab, aab,aabba ² (S0 ; abbab) `M (S1 ; bbab) `M (S4 ; bab) `M (S5 ; ab) `M (S5 ; b) `M (S5 ; ¸) ² (S0 ; babab) `M (S4 ; abab) `M (S1 ; bab) `M (S4 ; ab) `M (S1 ; b) `M (S4 ; ¸) ² (S0 ; aab) `M (S1 ; ab) `M (S2 ; b) `M (S3 ; ¸) ² (S0 ; aabba) `M (S1 ; abba) `M (S2 ; bba) `M (S3 ; ba) `M (S5 ; a) `M (S5 ; ¸) 3.1.3 Explicar que una m¶quina de estados (aut¶mata) a o es util para generar lenguajes. ¶ Un aut¶mata puede ser usado para representar un lenguaje, si se considera o P la entrada como una cadena de caracteres ¤ . La cadena x es aceptada por Teor¶ de la Computaci¶n ³a o Maricela Quintana 27 ITESM-CEM Dept. C.C. Jes¶s S¶nchez u a
  • 6. ¶ 3.1. AUTOMATAS FINITOS DETERMINISTAS. un AFD M si ¤ (S0 ; w) `M (Si ; ¸) y Si 2 F (3.4) P Ejemplo 4 Queremos generar L sobre = f1; 2g de todas las palabras que contienen s¶lo un uno (al inicio) y por lo menos un dos al ¯nal. Es decir que o 12, 1222, 12222 son palabras que pertenecen al lenguaje. De manera similar, el aut¶mata de la ¯gura 3.3 reconoce a L = abb¤ . o Figura~3.3: Un aut¶mata que reconoce abb¤ o 3.1.4 De¯nir los t¶rminos: lenguaje generado por un e aut¶mata y equivalencia entre aut¶matas. o o El lenguaje de un AFD M, denotado L(M) es el conjunto de cadenas sobre P¤ aceptadas por M. L siempre es regular. ¤ L(M ) = fwj(S0 ; w) `M (Si ; ¸) y Si 2 F g (3.5) Ejemplo 5 El lenguaje generado por el AFD de la ¯gura 3.4 es L(M ) = ab+ Dos aut¶matas M1 y M2 son equivalentes si aceptan el mismo lenguaje, esto o es, L(M1 ) = L(M2 ). Ejemplo 6 Los autom¶tas de las ¯guras 3.3 y 3.4 reconocen los lenguajes a L1 = abb y L2 = ab , dado que abb¤ = ab+ los aut¶matas reconocen el ¤ + o mismo lenguaje y por lo tanto son equivalentes. Teor¶ de la Computaci¶n ³a o Maricela Quintana 28 ITESM-CEM Dept. C.C. Jes¶s S¶nchez u a
  • 7. CAP¶ ¶ ³TULO 3. TEOR¶ DE AUTOMATAS Y LENGUAJES ³A REGULARES. Figura~3.4: Aut¶mata que reconoce ab+ o 3.1.5 Establecer las caracter¶ ³sticas particulares de un aut¶mata determinista. o Un aut¶mata determinista produce como salida dos posibles respuestas: ca- o dena aceptada o rechazada. Un AFD por de¯nici¶n debe procesar toda la o entrada. Ejemplo 7 Al procesar la entrada w=ababb en el AFD de la ¯gura 3.3 ocurra lo siguiente (S0 ; ababb) `M (S1 ; babb) `M (S2 ; abb) `M (;; abb) En ese momento sabemos perfectamente que la salida sera: rechazada. El tipo de determinismo de los aut¶matas mostrados es llamado determi- o nismo incompleto. En ¶stos cada con¯guraci¶n tiene a lo m¶s una acci¶n e o a o especi¯cada. Las transiciones de la m¶quina est¶n de¯nidas por una funci¶n a a o P parcial ± : S £ ! S. En el momento en que es posible determinar que una cadena es rechazada, el proceso termina. Si el procesamiento termina antes de haber analizado toda la cadena de entrada, la cadena es rechazada. Una especi¯caci¶n incompleta de un DFA es transformada f¶cilmente a un o a DFA equivalente a~ adiendo un estado de error. En este estado se entra cada n vez que la m¶quina llega a una con¯guraci¶n para la cual no se ha especi¯cado a o alguna acci¶n. En este punto, la m¶quina lee el resto de la cadena y termina. o a Ejemplo 8 Para convertir el DFA de la ¯gura 3.3 especi¯cado incompleta- mente, debemos agregar el estado S3 y las transiciones siguientes: ±(S0 ; b) = S3 , ±(S1 ; a) = S3 , ±(S2 ; a) = S3 , ±(S3 ; a) = S3 , ±(S3 ; b) = S3 El estado S3 ser¶ el estado de error. As¶ el procesamiento de la entrada a ³ ababb es: (S0 ; ababb) `M (S1 ; babb) `M (S2 ; abb) `M (S3 ; abb) `M (S3 ; bb) `M (S3 ; b) `M (S3 ; ¸) Teor¶ de la Computaci¶n ³a o Maricela Quintana 29 ITESM-CEM Dept. C.C. Jes¶s S¶nchez u a
  • 8. ¶ 3.2. AUTOMATAS NO-DETERMINISTAS. 3.2 Aut¶matas no-deterministas. o Los aut¶matas que se analizaron en la secci¶n anterior responden de manera o o ¶ determinista a una entrada. Esto signi¯ca que siempre responden de manera unica a una entrada. Los aut¶matas no-deterministas pueden responder de ¶ o varias maneras a una entrada. Inclusive pueden cambiar de estado sin leer ning¶n caracter de entrada. A ¶sto se le llama transici¶n vac¶ (o transici¶n u e o ³a o ¸) . 3.2.1 Especi¯car las caracter¶ ³sticas de aut¶mata no- o determin¶ ³stico Un aut¶mata ¯nito no determinista (AFN) M es una tupla M = (S; §; ±; S0 ; F ) o donde ² S es el conjunto ¯nito de estados. ² § es un alfabeto. ² ± es una funci¶n de transici¶n: o o ± : S £ (§ [ f¸g) ! S ¤ (3.6) ² S0 es el estado inicial. ² F µ S es el conjunto de estados ¯nales. Note que a diferencia de los aut¶matas deterministas, la regla de transi- o ci¶n de los AFN indica que un caracter (o ninguno) puede llevarnos de un o ¶ estado a varios otros. Esto implica que hay varios caminos de ejecuci¶n que el o aut¶mata debe seguir. Si en alguno de los caminos de ejecuci¶n el aut¶mata o o o acepta una cadena de entrada, la cadena es aceptada. Es decir: ^ L(M ) = fx 2 §¤ j ± (S0 ; x) F 6= ;g (3.7) Teor¶ de la Computaci¶n ³a o Maricela Quintana 30 ITESM-CEM Dept. C.C. Jes¶s S¶nchez u a
  • 9. CAP¶ ¶ ³TULO 3. TEOR¶ DE AUTOMATAS Y LENGUAJES ³A REGULARES. 3.2.2 Introducir el concepto de transiciones m¶ltiples u y transiciones nulas. Un AFN permite varias transiciones posibles a partir de un mismo s¶³mbolo. Adem¶s, puede haber transiciones nulas (o instant¶neas) no ocasionadas por a a s¶ ³mbolos. Ejemplo 9 Suponga que tenemos X M = (Q; ; ±; q0 ; fq2 ; q4 g) (3.8) donde ± 0 1 q0 fq0 ; q3 g fq0 ; q1 g q1 ; fq2 g q2 fq2 g fq2 g q3 fq4 g ; q4 fq4 g fq4 g ^ Encontremos ± (q0 ; 01001) viendo las descripciones instant¶neas de la eje- a cuci¶n: o (q0 ; 01001) ` (fq0 ; q3 g; 1001) ` (fq0 ; q1 g [ ;; 001) ` (fq0 ; q3 g [ ;; 01) ` (fq0 ; q3 g [ fq4 g; 1) ` (fq0 ; q1 g [ ; [ fq4 g; ¸) ^ Por lo que ± (q0 ; 01001) = fq0 ; q1 ; q4 g: En esta corrida hubo varios cami- nos de ejecuci¶n representados por la uni¶n de diferentes estados actuales. o o Note que un ; signi¯ca un camino que no puede continuar. La cadena es aceptada por el aut¶mata pues o fq0 ; q1 ; q4 g fq2 ; q4 g = fq4 g 6= ; Una transici¶n instant¶nea puede ser usada, aprovechando los m¶ ltiples o a u caminos de ejecuci¶n, para unir funcionalidades de aut¶matas. o o Ejemplo 10 En la ¯gura siguiente podemos ver el uso de las transiciones vac¶ para obtener, en el primer caso, un aut¶mata que reconoce L(M1 ) [ ³as o L(M2 ), y en el segundo caso L(M1 )L(M2 ): Teor¶ de la Computaci¶n ³a o Maricela Quintana 31 ITESM-CEM Dept. C.C. Jes¶s S¶nchez u a
  • 10. ¶ 3.2. AUTOMATAS NO-DETERMINISTAS. λ λ L(M1) λ L(M1) L(M2) λ L(M2) λ Figura~3.5: Uso de transiciones vac¶ ³as. 3.2.3 Describir las facilidades que proporcionan este tipo de aut¶matas para el dise~o de ciertos ti- o n pos de lenguajes, as¶ como las di¯cultades que ³ presentan para su automatizaci¶n. o Los AFN tienen un poder de representaci¶n mayor que los AFD, pues con o pocos estados es posible representar un funcionamiento complejo. Sin em- bargo el poder de expresi¶n es el mismo, pues cualquier AFN tiene un AFD o equivalente. Puede resultar dif¶ construir un programa que simule un AFN pues se ³cil necesita guardar un espacio de estados enorme. Es por ello que normalmente son convertidos a su AFD equivalente. 3.2.4 Explicar c¶mo puede convertirse un aut¶mata o o no-determin¶³stico a uno determin¶ ³stico. Primero hay que ver c¶mo quitar las transiciones nulas para transformar un o AFN-2 a su equivalente AFN. Primero hay que calcular [ b ± : S £ (§ f¸g)¤ ! S (3.9) utilizando la notaci¶n de cerradura-¸(q), que es el conjunto de v¶rtices p tales o e que hay un camino de ¸ entre q y p. Teor¶ de la Computaci¶n ³a o Maricela Quintana 32 ITESM-CEM Dept. C.C. Jes¶s S¶nchez u a