Université Paris Diderot

Anuncio
Todo lo que querı́as saber
sobre autómatas y nunca
te atreviste a preguntar
Jean-Éric Pin1
1
LIAFA, CNRS y universidad Paris Diderot
Marzo 2014, Buenos Aires
LIAFA, CNRS et Université Paris Diderot
Plan
(1)
(2)
(3)
(4)
Historia
Ejemplos y uso práctico
Autómatas secuenciales
Teorema de Kleene
LIAFA, CNRS et Université Paris Diderot
Parte I
Historia
LIAFA, CNRS et Université Paris Diderot
Los precursores
A, A, ⊲
0
A, A, ⊲
a, ♯, ⊲
4
♯, ♯, ⊲
5
a, a, ⊲
a, A, ⊲
a, ♯, ⊲
a, a, ⊳
A, A, ⊳
1
♯, ♯, ⊳
2
3
Turing (1936)
Máquina de Turing
a, a, ⊲
A, A, ⊲
A, A, ⊲
McCulloch et Pitts (1943)
Red neuronal
Shannon (1948)
LIAFA, CNRS et Université Paris Diderot
Los fundadores
Kleene (1951, 1956)
Equivalencia entre autómatas
y expresiones regulares.
Schützenberger (1956):
Teorı́a algebraica de autómatas
Chomsky (1956):
Jerarquı́a de Chomsky
LIAFA, CNRS et Université Paris Diderot
Parte II
Ejemplos y uso práctico
LIAFA, CNRS et Université Paris Diderot
Potencias de 2 (Sistema binario).
Las potencias de 2 se caracterizan por representarse
de la forma 100 · · · 0 en el sistema binario.
El
El
El
El
número
número
número
número
2 se escribe como 10,
4 se escribe como 100,
8 se escribe como 1000,
16 se escribe como 10000 . . .
0
0
1
1
LIAFA, CNRS et Université Paris Diderot
Los múltiplos de 3
1
0
0
0
1
1
2
1
0
330 = 256 + 64 + 8 + 2
El número 330 se escribe como 101001010.
LIAFA, CNRS et Université Paris Diderot
Palabras
Alfabeto = Conjunto finito de sı́mbolos: {a, b, c},
{0, 1}
Palabra = Una cadena finita formada por la
concatenación de sı́mbolos: bab, ababb, 001, 1011
Palabra vacı́a (notación 1 o ε): es la única palabra
que tiene 0 sı́mbolos.
Concatenación (o Producto) de abra y cadabra:
abracadabra.
A∗ = El conjunto de todas las palabras sobre un
alfabeto A.
LIAFA, CNRS et Université Paris Diderot
Código de entrada a un edificio (en binario) 01001
1
1
0
0
0
1
1
0
1
2
0
3
0
4
1
5
1
0
LIAFA, CNRS et Université Paris Diderot
Algunos usos de los autómatas
• Lingüı́stica
• Modelado
• Analizador léxico, algoritmo de búsqueda de
cadenas
• Ingenierı́a automática: especificación de
sistemas de eventos discretos
• Especificación, verificación formal y sı́ntesis
• Matemática: lógica, grupos automáticos
LIAFA, CNRS et Université Paris Diderot
Diccionario
A
B
L
N
S
P
N
D
X
O
U
Autómata para {BAL, BAN, BALS, BANS, PAL,
PALS, PAN, PANS, DO, DON, DONS, DOUX}.
LIAFA, CNRS et Université Paris Diderot
Comparación
Para un diccionario de Scrabble Inglés, una
representación en árbol requiere 117 150 nodos y
780 kbytes de memoria.
La representación por autómatas requiere sólo 19
853 estados y 175 kbytes de memoria, es decir una
ganancia de casi un 80 %.
LIAFA, CNRS et Université Paris Diderot
Partı́culas preverbales en francés (Maurice Gross)
je → je, tu, nous, vous, on, ce lui → lui, leur, me → me, te, nous, vous il → il, ils, elle, elles
le → le, la, les, - ne → ne, - y → y, - en → en, se → se, je
ne le
lui
y
il
ne me
ne
en
le
se
LIAFA, CNRS et Université Paris Diderot
El Lobo, la Cabra y la Lechuga
Un pastor tiene que pasar un lobo, una cabra y una
lechuga a la otra orilla de un rı́o. Dispone de una
barca en la que sólo caben él y una de las otras tres
cosas.
Si el lobo se queda solo con la cabra, se la come. Si
la cabra se queda sola con la lechuga, se la come.
¿Cómo debe hacerlo?
LIAFA, CNRS et Université Paris Diderot
El Lobo, la Cabra y la Lechuga
Pastor: P Lobo: L
Cabra: C Verdura: V
Rió:
CLP V
LV
V
LP V
CLP
CP V
L
CP
C
L CP V
C LP V
CLP V
CP LV
CLP V
Dos soluciones de longitud mı́nima.
LIAFA, CNRS et Université Paris Diderot
Parte III
Autómatas secuenciales
LIAFA, CNRS et Université Paris Diderot
Codificación y descodificación
Codificación
a → 0 b → 1010 c → 100 d → 1011 r → 11
Descodificación
1|d
1|r
1|ε
1|ε
0|b
0|ε
0|a
0|c
LIAFA, CNRS et Université Paris Diderot
Descodificación
a → 0 b → 1010 c → 100 d → 1011 r → 11
0|a
1|ε
1
2
1|r
0|b
1|d
4
0|c
1|ε
0|ε
3
010101101000101101010110 → abracadabra
LIAFA, CNRS et Université Paris Diderot
Un autómata secuencial para la función n → 6n
0
0|0
0
ε
1|1
1|0
1
0|1
1
1|1
2
0|0
01
185 = 1 + 8 + 16 + 32 + 128 y
6 × 185 = 1110 = 2 + 4 + 16 + 64 + 1024.
En binario inverso, 185 se escribe como 10011101 y
1110 se escribe como 01101010001.
Por tanto 10011101 → 01101010001
LIAFA, CNRS et Université Paris Diderot
Conjetura de Collatz
(
3n + 1 si n es impar
Sea f (n) =
n/2
si n es par
Dado un número cualquiera, consideramos las
imágenes sucesivas al iterar la función. Por ejemplo,
si n = 13: 13, 40, 20, 10, 5, 16, 8, 4, 2, 1, 4, 2, 1.
La conjetura dice que siempre alcanzaremos el 1
para cualquier número con el que comencemos.
LIAFA, CNRS et Université Paris Diderot
Sucesiones de iteración. . .
31, 94, 47, 142, 71, 214, 107, 322, 161, 484, 242,
121, 364, 182, 91, 274, 137, 412, 206, 103, 310,
155, 466, 233, 700, 350, 175, 526, 263, 790, 395,
1186, 593, 1780, 890, 445, 1336, 668, 334, 167,
502, 251, 754, 377, 1132, 566, 283, 850, 425, 1276,
638, 319, 958, 479, 1438, 719, 2158, 1079, 3238,
1619, 4858, 2429, 7288, 3644, 1822, 911, 2734,
1367, 4102, 2051, 6154, 3077, 9232, 4616, 2308,
1154, 577, 1732, 866, 433, 1300, 650, 325, 976,
488, 244, 122, 61, 184, 92, 46, 23, 70, 35, 106, 53,
160, 80, 40, 20, 10, 5, 16, 8, 4, 2, 1.
LIAFA, CNRS et Université Paris Diderot
Un autómata secuencial para la función de Collatz
(
3n + 1 si n es impar
Sea f (n) =
n/2
si n es par
0|0
1|1
2
ε
1|1
0|ε
1
ε
1|0
0|0
0|0
3
01
0|1
4
1|0
1
5
1|1
ε
En binario inverso: f (61) = 184
1 0 1 1 1 1
61 = 1 + 4 + 8 + 16 + 32
0 0 0 1 1 1 01 184 = 8 + 16 + 32 + 128
LIAFA, CNRS et Université Paris Diderot
Parte IV
Teorema de Kleene
LIAFA, CNRS et Université Paris Diderot
Lenguajes
Lenguaje = conjunto de palabras = subconjunto de
A∗
Unión: L1 + L2 = {u ∈ A∗ | u ∈ L1 o u ∈ L2}
Complemento: Lc = {u ∈ A∗ | u ∈
/ L}
Producto: L1L2 = {u1u2 | u1 ∈ L1 y u2 ∈ L2 }
Potencia: Ln = {u1u2 · · · un | u1 , . . . , un ∈ L}
Estrella:
L∗ = {u1u2 · · · un | n > 0 y u1 , . . . , un ∈ L} =
L∗ = 1 + L + L2 + · · ·
LIAFA, CNRS et Université Paris Diderot
Lenguajes regulares
Se construyen a partir de las palabras con ayuda de
las operaciones unión, producto, estrella:
((ab)∗ca∗ + cbac∗ b)∗
Theorem (Kleene 1956)
Un lenguaje es regular si, y sólo si, es aceptado por
un autómata finito.
Consecuencia: los lenguajes regulares son cerrados
para complemento y para la intersección finita.
LIAFA, CNRS et Université Paris Diderot
De los autómatas a los lenguajes regulares
b
a
1
Ecuaciones
2
a, b
X1 = bX1 + aX2
X2 = (a + b)X1 + 1
Sustituyendo X2 en la primera ecuación:
X1 = (b + aa + ab)X1 + a
obtenemos una ecuación del tipo X = KX + L.
LIAFA, CNRS et Université Paris Diderot
La ecuación X = KX + L
Una solución. . . de un fı́sico!
X = KX + L ⇐⇒ X − KX = L ⇐⇒
(1 − K)X = L ⇐⇒ X = (1 − K)−1L
Luego (1 − K)−1 = 1 + K + K 2 + . . . = K ∗. Por
tanto X = K ∗L es solución de X = KX + L.
Aquı́ X1 = (b + aa + ab)X1 + a tiene como
b
∗
a
solución X1 = (b + aa + ab) a
1
2
a, b
LIAFA, CNRS et Université Paris Diderot
Un juego
El jugador tiene los ojos vendados. El objetivo es
tener las cuatro fichas del lado blanco.
0
1
a
o
3
4
Las diferentes configuraciones.
LIAFA, CNRS et Université Paris Diderot
Las reglas del juego
El jugador puede girar tantas fichas como desee,
pero sin cambiarlas de sitio. En cada vuelta, el
maestro de juego anuncia si la configuración
resultante es ganadora o no, entonces gira la
bandeja 0, 90, 180 o 270 grados.
¿Podemos ganar con seguridad?
¿En cuántos disparos?
LIAFA, CNRS et Université Paris Diderot
Descargar