• Keine Ergebnisse gefunden

Algorithmen auf Sequenzen

N/A
N/A
Protected

Academic year: 2022

Aktie "Algorithmen auf Sequenzen"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Ludwig-Maximilians-Universit¨at M¨unchen Institut f¨ur Informatik

Prof. Dr. Volker Heun

Wintersemester 2018/19 Ubungsblatt 2¨ 25. Oktober 2018

Algorithmen auf Sequenzen

Abgabetermin: Mittwoch, den 31. Oktober vor der ¨Ubung

F¨ur den Notenbonus sind nur die entsprechend gekennzeichneten Aufgaben abzugeben.

Die Aufgaben sind einzeln zu bearbeiten.

Bei einer elektronischen Abgabe sind alle Aufgaben als eine PDF-Datei zu versenden (an Sophie.Friedl@bio.ifi.lmu.de). Der Dateiname muss Vor- und Nachname sowie die Nummer des ¨Ubungsblatts enthalten.

Aufgabe (Notenbonus) 1

Sei S >0 der Score einer maximal scoring subsequence einer Folgea= (a1, . . . , an)∈Rn. Gib einen m¨oglichst effizienten Algorithmus (in Pseudo-Code) an, der alle Teilfolgen mit Score S findet. Der Wert S ist nat¨urlich a priori nicht bekannt.

Analysiere den Algorithmus hinsichtlich Zeit- und Platzkomplexit¨at.

Hinweis: Wenn f¨ur i ≤ k ≤ ℓ ≤ j ∈ [1 : n] mit (i < k) oder (ℓ < j) gilt, dass σ(i, j) = σ(k, ℓ) = S, dann stellt (ai, . . . , aj) auch hier keine L¨osung dar und ist nicht auszugeben.

Aufgabe (Notenbonus) 2

Entwirf einen Linearzeit-Algorithmus f¨ur MAltSS und analysiere ihn.

Hinweis: Korrektheitsbeweis und Laufzeitanalyse nicht vergessen!

Maximal Alternating Scoring Subsequence (MAltSS) Eingabe: Eine Folge (a1, . . . , an)∈Rn.

Ausgabe: Eine Teilfolge (ai, . . . , aj) mit i ≤j ∈[1 :n], die den Wert α(i, j) maximiert, wobeiα(i, j) =Pj

ℓ=i(−1)ℓ−i·a.

Aufgabe 3

Beweise, dass jeder gewurzelte Baum, der keinen Knoten mit genau einem Kind besitzt (mit Ausnahme der Wurzel), h¨ochstens so viele innere Knoten wie Bl¨atter besitzt.

Referenzen

ÄHNLICHE DOKUMENTE

Die Teilnehmer sind in der Lage, Problemstellungen auf (biologischen) Sequenzen f¨ur einen algorithmischen Zugang zu modellieren, die algorithmische Komplexit¨at des

Maximal Alternating Scoring Subsequence (MAltSS) Eingabe: Eine Folge ( a

Beweise, dass jeder gewurzelte Baum, der keinen Knoten mit genau einem Kind besitzt (mit Ausnahme der Wurzel), h¨ochstens so viele innere Knoten wie Bl¨atter besitzt. Hinweis: Hier

Hinweis: F¨ur jeden Pr¨afix ist jeweils ein eigener Suffix-Baum zu zeichnen, in dem die neu eingef¨ugten Knoten und Bl¨atter (sowie der verwendete aktive Suffix) zu erkennen

Wie kann in O(|t|) Zeit festgestellt werden, wie viele verschiedene Teilstrings der L¨ange k in t enthalten sind. Gib hierzu einen Algorithmus in

Beweise mit vollst¨andiger Induktion, dass jeder gewurzelte Baum, der keinen Knoten mit genau einem Kind besitzt, weniger Kanten als Knoten besitzt. Aufgabe

Gib weiter f¨ur jeden Knoten die ausgef¨uhrten Tests (basierend auf den DFS-Intervallen) und deren Ergebnis an

a) Entwirf einen effizienten Algorithmus zum Auffinden aller minimal rechts-eindeutigen Teilw¨orter der L¨ange mindestens ℓ, beweise seine Korrektheit und analysiere seine Laufzeit..