SlideShare a Scribd company logo
1 of 14
Download to read offline
Autómatas y Lenguajes - Año 2007
                                                ´
                                   Teor´a 2: Automatas Finitos
                                       ı


                                                        ´
                                  Departamento de Informatica
                                                   ´
                         Facultad de Cs. Fco. Matematicas y Naturales




                                    Universidad Nacional de San Luis
                                           San Luis - Argentina




                                                                                       ´                     ˜
                                                                                    Automatas y Lenguajes - Ano 2007– p.1/28




                                    Autómata Finito

Intuitivamente, como dispositivo reconocedor, un AF es una máquina abstracta con entradas y salidas

discretas. Este tipo de máquina puede estar en uno de un número finito de estados internos. Dicho

estado sumariza la información en relación a entradas previas que se necesitan para determinar el

comportamiento del AF para la entrada remanente.



                                                    ...           Cinta (finita)

                                 Cabeza Lectora (Mov. implicito a derecha)

                                          q0
                                               q1
                                     q5
                                     q4        q2
                                          q3

                                          UC




                                                                                       ´                     ˜
                                                                                    Automatas y Lenguajes - Ano 2007– p.2/28
Ejemplo

Analizaremos un ejemplo de un problema de la vida real cuya solución puede ser dada usando un

autómata finito: que ocurre en el proceso de login a una computadora, desde el punto de vista de la

computadora. Asumiendo por simplicidad que esta computadora acepta un único usuario a la vez.



Inicialmente la computadora espera a que se tipee un nombre de usuario. Cuando se ingresa un nombre,

verifica si el nombre es correcto o no. Si es válido, espera la contraseña. Si el nombre de usuario no es

válido permanece en el estado inicial. Cuando una contarseña es escrita y es correcta, entonces acepta

al usuario y comienza la sesión. Cuando la sesión termina emite una señal, retorna al estado inicial y

espera por otro login. Si el password fue incorrecto, informa al usuario y espera uno correcto. Si el

segundo password falla, vuelve al estado inicial y comienza de nuevo.




                                                                                           ´                     ˜
                                                                                        Automatas y Lenguajes - Ano 2007– p.3/28




                                       Ejemplo (Cont.)

Pensemos, sin tener todavía la definición formal de AF, como modelar el problema propuesto:
                       ui
                                         fs
                                                                  ui: usuario incorrecto
                                                                  uc: usuario correcto
                                 uc                pc
                         1                2                  3    pi: password incorrecto
                                                                  pc: password correcto
                                              pi                                 ´
                                                                  fs: fin de sesion
                                 pi                     pc

                                          4
                 1: espera usuario
                 2: espera password
                                 ´
                 3: comienza sesion
                 4: espera password




                                                                                           ´                     ˜
                                                                                        Automatas y Lenguajes - Ano 2007– p.4/28
Autómata Finito Determinístico (AFD)

Damos ahora la noción formal de autómata finito, en particular la de autómata finito determinístico, el

término determinístico se refiere al hecho de que desde cada entrada hay uno y sólo un estado al cual el

autómata puede pasar desde el estado corriente.

Definición formal: Un AF Determinístico (AFD) es una 5-tupla M = (Q, Σ, δ, q0 , F ), donde Q es un

conjunto finito de estados, Σ el alfabeto de entrada, q0 ∈ Q el estado inicial, F ⊆ Q es el conjunto de

estados finales. La función de transición, δ : Q × Σ → Q, es una función total.


La función de transición toma como argumento un estado y un símbolo de la entrada y retorna un estado.


En la representación que utilizamos en el ejemplo, δ fue representada por arcos entre los estados y los


rótulos sobre los arcos.




                                                                                         ´                     ˜
                                                                                      Automatas y Lenguajes - Ano 2007– p.5/28




Notación

La especficación de un AFD como una 5-tupla con una descripción detallada de la función de transición δ

es bastante tediosa, por lo tanto hay dos notaciones utilizadas para describir autómatas:

       Un diagrama de transición.

       Una tabla de transición.

Veamos un ejemplo, construyamos un AFD que reconoce el siguiente lenguaje, usando diagrama de

transición y tabla de transición:



                                              ∗
                              L = {x ∈ {0, 1} |n0 (x) es par y mayor que 0}




                                                                                         ´                     ˜
                                                                                      Automatas y Lenguajes - Ano 2007– p.6/28
1                 1               1

                                                                                    0           1
                                             0
                  q0                q1              q2
                             0
                                                                           → q0     q1         q0
                                             0

                                                                             q1     q2         q1

                                                                            ∗q2     q1         q2




                             Autómata Finito Determinístico y Tabla de Transición




                                                                                            ´                     ˜
                                                                                         Automatas y Lenguajes - Ano 2007– p.7/28




                            Lenguaje aceptado por un AFD

Informalmente podemos decir que un AFD define un lenguaje: el conjunto de todas las cadenas que se

pueden obtener partiendo del estado incial y arribando a un estado final.

Pero necesitamos precisar la noción de lenguaje aceptado por un AFD, para ello es necesario extender la

                                          ˆ
función de transición a la que llamaremos δ. Dicha función toma como argumentos un estado y una

                                      ˆ
cadena y da como resultado un estado: δ : Q × Σ∗ → Q.

Definición recursiva:


                             ˆ
                       1.    δ(q, λ) = q

                             ˆ           ˆ
                             δ(q, w) = δ(δ(q, x), σ) con σ ∈ Σ y x ∈ Σ∗ y w = xσ
                       2.


                                                                     ˆ
Luego, una cadena w es aceptada por un AFD M = (Q, Σ, δ, q0 , F ) si δ(q0 , w) ∈ F , y se consumió

toda la cadena.

                                                                ˆ
En consecuencia, el lenguaje aceptado por M es L(M ) = {w ∈ Σ∗ |δ(q0 , w) ∈ F }.

La familia de lenguajes aceptados por AFs son los lenguajes Tipo 3 o Regulares.
                                                                                            ´                     ˜
                                                                                         Automatas y Lenguajes - Ano 2007– p.8/28
ˆ
Apliquemos la definición de δ para determinar si 100001 es aceptada por el autómata del ejemplo

anterior:

ˆ
δ(q0 , λ) = q0

ˆ             ˆ
δ(q0 , 1) = δ(δ(q0 , λ), 1) = q0

ˆ              ˆ
δ(q0 , 10) = δ(δ(q0 , 1), 0) = q1

ˆ               ˆ
δ(q0 , 100) = δ(δ(q0 , 10), 0) = q2

ˆ                ˆ
δ(q0 , 1000) = δ(δ(q0 , 100), 0) = q1

ˆ                 ˆ
δ(q0 , 10000) = δ(δ(q0 , 1000), 0) = q2

ˆ                  ˆ
δ(q0 , 100001) = δ(δ(q0 , 10000), 1) = q2


Como partimos de q0 y llegamos al estado final q2 , la cadena es aceptada.




                                                                                         ´                     ˜
                                                                                      Automatas y Lenguajes - Ano 2007– p.9/28




             Autómata Finito No Determinístico (AFND)



Un autómata finito no determinístico tiene la potencia de estar en varios estados a la vez. Esta habilidad

es expresada generalmente como una habilidad de adivinar algo sobre la entrada. Por ejemplo cuando el

autómata es usado para buscar cierta secuencia de caracteres (por ejemplo: palabras claves) en un texto

