Phylogenetische Bäume

Größe: px
Ab Seite anzeigen:

Download "Phylogenetische Bäume"

Transkript

1 Phylogenetische Bäume Hauptseminar AfS Algorithmen der Bioinformatik Andreas Brieg Ilmenau,

2 Phylogenetische Bäume

3 Gliederung Einleitung Distanzbasierte Methoden Ultrametriken und ultrametrische Bäume Additive Bäume Merkmalsbasierte Methoden Zweiwertige Merkmale Perfekte Phylogenie Parsimony-Prinzip Topologiekonstruktion

4 Einleitung

5 Einleitung Phylogenese Die Phylogenese beschreibt die biologische Entwicklung von Arten und Artengruppen hinsichtlich ihrer Verwandtschaftsbeziehungen und Abstammung während der Erdgeschichte. Dabei erfolgt die Darstellung der Ergebnisse anhand binärer Bäume, die je nach Art des Verfahrens gewichtet oder gerichtet sein können. Taxon Als Taxon (Plural: Taxa) bezeichnet man die Objekte, die in der Phylogenese untersucht werden. Hierbei handelt es sich nicht ausschließlich um Lebewesen, sondern auch beispielsweise um einzelne Gene. Phylogenetischer Baum Ein phylogenetsicher Baum ist ein Baum der die Verwandtschaftsbeziehung zwischen einer Menge von Taxa darstellt und diese gruppiert.

6 Bemerkung Einleitung Neuere Erkenntnisse lassen darauf schließen, dass die Eukaryoten ein Chimär aus Bakterien und Archaeen sind. Diese Entwicklung lässt sich nicht durch phylogenetische Bäume, sondern nur durch phylogenetische Netze beschreiben. Deshalb sind die hier vorgestellten Methoden mit Vorsicht zu genießen und auf Plausibilität zu prüfen, was aber dann eher die Biologen betrifft. Methoden der Phylogenese können maximal so gut sein, wie das Modell das ihnen zugrunde liegt. Anwendungen Stammbaum des Lebens Klassifizierung von Organismen Verbreitungswege von Krankheiten und Erregern H5N1 Kriminalistik Hat ein Arzt Patienten mit HIV infiziert? Medizin Modellierung der Entstehung von Krebs

7 Distanzbasierte Methoden

8 Distanzbasierte Methoden Kennzeichen der distanzbasierten Methoden ist eine Funktion, die 2 Taxa eine Distanz zuordnet, welche die Ähnlichkeit der Taxa beschreibt. Im Allgemeinen wird dazu eine Matrix deren Spalten und Zeilen mit den Taxa beschriftet sind angegeben, welche einen vollständigen gewichteten Graphen über der Menge der Taxa beschreibt. In der Praxis werden die Distanzen häufig anhand der Molecular Clock Theory ermittelt, die besagt, dass die Rate der Mutationen in etwa konstant ist und sich somit aus der Anzahl der Mutationen, die ein Gen in ein Homologes überführt, die Zeit ermitteln lässt, die zwischen dem Entstehen des früheren Gens und der Divergenz der Gene vergangen ist. Ein weiteres Merkmal der distanzbasierten Methoden ist, dass Merkmale über Vorfahren nicht ermittelt werden und somit nur eine Klassifizierung der Taxa stattfindet. Aussagen über Vorfahren sind nur dann möglich, wenn sie auch in der ursprünglichen Menge der Taxa vorkommen.

9 Ultrametrische Distanzen Definition Metrik: Eine Metrik auf einer Menge M ist eine Abbildung mit folgenden Eigenschaften: Definition Ultrametrik: : M M Q 0 a,b M : a,b =0 a=b a,b M : a,b = b, a a, b,c M : a, b a,c c,b Eine Ultrametrik auf einer Menge A ist eine Metrik mit folgender zusätzlicher Eigenschaft: a,b a, c = b,c a,c a, b = b,c b, c a,b = a,c

10 Definition ultrametrischer Baum: Ultrametrische Bäume sei ein gerichteter kantengewichteter Baum mit der Kantenbewertung T ist ultrametrisch, wenn folgendes gilt: Beispiel: T = V,E,d d :E Q 0 a,b Leaf T :dist a, LCA a,b =dist b,lca a,b d a,b dist a, LCA a,b

11 Ultrametrische Bäume minimale ultrametrische Bäume Zwei ultrametrische Bäume T 1 und T 2 heißen minimal, wenn folgende Bedingung gilt: a Leaf T 1, b Leaf T 2 : a, b d 1,d 2 Dabei sind d 1 und d 2 die maximalen Distanzen zwischen zwei Blättern in den Bäumen T 1 und T 2. Um einen Algorithmus zur Berechnung ultrametrischer Bäume zu erhalten, zeigen wir noch 2 Lemmata, die immer annehmen, dass es für die Menge der Taxa eine Ultrametrik gibt.

12 Ultrametrische Bäume Lemma Seien T 1 und T 2 minimale ultrametrische Bäume für disjunkte Teilmengen der Menge A von Taxa. Dann existiert ein minimaler ultrametrischer Baum T' der T 1 und T 2 enthält. Beweis durch Konstruktion Seien h 1 und h 2 die Distanzen der Wurzeln der Bäume T 1 und T 2 zu deren Blättern und bezeichne d die minimale Distanz zwischen Blättern aus T 1 und T 2. Konstruiere einen neuen Baum T' mit Wurzel r, T 1 als linkes Kind und T 2 als rechtes Kind von r. Dann ergibt sich die Distanz von r zu allen Blättern aus h r = d / 2. Die Kanten von r zu dessen Kindern erhalten somit die Beschriftung h r - h 1 bzw. h r h 2.

13 Ultrametrische Bäume Da wir mit der Menge der Taxa starten und die einzelnen Taxa schon als Teilbäume des gesamten Baums interpretieren können müssen wir noch eine Reihenfolge festlegen, wie die einzelnen Teilbäume vereinigt werden. Lemma Sei Γ eine Menge von disjunkten minimalen Teilbäumen einer Menge A von Taxa. Werden aus dieser Menge die beiden Teilbäume vereinigt, wo es ein Paar von Blättern gibt, so dass beide Blätter in verschiedenen Teilbäumen liegen und die Distanz zwischen ihnen minimal ist, dann ist der entstehende Baum ein Teilbaum des gesamten ultrametrischen Baums von A. Beweis Seien d 12 < d 13 < d 23 die minimalen Distanzen zwischen den Teilbäumen T 1, T 2 und T 3 und h 1, h 2 und h 3 die Distanzen von der Wurzel zu den Blättern. Es werden zuerst T 2 mit T 3 vereinigt und der entstehende Baum dann mit T 1 vereinigt.

14 Wir erhalten somit folgendes Bild: Ultrametrische Bäume Für den Term an der Kante gilt: (d 12 d 23 ) / 2 < 0. Somit wäre der entstehende Baum nicht mehr ultrametrisch und damit kein Teilbaum mehr von dem ultrametrischen Baum der Menge A der Taxa.

15 UPGMA Algorithmus Eingabe: Eine A={a 1, a 2,..., a n } Menge von n Taxa und eine ultrametrische Distanzfunktion : A A Q Initialisierung Setze :={{a 1 },..., {a n }} Setze dist {a i },{a j } := a i,a j für alle i, j {1,..., n} Setze height {a i } :=0 für alle i, j {1,..., n} Setze V := und E := 2. while 2 do Finde C 1, C 2,C 1 C 2, so dass dist C 1, C 2 minimal ist, setze D :=C 1 C 2 Setze := {C 1, C 2 } {D} Aktualisiere die Distanzmatrix dist X, D =dist D, X := dist C X dist C X 1, 2, 2 für alle X \ {D} Setze V :=V {D} und E :=E { D,C 1, D,C 2 } Setze height D := dist C C 1, 2 2 Setze d D, C 1 :=height D heigth C 1 und d D,C 2 :=height D height C 1 Ausgabe: Der ultrametrische Baum T = V, E,d für A.

