Einführung in die Bioinformatik (Teil 1)

Größe: px
Ab Seite anzeigen:

Download "Einführung in die Bioinformatik (Teil 1)"

Transkript

1 Einführung in die Bioinformatik (Teil 1) Skript zur Vorlesung WS 2001/02 Paul Fischer Version 0.25 Dortmund, den 8. November 2001

2 Einführung in die Bioinformatik (Teil 1) Paul Fischer Version 0.25 vom 8. November 2001 Dieses Skript wurde mit LaTeX2ε erzeugt

3 Inhaltsverzeichnis 1 Biologische Grundlagen Historisches Biologische Konzepte Technik zur Manipulation genetischer Information DNA-Computing Paarweise Zuordnung ohne Lücken (Pattern Matching) Ein naiver Algorithmus Schnelles Pattern-Matching mit endlichen Automaten Der Pattern-Matching-Algorithmus von Knuth, Morris und Pratt Der Boyer-Moore Algorithmus Bewertungsfunktionen und -matrizen Methoden zur Bestimmung von Bewertungsfunktionen Maximum Likelihood Schätzen (ML-Schätzen) Dayhoff-PAM-Matrizen Alignments mit Lücken Needleman-Wunsch Lösung des Pairwise Alignment auf linearem Platz (Hirschberg Algoritmus) Semiglobales Alignment Lokales Alignment Alignments mit Repeated Matches Suboptimale Alignments Zählen der Pfade Bestimmung der suboptimalen Pfade Allgemeine Lückenstrafen Affine Lückenstrafen

4 4 Inhaltsverzeichnis

5 Kapitel 1 Biologische Grundlagen Die Beschreibungen in diesem Kapitel sind stark vereinfacht! 1.1 Historisches 1740: Linné: Einführung der biologischen Systematik und Nomenklatur. 1859: Darwin: In Die Entstehung der Arten wird die Idee der biologischen Evolution entwickelt. 1866: Mendel: Konzept der Gene als Träger der Erbinformation. 1953: Watson und Crick: Erkennung und Analyse der molekularen Struktur der DNA. Gilt als Geburtsstunde der Molekularbiologie. 1.2 Biologische Konzepte DNS/DNA - Desoxyribonukleinsäure / -acid ist ein großes bandförmiges Molekül aus zwei auf gleiche Weise aufgebauten Einzelsträngen. Jeder Strang besteht aus einer gegliederten Trägerkette. Jedes Glied besteht aus einer Zucker und einer Phosphatgruppe und einer angehängten Base. Schematisch: Zucker-Phosphat-Gruppe Base Das ganze Gebilde heißt ein Desoxyribonukleotid. Die Zucker-Phosphatgruppen bilden das Rückgrat der DNA-Kette, die Basen tragen die eigentliche geneti- 5

6 6 Kapitel 1 Biologische Grundlagen sche Information. Die Verbindungen zwischen den einzelnen Zucker-Phosphat- Gruppen sind locker; hier kann eine Kette jeweils aufgebrochen werden. Es gibt vier verschiedene Basen, die mit den Buchstaben A,T,G,C abgekürzt werden. A - Adenin T - Thymin G - Guanin C - Cytosin Die Basen einer Kette gehen Bindungen mit den Basen der gegenüberliegenden zweiten Kette einer DNA ein. Dabei sind nur die Paarungen T-A und C-G möglich. A C T T G T G A A C Abbildung 1.1: Schematische Darstellung eines DNA-Moleküls. Die räumliche Struktur eines DNA-Moleküls ist eine Doppelhelix. RNS/RNA Ribonukleinsäure/ -acid Die RNS ist prinzipiell wie die DNS aufgebaut. Statt der Desoxyribose in den Kettengliedern kommt aber Ribose vor, statt der Base Thymin kommt Uracil vor, das sich nur mit Adenin paart (U- A). RNS-Ketten dienen zum Kopieren von genetischer Information. Sie nehmen die Information eines Teils einer DNA-Kette komplementär ab und übersetzen diese in einem biochemischen Prozess in ein Protein. Die RNA-Kopien von DNA-Abschnitten heißen messenger RNA, kurz mrna. Proteine Proteine sind Moleküle, die aus Ketten von Aminosäuren bestehen. Es gibt 20 Aminosäuren, die wir in Tabelle 1.1 aufführen.

7 1.2 Biologische Konzepte 7 Aminosäure: Kürzel/Buchstabe: Aminosäure: Kürzel/Buchstabe: Alanin Ala / A Leucin Leu / L Arginin Arg / R Lysin Lys / K Asparagin Asn / N Methionin Met / M Asparaginsäure Asp / D Phenylalanin Phe / F Cystein Cys / C Prolin Pro / P Glutamin Gln / Q Serin Ser / S Glutaminsäure Glu / E Threonin Thr / T Glycin Gly / G Tryptophan Trp / W Histidin His / H Tyrosin Tyr / Y Isoleucin Ile / I Valin Val / V Tabelle 1.1: Die Aminosäuren mit ihren Abkürzungen und den entsprechenden Buchstaben-Symbolen. Die RNA-Information besteht aus einer Folge von Basen (A,G,C,U). Diese kodiert eine Folge von Aminosäuren, in denen immer drei aufeinanderfolgende Basen eine Aminosäure beschreiben. Es gibt 64 mögliche Kodierungen. Manche der 20 Aminosäuren sind daher mehrfach kodiert. Jede solche Dreiergruppe von Basen in einer RNA-Kette heißt ein Codon. Damit die Kodierung eindeutig ist, ist eine RNA-Kette gerichtet, d.h., ein Ende ist als Anfang, das andere als Ende gekennzeichnet. Den Anfang nennt man das 5 -Ende, das Ende 3 - Ende. Kenntlich gemacht werden sie durch das Initialisations-Codon AUG bzw. eines der drei Stopp-Codons UAA, UAG oder UGA. Die Übersetzung der 64 möglichen Codons aus {A,C,G,U} 3 in die 20 Aminosäuren erfolgt wie in Tabelle 1.2, die den genetischen Code darstellt. Die genetische Information des Menschen ist in der DNA in etwa drei Milliarden Basenpaaren gespeichert. Die Kodierung ist dabei redundant. Nur Teilstücke von DNA-Strängen kodieren Teile eines Proteins; die Teile heißen Exons (expressed sequences). Zwischen Exons liegen Teilstücke, die keine Proteine kodieren, sogenannte Introns (intervening sequences), deren Funktion nicht völlig geklärt ist. Je nach Abstraktionsgrad teilt man den Aufbau eines Proteins in Primär-, Sekundär-, Tertiär- und Quartärstrukter ein. Die Primärstruktur ist durch die Reihenfolge der Aminosäuren beschrieben; sie ist eindimensional. Die Sekundärstruktur beschreibt lokal auftretende Substrukturen wie sogenannte α-helices oder β-faltblätter siehe Abbildung 1.2. Die Tertiärstruktur beschreibt die räumliche Anordnung einer Aminosäuren-Kette des Proteins. Die Quartärstruktur beschreibt das Arrangement und Zusammenspiel aller Ketten.

8 8 Kapitel 1 Biologische Grundlagen erste Position zweite Position dritte Position (5 -Ende) (3 -Ende) U U C A G Phe Ser Tyr Cys U Phe Ser Tyr Cys C Leu Ser Stopp Stopp A Leu Ser Stopp Trp G C Leu Pro His Arg U Leu Pro His Arg C Leu Pro Gln Arg A Leu Pro Gln Arg G A Ile Thr Asn Ser U Ile Thr Asn Ser C Ile Thr Lys Arg A Met Thr Lys Arg G G Val Ala Asp Gly U Val Ala Asp Gly C Val Ala Glu Gly A Val Ala Glu Gly G AUG wird auch als Teil der Initiationssequenz verwendet. Tabelle 1.2: Die Übersetzung der Codenamen der drei Basen A, C, G, U in Aminosäuren. Abbildung 1.2: Sekundärstruktur 1.3 Technik zur Manipulation genetischer Information Es gibt mehrere Techniken zur Manipulation von genetischer Information.

9 1.4 DNA-Computing 9 Restriktionsenzyme dient zum Trennen von DNA-Strängen an bestimmten Stellen. Gel-Elektrophorese dient zur Trennung der verschiedenen Molekültypen in einem Gemisch von RNAs (bzw. DNAs oder Proteinen). Verschiedene Typen von RNA im Gemisch können so identifiziert und isoliert werden. Sequenzierung ist der Prozess zur Bestimmung der Aminosäurenreihenfolge in einem Protein (bzw. der kodierenden Basenreihenfolge in einer RNA oder DNA.). Biochips stellen eine spezielle Sequenzierungstechnik dar. DNA-Rekombinationsmethoden sind Techniken zur Duplizierung, und Verkettung von DNAs. Damit können neue DNA-Folgen erzeugt werden. Polymerase-Kettenreaktion (PCR) ist eine Technik zur Vervielfältigung von DNA-Teilfolgen. Human Genome Projekt hat es sich zum Ziel gesetzt, mit den vorher beschriebenen Methoden die menschliche Erbinformation vollständig zu entschlüsseln. 1.4 DNA-Computing Darunter versteht man das Lösen von Problemen mittels Manipulation von DNA- Informationen mit der Methode 1.3. Ein Beispiel ist der von Adleman durchgeführte Algorithmus, der testet, ob ein Graph mit 7 Knoten einen Hamilton Kreis enthält.

10 10 Kapitel 1 Biologische Grundlagen

11 Kapitel 2 Paarweise Zuordnung ohne Lücken (Pattern Matching) Beim Patternmatching handelt es sich um die Aufgabe einen String y in einem String x als Substring, d.h. als zusammenhängende Zeichenkette, wiederzufinden. So ist ab ein Substring von Osnabrück, während sack eine (nicht notwendig zusammenhängende) Teilfolge, aber kein Substring ist. Seien x = x 1 x n, y = y 1 y m, n m, x i, y j Σ, wobei Σ ein endliches Alphabet ist. Das Pattern-Matching- Problem ist es dann, eine Zahl i, 1 i n m + 1 zu finden, so dass j; 1 j m und y j = x i+j 1 gilt. 2.1 Ein naiver Algorithmus Der naive Algorithmus testet an allen möglichen Stellen, an denen y an x angelegt werden kann, ob y Substring von x ist. Mögliche Startstellen für y in x sind i, 1 i n m + 1. Für jedes solche i wird getestet ob für j = 1... m die entsprechenden Zeichen in x und y gleich sind: y j = x i+j 1, j = 1,..., m Bei Erfolg ist y Substring von x. Dies ist in Zeit O(n m) möglich. Die Laufzeit Θ(n m) kann auch erreicht werden. Man wähle x = 1 1 und y = Dann wird erst beim m-ten Vergleich erkannt, dass y kein Substring von x ist. Dies geschieht (n m + 1) Mal. Die Laufzeit m (n m + 1) ist also erreichbar. 2.2 Schnelles Pattern-Matching mit endlichen Automaten In dem Worst-Case-Beispiel (x = 1 1, y = 1 10) aus dem Abschnitt 2.1 wird klar, dass der naive Algorithmus Information verschenkt: Da x nur aus Einsen be- 11

