Matematyka dyskretna 1/Ćwiczenia 9: Asymptotyka: 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 6 wersji utworzonych przez 2 użytkowników) | |||
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> | |||
<center><math>51n+101, \quad | |||
\frac{n^3}{7\lg^7{n}}, \quad | \frac{n^3}{7\lg^7{n}}, \quad | ||
\frac{n^2+2}{\lg{n}}, \quad | \frac{n^2+2}{\lg{n}}, \quad | ||
Linia 13: | Linia 13: | ||
\frac{\lg{n}}{n}, \quad | \frac{\lg{n}}{n}, \quad | ||
\frac{n}{\lg{n}}, \quad | \frac{n}{\lg{n}}, \quad | ||
\sum_{k=0}^n k\sqrt{k} | \sum_{k=0}^n k\sqrt{k}</math></center> | ||
</math></center> | |||
}} | }} | ||
Linia 21: | Linia 21: | ||
Porządek ten to: | Porządek ten to: | ||
<center><math> | |||
<center><math>\frac{\lg{n}}{n}, \quad | |||
\frac{n}{\lg{n}}, \quad | \frac{n}{\lg{n}}, \quad | ||
51n+101, \quad | 51n+101, \quad | ||
Linia 27: | Linia 28: | ||
\frac{n^2+2}{\lg{n}}, \quad | \frac{n^2+2}{\lg{n}}, \quad | ||
\sum_{k=0}^n k\sqrt{k}, \quad | \sum_{k=0}^n k\sqrt{k}, \quad | ||
\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>T</math> zadanej równaniem rekurencyjnym: | |||
Oszacuj rząd wielkości funkcji <math> | <math>T(n)=4T\left( \frac{n}{2} \right)+n</math> | ||
<math> | |||
}} | }} | ||
Linia 44: | Linia 44: | ||
<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"> | ||
* <math> | * <math>a=4</math>, <math>b=2</math>, <math>f(n)=n</math>, | ||
* <math> | * <math>n^{\log_2{4}}=n^2</math>, <math>f(n)\in O(n^{2-\varepsilon})</math>, np. dla <math>\varepsilon=0.5</math>, | ||
* zatem, z pierwszego punktu Twierdzenia o rekursji uniwersalnej, | * zatem, z pierwszego punktu Twierdzenia o rekursji uniwersalnej, mamy <math>T(n)=\Theta(n^2)</math>. | ||
mamy <math> | |||
</div></div> | </div></div> | ||
{{cwiczenie| | {{cwiczenie|3|cw 3| | ||
Oszacuj rząd wielkości funkcji <math>T</math> zadanej równaniem rekurencyjnym: | |||
Oszacuj rząd wielkości funkcji <math> | <math>T(n)=4T\left( \frac{n}{2} \right)+n^2</math> | ||
<math> | |||
}} | }} | ||
Linia 63: | Linia 61: | ||
<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"> | ||
* <math> | * <math>a=4</math>, <math>b=2</math>, <math>f(n)=n^2</math>, | ||
* <math> | * <math>n^{\log_2{4}}=n^2</math>, <math>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>T(n)=\Theta(n^2\lg{n})</math>. | ||
<math> | |||
</div></div> | </div></div> | ||
{{cwiczenie| | {{cwiczenie|4|cw 4| | ||
Oszacuj rząd wielkości funkcji <math>T</math> zadanej równaniem rekurencyjnym: | |||
Oszacuj rząd wielkości funkcji <math> | <math>T(n)=4T\left( \frac{n}{2} \right)+n^2\lg_2{n}</math> | ||
<math> | |||
}} | }} | ||
Linia 82: | Linia 78: | ||
<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"> | ||
* <math> | * <math>a=4</math>, <math>b=2</math>, <math>f(n)=n^2\lg{n}</math>, | ||
* <math> | * <math>n^{\log_2{4}}=n^2</math>, <math>f(n)\in\Omega(n^2)</math>, ale ... | ||
* <math> | * <math>f(n)\not\in\Omega(n^{2+\varepsilon})</math> dla dowolnego <math>\varepsilon>0</math>, | ||
* nie możemy w tym przypadku zastosować Twierdzenia o rekursji uniwersalnej. | * nie możemy w tym przypadku zastosować Twierdzenia o rekursji uniwersalnej. | ||
</div></div> | </div></div> | ||
{{cwiczenie| | {{cwiczenie|5|cw 5| | ||
Oszacuj rząd wielkości funkcji <math>T</math> zadanej równaniem rekurencyjnym: | |||
Oszacuj rząd wielkości funkcji <math> | <math>T(n)=4T\left( \frac{n}{2} \right)+n^3</math> | ||
<math> | |||
}} | }} | ||
Linia 101: | Linia 96: | ||
<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"> | ||
* <math> | * <math>a=4</math>, <math>b=2</math>, <math>f(n)=n^3</math>, | ||
* <math> | * <math>n^{\log_2{4}}=n^2</math>, <math>f(n)\in\Omega(n^{3+\varepsilon})</math>, np. dla <math>\varepsilon=0.5</math>, | ||
* zatem, z trzeciego punktu Twierdzenia o rekursji uniwersalnej, | * zatem, z trzeciego punktu Twierdzenia o rekursji uniwersalnej, mamy <math>T(n)=\Theta(n^3)</math>. | ||
mamy <math> | |||
</div></div> | </div></div> | ||
{{cwiczenie| | {{cwiczenie|6|cw 6| | ||
Oszacuj rząd wielkości funkcji <math>T</math> zadanej równaniem rekurencyjnym: | |||
Oszacuj rząd wielkości funkcji <math> | <math>T(n)=T\left( \frac{n}{2} \right)+c</math> | ||
<math> | |||
}} | }} | ||
Linia 120: | Linia 113: | ||
<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"> | ||
* <math> | * <math>a=1</math>, <math>b=2</math>, <math>f(n)=c</math>, | ||
* <math> | * <math>n^{\log_2{1}}=1</math>, <math>f(n)=\Theta(1)</math>, | ||
* zatem, z drugiego punktu Twierdzenia o rekursji uniwersalnej, mamy | * zatem, z drugiego punktu Twierdzenia o rekursji uniwersalnej, mamy <math>T(n)=\Theta(\lg{n})</math>. | ||
<math> | |||
</div></div> | </div></div> | ||
{{cwiczenie| | {{cwiczenie|7|cw 7| | ||
Dla | |||
<center><math>\ | <center><math>\begin{align} 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 | ||
\ | \end{align}</math></center> | ||
wskaż największą całkowitą wartość parametru <math> | |||
wskaż największą całkowitą wartość parametru <math>a</math> taką, że <math>T'(n)\in O(T(n))</math>. | |||
}} | }} | ||
<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"> | ||
Oszacuj asymptotyczny rząd wielkości funkcji <math> | Oszacuj asymptotyczny rząd wielkości funkcji <math>T(n)</math> oraz <math>T'(n)</math>. | ||
</div></div> | </div></div> | ||
Linia 146: | Linia 139: | ||
Z Twierdzenia o rekursji uniwersalnej mamy: | Z Twierdzenia o rekursji uniwersalnej mamy: | ||
<center><math> | |||
<center><math>T(n)=\Theta(n^{\log_2{7}}) | |||
</math></center> | </math></center> | ||
Ponadto | Ponadto | ||
<center><math> | |||
<center><math>\log_2 7 \approx 2.807 | |||
</math></center> | </math></center> | ||
<center><math> | Przeanalizujmy teraz rząd wielkości funkcji <math>T'(n)</math> w zależności od parametru <math>a</math>: | ||
* jeśli <math>a<16</math>, to <math>T'(n)</math> podpada pod trzeci punkt Twierdzenia o rekursji uniwersalnej i <math>T'(n)=\Theta(n^2)= O(n^{\log_2{7}})</math>, | |||
* jeśli <math>a=16</math>, to <math>T'(n)</math> podpada pod drugi punkt Twierdzenia o rekursji uniwersalnej i <math>T'(n)=\Theta(n^2\lg{n})= O(n^{\log_2{7}})</math>, | |||
* jeśli zaś <math>a>16</math>, to z trzeciego punktu Twierdzenia o rekursji uniwersalnej mamy <math>T'(n)=\Theta(n^{\log_4{a}})</math>. Zatem wartości <math>a</math>, przy których <math>T'(n)=O(T(n))</math> muszą spełniać nierówność | |||
<center><math>\log_2{7}\geqslant\log_4{a}=\log_2{\sqrt{a}} | |||
</math></center> | </math></center> | ||
Największą całkowitą wartością parametru <math> | czyli <math>7\geqslant\sqrt{a}</math>, tzn. <math>a\leqslant 49</math>. | ||
Największą całkowitą wartością parametru <math>a</math> taką, że <math>T'(n)=O(T(n))</math> jest więc <math>49</math>. | |||
</div></div> | </div></div> | ||
{{cwiczenie| | {{cwiczenie|8|cw 8| | ||
Udowodnij przez indukcję, że dla <math>n\geqslant 1</math> zachodzi: | |||
<center><math> | <center><math>\left( \frac{n}{e} \right)^n<n!\leqslant \left( \frac{n}{e} \right)^n\sqrt{n}e</math></center> | ||
</math></center> | |||
}} | }} | ||
<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>\ | Pomocne może być następujące oszacowanie liczby <math>e</math>: | ||
<center><math>\left( \frac{n+1}{n} \right)^n<e<\left( \frac{n+1}{n} \right)^{n+\frac{1}{2}}</math>,</center> | |||
jeśli tylko <math> | jeśli tylko <math>n>0</math>. | ||
</div></div> | </div></div> | ||
<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"> | ||
Pokażemy jedynie indukcyjny dowód nierówności <math> | Pokażemy jedynie indukcyjny dowód nierówności <math>\left( \frac{n}{e} \right)^n<n!</math>. | ||
Dla <math> | Dla <math>n=1</math> mamy <math>\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>\ | |||
<center><math>\begin{align} \left( \frac{n+1}{n} \right)^n&<e,\\ | |||
\left( \frac{n+1}{n} \right)^n\frac{n+1}{e}&<n+1,\\ | \left( \frac{n+1}{n} \right)^n\frac{n+1}{e}&<n+1,\\ | ||
\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. | ||
\ | \end{align}</math></center> | ||
Mnożąc ostatnią nierówność przez nierówność <math> | Mnożąc ostatnią nierówność przez nierówność <math>\left( \frac{n}{e} \right)^n<n!</math>, | ||
pochodzącą z założenia indukcyjnego, dostajemy | pochodzącą z założenia indukcyjnego, dostajemy | ||
<math> | <math>\left( \frac{n+1}{e} \right)^{n+1}<(n+1)!</math>. | ||
</div></div> | </div></div> |
Aktualna wersja na dzień 21:48, 11 wrz 2023
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