16 UPGMA Laufzeit Das finden der Elemente mit minimaler Distanz geht in O(n 2 ). Die Aktualisierung der Distanzmatrix braucht O(n) Schritte da eine Spalte neu berechnet wird. Die restlichen Schritte sind in O(1) ausführbar. Da wir in jeder Iteration ein Element aus der Menge Γ entfernen brauchen wir O(n) Iterationen. Damit hat UPGMA eine Laufzeit von O(n 3 ). Diese lässt sich jedoch noch verbessern. Die Distanzen könnten zu Anfang in einen sortierten Heap eingefügt werden. Dies dauert O(n 2 log n). Dann muss immer nur das niedrigste Element aus diesem Heap entfernt werden um die Objekte mit minimaler Distanz zu finden. Für eine Aktualisierung der Distanzmatrix müssen 2n Elemente aus dem Heap entfernt und n Elemente eingefügt werden, was in Zeit O(n log n) ausführbar ist. Damit erreicht man eine Laufzeit von O(n 2 log n).

17 Additive Bäume Definition additiver Baum: Gegeben seinen eine Menge A von Taxa und eine Metrik δ. Ein Baum T = V, E,d, A V heist additiv, wenn gilt: Dabei gilt: dist a,b = a,b a, b A dist a,b = d e e Path a,b Definition kompakter additiver Baum: Ein additiver Baum T heißt kompakt, falls gilt: A=V Taxa dürfen jetzt auch inneren Knoten des Baums zugeordnet werden.

18 Additive Bäume Satz Sei A eine Menge von Taxa, sei δ ein metrisches Distanzmaß auf A. Falls ein kompakter additiver Baum T für A und δ existiert, dann ist T der eindeutig bestimmte minimale Spannbaum von G(A, δ). Beweis Sei e = (x,y) eine nicht in T enthaltene Kante. Wegen der A zugrunde liegenden Metrik ist δ(x,y) echt größer als die Bewertung jeder einzelnen Kante auf dem Pfad von x nach y in T.

19 Additive Bäume Wir nehmen an, e ist in einem minimalem Spannbaum T'. Die Zusammenhangskomponenten S und S' enstehen durch löschen von e in T'. Da aber der Pfad von x nach y in T höchstens das Gewicht von δ(x,y) hat, gibt es eine Kante e' in T, die Knoten aus S und S' miteinander verbindet und die verschieden von e ist. Deshalb gibt es einen Spannbaum T'', der nicht e enthält und geringeres Gewicht als T' hat. Das steht aber im Widerspruch zur Minimalität von T'.

20 Bestimmung des kompakten additiven Baums Eingabe: Eine Menge A={a 1,...,a n } von Taxa und ein metrisches Distanzmaß auf A 1. Berechne einen minimalen Spannbaum T = V ', E ',d ' für G= A, 2. Für alle Kanten e in G T Füge e in T ein Prüfe ob es auf einem Kreis in T eine Kante e' gibt mit d ' e ' e, wenn ja brich die Berechnung mit der Meldung Es gibt keinen kompakten additiven Baum ab lösche e aus T 3. Überprüfe, ob die Additivitätsbedingung erfüllt ist Ausgabe: Der kompakte additive Baum T = V ', E ',d ' oder die Meldung Es gibt keinen kompakten additiven Baum.

21 Bestimmung des kompakten additiven Baums Zur Bestimmung des minimalen Spannbaums kann der Algorithmus von Prim verwendet werden. Laufzeit Schritt 1 hat die asymptotische Laufzeit des zur Berechnung des minimalen Spannbaums verwendeten Algorithmus. Schritt 2 braucht O(n 2 ) Durchläufe, da der Distanzgraph so viele Kanten hat. Auf dem entstehenden Kreis können maximal O(n) Kanten liegen, wobei jede dieser geprüft werden muss. Schritt 3 braucht O(n 2 ) Schritte, da für n Knoten maximal ein Weg der Länge O(n) besucht werden muss. Insgesamt besitzt dieser Algorithmus also eine Laufzeit von O(n 3 ). Bemerkung Das Resultat des Algorithmus ist ein ungerichteter unvollständiger Baum. Um ihn eine Richtung zu verleihen wird häufig noch eine Randgruppe in die Menge der Taxa mit aufgenommen. Die Wurzel ist dann der Knoten, der mit der Randgruppe verbunden ist. Allerdings besteht die Gefahr, dass die Randgruppe in Realität gar keine ist, da man ja genau das versucht mit diesem Baum herauszufinden.

22 Merkmalsbasierte Methoden

23 Merkmalsbasierte Methoden Für merkmalsbasierte Methoden sind die Taxa nicht mehr als abstrakte Symbole gegeben. Vielmehr wird jetzt ein Taxa als Kombination seiner Merkmale interpretiert. Die Merkmale werden im allgemeinen als String der Länge k über einem Alphabet Σ dargestellt. Dabei kennzeichnet eine Position im String ein bestimmtes Merkmal und die Buchstaben des Alphabets beschreiben den Zustand des Merkmals. Da Strings über einem beliebigem Alphabet auf Strings über dem Alphabet {0,1} abgebildet werden können, beschränken wir uns im folgenden auf zweiwertige Merkmale. Merkmalsbasierte Methoden dienen nur zur Klassifikation von Taxa, da kein zeitlicher Bezug zur Entstehung der Merkmale bekannt ist. Aus Merkmalen können auch Distanzen gewonnen werden, zum Beispiel durch den Hammingabstand der Taxa.

24 Merkmalsbasierte Methoden Es werden folgende Annahmen über die Entwicklung von Merkmalen gemacht: unabhängige Vererbung keine Rückentwicklung (sprich nur Mutation von 0 zu 1) den Vorfahren zugeordnete Merkmale sind rein hypothetisch, sagen also nichts über deren tatsächliche Merkmale aus