12 Kapitel 2 12 Paarweise Zuordnung ohne Lücken (Pattern Matching) steht und y mit Einsen beginnt, ist klar, dass das letzte Zeichen von y, die Null, über das Matching entscheidet. Nach den ersten Vergleichen von y mit einem Teil von x ist klar, dass die ersten m 1 Zeichen von y immer mit x übereinstimmen. Wir wollen endliche Automaten einsetzen, um bereits gewonnene Erkenntnisse über Gleichheit von Teilen von x und y auszuschlachten. Sei der gesuchte String y fest. Dann enthält ein String x den String y als Substring, wenn y nach einer gewissen Zeit in x auftritt. Alle Strings x mit dieser Eigenschaft lassen sich wie folgt durch einen regulären Ausdruck beschreiben Σ y Σ, wobei für die Konkatenation von Strings steht. Es genügt also, einen endlichen Automaten A y für die Sprache, die nur aus dem Wort y besteht, zu entwerfen und diesen auf das Wort x anzusetzen. Zur Konstruktion von A y bezeichne y (i) = y 1... y i, 0 i m das Präfix der Länge i von y; dabei ist y (0) = das leere Wort. Der Automat A y besitzt m + 1 Zustände, die wir mit y (i) i = 0,... m bezeichnen. Zustand y (0) ist der Startzustand und Zustand y (j) soll genau dann erreicht werden, wenn in x der String y (j) als Substring gefunden wurde. Die Übergänge sind so definiert: a Σ : y (i) a y (j) (2.1) wenn y (j) das längste Suffix von y (i) a ist, das Präfix von y ist. Das Rückgrat des Automaten bilden die Zustandsübergänge y (i) y i+1 y (i+1), i = 0,..., m 1. Der Zustand ist der Startzustand. Einen akzeptierenden Endzustand gibt es nicht. Der Zustand y zeigt an, dass ein Vorkommen des Strings y in x gefunden wurde. Wir müssen noch eine effiziente Methode zur Berechnung der Zustandsübergänge finden. Die direkte Umsetzung der Formel 2.1 führt zu einem O(m 3 Σ ) Algorithmus. Algorithmus 2.1 Übergangsfunktion for i = 0,..., m{ for a Σ{ j min{m + 1, i + 2} do { j j 1 }while (y (j) ist kein Suffix von y (i) a) a y (j) } // for a } // for i Übergang y (i)

13 2.2 Schnelles Pattern-Matching mit endlichen Automaten 13 Die äußeren Schleifen benötigen Zeit O(m Σ ). Die DO-WHILE Schleife kann bis zu m-mal durchlaufen werden. Der Test, ob y (j) Präfix von y (i) a ist, benötigt bis zu m Schritte. So ergibt sich die erwähnte Laufzeit. Aufgabe 1: Verbessere die Prozedur zur Berechnung der Übergangsfunktion auf eine Laufzeit von O( Σ m). Dazu wird es hilfreich sein, die Ergebnisse aus dem Kapitel 2.3 über die Präfixfunktion zu verwenden. Alternativ: Schaue im Buch The Design and Analysis of Computer Algorithms von Aho, Hopcroft und Ullman nach. Erschienen bei Addison-Wesley Erkläre die Methode mit eigenen Worten. Beispiel 2.1: Σ = {A, C, G, T} y = AGAGT. In Abbildung 2.1 ist der resultierende Automat A y dargestellt. Setzt man diesen Automaten A y auf den String x = CAGAGTCCAGAGAGTC an, so erreicht er in den Schritten 6 und 15 den Zustand AGAGT ; der String y kommt also zweimal in x vor. C, G, T A A C, G, T G C, T A C, T A C, G AG A AGA G AGAG A T A AGAGT C, G, T Abbildung 2.1: Endlicher Automat für das Wort AGAGT über dem Alphabet Σ = {A, C, G, T}. Genau dann, wenn der Zustand AGAGT erreicht wird, wurde ein Vorkommen des Wortes AGAGT gefunden. In der Zeichnung sind parallele Kanten nur einmal gezeichnet und mit einer Menge von Buchstaben gekennzeichnet. Offenbar hat der Automat m + 1 Zustände und (m + 1) Σ Kanten. Er lässt sich in Zeit O(m Σ ) gemäß der Beziehung 2.1 konstruieren. Das Parsen des Strings x durch den Automaten dauert dann O(n). Damit ergibt sich: Satz 2.2: Das Pattern-Matching-Problem für Strings x, x = n und y, y = m über dem Alphabet Σ ist in Zeit O(n + m Σ ) lösbar.

14 Kapitel 2 14 Paarweise Zuordnung ohne Lücken (Pattern Matching) 2.3 Der Pattern-Matching-Algorithmus von Knuth, Morris und Pratt Beim Algorithmus aus Abschnitt 2.2 wurde ein Automat konstruiert, bei dem aus jedem Zustand genau Σ Kanten herausführen, eine für jeden Buchstaben. Der Algorithmus von Knuth, Morris und Pratt (KMP-Algorithmus) kommt mit weniger Kanten aus. Er formalisiert die Idee aus der Zeichnung 2.1, parallele Kanten zu einer zusammenzufassen. Weiterhin wird auf die Markierung der Kanten durch Buchstaben verzichtet. Diese Kanten geben dann an, um wieviel wir den gesuchten String y nach rechts verschieben müssen, wenn an einer Stelle eine Nicht-Übereinstimmung gefunden wurde. Betrachten wir zunächst das folgende Beispiel x = C A G A G C C C A G A y = A G A G T Zunächst legen wir y am Anfang von x an: C A G A G C C C A G A A G A G T Der erste Vergleich von C und A an Position 1 in x zeigt eine Nicht-Übereinstimmung. Wir verschieben daher y um eine Position nach rechts C A G A G C C C A G A A G A G T Nun sind die vier Vergleiche an den Positionen 2, 3, 4, 5 in x erfolgreich, erst an Stelle 6 wird eine Nicht-Übereinstimmung C-T entdeckt. Der naive Algorithmus würde den String y wieder nur um eine Position nach rechts vorschieben und mit den Vergleichen an Position 3 neu beginnen. Die Struktur von y erlaubt aber ein anderes Vorgehen. Wir sehen, dass das Präfix y (2) = AG zugleich Suffix von y (4) = AGAG ist. Es ist sogar das Längste solcher Präfixe. Daher können wir x um zwei Positionen nach rechts schieben C A G A G C C C A G A A G A G T Wir wissen nun, dass Buchstaben an den Positionen 4 und 5 übereinstimmen, ohne dass wir Vergleiche durchführen müssen! Der nächste Vergleich findet wieder an Position 6 statt und liefert eine Nicht-Übereinstimmung (C-H). Diese Vorgehensweise wird iteriert. Für eine formale Beschreibung des KMP-Algorithmus

15 2.3 Der Pattern-Matching-Algorithmus von Knuth, Morris und Pratt 15 müssen wir bestimmen, um wieviel wir y nach rechts schieben müssen, wenn beim Vergleich von y j und x i eine Nicht-Übereinstimmung auftritt. In diesem Fall gilt y 1 y j 1 = x i j+1 x i 1, d.h. diese Teile von x und y sind gleich. Die Verschiebungsweite hängt also nur von y ab. Es bezeichne w(j) die Verschiebungsweite (Anzahl von Positionen, um die y nach rechts geschoben wird), wenn beim Vergleich y j mit x i eine Nicht-Übereinstimmung entdeckt wird. Weiter sei p(j) die Länge eines längsten Präfixes y (k) von y (j), der Suffix von y (j) ist. p(j) = max{k k < j, y (k) ist Suffix von y (j) }. (2.2) In unserem Beispiel y = AGAGT gilt p(1) = 0, p(2) = 0, p(3) = 1, p(4) = 2, p(5) = 0. Die Berechnung von p(j), j = 1,..., m, erfolgt induktiv. Es gilt p(1) = 0 (wegen des echt kleiner Zeichens in (2.2). Seien nun p(1),..., p(j 1) schon berechnet. Zur Berechnung von p(j) vergleichen wir y j mit y p(j 1)+1 ; d.h. den neuen Buchstaben y j mit dem, der dem längsten Präfix, das auch Suffix von y (j 1) ist, folgt. Bei Übereinstimmung verlängert sich dieser Präfix um eins und wir setzen p(j) = p(j 1)+1. j a a y (p(j 1)) y (p(j 1)) y p(j 1)+1 y j Abbildung 2.2: Berechnung von p(j) im Fall der Verlängerung des vorliegenden Präfixes um den Buchstaben y p(j 1)+1 = y j. Bei Nicht-Übereinstimmung (y j y p(j 1)+1 ) suchen wir einen neuen Präfix y (k ) von y (p(j 1)), der Suffix von y (j) ist. Dies kann nur in den letzten p(j 1) + 1 Buchstaben von y (j) liegen. Diese stimmen mit y (p(j 1)) gefolgt von y j überein. Es genügt also y (p(j 1)) über sich selbst so zu verschieben, dass ein Präfix auch Suffix ist und der Buchstabe nach dem Präfix gleich y j ist. Die Länge des gesuchten Präfixes y (k ) können wir aus den bereits berechneten p-werten ableiten; sei k = p(p(j 1)). Damit ist nur noch der Vergleich y p(p(j 1))+1 mit y j notwendig. Liefert dieser eine Übereinstimmung, so setzen wir p(j) = p(p(j 1)) + 1. Anderenfalls iterieren wir die Verschiebung in y (p(j 1)) über sich selbst. Die Verschiebungsfunktion w ergibt sich dann als w(j) = (j 1) p(j 1). Kommen wir nun zur Laufzeitanalyse des KMP-Algorithmus. Im Gegensatz zum Algorithmus aus Abschnitt 2.2 wird hier ein Buchstabe x i eventuell mehrfach mit

16 Kapitel 2 16 Paarweise Zuordnung ohne Lücken (Pattern Matching) p(j 1) + 1 j y (p(j 1)) a y (p(j 1)) b b y (p(j 1)) Abbildung 2.3: Berechnung von p(j) im Fall der Nicht-Übereinstimmung von y j und y p(j 1)+1. Man verschiebt y (p(j 1)) über sich selbst bis ein Präfix gefunden wird, das auch Suffix ist und der folgende Buchstabe mit y j (=b) übereinstimmt. verschiedenen y j verglichen. Dann wurde aber der String y vorher um mindestens eine Position nach rechts verschoben. Es sind nur n m solche Verschiebungen möglich. Somit gibt es höchstens n + (n m) 2n = O(n) Vergleiche. Die Berechnung der Verschiebungsfunktion w, genauer der Präfixfunktion p ist ein Vergleich von y mit sich selbst und daher in Zeit O(m) möglich. Somit erhalten wir Satz 2.3: Der KMP-Algorithmus löst das Pattern-Matching-Problem für x, y, x = n, y = m unabhängig von der Größe des Alphabets Σ in Zeit O(n + m). 2.4 Der Boyer-Moore Algorithmus Der Boyer-Moore-Algorithmus zum Pattern matching weist eine gewisse Ähnlichkeit zum naiven Algorithmus aus Abschnitt 2.1 auf. Seine Worst-case-Laufzeit ist mit O(n m) auch genauso schlecht. Er benutzt allerdings zwei Heuristiken, die ihm bei realen Daten oft schneller machen als die Verfahren aus den Abschnitten 2.2 und 2.3. Diese Heuristiken führen dazu, dass in der Praxis große Teile des Textes x gar nicht mit dem gesuchten Muster y verglichen werden müssen. Tritt beim Vergleich von x und y an einer Stelle eine Nichtübereinstimmung auf, so schlägt jede der beiden Heuristiken eine Verschiebung von y nach rechts vor. Der Algorithmus wählt die größere. Die Vorschläge der Heuristiken sind so, dass keine erlaubte Verschiebung ausgelassen wird. Der Algorithmus liefert also in jedem Fall ein korrektes Ergebnis. Wir beschreiben den Algorithmus nun formal. Der Boyer-Moore-Algorithmus legt den String y zunächst an Position 1 an x an. Er beginnt dann die Vergleiche am Ende y, also x m y m, x m 1 y m 1,.... Dies geschieht so lange, bis ggf. eine Nicht-übereinstimmung gefunden wurde. Dann

17 2.4 Der Boyer-Moore Algorithmus 17 aktualisieren die beiden Heuristiken ihre Vorschläge für eine Verschiebung. Betrachten wir nun die Heuristiken. Die Bad-Charakter-Heuristik Es sei s + 1 die Stelle in x, an der y aktuell angelegt wurde, und j die Position in = y, an der die Nicht-Übereinstimmung auftrat. D.h. es wurde verglichen x s+m y m, = x s+m 1 y = m 1,..., x s+j+1 y j+1, x s+j y j. Dann ist b := x s+j der schlechte Buchstabe ( bad charakter ). Die Heuristik benutzt bisher gesammelte Informationen über das Vorkommen von b im Muster y, um eine Verschiebung vorzuschlagen. Sollte der Buchstabe b in y gar nicht vorkommen, so kann man y um die volle Länge j des Präfixes y (j) verschieben x x = A G C C T A C G T A vorher y = G C C A A nachher y = G C C A A Tabelle 2.1: Hier gilt s = 1. Bei einem Fehler an Position 5 ist der schlechte Buchstabe b ein T, das in y nicht vorkommt. Es ist j = 4. Die Verschiebung um 4 Positionen schiebt den Anfang von y hinter die Position von b. Sollte sogar j = m gelten, d.h. die Nicht-Übereinstimmung ist am letzten Buchstaben von y, der als erster getestet wird, so verschieben wir y sogar um die volle Länge m. Sollte dies immer passieren, so würde der Algorithmus nur n/m Vergleiche machen. Im allgemeinen Fall geht die Bad-Charakter-Heuristik so vor. Es sei wieder s + 1 die Position in x, ab der y angelegt wurde und j die erste Position in y, an der eine Nicht-Übereinstimmung auftrat. x s+j y j, x s+l = y l, l > j. Es sei { max{l 1 l m, xs+j = y k = k } 0, falls l nicht existiert. PF last(b) = max{l 1 l m, y l = b} oder last(b) = 0, falls b y. Die Heuristik schlägt dann die folgende Verschiebungsweite w vor w = j k = j last(y s+j ). Sollte w negativ sein, so wird die Heuristik einen positiven Wert vorschlagen, der gewählt wird.

18 Kapitel 2 18 Paarweise Zuordnung ohne Lücken (Pattern Matching) Beispiel 2.4: x = A G C C T A C G T A vorher y = G C C A A nachher y = G C C A A Tabelle 2.2: Der Vergleich x 7 x 5 (d.h. j = 5) liefert die Nicht-Übereinstimmung C A. Die letzte Position eines C in y ist k = 3. Daher ergibt sich die Verschiebung w = 5 3 = 2. Lemma 2.5: Das Anwenden der von der Bad-Charakter-Heuristik vorgeschlagenen Verschiebungsweite überspringt kein Matching Vorkommen von y in x. Beweis Wir untersuchen drei Fälle. 1. Fall k = 0. In diesem Fall kommt der schlechte Buchstabe b = x s+j nicht in y vor. Daher können wir y vollständig über die Stelle x s+j verschieben ohne ein Vorkommen zu verpassen. Sofort dahinter (an Stelle s + j + 1 in x) wissen wir nichts, dort würde aber der nächste Vergleich stattfinden. Daher ist w = j = j k dann die korrekte Verschiebungsweite. 2. Fall k < j. In diesem Fall liegt das äußerst rechte Vorkommen des schlechten Buchstaben b = x j + j in y links von y j. Für Vorkommen von y in x muss also y mindestens so weit verschoben werden, dass y k auf x s+j fällt. Dies sind j k Positionen. 3. Fall k > j. In diesem Fall schlägt die Bad-Charakter-Heuristik eine Rück-Verschiebung von y um k j Stellen nach links vor. Wir werden aber gleich sehen, dass diese Heuristik dann nicht zum Zuge kommt, da die andere Heuristik einen nicht negativen Wert vorschlägt, und der Boyer-Moore-Algorithmus das Maximum der Vorschläge wählt. Die Good-Suffix-Heuristik Für zwei Strings z und w sagen wir sie seien end-ähnlich (in Zeichen z w), wenn z ein Suffix von w oder w ein Suffix von z ist. Das bedeutet, dass die letzten min{ z, w } Buchstaben der beiden Strings identisch sind. Die Relation ist symmetrisch (d.h. z w w z) und es gibt (z Suffix von w) & (u Suffix von w) z u.

19 2.4 Der Boyer-Moore Algorithmus 19 Sei j die Stelle, an der die erste Nichtübereinstimmung gefunden wird, wenn man von hinten vergleicht. Wir bezeichnen mit y suff(j) den Suffix y j y m. Die Good- Suffix-Heuristik bestimmt den längsten echten Präfix y (k), so dass sich y (k) und y suff(j+1) end-ähnlich sind. Als Verschiebung wird w 2 [j] = m max{k 0 k < m, y suff(j+1) y (k) } (2.3) vorgeschlagen. Da wir das Längste zu y suff(j+1) end-ähnliche Präfix y (k) wählen folgt sofort: Lemma 2.6: Für j = 1,..., m ist w 2 (j) eine Verschiebung, die kein Vorkommen von y in x verpaßt. Weiterhin ist w 2 wohldefiniert, denn y suff(j+1) y (0) für alle j. Wir müssen nun noch angeben, wie man die Funktion w 1 (b), b Σ und w 2 (j) j = 1... m berechnet. Da w 1 (b, j) = j last(b) gilt, genügt es last(b) zu berechnen für b Σ. Der folgende Algorithmus leistet dies: Algorithmus 2.1 Berechne last: for b Σ { last(b) 0 }// for b for j = 1,..., m { last(y j ) j }// for j Zur Berechnung von w 2 verändern wir die Definition (2.3). Zunächst zeigen wir, dass der zweite Term der Definition stets größer gleich dem Wert p(m) der Präfixfunktion p ist (siehe Definition????): max{k 0 k < m und y suff(j+1) y (k) P (m). (2.4) Sei dazu l = p(m), d.h. l ist die Länge des längsten Präfixes y (l) der auch Suffix von y = y (m) ist. Andererseits ist auch y suff(j+1) ein Suffix von y, also gilt: y (l) y suff(j+1) womit die Beziehung 2.4 folgt. Daher läßt sich die Definition 2.3 jetzt so schreiben: w 2 (j) = m max{k p(m) k < m und y suff(j+1) y (k) } (2.5) Die Bedingung y suff(j+1) y (k) gilt, falls y suff(j+1) Suffix von y (k) ist oder y (k) Suffix von y suff(j+1) ist. Im zweiten Fall ist y (k) dann auch Suffix von y, da y suff(j+1) ja am

20 Kapitel 2 20 Paarweise Zuordnung ohne Lücken (Pattern Matching) Ende von y liegt. Dann folgt aber k Π(m), während unsere Überlegungen, die zur Gleichung 2.5 geführt haben, k Π(m) gezeigt haben. Daher lässt sich die Relation in 2.5 ersetzen und erhalten: w 2 (j) = m max {{p(m)} {k p(m) < k < m und y suff(y+1) ist Suffix von y (k) } }. (2.6) Da p(m) < m gilt, folgt aus der Beziehung 2.6, dass w 2 (j) > 0, j = 1,..., m. Damit ist klar, dass bei negativem Wert von w 1 der Algorithmus eine Verschiebung um eine positive Anzahl von Stellen vornimmt. Als letzten Schritt wollen wir die Berechnung des längsten Suffix y (k), so dass y suff(j+1) Suffix von y (k) ist auf die Berechnung einer Präfixfunktion zurückzuführen. Dazu betrachten wir den umgedrehten String y rev zu y (yi rev = y m i+1 ). Mit p rev bezeichnen wir die Präfixfunktion von y rev. Sei Wir behaupten, dass dann gilt, wobei l = (m k) + (m j) k = argmax { k y suff(j+1) ist Suffix von y (k)}. p rev (l) = m j (2.7) Aufgabe 2: Beweise die in Gleichung 2.7 aufgestellte Behauptung. Aus 2.7 und der nachfolgenden Definition von l folgt: p rev (l) = m j und k = m l + p rev (l). Damit können wir w 2 nun in der endgültigen Form schreiben w 2 (j) = m max {{P (m)} {m l p rev (l) 1 l m und j + m p rev (l)}} = min{{m p(m)} {l p rev (l) 1 l m und j = m p rev (l)}} (2.8)

21 2.4 Der Boyer-Moore Algorithmus 21 Algorithmus 2.2 Good-Suffix-Funktion Berechne Präfixfunktion p von y Berechne Präfixfunktion p rev von y rev // Erster Term des Minimums aus Gleichung 2.8. for j = 0,..., m { w 2 (j) m Π(m) }//for i for l = 1,..., m { j m p rev (l) w 2 (j) min (w 2 (j), l p rev (l)) }// for l Die Laufzeit der Good-Suffix-Funktion ist O(m).

22 Kapitel 2 22 Paarweise Zuordnung ohne Lücken (Pattern Matching)

23 Kapitel 3 Bewertungsfunktionen und -matrizen Ein wichtiges Teilgebiet der Bioinformatik ist die Bestimmung der Ähnlichkeit von Folgen von Aminosäuren oder Basen. Betrachten wir die Folgen x = ARND, y = ARNDP, z = ARLLNDP und w = ARLP. Sicher ist jede Folge zu sich selbst ähnlich, außerdem ist x ein Substring von y, also zu einem Teilstück von y identisch. Die Folge x finden wir als zerrissene Teilfolge auch in z. Wenn wir sogenannte Lücken (kenntlich gemacht durch das Lückensymbol ) in x einfügen, so kann man x und z wie folgt paaren. x = A R N D z = A R L L N D P Im Allgemeinen werden wir eine Paarung, bei der Lücken eingefügt werden, für unähnlicher halten, als eine bei der keine Lücken nötig sind. Vergleichen wir schließlich die Folgen x und w, so finden wir auch bei Verwendung von Lücken keine eins-zu-eins Anpassung. x = ARND w = ARLP Sicher sind sich die ersten beiden Positionen ähnlich, sogar gleich. Für die Positionen drei und vier, d.h. die Paare (N,L) und (D,P), müssen wir einen Ähnlichkeitswert festlegen. Diese Bewertung der Ähnlichkeit von Aminosäuren-Paaren beruht auf biochemischen Ursachen. Zur Bewertung von Lücken gibt es mehrere Möglichkeiten. Die Einfachste ist es für die Paarung einer Lücke mit einem beliebigen Buchstaben (Aminosäure) einen festen Wert anzunehmen. Man kann auch für jeden Buchstaben einen eigenen Wert festsetzen, der bei der Paarung mit einer Lücke genommen wird. Es ist verboten und auch sinnlos, dass zwei Lücken gepaart werden. In beiden Fällen lässt sich die Bewertung aller Paarungen dann in einer (21 21)-Matrix darstellen. (21 entspricht 20 Aminosäuren plus dem Lückensymbol.) Eine solche Matrix nennt man eine Bewertungs-Matrix (Score-Matrix). Später werden wir sehen, wie man 23

24 24 Kapitel 3 Bewertungsfunktionen und -matrizen Score-Matrizen berechnet. Typischerweise bekommen gleiche oder ähnliche Paarungen eine positive oder große Bewertung, unterschiedliche Paare eine negative oder kleine Bewertung. Das Einfügen einer Lücke wird i.a. negativ oder klein bewertet. Falls man lange Lücken, d.h. aufeinanderfolgende Lückensymbole, überproportional bestrafen will, so muss man eine allgemeine Darstellung der Lückenfunktion wählen; mehr dazu in Kapitel 5. Auch Bewertungen, die die Ähnlichkeit von ganzen Buchstabengruppen festlegen, sind denkbar. Wir werden die Bewertung der Paarung (A,B) reellwertig wählen und mit sc(a,b) bezeichnen. sc heißt die Bewertungsfunktion (scoringfunktion). Eine sehr einfache Bewertungsfunktion erhält man z.b. so: +1 falls A = B sc(a, B) = 1 falls A B und weder A noch B sind - 2 falls A = oder B = 3.1 Methoden zur Bestimmung von Bewertungsfunktionen Um eine biologisch aussagekräftige Bewertung zu finden, untersucht man bekannte DNA- oder Aminosäuren-Folgen mit statistischen Methoden. Zur Bestimmung dieser Bewertung vergleichen wir für jede Paarung ihre Häufigkeit in den beobachteten Strings mit der Häufigkeit, die wir in zufälligen Daten erwarten würden Maximum Likelihood Schätzen (ML-Schätzen) Wir untersuchen das Beispiel einer DNA-Folge aus Buchstaben {A, C, T, G}. Als Statistisch relevante Parameter könnte man z.b. die Wahrscheinlichkeiten für das Auftreten der vier Basen wählen. Seien dies p A, p C, p G und p T. Es muss natürlich p [0, 1] und p A + p C + p G + p T = 1 gelten. Ein statistisches Modell Θ ist dann eine spezielle Wahl der Parameter p A, p C, p G, p T, die der Bedingung einer Wahrscheinlichkeitsverteilung entspricht. Wenn nun mehrere Modelle Θ 1,..., Θ k zur Auswahl stehen, um einen Satz D von beobachteten Daten zu erklären, so wählt man beim Maximum Likelihood Paradigma dasjenige Modell, das den Wahrscheinlichkeitswert für das Auftreten der Daten maximiert. Das ist das Modell Θ, das die bedingte Wahrscheinlichkeit P (D Θ j ) maximiert: arg max{p (D Θ j ) i = 1... k} Dabei berechnet sich in unserem Beispiel P (D Θ) wie folgt: Es bezeichne h A, h C, h G bzw. h T die Anzahl der Symbole A,C,G,T in D. Sei Θ = (p A, p C, p G, p T ) das Modell.

25 3.1 Methoden zur Bestimmung von Bewertungsfunktionen 25 Dann gilt P (D Θ) = p h A A p h C C p h G G p h T T. Um nun ML-Schätzer zur Konstruktion einer Bewertungsfunktion zu verwenden, nehmen wir zuerst an, dass keine Lückensymbole verwendet werden. Im Zufallsmodell R (random) ziehen wir zufällig zwei Folgen x und y aus allen möglichen Folgen Σ. Also x = x 1... x n, y = y 1... y m. Nehmen wir weiterhin an, dass die Buchstaben an verschiedenen Positionen unabhängig gemäß einer Wahrscheinlichkeitsverteilung p = p x1,..., p x Σ auftreten. Damit ist die Wahrscheinlichkeit für das Auftreten des Datensatzes D = [x, y] x y P (x, y R) = Beim Matchmodell M werden einzelne Paarungen bewertet. Wir betrachten dazu passende Folgen (matching sequences) x, y. Diese Sequenzen sind von Hand sinnvoll ausgerichtet worden. Es sei p v,w, v, w Σ die Wahrscheinlichkeit, dass an einer Position die Buchstaben v (in x) oder w (in y) gepaart sind. Mehr zur Berechnung der p v,w -Werte in Abschnitt Dann ist i=1 p xi j=1 p yi P (x, y M) = Π n i=1p xi y i. Eine Paarung der Folgen x und y ist dann gut, wenn sie deutlich vom Zufallsmodell abweicht. Dieses messen wir durch die Größe der Quotienten. Die Bewertung sc definieren wir dann so: sc (x, y) := n P (x, y M) P (x, y R) = i=1 p xi,y i p xi p yi Unsere Scoringfunktionen werden später additiv sein. Daher Logarithmieren wir und erhalten n ( ) pxi,y sc(x, y) := log (sc (x, y)) = log i. p xi p yi Man beachte, dass die Anwendung einer streng monotonen Funktion wie des Logarithmus die Lage der Argumente (x,y), die den Ausdruck maximieren, nicht ändert. In dieser Situation ergibt sich also die Bewertungsmatrix ( ( )) pa,b log. p a p b i=1 a,b Σ Kommen wir nun zur Bewertung von Lücken ( - ). Es sei nochmals angemerkt, dass die Paarung (-,-) nicht erlaubt ist. Im einfachsten Modell ist die Bewertung einer Lücke (Folge von - -Symbolen) proportional zu ihrer Länge und negativ. Die Lückenstrafe γ einer Lücke aus g aufeinanderfolgenden -Symbolen ist dann γ (g) = c g c +.

26 26 Kapitel 3 Bewertungsfunktionen und -matrizen Dies ist die Lineare Lückenstrafe. Oft zieht man die affine Lückenstrafe γ vor γ(g) = d c(g 1) c, d + Dabei ist d die Grundstrafe (gap penalty) für das Erzeugen der Lücke und c die Erweiterungsstrafe (extension peanalty) für die Vergrößerung der Lücke Dayhoff-PAM-Matrizen Wir beschreiben hier ein Verfahren zur Bestimmung der im Abschnitt benutzten p a und p ab Werte, durch statistische Auswertung von beobachteten Daten. Wir gehen dabei davon aus, dass uns eine Reihe von DNAs oder Proteinen vorliegt. Für die Werte p a nimmt man die relative Häufigkeit als Buchstaben a in den Daten Anzahl a s in den Daten p a = Gesamtzahl der Buchstaben in den Daten. Zur Festlegung der p ab benutzt man ein Modell, das eine zeitliche Entwicklung von DNA- oder Aminosäurenfolge in der Evolution berücksichtigt. Sind zwei Folgen x und y mutationsgeschichtlich dicht beieinander, so sind sie sich ähnlicher, als wären sie weit auseinander. Bei sehr langen Zeitabständen ist das Auftreten einer Paarung (x i, y i ) wieder fast zufällig, d.h. dann gilt p ab p a p b. Es sei angemerkt, dass Zeit hier keine absolute Bedeutung hat, da die Evolutionsgeschwindigkeit stark variiert. Die so genannten k-pam Matrizen modellieren die beschriebenen Prozesse. PAM steht für Percent of Accepted Mutations, der Parameter k bezeichnet die Anzahl der (irgendwie spezifizierten) Evolutionschritte. In einem ersten Schritt werden die so genannten akzeptierten Mutationen bestimmt. Dies sind Veränderungen in der genetischen Information, die sich als stabil erwiesen haben. Dann vergleicht man die Unterschiede in Folgen, von denen man weiß, dass sie in kurzem Zeitraum ineinander mutiert sind. Man setzt dabei in symmetrische Mutationen voraus (Vor- und Rückmutierungen sind gleich gut möglich). Für verschiedene Buchstaben a, b Σ sei A a,b die relative Häufigkeit der Mutation a b, die a durch b ersetzt. Diese Häufigkeit wird durch Auswertung der vorliegenden Daten gewonnen. Wegen der Symmetrie gilt A ab = A ba. Wir definieren zunächst A aa = 0 für alle a Σ. Die A ab sind nicht unsere gesuchten p ab -Werte, und auch keine Schätzungen dafür. Der Wert A ab ist (eine Schätzung für) die Wahrscheinlichkeit, die Mutation a b in einer gewissen Anzahl t von Evolutiosschritten bei den gewählten Folgen zu beobachten. Wir schreiben dafür Wir suchen für a b A ab = P (a, b t). (3.1) p ab = P (a b & Evolutionsabstand ist t) = P (b a, t).

27 3.1 Methoden zur Bestimmung von Bewertungsfunktionen 27 Mit dem Satz der bedingten Wahrscheinlichkeit und der Unabhängigkeit der p a folgt P (b a, t) = P (a, b t) p a. Mit der Identität 3.1 folgt P (b a, b) = P (a, b t) p a = A ab p a =: B ab. Es gilt a Σ p a = 1. Damit sind alle Zeilensummen b Σ B ab der Matrix (B ab ) a,b Σ kleiner oder gleich 1. Um aus A eine stochastische Matrix zu machen, setzen wir B aa 1 B ab. b Σ\{a} Um die noch vorhandene Abhängigkeit von Zeitparametern zu eliminieren, skaliert man B so, dass die erwartete Anzahl von Mutationen 1% ist. (Dies wurde von Dayhoff so festgelegt, die resultierende Matrix ist dann die 1-PAM.) Die erwartete Frequenz von Mutation ist p a p b B ab. ab a b Wir wählen dann einen Wert σ so, dass p a p b B ab σ = 0, 01 = 1% ab a b Die 1-PAM Matrix C = C (1) hat dann die Einträge C ab = B ab σ, a b C aa = 1 b {a} C ab = (1 σ) + σb aa. Die Einträge der stochastischen Matrix (C ab ) a,b Σ sind die Wahrscheinlichkeit einer Mutation a b in einem (willkürlich festgelegten) Einheits-Evolutions-Zeitraum. Offenbar mutiert a in 2 Evolutionsschritten in b, wenn a in einem Schritt in c mutiert, für ein c Σ, und dann c im 2. Schritt in b. Für die Wahrscheinlichkeit einer solchen Mutation gilt P (a b 2) = c P (a c 1) P (c b 1) = c Σ C ac C cb

28 28 Kapitel 3 Bewertungsfunktionen und -matrizen Das bedeutet, dass die k-schritt Mutations-Matrix (k-pam) C (k) die k-te Potenz der 1-PAM ist C (k) = ( C (1)) k. Bei der praktischen Verwendung von PAM-Matrizen werden diese oft durch Runden, Multiplikation mit einer Konstanten und Addition einer Konstanten so normiert, dass sie nur ganzzahlige Einträge haben. Ist der evolutionäre Zeitraum der zu vergleichenden Folgen unbekannt, so wird empfohlen, mehrere Tests mit verschiedenen k-pam-matrizen vorzunehmen, z.b. k = 1, 40, 250,....

29 Kapitel 4 Alignments mit Lücken Sei Σ ein endliches Alphabet und - ein Zeichen, das in Σ nicht vorkommt. Sei Γ = Σ {-}. Seien x, y Σ zwei Strings über Σ und n = x, m = y die zugehörigen Längen. Für alle Paare (a, b) Γ 2 sei sc(a, b) die Bewertung (score) des Paares (a, b). Unser Ziel ist es nun, aus x, y zwei Strings ˆx, ŷ Γ zu erzeugen, so dass gilt. 1.) x bzw. y ist Teilfolge von ˆx bzw. ŷ. 2.) ˆx bzw. ŷ enthält außer dem Zeichen von x bzw. ŷ nur noch -. 3.) ˆx, ŷ sind gleichlang mit Länge k n + m. 4.) An keiner Position kommt sowohl in ˆx als auch in ŷ ein - vor. 5.) Die additive Gesamtbewertung sc(ˆx, ŷ) von ˆx und ŷ ist maximal, wobei sc(ˆx, ŷ) = i=k sc(ˆx i, ŷ i ). Beispiel 1: Seien x, y Σ und die Bewertungsfunktion sc wie folgt: x = AGCA y = ATA Einige mögliche Alignments und ihre scores ˆx A G C A ŷ A - T A

