Effiziente Algorithmen

Größe: px
Ab Seite anzeigen:

Download "Effiziente Algorithmen"

Transkript

1 Überblick Ausgewählte Algorithmen der Bioinformatik Effiziente Algorithmen Ausgewählte Algorithmen der Bioinformatik: Teil 2 Markus Leitner (Martin Gruber, Gabriele Koller) 1. Einführung in die Molekularbiologie 2. Vergleich von Sequenzen 2.1 Paarweises Sequence Alignment 2.2 Multiple Sequence Alignment 2.3 Vergleichsmaße: Ähnlichkeit, Distanz 3. Phylogenetische Bäume 3.1 Merkmalsbasierte Verfahren 3.2 Distanzbasierte Verfahren 1 2 Themen der 1. Einheit Einführung in die Molekularbiologie Paarweises Sequence Alignment Multiple Sequence Alignment (exakter Alg.) Themen dieser Einheit Multiple Sequence Alignment (Heuristiken) Maße für den Sequenzvergleich (Ähnlichkeit, Distanz) Phylogenetische Bäume 1 2

2 Sequenzvergleich > k>2 Sequenzen > exakte Verfahren Heuristik für dynamische Programmierung Maße für Sequenzvergleich Exkurs: Maße für den Sequenzvergleich Nur relevante Zellen werden berechnet Basis: Beziehung zwischen dem multiplen Alignment und seinen Projektionen Worst case: alle Einträge Startpunkt: a[0,..., 0] Pool relevanter Zellen Wiederholt: lexikographisch kleinste Zelle entfernen und relevante Nachfolgezellen in Pool aufnehmen bzw. aktualisieren bis a[n 1,..., n k ] erreicht ist Aufwand für Laufzeit und Speicherplatz: proportional zu Anzahl der relevanten Zellen Ähnlichkeit: Wert des besten Alignments Sequenzen s = GACGGATTAG t = GATCGGAATA Match = 1 Mismatch = -1 Space = -2 Bestes Alignment GA-CGGATTAG GATCGGAATA- Beispiel: mit einfacher Bewertung Ähnlichkeit = = 3 Distanz: Maß für Unterschiede zwischen 2 Sequenzen Basis: Transformation von s in t Operationen Substitution Insertion / Deletion Transformation von s in t GA T CGGA T TA G A 3 4 Heuristik für DP Mit Hilfe einer Heuristik, bei der die Anzahl der zu berechnenden Feldeinträge auf die relevanten Zellen eingeschränkt wird, kann jedoch Zeit eingespart werden. Diese Heuristik basiert auf der Beziehung zwischen dem multiplen Alignment und seinen induzierten paarweisen Alignments (Projektionen). Schlimmstenfalls müssen aber auch hier alle Feldeinträge berechnet werden. Ausgehend von der Zelle a[0,..., 0] sie ist immer relevant werden alle relevanten Zellen in einem Pool verwaltet. Wenn eine Zelle in den Pool aufgenommen wird, wird sie initialisiert. In einer Schleife wird jeweils die lexikographisch kleinste Zelle entfernt. Dabei werden die von ihr abhängigen relevanten Zellen entweder neu in den Pool aufgenommen oder ihre Werte aktualisiert. Der Relevanztest erfolgt anhand von Matrizen, die für alle paarweisen Projektionen berechnet werden. Überschreitet der Matrixwert für jede Projektion eine untere Schranke (die über die untere Schranke eines beliebigen multiplen Alignments aller involvierten Sequenzen berechnet werden kann), dann gilt die Zelle als relevant. Die Laufzeit und der Speicherplatz für den Algorithmus mit dieser Heuristik ist proportional zur Anzahl der relevanten Zellen. Um das optimale Alignment daraus zu berechnen, muss man sich z.b. mit Hilfe eines Abhängigkeitsgraphen jene Vorgängerzellen merken, die zum Maximalwert führten. Maße für den Sequenzvergleich Ähnlichkeit und Distanz sind zwei Ansätze, um Sequenzen zu vergleichen, je nachdem, wie die Fragestellung lautet: Wie ähnlich sind sich zwei Sequenzen? oder Wie stark unterscheiden sich zwei Sequenzen? In beiden Fällen erhält man einen Wert, der den Grad der Ähnlichkeit bzw. Distanz zwischen den Sequenzen angibt. Das Ähnlichkeitsmaß wurde bereits beim paarweisen Sequenzvergleich definiert: Die Ähnlichkeit entspricht dem Wert des besten Alignments zwischen zwei Sequenzen (hinsichtlich eines gewählten Bewertungsschemas). Für die im Beispiel gegebenen Sequenzen ist die Ähnlichkeit = 3 hinsichtlich des einfachen Bewertungsschemas: 8 Matches + 1 Mismatch + 2 Leerzeichen = = 3 (vgl. auch Folie 10). Im Gegensatz zur Ähnlichkeit ist die Distanz nun ein Maß dafür, wie stark sich zwei Sequenzen unterscheiden. Die Basis dafür stellt die Transformation von Sequenzen dar: Durch wiederholte Anwendung elementarer Bearbeitungsoperationen kann eine Sequenz in jede andere transformiert werden. Folgende Operationen sind erlaubt: Substitution: ein Symbol a wird durch ein anderes Symbol b ersetzt. Insertion/Deletion: ein Symbol wird in die Sequenz eingefügt / aus der Sequenz entfernt (sie sind spiegelgleich: eine Insertion in s entspricht einer Deletion in t) Um beispielsweise Sequenz s = GACGGATTAG in Sequenz t = GATCGGAATA zu transformieren sind mindestens drei Operationen nötig: eine Insertion (T), eine Substitution (T wird durch A ersetzt) und eine Deletion (G). Umgekehrt sind auch drei Operationen nötig, um t in s zu transformieren: Entfernung von T, Substitution von A durch T und Einfügung von G. 3 4

3 Maße für Sequenzvergleich Maße für Sequenzvergleich Definition der Distanz Ähnlichkeit und Distanz Zuweisung von Kosten zu jeder Operation Substitution von x durch y: c(x,y) Indel: h = 1 Kosten einer Folge von Operationen = Einzelkosten Distanz: minimale Kosten, die für die Transformation von s in t nötig sind Bsp. Kostenmaß: c(x,y) = 0 falls x=y 1 falls x y h = 1 Transformation von s in t GA T CGGA T TA G A Kosten: 3 (Edit-Distanz) Unterschiede: Dreiecksungleichung: gilt nur bei Distanz lokaler Vergleich: nur Ähnlichkeit anwendbar p(x,x) p(y,y): nur bei Ähnlichkeit möglich Beziehung: Beispiel: Distanz(s,t) + Ähnlichkeit(s,t) = M/2 (m+n) p(x,y) = M c(x,y), g = M/2 h Edit-Distanz: c(x,y) = 0 x=y = 1 x y h = 1 M = 0: Match = 0 Mismatch = -1 Space = -1 M = 2: Match = 2 Mismatch = 1 Space = Definition der Distanz Zur Berechnung der Kosten für die Transformation von s in t wird ein Kostenmaß (c,h) verwendet, das jeder Operation Kosten zuweist. Substitution: Die Substitution eines Symbols x durch ein Symbol y verursacht Kosten, die durch eine Kostenfunktion c(x,y) definiert sind. Insertion, Deletion: Das Einfügen oder Löschen eines Symboles verursacht konstante Kosten h. Die Kosten einer Folge von Operationen ist die Summe der einzelnen Kosten. Anhand dieses Kostenmaßes kann nun die Distanz wie folgt definiert werden: Die Distanz d entspricht den minimalen Kosten, die nötig sind, um eine Sequenz s in eine Sequenz t zu transformieren. Damit ist die Distanz ein Maß für die Unterschiedlichkeit zwischen zwei Sequenzen. Im Beispiel erfordert die Transformation von s in t unter Zugrundelegung des nebenstehenden Kostenmaßes mindestens Kosten in der Höhe von 3. Wird dieses Kostenmaß angewendet, so spricht man auch von der Edit-Distanz oder von der Levenshtein-Distanz. Ähnlichkeit und Distanz Die beiden Maße stehen in vielen Fällen zueinander in Beziehung und können durch eine einfache Formel leicht voneinander abgeleitet werden. Bei der Distanz gilt im Gegensatz zur Ähnlichkeit die Dreiecksungleichung. Im Gegensatz zur Ähnlichkeit ist die Distanz nur für den globalen Vergleich anwendbar, während die Ähnlichkeit auch für lokale Vergleiche geeignet ist. Gleiche Symbolen in beiden Sequenzen können beim Distanzmaß keine unterschiedliche Bewertung erhalten, d.h. p(x,x) p(y,y) wie bei der Ähnlichkeit ist nicht möglich. Zwischen der Distanz und der Ähnlichkeit gilt folgende Beziehung: Distanz(s,t) + Ähnlichkeit(s,t) = M/2 (m+n) unter der Voraussetzung, dass das Bewertungsschema folgende Bedingung erfüllt: p(x,y) = M c(x,y) g = M/2 h Dadurch kann man die Distanz ganz einfach berechnen, indem man ein geeignetes p (für Match bzw. Mismatch) und g (für Leerzeichen) wählt, damit die Ähnlichkeit berechnet und davon die Distanz ableitet. Zur Berechnung der Edit-Distanz wählt man zum Beispiel: M = 0, Match = 0, Mismatch = -1 und Space = -1 oder M = 2, Match = 2, Mismatch = 1 und Space = 0. Damit erhält man beispielsweise für Sequenz s = GACGGATTAG und Sequenz t = GATCGGAATA mit m=n=10 (siehe Folie 4) zwar unterschiedliche Werte für die Ähnlichkeit, aber immer dieselbe Distanz: 1. Ähnlichkeit = (-1) + 2 (-1) = -3 Distanz = 0/2 (10+10) - (-3) = 3 2. Ähnlichkeit = = 17 Distanz = 2/2 (10+10) - 17 = = 3 5 6

