Являются ли регулярные выражения кроссвордами NP-сложными?


13

Я дурачился на днях на этом сайте: http://regexcrossword.com/, и это заставило меня задуматься о том, как лучше всего это решить.

Можете ли вы решить следующую проблему за полиномиальное время или это NP-сложный?

Учитывая сетку NxM с N регулярными выражениями для столбцов и M для строк, найдите любое решение для сетки таким образом, чтобы все регулярные выражения были выполнены, или скажите, что решения не существует.


Еще не заглядывали на сайт, но вопросы с регулярными выражениями, как правило, заканчиваются на PSPACE, класс, который по крайней мере так же
сложен,

1
@jmite Угадай строки, которые соответствуют некоторым регулярным выражениям, «легко», так как нам не нужно выводить некоторые глобальные свойства регулярного выражения. Фактически, я думаю, что проблема в NP (см. Комментарий ниже ответа FrankW.)
Рафаэль

Ответы:


11

Проблема NP-сложная.

Покажем это, уменьшив покрытие вершин:

G=(V,E)kVVkEV

|E|+1|V|

01(0|1)

Все строки соответствуют вершине. Они получают регулярное выражение, которое позволяет написать

  • 1

  • 0

k

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

Пример:

Найдите покрытие вершин размера 2 для следующего графа:

https://i.imgur.com/TY6sjjV.png

VA=0|10110

VB=0|11101

VC=0|10011

VD=0|11000

Counter=0|010|01010

E1=01(0|1)

E2=01(0|1)

E3=01(0|1)

E4=01(0|1)

VAVDCounterE1E4

VA,VBVC,VB

Counter0|010


2
Так как мы можем а) ​​вычислить NFA полиномиального размера для регулярных выражений, а также угадать b) решение и c) (линейный размер) вычисления всех NFA и d) проверить (за полиномиальное время), что вычисления соответствуют предполагаемым словам, проблема тоже в нп.
Рафаэль

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.