Documentos de Académico
Documentos de Profesional
Documentos de Cultura
José L. Ramı́rez
Departamento de Matemáticas
Universidad Nacional de Colombia
Inicio
El Problema del dispensador de Naranjas
I $ 500 ! Q, $ 1000 ! M .
I Boton para reclamar el jugo ! B.
I ⌃ = {Q, M, D, B}.
Q
Inicio 500
El Problema del dispensador de Naranjas
I $ 500 ! Q, $ 1000 ! M .
I Boton para reclamar el jugo ! B.
I ⌃ = {Q, M, D, B}.
Q Q
Inicio 500 1000
El Problema del dispensador de Naranjas
I $ 500 ! Q, $ 1000 ! M .
I Boton para reclamar el jugo ! B.
I ⌃ = {Q, M, D, B}.
M
Q Q
Inicio 500 1000
El Problema del dispensador de Naranjas
I $ 500 ! Q, $ 1000 ! M .
I Boton para reclamar el jugo ! B.
I ⌃ = {Q, M, D, B}.
M
Q Q
Inicio 500 1000 1500 2000 2500
El Problema del dispensador de Naranjas
I $ 500 ! Q, $ 1000 ! M .
I Boton para reclamar el jugo ! B.
I ⌃ = {Q, M, D, B}.
M
Q Q Q Q Q
Inicio 5 10 15 20 25
El Problema del dispensador de Naranjas
I $ 500 ! Q, $ 1000 ! M .
I Boton para reclamar el jugo ! B.
I ⌃ = {Q, M, D, B}.
B
M
Q Q Q Q Q
Inicio 5 10 15 20 25
El Problema del dispensador de Naranjas
I $ 500 ! Q, $ 1000 ! M .
I Boton para reclamar el jugo ! B.
I ⌃ = {Q, M, D, B}.
M M M M M
Q Q Q Q Q
O
I 5 10 15 20 25 30
El Problema del dispensador de Naranjas
I $ 500 ! Q, $ 1000 ! M .
I Boton para reclamar el jugo ! B.
I ⌃ = {Q, M, D, B}.
M M M M M
Q Q Q Q Q
I 5 10 15 20 25 30
B
El Problema del dispensador de Naranjas
I $ 500 ! Q, $ 1000 ! M .
I Boton para reclamar el jugo ! B.
I ⌃ = {Q, M, D, B}.
X
M M M M M
B
Q Q Q Q Q
I 5 10 15 20 25 30
B B B B
B
B
M M M M M
B
Q Q Q Q Q
I 5 10 15 20 25 30
B B B B
M M M M M
B
Q Q Q Q Q
I 5 10 15 20 25 30
B B B B
M M M M M
B
Q Q Q Q Q
I 5 10 15 20 25 30
B B B B
x
QBBQM
B
M M M M M
B
Foppa
Q Q Q Q Q
I 5 10 15 20 25 30
B B B B
M M M M M
B
Q Q Q Q Q
I 5 10 15 20 25 30
B B B B
M M M M M
B
Q Q Q Q Q
I 5 10 15 20 25 30
B B B B
M M M M M
B
Q Q Q Q Q
O OO
I 5 10 15 20 25 30
B B B B
Il
q 7
pg
O
to
Tema 2
0
Autómatas Finitos No Deterministas
EEE
0
To
Lenguajes Regulares
Otros Modelos
AFD
Un autómata finito determinista (AFD) M es una quintupla
M = (⌃, Q, q0 , F, ), donde:
I ⌃ es un alfabeto llamado alfabeto de cinta. Todas las
cadenas que procesa M pertenecen a ⌃⇤ .
AFD
Un autómata finito determinista (AFD) M es una quintupla
M = (⌃, Q, q0 , F, ), donde:
I ⌃ es un alfabeto llamado alfabeto de cinta. Todas las
cadenas que procesa M pertenecen a ⌃⇤ .
I Q = {q0 , q1 , . . . , qn } es un conjunto de estados internos
del autómata.
AFD
i
Un autómata finito determinista (AFD) M es una quintupla
M = (⌃, Q, q0 , F, ), donde:
I ⌃ es un alfabeto llamado alfabeto de cinta. Todas las
cadenas que procesa M pertenecen a ⌃⇤ .
I Q = {q0 , q1 , . . . , qn } es un conjunto de estados internos
del autómata.
I q0 2 Q es el estado inicial.
O
AFD
Un autómata finito determinista (AFD) M es una quintupla
M = (⌃, Q, q0 , F, ), donde:
I ⌃ es un alfabeto llamado alfabeto de cinta. Todas las
cadenas que procesa M pertenecen a ⌃⇤ .
I Q = {q0 , q1 , . . . , qn } es un conjunto de estados internos
del autómata.
I q0 2 Q es el estado inicial.
I F ✓ Q es un conjunto de estados finales o de aceptación,
8
F 6= ;.
AFD
I
Un autómata finito determinista (AFD) M es una quintupla
M = (⌃, Q, q0 , F, ), donde:
I ⌃ es un alfabeto llamado alfabeto de cinta. Todas las
cadenas que procesa M pertenecen a ⌃⇤ .
I Q = {q0 , q1 , . . . , qn } es un conjunto de estados internos
del autómata.
I q0 2 Q es el estado inicial.
I F ✓ Q es un conjunto de estados finales o de aceptación,
F 6= ;.
F tiene al menus µ estado
I La función de transición del autómata
:Q⇥⌃ !Q
(q, a) 7 ! (q, a)
Ejemplo
Considere autómata M = (⌃, Q, q0 , F, ), donde ⌃ = {0, 1},
0
Q = {q0 , q1 , q2 }, F = {q2 } y está definida tabularmente por:
0 1
814,11 91 q0 q0
I
q1 8191,11 92
q1 q1 q2
q2 q2 q2 8192,01 92
Procesamiento de la cadena de entrada w = 10100 ;
O
rojasa
e
to
cow II
II k 4.1
Ejemplo
Considere autómata M = (⌃, Q, q0 , F, ), donde ⌃ = {0, 1},
Q = {q0 , q1 , q2 }, F = {q2 } y está definida tabularmente por:
0 1
q0 q0 q1
q1 q1 q2
q2 q2 q2
motto
O
o
Paso Computacional
Cadena Vacı́a
I La cadena se procesa completamente ya que la función está
definida para toda pareja (q, a) 2 Q ⇥ ⌃.
I La cadena se procesa completamente ya que la función está
definida para toda pareja (q, a) 2 Q ⇥ ⌃.
O
I Si q 2 Q este se representa por:
M = (⌃, Q, q0 , F, )
Diagrama de transición de un autómata:
I Grafo etiquetado y dirigido con |Q| vértices.
I Cada uno de los vértices del grafo esta etiquetado con cada
uno de los estados de Q.
q
I Si q 2 Q este se representa por:
q
I Si q 2 F este se representa por:
M = (⌃, Q, q0 , F, )
Diagrama de transición de un autómata:
I Grafo etiquetado y dirigido con |Q| vértices.
I Cada uno de los vértices del grafo esta etiquetado con cada
uno de los estados de Q.
q
I Si q 2 Q este se representa por:
q
I Si q 2 F este se representa por:
q0
I El estado inicial q0 se representa como:
M = (⌃, Q, q0 , F, )
Diagrama de transición de un autómata:
I Grafo etiquetado y dirigido con |Q| vértices.
I Cada uno de los vértices del grafo esta etiquetado con cada
uno de los estados de Q.
q
I Si q 2 Q este se representa por:
q
I Si q 2 F este se representa por:
q0
I El estado inicial q0 se representa como:
a
q q0
I Si (q, a) = q 0 se representa como:
ai 2
Una cadena w es aceptada por un autómata M si y sólo si existe
una trayectoria en el diagrama de transición del autómata M
etiquetada con los sı́mbolos de w que comienza en el vértice q0 y
termina en un estado de aceptación.
Una cadena w es aceptada por un autómata M si y sólo si existe
una trayectoria en el diagrama de transición del autómata M
etiquetada con los sı́mbolos de w que comienza en el vértice q0 y
termina en un estado de aceptación.
Ejemplo
Considere autómata M = (⌃, Q, q0 , F, ), donde ⌃ = {0, 1},
Q = {q0 , q1 , q2 }, F = {q2 } y está definida tabularmente por:
0 1
I
q0 q0 q1
q1 q1 q2
q2 q2 q2
0, 1
Link
0 0
q0
1
q1
1
q2
iii Is
Una cadena w es aceptada por un autómata M si y sólo si existe
una trayectoria en el diagrama de transición del autómata M
etiquetada con los sı́mbolos de w que comienza en el vértice q0 y
termina en un estado de aceptación.
Ejemplo
Considere autómata M = (⌃, Q, q0 , F, ), donde ⌃ = {0, 1},
Q = {q0 , q1 , q2 }, F = {q2 } y está definida tabularmente por:
0 1
q0 q0 q1
q1 q1 q2
q2 q2 q2
0 0 0, 1
1 1
q0 q1 q2
q3
Los arcos no dibujadas explı́citamente conducen a un estado limbo
de no-aceptación.
M M
b b
a
b b b
q0 q1 q2
a
a b
a q0 q1 q2
a, b
e a
q3
2 1 b v ve
3
w
L M we
y Maes par
¡Ejemplos!
Ejemplo
Describa el lenguaje aceptado por el autómata M sobre el alfabeto
⌃ = {0, 1} que se muestra en el siguiente diagrama:
M
1 0
0
UM 0011 0
0
0
q0 q1 q2
week If'y
020,1
we 1010
Ejemplo
Diseñe un AFD que acepte el lenguaje de todas las cadenas que
contienen la subcadena aa, sobre el alfabeto ⌃ = {a, b, c}.
Akc
0k
it is a sea
me
Ejemplo
Diseñe un AFD que acepte el lenguaje de todas las cadenas que
contienen la subcadena aa, sobre el alfabeto ⌃ = {a, b, c}.
b, c a, b, c
a
a
q0 q1 q2
b, c
Ejemplo
Diseñe un AFD que acepte el lenguaje L2 , donde
L = {w 2 ⌃⇤ : w = 0u0, u 2 ⌃⇤ }.
Ejemplo
Diseñe un AFD que acepte el lenguaje L2 , donde
L = {w 2 ⌃⇤ : w = 0u0, u 2 ⌃⇤ }.
1 1 0
0 0
0 0
q0 q1 q2 q3 q4
1 1
L(M) = {0u00v0 : u, v 2 ⌃⇤ }
Ejercicio
Diseñe un autómata que acepte todas las cadenas binarias tal que
el número de 1’s es múltiplo de 4. Es decir
L(M) = {w 2 {0, 1}⇤ : |w|1 ⌘ 0 mod 4}.
Próxima Sesión:
Autómatas finitos
no-deterministas.