Sequence Assembly. Nicola Palandt

Größe: px
Ab Seite anzeigen:

Download "Sequence Assembly. Nicola Palandt"

Transkript

1 Sequence Assembly Nicola Palandt 1 Einleitung Das Genom eines Lebewesens ist der Träger aller Informationen, die eine Zelle weitergeben kann. Es besteht aus Sequenzen, die mehrere Milliarden Basen lang sein können. Um das Genom entschlüsseln zu können, müssen wir zuerst die Abfolge der Basen herausfinden. Mit den herkömmlichen Methoden ist es nur möglich, Sequenzen von Basen an einem Stück zu entschlüsseln, daher müssen größere Sequenzen in kleinere Stücke zerlegt werden, die sequenziert werden können. Anschließend müssen diese Fragmente wieder zusammengefügt werden, das nennt man Sequenz Assembly. Das Shotgun-Prinzip ist eine Methode, um ganze Genome zu sequenzieren. Hier wird die DNA per Zufall in kurze Fragmente zerlegt. Nachdem die einzelnen Sequenzen entschlüsselt wurden, ist es nicht mehr so einfach, die einzelnen Fragmente wieder zusammenzufügen, da die Target-Sequenz per Zufall zerstückelt wurde. Im Folgenden wollen wir uns damit beschäftigen, Methoden vorzustellen, die diese Fragmente richtig zusammenzusetzen. 2 Probleme Bevor wir beginnen, aus den Fragmenten, die wir durch unsere Shotgun-Sequenzierung erhalten haben, die ursprüngliche DNA-Sequenz zu rekonstruieren, müssen wir uns auf mögliche Probleme vorbereiten. Der einfachste Fehler, der uns begegnen kann, ist der Base Call Error. Bei diesem Fehler handelt es sich um Substitutionen, Insertionen und Deletionen, die beim Vervielfältigen der DNA auftauchen können. Unser Algorithmus muss in der Lage sein, solche Fehler zu erkennen. Durch das Einfügen von Lücken in die jeweiligen Fragmente muss er trotzdem die richtige Consensussequenz bestimmen können. Ein größeres Problem hierbei sind die sogenannten Chimeric Fragments oder auch Chimeras, sie entstehen vor dem Sequenzieren durch die Verbindung zweier Fragmente aus unterschiedlichen Teilen der Target-DNA. Diese Sequenzen müssen vor dem eigentlichen Algorithmus erkannt und aus dem Fragmentsatz entfernt werden. 1

2 Chimeras sind nicht die einzigen Fragmente, die vorzeitig erkannt und entfernt werden müssen. Da die DNA vor dem Sequenzieren vervielfältigt werden muss und hierbei in Vektoren geschleust wird, kann es sein, dass manche Fragmente nicht vom Target, sondern vom Vektor stammen. Dieses Problem lässt sich jedoch einfach lösen: Da wir die Vektor-DNA kennen, können wir alle Fragmente mit der Vektor-DNA vergleichen, gleiche Fragmente werden dann entfernt. Wenn wir uns die DNA anschauen, stoßen wir auf ein weiteres Problem. Die DNA besteht aus einem Doppelstrang, das bedeutet, wir haben den Target-Strang, den wir rekonstruieren wollen, und wir haben den Template-Strang, der komplementär revers ist. Wenn wir ein Fragment aus unserem Fragmentsatz nehmen, wissen wir nicht, ob er zum Target- oder zum Template-Strang gehört. Würden wir nur die Fragmente so wie sie sequenziert wurden betrachten, könnte es sein, dass zwei Fragmente, die eigentlich eine große Überlappung haben, von unserem Algorithmus nicht überlappt werden würden, falls eines vom komplementären Strang ist. Daher muss unser Algorithmus immer schauen, ob die Überlappung besser ist, wenn eins der Fragmente revers komplementär ist. Hierbei reicht es bei zwei Fragmenten, wenn eine Sequenz umgedreht wird, denn drehen wir beide um kommen wir auf dasselbe Ergebnis wie wenn wir keines umdrehen. Kommen wir nun zu dem größten Problem auf welches wir stoßen werden, wenn wir versuchen unsere Bruchstücke zusammenzubauen: Die repetitiven Regionen. In einem Genom gibt es Sequenzen, die mehrmals hintereinander wiederholt werden. Zwischen diesen Wiederholungen sind jedoch z.t. andere Sequenzen. Wenn nun das Fragment nicht über den ganzen Repeat hinaus reicht, kann das zu verschiedenen Problemen führen. Zum einen kann es vorkommen, dass die Zwischenstücke zwischen den Repeats vertauscht werden, da wir nicht erkennen können, zu welcher Wiederholung ein Fragment gehört. Des Weiteren kann es einem schlechten Algorithmus passieren, dass er ein Fragment, dessen Sequenz vollständig im Repeat liegt, einem anderen Repeat zuordnet und somit das Stück, zu dem es gehört, verkürzt wird. Außerdem kann es vorkommen, dass eine Sequenz und ihr revers komplementäres Stück in einigem Abstand im Genom vorhanden sind. In einem solchen Fall kann es passieren, dass der Algorithmus die dazwischenliegende Sequenz um 180 dreht. Solche Probleme sind für einen Algorithmus schwer zu bewältigen, da wir selbst von Hand nicht unbedingt auf das richtige Ergebnis schließen können. Zum Schluss noch ein Problem, welches das Shotgunprinzip mit sich bringt, und das unser Algorithmus zwar nicht lösen, jedoch erkennen sollte: Die fehlende Coverage. Wenn man das Genom per Zufall in einzelne Fragmente teilt und diese sequenziert, ist es möglich, dass es Stellen gibt, für welche kein Fragment, oder zu wenige Fragmente vorhanden sind. An diesen Stellen ist es nicht möglich die Consensussequenz richtig zu bilden, da die zugehörigen Fragmente zum Aufdecken fehlen. Unser Algorithmus kann in einem solchen Fall nicht das ganze Assembly zurückgeben, aber er muss die fehlende Coverage feststellen und die Fragmente in Contigs aufteilen. 2