4 Sequenzvergleich > k>2 Sequenzen Algorithmen für MSA Sequenzvergleich > k>2 Sequenzen > Heuristiken > progressiv Progressive Verfahren für MSA 1. Exakte Verfahren 2. Heuristiken Progressive Verfahren Tree Alignments Star Alignments Iterative Verfahren deterministische Methoden stochastische Methoden 3. Konsistenzbasierte Verfahren Idee: Multiples Alignment schrittweise aus paarweisen Alignments aufbauen Prinzip: 1. Berechnung aller paarweisen Alignments 2. Gruppierung der Sequenzen Reihenfolge 3. Progressives Alignment laut Gruppierung der Sequenzen 7 8 Heuristiken für MSA Exakte Verfahren können nur auf eine geringe Anzahl von Sequenzen angewendet werden (< 20) und sind meist auf die Sum-of-Pairs-Zielfunktion beschränkt. Daher werden in der Praxis für die Berechnung von multiplen Alignments vieler Sequenzen häufig Heuristiken angewendet, die allerdings das Auffinden der optimale Lösung hinsichtlich der gewählten Zielfunktion nicht garantieren können. Man kann folgende Heuristiken unterscheiden: Progressive Verfahren, die ein multiples Alignment durch wiederholte Berechnung paarweiser Alignments bilden. Dabei wird in jedem Durchgang eine weitere Sequenz oder ein Alignment hinzugefügt. Je nachdem, in welcher Reihenfolge die einzelnen Sequenzen hinzugenommen werden, spricht man von Tree-Alignments oder Star-Alignments. Iterative Verfahren, die ein bereits vorhandenes multiples Alignment wiederholt durch kleine Änderungen verbessern, bis keine Verbesserungen mehr möglich sind. Sie können deterministisch oder stochastisch ablaufen, je nach verwendeter Verbesserungsstrategie. Zu den stochastischen Verfahren gehören unter anderem Simulated Annealing oder Evolutionäre Algorithmen. Bei konsistenzbasierten Verfahren ist das Ziel, jenes multiple Alignment zu finden, das am besten mit allen möglichen optimalen paarweisen Alignments übereinstimmt. Sie können mit exakten Methoden oder heuristisch gelöst werden. Progressive Verfahren für MSA Das multiple Alignment wird durch wiederholte Berechnung von paarweisen Alignments gebildet. Dabei wird in jedem Durchgang eine weitere Sequenz oder ein Alignment hinzugefügt. Prinzipiell umfasst das progressive Verfahren drei Schritte: 1. Berechnung aller paarweisen Alignments 2. Gruppierung der Sequenzen: diese bestimmt die Reihenfolge, in der die Sequenzen oder Teilalignments kombiniert werden. 3. Progressives Alignment laut Gruppierung der Sequenzen. Je nachdem, wie die Gruppierung der Sequenzen im 2. Schritt erfolgt, spricht man von Tree- Alignments oder von Star-Alignments. 7 8

5 Sequenzvergleich > k>2 Sequenzen > Heuristiken > progressiv Tree-Alignments Sequenzvergleich > k>2 Sequenzen > Heuristiken > progressiv Beispiel zum baumbasierten Verfahren Idee: Multiples Alignment wird mit Hilfe eines Abstammungsbaumes (Guide-Trees) aufgebaut Vorgehensweise: 1. Berechnung aller paarweisen Alignments zur Erstellung der Distanzmatrix 2. Berechnung des Guide-Trees aus der Distanzmatrix 3. Progressives Alignment laut Guide-Tree Sequenzen 1 ATCTCGAGA 2 ATCCGAGA 3 ATGTCGACGA 4 ATGTCGACAGA Distanzmatrix Guide-Tree 3. Progressives Alignment 1 ATCTCGAGA 2 ATC-CGAGA 3 ATGTCGAC-GA 4 ATGTCGACAGA 1 ATCTCGA--GA 2 ATC-CGA--GA 3 ATGTCGAC-GA 4 ATGTCGACAGA 9 10 Tree-Alignments Eine mögliche Vorgehensweise beim progressiven Ansatz ist, mit dem besten paarweisen Alignment zu starten und immer die Sequenz zu dem Alignment hinzuzufügen, die die minimale Distanz zu einem String im Alignment hat. Dazu wird am besten ein Abstammungsbaum verwendet, der die Distanz zwischen den Sequenzen widerspiegelt. Das Problem dabei ist, dass der tatsächliche Abstammungsbaum oft nicht bekannt ist. Wir müssen uns daher mit einer Näherung (Guide-Tree) begnügen, die wir aus den gegebenen Sequenzinformationen berechnen können. Der erste Schritt besteht nun in der Berechnung aller paarweisen Alignments. Dies kann entweder mit Dynamischer Programmierung oder mit Heuristiken erfolgen, je nachdem ob eine exakte oder eine schnelle Berechnung erwünscht ist. Die paarweisen Distanzen zwischen den Sequenzen werden in die so genannte Distanzmatrix eingetragen. Anhand von dieser kann mit verschiedenen Heuristiken (UPGMA, Neighbor Joining) ein Guide-Tree berechnet werden. Anschließend wird das progressive Alignment entsprechend dem Guide-Tree durchgeführt. Beispiel zum baumbasierten Verfahren Gegeben seien 4 Sequenzen. Nun sind folgende Schritte auszuführen: Berechnung aller paarweisen Alignments zur Erstellung der Distanzmatrix: dieser Schritt wurde in der Graphik abgekürzt. Aus der Distanzmatrix können bereits die resultierenden paarweisen Distanzen abgelesen werden. Berechnung des Guide-Trees aus der Distanzmatrix: Die genaue Berechnung ist momentan unwesentlich (siehe phylogenetische Bäume). Wir gehen davon aus, dass der Guide-Tree entsprechend der Distanzmatrix erstellt wurde. Progressives Alignment laut Guide-Tree: im dritten Schritt werden nun entsprechend dem Guide-Tree die Sequenzen oder Teilalignments schrittweise kombiniert. Zuerst erzeugen wir die paarweisen Alignments zwischen (1,2) und (3,4), danach werden diese beiden Ergebnisse zusammengeführt. Dazu müssen in den ersten beiden Sequenzen noch zwei weitere Leerzeichen eingefügt werden. 9 10

6 Sequenzvergleich > k>2 Sequenzen > Heuristiken > progressiv Beispiel zum progressiven MSA Sequenzvergleich > k>2 Sequenzen > Heuristiken > iterativ Vor- und Nachteile progressiver Verfahren GARFIELD THE LAST FAT CAT GARFIELD THE FAST CAT GARFIELD THE LAST FAT CAT GARFIELD THE FAST CAT --- GARFIELD THE VERY FAST CAT GARFIELD THE LAST FA-T CAT GARFIELD THE FAST CA-T GARFIELD THE VERY FAST CAT THE FAT CAT schnell geringer Speicher einfach am häufigsten in der Praxis eingesetzt (ClustalW) funktioniert gut, insb. bei ähnlichen Sequenzen hängt ab von Wahl der Sequenzen, Reihenfolge und Parametern (Bewertungsmatrix, Gap-Funktion,...) kein globales Optimum garantiert GARFIELD THE LAST FA-T CAT GARFIELD THE FAST CA-T GARFIELD THE VERY FAST CAT THE ---- FA-T CAT Problem: greedy ( einmal Leerzeichen immer Leerzeichen ) Anfangsfehler können nicht mehr korrigiert werden Beispiel zum progressiven MSA Nun ein Beispiel, das auch die Schwachstelle des progressiven Verfahren zeigt. Wir gehen davon aus, dass der Guide-Tree bereits verfügbar ist. Zuerst werden die beiden linken Sequenzen mittels dem bekannten Dynamic-Programming- Ansatz für zwei Sequenzen aligniert. In diesem paarweisen Alignment wird FAT mit CAT aligniert, da Leerzeichen am Ende einer Sequenz den Wert des Alignments weniger mindern als solche innnerhalb der Sequenz. Dafür wird der Mismatch von F und C in Kauf genommen. Nun wird zu diesem Alignment die dritte Sequenz aligniert. Das resultierende Alignment enthält nun die ersten drei Sequenzen. Schließlich wird die letzte Sequenz mit dem bisherigen Alignment zusammengeführt. Hier benötigt man naturgemäß viele Leerzeichen, da die vierte Sequenz bedeutend kürzer ist als die anderen. An diesem Beispiel erkennt man jedoch auch den großen Nachteil des progressiven Verfahrens: Einmal gemachte Festlegungen können später nicht mehr verändert werden. In unserem Beispiel wurde im 1. Schritt FAT mit CAT aligniert, obwohl sich schon im 2. Schritt zeigte, dass man besser die beiden CAT-Spalten untereinander schreiben sollte. Noch deutlicher ist es, wenn man auch die 4. Sequenz hinzunimmt und das komplette Alignment betrachtet. Progressive Alignments erzeugen also lokal optimale Alignments, aber nicht notwendigerweise ein global optimales Alignment. Vor- und Nachteile progressiver Verfahren Der große Vorteil der progressiven Verfahren liegt in der hohen Geschwindigkeit, im geringen Speicherverbrauch und der Einfachheit. Die gebräuchlichsten MSA-Pakete basieren auf Implementierungen dieses Verfahrens: Pileup, MultAlign und ClustalW. ClustalW (Thompson, 1994) ist ein deterministischer Algorithmus, bei dem eine Sequenz nach der anderen zu einem multiplen Alignment hinzugefügt wird. Die Reihenfolge der Sequenzen wird durch ein vorher berechnetes Baumdiagramm bestimmt. Je nach Ähnlichkeit werden unterschiedliche Bewertungsmatrizen verwendet. Progressive Verfahren funktionieren gut für ähnliche Sequenzen und wenn es keine Ausreißer gibt. Der Erfolg hängt ab von der Wahl der Sequenzen, ihrer Reihenfolge und verschiedenen Parametern wie der Bewertungsmatrix und Gap-Penalties. Der große Nachteil der progressiven Verfahren ist aber ihre Greedy-Eigenschaft. Da die Alignments nach dem Motto einmal ein Leerzeichen immer ein Leerzeichen erzeugt werden, können anfängliche Fehlalignments später nicht mehr korrigiert werden. Eine Möglichkeit zur Überwindung dieses Nachteils bieten iterative Verfahren. Iterative Verfahren für MSA Viele Verfahren erzeugen ein multiples Alignment, indem sie iterativ sub-optimale multiple Alignments verbessern. Jeder Änderungsschritt stellt dabei eine Iteration dar. In manchen Fällen wird innerhalb des Verfahrens ein multiples Alignment aufgebaut und dann verbessert, andere Verfahren verbessern sub-optimale Ergebnisse anderer Heuristiken

