Zadanie 1
Uzasadnić opoprawność algorytmu obliczającego długość najkrótszego słowa pokrywającego dany tekst.
Zadanie 2
Udowodnić, że w wersji on-line algorytmu KMP mamy
Rozwiązanie
Wystarczy wykazać, że
Fakt ten wynika z lematu o okresowości i z definicji tablicy P'.
Zadanie 3
Udowodnić, że w wersji on-line algorytmu KMP mamy
Rozwiązanie
Słowa Fibonacciego definiujemy następująco:
Na przykład:
Niech
oznacza słowo Fibonacciego z obciętymi ostatnimi dwoma symbolami. Jeśli jako wzorzec weżmiemy słowo Fibonacciego
, a jako tekst słowo
to przy wczytywaniu
-ego symbolu algorytm ma opóżnienie logarytmiczne, iterujemy
razy operację:
.
Zadanie 4
Udowdnij poprawność algorytmu na cykliczną równoważność słów.
=Zadanie 5
Dla jakich tekstów algorytm na cykliczną równoważność słów wykonuje maksymalną liczbę porównan symboli
Rozwiązanie
Dla tekstów postaci
o tej samej długości.
Zadanie 6
Mamy zbiór słów, każde długości dwa, obliczyć długość minimalnego tekstu który zawiera wszystkie słowa.
Rozwiązanie
Wezmy graf, węzłami są litery, słowa wejściowe odpowiadają krawędziom.
Wystarczy znalezć minimalną liczbę krawędzi które trzeba dołożyć do grafu by miał on
ścieżkę Eulera.
Dygresja Zadnie to było na Olimpiadzie Informatycznej pod nazwą pierowtek abstrakcyjny.
Ciekawe jest to, że problem robi się NP-zupełny gdy wszytkie słowa wejściowe mają długość 3.
Zadanie 7
Udowodnij następującą ciekawą własność kombinatoryczną okresowości w tekstach. Niech
oznaczanajmnieszy wspólny dzielnik p,q.
Lemat [Lemat o okresowości]
Jeśli x ma okresy p, q oraz
to
jest również okresem x.
Rozwiązanie
Lemat ten wynika z poprawności algorytm Euklidesa z odejmowaniem, który liczy nwd(p,q). Zauważmy, żejeśli
są okresami to p-q też jest okresem.
Zadanie 8
Lemat o okresowości można wzmocnić osłabiając założenia. Udowodnij następujący lemat.
Lemat [Silny lemat o okresowości]
Jeśli x ma okresy p, q oraz
to
jest również okresem x.
Rozwiązanie
Indukcja ze względu na p+q.