сравнение последовательностей с обнаружением перемещенных блоков - PullRequest
1 голос
/ 09 сентября 2010

Мне нужно сравнить 2 последовательности и найти расстояние редактирования. Изменения могут включать операции удаления и вставки (с весом модификации 1 на символ) и операции перемещения блока (с весом 0,1 на символ)
Например:
A B C D E F G H
F G H A B C Y D X E
Блок FGH был перенесен сюда.
Есть ли существующий алгоритм для эффективного решения этой задачи?

Ответы [ 3 ]

2 голосов
/ 09 сентября 2010

Вы можете попробовать Метод выделения различий между файлами (через здесь ):

Алгоритм, который использует «ход» оператор описан в П. Геккеля 1978 бумага

(Извините за интерфейс scribd, но я предполагаю, что документ не был OCR'd.)

0 голосов
/ 09 сентября 2010
0 голосов
/ 09 сентября 2010

Да;Есть много алгоритмов и теорий, связанных с биологией;выравнивание генома и перестройка хромосомы.Не зная ваших данных, действительно сложно упомянуть что-то более конкретное.Я упоминаю сортировку блинов как меру перестановки в другом сообщении stackoverflow , есть также несколько других замечательных вариантов (сжатие, в частности).Конечно, этот метод не сможет разбить ваши данные на блоки.При работе с небольшими данными последовательности у вас не должно возникнуть проблем при создании всех группировок.

...