Bioinformatik. Approximatives Stringmatching Editabstand. Ulf Leser Wissensmanagement in der. Bioinformatik

Größe: px
Ab Seite anzeigen:

Download "Bioinformatik. Approximatives Stringmatching Editabstand. Ulf Leser Wissensmanagement in der. Bioinformatik"

Transkript

1 Bioinformatik pproximatives Stringmatching Editabstand Ulf Leser Wissensmanagement in der Bioinformatik

2 Naiver nsatz 1. P und an Position 1 ausrichten 2. Vergleiche P mit von links nach rechts Zwei ungleiche Zeichen ehe zu 3 Zwei gleiche Zeichen P noch nicht durchlaufen Verschiebe Pointer nach rechts, gehe zu 2 P vollständig durchlaufen Merke Vorkommen von P in 3. Verschiebe P um ein Zeichen nach rechts 4. Wenn P noch nicht über - P hinaus, gehe zu 2 P ctgagatcgcgta gagatc gagatc gagatc gagatc gagatc gatatc gatatc gatatc Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

3 Z-lgorithmus: Preprocessing Im Folgenden: S (wird gleich aus P und zusammengesetzt) Definition Sei i>1. Dann ist Z i (S) die Länge des längsten Substrings x von S mit x=s[i..i+ x -1] (x startet an Position i in S) S[i..i+ x -1] = S[1.. x -1] (x ist auch Präfix von S) x ist die Z-Box von S an Position i mit Länge Z i (S) Z i S x x Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

4 Linearer Stringmatching lgorithmus nnahme: Z-Boxen lassen sich in O( S ) berechnen Wie zeigen wir später Verwendung der Z-Boxen für String Matching S := P $ ; // ($ Σ) compute Z-Boxes for S; for i = P +2 to S if (Z i (S)= P ) then print i- P -1; // P in at position i end if; end if; Komplexität Schleife wird S -Mal durchlaufen => O(m) Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

5 Lineare Berechnung der Z i Werte rick Verwenden von bereits bekannten Z i zur Berechnung von Z k (k > i) Lineares Durchlaufen des Strings Kontinuierliches Vorhalten der aktuellen Werte l=l i und r=r i röße der Z-Box an Position i ergibt sich mit konstantem ufwand Induktive Erklärung Induktionsanfang: Position k=2 Berechne Z 2. Wenn Z 2 > 0, setze r=r 2 (=2+Z 2-1) und l=l 2 (=2), sonst r=l=0 Induktionsschritt: Position k>2 Vorhanden sind die Werte r, l und j<k: Z j Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

6 Z-lgorithmus, Fall 1 Möglichkeit 1: k > r D.h., dass es keine Z-Box gibt, die k enthält Wir wissen damit nichts über den Bereich in S ab k Dann gehen wir primitiv vor Berechne Z k durch Zeichen-für-Zeichen Matching Wenn Z k >0, setze r=r k und l=l k Beispiel k CCC 0 1 0? egenbeispiel lk r CCCC 0 0 5? Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

7 Z-lgorithmus, Fall 2 Möglichkeit 2: k <= r Die Situation: Z k lso Z-Box Z l ist Präfix von S Substring β=s[k..r] kommt auch an Position k =k-l+1 von S vor Was wissen wir über diesen Substring? Natürlich: Z k D.h., dass S[k.. ] ist Präfix von S mit mindestens Länge min(z k, β ) Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

8 Z-lgorithmus, Fall 2.1 Fallunterscheidung Z k < β : Dann ist das Zeichen an k +Z k ein Mismatch bei der Präfixverlängerung. Dann ist das Zeichen S(k+Z k ) der gleiche Mismatch. lso: Z k =Z k ; r und l unverändert Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

9 Z-lgorithmus, Fall 2.2 Z k β : Dann ist β ein Präfix von S... dass sich vielleicht noch verlängern lässt Wenn Z k > β, dann wissen wir: S( β +1)=S(k + β ) Wir wissen aber nichts über S(r+1) dieses Zeichen wurde noch nie betrachtet Matche Zeichen-für-Zeichen S[r+1..?] mit S[ β +1..?] Sei der erste Mismatch an Position q Dann: Z k =q-k; l=k; r=q-1 q Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

10 lgorithmus match Z 2 ; set l,r; for k = 3 to S if k>r then match Z k ; set r,l; else k := k-l+1; b := r-k+1; // his is β if Z k <b then Z k := Z k ; else match S[r+1.. ] with S[b+1.. ] until q; end if; end if; end for; Z k := q-k; l := k; r := q-1; Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

11 Inhalt dieser Vorlesung pproximative Stringvergleiche Dotplots lignment, Pfade, Editskipte Dynamische Programmierung Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

12 Wie ähnlich sind sich zwei Sequenzen? und zu wenig Identisch = überaus ähnlich zu viel C durch ersetzen und C löschen Sehr viel löschen Welche Sequenzen sind sich also besonders ähnlich? Ähnlichkeit muss quantifiziert werden Idee: Wie sehr muss man eine Sequenz verändern, um die andere zu erzeugen Man konnte auch Buchstaben zählen, Länge vergleichen, nzahl C nehmen, Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

13 Suche mit Sequenzen Ähnlichkeit ist definiert zwischen zwei Sequenzen ndere ufgabenstellung: Suche in Sequenzdatenbanken egeben Sequenz (Exon), welche anderen ESs in der Datenbank sind ihr sehr ähnlich? egeben Sequenz (Exon), welche Datenbanksequenzen (Clone, enome, Chromosomen) enthalten einen ähnlichen bschnitt? egeben Sequenz (en), welche Datenbanksequenzen (Clone, enome, Chromosomen) enthalten einen bschnitt, der einem bschnitt meiner Suchsequenz ähnlich ist? Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

