У меня есть последовательность символов. Персонажи упорядочены в хронологическом порядке. Я ищу алгоритм для группировки последовательности и удаления ошибок в данных. Мне трудно объяснить словами / математикой, что является требованием исправить последовательность, но что-то вроде «упорядочить последовательности в наиболее вероятную непрерывную последовательность группы символов», и минимальная длина последовательности должна быть настройкой. Ниже я пытаюсь представить на некоторых примерах, что я имею в виду (минимум 3 символа):
AAACCAACA => AAAAAAAAA
ACACAAAAA => AAAAAAAAA
AYYYYYYYA => YYYYYYYYY
ГГГГГГГГ => ГГГГГГГ
АЯЙАЙЫЙ => ГГГГГГГ
А для более длинных последовательностей становится немного сложнее
АЯЯЯЯЯАААААААААЙАЙЫЫЫААААГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГГХГГГГГГГГГГГГГГГГГ получ получ получшшшшвышВод из ст. HTHTTHHHTTHHH => TTTTTHHHHHHHH
TTOAOAOOAATTA => OOOOOOOOAAAAA
Это немного хитро, потому что даже мысль о том, что 3 O не находятся непосредственно рядом друг с другом, они все еще являются наиболее вероятной непрерывной последовательностью символов.
Кто-нибудь знает какой-либо алгоритм (машинное обучение?) Или аналогичный (термин этой проблемы, название проблемы), который может выполнять этот тип исправления кода ошибки?