3 Ein Contig ist ein Bereich, der ohne fehlende Sequenz aufgedeckt werden kann. Um schlussendlich diese Lücken zwischen den Contigs zu schließen gibt es mehrere Methoden, auf die wir jedoch nicht weiter eingehen werden. Diese Problem zeigen jedoch, wie wichtig es ist, möglichst viele Fragmente zu haben, damit es gar nicht zu einer fehlenden Coverage kommt. Modelle Nachdem wir nun wissen, welche Probleme uns beim Sequenz Assembly begegnen können, wollen wir uns nun drei verschiedene Ansätze zum Lösen dieser Probleme anschauen..1 Shortest Common Superstring Die einfachste und naivste Variante unser Assembly zu lösen, ist aus den vorhandenen Fragmenten den kürzest möglichen String zu bauen, der alle Fragmente als Substring enthält, diesen nennen wir Superstring. Hierbei übergeben wir unserem Modell unseren Fragmentsatz, und dieses gibt uns den kürzest möglichen Superstring aus diesen Fragmenten zurück. Das funktioniert wie folgt: Stimmt der Suffix eines Fragments mit dem Präfix eines anderen überein, können wir die beiden Sequenzen zu einem Superstring zusammenfassen, indem wir die übereinstimmenden Basen überlappen. Aufgrund des Ziels dieses Modells wird hierbei meist automatisch die größte Überlappung zwischen den Fragmenten genommen, da so der String möglichst kurz bleibt. Diese Überlappung ist auch die wahrscheinlichste, denn je länger die Überlappung ist, desto mehr Kombinationsmöglichkeiten gibt es für die Basen, wodurch die Wahrscheinlichkeit, dass die gegebene Kombination zufällig ist, sinkt. Wenn wir uns aber das Modell genauer anschauen, merken wir schnell, dass der Shortest Common Superstring auf keines der Probleme eingeht, welche oben genannt wurden. Dieses Modell ist weder in der Lage einen Base Call Error festzustellen, noch kann es mit Repeats umgehen..2 Reconstruction Der nächste Schritt zur Lösung des Problems ist die Reconstruction, hier nehmen wir einen weiteren Parameter ε hinzu. ε ist ein Wert zwischen 0 und 1 und gibt die Fehlertoleranz an. Diese zeigt an, welchen Anteil an Fehler wir in unserer Sequenz erlauben. Ein Fragment f aus unserem Fragmentsatz F mit der Länge f darf maximal ε* f Fehler enthalten. Wir können demnach zur besseren Übereinstimmung von Fragmenten Lücken in unsere Sequenz einfügen, wobei gelten muss: min{d s (f, S), d s ( f, s) ε f }

4 Hierbei ist f ein Substring des zu konstruierenden Superstrings S, f das revers komplementäre von f und d s ist die Anzahl der Lücken die eingefügt werden. Zusätzlich wird bei diesem Modell überprüft, ob das Fragment, oder sein revers komplementäres Gegenstück besser passt. Wenn dem Modell ein Fragmentsatz und ein ε übergeben werden bekommen wir den kürzest möglichen Superstring zurück, wobei in jedem f in S maximal ε* f Lücken vorhanden sein können und es komplementär revers sein kann. Bei diesem Modell können wir die Probleme des Base Call Errors lösen und auch auf die unbekannte Richtung der Fragmente wird eingegangen, dennoch ist es nicht möglich mit der Reconstruction Repeats richtig zu erkennen.. Multicontig Das dritte Modell zum Sequenz Assembly ist eine Verbesserung der Reconstruction. Beim sogenannten Multicontig geht es nicht darum, den kürzest möglichen String zu erlangen, sondern wir versuchen die beste Verbindung der Fragmente zu bekommen. Das bedeutet wir wollen keine Überlappungen, die zu klein sind, da diese auch zufällig auftreten können. Um das zu gewährleisten, benötigen wir einen weiteren Parameter t. Dieser Parameter gibt an, wie groß die Überlappung mindestens sein muss, kleinere werden verworfen. Das Modell versucht aus allen Fragmenten ein Contig zu bilden, so dass die kleinste Überlappung mindestens so groß wie t ist. Dieses Contig nennen wir t-contig. Ist dies nicht möglich, wird der Fragmentsatz aufgespalten. Dies geschieht so lange bis wir aus allen Fragmentsätzen t-contigs machen können. Die Tatsache, dass wir hier, im Gegensatz zur Reconstruction, mehr als ein Contig haben können, gibt unserem Modell den Namen Multicontig. Wir dürfen jedoch nicht vergessen, dass wir zusätzlich zu unserem Parameter t wie bei der Reconstruction den Parameter ε haben, der uns eine gewisse Fehlertoleranz erlaubt. Doch wie genau funktioniert dieses Modell? Wir übergeben dem Multicontig-Modell unseren Satz an Fragmenten, einen Wert für t und einen Wert für ε. Als erstes sucht unser Modell nach Überlappungen, die größer als t sind, wobei jedes Fragment ε* f Fehler bzw. Lücken enthalten kann. Hierbei darf nicht vergessen werden, dass wir auch die komplementär reversen Fragmente prüfen müssen, wobei jeweils nur das Fragment oder sein revers komplementäres verwendet werden darf. Anschließend erstellen wir ein Layout aus den Fragmenten. Für das Layout legen wir alle Fragmente, die wir miteinander überlappen können, zu einem Cluster zusammen, sie bilden ein t-contig. Dank dieser Vorarbeit ist es anschließend nicht mehr schwer ein Multiples Alignment, mit dessen Hilfe wir die Consensus-Sequenz bestimmen können, zu berechnen. Das Multicontig-Modell geht auf alle Probleme ein, die unser Algorithmus bewältigen können sollte. Es hat eine Fehlertoleranz und geht somit auf den Base-Call-Error