grande, es útil adivinar que está al comienzo de uno de aquellas cadenas y usar ciertos estados que no

hacen nada más que chequear que la cadena aparezca caracter a caracter.

Sin embargo, los AFND’s son simplemente otra versión de AF’s que no agregan potencia a los AFD’s,

dado que los mismos aceptan lenguajes regulares.

Pero en general los AFND’s permiten simplificar la tarea de diseño de un AF, y probablemente usar

menos estados y transiciones para reconocer algún lenguaje particular.




                                                                                        ´                     ˜
                                                                                     Automatas y Lenguajes - Ano 2007– p.10/28
Al igual que un AFD, un AFND tiene un conjunto finito de estados, un conjunto finito de símbolos, un

estado de comienzo y un conjunto de estados de aceptación.

También tiene una función de transición, la cual llamamos δ. Pero la diferencia radica precisamente en el

tipo de δ, para el AFND esta función toma un estado y un símbolo de entrada como argumentos, pero

retorna un conjunto de cero, uno o más estados.

El concepto de no determinismo juega un rol central en teoría de lenguajes y computación.




Veamos a continuación un ejemplo y luego daremos las formalizaciones necesarias.




                                                                                                        ´                     ˜
                                                                                                     Automatas y Lenguajes - Ano 2007– p.11/28




                                                           Ejemplo

El siguiente ejemplo muestra dos autómatas que reconocen el lenguaje

{11, 110}∗ {0}. El primero, con 6 estados es un AFD; mientras que el segundo es un AFND con 5

estados y 6 transiciones que refleja más claramente el lenguaje reconocido.




                                    q0

                                                                              q1
                                                  1
                            0       0,1


                                                                                   1
                                                                          1
                       q1           q2                    q3
                            0,1               0
                                                                              q0                q4
                                                                                           0
                                0         1
                                                      1        1          1            0


                                    q4                    q5         q2                    q3
                                                  0                            1



                AFs Determinístico y NO-Determinístico que reconocen el lenguaje dado.




                                                                                                        ´                     ˜
                                                                                                     Automatas y Lenguajes - Ano 2007– p.12/28
Veamos ahora que ocurre cuando queremos ver, en el AFND del ejemplo, si la cadena 111100 es

aceptada:
                                                 1                    1                    1
                                 1                                                                        0
                         q               q               q                    q                   q            q
                             0                                                    1                                4
                                             1               01                                       0
                                 1
                                                                          1                0                  0q
                                                              q                   q               q
                                     q                                                3               0                4
                                                                  2
                                         2   1

                                                 q
                                                     3




De cada estado se disparan todas las posibles transiciones. Por lo tanto para determinar si una cadena

es válida o no es necesario recorrer todos los caminos.




                                                                                                                              ´                     ˜
                                                                                                                           Automatas y Lenguajes - Ano 2007– p.13/28




                                 Formalización de AFND’s

Definición formal: Un AF No Determinístico (AFND) es una 5-tupla M = (Q, Σ, δ, q0 , F ), donde Q es un

conjunto finito de estados, Σ el alfabeto de entrada, q0 ∈ Q el estado inicial, F ⊆ Q es el conjunto de

estados finales. La función de transición, (δ : Q × Σ → 2Q ).

Para el ejemplo dado definamos con una tabla de transición la función δ:


                                                                      0                    1

                                                 → q0             {q4 }           {q1 , q2 }

                                                                      ∅                   {q0 }
                                                  q1

                                                                      ∅                   {q3 }
                                                  q2

                                                                  {q0 }                    ∅
                                                  q3

                                                 ∗q4                  ∅                    ∅




                                                                                                                              ´                     ˜
                                                                                                                           Automatas y Lenguajes - Ano 2007– p.14/28
Lenguaje aceptado por AFND’s

                                                                                    ˆ
Como con AFD’s, es necesario extender la función de transición, a la que llamaremos δ. Dicha función

toma como argumentos un estado q y una cadena w y retorna como resultado el conjunto de estados en

el que el AFND está si comienza en el estado q y procesa la cadena w:

Definición recursiva:


                       ˆ
                       δ(q, λ) = {q}
                 1.

                       ˆ                                      ˆ
                       δ(q, w) = {r1 , r2 , .., rm }, w = xσ, δ(q, x) = {p1 , p2 , .., pk }
                 2.

                       y ∪k δ(pi , σ) = {r1 , r2 , .., rm }
                          i=1



Lenguaje aceptado por un AFND

                                        ˆ
Si M es un AFND, luego L(M ) = {w ∈ Σ∗ |δ(q0 , w) ∩ F = ∅}, y se consumió toda la cadena.




                                                                                           ´                     ˜
                                                                                        Automatas y Lenguajes - Ano 2007– p.15/28




                   Equivalencia entre AFD’s y AFND’s

La prueba de que a partir de cualquier AFND se puede obtener un AFD equivalente, involucra una

importante construcción llamada constucción del subconjunto, la cual implica construir todos los

subconjuntos del conjunto de estados del AFND.

En general muchas pruebas sobre autómatas involucran construir un autómata a partir de otro.

La construcción del subconjunto comienza a partir de un AFND N = (QN , Σ, δN , q0 , FN ). El objetivo

es construir un AFD D = (QD , Σ, δD , {q0 }, FD ) tal que L(D) = L(N ).

 QD es el conjunto de subconjuntos de QN , es decir es el conjunto potencia de QN .

 FD es el conjunto de subconjuntos S de QN tal que S ∩ FN = ∅

 Para cada conjunto S ⊆ QN y para cada símbolo de entrada a ∈ Σ: δD (S, a) = ∪p∈S δN (p, a)




                                                                                           ´                     ˜
                                                                                        Automatas y Lenguajes - Ano 2007– p.16/28
Ejemplo

Veamos ahora con un ejemplo como realizar la construcción del subconjunto, dado el siguiente AFND:




                                                                 a


                                                         q1
                                                                             a
                                               a
                                                     a
                                       q                                         q
                                                                 b       b
                                           0                                         3


                                                a                            a
                                                         q
                                                             2




                                                                                                 ´                     ˜
                                                                                              Automatas y Lenguajes - Ano 2007– p.17/28




                                      Ejemplo (Cont.)

   1. Hallamos primero QD .

   2. Luego FD .

   3. Y por último δD .


El autómata resultante es:

                                                          a


                                                                         b
                                                    {q , q }
                                                         12
                                       a
                                                                     a
                               {q }                                              {q , q }
                                 0                                                       13
                                           b
                                                                     b

                                                    {}




                                                                                                 ´                     ˜
                                                                                              Automatas y Lenguajes - Ano 2007– p.18/28
Formalizacion equivalencia AFND - AFD

Teorema:

Si D = (QD , Σ, δD , {q0 }, FD ) es el AFD construído a partir del AFND N = (QN , Σ, δN , q0 , FN ) por

la construcción del subconjunto, entonces L(D) = L(N ).

Demostración:

                             ˆ               ˆ
Lo que debemos probar es que δD ({q0 }, w) = δN (q0 , w), lo haremos por inducción sobre |w|.

                                    ˆ                                                ˆ
Notar que cada una de las funciones δ retorna un conjunto de estados desde QN , pero δD interpreta

                                                                                               ˆ
este conjunto como uno de los estados de QD (el cual es el conjunto potencia de QN ), mientras δN

interpreta este conjunto como un subconjunto de QN .