14 Motivation Relevant ist die biologische Funktion, nicht die Sequenz leiche Sequenzen gleiche Funktion Sehr ähnliche Sequenzen sehr ähnliche Funktion Etwas ähnliche Sequenzen verwandte Funktion? Idee: Funktionsähnlichkeit durch Sequenzähnlichkeit approximieren Comparative enomics Bestimmung von Funktionen ist extrem aufwändig (wenn überhaupt möglich) Bestimmung von Sequenzen ist vergleichsweise billig ußerdem: Hohe Ähnlichkeit kann meistens kein Zufall sein Konservierung von Sequenzen trotz Evolution Hoch ähnliche Sequenzen in evolutionär entfernten Spezies ist starkes Signal für hohen evolutionären Druck auf der Sequenz Billige Methode, um wichtige (funktionstragende) Sequenzabschnitte zu finden Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

15 Nicht alle Änderungen sind gleich wichtig Wildtyp Fatale Mutationen Leseraster Mutationen neutrale Mutationen Funktionale Mutationen C C C Leu Ser sp yr ly Lys C C Leu Ser sp Stop-Codon C C C Leu Ser His sp Leu hr C C C C Leu Ser sp yr ly Lys C C Leu Ser lu yr ly Lys DN Protein DN Protein DN Protein DN Protein DN Protein Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

16 pproximatives Matchen außerhalb der Bioinformatik nwendungen außerhalb der Bioinformatik Unscharfe Volltextsuche Suche mit Xylofon und finde auch Xhylophon Fehler oder deutsche Rechtschreibreform? Personenabgleich Ist Herr Müller, 27, Stargarder Str 54 identisch zu Hr. Mueller, 27, Stagarder Str. 54? Phonetische Suche Finde alle Meyer, Meier, Maier, Mair,... Vorschlagen ähnlicher Suchbegriffe Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

17 Dotplot Definition: Ein Dotplot zweier Strings, B ist eine Matrix M: Die Spalten entsprechen den Zeichen von Die Zeilen entsprechen den Zeichen von B M[a,b]=1 (blau) gdw. [a] = B[b] Beispiel? C C C Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

18 Dotplot Definition: Ein Dotplot zweier Strings, B ist eine Matrix M: Die Spalten entsprechen den Zeichen von Die Zeilen entsprechen den Zeichen von B M[a,b]=1 (blau) gdw. [a] = B[b] Beispiel C C C Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

19 Dotplot und gleiche eilstrings Wie erkennt man gleiche eilstrings im Dotplot? C C C C C C Diagonalen von links-oben nach rechts-unten rößter gemeinsamer eilstring längste Diagonale Visuell bei kurzen Strings leicht möglich Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

20 Repetitive Sequenzen C C C C C C C C Dotplot mit =B Zitat (enbank, P24014): [SIMILRIY] CONINS 7 EF-LIKE DOMINS. [SIMILRIY] Contains 24 leucine-rich (LRR) repeats. Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

21 bstandsmaße Wir suchen ein Maß für die Ähnlichkeit zweier Sequenzen Voraussetzung dafür sind Definitionen von: Was heißt ähnlich? Was heißt am ähnlichsten? Biologischen Hintergrund beachten Situation: Wir haben humane ensequenz und suchen ähnliche Sequenzen (B) in anderen Organismen nnahme: und B haben gemeinsamen Vorfahren X und sind aus diesem jeweils durch evolutionäre Prozesse entstanden Einfaches Modell evolutionärer Prozesse: Basenaustausch, Baseneinfügung, Basenlöschen Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

22 Editskripte Definition Ein Editskript e für zwei Strings, B aus Σ *= Σ _ ist eine Sequenz von Editieroperationen I (Einfügen eines Zeichen c Σ in ) Dargestellt als Lücke in ; das neue Zeichen erscheint in B D (Löschen eines Zeichen c in ) Dargestellt als Lücke in B; das alte Zeichen erscheint in R (Ersetzen eines Zeichen in mit einem anderen Zeichen in B) M (Match, d.h., gleiche Zeichen in und B an dieser Stelle) so, dass e()=b Beispiel: =, B= C MIMMMR IRMMMDI C _C Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

23 Editabstand Offensichtlich gibt es für,b ziemlich viele Editskripte Definition Die Länge eines Editskript ist die nzahl von Operationen o im Skript mit o {I, R, D} Der Editabstand zweier Strings, B ist die Länge des kürzesten Editskript für, B Bemerkung Für den bstand zählen nur die Änderungen nderer Name: Levenshtein-bstand Es gibt oft verschiedene kürzeste Editskripte IMMMMMD? Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

24 Editabstand Offensichtlich gibt es für,b ziemlich viele Editskripte Definition Die Länge eines Editskript ist die nzahl von Operationen o im Skript mit o {I, R, D} Der Editabstand zweier Strings, B ist die Länge des kürzesten Editskript für, B Bemerkung Für den bstand zählen nur die Änderungen nderer Name: Levenshtein-bstand Es gibt oft verschiedene kürzeste Editskripte IMMMMMD DMMMMMI Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

25 Beobachtungen Ziel: Wir benutzen den (leicht berechenbaren) Editabstand als objektives Maß für Sequenzähnlichkeit Fußt auf der nnahme, dass homologe Sequenzen durch Evolutionsereignisse entstehen Beinhaltet eine Minimalismusannahme wir suchen eine Evolutionsgeschichte mit möglichst wenig Ereignissen Sind wäre das Problem undefiniert Wir können daraus nicht mit Sicherheit ableiten, was wirklich passiert ist Handlicher (und gebräuchlicher) als Editskripte sind lignments Next steps Definition von lignments lignments und Pfade durch Dotplots Berechnung des Editabstandes (=lignmentscore) Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

