2 Podobieństwo dwóch sekwencji

Podobne dokumenty
2 Podobieństwo dwóch sekwencji. 2.2 Lokalne uliniowienie Przerwy w uliniowieniach Dowolna wartość kary za przerwe

Podobieństwo dwóch sekwencji. Motywacje

Wyk lad 7 Baza i wymiar przestrzeni liniowej

2 Uliniowienie wielu sekwencji Miara typu suma par (SP) Uliniowienie gwiazdowe dla SP... 24

Wyk lad 9 Baza i wymiar przestrzeni liniowej

Wyk lad 5 W lasności wyznaczników. Macierz odwrotna

Wyk lad 3 Wyznaczniki

ep do obliczeniowej biologii molekularnej (J. Tiuryn, wykĺady nr. 12 i 13; 25 stycznia 2006) 8 Konstrukcja drzew filogenetycznych

Wyk lad 4 Dzia lania na macierzach. Określenie wyznacznika

Wyk lad 6 Podprzestrzenie przestrzeni liniowych

Wyk lad 9 Podpierścienie, elementy odwracalne, dzielniki zera

Wyk lad 14 Formy kwadratowe I

Wyk lad 4 Macierz odwrotna i twierdzenie Cramera

warunek (tzn. macierz M musi być stochastyczna): dla każdego k Q mamy

Optymalizacja Rozpoczniemy od przedstawienia kilku charakterystycznych przyk ladów zadań optymalizacji liniowej.

Teoria miary WPPT IIr. semestr zimowy 2009 Wyk lady 6 i 7. Mierzalność w sensie Carathéodory ego Miara Lebesgue a na prostej

celu przyjmijmy: min x 0 = n t Zadanie transportowe nazywamy zbilansowanym gdy podaż = popyt, czyli n

Wyk lad 8 macierzy i twierdzenie Kroneckera-Capellego

Uzgadnianie wyrażeń rachunku predykatów. Adam i orzeszki. Joanna Józefowska. Poznań, rok akademicki 2009/2010

P. Urzyczyn: Materia ly do wyk ladu z semantyki. Uproszczony 1 j. ezyk PCF

Wyk lad 4 Warstwy, dzielniki normalne

Wyk lad 12. (ii) najstarszy wspó lczynnik wielomianu f jest elementem odwracalnym w P. Dowód. Niech st(f) = n i niech a bedzie

Rachunek zdań - semantyka. Wartościowanie. ezyków formalnych. Semantyka j. Logika obliczeniowa. Joanna Józefowska. Poznań, rok akademicki 2009/2010

Grzegorz Mazur. Zak lad Metod Obliczeniowych Chemii UJ. 14 marca 2007

Wyk lad 7 Metoda eliminacji Gaussa. Wzory Cramera

Wyk lad 1 Podstawowe struktury algebraiczne

Wyk lad 11 1 Wektory i wartości w lasne

Rozdzia l 11. Przestrzenie Euklidesowe Definicja, iloczyn skalarny i norma. iloczynem skalarnym.

Wyk lad 3 Wielomiany i u lamki proste

Wyk lad 5 Grupa ilorazowa, iloczyn prosty, homomorfizm

Ekonomia matematyczna i dynamiczna optymalizacja

Indeks odwzorowania zmiennej zespolonej wzgl. krzywej zamknietej

Wyk lad 11 Przekszta lcenia liniowe a macierze

Normy wektorów i macierzy

Wyk lad 2 Podgrupa grupy

Wyk lad 4. Grafy skierowane

MATEMATYKA DYSKRETNA - wyk lad 1 dr inż Krzysztof Bryś. Wprowadzenie

Wyk lad 9 Baza i wymiar przestrzeni liniowej

Zastosowanie Robotów. Ćwiczenie 6. Mariusz Janusz-Bielecki. laboratorium

Rozdzia l 2. Najważniejsze typy algebr stosowane w logice

Wyk lad 14 Cia la i ich w lasności

