La respuesta es sí sin ningún requisito sobre el tamaño del autómata. Se puede calcular en el espacio O(log2n) incluso para k DFA donde k es una constante.
Sea ( i ∈ [ k ] ) sean k DFA. Se demuestra que, dada ⟨ A 1 , ... , A k ⟩ , el cálculo de la mínima DFA reconocimiento de L ( A 1 ) ∩ ⋯ ∩ L ( A k ) puede hacerse en OAi=(Qi,Σi,δi,zi,Fi)i∈[k])k⟨A1,…,Ak⟩L(A1)∩⋯∩L(Ak) espacio. Primero probamos algunos resultados técnicos.O(log2n)
Definición 1 : Sea dos estados, entonces q ≡ r iff ∀ w ∈ Σ ∗ , q . w ∈ F ⇔ r . w ∈ Fq,rq≡r∀w∈Σ∗q.w∈F⇔r.w∈F
Ahora consideramos el autómata dado por la construcción clásica de productos cartesianos. Deje que q = ( q 1 , ... , q k ) y r = ( r 1 , ... , r k ) sea estados de A .Aq=(q1,…,qk)r=(r1,…,rk)A
Lema 1 : Decidir si está en NL.q≡r
Prueba (boceto): demostramos que probar la desigualdad está en NL y usamos NL = coNL. Adivina una palabra (una letra a la vez) tal que q . w es un estado final y r . w no lo es. Esto se puede lograr calculando q i . w , r i . w en el espacio logarítmico para i ∈ [ k ] y usando el hecho de que q es final iff q i ∈ F iw∈Σ∗q.wr.wqi.w,ri.wi∈[k]qqi∈Fi∀i∈[k]wq≢rw
Lema 2 : Decidir si es (in) accesible está en NL.q
Prueba (boceto): Adivina (poli-tamaño) rutas de a ( ).q i i ∈ [ k ]ziqii∈[k]
Definición 2 : Considere los estados de en orden lexicográfico. Defina como el primer estado accesible el primer estado accesible después de que no es equivalente a ningún estado anterior. Definimos como el único tal que .s ( 1 ) s ( i ) s ( i - 1 ) c ( q ) i q ≡ s ( i )As(1)s(i)s(i−1)c(q)iq≡s(i)
Lema 3 : se puede calcular en el espacio .O ( log 2 n )s(i)O(log2n)
Prueba (boceto): la definición 2 produce un algoritmo. Usamos contadores para iterar sobre los estados. Deje y sea el estado actual. En cada estado, usamos el lema 2 para verificar si es accesible. Si es así, hacemos un bucle en todos los estados anteriores y verificamos si alguno de ellos es equivalente a . Si no hay ninguno, incrementamos y sacamos si . De lo contrario, almacenamos como y continuamos. Como solo almacenamos un número constante de contadores y nuestras pruebas pueden llevarse a cabo enj ← 0 q q q j q j = i q s ( j ) NL ⊆ DSPACE ( log 2 n )kj←0qqqjqj=iqs(j)NL⊆DSPACE(log2n), esto completa la prueba.
Corolario 1 : se puede calcular en el espacio .O ( log 2 n )c(q)O(log2n)
Teorema : minimizar puede hacerse en el espacio .O ( log 2 n )AO(log2n)
Prueba (boceto): Seaser el mayor tal que se defina (es decir, el número de clases de ). Damos un algoritmo que genera un autómata dondei s ( i ) ≡ A ′ = ( Q ′ , Σ , δ ′ , z ′ , F ′ )1≤m≤|Q0|⋯|Q1|is(i)≡A′=(Q′,Σ,δ′,z′,F′)
- Q′={s(i):i∈[m]} ;
- F′={q∈Q′:qi∈Fi∀i∈[k]} ;
- q = ( z 0 , … , z k )z′=s(c(q)) donde .q=(z0,…,zk)
Ahora mostramos cómo calcular . Para cada , calcule y la salida de la transición . Por el lema 3 y el corolario 1, este algoritmo se ejecuta en el espacio . Se puede verificar que es mínimo y . i ∈ [ m ] , a ∈ Σ q ← s ( i ) . a ( s ( i ) , a , s ( c ( q ) ) ) O ( log 2 n ) A ′ L ( A ′ ) = L ( A )δ′i∈[m],a∈Σq←s(i).a(s(i),a,s(c(q)))O(log2n)A′L(A′)=L(A)