Base:

                                                           ˆ                            ˆ
Sea |w| = 0, esto es w = λ. Por las definiciones básicas de δ para AFD’s y AFND’s, ambas δD ({q0 }, λ)

  ˆ
y δN (q0 , λ) son q0 .




                                                                                         ´                     ˜
                                                                                      Automatas y Lenguajes - Ano 2007– p.19/28




Inducción:

Sea w de longitud n + 1, asumamos que la sentencia se cumple para longitud n. Tomemos w = xa, con

                                                   ˆ               ˆ
a el símbolo final de w. Por la hipótesis inductiva δD ({qo }, x) = δN (q0 , x). Sean ambos de estos

conjuntos de estados de N , {p1 , p2 , ..pk }.

                                      ˆ
La parte inductiva de la definición de δ para AFND’s nos dice que:

          ˆ
          δN (q0 , w) = ∪k δN (pi , a) (1)
                         i=1

La consturcción del subconjunto nos dice por otro lado que:

δD ({p1 , p2 , .., pk }, a) = ∪k δN (pi , a) (2)
                               i=1

                          ˆ                                                    ˆ
Usemos (2) y el hecho que δ({q0 }, x) = {p1 , p2 , .., pk } en la definición de δ para AFD’s:

ˆ                 ˆ
δ({q0 }, w) = δD (δD ({q0 }, x), a) = δD ({p1 , p2 , .., pk }, a) = ∪k δN (pi , a) (3)
                                                                     i=1

                                        ˆ               ˆ
Las ecuaciones (1) y (3) demuestran que δD ({q0 }, w) = δN (q0 , w).

                                                   ˆ               ˆ
Cuando observamos que D y N aceptan w sí y sólo sí δD ({q0 }, w) o δN (q0 , w), respectivamente,

contienen un estado en FN , completamos la prueba de que L(D) = L(N ).

                                                                                         ´                     ˜
                                                                                      Automatas y Lenguajes - Ano 2007– p.20/28
Autómatas Finitos No Determinísticos con transiciones ǫ

Introducimos ahora otra extensión de los autómatas finitos, la idea es permitir transiciones espontáneas,

sin recibir un símbolo de entrada. Se utilizan para ello las transiciones ǫ, es decir, transiciones vía la

cadena vacía.

Como con AFND’s, esta nueva capacidad no agrega potencia, es decir que no expande la clase de los

lenguajes aceptados por autómatas finitos. Sin embargo proveen ciertas facilidades para programación y

también veremos como los AFND-ǫ están relacionados a las expresiones regulares y los usaremos en la

prueba de la equivalencia entre las clases aceptados por autómatas finitos y las denotadas por

expresiones regulares.


A continuación veremos con un ejemplo un posible uso de estos AFND-ǫ:




                                                                                               ´                     ˜
                                                                                            Automatas y Lenguajes - Ano 2007– p.21/28




                                                Ejemplo

Construyamos un AFND-ǫ que acepta números decimales consistentes de:

   1. Un signo + o − opcional.

   2. Una cadena de dígitos.

   3. Un punto decimal.

   4. Otra cadena de dígitos, esta cadena de dígitos, o la del punto 2. pueden ser vacía, no las dos.




                                          0,1,..,9                           0,1,..,9


                                 ε ,+,−                                                 ε
                                                                  0,1,..,9
                                                      .
                                          q1                                                 q
                         q                                q                    q                 5
                             0                                2                    3


                                           0,1,..,9                  .

                                                          q4


                                                                                               ´                     ˜
                                                                                            Automatas y Lenguajes - Ano 2007– p.22/28
Formalización de AFND’s con tarnsiciones ǫ



Definición formal:

Un AFND-ǫ se define de igual forma que un AFND, solo que es necesario incluir información sobre las

transiciones ǫ. Formalmente un AFND-ǫ A es A = (Q, Σ, δ, q0 , F ) con las componentes significando lo

mismo que con AFND, excepto que δ es ahora una función que toma como argumentos un estado de Q y

un miembro de Σ ∪ {ǫ}.

Necesitamos ahora extender la función de transición para poder así definir lenguaje aceptado por

AFND-ǫ, pero para ello es necesario definir antes ǫ − clausura de un estado, informalmente la

ǫ − clausura(q) es el conjunto de todos los estados p tal que hay un paso desde q a p rotulado ǫ.




                                                                                      ´                     ˜
                                                                                   Automatas y Lenguajes - Ano 2007– p.23/28




Definición recursiva de ǫ − clausura:


   1. ǫ − clausura(q) = {q}

   2. Si el estado p está en la ǫ − clausura(q), y hay una transición desde el estado p al estado r

      rotulado ǫ, entonces r está en la ǫ − clausura(q). Más precisamente, si δ es la función de

      transición del AFND-ǫ, y p está en la ǫ − clausura(q), entonces la ǫ − clausura(q) también

      contiene todos los estados en δ(p, ǫ).


                                                     ˆ
Ahoara definiremos la función de transición extendida δ:




                                                                                      ´                     ˜
                                                                                   Automatas y Lenguajes - Ano 2007– p.24/28
ˆ
Definición recursiva de δ:

      ˆ
   1. δ(q, ǫ) = ǫ − clausura(q)

   2. Suponemos que w es de la forma xa, donde a es el último símbolo de w, con a ∈ Σ, el cual no

      puede ser ǫ dado que no pertenece a Σ.

                          ˆ
      Entonces computamos δ(q, w) como sigue:

               ˆ
        a) Sea δ(q, x) = {p1 , p2 , .., pk }.

        b) Sea ∪k δ(pi , a) = {r1 , r2 , .., rm }
                i=1

                   ˆ
        c) Entnces δ(q, w) = ∪m ǫ − clausura(rj ).
                              j=1


Lenguaje aceptado por un AFND-ǫ:

Sea E = (Q, Σ, δ, q0 , F ) un AFND-ǫ, se define lenguaje aceptado por E como:

                ˆ
L(E) = {w ∈ Σ∗ |δ(q0 , w) ∩ F = ∅}




                                                                                      ´                     ˜
                                                                                   Automatas y Lenguajes - Ano 2007– p.25/28




                            Eliminando las transiciones ǫ



Dado cualquier AFND-ǫ E, podemos encontrar un AFD D que acepte el mismo lenguaje que E.

La construcción es muy similar a la de la construcción del subconjunto, sólo que debemos incorporar las

transiciones ǫ de E, para lo cual debemos utilizar la ǫ − clausura:


Sea E = (QE , Σ, δE , q0 , FE ). Entonces el AFD equivalente D = (QD , Σ, δD , qD , FD ) se define


como sigue:




                                                                                      ´                     ˜
                                                                                   Automatas y Lenguajes - Ano 2007– p.26/28
1. QD es el conjunto de subconjuntos de QE .

   2. qD = ǫ − clausura(q0 ).

   3. FD es aquellos conjuntos de estados que contienen al menos un estado de aceptación de E. Esto

      es, FD = {S|S está en QD y S ∩ FE = ∅}.

   4. δ(S, a), para todo a ∈ Σ y los conjuntos S en QD , es computada de la siguiente manera:

        a) Sea S = {p1 , p2 , .., pk }.

        b) Obtener ∪k δE (pi , a), sea este conjunto {r1 , r2 , .., rm }.
                    i=1


        c) Entonces δD (S, a) = ∪m ǫ − clausura(rj ).
                                 j=1




                                                                                      ´                     ˜
                                                                                   Automatas y Lenguajes - Ano 2007– p.27/28




                                            Ejemplo

