. Я ищу алгоритм, желательно в Python, который поможет мне найти подстроки длиной N символов из существующих строк, наиболее близких к Целевая строка N символа длинная.Найдите подстроки «N грамм», которые находятся на самом маленьком расстоянии от целевой строки. Длина символа N
Рассмотрим целевую строку, то есть, скажем, длиной 4 символа, чтобы быть:
targetString -> '1111'
Предположим, что это строка у меня имеется со мной (я сгенерирует подстроки это для «лучшего выравнивания» соответствия):
nonEmptySubStrings -> ['110101']
подстроки из перечисленных выше, которые являются 4-х символов длиной:
nGramsSubStrings -> ['0101', '1010', '1101']
Я хочу писать/использовать "Magic Function", который будет выбрать строку ближе всего к targetString:
someMagicFunction -> ['1101']
еще несколько примеров:
nonEmptySubStrings -> ['101011']
nGramsSubStrings -> ['0101', '1010', '1011']
someMagicFunction -> ['1011']
nonEmptySubStrings -> ['10101']
nGramsSubStrings -> ['0101', '1010']
someMagicFunction -> ['0101', '1010']
Является ли это "Magic Функция" хорошо известная проблема подстроки?
Я действительно хочу найти мин. количество изменений в nonEmptySubStrings, чтобы в качестве подстроки была targetString.
Мне интересно узнать ответ на последнюю (выделенную) линию моего вопроса выше. Мое требование похоже на то, что должно быть довольно частым в биоинформатике? О, это может быть так же тривиально, как основываться на расстоянии Хэмминга (в этом случае я бы изменил свой вопрос, чтобы удалить шаг генерации ngram). Я в основном хочу найти мин. количество изменений в nonEmptySubStrings, чтобы в качестве подстроки была targetString. – PoorLuzer