Zadanie 0
Udowodnij, że algorytm 6174 ma własność stopu.
Podobnie udowodnij to dla wersji tego algorytmu z trzema cyframi z liczbą 495 zamiast 6174.
Rozwiązanie
Sprowadź dowód do jak najmniejszej liczby przypadków, np. możesz
tylko rozważać liczby o niemalejących ciagach czterech cyfr.
Zadanie 1
Udowodnij, że algorytm Najdłuższy-Malejący jest poprawny.
Rozwiązanie
Dla każdego nowego niezerowego elementu x, który jest aktualnie na pozycji j-tej, jeśli wstawiamy x na pozycję i-tą,
to w tym momencie na pozycji (i-1)-szej jest pewien jego poprzednik y w najdłuższym ciągu malejącym
kończącym się na pozycji j-tej. To znaczy w szczególności, że y>x, oraz że y jest na pewnej pozycji mniejszej od j.
Zadanie 2
Udowodnij, że algorytm 2-Pakowanie jest poprawny.
Rozwiązanie
W każdym optymalnym pakowaniu można je tak zmienić, że najmniejszy element będzie razem
z maksymalnym, z którym się mieści do tego samego pudełka
Zadanie 3
Udowodnij poprawność algorytmu na cykliczną równoważność słów.
Rozwiązanie
Relacja mniejszości dla ciągów niech będzie relacją mniejszości leksykograficznej.
Rotacją ciągu jest każdy ciąg postaci . (W szczególności
.
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 4
Operacja dominującą w algorytmie na cykliczną równoważność jest porównanie dwóch elementów tablic u,v (czy są równe, jeśli nie to który jest mniejszy). Liczba porównań jest liniowa.
Dla jakich ciągów zadanej dlugości długości algorytm na cykliczną równoważność wykonuje maksymalną liczbę porównan symboli?
Rozwiązanie
Dla ciągów postaci o tej samej długości.