Добавил:
rn Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие Немирко Манило.pdf
Скачиваний:
106
Добавлен:
14.06.2020
Размер:
897.06 Кб
Скачать

Это среднеожидаемая оценка состояния оперируемого больного, полученная за счет использования двух резервных дней. В случае если бы эти дни не предоставлялись и больной бы оперировался всегда в 1-й день, среднеожидаемая оценка его состояния, как подсчитано выше, равнялась бы

1,9.

Таким образом, оптимальной стратегией врача будет следующая. Если в первый день состояние больного оценено на 3, то в этот день проводится операция. В случае же, если в первый день состояние больного оценивается меньше, чем на 3, решение об операции откладывается до следующего дня. Если на второй день состояние больного оценивается на 3 или на 2, то в этот день проводится операция. Если на второй день состояние больного оценено на 1, то операция откладывается на 3-й день. При такой тактике мы рассчитываем, что в момент операции состояние больного в среднем окажется равным 2,336 (вместо 1,9 при чисто случайной тактике).

В данном примере вместо хирургической операции могут, конечно, рассматриваться и другие существенные воздействия на организм человека, успешность применения которых критична к состоянию человека, меняющемуся во времени. Можно также переформулировать эту задачу как нахождение оптимального выбора момента выполнения ответственных действия человеком (спортивных достижений; специальных заданий, выполняемых в экстремальных условиях) в ограниченном интервале времени в условиях меняющегося во времени его физиологического или психологического состояния. При этом считается, что во всех промежуточных точках заданного интервала времени состояние человека может быть оценено количественно. Задачу можно существенно усложнить, если ввести зависимость данного состояния от предыдущего.

2.4. Выравнивание символьных последовательностей

Наиболее популярной задачей анализа биологических последовательностей (биоинформатики), а также распознавания цепочек символов, полученных в результате сегментации и перехода к лингвистическому описанию биомедицинских сигналов, является их выравнивание. Выравнивание двух последовательностей означает выполнение ряда трансформаций предъявленной цепочки T1, которые позволяют сопоставить ее длину с длиной заданной

56

(эталонной) цепочки T2 , т. е. делают их длины равными. Оно обеспечивает

наилучшее возможное совмещение структур анализируемых цепочек символов во временной области. В молекулярной биологии выравнивание используется для анализа межнуклеотидных последовательностей в молекуле РНК, что позволяет решать задачу распознавания стабильной «вторичной» ее структуры.

В задачах автоматического анализа биомедицинских сигналов применение структурных методов обработки данных позволяет представить фрагменты сигнала в виде упорядоченных последовательностей символов (цепочек) конечного алфавита, а последующее выравнивание является обязательным этапом процедуры классификации биосигналов. Рассмотрим возможные пути решения задачи временного выравнивания.

Пусть необходимо выровнять две упорядоченные последовательности символов T1 и T2 . Вначале паре сравниваемых цепочек T1, T2 сопоставим

сеть G (T1, T2 ), которая строится следующим образом [15].

Составим прямоугольную решетку, столбцы которой соответствуют символам первой цепочки T1, а строки – символам второй цепочки T2 . Каж-

дая клетка этой решетки – квадрат с ребром единичной длины. Клеткам сопоставлены упорядоченные пары индексов, указывающие место соответствующих ей символов в цепочках: клетке (i, j) соответствует i -й по поряд-

ку символ в T1 и j -й символ в T2 . Выделим в сети только те клетки, для каждой из которых символ, соответствующий ее строке, совпадает с символом, соответствующим ее столбцу. В каждой такой клетке проведем дополнительное диагональное ребро, связывающее ее левую верхнюю вершину с правой нижней вершиной. Все вертикальные и дополнительные диагональные ребра, связывающие соседние вершины, ориентируем стрелкой вниз, а горизонтальные – стрелкой слева направо.

Множество всех вершин такой решетки есть множество вершин графа сети G (T1, T2 ), число их равно q = (m +1)(n +1), где m – число символов в T1, n – число символов в T2 , а множество всех построенных и ориентированных ребер – множество дуг этого графа. Истоком S0 сети является самая левая верхняя вершина, а стоком Sk – самая правая нижняя вершина.

57