26 lignment Definition Ein (globales) lignment zweier Strings,B ist eine Untereinanderanordnung von und B, jeweils mit beliebigen zusätzlichen Leerzeichen (_), ohne das zwei Leerzeichen untereinander stehen chtung: Untereinanderstehende Zeichen müssen nicht matchen Der lignmentscore eines lignment ist die nzahl von Leerzeichen und Mismatches Der lignmentabstand zweier Strings, B ist der minimale lignmentscore aller lignments der beiden Strings Beispiele C C Score: Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

27 lignments und Dotplots 2 Sei =m, B =n Betrachte Pfade im Dotplot von (1,1) nach (m,n) lignment: Sei über B angeordnet Jeder Pfad startet in der linken oberen Ecke Schritt nach rechts: Nächstes Zeichen von ; _ in B Schritt nach unten: Nächstes Zeichen von B; _ in Schritt nach rechts-unten: Nächstes Zeichen von und B C C C CC CC C C C C C C Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

28 Beispiele CC C_ CC C C C C C C C Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

29 Pfadgüte ute lignments haben viele Matches lignmentabstand: nzahl von _ plus nzahl von Mismatches Matches im Dotplot sind die 1 er Felder Definition Die üte eines Pfades P durch einen Dotplot M für Strings, B ist die nzahl an durchquerten 1 er Feldern Bzw. blauen Feldern Bemerkung Schritte nach rechts oder unten können nicht zählen Der beste Pfad kann also höchstens üte min(m,n) haben Berechnung der üte eines Pfades ist (offensichtlich) fast das gleiche Problem wie das Finden des optimalen lignments Einziger (oberflächlicher) Unterschied: Pfadgüten sollen gross sein, lignmentscores klein Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

30 C C C Beispiele Pfadgüte: 0 C C C Pfadgüte: 2 C C C Ulf Leser: Bioinformatik für Biophysiker, Sommersemester Pfadgüte: 8 Maximale üte?

31 lgorithmus Naives Verfahren um den besten Pfad zu finden lle Pfade aufzählen Das sind exponentiell viele Nur Pfade um die Hauptdiagonale: >3 min(m,n) Inakzeptable Laufzeit atsächliche Komplexität des Problems: O(m 2 ) Das erfordert noch einige rbeit Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

32 Berechnung von Editabständen Definition. egeben zwei Strings, B mit =n, B =m Sei dist(,b) der Editabstand von und B Sei d(i,j), 0 i n und 0 j m, der Editabstand zwischen [1..i] und B[1..j] Bemerkungen Offensichtlich gilt: d(n, m)=dist(,b) Definition von d(i,j) dient zur rekursiven Berechnung von dist(,b) Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

33 Rekursive Definition von lignments C C C C _ C _ C C C C C C _ C_ C C_ Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

