Matematyka dyskretna 1/Ćwiczenia 9: Asymptotyka: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
m Zastępowanie tekstu – „,↵</math>” na „</math>,”
 
(Nie pokazano 3 pośrednich wersji utworzonych przez tego samego użytkownika)
Linia 7: Linia 7:




<center><math>\displaystyle 51n+101, \quad  
<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 23: Linia 22:




<center><math>\displaystyle \frac{\lg{n}}{n}, \quad  
<center><math>\frac{\lg{n}}{n}, \quad  
\frac{n}{\lg{n}}, \quad  
\frac{n}{\lg{n}}, \quad  
51n+101, \quad  
51n+101, \quad  
Linia 29: 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>




Linia 36: Linia 34:


{{cwiczenie|2|cw 2|
{{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>T</math> zadanej równaniem rekurencyjnym:
<math>\displaystyle T(n)=4T\left( \frac{n}{2} \right)+n</math>
<math>T(n)=4T\left( \frac{n}{2} \right)+n</math>


}}
}}
Linia 46: 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>\displaystyle a=4</math>, <math>\displaystyle b=2</math>, <math>\displaystyle f(n)=n</math>,
* <math>a=4</math>, <math>b=2</math>, <math>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>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, mamy <math>\displaystyle T(n)=\Theta(n^2)</math>.
* zatem, z pierwszego punktu Twierdzenia o rekursji uniwersalnej, mamy <math>T(n)=\Theta(n^2)</math>.


</div></div>
</div></div>


