Algorithmische Bioinformatik I

Ähnliche Dokumente
Technische Universität München Zentrum Mathematik

Algorithmische Bioinformatik 1

2. Klausur Datenstrukturen und Algorithmen SS 2014

Klausur Algorithmen und Datenstrukturen

Datenstrukturen und Algorithmen (SS 2013) Prof. Dr. Leif Kobbelt Thomas Ströder, Fabian Emmes, Sven Middelberg, Michael Kremer

Übungen zur Vorlesung Modellierung WS 2003/2004 Blatt 11 Musterlösungen

Präsenzübung Datenstrukturen und Algorithmen SS 2014

2. Präsenzübung Datenstrukturen und Algorithmen SS 2014

Algorithmen auf Sequenzen

Divide & Conquer. Problem in Teilprobleme aufteilen Teilprobleme rekursiv lösen Lösung aus Teillösungen zusammensetzen

16. All Pairs Shortest Path (ASPS)

Algorithmen auf Sequenzen Volltext-Indexdatenstrukturen: Suffixbäume

Datenstrukturen und Algorithmen (SS 2013)

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit ** i=1

Suche in Texten: Suffix-Bäume

4.9.7 Konstruktion der Suffixbäume

Mathe an Stationen. Mathe an Stationen 10 Inklusion. Trigonometrie am rechtwinkligen Dreieck. Bernard Ksiazek. Klasse

4.4 Anwendungen von Suffixbäumen und Suffix-Arrays

f 1 (n) = log(n) + n 2 n 5 f 2 (n) = n 3 + n 2 f 3 (n) = log(n 2 ) f 4 (n) = n n f 5 (n) = (log(n)) 2

Klausur Algorithmen und Datenstrukturen

7. Grassmannsche Vektoren und die Drehungen im Raum.

Kapitel 3: Sortierverfahren Gliederung

Klausur zur Vorlesung Grundbegriffe der Informatik 14. September 2015 Lösungsvorschläge

Klausur Algorithmen und Datenstrukturen

1. Klausur Datenstrukturen und Algorithmen SS 2014

Klausur Algorithmen und Datenstrukturen

Wirtschaftsmathematik - Übungen WS 2018

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

Download. Mathe an Stationen. Mathe an Stationen. Das Kreisgeobrett in der Sekundarstufe I. Marco Bettner, Erik Dinges

Abgabe: (vor der Vorlesung) Aufgabe 3.1 (P) Master-Theorem

Relationen: Verkettungen, Wege, Hüllen

Klausur Grundlagen der Informatik Hochschule Ravensburg-Weingarten

Wirtschaftsmathematik - Übungen SS 2018

ÜBUNGSKLAUSUR Studienhalbjahr: 2. Semester. Datum: 20. Juli 2016 Bearbeitungszeit: 90 Minuten. Modul: T2INF Dozent: Stephan Schulz

Übung Algorithmen und Datenstrukturen

Diskrete Strukturen. Name Vorname Studiengang Matrikelnummer. Hörsaal Reihe Sitzplatz Unterschrift ... Allgemeine Hinweise

Übungsklausur Algorithmen I

Mathematische Probleme, SS 2018 Dienstag 5.6. $Id: dreieck.tex,v /06/05 15:41:51 hk Exp $ 2.1 Dreiecksberechnung mit Seiten und Winkeln

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

Klausur Algorithmentheorie

Grundlagen: Algorithmen und Datenstrukturen

Kapitel 2: Analyse der Laufzeit von Algorithmen Gliederung

Klausur Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen 1 VL Übungstest WS November 2007

10. Grassmannsche Vektoren und die Drehungen im Raum.

Der Begriff der Stammfunktion

1. Überlege, ob die gegebenen Körper mit einem geometrischen Grundkörper

Lösungsvorschlag 1. Vorlesung Algorithmentechnik im WS 09/10

Übungsaufgaben zur Klausurvorbereitung

Klausur Algorithmentheorie

Automaten und formale Sprachen Notizen zu den Folien

Heapsort / 1 A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8]

Vorlesung Datenstrukturen

Klausur Grundlagen der Informatik Hochschule Ravensburg-Weingarten

Algorithmische Bioinformatik

Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:

