• No se han encontrado resultados

Teoría de autómatas para investigadores en XML

N/A
N/A
Protected

Academic year: 2021

Share "Teoría de autómatas para investigadores en XML"

Copied!
31
0
0

Texto completo

(1)

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

(2)

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

(3)

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.

(4)

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 [^*/]

(5)

investigadores en XML RCC Aut´omatas de Glushkov Aut´omatas probabil´ısticos Aut´omatas de ´ arboles

(6)

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.

(7)

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)

(8)

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)

(9)

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)

(10)

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)

(11)

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

(12)

investigadores en XML RCC Aut´omatas de Glushkov Aut´omatas probabil´ısticos Aut´omatas de ´ arboles

(13)

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.

(14)

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.

(15)

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:

(16)

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)

(17)

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

´

(18)

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:

(19)

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.

(20)

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 :-(

(21)

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

(22)

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

(23)

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

(24)

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Σ−Σ

(25)

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

(26)

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).

(27)

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,

(28)

investigadores en XML RCC Aut´omatas de Glushkov Aut´omatas probabil´ısticos Aut´omatas de ´ arboles

Dos estadosi yj son equivalentes si

1 iF yj 6∈F o viceversa.

2 Existen m>0,k ≤m y (σ,r1, ...,rm)∈Σ×Qm tales que

(29)

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

(30)

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,QF)and make

τ←0.

2 While there exist i,jQ 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)]

(31)

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 ,

Referencias

Documento similar

1 La Speranza Progettuale.. de los supuestos de un diseño-ético, que deviene político por su obsesiva y determinista intención de compromiso. 1.3 La falta de una

o Si dispone en su establecimiento de alguna silla de ruedas Jazz S50 o 708D cuyo nº de serie figura en el anexo 1 de esta nota informativa, consulte la nota de aviso de la

Un caso particular de nodo de azar es el llamado nodo determinista, que es aquel que representa una variable cuyo valor es una función determinista de sus predecesores. Fi-

Modela mediante una ´ unica expresi´ on regular, sin utilizar nombres, el lenguaje formado por todas las cadenas de caracteres que cumplen simult´aneamente las tres

El objetivo de este bolet´ın es ilustrar uno de los m´etodos que permiten calcular la expresi´on regular que denota el mismo lenguaje que un Aut´omata Finito reconoce mediante

Tam- bién debemos recordar que la probabilidad de transición de este estado al estado 1 es determinista (poi = 1)- Veamos un ejemplo para aclarar esto. Supongamos que tenemos

A partir del aut´ omata de prefijos viables, podemos construir dos tablas que nos servir´ an para realizar los an´ alisis, de manera similar a las que emple´ abamos en el an´

Adem´as, tambi´en a diferencia de las m´aquinas de Turing, los aut´omatas celulares no tie- nen un estado de detenci´on (las cadenas que producen no contienen, por lo tanto,