5 ein, es findet fehlende Coverage, indem es mehrere t-contigs bildet, schaut sich sowohl das Fragment als auch sein komplementär reverses an und es kann sogar teilweise Repeats erkennen, da es nach der besten Überlappungen und nicht nach dem kürzesten String sucht. Algorithmen Nachdem wir jetzt verschiedene Modelle kennengelernt haben, wollen wir aus diesen Modellen Algorithmen bauen, die unser Assembly lösen können. Es gibt zwei Algorithmen für das Sequenz Assembly, die hier vorgestellt werden. TTATGC 1 2 TGCAAA 5 AAATATG TATGCA Figur 1: Überlappungsgraph Vorweg kann gesagt werden, dass die Algorithmen zum bessern Verständnis Überlappungsgraphen verwenden, um die Überlappungen zwischen den Sequenzen darzustellen. Ein Beispiel hierzu findet man in Figur 1. Jeder Knoten des Graphen hat jeweils ein Fragment aus unserem Fragmentsatz. Gibt es eine Überlappung zwischen den Fragmenten, sind die Knoten durch Kanten verbunden. Das bedeutet, wenn der Suffix des Knoten, von dem die Kante ausgeht gleich dem Präfix des Knoten, in den die Kante eingeht, ist, ist eine Überlappung vorhanden. Dabei zeigt das Gewicht der Kante die Länge der Überlappung an. Ist keine Überlappung vorhanden, sind die Knoten mit Kanten vom Gewicht null verbunden. Diese Kanten sind jedoch in Figur 1 nicht eingezeichnet..1 Greedy-Algorithmus Der erste Algorithmus basiert auf dem Shortest Common Superstring Modell. Der Greedy-Algorithmus setzt dieses Modell um, indem er einen Hamiltonpfad durch den Graph sucht, der die schwersten Kanten verwendet. Ein Hamiltonpfad ist ein Pfad durch den Graph, bei dem jeder Knoten genau einmal benutzt wird. Dadurch stellen wir sicher, dass kein Fragment zweimal in der Consensussequenz vorkommt. Wichtig ist außerdem für unseren Hamiltonpfad, dass keine Sequenz im Graphen der 5

6 Substring einer anderen Sequenz ist, denn da jeder Knoten nur einmal verwendet wird, kann durch Substrings die Consensussequenz verfälscht werden. Aus diesem Grund ist es wichtig, die Sequenzen, die Substrings sind, vorher aus dem Fragmentsatz zu entfernen. Der Algorithmus erfüllt seine Aufgabe, indem er sich zunächst den Knoten mit der schwersten ausgehenden Kante sucht. Von diesem Knoten ausgehend folgen wir immer der schwersten Kante, wobei aufgepasst werden muss, dass wir keinen Knoten doppelt benutzen oder einen Zyklus bilden. Im Beispiel aus Figur 1 würden wir bei Knoten 1 starten, da er mit dem Gewicht 5 die schwerste ausgehende Kante besitzt. Folgen wir weiter den schwersten Kanten, bekommen wir die Folge 1,, 2,, welche folgende Consensussequenz ergeben würde: TTATGCAAATATG. Schauen wir uns das Beispiel genauer an, erkennen wir, dass dies auch der kürzeste Superstring aus den Fragmenten ist. Wenn wir diesen Algorithmus implementieren wollen, können wir das auch ohne einen Graphen zu erstellen. In diesem Fall suchen wir uns die beiden Fragmente mit der größten Überlappung und bilden ihren Superstring. Der Superstring wird dem Fragmentsatz hinzugefügt während die Fragmente, aus denen der Superstring besteht aus dem Satz entfernt werden. Diese Schritte werden so oft wiederholt, bis nur noch ein String übrig ist. Doch wie das Modell des Shortest Common Superstring schon gezeigt hat, ist der Greedy-Algorithmus noch nicht die optimale Lösung für unser Problem, insbesondere da er weder die fehlende Coverage findet noch Repeats erkennt..2 Azyklische Subgraphen Die beste Lösung für das Sequenz Assembly hat das Multicontig-Modell zu bieten, deshalb basiert der zweite Algorithmus darauf. Hier wird der Überlappungsgraph in Subgraphen unterteilt, die den t-contigs ähneln. In diesen Subgraphen sollen keine Zyklen vorhanden sein, weshalb sie azyklische Subgraphen genannt werden. Bei diesem Algorithmus gibt es die Parameter t und ε. Durch das t gibt es in einem azyklischen Subgraphen nur Kanten, die gleich schwer oder schwerer sind als t. Bei einer Überlappung darf auch hier jedes Fragment f maximal ε* f Fehler enthalten. Da nicht jeder Knoten mit jedem anderen Knoten verbunden ist wie beim Überlappungsgraphen des Greedy-Algorithmus, kann es sein, dass sich kein zusammenhängender Graph bildet. Die einzelnen Subgraphen bilden in diesem Fall entsprechend die einzelnen t-contigs. Parallel zum Greedy-Algorithmus wird auch hier ein Hamiltonpfad durch den Subgraph gesucht, denn es soll kein Knoten doppelt vorkommen. Auch hier werden die schweren Kante bevorzugt, doch da es keine Kanten mit einem Gewicht < t gibt, kann nicht immer die schwerste Kante genommen werden, um einen Hamitonpfad zu erlangen. 6

