• Keine Ergebnisse gefunden

12. ¨Ubung ”Algorithmen der Bioinformatik I“

N/A
N/A
Protected

Academic year: 2022

Aktie "12. ¨Ubung ”Algorithmen der Bioinformatik I“"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Sommersemester 2005 Abgabe am 1.7.2005 Prof. Dr. Stefan Posch, Dipl.-Inf. B. M¨oller

12. ¨Ubung ”Algorithmen der Bioinformatik I“

1. Zu zwei StringsS1, S2betrachten wir den Edit-Graphen mit Knoten(i, j),0≤i≤m,0≤j ≤n, zur Bestimmung der minimalen Edit-DistanzDij der TeilstringsS1[1..i]undS2[1..j]. Uns interessieren Absch¨atzungen f¨ur die Anzahl der m¨oglichen Pfade in diesem Graphen.

(a) F¨ur welche Knoten (i, j) im Graphen exitiert genau ein m¨oglicher Pfad? Leiten Sie f¨ur alle anderen Knoten(i, j)eine rekursive Darstellung der m¨oglichen Pfadep(i, j)und ihrer Anzahl her!

(b) Sch¨atzen Sie die Anzahlp(m, n)der m¨oglichen Pfade zum Knoten(m, n)nach unten ab durch einen Ausdruck der Form

p(m, n)≥Cαmin(m,n). Dabei sollenC, αm¨oglichst groß sein.

2. Programmieren Sie den Algorithmus f¨ur das optimale globale Alignment von zwei Strings. Die Pa- rameter (Gewichte) der Kostenfunktionδ(a, b)f¨ur zwei Buchstaben aundb bzw. Leerstrings sollen dabei frei w¨ahlbar sein und die erhaltene KostenmatrixD(i, j)soll ausgegeben werden.

Testen Sie Ihren Algorithmus am Beispiel aus Aufgabe 11.1. und an einem weiteren Beispiel. Dabei soll sowohl die minimale Edit-Distanz (welche Parameter hat die Kostenfunktion hier?) als auch ein zugeh¨origes optimales Alignment der beiden Strings ausgegeben werden (Leerstellen mit ”-“ mar- kieren). Zur Ausgabe eines optimales Alignments muss also eine weitere Funktion programmiert werden, die ein solches aus der KostenmatrixD(i, j) mit Hilfe von zus¨atzlich gespeicherten Links von Eintr¨agen vonD(i, j)zu den entsprechenden minimierenden Vorg¨angern extrahiert. Geben Sie die Testergebnisse an!

3. Die KostenmatrixD(i, j)aus dem Algorithmus zum Finden optimaler globaler Alignments von zwei Strings enth¨alt auch ohne zus¨atzlich abzuspeichernde Links zu den minimierenden Vorg¨angern alle Informationen ¨uber Alignments der beiden Strings. Geben Sie einen effizienten Algorithmus an, der alleoptimalen globalen Alignments der beiden Strings ausgibt, dabei nicht auf eventuell zus¨atzlich gespeicherte Links zur¨uckgreift undpro Alignment ZeitO(n+m)ben¨otigt.

4. Entwickeln Sie einen ”Dynamisches Programmieren“ Algorithmus, der dieAnzahl aller optimalen globalen Alignments zweier Strings der L¨angennundmin ZeitO(nm)berechnet und beweisen Sie dessen Korrektheit.

Referenzen

ÄHNLICHE DOKUMENTE

Ziel dieses ¨ Ubungsblattes soll es sein, eine funktionst¨uchtige Programmierumgebung zur Verf¨ugung zu haben, die als Ausgangspunkt zur L¨osung der Programmieraufgaben auf sp¨ateren

Insbesondere sollen grundlegende Ein- und Ausgabeoperationen in der Programmiersprache Ihrer Wahl (Java oder C++) realisiert werden sowie ein String-Objekt zur Verf¨ugung

Zeigen Sie, dass das Finden eines Musters P der L¨ange n in einem Text, unter Verwendung eines Suffixbaums des Textes, in O(n) Zeit geschieht und dass das k-malige Finden des Musters

Erweitern Sie Ihre Implementierung des naiven Exact-Matching Algorithmus aus der ersten ¨ Ubung um die bad character rule kombiniert mit Rechts-Links-Vergleichen. Uberpr¨ufen Sie

Im Folgenden sollen die Laufzeiten des naiven Algorithmus ( ¨ Ubung 1), des Z- Algorithmus ( ¨ Ubung 2), des naiven Algorithmus mit bad character rule ( ¨ Ubung 3) und

Tragen Sie die bei der Konstruktion des Suffixbaumes angewandten Regeln (I, IIa, IIb oder III) in eine Tabelle ein, wobei die Zeilen den Pha- sen i + 1 = 1, 2,.. Tragen Sie dabei

Die Kostenmatrix D(i, j) aus dem Algorithmus zum Finden optimaler globaler Align- ments von zwei Strings enth¨alt auch ohne zus¨atzlich abzuspeichernde Links zu den mi-

b) (Zusatzaufgabe) Welche Folgen h¨atte es, wenn man statt der maximalen ¨ Ahnlichkeit minimale Kosten f¨ur das optimale approximative maximale Pair verlangen w¨urde3.