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

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Rytter (dyskusja | edycje)
Nie podano opisu zmian
 
m Zastępowanie tekstu – „<math> ” na „<math>”
 
(Nie pokazano 30 wersji utworzonych przez 4 użytkowników)
Linia 1: Linia 1:
Siła algorytmu jest proporcjonalna do czasu jego działania
==''Zadanie 0'' ==
najmocniejszyjest algorytm który nigdy się nie ztarzymuje
 
w begu nie tracąc siły, tzw. algorytm '''perpetum mobile''' (i tyle)
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'' ==
 
Udowodnij, że algorytm Najdłuższy-Malejący jest poprawny.
 
<div class="mw-collapsible mw-made=collapsible mw-collapsed">
Rozwiązanie
 
<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ą,
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>
 
 
 
 
==''Zadanie 2'' ==
 
Udowodnij, że algorytm 2-Pakowanie jest poprawny.
 
<div class="mw-collapsible mw-made=collapsible mw-collapsed">
Rozwiązanie
 
<div class="mw-collapsible-content" style="display:none">
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
</div>
</div>
 
=='''Zadanie 3''' ==
 
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">
 
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:
<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 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 <math>n</math> algorytm na cykliczną równoważność 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 ciągów  postaci <math>1^*201,\ 1^*20</math> o tej samej długości.
</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