7 Kann dieser Algorithmus auch Repeats erkennen? Die Azyklischen Subgraphen können Repeats mithilfe des Graphen erkennen, denn wenn es einen Zyklus in einem Überlappungsgraphen gibt, gibt es immer einen Repeat der mindestens t Buchstaben lang ist. Wenn keine Repeats in der Sequenz sind und alle Substrings von Fragmenten entfernt wurden, dann gibt es einen eindeutigen Hamiltonpfad, was bedeutet dass es keine Zyklen gibt. Einen Beweis hierzu findet man in [1]. Schlussendlich kann gesagt werden, dass dieser Algorithmus die beste Lösung zum Sequenz Assembly liefert. Er erkennt die Probleme vom Base Call Error bis zum Repeat, und sucht Lösungen für sie um somit unsere Sequenzen richtig zusammen zusetzten.. Laufzeit Die Laufzeit beider Algorithmen ist NP-Vollständig, das bedeutet, dass das Problem nichtdeterministisch ist und sich nur in Polynomialzeit lösen lässt. Mit anderen Worten: Es gibt bisher keinen Algorithmus, der das Problem effizient lösen kann. 5 Quellen [1] J. Setubal, J. Meidanis: Introduction to Computational Molecular Biology, PWS, 1997; Abschnitte.1,.2,. [2] R.C. Deonier, S. Tavaré, M.S. Waterman: Computational Genome Analysis - An Introduction, Springer, 2005; Abschnitt 8. [] Wikipedia: NP-Vollständigkeit, Wikipedia Die freie Enzyklopädie Erstellt am: 1. März 201, Zugriff:

Sequence Assembly Gudrun Idrissou Proseminar,

Sequence Assembly Gudrun Idrissou Proseminar, Sequence Assembly Gudrun Idrissou Proseminar, 20.12.2010 1 Einleitung Das Shotgun-Sequencing ist eine weitverbreitete Methode zur Sequenzierung von großen DNA Stücken. Man zerteilt die in Vektoren amplifizierte

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

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

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

Proseminar Theoretische Informatik. Die Klasse NP. von Marlina Spanel

Proseminar Theoretische Informatik. Die Klasse NP. von Marlina Spanel Proseminar Theoretische Informatik Die Klasse NP von Marlina Spanel 29.11.2011 1 Gliederung Gliederung Problem des Handlungsreisenden Die Klasse NP Einleitung und Wiederholung Sprachen Nichtdeterministische

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

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

4.9.7 Konstruktion der Suffixbäume

4.9.7 Konstruktion der Suffixbäume .9.7 Konstruktion der Suffixbäume Beipiel: xabxa (siehe Abbildung.27) Man beginnt mit der Konstruktion eines Suffixbaumes für gesamten String und schreibt eine 1 am Blatt, weil der Suffix xabxa an der

Mehr

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

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

Mehr

Algorithmen für schwierige Probleme

Algorithmen für schwierige Probleme Algorithmen für schwierige Probleme Britta Dorn Wintersemester 2011/12 24. November 2011 Farbkodierung Beispiel Longest Path Longest Path gegeben: G = (V, E) und k N. Frage: Gibt es einen einfachen Pfad

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

Masterarbeit. Variantentolerantes Readmapping durch Locality Sensitive Hashing. Jens Quedenfeld November Gutachter: Sven Rahmann Dominik Köppl

Masterarbeit. Variantentolerantes Readmapping durch Locality Sensitive Hashing. Jens Quedenfeld November Gutachter: Sven Rahmann Dominik Köppl Masterarbeit Variantentolerantes Readmapping durch Locality Sensitive Hashing Jens Quedenfeld November 2015 Gutachter: Sven Rahmann Dominik Köppl Technische Universität Dortmund Fakultät für Informatik

Mehr

Tutoraufgabe 1 (Suchen in Graphen):

Tutoraufgabe 1 (Suchen in Graphen): Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS14 F. Corzilius, S. Schupp, T. Ströder Tutoraufgabe 1 (Suchen in Graphen): a) Geben Sie die Reihenfolge an, in der die Knoten besucht werden, wenn

Mehr

Algorithmen auf Sequenzen

Algorithmen auf Sequenzen Algorithmen auf Sequenzen Fehlertolerante Mustersuche: Distanz- und Ähnlichkeitsmaße Sven Rahmann Genominformatik Universitätsklinikum Essen Universität Duisburg-Essen Universitätsallianz Ruhr Einführung

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

