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

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Rytter (dyskusja | edycje)
m Zastępowanie tekstu – „<math> ” na „<math>”
 
(Nie pokazano 6 wersji utworzonych przez 2 użytkowników)
Linia 1: Linia 1:
==''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">
Rozwiązanie
<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>
==''Zadanie 1'' ==  
==''Zadanie 1'' ==  


Linia 19: Linia 34:
==''Zadanie 2'' ==  
==''Zadanie 2'' ==  


Udowodnij, że algorytm Proste-Pakowanie jest poprawny.
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 29: Linia 44:
  </div>
  </div>
</div>
</div>


=='''Zadanie 3''' ==
=='''Zadanie 3''' ==
Linia 45: Linia 56:
Relacja mniejszości dla ciągów niech będzie relacją mniejszości leksykograficznej.
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
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>.
<math>u^{(0)}=u^{(n)}=u)</math>.


Linia 56: 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:
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>
</div>


Linia 71: Linia 82:


<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 n algorytm na cykliczną równoważność wykonuje maksymalną liczbę porównan symboli?

Rozwiązanie