25 Definition binäre Merkmalsmatrix: Zweiwertige Merkmale Gegeben seien eine Menge A von Taxa und eine Menge D von Merkmalen. A={a 1,...,a n } D={d 1,...,d m } Eine binäre Merkmalsmatrix für A und D ist eine (n x m) Matrix M mit Beispiel: m i, j ={ 1 falls Taxon a i das Merkmal d j besitzt 0 sonst A i sei die Menge aller Taxa, die Merkmal d i besitzen.

26 Perfekte phylogenetische Bäume Definition perfekter phylogenetischer Baum Gegeben seinen eine Menge A von Taxa, eine Menge D von Merkmalen und eine Merkmalsmatrix M für A und D. Ein perfekter phylogenetischer Baum ist ein kantenbeschrifteter Baum T = (V, E, d), der folgende Bedingungen erfüllt: Die Blätter in T entsprechen den Taxa in A Jeder Kante in E ist entweder die leere Beschriftung λ oder genau ein Merkmal aus D zugeordnet, wobei Merkmale nur ein einziges mal zugeordnet werden Die Merkmale auf dem Weg von der Wurzel zu einem Blatt sind die Merkmale des dem Blatt entsprechenden Taxons Beispiel

27 Konstruktion eines perfekten phylogen. Baums Eingabe: Eine Menge A={a 1, a 2,..., a n } von Taxa, eine Menge D={d 1, d 2,...,d m } von binären Merkmalen und eine binäre Merkmalsmatrix M für A und D, so dass alle Mengen A i und A j paarweise verschieden und entweder disjunkt oder ineinander enthalten sind, für 1 i, j m. 1. Sortiere die Spalten von M nach fallender Anzahl von Einsen. 2. Initialisierung V :={A} E := 3. for j :=1 to m do Suche den Knoten X V, der die kleinste Obermenge von A j ist. V :=V {A j } E :=E { X, A j } d X, A j :=d j 4. for i :=1 to n do if {a i } V then Suche den Knoten X V der die kleinste Obermenge von {a i } ist. V :=V {{a i }} E :=E { C, {a i } } d X,{a i } := Ausgabe: Der perfekte phylogenetische Baum T = V, E,d für M.

28 Perfekte phylogenetische Bäume Laufzeit Die Gesamtlaufzeit des Algorithmus ist O(nm 2 ). Zeitdominat ist Schritt 3, da hier höchstens m mal eine Obermenge gefunden werden muss. Das finden dieser Obermenge ist in Zeit O(nm) möglich, da man die Merkmalsmatrix durchsuchen muss. Bemerkung Muss lediglich die Existenz eines perfekten phylogenetischen Baums geprüft werden, dann ist dies auch in Zeit O(nm) möglich, da hierfür nur die Merkmalsmatrix betrachtet werden muss.

29 Definition Parsimony-Prinzip Parsimony-Prinzip Für eine Menge von Taxa, finde eine Gruppierung, die die zur Gruppierung benötigten Kosten minimiert. Um ein Maß für die Kosten der Gruppierung zu erhalten werden Stringsequenzen genutzt, die die Merkmale darstellen. Die Kosten sind dann die Zahl der Mutationen. Definition ungerichteter phylogenetischer Baum Ein ungerichteter phylogenetischer Baum für eine Menge S von Taxa ist ein binärer Baum, in dem jedes Blatt genau einem Taxon entspricht und alle inneren Knoten den Grad 3 haben. Definition Parsimony Problem Finde für eine Menge S von Taxa und einen ungerichteten phylogenetischen Baum für S eine Funktion, die die Kosten minimiert. Dabei sind die Kosten eines ungerichteten phylogenetischen Baums wie folgt definiert: cost = {x, y} E dist H x, y wobei β eine zulässige Lösung ist und E die Kantenmenge des Baums bezeichnet.

30 Parsimony-Prinzip Ausgangspunkt für einen Algorithmus Beschriftung der Blätter ist gegeben Positionen der Strings können aufgrund der verwendeten Hammingdistanz unabhängig voneinander bearbeitet werden Innere Knoten möglichst ähnlich zu ihren nächstliegenden Blättern beschriften

31 Fitch Algorithmus Eingabe: Eine Menge S von n Strings der Länge k über einem Alphabet und ein ungerichteter phylogenetischer Baum T = V, E für S. 1. Konstruiere einen Baum T '= V ', E ' mit Wurzel r V durch V ' :=V {r} und E ' := E {{x, y}} {{x, r},{y, r }} für eine beliebige Kante {x, y} E. 2. Initialisiere die Menge R x, l der möglichen Symbole an Position l der Beschriftung von x mit für alle x V ' und alle Positionen l {1,..., k }. 3. Initialisiere einen Zähler cost, der die notwendigen Mismatches zählt, mit For l :=1 to k do Rufe die Prozedur Fitch r, l auf. 5. Traceback: Wähle für die Wurzel r eines ihrer Kinder y aus und setze für alle Positionen l {1,..., k } : r,l :=a für ein beliebiges a R y, l Wähle Beschriftungen von Kindern wenn möglich wie ihre Eltern, sonst wähle sie frei aus der Menge der möglichen Beschriftungen Setze x := x, 1... x, k für alle x V und cost :=cost. Ausgabe: Die Strings x für alle Knoten x V und die Kosten cost dieser Beschriftung.

32 Die Prozedur Fitch Prozedur Fitch x,l 1. Falls x ein Blatt ist, dann bestimme den String t=t 1... t k mit dem x beschriftet ist und setze R x,l :=t l. 2. Falls x ein innerer Knoten ist, mache Folgendes: (a) Bestimme die beiden Kinder y und z von x und rufe die Prozeduren Fitch y,l und Fitch z,l auf, um die Mengen R y,l und R z, l zu bestimmen. (b) Falls R y,l R z,l gilt, dann ist auf den Kanten von x zu y und z an der Position l kein Mismatch nötig, setze R x, l :=R y, l R z, l. (c) Falls R y,l R z,l = gilt, dann ist ein Mismatch nötig, erhöhe den Zähler cost um 1 und setze R x,l :=R y, l R z, l, dies garantiert, dass nur auf einer der beiden Kanten {x, y} und {x, z} ein Mismatch an Position l entsteht.

33 Fitch Algorithmus Beispiel Die Kante mit dem Punkt in der Mitte ist die frei gewählte Wurzel. Da Merkmale einzeln betrachtet werden, können an manchen Blättern gleiche Beschriftungen vorkommen. Laufzeit Der Algorithmus hat eine Laufzeit von O(n), da lediglich alle Knoten des Baumes besucht werden müssen und die Auswahl einer möglichen Beschriftung in konstanter Zeit möglich ist.

34 Parsimony-Prinzip Definition Hypercube Ein n-dimensionaler Hypercube ist ein Graph G = (V,E) mit: Definition Steiner Baum V ={a 0,...,a n } 2 1 E={{x, y} x, y V, dist H bin x, bin y =1} Sei G = (V,E,w) ein ungerichteter gewichteter Graph und X eine Teilmenge von V. Ein Steiner Baum ist jeder zusammenhängende Teilgraph von G, der alle Knoten in X enthält. Das Gewicht eines Steiner Baums ist die Summe der Gewichte seiner Kanten. Definition Minimum Parsimony Topologie Problem Gegeben seien eine Menge S von Taxa durch binäre Strings der Länge k. Finde im k-dimensionalen Hypercube den Steiner Baum für S mit minimalem Gewicht. Bemerkung Das Minimum Parsimony Topologie Problem ist NP-vollständig. Siehe L. Foulds and R. Graham. The steiner problem in phylogeny is NP-Complete. Adv. Appl. Math., 3:43 49, 1982

35 Topologierekonstruktion

36 Topologierekonstruktion Wie wir gesehen haben, ist es effizient möglich für einen gegebenen Baum eine perfekte Phylogenie zu berechnen. Allerdings sind als Eingabemengen lediglich die Merkmalssequenzen der Taxa gegeben. Demzufolge muss noch eine Topologie gefunden werden, deren perfekte Phylogenie weniger Mutationen aufweist, als die Phylogenien aller anderen Bäume. Ein naiver Ansatz könnte nun darin bestehen alle möglichen Bäume zu testen. Dies wäre jedoch nicht effizient, da die Anzahl der ungerichteten Bäume mit n Blättern exponentiell mit der Zahl der Blätter wächst: n i=3 2i 5 = 2n 4! 2 n 2 n 2!

37 Lösungsansätze zur Topologiekonstruktion Heuristiken und Approximationen Neighbour Joining Maximum Likelihood Quartett Methoden Quartett Puzzling Short Quartett Method Polynomielles Approximationsschema Zusammenfassende Bemerkungen Parsimony ist NP vollständig und kann inkonsistent sein Distanzbasierte Methoden brauchen unter Umständen Merkmalsmengen, die die in den Genen enthaltene Information übersteigen, um konsistent zu sein Neighbour Joining liefert bei großen Datenmengen nur mit geringer Wahrscheinlichkeit einen Baum, der der wahren Topologie entspricht Maximum Likelihood besitzt sehr großen Rechenaufwand (sogar nicht sicher ob immer Polynomial)

38 Distanzbasierter Polynomialzeitalgorithmus Definition Nachbar Neighbour Joining 2 Knoten in einem Baum heißen benachbart, wenn sie durch genau einen inneren Knoten miteinander verbunden sind. Algortihmus Neighbour Joining startet mit einer Sterntopologie. In einem Schritt wird jeweils das Paar von Nachbarn mit der geringsten Distanz zwischeneinander in einen eigenen Zweig gepackt. Laufzeit O(n 2 ) zum finden des Nachbarn mit der geringsten Distanz bei maximal O(n) Nachbarn die iterativ bestimmt werden. Insgesamt ergibt sich eine Laufzeit von O(n 3 ). Beispiel

39 Maximum Likelihood Heuristisch basierter Algorithmus mit Wahrscheinlichkeiten als Kantengewicht Ziel Es wird für eine gegebene Topologie der wahrscheinlichste Baum ermittelt. Die Topologien werden anhand einer Heuristik ermittelt. Wahrscheinlichkeit eines Baumes Die Wahrscheinlichkeit eines Baumes ist die Summe der Wahrscheinlichkeiten des Auftretens der untersuchten Taxa. Damit ist der wahrscheinlichste Baum gegeben, wenn die einzelnen Wahrscheinlichkeiten des Auftretens der Taxa maximiert sind. Beispiel

40 Maximum Likelihood Heuristiken zum finden der optimalen Topologie Iteratives hinzufügen von Blättern zum Baum bis alle Taxa im Baum erfasst sind in zufälliger Reihenfolge. Zwischen den Schritten wird der Baum so umgebaut, dass die Wahrscheinlichkeit des Baumes erhöht wird. Dabei wird der Baum in 2 Teilbäume zerlegt und der Teilbaum, der nicht die Wurzel des ursprünglichen Baumes enthält wird an einer anderen Blattkante angehängt. Beispiel

41 Maximum Likelihood Laufzeit Das berechnen der maximalen Wahrscheinlichkeit einer gegebenen Topologie ist polynomiell in der Anzahl der Kanten des Baumes. Das suchen einer optimalen Topologie kann unter Umständen exponentielle Zeit erfordern. Dies kommt auch auf die verwendete Heuristik an, da die Vorgestellte nicht die einzig anwendbare ist. Trotz der hohen Berechnungskomplexität wird die Maximum Likelihood Methode oft benutzt, da sie die statistisch konsistentesten Ergebnisse liefert.

42 Quartett Methoden Definition Quartett Ein Quartett ist ein ungerichteter phylogenetischer Baum mit 4 Blättern. Es wird in folgender Form dargestellt: a, b ;c, d Dabei sind die benachbarten Blätter durch ein Komma getrennt und die beiden durch eine Kante verbundenen Teilbäume durch das Semikolon. Definition Konsistenz Ein Quartett Q = (a,b;c,d) ist konsistent zum Baum T, falls die Teilbäume von T, die jeweils benachbarte Blätter des Quartetts enthalten disjunkt sind.

43 Quartett Methoden Satz Buneman Ein ungerichteter Baum lässt sich eindeutig in polynomieller Zeit bei Kenntnis all seiner konsistenten Quartette rekonstruieren. Allerdings ist kein Verfahren zur Berechnung aller konsistenten Quartette aus der Menge der Blätter (also der Taxa) bekannt. Deshalb approximiert man die Menge der konsistenten Quartette. Innerhalb der Quartett Methoden werden nur Quartette aus der Menge der Taxa betrachtet. Quartette mit inneren Knoten des Baumes spielen keine Rolle.

44 Quartet Puzzling Nach Strimmer und von Haeseler 1996 Algorithmus Alle optimalen Quartette berechnen (Quartette mit minimaler Parsimony Bewertung) Wähle eine zufällige Reihenfolge der Taxa Für das jeweils nächste Taxa in der Reihenfolge bestimme die günstigste Einfügeposition Bestimmen der günstigsten Einfügeposition Gegeben ist bereits ein Baum T = (V, E) und a sei das neu einzufügende Taxon. Ermittle die Menge M aller Quartette für das neu einzufügende Taxon a: M={Q {b 1,b 2 ;b 3, a} b 1,b 2,b 3 V } Berechne einen Baum T' = (V, E, d) mit: d e = { b 1,b 2 ;b 3, a e liegt auf dem Pfad von b 1 nach b 2 } M Wähle in T' eine Kante e mit minimalem Gewicht und ersetze diese durch einen Knoten, der mit den zu e inzidenten Knoten und a verbunden ist.

45 Quartet Puzzling Durch das Suchen einer günstigen Einfügeposition wird vermieden, dass der Baum schnell zu einer großen Menge optimaler Quartette inkonsistent wird. Laufzeit O(n 4 ) für das Berechnen der optimalen Quartette O(n log n) für das bestimmen einer zufälligen Reihenfolge der Taxa O(n) mal wird ein Taxon in den Baum eingefügt, wobei das suchen der Einfügeposition O(n 3 ) dauert Die asymptotische Laufzeit des gesamten Algorithmus ist O(n 4 ) Güte Über die Approximationsgüte dieser Heuristik ist nichts bekannt. In der Praxis werden mehrere Reihenfolgen der Taxa gewählt und ein Konsensus aus den erhaltenen Bäumen gebildet.

46 Polynomielles Approximationsschema Nach Jiang, Kearney und Li, 1998 Erinnerung polynomielles Approximationsschema Ein PTAS für ein Optimierungsproblem ist ein Algorithmus A der für eine Eingabe x und eine Güte r ein Resultat liefert, dessen Güte mindestens r ist und für jedes feste r die Laufzeit q r ( x ) hat für ein Polynom q r, wobei r auch im Nenner des Exponenten vorkommen kann. Definition Bipartition Eine Bipartition (A,B) für einen ungerichteten Baum T sind die gerichteten Bäume A und B die durch löschen einer Kante e in T entstehen und deren Wurzeln zu dieser Kante inzident sind. Beispiel Ein Baum kann aus der Menge seiner Bipartitionen eindeutig rekonstruiert werden.

47 Polynomielles Approximationsschema Character Compatibylity Für eine Menge von Bipartitionen R von der Menge der Taxa S, finde einen Baum T mit Blattbeschriftungen aus S, der die Schnittmenge der Bipartitionen aus R und den eigenen Bipartitionen maximiert. Fractional Character Compatibylity Für eine Menge von Bipartitionen R von der Menge der Taxa S, finde einen Baum T der die Ähnlichkeit s(t, R) zwischen dem Baum und der Menge der Bipartitionen maximiert.

48 Polynomielles Approximationsschema Definition Ähnlichkeit Die Ähnlichkeit s zweier Bipartitionen (A, B) und (C, D) ist wie folgt definiert: s A, B, C, D = max A C B D, A D B C Die Ähnlichkeit eines Baumes T zu einer Bipartitionen (A,B) ist die maximale Ähnlichkeit einer Bipartition des Baumes zu der Bipartition (A,B). Die Ähnlichkeit eines Baumes T zu einer Menge von Bipartitionen R ist die Summe der Ähnlichkeiten der einzelnen Bipartitionen in R zu dem Baum T. k-bin Kontraction Für einen optimalen phylogenetischen Baum T OPT = (V, E, d) für die Menge S von n Taxa gibt es eine k-bin Kontraktion T'=(V', E', d'), so dass S in die disjunkten Teilmengen S 1, S 2,..., S k geteilt ist mit folgenden Eigenschaften: S i 6n /k 1 i k e E e' E ' : s e,e' n 6n/k