Пусть T1 = a a a b b c a a и T2 = a a b c b, тогда соответствующая этой паре цепочек сеть G (T1, T2 ) задается в виде рис. 2.17. Каждый путь S , ведущий из истока S0 в сток Sk сети G (T1, T2 ), порождает цепочку элементарных трансформаций, переводящую T1 в T2 . При этом движение по левой вертикали клетки (i, j) означает, что между последним символом уже трансформированной части цепочки T1 и первым символом еще не трансформированной ее части (им, очевидно, является символ, стоящий в T1 на i -м месте) вставляется символ, стоящий в T2 на j -м месте. Движение по верхней горизонтали этой клетки означает, что в T1 требуется удалить символ, стоящий на i -м месте. Наконец, движение по диагонали означает, что символ, стоящий в T1 на i -м месте, остается в выстраиваемой цепочке без изменений.

 

0

 

1

 

2

 

3

 

4

 

5

 

6

 

 

7

8

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

S0

a

 

 

 

a

 

 

a

 

 

b

 

 

 

 

b

 

 

c

 

 

a

 

 

 

a

T1

 

a

 

1

 

 

 

1

 

 

1

 

 

1

 

 

 

 

1

 

 

1

 

 

1

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

1

0

 

 

1

0

 

1

0

 

1

 

 

 

 

1

 

 

1

 

 

1

0

 

1

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

1

 

 

 

1

 

 

1

 

 

1

 

 

 

 

1

 

 

1

 

 

1

 

 

 

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

 

 

1

0

 

1

0

 

1

 

 

 

 

1

 

 

1

 

 

1

0

 

1

0

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b

 

1

 

 

 

1

 

 

1

 

 

1

 

 

 

 

1

 

 

1

 

 

1

 

 

 

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

1

 

 

1

 

 

1

 

0

1

0

1

 

 

1

 

 

1

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c

 

1

 

 

 

1

 

 

1

 

 

1

 

 

 

 

1

 

 

1

 

 

1

 

 

 

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

1

 

 

1

 

 

1

 

 

 

 

1

 

 

1

0

1

 

 

1

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b

 

1

 

 

 

1

 

 

1

 

 

1

0

 

 

1

0

 

1

 

 

1

 

 

 

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 1

 

 

 

1 1

 

 

1 1

 

 

1 1

 

 

1 1

 

1 1

 

 

1 1

 

 

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

T2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Sk

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 2.17

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Зададим на множестве дуг сети G (T1, T2 ) систему весов: каждой вертикальной и горизонтальной дуге припишем вес 1, а каждой диагональной дуге припишем вес 0. Длину пути l (S), как обычно, определим как сумму весов

дуг, лежащих на этом пути.

Представленная в виде ориентированного графа сеть (рис. 2.17) показывает множество Φ(T1, T2 ) всех трансформаций цепочки T1 = a a a b b c a a

58

в T2 = a a b c b. Как видно из рисунка, входную S0 и выходную Sk вершины полученного графа связывают только те пути, по которым цепочка T2 может быть получена из T1 в соответствии с возможными последователь-

ностями преобразований. Длина каждого пути равна числу необходимых при этом элементарных преобразований и, следовательно, значению меры их различия.

Наибольший интерес представляют наиболее короткие (экономные) пути преобразований, позволяющие оценить степень сходства анализируемых цепочек. В качестве меры сходства цепочек T1 и T2 принимают длину крат-

чайшего пути из множества путей Φ(T1, T2 ):

r (T1, T2 )= min( )l (S).

SΦ T1,T2

Задача нахождения кратчайшего пути может быть решена с использованием метода динамического программирования.

Прежде чем описать процедуру нахождения оптимальной траектории дадим формальные определения выравнивания и оптимального выравнивания слов, под которыми будем понимать упорядоченные последовательности символов, подлежащие сравнению.

Выравниванием слов U = u1, u2, , um и V = v1, v2, , vn будем называть пару U и V длины l max (m,n), где слова U и V получаются из исходных слов U и V в результате элементарных преобразований таким образом, чтобы в обоих словах U и V не было пустых символов в одинаковых позициях. При этом в общем случае могут быть использованы следующие операции редактирования (трансформации): замена, удаление и вставка символа.

Пусть для любой пары символов α, β определена положительная стоимость δ(α→β) замены α на β. Введение пустого символа ε позволяет све-

