Sommersemester 2004 Abgabe am 5.5.2004 Prof. Dr. Stefan Posch, Dipl.-Inf. B. M¨oller, Dr. J. Wensch
4. ¨ Ubung
” Algorithmen der Bioinformatik I“
1. Zeigen Sie, dass das Finden eines MustersP der L¨ange n in einem Text, unter Verwendung eines Suffixbaums des Textes, inO(n)Zeit geschieht und dass dask-malige Finden des Musters inO(n+k) m¨oglich ist.
2. Skizzieren Sie die Konstruktion der impliziten Suffixb¨aume f¨ur den String AGGTAGG ¨uber den li- nearen Ukkonen-Algorithmus. Vergessen Sie nicht, die Verwendung der Suffixlinks mit einzubezie- hen.
3. Gegebenen sei ein StringS. Wir betrachten den Ukkonen-Algorithmus in Phasei+ 1(wir bauen also den impliziten Suffixbaum Ii+1 f¨ur S[1..i+ 1]). Die Kantenmarkierungen seien durch Indexpaare (p, q)repr¨asentiert. Wenn nun in einer beliebigen Erweiterungjder Phasei+ 1die Regel I angewen- det wird, dann wird das Indexpaar(p, q)der gefundenen Blattkante zu (p, i+ 1)modifiziert. Zeigen Sie induktiv, dassq=igilt und die Aktualisierung damit korrekt ist. (Hinweis: Das Problem ist, dass der TeilstringS[p..q]auch an anderer Stelle im StringSauftauchen k¨onnte. Die Induktion sollte ¨uber die Phasenigehen.)
4. Programmieraufgaben:
a) Implementieren Sie den Write Only Top Down Algorithmus zur Konstruktion eines Suffixbaums zu einem gegebenen TextT. Die Baumstruktur und der Inhalt des Baums sollen mit einer Funk- tion ausgegeben werden k¨onnen. Diese Funktion ist nach jedem Iterationsschritt des Write Only Top Down Algorithmus aufzurufen.
b) Implementieren Sie eine Funktion, die ein gegebenes MusterP in einem gegebenem Suffixbaum ST(T$)eines TextesT sucht. Geben Sie die Anfangsindizes aller Vorkommen vonP inT aus.