49 Polynomielles Approximationsschema Beispiel Im polynomiellen Approximationsschema wird nun eine optimale Verteilung der Taxa in die Bins des Baumes gesucht. Da für jeden phylogenetischen Baum eine solche k-bin Kontraktion existiert, wird der Baum mit k Blättern zu einem Teilbaum des optimalen phylogenetischen Baumes, wenn die Taxa auf die Bins verteilt wurden. Durch die Beschränkungen für die Kontraktion wird gesichert, dass es genügend nichtleere Bins bei der Kontraktion gibt, so dass der Teilbaum nicht entartet.

50 Polynomielles Approximationsschema Taxa zu Bin Zuordnung Gegeben ist eine Menge S von Taxa, eine Menge R von Bipartitionen und ein Baum T mit k Blättern. Zuordnung der Taxa zu den Bins geschieht durch Variablen x sb. Dabei ist x sb = 1, wenn das Taxa s dem Bin b zugeordnet wurde. Zuordnung der Bipartitionen zu den Kanten in T geschieht durch Variablen y ie. Dabei ist y ie = 1 falls die i-te Bipartition in R der Kante e in T zugeordnet wurde. Die Zuordnungen müssen jeweils eindeutig sein. Nun kann man das Problem der optimalen Zuordnung als Maximierung des folgenden Polynoms formulieren: p x, y = 1 i m s e, A i, B i s e, A i, B i = e= A, B K y ie s A i a A x sa s B i b B x sb