сти операции удаления и добавления к операции замены. В частности, замена α→ ε соответствует удалению α, а ε →β – вставке β.

 

 

(

)

= Φ(U, V ) – выравнивание строк U

 

Пусть U, V

 

и V . Стоимостью

(

)

выравнивания будем называть величину:

 

W U, V

 

 

 

 

 

 

59

 

l

W (U, V )= δ(ui vi ).

i=1

Тогда каждое выравнивание получает свою цену. Стоимость выравнивания пустых строк полагают равной нулю.

Выравнивание называют оптимальным, если его стоимость минимальна. Метод динамического программирования позволяет найти такую функцию выравнивания, при которой путь из начального состояния в конечное будет оптимальным, т. е. будет найдено минимальное накопленное расстояние между двумя сравниваемыми словами. При построении оптимального пути на каждом шаге алгоритма используется основная формула динамического программирования.

Суть процедуры выравнивания заключена в вычислении стоимости оптимального выравнивания между всевозможными начальными фрагментами (префиксами) двух сравниваемых слов U и V . При этом задачу нужно р е- шать в порядке возрастания длин фрагментов, благодаря чему на каждом шаге выравнивания (i , j ) будет известна стоимость оптимального выравнивания между префиксами меньшей длины. Оптимальное выравнивание между префиксами длины i и j может быть построено одним из трех способов:

1) сопоставлением префиксов длины (i 1) и ( j 1), а также символов ui и v j . Этот случай соответствует оставлению символов ui и v j в выравниваемых словах;

2)сопоставлением префикса длины (i 1) с префиксом длины j , а так-

же символа ui с пустым символом ε. Данный случай соответствует удалению символа ui ;

3)сопоставлением префикса длины i с префиксом длины ( j 1), а также пустого символа ε с символом v j . Данный случай соответствует вставке

символа v j .

Легко видеть, что поскольку оптимальные выравнивания для префиксов меньших длин уже построены, то вышеприведенные правила позволяют его построить и для префиксов длины i и j .

60

Алгоритм расчета оптимального выравнивания основан на вычислении расстояния редактирования между префиксами слов U и V длины i и j использованием значения расстояний редактирования для более коротких префиксов. Обозначим через Wδ (i, j), 0 i m, 0 j n стоимость оптималь-

ного выравнивания (u1, u2, , ui ) и (v1, v2, , v j ). На каждом шаге процедуры выравнивания используются следующие рекуррентные соотношения:

 

 

Wδ = (0, 0)= 0 ;

 

(2.4)

Wδ (i +1, 0)=Wδ (i, 0)(ui+1 → ε);

(2.5)

Wδ (0, j +1)=Wδ (0,

j)(ε → v j+1 );

(2.6)

 

 

W

(i,

j +1)(u

→ ε);

 

 

 

δ

 

i+1

 

 

Wδ (i +1,

j +1)

= min Wδ (i +1, j)(ε → v j+1 );

(2.7)

 

 

 

(i,

j)(ui+1 v j+1 ).

 

 

 

Wδ

 

 

 

 

 

 

 

 

Здесь Wδ (i, j +1),

Wδ (i +1, j), Wδ (i,

j) – стоимости оптимального вы-

равнивания для пар последовательностей меньшей длины. Оно выполнено на предыдущих шагах процедуры выравнивания.

Собственно выравнивание строится в процессе последовательного продвижения по узлам сети в направлении от истока к стоку. На каждом шаге выравнивания производится условная оптимизация управления, задаваемого

набором возможных операций: замена δ(ui+1 v j+1 ), вставка δ(ε → v j+1 ) или удаление δ(ui+1 → ε) последнего символа анализируемого фрагмента

слова U . Как следует из (2.4), стоимость выравнивания пустых слов задается равной нулю. Выражение (2.5) оценивает суммарные затраты при движении по узлам, расположенным на верхней горизонтали сети. Соответственно, выражение (2.6) связано с оценкой затрат при движении по левой вертикали сети. Соотношение (2.7) используется для условной оптимизации во всех остальных узлах ориентированного графа: выбирается то шаговое управление, которое обеспечивает минимум суммарных затрат.

Возвращаясь к задаче временного выравнивания последовательностей символов T1 и T2 , следует отметить, что стоимость δ(ui+1 v j+1 ) здесь принимается равной 0, так как эта операция допустима лишь в случае совпаде-