28 4. DIE MATHEMATIK HINTER DER COMPACT DISC. Abbildung 4.1: Selbstkorrigierende Codes

28 4. DIE MATHEMATIK HINTER DER COMPACT DISC. Abbildung 4.1: Selbstkorrigierende Codes 8 4. DIE MATHEMATIK HINTER DER COMPACT DISC y1 1 4 3 y3 y Abbildung 4.1: Selbstkorrigierende Codes 4. Die Mathematik hinter der Compact Disc 4.1. Selbstkorrigierende Codes Wenn wir eine Reihe von 0 und

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

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

Kantengraphen und Planare Graphen. Seminararbeit

Kantengraphen und Planare Graphen. Seminararbeit Kantengraphen und Planare Graphen Seminararbeit in Mathematisches Seminar für LAK 621.378 SS 2018 vorgelegt von Anna Maria Gärtner bei: Baur, Karin, Univ.-Prof. Dr.phil. Graz, 2018 Inhaltsverzeichnis 1

Mehr

Greedy- und Priority Algorithmen. Priority-Algorithmen 1 / 80

Greedy- und Priority Algorithmen. Priority-Algorithmen 1 / 80 Greedy- und Priority Algorithmen Priority-Algorithmen 1 / 80 Was ist ein Greedy-Algorithmus? (1/2) Greedy-Algorithmen bestimmen eine Lösung iterativ, wobei - jedesmal eine Entscheidung getroffen wird,

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

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

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

Ausarbeitung zum Modulabschluss. Graphentheorie. spannende Bäume, bewertete Graphen, optimale Bäume, Verbindungsprobleme

Ausarbeitung zum Modulabschluss. Graphentheorie. spannende Bäume, bewertete Graphen, optimale Bäume, Verbindungsprobleme Universität Hamburg Fachbereich Mathematik Seminar: Proseminar Graphentheorie Dozentin: Haibo Ruan Sommersemester 2011 Ausarbeitung zum Modulabschluss Graphentheorie spannende Bäume, bewertete Graphen,

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

Algorithmen auf Sequenzen

Algorithmen auf Sequenzen Algorithmen auf Sequenzen Vorlesung von Prof. Dr. Sven Rahmann im Sommersemester 2008 Kapitel 6 Alignments Webseite zur Vorlesung http://ls11-www.cs.tu-dortmund.de/people/rahmann/teaching/ss2008/algorithmenaufsequenzen

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

ASSEMBLY ALGORITHMS FOR NEXT-GENERATION SEQUENCING DATA

ASSEMBLY ALGORITHMS FOR NEXT-GENERATION SEQUENCING DATA ASSEMBLY ALGORITHMS FOR NEXT-GENERATION SEQUENCING DATA Jason R. Miller*, Sergey Koren, Granger Sutton Ein Vortrag von Sergej Tschernyschkow Friedrich-Schiller-Universität Jena 03. Mai 2010 SERGEJ TSCHERNYSCHKOW

Mehr

Hallo Welt für Fortgeschrittene

Hallo Welt für Fortgeschrittene Hallo Welt für Fortgeschrittene Geometrie II Benjamin Zenke Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Inhalt Closest Pair Divide & Conquer Bereichssuche Gitterverfahren k-d-tree Sweep-Line-Algorithmen

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

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

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

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

Die Klassen P und NP. 4. Dezember / 39

Die Klassen P und NP. 4. Dezember / 39 Die Klassen P und NP 4. Dezember 2017 1 / 39 NP-Vollständigkeit Anfang der 70er Jahre: Erfolg in der Lösung wichtiger algorithmischer Probleme. Aber viele Probleme widersetzen sich: 4. Dezember 2017 2

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

Algorithmische Geometrie, SoSe 2005 Skriptmitschrift vom 29. April 2005

Algorithmische Geometrie, SoSe 2005 Skriptmitschrift vom 29. April 2005 Algorithmische Geometrie, SoSe 2005 Skriptmitschrift vom 29. April 2005 Antonia Wittmers Igor Savchenko Konvexe Hüllen Inkrementeller Algorithmus für die konvexe Hülle Dabei heißt inkrementeller Algorithmus,

Mehr

NP-Vollständigkeit. Anfang der 70er Jahre: Erfolg in der Lösung wichtiger algorithmischer Probleme. Aber viele Probleme widersetzen sich:

NP-Vollständigkeit. Anfang der 70er Jahre: Erfolg in der Lösung wichtiger algorithmischer Probleme. Aber viele Probleme widersetzen sich: NP-Vollständigkeit Anfang der 70er Jahre: Erfolg in der Lösung wichtiger algorithmischer Probleme. Aber viele Probleme widersetzen sich: Überraschende Erkenntnis, viele dieser Probleme, die NP-vollständigen

Mehr

Algorithmen. Von Labyrinthen zu. Gerald Futschek

Algorithmen. Von Labyrinthen zu. Gerald Futschek Von Labyrinthen zu Algorithmen Gerald Futschek Wie kommt man aus einem Labyrinth (griechisch: Haus der Doppelaxt, wahrscheinlich Knossos auf Kreta) Labyrinth heraus? Labrys Grundriss des Palastes von Knossos

Mehr

Vom Leichtesten zum Schwersten Sortieralgorithmen

Vom Leichtesten zum Schwersten Sortieralgorithmen Aktivität 7 Vom Leichtesten zum Schwersten Sortieralgorithmen Zusammenfassung Häufig verwendet man Computer dazu Listen von Elementen in eine bestimmte Ordnung zu bringen. So kann man beispielsweise Namen

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