51 Polynomielles Approximationsschema Das erhaltene Polynom zu maximieren ist bekannt unter dem Problem 0-1 integer polynomial programming und ist NP-vollständig. Allerdings sind die Koeffizienten des Polynoms alle im Intervall [0,1] und es gibt noch die Nebenbedingungen für die Größe der Bins und dass alle Taxa und Bipartitionen zugeordnet werden müssen, weswegen man ein PTAS für das t-smooth integer polynomial programming Problem anwenden kann. Güte der Approximation Das Polynom ist auf O(n+m) Variablen definiert. Damit lässt sich das Polynom p(x,y) mit folgender Güte approximieren: für T OPT lässt sich die folgende untere Schranke ermitteln: damit gilt für die Güte des approximierten Baumes: p x, y p x*,z * n m 2 s T APX, R s T OPT, R 6 /k mn m n 2 s T OPT, R mn/2 s T APX, R 1 ' s T OPT, R

52 Polynomielles Approximationsschema Zu Bemerken ist noch, dass die Menge der Schnitte Θ(n) betragen muss, damit die vorher angegebene Güte erreicht werden kann. Diese Forderung ist aber leicht zu erfüllen, da ein Baum mit n Blättern 2n-3 Bipartitionen hat. Die Güte des approximierten Baumes hängt nicht von der Methode ab, wie die Bipartitionen gewonnen wurden. Deshalb ist die Effektivität des PTAS nur durch die biologische Relevanz des zugrunde liegenden Problems begrenzt.

53 Quellen Hans-Joachim Böckenhauer, Dirk Bongartz Algorithmische Grundlagen der Bioinformatik, Teubner, Leitfäden der Informatik, 2003 Dan Gusfield Algorithms on Strings, Trees and Sequences, Cambridge University Press, 1999 Peter L. Erdös, Micheal A. Steel, Laszlo A. Szekely und Tandy J. Warnow Constructing Big Trees from Short Sequences, 1997 Peter L. Erdös, Kenneth Rice, Micheal A. Steel, Laszlo A. Szekely und Tandy J. Warnow The Short Quartet Method 1998 Paul Kearney, Ming Li, John Tsang und Tao Jiang Recovering Branches on the Tree of Life: An Approximation Algorithm, 1998 Naruya Saitou und Masatoshi Nei The Neighbour-joining Method: A New Method for Reconstructing Phylogenetic Trees, 1987 Anja von Heyderbreck Maximum likelihood estmation of oncogenetic tree models, 2004 Artikel der deutsch- und englischsprachigen Wikipedia zu Phylogenese, Phylogenetischer Baum bzw. phylogenetic tree

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 6 Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 16. Mai 2018 [Letzte Aktualisierung: 18/05/2018,

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 4 Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 24. April 2019 [Letzte Aktualisierung: 24/04/2019,

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester

Mehr

9 Minimum Spanning Trees

9 Minimum Spanning Trees Im Folgenden wollen wir uns genauer mit dem Minimum Spanning Tree -Problem auseinandersetzen. 9.1 MST-Problem Gegeben ein ungerichteter Graph G = (V,E) und eine Gewichtsfunktion w w : E R Man berechne

Mehr

Algorithmische Graphentheorie

Algorithmische Graphentheorie Algorithmische Graphentheorie Vorlesung 4: Suchstrategien Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 14. April 2017 HALBORDNUNG TOPOLOGISCHE ORDNUNG TOPOLOGISCHES

Mehr

Datenstrukturen und Algorithmen (SS 2013)

Datenstrukturen und Algorithmen (SS 2013) Datenstrukturen und Algorithmen (SS 2013) Übungsblatt 10 Abgabe: Montag, 08.07.2013, 14:00 Uhr Die Übungen sollen in Gruppen von zwei bis drei Personen bearbeitet werden. Schreiben Sie die Namen jedes

Mehr

5. Bäume und Minimalgerüste

5. Bäume und Minimalgerüste 5. Bäume und Minimalgerüste Charakterisierung von Minimalgerüsten 5. Bäume und Minimalgerüste Definition 5.1. Es ein G = (V, E) ein zusammenhängender Graph. H = (V,E ) heißt Gerüst von G gdw. wenn H ein

Mehr

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

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7 1 Kürzeste Pfade Woche 6 7 Hier arbeiten wir mit gewichteten Graphen, d.h. Graphen, deren Kanten mit einer Zahl gewichtet werden. Wir bezeichnen die Gewichtsfunktion mit l : E R. Wir wollen einen kürzesten

Mehr

Betriebswirtschaftliche Optimierung

Betriebswirtschaftliche Optimierung Institut für Statistik und OR Uni Graz 1 Approximationsalgorithmen auf metrischen Instanzen Minimum Spanning Tree Definition (Spannbaum) Ein Spannbaum in einem Graphen G = (V,E) ist ein kreisfreier Teilgraph

Mehr

Algorithmische Methoden für schwere Optimierungsprobleme

Algorithmische Methoden für schwere Optimierungsprobleme Algorithmische Methoden für schwere Optimierungsprobleme Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund

Mehr

Einführung in die Bioinformatik

Einführung in die Bioinformatik Einführung in die Bioinformatik Ringvorlesung Biologie Sommer 07 Burkhard Morgenstern Institut für Mikrobiologie und Genetik Abteilung für Bioinformatik Goldschmidtstr. 1 Online Materialien zur Ringvorlesung:

Mehr

Algorithmische Graphentheorie

Algorithmische Graphentheorie Algorithmische Graphentheorie Vorlesung 7 und 8: Euler- und Hamilton-Graphen Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 17. April 2018 1/96 WIEDERHOLUNG Eulersche

Mehr

Betriebliche Optimierung

Betriebliche Optimierung Betriebliche Optimierung Joachim Schauer Institut für Statistik und OR Uni Graz Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 1 / 21 1 Approximationsalgorithmen auf

Mehr

2. November Gradfolgen Zusammenhang Kürzeste Wege. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37

2. November Gradfolgen Zusammenhang Kürzeste Wege. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37 2. November 2011 Gradfolgen Zusammenhang Kürzeste Wege H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37 Satz von Erdős und Gallai Eine Partition einer natürlichen Zahl ist genau dann die Gradfolge

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Approximierbarkeit David Kappel Institut für Grundlagen der Informationsverarbeitung Technische Universität Graz 10.06.2016 Übersicht Das Problem des Handelsreisenden TSP EUCLIDEAN-TSP

Mehr

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

4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1 Allgemeines. Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition.. (a) Ein Graph G =(V, E) heißt kreisfrei, wenn er keinen Kreis besitzt. Beispiel: Ein kreisfreier Graph: FG KTuEA, TU Ilmenau

Mehr

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein Proseminar Online Algorithmen, Prof. Dr. Rolf Klein Vortrag von Michael Daumen am 13.12.2000 Thema : Minimum Spanning Tree und 2-Approximation der TSP-Tour Inhalt des Vortrags : 1. genaue Vorstellung des

Mehr

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme Theoretische Informatik Exkurs Rainer Schrader Exkurs: Komplexität von n Institut für Informatik 13. Mai 2009 1 / 34 2 / 34 Gliederung Entscheidungs- und Approximationen und Gütegarantien zwei Greedy-Strategien

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 208 (Algorithmen & Datenstrukturen) Vorlesung 4 (..208) Graphenalgorithmen III Algorithmen und Komplexität Bäume Gegeben: Zusammenhängender, ungerichteter Graph G = V, E Baum: Zusammenhängender,

Mehr

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

3. Minimale Spannbäume. Definition 99 T heißt minimaler Spannbaum (MSB, MST) von G, falls T Spannbaum von G ist und gilt: 3. Minimale Spannbäume Sei G = (V, E) ein einfacher ungerichteter Graph, der o.b.d.a. zusammenhängend ist. Sei weiter w : E R eine Gewichtsfunktion auf den Kanten von G. Wir setzen E E: w(e ) = e E w(e),

Mehr

21. Dynamic Programming III

21. Dynamic Programming III Approximation 21. Dynamic Programming III FPTAS [Ottman/Widmayer, Kap. 7.2, 7.3, Cormen et al, Kap. 15,35.5] Sei ein ε (, 1) gegeben. Sei I eine bestmögliche Auswahl. Suchen eine gültige Auswahl I mit

Mehr

Das Problem des Handlungsreisenden

Das Problem des Handlungsreisenden Seite 1 Das Problem des Handlungsreisenden Abbildung 1: Alle möglichen Rundreisen für 4 Städte Das TSP-Problem tritt in der Praxis in vielen Anwendungen als Teilproblem auf. Hierzu gehören z.b. Optimierungsprobleme

Mehr

3.3 Optimale binäre Suchbäume

3.3 Optimale binäre Suchbäume 3.3 Optimale binäre Suchbäume Problem 3.3.1. Sei S eine Menge von Schlüsseln aus einem endlichen, linear geordneten Universum U, S = {a 1,,...,a n } U und S = n N. Wir wollen S in einem binären Suchbaum

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 17 (8.7.2014) Minimale Spannbäume II Union Find, Prioritätswarteschlangen Algorithmen und Komplexität Minimaler Spannbaum Gegeben: Zus. hängender,

Mehr

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

Übung zur Vorlesung Diskrete Mathematik (MAT.107) Blatt Beispiellösungen Abgabefrist: Svenja Hüning, Michael Kerber, Hannah Schreiber WS 2016/2017 Übung zur Vorlesung Diskrete Mathematik (MAT.107) Blatt Beispiellösungen Abgabefrist: Hinweise: Dieses Blatt präsentiert Beispiellösungen zu

Mehr

Bäume und Wälder. Definition 1

Bäume und Wälder. Definition 1 Bäume und Wälder Definition 1 Ein Baum ist ein zusammenhängender, kreisfreier Graph. Ein Wald ist ein Graph, dessen Zusammenhangskomponenten Bäume sind. Ein Knoten v eines Baums mit Grad deg(v) = 1 heißt

Mehr

WS 2013/14. Diskrete Strukturen

WS 2013/14. Diskrete Strukturen WS 2013/14 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws1314

Mehr

Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume)

Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume) WS 2016/17 Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_16

