DFA пересечение в субквадратичном пространстве?


25

Пересечение двух (минимальных) DFA с n состояниями может быть вычислено с использованием O (n 2 ) времени и пространства. В общем, это оптимально, поскольку результирующий (минимальный) DFA может иметь n 2 состояний. Однако, если результирующий минимальный DFA имеет z состояний, где z = O (n), можно ли его вычислить в пространстве n 2-eps для некоторой константы eps> 0? Я был бы заинтересован в таком результате даже для особого случая, когда входные DFA являются ациклическими.


3
Гм ... если два DFA с n-состояниями являются ациклическими, то каждое из них просто принимает конечный набор слов длиной не более n, и в этом случае их пересечение является просто пересечением двух помеченных графов переходов, которые будут иметь n состояний и может быть вычислено в линейном времени и пространстве. Или я что-то упустил?
Джошуа Грохов

4
Да, ациклические DFA принимают только конечный набор слов. Но есть примеры ациклических DFA, чье пересечение имеет размер n ^ 2. Например, подумайте об одном DFA, который принимает строки в форме AABC (где ABC - строки длины k), и о том, который принимает строки в форме ABCC.
Расмус Паг

1
retagging: cs.cc является обозначением arxiv, поэтому указанным тегам не нужен префикс cs.cc.
Суреш Венкат

Ответы:


15

Ответ - да, без каких-либо требований к размеру автомата. Его можно вычислить в пространстве O(log2n) даже для DFA, где - это константа.kk

Пусть ( будет DFA. Мы показываем, что с учетом вычисление минимального распознавания DFA может быть выполнено в пробел. Сначала докажем некоторые технические результаты.я [ K ] ) к 1 , ... , кл ( 1 ) L ( к ) О ( log 2 n )Ai=(Qi,Σi,δi,zi,Fi)i[k])kA1,,AkL(A1)L(Ak)O(log2n)

Определение 1 : Пусть два состояния, тогда если ,q r w Σ q . w F r . w Fq,rqrwΣq.wFr.wF

Теперь рассмотрим автомат заданный классической декартовой конструкцией произведений. Пусть и быть состояния .q = ( q 1 , , q k ) r = ( r 1 , , r k ) AAq=(q1,,qk)r=(r1,,rk)A

Лемма 1 : Решаем, находится ли в NL.qr

Доказательство (набросок): мы показываем, что проверка неэквивалентности находится в NL, и используем NL = coNL. Угадай слово (одна буква за раз), такое что является конечным состоянием и не Это может быть достигнуто путем вычисления в лог-пространстве для и использования того факта, что является конечным, если . Можно показать, что влечет существование поли-размера. q . ж г . w q i . w , r i . w i [ k ] q q iF iwΣq.wr.wqi.w,ri.wi[k]qд г шqiFii[k]qrw

Лемма 2 : Решение о том, является ли доступным, находится в NL.q

Доказательство (эскиз): угадать (полиразмер) пути от до ( ).q i i [ k ]ziqii[k]

Определение 2 : Рассмотрим состояния в лексикографическом порядке. Определите как первое доступное состояние и первое доступное состояние после которое не эквивалентно никакому предыдущему состоянию. Определим как уникальное такое, что .s ( 1 ) s ( i ) s ( i - 1 ) c ( q ) i q s ( i )As(1)s(i)s(i1)c(q)iqs(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 )kj0qqqjqj=iqs(j)NLDSPACE(log2n), это завершает доказательство.

Следствие 1 : может быть вычислено в пространстве .c(q)O(log2n)

Теорема : минимизировать можно в пространстве .AO(log2n)

Доказательство (эскиз): Пустьбыть наибольшим таким, что определено (т. е. количество классов ). Мы даем алгоритм, выводящий автомат где1m|Q0||Q1|is(i)A=(Q,Σ,δ,z,F)

  • Q={s(i):i[m]} ;
  • F={qQ:qiFii[k]} ;
  • z=s(c(q)) где .q=(z0,,zk)

Теперь мы покажем, как вычислить . Для каждого , вычислите и выведите переход . По лемме 3 и следствию 1 этот алгоритм работает в пространстве . Можно проверить, что минимально и .δi[m],aΣqs(i).a(s(i),a,s(c(q)))O(log2n)AL(A)=L(A)


3
Хороший алгоритм! Вот немного другой способ взглянуть на этот алгоритм. Суть его состоит в том, что минимизация состояния любого заданного DFA может быть выполнена за полиномиальное время и пространство . После этого легко построить некоторый DFA, представляющий пересечение в логарифмическом пространстве (следовательно, в полиномиальном времени и пространстве ), и мы можем составить две функции, вычислимые в полиномиальном времени и пространство (аналогично составлению двух сокращений в логарифмическом пространстве), получая весь алгоритм за полиномиальное время и пространство . O(log2n)O(log2n)O(log2n)O(log2n)
Цуёси Ито

2
Я только что видел этот ответ ... Я не понимаю, почему алгоритм работает в Polytime и одновременно. Да, , но неизвестно, если - то есть мы можем получить алгоритм, работающий в Polytime, и мы можем получить другой алгоритм, работающий в пространстве , но я не знаю, как решить проблемы в пространстве Polytime и с помощью одного алгоритм. O(log2n)NLPDSPACE[log2n]NLTISP[nO(1),log2n]O(log2n)NLO(log2n)
Райан Уильямс