Westfählische Wilhelms-Universität. Eulersche Graphen. Autor: Jan-Hendrik Hoffeld

Westfählische Wilhelms-Universität. Eulersche Graphen. Autor: Jan-Hendrik Hoffeld Westfählische Wilhelms-Universität Eulersche Graphen Autor: 21. Mai 2015 Inhaltsverzeichnis 1 Das Königsberger Brückenproblem 1 2 Eulertouren und Eulersche Graphen 2 3 Auffinden eines eulerschen Zyklus

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

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

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 20 (23.7.2014) All Pairs Shortest Paths, String Matching (Textsuche) Algorithmen und Komplexität Vorlesungsevaluation Sie sollten alle eine

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

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

Das Steinerbaumproblem

Das Steinerbaumproblem Das Steinerbaumproblem Natalie Richert Fakultät für Elektrotechnik, Informatik und Mathematik, Universität Paderborn 4. Februar 008 / 3 Überblick Problembeschreibung Vorstellung von zwei Approimationsalgorithmen

Mehr

Approximationsalgorithmen für Shortest Common Superstrings

Approximationsalgorithmen für Shortest Common Superstrings Aroximationsalgorithmen für Shortest Common Suerstrings Ausarbeitung von Andreas Vogl Vortrag gehalten am 17.12.2002 Hautseminar "Pattern-Matching- und Textalgorithmen" Inhalt: 1. Einleitung 1.1. Shortest

Mehr

Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8

Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8 ETH Zürich Institut für Theoretische Informatik Prof. Dr. Angelika Steger Florian Meier, Ralph Keusch HS 2017 Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8 Lösungsvorschlag zu Aufgabe 1

Mehr

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 11 Prof. Dr. Helmut Seidl, S. Pott,

Mehr

Die Klassen P und NP. 5. Dezember / 39

Die Klassen P und NP. 5. Dezember / 39 Die Klassen P und NP 5. Dezember 2017 1 / 39 NP-Vollständigkeit Anfang der 70er Jahre: Erfolg in der Lösung wichtiger algorithmischer Probleme. Aber viele Probleme widersetzen sich: Überraschende Erkenntnis,

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 & 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

Zeichenketten Benedikt Straßner. Programming Systems Group Martensstr Erlangen Germany

Zeichenketten Benedikt Straßner. Programming Systems Group Martensstr Erlangen Germany Zeichenketten 16.04.2018 Benedikt Straßner Programming Systems Group Martensstr. 3 91058 Erlangen Germany Übersicht String Matching Algorithmen Naive Stringsuche Knuth Morris Pratt (KMP) Algorithmus Boyer-Moore

Mehr

Repetitive Strukturen

Repetitive Strukturen Repetitive Strukturen Andreas Liebig Philipp Muigg ökhan Ibis Repetitive Strukturen, (z.b. sich wiederholende Strings), haben eine große Bedeutung in verschiedenen Anwendungen, wie z.b. Molekularbiologie,

Mehr

Wir nennen einen Pfad in einem gerichteten Graphen Zyklus, wenn der Pfad im gleichen Knoten beginnt und endet, d. h.

Wir nennen einen Pfad in einem gerichteten Graphen Zyklus, wenn der Pfad im gleichen Knoten beginnt und endet, d. h. aaacmxicdvdlsgmxfl1t3/vv69jntaiuyowubbdcwy1lbfuqwkomtwuyzgri7ltgwa9wa7/cr+lo3potpq2c9xegcdjnxu7j8wmpdlru2mktlc4tr6yu5dc3nre2czvfhlgjzrzolfs65vpdpyh4hqvk3oo1p6evedmpzid+c8i1esq6xjtmnzaoitexjkkvbozdl5yrytfofkpu+bhacu+q5dfxyu4updp+pkobwgv3xyne9hrlqh4hk9sytufg2mmorsekf8zfjobhlav0wnuwrjtkppnnez+sq6v0sf9p+yiku/x7rkzdy9lqt5mhxtvz05uif3q+ugfs38zdz1aedznlwqtwndwpjarvvfmrfpuvtiaioeeesvnqfiijkjkpj/se5gxlagllwti/enzhnwvos87bfr+qiv+txnhzc8velveqvwcgvdidazgcd06hbhdwcxvgemitpmpiexhgzqvznhvnoz87uzah5/0djy+sia==

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

Approximationsalgorithmen

Approximationsalgorithmen Effiziente Algorithmen Lösen NP-vollständiger Probleme 320 Approximationsalgorithmen In polynomieller Zeit lässen sich nicht exakte Lösungen von NP-harten Problemen berechnen. Approximationsalgorithmen

Mehr

Übungsblatt 7 - Voronoi Diagramme

Übungsblatt 7 - Voronoi Diagramme Karlsruher Institut für Technologie Algorithmische Geometrie Fakultät für Informatik Sommersemester 2012 ITI Wagner Martin Nöllenburg/Andreas Gemsa Übungsblatt 7 - Voronoi Diagramme 1 Voronoi-Zellen Sei

Mehr

Geometrische Algorithmen Segmentschnitt

Geometrische Algorithmen Segmentschnitt Folie 1 von 36 Geometrische Algorithmen Segmentschnitt Folie 2 von 36 Segmentschnitt Übersicht Zwei Segmente Lage zweier Segmente Prüfung auf Schnittfreiheit Formeln zum Geradenschnitt Feststellen des

