ASD Ćwiczenia 13: Różnice pomiędzy wersjami
Linia 176: | Linia 176: | ||
Może być dwukrotnie wywołana instrukcja <math>j:=P[j]</math>. | |||
Wówczas <math>|Kolejka|</math> wzrasta o <math>1</math>, <math>m-j</math> wzrasta co najmniej o <math>2</math>, | Wówczas <math>|Kolejka|</math> wzrasta o <math>1</math>, <math>m-j</math> wzrasta co najmniej o <math>2</math>, | ||
czyli niezmiennik dalej zachodzi. | czyli niezmiennik dalej zachodzi. | ||
Moze być raz wywołana instrukcja <math>j:=P[j]</math>, a raz <math>j:=j+1</math> (w jakiejkolwiek | |||
kolejności). Wówczas <math>|Kolejka|</math> się nie zmienia, <math>m-j</math> pozostaje bez zmian | kolejności). Wówczas <math>|Kolejka|</math> się nie zmienia, <math>m-j</math> pozostaje bez zmian | ||
lub wzrasta, co nie zaburza niezmiennika. | lub wzrasta, co nie zaburza niezmiennika. | ||
Linia 188: | Linia 188: | ||
Mogą nastąpić dwie instrukcje powiększające <math>j</math> o <math>1</math>. | Mogą nastąpić dwie instrukcje powiększające <math>j</math> o <math>1</math>. | ||
Wówczas <math>|Kolejka|</math> maleje o <math>2</math>, <math>m-j</math> także maleje o <math>2</math>, zatem niezmien | Wówczas <math>|Kolejka|</math> maleje o <math>2</math>, <math>m-j</math> także maleje o <math>2</math>, zatem niezmien | ||
nik | nik pozostaje zachowany. | ||
pozostaje zachowany. | |||
Kolejka \textit{nie} może się opróżnić, gdyż zakładamy, że to nie nastąpi | |||
przed aktualnie rozważanym wystąpieniem wzorca. Instrukcja <math>j:=P[m]</math> również | przed aktualnie rozważanym wystąpieniem wzorca. Instrukcja <math>j:=P[m]</math> również | ||
nie może wystąpić, ponieważ oznaczałoby to wcześniejsze od rozważanego | nie może wystąpić, ponieważ oznaczałoby to wcześniejsze od rozważanego | ||
Linia 205: | Linia 204: | ||
(Rozwiązanie opracował Jakub Radoszewski) | ''(Rozwiązanie opracował Jakub Radoszewski)'' | ||
</div> | </div> | ||
</div> | </div> |
Wersja z 10:59, 21 lis 2006
Zadanie 1
Uzasadnić poprawność algorytmu obliczającego długość najkrótszego słowa pokrywającego dany tekst.
Rozwiązanie
Zadanie 2
Udowodnić, że w wersji on-line algorytmu KMP mamy
Rozwiązanie
Zadanie 3
Udowodnić, że w wersji on-line algorytmu KMP mamy
Rozwiązanie
Zadanie 4
Udowodnij poprawność algorytmu na cykliczną równoważność słów.
Rozwiązanie
Zadanie 5
Dla jakich tekstów algorytm na cykliczną równoważność słów wykonuje maksymalną liczbę porównan symboli?
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 oznacza najmniejszy 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
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
Zadanie 9
Udowdnij poprawność algorytmu KMP realtime
Rozwiązanie