Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Autómatas
AF no
funcionamiento δ - ampliada
determinista
no determinismo ε - movimientos
Lenguajes
Aplicaciones
regulares
1
Autómatas
Máquina combinacional
salida(t) f(entrada)
Sólo depende
de la entrada
actual entrada(t)
2
Máquina secuencial
historia
Φ(entrada,historia)
salida(t)
entrada(t)
Fundamentos de Informática I. ITI Sistemas - (C) César Llamas, UVA, 2004 5
Noción de estado
entrada(t) salida(t)
… …
estado(t) estado(t+1)
3
Autómatas y Lenguajes
• Traductores L L’
entrada A salida
Grafos dirigidos
alfabeto de símbolos de transición (E)+
alfabeto de símbolos de nodos (Q) +
Relación {(q, e, q’)}, donde
• q, q’ ∈ Q
e1
•e∈E q3
e3 q1 e2
q5
q2 e2 …
e1 q4 …
Fundamentos de Informática I. ITI Sistemas - (C) César Llamas, UVA, 2004 8
4
Representación de autómatas
Autómatas y tiempo
e e A s s
+ tiempo
e
e e A s s
c
reloj
5
Ejemplo de autómata (1)
a/1 et qt f( ) g( )
q3 a/0 a q1 q1 0
b/0 b q1 q2 1
b/0 a q2 q3 0
q1 q2 b q2 q2 0
a/0 a q3 q3 1
b/1
b q3 q1 0
6
Autómata finito determinista ejecución
Representación de Mealy
et qt f( ) g( )
ek/sm
qi
e k qi qj sm
qj
f: E × Q → Q
g: E × Q → S
7
Operación del autómata de Mealy
a/0
q3 c/0 a/0,
b/0
b/0,
b/1 c/0
q1 q4
a/1
a/0 q2 c/0
b/0
c/0
s ← q1; // define el estado inicial
Variables: mientras (e Å lee_entrada()) {
e: entrada emite( g(e, s) );
s: estado s Å f(e, s);
}
Fundamentos de Informática I. ITI Sistemas - (C) César Llamas, UVA, 2004 15
Representación de Moore
et qt f( )/g( )
ek
qi/sn
qj/sm e k qi qj/sm
f: E × Q → Q
g: Q → S
8
Ejemplo en la representación de Moore
a
q3/1 a
b
b
q1/0 q5/0
a
a
b a
q4/1 q2/0
¿Podemos hablar b b
del elemento
vacío (ε)?
Fundamentos de Informática I. ITI Sistemas - (C) César Llamas, UVA, 2004 17
9
Autómatas aceptores de lenguajes
A = 〈Q, Σ, δ, q0, F〉
Q, alfabeto de símbolos de estado
• q0 es el estado inicial
F, alfabeto, no vacío, de estados
aceptores, extraído de Q.
Σ, alfabeto de símbolos de entrada.
δ, función de transición Q×Σ→Q.
10
Autómatas aceptores ejecución
símbolos Autómata si
reconocedor
entrada
reinicia
1. Pulsar reinicia
2. Mientras haya símbolos, hacer:
1. Alimentar símbolo
2. Si está en un estado de F, encender
bombilla
11
Autómatas aceptores diseño
Notación postfija:
(((⊥⇒⊥)∧T)∨(¬⊥))⇒T)
debe escribirse como
⊥⊥⇒T∧⊥¬∨T⇒
Los símbolos se van proporcionando
ordenadamente
⊥⊥⇒T∧⊥¬∨T⇒
12
Intérprete de L. Propoposicional en notación posfija
*
T T⊥ TT
qee
∨∧⇒ ⇒∧∨ ¬ ¬
∨∧⇒¬ T ⊥ T⊥
∨
T T⊥
T⊥ ⇒∧
q00 ∨∧⇒ ¬
⇒∨
¬ T ⊥T
⊥
∧
¬ ¬
⊥ ⊥ T⊥
⇒ ∧∨
⊥⊥
Fundamentos de Informática I. ITI Sistemas - (C) César Llamas, UVA, 2004 25
ε
q00 w
a
δ*(q,w)
δ(δ*(q,w),a)
13
Autómatas aceptores delta-ampliada
Nociones:
• Función de transición ampliada
• Cadena aceptada por un autómata
• Lenguaje aceptado por un autómata
Peculiaridad:
δ: Q×Σ→2Q.
Para ciertos estados, frente a una misma
entrada, son posibles diversas transiciones.
Problema gordo:
¿por cuál nos decidimos?
Respuesta gorda:
Por todos a la vez.
Respuesta refinada:
Por el que sea preciso, pero no
necesariamente.
… Hay que meditarlo un poco más.
14
AFND ejemplo
A=〈{q0, q1, q2, q3, q4}, {0, 1}, δ, q0, {q2, q4}〉
Q Σ F
0 0 entrada
q00 q33 q44
estado 0 1
1
01 q0 {q0, q3 } {q0, q1 }
q11 01
q1 ∅ {q2}
1 ¿cómo validamos q2 {q2} {q2}
si una cadena
q22 es aceptable? q3 {q4} ∅
q4 {q4} {q4}
01
Fundamentos de Informática I. ITI Sistemas - (C) César Llamas, UVA, 2004 29
origen a
E
O
encrucijada
N
a
destino
15
AFND características
16
AFND cálculo de aceptación - ejemplo
0 01
0
q00 q33 q44 Problema:
«01001»
1
01
q11 0
q0 0
1 q3 1 q0 1
q22 q1 q0 0
0
01 0
q3 0
q0 0
1 q4 q3 1 q0 1
q4 q1 q0
Fundamentos de Informática I. ITI Sistemas - (C) César Llamas, UVA, 2004 33
17
Autómatas aceptores delta-ampliada
δ*: Q×Σ*→2Q, da el conjunto de estados donde lleva una cadena.
Puede haber varias cadenas de estados.
1. δ*(q,ε)={q}
2. δ*(q,wa)={p | para algún estado r en δ*(q,w), p ∈ δ(r,a)}
δ*(q,wa)
δ*(q,w)
ε
r11 a
q00 w
…
…
a
ri pi,1
rnn … a pi,2
pi,k …
…
Fundamentos de Informática I. ITI Sistemas - (C) César Llamas, UVA, 2004 35
entradas
estado 0 1 2 ε
q0 {q0} ∅ ∅ {q1}
q1 ∅ {q1} ∅ {q2}
q2 ∅ ∅ {q2} ∅
Fundamentos de Informática I. ITI Sistemas - (C) César Llamas, UVA, 2004 36
18
AFND con ε-movimientos AFND con ε-cierre
0 2 3
ε ε
q00 q11 q22
0 2 3
0, 1 0, 1, 3
q00 q11 q22
entradas
estado 0 1 2
q0 {q0, q1, q2 } {q1, q2} {q2}
q1 ∅ {q1, q2} {q2}
q2 ∅ ∅ {q2}
Fundamentos de Informática I. ITI Sistemas - (C) César Llamas, UVA, 2004 37
19
No determinismo y programación
Expresiones regulares
20
Conjuntos regulares ejemplo
i= 0
Fundamentos de Informática I. ITI Sistemas - (C) César Llamas, UVA, 2004 42
21
Conjuntos regulares expresiones regulares
R= {a,b,aa,ab}, y S = {c}
• (r+s) representa {a, b, aa, ab, c}
• (rs) representa {ac, bc, aac, abc}
• (r*) representa {ε, a, b, aa, ab, aaa, aab,
baa, …}, es decir equivale a (t*), donde t
representa a T= {a,b}.
• (s (r+s)) representa {ca, cb, caa, cab, cc}
• (((s*) r) s) representa un conjunto como
{ac, cac, ccac, bc, cbc, ccbc, …}
22
Conjuntos regulares aplicación
Traducción de un programa a
otro lenguaje
Programa Programa
fuente Analizador de … objeto
tokens
Otros analizadores
Tokens en Algol:
• letra: A + B + … + Z + a + b + … + z
• dígito: 0 + 1 + … + 9
• identificador: (letra)((letra + digito)*)
como “a”, “abc”, “a45”, …
• nnatural: (digito)(digito*)
como “3”, “443”, …
• nentero: (+ + – + ε)(nnatural)
como “+4”, “-83”, “15”, …
23
Lenguajes regulares Ejemplos de aplicación
24
Redes de Petri
Lugar
Marca
Arco de Arco de
entrada salida Transición
Fundamentos de Informática I. ITI Sistemas - (C) César Llamas, UVA, 2004 49
25
Autómatas estocásticos
entrenamiento Simultánea a
la operación,
o en dos fases
26