Ответ - да, без каких-либо требований к размеру автомата. Его можно вычислить в пространстве O(log2n) даже для DFA, где - это константа.kk
Пусть ( будет DFA. Мы показываем, что с учетом вычисление минимального распознавания DFA может быть выполнено в пробел. Сначала докажем некоторые технические результаты.я ∈ [ K ] ) к ⟨ 1 , ... , к ⟩ л ( 1 ) ∩ ⋯ ∩ L ( к ) О ( log 2 n )Ai=(Qi,Σi,δi,zi,Fi)i∈[k])k⟨A1,…,Ak⟩L(A1)∩⋯∩L(Ak)O(log2n)
Определение 1 : Пусть два состояния, тогда если ,q ≡ r ∀ w ∈ Σ ∗ q . w ∈ F ⇔ r . w ∈ Fq,rq≡r∀ ж Е Е*Q, w ∈ F⇔ р . w ∈ F
Теперь рассмотрим автомат заданный классической декартовой конструкцией произведений. Пусть и быть состояния .q = ( q 1 , … , q k ) r = ( r 1 , … , r k ) AAQ= ( д1, … , ДК)г = ( г1, … , ГК)A
Лемма 1 : Решаем, находится ли в NL.Q≡ г
Доказательство (набросок): мы показываем, что проверка неэквивалентности находится в NL, и используем NL = coNL. Угадай слово (одна буква за раз), такое что является конечным состоянием и не Это может быть достигнуто путем вычисления в лог-пространстве для и использования того факта, что является конечным, если . Можно показать, что влечет существование поли-размера. q . ж г . w q i . w , r i . w i ∈ [ k ] q q i ∈ F iw ∈ Σ*Q.wr.wqi, w , rя, весi ∈ [ k ]Qд ≢ г шQя∈ Fя∀ я ∈ [ к ]Q≢ гвес
Лемма 2 : Решение о том, является ли доступным, находится в NL.Q
Доказательство (эскиз): угадать (полиразмер) пути от до ( ).q i i ∈ [ k ]ZяQяi ∈ [ k ]
Определение 2 : Рассмотрим состояния в лексикографическом порядке. Определите как первое доступное состояние и первое доступное состояние после которое не эквивалентно никакому предыдущему состоянию. Определим как уникальное такое, что .s ( 1 ) s ( i ) s ( i - 1 ) c ( q ) i q ≡ s ( i )Aс ( 1 )с ( я )s(i−1)c(q)iq≡s(i)
Лемма 3 : может быть вычислена в пространстве .O ( log 2 n )s(i)O(log2n)
Доказательство (набросок): определение 2 дает алгоритм. Мы используем счетчиков для перебора состояний. Пусть и текущее состояние. В каждом состоянии мы используем лемму 2, чтобы проверить , доступна ли . Если это так, мы зацикливаемся на всех предыдущих состояниях и проверяем, эквивалентно ли какое-либо из них . Если их нет, мы увеличиваем и выводим если . В противном случае мы сохраняем как и продолжаем. Поскольку мы храним только постоянное количество счетчиков, наши тесты можно выполнить вj ← 0 q q q j q j = i q s ( j ) NL ⊆ DSPACE ( log 2 n )kj←0qqqjqj=iqs(j)NL⊆DSPACE(log2n), это завершает доказательство.
Следствие 1 : может быть вычислено в пространстве .c(q)O(log2n)
Теорема : минимизировать можно в пространстве .AO(log2n)
Доказательство (эскиз): Пустьбыть наибольшим таким, что определено (т. е. количество классов ). Мы даем алгоритм, выводящий автомат где1≤m≤|Q0|⋯|Q1|is(i)≡A′=(Q′,Σ,δ′,z′,F′)
- Q′={s(i):i∈[m]} ;
- F′={q∈Q′:qi∈Fi∀i∈[k]} ;
- z′=s(c(q)) где .q=(z0,…,zk)
Теперь мы покажем, как вычислить . Для каждого , вычислите и выведите переход . По лемме 3 и следствию 1 этот алгоритм работает в пространстве . Можно проверить, что минимально и .δ′i∈[m],a∈Σq←s(i).a(s(i),a,s(c(q)))O(log2n)A′L(A′)=L(A)