7 Sequenzvergleich > k>2 Sequenzen > Heuristiken > iterativ Deterministische iterative Verfahren für MSA Sequenzvergleich > k>2 Sequenzen > Heuristiken > iterativ Stochastische iterative Verfahren für MSA Zur Behebung der Schwachstelle der progressiven Verfahren Ausgangspunkt: Ergebnis eines progressiven Verfahrens Round Robin-Verfahren: in Eingabereihenfolge zufällige Aufteilung in zwei Gruppen (Partitioning- Problem; 2 k -2 Möglichkeiten: single, double, tree) DP-basierter iterativer Algorithmus (Gotoh, 1996): simultane Optimierung der gewichteten SP-Funktion und der Gewichte des Guide-Trees Verbesserungsstrategie mit Zufallskomponente Simulated Annealing (SA): Zufällige Änderung einer Lösung Bewertung gemäß der Zielfunktion Akzeptanztest: behalten/verwerfen Evolutionäre Algorithmen (EA): Populationsbasiert Bewertung Selektion gemäß der Fitness Evolutionäre Operatoren: Rekombination, Mutation Überblick über nicht-stochastische Verfahren Da beim progressiven Verfahren fehlerhafte Alignments aus früheren Schritten des Algorithmus nicht mehr korrigiert werden können, ist die Idee, solche Fehler später zu beheben, indem die Sequenzen der Reihe nach erneut mit dem bisherigen Alignment aligniert werden. Dies geschieht so lange, bis keine Verbesserungen mehr erzielt werden. Die Verfahren unterscheiden sich in der Art, wie die Alignments vor der Verbesserung in zwei Gruppen geteilt werden. Folgende Ansätze wurden dabei verfolgt: 1.Round Robin-Verfahren: Die Sequenzen werden in der Eingabereihenfolge wieder aus dem Alignment entfernt und erneut einzeln mit dem Rest des Alignments aligniert. 2.Das Alignment wird zufällig in zwei Gruppen geteilt, wobei jede Gruppe mehr als eine Sequenz enthalten kann. Die Einbeziehung des Zufalls macht den Algorithmus robuster und verbessert seine Genauigkeit. Da es 2 k -2 Möglichkeiten gibt, eine Menge von k Sequenzen in zwei wohlunterschiedene, nicht leere Teile zu teilen, müssen in der Praxis gute Heuristiken gefunden werden, um den Suchraum einzuschränken. Beim single-type-partitioning enthalten die Gruppen eine einzelne Sequenz bzw. den Rest der Sequenzen - damit hat man nur noch k Möglichkeiten. Beim double-type-partitioning enthält die kleinere Gruppe 1-2 Sequenzen, die andere den Rest, was k(k+1)/2 Möglichkeiten erlaubt - damit hat der Suchraum eine Größe in der Ordnung O(k²). Beim treedependent-partitioning erfolgt die Partitionierung auf Basis des Guide-Trees, der aus dem aktuellen Alignment aufgebaut wird - damit gibt es 2k-3 Möglichkeiten zur Partitionierung (O(k)). Ein weiterer iterativer Ansatz basiert auf dem DP-Verfahren. Dabei wird die gewichtete Sum-of-Pairs- Funktion mit affinen Gap-Penalties optimiert. Interessant an diesem Ansatz ist vor allem, dass das Alignment und die Gewichte simultan in zwei geschachtelten Schleifen optimiert werden. Die innere Schleife optimiert die gewichtete Sum-of-Pairs-Funktion, die äußere die Gewichte auf dem phylogenetischen Baum, der aus dem aktuellen Alignment berechnet wird. Der Algorithmus endet, wenn die Gewichte konvergiert sind, und liefert sehr gute Ergebnisse. Stochastische Verfahren für MSA Stochastische iterative Ansätze beinhalten eine Verbesserungsstrategie mit Zufallskomponente. Als Beispiele dafür werden hier Simulated Annealing und Evolutionäre Algorithmen vorgestellt. In diese Kategorie fallen aber auch Hidden Markov Modelle. Simulated Annealing Als erster stochastischer iterativer Ansatz zur simultanen Alignment einer Menge von Sequenzen wurde Simulated Annealing (SA) eingesetzt. Das Prinzip läuft wie folgt: ein multiples Alignment wird zufällig verändert, gemäß einer Zielfunktion bewertet und wird dann entsprechend einer Akzeptanzfunktion entweder beibehalten oder verworfen. Diese Schritte werden wiederholt, bis ein bestimmtes Endkriterium erreicht wird. Je mehr Iterationen durchgeführt werden, desto strenger wird die Akzeptanzfunktion (d.h. die Wahrscheinlichkeit, dass eine schlechtere Lösung verworfen wird, steigt). Evolutionäre Algorithmen Bei EAs wird im Gegensatz zu SA eine ganze Population von multiplen Alignments als Ausgangslösungen generiert (zufällig oder mit Heuristiken) und mittels evolutionärer Operatoren iterativ verbessert. Diese Operatoren nennt man in Anlehnung an die biologische Evolution Mutations- bzw. Rekombinationsoperatoren. In jeder Iteration erfolgt zunächst die Bewertung der Alignments gemäß der Zielfunktion. Anschließend werden die Alignments in Abhängigkeit von ihrer Fitness selektiert (gute Alignments haben eine höhere Selektionswahrscheinlichkeit) und die Variationsoperatoren auf die selektierten Alignments angewendet. Der EA endet, wenn ein bestimmtes Endkriterium (Konvergenz, Anzahl der Generationen, etc.) erreicht wurde

8 Sequenzvergleich > k>2 Sequenzen > Heuristiken > iterativ Vor- und Nachteile iterativer Verfahren Sequenzvergleich > k>2 Sequenzen > konsistenzbasierte Verfahren Konsistenzbasierte Verfahren robust, für große Anzahl von Sequenzen geeignet EA ermöglicht verschiedene Zielfunktionen Verbesserungen beim EA möglich durch Parallelisierung, bessere Ausgangslösungen, lokale Verbesserungsmethoden keine Garantie für Optimum meist relativ langsam Ziel: multiples Alignment, das am besten zu allen optimalen paarweisen Alignments passt Formulierung als Maximum Weight Trace Problem (Kececioglu, 1993): Trace, das die Summe des Gewichts der realisierten Kanten maximiert Alignmentgraph für 3 Sequenzen T-Coffee: Tree-based Consistency Objective Function for Alignment Evaluation (Notredame et al., 2000) Bibliothek mit globaler Information Vor- und Nachteile stochastischer Verfahren Iterative Verfahren sind im Allgemeinen robust und auch für eine größere Anzahl von Sequenzen geeignet. Allerdings können sie das Auffinden des optimalen multiplen Alignments nicht garantieren. Die Geschwindigkeit hängt vom jeweiligen Verfahren ab. Simulated Annealing ist in der Praxis zu langsam, um Alignments aufzubauen, es wird lediglich zur Verbesserung existierender Alignments verwendet. Evolutionäre Algorithmen ermöglichen die einfache Inkorporation verschiedener Zielfunktionen und liefern recht gute Näherungslösungen. Ein Nachteil ist allerdings ihre geringe Geschwindigkeit. Durch verschiedene Maßnahmen wie Parallelisierung, Verwendung besserer Ausgangsalignments (z.b. Lösungen anderer Heuristiken) und lokalen Verbesserungsmethoden kann die Leistung jedoch verbessert werden. 15 Konsistenzbasierte Verfahren Bei diesen Verfahren ist das Ziel, jenes multiple Alignment zu finden, das am besten mit allen möglichen optimalen paarweisen Alignments übereinstimmt. Dieses Prinzip passt auch gut zu biologischen Beobachtungen. Maximum Weight Trace Problem Eine Möglichkeit besteht darin, das Problem, das konsistente multiple Alignment zu finden, als Maximum Weight Trace Problem zu formulieren (ebenfalls NP-vollständig). Dieser Ansatz wurde 1993 von Kececioglu vorgestellt und beruht auf dem sogenannten Alignmentgraphen: die Knoten entsprechen den Symbolen der Sequenzen, die Kanten stellen wünschenswerte Paarungen aus den paarweisen Alignments dar und werden nach ihrer Güte gewichtet. Um das passende multiple Alignment zu berechnen, ist eine Untermenge der Kanten mit dem maximalen Kantengewicht zu finden, die einen gültigen Trace darstellt (d.h. konfliktfrei in ein multiples Alignment umwandelbar ist). Das Beispiel zeigt einen Alignmentgraphen für 3 Sequenzen. Um einen gültige Trace zu erhalten, muss z.b. die Kante (R,I) entfernt werden, da Q und I aus der ersten Sequenz nicht gleichzeitig mit I aus der dritten Sequenz aligniert werden können. T-COFFEE T-COFFEE (Notredame et al., 2000) basiert auf der progressiven Methode, vermeidet aber jene Nachteile, die durch die Greedy-Eigenschaft entstehen, indem aus allen paarweisen Alignments eine Bibliothek mit Alignmentinformationen erzeugt wird. Die Bibliothek kann auch Informationen aus globalen und lokalen Alignments oder aus einer Erweiterung jedes Residuenpaares durch den Vergleich mit Residuen anderer Sequenzen aufnehmen. In jedem Schritt des progressiven Alignments können damit alle Sequenzen berücksichtigt werden: die Bibliothek ersetzt die Bewertungsmatrix, Gap-Penalties sind nicht notwendig. Mit Hilfe eines progressiven Verfahrens wird dann das Alignment gesucht, das zur Bibliothek das höchste Konsistenzniveau aufweist. Der Aufwand für T- Coffee beträgt O(k³) zur Berechnung des Guide-Trees und O(kn²) für das progressive Alignment. Diese Methode ist relativ schnell, relativ robust, einfach und flexibel und sie ermöglicht eine Kombination der besten Eigenschaften von globalen und lokalen multiplen Alignments. Aber auch hier gibt es keine Garantie, dass das Optimum gefunden wird. 16

9 3. Phylogenetische Bäume Phylogenetische Bäume Phylogenetische Bäume - Definitionen Problem: Erklärung der Entwicklungsgeschichte heutiger Spezies und ihrer Verwandtschaft Beispiel: hypothetische Vorfahren heutige Spezies Braunbär Malaienbär Brillenbär Großer Panda Kleiner Panda Waschbär Hund Jahrmillionen Objekte : Spezies, Populationen, DNA, Proteine Baum: ungerichteter, zusammenhängender, azyklischer Graph ev. gewichtet rooted A unrooted F B D A B C D E F C E Methoden zur Bestimmung einer Wurzel: Outgroup-Methode: mit nicht verwandten Objekten Hypothese einer molekularen Uhr: Wurzel in gleicher Entfernung zu allen Objekten Phylogenetische Bäume Eines der zentralen Probleme in der Biologie ist, die Entwicklungsgeschichte der heutigen Spezies zu erklären, insbesondere die Verwandtschaft zwischen heutigen Spezies in Bezug auf gemeinsame Vorfahren. Dies erfolgt üblicherweise durch die Erstellung von phylogenetischen Bäumen (Abstammungsbäumen). Ihre Blätter repräsentieren heutige Spezies, die Zwischenknoten stellen hypothetische Vorfahren dar. Das Beispiel zeigt einen Abstammungsbaum für Pandas. Bis in die 60er- Jahren wurde angenommen, dass die beiden Pandas zur selben Familie gehören, da sie ähnliche Merkmale aufwiesen (insbesondere eine Art Daumen zum Ergreifen des Bambus). Die Wissenschaftler konnten sich jedoch nicht einigen, ob die Pandas zu den Bären oder zu den Waschbären gehörten. Eine 1964 veröffentlichte Studie löste dieses Rätsel auf überraschende Weise: der große Panda gehört zu den Bären, der kleine Panda ist näher mit dem Waschbären verwandt - diese Meinung ist bis heute anerkannt. (Die beiden Bilder stammen von der Fotografin des Tiergartens Schönbrunn.) Problematisch an der Erstellung der phylogenetischen Bäume ist, dass üblicherweise nicht genügend Information über die entfernten Vorfahren vorliegt. Auch wenn das der Fall wäre, könnte man trotzdem nicht hundertprozentig sicher sein, dass beispielsweise ein Fossil einer bestimmten Spezies auch tatsächlich der Vorfahr einer bestimmten heute lebenden Spezies ist. Daher müssen wir aus den heute lebenden Spezies Rückschlüsse auf ihre Entwicklungsgeschichte ziehen und ihren phylogenetischen Baum aus den Informationen erstellen, die wir aus dem Vergleich der heutigen Spezies gewinnen. Der im Beispiel gezeigte Baum muss also nicht notwendigerweise der wahre Baum sein, er stellt lediglich eine Hypothese dar. Phylogenetische Bäume wurden schon seit dem 19. Jahrhundert erstellt. Bis in die etwa 1950 wurden manuelle Methoden verwendet, die auf der Intuition und Erfahrung der Forscher beruhte. Allmählich setzten sich dann mathematische Methoden durch. Heute gibt es eine Vielzahl unterschiedlicher Ansätze und Algorithmen zur Berechnung von phylogenetischen Bäumen. Einige davon sollen hier vorgestellt werden. Phylogenetische Bäume - Definitionen Die Objekte, für die phylogenetische Bäume erstellt werden, umfassen alles, was sich durch die Evolution entwickelt, z.b. Spezies, Populationen, Arten, DNA oder Protein. Wir wollen uns auf die molekulare Ebene (DNA- und Proteinsequenzen) beschränken. An dieser Stelle soll kurz die Definition eines Baumes wiederholt werden. Ein Baum ist ein ungerichteter, zusammenhängender, azyklischer Graph. Den Blättern werden die betrachteten Objekte zugeordnet. Wir beschränken uns auf binäre Bäume. Phylogenetische Bäume können auf zwei Arten dargestellt werden: mit Wurzel (rooted) oder ohne Wurzel (unrooted). Ein Baum mit einer Wurzel impliziert Abstammungsbeziehungen zwischen den Zwischenknoten. In vielen Fällen stehen aber nicht genügend Daten zur Verfügung, um die Wurzel zu bestimmen, daher beschränkt man sich dann auf Bäume ohne Wurzel. Die meisten phylogenetischen Methoden erzeugen wurzellose Bäume. Es gibt zwei Methoden, um daraus einen Baum mit Wurzel zu erzeugen: 1. Outgroup-Methode: Zur Analyse wird eine Gruppe von Objekten hinzugefügt, von denen man von vornherein weiß, dass sie nicht zur betrachteten Gruppe gehören. Die Wurzel ist dann jener Zwischenknoten, an dem die Außenseiter-Gruppe zu den übrigen Objekten stößt. 2. Hypothese einer molekularen Uhr (molecular clock hypothesis): Man nimmt an, dass sich alle Objekte mit gleicher Geschwindigkeit von ihrem gemeinsamen Vorfahr entwickelt haben. Die Wurzel liegt somit in gleicher Entfernung zu allen Blättern

