Алгоритм для обнаружения и исправления ошибок / пиков в сигнале - PullRequest
0 голосов
/ 08 февраля 2020

У меня есть последовательность символов. Персонажи упорядочены в хронологическом порядке. Я ищу алгоритм для группировки последовательности и удаления ошибок в данных. Мне трудно объяснить словами / математикой, что является требованием исправить последовательность, но что-то вроде «упорядочить последовательности в наиболее вероятную непрерывную последовательность группы символов», и минимальная длина последовательности должна быть настройкой. Ниже я пытаюсь представить на некоторых примерах, что я имею в виду (минимум 3 символа):

AAACCAACA => AAAAAAAAA

ACACAAAAA => AAAAAAAAA

AYYYYYYYA => YYYYYYYYY

ГГГГГГГГ => ГГГГГГГ

АЯЙАЙЫЙ => ГГГГГГГ

А для более длинных последовательностей становится немного сложнее

АЯЯЯЯЯАААААААААЙАЙЫЫЫААААГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГХГГГГГГГГГГГГГГГГГ получ получ получшшшшвышВод из ст. HTHTTHHHTTHHH => TTTTTHHHHHHHH

TTOAOAOOAATTA => OOOOOOOOAAAAA

Это немного хитро, потому что даже мысль о том, что 3 O не находятся непосредственно рядом друг с другом, они все еще являются наиболее вероятной непрерывной последовательностью символов.

Кто-нибудь знает какой-либо алгоритм (машинное обучение?) Или аналогичный (термин этой проблемы, название проблемы), который может выполнять этот тип исправления кода ошибки?

...