Mehr

3 Klassifikation wichtiger Optimierungsprobleme

3 Klassifikation wichtiger Optimierungsprobleme 3 Klassifikation wichtiger Optimierungsprobleme 3.1 Das MIN- -TSP Wir kehren nochmal zurück zum Handlungsreisendenproblem für Inputs (w {i,j} ) 1 i

Mehr

Bäume und Wälder. Definition 1

Bäume und Wälder. Definition 1 Bäume und Wälder Definition 1 Ein Baum ist ein zusammenhängender, kreisfreier Graph. Ein Wald ist ein Graph, dessen Zusammenhangskomponenten Bäume sind. Ein Knoten v eines Baums mit Grad deg(v) = 1 heißt

Mehr

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

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck. 10 Matching-Probleme 10 Matching-Probleme 10.1 Definition von Matching-Probleme Definition 21 [2-dimensionales Matching] Sei G = (V, E) ein ungerichteter Graph und E E. E ist ein Matching, wenn für alle Kantenpaare e 1, e

Mehr

21. Greedy Algorithmen. Aktivitätenauswahl, Fractional Knapsack Problem, Huffman Coding Cormen et al, Kap. 16.1, 16.3

21. Greedy Algorithmen. Aktivitätenauswahl, Fractional Knapsack Problem, Huffman Coding Cormen et al, Kap. 16.1, 16.3 581 21. Greedy Algorithmen Aktivitätenauswahl, Fractional Knapsack Problem, Huffman Coding Cormen et al, Kap. 16.1, 16.3 Aktivitäten Auswahl 582 Koordination von Aktivitäten, die gemeinsame Resource exklusiv

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Approximierbarkeit David Kappel Institut für Grundlagen der Informationsverarbeitung Technische Universität Graz 02.07.2015 Übersicht Das Problem des Handelsreisenden TSP EUCLIDEAN-TSP

Mehr

Definition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V.

Definition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V. Kapitel 4 Graphenalgorithmen 4.1 Definitionen Definition 4.1.1. Der Graph G = (V, E) ist über die beiden Mengen V und E definiert, wobei V die Menge der Knoten und E die Menge der Kanten in dem Graph ist.

Mehr

Kombinatorische Optimierung

Kombinatorische Optimierung Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 16 Programm: Einführung

Mehr

Das Problem des minimalen Steiner-Baumes

Das Problem des minimalen Steiner-Baumes Das Problem des minimalen Steiner-Baumes Ein polynomieller Approximationsalgorithmus Benedikt Wagner 4.05.208 INSTITUT FU R THEORETISCHE INFORMATIK, LEHRSTUHL ALGORITHMIK KIT Die Forschungsuniversita t

Mehr

1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2008/2009

1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2008/2009 . Klausur zur Vorlesung Algorithmentechnik Wintersemester 008/009 Hier Aufkleber mit Name und Matrikelnummer anbringen Vorname: Nachname: Matrikelnummer: Beachten Sie: Bringen Sie den Aufkleber mit Ihrem

Mehr

Phylogenetische Bäume Kieu Trinh Do SS 2009

Phylogenetische Bäume Kieu Trinh Do SS 2009 1. Einleitung Phylogenetische Bäume Kieu Trinh Do SS 2009 Wie seit geraumer Zeit bekannt ist, hat Ähnlichkeit ihre Ursachen in gemeinsamer Abstammung. Es stellt sich aber die Frage, wie wir die evolutionäre

Mehr

Lernmodul 7 Algorithmus von Dijkstra

Lernmodul 7 Algorithmus von Dijkstra Folie 1 von 30 Lernmodul 7 Algorithmus von Dijkstra Quelle: http://www.map24.de Folie 2 von 30 Algorithmus von Dijkstra Übersicht Kürzester Weg von A nach B in einem Graphen Problemstellung: Suche einer

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 00

Mehr

Maximale s t-flüsse in Planaren Graphen

Maximale s t-flüsse in Planaren Graphen Maximale s t-flüsse in Planaren Graphen Vorlesung Algorithmen für planare Graphen 6. Juni 2017 Guido Brückner INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

Mehr

Bipartites Matching. Gegeben: Ein bipartiter, ungerichteter Graph (V 1, V 2, E). Gesucht: Ein Matching (Paarung) maximaler Kardinalität.

Bipartites Matching. Gegeben: Ein bipartiter, ungerichteter Graph (V 1, V 2, E). Gesucht: Ein Matching (Paarung) maximaler Kardinalität. Netzwerkalgorithmen Bipartites Matching (Folie 90, Seite 80 im Skript) Gegeben: Ein bipartiter, ungerichteter Graph (V, V, E). Gesucht: Ein Matching (Paarung) maximaler Kardinalität. Ein Matching ist eine

Mehr

Evolutionäre Bäume. Madox Sesen. 30. Juni 2014