10 Phylogenetische Bäume Topologien und Distanzen Phylogenetische Bäume Vergleiche zwischen Objekten Interessante Aspekte: Topologie: Verzweigungsmuster paarweise Distanz = Schätzung für evolutionäre Distanz Anzahl möglicher Baum-Topologien für n Objekte: n-1 i=2 n i=2 N unrooted = (2i-3) = (2n-5)!! N rooted = (2i-3) = (2n-3)!! steigt exponentiell n N unrooted N rooted ~ ~ 3, ~ 2, ~ 8, Basis für phylogenetische Bäume: Vergleich zwischen heutigen Objekten Ausgangspunkt: homologe, alignierte DNA- bzw. Proteinsequenzen (ohne unsichere Teile) Kategorien von Daten: 1. Diskrete Merkmale Merkmalsmatrix 2. Vergleichende numerische Daten (Distanz) Distanzmatrix Unterschiedliche Methoden je nach Kategorie Topologien und Entfernungen Für die Forschung sind primär zwei Aspekte von phylogenetischen Bäumen interessant: 1. Die Topologie des Baumes, d.h. das Verzweigungsmuster, durch das die Zwischenknoten untereinander und mit den Blättern verbunden sind. 2. Die Distanz zwischen Paaren von Knoten, die man bestimmen kann, wenn die Kanten gewichtet sind und dann eine Schätzung für die evolutionäre Distanz zwischen den Knoten darstellt. Die Entfernung zwischen einem Zwischenknoten (einem Vorfahr) und einem Blatt (heutiges Objekt) kann unter bestimmten Umständen beispielsweise als Schätzung für die Zeit interpretiert werden, die für die Evolution aus dem Vorfahr in das heutige Objekt benötigt wurde. Im Allgemeinen entspricht die evolutionäre Distanz jedoch nicht der abgelaufenen Zeit. Die Anzahl der Topologien N steigt sowohl für Bäume ohne als auch mit Wurzel exponentiell in der Anzahl der Objekte n, wie aus den Berechnungsformeln für N unrooted und N unrooted sowie den Beispielen in der Tabelle erkennbar ist. (!! bedeutet, dass bei der Multiplikation nur die ungeraden Zahlen berücksichtigt werden; also z.b. 3 5 (2n-5).) Vergleich zwischen Objekten Die Basis für die Erstellung von phylogenetischen Bäumen ist wie gesagt der Vergleich zwischen heute lebenden Objekten. Auf molekularer Ebene ist der Ausgangspunkt für die Berechnung von phylogenetischen Bäumen eine Menge von homologen, alignierten DNAoder Proteinsequenzen. Für ein aussagekräftiges Ergebnis ist die Qualität des Alignments wesentlich: jede Spalte sollte homologe Residuen enthalten, die von einem gemeinsamen Vorfahren abstammen. Unsichere Teile des Alignments müssen für die phylogenetische Analyse ausgeblendet werden. Die meisten Methoden berücksichtigen außerdem nur Substitutionen, Spalten mit Leerzeichen werden ignoriert. Die Eingabedaten für die Rekonstruktion von phylogenetischen Bäumen können in mehrere Kategorien geteilt werden: 1. Diskrete Merkmale (discrete characters): z.b. die Form des Schnabels, die Anzahl der Finger, Vorhandensein gewisser molekularer Strukturen. Die Daten aus diesen diskreten Zeichen werden in einer Objekte x Merkmale - Matrix (= Merkmalsmatrix, character state matrix) dargestellt. Diese Matrizen müssen nicht unbedingt quadratisch sein, da die Anzahl der Objekte nicht mit der Anzahl der Merkmale übereinstimmen muss. Auf molekularer Ebene werden hier die Zeichen in den Spalten betrachtet. 2. Vergleichende numerische Daten (comparative numerical data), d.h. die Distanz zwischen Objekten. Die daraus resultierende Matrix heißt Distanzmatrix. Diese Matrizen sind Dreiecksmatrizen, da die Distanzen für jedes Paar von Objekten jeweils symmetrisch sind. Je nach Kategorie werden unterschiedliche Methoden zur Erstellung von pylogenetischen Bäumen verwendet. Im Folgenden werden Methoden auf Basis der Merkmalsmatrix und der Distanzmatrix vorgestellt. Eine dritte Kategorie - stetige Merkmalsdaten (continuous character data) - bleibt hier unberücksichtigt

11 Phylogenetische Bäume > diskrete Merkmale Merkmalsbasierte Methoden Phylogenetische Bäume > diskrete Merkmale > Beschreibungsverlust Minimierung des Beschreibungsverlustes Grundlage: Merkmalsmatrix Beispiel: alignierte DNA-Sequenzen ACTTGC ACTTTG ACTCGC ATTCGA CTCTGC n = 5 Objekte m = 6 Merkmale Ziel: Phylogenetischen Baum finden, der eine bestimmte Zielfunktion maximiert Maximale Parsimonie = Minimierung des Beschreibungsverlustes (Kompatibilität von Positionen) Minimaler Beschreibungsverlust = Maximale Parsimonie Zielfunktion: Anzahl der postulierten evolutionären Änderungen (Mutationen) im Baum ist minimal Annahmen: 1. Unabhängige Entwicklung von Merkmalen 2. Unabhängige Entwicklung von Abstammungslinien 3. Geringe Mutationswahrscheinlichkeit Merkmalsbasierte Methoden Diskrete Merkmale (discrete characters): z.b. die Form des Schnabels, die Anzahl der Finger, Vorhandensein gewisser molekularer Strukturen. Die Daten aus diesen diskreten Zeichen werden in einer n x m-matrix (= Merkmalsmatrix) dargestellt. Die Eingabedaten können weitere relevante Parameter enthalten, z.b. die Verteilung der Mutationen bei jedem Merkmal, Gewichtungen der Merkmale nach ihrer relativen Wichtigkeit und Ähnliches. Das Beispiel zeigt eine Merkmalsmatrix für 5 DNA-Sequenzen (= Objekte) mit je 6 Residuen (= Merkmale). Das Ziel ist, jenen phylogenetischen Baum zu finden, der die Daten aus der Merkmalsmatrix am besten beschreibt, d.h. eine bestimmte Zielfunktion maximiert. Ein trivialer Ansatz wäre, alle Bäume vollständig zu enumerieren und für jeden den Zielfunktionswert zu berechnen. Wie bereits vorhin gezeigt, ist das aber aufgrund der enormen Anzahl der möglichen Topologien nicht einmal für relativ kleine Menge von Objekten praktikabel. Wir sehen einen Ansatz zur Definition einer Zielfunktion und zur Lösung des Problems für diese Zielfunktion: das Problem der Maximalen Parsimonie ( Sparsamkeit ), was der Minimierung des Beschreibungsverlustes entspricht. Ein weiterer merkmalsbasierter Ansatz, der im Rahmen dieser Vorlesung nicht behandelt wird, ist die Kompatibilität von Positionen. Minimierung des Beschreibungsverlustes Eine intuitive Zielfunktion für einen phylogenetischen Baum ist die Anzahl von Änderungen (Mutationen) entlang der Kanten = Minimierung des Beschreibungsverlustes bzw. Maximierung der Parsimonie (engl.: parsimony). Der Algorithmus weist einem gegebenen Baum, dessen Blätter mit den Objekten beschriftet sind, Kosten zu und durchsucht ausgewählte Topologien, um den besten Baum zu finden, d.h. denjenigen, der die beobachteten Objekte mit einer minimalen Anzahl von Substitutionen erklären kann. Der Beschreibungsverlust ist ein Maß dafür, wie oft sich der Wert eines Merkmals entlang einer Kante insgesamt ändert. Folgende Annahmen werden getroffen: 1. Jedes Merkmal entwickelt sich unabhängig. 2. Jede Abstammungslinie entwickelt sich unabhängig. 3. Die Wahrscheinlichkeit einer Mutation ist gering. Diese Annahmen müssen nicht notwendigerweise korrekt sein, aber sie vereinfachen die Berechnung sehr