Auswertung von Operatorbäumen Huffman-Code

Übersicht. Datenstrukturen und Algorithmen. Die Teile-und-Beherrsche-Methode. Übersicht. Vorlesung 3: Rekursionsgleichungen (K4)

Übung Algorithmen und Datenstrukturen

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

2.2 Der Algorithmus von Knuth, Morris und Pratt

Datenstrukturen & Algorithmen Lösungen zu Blatt 2 FS 16

112 C.1 Aufbau der Blasenkammer. ˆ Aufgabe 1: Funktionsweise einer Blasenkammer Erkläre die Aufgaben der einzelnen Bestandteile.

Lösungsskizzen Mathematik für Informatiker 5. Aufl. Kapitel 11 Peter Hartmann

Klausur - Informatik I SS 05. Note: Bearbeitungszeit 120 Minuten Keine Hilfsmittel

A7.1 Untere Schranke. Algorithmen und Datenstrukturen. A7.1 Untere Schranke. Algorithmen und Datenstrukturen. A7.2 Quicksort. A7.

Markieren Sie die Integralausdrücke, die den Flächeninhalt der markierten Fläche berechnen:

Rekursionsbäume Aufstellen eines Baumes dessen Knoten die Laufzeit auf jeder Rekursionsstufe darstellen und Aufsummieren

Kapitel 1: Endliche Automaten Gliederung 1. Endliche Automaten

1.3 Erinnerung: Mergesort

Datenstrukturen und Algorithmen

Klausur Algorithmentheorie

Mathematik I für MB/ME

Analysis. Tangenten, Normalen, Änderungsraten. Schaubilder von Ableitungsfunktionen

Transkript:

Ludwig-Maximilians-Universität Münhen Institut für Informatik Prof. Dr. Volker Heun Sommersemester 2016 Wiederholungsklausur 19. Oktoer 2016 Algorithmishe Bioinformatik I Vorname Name Matrikelnummer Reihe Platz Untershrift Hiermit stimme ih einer Veröffentlihung meines Klausurergenisses dieser Semestralklausur unter Verwendung meiner Matrikelnummer im Internet zu. Ja Nein (Untershrift) Allgemeine Hinweise zur Semestralklausur Vor der Prüfung ist diese Seite mit Vornamen, Namen, Matrikelnummer, Reihe und Platz leserlih mit Drukuhstaen zu versehen und zu untershreien. Bitte niht in roter oder grüner Fare zw. niht mit Bleistift shreien. Der Studentenausweis und ein amtliher Lihtildausweis sind ereit zu halten. Die reine Beareitungszeit eträgt 120 Minuten. Es sind insgesamt 40 Punkte zu erreihen, zum Bestehen sind 17 Punkte nötig. Viel Erfolg! Hörsaal verlassen von... is... von... is... Vorzeitig agegeen um... Hz A1 A2 A A4 A5 Erstkorrektur Nahkorrektur Zweitprüfer