Niech X bȩdzie dowolnym zbiorem. Dobry porz adek to relacja P X X (bȩdziemy pisać x y zamiast x, y P ) o w lasnościach:

Uproszczony dowod twierdzenia Fredricksona-Maiorany

Niezb. ednik matematyczny. Niezb. ednik matematyczny

w teorii funkcji. Dwa s lynne problemy. Micha l Jasiczak

Wyk lad 9 Przekszta lcenia liniowe i ich zastosowania

WYK LAD 5: GEOMETRIA ANALITYCZNA W R 3, PROSTA I P LASZCZYZNA W PRZESTRZENI R 3

Nierówność Krafta-McMillana, Kodowanie Huffmana

Procesy Stochastyczne - Zestaw 1

Statystyka w analizie i planowaniu eksperymentu

Niesimpleksowe metody rozwia zywania zadań PL. Seminarium Szkoleniowe Edyta Mrówka

Statystyka w analizie i planowaniu eksperymentu

Statystyka w analizie i planowaniu eksperymentu

ep do matematyki aktuarialnej Micha l Jasiczak Wyk lad 2 Tablice trwania życia

Architektura systemów komputerowych

Algorytmy i struktury danych.

ep do matematyki aktuarialnej Micha l Jasiczak Wyk lad 3 Tablice trwania życia 2

Metoda Simplex bez użycia tabel simplex 29 kwietnia 2010

KOLOKWIUM PODSTAWY PROGRAMOWANIA

Metody teorii gier. ALP520 - Wykład z Algorytmów Probabilistycznych p.2

Grupy i cia la, liczby zespolone

Dyskretne modele populacji

Przykład: Σ = {0, 1} Σ - zbiór wszystkich skończonych ciagów binarnych. L 1 = {0, 00, 000,...,1, 11, 111,... } L 2 = {01, 1010, 001, 11}

3 Przeszukiwanie baz danych

Dyskretne modele populacji

domykanie relacji, relacja równoważności, rozkłady zbiorów

Funkcje wielu zmiennych

Liczby naturalne i ca lkowite

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

Zagadnienie Dualne Zadania Programowania Liniowego. Seminarium Szkoleniowe Edyta Mrówka

Analiza dla informatyków 2 DANI LI2 Pawe l Domański szkicowe notatki do wyk ladu

Wyk lad 13 Funkcjona ly dwuliniowe

Statystyka w analizie i planowaniu eksperymentu

MiNI Akademia Matematyki na Politechnice Warszawskiej

Plan wyk ladu. Kodowanie informacji. Systemy addytywne. Definicja i klasyfikacja. Systemy liczbowe. prof. dr hab. inż.

ANALIZA II 15 marca 2014 Semestr letni. Ćwiczenie 1. Czy dan a funkcjȩ da siȩ dookreślić w punkcie (0, 0) tak, żeby otrzymana funkcja by la ci ag la?

25 lutego 2013, godzina 23: 57 strona 1. P. Urzyczyn: Materia ly do wyk ladu z semantyki. Logika Hoare a

Podstawowe algorytmy i ich implementacje w C. Wykład 9

Kompresja bezstratna. Entropia. Kod Huffmana

W poszukiwaniu kszta ltów kulistych

1. Synteza automatów Moore a i Mealy realizujących zadane przekształcenie 2. Transformacja automatu Moore a w automat Mealy i odwrotnie

WNIOSKOWANIE W MODELU REGRESJI LINIOWEJ

Wyk lad 5. Analiza dla informatyków 1 DANI LI1 Pawe l Domański szkicowe notatki do wyk ladu. 1. Granice niew laściwe

FUNKCJE LICZBOWE. x 1

MATEMATYKA W SZKOLE HELIANTUS LICZBY NATURALNE I CA LKOWITE

Niezmienniki i pó lniezmienniki w zadaniach

Paradygmaty dowodzenia