12 Phylogenetische Bäume > diskrete Merkmale > Beschreibungsverlust Beispiel zum Beschreibungsverlust Phylogenetische Bäume > diskrete Merkmale > Beschreibungsverlust Small und Large Parsimony Beispiel: Baum mit minimalem Beschreibungsverlust für ein Merkmal (eine DNA-Spalte) ACTTGC ACTTTG ACTCGC ATTCGA CTCTGC C C C T T C C oder C/T mit Wurzel T C C C C C C T T ohne Wurzel T T Small Parsimony Problem: Input: Baum T mit n Objekten als Blätter Output: Beschriftung der Zwischenknoten, die den Beschreibungsverlust für T minimiert Large Parsimony Problem: NP-schwierig Input: n x m-merkmalsmatrix M Output: Baum mit dem minimalen Beschreibungsverlust (Baum-Topologie und Beschriftung) Beispiel für die Minimierung des Beschreibungsverlustes Das Beispiel zeigt zwei phylogenetische Bäume (most parsimonious phylogeny), die den Beschreibungsverlust für das betrachtete Merkmal (2. Spalte der alignierten DNA-Sequenzen) minimieren. Beide Bäume haben einen Beschreibungsverlust von 1 - entweder erfolgt eine Mutation von C nach T oder umgekehrt. Die Balken markieren die Kanten, an denen die Mutation erfolgt ist. Im Baum mit Wurzel gibt es dafür zwei Möglichkeiten, je nachdem, ob der Wurzelknoten mit C oder mit T beschriftet wird. Das wurzellose Gegenstück dazu enthält dagegen keine Mehrdeutigkeit. Egal, wie ein wurzelloser Baum in einen Baum mit Wurzel verwandelt wird, der Wert bleibt immer derselbe. Solche Bäume können für jedes Merkmal bestimmt werden, im Beispiel also für jede Spalte des Alignments, und dann zu komplexen Bäumen zusammengefasst werden (Consensus Tree Problem). Die Summe aller im Baum erforderlichen Mutationen ergibt den gesamten Beschreibungsverlust für die gegebenen Merkmale. Small und Large Parsimony Es gibt zwei Versionen des Problems des minimalen Beschreibungsverlustes: 1. Small Parsimony Problem: Für einen gegebenen phylogenetischen Baum T, dessen Blätter mit den n Objekten beschriftet sind, soll eine Beschriftung der Zwischenknoten gefunden werden, sodass der Beschreibungsverlust minimal ist. Eine Lösung für jede einzelne Position (jedes einzelne Merkmal) ist ausreichend. 2. Large Parsimony Problem: Für eine Merkmalsmatrix M mit n Objekten und m Merkmalen soll der Baum mit dem minimalen Beschreibungsverlust gefunden werden (Baum- Topologie sowie die Beschriftung der Blätter und der Zwischenknoten)

13 Phylogenetische Bäume > diskrete Merkmale > Beschreibungsverlust Fitch s Algorithmus für Small Parsimony Phylogenetische Bäume > diskrete Merkmale > Beschreibungsverlust Beispiels für Fitch s Algorithmus Jedes Merkmal wird separat betrachtet 1. Schritt (Mengenaufbau): Postorder-Traversierung Für alle Blätter v: S(v)={v c } Für alle sonstigen Knoten v mit Nachfolgern u, w: S(v) = S(u) S(w) falls S(u) S(w) {} S(v) = S(u) S(w) sonst 2. Schritt (Wertzuweisung): Präorder-Traversierung Falls u Vorgängerknoten von v ist und u c S(v): v c = u c Sonst: v c erhält zufälligen Wert t S(v) Aufwand (für alle Merkmale): O(n m k) (wobei k=anzahl der möglichen Werte) 1. Schritt 2. Schritt A C G C G A C G C G AC ACG CG CG zufällig C G wie Vorgänger wie G Vorgänger G zufällig Wert des Beschreibungsverlustes = Algorithmus für Small Parsimony Das Problem kann für jedes einzelne Merkmal (jede Spalte des gegebenen Alignments) separat gelöst werden, da alle Merkmale voneinander unabhängig sind. Für ein Merkmal kann Fitch s Algorithmus angewendet werden, der die minimale Anzahl von Mutationen berechnet, die für die Erklärung der Evolution in einem gegebenen phylogenetischen Baum für ein Merkmal erforderlich sind. Formal bedeutet das, dass für jedes Merkmal folgendes zu tun ist: 1. Schritt: Traversiere T in Postorder-Reihenfolge und weise jedem Knoten v eine Menge von Werten aus dem Wertebereich (d.h. DNA- und Proteinsequenzen: aus dem Alphabet) gemäß folgenden Regeln zu: Falls v ein Blatt ist: S(v)={v c }, wobei v c der Wert des Merkmals von Knotens v ist (d.h. das dem Knoten v zugeordnete Symbol); Falls v ein Zwischenknoten ist, mit den Nachfolgern u und w: S(v) = S(u) S(w), falls S(u) S(w) {} oder S(v) = S(u) S(w) falls S(u) S(w)={}. 2. Schritt: Traversiere T in Präorder-Reihenfolge und weise jedem Knoten v (außer den Blattknoten) einen Wert v c zu. Falls u Vorgängerknoten von v ist und u c S(v), dann setze v c = u c (weise dem Knoten v denselben Wert wie seinem Vorgänger zu), ansonsten setze v c zufällig auf einen Wert S(v). Auch beim Wurzelknoten kann also im Bedarfsfall zufällig gewählt werden. Aufwand Für jeden Knoten v benötigen wir zur Berechnung von S(v) einen Aufwand O(k), wobei k gleich der Anzahl der Werte ist, die dieses Merkmal in den Eingabedaten annimmt. Insgesamt benötigt man O(n k) zur Lösung des Small Parsimony Problems mit einem Merkmal, da der 2. Schritt im Durchschnitt O(n) benötigt. Die Anwendung des Algorithmus für alle Merkmale löst die kleine Version des Problems des minimalen Beschreibungsverlustes in Zeit O(n m k). Beispiel für Fitch s Algorithmus Im ersten Schritt erzeugt der Algorithmus für jeden Zwischenknoten eine Menge von möglichen Zuständen (mögliche Merkmalsausprägungen, z.b. Residuen), die auf Basis der Zustände in den Nachfolgerknoten berechnet wird. Man beginnt dabei bei den Blattknoten, die mit je einem Zustand (d.h. einer Residue) beschriftet werden. Dann wird der Baum in Postorder traversiert, wobei die Mengen von möglichen Zuständen an den Zwischenknoten erzeugt werden: falls nicht leer, wird die Durchschnittsmenge der Mengen der Nachfolgerknoten zugewiesen, ansonsten die Vereinigungsmenge. Im zweiten Schritt wird der Baum in Präorder traversiert und auf Basis der Mengen an den Knoten werden der Wurzel und allen Zwischenknoten Werte zugewiesen: falls die Menge den Wert des Vorgängerknotens enthält, wird dieser zugewiesen, sonst ein zufällig gewählter Wert aus der Menge. Der Wert des Beschreibungsverlustes im gegebenen Baum ist

14 Phylogenetische Bäume > diskrete Merkmale > Beschreibungsverlust Algorithmen für Large Parsimony Vollständige Enumeration: nicht praktikabel Branch&Bound (B&B): schlechte Lösungen abschneiden Heuristiken: Nearest Neighbor Interchanges (NNI): Baum iterativ durch kleine Änderungen verbessern Phylogenetische Bäume > Distanzen Distanzbasierte Methoden Geg.: Distanzmatrix M, M[i,j] = Distanz zw. i und j Ziel: gewichteter (wurzelloser) Baum, Entfernung zwischen Objekten i und j im Baum = M[i,j] Exakte Lösung additiver Baum Voraussetzung: additive Distanzen Ultrametrische Distanzen ultrametrischer Baum mit Wurzel Minimierung der Abweichungen NP-schwer UPMGA-Heuristik Neighbor-Joining-Heuristik Algorithmen für Large Parsimony Vollständige Enumeration aller Bäume und anschließende Berechnung des Beschreibungsverlustes ist bereits für eine sehr kleine Anzahl von Objekten nicht praktikabel. Wie bereits erwähnt ist das Problem optimaler Evolutionsbäume NP-vollständig, daher sind Methoden wie Branch&Bound (B&B, für relativ wenige Objekte) oder lokalen Suchmethoden (Greedy Algorithmen, Simulated Annealing, etc.) anzuwenden. Bei B&B wird der Baum durch schrittweises Hinzunehmen neuer Objekte aufgebaut. Dabei kann sich der Wert des Beschreibungsverlustes nie verringern (es kann immer nur eine zusätzliche Mutation notwendig werden). Der Referenzbaum (phylogenetischer Baum mit allen Merkmalen, der eine obere Schranke bildet, d.h. er repräsentiert eine gültige Lösung, es kann aber noch Bäume mit einem geringeren Beschreibungsverlust geben) wird jeweils aktualisiert, wenn ein besserer phylogenetischer Baum gefunden wird, wobei eine Verzweigung im B&B Baum ignoriert werden kann, wenn sie schlechter als die Referenzlösung ist. Bei Heuristiken wird aus einem aktuellen Baum, der mit einer schnellen Methode erstellt wurde, wiederholt durch leichte Modifikation ein neuer Baum erzeugt. Ist der neue Baum besser, so wird er zum aktuellen Baum. Der gesamte Prozess wird für verschiedene Ausgangsbäume wiederholt. Am Ende wird der beste gefundene Baum als Ergebnis präsentiert. Beim Nearest Neighbor Interchange (NNI) wird der neue Baum dabei durch eine Umordnung von benachbarten Unterbäumen erzeugt. Wichtig ist daher die Definition einer Nachbarschaft im Suchraum. Mit Hilfe bekannter Heuristiken wie Greedy Algorithmen oder Simulated Annealing kann dann der Suchraum von einem Nachbarn zum nächsten traversiert werden, um ein lokales Optimum finden - das hoffentlich auch das globale Optimum ist oder zumindest eine gute Näherung dafür. Distanzbasierte Methoden Die prinzipielle Vorgangsweise ist zweistufig und benötigt als Eingabe ein Alignment von Sequenzen. Daraus wird im ersten Schritt eine Distanzmatrix M für die paarweisen Distanzen zwischen den Sequenzen abgeleitet. Mit Hilfe der Distanzwerte aus der Matrix wird im zweiten Schritt der phylogenetische Baum berechnet. Für die Berechnung der Distanzmatrix gibt es verschiedene Methoden (z.b. mittels PAM- Matrizen für Proteine, Jukes-Cantor-Modell für DNA, Kimura s 2-Parameter-Modell für DNA). Wir wollen allerdings davon ausgehen, dass die Distanzmatrix bereits berechnet wurde und uns nur auf den zweiten Schritt beschränken. Dazu betrachten wir folgende Problemstellungen. Gegeben sei eine n x n-distanzmatrix M, in der M[i,j] die Distanz zwischen zwei Objekten i und j darstellt. Gesucht wird ein gewichteter Baum, in dem jedes Blatt genau einem Objekt zugeordnet (und umgekehrt) und die Entfernung zwischen zwei Objekten i und j im Baum gleich dem Wert von M[i,j] ist. Kann ein derartiger Baum erstellt werden, so heißen die Distanzen in M additiv. Eine noch striktere Voraussetzung sind ultrametrische Distanzen, die die exakte Berechnung eines ultrametrischen Baumes (mit Wurzel) ermöglichen. In der Praxis sind die Distanzen selten additiv oder ultrametrisch. Versucht man, die Abweichungen von der Additivität zu minimieren, ergeben sich NP-schwere Probleme. Für dieses Problem gibt es zwei in der Praxis häufig angewendete Heuristiken: UPMGA und Neighbor-Joining

