EditЭффективный сдвиг инвариантна функция преобразования текста
Есть 3 непрерывные битовые. Когда-то они начинают читать их. Через некоторое время одна остановка и имеет теперь 3 очень длинные строки одинаковой длины.
Эти 3 строки должны содержать отправленное сообщение где-то посередине. За исключением сообщений, отправляемых случайными битами.
Теперь задача состоит в том, чтобы выяснить, как наложить 3 строки для дальнейшей коррекции ошибок.
hfkasjkfhjs<<this is a string><hjaksdf
jkdf::this is b strimg>>iowefjlasfjoie
jfaskflsjdflf<<this is a tring>>oweio
вот простой пример. Теперь то, что я хочу это
<<this is a string><
::this is b string>>
<<this is a tring>>
теперь я могу просто использовать большинство голосов и получить правильную последовательность
<<this is a string>>
Как бы достичь этого эффективно?
Пахнет https://en.wikipedia.org/wiki/Viterbi_decoder (или вы имеете в виду, что вход может содержать индексы) – joop
Возможно, вычислить расстояния Хэмминга для разных кандидатов на смену? – biziclop
@joop: Я не совсем уверен, что делает декодер viterbi, я немного читаю, но мне кажется, мне нужно гораздо больше знаний о знании, чтобы понять. Тем не менее он говорит, что он используется для специально закодированных потоков, используя алгоритм viterbi, который пытается найти марковскую модель, которая намного сложнее, чем бит-поток. Или есть упрощение того, что работает для меня? X – satanik