Evolutionäre Bäume. Madox Sesen. 30. Juni 2014 Evolutionäre Bäume Madox Sesen 30. Juni 2014 1 Einleitung Phylogenetische Bäume sind ein wichtiges Darstellungsmittel der Evolutionsforschung. Durch sie werden Verwandtschaftsbeziehungen zwischen Spezies

Mehr

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

Überblick. TSP Vergleich der Lösungen. Das Travelling Salesman Problem. Nearest-Neighbor Heuristik für TSP Kap..1 Heuristiken Kap.. Approximative Algorithmen und Gütegarantien Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 3. VO DAP SS 008 14. Juli 009 Überblick

Mehr

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

Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 23. VO DAP2 SS 2008 14. Juli 2009

Mehr

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

Seien u, v V, u v. Da G zusammenhängend ist, muss mindestens ein Pfad zwischen u und v existieren. Beweis: 1. 2. Seien u, v V, u v. Da G zusammenhängend ist, muss mindestens ein Pfad zwischen u und v existieren. Widerspruchsannahme: Es gibt zwei verschiedene Pfade zwischen u und v. Dann gibt es einen

Mehr

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche: Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 24/ 44 Zwei Beispiele a 0

Mehr

Freie Bäume und Wälder

Freie Bäume und Wälder (Martin Dietzfelbinger, Stand 4.6.2011) Freie Bäume und Wälder In dieser Notiz geht es um eine besondere Sorte von (ungerichteten) Graphen, nämlich Bäume. Im Gegensatz zu gerichteten Bäumen nennt man diese

Mehr

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

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza) WS 2013/14 Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza) Dr. Werner Meixner Fakultät für Informatik TU München http://www14.in.tum.de/lehre/2013ws/ds/uebung/ 22. Januar 2014 ZÜ DS ZÜ XIII

Mehr

2.4 Starke Zusammenhangskomponenten in Digraphen

2.4 Starke Zusammenhangskomponenten in Digraphen Starke Zusammenhangskomponenten Einleitung 2.4 Starke Zusammenhangskomponenten in Digraphen Definition 2.4.1 Zwei Knoten v und w in einem Digraphen G heißen äquivalent, wenn v w und w v gilt. Notation:

Mehr

Effizienter Planaritätstest Vorlesung am

Effizienter Planaritätstest Vorlesung am Effizienter Planaritätstest Vorlesung am 23.04.2014 INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER Satz Gegebenen einen Graphen G = (V, E) mit n Kanten und m Knoten, kann in O(n + m) Zeit

Mehr

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Approximationsalgorithmen für NP-harte Optimierungsprobleme Approximationsalgorithmen für NP-harte Optimierungsprobleme Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 18 Was tun mit NP-harten Problemen? Viele praxisrelevante

Mehr

Informatik II, SS 2018

Informatik II, SS 2018 Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 21 (11.7.2018) String Matching (Textsuche) II Greedy Algorithmen I Algorithmen und Komplexität Textsuche / String Matching Gegeben: Zwei

Mehr

Graphen. Definitionen

Graphen. Definitionen Graphen Graphen werden häufig als Modell für das Lösen eines Problems aus der Praxis verwendet, wie wir im Kapitel 1 gesehen haben. Der Schweizer Mathematiker Euler hat als erster Graphen verwendet, um

Mehr

Very simple methods for all pairs network flow analysis

Very simple methods for all pairs network flow analysis Very simple methods for all pairs network flow analysis obias Ludes 0.0.0. Einführung Um den maximalen Flusswert zwischen allen Knoten eines ungerichteten Graphen zu berechnen sind nach Gomory und Hu nur

Mehr

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Approximationsalgorithmen für NP-harte Optimierungsprobleme Approximationsalgorithmen für NP-harte Optimierungsprobleme Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 4. Januar 2011 Berthold Vöcking, Informatik 1 () Vorlesung

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Lerneinheit 3: Greedy Algorithmen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 2016 10.5.2016 Einleitung Einleitung Diese Lerneinheit

Mehr

Graphalgorithmen Netzwerkalgorithmen. Laufzeit

Graphalgorithmen Netzwerkalgorithmen. Laufzeit Netzwerkalgorithmen Laufzeit (Folie 390, Seite 78 im Skript) Finden eines Matchings maximaler Kardinalität dauert nur O( E min{ V, V 2 }) mit der Ford Fulkerson Methode. Der Fluß ist höchstens f = min{

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 16 (2.7.2014) Graphtraversierung II, Minimale Spannbäume I Algorithmen und Komplexität Tiefensuche: Pseusocode DFS Traversal: for all u in

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 5 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil 10 Suche in Graphen Version vom 13. Dezember 2016 1 / 2 Vorlesung 2016 / 2017 2 /

Mehr

3.2 Generischer minimaler Spannbaum-Algorithmus

3.2 Generischer minimaler Spannbaum-Algorithmus 3.2 Generischer minimaler Spannbaum-Algorithmus Initialisiere Wald F von Bäumen, jeder Baum ist ein singulärer Knoten (jedes v V bildet einen Baum) while Wald F mehr als einen Baum enthält do wähle einen

Mehr

Datenstrukturen & Algorithmen Lösungen zu Blatt 11 FS 14

Datenstrukturen & Algorithmen Lösungen zu Blatt 11 FS 14 Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik 14. Mai

Mehr

8. A & D - Heapsort. Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können.

8. A & D - Heapsort. Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können. 8. A & D - Heapsort Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können. Genauer werden wir immer wieder benötigte Operationen durch Datenstrukturen unterstützen.

Mehr

Rundreiseproblem und Stabilität von Approximationsalg.

Rundreiseproblem und Stabilität von Approximationsalg. Das Rundreiseproblem und Stabilität von Approximationsalgorithmen Friedrich Alexander Universität Erlangen-Nürnberg Seminar Perlen der theoretischen Informatik, 2008-01-19 http://verplant.org/uni/perlen/

Mehr

Übungsblatt 2 - Lösung

Übungsblatt 2 - Lösung Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 2 - Lösung Vorlesung Algorithmentechnik im WS 08/09 Ausgabe 04. November 2008 Abgabe 8. November, 5:0 Uhr (im Kasten vor Zimmer

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Minimale Spannbäume Maike Buchin 18.7., 20.7.2017 Einführung Motivation: Verbinde Inseln mit Fähren oder Städte mit Schienen und verbrauche dabei möglichst wenig Länge. Problem:

Mehr

Berechnung minimaler Spannbäume. Beispiel

Berechnung minimaler Spannbäume. Beispiel Minimale Spannbäume Definition Sei G pv, Eq ein ungerichteter Graph und sei w : E Ñ R eine Funktion, die jeder Kante ein Gewicht zuordnet. Ein Teilgraph T pv 1, E 1 q von G heißt Spannbaum von G genau

Mehr

3. Musterlösung. Problem 1: Boruvka MST

3. Musterlösung. Problem 1: Boruvka MST Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 06/07 ITI Wagner. Musterlösung Problem : Boruvka MST pt (a) Beweis durch Widerspruch. Sei T MST von G, e die lokal minimale Kante eines

Mehr

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

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Mayr) WS 2011/12 Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Mayr) Dr. Werner Meixner Fakultät für Informatik TU München http://www14.in.tum.de/lehre/2011ws/ds/uebung/ 25. Januar 2012 ZÜ DS ZÜ XIII

Mehr

Datenstrukturen und Algorithmen SS07

Datenstrukturen und Algorithmen SS07 Datenstrukturen und Algorithmen SS0 Datum:.6.200 Michael Belfrage mbe@student.ethz.ch belfrage.net/eth Programm von Heute Minimaler Spannbaum (MST) Challenge der Woche Fibonacci Heap Minimaler Spannbaum

Mehr

20. Dynamic Programming II