15 Phylogenetische Bäume > Distanzen > additive Bäume Exakter Algorithmus für additive Bäume Beispiel: Voraussetzung für additive Distanzen (für 4 Objekte): d[i,j] + d[k,l] = d[i,k] + d[j,l] i m n j d[i,l] + d[j,k] l k Gesucht: entsprechender additiver Baum (unrooted) Für 2 Objekte: M a b c a 0 b c x M[x,y] 0.4 c v a b y Phylogenetische Bäume > Distanzen > additive Bäume Additive Bäume für 3 bzw. 4 Objekte Für 3 Objekte: (plus z) Für 4 Objekte: (plus w) x c z d[x,c]=½ (M[x,y]+M[x,z]-M[y,z]) d[y,c]=½ (M[x,y]+M[y,z]-M[x,z]) d[z,c]=½ (M[x,z]+M[y,z]-M[x,y]) y (1) M[x,z] = d[x,c] + d[z,c] (2) M[y,z] = d[y,c] + d[z,c] (3) d[x,c] = M[x,y] - d[y,c] x x x c y c y c y w?? w w? z z z Algorithmen für additive Bäume Zur Berechnung additiver Bäume benötigt man eine n x n-distanzmatrix M, in der M[i,j] die Distanz zwischen zwei Objekten i und j darstellt und diese Distanzen additiv sind. Gesucht wird ein gewichteter Baum, in dem jedes Blatt genau einem Objekt zugeordnet (und umgekehrt) und die Entfernung zwischen zwei Objekten i und j im Baum gleich dem Wert von M[i,j] ist. Damit eine Distanzmatrix M additiv ist, muss folgende Voraussetzung erfüllt sein: Beliebige vier Objekte daraus können so mit i, j, k und l bezeichnet werden, dass gilt: d[i,j] + d[k,l] = d[i,k] + d[j,l] d[i,l] + d[j,k] Unter dieser Voraussetzung wird der entsprechende additive Baum gesucht. Die Vorgehensweise wird mittels Induktion gezeigt. Für zwei Objekte x und y mit einer Distanz M[x,y] kann der additive Baum leicht erstellt werden: eine Kante zwischen x und y mit dem Gewicht M[x,y]. Additive Bäume - Vorgehensweise Für drei Objekte x, y und z müssen wir ein drittes Objekt z zum bereits für x und y erstellten Baum hinzufügen. Es muss auf jeden Fall ein Zwischenknoten c eingefügt werden, an den z angehängt wird. Die Frage ist, in welcher Entfernung zwischen x und y der Zwischenknoten eingefügt wird und welches Gewicht die Kante von c nach z erhält. Es gelten folgende Beziehungen: (1) M[x,z]=d[x,c]+d[z,c], (2) M[y,z]=d[y,c]+d[z,c] und (3) d[y,c]=m[x,y]-d[x,c] (was gleichbedeutend ist mit M[x,y]=d[x,c]+d[y,c]). Wenn wir (2) von (1) subtrahieren und (3) im Ergebnis einsetzen, erhalten wir einen Ausdruck für d[y,c], der nur mehr von den Einträgen der Distanzmatrix M abhängt. Analog dazu erhalten wir Ausdrücke für d[x,c] und d[z,c]. Damit ist der additive Baum für 3 Objekte bestimmt. Fügen wir nun ein viertes Objekt w dazu, dann stellt sich die Frage, an welcher Verbindung w zusammen mit einem weiteren Zwischenknoten u eingefügt werden soll: zwischen x und c, zwischen y und c oder zwischen z und c. Um das zu entscheiden, wählen wir zwei beliebige Objekte aus dem Baum aus, z.b. x und y, und berechnen obige Entfernungen, wobei z durch w ersetzt wird. Dadurch finden wir einen Knoten c 2. Falls dieser Knoten eine der betrachteten Kanten teilt (hier: (x,c) oder (y,c)), können wir c 2 einfügen, w daran anhängen und sind fertig. Falls Knoten c 2 mit Knoten c zusammenfällt, muss die dritte Kante (hier: (z,c)) geteilt werden und man muss dieselben Gleichungen nochmals anwenden, wobei eines der bereits betrachteten Objekte durch das noch nicht betrachtete Objekt (hier: x oder y durch z) ersetzt wird

Ausgewählte Algorithmen der Bioinformatik

Ausgewählte Algorithmen der Bioinformatik Überblick Ausgewählte Algorithmen der Bioinformatik 1. Einführung in die Molekularbiologie 2. Vergleich von Sequenzen 2.1 Paarweises Sequence Alignment 2.2 Multiple Sequence Alignment 2.3 Vergleichsmaße:

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

Multiple Alignments. Vorlesung Einführung in die Angewandte Bioinformatik Prof. Dr. Sven Rahmann. Webseite zur Vorlesung

Multiple Alignments. Vorlesung Einführung in die Angewandte Bioinformatik Prof. Dr. Sven Rahmann. Webseite zur Vorlesung Multiple Alignments Vorlesung Einführung in die Angewandte Bioinformatik Prof. Dr. Sven Rahmann Webseite zur Vorlesung http://bioinfo.wikidot.com/ Sprechstunde Mo 16-17 in OH14, R214 Sven.Rahmann -at-

Mehr

Heuristische Verfahren

Heuristische Verfahren Heuristische Verfahren Bei heuristischen Verfahren geht es darum in polynomieller Zeit eine Näherungslösung zu bekommen. Diese kann sehr gut oder sogar optimal sein, jedoch gibt es keine Garantie dafür.

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

Algorithmische Bioinformatik 1

Algorithmische Bioinformatik 1 Algorithmische Bioinformatik 1 Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2009 Übersicht Paarweises

Mehr

Algorithmische Anwendungen WS 2005/2006

Algorithmische Anwendungen WS 2005/2006 Algorithmische Anwendungen WS 2005/2006 Sequenzalignment Gruppe F_lila_Ala0506 Allal Kharaz Yassine ELassad Inhaltsverzeichnis 1 Problemstellungen...................................... 3 1.1 Rechtschreibkorrektur...............................

Mehr

Evolutionary Trees: Distance Based

Evolutionary Trees: Distance Based Evolutionary Trees: Distance Based 1 Buftea Alexandru Laut der Evolutionstheorie findet in allen Organismen eine langsame Änderung statt (Evolution). Ein evolutionärer Baum, auch phylogenetischer Baum

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

Algorithmen auf Sequenzen Paarweiser Sequenzvergleich: Alignments

Algorithmen auf Sequenzen Paarweiser Sequenzvergleich: Alignments Algorithmen auf Sequenzen Paarweiser Sequenzvergleich: Alignments Sven Rahmann Genominformatik Universitätsklinikum Essen Universität Duisburg-Essen Universitätsallianz Ruhr Einführung Bisher: Berechnung

Mehr

Algorithmen für paarweise Sequenz-Alignments. Katharina Hembach

Algorithmen für paarweise Sequenz-Alignments. Katharina Hembach Proseminar Bioinformatik WS 2010/11 Algorithmen für paarweise Sequenz-Alignments Katharina Hembach 06.12.2010 1 Einleitung Paarweise Sequenz-Alignments spielen in der Bioinformatik eine wichtige Rolle.

Mehr

Zentrum für Bioinformatik. Übung 4: Revision. Beispielfragen zur Klausur im Modul Angewandte Bioinformatik (erste Semesterhälfte)

Zentrum für Bioinformatik. Übung 4: Revision. Beispielfragen zur Klausur im Modul Angewandte Bioinformatik (erste Semesterhälfte) Andrew Torda Björn Hansen Iryna Bondarenko Zentrum für Bioinformatik Übung zur Vorlesung Angewandte Bioinformatik Sommersemester 2014 20./23.06.2014 Übung 4: Revision Beispielfragen zur Klausur im Modul

Mehr

Sequenzen-Alignierung in der Bioinformatik

Sequenzen-Alignierung in der Bioinformatik Sequenzen-Alignierung in der Bioinformatik VO Algorithm Engineering Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS 2. VO 2.0.2006 Literatur für diese VO Volker Heun: Skriptum zur Vorlesung

Mehr

Studiengang Informatik der FH Gießen-Friedberg. Sequenz-Alignment. Jan Schäfer. WS 2006/07 Betreuer: Prof. Dr. Klaus Quibeldey-Cirkel

Studiengang Informatik der FH Gießen-Friedberg. Sequenz-Alignment. Jan Schäfer. WS 2006/07 Betreuer: Prof. Dr. Klaus Quibeldey-Cirkel Studiengang Informatik der FH Gießen-Friedberg Sequenz-Alignment Jan Schäfer WS 2006/07 Betreuer: Prof. Dr. Klaus Quibeldey-Cirkel Überblick Einführung Grundlagen Wann ist das Merkmal der Ähnlichkeit erfüllt?

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

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

Greedy Algorithms - Gierige Algorithmen

Greedy Algorithms - Gierige Algorithmen Greedy Algorithms - Gierige Algorithmen Marius Burfey 23. Juni 2009 Inhaltsverzeichnis 1 Greedy Algorithms 1 2 Interval Scheduling - Ablaufplanung 2 2.1 Problembeschreibung....................... 2 2.2

Mehr

Datenstrukturen & Algorithmen Lösungen zu Blatt 4 FS 15

Datenstrukturen & Algorithmen Lösungen zu Blatt 4 FS 15 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 18. März

Mehr

Synthese Eingebetteter Systeme. Übung 6

Synthese Eingebetteter Systeme. Übung 6 12 Synthese Eingebetteter Systeme Sommersemester 2011 Übung 6 Michael Engel Informatik 12 TU Dortmund 2011/07/15 Übung 6 Evolutionäre Algorithmen Simulated Annealing - 2 - Erklären Sie folgende Begriffe

Mehr

Algorithmen und Datenstrukturen in der Bioinformatik Viertes Übungsblatt WS 05/06 Musterlösung

Algorithmen und Datenstrukturen in der Bioinformatik Viertes Übungsblatt WS 05/06 Musterlösung Konstantin Clemens Johanna Ploog Freie Universität Berlin Institut für Mathematik II Arbeitsgruppe für Mathematik in den Lebenswissenschaften Algorithmen und Datenstrukturen in der Bioinformatik Viertes

Mehr

Perlen der Informatik I Wintersemester 2012 Aufgabenblatt 7

Perlen der Informatik I Wintersemester 2012 Aufgabenblatt 7 Technische Universität München WS 2012 Institut für Informatik Prof. Dr. H.-J. Bungartz Prof. Dr. T. Huckle Prof. Dr. M. Bader Kristof Unterweger Perlen der Informatik I Wintersemester 2012 Aufgabenblatt

Mehr

Alignment-Verfahren zum Vergleich biologischer Sequenzen

Alignment-Verfahren zum Vergleich biologischer Sequenzen zum Vergleich biologischer Sequenzen Hans-Joachim Böckenhauer Dennis Komm Volkshochschule Zürich. April Ein biologisches Problem Fragestellung Finde eine Methode zum Vergleich von DNA-Molekülen oder Proteinen