Aufgae 1 (8 Punkte) Gi das Master-Theorem aus der Vorlesung an. Spezifiziere hierzu insesondere die drei vershiedenen Fälle und gi an, welhe Lösung der jeweilige Fall esitzt. Bestimme die Asymptotik von T(n) mithilfe des Master-Theorems aus der Vorlesung unter Angae einer der drei Fälle (siehe oen) mit Begründung zw. egründe, warum das Master-Theorem niht anwendar ist. Es gilt daei immer T(1) = 1: a) T(n) = 2 T(n/4)+ n, ) T(n) = 4 T(n/)+n 2. ) T(n) = T(n/)+n/log(n). Seien a,,d N mit > 1, sei f(n) eine Funktion und sei T(n) definiert durh die Rekursionsgleihung T(n) = a T(n/)+f(n) für n > 1 und T(1) = d. Dann gilt: Θ(n log (a) ) falls f(n) = O(n log (a) e ) für ein konstantes e > 0 Θ(n T(n) = log (a) log(n)) falls f(n) = Θ(n log (a) ) Θ(f(n)) falls f(n) = Ω(n log (a)+e ) für ein konstantes e > 0 und a f(n/) f(n) für ein konstantes < 1 a) Für das Master-Theorem erhalten wir a = 2, = 4 und f(n) = n. Es gilt log 4 (2) = 1 2 und somit f(n) = n = n 1/2 = Θ(n log 2 (4) ) = Θ(n log (a) ). Also gilt der zweite Fall des Master-Theorems und es ist T(n) = Θ(f(n)log(n)) = Θ( nlog(n)). ) Für das Master-Theorem erhalten wir a = 4, = und f(n) = n 2. Da offensihtlih 1 < log (4) < 2 gilt, gilt auh log (4) = 1 + e für ein geeignetes e (0,1). Damit erhalten wir f(n) = n 2 = Ω(n 1+e ) = Ω(n log (a)+e ) für das oige e (0,1/2). Weiter ist 4 ) 2 4 9 n2! f(n) und somit gilt der dritte Fall des Master-Theorems mit = 4 9 T(n) = Θ(f(n)) = Θ(n 2 ). < 1 und wir erhalten ) Für das Master-Theorem erhalten wir a =, = und f(n) = n/log(n). Es gilt log (a) = log () = 1. Es gilt n/log(n) = ω(n 1 e ) für alle e > 0. Also ist f(n) = n/log(n) = ω(n 1 e ) und damit f(n) O(n 1 e ) = O(n log (a) e ) für alle e > 0 und Fall 1 ist niht zutreffend. Weiter ist f(n) = n/log(n) = ω(n) und daher f(n) Θ(n) = Θ(n log (a) ). Fall 2 trifft also niht zu. Da n/log(n) = o(n), ist auh f(n) = n/log(n) Ω(n 1+e ) für alle e > 0. Das Master- Theorem ist also auh im Fall niht anwendar. [SS16] 2

Aufgae 2 (8 Punkte) Betrahte die folgende Suhwortmenge S = {a, a,, a,, a}. a) Konstruiere einen Suhwort-Baum für S nah Aho-Corasik; ) Konstruiere die Failure-Links in diesem Suhwort-Baum; ) Markiere nah dem in der Vorlesung angegeenen Algorithmus von Aho und Corasik alle Knoten darin, die einem Suhwort aus S entsprehen; d) Markiere nah dem in der Vorlesung angegeenen Algorithmus von Aho und Corasik die Knoten, für die Treffer ausgegeen werden und gee die zugehörigen Hit-Links an. e) Wende den Algorithmus von Aho-Corasik mit dem konstruierten Suhwort-Baum auf das folgende Wort an: t 1 t 11 = aa. Hinweis: Verwende vershiedene Faren, aus denen ersihtlih wird, welhe Teile des Baumes(zw. welhe Annotationen) zu welhem Aufgaenteil gehören(zeihne ggf. den Baum mehrmals). 1 5 a 2 Failure-Links sind orange und gestrihelt, Hit- Links grün und gepunktet dargestellt. Die laue Zahl i git den Knoten an, an dem versuht wird, mit s i weiterzuareiten; Bei * efindet sih der Algorithmus am Ende. 6 Es werden daei die folgenden Treffer an der entsprehenden Endposition ausgegeen: 7 4, @ 2 a,a @ 4 a @ 5 8 11 5, @ 7, @ 9 a a @ 10 a,a,a @ 11 9 10 * Der Lesarkeit wegen werden hier die Worte der Treffermenge ausgegeen, normalerweise wird die Länge zw. die daraus erehnete Startposition ausgegeen. 11 [SS16]