30 30 Kapitel 4 Alignments mit Lücken ˆx ŷ A C G T A C G T ˆx A G C A ŷ A T - A ˆx A G - C A ŷ A - T - A ˆx A G - C - A ŷ - - A - T A Abbildung 4.1: Score Matrix 4.1 Lösung mit Dynamischer Programmierung (Needleman- -Wunsch) Eingabe: x, y Σ x = n, y = m und Bewertungsfunktion (Score- Matrix) sc(a, b), a, b Γ Ausgabe: ˆx, ŷ Γ die 1) 5) erfüllen. Es bezeichne v(i, j), 0 i n, 0 j m, die optimale (d.h. maximale) Gesamtbewertung eines paarweisen Alignments der Anfangsstücke x 1 x 2 x i und y 1 y 2 y j von x bzw. y. Ist z.b. j = 0, so betrachten wir das Alignment, in dem ein Anfangsstück von x dem leeren Anfangsstück von y zugeordnet wird, d.h. einer Folge von Lückenzeichen - x 1 x 2 x i Der gesuchte maximale Wert ist dann v(n, m). Wir können nun die Startbedingungen und die Rekurrenzrelation für die Dynamische Programmierung aufstellen.

31 4.1 Needleman-Wunsch 31 Lemma 4.1: Die Funktion v besitzt die folgenden Eigenschaften für 0 i n, 0 j m. a) Startbedingungen. v(i, 0) = i sc(x k, ); v(0, j) = k=1 j sc(, y k ). k=1 b) Rekurrenzrelation. v(i, j) = max Beweis v(i 1, j 1) + sc(x i, y j ), v(i 1, j) + sc(x i, ), v(i, j 1) + sc(, y j ). (4.1) a) Startbedingungen. Um die ersten i Buchstaben von x mit null Buchstaben von y zu paaren, muss man x 1 x i mit dem String - - der Länge i aus Leerzeichen paaren. Die Bewertung dieser Paarung ist i k=1 sc(x i, -). Analog folgt die zweite Startbedingung für die Paarung - - mit y 1 y j. b) Rekurrenzrelation. Wir betrachten die optimale Paarung der Anfangsstücke x 1 x i und y 1 y j von x und y. Dabei können drei Fälle auftreten: Fall 1 x i ist mit y j gepaart. Dann ergibt sich die optimale Gesamtbewertung v(i, j) als Summe der Bewertung sc(x i, y j ) des Paares (x i, y j ) und der optimalen Gesamtbewertung v(i 1, j 1) der Paarung der Anfangsstücke x i x i 1 und y 1 y j 1. Also v(i, j) = v(i 1, j 1) + sc(x i, y j ). Fall 2 x i ist mit - gepaart. Dann ergibt sich die Gesamtbewertung der Paarung x 1 x i und y 1 y j als Summe der Bewertung sc(x i, -) des Paares (x i, -) und der optimalen Gesamtbewertung der Paarung x 1 x i 1 mit y 1 y j. Also v(i, j) = v(i 1, j) + sc(x i, -). Fall 3 y j ist mit - gepaart. Das Argument verläuft im Fall 2 mit vertauschten Rollen von x i und y j und liefert v(i, j) = v(i, j 1) + sc(-, y j ). Das Optimum erhalten wir, indem wir das Maximum der drei Möglichkeiten bilden.