Mehr

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1 Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1 Aufgabe 1. / 16 P Instruktionen: 1) In dieser Aufgabe sollen Sie nur die Ergebnisse angeben. Diese können Sie direkt bei den Aufgaben notieren. 2) Sofern

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

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

Electronic Design Automation (EDA) Technology Mapping

Electronic Design Automation (EDA) Technology Mapping Electronic Design Automation (EDA) Technology Mapping Überblick digitale Synthese Technology Mapping Abbildung durch die Abdeckung eines Baumes Partitionierung des DAG Dekomposition und Abdeckung Beispiel

Mehr

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität Datenstrukturen und Algorithmen Christian Sohler FG Algorithmen & Komplexität 1 Clustering: Partitioniere Objektmenge in Gruppen(Cluster), so dass sich Objekte in einer Gruppe ähnlich sind und Objekte

Mehr

Dynamisches Huffman-Verfahren

Dynamisches Huffman-Verfahren Dynamisches Huffman-Verfahren - Adaptive Huffman Coding - von Michael Brückner 1. Einleitung 2. Der Huffman-Algorithmus 3. Übergang zu einem dynamischen Verfahren 4. Der FGK-Algorithmus 5. Überblick über

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

Phylogenetik. Vorlesung Einführung in die Angewandte Bioinformatik Prof. Dr. Sven Rahmann. Webseite zur Vorlesung

Phylogenetik. Vorlesung Einführung in die Angewandte Bioinformatik Prof. Dr. Sven Rahmann. Webseite zur Vorlesung Phylogenetik Vorlesung Einführung in die Angewandte Bioinformatik Prof. Dr. Sven Rahmann Webseite zur Vorlesung http://bioinfo.wikidot.com/ Sprechstunde Mo 16-17 in OH14, R214 Sven.Rahmann -at- tu-dortmund.de

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2007 11. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Das Rucksack-Problem Ein Dieb, der einen Safe

Mehr

Bioinformatik. Lokale Alignierung Gapkosten. Silke Trißl / Ulf Leser Wissensmanagement in der. Bioinformatik

Bioinformatik. Lokale Alignierung Gapkosten. Silke Trißl / Ulf Leser Wissensmanagement in der. Bioinformatik Bioinformatik Lokale Alignierung Gapkosten Silke Trißl / Ulf Leser Wissensmanagement in der Bioinformatik Inhalt dieser Vorlesung Ähnlichkeit Lokales und globales Alignment Gapped Alignment Silke Trißl:

Mehr

7. Sortieren Lernziele. 7. Sortieren

7. Sortieren Lernziele. 7. Sortieren 7. Sortieren Lernziele 7. Sortieren Lernziele: Die wichtigsten Sortierverfahren kennen und einsetzen können, Aufwand und weitere Eigenschaften der Sortierverfahren kennen, das Problemlösungsparadigma Teile-und-herrsche

Mehr

Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem

Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem Andreas Moser Dietmar Ebner Christian Schauer Markus Bauer 9. Dezember 2003 1 Einführung Der in der Vorlesung gezeigte Algorithmus für das Steiner

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen VO 708.031 Um was geht es? Datenstrukturen Algorithmen Algorithmus Versuch einer Erklärung: Ein Algorithmus nimmt bestimmte Daten als Input und transformiert diese nach festen

Mehr

Verbesserungsheuristiken

Verbesserungsheuristiken Verbesserungsheuristiken Bestandteile der Lokalen Suche Für schwierige Optimierungsaufgaben haben Verbesserungsheuristiken eine große praktische Bedeutung. Sie starten mit Ausgangslösungen, die von z.b.

Mehr

4. Lernen von Entscheidungsbäumen

4. Lernen von Entscheidungsbäumen 4. Lernen von Entscheidungsbäumen Entscheidungsbäume 4. Lernen von Entscheidungsbäumen Gegeben sei eine Menge von Objekten, die durch Attribut/Wert- Paare beschrieben sind. Jedes Objekt kann einer Klasse

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Graphen (1) Darstellung Traversierung Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 441 Generalisierung von Bäumen Verallgemeinerung (von Listen zu Graphen)

Mehr

Bioinformatik für Lebenswissenschaftler

Bioinformatik für Lebenswissenschaftler Bioinformatik für Lebenswissenschaftler Oliver Kohlbacher, Steffen Schmidt SS 2010 11. Hiden Markov Models & Phylogenien Abt. Simulation biologischer Systeme WSI/ZBIT, Eberhard Karls Universität Tübingen

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

Bayesianische Netzwerke - Lernen und Inferenz

Bayesianische Netzwerke - Lernen und Inferenz Bayesianische Netzwerke - Lernen und Inferenz Manuela Hummel 9. Mai 2003 Gliederung 1. Allgemeines 2. Bayesianische Netzwerke zur Auswertung von Genexpressionsdaten 3. Automatische Modellselektion 4. Beispiel

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2009 11. Vorlesung Uwe Quasthoff Universität Leipzig Institut für Informatik quasthoff@informatik.uni-leipzig.de Das Rucksack-Problem Ein Dieb, der einen

Mehr

16. November 2011 Zentralitätsmaße. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 87

16. November 2011 Zentralitätsmaße. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 87 16. November 2011 Zentralitätsmaße H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 87 Darstellung in spektraler Form Zentralität genügt Ax = κ 1 x (Herleitung s. Tafel), daher ist x der Eigenvektor

Mehr

11. GRAPHEN 3 FLÜSSE UND SPANNBÄUME

11. GRAPHEN 3 FLÜSSE UND SPANNBÄUME Algorithmen und Datenstrukturen 11. GRAPHEN 3 FLÜSSE UND SPANNBÄUME Algorithmen und Datenstrukturen - Ma5hias Thimm (thimm@uni-koblenz.de) 1 Algorithmen und Datenstrukturen 11.1. BERECHNUNG MAXIMALER FLÜSSE

Mehr

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de Datenbankanwendung Wintersemester 2014/15 Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern smichel@cs.uni-kl.de Wiederholung: Anfragegraph Anfragen dieses Typs können als Graph dargestellt werden: Der

Mehr

Homologie und Sequenzähnlichkeit. Prof. Dr. Antje Krause FH Bingen 06721 / 409 253 akrause@fh-bingen.de

Homologie und Sequenzähnlichkeit. Prof. Dr. Antje Krause FH Bingen 06721 / 409 253 akrause@fh-bingen.de Homologie und Sequenzähnlichkeit Prof. Dr. Antje Krause FH Bingen 06721 / 409 253 akrause@fh-bingen.de Homologie Verwandtschaft aufgrund gleicher Abstammung basiert auf Speziation (Artbildung): aus einer

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Heaps Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 469 Prioritätswarteschlange Problem Häufig ist das Prinzip einer einfachen Warteschlangen-Datenstruktur

Mehr

Der Branching-Operator B

Der Branching-Operator B Branching 1 / 17 Der Branching-Operator B Unser Ziel: Löse das allgemeine Minimierungsproblem minimiere f (x), so dass Lösung(x). B zerlegt eine Menge von Lösungen in disjunkte Teilmengen. Die wiederholte

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

Programmierkurs Python II

Programmierkurs Python II Programmierkurs Python II Stefan Thater & Michaela Regneri Universität des Saarlandes FR 4.7 Allgemeine Linguistik (Computerlinguistik) Übersicht Topologische Sortierung (einfach) Kürzeste Wege finden

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

Algorithmische Bioinformatik

Algorithmische Bioinformatik Algorithmische Bioinformatik Effiziente Berechnung des Editabstands Dynamische Programmierung Ulf Leser Wissensmanagement in der Bioinformatik Inhalt dieser Vorlesung Rekursive Definition des Editabstands

Mehr

Bioinformatik Für Biophysiker

Bioinformatik Für Biophysiker Bioinformatik Für Biophysiker Wintersemester 2005 / 2006 Ulf Leser Wissensmanagement in der Bioinformatik Wissensmanagement in der Bioinformatik Lehrstuhl seit 10/2002 Schwerpunkte Algorithmen der Bioinformatik

Mehr

3. Übungsblatt zu Algorithmen I im SoSe 2017

3. Übungsblatt zu Algorithmen I im SoSe 2017 Karlsruher Institut für Technologie Prof. Dr. Jörn Müller-Quade Institut für Theoretische Informatik Björn Kaidel, Sebastian Schlag, Sascha Witt 3. Übungsblatt zu Algorithmen I im SoSe 2017 http://crypto.iti.kit.edu/index.php?id=799

Mehr

2.3 Logikoptimierung. Überblick digitale Synthese. Logikoptimierung

2.3 Logikoptimierung. Überblick digitale Synthese. Logikoptimierung 2.3 Logikoptimierung Logikoptimierung Überblick digitale Synthese Logikoptimierung Begriffe Mehrstufige Logik Zweistufige Logik:..Exakte Verfahen..Heuristische Verfahren..Expansion/ Reduktion..Streichen

Mehr

Algorithmen und Datenstrukturen 1 VL Übungstest WS Januar 2011

Algorithmen und Datenstrukturen 1 VL Übungstest WS Januar 2011 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 2. Übungstest WS 2010 14. Januar

Mehr

Algorithmen und Datenstrukturen 1

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen 1 8. Vorlesung Martin Middendorf und Peter F. Stadler Universität Leipzig Institut für Informatik middendorf@informatik.uni-leipzig.de studla@bioinf.uni-leipzig.de Gefädelte

Mehr

Algorithmische Bioinformatik 1

Algorithmische Bioinformatik 1 Algorithmische Bioinformatik 1 Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2009 Übersicht Algorithmen

Mehr

Datenstrukturen und Algorithmen

Datenstrukturen und Algorithmen Datenstrukturen und Algorithmen VO INF.02031UF (2-4)-Bäume robert.legenstein@igi.tugraz.at 1 7. Bäume Bäume als Datenstruktur Binärbäume Balancierte Bäume (2-4)-Bäume Anwendung: Mischbare Warteschlangen

Mehr

Teil 2: Graphenalgorithmen

Teil 2: Graphenalgorithmen Teil : Graphenalgorithmen Anwendungen Definitionen Datenstrukturen für Graphen Elementare Algorithmen Topologisches Sortieren Kürzeste Wege Problemstellung Ungewichtete Graphen Distanzgraphen Gewichtete

Mehr

Muster. Informatik 3 (Februar 2004) Name: Matrikelnummer: Betrachten Sie den folgenden Suchbaum. A G H J K M N

Muster. Informatik 3 (Februar 2004) Name: Matrikelnummer: Betrachten Sie den folgenden Suchbaum. A G H J K M N 2 von 15 Aufgabe 1: Suchbäume (14 ) Betrachten Sie den folgenden Suchbaum. A B C D E F G H I J K L M N O P R (a) (1 Punkt ) Geben Sie die Höhe des Knotens F an. (b) (1 Punkt ) Geben Sie die Tiefe des Knotens

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

