A resposta é sim, sem qualquer requisito sobre o tamanho do autômato. Pode ser calculado no espaço O(log2n) mesmo para k DFAs onde k é uma constante.
Seja ( i ∈ [ k ] ) sejam k DFAs. Mostra-se que, dado ⟨ Um 1 , ... , A k ⟩ , calcular o mínimo DFA reconhecendo L ( A 1 ) ∩ ⋯ ∩ L ( A k ) pode ser feito em óAi=(Qi,Σi,δi,zi,Fi)i∈[k])k⟨A1,…,Ak⟩L(A1)∩⋯∩L(Ak) espaço. Primeiro, provamos alguns resultados técnicos.O(log2n)
Definição 1 : Let ser dois estados depois q ≡ r sse ∀ w ∈ Σ * , q . w ∈ F ⇔ R . w ∈ Fq,rq≡r∀w∈Σ∗q.w∈F⇔r.w∈F
Agora consideramos o autômato dado pela construção clássica do produto cartesiano. Vamos q = ( q 1 , ... , q k ) e r = ( r 1 , ... , r k ) ser estados de Uma .Aq=(q1,…,qk)r=(r1,…,rk)A
Lema 1 : Decidindo se está em NL.q≡r
Prova (esboço): Mostramos que o teste de desigualdade está em NL e usamos NL = coNL. Adivinhe uma palavra (uma letra de cada vez) tal que q . w é um estado final e r . w não é. Isso pode ser alcançado computando q i . w , r i . w no espaço de log para i ∈ [ k ] e usando o fato de q ser final iff q i ∈ F iw∈Σ∗q.wr.wqi.w,ri.wi∈[k]q . Pode ser demonstrado que qqi∈Fi∀i∈[k] implica a existência de um w de tamanho poli.q≢rw
Lema 2 : Decidir se é (in) acessível está em NL.q
Prova (esboço): Estimativa (poli-size) caminhos de a q i ( i ∈ [ k ] ).ziqii∈[k]
Definição 2 : Considere os estados de em ordem lexicográfica. Defina s ( 1 ) como sendo o primeiro estado acessível es ( i ) o primeiro estado acessível após s ( i - 1 ) que não é equivalente a nenhum estado anterior. Definimos c ( q ) como o único i tal que q ≡ s ( i ) .As(1)s(i)s(i−1)c(q)iq≡s(i)
O lema 3 : pode ser calculado em O ( logs(i) .O(log2n)
Prova (esboço): A definição 2 produz um algoritmo. Usamos contadores para percorrer os estados. Seja j ← 0 e q o estado atual. Em cada estado, usamos o lema 2 para verificar se q está acessível. Se for, fazemos um loop em todos os estados anteriores e verificamos se algum deles é equivalente a q . Se não houver, incrementamos j e produzimos q se j = i . Caso contrário, armazenamos q como sendo s ( j ) e continuamos. Como armazenamos apenas um número constante de contadores e nossos testes podem ser realizados em NLkj←0qqqjqj=iqs(j) , isso completa a prova.NL⊆DSPACE(log2n)
O corolário 1 : pode ser calculado no espaço O ( log 2 n ) .c(q)O(log2n)
Teorema : Minimizar pode ser feito no espaço O ( log 2 n ) .AO(log2n)
Prova (esboço): Seja seja o maior i tal que s ( i ) seja definido (isto é, o número de classes de ≡ ). Damos um algoritmo que produz um autômato A ′ = ( Q ′ , Σ , δ ′ , z ′ , F ′ ) onde1≤m≤|Q0|⋯|Q1|is(i)≡A′=(Q′,Σ,δ′,z′,F′)
- ;Q′={s(i):i∈[m]}
- ;F′={q∈Q′:qi∈Fi∀i∈[k]}
- onde q = ( z 0 , … , z k ) .z′=s(c(q))q=(z0,…,zk)
We now show how to compute δ′. For every i∈[m],a∈Σ, compute q←s(i).a and output the transition (s(i),a,s(c(q))). By lemma 3 and corollary 1, this algorithm runs in O(log2n) space. It can be checked that A′ is minimal and L(A′)=L(A).