|
Автор: Михаил Ройтберг
Опубликовано в журнале "Компьютерра" №36 от 24 сентября 2001 года
Страница 4 из 4. Вернуться на первую страницу.
Алгоритм оптимального выравнивания (набросок) Пусть нам нужно найти оптимальное выравнивание последовательностей U=Xa и W=Yb (здесь a - последняя буква U, b - последняя буква W, последовательности X и Y - получаются соответственно из U и W отбрасыванием последней буквы. Для оптимального выравнивания возможны ровно три альтернативы:
В первом случае вес оптимального выравнивания равен S1 = S(X, Y)+m(a, b). Здесь S(X, Y) - вес оптимального выравнивания последовательностей X и Y (оно уже построено ранее, т. к. пара (X, Y) рассмотрена до текущей пары (U, W)), m(a, b) - вес сопоставления символов a и b. Во втором и третьем случае аналогично получаем формулы: S2 = S(X, Yb)+g, S3 = S(Xa, Y)+g. Здесь g - штраф за удаление символа, S(X, Yb) и S(Xa, Y) - веса оптимальных выравниваний для пар последовательностей (X и Yb = W) и (Xa=U и Y) соответственно. Оптимальные выравнивания для этих пар последовательностей тоже построены ранее. Таким образом, чтобы найти вес S(U, W) оптимального выравнивания последовательностей U и W и само это выравнивание, достаточно найти наибольшее из чисел S1 , S2 , S3. Очевидно, каждое из этих чисел можно вычислить за конечное (не зависящее от длин исходных последовательностей) время. Поэтому общее время построения оптимального выравнивания двух последовательностей пропорционально количеству промежуточных задач, т. е. произведению длин этих последовательностей.
|
SSD-накопитель SanDisk Extreme от мирового лидера флеш-памяти. Надежность, скорость и высокая производительность вашего компьютера!
Аэроплан на солнечных батареях начал первый круглосуточный полёт
«Яндекс» вытесняет конкурентов с поискового рынка
Сети LTE в России могут быть запущены хоть сейчас
Мантии Земли и Луны, скорее всего, имеют одно строение
Влюблённость сродни наркотической зависимости
|
||||||