{{cwiczenie|3|cw 3|
{{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>T</math> zadanej równaniem rekurencyjnym:
<math>\displaystyle T(n)=4T\left( \frac{n}{2} \right)+n^2</math>
<math>T(n)=4T\left( \frac{n}{2} \right)+n^2</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>\displaystyle a=4</math>, <math>\displaystyle b=2</math>, <math>\displaystyle f(n)=n^2</math>,
* <math>a=4</math>, <math>b=2</math>, <math>f(n)=n^2</math>,
* <math>\displaystyle n^{\log_2{4}}=n^2</math>, <math>\displaystyle f(n)\in\Theta(n^2)</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 <math>\displaystyle T(n)=\Theta(n^2\lg{n})</math>.
* zatem, z drugiego punktu Twierdzenia o rekursji uniwersalnej, mamy <math>T(n)=\Theta(n^2\lg{n})</math>.


</div></div>
</div></div>


{{cwiczenie|4|cw 4|
{{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>T</math> zadanej równaniem rekurencyjnym:
<math>\displaystyle T(n)=4T\left( \frac{n}{2} \right)+n^2\lg_2{n}</math>
<math>T(n)=4T\left( \frac{n}{2} \right)+n^2\lg_2{n}</math>


}}
}}
Linia 80: 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>\displaystyle a=4</math>, <math>\displaystyle b=2</math>, <math>\displaystyle f(n)=n^2\lg{n}</math>,
* <math>a=4</math>, <math>b=2</math>, <math>f(n)=n^2\lg{n}</math>,
* <math>\displaystyle n^{\log_2{4}}=n^2</math>, <math>\displaystyle f(n)\in\Omega(n^2)</math>, ale ...
* <math>n^{\log_2{4}}=n^2</math>, <math>f(n)\in\Omega(n^2)</math>, ale ...
* <math>\displaystyle f(n)\not\in\Omega(n^{2+\varepsilon})</math> dla dowolnego <math>\displaystyle \varepsilon>0</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.


Linia 88: Linia 86:


{{cwiczenie|5|cw 5|
{{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>T</math> zadanej równaniem rekurencyjnym:
<math>\displaystyle T(n)=4T\left( \frac{n}{2} \right)+n^3</math>
<math>T(n)=4T\left( \frac{n}{2} \right)+n^3</math>


}}
}}
Linia 98: 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>\displaystyle a=4</math>, <math>\displaystyle b=2</math>, <math>\displaystyle f(n)=n^3</math>,
* <math>a=4</math>, <math>b=2</math>, <math>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>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, mamy <math>\displaystyle T(n)=\Theta(n^3)</math>.
* zatem, z trzeciego punktu Twierdzenia o rekursji uniwersalnej, mamy <math>T(n)=\Theta(n^3)</math>.


</div></div>
</div></div>


{{cwiczenie|6|cw 6|
{{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>T</math> zadanej równaniem rekurencyjnym:
<math>\displaystyle T(n)=T\left( \frac{n}{2} \right)+c</math>
<math>T(n)=T\left( \frac{n}{2} \right)+c</math>


}}
}}
Linia 115: 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>\displaystyle a=1</math>, <math>\displaystyle b=2</math>, <math>\displaystyle f(n)=c</math>,
* <math>a=1</math>, <math>b=2</math>, <math>f(n)=c</math>,
* <math>\displaystyle n^{\log_2{1}}=1</math>, <math>\displaystyle f(n)=\Theta(1)</math>,
* <math>n^{\log_2{1}}=1</math>, <math>f(n)=\Theta(1)</math>,
* zatem, z drugiego punktu Twierdzenia o rekursji uniwersalnej, mamy <math>\displaystyle T(n)=\Theta(\lg{n})</math>.
* zatem, z drugiego punktu Twierdzenia o rekursji uniwersalnej, mamy <math>T(n)=\Theta(\lg{n})</math>.


</div></div>
</div></div>
Linia 125: Linia 123:




<center><math>\displaystyle \begin{align} T(n)&=7T\left( \frac{n}{2} \right)+n^2,\\
<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>
\end{align}</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>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>\displaystyle T(n)</math> oraz <math>\displaystyle T'(n)</math>.
Oszacuj asymptotyczny rząd wielkości funkcji <math>T(n)</math> oraz <math>T'(n)</math>.
</div></div>
</div></div>


Linia 142: Linia 140:




<center><math>\displaystyle T(n)=\Theta(n^{\log_2{7}}).
<center><math>T(n)=\Theta(n^{\log_2{7}})
</math></center>
</math></center>


Linia 149: Linia 147:




<center><math>\displaystyle \log_2 7 \approx 2.807.
<center><math>\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>T'(n)</math> w zależności od parametru <math>a</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>,
* 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>\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 <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>\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 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>\displaystyle \log_2{7}\geqslant\log_4{a}=\log_2{\sqrt{a}},
<center><math>\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>7\geqslant\sqrt{a}</math>, tzn. <math>a\leqslant 49</math>.


Największą całkowitą wartością parametru <math>\displaystyle a</math> taką, że <math>\displaystyle T'(n)=O(T(n))</math> jest więc <math>\displaystyle 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|8|cw 8|
{{cwiczenie|8|cw 8|
Udowodnij przez indukcję, że dla <math>\displaystyle n\geqslant 1</math> zachodzi:
Udowodnij przez indukcję, że dla <math>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>\left( \frac{n}{e} \right)^n<n!\leqslant \left( \frac{n}{e} \right)^n\sqrt{n}e</math></center>
</math></center>




Linia 178: Linia 175:


<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>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>\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>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>\displaystyle \left( \frac{n}{e} \right)^n<n!</math>.  
Pokażemy jedynie indukcyjny dowód  nierówności <math>\left( \frac{n}{e} \right)^n<n!</math>.  
Dla <math>\displaystyle n=1</math> mamy <math>\displaystyle \frac{1}{e}<1</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>\displaystyle \begin{align} \left( \frac{n+1}{n} \right)^n&<e,\\
<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.
Linia 200: Linia 196:




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>\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>\displaystyle \left( \frac{n+1}{e} \right)^{n+1}<(n+1)!</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.


51n+101,n37lg7n,n2+2lgn,(n+1)3,lgnn,nlgn,k=0nkk


Wskazówka

Ćwiczenie 2

Oszacuj rząd wielkości funkcji T zadanej równaniem rekurencyjnym: T(n)=4T(n2)+n

Wskazówka
Rozwiązanie

Ćwiczenie 3

Oszacuj rząd wielkości funkcji T zadanej równaniem rekurencyjnym: T(n)=4T(n2)+n2

Wskazówka
Rozwiązanie

Ćwiczenie 4

Oszacuj rząd wielkości funkcji T zadanej równaniem rekurencyjnym: T(n)=4T(n2)+n2lg2n

Wskazówka
Rozwiązanie

Ćwiczenie 5

Oszacuj rząd wielkości funkcji T zadanej równaniem rekurencyjnym: T(n)=4T(n2)+n3

Wskazówka
Rozwiązanie

Ćwiczenie 6

Oszacuj rząd wielkości funkcji T zadanej równaniem rekurencyjnym: T(n)=T(n2)+c

Wskazówka
Rozwiązanie

Ćwiczenie 7

Dla


T(n)=7T(n2)+n2,T(n)=aT(n4)+n2


wskaż największą całkowitą wartość parametru a taką, że T(n)O(T(n)).

Wskazówka
Rozwiązanie

Ćwiczenie 8

Udowodnij przez indukcję, że dla n1 zachodzi:


(ne)n<n!(ne)nne


Wskazówka
Rozwiązanie