32 32 Kapitel 4 Alignments mit Lücken Lemma 4.1 liefert sofort einen Algorithmus zur Berechnung aller v(i, j): Nach Berechnung der Startwerte v(, 0) und v(0, ) werden in zwei geschachtelten Schleifen über i = 1,..., n und j = 1,..., m die restlichen v(i, j)-werte nach Formel(1) berechnet. Die Berechnung der Startwerte kann inkrementell nach den Formeln v(i, 0) = v(i 1, 0) + sc(x i, -) v(0, j) = v(0, j 1) + sc(-, y j ) erfolgen. Die Auswertung der Rekursionsformel 4.1 benötigt für jedes Paar (i, j) Zeit O(1). Somit ergibt sich das folgende Lemma 4.2: Der in Lemma 4.1 beschriebene Algorithmus hat eine Laufzeit von O(n + m + n m) = O(n m). Nun können wir zwar den Wert der optimalen Paarung in v(n, m) ablesen, wie diese Paarung aussieht ist aber nicht klar. Um diese rekonstruieren zu können, speichern wir die v(i, j)-werte in einer ((n + 1) (m + 1))-Matrix ab. In der rechten unteren Ecke steht der Wert v(n, m). Von dort aus starten wir eine Rückwärtssuche (backtrace). Dazu merken wir uns für jeden v(i, j)-wert i, j 1, in welchem der drei Fälle er entstanden ist. Die Konstruktion der gepaarten ˆx rev, ŷ rev Folgen in umgekehrter Reihenfolge geschieht dann wie folgt, wobei wir auf die Fallunterscheidung aus dem Beweis von Lemma 4.1 verweisen. Algorithmus 4.1 i = n, j = m, z = 1 Solange i > 0 und j > 0 falls v(i, j ) erreicht wurde in Fall 1: ˆx rev z x i, ŷz rev y j, j j 1, i i 1, z z + 1. Fall 2: ˆx rev z = x i, ŷz rev = -, i i 1, z z + 1. Fall 3: ˆx rev z = -, ŷz rev = y j, j j 1, z z + 1. Beispiel 4.3: x = AGCA y = ATA

