Matematyka dyskretna 1/Ćwiczenia 9: Asymptotyka: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Nie podano opisu zmian |
|||
Linia 1: | Linia 1: | ||
==Asymptotyka== | ==Asymptotyka== | ||
{{cwiczenie| | {{cwiczenie|1|cw 1| | ||
Posortuj podane niżej funkcje | Posortuj podane niżej funkcje | ||
według asymptotycznego stopnia złożoności tak, | według asymptotycznego stopnia złożoności tak, | ||
by każda funkcja była asymptotycznie niemniejsza od następujących po niej. | by każda funkcja była asymptotycznie niemniejsza od następujących po niej. | ||
<center><math>\displaystyle 51n+101, \quad | <center><math>\displaystyle 51n+101, \quad | ||
Linia 15: | Linia 15: | ||
\sum_{k=0}^n k\sqrt{k}. | \sum_{k=0}^n k\sqrt{k}. | ||
</math></center> | </math></center> | ||
}} | }} | ||
Linia 20: | Linia 21: | ||
<div class="mw-collapsible mw-made=collapsible mw-collapsed"><span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Wskazówka </span><div class="mw-collapsible-content" style="display:none"> | <div class="mw-collapsible mw-made=collapsible mw-collapsed"><span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Wskazówka </span><div class="mw-collapsible-content" style="display:none"> | ||
Porządek ten to: | Porządek ten to: | ||
<center><math>\displaystyle \frac{\lg{n}}{n}, \quad | <center><math>\displaystyle \frac{\lg{n}}{n}, \quad | ||
Linia 29: | Linia 31: | ||
\frac{n^3}{7\lg^7{n}}. | \frac{n^3}{7\lg^7{n}}. | ||
</math></center> | </math></center> | ||
</div></div> | </div></div> | ||
{{cwiczenie| | {{cwiczenie|2|cw 2| | ||
Oszacuj rząd wielkości funkcji <math>\displaystyle T</math> zadanej równaniem rekurencyjnym: | Oszacuj rząd wielkości funkcji <math>\displaystyle T</math> zadanej równaniem rekurencyjnym: | ||
<math>\displaystyle T(n)=4T\left( \frac{n}{2} \right)+n</math> | <math>\displaystyle T(n)=4T\left( \frac{n}{2} \right)+n</math> | ||
Linia 46: | Linia 48: | ||
* <math>\displaystyle a=4</math>, <math>\displaystyle b=2</math>, <math>\displaystyle f(n)=n</math>, | * <math>\displaystyle a=4</math>, <math>\displaystyle b=2</math>, <math>\displaystyle f(n)=n</math>, | ||
* <math>\displaystyle n^{\log_2{4}}=n^2</math>, <math>\displaystyle f(n)\in O(n^{2-\varepsilon})</math>, np. dla <math>\displaystyle \varepsilon=0.5</math>, | * <math>\displaystyle n^{\log_2{4}}=n^2</math>, <math>\displaystyle f(n)\in O(n^{2-\varepsilon})</math>, np. dla <math>\displaystyle \varepsilon=0.5</math>, | ||
* zatem, z pierwszego punktu Twierdzenia o rekursji uniwersalnej, | * zatem, z pierwszego punktu Twierdzenia o rekursji uniwersalnej, mamy <math>\displaystyle T(n)=\Theta(n^2)</math>. | ||
mamy <math>\displaystyle T(n)=\Theta(n^2)</math>. | |||
</div></div> | </div></div> | ||
{{cwiczenie| | {{cwiczenie|3|cw 3| | ||
Oszacuj rząd wielkości funkcji <math>\displaystyle T</math> zadanej równaniem rekurencyjnym: | Oszacuj rząd wielkości funkcji <math>\displaystyle T</math> zadanej równaniem rekurencyjnym: | ||
<math>\displaystyle T(n)=4T\left( \frac{n}{2} \right)+n^2</math> | <math>\displaystyle T(n)=4T\left( \frac{n}{2} \right)+n^2</math> | ||
Linia 65: | Linia 65: | ||
* <math>\displaystyle a=4</math>, <math>\displaystyle b=2</math>, <math>\displaystyle f(n)=n^2</math>, | * <math>\displaystyle a=4</math>, <math>\displaystyle b=2</math>, <math>\displaystyle f(n)=n^2</math>, | ||
* <math>\displaystyle n^{\log_2{4}}=n^2</math>, <math>\displaystyle f(n)\in\Theta(n^2)</math>, | * <math>\displaystyle n^{\log_2{4}}=n^2</math>, <math>\displaystyle f(n)\in\Theta(n^2)</math>, | ||
* zatem, z drugiego punktu Twierdzenia o rekursji uniwersalnej, mamy | * zatem, z drugiego punktu Twierdzenia o rekursji uniwersalnej, mamy <math>\displaystyle T(n)=\Theta(n^2\lg{n})</math>. | ||
<math>\displaystyle T(n)=\Theta(n^2\lg{n})</math>. | |||
</div></div> | </div></div> | ||
{{cwiczenie| | {{cwiczenie|4|cw 4| | ||
Oszacuj rząd wielkości funkcji <math>\displaystyle T</math> zadanej równaniem rekurencyjnym: | Oszacuj rząd wielkości funkcji <math>\displaystyle T</math> zadanej równaniem rekurencyjnym: | ||
<math>\displaystyle T(n)=4T\left( \frac{n}{2} \right)+n^2\lg_2{n}</math> | <math>\displaystyle T(n)=4T\left( \frac{n}{2} \right)+n^2\lg_2{n}</math> | ||
Linia 89: | Linia 87: | ||
</div></div> | </div></div> | ||
{{cwiczenie| | {{cwiczenie|5|cw 5| | ||
Oszacuj rząd wielkości funkcji <math>\displaystyle T</math> zadanej równaniem rekurencyjnym: | Oszacuj rząd wielkości funkcji <math>\displaystyle T</math> zadanej równaniem rekurencyjnym: | ||
<math>\displaystyle T(n)=4T\left( \frac{n}{2} \right)+n^3</math> | <math>\displaystyle T(n)=4T\left( \frac{n}{2} \right)+n^3</math> | ||
Linia 103: | Linia 100: | ||
* <math>\displaystyle a=4</math>, <math>\displaystyle b=2</math>, <math>\displaystyle f(n)=n^3</math>, | * <math>\displaystyle a=4</math>, <math>\displaystyle b=2</math>, <math>\displaystyle f(n)=n^3</math>, | ||
* <math>\displaystyle n^{\log_2{4}}=n^2</math>, <math>\displaystyle f(n)\in\Omega(n^{3+\varepsilon})</math>, np. dla <math>\displaystyle \varepsilon=0.5</math>, | * <math>\displaystyle n^{\log_2{4}}=n^2</math>, <math>\displaystyle f(n)\in\Omega(n^{3+\varepsilon})</math>, np. dla <math>\displaystyle \varepsilon=0.5</math>, | ||
* zatem, z trzeciego punktu Twierdzenia o rekursji uniwersalnej, | * zatem, z trzeciego punktu Twierdzenia o rekursji uniwersalnej, mamy <math>\displaystyle T(n)=\Theta(n^3)</math>. | ||
mamy <math>\displaystyle T(n)=\Theta(n^3)</math>. | |||
</div></div> | </div></div> | ||
{{cwiczenie| | {{cwiczenie|6|cw 6| | ||
Oszacuj rząd wielkości funkcji <math>\displaystyle T</math> zadanej równaniem rekurencyjnym: | Oszacuj rząd wielkości funkcji <math>\displaystyle T</math> zadanej równaniem rekurencyjnym: | ||
<math>\displaystyle T(n)=T\left( \frac{n}{2} \right)+c</math> | <math>\displaystyle T(n)=T\left( \frac{n}{2} \right)+c</math> | ||
Linia 122: | Linia 117: | ||
* <math>\displaystyle a=1</math>, <math>\displaystyle b=2</math>, <math>\displaystyle f(n)=c</math>, | * <math>\displaystyle a=1</math>, <math>\displaystyle b=2</math>, <math>\displaystyle f(n)=c</math>, | ||
* <math>\displaystyle n^{\log_2{1}}=1</math>, <math>\displaystyle f(n)=\Theta(1)</math>, | * <math>\displaystyle n^{\log_2{1}}=1</math>, <math>\displaystyle f(n)=\Theta(1)</math>, | ||
* zatem, z drugiego punktu Twierdzenia o rekursji uniwersalnej, mamy | * zatem, z drugiego punktu Twierdzenia o rekursji uniwersalnej, mamy | ||
<math>\displaystyle T(n)=\Theta(\lg{n})</math>. | <math>\displaystyle T(n)=\Theta(\lg{n})</math>. | ||
</div></div> | </div></div> | ||
{{cwiczenie| | {{cwiczenie|7|cw 7| | ||
Dla | |||
<center><math>\displaystyle \aligned T(n)&=7T\left( \frac{n}{2} \right)+n^2,\\ | <center><math>\displaystyle \aligned T(n)&=7T\left( \frac{n}{2} \right)+n^2,\\ | ||
T'(n)&=aT'\left( \frac{n}{4} \right)+n^2 | T'(n)&=aT'\left( \frac{n}{4} \right)+n^2 | ||
\endaligned</math></center> | \endaligned</math></center> | ||
wskaż największą całkowitą wartość parametru <math>\displaystyle a</math> taką, że <math>\displaystyle T'(n)\in O(T(n))</math>. | wskaż największą całkowitą wartość parametru <math>\displaystyle a</math> taką, że <math>\displaystyle T'(n)\in O(T(n))</math>. | ||
Linia 145: | Linia 141: | ||
<div class="mw-collapsible mw-made=collapsible mw-collapsed"><span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Rozwiązanie </span><div class="mw-collapsible-content" style="display:none"> | <div class="mw-collapsible mw-made=collapsible mw-collapsed"><span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Rozwiązanie </span><div class="mw-collapsible-content" style="display:none"> | ||
Z Twierdzenia o rekursji uniwersalnej mamy: | Z Twierdzenia o rekursji uniwersalnej mamy: | ||
<center><math>\displaystyle T(n)=\Theta(n^{\log_2{7}}). | <center><math>\displaystyle T(n)=\Theta(n^{\log_2{7}}). | ||
</math></center> | </math></center> | ||
Ponadto | Ponadto | ||
<center><math>\displaystyle \log_2 7 \approx 2.807. | <center><math>\displaystyle \log_2 7 \approx 2.807. | ||
</math></center> | </math></center> | ||
Przeanalizujmy teraz rząd wielkości funkcji <math>\displaystyle T'(n)</math> w zależności od parametru <math>\displaystyle a</math>: | Przeanalizujmy teraz rząd wielkości funkcji <math>\displaystyle T'(n)</math> w zależności od parametru <math>\displaystyle a</math>: | ||
* jeśli <math>\displaystyle a<16</math>, | * jeśli <math>\displaystyle a<16</math>, to <math>\displaystyle T'(n)</math> podpada pod trzeci punkt Twierdzenia o rekursji uniwersalnej i <math>\displaystyle T'(n)=\Theta(n^2)= O(n^{\log_2{7}})</math>, | ||
to <math>\displaystyle T'(n)</math> podpada pod trzeci punkt Twierdzenia o rekursji uniwersalnej | * jeśli <math>\displaystyle a=16</math>, to <math>\displaystyle T'(n)</math> podpada pod drugi punkt Twierdzenia o rekursji uniwersalnej i <math>\displaystyle T'(n)=\Theta(n^2\lg{n})= O(n^{\log_2{7}})</math>, | ||
i <math>\displaystyle T'(n)=\Theta(n^2)= O(n^{\log_2{7}})</math>, | * jeśli zaś <math>\displaystyle a>16</math>, to z trzeciego punktu Twierdzenia o rekursji uniwersalnej mamy <math>\displaystyle T'(n)=\Theta(n^{\log_4{a}})</math>. Zatem wartości <math>\displaystyle a</math>, przy których <math>\displaystyle T'(n)=O(T(n))</math> muszą spełniać nierówność | ||
* jeśli <math>\displaystyle a=16</math>, | |||
to <math>\displaystyle T'(n)</math> podpada pod drugi punkt Twierdzenia o rekursji uniwersalnej | |||
i <math>\displaystyle T'(n)=\Theta(n^2\lg{n})= O(n^{\log_2{7}})</math>, | |||
* jeśli zaś <math>\displaystyle a>16</math>, to z trzeciego punktu Twierdzenia o rekursji uniwersalnej mamy | |||
<math>\displaystyle T'(n)=\Theta(n^{\log_4{a}})</math>. | |||
Zatem wartości <math>\displaystyle a</math>, przy których <math>\displaystyle T'(n)=O(T(n))</math> muszą spełniać nierówność | |||
<center><math>\displaystyle \log_2{7}\geqslant\log_4{a}=\log_2{\sqrt{a}}, | <center><math>\displaystyle \log_2{7}\geqslant\log_4{a}=\log_2{\sqrt{a}}, | ||
</math></center> | </math></center> | ||
czyli <math>\displaystyle 7\geqslant\sqrt{a}</math>, tzn. <math>\displaystyle a\leqslant 49</math>. | czyli <math>\displaystyle 7\geqslant\sqrt{a}</math>, tzn. <math>\displaystyle a\leqslant 49</math>. | ||
Linia 173: | Linia 168: | ||
</div></div> | </div></div> | ||
{{cwiczenie| | {{cwiczenie|8|cw 8| | ||
Udowodnij przez indukcję, że dla <math>\displaystyle n\geqslant 1</math> zachodzi: | |||
<center><math>\displaystyle \left( \frac{n}{e} \right)^n<n!\leqslant \left( \frac{n}{e} \right)^n\sqrt{n}e. | <center><math>\displaystyle \left( \frac{n}{e} \right)^n<n!\leqslant \left( \frac{n}{e} \right)^n\sqrt{n}e. | ||
</math></center> | </math></center> | ||
}} | }} | ||
Linia 184: | Linia 180: | ||
<div class="mw-collapsible mw-made=collapsible mw-collapsed"><span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Wskazówka </span><div class="mw-collapsible-content" style="display:none"> | <div class="mw-collapsible mw-made=collapsible mw-collapsed"><span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Wskazówka </span><div class="mw-collapsible-content" style="display:none"> | ||
Pomocne może być następujące oszacowanie liczby <math>\displaystyle e</math>: | Pomocne może być następujące oszacowanie liczby <math>\displaystyle e</math>: | ||
<center><math>\displaystyle \left( \frac{n+1}{n} \right)^n<e<\left( \frac{n+1}{n} \right)^{n+\frac{1}{2}}, | <center><math>\displaystyle \left( \frac{n+1}{n} \right)^n<e<\left( \frac{n+1}{n} \right)^{n+\frac{1}{2}}, | ||
</math></center> | </math></center> | ||
jeśli tylko <math>\displaystyle n>0</math>. | jeśli tylko <math>\displaystyle n>0</math>. | ||
Linia 195: | Linia 193: | ||
Dla <math>\displaystyle n=1</math> mamy <math>\displaystyle \frac{1}{e}<1</math>. | Dla <math>\displaystyle n=1</math> mamy <math>\displaystyle \frac{1}{e}<1</math>. | ||
Wychodząc od lewej nierówności podanej we wskazówce, mamy kolejno: | Wychodząc od lewej nierówności podanej we wskazówce, mamy kolejno: | ||
<center><math>\displaystyle \aligned \left( \frac{n+1}{n} \right)^n&<e,\\ | <center><math>\displaystyle \aligned \left( \frac{n+1}{n} \right)^n&<e,\\ | ||
Linia 200: | Linia 199: | ||
\left( \frac{n+1}{e} \right)^{n+1}\left( \frac{e}{n} \right)^n&<n+1. | \left( \frac{n+1}{e} \right)^{n+1}\left( \frac{e}{n} \right)^n&<n+1. | ||
\endaligned</math></center> | \endaligned</math></center> | ||
Mnożąc ostatnią nierówność przez nierówność <math>\displaystyle \left( \frac{n}{e} \right)^n<n!</math>, | Mnożąc ostatnią nierówność przez nierówność <math>\displaystyle \left( \frac{n}{e} \right)^n<n!</math>, |
Wersja z 13:00, 4 wrz 2006
Asymptotyka
Ćwiczenie 1
Posortuj podane niżej funkcje według asymptotycznego stopnia złożoności tak, by każda funkcja była asymptotycznie niemniejsza od następujących po niej.
Wskazówka
Ćwiczenie 2
Oszacuj rząd wielkości funkcji zadanej równaniem rekurencyjnym:
Wskazówka
Rozwiązanie
Ćwiczenie 3
Oszacuj rząd wielkości funkcji zadanej równaniem rekurencyjnym:
Wskazówka
Rozwiązanie
Ćwiczenie 4
Oszacuj rząd wielkości funkcji zadanej równaniem rekurencyjnym:
Wskazówka
Rozwiązanie
Ćwiczenie 5
Oszacuj rząd wielkości funkcji zadanej równaniem rekurencyjnym:
Wskazówka
Rozwiązanie
Ćwiczenie 6
Oszacuj rząd wielkości funkcji zadanej równaniem rekurencyjnym:
Wskazówka
Rozwiązanie
Ćwiczenie 7
Dla
wskaż największą całkowitą wartość parametru taką, że .
Wskazówka
Rozwiązanie
Ćwiczenie 8
Udowodnij przez indukcję, że dla zachodzi:
Wskazówka
Rozwiązanie