61

ния указанных символов (хотя в некоторых случаях может быть введена и стоимость операции замены). Стоимости операций удаления δ(ui+1 → ε) и

вставки символа δ(ε → v j+1 ) заданы равными 1.

Используя рекуррентные соотношения (2.4)–(2.7) в процедуре оптимального выравнивания T1 и T2 , которая строится последовательно от вершины S0 к вершине Sk , получим результат условной оптимизации, представленный на рис. 2.18. Здесь для каждого узла сетки (i, j), соответствующего промежуточному состоянию Si, j , стрелками указаны траектории (по-

следовательности элементарных преобразований), необходимых для оптимального выравнивания соответствующих префиксов. Кроме того, указаны и стоимости соответствующих суммарных затрат на процедуру выравнивания (числа в кружках соответствующих узлов сетки).

Так, для промежуточного узла (i,

j)= (4, 2), соответствующего вырав-

ниванию префиксов T1 a a a b , T2 a a

одна из оптимальных траекто-

рий выравнивания задается последовательностью вершин графа {S0,0, S1,0,

S2,1, S3,2, S4,2}. При этом в цепочке

a a a b

вначале удаляется символ a ,

последующие два символа сохраняются, а последний символ b также подлежит удалению.

Напротив, в цепочке a a вначале добавляется символ a , последующие два символа сохраняются, а в конце цепочки вставлен символ b. После выравнивания соответствующие префиксы принимают вид T1 (, a, a, ) и

T2 (a, a, a, b).

62

0

1

2

3

 

4

5

6

7

8

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

a

 

 

a

b

 

b

 

 

c

a

a

 

 

0

S0

1

2

3

4

5

6

7

8

T1

 

a

 

 

 

 

 

 

 

 

 

1

1

0

1

2

3

4

5

6

7

 

 

a

 

 

 

 

 

 

 

 

 

2

2

1

0

1

2

3

4

5

6

 

 

b

 

 

 

 

 

 

 

 

 

3

3

2

1

2

1

2

3

4

5

 

 

c

 

 

 

 

 

 

 

 

 

4

4

3

2

3

2

3

2

3

4

 

 

b

 

 

 

 

 

 

 

 

 

5

T2 5

4

3

4

3

2

3

4

5

Sk

j

 

 

 

 

 

 

 

 

 

 

Рис. 2.18

Здесь тире обозначает пустые символы, а запятые являются разделителями и введены для удобства сравнения символов, стоящих в одинаковых позициях. Суммарные затраты такого выравнивания составляют 2 единицы, что отмечено в кружке конечной для префикса вершины S4,2 . Как следует из ри-

сунка, оптимальная траектория для сравниваемых префиксов оказалась не единственной, но все эквивалентные пути выравнивания требуют одинаковых затрат.

Затем в соответствии со схемой решения задач динамического программирования строится траектория из S0 в Sk , которая обеспечивает выравнивание полных слова T1 и T2 с минимальными затратами. Результат такой безусловной оптимизации показан на рис. 2.19.

63

 

0

1

2

3

4

5

6

7

8

i

 

a

a

a

b

b

c

a

a

 

 

0

S0

1

 

 

 

 

 

 

 

T1

 

a

 

 

 

 

 

 

 

 

 

1

 

0

1

 

 

 

 

 

 

 

 

a

 

 

 

 

 

 

 

 

 

2

 

 

0

1

2

 

 

 

 

 

 

b

 

 

 

 

 

 

 

 

 

3

 

 

 

 

1

2

 

 

 

 

 

c

 

 

 

 

 

 

 

 

 

4

 

 

 

 

2

 

2

3

4

 

 

b

 

 

 

 

 

 

 

 

 

5

T2

 

 

 

 

2

3

4

5

Sk

j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 2.19

 

 

 

 

 

Как следует из рисунка, возможно целое множество альтернативных

траекторий

выравнивания слов

T1

и T2 ,

суммарные

затраты

при этом

W (T1, T2 )= 5. Эта величина определяет число элементарных трансформаций,

переводящих цепочку T1

в T2 . Выделим два способа выравнивания, которые

соответствуют верхней и нижней траекториям на сети G (T1, T2 ).

 

 

Результаты такого выравнивания приведены в табл. 2.6, а также проил-

