Zusammenfassung des 2. Abends

Ähnliche Dokumente
10. Übungsblatt zu Algorithmen I im SoSe 2016

Übersicht Datenstrukturen und Algorithmen. Übersicht. Probleme auf kantengewichteten Graphen. Vorlesung 14: Minimale Spannbäume

Globalübungsaufgabe1 (All Pair Shortest Path):

1.Aufgabe: Minimal aufspannender Baum

Betriebliche Optimierung

3. Minimale Spannbäume. Definition 99 T heißt minimaler Spannbaum (MSB, MST) von G, falls T Spannbaum von G ist und gilt:

Betriebswirtschaftliche Optimierung

40. Algorithmus der Woche Das Travelling Salesman Problem oder die optimale Tour für den Nikolaus

Bäume und Wälder. Definition 1

Wege, Pfade und Kreise

Bäume und Wälder. Definition 1

Minimal spannender Baum

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

9 Minimum Spanning Trees

Algorithmische Bioinformatik

Graphdurchmusterung, Breiten- und Tiefensuche

Algorithmen & Komplexität

Diskrete Mathematik 1

\ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E.

Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume)

Knoten-Partitionierung in feste Eigenschaften ist NP-schwer

Algorithmische Graphentheorie

Vorlesung Datenstrukturen

Datenstrukturen und Algorithmen (SS 2013)

Bioinformatik. Einführung in die Phylogenie. Distanzbasierte phylogenetische Algorithmen. (lat.: phylum = Stamm) Ulf Leser Wissensmanagement in der

Kapitel 8: Bipartite Graphen Gliederung der Vorlesung

Bemerkung: Der vollständige Graph K n hat n(n 1)

Kombinatorische Optimierung

Übung zur Vorlesung Diskrete Strukturen I

4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1

Lösungsvorschläge Aufgaben 14.1, 14.3, 14.4

WS 2013/14. Diskrete Strukturen

3.2 Generischer minimaler Spannbaum-Algorithmus

Tutoraufgabe 1 (Floyd-Warshall):

Theoretische Informatik 1

Das Problem des minimalen Steiner-Baumes

Graphen. Definitionen

8.4 Digraphen mit negativen Kantengewichten Grundsätzliches Betrachte Startknoten s und einen Kreis C mit Gesamtlänge < 0.

Diskrete Strukturen Endterm

P-Median Problem. Michael Enser Anzahl der ausgewählten Standorte oder Mediane

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza)

1 Einführung. 2 Grundlagen von Algorithmen. 3 Grundlagen von Datenstrukturen. 4 Grundlagen der Korrektheit von Algorithmen

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein

Graphentheorie. Formale Grundlagen (WIN) 2008S, F. Binder. Vorlesung im 2008S

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck. 10 Matching-Probleme

Seien u, v V, u v. Da G zusammenhängend ist, muss mindestens ein Pfad zwischen u und v existieren.

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Verteilen von Bällen auf Urnen

Datenstrukturen und Algorithmen SS07

3. Musterlösung. Problem 1: Boruvka MST

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Das Heiratsproblem. Definition Matching

Rundreiseproblem und Stabilität von Approximationsalg.

Zentralübung zur Vorlesung Diskrete Strukturen

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7

Informatik II, SS 2014

5. Musterlösung. Problem 1: Vitale Kanten * ω(f) > ω(f ). (a) Untersuchen Sie, ob es in jedem Netzwerk vitale Kanten gibt.

Algorithmen und Datenstrukturen

Das Steinerbaumproblem

Nachbarschaft, Grad, regulär, Inzidenz

Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph.

11. GRAPHEN 3 FLÜSSE UND SPANNBÄUME

Programmierkurs Python II

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Mayr)

Kapitel IV Minimale Spannbäume

Übung zur Vorlesung Diskrete Mathematik (MAT.107) Blatt Beispiellösungen Abgabefrist:

Graphalgorithmen 2. Dominik Paulus Dominik Paulus Graphalgorithmen / 47

1. Einleitung wichtige Begriffe

Tutoraufgabe 1 (Suchen in Graphen):

Algorithmen und Datenstrukturen 1 VL Übungstest SS Juni 2009

Dank. 1 Ableitungsbäume. 2 Umformung von Grammatiken. 3 Normalformen. 4 Pumping-Lemma für kontextfreie Sprachen. 5 Pushdown-Automaten (PDAs)

Magische Quadrate. Die Abbildung zeigt einen Ausschnitt aus Albrecht Dürers Kupferstich «Melancholie».

Theorie der Informatik Übersicht. Theorie der Informatik SAT Graphenprobleme Routing-Probleme. 21.

Unendliche Graphen. Daniel Perz 24. Dezember Definition 1. Ein Graph G heißt lokal endlich, wenn alle Knotengrade endlich sind.

Diskrete Strukturen. Hausaufgabe 1 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

Formale Grundlagen. Graphentheorie 2008W. Vorlesung im 2008S

Informatik II, SS 2016

Kap. 6.5: Minimale Spannbäume ff

Einheit 11 - Graphen

Theoretische Informatik 1

Lösungsvorschläge zur Hauptklausur 1661 Datenstrukturen I

Wie findet man den optimalen Weg zum Ziel? Klassische Probleme der Kombinatorischen Optimierung

ADS: Algorithmen und Datenstrukturen 2

Übung zur Vorlesung Diskrete Strukturen I

f h c 7 a 1 b 1 g 2 2 d

Informatik II, SS 2014

Kapitel 5: Minimale spannende Bäume Gliederung der Vorlesung

Städtewettbewerb Frühjahr 2012 Lösungsvorschläge

Aufgaben zur Klausurvorbereitung

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Kapitel Komplexität. Beispiel II. Beispiel I. Methodische Grundlagen und Graphen

1 Kürzeste Pfade in Graphen

Bipartite Graphen. Beispiele

Überblick. TSP Vergleich der Lösungen. Das Travelling Salesman Problem. Nearest-Neighbor Heuristik für TSP

Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien

Der Branching-Operator B

Algorithmen für Planare Graphen

Richtig oder falsch? Richtig oder falsch? Richtig oder falsch? Mit dynamischer Programmierung ist das Knapsack- Problem in Polynomialzeit lösbar.

Bäume und Wälder. Seminar: Graphentheorie Sommersemester 2015 Dozent: Dr. Thomas Timmermann

Transkript:

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.