Mehr

Geometrische Algorithmen Segmentschnitt

Geometrische Algorithmen Segmentschnitt Folie 1 von 36 Geometrische Algorithmen Segmentschnitt Folie 2 von 36 Segmentschnitt Übersicht Zwei Segmente! Lage zweier Segmente! Prüfung auf Schnittfreiheit! Formeln zum Geradenschnitt! Feststellen

Mehr

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

Richtig oder falsch? Richtig oder falsch? Richtig oder falsch? Mit dynamischer Programmierung ist das Knapsack- Problem in Polynomialzeit lösbar. Gegeben sei ein Netzwerk N = (V, A, c, s, t) wie in der Vorlesung. Ein maximaler s-t-fluss kann immer mit Hilfe einer Folge von höchstens A Augmentationsschritten gefunden werden. Wendet man den Dijkstra-Algorithmus

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

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

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

Algorithmen. Von Labyrinthen zu. Gerald Futschek

Algorithmen. Von Labyrinthen zu. Gerald Futschek Von Labyrinthen zu Algorithmen Gerald Futschek Wie kommt man aus einem Labyrinth heraus? Labyrinth (griechisch: Haus der Doppelaxt, wahrscheinlich Knossos auf Kreta) Labrys Grundriss des Palastes von Knossos

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

Einleitung. Kapitel 1

Einleitung. Kapitel 1 Kapitel 1 Einleitung In diesem Abschnitt geben wir einen kurzen Überblick über den Inhalt der Vorlesung. Wir werden kurz die wesentlichen Probleme erläutern, die wir ansprechen wollen. Wir werden auch

Mehr

2.2 Der Algorithmus von Knuth, Morris und Pratt

2.2 Der Algorithmus von Knuth, Morris und Pratt Suchen in Texten 2.1 Grundlagen Ein Alphabet ist eine endliche Menge von Symbolen. Bsp.: Σ a, b, c,..., z, Σ 0, 1, Σ A, C, G, T. Wörter über Σ sind endliche Folgen von Symbolen aus Σ. Wörter werden manchmal

Mehr

Effiziente Algorithmen 2

Effiziente Algorithmen 2 Effiziente Algorithmen 2 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

DAP2-Klausur

DAP2-Klausur DAP2-Klausur 09.10.2004 Vorname : Familienname: Ich studiere (Bitte markieren): Informatik (inkl. angewandte Informatik)/ Lehramt Informatik/Informationstechnik/ Physik/Mathe/Statistik/Sonstiges: Bitte

Mehr

Geometrie 2. Julian Fischer Julian Fischer Geometrie / 30