люстрированы на рис. 2.20.

 

 

 

 

 

 

 

Таблица 2.6

Путь

Траектория выравнивания

Результат выравнивания

из S0 в Sk

T1 = a a a b b c a a и T2 = a a b c b

цепочек символов T1 и T2

Верхний

 

T

= (,a,a,,b,c,,,b)

S0,0, S1,0, S2,1, S3,2, S4,2, S5,3, S6,4, S7,4, S8,4, S8,5

1

= (a,a,a,b,b,c,a,a,)

путь

T

 

 

2

 

Нижний

 

T

= (a,a,,b,c,b,,,)

S0,0, S1,1, S2,2, S3,2, S4,3, S4,4, S5,5, S6,5, S7,5, S8,5

1

= (a,a,a,b,,b,c,a,a)

путь

T

 

 

2

 

Во втором столбце таблицы указана вся последовательность промежуточных шагов, которая приводит к оптимальному выравниванию. Третий

64

столбец содержит упорядоченные последовательности символов, которые получены в результате трансформации исходных слов T1 = a a a b b c a a и

T2 = a a b c b .

Выравнивание слова T1 в соответствии с верхней траекторией ориентированного графа предполагает выполнение следующей последовательности шагов (рис. 2.20):

1) удаление символа a :

(a → ε); S0,0 S1,0 ; T1 = (); W (T1, T2 )=1;

2)сохранение символа a :

(a a); S1,0 S2,1 ; T1 = (, a); W (T1, T2 )=1;

3)сохранение символа a :

(a a); S2,1 S3,2 ; T1 = (, a, a); W (T1, T2 )=1;

4)удаление символа b:

(b → ε); S3,2 S4,2 ; T1 = (, a, a, ); W (T1, T2 )= 2 ;

5)сохранение символа b:

(b b); S4,2 S5,3; T1 = (, a, a, , b); W (T1, T2 )= 2 ;

6)сохранение символа с:

(c c); S5,3 S6,4 ; T1 = (, a, a, , b, c), W (T1, T2 )= 2 ;

7)удаление символа a :

(a → ε); S6,4 S7,4 ; T1 = (, a, a, , b, c, ), W (T1, T2 )= 3;

8)удаление символа a :

(a → ε); S7,4 S8,4 ; T1 = (, a, a, , b, c, , ), W (T1, T2 )= 4 ;

9)вставка символа b:

(ε → b); S8,4 S8,5 ; T1 = (, a, a, , b, c, , , b), W (T1, T2 )= 5.

65

 

a

 

 

a

 

a

 

b

 

b

 

c

 

a

 

a

 

T1

 

 

 

 

 

 

 

 

 

S0,0 0

1 S1,0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

 

 

 

 

S1,1

0

1

S2,1

 

 

a

 

 

 

S3,2

W(T1, T2) = 5

 

S2,2

0

1

 

 

2 S4,2

b

S4,3

1

2

S5,3

 

 

 

c

 

 

 

S6,4

S7,4

S8,4

S4,4

2

 

 

 

 

2

3

4

b

 

 

 

 

 

 

T2

 

2

 

3

4

5

 

S5,5

 

S6,5

S7,5

S8,5

 

 

 

Рис. 2.20

Выравнивание слова T2 строится по той же траектории. Отличия заключаются лишь в том, что движение по верхней горизонтали клетки (i, j) означает вставку символа, стоящего в T1 на i -м месте, а движение по левой вертикали – удаление j -го символа в T2 .

Как видно из табл. 2.6, длина слов T1 и T2 , полученных в результате трансформации цепочек символов T1 и T2 , стала одинаковой (l = 9 ), причем пустые символы стоят в них в разных позициях.

Процедура временного выравнивания и величина W (T1, T2 ), оцениваю-

щая меру различия двух цепочек, могут быть успешно использованы, например, в задачах классификации биомедицинских сигналов. В том случае, когда цепочка T2 представляет собой эталонную последовательность символов, ко-

торая описывает некоторый класс сигналов, величина W (T1, T2 ) отождествляется с расстоянием от анализируемой цепочки T1 до этого эталона. При

наличии нескольких классов, каждый из которых представлен своим эталоном, эта величина может быть принята за меру принадлежности данной последовательности каждому из классов.

66