Pochodne cząstkowe i ich zastosowanie. Ekstrema lokalne funkcji

Rozdzia l 3. Elementy algebry uniwersalnej

PODSTAWOWE W LASNOŚCI W ZBIORZE LICZB RZECZYWISTYCH

Wprowadzenie z dynamicznej optymalizacji

Jak matematyka pomaga w wyszukiwanie wzorca

Dziedziny Euklidesowe

Jeden przyk lad... czyli dlaczego warto wybrać MIESI.

Paradygmaty programowania

Wzory Viete a i ich zastosowanie do uk ladów równań wielomianów symetrycznych dwóch i trzech zmiennych

Rozwiązania około dwustu łatwych zadań z języków formalnych i złożoności obliczeniowej i być może jednego chyba trudnego (w trakcie tworzenia)

Funkcje wielu zmiennych

OSOBNO ANALITYCZNYCH

Rozdzia l 10. Najważniejsze normalne logiki modalne

Transkrypt:

Wst ep do obliczeniowej biologii molekularnej (J. Tiuryn, wykĺad nr.3-4, 8 listopada 2005) Spis treści 2 Podobieństwo dwóch sekwencji 15 2.1 Globalne uliniowienie....................... 16 2.1.1 Metoda dynamicznego programowania......... 18 2.1.2 Odtwarzanie optymalnych uliniowań.......... 20 2.1.3 Odleg lość edycyjna.................... 23 2 Podobieństwo dwóch sekwencji Motywacje Odkrywanie podobieństw pomiedzy dwoma sekwencjami ma fundamentalne znaczenie w biologii molekularnej. Jest to zwiazane z obserwacja. że wiele podobnych sekwencji ma podobne cechy funkcjonalne lub strukturalne (odwrotna implikacja nie jest prawdziwa istnieja bia lka majace podobne cechy funkcjonalne i strukturalne, ktorych sekwencje aminokwasów sa zupe lnie niepodobne). Na przyk lad, znane sa geney wystepuj ace u różnych gatunków (np. muszka owocowa i cz lowiek) majace zadziwiajace podobieństwo. Bia lka kodowane przez te geny pe lnia podobne funkcje i maja podobny kszta lt 3D. Geny u różnych gatunków moga być podobne jeśli obydwa gatunki wywodza sie ze wspólnego korzenia. Wówczas geny praprzodka, w procesie ewolucji, mog ly sie przekszta lcić w podobne, ale nie identyczne, geny osobników różnych odga l ezień. Przyjmuje sie, że wieksze podobieństwo pomiedzy genami (genomami) różnych gatunków jest wskazówka na to, że te gatunki znajduja sie bliżej w drzewie ewolucji. Ponieważ genomowy DNA danego gatunku jest ca l a informacja (genetyczna) o tym gatunku, zatem ewolucja jest zwiazana ze zmianami DNA. Procesy zwiazane z tymi zmianami sa przedmiotem badań nowej dziedziny zwanej ewolucja molekularna. Najprostsze zjawiska prowadzace do zmian DNA to mutacje punktowe polegajace na zamianie jednego nukleotydu na inny, wypadnieciu badź wstawieniu nowego nukleotydu. Podobne zjawiska zachodza na poziomie RNA. Zjawiska te sa wywo lane b l edami w kopiowaniu badź zewnetrznymi warunkami (np. promieniowanie radioaktywne). W tej cześci wyk ladu bedziemy sie zajmować dwoma typami problemów. Dane mamy dwa ciagi S 1 i S 2, 15