Apliquemos esta construcción para eliminar las transiciones ǫ del ejemplo correspondiente a los números

decimales, esta construcción se da en clase.

Teorema:

Un lenguaje L es aceptado por algún AFND-ǫ sí y sólo sí L es aceptado por algún AFD.

Demostración:

Ver bibliografía, página 79, Introduction to Automata Theory, Languages and Computation - Hopcroft -

Ullman - Motwani.




                                                                                      ´                     ˜
                                                                                   Automatas y Lenguajes - Ano 2007– p.28/28

More Related Content

What's hot

Cuestionario
CuestionarioCuestionario
CuestionarioJose Nava
 
2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automata2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automataJacqui Venegas
 
Máquinas de Turing - Tipos y Aplicaciones
Máquinas de Turing - Tipos y AplicacionesMáquinas de Turing - Tipos y Aplicaciones
Máquinas de Turing - Tipos y AplicacionesRosviannis Barreiro
 
Generación código intermedio 2
Generación código intermedio 2Generación código intermedio 2
Generación código intermedio 2Humano Terricola
 
Conmutacion de circuitos y paquetes
Conmutacion de circuitos y paquetesConmutacion de circuitos y paquetes
Conmutacion de circuitos y paquetesJarvey Gonzalez
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Osiris Mirerus
 
Características De Un Servidor De Red
Características De Un Servidor De RedCaracterísticas De Un Servidor De Red
Características De Un Servidor De RedVictor S Barrios
 
Analizador Sintáctico
Analizador SintácticoAnalizador Sintáctico
Analizador SintácticoPablo Guerra
 
Operaciones entre lenguajes
Operaciones entre lenguajesOperaciones entre lenguajes
Operaciones entre lenguajesJean Bernard
 
Diagramas UML (Diseño de Sistemas)
Diagramas UML (Diseño de Sistemas)Diagramas UML (Diseño de Sistemas)
Diagramas UML (Diseño de Sistemas)josue salas
 
Parte 4 Máquinas De Turing
Parte 4  Máquinas De  TuringParte 4  Máquinas De  Turing
Parte 4 Máquinas De TuringRicardo Quintero
 
4.2 espacios de estados determinísticos y espacios no determinísticos.
4.2 espacios de estados determinísticos y espacios no determinísticos.4.2 espacios de estados determinísticos y espacios no determinísticos.
4.2 espacios de estados determinísticos y espacios no determinísticos.Jose Maldonado Cortes
 
Tipos de gramatica y arboles de derivacion
Tipos de gramatica y arboles de derivacionTipos de gramatica y arboles de derivacion
Tipos de gramatica y arboles de derivacionjorge severino
 
Dispositivos de red capa fisica
Dispositivos de red capa  fisicaDispositivos de red capa  fisica
Dispositivos de red capa fisicaChava Jackson
 
El conocimiento en Inteligencia Artificial
El conocimiento en Inteligencia ArtificialEl conocimiento en Inteligencia Artificial
El conocimiento en Inteligencia Artificialwarrionet
 

What's hot (20)

MODELO OSI PDU
MODELO OSI PDUMODELO OSI PDU
MODELO OSI PDU
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automata2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automata
 
3.4. Logica de predicados
3.4. Logica de predicados3.4. Logica de predicados
3.4. Logica de predicados
 
Máquinas de Turing - Tipos y Aplicaciones
Máquinas de Turing - Tipos y AplicacionesMáquinas de Turing - Tipos y Aplicaciones
Máquinas de Turing - Tipos y Aplicaciones
 
Generación código intermedio 2
Generación código intermedio 2Generación código intermedio 2
Generación código intermedio 2
 
Conmutacion de circuitos y paquetes
Conmutacion de circuitos y paquetesConmutacion de circuitos y paquetes
Conmutacion de circuitos y paquetes
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1
 
Características De Un Servidor De Red
Características De Un Servidor De RedCaracterísticas De Un Servidor De Red
Características De Un Servidor De Red
 
Analizador Sintáctico
Analizador SintácticoAnalizador Sintáctico
Analizador Sintáctico
 
Operaciones entre lenguajes
Operaciones entre lenguajesOperaciones entre lenguajes
Operaciones entre lenguajes
 
Sistemas operativos; procesos
Sistemas operativos; procesosSistemas operativos; procesos
Sistemas operativos; procesos
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
Diagramas UML (Diseño de Sistemas)
Diagramas UML (Diseño de Sistemas)Diagramas UML (Diseño de Sistemas)
Diagramas UML (Diseño de Sistemas)
 
Parte 4 Máquinas De Turing
Parte 4  Máquinas De  TuringParte 4  Máquinas De  Turing
Parte 4 Máquinas De Turing
 
4.2 espacios de estados determinísticos y espacios no determinísticos.
4.2 espacios de estados determinísticos y espacios no determinísticos.4.2 espacios de estados determinísticos y espacios no determinísticos.
4.2 espacios de estados determinísticos y espacios no determinísticos.
 
Tipos de gramatica y arboles de derivacion
Tipos de gramatica y arboles de derivacionTipos de gramatica y arboles de derivacion
Tipos de gramatica y arboles de derivacion
 
Dispositivos de red capa fisica
Dispositivos de red capa  fisicaDispositivos de red capa  fisica
Dispositivos de red capa fisica
 
El conocimiento en Inteligencia Artificial
El conocimiento en Inteligencia ArtificialEl conocimiento en Inteligencia Artificial
El conocimiento en Inteligencia Artificial
 
Código intermedio
Código intermedioCódigo intermedio
Código intermedio
 

Viewers also liked

Automatas y compiladores tablas de transición análisis léxico
Automatas y compiladores tablas de transición análisis léxicoAutomatas y compiladores tablas de transición análisis léxico
Automatas y compiladores tablas de transición análisis léxicoGermania Rodriguez
 
Diagrama de estados y diagrama de transiciones
Diagrama de estados y  diagrama de transicionesDiagrama de estados y  diagrama de transiciones
Diagrama de estados y diagrama de transicionesmaesearturo
 
Analisis Lexico
Analisis LexicoAnalisis Lexico
Analisis LexicoFARIDROJAS
 
Introducción a los Procesos Estocásticos y sus Aplicaciones en la Actuaría
Introducción a los Procesos Estocásticos y sus Aplicaciones en la ActuaríaIntroducción a los Procesos Estocásticos y sus Aplicaciones en la Actuaría
Introducción a los Procesos Estocásticos y sus Aplicaciones en la ActuaríaEmmanuelRuizG
 
Autómatas finitos no deterministas
Autómatas finitos no deterministasAutómatas finitos no deterministas
Autómatas finitos no deterministasOmega Tech
 
Automatas y compiladores clase4
Automatas y compiladores clase4Automatas y compiladores clase4
Automatas y compiladores clase4Germania Rodriguez
 
Automatas y compiladores clase3
Automatas y compiladores clase3Automatas y compiladores clase3
Automatas y compiladores clase3Germania Rodriguez
 
Automatas y compiladores clase2
Automatas y compiladores clase2Automatas y compiladores clase2
Automatas y compiladores clase2Germania Rodriguez
 