Aufgae (8 Punkte) Betrahte die Wörter s = BAHAMA und t = OBAMA. Berehne den ersten Shritt des Hirsherg-Algorithmus ei einem gloalen Sequenzen-Alignment für s und t zur Rekonstruktion des Traeaks. Bestimme insesondere den zw. die Shnittpunkte der Wörter s und t, d.h. die Teilwörter, für die der Hirsherg-Algorithmus rekursiv aufgerufen wird und gi das zw. die zugehörigen Alignments an. Gi dazu sowohl die eiden Taellen zur Ermittlung der Shnittpunkte an und zeihne in diesen Taellen auh die Traeak-Pfeile ein (die vom Hirsherg-Algorithmus niht verwendet werden). Die enötigten rekursiv konstruierten Alignments dürfen aus diesen Taellen agelesen werden. Die Kostenfunktion für ein Distanzmaß sei daei mit 0 für ein Math, mit für eine Sustitution und mit 2 für eine Indel-Operation gegeen. Begründe kurz in eigenen Worten, warum die Rekonstruktion eines optimalen Alignments eim Hirsherg-Algorithmus linearen Platz enötigt. B A H A M A O B A M A 0 2 4 6 8 10 2 2 4 6 8 4 5 4 2 4 6 6 7 6 4 5 7 =10 =9 =6 =6 =9 =1 4 2 0 2 4 6 6 4 2 0 2 4 8 6 4 2 0 2 10 8 6 4 2 0 Damit liegt der Shnittpunkt ei (, 2), d.h. BAH AMA versus OB AMA, oder (, ), d.h. BAH AMA versus OBA MA. Die eiden Alignments lauten: ( ) ( ) BAHAMA BAHAMA zw.. OB AMA OBA MA Der Divide-Shritt enötigt jeweils linearen Platz O(n), da nur die letzten eiden Zeilen der DP-Matrix zu speihern sind. Da der Platz in den rekursiven Aufrufen wiederverwendet werden kann ist der Platzedarf hierfür insgesamt linear. Im Conquer-Shritt wird nur das Alignment aufgeaut, das insgesamt linearen Platz O(n + m) enötigt. [SS16] 4

Aufgae 4 (8 Punkte) Zeige, dass gilt: i 4 (n i+1) 4 Θ(n 9 ). Hinweis: Verwende daei geeignete Ashätzungen. Es gilt: i 4 (n i+1) 4 Also ist n i4 (n i+1) 4 O(n 9 ). Weiter gilt n 4 n 4 = n 8 = n 9. i 4 (n i+1) 4 = 2n i= n 2n i= n 2n i= n 2n i= n i 4 (n i+1) 4 n ) 8 4 ( n ) 4 ( n 2n ) 4 2n +1 ) 4 ( 2n n (( ) 2n ) 1 +1 ) 8 1 ) n 1 n für n 6 6 n 8 6 ) 9 6) ) +1 ) ) +1 ) Also gilt n i4 (n i+1) 4 Ω(n 9 ). Zusammen gilt also n i4 (n i+1) 4 Θ(n 9 ). [SS16] 5

Aufgae 5 (8 Punkte) Für ein Wort w = w 1 w m Σ m ezeihnet w R = w m w 1 Σ m das gespiegelte Wort zu w. Konstruiere einen möglihst effizienten Algorithmus, der für ein Wort t Σ n ein längstes Teilwort von t findet, dessen gespiegeltes Wort eenfalls in t vorkommt. Hinweis: Korrektheitseweis und Laufzeitanalyse niht vergessen! Wir konstruieren nun für t t R $ mit,$ / Σ mit $ den zugehörigen Suffix-Baum T. Die Größe des Suffix-Baumes eträgt O(2n) = O(n). Mit einer Tiefensuhe entfernen wir alle Teiläume, die üer das Zeihen erreihar sind. Somit enden nun alle Pfade im Suffix-Baum mit dem Zeihen oder $. Mit einer weiteren Tiefensuhe markieren wir alle Knoten des Baumes, von denen sowohl ein Blatt erreihar ist, dessen Kantenlael mit endet, als auh ein Blatt erreihar ist, dessen Kantenlael mit $ endet. Somit ist jedes Wort w, das zu einem Pfad von der Wurzel zu einem markierten Knoten des Suffix-Baumes korrespondiert, sowohl ein Präfix eines Suffixes von t als auh ein Präfix eines Suffixes von t R. Das Wort w ist also sowohl Teilwort von t als auh von t R. Damit tauht neen dem Wort w in t auh w R in (t R ) R = t auf, da w auh in t R auftauht. Somit müssen wir mit einer weiteren Tiefensuhe nur einen tiefsten(zgl. der String-Tiefe) Knoten in diesem Suffix-Baum finden. Da sowohl die Konstruktion des Suffix-Baumes in Zeit O(2n) als auh die drei Tiefensuhen nur jeweils O(n) Zeit enötigen, ist die Gesamtaufzeit O(n). [SS16] 6