Algorithmische Bioinformatik I

Ähnliche Dokumente
Algorithmische Bioinformatik I

Technische Universität München Zentrum Mathematik

Algorithmische Bioinformatik 1

2. Klausur Datenstrukturen und Algorithmen SS 2014

Algorithmentheorie. 15 Suchen in Texten (1)

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

Algorithmische Bioinformatik 1

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

Über-/Rückblick. F3 01/02 p.269/294

Datenstrukturen und Algorithmen (SS 2013)

Würde man nun versuchen die Aufgabe 6.2 des vorigen Abschnittes rechnerisch zu lösen, so stößt man auf folgende noch unlösbare Gleichung: h 1

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

Algorithmen und Datenstrukturen 1 VL Übungstest WS November 2008

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.

Prof. Dr. Schmidt-Thieme / Michael Rottmann Arbeitsblatt Algebra SS 2005

Kapitel 3: Sortierverfahren Gliederung

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

Lösungsvorschläge und Erläuterungen Klausur zur Vorlesung Grundbegriffe der Informatik 2. März 2016

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

Datenstrukturen und Algorithmen (SS 2013)

Relationen: Verkettungen, Wege, Hüllen

Bitte füllen Sie den untenstehenden Abschnitt nicht aus

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

SS 2018 Torsten Schreiber

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

Wirtschaftsmathematik - Übungen WS 2015/16

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

FAKULTÄT FÜR INFORMATIK

P 2. Bemerkung 3: Im Folgenden wird das Konstruktionsverfahren beschrieben. Die Beweise überlassen wir dem der Lust hat.

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

Laufzeitanalyse (1) demogr.

Tutorium 23 Grundbegriffe der Informatik (9. Sitzung)

Ü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]

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Heaps. Vorlesung 8: Heapsort (K6) Joost-Pieter Katoen. 7. Mai 2015

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

Informatik 3 Theoretische Informatik WS 2015/16

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

4. Tries und kd-bäume

Algorithmen und Datenstrukturen SoSe 2008 in Trier. Henning Fernau Universität Trier

Informatik II: Algorithmen und Datenstrukturen SS 2015

Σ /6 /6 /6 /6 /24

Algorithmen und Datenstrukturen VO UE 2.0 Nebentermin Vorlesungsprüfung / 4. Übungstest SS

Name Vorname Fachrichtg. Matrikelnr. Punkte Klausur Aufgabe max. Punkte Punkte. Bitte beachten!

2.2 Der Algorithmus von Knuth, Morris und Pratt

Datenstrukturen & Algorithmen Lösungen zu Blatt 2 FS 16

Informatik II, SS 2018

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

Laufzeitanalyse (1) demogr.

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