lgorithmen in der iologie r. Hans-Joachim öckenhauer r. ennis Komm Zusammenfassung des. bends Zürich, 0. pril 0 lignment-verfahren Für einen Überblick über die lignment-lgorithmen zur estimmung der Ähnlichkeit von iomolekülen siehe die Vortragsfolien. ine ausführliche arstellung findet sich auch im uch lgorithmische Grundlagen der ioinformatik von öckenhauer und ongartz []. Phylogenetische äume as Ziel in diesem bschnitt ist es, einen kleinen inblick in die Modellierung der Verwandtschaftsbeziehungen zwischen verschiedenen biologischen rten zu geben und für eines dieser Modelle einen lgorithmus zur erechnung eines Stammbaums vorzustellen. ine ausführlichere iskussion findet sich zum eispiel in Kapitel des uchs lgorithmische Grundlagen der ioinformatik von öckenhauer und ongartz []. Wir wollen also für eine gegebene Menge heute lebender biologischer rten einen Stammbaum finden, der die evolutionäre ntwicklung möglichst gut wiedergibt. in solcher sogenannter phylogenetischer aum ist schematisch in bbildung gezeigt. gemeinsamer Vorfahr volution Vorfahren heute lebende rten bbildung. Schema eines Stammbaums ls ingabe können verschiedene rten von Wissen über die einzelnen rten dienen: istanzen zwischen den einzelnen rten, zum eispiel die dit-istanz der Genome oder einzelner Gene, phänotypische Merkmale der rten, also äusserlich erkennbare bweichungen der Form, der Farbe, der Grösse etc.,
bbildung. in istanzgraph genotypische Merkmale, zum eispiel das Vorhandensein einzelner Gene, Genexpressionsdaten etc. Gesucht ist nun eine inordnung der rten in einen phylogenetischen aum, so dass die ntfernung zwischen je zwei rten in dem aum die istanzen bzw. die Übereinstimmung der Merkmale wiederspiegelt. Hierfür sind eine Fülle verschiedener Modelle und lgorithmen untersucht worden. Wir wollen hier ein einfaches Modell näher untersuchen, bei dem wir folgende Zusatzannahmen treffen: lle in dem aum vorkommenden rten, also auch die bereits ausgestorbenen Vorfahren bis hin zum gemeinsamen Vorfahren aller gegebenen heute lebenden rten, sind bekannt. Für je zwei rten ist der exakte Wert eines gegebenen istanzmasses dist bekannt. s gab während der volution in diesem Stammbaum keine Rückwärtsentwicklungen, das heisst für je drei rten x, y und z in einer bstammungslinie (x ist Vorfahr von y und y ist Vorfahr von z) gilt, dass dist(x, y) + dist(y, z) = dist(x, z). In diesem Fall sprechen wir von einem additiven Stammbaum. Um aus den gegebenen istanzen einen passenden Stammbaum zu bestimmen, stellen wir die istanzen zunächst in einem istanzgraphen dar. ie Knoten dieses vollständigen Graphen stellen die rten dar, die Kantengewichte entsprechen den gegebenen istanzen, siehe bbildung für ein eispiel. Jeder mögliche Stammbaum für die gegebenen rten ist ein aum, der alle Knoten des istanzgraphen enthält, also ein sogenannter Spannbaum des istanzgraphen. Um jetzt den Stammbaum zu finden, der am besten zu den gegebenen istanzen passt, suchen wir einen Spannbaum des istanzgraphen, in dem die Summe der Kantengewichte minimal wird. Satz. Wegen der dditivitätsbedingung an die istanzen ist dieser minimale Spannbaum eindeutig bestimmt.
eweis. Nehmen wir an, dass es in dem istanzgraphen zwei verschiedene minimale Spannbäume T und T gibt. Wir versuchen, diese nnahme zu einem Widerspruch zu führen, damit haben wir dann die indeutigkeit gezeigt. Sei e eine Kante in T zwischen zwei Knoten x und y, die nicht in T vorkommt. Seien S und S die beiden Teilbäume, die entstehen, wenn man die Kante e aus T entfernt, sei x in S und y in S. Weil auch T ein Spannbaum ist, gibt es in T einen Pfad P von x nach y. Wegen der dditivität der istanzen sind alle Kanten auf dem Pfad P billiger als die Kante e. Wenn wir also aus T die Kante e entfernen und dafür eine Kante e aus P hinzufügen, erhalten wir einen Spannbaum, der billiger als T ist. ies ist ein Widerspruch zu unserer nnahme, dass T ein minimaler Spannbaum ist. Somit muss unsere nnahme falsch sein, es gibt also keine zwei verschiedenen minimalen Spannbäume in einem istanzgraphen. Wir stellen jetzt einen lgorithmus vor, der diesen eindeutigen Spannbaum findet. ingabe: in istanzgraph zu einer Menge von rten. Schritt : Starte mit beliebigem Knoten x. Schritt : Sind alle Knoten im Spannbaum enthalten? Schritt : Falls ja, gib den berechneten Spannbaum aus. Schritt : Sonst füge zu dem bereits berechneten Spannbaum die (eindeutig bestimmte) billigste Kante hinzu, die ihn mit einem noch nicht enthaltenen Knoten verbindet und gehe zurück zu Schritt. nde ieser lgorithmus wird nach seinem rfinder lgorithmus von Prim genannt. ine usführung auf dem istanzgraphen aus bbildung ist in bbildung gezeigt. Wir können diese usführung wie folgt beschreiben: (a) Im ersten Schritt wird der Knoten x = gewählt. ie billigste Kante von x aus ist die Kante {, }. (b) a diese Kante noch kein vollständiger Spannbaum ist, wird nun die billigste Kante von einem der beiden Knoten und zu einem noch nicht verbundenen Knoten (also, oder ) gesucht. ies ist die Kante {, }. (c) ie billigste Kante, die dann, oder mit einem der noch nicht verbundenen Knoten oder verbindet, ist die Kante {, }. (d) Mit der Kante {, }, die den noch nicht verbundenen Knoten an den bisher berechneten Spannbaum anschliesst, ist der Spannbaum jetzt vollständig. ieser lgorithmus ist korrekt, weil man die folgende eobachtung beweisen kann. Satz. Sei G ein Graph mit Knotenmenge V, sei V = U U eine ufteilung der Knoten in zwei disjunkte Teilmengen. Weiter seien u U und u U zwei Knoten, so dass {u, u } die billigste Kante zwischen U und U ist. ann gibt es einen minimalen Spannbaum, der {u, u } enthält. eweis. Wir nehmen an, dass kein minimaler Spannbaum die Kante e = {u, u } enthält und führen diese nnahme zu einem Widerspruch. Sei T eine minimaler Spannbaum. Wenn wir e zu T hinzufügen, dann entsteht ein Kreis. er Pfad P von u nach u in T enthält eine Kante {x, y}, die von U nach U führt (gegebenenfalls kann es auch mehrere solche Kanten geben), siehe auch bbildung.
(a) (b) (c) (d) bbildung. in eispiel für die usführung des lgorithmus von Prim auf dem istanzgraphen aus bbildung U U u u e x y P bbildung. Jeder minimale Spannbaum enthält die billigste Kante von U nach U.
Weil {u, u } die billigste Kante zwischen U und U ist, ist {x, y} mindestens so teuer wie {u, u }, damit ist der Spannbaum, der entsteht, wenn man in T die Kante {x, y} löscht und die Kante {u, u } einfügt, auch ein minimaler Spannbaum im Widerspruch zu unserer nnahme. lso ist die nnahme falsch und es gibt einen minimalen Spannbaum, der {u, u } enthält. Weiterführende Literatur [] ine inführung in die lignment-lgorithmen findet sich in Kapitel und eine inführung in die möglichen Modelle zur Stammbaumberechnung in Kapitel des uchs H.-J. öckenhauer,. ongartz: lgorithmische Grundlagen der ioinformatik, Teubner-Verlag 00.