33 4.1 Needleman-Wunsch 33 v A T A j A 1 G 2 C 3 A 4 ±0 2 Ā 2 A - 4 AG -- 5 AGC AGCA A A 1 AG A AT ±0 A- AT? ATA 2 A-- ATA Tabelle 4.1: Eine Momentaufnahme des Needleman-Wunsch Algorithmus. In einigen Zellen stehen bereits die optimalen Werte v(i, j) und die zugehörigen optimalen Alignments. Außerdem deutet der Pfeil an, welche der drei Nachbarzellen das Maximum gebildet hat. Zu berechnen ist der Wert v(2, 2) in der mit einem Fragezeichen gekennzeichneten Stelle. Dazu betrachtet der Algorithmus die Zellen links, oberhalb und links-oberhalb und wählt die beste Alternative wie folgt: 1. Alternative Die linke obere Zelle hat einen Wert von 1 für das Alignment A / A. Die Fortsetzung erfolgt dann im Fall 1 und mit der Paarung (G,T) liefert das Alignment AG / AT. Der Wert ergibt sich zu v(1, 1) + sc (G, T) = 1 + ( 1) = Alternative Die obere Zelle hat einen Wert von 0 für das Alignment A- / AT. Die Fortsetzung erfolgt dann im Fall 2 und mit der Paarung (G,-) liefert das Alignment A-G / AT-. Der Wert ergibt sich zu v(1, 2) + sc (G, ) = 0 + ( 2) = Alternative Die linke Zelle hat einen Wert von 1 für das Alignment AG / A-. Die Fortsetzung erfolgt dann im Fall 3 und mit der Paarung (-,T) liefert das Alignment AG- / A-T. Der Wert ergibt sich zu v(2, 1) + sc (, T) = 1 + ( 1) = 0 Hier liefern die Fälle 1 und 3 den maximalen Wert. Der Algorithmus entscheidet sich (willkürlich) dafür, Fall 1 zu wählen. Das Scoring ist wie in Tabelle 1. Für die v Tabelle ergibt sich dann die Abbildung 4.1. Das Resultat des Backtrace-Algorithmus ist die Folge der eingekreisten Zahlen. Als Paarung ergibt sich so AGCA AT-A mit der Bewertung 0. Die von backtrace gefundene Lösung ist oft nicht die einzige mit dem optimalen Wert, sondern eine ganz spezielle. Eventuell gibt es bei der Berechnung des Eintrags v(i, j) gemäß der Formel 4.1 mehr als einen Fall, der das Maximum realisiert. Wir können uns dann für jede Zelle der v-matrix merken, welche der Fälle aufgetreten sind. Es gibt sieben mögliche Kombinationen. Wir zeichnen dann eventuell mehrere Pfeile von v(i, j) zu den drei in Frage kommenden Nachbarzellen ein. Jeder gerichtete