a) Fügen Sie die Zahlen 39, 38, 37 und 36 in folgenden (2, 3)-Baum ein:

a) Fügen Sie die Zahlen 39, 38, 37 und 36 in folgenden (2, 3)-Baum ein: 1 Aufgabe 8.1 (P) (2, 3)-Baum a) Fügen Sie die Zahlen 39, 38, 37 und 36 in folgenden (2, 3)-Baum ein: Zeichnen Sie, was in jedem Schritt passiert. b) Löschen Sie die Zahlen 65, 70 und 100 aus folgendem

Mehr

Seminar: Randomisierte Algorithmen Auswerten von Spielbäumen Nele Küsener

Seminar: Randomisierte Algorithmen Auswerten von Spielbäumen Nele Küsener Seminar: Randomisierte Algorithmen Auswerten von Sielbäumen Nele Küsener In diesem Vortrag wird die Laufzeit von Las-Vegas-Algorithmen analysiert. Das Ergebnis ist eine obere und eine untere Schranke für

Mehr

Konstruktions-Verbesserungsheuristiken. Iterierte lokale Suche (ILS)

Konstruktions-Verbesserungsheuristiken. Iterierte lokale Suche (ILS) Konstruktions-Verbesserungsheuristiken Iterierte lokale Suche (ILS) Idee: 2-Phasen-Suche 1. Phase: Randomisierte Konstruktionsheuristik 2. Phase: Lokale Suche Beispiele: Multi-Start lokale Suche GRASP:

Mehr

Bioinformatik. Substitutionsmatrizen BLAST. Ulf Leser Wissensmanagement in der. Bioinformatik

Bioinformatik. Substitutionsmatrizen BLAST. Ulf Leser Wissensmanagement in der. Bioinformatik Bioinformatik Substitutionsmatrizen BLAST Ulf Leser Wissensmanagement in der Bioinformatik Inhalt dieser Vorlesung Substitutionsmatrizen: PAM und BLOSSUM Suche in Datenbanken: Basic Local Alignment Search

Mehr

Einführung in die Angewandte Bioinformatik: Phylogenetik und Taxonomie

Einführung in die Angewandte Bioinformatik: Phylogenetik und Taxonomie Einführung in die Angewandte Bioinformatik: Phylogenetik und Taxonomie 24.06.2010 Prof. Dr. Sven Rahmann 1 Phylogenetik: Berechnung phylogenetischer Bäume Phylogenetik (phylum = Stamm): Rekonstruktion

Mehr

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum

Mehr

Aufgabenblatt 5. Silke Trißl Wissensmanagement in der Bioinformatik

Aufgabenblatt 5. Silke Trißl Wissensmanagement in der Bioinformatik Aufgabenblatt 5 Silke Trißl Wissensmanagement in der Bioinformatik Zuerst! FRAGEN? Silke Trißl: Bioinformatik für Biophysiker 2 Exercise 1 + 2 Modify program to compare protein sequence read substitution

Mehr

Datenstrukturen und Algorithmen D-INFK

Datenstrukturen und Algorithmen D-INFK 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 Peter Widmayer

Mehr

Gleichheit, Ähnlichkeit, Homologie

Gleichheit, Ähnlichkeit, Homologie Gleichheit, Ähnlichkeit, Homologie Identität (identity) Verhältnis der Anzahl identischer Aminosäuren zur Gesamtzahl der Aminosäuren; objektiv Ähnlichkeit (similarity) Verhältnis ähnlicher Aminosäuren

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

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

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung Informatik 2 Algorithmen und Datenstrukturen Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 - Balancierte Bäume, AVL-Bäume) Prof. Dr. Susanne Albers Balancierte Bäume Eine Klasse von binären Suchbäumen ist balanciert, wenn jede der drei

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen

Mehr

TU München. Hauptseminar: WS 2002 / Einführung in Suffix - Bäume

TU München. Hauptseminar: WS 2002 / Einführung in Suffix - Bäume TU München Hauptseminar: WS 2002 / 2003 Einführung in Suffix - Bäume Bearbeiterin: Shasha Meng Betreuerin: Barbara König Inhalt 1. Einleitung 1.1 Motivation 1.2 Eine kurze Geschichte 2. Tries 2.1 Basisdefinition

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

9. Heuristische Suche

9. Heuristische Suche 9. Heuristische Suche Prof. Dr. Rudolf Kruse University of Magdeburg Faculty of Computer Science Magdeburg, Germany rudolf.kruse@cs.uni-magdeburg.de S Heuristische Suche Idee: Wir nutzen eine (heuristische)

Mehr

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

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung Gliederung der Vorlesung. Fallstudie Bipartite Graphen. Grundbegriffe 3. Elementare Graphalgorithmen und Anwendungen 4. Minimal spannende Bäume 5. Kürzeste Pfade 6. Traveling Salesman Problem 7. Flüsse

Mehr

1 Zahlentheorie. 1.1 Kongruenzen

1 Zahlentheorie. 1.1 Kongruenzen 3 Zahlentheorie. Kongruenzen Der letzte Abschnitt zeigte, daß es sinnvoll ist, mit großen Zahlen möglichst einfach rechnen zu können. Oft kommt es nicht darauf, an eine Zahl im Detail zu kennen, sondern

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Graphdarstellungen Maike Buchin 0.6.017 Graphen Motivation: Graphen treten häufig als Abstraktion von Objekten (Knoten) und ihren Beziehungen (Kanten) auf. Beispiele: soziale

Mehr

Datenstrukturen Teil 2. Bäume. Definition. Definition. Definition. Bäume sind verallgemeinerte Listen. Sie sind weiter spezielle Graphen

Datenstrukturen Teil 2. Bäume. Definition. Definition. Definition. Bäume sind verallgemeinerte Listen. Sie sind weiter spezielle Graphen Bäume sind verallgemeinerte Listen Datenstrukturen Teil 2 Bäume Jeder Knoten kann mehrere Nachfolger haben Sie sind weiter spezielle Graphen Graphen bestehen aus Knoten und Kanten Kanten können gerichtet

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Dynamische Programmierung Einführung Ablaufkoordination von Montagebändern Längste gemeinsame Teilsequenz Optimale

Mehr

Vorlesung 4 BETWEENNESS CENTRALITY

Vorlesung 4 BETWEENNESS CENTRALITY Vorlesung 4 BETWEENNESS CENTRALITY 101 Aufgabe! Szenario: Sie arbeiten bei einem sozialen Online-Netzwerk. Aus der Netzwerk-Struktur Ihrer Benutzer sollen Sie wichtige Eigenschaften extrahieren. [http://www.fahrschule-vatterodt.de/

Mehr

Relationen und Graphentheorie

Relationen und Graphentheorie Seite Graphentheorie- Relationen und Graphentheorie Grundbegriffe. Relationen- und Graphentheorie gehören zu den wichtigsten Hilfsmitteln der Informatik, die aus der diskretenmathematik stammen. Ein Graph

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 2010

Mehr

Wissensbasierte Systeme. Kombinatorische Explosion und die Notwendigkeit Heuristischer Suche. Heuristiken und ihre Eigenschaften

Wissensbasierte Systeme. Kombinatorische Explosion und die Notwendigkeit Heuristischer Suche. Heuristiken und ihre Eigenschaften 1 Michael Beetz Technische Universität München Wintersemester 2004/05 Kombinatorische Explosion und die Notwendigkeit Heuristischer Suche 2 3 der Eigenschaften der 4 : 8-Puzzle 5 Heuristiken und ihre Eigenschaften

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

Maschinelles Lernen: Symbolische Ansätze

Maschinelles Lernen: Symbolische Ansätze Maschinelles Lernen: Symbolische Ansätze Musterlösung für das 7. Übungsblatt Aufgabe 1 Gegeben sei folgende Beispielmenge: Day Outlook Temperature Humidity Wind PlayTennis D1? Hot High Weak No D2 Sunny

Mehr

Mathematische Grundlagen der dynamischen Simulation

Mathematische Grundlagen der dynamischen Simulation Mathematische Grundlagen der dynamischen Simulation Dynamische Systeme sind Systeme, die sich verändern. Es geht dabei um eine zeitliche Entwicklung und wie immer in der Informatik betrachten wir dabei

Mehr

Wiederholung. Bäume sind zyklenfrei. Rekursive Definition: Baum = Wurzelknoten + disjunkte Menge von Kindbäumen.

Wiederholung. Bäume sind zyklenfrei. Rekursive Definition: Baum = Wurzelknoten + disjunkte Menge von Kindbäumen. Wiederholung Baum: Gerichteter Graph, der die folgenden drei Bedingungen erfüllt: Es gibt einen Knoten, der nicht Endknoten einer Kante ist. (Dieser Knoten heißt Wurzel des Baums.) Jeder andere Knoten

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

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 12, Henning Meyerhenke

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 12, Henning Meyerhenke Algorithmische Methoden zur Netzwerkanalyse Vorlesung 12, 25.01.2012 Henning Meyerhenke 1 KIT Henning Universität desmeyerhenke: Landes Baden-Württemberg und nationales Algorithmische Forschungszentrum

Mehr

Die Theorie der Toleranzen und deren Anwendung auf das Traveling Salesman Problem

Die Theorie der Toleranzen und deren Anwendung auf das Traveling Salesman Problem Die Theorie der Toleranzen und deren Anwendung auf das Traveling Salesman Problem Gerold Jäger 4. Februar 2010 Gerold Jäger Theorie der Toleranzen 4. Februar 2010 1 / 35 Überblick 1 Theorie der Toleranzen

Mehr

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am 0..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

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 2 Übung zur Vorlesung Grundlagen: Datenbanken im WS3/4 Henrik Mühe (muehe@in.tum.de) http://www-db.in.tum.de/teaching/ws34/dbsys/exercises/

Mehr

Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,...

Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,... Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,..., k, so dass gilt M = k c i P i i=1 k c i = r. i=1 Diskrete Strukturen 7.1 Matchings

Mehr

Ihre Namen: Übung C: Phylogenetik I: Übungsaufgaben

Ihre Namen: Übung C: Phylogenetik I: Übungsaufgaben Ihre Namen: Übung C: Phylogenetik I: Übungsaufgaben Die heutige Übung dient dazu, phylogenetische Bäume für Sie verständlicher zu machen und Sie mit der Logik von phylogenetischen Analysen vertraut zu

Mehr

Der Alpha-Beta-Algorithmus

Der Alpha-Beta-Algorithmus Der Alpha-Beta-Algorithmus Maria Hartmann 19. Mai 2017 1 Einführung Wir wollen für bestimmte Spiele algorithmisch die optimale Spielstrategie finden, also die Strategie, die für den betrachteten Spieler

Mehr

Hauptseminar Repräsentationen für Optimierungsalgorithmen

Hauptseminar Repräsentationen für Optimierungsalgorithmen Stefan Bens Hauptseminar Dresden, 03.07.2008 Inhalt 1. Motivation 2. Einleitung 3. Repräsentationsarten und Eigenschaften 4. Beispiel 5. Zusammenfassung Folie 2 Als Repräsentation bezeichnet man die Kodierung

Mehr