Ludwig-Mximilins-Universität München Institut für Informtik Prof. Dr. Volker Heun Sommersemester 2016 Semestrlklusur 21. Juli 2016 Algorithmische Bioinformtik I Vornme Nme Mtrikelnummer Reihe Pltz Unterschrift Hiermit stimme ich einer Veröffentlichung meines Klusurergenisses dieser Semestrlklusur unter Verwendung meiner Mtrikelnummer im Internet zu. J Nein (Unterschrift) Allgemeine Hinweise zur Semestrlklusur Vor der Prüfung ist diese Seite mit Vornmen, Nmen, Mtrikelnummer, Reihe und Pltz leserlich mit Druckuchsten zu versehen und zu unterschreien. Bitte nicht in roter oder grüner Fre zw. nicht mit Bleistift schreien. Der Studentenusweis und ein mtlicher Lichtildusweis sind ereit zu hlten. Die reine Bereitungszeit eträgt 120 Minuten. Es sind insgesmt 40 Punkte zu erreichen, zum Bestehen sind 17 Punkte nötig. Viel Erfolg! Hörsl verlssen von... is... von... is... Vorzeitig gegeen um... Hz A1 A2 A3 A4 A5 Erstkorrektur Nchkorrektur Zweitprüfer
Vornme: Nme: Mtrikelnummer: Aufge 1 (8 Punkte) Gi ds Mster-Theorem us der Vorlesung n. Spezifiziere hierzu insesondere die drei verschiedenen Fälle und gi n, welche Lösung der jeweilige Fll esitzt. Bestimme die Asymptotik von T(n) mithilfe des Mster-Theorems us der Vorlesung unter Ange einer der drei Fälle (siehe oen) mit Begründung zw. egründe, wrum ds Mster-Theorem nicht nwendr ist. Es gilt dei immer T(1) = 1: ) T(n) = 2 T(n/2)+ n, ) T(n) = 2 T(n/4)+ nlog(n), c) T(n) = 3 T(n/3)+n n. Seien,,d N mit > 1, sei f(n) eine Funktion und sei T(n) definiert durch die Rekursionsgleichung T(n) = T(n/)+f(n) für n > 1 und T(1) = d. Dnn gilt: Θ(n log () ) flls f(n) = O(n log () e ) für ein konstntes e > 0 Θ(n T(n) = log () log(n)) flls f(n) = Θ(n log () ) Θ(f(n)) flls f(n) = Ω(n log ()+e ) für ein konstntes e > 0 und f(n/) c f(n) für ein konstntes c < 1 ) Für ds Mster-Theorem erhlten wir = 2, = 2 und f(n) = n. Es gilt log 2 (2) = 1 und somit f(n) = n = n 1/2 = O(n log 2 (2) e ) = O(n log () e ) für e (0,1/2). Somit gilt der erste Fll und es ist T(n) = Θ(n log()) = Θ(n log 2 (2) ) = Θ(n). ) Für ds Mster-Theorem erhlten wir = 2, = 4 und f(n) = nlog(n). Es gilt log () = log 4 (2) = 1/2. Also ist f(n) = nlog(n) = ω(n 1/2 ) und dmit f(n) O(n 1/2 e ) = O(n log () e ) für lle e > 0 und Fll 1 ist nicht zutreffend. Weiter ist f(n) = nlog(n) = ω(n 1/2 ) und dher f(n) Θ(n 1/2 ) = Θ(n log () ). Fll 2 trifft lso nicht zu. Auch ist f(n) = nlog(n) Ω(n 1/2+e ) für lle e > 0, d nlog(n) = o(n 1/2+e ) für lle e > 0. Ds Mster-Theorem ist lso uch im Fll 3 nicht nwendr. c) FürdsMster-Theoremerhltenwir = 3, = 3undf(n) = n n.esgiltlog 3 (3) = 1 und somit f(n) = n n = n 3/2 = Ω(n log 3 (3)+e ) = Ω(n log ()+e ). für ein e (0,1/2), Weiter ist n f(n/) = 3 (n/3) 3 1 n 3/2! c f(n) 3 und somit gilt der dritte Fll des Mster-Theorems mit c = 1/ 3 < 1 (d 3 > 1). Dmit gilt T(n) = Θ(f(n)) = Θ(n n). [SS16] 2
Vornme: Nme: Mtrikelnummer: Aufge 2 (8 Punkte) Betrchte den unter ) geildeten Suffix-Bum für s = s 1 s 7 =. Der esseren Lesrkeit wegen sind hierei immer explizit die Kntenlels sttt der Referenzen ngegeen. ) Zeichne lle Suffix-Links ein, die Ukkonens Algorithmus hierfür konstruiert ht. ) Gi die Kntenlels so n, wie sie in Ukkonens Algorithmus verwendet werden. c) Führe Ukkonens Algorithmus für den Üergng von s uf s = s = us. d) Führe Ukkonens Algorithmus für den Üergng von s uf s = s = us. Gi für c) und d) lle Zwischenschritte n, mrkiere insesondere die Position des ktiven Knotens und Endknotens im jeweiligen Suffix-Bum. Zeichne dei nur die verwendeten und neu eingetrgenen Suffix-Links mit jeweils einer nderen Fre ein und nummeriere die neuen Blätter in der Reihenfolge der Einfügung. ) ε ) (1,1) ε (3, ) (3, ) (2, ) c) ε A E d) 2 4 ε 1 3 E 4 3 4 2 A 3 1 2 1 [SS16] 3
Vornme: Nme: Mtrikelnummer: Aufge 3 (8 Punkte) Löse die folgende Rekursionsgleichung mit Hilfe der llgemeinen Lösung für linere Rekursionsgleichungen: f n = 4 f n 1 2 für n 1, und f 0 = 1. Betrchte die Rekursionsgleichung für n und n 1: f n = 4 f n 1 2, f n 1 = 4 f n 2 2. Ziehen wir die zweite von der ersten Gleichung, so erhlten wir eine homogene linere Rekursionsgleichung f n = 5 f n 1 4 f n 2 f n 5 f n 1 +4 f n 2 = 0 mit den Anfngsedingungen f 0 = 1 und f 1 = 4 f 0 2 = 2. Wir etrchten nun ds chrkteristische Polynom χ(n) für diese Rekursionsgleichung: χ(n) = n 2 5n+4. Die Nullstellen ergeen sich (eispielsweise mit der p, q-formel) zu x 1,2 = 5 25 2 ± 4 4 = 5 9 2 ± 4. Also sind 1 und 4 die eiden Nullstelle des chrkteristischen Polynoms. Somit ht die Lösung der Rekursionsgleichung die Form: f n = (1) n + (4) n = + 4 n. Mit den Anfngsedingungen ergit sich für und : 1 = f 0 = (1) 0 + (4) 0 = +, 2 = f 1 = (1) 1 + (4) 1 = +4. Sutrktion der ersten von der zweiten Gleichung liefert 3 = 1, lso = 1. Somit ist 3 = 2, lso ist f 3 n = 2 + 1 3 3 4n. [SS16] 4
Vornme: Nme: Mtrikelnummer: Aufge 4 (8 Punkte) Gegeen seien zwei Wörter s = s 1 s m m und t = t 1 t n n. Gi einen Algorithmus mit Lufzeit O(n+m) n, der ds längste Präfix von s findet, ds uch ein Suffix von t ist. Beispiel: Für s = und t = sind ε und jeweils sowohl ein Präfix von s ls uch ein Suffix von t. Hinweis: Korrektheitseweis und Lufzeitnlyse nicht vergessen! Zuerst schuen wir uns n, wie ein Präfix von s, ds uch ein Suffix von t ist in der Zeichenreihe s$t ussieht: 0 m i n+m s $ t Z i Sei l := s$t = n+m+1. Gilt lso i+z[i] = l für ein i [m+1 : l 1], dnn endet ein Präfix von s ls Suffix von t n Position i m in t. Wir konstruieren lso für s$t zuerst die zugehörigen Z-Werte in Zeit O(n + m). Dnn testen wir für jedes i [m + 1 : l 1] in ufsteigender Reihenfolge, o i + Z[i] = l gilt. Dies ist in Zeit O(n+m) möglich. Der erste Wert, für den ds gilt, ist nch oiger Erläuterung ein Suffix von t, der ein Präfix von s ist. Nch Whl von i, muss dieses dnn uch ds längste Präfix von s und wir hen die gesuchte Lösung unseres Prolems. [Alterntive Lösungsmöglichkeiten mit Suffix-Bäumen oder der Border-Telle.] [SS16] 5
Vornme: Nme: Mtrikelnummer: Aufge 5 (8 Punkte) Ein spezielles Alignment für zwei Sequenzen s n undt m ist ein glolesprweises Sequenzen-Alignment (s, t) A(s, t) mit der Einschränkung, dss uf ein Indel (Insertion zw. Deletion) keine Sustitution folgen drf (lso rechts dvon stehen drf), jedoch ein Mtch oder ein Indel. Beispiel: Für s = AAAAC und t = ATTC ist ( AAA AC ATT C) ein spezielles Alignment (llerdings nicht notwendigerweise ein optimles), ( ) ( AAA AC A TT C oder AAA AC A TTC) jedoch nicht. Finde einen möglichst effizienten Algorithmus, der für zwei gegeene Sequenzen s n und t m ein optimles spezielles Alignment zgl. der Alignment-Distnz mit linerer Lückenstrfe findet. Hierei trägt jede Insertion und jede Deletion 2 sowie jede Sustitution 3 zur Alignment-Distnz ei, ein Mtch wie ülich 0. Hinweis: Korrektheitseweis und Lufzeitnlyse nicht vergessen! Wir konstruieren wie eim Gotoh-Algorithmus verschiedene Mtrizen D, E, F und G. Dei ist D[i,j] zw. E[i,j] zw. F[i,j] zw. G[i,j] die Alignment-Distnz eines speziellen Alignments von s 1 s i mit t 1 t j, ds keine weitere Einschränkung esitzt zw. mit einem Indel zw. mit einem Mtch zw. einer Sustitution endet. Für die Rekursionsgleichungen erhlten wir dnn: E[i,j] = min{d[i,j 1]+2,D[i 1,j]+2} F[i,j] = { D[i 1,j 1] flls si = t j sonst G[i,j] = { flls si = t j min{f[i 1,j 1]+3,G[i 1,j 1]+3} sonst D[i,j] = min{e[i,j],f[i,j],g[i,j]} Es stellt sich nun noch die Frge, welche Werte jeweils in der 1. Zeile zw. in der 1. Splte der Mtrizen stehen. Es gilt für i > 0 und j > 0: E[0,j] = 2 j, F[i,0] =, G[i,0] =, E[i,0] = 2 i, F[0,j] =, G[0,j] =, E[0,0] =, F[0,0] = 0, G[0,0] = 0. Die Werte für D ergeen sich us der Minimumsildung. Ein spezielles Alignment selst findet mn wieder üer den Trceck usgehend von D[n, m], woei mn erücksichtigen muss, us welcher Mtrix ds Minimum stmmt. Die Korrektheit folgt us der Ttsche, dss ein optimles spezielles Alignment in der letzten Splte entweder ein Indel, ein Mtch oder eine Sustitution esitzt. Hier werden gemäß der Definition eines speziellen Alignment für lle drei Fälle nch in den oigen Mtrizen E, F und G jeweils eine korrekte Alignment-Distnz für ds entsprechende spezielle Alignment erechnet. Jeder Eintrg der vier Tellen lässt sich in konstnter Zeit ermitteln, von dher wird für ds Erstellen der Tellen Zeit O(nm) enötigt. Ein spezielles Alignment knn mit dem Trceck in Zeit O(n + m) erstellt werden, so dss die Gesmtlufzeit O(nm) ist. [SS16] 6