Glushkov Aut´omatas probabil´ısticos Aut´omatas de ´ arboles
Rafael C. Carrasco Jim´enez
Departamento de Lenguajes y Sistemas Inform´aticos
Universidad de Alicante Febrero 2006
Teor´ıa de aut´omatas para investigadores en XML RCC Aut´omatas de Glushkov Aut´omatas probabil´ısticos Aut´omatas de ´ arboles
Aut´
omatas finitos de cadenas
Un DFA (deterministic finite-state automaton) es una
representaci´on (grafo) de un procedimiento computable que
investigadores en XML RCC Aut´omatas de Glushkov Aut´omatas probabil´ısticos Aut´omatas de ´ arboles
Un DFA (deterministic finite-state automaton) es una
representaci´on (grafo) de un procedimiento computable que
requiere memoria finita.
Ejemplo: determinar la paridad de una cadena binaria. Contraejemplo: determinar si la entrada es pal´ındroma.
investigadores en XML RCC Aut´omatas de Glushkov Aut´omatas probabil´ısticos Aut´omatas de ´ arboles
Las expresiones regulares definen lenguajes usando s´ımbolos, par´entesis y operadores de concatenaci´on, elecci´on y repetici´on. Comentarios de C:
A [*]
B [/]
C [^*/]
investigadores en XML RCC Aut´omatas de Glushkov Aut´omatas probabil´ısticos Aut´omatas de ´ arboles
investigadores en XML RCC Aut´omatas de Glushkov Aut´omatas probabil´ısticos Aut´omatas de ´ arboles
Para cada expresi´on regular r, se construye el marcado Er
sustituyendo los s´ımbolos por posiciones. Por ejemplo
r=BAB∗(A∗CB∗)A∗AB ⇒Er = 123∗(4∗56∗)∗7∗89.
Cada posici´on ser´a un estado del aut´omata de Glushkov. Para construir las transiciones se usan 4 funciones: empty, first, last, follow.
investigadores en XML RCC Aut´omatas de Glushkov Aut´omatas probabil´ısticos Aut´omatas de ´ arboles
empty(E) es cierto si la subexpresi´on contiene la cadena vac´ıa:
empty(n) = FALSE
empty(F|G) = empty(F)∨empty(G)
empty(F,G) = empty(F)∧empty(G)
empty(F∗) = TRUE
empty(F+) = empty(F)
investigadores en XML RCC Aut´omatas de Glushkov Aut´omatas probabil´ısticos Aut´omatas de ´ arboles
first(E) es el conjunto de s´ımbolos por los que puede empezar
una cadena deE:
first(n) = {n}
first(F|G) = first(F)∪first(G)
first(F,G) =
(
first(F)∪first(G) if empty(F)
first(F) otherwise
first(F∗) = first(F) first(F+) = first(F) first(F?) = first(F)
investigadores en XML RCC Aut´omatas de Glushkov Aut´omatas probabil´ısticos Aut´omatas de ´ arboles
last(E) es el conjunto de s´ımbolos por los que puede terminar
una cadena deE:
last(n) = {n}
last(F|G) = last(F)∪last(G)
last(F,G) =
(
last(F)∪last(G) if empty(G)
last(G) otherwise
last(F∗) = last(F)
last(F+) = last(F)
investigadores en XML RCC Aut´omatas de Glushkov Aut´omatas probabil´ısticos Aut´omatas de ´ arboles
follow(E) es el conjunto de pares de s´ımbolos que pueden aparecer consecutivos enE:
follow(n) = ∅
follow(F|G) = follow(F)∪follow(G)
follow(F,G) = follow(F)∪follow(G)∪last(F)×first(G) follow(F∗) = follow(F)∪last(F)×first(F)
follow(F+) = follow(F)∪last(F)×first(F) follow(F?) = follow(F)
investigadores en XML RCC Aut´omatas de Glushkov Aut´omatas probabil´ısticos Aut´omatas de ´ arboles
El aut´omata de Glushkov es (N,Σ, δ,0,F), con: Q ={0,1, ...,N} δ(0,a) ={n ∈first(Er) : Φr(n) =a} δ(n,a) ={m∈Q : (n,m)∈follow(Er)∧Φr(m) =a} F = ( {0} ∪last(Er) if empty(Er) last(Er) otherwise
siendoN el n´umero de s´ımbolos der y Φ el homomorfismo que
investigadores en XML RCC Aut´omatas de Glushkov Aut´omatas probabil´ısticos Aut´omatas de ´ arboles
investigadores en XML RCC Aut´omatas de Glushkov Aut´omatas probabil´ısticos Aut´omatas de ´ arboles
Si el aut´omata de Glushkov es determinista,r es 1-inambigua y, por tanto, v´alida en el est´andar SGML.
Aunque todo aut´omata finito tienen un equivalente determinista, no todas las lenguajes regulares admi-ten una expresi´on regular con aut´omata de Glushkov determinista.
investigadores en XML RCC Aut´omatas de Glushkov Aut´omatas probabil´ısticos Aut´omatas de ´ arboles
En un aut´omata probabil´ıstico, cada transici´on (y cada estado de aceptaci´on) tiene una probabilidad asociada.
Algunas distancias Cuadr´atica: P
x(pAx)−pB(x))2.
Kullback-Leibler: P
xpA(x)∗logppBA((xx)).
La distancia cuadr´atica es m´as suave, pero menos sensible a los valores peque˜nos.
investigadores en XML RCC Aut´omatas de Glushkov Aut´omatas probabil´ısticos Aut´omatas de ´ arboles La probabilidad de coemisi´onC(A,B) =P xpA(x)pB(x)
permite calcular la distancia cuadr´atica:
investigadores en XML RCC Aut´omatas de Glushkov Aut´omatas probabil´ısticos Aut´omatas de ´ arboles C(A,A0) =X a X i∈Q X j∈Q0 cij p(i,a)p(j,a)
Los coeficientescij son el n´umero esperado de “pasos” por i y j. cij = (i == 0)(j == 0) + X a X k:δ(k,a)=i X l:δ(l,a)=j cklp(k,a)p(l,a)
investigadores en XML RCC Aut´omatas de Glushkov Aut´omatas probabil´ısticos Aut´omatas de ´ arboles Dado unalfabeto Σ ={σ1, . . . , σ|Σ|}:
Todos los s´ımbolos de Σ son ´arboles deTΣ.
Dado σ∈Σ ym>0 ´arbolest1, . . . ,tm,σ(t1· · ·tm) es un
´
investigadores en XML RCC Aut´omatas de Glushkov Aut´omatas probabil´ısticos Aut´omatas de ´ arboles
A cualquier subconjunto de ´arboles se le llamalenguaje. En particular, el lenguaje sub(t) desub´arboles det es
sub(t) =
(
{σ} if t=σ∈Σ
{t} ∪Sm
k=1sub(tk) if t=σ(t1. . .tm)∈TΣ−Σ
XHTML es un lenguaje de ´arboles sobre el alfabeto:
investigadores en XML RCC Aut´omatas de Glushkov Aut´omatas probabil´ısticos Aut´omatas de ´ arboles
Unaut´omata finito de ´arboles esA= (Q,Σ,∆,F),
Q ={q1, . . . ,q|Q|} es un conjuntoestados;
Σ ={σ1, . . . , σ|Σ|} es elalfabeto;
F ⊆Q es un subconjunto de estados de aceptaci´on, ∆⊂ ∪∞m=0Σ×Qm+1 es un conjunto finito detransiciones.
investigadores en XML RCC Aut´omatas de Glushkov Aut´omatas probabil´ısticos Aut´omatas de ´ arboles
Los aut´omatas de ´arboles pueden ser
indeterministas :-|
deterministas ascendentes :-)
deterministas descendente :-(
investigadores en XML RCC Aut´omatas de Glushkov Aut´omatas probabil´ısticos Aut´omatas de ´ arboles
Evaluador de expresiones l´ogicas:
∆ = {(F,0),(T,1),(∧,1+,1),(∧,(0|1)∗0(0|1)∗,0) (∨,0+,0),(∨,(0|1)∗1(0|1)∗,1)} ∨ ∨ T F ∧ T F F ∨ F T F 1 1 1 0 0 1 0 0 1 0 1 0
investigadores en XML RCC Aut´omatas de Glushkov Aut´omatas probabil´ısticos Aut´omatas de ´ arboles
∆ ={ (a,Q∗,/a), (b,Q∗,/b), (a, Q∗,//a),
(b,Q∗//aQ∗,/b//a),
(a,Q∗/aQ∗/b//aQ∗,/a[a]/b//a),... }
a a b a b /a[a]/b//a /a /b//a //a /b
investigadores en XML RCC Aut´omatas de Glushkov Aut´omatas probabil´ısticos Aut´omatas de ´ arboles
Cada transici´on (σ,i1, ...,im,q) de ∆ tieneargumento
(σ,i1, ...,im) y salida q. El aut´omata es determinista si no hay
m´as de una salida por cada argumento:
δm(σ,i1, ...,im) =
(
q ifq ∈Q such that (σ,i1, ...,im,q)∈∆
⊥ if no suchq exists
investigadores en XML RCC Aut´omatas de Glushkov Aut´omatas probabil´ısticos Aut´omatas de ´ arboles El resultado deA ent esA(t): A(t) = ( δ0(σ) ift =σ∈Σ δm(σ,A(t1), . . . ,A(tm)) ift =σ(t1· · ·tm)∈TΣ−Σ
investigadores en XML RCC Aut´omatas de Glushkov Aut´omatas probabil´ısticos Aut´omatas de ´ arboles Siδ0(a) =q1,δ0(b) =q2,δ2(a,q1,q2) =q2 yδ1(a,q2) =q1, a a a a b b q2 q1 q2 q1 q2 q2
investigadores en XML RCC Aut´omatas de Glushkov Aut´omatas probabil´ısticos Aut´omatas de ´ arboles
El lenguajeLA(q) aceptado por q∈Q es
LA(q) ={t ∈TΣ :A(t) =q}
y el lenguajeL(A) aceptado porAes
L(A) = [
q∈F LA(q).
investigadores en XML RCC Aut´omatas de Glushkov Aut´omatas probabil´ısticos Aut´omatas de ´ arboles
Eliminaci´on de estados inaccesibles:LA(q) =∅. I ←Q
Mientras existenq ∈I,m≥0, σ∈Σ y
(i1, ...,im)∈(Q−I)m tales que δm(σ,i1, ...,im) =q,
investigadores en XML RCC Aut´omatas de Glushkov Aut´omatas probabil´ısticos Aut´omatas de ´ arboles
Dos estadosi yj son equivalentes si
1 i ∈F yj 6∈F o viceversa.
2 Existen m>0,k ≤m y (σ,r1, ...,rm)∈Σ×Qm tales que
investigadores en XML RCC Aut´omatas de Glushkov Aut´omatas probabil´ısticos Aut´omatas de ´ arboles
SeaPτ la partici´on deQ en la iteraci´onτ yEτ[i] la clase dePτ
que contiene ai.
i 6≡τ j si existem>0,k ≤my (σ,r1, ...,rm)∈Σ×Qm tales
que
investigadores en XML RCC Aut´omatas de Glushkov Aut´omatas probabil´ısticos Aut´omatas de ´ arboles
Output: a minimal DTA Am´ın = (Qm´ın,Σ,∆m´ın,Fm´ın). Method:
1 Create the initial partition P0= (F,Q−F)and make
τ←0.
2 While there exist i,j∈Q such that Eτ[i] =Eτ[j]and
i6≡τj
Build the subsetN ={k∈Eτ[i] :k ≡τ i}.
Create Pτ+1 from Pτ by splitting class Eτ[i]into N and Eτ[i]− N. Makeτ ←τ+ 1. 3 Output(Qm´ın,Σ,∆m´ın,Fm´ın)with Qm´ın={Eτ[i] :i∈Q}; Fm´ın={Eτ[i] :i∈F}; δmm´ın(σ,Eτ[i1], ...,Eτ[im]) =Eτ[δm(σ,i1, ...,im)]
investigadores en XML RCC Aut´omatas de Glushkov Aut´omatas probabil´ısticos Aut´omatas de ´ arboles
Son equivalentes a los aut´omatas de ´arboles.G = (N,T,S,P): Σ es un alfabeto de s´ımbolos terminales;
N es un conjunto finito de variables;
S es el s´ımbolo inicial;
P es un conjunto de reglas del tipoX →ar, conX ∈N ,