Разделение списков слов

10

Существует открытая проблема в формальных языках, известная как проблема разделения; который кратко изложен как заданные две отдельные строки длины , насколько большой DFA требуется, чтобы «разделить» их, то есть принять одну строку, но отклонить другую.n

Вот некоторые соответствующие документы 1 , 2 . (У меня есть еще несколько, но у меня недостаточно репутации, чтобы публиковать их).

Все они обсуждают проблему разделения двух разных строк. Мне интересно , если ли какая - либо работа в области разделения списков строк, значение , придаваемое два списка строк, и B , какого размера требуется DFA принимать каждую строку в A и отклонять каждую строку в B . Эта проблема эквивалентна регулярному гольфу.ABAB

Есть несколько основных вопросов, над которыми я работал, например, если один из списков имеет размер или все строки имеют разную длину.1

Я искал вокруг, но не нашел никаких бумаг, которые имеют дело с этим типом проблемы. Были ли проведены какие-либо исследования в этой области?

Заранее спасибо.

MRC
источник
Ссылка на VZN отличная! Тем не менее, я полагаю, что вы можете найти еще больше информации, если взгляните на приложение: «Компьютеры и непроницаемость: руководство по теории NP-
полноты
klog(n)log(log(n))
1
К Gold1978 мы знаем, что проблема определения, могут ли два списка быть разделены DFA данного размера, является NP-полной. Если вы измените задачу, скажем, разделенную машиной Тьюринга с временной привязкой, записанной в унарном формате, то неизвестно, является ли проблема NP-полной. Было высказано предположение, что эта проблема может быть связана с проблемой минимальной схемы, и в этом случае она решит открытые проблемы со структурной сложностью, если вы показали, что она была в P или если она была NP-полной.
Майкл Вехар

Ответы:

8

KLMKMML=

KLM

В статье 2013 года авторы указывают:

Хотя проблема разделения часто возникает, она не изучалась систематически, даже в ограниченном, но все еще сложном случае обычных языков.

Они, однако, упоминают несколько особых случаев, которые были решены, и которые наверняка охватывают конечный случай.

Вы также можете взглянуть на интерполяцию Крейга , похожую проблему на логических формулах. Интерполяция используется, например, при проверке моделей на основе SAT, в настройках, которые, я думаю, ближе к тому, что вы ищете (особенно в отношении конечности входных данных). Эта статья должна стать хорошей отправной точкой.

Бозон
источник
Я ценю, что вы поделились этим. Я не знал об этой статье. Спасибо. :)
Майкл Вехар
3

AB

Это называется «Проблема разделения слов». Слайды Шаллита в значительной степени охватывают все, что известно о проблеме (см. Слайды1 и слайды2 ).

RB
источник
Если вы заинтересованы в поиске наименьшего DFA для особого случая, см. Cstheory.stackexchange.com/questions/29119/…
Майкл Вехар