Configuracion y administracion del espacio en disco
 Configuracion y administracion del espacio en disco Configuracion y administracion del espacio en disco
Configuracion y administracion del espacio en discoYael_21
 
Análisis léxico y análisis sintáctico
Análisis léxico y análisis sintácticoAnálisis léxico y análisis sintáctico
Análisis léxico y análisis sintácticoangiepao1717
 
Simulación de un autómata de estado finito en Jflap
Simulación de un autómata de estado finito en JflapSimulación de un autómata de estado finito en Jflap
Simulación de un autómata de estado finito en JflapEduardo Chavez Vasquez
 
Mapa conceptual sobre Diseños Instruccionales para Entornos Virtuales
Mapa conceptual sobre Diseños Instruccionales para Entornos VirtualesMapa conceptual sobre Diseños Instruccionales para Entornos Virtuales
Mapa conceptual sobre Diseños Instruccionales para Entornos VirtualesBernardo Zavahra
 

Viewers also liked (20)

Compiladores, Analisis Lexico, Tabla de Transiciones
Compiladores, Analisis Lexico, Tabla de TransicionesCompiladores, Analisis Lexico, Tabla de Transiciones
Compiladores, Analisis Lexico, Tabla de Transiciones
 
Automatas y compiladores tablas de transición análisis léxico
Automatas y compiladores tablas de transición análisis léxicoAutomatas y compiladores tablas de transición análisis léxico
Automatas y compiladores tablas de transición análisis léxico
 
Compiladores, Analisis Lexico
Compiladores, Analisis LexicoCompiladores, Analisis Lexico
Compiladores, Analisis Lexico
 
Diagrama de estados y diagrama de transiciones
Diagrama de estados y  diagrama de transicionesDiagrama de estados y  diagrama de transiciones
Diagrama de estados y diagrama de transiciones
 
Automatas celulares
Automatas celularesAutomatas celulares
Automatas celulares
 
Analisis Lexico
Analisis LexicoAnalisis Lexico
Analisis Lexico
 
Introducción a los Procesos Estocásticos y sus Aplicaciones en la Actuaría
Introducción a los Procesos Estocásticos y sus Aplicaciones en la ActuaríaIntroducción a los Procesos Estocásticos y sus Aplicaciones en la Actuaría
Introducción a los Procesos Estocásticos y sus Aplicaciones en la Actuaría
 
Autómatas finitos no deterministas
Autómatas finitos no deterministasAutómatas finitos no deterministas
Autómatas finitos no deterministas
 
Automatas y compiladores clase4
Automatas y compiladores clase4Automatas y compiladores clase4
Automatas y compiladores clase4
 
7 procesos estocásticos
7 procesos estocásticos7 procesos estocásticos
7 procesos estocásticos
 
Automatas y compiladores clase3
Automatas y compiladores clase3Automatas y compiladores clase3
Automatas y compiladores clase3
 
Automatas y compiladores clase2
Automatas y compiladores clase2Automatas y compiladores clase2
Automatas y compiladores clase2
 
Etapas de compilacion
Etapas de compilacionEtapas de compilacion
Etapas de compilacion
 
Configuracion y administracion del espacio en disco
 Configuracion y administracion del espacio en disco Configuracion y administracion del espacio en disco
Configuracion y administracion del espacio en disco
 
Compiladores, Analisis Lexico Conceptos
Compiladores, Analisis Lexico ConceptosCompiladores, Analisis Lexico Conceptos
Compiladores, Analisis Lexico Conceptos
 
Análisis léxico y análisis sintáctico
Análisis léxico y análisis sintácticoAnálisis léxico y análisis sintáctico
Análisis léxico y análisis sintáctico
 
Compiladores, Analisis Lexico, Ejemplo Minilenguaje
Compiladores, Analisis Lexico, Ejemplo MinilenguajeCompiladores, Analisis Lexico, Ejemplo Minilenguaje
Compiladores, Analisis Lexico, Ejemplo Minilenguaje
 
Simulación de un autómata de estado finito en Jflap
Simulación de un autómata de estado finito en JflapSimulación de un autómata de estado finito en Jflap
Simulación de un autómata de estado finito en Jflap
 
Mapa conceptual diseño instruccional gustavo
Mapa conceptual diseño instruccional gustavoMapa conceptual diseño instruccional gustavo
Mapa conceptual diseño instruccional gustavo
 
Mapa conceptual sobre Diseños Instruccionales para Entornos Virtuales
Mapa conceptual sobre Diseños Instruccionales para Entornos VirtualesMapa conceptual sobre Diseños Instruccionales para Entornos Virtuales
Mapa conceptual sobre Diseños Instruccionales para Entornos Virtuales
 

More from GILDARDO MARTINEZ ESPINOSA (10)

Aspectos legales parte 2
Aspectos legales parte 2Aspectos legales parte 2
Aspectos legales parte 2
 
Aspectos legales parte 1
Aspectos legales parte 1Aspectos legales parte 1
Aspectos legales parte 1
 
Introduccion al desarrollo de software
Introduccion al desarrollo de softwareIntroduccion al desarrollo de software
Introduccion al desarrollo de software
 
Manual de Matlab70
Manual de Matlab70Manual de Matlab70
Manual de Matlab70
 
Manula Oracle 2
Manula Oracle 2Manula Oracle 2
Manula Oracle 2
 
Manualoracle 1
Manualoracle 1Manualoracle 1
Manualoracle 1
 
Manual JAVA
Manual JAVAManual JAVA
Manual JAVA
 
Revista Computer Hoy 263
Revista Computer Hoy 263Revista Computer Hoy 263
Revista Computer Hoy 263
 
Metodo Simplex
Metodo SimplexMetodo Simplex
Metodo Simplex
 
Formulario De Integrales
Formulario De IntegralesFormulario De Integrales
Formulario De Integrales
 

Recently uploaded

CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOCUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOEveliaHernandez8
 
libro grafismo fonético guía de uso para el lenguaje
libro grafismo fonético guía de uso para el lenguajelibro grafismo fonético guía de uso para el lenguaje
libro grafismo fonético guía de uso para el lenguajeKattyMoran3
 
BOCA Y NARIZ (2).pdf....................
BOCA Y NARIZ (2).pdf....................BOCA Y NARIZ (2).pdf....................
BOCA Y NARIZ (2).pdf....................ScarletMedina4
 
Salvando mi mundo , mi comunidad , y mi entorno
Salvando mi mundo , mi comunidad  , y mi entornoSalvando mi mundo , mi comunidad  , y mi entorno
Salvando mi mundo , mi comunidad , y mi entornoday561sol
 
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...MagalyDacostaPea
 
Actividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 EducacionActividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 Educacionviviantorres91
 
NUEVO PLAN Y PROGRAMAS DE ESTUDIO 2022.pdf
NUEVO PLAN Y PROGRAMAS DE ESTUDIO  2022.pdfNUEVO PLAN Y PROGRAMAS DE ESTUDIO  2022.pdf
NUEVO PLAN Y PROGRAMAS DE ESTUDIO 2022.pdfEDNAMONICARUIZNIETO
 
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptxTALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptxMartaChaparro1
 
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJODIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJOLeninCariMogrovejo
 
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...Carol Andrea Eraso Guerrero
 
Cuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdfCuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdflizcortes48
 
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdfPROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdfMaritza438836
 
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfMEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfJosé Hecht
 
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)jlorentemartos
 
Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Rosabel UA
 
Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.monthuerta17
 