34 34 Kapitel 4 Alignments mit Lücken i j 0 A 1 T 2 A A G C A Abbildung 4.2: Die v-wertetabelle für unser Beispiel Pfad entlang dieser Pfeile von v(n, m) zu v(0, 0) ergibt eine optimale Lösung. Man kann sie mittels eines Backtracking-Ansatzes aufzählen, allerdings kann ihre Zahl exponentiell in n und m sein. Satz 4.4: Zur Berechnung eines optimalen paarweisen Alignments zweier Strings x, y Σ, x = n, y = m genügt Zeit O(n m) und Platz O(n m). In gleicher Zeit und auf gleichem Platz kann die Information zur Aufzählung eines optimalen Alignments berechnet werden. Gibt es K optimale Alignments, so kann man diese in Zeit O(K(n + m) + n m) aufzählen. 4.2 Lösung des Pairwise Alignment auf linearem Platz (Hirschberg Algoritmus) Zur Berechnung des Wertes v(i, j) genügt es, im wesentlichen, sich die Einträge aus einer Zeile der v-matrix zu merken, siehe Abb. 4.2 Zur Berechnung des Alignments selbst hatten wir die Backtrace-Information bisher in einer (n+1) (m+1) Matrix abgelegt. Um auch die Backtrace-Information auf linearem Platz berechnen zu können, wenden wir einen Divide-and-Conquer-Ansatz an, den wir mit der Dynamischen Programmierung aus Abschnitt 4.1 mischen. Wie gehabt bezeichne v(i, j) die Bewertung eines optimalen Alignments der Anfangsstücke x 1,..., x i und y 1,..., y j. Mit v rev (i, j) bezeichnen wir analog die Bewertung eines optimalen Alignments der Endstücke x n (i+1) x n und y m (j+1) y m der Längen i bzw. j. Die Werte v rev (i, j) lassen sich berechnen, indem man den Algorithmus aus Abschnitt 4.1 auf die umgedrehten Strings x rev = x n x n 1 x 2 x 1 und y rev = y m y m 1 y 2 y 1 anwendet. Wir behaupten, dass sich die Bewertung eines optimalen Gesamt-Alignments aus

35 4.2 Lösung des Pairwise Alignment auf linearem Platz (Hirschberg Algoritmus) 35 i j Abbildung 4.3: Zur Berechnung des schraffierten Eintrags v(i, j) werden nur die Einträge links, oberhalb und linksoberhalb herangezogen. Daher genügt es, die eingezeichneten n + 2 Einträge in den Zeilen j 1 und j zu speichern. den optimalen Bewertungen eines Anfangsstücks und des zugehörigen Endstücks ergibt. Lemma 4.5: v(n, m) = max 0 k m { ( n ) ( n )} v 2, k + v r 2, m k Beweis Sei k [0, m] eine Position in y. Dann gibt es eine Paarung von x und y, bei der die erste Hälfte x 1 x n von x mit y 1 y 2 k gepaart ist und die zweite Hälfte x n 2 +1 x n von x mit y k +1 y m. Es ist v( n, 2 k ) die Bewertung einer optimalen Paarung der ersten Hälfte von x und v r ( n, m 2 k ) der optimale Wert für die zweite Hälfte. Die Summe dieser beiden Werte kann nicht größer sein als das Gesamtoptimum. ( n ) ( n ) v 2, k + v r 2, m k v(n, m) Dies gilt für alle k [0, m] womit folgt:(x n/2 könnte mit gepaart sein) max 0 k m { ( n ) ( n )} v 2, k + v r 2, m k v(n, m). Zum Beweis der umgekehrten Ungleichung betrachten wir eine optimale Paarung x und y. Sei k die äußerst rechte Position in y, die mit einem Zeichen aus ˆx vor x n oder mit x n selbst gepaart ist. Die optimale Paarung zerfällt also disjunkt in 2 2 die Paarungen x 1 x n mit y 2 1 y k und x n 2 +1 x n mit y k +1 y m. Sei v 1 die Bewertung des ersten Teils und v 2 die des zweiten Teils. Es gilt: v(n, m) = v 1 + v 2. Wir behaupten, daß v 1 = v( n 2, k ) und v 2 = v r ( n 2, m k ), d.h. daß diese Teilpaarungen optimal sind. Wäre v 1 < v( n 2, k ), so könnten wir für x 1 x n 2 und y 1 y k

36 36 Kapitel 4 Alignments mit Lücken eine Paarung wählen, die den Wert v( n 2, k ) realisiert und so zu einer Bewertung der Gesamtpaarung kommen, die größer ist als die optimale. Also gilt v 1 = v( n 2, k ), und analog zeigt man v 2 = v r ( n 2, m k ). Also gilt auch max 0 k m { ( n ) ( n )} v 2, k + v r 2, m k v(n, m). Wir benutzen nun Lemma 4.5, um eine Position k n in Zeile n der v-matrix 2 2 zu bestimmen, über die ein optimaler Backtrace-Pfad verläuft. Ist der Wert k n 2 bestimmt, so verfolgen wir die Backtrace-Zeiger von k n aus in der Zeile n solange 2 2 nach links bis erstmals ein Zeiger in die Zeile ( n 1) führt. Es sei v( n 1, k 2 2 1) der Eintrag auf den dieser Zeiger verweist. Analog verfolgen wir die die Backtrace-Zeiger der Alignment-Berechnung von x rev und y rev in Zeile n solange nach rechts bis wir 2 erstmals zu einem Eintrag v( n + 1, k 2 2) in Zeile ( n + 1) gelangen. Der optimale Pfad 2 P von (0, 0) zu (n, m) zerfällt so in drei Teile P 1 P 2 P 3. P 1 ist das Pfadstück von (0, 0) zu ( n 2 1, k 1). P 2 ist das Pfadstück von ( n 2 1, k 1) zu ( n 2 + 1, k 2), das wir durch das oben beschriebene Verfolgen der Backtrace-Zeiger bzw. umgekehrten Backtrace-Zeiger in Zeile n 2 entsteht. P 3 ist das Pfadstück von ( n 2 + 1, k 2) zu (n, m). Damit ergibt sich der folgende rekursive Algorithmus.

