'Zadanie 1
Słowem pokrywającym tekst x taki tekst y, którego wystąpienia w x
pokrywają cały tekst x. Na przykład aba pokrywa ababaaba, natomiast nie pokrywa tekstu abaaababa.
Obliczyć długość najkrótszego słowa pkrywającego dany tekst x.
Rozwiązanie
Niech
będzie rozmiarem minimalnego pokrywajćego słowa dla prefiksu . Algorytm wykorzystuje następujący
fakt: \ \ Następujący algorytm liczy długość minimalnego słowa
pokrywającego tekstu x. Liczymy wartości najmniejszej długości minimalnego słowa pokrywającego dla każdego .
W -tej
iteracji algorytm pamięta jaki jest ``znany zakres każdego minimalnego słowa pokrywającego.

Rysunek 3: -ta iteracja algorytmu, dla , oraz słowa . Tuż przed
rozpoczęciem tej iteracji mamy , , . Po zakończeniu -tej iteracji
mamy , ponieważ .
Algorytm Rozmiar-Minimalnego-Pokrycia
for to do
for to do
if oraz then
; ;
return ;
----------------------------------------------------------------------
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
Weżmy słowa Fibonacciego x i sprawdzmy liczbę iteracji które algorytm wykonuje dla słowa x'ccc
w momencie czytania pierwszego c. Przez x' oznaczamy ocięcie x o dwa ostatnie symbole.
----------------------------------------------------------------------
Zadanie 4
Udowdnij poprawność algorytmu na cykliczną równoważność słów.
Rozwiązanie
Zdefiniujmy:
oraz dla pewnego ,
oraz dla pewnego .
Skorzystamy z prostego faktu:
Jeśli lub , to nie są równoważne.
Poprawność algorytmu wynika teraz z tego, że po każdej głównej iteracji zachodzi niezmiennik:
\ oraz \ .
----------------------------------------------------------------------
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.
----------------------------------------------------------------------
Zadanie ?
???????
----------------------------------------------------------------------
Zadanie ?
???????