34 Ulf Leser: Bioinformatik für Biophysiker, Sommersemester Rekursionsgleichung Wir leiten das nächste Symbol im Editskript aus schon bekannten Editabständen ab Wir suchen das kürzeste Skript, also = ), ( 1) 1, ( 1 ) 1, ( 1 1), ( min ), ( j i t j i d j i d j i d j i d = sonst j B i wenn j i t 0 : ] [ ] [ 1: ), (

35 Randbedingungen Randbedingungen nicht vergessen d(i,0) = i Um [1..i] zu zu transformieren braucht man i Deletions d(0,j) = j Um [1..0] zu B[1..j] zu transformieren braucht man j Insertions Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

36 Zusammen heorem Der Editabstand zweier Strings,B mit =n, B =m berechnet sich mit Startbedingung als d(n,m) mit folgender Rekursionsgleichung d( i, Beweis Per Konstruktion d ( i,0) = i d(0, j) = d( i, j 1) + 1 j) = min d( i 1, j) + 1 d( i 1, j 1) + t( i, j j) Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

37 Rekursiver lgorithmus function d(i,j) { if (i = 0) return j; else if (j = 0) return i; else return min ( d(i-1,j) + 1, d(i,j-1) + 1, d(i-1,j-1) + t([i],b[j])); } function t(c 1, c 2 ) { if (c 1 = c 2 ) return 0; else return 1; } Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

38 Sicher nicht optimal ufrufbaum mit Parametern D(2,2) D(2,1) D(1,2) D(1,1) D(2,0) D(1,0) D(1,1) D(0,1) D(1,0) D(0,0) D(1,1) D(0,2) D(0,1) Optimierungspotential? Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

39 Sicher nicht optimal Durch die Rekursionsgleichung werden viele eillösungen mehrfach berechnet D(2,2) D(2,1) D(1,2) D(1,1) D(2,0) D(1,0) D(1,1) D(0,1) D(1,0) D(0,0) D(1,1) D(0,2) D(0,1) Es gibt nur (n+1)*(m+1) verschiedene ufrufe Wie kann man die redundanten Berechnungen sparen? Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

40 abellarische Berechnung rundidee Speichern der eillösungen in abelle (2-dimensionales rray) ufbau der abelle: Bottom-Up (statt rekursiv op-down) Initialisierung mit festen Randwerten d(i,0) und d(0,j) Sukzessive Berechnung von d(i,j) für steigende i,j Zur Berechnung eines d(i,j) brauchen wir d(i,j-1), d(i-1,j) und d(i-1,j-1) Verschiedene Reihenfolgen möglich C C C C C C Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

41 Beispiel d( i, j) = d( i, j 1) + 1 min d( i 1, j) + 1 d( i 1, j 1) + t( i, j) C C C C C C Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

42 Was ist gewonnen? C Editabstand von, C ist 3 Wir suchen auch das lignment, nicht nur den bstand Extraktion aus der abelle durch raceback Bei Berechnung von d(i,j) behalte Pointer auf minimale Vorgängerzelle(n) Die muss nicht eindeutig sein C C C Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

43 Vom Pfad zum lignment C Jeder Pfad von (n,m) nach (1,1) ist ein optimales lignment Starte von (1,1) Nach rechts: Deletion in Nach unten: Insertion in Diagonal: Match/Replace C C C C Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

44 Beispiel 2 WRI_ERS VINNER_ WRI ERS V_INNER_ WRI ERS _VINNER_ Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

45 Komplexität ufbau der abelle Zur Berechnung einer Zelle muss man genau drei andere Zellen betrachten Konstante Zeit pro Betrachtung m*n Zellen Insgesamt: O(m*n) raceback Man kann einen beliebigen Pfad wählen Es muss einen Pfad von (n,m) nach (1,1) geben Jede Zelle hat mindestens einen Pointer Keine Zelle zeigt aus der abelle hinaus Worst-Case Pfadlänge ist O(m+n) Für ein lignment Zusammen O(m*n) (für m*n > m+n) Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

46 Prinzip des dynamischen Programmierens Ziel: Optimierung einer Zielfunktion Hier: Editabstand Prinzip Berechnung von Lösungen für große Problemen aus Lösungen für kleinere Probleme Weiteres Beispiel: Kürzeste Wege in raphen Drei Bestandteile Berechnung aus optimalen eillösungen Hier: Rekursionsgleichung Zwischenspeichern der eillösungen Hier: abelle mit Werten d(i,j) Rückverfolgung der Lösung aus abelle Hier: raceback des lignments Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

47 Zusammenfassung Editabstand und lignierung ineinander überführbar Berechnung eines optimalen lignments hat quadratische Komplexität (wenn m=n) Mittels dynamischer Programmierung abelle aufbauen, Pfad zurückverfolgen Platzbedarf ist auch quadratisch Das ist kritisch Es gibt Erweiterungen mit linearem Platzbedarf Wichtige Erweiterungen: Substitutionsmatrizen Berücksichtigen die Biologie der ufgabe Mutationswahr-scheinlichkeiten, minosäureähnlichkeiten, Evolutionsmodell,... Substitutionsmatrizen machen approximatives Stringmatching erst anwendbar in der Bioinformatik Ulf Leser: Bioinformatik für Biophysiker, Sommersemester

Algorithmische Bioinformatik

Algorithmische Bioinformatik lgorithmische Bioinformatik pproximatives Stringmatching Edit-bstand Ulf Leser Wissensmanagement in der Bioinformatik Ziele dieser Vorlesung Einstieg in exaktes approximatives Stringmatching Bedeutung

Mehr

Algorithmische Bioinformatik

Algorithmische Bioinformatik lgorithmische Bioinformatik Stringalignment Ulf Leser Wissensmanagement in der Bioinformatik Inhalt dieser Vorlesung pproximative Stringvergleiche Dotplots Edit-bstand und lignment Naiver lgorithmus Ulf

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. Z-Box Algorithmus Preprocessing eines Strings. Ulf Leser Wissensmanagement in der. Bioinformatik

Bioinformatik. Z-Box Algorithmus Preprocessing eines Strings. Ulf Leser Wissensmanagement in der. Bioinformatik Bioinformatik Z-Box Algorithmus Preprocessing eines Strings Ulf Leser Wissensmanagement in der Bioinformatik Drei Anwendungen Sequenzierung Assembly von Teilsequenzen cdna Clustering All-against-all Sequenzvergleiche

Mehr

Bioinformatik. Dynamische Programmierung. Ulf Leser Wissensmanagement in der. Bioinformatik

Bioinformatik. Dynamische Programmierung. Ulf Leser Wissensmanagement in der. Bioinformatik Bioinformatik Dynamische Programmierung Ulf Leser Wissensmanagement in der Bioinformatik Motivation BLAST / FASTA und Verwandte sind *die* Bioinformatik Anwendung Teilweise synonym für Bioinformatik rundlegende

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

Bioinformatik. Alignment mit linearem Platzbedarf K-Band Alignment. Ulf Leser Wissensmanagement in der. Bioinformatik

Bioinformatik. Alignment mit linearem Platzbedarf K-Band Alignment. Ulf Leser Wissensmanagement in der. Bioinformatik Bioinformatik Alignment mit linearem Platzbedarf K-Band Alignment Ulf Leser Wissensmanagement in der Bioinformatik Ankündigungen Gastvortrag: Morgen Dr. Klein, Metanomics GmbH Bioinformatik in der Pflanzengenomik

Mehr

Dynamische Programmierung

Dynamische 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

Mehr

19. Dynamic Programming I

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

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

HS: Angewandte Linguistische Datenverarbeitung Prof. Dr. Rolshoven Universität zu Köln. Edit distance. Referentinnen: Alena Geduldig, Kim Opgenoorth

HS: Angewandte Linguistische Datenverarbeitung Prof. Dr. Rolshoven Universität zu Köln. Edit distance. Referentinnen: Alena Geduldig, Kim Opgenoorth HS: Angewandte Linguistische Datenverarbeitung Prof. Dr. Rolshoven Universität zu Köln Edit distance Referentinnen: Alena Geduldig, Kim Opgenoorth inexact matching Problem Erkenne, finde und toleriere

Mehr

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

Algorithmen 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

Mehr

String - Matching. Kapitel Definition

String - Matching. Kapitel Definition Kapitel 1 String - Matching 1.1 Definition String - Matching ( übersetzt in etwa Zeichenkettenanpassung ) ist die Suche eines Musters ( Pattern ) in einem Text. Es findet beispielsweise Anwendung bei der

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

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

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

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

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

Mehr

19. Dynamic Programming I

19. Dynamic Programming I Fibonacci Zahlen 9. Dynamic Programming I Fibonacci, Längste aufsteigende Teilfolge, längste gemeinsame Teilfolge, Editierdistanz, Matrixettenmultipliation, Matrixmultipliation nach Strassen [Ottman/Widmayer,

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

Bioinformatik. Zeichenketten und Stringalgorithmen. Ulf Leser Wissensmanagement in der. Bioinformatik

Bioinformatik. Zeichenketten und Stringalgorithmen. Ulf Leser Wissensmanagement in der. Bioinformatik Bioinformatik Zeichenketten und Stringalgorithmen Ulf Leser Wissensmanagement in der Bioinformatik Inhalt dieser Vorlesung Motivation Strings und Matching Naiver Algorithmus Z-Box Algorithmus Ulf Leser:

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

Effiziente Algorithmen und Komplexitätstheorie

Effiziente 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

Algorithmen und Datenstrukturen 2

Algorithmen 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

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

Algorithmische Bioinformatik

Algorithmische Bioinformatik Algorithmische Bioinformatik Multiple Sequence Alignment Sum-of-pairs Score Center-Star Score Ulf Leser Wissensmanagement in der Bioinformatik Inhalt dieser Vorlesung Multiples Sequenzalignment Sum-Of-Pair

Mehr

Bioinformatik für Lebenswissenschaftler

Bioinformatik für Lebenswissenschaftler Bioinformatik für Lebenswissenschaftler Oliver Kohlbacher, Steffen Schmidt SS 2010 5. Paarweises Alignment Teil I Abt. Simulation biologischer Systeme WSI/ZBIT, Eberhard Karls Universität Tübingen Übersicht

Mehr

Bioinformatik. Zeichenketten und Stringalgorithmen. Ulf Leser Wissensmanagement in der. Bioinformatik

Bioinformatik. Zeichenketten und Stringalgorithmen. Ulf Leser Wissensmanagement in der. Bioinformatik Bioinformatik Zeichenketten und Stringalgorithmen Ulf Leser Wissensmanagement in der Bioinformatik Inhalt dieser Vorlesung Warum Stringmatching? Strings und Matching Naiver Algorithmus Ulf Leser: Bioinformatik

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 Biologische Daten als Strings Ulf Leser Wissensmanagement in der Bioinformatik Ziele für heute Wert von Reduktionismus: Genome als Strings Reinschmecken in Stringmatching Erster

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 20 (13.7.2016) String Matching (Textsuche) Algorithmen und Komplexität Textsuche / String Matching Gegeben: Zwei Zeichenketten (Strings)

Mehr

Übungsaufgaben zur Einführung in die Bioinformatik - Lösungen

Übungsaufgaben zur Einführung in die Bioinformatik - Lösungen 18.01.2013 Prof. P. Güntert 1 Vorlesung BPC I: Aspekte der Thermodynamik in der Strukturbiologie Übungsaufgaben zur Einführung in die Bioinformatik - Lösungen 1. Hamming und Levenshtein Distanzen a) Was

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

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

Algorithmen auf Sequenzen

Algorithmen auf Sequenzen Algorithmen auf Sequenzen Vorlesung von Prof. Dr. Sven Rahmann im Sommersemester 2008 Kapitel 4 Reguläre Ausdrücke Webseite zur Vorlesung http://ls11-www.cs.tu-dortmund.de/people/rahmann/teaching/ss2008/algorithmenaufsequenzen

Mehr

2. Algorithmische Methoden 2.1 Rekursion. 18. April 2017

2. Algorithmische Methoden 2.1 Rekursion. 18. April 2017 2. Algorithmische Methoden 2.1 Rekursion 18. April 2017 Rekursiver Algorithmus Ein rekursiver Algorithmus löst ein Problem, indem er eine oder mehrere kleinere Instanzen des gleichen Problems löst. Beispiel

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Technische Universität München Fakultät für Informatik Lehrstuhl für Effiziente Algorithmen Dr. Hanjo Täubig Tobias Lieber Sommersemester 2011 Übungsblatt 1 16. September 2011 Grundlagen: Algorithmen und

Mehr

Cognitive Interaction Technology Center of Excellence

Cognitive Interaction Technology Center of Excellence Kanonische Abdeckung Motivation: eine Instanz einer Datenbank muss nun alle funktionalen Abhängigkeiten in F + erfüllen. Das muss natürlich immer überprüft werden (z.b. bei jedem update). Es reicht natürlich

Mehr

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Algorithmen mit konstantem Platzbedarf: Die Klasse REG Algorithmen mit konstantem Platzbedarf: Die Klasse REG Sommerakademie Rot an der Rot AG 1 Wieviel Platz brauchen Algorithmen wirklich? Daniel Alm Institut für Numerische Simulation Universität Bonn August

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

Bioinformatik für Biochemiker

Bioinformatik für Biochemiker Bioinformatik für Biochemiker Oliver Kohlbacher WS 2009/2010 4. Paarweises Alignment Teil I Abt. Simulation biologischer Systeme WSI/ZBIT, Eberhard Karls Universität Tübingen Übersicht Paarweises Alignment

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

Kapitel 5: Dynamisches Programmieren Gliederung

Kapitel 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

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

Effiziente Algorithmen und Komplexitätstheorie

Effiziente Algorithmen und Komplexitätstheorie 1 Effiziente lgorithmen und Komplexitätstheorie Vorlesung Thomas Jansen 29.06.2006 2 Burrows-Wheeler-Kompression: Verbesserungen dreischrittiges Kompressionsverfahren Burrows- Wheeler- Transformation Globale

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

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil 4 Suchen in Texten Version vom: 15. November 2016 1 / 39 Vorlesung 8 15. November

Mehr

Universität Bremen. Textsuche. Thomas Röfer. Naive Suche Verfahren von Knuth-Morris-Pratt Verfahren von Boyer-Moore Ähnlichkeitssuche Editierdistanz

Universität Bremen. Textsuche. Thomas Röfer. Naive Suche Verfahren von Knuth-Morris-Pratt Verfahren von Boyer-Moore Ähnlichkeitssuche Editierdistanz Textsuche Thomas Röfer Naive Suche Verfahren von Knuth-Morris-Pratt Verfahren von Boyer-Moore Ähnlichkeitssuche Editierdistanz Rückblick Graphenalgorithmen Scan-Line-Prinzip Adjazenzmatrix Adjazenzlisten

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 2016 Patrick Schäfer, Humboldt-Universität zu Berlin Organisation Vorlesung: Montag 11 13 Uhr Marius Kloft RUD 26, 0 115 Mittwoch 11 13 Uhr Marius Kloft

Mehr

Der folgende Vortrag basiert auf dem Text A Polynomial Time Algorithm for the N-Queens Problem von Rok Sosic und Jun Gu aus dem Jahre 1990.

Der folgende Vortrag basiert auf dem Text A Polynomial Time Algorithm for the N-Queens Problem von Rok Sosic und Jun Gu aus dem Jahre 1990. Ein polynomieller Algorithmus für das N-Damen Problem 1 Einführung Der folgende Vortrag basiert auf dem Text A Polynomial Time Algorithm for the N-Queens Problem von Rok Sosic und Jun Gu aus dem Jahre

Mehr

Bioinformatik. Multiple String Alignment I. Ulf Leser Wissensmanagement in der. Bioinformatik

Bioinformatik. Multiple String Alignment I. Ulf Leser Wissensmanagement in der. Bioinformatik Bioinformatik Multiple String Alignment I Ulf Leser Wissensmanagement in der Bioinformatik BLAST2: Zwei-Hit-Strategie Original: Alle Hits mit Score > t werden zu MSPs verlängert Extensionen fressen >90%

Mehr

Cramersche Regel. Satz Es sei A R n n eine quadratische Matrix mit det(a) 0. Für ein LGS Ax = b sei. A j := (a 1,...,a j 1,b,a j+1,...

Cramersche Regel. Satz Es sei A R n n eine quadratische Matrix mit det(a) 0. Für ein LGS Ax = b sei. A j := (a 1,...,a j 1,b,a j+1,... Cramersche Regel Satz 2.4. Es sei A R n n eine quadratische Matrix mit det(a) 0. Für ein LGS Ax = b sei A j := (a,...,a j,b,a j+,...,a n ) also die Matrix, die entsteht, wenn in A die j-spalte durch den

Mehr

Algorithmen und Komplexität

Algorithmen 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

Mehr

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 14, Donnerstag, 5.

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 14, Donnerstag, 5. Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 14, Donnerstag, 5. Februar 2015 (Editierdistanz, dynamische Programmierung) Junior-Prof.

Mehr

Dank. Theoretische Informatik II. Teil II. Registermaschinen. Vorlesung

Dank. Theoretische Informatik II. Teil II. Registermaschinen. Vorlesung Dank Vorlesung Theoretische Informatik II Bernhard Beckert Institut für Informatik Diese Vorlesungsmaterialien basieren zum Teil auf den Folien zu den Vorlesungen von Katrin Erk (gehalten an der Universität

Mehr

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

Dank. 1 Ableitungsbäume. 2 Umformung von Grammatiken. 3 Normalformen. 4 Pumping-Lemma für kontextfreie Sprachen. 5 Pushdown-Automaten (PDAs) ank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert iese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen

Mehr

2. Entsprechende Listen P i von Vorgängern von i 3. for i := 1 to n do. (ii) S i = Knoten 2 + 1}

2. Entsprechende Listen P i von Vorgängern von i 3. for i := 1 to n do. (ii) S i = Knoten 2 + 1} 1. Berechne für jeden Knoten i in BFS-Art eine Liste S i von von i aus erreichbaren Knoten, so dass (i) oder (ii) gilt: (i) S i < n 2 + 1 und Si enthält alle von i aus erreichbaren Knoten (ii) S i = n

Mehr

Programmierung 2. Dynamische Programmierung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland.

Programmierung 2. Dynamische Programmierung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland. 1 Programmierung 2 Dynamische Programmierung Sebastian Hack hack@cs.uni-saarland.de Klaas Boesche boesche@cs.uni-saarland.de Sommersemester 2012 2 Übersicht Stammt aus den Zeiten als mit Programmierung

Mehr

Lineare Programmierung

Lineare Programmierung asis Definition 3.38 Gegeben sei ein LP in der Normalform mit m als Rang der Matrix 2 R m n. x 2 R n mit x = b heißt asislösung gdw. n m Komponenten x i gleich Null und die zu den restlichen Variablen

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

4. Übungsblatt zur Mathematik II für Inf, WInf

4. Übungsblatt zur Mathematik II für Inf, WInf Fachbereich Mathematik Prof Dr Streicher Dr Sergiy Nesenenko Pavol Safarik SS 010 11 15 Mai 4 Übungsblatt zur Mathematik II für Inf, WInf Gruppenübung Aufgabe G13 (Basistransformation) ( ) 15 05 Die lineare

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

Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive

Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive Grammatik G mit L(G) = L(G ). Beweis im Beispiel (2.): G = (V,Σ, P, S) : P = {S asbc, S abc, CB BC, ab ab, bb bb, bc bc, cc cc}. (i) G

Mehr

Einführung in die Bioinformatik

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

Mehr

Algorithmische Bioinformatik

Algorithmische Bioinformatik Algorithmische Bioinformatik Suffixarrays Ulf Leser Wissensmanagement in der Bioinformatik Inhalt dieser Vorlesung Suffixarrays Suche Konstruktionsalgorithmus nach Manber / Myers Enhanced Suffix Arrays

Mehr

Bioinformatik. Profilalignment und PSI Blast Center-Star Verfahren Progressives MSA CLUSTAL W. Ulf Leser Wissensmanagement in der.

Bioinformatik. Profilalignment und PSI Blast Center-Star Verfahren Progressives MSA CLUSTAL W. Ulf Leser Wissensmanagement in der. Bioinformatik Profilalignment und PSI Blast Center-Star Verfahren Progressives MS CLUSTL W Ulf Leser Wissensmanagement in der Bioinformatik Definition Bisher Immer Vergleich zweier Strings Jetzt Multipler

Mehr

12. Hashing. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete.

12. Hashing. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete. Worst-case Zeit für Search: Θ(n). In der Praxis jedoch sehr gut. Unter gewissen

Mehr

Bioinformatik. Multiple Sequence Alignment Sum-of-pairs Score. Ulf Leser Wissensmanagement in der. Bioinformatik

Bioinformatik. Multiple Sequence Alignment Sum-of-pairs Score. Ulf Leser Wissensmanagement in der. Bioinformatik Bioinformatik Multiple Sequence Alignment Sum-of-pairs Score Ulf Leser Wissensmanagement in der Bioinformatik Quasar Grundidee Search-Phase sucht Regionen mit Länge w und hoher Ähnlichkeit D.h. Regionen

Mehr

Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen

Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 18.4. 2012 176 Automatentheorie und formale Sprachen VL 5 Reguläre und nichtreguläre Sprachen Kathrin Hoffmann 18. Aptil 2012 Hoffmann (HAW

Mehr

Voronoi-Diagramme. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK

Voronoi-Diagramme. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 29.05.2011 Das Postamt-Problem b(p, q) = {x R 2 : xp = xq } p q h(p, q) h(q, p) = {x :

Mehr

Kapitel 1. Exakte Suche nach einem Wort. R. Stiebe: Textalgorithmen, WS 2003/04 11

Kapitel 1. Exakte Suche nach einem Wort. R. Stiebe: Textalgorithmen, WS 2003/04 11 Kapitel 1 Exakte Suche nach einem Wort R. Stiebe: Textalgorithmen, WS 2003/04 11 Überblick Aufgabenstellung Gegeben: Text T Σ, Suchwort Σ mit T = n, = m, Σ = σ Gesucht: alle Vorkommen von in T Es gibt

Mehr

Wann sind Codes eindeutig entschlüsselbar?

Wann sind Codes eindeutig entschlüsselbar? Wann sind Codes eindeutig entschlüsselbar? Definition Suffix Sei C ein Code. Ein Folge s {0, 1} heißt Suffix in C falls 1 c i, c j C : c i = c j s oder 2 c C und einen Suffix s in C: s = cs oder 3 c C

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Sortieralgorithmen Einleitung Heapsort Quicksort 2 Motivation Sortieren ist Voraussetzung für viele Anwendungen Nach

Mehr

GOTO simuliert Turingmaschinen

GOTO simuliert Turingmaschinen GOTO simuliert Turingmaschinen Wir wissen bisher: LOOP ( GOTO = WHILE TM Jetzt zeigen wir, dass auch WHILE = TM gilt: Die Turingmaschine M =(Z,,,,z 1,, E) berechne f. Wir simulieren M mit einem GOTO-Programm

Mehr

In diesem Abschnitt betrachten wir nur quadratische Matrizen mit Komponenten aus einem Körper K, also A K n n für ein n N. Wenn (mit einem n > 1)

In diesem Abschnitt betrachten wir nur quadratische Matrizen mit Komponenten aus einem Körper K, also A K n n für ein n N. Wenn (mit einem n > 1) 34 Determinanten In diesem Abschnitt betrachten wir nur quadratische Matrizen mit Komponenten aus einem Körper K, also A K n n für ein n N Wenn (mit einem n > 1) a 11 a 12 a 1n a 21 a 22 a 2n A =, (1)

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 15.01.2015 INSTITUT FÜR THEORETISCHE 0 KIT 15.01.2015 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

Mehr

5 Sequenz-/Strukturalignments

5 Sequenz-/Strukturalignments 5 Sequenz-/Strukturalignments Modul 10-202-2208 Bioinformatik von RN- und Proteinstrukturen Jana Hertel Lehrstuhl Bioinformatik 29. pril 2013 Jana Hertel (Lehrstuhl Bioinformatik) 5 Sequenz-/Strukturalignments

Mehr

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

1 Einführung. 2 Grundlagen von Algorithmen. 3 Grundlagen von Datenstrukturen. 4 Grundlagen der Korrektheit von Algorithmen Programm heute lgorithmen und atenstrukturen (für T/IT) Sommersemester 0 r. Tobias Lasser omputer ided Medical Procedures Technische Universität München inführung rundlagen von lgorithmen rundlagen von

Mehr

Bioinformatik. Zeichenketten und Stringalgorithmen. Ulf Leser Wissensmanagement in der. Bioinformatik

Bioinformatik. Zeichenketten und Stringalgorithmen. Ulf Leser Wissensmanagement in der. Bioinformatik Bioinformatik Zeichenketten und Stringalgorithmen Ulf Leser Wissensmanagement in der Bioinformatik Inhalt dieser Vorlesung Warum Stringmatching? Strings und Matching Naiver Algorithmus Ulf Leser: Algorithmische

Mehr

lim log 2n n = > 0 Da es einen Limes gibt, gibt es auch einen Limes inferior, der gleich diesem Limes ist.

lim log 2n n = > 0 Da es einen Limes gibt, gibt es auch einen Limes inferior, der gleich diesem Limes ist. Prof. aa Dr. Ir. Joost-Pieter Katoen Christian Dehnert, Jonathan Heinen, Thomas Ströder, Sabrina von Styp Aufgabe 1 (O-Notation): Beweisen oder widerlegen Sie die folgenden Aussagen: (3 + 3 + 4 = 10 Punkte)

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

Vortrag 20: Kurze Vektoren in Gittern

Vortrag 20: Kurze Vektoren in Gittern Seminar: Wie genau ist ungefähr Vortrag 20: Kurze Vektoren in Gittern Kerstin Bauer Sommerakademie Görlitz, 2007 Definition und Problembeschreibung Definition: Gitter Seien b 1,,b k Q n. Dann heißt die

Mehr

Kapitel 2: Zahlentheoretische Algorithmen Gliederung

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

Mehr

Bioinformatik. Zeichenketten und Stringalgorithmen. Ulf Leser Wissensmanagement in der. Bioinformatik

Bioinformatik. Zeichenketten und Stringalgorithmen. Ulf Leser Wissensmanagement in der. Bioinformatik Bioinformatik Zeichenketten und Stringalgorithmen Ulf Leser Wissensmanagement in der Bioinformatik Inhalt dieser Vorlesung Warum Stringmatching? Strings und Matching Naiver Algorithmus Ulf Leser: Bioinformatik,

Mehr

Kapitel 5. Textalgorithmen. 5.1 Grundbegriffe

Kapitel 5. Textalgorithmen. 5.1 Grundbegriffe Kapitel 5 Textalgorithmen 5.1 Grundbegriffe Wir beschäftigen uns hauptsächlich mit Textsuche (und Varianten). Gegeben: Alphabet Σ (mindestens zwei Buchstaben). Text S = s 1... s n Σ in Array S[1..n]. Muster

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

Aufgabe 3: Erste Versuche im Indexieren des Templates. Ulf Leser Wissensmanagement in der Bioinformatik

Aufgabe 3: Erste Versuche im Indexieren des Templates. Ulf Leser Wissensmanagement in der Bioinformatik Aufgabe 3: Erste Versuche im Indexieren des Templates Ulf Leser Wissensmanagement in der Bioinformatik q-gram Index Ein q-gram Index für einen String T ist ein invertiertes File über allen q-grammen von

Mehr

Lineare Gleichungssystem

Lineare Gleichungssystem Lineare Gleichungssystem 8. Juli 07 Inhaltsverzeichnis Einleitung Der Gauß-Algorithmus 4 3 Lösbarkeit von Gleichungssystemen 6 Einleitung Wir haben uns bisher hauptsächlich mit dem Finden von Nullstellen

Mehr

HEUTE. Datenstrukturen im Computer. Datenstrukturen. Rekursion. Feedback Evaluation. abstrakte Datenstrukturen

HEUTE. Datenstrukturen im Computer. Datenstrukturen. Rekursion. Feedback Evaluation. abstrakte Datenstrukturen 9.2.5 HUT 9.2.5 3 atenstrukturen im omputer atenstrukturen ie beiden fundamentalen atenstrukturen in der Praxis sind rray und Liste Rekursion Feedback valuation rray Zugriff: schnell Umordnung: langsam

Mehr

INFORMATIK FÜR BIOLOGEN

INFORMATIK FÜR BIOLOGEN Technische Universität Dresden 15012015 Institut für Theoretische Informatik Professur für Automatentheorie INFORMATIK FÜR BIOLOGEN Musterklausur WS 2014/15 Studiengang Biologie und Molekulare Biotechnologie

Mehr

VL-11: LOOP und WHILE Programme I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger

VL-11: LOOP und WHILE Programme I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger VL-11: LOOP und WHILE Programme I (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger WS 2017, RWTH BuK/WS 2017 VL-11: LOOP und WHILE Programme I 1/46 Organisatorisches Nächste Vorlesung: Mittwoch,

Mehr

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Motivation. Vorlesung 10: Binäre Suchbäume

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Motivation. Vorlesung 10: Binäre Suchbäume Übersicht Datenstrukturen und lgorithmen Vorlesung : Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://moves.rwth-aachen.de/teaching/ss-/dsal/ 1 Suche Einfügen

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

Proseminar String Matching

Proseminar String Matching Proseminar Textsuche Proseminar String Matching PD Dr. habil. Hanjo Täubig Lehrstuhl für Theoretische Informatik (Prof. Dr. Susanne Albers) Institut für Informatik Technische Universität München Wintersemester

Mehr

Theoretische Informatik. Alphabete, Worte, Sprachen

Theoretische Informatik. Alphabete, Worte, Sprachen Theoretische Informatik Alphabete, Worte, Sprachen Alphabete, Worte, Sprachen 1. Alphabete und Worte Definitionen, Beispiele Operationen mit Worten Induktionsbeweise 2. Sprachen Definition und Beispiele

Mehr

Wiederholung. Organisatorisches. VL-11: LOOP und WHILE Programme I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger

Wiederholung. Organisatorisches. VL-11: LOOP und WHILE Programme I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger Organisatorisches VL-11: LOOP und WHILE Programme I (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger Nächste Vorlesung: Mittwoch, November 29, 14:15 15:45 Uhr, Roter Hörsaal Webseite: http://algo.rwth-aachen.de/lehre/ws1718/buk.php

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

4.2 Die Chomsky Normalform

4.2 Die Chomsky Normalform 4.2 Die Chomsky Normalform Für algorithmische Problemstellungen (z.b. das Wortproblem) aber auch für den Nachweis von Eigenschaften kontextfreier Sprachen ist es angenehm, von CFG in Normalformen auszugehen.

Mehr

Vorlesung Einführung in die Bioinformatik

Vorlesung Einführung in die Bioinformatik Vorlesung Einführung in die Bioinformatik Dr. Stephan Weise 04.04.2016 Einführung Gegeben: zwei Sequenzen Gesucht: Ähnlichkeit quantitativ erfassen Entsprechungen zwischen einzelnen Bausteinen beider Sequenzen

Mehr

VORLESUNG 12 Lineare Optimierung (Viele Folien nach Ulf Lorenz, jetzt TU Darmstadt)

VORLESUNG 12 Lineare Optimierung (Viele Folien nach Ulf Lorenz, jetzt TU Darmstadt) VORLESUNG 12 Lineare Optimierung (Viele Folien nach Ulf Lorenz, jetzt TU Darmstadt) 53 Wiederholung! Basis-Startlösung berechnet! Künstliche Variablen! Erkennung von unlösbaren Problemen! Eliminierung

Mehr