Я дурачился на днях на этом сайте: http://regexcrossword.com/, и это заставило меня задуматься о том, как лучше всего это решить.
Можете ли вы решить следующую проблему за полиномиальное время или это NP-сложный?
Учитывая сетку NxM с N регулярными выражениями для столбцов и M для строк, найдите любое решение для сетки таким образом, чтобы все регулярные выражения были выполнены, или скажите, что решения не существует.
complexity-theory
np-hard
regular-expressions
Глен Такахаши
источник
источник
Ответы:
Проблема NP-сложная.
Покажем это, уменьшив покрытие вершин:
Все строки соответствуют вершине. Они получают регулярное выражение, которое позволяет написать
Соответствие между решениями кроссвордов регулярных выражений и покрытиями вершин должно быть очевидным.
Пример:
Найдите покрытие вершин размера 2 для следующего графа:
источник
Вопрос остается NP-полным, даже когда все регулярные выражения равны. http://arxiv.org/abs/1411.5437
источник