Для векторного пространства существуют простые способы. В общем виде кроме метрики нужно еще что-то типа возможности генерировать точки "между" двумя данными.
Первое, что приходит в голову - это или simulated annealing, или генетические алгоритмы.
Но у меня ощущение, что если строка локально оптимальна (нет улучшающей элементарной операции), то она и глобально оптимальна. Если удастся доказать эту гипотезу, то начинаем с любой строки и делаем любые улучшающие операции, пока они не закончатся.
PS: а строки испорчены независимо друг от друга, или есть филогенетическое дерево?
Thanks! Я уже начал смотреть в стороны генетических алгоритмов. По парным выравниваниям генерировать "детей", а потом отбирать тех, среднее расстояние до которых по выборке минимально.
Независимо. Вероятностная модель фиксирована или медленно меняется.
Да, я знаю. Но там консенсус строят с учетом филогенетического дерева, которое предпологается бинарным. Или используют множественное выравнивание, сложность которого очень быстро растет.
n-way diff, который используется в системах контроля версий. Обычно n == 3, но не обязательно, можно больше. Каждому фрагменту сопоставляете вес (сколько раз он встретился). Как-то так.
Comments 16
Reply
Правда, там расстояние Хемминга - посмотрю, можно ли что-нибудь адаптировать.
Reply
Reply
В общем виде кроме метрики нужно еще что-то типа возможности генерировать точки "между" двумя данными.
Reply
Но у меня ощущение, что если строка локально оптимальна (нет улучшающей элементарной операции), то она и глобально оптимальна. Если удастся доказать эту гипотезу, то начинаем с любой строки и делаем любые улучшающие операции, пока они не закончатся.
PS: а строки испорчены независимо друг от друга, или есть филогенетическое дерево?
Reply
Я уже начал смотреть в стороны генетических алгоритмов. По парным выравниваниям генерировать "детей", а потом отбирать тех, среднее расстояние до которых по выборке минимально.
Независимо. Вероятностная модель фиксирована или медленно меняется.
Reply
http://www.biomedcentral.com/1471-2105/13/S19/S4
Reply
Reply
Reply
Reply
Reply
Думал, что в системах контроля версий n==2. Интересно посмотреть :-).
Reply
Reply
Leave a comment