Geometrie 2. Julian Fischer Julian Fischer Geometrie / 30 Geometrie 2 Julian Fischer 6.7.2009 Julian Fischer Geometrie 2 6.7.2009 1 / 30 Themen 1 Bereichssuche und kd-bäume 1 Bereichssuche 2 kd-bäume 2 Divide and Conquer 1 Closest pair 2 Beispiel: Points (IOI

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

Fakultät für Informatik Übung zu Kognitive Systeme Sommersemester 2018

Fakultät für Informatik Übung zu Kognitive Systeme Sommersemester 2018 Fakultät für Informatik Übung zu Kognitive Systeme Sommersemester 2018 S. Constantin (stefan.constantin@kit.edu) S. Nguyen (thai.nguyen@kit.edu) Übungsblatt 4 Maschinelles Lernen und Spracherkennung Abgabe

Mehr

Stream Processing II

Stream Processing II Stream Processing II K-Buckets Histogram Histogramme sind graphische Darstellungen der Verteilung von numerischen Werten Werden durch Intervalle, die sich nicht überlappen, dargestellt Ein Intervall wird

Mehr

Von Labyrinthen zu Algorithmen 2. Gerald Futschek

Von Labyrinthen zu Algorithmen 2. Gerald Futschek Von Labyrinthen zu Algorithmen 2 Gerald Futschek Problem der Zyklen Die Strategie Linke Wand entlang funktioniert leider nicht bei allen Labyrinthen, wenn man von A nach B will! Möglicherweise gibt es

Mehr

Algorithmen. Von Labyrinthen zu. Gerald Futschek

Algorithmen. Von Labyrinthen zu. Gerald Futschek Von Labyrinthen zu Algorithmen Gerald Futschek Wie kommt man aus einem Labyrinth (griechisch: Haus der Doppelaxt, wahrscheinlich Knossos auf Kreta) Labyrinth heraus? Labrys Grundriss des Palastes von Knossos

Mehr

Local Search Algorithmen 1

Local Search Algorithmen 1 Local Search Algorithmen 1 Seminar über Algorithmen Manuel Gellfart 18.05.2012 Fachbereich Mathematik und Informatik 18.05.2012 2 Gliederung 1. Einleitung 2. Theorie 3. Beispiel: Vertex Cover 4. Beispiel:

Mehr

Diskrete Mathematik 1

Diskrete Mathematik 1 Ruhr-Universität Bochum Lehrstuhl für Kryptologie und IT-Sicherheit Prof. Dr. Alexander May M. Ritzenhofen, M. Mansour Al Sawadi, A. Meurer Lösungsblatt zur Vorlesung Diskrete Mathematik 1 WS 2008/09 Blatt

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

Graphen KAPITEL 3. Dieses Problem wird durch folgenden Graph modelliert:

Graphen KAPITEL 3. Dieses Problem wird durch folgenden Graph modelliert: KAPITEL 3 Graphen Man kann als Ursprung der Graphentheorie ein Problem sehen, welches Euler 1736 von Studenten aus Königsberg gestellt bekam. Der Fluss Pregel wird von 7 Brücken überquert, und die Frage

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

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

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

Genomsequenzierung für Anfänger

Genomsequenzierung für Anfänger Genomsequenzierung für Anfänger Philipp Pagel 8. November 2005 1 DNA Sequenzierung Heute wird DNA üblicherweise mit der sogenannten Sanger (oder chain-terminationoder Didesoxy-) Methode sequenziert dessen

Mehr

8.4 Suffixbäume. Anwendungen: Information Retrieval, Bioinformatik (Suche in Sequenzen) Veranschaulichung: DNA-Sequenzen

8.4 Suffixbäume. Anwendungen: Information Retrieval, Bioinformatik (Suche in Sequenzen) Veranschaulichung: DNA-Sequenzen 8.4 Suffixbäume Ziel: Datenstruktur, die effiziente Operationen auf (langen) Zeichenketten unterstützt: - Suche Teilzeichenkette (Substring) - Präfix - längste sich wiederholende Zeichenkette -... Anwendungen:

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. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege 4. Minimale spannende Bäume 5. Färbungen und Cliquen 6. Traveling Salesman Problem 7. Flüsse in Netzwerken

Mehr

1 Kürzeste Pfade in Graphen

1 Kürzeste Pfade in Graphen Praktikum Algorithmen-Entwurf (Teil 3) 03.11.2011 1 1 Kürzeste Pfade in Graphen Es sei ein gerichteter Graph G = (V, E) mit V = n Knoten, E = m Kanten und Kantengewichten c : E R gegeben. Ein Pfad in G

Mehr

Bioinformatik Für Biophysiker

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

Mehr

Algorithmische Bioinformatik

Algorithmische Bioinformatik Algorithmische Bioinformatik Suffixbäume Ulf Leser Wissensmanagement in der Bioinformatik Ziele Perspektivenwechsel: Von Online zu Offline-Stringmatching Verständnis von Suffix-Bäumen als Datenstruktur

Mehr

Graphalgorithmen II. Sebastian Ehrenfels Sebastian Ehrenfels Graphalgorithmen II / 44

Graphalgorithmen II. Sebastian Ehrenfels Sebastian Ehrenfels Graphalgorithmen II / 44 Graphalgorithmen II Sebastian Ehrenfels 4.6.2013 Sebastian Ehrenfels Graphalgorithmen II 4.6.2013 1 / 44 Inhalt 1 Datenstrukturen Union-Find Fibonacci-Heap 2 Kürzeste wege Dijkstra Erweiterungen Bellman-Ford

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

Algorithmische Bioinformatik I (IN5000)

Algorithmische Bioinformatik I (IN5000) Algorithmische Bioinformatik I (IN5000) Title Algorithmic Bioinformatics I Typ Vorlesung mit Übungen Credits 9 Lehrform/SWS 4V + 2Ü Sprache Deutsch oder Englisch (wird vom Dozenten zum Vorlesungsbeginn

Mehr

Klausur zum Modul Einführung in die Diskrete Mathematik

Klausur zum Modul Einführung in die Diskrete Mathematik Klausur zum Modul Einführung in die Diskrete Mathematik 11.2.2014 Aufgabe 1 [10 Punkte] Sei G ein ungerichteter Graph, k N und x, y, z V (G). Zeigen Sie: Gibt es k paarweise kantendisjunkte x-y-wege und

Mehr

Wir wollen nun die Behauptung beweisen, dass die Laufzeit von SELECT linear ist, also dass T (n) = O(n) gilt.

Wir wollen nun die Behauptung beweisen, dass die Laufzeit von SELECT linear ist, also dass T (n) = O(n) gilt. Abschätzung für die Rekursion von SELECT Wir wollen nun die Behauptung beweisen, dass die Laufzeit von SELECT linear ist, also dass T (n) = O(n) gilt. Wir nehmen erst einmal an, dass eine Konstante d existiert,

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

P, NP und NP -Vollständigkeit

P, NP und NP -Vollständigkeit P, NP und NP -Vollständigkeit Mit der Turing-Maschine haben wir einen Formalismus kennengelernt, um über das Berechenbare nachdenken und argumentieren zu können. Wie unsere bisherigen Automatenmodelle

Mehr

Knoten-Partitionierung in feste Eigenschaften ist NP-schwer

Knoten-Partitionierung in feste Eigenschaften ist NP-schwer Knoten-Partitionierung in feste Eigenschaften ist NP-schwer Seminar: Ausgewählte Kapitel der Informatik bei Prof. Dr. R. Schrader Seminarvortrag von Nils Rosjat Wintersemester 09 / 10 1 Einleitung Dieser

Mehr

Informatik II: Algorithmen & Datenstrukturen. Blättern Sie nicht um bevor Sie dazu aufgefordert werden!

Informatik II: Algorithmen & Datenstrukturen. Blättern Sie nicht um bevor Sie dazu aufgefordert werden! Albert-Ludwigs-Universität Institut für Informatik Prof. Dr. F. Kuhn Informatik II: Algorithmen & Datenstrukturen Montag, 29. August, 2014, 14:00 17:00 Name:...........................................................

Mehr