Существует ли алгоритм максимального покрытия текста имеющимися подстроками?

Добрый день!

Подскажите, пожалуйста, имеется в наличии алгоритм (или хорошие идеи по реализации) решения следующей задачи: имеется строка текста (неопределенного размера, в большинстве случаев большая) и набор строк (в большинстве случаев достаточно большой). Необходимо на выходе дать комбинацию максимального непересекающегося покрытия текста совпадающими подстроками из набора, т.е. получить комбинацию при которой в тексте будет сведено к минимум кол-во областей для которых не нашли соответствующего слова из набора для "покрытия".
  • Вопрос задан
  • 2383 просмотра
Решения вопроса 1
tsarevfs
@tsarevfs
C++ developer
В биоинформатике занимаются такими задачами. Скорее всего задача NP полная и точного решения может не получиться.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
gbg
@gbg
Любые ответы на любые вопросы
Вариация на тему Кнута-Морриса-Пратта или Ахо-Корасик. Скорее второе.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы