ASD Ćwiczenia 13: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Rytter (dyskusja | edycje)
Nie podano opisu zmian
Rytter (dyskusja | edycje)
Nie podano opisu zmian
Linia 51: Linia 51:






=='''Zadanie 4''' ==
Udowodnij poprawność algorytmu na cykliczną równoważność słów.
<div class="mw-collapsible mw-made=collapsible mw-collapsed">
Rozwiązanie
<div class="mw-collapsible-content" style="display:none">
Zdefiniujmy:
<center>
<math>D(u)=\{k:1\leq k\leq n</math> oraz <math>u^{(k)}>w^{(j)}</math> dla pewnego <math>j\}</math>,<br>
<math>D(w)=\{k:1\leq k\leq n</math> oraz <math>w^{(k)}>u^{(j)}</math> dla pewnego <math>j\}</math>.
</center>
Skorzystamy z prostego faktu:
Jeśli <math>D(u)=[1.. n]</math> lub <math>D(w)=[1.. n]</math>, to <math>u,w</math> nie są równoważne.
Poprawność algorytmu wynika teraz z tego, że po każdej głównej iteracji zachodzi niezmiennik:
<center>
<math>D(w)\supseteq [1.. i]</math>\ oraz \ <math>D(u)\supseteq [1.. j]</math>.</center>
</div>
</div>
=='''Zadanie 5''' ==
Dla jakich tekstów algorytm na cykliczną równoważność słów wykonuje maksymalną liczbę porównan symboli?
<div class="mw-collapsible mw-made=collapsible mw-collapsed">
Rozwiązanie
<div class="mw-collapsible-content" style="display:none">
Dla tekstów postaci <math> 1^*201,\ 1^*20 </math> o tej samej długości.
</div>
</div>


=='''Zadanie 6''' ==
=='''Zadanie 6''' ==

Wersja z 11:56, 15 cze 2007

Zadanie 1

Uzasadnij poprawność algorytmu obliczającego długość najkrótszego słowa pokrywającego dany tekst.

Rozwiązanie


Zadanie 2

Udowodnij, że w wersji on-line algorytmu KMP mamy delay=O(logm)

Rozwiązanie



Zadanie 3

Udowodnij, że w wersji on-line algorytmu KMP mamy delay=Ω(logm)

Rozwiązanie



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



Zadanie 7

Udowodnij następującą ciekawą własność kombinatoryczną okresowości w tekstach. Niech nwd(p,q) oznacza najmniejszy wspólny dzielnik p,q.


Lemat [Lemat o okresowości]

Jeśli x ma okresy p, q oraz p+q|x|, to nwd(p,q) jest również okresem x.


Rozwiązanie


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 p+q|x|+nwd(p,q), to nwd(p,q) jest również okresem x.

Rozwiązanie

Zadanie 9

Udowdnij poprawność algorytmu KMP realtime

Rozwiązanie

Zadanie 10

Przprowadź dokładny dowód tego, że algorytm Oszczędny KMP wykonuje co najwyżej 3/2 n porównań (schemat dowodu był już opisany w odpowiednim module)

Rozwiązanie