Recently uploaded (20)

CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOCUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
 
libro grafismo fonético guía de uso para el lenguaje
libro grafismo fonético guía de uso para el lenguajelibro grafismo fonético guía de uso para el lenguaje
libro grafismo fonético guía de uso para el lenguaje
 
BOCA Y NARIZ (2).pdf....................
BOCA Y NARIZ (2).pdf....................BOCA Y NARIZ (2).pdf....................
BOCA Y NARIZ (2).pdf....................
 
Salvando mi mundo , mi comunidad , y mi entorno
Salvando mi mundo , mi comunidad  , y mi entornoSalvando mi mundo , mi comunidad  , y mi entorno
Salvando mi mundo , mi comunidad , y mi entorno
 
¿Amor o egoísmo? Esa es la cuestión.pptx
¿Amor o egoísmo? Esa es la cuestión.pptx¿Amor o egoísmo? Esa es la cuestión.pptx
¿Amor o egoísmo? Esa es la cuestión.pptx
 
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
 
Actividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 EducacionActividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 Educacion
 
NUEVO PLAN Y PROGRAMAS DE ESTUDIO 2022.pdf
NUEVO PLAN Y PROGRAMAS DE ESTUDIO  2022.pdfNUEVO PLAN Y PROGRAMAS DE ESTUDIO  2022.pdf
NUEVO PLAN Y PROGRAMAS DE ESTUDIO 2022.pdf
 
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptxTALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
 
Acuerdo segundo periodo - Grado Noveno.pptx
Acuerdo segundo periodo - Grado Noveno.pptxAcuerdo segundo periodo - Grado Noveno.pptx
Acuerdo segundo periodo - Grado Noveno.pptx
 
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJODIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
 
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...
 
Cuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdfCuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdf
 
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdfPROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
 
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfMEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
 
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
 
Acuerdo segundo periodo - Grado Sexto.pptx
Acuerdo segundo periodo - Grado Sexto.pptxAcuerdo segundo periodo - Grado Sexto.pptx
Acuerdo segundo periodo - Grado Sexto.pptx
 
Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024
 
Sesión ¿Amor o egoísmo? Esa es la cuestión
Sesión  ¿Amor o egoísmo? Esa es la cuestiónSesión  ¿Amor o egoísmo? Esa es la cuestión
Sesión ¿Amor o egoísmo? Esa es la cuestión
 
Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.
 

