День добрый!
Задача такова: при данном тексте (
) длины
и данном образце (
) длины
найти позицию
, минимизирующую расстояние по Хэммингу между
и
.
Причем сделано должно быть это либо сильно сокращенным перебором (сложность
, где
), либо с линейно-логарифмической сложностью.
Особенность задачи - мощность алфавита
Алгоритмы точного поиска не помогают, ибо перебирать все варианты
с ошибками очень долго.
Алгоритмы нечеткого поиска (те, что я смог найти) решают несколько другую задачу - они находят подстроки
, расстояние по Хэммингу от которых до
не превосходит некоторой константы
. Мне это тоже не подходит, ибо при
(а такое в моей задаче вполне реализуемо) их сложность вырождается до квадратичной.
Я в тупике. Подскажите, пожалуйста, какой алгоритм использовать мне следует.