Gliederung. Algorithmen und Datenstrukturen II. Problem: Längste gemeinsame Teilsequenz. Problem: Längste gemeinsame Teilsequenz
|
|
- Sophia Sachs
- vor 7 Jahren
- Abrufe
Transkript
1 Gliederung Algorithmen und Datenstrukturen II Algorithmen zur Textverarbeitung II D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg 1 Sommer 2009, 18. Mai 2009, c 2009 D.Rösner D. Rösner AuD II D. Rösner AuD II Problem: Problem: Vergleichen von Textdateien im Hinblick auf Ähnlichkeit bzw. Unterschiede ist häufig erforderlich Software-Engineering: Vergleich bzgl. Gemeinsamkeiten bzw. Unterschiede zweier Versionen von Programmcode Bioinformatik: Vergleich von DNA-Sequenzen in UNIX-Systemen und LINUX existiert dafür das Programm diff s.a. [GT06], Ch formale Definition des Problems Für einen String X = x 0 x 1 x 2..x n 1 liegt eine Teilsequenz vor, wenn es sich um einen String der Form x i1 x i2...x ik handelt mit i j < i j+1 m.a.w.: aus X sind Zeichen ausgewählt, die zwar nicht notwendig benachbart, aber in der Anordnung wie in X sind. Beispiel: String: CGATAATTGAGA eine Teilsequenz: AAAG Wie gewonnen?... s.a. [GT06], Ch D. Rösner AuD II D. Rösner AuD II
2 Problem: Problem: Beachte: Jeder Teilstring ist auch Teilsequenz. Für einen String der Länge n gibt es 2 n Teilsequenzen. Begründung: s.a. [GT06], Ch Das, d.h. das Problem der längsten gemeinsamen Teilsequenz Gegeben: ein Alphabet Strings X = x 0 x 1 x 2..x n 1 und Y = y 0 y 1 y 2..y m 1 über diesem Alphabet Gesucht: ein String S maximaler Länge, der sowohl Teilsequenz von X als auch Teilsequenz von Y. s.a. [GT06], Ch D. Rösner AuD II D. Rösner AuD II eine Lösung mit Brachialgewalt ( brute force ): Bestimme alle Teilsequenzen von X. Bestimme alle Teilsequenzen von Y. Bilde den Durchschnitt dieser Mengen und bestimme davon die längsten Elemente. modifizierte Lösung mit Brachialgewalt ( brute force ): Bestimme alle Teilsequenzen von X. Überprüfe für jede, ob sie auch Teilsequenz von Y. Nimm die längste (bzw. eine derjenigen mit maximaler Länge), die auch Teilsequenz von Y. Der Abgleich, ob eine Teilsequenz von X auch Teilsequenz von Y erfordert O(m). Damit: O(2 n m), d.h. exponentieller Aufwand (s.o.) s.a. [GT06], Ch D. Rösner AuD II D. Rösner AuD II
3 Greedy-Verfahren helfen beim nicht weiter Beispiel: Sei X = ABCD und Y = BCDA.... s.a. [Edm08], Ch eine effiziente Lösung des s ergibt sich aber mit Hilfe des sog. dynamischen Programmierens hierfür zentral: Bildung von Teilproblemen, Untersuchung ihrer Zusammenhänge d.h. möglichst Bestimmung von sog. Rekurrenz-Beziehungen D. Rösner AuD II D. Rösner AuD II dynamisches Programmieren für Ansatz zur Bildung von Teilproblemen: Sei L[i,j] die Länge eines Strings, der längste Teilsequenz sowohl von X[0..i] als auch von Y[0..j]. Frage: In welcher Beziehung steht L[i,j] zu Lösungen kleinerer Teilprobleme? Frage: In welcher Beziehung steht L[i,j] zu Lösungen kleinerer Teilprobleme? Beispiel zur Illustration: Y = CGATAATTGAGA X = GTTCCTAATA Gesucht: L[9,11] D. Rösner AuD II D. Rösner AuD II
4 beim Versuch, die Bestimmung von L[i,j] auf kleinere Probleme (d.h. solche mit kleineren Indices) zurückzuführen, unterscheiden wir: 1. Fall: x i = y j 2. Fall: x i y j 1. Fall: x i = y j Behauptung: x i und y j gehören dann beide zu einer längsten gemeinsamen Teilsequenz von X[0..i] und Y[0..j]. Fragen: Warum gilt diese Behauptung? Wie hilft sie uns, das Problem der Bestimmung von L[i,j] auf kleinere Probleme zurückzuführen? D. Rösner AuD II D. Rösner AuD II Fall: x i = y j Behauptung: x i = y j gehören dann beide zu einer längsten Teilsequenz von sowohl X[0..i] als auch Y[0..j]. Begründung: Sei für k 1 o.b.d.a. x i1 x i2...x ik = y j1 y j2...y jk [*] eine längste gemeinsame Teilsequenz. Wenn x ik = x i oder y jk = y j, dann ergibt sich die gleiche Teilsequenz durch Setzen von i k = i und j k = j. x i1 x i2...x ik 1 = y j1 y j2...y jk 1 ist falls existent längste Teilsequenz von X[0..i-1] und von Y[0..j-1]. Wenn x ik x i und y jk y j, dann würde sich eine noch längere gemeinsame Teilsequenz durch Anfügen von x i = y j ans Ende von [*] ergeben. Insgesamt: für x i = y j gilt L[i,j] = L[i-1,j-1] + 1 D. Rösner AuD II Fall: x i y j Dann: es kann keine gemeinsame Teilsequenz geben, die sowohl x i als auch y j enthält Eine gemeinsame Teilsequenz, die x i enthält, ist bereits Teilsequenz von Y[0..j-1] und umgekehrt ist eine gemeinsame Teilsequenz, die y j enthält, bereits Teilsequenz von X[0..i-1] Damit: für x i y j ist die Länge der längsten gemeinsamen Teilsequenz gegeben als das Maximum von L[i-1,j] und L[i,j-1] als Formel: L[i, j] = max(l[i 1, j], L[i, j 1]) D. Rösner AuD II
5 Frage: In welcher Beziehung steht L[i,j] zu Lösungen kleinerer Teilprobleme? Beispiel zur Illustration: Y = CGATAATTGAG X = GTTCCTAATA Gesucht: L[9,10] mit x 9 y 10 L[9,9] =...? L[8,10] =...? zur Initialisierung folgende Setzung für die Grenzfälle i = 0 oder j = 0 : L[i,-1] = 0 für i = -1,0,1,..., n-1 L[-1,j] = 0 für J = -1,0,1,..., m-1 D. Rösner AuD II D. Rösner AuD II Zusammenfassung: das Gesamtproblem lässt sich rekursiv in einfachere Teilprobleme zerlegen eine optimale Lösung des globalen Problems muss sich aus optimalen Lösungen von Subproblemen ergeben (sog. Optimalitätsprinzip) nicht direkt verbundene Teilprobleme können gemeinsame Teilprobleme enthalten hier: L[i,j] kann beitragen zu L[i+1,j], L[i,j+1] und L[i+1,j+1] optimale Lösungen von Subproblemen werden memoisiert Abbildung: Initialisierung eines Array zur Lösung des s für Y = CGATAATTGAGA und X = GTTCCTAATA (s.a. [GT06], Fig ) D. Rösner AuD II D. Rösner AuD II
6 G T T C C T A A T A Abbildung: Füllen des Arrays (s.a. [GT06], Fig ) T T C C T A A T A Abbildung: Füllen des Arrays (s.a. [GT06], Fig ) D. Rösner AuD II D. Rösner AuD II T T C C T A A T A Abbildung: Füllen des Arrays (s.a. [GT06], Fig ) T T C C T A A T A Abbildung: Gefülltes Array für (s.a. [GT06], Fig ) D. Rösner AuD II D. Rösner AuD II
7 Frage: Welche Reihenfolgen beim Befüllen des Arrays mit den L[i,j]-Werten sind möglich? Wie ist der Aufwand für die Bestimmung der Werte im Array mit den L[i,j]-Werten? mit dem Array der L[i,j]-Werte kennen wir die Länge einer längsten gemeinsamen Teilsequenz zweier Strings um eine längste Teilsequenz zu gewinnen, kann man diese wie folgt aus dem Array der L[i,j]-Werte auslesen man beginnt in L[n,m] in jeder Position [i,j] kann überprüft werden, ob x i = y j. Trifft dies zu, dann nimm x i zum Ergebnis und gehe zu Position [i-1,j-1]. Für x i y j gehe zu derjenigen der Positionen [i,j-1] bzw. [i-1,j] mit dem grösseren L-Wert. (Sonst...?) Beende, wenn eine Randzelle erreicht (also i = 1 oder j = 1) Aufwand für solches Auslesen im schlechtesten Fall? D. Rösner AuD II D. Rösner AuD II T T C C T A A T A Abbildung: Auslesen einer Lösung für (s.a. [GT06], Fig ) T T C C T A A T A Abbildung: Beginn des Auslesen einer alternativen Lösung für ; Komplettieren als Übung D. Rösner AuD II D. Rösner AuD II
8 Weitere Beispiele: längste ansteigende Subsequenz mit benachbarten Elementen längste ansteigende Subsequenz Bestimmung aller kürzesten Pfade in einem Graphen s.a. [Edm08], Ch Längste ansteigende benachbarte Subsequenz Sei eine Sequenz A[1..n] von Integers gegeben und gesucht ist die längste Subsequenz unmittelbar benachbarter Elemente A[k 1, k 2 ], so dass die Elemente monoton nicht fallen. Beispiel: Was ist eine Lösung für [5,3,1,3,7,9,8]? s.a. [Edm08], Ex D. Rösner AuD II D. Rösner AuD II Längste ansteigende benachbarte Subsequenz Fragen Wie sieht eine Lösung mit brute force aus? Wie gewinnt man eine Lösung mit dynamischem Programmieren? s.a. [Edm08], Ex Längste ansteigende Subsequenz Sei wieder eine Sequenz A von n Integers gegeben. Gesucht ist die längste (nicht notwendigerweise aus benachbarten Elementen bestehende) Subsequenz S A[1..n], so dass die Elemente, in der Ordnung, in der sie in A erscheinen, monoton nicht fallend sind. Beispiel: für [5,1,5,7,2,4,9,8] ist [1,5,7,9] eine optimale Lösung, aber auch [1,2,4,8] oder [1,2,4,9] oder... s.a. [Edm08], Ex D. Rösner AuD II D. Rösner AuD II
9 Literatur: I Längste ansteigende Subsequenz Fragen Wie sieht eine Lösung mit brute force aus? Wie gewinnt man eine Lösung mit dynamischem Programmieren? s.a. [Edm08], Ex Jeff Edmonds. How to Think about Algorithms. Cambridge University Press, New York, USA, ISBN (pbk.). Michael T. Goodrich and Roberto Tamassia. Data Structures and Algorithms in Java. John Wiley & Sons, New York, ISBN ; ISBN ;4th edition. D. Rösner AuD II D. Rösner AuD II
Algorithmen und Datenstrukturen II
Algorithmen und Datenstrukturen II Algorithmen zur Textverarbeitung III: D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009,
MehrAlgorithmen und Datenstrukturen II
Algorithmen und Datenstrukturen II D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 26. März 2009, c 2009 D.Rösner D.
MehrGliederung. Algorithmen und Datenstrukturen II. Graphen: All-pairs shortest paths. Graphen: All-pairs shortest paths. Graphen: Kürzeste Pfade III
Gliederung Algorithmen und Datenstrukturen II : Kürzeste Pfade III D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg 1 Problem Transitiver
MehrAlgorithmen 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
MehrAlgorithmen und Datenstrukturen II
Algorithmen und Datenstrukturen II D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 9. April 2009, c 2009 D.Rösner D.
MehrAlgorithmen und Datenstrukturen II
Algorithmen und Datenstrukturen II in JAVA D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 31. März 2009, c 2009 D.Rösner
MehrGliederung. Algorithmen und Datenstrukturen I. öschen in Rot-Schwarz-Bäumen. Löschen in Rot-Schwarz-Bäumen
Gliederung Algorithmen und Datenstrukturen I Abstrakte Datentypen VII: in n D. Rösner Institut für Wissens- und prachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg 1 Winter
MehrAlgorithmen und Datenstrukturen II
Algorithmen und Datenstrukturen II in JAVA D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 4. Mai 2009, c 2009 D.Rösner
MehrAlgorithmen und Datenstrukturen II
Algorithmen und Datenstrukturen II D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2010, 29. März 2010, c 2010 D.Rösner D.
MehrGliederung. Algorithmen und Datenstrukturen II. Java: Objektorientierung. Java: Objektorientierung. Objektorientierung in JAVA. D.
Gliederung Algorithmen und Datenstrukturen II in JAVA D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 4. Mai 2009, c
MehrGliederung. Algorithmen und Datenstrukturen I. Eine wichtige Frage. Algorithmus. Materialien zur Vorlesung. Begriffsbestimmung EUKLID Primzahltest
Gliederung Algorithmen und Datenstrukturen I Materialien zur Vorlesung D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg 1 Winter 2009/10,
MehrGliederung. Algorithmen und Datenstrukturen I. Binäre Bäume: ADT Heap. inäre Bäume: ADT Heap. Abstrakte Datentypen IV. D. Rösner
Gliederung Algorithmen und Datenstrukturen I Abstrakte Datentypen IV D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Winter 2009/10,
MehrGliederung. Algorithmen und Datenstrukturen II. ADT Graph. ADT Graph. Graphen in JAVA. Klasse Graph Suche Breitensuche Tiefensuche. D.
Gliederung Algorithmen und Datenstrukturen II Graphen in JAVA D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 20. April
MehrDynamische Programmierung
Dynamische Programmierung Claudia Gerhold 9.5.6 Claudia Gerhold Dynamische Programmierung 9.5.6 / 4 Agenda Einführung Dynamische Programmierung Top-Down Ansatz mit Memoization Bottom-Up Ansatz 3 Anwendungsbeispiele
MehrAlgorithmen 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
MehrProgrammierparadigmen
Programmierparadigmen D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 22. Juni 2009, c 2009 D.Rösner D. Rösner PGP 2009...
MehrDatenstrukturen & 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
MehrGliederung. Algorithmen und Datenstrukturen I. Listen in Haskell: Listen in Haskell: Listen in Haskell. Datentyp Liste Strings Listenkomprehension
Gliederung Algorithmen und Datenstrukturen I D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg 1 Winter 2009/10, 16. Oktober 2009, c
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2012/13 17. Vorlesung Nächstes Paar Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Problem: Gegeben: Menge P von n Punkten in der Ebene, jeder Punkt
Mehr19. Dynamic Programming I
495 19. Dynamic Programming I Fibonacci, Längste aufsteigende Teilfolge, längste gemeinsame Teilfolge, Editierdistanz, Matrixkettenmultiplikation, Matrixmultiplikation nach Strassen [Ottman/Widmayer, Kap.
Mehr19. Dynamic Programming I
495 19. Dynamic Programming I Fibonacci, Längste aufsteigende Teilfolge, längste gemeinsame Teilfolge, Editierdistanz, Matrixkettenmultiplikation, Matrixmultiplikation nach Strassen [Ottman/Widmayer, Kap.
MehrAlgorithmen und Datenstrukturen 1 Kapitel 3
Algorithmen und Datenstrukturen 1 Kapitel 3 Technische Fakultät robert@techfak.uni-bielefeld.de Vorlesung, U. Bielefeld, Winter 2005/2006 3.6 Dynamische Programmierung Die rekursive Problemzerlegung kann
MehrDifferenzierbarkeit im R n. Analysis III October 30, / 94
Differenzierbarkeit im R n Analysis III October 30, 2018 36 / 94 Partielle Ableitungen Buch Kap. 5.5 Definition 5.23: (partielle Differenzierbarkeit) Sei die Funktion f : D R, D R n, wobei D eine offene
MehrAlgorithmen & Datenstrukturen Midterm Test 2
Algorithmen & Datenstrukturen Midterm Test 2 Martin Avanzini Thomas Bauereiß Herbert Jordan René Thiemann
MehrDas 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
MehrEINI LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 11/12
EINI LW Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 11/12 Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@udo.edu http://ls1-www.cs.uni-dortmund.de
MehrInformatik 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
MehrAlgorithmen 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
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dr. Michael Brinkmeier Technische Universität Ilmenau Fakultät Informatik und Automatisierung Fachgebiet Automaten und Formale Sprachen 4.7.2007 Dr. Michael Brinkmeier (TU
MehrAlgorithmen und Datenstrukturen I
und I Rückblick und D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Winter 2009/10, 25. Januar 2010, c 2009/10 D.Rösner D. Rösner
MehrProjektgruppe. Text Labeling mit Sequenzmodellen
Projektgruppe Enes Yigitbas Text Labeling mit Sequenzmodellen 4. Juni 2010 Motivation Möglichkeit der effizienten Verarbeitung von riesigen Datenmengen In vielen Bereichen erwünschte automatisierte Aufgabe:
MehrADS: Algorithmen und Datenstrukturen 2
.. ADS: Algorithmen und Datenstrukturen 2 8. Vorlesung Uwe Quasthoff Abteilung Automatische Sprachverarbeitung Institut für Informatik Universität Leipzig 6. Juni 2012 1 / 25 Editier-Distanz Beobachtungen:
MehrQuickSort ist ein Sortieralgorithmus, der auf der Idee des Teile & Beherrsche beruht, und das gegebene Array an Ort und Stelle (in place) sortiert
4.3.6 QuickSort QuickSort ist ein Sortieralgorithmus, der auf der Idee des Teile & Beherrsche beruht, und das gegebene Array an Ort und Stelle (in place) sortiert QuickSort teilt das gegebene Array anhand
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen 2 Teil 8 Gerhard Heyer, Florian Holz unter Verwendung der Materialien der letzten Jahre Abteilung Automatische Sprachverarbeitung Institut für Informatik Universität
MehrDr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund
EINI LW/WiMa Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 12/13 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de
MehrÜbersicht. Aktivitäten-Auswahl-Problem. Greedy Algorithmen. Aktivitäten-Auswahl-Problem. Aktivitäten-Auswahl-Problem. Datenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Übersicht Greedy Algorithmen Einführung Aktivitäten-Auswahl-Problem Huffman Codierung Matthias Zwicker Universität Bern Frühling 2009 2 Greedy Algorithmen Entwurfsstrategie
MehrEINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 16/17
EINI LW/WiMa Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 16/17 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de
MehrAlgorithmen und Datenstrukturen I
Algorithmen und Datenstrukturen I Sortierverfahren D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Winter 2009/10, 18. Januar 2010,
MehrKapitel 4: Das Überdeckungsproblem
Kapitel : Das Überdeckungsproblem Kapitel Das Überdeckungsproblem Kapitel : Das Überdeckungsproblem Seite / 25 Kapitel : Das Überdeckungsproblem Inhaltsverzeichnis. Überdeckungsmatrizen.2 Minimalüberdeckungen.
MehrAbstrakter Datentyp (ADT): Besteht aus einer Menge von Objekten, sowie Operationen, die auf diesen Objekten wirken.
Abstrakte Datentypen und Datenstrukturen/ Einfache Beispiele Abstrakter Datentyp (ADT): Besteht aus einer Menge von Objekten, sowie Operationen, die auf diesen Objekten wirken. Datenstruktur (DS): Realisierung
MehrAlgorithmen und Datenstrukturen in der Bioinformatik Erstes Ü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 Erstes
MehrLernmodul 7 Algorithmus von Dijkstra
Folie 1 von 30 Lernmodul 7 Algorithmus von Dijkstra Quelle: http://www.map24.de Folie 2 von 30 Algorithmus von Dijkstra Übersicht Kürzester Weg von A nach B in einem Graphen Problemstellung: Suche einer
MehrGliederung. Algorithmen und Datenstrukturen I. Binäre Bäume: AVL-Bäume. inäre Bäume: AVL Bäume. Abstrakte Datentypen V: AVL Bäume. D.
Gliederung Algorithmen und Datenstrukturen I Abstrakte Datentypen V: D. Rösner Institut für Wissens- und Spracherarbeitung Fakultät für Informatik Otto-on-Guericke Uniersität Magdeburg 1 Einfachrotationen
MehrEINI LogWing/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 17/18
EINI LogWing/WiMa Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 17/18 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de
MehrDynamische Optimierung
Dynamische Optimierung Mike Hüftle 28. Juli 2006 Inhaltsverzeichnis 1 Einleitung 2 1.1.................................... 2 2 Dynamisches Optimierungmodell 3 2.1 Grundmodell der dynamischen Optimierung............
MehrDynamische Programmierung. Problemlösungsstrategie der Informatik
als Problemlösungsstrategie der Informatik und ihre Anwedung in der Diskreten Mathematik und Graphentheorie Fabian Cordt Enisa Metovic Wissenschaftliche Arbeiten und Präsentationen, WS 2010/2011 Gliederung
MehrAufgabenblatt 4. Silke Trißl Wissensmanagement in der Bioinformatik
Aufgabenblatt 4 Silke Trißl Wissensmanagement in der Bioinformatik Zuerst! FRAGEN? Silke Trißl: Bioinformatik für Biophysiker 2 Exercise 1 Global alignment using dynamic programming Write a program to
MehrInformatik II: Algorithmen und Datenstrukturen SS 2013
Informatik II: Algorithmen und Datenstrukturen SS 2013 Vorlesung 11b, Mittwoch, 3. Juli 2013 (Editierdistanz, dynamische Programmierung) Prof. Dr. Hannah Bast Lehrstuhl für Algorithmen und Datenstrukturen
Mehr11. Übung Algorithmen I
Timo Bingmann, Christian Schulz INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS KIT Timo Universität Bingmann, des LandesChristian Baden-Württemberg Schulz und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
MehrVorkurs Informatik WiSe 16/17
Konzepte der Informatik Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 07.10.2016 Technische Universität Braunschweig, IPS Inhaltsverzeichnis Rucksackproblem Dynamische Programmierung 07.10.2016
MehrADS: Algorithmen und Datenstrukturen
ADS: Algorithmen und Datenstrukturen Teil X Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University of Leipzig 13.
Mehr11 Dynamisches Programmieren
Algorithmen und Datenstrukturen 279 11 Dynamisches Programmieren Gegenstand dieses und des nächsten Kapitels sind noch einmal Algorithmen. Zunächst beschreiben wir das sog. dynamische Programmieren. kein
MehrDatenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität
Datenstrukturen und Algorithmen Christian Sohler FG Algorithmen & Komplexität Gierige Algorithmen: Berechne Lösung schrittweise In jedem Schritt mache lokal optimale Wahl Daumenregel: Wenn optimale Lösung
MehrInformatik II, SS 2016
Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 22 (20.7.2016) Greedy Algorithmen - Datenkompression Algorithmen und Komplexität Greedy Algorithmen Greedy Algorithmen sind eine Algorithmenmethode,
MehrInhaltsübersicht. Vorwort 15. Vorwort zur deutschen Ausgabe 22. Kapitel 1 Elemente der Programmierung 25. Kapitel 2 Funktionen und Module 203
Inhaltsübersicht Vorwort 15 Vorwort zur deutschen Ausgabe 22 Kapitel 1 Elemente der Programmierung 25 Kapitel 2 Funktionen und Module 203 Kapitel 3 Objektorientierte Programmierung 335 Kapitel 4 Algorithmen
MehrKlausur Algorithmentheorie
Prof. Dr. G. Schnitger Frankfurt, den 06.04.2009 Klausur Algorithmentheorie WS 2008/2009 Name: Vorname: Geburtsdatum: Studiengang: BITTE GENAU LESEN Die Klausur besteht aus 4 Aufgaben, in denen maximal
MehrVorkurs Informatik WiSe 15/16
Konzepte der Informatik Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 15.10.2015 Technische Universität Braunschweig, IPS Inhaltsverzeichnis Das Rucksackproblem 15.10.2015 Dr. Werner Struckmann
Mehr6. Algorithmen auf Zeichenketten
6. Algorithmen auf Zeichenketten Motivation Wir lernen nun Algorithmen zur Lösung verschiedener elementarer Probleme auf Zeichenketten zu lösen Zeichenketten spielen eine wichtige Rolle in diversen Gebieten
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 1 (29.4.2014) Organisation, Übungen, Sortieren I Algorithmen und Komplexität Allgemeines Thema der Vorlesung Letztes Semester haben Sie (die
Mehr16. All Pairs Shortest Path (ASPS)
. All Pairs Shortest Path (ASPS) All Pairs Shortest Path (APSP): Eingabe: Gewichteter Graph G=(V,E) Ausgabe: Für jedes Paar von Knoten u,v V die Distanz von u nach v sowie einen kürzesten Weg a b c d e
MehrAlgorithmen und Komplexität
Algorithmen und Komplexität Dynamische Programmierung Markus Ullrich Norbert Baum Fachbereich Informatik - IIb07 Hochschule Zittau/Görlitz 28. Mai 2009 1 / 29 Wie sieht es mit langen Ketten aus? A 1 A
MehrPairwise Alignment. Steffen Forkmann. Proseminar: BioInformatik
Pairwise Alignment Steffen Forkmann Proseminar: BioInformatik Wintersemester 2004/2005 Inhaltsverzeichnis 1 Problemstellungen 3 1.1 Rechtschreibkorrektur............................... 3 1.2 DNA- und Aminosäure-Sequenzen........................
Mehr5.4 Das Rucksackproblem
Problemstellung: 5.4 Das Rucksackproblem Eingabe: Ganzzahlige Volumina a 1,..., a n > 0, Nutzenwerte c 1,..., c n > 0, ganzzahlige Volumenschranke b. Aufgabe: Packe die Objekte in einen Rucksack von Volumen
MehrAm Dienstag, den 16. Dezember, ist Eulenfest. 1/45
Am Dienstag, den 16. Dezember, ist Eulenfest. 1/45 Grundbegriffe der Informatik Einheit 12: Erste Algorithmen in Graphen Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009
MehrEntscheidungsbä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
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Kürzeste Wege Maike Buchin 4. und 6.7.2017 Einführung Motivation: Bestimmung von kürzesten Wegen ist in vielen Anwendungen, z.b. Routenplanung, ein wichtiges Problem. Allgemeine
MehrSuchen in Texten. Naives Suchen Verfahren von Knuth-Morris-Pratt Verfahren von Boyer-Moore Ähnlichkeitssuchen Editierdistanz
Suchen in Texten Naives Suchen Verfahren von Knuth-Morris-Pratt Verfahren von Boyer-Moore Ähnlichkeitssuchen Editierdistanz Textsuche Gegeben ist ein Zeichensatz (Alphabet) Σ. Für einen Text T Σ n und
MehrKapitel 3: Sortierverfahren Gliederung
Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen
MehrArrays. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 3. 1 Modulübersicht 3
Programmieren mit Java Modul 3 Arrays Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Eindimensionale Arrays 3 2.1 Arrays deklarieren.............................. 3 2.2 Arrays erzeugen................................
MehrKlausur Informatik 2: Algorithmen und Datenstrukturen. Blättern Sie nicht um bevor Sie dazu aufgefordert werden!
Albert-Ludwigs-Universität Institut für Informatik Prof. Dr. F. Kuhn Klausur Informatik 2: Algorithmen und Datenstrukturen Donnerstag, 9. März 21, 2017, 9:00 bis 12.00 Uhr Name:.....................................................................
MehrStudiengang 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?
MehrDiskrete Mathematik. Arne Dür Kurt Girstmair Simon Legner Georg Moser Harald Zankl
OLC mputational gic Diskrete Mathematik Arne Dür Kurt Girstmair Simon Legner Georg Moser Harald Zankl Fakultät für Mathematik, Informatik und Physik @ UIBK Sommersemester 2011 GM (MIP) Diskrete Mathematik
MehrG. Zachmann Clausthal University, Germany Die wichtigsten Entwurfsverfahren für Algorithmen:
lausthal Informatik II Divide & onquer. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Algorithmen-Design-Techniken Die wichtigsten Entwurfsverfahren für Algorithmen: 1. Divide and onquer
MehrAlgorithmen und Datenstrukturen
Rheinisch-Westfälische Technische Hochschule Aachen Lehrstuhl für Informatik VI Algorithmen und Datenstrukturen Vorlesungsmitschrift zur Vorlesung im SS 2004 Prof. Dr.-Ing. H. Ney Letzte Überarbeitung:
MehrAlgorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 013/14 7. Vorlesung Zufall! Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Ein Experiment Ein Franke und ein Münchner gehen (unabhängig voneinander)
MehrStud.-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
MehrGrundlagen der Programmierung
Grundlagen der Programmierung Dr. Tom Kamphans 1. Vorlesung 04.04.2018 1 Organisatorisches Vorlesung: Mittwochs 14:00 15:30, Raum F 201 Übung: Mittwochs 15:45 19:00, Raum F 225 Übung: alle zwei Wochen
MehrAlgorithmen und Programmierung. Zusatzaufgaben Java Tutorium 1
TU Ilmenau, Fakultät IA FG Telematik/Rechnernetze Prof. Dr.-Ing. G. Schäfer http://www.tu-ilmenau.de/telematik/aup Algorithmen und Programmierung Zusatzaufgaben Java Tutorium 1 Aufgabe 1 (Zeitformatierung)
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2006 9. Vorlesung Peter Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Invertierte Listen Nutzung vor allem zur Textsuche
MehrDatenstrukturen 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
MehrKapitel 5: Dynamisches Programmieren Gliederung
Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen
MehrAlgorithmen I - Tutorium 28 Nr. 12
Algorithmen I - Tutorium 28 Nr. 12 20.07.2017: Spaß mit Dynamischer und Linearer Programmierung Marc Leinweber marc.leinweber@student.kit.edu INSTITUT FÜR THEORETISCHE INFORMATIK (ITI), PROF. DR. JÖRN
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen 2 Teil 4 Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 24. April 2019 [Letzte Aktualisierung: 24/04/2019,
MehrKnuth Morris Pratt Algorithmus
Knuth Morris Pratt Algorithmus PS: Stringmatching Algorithmen in C Dozent: Max Hadersbeck Referentinnen: Joanna Rymarska, Alfina Druzhkova Datum: 5.07.2006 Folien: www.cip.ifi.lmu.de/~droujkov Agenda Historisches
MehrGierige Algorithmen Interval Scheduling
Gierige Algorithmen Interval Scheduling IntervalScheduling(s,f). n length[s] 2. A {} 3. j 4. for i 2 to n do 5. if s[i] f[j] then 6. A A {i} 7. j i 8. return A Gierige Algorithmen Interval Scheduling Beweisidee:
MehrAlgorithmen 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
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen Lerneinheit : Dynamisches Programmieren Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester.. Einleitung Diese Lerneinheit widmet sich einer
MehrGliederung. Funktionale Programmierung. Pattern matching in Haskell. Pattern matching in ERLANG. Materialien zur Vorlesung
Gliederung Funktionale Programmierung Materialien zur Vorlesung D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg 1 Sommer 2011, 7.
MehrDer Viterbi Algorithmus
M. 23.Juli.2007 Gliederung 1 2 3 Erfinder Andrew J. Viterbi 1967 zur Dekodierung von Faltungscodes entwickelt Auf Basis von entwickelt Erfinder Andrew J. Viterbi 1967 zur Dekodierung von Faltungscodes
MehrAlgorithmen & Komplexität
Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Kürzeste Pfade Problem Gegeben Netzwerk: Graph G = (V, E), Gewichtsfunktion w: E N Zwei Knoten: s, t Kantenzug/Weg
MehrEinführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)
Wintersemester 2005/06 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl
MehrBioinformatik 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
MehrDefinition Ein Heap (priority queue) ist eine abstrakte Datenstruktur mit folgenden Kennzeichen:
HeapSort Allgemeines Sortieralgorithmen gehören zu den am häufigsten angewendeten Algorithmen in der Datenverarbeitung. Man hatte daher bereits früh ein großes Interesse an der Entwicklung möglichst effizienter
MehrGraphentheorie. Kürzeste Wege. Kürzeste Wege. Kürzeste Wege. Rainer Schrader. 25. Oktober 2007
Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 25. Oktober 2007 1 / 20 2 / 20 Wir werden Optimierungsprobleme vom folgenden Typ betrachten: gegeben eine Menge X und eine Funktion
MehrEffiziente Algorithmen und Komplexitätstheorie
Fakultät für Informatik Lehrstuhl 2 Vorlesung Effiziente Algorithmen und Komplexitätstheorie Sommersemester 2008 Ingo Wegener Ingo Wegener 03. Juli 2008 1 Sequenzanalyse Hauptproblem der Bioinformatik
Mehr