Tabla De Transicion

  • 1. Autómatas y Lenguajes - Año 2007 ´ Teor´a 2: Automatas Finitos ı ´ Departamento de Informatica ´ Facultad de Cs. Fco. Matematicas y Naturales Universidad Nacional de San Luis San Luis - Argentina ´ ˜ Automatas y Lenguajes - Ano 2007– p.1/28 Autómata Finito Intuitivamente, como dispositivo reconocedor, un AF es una máquina abstracta con entradas y salidas discretas. Este tipo de máquina puede estar en uno de un número finito de estados internos. Dicho estado sumariza la información en relación a entradas previas que se necesitan para determinar el comportamiento del AF para la entrada remanente. ... Cinta (finita) Cabeza Lectora (Mov. implicito a derecha) q0 q1 q5 q4 q2 q3 UC ´ ˜ Automatas y Lenguajes - Ano 2007– p.2/28
  • 2. Ejemplo Analizaremos un ejemplo de un problema de la vida real cuya solución puede ser dada usando un autómata finito: que ocurre en el proceso de login a una computadora, desde el punto de vista de la computadora. Asumiendo por simplicidad que esta computadora acepta un único usuario a la vez. Inicialmente la computadora espera a que se tipee un nombre de usuario. Cuando se ingresa un nombre, verifica si el nombre es correcto o no. Si es válido, espera la contraseña. Si el nombre de usuario no es válido permanece en el estado inicial. Cuando una contarseña es escrita y es correcta, entonces acepta al usuario y comienza la sesión. Cuando la sesión termina emite una señal, retorna al estado inicial y espera por otro login. Si el password fue incorrecto, informa al usuario y espera uno correcto. Si el segundo password falla, vuelve al estado inicial y comienza de nuevo. ´ ˜ Automatas y Lenguajes - Ano 2007– p.3/28 Ejemplo (Cont.) Pensemos, sin tener todavía la definición formal de AF, como modelar el problema propuesto: ui fs ui: usuario incorrecto uc: usuario correcto uc pc 1 2 3 pi: password incorrecto pc: password correcto pi ´ fs: fin de sesion pi pc 4 1: espera usuario 2: espera password ´ 3: comienza sesion 4: espera password ´ ˜ Automatas y Lenguajes - Ano 2007– p.4/28
  • 3. Autómata Finito Determinístico (AFD) Damos ahora la noción formal de autómata finito, en particular la de autómata finito determinístico, el término determinístico se refiere al hecho de que desde cada entrada hay uno y sólo un estado al cual el autómata puede pasar desde el estado corriente. Definición formal: Un AF Determinístico (AFD) es una 5-tupla M = (Q, Σ, δ, q0 , F ), donde Q es un conjunto finito de estados, Σ el alfabeto de entrada, q0 ∈ Q el estado inicial, F ⊆ Q es el conjunto de estados finales. La función de transición, δ : Q × Σ → Q, es una función total. La función de transición toma como argumento un estado y un símbolo de la entrada y retorna un estado. En la representación que utilizamos en el ejemplo, δ fue representada por arcos entre los estados y los rótulos sobre los arcos. ´ ˜ Automatas y Lenguajes - Ano 2007– p.5/28 Notación La especficación de un AFD como una 5-tupla con una descripción detallada de la función de transición δ es bastante tediosa, por lo tanto hay dos notaciones utilizadas para describir autómatas: Un diagrama de transición. Una tabla de transición. Veamos un ejemplo, construyamos un AFD que reconoce el siguiente lenguaje, usando diagrama de transición y tabla de transición: ∗ L = {x ∈ {0, 1} |n0 (x) es par y mayor que 0} ´ ˜ Automatas y Lenguajes - Ano 2007– p.6/28
  • 4. 1 1 1 0 1 0 q0 q1 q2 0 → q0 q1 q0 0 q1 q2 q1 ∗q2 q1 q2 Autómata Finito Determinístico y Tabla de Transición ´ ˜ Automatas y Lenguajes - Ano 2007– p.7/28 Lenguaje aceptado por un AFD Informalmente podemos decir que un AFD define un lenguaje: el conjunto de todas las cadenas que se pueden obtener partiendo del estado incial y arribando a un estado final. Pero necesitamos precisar la noción de lenguaje aceptado por un AFD, para ello es necesario extender la ˆ función de transición a la que llamaremos δ. Dicha función toma como argumentos un estado y una ˆ cadena y da como resultado un estado: δ : Q × Σ∗ → Q. Definición recursiva: ˆ 1. δ(q, λ) = q ˆ ˆ δ(q, w) = δ(δ(q, x), σ) con σ ∈ Σ y x ∈ Σ∗ y w = xσ 2. ˆ Luego, una cadena w es aceptada por un AFD M = (Q, Σ, δ, q0 , F ) si δ(q0 , w) ∈ F , y se consumió toda la cadena. ˆ En consecuencia, el lenguaje aceptado por M es L(M ) = {w ∈ Σ∗ |δ(q0 , w) ∈ F }. La familia de lenguajes aceptados por AFs son los lenguajes Tipo 3 o Regulares. ´ ˜ Automatas y Lenguajes - Ano 2007– p.8/28
  • 5. ˆ Apliquemos la definición de δ para determinar si 100001 es aceptada por el autómata del ejemplo anterior: ˆ δ(q0 , λ) = q0 ˆ ˆ δ(q0 , 1) = δ(δ(q0 , λ), 1) = q0 ˆ ˆ δ(q0 , 10) = δ(δ(q0 , 1), 0) = q1 ˆ ˆ δ(q0 , 100) = δ(δ(q0 , 10), 0) = q2 ˆ ˆ δ(q0 , 1000) = δ(δ(q0 , 100), 0) = q1 ˆ ˆ δ(q0 , 10000) = δ(δ(q0 , 1000), 0) = q2 ˆ ˆ δ(q0 , 100001) = δ(δ(q0 , 10000), 1) = q2 Como partimos de q0 y llegamos al estado final q2 , la cadena es aceptada. ´ ˜ Automatas y Lenguajes - Ano 2007– p.9/28 Autómata Finito No Determinístico (AFND) Un autómata finito no determinístico tiene la potencia de estar en varios estados a la vez. Esta habilidad es expresada generalmente como una habilidad de adivinar algo sobre la entrada. Por ejemplo cuando el autómata es usado para buscar cierta secuencia de caracteres (por ejemplo: palabras claves) en un texto grande, es útil adivinar que está al comienzo de uno de aquellas cadenas y usar ciertos estados que no hacen nada más que chequear que la cadena aparezca caracter a caracter. Sin embargo, los AFND’s son simplemente otra versión de AF’s que no agregan potencia a los AFD’s, dado que los mismos aceptan lenguajes regulares. Pero en general los AFND’s permiten simplificar la tarea de diseño de un AF, y probablemente usar menos estados y transiciones para reconocer algún lenguaje particular. ´ ˜ Automatas y Lenguajes - Ano 2007– p.10/28
  • 6. Al igual que un AFD, un AFND tiene un conjunto finito de estados, un conjunto finito de símbolos, un estado de comienzo y un conjunto de estados de aceptación. También tiene una función de transición, la cual llamamos δ. Pero la diferencia radica precisamente en el tipo de δ, para el AFND esta función toma un estado y un símbolo de entrada como argumentos, pero retorna un conjunto de cero, uno o más estados. El concepto de no determinismo juega un rol central en teoría de lenguajes y computación. Veamos a continuación un ejemplo y luego daremos las formalizaciones necesarias. ´ ˜ Automatas y Lenguajes - Ano 2007– p.11/28 Ejemplo El siguiente ejemplo muestra dos autómatas que reconocen el lenguaje {11, 110}∗ {0}. El primero, con 6 estados es un AFD; mientras que el segundo es un AFND con 5 estados y 6 transiciones que refleja más claramente el lenguaje reconocido. q0 q1 1 0 0,1 1 1 q1 q2 q3 0,1 0 q0 q4 0 0 1 1 1 1 0 q4 q5 q2 q3 0 1 AFs Determinístico y NO-Determinístico que reconocen el lenguaje dado. ´ ˜ Automatas y Lenguajes - Ano 2007– p.12/28
  • 7. Veamos ahora que ocurre cuando queremos ver, en el AFND del ejemplo, si la cadena 111100 es aceptada: 1 1 1 1 0 q q q q q q 0 1 4 1 01 0 1 1 0 0q q q q q 3 0 4 2 2 1 q 3 De cada estado se disparan todas las posibles transiciones. Por lo tanto para determinar si una cadena es válida o no es necesario recorrer todos los caminos. ´ ˜ Automatas y Lenguajes - Ano 2007– p.13/28 Formalización de AFND’s Definición formal: Un AF No Determinístico (AFND) es una 5-tupla M = (Q, Σ, δ, q0 , F ), donde Q es un conjunto finito de estados, Σ el alfabeto de entrada, q0 ∈ Q el estado inicial, F ⊆ Q es el conjunto de estados finales. La función de transición, (δ : Q × Σ → 2Q ). Para el ejemplo dado definamos con una tabla de transición la función δ: 0 1 → q0 {q4 } {q1 , q2 } ∅ {q0 } q1 ∅ {q3 } q2 {q0 } ∅ q3 ∗q4 ∅ ∅ ´ ˜ Automatas y Lenguajes - Ano 2007– p.14/28
  • 8. Lenguaje aceptado por AFND’s ˆ Como con AFD’s, es necesario extender la función de transición, a la que llamaremos δ. Dicha función toma como argumentos un estado q y una cadena w y retorna como resultado el conjunto de estados en el que el AFND está si comienza en el estado q y procesa la cadena w: Definición recursiva: ˆ δ(q, λ) = {q} 1. ˆ ˆ δ(q, w) = {r1 , r2 , .., rm }, w = xσ, δ(q, x) = {p1 , p2 , .., pk } 2. y ∪k δ(pi , σ) = {r1 , r2 , .., rm } i=1 Lenguaje aceptado por un AFND ˆ Si M es un AFND, luego L(M ) = {w ∈ Σ∗ |δ(q0 , w) ∩ F = ∅}, y se consumió toda la cadena. ´ ˜ Automatas y Lenguajes - Ano 2007– p.15/28 Equivalencia entre AFD’s y AFND’s La prueba de que a partir de cualquier AFND se puede obtener un AFD equivalente, involucra una importante construcción llamada constucción del subconjunto, la cual implica construir todos los subconjuntos del conjunto de estados del AFND. En general muchas pruebas sobre autómatas involucran construir un autómata a partir de otro. La construcción del subconjunto comienza a partir de un AFND N = (QN , Σ, δN , q0 , FN ). El objetivo es construir un AFD D = (QD , Σ, δD , {q0 }, FD ) tal que L(D) = L(N ). QD es el conjunto de subconjuntos de QN , es decir es el conjunto potencia de QN . FD es el conjunto de subconjuntos S de QN tal que S ∩ FN = ∅ Para cada conjunto S ⊆ QN y para cada símbolo de entrada a ∈ Σ: δD (S, a) = ∪p∈S δN (p, a) ´ ˜ Automatas y Lenguajes - Ano 2007– p.16/28
  • 9. Ejemplo Veamos ahora con un ejemplo como realizar la construcción del subconjunto, dado el siguiente AFND: a q1 a a a q q b b 0 3 a a q 2 ´ ˜ Automatas y Lenguajes - Ano 2007– p.17/28 Ejemplo (Cont.) 1. Hallamos primero QD . 2. Luego FD . 3. Y por último δD . El autómata resultante es: a b {q , q } 12 a a {q } {q , q } 0 13 b b {} ´ ˜ Automatas y Lenguajes - Ano 2007– p.18/28
  • 10. Formalizacion equivalencia AFND - AFD Teorema: Si D = (QD , Σ, δD , {q0 }, FD ) es el AFD construído a partir del AFND N = (QN , Σ, δN , q0 , FN ) por la construcción del subconjunto, entonces L(D) = L(N ). Demostración: ˆ ˆ Lo que debemos probar es que δD ({q0 }, w) = δN (q0 , w), lo haremos por inducción sobre |w|. ˆ ˆ Notar que cada una de las funciones δ retorna un conjunto de estados desde QN , pero δD interpreta ˆ este conjunto como uno de los estados de QD (el cual es el conjunto potencia de QN ), mientras δN interpreta este conjunto como un subconjunto de QN . Base: ˆ ˆ Sea |w| = 0, esto es w = λ. Por las definiciones básicas de δ para AFD’s y AFND’s, ambas δD ({q0 }, λ) ˆ y δN (q0 , λ) son q0 . ´ ˜ Automatas y Lenguajes - Ano 2007– p.19/28 Inducción: Sea w de longitud n + 1, asumamos que la sentencia se cumple para longitud n. Tomemos w = xa, con ˆ ˆ a el símbolo final de w. Por la hipótesis inductiva δD ({qo }, x) = δN (q0 , x). Sean ambos de estos conjuntos de estados de N , {p1 , p2 , ..pk }. ˆ La parte inductiva de la definición de δ para AFND’s nos dice que: ˆ δN (q0 , w) = ∪k δN (pi , a) (1) i=1 La consturcción del subconjunto nos dice por otro lado que: δD ({p1 , p2 , .., pk }, a) = ∪k δN (pi , a) (2) i=1 ˆ ˆ Usemos (2) y el hecho que δ({q0 }, x) = {p1 , p2 , .., pk } en la definición de δ para AFD’s: ˆ ˆ δ({q0 }, w) = δD (δD ({q0 }, x), a) = δD ({p1 , p2 , .., pk }, a) = ∪k δN (pi , a) (3) i=1 ˆ ˆ Las ecuaciones (1) y (3) demuestran que δD ({q0 }, w) = δN (q0 , w). ˆ ˆ Cuando observamos que D y N aceptan w sí y sólo sí δD ({q0 }, w) o δN (q0 , w), respectivamente, contienen un estado en FN , completamos la prueba de que L(D) = L(N ). ´ ˜ Automatas y Lenguajes - Ano 2007– p.20/28
  • 11. Autómatas Finitos No Determinísticos con transiciones ǫ Introducimos ahora otra extensión de los autómatas finitos, la idea es permitir transiciones espontáneas, sin recibir un símbolo de entrada. Se utilizan para ello las transiciones ǫ, es decir, transiciones vía la cadena vacía. Como con AFND’s, esta nueva capacidad no agrega potencia, es decir que no expande la clase de los lenguajes aceptados por autómatas finitos. Sin embargo proveen ciertas facilidades para programación y también veremos como los AFND-ǫ están relacionados a las expresiones regulares y los usaremos en la prueba de la equivalencia entre las clases aceptados por autómatas finitos y las denotadas por expresiones regulares. A continuación veremos con un ejemplo un posible uso de estos AFND-ǫ: ´ ˜ Automatas y Lenguajes - Ano 2007– p.21/28 Ejemplo Construyamos un AFND-ǫ que acepta números decimales consistentes de: 1. Un signo + o − opcional. 2. Una cadena de dígitos. 3. Un punto decimal. 4. Otra cadena de dígitos, esta cadena de dígitos, o la del punto 2. pueden ser vacía, no las dos. 0,1,..,9 0,1,..,9 ε ,+,− ε 0,1,..,9 . q1 q q q q 5 0 2 3 0,1,..,9 . q4 ´ ˜ Automatas y Lenguajes - Ano 2007– p.22/28
  • 12. Formalización de AFND’s con tarnsiciones ǫ Definición formal: Un AFND-ǫ se define de igual forma que un AFND, solo que es necesario incluir información sobre las transiciones ǫ. Formalmente un AFND-ǫ A es A = (Q, Σ, δ, q0 , F ) con las componentes significando lo mismo que con AFND, excepto que δ es ahora una función que toma como argumentos un estado de Q y un miembro de Σ ∪ {ǫ}. Necesitamos ahora extender la función de transición para poder así definir lenguaje aceptado por AFND-ǫ, pero para ello es necesario definir antes ǫ − clausura de un estado, informalmente la ǫ − clausura(q) es el conjunto de todos los estados p tal que hay un paso desde q a p rotulado ǫ. ´ ˜ Automatas y Lenguajes - Ano 2007– p.23/28 Definición recursiva de ǫ − clausura: 1. ǫ − clausura(q) = {q} 2. Si el estado p está en la ǫ − clausura(q), y hay una transición desde el estado p al estado r rotulado ǫ, entonces r está en la ǫ − clausura(q). Más precisamente, si δ es la función de transición del AFND-ǫ, y p está en la ǫ − clausura(q), entonces la ǫ − clausura(q) también contiene todos los estados en δ(p, ǫ). ˆ Ahoara definiremos la función de transición extendida δ: ´ ˜ Automatas y Lenguajes - Ano 2007– p.24/28
  • 13. ˆ Definición recursiva de δ: ˆ 1. δ(q, ǫ) = ǫ − clausura(q) 2. Suponemos que w es de la forma xa, donde a es el último símbolo de w, con a ∈ Σ, el cual no puede ser ǫ dado que no pertenece a Σ. ˆ Entonces computamos δ(q, w) como sigue: ˆ a) Sea δ(q, x) = {p1 , p2 , .., pk }. b) Sea ∪k δ(pi , a) = {r1 , r2 , .., rm } i=1 ˆ c) Entnces δ(q, w) = ∪m ǫ − clausura(rj ). j=1 Lenguaje aceptado por un AFND-ǫ: Sea E = (Q, Σ, δ, q0 , F ) un AFND-ǫ, se define lenguaje aceptado por E como: ˆ L(E) = {w ∈ Σ∗ |δ(q0 , w) ∩ F = ∅} ´ ˜ Automatas y Lenguajes - Ano 2007– p.25/28 Eliminando las transiciones ǫ Dado cualquier AFND-ǫ E, podemos encontrar un AFD D que acepte el mismo lenguaje que E. La construcción es muy similar a la de la construcción del subconjunto, sólo que debemos incorporar las transiciones ǫ de E, para lo cual debemos utilizar la ǫ − clausura: Sea E = (QE , Σ, δE , q0 , FE ). Entonces el AFD equivalente D = (QD , Σ, δD , qD , FD ) se define como sigue: ´ ˜ Automatas y Lenguajes - Ano 2007– p.26/28
  • 14. 1. QD es el conjunto de subconjuntos de QE . 2. qD = ǫ − clausura(q0 ). 3. FD es aquellos conjuntos de estados que contienen al menos un estado de aceptación de E. Esto es, FD = {S|S está en QD y S ∩ FE = ∅}. 4. δ(S, a), para todo a ∈ Σ y los conjuntos S en QD , es computada de la siguiente manera: a) Sea S = {p1 , p2 , .., pk }. b) Obtener ∪k δE (pi , a), sea este conjunto {r1 , r2 , .., rm }. i=1 c) Entonces δD (S, a) = ∪m ǫ − clausura(rj ). j=1 ´ ˜ Automatas y Lenguajes - Ano 2007– p.27/28 Ejemplo Apliquemos esta construcción para eliminar las transiciones ǫ del ejemplo correspondiente a los números decimales, esta construcción se da en clase. Teorema: Un lenguaje L es aceptado por algún AFND-ǫ sí y sólo sí L es aceptado por algún AFD. Demostración: Ver bibliografía, página 79, Introduction to Automata Theory, Languages and Computation - Hopcroft - Ullman - Motwani. ´ ˜ Automatas y Lenguajes - Ano 2007– p.28/28