20. Dynamic Programming II 536 20. Dynamic Programming II Subset Sum Problem, Rucksackproblem, Greedy Algorithmus, Lösungen mit dynamischer Programmierung, FPTAS, Optimaler Suchbaum [Ottman/Widmayer, Kap. 7.2, 7.3, 5.7, Cormen et

Mehr

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 16/17 Ausgabe 22. Dezember 2016 Abgabe 17. Januar 2017, 11:00 Uhr

Mehr

Bioinformatik Für Biophysiker

Bioinformatik Für Biophysiker Bioinformatik Für Biophysiker Sommersemester 2009 Silke Trißl / Ulf Leser Wissensmanagement in der Bioinformatik Wissensmanagement in der Bioinformatik Schwerpunkte Algorithmen der Bioinformatik Management

Mehr

Minimalpolynome und Implikanten

Minimalpolynome und Implikanten Kapitel 3 Minimalpolynome und Implikanten Wir haben bisher gezeigt, daß jede Boolesche Funktion durch einfache Grundfunktionen dargestellt werden kann. Dabei können jedoch sehr lange Ausdrücke enstehen,

Mehr

Kapitel 5: Minimale spannende Bäume Gliederung der Vorlesung

Kapitel 5: Minimale spannende Bäume Gliederung der Vorlesung Gliederung der Vorlesung 1. Grundbegriffe 2. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege. Minimale spannende Bäume. Färbungen und Cliquen. Traveling Salesman Problem. Flüsse in Netzwerken

Mehr

Klausur. 18. Juli 2008, 10:15-12:15 Uhr. Name:... Matrikelnummer:... Anzahl beschriebener Blätter (ohne Aufgabenblatt):... D(p) : Y = p x X + p y

Klausur. 18. Juli 2008, 10:15-12:15 Uhr. Name:... Matrikelnummer:... Anzahl beschriebener Blätter (ohne Aufgabenblatt):... D(p) : Y = p x X + p y GRUNDZÜGE DER ALGORITHMISCHEN GEOMETRIE Klausur 18. Juli 2008, 10:15-12:15 Uhr Name:................................... Matrikelnummer:................................... Anzahl beschriebener Blätter (ohne

Mehr

Optimale Lösungen mit Greedy-Strategie erfordern Optimalität der Greedy-Wahl. Beispiele für optimale Greedy-Lösungen

Optimale Lösungen mit Greedy-Strategie erfordern Optimalität der Greedy-Wahl. Beispiele für optimale Greedy-Lösungen Wiederholung Optimale Lösungen mit Greedy-Strategie erfordern Optimalität der Greedy-Wahl unabhängig von Subproblemen Optimalität der Subprobleme Beispiele für optimale Greedy-Lösungen Scheduling Problem

Mehr

Zentralübung zur Vorlesung Diskrete Strukturen

Zentralübung zur Vorlesung Diskrete Strukturen WS 2010/11 Zentralübung zur Vorlesung Diskrete Strukturen Dr. Werner Meixner Fakultät für Informatik TU München http://www14.in.tum.de/lehre/2010ws/ds/uebung/ 2. Februar 2011 ZÜ DS ZÜ XIII 1. Übungsbetrieb:

Mehr

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS) Dominating Set 59 Literatur Dominating Set Grundlagen 60 Dominating Set (DS) M. V. Marathe, H. Breu, H.B. Hunt III, S. S. Ravi, and D. J. Rosenkrantz: Simple Heuristics for Unit Disk Graphs. Networks 25,

Mehr

Klausur Algorithmen und Datenstrukturen II 29. Juli 2013

Klausur Algorithmen und Datenstrukturen II 29. Juli 2013 Technische Universität Braunschweig Sommersemester 2013 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Stephan Friedrichs Klausur Algorithmen und Datenstrukturen

Mehr

Isomorphie von Bäumen

Isomorphie von Bäumen Isomorphie von Bäumen Alexandra Weinberger 23. Dezember 2011 Inhaltsverzeichnis 1 Einige Grundlagen und Definitionen 2 1.1 Bäume................................. 3 1.2 Isomorphie..............................

Mehr

Minimal spannende Bäume

Minimal spannende Bäume http://www.uni-magdeburg.de/harbich/ Minimal spannende Fakultät für Informatik Otto-von-Guericke-Universität 2 Inhalt Definition Wege Untergraphen Kantengewichtete Graphen Minimal spannende Algorithmen

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 4 Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 02. Mai 2017 [Letzte Aktualisierung: 10/07/2018,

Mehr

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

Bäume und Wälder. Seminar: Graphentheorie Sommersemester 2015 Dozent: Dr. Thomas Timmermann Bäume und Wälder Seminar: Graphentheorie Sommersemester 2015 Dozent: Dr. Thomas Timmermann Ida Feldmann 2-Fach Bachelor Mathematik und Biologie 6. Fachsemester Inhaltsverzeichnis Einleitung 1 1. Bäume

Mehr

20. Dynamic Programming II

20. Dynamic Programming II Aufgabe 20. Dynamic Programming II Subset Sum Problem, Rucksackproblem, Greedy Algorithmus, Lösungen mit dynamischer Programmierung, FPTAS, Optimaler Suchbaum [Ottman/Widmayer, Kap. 7.2, 7.3, 5.7, Cormen

Mehr

Kapitel 9: Lineare Programmierung Gliederung

Kapitel 9: Lineare Programmierung Gliederung Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Übung am 16.12.2010 INSTITUT FÜR THEORETISCHE INFORMATIK 0 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Effiziente Algorithmen (SS2015)

Effiziente Algorithmen (SS2015) Effiziente Algorithmen (SS205) Kapitel 5 Approximation II Walter Unger Lehrstuhl für Informatik 2.06.205 07:59 5 Inhaltsverzeichnis < > Walter Unger 5.7.205 :3 SS205 Z Inhalt I Set Cover Einleitung Approximation

Mehr

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am 07..0 Minimale Schnitte in Graphen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum

Mehr

1 DFS-Bäume in ungerichteten Graphen

1 DFS-Bäume in ungerichteten Graphen Praktikum Algorithmen-Entwurf (Teil 3) 06.11.2006 1 1 DFS-Bäume in ungerichteten Graphen Sei ein ungerichteter, zusammenhängender Graph G = (V, E) gegeben. Sei ferner ein Startknoten s V ausgewählt. Startet

Mehr

1 DFS-Bäume in ungerichteten Graphen

1 DFS-Bäume in ungerichteten Graphen Praktikum Algorithmen-Entwurf (Teil 3) 31.10.2005 1 1 DFS-Bäume in ungerichteten Graphen Sei ein ungerichteter, zusammenhängender Graph G = (V, E) gegeben. Sei ferner ein Startknoten s V ausgewählt. Startet

Mehr

Graphdurchmusterung, Breiten- und Tiefensuche

Graphdurchmusterung, Breiten- und Tiefensuche Prof. Thomas Richter 18. Mai 2017 Institut für Analysis und Numerik Otto-von-Guericke-Universität Magdeburg thomas.richter@ovgu.de Material zur Vorlesung Algorithmische Mathematik II am 18.05.2017 Graphdurchmusterung,

Mehr

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.172 Algorithmen und Datenstrukturen 1 VL 4.0 Übungsblatt 4 für die Übung

Mehr

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

Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph. Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph. a) Es seien W 1 = (V, E 1 ), W 2 = (V, E 2 ) Untergraphen von G, die beide Wälder sind. Weiter gelte E 1 > E 2.

Mehr

\ 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.

\ 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. Das Komplement Ḡ = (V, ( V ) \ 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. Ein Graph H = (V, E )

Mehr

Einführung in Berechenbarkeit, Komplexität und Formale Sprachen

Einführung in Berechenbarkeit, Komplexität und Formale Sprachen Einführung in Berechenbarkeit, Komplexität und Formale Sprachen V17, 10.12.09 Willkommen zur Vorlesung Einführung in Berechenbarkeit, Komplexität und Formale Sprachen Friedhelm Meyer auf der Heide 1 Rückblick:

Mehr