ASD Ćwiczenia 1: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Nie podano opisu zmian |
m Zastępowanie tekstu – „<math> ” na „<math>” |
||
(Nie pokazano 10 wersji utworzonych przez 2 użytkowników) | |||
Linia 1: | Linia 1: | ||
==''Zadanie | ==''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. | |||
<div class="mw-collapsible mw-made=collapsible mw-collapsed"> | <div class="mw-collapsible mw-made=collapsible mw-collapsed"> | ||
Linia 7: | Linia 9: | ||
<div class="mw-collapsible-content" style="display:none"> | <div class="mw-collapsible-content" style="display:none"> | ||
Sprowadź dowód do jak najmniejszej liczby przypadków, np. możesz | |||
tylko rozważać liczby o niemalejących ciagach czterech cyfr. | |||
</div> | </div> | ||
</div> | </div> | ||
==''Zadanie | ==''Zadanie 1'' == | ||
Udowodnij, że algorytm Najdłuższy-Malejący jest poprawny. | |||
<div class="mw-collapsible mw-made=collapsible mw-collapsed"> | <div class="mw-collapsible mw-made=collapsible mw-collapsed"> | ||
Rozwiązanie | Rozwiązanie | ||
<div class="mw-collapsible-content" style="display:none"> | <div class="mw-collapsible-content" style="display:none"> | ||
Dla każdego nowego niezerowego elementu x, który jest aktualnie na pozycji j-tej, jeśli wstawiamy x na pozycję i-tą, | |||
na | 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. | |||
</div> | </div> | ||
</div> | </div> | ||
==''Zadanie | ==''Zadanie 2'' == | ||
Udowodnij, że algorytm | Udowodnij, że algorytm 2-Pakowanie jest poprawny. | ||
<div class="mw-collapsible mw-made=collapsible mw-collapsed"> | <div class="mw-collapsible mw-made=collapsible mw-collapsed"> | ||
Linia 42: | Linia 45: | ||
</div> | </div> | ||
=='''Zadanie 3''' == | |||
Udowodnij poprawność algorytmu na cykliczną równoważność słów. | |||
<div class="mw-collapsible mw-made=collapsible mw-collapsed"> | <div class="mw-collapsible mw-made=collapsible mw-collapsed"> | ||
Linia 55: | Linia 53: | ||
<div class="mw-collapsible-content" style="display:none"> | <div class="mw-collapsible-content" style="display:none"> | ||
Relacja mniejszości dla ciągów niech będzie relacją mniejszości leksykograficznej. | |||
== | Rotacją ciągu <math>u=u[1..n]</math> jest każdy ciąg postaci <math>u^{(k)}= u[k+1.. n]u[1.. k]</math>. (W szczególności | ||
<math>u^{(0)}=u^{(n)}=u)</math>. | |||
Zdefiniujmy: | Zdefiniujmy: | ||
<center> | <center> | ||
Linia 82: | Linia 67: | ||
Skorzystamy z prostego faktu: | 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. | 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> | <center> | ||
<math>D(w)\supseteq [1.. i]</math>\ oraz \ <math>D(u)\supseteq [1.. j]</math>.</center> | <math>D(w)\supseteq [1.. i]</math>\ oraz \ <math>D(u)\supseteq [1.. j]</math>.</center> | ||
</div> | |||
</div> | </div> | ||
=='''Zadanie 4''' == | |||
=='''Zadanie | |||
Dla jakich ciągów | 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 <math>n</math> algorytm na cykliczną równoważność wykonuje maksymalną liczbę porównan symboli? | |||
<div class="mw-collapsible mw-made=collapsible mw-collapsed"> | <div class="mw-collapsible mw-made=collapsible mw-collapsed"> | ||
Rozwiązanie | Rozwiązanie | ||
<div class="mw-collapsible-content" style="display:none"> | <div class="mw-collapsible-content" style="display:none"> | ||
Dla ciągów postaci <math> 1^*201,\ 1^*20 </math> o tej samej długości. | Dla ciągów postaci <math>1^*201,\ 1^*20</math> o tej samej długości. | ||
</div> | </div> | ||
</div> | </div> |
Aktualna wersja na dzień 10:35, 5 wrz 2023
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
Zadanie 1
Udowodnij, że algorytm Najdłuższy-Malejący jest poprawny.
Rozwiązanie
Zadanie 2
Udowodnij, że algorytm 2-Pakowanie jest poprawny.
Rozwiązanie
Zadanie 3
Udowodnij poprawność algorytmu na cykliczną równoważność słów.
Rozwiązanie
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