37 4.2 Lösung des Pairwise Alignment auf linearem Platz (Hirschberg Algoritmus) 37 Algorithmus 4.1 Hirschberg Mit Needleman-Wunsch für x, y berechne alle Werte v(i, j) für i = 0... n 2, j = 0... m. Mit Needleman-Wunsch für x rev, y rev berechne alle Werte v rev (j, m) für i = n... n 2, j = m Bestimme ( n ) ( n )} k = argmax 0 n m {v 2, k + v rev 2, m k. Bestimme k 1 und k 2 wie oben beschrieben in den Zeilen n 2 1 bzw. n Bestimme das Pfadstück P 2 von ( n 2 1, k 1) zu ( n 2 + 1, k 2). Bestimme das Pfadstück P 1 von (0, 0) zu ( n 2 1, k 1) durch rekursives Lösen des Problems auf x ( n 2 1) und y (k 1). Bestimme das Pfadstück P 3 von ( n 2 + 1, k 2) zu (n, m) durch rekursives Lösen des Problems für x suf( n 2 +1) und y suf(k 2). Ergebnis ist der Pfad P = P 1 P 2 P 3, die Konkatenation von P 1 P 2 P 3. Lemma 4.6: Die Laufzeit des Hirschberg-Algorithmus ist O(n m) Beweis Sei T (i, j) die Laufzeit des Hirschberg Algorithmus auf Strings x, y mit x = i, y = j. Dann gilt für eine Konstante c ( ) n 1 ( n T ((n, m)) 2cnm + T, k 1 + T 2 2, m k 2 + 1). Der Worst-Case tritt ein wenn der optimale Pfad die Zeile n von unten nach oben 2 durchstößt; dann gilt k := k 1 = k 2 d.h. ( ) n 1 ( n ) T ((n, m)) 2cnm + T, k + T 2 2, n k + 1. Wir raten T ((n, m)) 5cnm und zeigen: T ((n, m)) = ( ) n 1 ( n ) 2cnm + T, k + T 2 2, m k 1 (4.2)

38 38 Kapitel 4 Alignments mit Lücken ( n ) = 2cnm + 5c 2 1 Die letzte Ungleichung gilt für m 5. ( n ) h + 5c 2 [ c ] = 5cnm + 2 (5n 10k nm) (m k + 1) (4.3) (4.4) 5cnm (4.5) Lemma 4.7: Der Algorithmus benötigt nur O(m + n) Platz. Beweis Jeder Durchlauf des Dynamischen-Programmierung-Algorithmus aus Abschnitt 4.1 kommt mit O(m) Platz (eine Zeile) aus. Danach muß man sich nur einen k-wert pro Iteration merken. Das ergibt O(n + m). 4.3 Semiglobales Alignment Die bisher betrachteten Probleme machen biologisch dann Sinn, wenn die betrachteten Strings x, y etwa gleich lang sind. Ist aber z.b. x viel kürzer als y, so werden die x i im Allgemeinen über die Länge von y verstreut. Das entstehende Alignment und die zugehörige Bewertung sind dann von geringem praktischem Wert. In Situationen, in denen ein String, etwa x, gegenüber dem anderen sehr kurz ist, ist es sinnvoller ˆx möglichst kompakt zu lassen. Dies erreicht man, indem man Lücken vor dem Anfang und hinter dem Ende von x nicht bewertet, Lücken im Inneren generell negativ bewertet und dann einen Algorithmus aus dem letzten Kapitel anwendet. Dass Lücken am Anfang nicht bewertet werden, erreichen wir mit den neuen Startbedingungen. v(0, j) = 0, 0 j m v(i, 0) = 0, 0 i n. Anschließend berechnen wir die Matrix der v-werte wie gehabt. Da die Paarungen mit Lücken negative Bewertungen haben, wählen wir in der letzten Zeile und Spalte den insgesamt maximalen Wert. Dieser (v(i, m) oder v(n, j)) entspricht dem optimalen Alignment. v(i, m) entspricht dem Fall, dass das Suffix x suff(i+1) mit Lücken gepaart wurde, während v(n, j) bedeutet, dass y suff(j+1) mit Lücken gepaart wurde. 4.4 Lokales Alignment Oft ist man daran interessiert in den Strings x und y Teilstrings zu finden, die ihrerseits ein globales Alignment von maximalem Wert besitzen. Definition 4.8 (Lokales Alignment): Seien x = x 1 x n, y = y 1 y m Strings über Σ der Längen n bzw. m. Finde i, i, j, j, 0 i i n, 0 j j m, so daß die Bewertung des globalen paarweisen Alignments der Substrings x i x i+1 x i und y j y j+1 y j maximal ist.

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

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

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

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

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Unterrichtsmaterialien in digitaler und in gedruckter Form Auszug aus: Die gentechnische Produktion von Insulin - Selbstlerneinheit zur kontextorientierten Wiederholung der molekularen Genetik Das komplette

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

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

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

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

Aufgabe 2: (Aminosäuren)

Aufgabe 2: (Aminosäuren) Aufgabe 2: (Aminosäuren) Aufgabenstellung Die 20 Aminosäuren (voller Name, 1- und 3-Buchstaben-Code) sollen identifiziert und mit RasMol grafisch dargestellt werden. Dann sollen die AS sinnvoll nach ihren

Mehr

Was ist der Promotor? Antwort: Eine spezielle Nucleotidsequenz auf der DNA, an der die RNA-Polymerase bindet um die Transkription zu starten.

Was ist der Promotor? Antwort: Eine spezielle Nucleotidsequenz auf der DNA, an der die RNA-Polymerase bindet um die Transkription zu starten. Was ist der Promotor? Antwort: Eine spezielle Nucleotidsequenz auf der DNA, an der die RNA-Polymerase bindet um die Transkription zu starten. Wie bezeichnet man den Strang der DNA- Doppelhelix, der die

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

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

Der molekulare Bauplan des Lebens; biologische Nano- und Mikrobausteine von Lebewesen. RNA und DNA als sich selbst replizierende Informationsspeicher

Der molekulare Bauplan des Lebens; biologische Nano- und Mikrobausteine von Lebewesen. RNA und DNA als sich selbst replizierende Informationsspeicher Der molekulare Bauplan des Lebens; biologische Nano- und Mikrobausteine von Lebewesen RNA und DNA als sich selbst replizierende Informationsspeicher Quelle: Biochemie, J.M. Berg, J.L. Tymoczko, L. Stryer,

Mehr

Algorithmen und Datenstrukturen II. Suchen in Texten. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München

Algorithmen und Datenstrukturen II. Suchen in Texten. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München Algorithmen und Datenstrukturen II Suchen in Texten Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 27.03.2018 06:32 Inhaltsverzeichnis Ein Text.......................................

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

String Matching 2. Definition Ein Alphabet ist eine nichtleere, endliche Menge S von Zeichen.

String Matching 2. Definition Ein Alphabet ist eine nichtleere, endliche Menge S von Zeichen. 1 2 1. Strings Definition Ein Alphabet ist eine nichtleere, endliche Menge S von Zeichen. Ein String über S ist eine endliche Folge S = S(1)S(2)...S(n) von Zeichen S(i) aus S, dessen Länge n wir mit S

Mehr

Modul 8: Bioinformatik A. Von der DNA zum Protein Proteinsynthese in silicio

Modul 8: Bioinformatik A. Von der DNA zum Protein Proteinsynthese in silicio Modul 8: Bioinformatik A. Von der DNA zum Protein Proteinsynthese in silicio Ein Wissenschaftler erhält nach einer Sequenzierung folgenden Ausschnitt aus einer DNA-Sequenz: 5 ctaccatcaa tccggtaggt tttccggctg

Mehr

Vorlesung Biophysik I - Molekulare Biophysik Kalbitzer/Kremer/Ziegler

Vorlesung Biophysik I - Molekulare Biophysik Kalbitzer/Kremer/Ziegler Vorlesung Biophysik I - Molekulare Biophysik Kalbitzer/Kremer/Ziegler 23.10. Zelle 30.10. Biologische Makromoleküle I 06.11. Biologische Makromoleküle II 13.11. Nukleinsäuren-Origami (DNA, RNA) 20.11.

Mehr

15. Aminosäuren, Peptide und Proteine

15. Aminosäuren, Peptide und Proteine 15. Aminosäuren, Peptide und Proteine 1 Proteine (Polypeptide) erfüllen in biologischen ystemen die unterschiedlichsten Funktionen. o wirken sie z.b. bei vielen chemischen eaktionen in der atur als Katalysatoren

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

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

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

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

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

Aminosäuren - Proteine

Aminosäuren - Proteine Aminosäuren - Proteine ÜBERBLICK D.Pflumm KSR / MSE Aminosäuren Überblick Allgemeine Formel für das Grundgerüst einer Aminosäure Carboxylgruppe: R-COOH O Aminogruppe: R-NH 2 einzelnes C-Atom (α-c-atom)

Mehr

Seien M 1,M 2 NFAs f. die Sprachen L 1 und L 2. Konstruktion eines NFAs für L 1 L 2 : Erzeuge Kopien von M 1 und M 2. p 1

Seien M 1,M 2 NFAs f. die Sprachen L 1 und L 2. Konstruktion eines NFAs für L 1 L 2 : Erzeuge Kopien von M 1 und M 2. p 1 Beispiel Produktautomat p Vereinfachte Konstruktion f. NFAs Seien M,M 2 NFAs f. die Sprachen L und L 2. Konstruktion eines NFAs für L L 2 : Erzeuge Kopien von M und M 2. p q q p 2 Erzeuge neuen Startzustand

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

7.1 Matrizen und Vektore

7.1 Matrizen und Vektore 7.1 Matrizen und Vektore Lineare Gleichungssysteme bestehen aus einer Gruppe von Gleichungen, in denen alle Variablen nur in der 1. Potenz vorkommen. Beispiel Seite 340 oben: 6 x 2 = -1 + 3x 2 = 4 mit

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

Proteinogene Aminosäuren. Unpolare, aliphatische Seitenketten Monoaminomonocarbonsäuren

Proteinogene Aminosäuren. Unpolare, aliphatische Seitenketten Monoaminomonocarbonsäuren Proteinogene Aminosäuren Unpolare, aliphatische Seitenketten Monoaminomonocarbonsäuren Proteinogene Aminosäuren Unpolare, heterozyklische Seitenkette Monoaminomonocarbonsäuren Proteinogene Aminosäuren

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

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

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Sascha Böhme, Lars Noschinski Sommersemester 2 Lösungsblatt 2 3. Mai 2 Einführung in die Theoretische Informatik Hinweis:

Mehr

1.8 Shift-And-Algorithmus

1.8 Shift-And-Algorithmus .8 Shift-And-Algorithmus nutzt durch Bitoperationen mögliche Parallelisierung Theoretischer Hintergrund: Nichtdeterministischer endlicher Automat Laufzeit: Θ(n), falls die Länge des Suchwortes nicht größer

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

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

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1

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

Mehr

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

Suche nach einem solchen Kreis. Endlichkeitstest. Vereinigung und Durchschnitt. Abschlusseigenschaften

Suche nach einem solchen Kreis. Endlichkeitstest. Vereinigung und Durchschnitt. Abschlusseigenschaften Endlichkeitstest Eingabe: DFA/NFA M. Frage: Ist die von M akzeptierte Sprache endlich? Nahe liegende Beobachtung: In einem DFA/NFA, der eine unendliche Sprache akzeptiert, muss es einen Kreis geben, der

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

Algorithmen und Datenstrukturen II

Algorithmen und Datenstrukturen II Algorithmen und Datenstrukturen II AG Praktische Informatik Technische Fakultät Vorlesung Sommer 2009 Teil I Algorithmen zur exakten Suche in Texten Die Klasse String Zeichenketten sind in Java Objekte.

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

Nash-Gleichgewichte in 2-Spieler Systemen. Katharina Klost Freie Universität Berlin

Nash-Gleichgewichte in 2-Spieler Systemen. Katharina Klost Freie Universität Berlin Nash-Gleichgewichte in 2-Spieler Systemen Katharina Klost Freie Universität Berlin Seminar über Algorithmen, 29.10.2013 Grundlegende Definitionen A Gewinnmatrix für Spieler 1, B Gewinnmatrix für Spieler

Mehr

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

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

Mehr

Satz (Abschluß unter der Stern-Operation)

Satz (Abschluß unter der Stern-Operation) Satz (Abschluß unter der Stern-Operation) Wenn L eine reguläre Sprache ist, dann ist auch L regulär. Beweis: Es gibt einen NFA M = (Z, Σ, S, δ, S, E) mit L(M) = L. Wir bauen aus diesem NFA nun wie folgt

Mehr

2. Symmetrische Gruppen

2. Symmetrische Gruppen 14 Andreas Gathmann 2 Symmetrische Gruppen Im letzten Kapitel haben wir Gruppen eingeführt und ihre elementaren Eigenschaften untersucht Wir wollen nun eine neue wichtige Klasse von Beispielen von Gruppen

Mehr

Zeichenketten. 29. April 2015 Benedikt Lorch. Benedikt Lorch Zeichenketten April

Zeichenketten. 29. April 2015 Benedikt Lorch. Benedikt Lorch Zeichenketten April Vorlage Zeichenketten 29. April 2015 Benedikt Lorch Benedikt Lorch Zeichenketten 17. 29. April 2015 1 Motivation String Matching in the DNA Alphabet 1 Σ DNA = {A, G, C, T} DNA Text: 1 982 672 Zeichen Suchstring:

Mehr

Zeichenketten. Michael Fularczyk Michael Fularczyk Zeichenketten / 41

Zeichenketten. Michael Fularczyk Michael Fularczyk Zeichenketten / 41 Zeichenketten Michael Fularczyk 17.05.2011 Michael Fularczyk Zeichenketten 17.05.2011 1 / 41 Inhalt Zeichenketten Zeichensätze Darstellung Suchverfahren naive Stringsuche Knuth-Morris-Pratt Boyer-Moore

Mehr

2.7 Der Shannon-Fano-Elias Code

2.7 Der Shannon-Fano-Elias Code 2.7 Der Shannon-Fano-Elias Code Die Huffman-Codierung ist ein asymptotisch optimales Verfahren. Wir haben auch gesehen, dass sich die Huffman-Codierung gut berechnen und dann auch gut decodieren lassen.

Mehr

Die mathematische Seite

Die mathematische Seite Kellerautomaten In der ersten Vorlesung haben wir den endlichen Automaten kennengelernt. Mit diesem werden wir uns in der zweiten Vorlesung noch etwas eingängiger beschäftigen und bspw. Ansätze zur Konstruktion

Mehr

In den Proteinen der Lebewesen treten in der Regel 20 verschiedene Aminosäuren auf. Deren Reihenfolge muss in der Nucleotidsequenz der mrna und damit

In den Proteinen der Lebewesen treten in der Regel 20 verschiedene Aminosäuren auf. Deren Reihenfolge muss in der Nucleotidsequenz der mrna und damit In den Proteinen der Lebewesen treten in der Regel 20 verschiedene Aminosäuren auf. Deren Reihenfolge muss in der Nucleotidsequenz der mrna und damit in der Nucleotidsequenz der DNA verschlüsselt (codiert)

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

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

5.2 Endliche Automaten

5.2 Endliche Automaten 114 5.2 Endliche Automaten Endliche Automaten sind Turingmaschinen, die nur endlichen Speicher besitzen. Wie wir bereits im Zusammenhang mit Turingmaschinen gesehen haben, kann endlicher Speicher durch

Mehr

1 Lineare Gleichungssysteme und Matrizen

1 Lineare Gleichungssysteme und Matrizen 1 Lineare Gleichungssysteme und Matrizen Das Studium linearer Gleichungssysteme und ihrer Lösungen ist eines der wichtigsten Themen der linearen Algebra. Wir werden zunächst einige grundlegende Begriffe

Mehr

3 Matrizenrechnung. 3. November

3 Matrizenrechnung. 3. November 3. November 008 4 3 Matrizenrechnung 3.1 Transponierter Vektor: Die Notation x R n bezieht sich per Definition 1 immer auf einen stehenden Vektor, x 1 x x =.. x n Der transponierte Vektor x T ist das zugehörige

Mehr

5.2 Rechnen mit Matrizen

5.2 Rechnen mit Matrizen 52 Rechnen mit Matrizen 52 Rechnen mit Matrizen 97 Für Matrizen desselben Typs ist eine Addition erklärt, und zwar durch Addition jeweils entsprechender Einträge Sind genauer A = (a ij ) und B = (b ij

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

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

5 Sortieren in eindimensionalen Zellularautomaten

5 Sortieren in eindimensionalen Zellularautomaten 5 Sortieren in eindimensionalen Zellularautomaten 5.1 Für alle x A und w A bezeichne im folgenden N x (w) die Anzahl der Vorkommen des Symboles x in dem Wort w. 5.2 Problem. (Eindimensionales Sortieren

Mehr

Fragen 1. Muss eine DTM ein Wort zu Ende gelesen haben, um es zu akzeptieren? a) Ja! b) Nein!

Fragen 1. Muss eine DTM ein Wort zu Ende gelesen haben, um es zu akzeptieren? a) Ja! b) Nein! 4 Turingmaschinen Eingabeband nicht nur lesen, sondern auch schreiben kann und die zudem mit ihrem Lese-Schreib-Kopf (LSK) nach links und rechts gehen kann. Das Eingabeband ist zudem in beide Richtungen