globalne uliniowienie porównujemy ze soba S 1 i S 2 (możemy wstawiać spacje do obydwu ciagów) tak, aby zmaksymalizować ich podobieństwo. lokalne uliniowienie poszukujemy fragmentów ciagów S 1 i S 2 o maksymalnym podobieństwie (do badanych fragmentów możemy wstawiać spacje). Troche notacji dotyczacej s lów Niech Σ oznacza skończony zbiór. Przez Σ bedziemy oznaczać zbiór wszystkich skończonych ciagów (czyli s lów) o elementach z Σ. Zbiór Σ bedzie nazywany alfabetem a jego elementy literami. Szczególnym s lowem jest puste s lowo, oznaczane ε. Dla dowolnego s lowa S Σ, przez S bedziemy oznaczać d lugość tego s lowa, czyli liczbe liter w nim wystepuj acych. Dla s lów S 1, S 2 Σ, przez S 1 S 2 bedziemy oznaczać wynik dopisania S 2 z prawej strony do S 1. Dla 1 i S, przez S(i) bedziemy oznaczać i-ta litere s lowa S. 2.1 Globalne uliniowienie Pojecie globalnego uliniowienia zosta lo wprowadzone w 1970 przez Needleman a i Wunsch a. Opiera sie ono na pojeciu uliniowienia oraz funkcji podobieństwa. Dane dwa s lowa S 1, S 2 Σ. Bedziemy zak ladać, że jest specjalnym symbolem (spacja) nie należacym do Σ. 1 Globalne uliniowienie dla pary s lów (S 1, S 2 ) to każda taka para s lów (S # 1, S# 2 ) (Σ { }) (Σ { }), która spe lnia nastepuj ace trzy warunki: S 1 otrzymuje sie z S # 1 przez usuniecie wszystkich symboli. Podobnie S 2 otrzymuje sie z S # 2. S # 1 = S# 2. Dla każdego 1 i S # 1, symbole S# 1 (i) oraz S# 2 (i) nie s a jednocześnie równe. Liczba możliwych uliniowień dla danych s lów rośnie wyk ladniczo wraz z ich rozmiarem. Alfabety wystepuj ace w zastosowaniach w biologii to: Σ = {A, C, G, T } (dla porównywania sekwencji DNA); Σ = {A, C, G, U} (dla porównywania sekwencji RNA) oraz Σ = aminokwasy (dla porównywania bia lek). 1 Nazwy spacja b edziemy używać dla zaznaczenia, że chodzi o miejsce po wypadni etym nukleotydzie (lub aminokwasie). 16

Funkcja podobieństwa to pewna funkcja s : (Σ { }) (Σ { }) R majaca charakter kary/nagrody za odpowiadajace sobie symbole. W zastosowaniach zwykle przyjmuje sie, że dla x, y Σ { }, s(x, x) > 0, o ile x, s(x, y) = s(y, x), s(x, y) < s(x, x), o ile x y oraz x, s(x, ) < 0. Nie istnieje jedna funkcja podobieństwa dobra dla wszystkich zastosowań. W literaturze jest dużo prac na temat jak dobierać s dla porównywania bia lek lub DNA, dla różnych zastosowań. Przyk lad 2.1.1 Prostym przyk ladem funkcji podobieństwa jest s zdefiniowane nastepuj aco: s(x, ) = 2, dla x Σ oraz dla x, y Σ, { 1, gdy x = y s(x, y) = 1, gdy x y B edziemy tej funkcji używać w przyk ladach. Majac dana funkcje podobieństwa oraz uliniowienie (S # 1, S # 2 ) definiujemy podobieństwo tego uliniowienia jako n s(s # 1 (i), S# 2 (i)), i=1 gdzie n = S # 1 = S # 2. Uwaga: gdy n = 0, to powyższa suma przyjmuje wartość 0. Przyk lad 2.1.2 Weźmy, na przyk lad s lowa S 1 = CACT GT oraz S 2 = CAGGT G. Jedno możliwe uliniowienie to S # 1 = S 1 oraz S # 2 = S 2. Podobieństwo tego uliniowienia wynosi -2. Natomiast dla uliniowienia S # 1 = CAC T GT oraz S # 2 = CAGGT G dostajemy podobieństwo -1. 17

Globalne podobieństwo dwóch ciagów S 1, S 2 Σ to maksymalne podobieństwo uliniowienia, brane po wszystkich uliniowieniach: sim(s 1, S 2 ) = max{ n s(s # 1 (i), S # 2 (i)) (S # 1, S # 2 ) jest uliniowieniem dla i=1 (S 1, S 2 ) oraz n = S # 1 = S# 2 }. Globalne podobieństwo dwóch ciagów nazywa sie też wartościa optymalnego uliniowienia, a każde uliniowienie realizujace te wartość nazywa sie optymalnym uliniowieniem. W ogólności dana para s low może mieć wiecej niż jedno optymalne uliniowienie. 2.1.1 Metoda dynamicznego programowania Metoda ta pos luży nam do znalezienia szybkiego algorytmu obliczajecego wartość globalnego podobieństwa dla dowolnych dwóch s lów S 1, S 2. Zadanie to bedziemy rozwiazywać dla dowolnej funkcji podobieństwa s. G lówna idea tej metody polega na sukcesywnym obliczaniu poszukiwanej wartości, opierajac sie na wartościach obliczonych dla pewnych mniejszych podzadań. Te pośrednie wartości sa przechowywane w tablicy. Dla 0 i S 1, niech S 1 [1..i] oznacza pods lowo s lowa S 1 sk ladajace sie z pierwszych i liter, czyli S 1 (1)... S 1 (i). Podobnie dla S 2 [1..i]. Niech V (i, j) bedzie globalnym podobieństwem dla s lów S 1 [1..i] oraz S 2 [1..j]. Niech m = S 1, n = S 2. Jak obliczyć V (i, j)? Oczywiście mamy V (0, 0) = 0 oraz V (0, j) = j s(, S 2 (k)), k=1 V (i, 0) = i s(s 1 (k), ). k=1 Kluczowa obserwacja polega na zauważeniu, że aby policzyć V (i, j) dla i > 0 oraz j > 0, wystarczy znać wartości V (i 1, j), V (i 1, j 1) oraz V (i, j 1). Twierdzenie 2.1.1 Dla 0 < i m oraz 0 < j n, mamy: V (i, j) = max[v (i 1, j 1) + s(s 1 (i), S 2 (j)), V (i 1, j) + s(s 1 (i), ), V (i, j 1) + s(, S 2 (j))]. 18

Dowód: Niech V oznacza liczbe po prawej stronie równości w tezie twierdzenia. Niech (T 1, T 2 ) bedzie dowolnym uliniowieniem dla (S 1 [1..i], S 2 [1..j]). Jeśli ostatni symbol w T 1 i w T 2 jest litera z Σ, to podobieństwo tego uliniowienia jest nie wieksze od V (i 1, j 1) + s(s 1 (i), S 2 (j)) V. Jeśli, na przyk lad, ostatnim symbolem w T 1 jest, to ostatnim symbolem w T 2 musi być S 2 (j). Zatem podobieństwo tego uliniowienia jest nie wieksze od V (i, j 1) + s(, S 2 (j)) V. Podobnie postepujemy w przypadku, gdy ostatnim symbolem w T 2 jest. Tak wiec udowodniliśmy, że V (i, j) V. Na odwrót, jeśli weźmiemy optymalne uliniowienie (T 1, T 2 ) dla par kolejnych s lów S 1 [1..i 1], S 2 [1..j 1]; S 1 [1..i 1], S 2 [1..j]; S 1 [1..i], S 2 [1..j 1], to dopisujac z prawej strony: w pierszym przypadku: S 1 (i) do T 1 oraz S 2 (j) do T 2 ; w drugim przypadku: S 1 (i) do T 1 oraz do T 2 ; w trzecim przypadku: do T 1 oraz S 2 (j) do T 2, otrzymamy w każdym przypadku uliniowanie dla s lów (S 1 [1..i], S 2 [1..j]), a zatem wartość podobieństwa tego uliniowania jest nie wieksza od V (i, j). Zatem V, bed ace maksimum z tych wartości, jest nie wieksze od V (i, j). Poprawność poniższego algorytmu jest oparta na Twierdzeniu 2.1.1. 19

Wejście: s lowa S 1, S 2 Σ Wynik: globalne podobieństwo, sim(s 1, S 2 ) m := S 1 ; n := S 2 ; V (0, 0) := 0; for i = 1 to m do V (i, 0) := V (i 1, 0) + s(s 1 (i), ); for j = 1 to n do V (0, j) := V (0, j 1) + s(, S 2 (j)); for i = 1 to m do for j = 1 to n do V (i, j) := max[v (i 1, j 1)+s(S 1 (i), S 2 (j)), V (i 1, j)+s(s 1 (i), ), V (i, j 1) + s(, S 2 (j))]; return V (m, n); Algorytm 2.1.1: Oliczanie globalnego podobieństwa. Obliczmy czas dzia lania Algorytmu 2.1.1. Pierwsza petla for wykonywuje m 1 kroków. Druga petla wykanuje n 1 kroków. Natomiast trzecia petla (ze wzgledu na zagnieżdżenie petli) wykonuje (m 1)(n 1) kroków. Zatem l acznie program wykona O(mn) kroków. Pamieć użyta przez ten program jest O(mn), bo tyle miejsca zajmuje tablica V. Można latwo poprawić użycie pamieci do O(min(m, n)), zapamietuj ac tylko ca ly porzedni wiersz (badź kolumne) w celu obliczenia nastepnego nowego wiersza (kolumny). alg.4.1 2.1.2 Odtwarzanie optymalnych uliniowień Aby odtworzyć optymalne rozwiazanie, w miejscu (i, j) w tablicy V wystarczy umieścić informacje o miejscach, z których pochodzi obliczane maksimum. Z Twierdzenia 2.1.1 wynika, że V (i, j) jest równe maksimum z nastepuj acych trzech wartości: V (i 1, j 1) + s(s 1 (i), S 2 (j)), V (i 1, j) + s(s 1 (i), ), V (i, j 1) + s(, S 2 (j)). Jeśli V (i, j) jest równe pierwszej z powyższych trzech wartości, to wpisujemy w miejscu (i, j) symbol, 20

drugiej z powyższych trzech wartości, to wpisujemy w miejscu (i, j) symbol, trzeciej z powyższych trzech wartości, to wpisujemy w miejscu (i, j) symbol. Oczywiście może sie tak zdażyć, że w tablicy w jednym miejscu znajda sie dwa (a nawet trzy) symbole. Dodatkowo w pozycjach (i, 0), dla i > 0, wpisujemy symbol. Natomiast w pozycjach (0, j), dla j > 0, wpisujemy. Po wpisaniu strza lek we wszystkie miejsca tablicy optymalne uliniowienie otrzymuje sie przez wybranie dowolnej drogi z miejsca (m, n) do miejsca (0, 0). Przy czym przejście z miejsca (i, j) do (i, j ) jest możliwe tylko wtedy, gdy w miejscu (i, j) znajduje sie strza lka pokazujaca na miejsce (i, j ). Na przyk lad, gdy pozycja (i, j) zawiera strza lki oraz, to możemy przejść z (i, j) tylko do (i 1, j 1) lub do (i 1, j). Na razie za lóżmy, że taka droga istnieje. Majac wybrana taka droge D, 2 uliniowienie odpowiadajace D konstruujemy od prawej do lewej w nastepuj acy sposób. Na poczatku mamy dwa puste ciagi (tworzace sufiksy konstruowanego uliniowienia) oraz aktualna pozycja (najbardziej prawa pozycja jeszcze nie rozpatrywana) w D jest (m, n). W ogólności za lóżmy, że T 1, T 2 sa już skonstruowanymi sufiksami uliniowienia oraz (i, j) jest najbardziej prawa pozycja w D dotad nie rozpatrywana. Jeśli i = 0 = j, to T 1, T 2 jest poszukiwanym uliniowieniem. W przeciwnym przypadku, jeśli nastepn a pozycja w D jest (i, j ) to mamy nastepuj ace możliwości: i = i 1 oraz j = j 1. Wówczas do T 1 dopisujemy z lewej strony S 1 (i), a do T 2 dopisujemy z lewej strony S 2 (j). i = i 1 oraz j = j. Wówczas do T 1 dopisujemy z lewej strony S 1 (i), a do T 2 dopisujemy z lewej strony. i = i oraz j = j 1. Wówczas do T 1 dopisujemy z lewej strony, a do T 2 dopisujemy z lewej strony S 2 (j). Otrzymujemy w ten sposób nowa pare s lów, a nastepn a pozycja, która bedziemy rozważać w nastepnym kroku jest (i, j ). Twierdzenie 2.1.2 Jeśli D jest droga od (m, n) do (0, 0) zbudowana przy użyciu strza lek, to uliniowienie wyznaczone przez te droge jest optymalne. 2 Czyli taki ciag par (i, j) od (m, n) do (0, 0), że jeśli (i, j ) stoi bezpośrednio za (i, j) to pozycja (i, j) w tablicy V musi zawierać strza lke skierowana w strone (i, j ). 21

Dowód: Niech (T 1, T 2 ) bedzie uliniowieniem wyznaczonym przez D. Dowodzimy nastepuj ac a, nieco ogólniejsza w lasność. Dla każdego 0 k D, jeśli para (i, j) stoi na k-tym miejscu w D, to wartość podobieństwa dla uliniowienia (T 1 [1..k], T 2 [1..k]) jest równa V (i, j). Oczywista indukcje ze wzgledu na k pozostawiamy czytelnikowi. Zatem wartość podobieństwa dla (T 1, T 2 ) wynosi V (m, n), czyli uliniowienie to jest optymalne. Zauważmy, że z powyższego twierdzenia nie wynika czy taka droga od (m, n) do (0, 0) musi istnieć. Również nie jest oczywiste czy każde optymalne uliniowienie dla S 1, S 2 możemy otrzymać ta metoda. Twierdzenie 2.1.3 Dla każdego optymalnego uliniowienia (S # 1, S # 2 ) dla s lów (S 1, S 2 ) istnieje droga D od (m, n) do (0, 0), wyznaczona przy pomocy w/w regu l i taka, że (S # 1, S# 2 ) jest wyznaczone przez D. Przyk lad 2.1.3 Znajdziemy wszystkie optymalne uliniowienia dla s lów S 1 = AT T GC oraz S 2 = AT GC. Używamy funkcji podobieństwa z Przykladu 2.1.1. A T G C 0-2 -4-6 -8 A -2 1-1 -3-5 T -4-1 2 0-2 T -6-3 0 1-1 G -8-5 -2 1 0 C -10-7 -4-1 2 Mamy wi ec dwa optymalne uliniowienia o wartości 2: S # 1 S # 2 S # 1 S # 2 = AT T GC = A T GC, oraz = AT T GC = AT GC Zadanie 2.1.1 Wyznaczyć wszystkie optymalne uliniowienia dla s lów z Przyk ladu 2.1.2. 22

Zadanie 2.1.2 Obliczyć globalne podobieństwo s lów S 1 = CAGT AT T CGCA, S 2 = AAGT T AGCAG dla funkcji podobieństwa s(x, ) = 1, { 1 gdy x = y, s(x, y) = 1 gdy x y. Zadanie 2.1.3 Udowodnić Twierdzenie 2.1.3. Zadanie 2.1.4 (Hirschberg) Algorytm znajdujacy optymalne uliniowienie, opisany w notatkach używa pamieci O(mn). Znaleźć algorytm znajdujacy optymalne uliniowienie, dzia lajacy w czasie O(mn) i w pamieci liniowej od rozmiaru s lów. 2.1.3 Odleg lość edycyjna Pojecie odleg lości edycyjnej pomiedzy s lowami zosta lo zaproponowane przez Levensteina w 1966r. Pojecie to jest oparte na minimalnej liczbie mutacji, które przeprowadzaja jedno s lowo w drugie. Rozważamy cztery typy operacji na s lowach: Wstawienie litery (I); Usuni ecie litery (D); Zamiana liter (R); Pozostawienie litery nie zmienionej (M). Niech T {D, I, M, R} bedzie danym ciagiem operacji na s lowach oraz niech S 1, S 2 Σ bed a dowolnymi s lowami. Zdefiniujemy relacje T : S 1 S 2 (czytamy: T przekszta lca S 1 w S 2 ) przez indukcje ze wzgledu na T. ε : S 1 S 2 S 1 = S 2 = ε; IT : S 1 S 2 istnieja x Σ oraz S 2 Σ takie, że S 2 = xs 2 oraz T : S 1 S 2; DT : S 1 S 2 istnieja x Σ oraz S 1 Σ takie, że S 1 = xs 1 oraz T : S 1 S 2 ; RT : S 1 S 2 istnieja x, y Σ oraz S 1, S 2 Σ takie, że S 1 = xs 1, S 2 = ys 2 oraz T : S 1 S 2 ; MT : S 1 S 2 istnieja x Σ oraz S 1, S 2 Σ takie, że S 1 = xs 1, S 2 = xs 2 oraz T : S 1 S 2. 23

Niech T oznacza liczbe wystapień symboli I, D, R w T (nie liczymy wystapiń litery M). Odleg lość edycyjna pomiedzy dwoma s lowami S 1, S 2 Σ definiuje sie nastepuj aco: δ(s 1, S 2 ) = min{ T T : S 1 S 2 }. Twierdzenie 2.1.4 Dla dowolnych S 1, S 2, S 3 Σ zachodzi, (i) δ(s 1, S 2 ) 0, oraz δ(s 1, S 2 ) = 0 S 1 = S 2. (ii) δ(s 1, S 2 ) = δ(s 2, S 1 ). (iii) δ(s 1, S 2 ) δ(s 1, S 3 ) + δ(s 3, S 2 ). Każda funkcja δ : Σ Σ R spe lniajaca warunki (i)-(iii) Twierdzenia 2.1.4 nazywa sie odleg lościa. Zadanie 2.1.5 Znaleźć algorytm, który oblicza δ(s 1, S 2 ), dla dowolnych s lów S 1, S 2 Σ w czasie O( S 1 S 2 ). Zadanie 2.1.6 Określić funkcj e podobieństwa s : (Σ { }) (Σ { }) R, tak aby dla dowolnych S 1, S 2 Σ zachodzi lo δ(s 1, S 2 ) = sim(s 1, S 2 ). Zadanie 2.1.7 Uogólnić definicje odleg lości edycyjnej, tak aby mia la nastepuj ac a w lasność. Dla dowolnej funkcji podobieństwa s : (Σ { }) (Σ { }) R istnieje odleg lość edycyjna ˆδ taka, że dla dowolnych S 1, S 2 Σ, ˆδ(S 1, S 2 ) = sim(s 1, S 2 ). (Uwaga: uogólnienie powinno polegać na tym, że cena operacji I oraz D jest taka sama, ale może zależeć od litery wstawianej/usuwanej. Natomiast cena R może zależeć od liter zamienianych.) Zadanie 2.1.8 Niech s bedzie funkcja podobieństwa z Przyk ladu 2.1.1. Niech n 1 bedzie dowolna liczba naturalna i niech Σ n oznacza zbiór wszystkich s lów d lugości n. Definiujemy funkcje d : Σ n Σ n R nastepuj acym wzorem d(s 1, S 2 ) = sim(s 1, S 1 ) + sim(s 2, S 2 ) 2sim(S 1, S 2 ). Czy d jest odleg lościa? 24