Вы правы, я тоже не знаю как. Я опубликовал это очень давно, поэтому я не уверен, почему я написал это так, но, возможно, я имел в виду «полиномиальное время или O (log² n)». Я отредактирую это, потому что это вводит в заблуждение. Спасибо!
Михаил Блондин

14

Дик Липтон и его коллеги недавно работали над этой проблемой, и Липтон писал об этом здесь:

http://rjlipton.wordpress.com/2009/08/17/on-the-intersection-of-finite-automata/

Кажется, что работа лучше, чем O (n ^ 2) открыта даже для очень особого случая определения, определяет ли пересечение DFA пустой язык.
В статье приводятся последствия сложности, которые могут возникнуть в результате значительно улучшенного алгоритма обработки не только двух DFA на перекрестке, но и больших чисел.


1
а как насчет нижних границ?
Маркос Вильягра

1
Просто чтобы прояснить вопросы: я счастлив потратить O (n ^ 2) время (или, может быть, даже n ^ O (1) время), чтобы улучшить ограничение пространства.
Расмус Паг

13

Если вам дано k DFA (k является частью входных данных) и вы хотите знать, пусто ли их пересечение, эта проблема в целом завершена PSPACE:

Декстер Козен: нижние оценки для систем естественного доказательства FOCS 1977: 254-266

Возможно, если вы внимательно изучите это доказательство (и подобные конструкции Липтона и его соавторов), вы можете найти некоторую нижнюю границу пространства даже для фиксированного k.


Спасибо за этот указатель. Я предполагаю, что это может привести к нижней границе пространства n ^ Omega (1) на необходимом дополнительном пространстве, помимо входных данных. Но может ли это привести к нижней границе суперлинейного пространства?
Расмус Паг

1
@ user124864 Учитывая DFA с n состояниями каждый, автомат продукта будет иметь n k состояний. Теперь есть два трюка, которые вы можете сделать, чтобы уменьшить его размер. Во-первых, вы просто рассматриваете достижимый компонент графика продукта. Во-вторых, вы можете минимизировать продукт DFA. В конце концов, выяснить, какой язык распознается этим автоматом, сложно. knnk
Майкл Вехар

1
@ user124864 Даже сложно определить, распознает ли продукт DFA непустой язык, сложно. Это проблема непустоты пересечения. Под жестким я подразумеваю, что это завершено в сильном смысле. XNL
Майкл Вехар

1
@ user124864 Если вы сможете решить ее менее чем за раз, то мы получим более быстрые алгоритмы для решения задач PSPACE. Он не разрешим в недетерминированном двоичном пространстве o ( 1 ) k log ( n ) . Неизвестно, сможем ли мы решить ее менее чем за k 2 log 2 ( n ) детерминированного двоичного пространства. Неизвестно, сможем ли мы решить ее за одновременное детерминированное полиномиальное время и бинарное пространство f ( k ) log 2 ( n ) для любой функцииnko(1)klog(n)k2log2(n)f(k)log2(n) (это улучшило бы теорему Савича). f
Майкл Вехар

1
@ user124864 Примечание: у нас есть оба из следующих. (1) победа времени детерминистически подразумевает более быстрые детерминированные алгоритмы для полных задач PSPACE и (2) победа n k времени недетерминированно подразумевает более быстрые недетерминированные алгоритмы для полных задач PSPACE. nknk
Майкл Вехар

7

Для двух автоматов , B, принимающих конечные языки (ациклические автоматы), сложность состояний L ( A ) L ( B ) лежит в Θ ( | A || B | ) (1) . Этот результат также справедлив для унарных DFA (не обязательно ациклических) (2) . Тем не менее, вы, похоже, говорите о пространстве, необходимом для вычисления пересечения двух автоматов. Я не вижу, как классическая конструкция, использующая декартово произведение, использует O ( n 2 )ABL(A)L(B)Θ(|A||B|) O(n2)Космос. Все, что вам нужно, это постоянное количество счетчиков логарифмического размера. Когда вы вычисляете функцию перехода для нового состояния вам нужно только сканировать входные данные, не просматривая ранее сгенерированные данные.(q,r)

Возможно, вы хотите вывести минимальный автомат? Если это так, то я понятия не имею, можно ли этого достичь. Сложность состояния пересечения для конечных языков не выглядит обнадеживающей. Однако унарные DFA имеют одинаковую сложность состояния, и я думаю, что этого можно достичь с помощью таких автоматов. Используя результаты из (2) , вы можете получить точный размер автомата, распознающего пересечение. Этот размер описывается длиной хвоста и цикла, поэтому переходная функция может быть легко вычислена с очень небольшим пространством, так как структура полностью описывается этими двумя размерами. Затем все, что вам нужно сделать, это сгенерировать набор конечных состояний. Пусть будет числом состояний в результирующем автомате, тогда для всех 1 in , состояние я это конечное состояние тогдатолько тогда я принимаюсь как A и B . Этот тест может быть проведен с небольшим количеством места.1iniaiAB


1
Да, меня интересует минимальный автомат или хотя бы автомат такого же размера. Спасибо за указатели на одинарные DFA. Тем не менее, это не очень помогает для общего случая.
Расмус Паг
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.