Mehr

Die Nerode-Relation und der Index einer Sprache L

Die Nerode-Relation und der Index einer Sprache L Die Nerode-Relation und der Index einer Sprache L Eine zweite zentrale Idee: Sei A ein vollständiger DFA für die Sprache L. Repäsentiere einen beliebigen Zustand p von A durch die Worte in Σ, die zu p

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

Verfahren zu Strukturvorhersagen in vereinfachten Modellen. Tobias Voigt Sommerakademie 2002 St. Johann

Verfahren zu Strukturvorhersagen in vereinfachten Modellen. Tobias Voigt Sommerakademie 2002 St. Johann Verfahren zu Strukturvorhersagen in vereinfachten Modellen Tobias Voigt Sommerakademie 2002 St. Johann Einführung! Sequenzierung von Proteinen und Nukleinsäuren ist heute Routine! Die räumliche Struktur

Mehr

a 11 a 12 a 1(m 1) a 1m a n1 a n2 a n(m 1) a nm Matrizen Betrachten wir das nachfolgende Rechteckschema:

a 11 a 12 a 1(m 1) a 1m a n1 a n2 a n(m 1) a nm Matrizen Betrachten wir das nachfolgende Rechteckschema: Matrizen Betrachten wir das nachfolgende Rechteckschema: a 12 a 1(m 1 a 1m a n1 a n2 a n(m 1 a nm Ein solches Schema nennt man (n m-matrix, da es aus n Zeilen und m Spalten besteht Jeder einzelne Eintrag

Mehr

FORMALE SYSTEME. 3. Vorlesung: Endliche Automaten. TU Dresden, 17. Oktober Markus Krötzsch

FORMALE SYSTEME. 3. Vorlesung: Endliche Automaten. TU Dresden, 17. Oktober Markus Krötzsch FORMALE SYSTEME 3. Vorlesung: Endliche Automaten Markus Krötzsch TU Dresden, 17. Oktober 2016 Rückblick Markus Krötzsch, 17. Oktober 2016 Formale Systeme Folie 2 von 31 Wiederholung Mit Grammatiken können

Mehr

Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden kann.

Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden kann. Der Satz von Kleene Wir haben somit Folgendes bewiesen: Der Satz von Kleene Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden

Mehr

6. Vorlesung. Rechnen mit Matrizen.

6. Vorlesung. Rechnen mit Matrizen. 6. Vorlesung. Rechnen mit Matrizen. In dieser Vorlesung betrachten wir lineare Gleichungs System. Wir betrachten lineare Gleichungs Systeme wieder von zwei Gesichtspunkten her: dem angewandten Gesichtspunkt

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

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

Theoretische Grundlagen der Informatik

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

Mehr

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

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Ausgabe 10. Januar 2018 Abgabe 23. Januar 2018, 11:00 Uhr (im

Mehr

Matchings in Graphen. Praktikum Diskrete Optimierung (Teil 5)

Matchings in Graphen. Praktikum Diskrete Optimierung (Teil 5) Praktikum Diskrete Optimierung (Teil 5) 6.05.009 Matchings in Graphen Es sei ein ungerichteter Graph G = (V, E) gegeben. Ein Matching in G ist eine Teilmenge M E, so dass keine zwei Kanten aus M einen

Mehr

MM Biopolymere. Michael Meyer. Vorlesung XV

MM Biopolymere. Michael Meyer. Vorlesung XV Biopolymere Vorlesung XV Simulation von Biomolekülen Modellierung von Proteinen Identifizierung und/oder Verwandtschaft mit anderen Proteinen Funktion eines Proteins oder Sequenzfragmentes Modellierung

Mehr

Lösungen zur Klausur GRUNDLAGEN DER WAHRSCHEINLICHKEITSTHEORIE UND STATISTIK

Lösungen zur Klausur GRUNDLAGEN DER WAHRSCHEINLICHKEITSTHEORIE UND STATISTIK Institut für Stochastik Dr. Steffen Winter Lösungen zur Klausur GRUNDLAGEN DER WAHRSCHEINLICHKEITSTHEORIE UND STATISTIK für Studierende der INFORMATIK vom 17. Juli 01 (Dauer: 90 Minuten) Übersicht über

Mehr

5 Lineare Gleichungssysteme und Determinanten

5 Lineare Gleichungssysteme und Determinanten 5 Lineare Gleichungssysteme und Determinanten 51 Lineare Gleichungssysteme Definition 51 Bei einem linearen Gleichungssystem (LGS) sind n Unbekannte x 1, x 2,, x n so zu bestimmen, dass ein System von

Mehr

2. Grundlagen. Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten.

2. Grundlagen. Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten. 2. Grundlagen Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten. Laufzeitverhalten beschreiben durch O-Notation. 1 Beispiel Minimum-Suche Eingabe bei Minimum

Mehr

bekannt: Eliminationsverfahren von Gauß Verfahren führt zu einer Zerlegung der Koeffizientenmatrix: A = LR A = LR

bekannt: Eliminationsverfahren von Gauß Verfahren führt zu einer Zerlegung der Koeffizientenmatrix: A = LR A = LR LR-Zerlegung bekannt: Eliminationsverfahren von Gauß Verfahren führt zu einer Zerlegung der Koeffizientenmatrix: A = LR Definition 2.17 Unter einer LR-Zerlegung einer Matrix A R n n verstehen wir eine

Mehr

Grundlagen der theoretischen Informatik

Grundlagen der theoretischen Informatik Grundlagen der theoretischen Informatik Kurt Sieber Fakultät IV, Department ETI Universität Siegen SS 2013 Vorlesung vom 09.04.2013 Inhalt der Vorlesung Teil I: Automaten und formale Sprachen (Kurt Sieber)

Mehr

Einführungsbeispiel Kostenfunktion

Einführungsbeispiel Kostenfunktion Einführungsbeispiel Kostenfunktion Sie bauen eine Fabrik für Luxusautos auf und steigern die Produktion jeden Monat um 1000 Stück. Dabei messen Sie die jeweiligen Kosten und stellen sie grafisch dar. Die

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 3 14. Mai 2010 Einführung in die Theoretische

Mehr

1 Der Satz von Poincaré-Birkhoff-Witt. 2 Die freie Algebra. 3 Die universell einhüllende Algebra

1 Der Satz von Poincaré-Birkhoff-Witt. 2 Die freie Algebra. 3 Die universell einhüllende Algebra 1 Der Satz von Poincaré-Birkhoff-Witt Darstellungen von assoziativen Algebren sind oft einfacher zu handhaben als Darstellungen von Lie- Algebren. Die universell einhüllende Algebra einer Lie-Algebra hat

Mehr

Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p.

Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p. Thorsten Timmer SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke Turing Maschine SS 2005 p. 1/35 Inhalt Einführung Formale Definition Berechenbare Sprachen und Funktionen Berechnung ganzzahliger

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

Mathematik II für Studierende der Informatik. Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2016

Mathematik II für Studierende der Informatik. Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2016 und Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2016 25. April 2016 Die Dimensionsformel Definition 3.9 Sei f : V W eine lineare Abbildung zwischen zwei K-Vektorräumen. Der Kern

Mehr

Foliensatz; Arbeitsblatt; Internet. Je nach chemischem Wissen können die Proteine noch detaillierter besprochen werden.

Foliensatz; Arbeitsblatt; Internet. Je nach chemischem Wissen können die Proteine noch detaillierter besprochen werden. 03 Arbeitsauftrag Arbeitsauftrag Ziel: Anhand des Foliensatzes soll die Bildung und der Aufbau des Proteinhormons Insulin erklärt werden. Danach soll kurz erklärt werden, wie man künstlich Insulin herstellt.

Mehr

9 Lineare Gleichungssysteme

9 Lineare Gleichungssysteme 9 Lineare Gleichungssysteme Eine der häufigsten mathematischen Aufgaben ist die Lösung linearer Gleichungssysteme In diesem Abschnitt beschäftigen wir uns zunächst mit Lösbarkeitsbedingungen und mit der

Mehr

Übersicht. Aktivitäten-Auswahl-Problem. Greedy Algorithmen. Aktivitäten-Auswahl-Problem. Aktivitäten-Auswahl-Problem. Datenstrukturen & Algorithmen

Ü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

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

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

5.2 Rechnen mit Matrizen

5.2 Rechnen mit Matrizen 52 Rechnen mit Matrizen 52 Rechnen mit Matrizen 95 Für Matrizen desselben Typs ist eine Addition erklärt, und zwar durch Addition jeweils entsprechender Einträge Sind genauer A = (a ij ) und B = (b ij

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Wintersemester 2012/13 25. Vorlesung Dynamisches Programmieren Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Klausurvorbereitung Tipp: Schreiben Sie sich alle Fragen

Mehr

Lösungen zur 3. Projektaufgabe TheGI1

Lösungen zur 3. Projektaufgabe TheGI1 Marco Kunze (makunze@cs.tu-berlin.de) WS 2001/2002 Sebastian Nowozin (nowozin@cs.tu-berlin.de) 21. 1. 2002 Lösungen zur 3. Projektaufgabe TheGI1 Definition: Turing-Aufzähler Ein Turing-Aufzähler einer

Mehr

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

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

Mehr

Einführung in die Logik

Einführung in die Logik Einführung in die Logik Klaus Madlener und Roland Meyer 24. April 2013 Inhaltsverzeichnis 1 Aussagenlogik 1 1.1 Syntax................................. 1 1.2 Semantik............................... 3 1.3

Mehr

FORMALE SYSTEME. 8. Vorlesung: Minimale Automaten. TU Dresden, 6. November Markus Krötzsch Lehrstuhl Wissensbasierte Systeme

FORMALE SYSTEME. 8. Vorlesung: Minimale Automaten. TU Dresden, 6. November Markus Krötzsch Lehrstuhl Wissensbasierte Systeme FORMALE SYSTEME 8. Vorlesung: Minimale Automaten Markus Krötzsch Lehrstuhl Wissensbasierte Systeme TU Dresden, 6. November 2017 Rückblick Markus Krötzsch, 6. November 2017 Formale Systeme Folie 2 von 26

Mehr

Reguläre Sprachen und endliche Automaten

Reguläre Sprachen und endliche Automaten Reguläre Sprachen und endliche Automaten 1 Motivation: Syntaxüberprüfung Definition: Fließkommazahlen in Java A floating-point literal has the following parts: a whole-number part, a decimal point (represented

Mehr

Lineare Algebra I (WS 12/13)

Lineare Algebra I (WS 12/13) Lineare Algebra I (WS 12/13) Bernhard Hanke Universität Augsburg 17.10.2012 Bernhard Hanke 1 / 9 Wir beschreiben den folgenden Algorithmus zur Lösung linearer Gleichungssysteme, das sogenannte Gaußsche

Mehr