V Podkapitole 4.6 jsme se seznámili s horními asymptotickými mezemi $o$ a $\mathcal{O}$. Vztah $a_n = \mathcal{O}(n)$ splní jak posloupnosti s členy $a_n = n$, tak i $a_n = \sqrt{n}$ nebo dokonce $a_n = 0$. Při porovnávání chování posloupností bychom přirozeně chtěli mít možnost být přesnější! Pro jednoduchost se v této podkapitole už omezíme pouze na posloupnosti, i když bychom mohli příslušné definice snadno modifikovat i pro funkce.
Pomocí $\mathcal{O}$ porovnáváme chování jedné posloupnosti „zeshora“ pomocí druhé posloupnosti. Přirozeně bychom chtěli i spodní odhad růstu či poklesu. K tomu přesně slouží vztah $\Omega$ zavedený v následující definici.
Mějme dvě posloupnosti $(a_n)_{n=1}^\infty$ a $(b_n)_{n=1}^\infty$. Řekneme, že posloupnost $(a_n)_{n=1}^\infty$ je asymptoticky zdola omezená posloupností $(b_n)_{n=1}^\infty$, symbolicky „$a_n = \Omega(b_n)$ pro $n \to \infty$“, právě když existuje kladná konstanta $c \in \R$ a přirozené $N \in \N$ tak, že pro všechna $n \geq N$ platí
Symbol $\Omega$ je řecké velké písmenko omega. Podobně jako u $\mathcal{O}$ v případě posloupností upřesnění „$n \to \infty$“ vynecháváme. Nikde jinde než v $+\infty$ posloupnosti asymptoticky porovnávat nelze (podobně tomu bude i v případě $\omega$ a $\Theta$). Z Definice 4.7 ihned plynou následující pozorování.
Mějme dvě posloupnosti $(a_n)_{n=1}^\infty$ a $(b_n)_{n=1}^\infty$. Potom platí následující tvrzení.
$a_n = \Omega(b_n)$, právě když $b_n = \mathcal{O}(a_n)$.
$a_n = \Omega(a_n)$.
Vztah $\Omega$ je tranzitivní.
Postupně si promysleme důkaz jednotlivých tvrzení využívající přímočaře Definice 4.7 a 3.12 (resp. její formulaci pro posloupnosti).
Vztah $a_n = \Omega(b_n)$ platí právě tehdy, když existuje kladná konstanta $c > 0$ a přirozené $N \in \N$ tak, že kdykoliv $n \geq N$ pak
Díky kladnosti konstanty $c$ je tato nerovnost ovšem ekvivalentní nerovnosti
kde $d = \frac{1}{c}$ je kladná konstanta. Tudíž platí $b_n = \mathcal{O}(a_n)$. Opačnou implikaci dokážeme naprosto analogicky.
Zcela jistě platí $|a_n| \leq 1 \cdot |a_n|$ pro každé $n\in\N$.
Tento fakt jsme již dokázali v Tvrzení 3.2.
$\square$
Až budeme vybaveni pojmem limity, tak se k tomuto tématu ještě jednou vrátíme v Podkapitole 5.8. Pojďme se nyní zamyslet nad několika jednoduchými příklady. Dle prvního bodu Tvrzení 4.1 ale vlastně nejde o skutečně novou látku.
Platí $n = \Omega\big(\sqrt{n}\big)$.
Skutečně, pro $c = 1$ a každé přirozené $n$ platí $n = \sqrt{n} \cdot \sqrt{n} \geq 1 \cdot \sqrt{n}$.
Platí $\frac{n}{2} - 100 = \Omega(n)$.
Toto tvrzení se může zdát neintuitivní, vždyť pro každé přirozené $n$ přeci platí $\frac{n}{2} - 100 < n$ a $\Omega$ má být spodní mez. Je potřeba si ale uvědomit, že $\Omega$ je „necitlivá vůči konstantám“.
Ověřme definiční podmínku vztahu $\Omega$. Nejprve se na naší cestě ke spodnímu odhadu, který vyžaduje definice $\Omega$, zbavme absolutní hodnoty. Pro každé přirozené $n$ větší než $200$ jistě platí
Nyní nám na pravé straně vadí konstanta $-100$, které se ale zbavíme následujícím odhadem, platným pro všechna $n$ větší než $400$:
Proto je dokazované tvrzení pravdivé, v Definici 4.7 stačí volit $c = \frac{1}{4}$ a $N = 400$.
„Spodním“ analogem „Horního“ $o$ je vztah $\omega$ zavedený v následující definici.
Mějme dvě posloupnosti $(a_n)_{n=1}^\infty$ a $(b_n)_{n=1}^\infty$. Řekneme, že posloupnost $(a_n)_{n=1}^\infty$ je asymptoticky zdola striktně omezená posloupností $(b_n)_{n=1}^\infty$, symbolicky „$a_n = \omega(b_n)$ pro $n \to \infty$“, právě když pro každé kladné $c \in \R$ existuje $N \in \N$ tak, že pro všechna $n \geq N$ platí
Symbol $\omega$ je malé řecké písmenko omega. Opět přímo z Definice 4.8 ihned plynou následující pozorování. Opět se ukazuje, že $\omega$ lze ekvivalentně vyjádřit pomocí $o$.
Mějme dvě posloupnosti $(a_n)_{n=1}^\infty$ a $(b_n)_{n=1}^\infty$. Poté platí následující tvrzení.
$a_n = \omega(b_n)$, právě když $b_n = o(a_n)$.
Pokud $a_n = \omega(b_n)$, pak $a_n = \Omega(b_n)$.
$\omega$ je tranzitivní.
Pojďme se zamyslet nad několika příklady, ve kterých v tento okamžik už budeme pracovat hned s několika vztahy.
Pomocí vztahů $o$, $\mathcal{O}$, $\omega$ a $\Omega$ porovnejte posloupnosti
kdykoliv to lze.
Bavíme se zde o třech ostře rostoucích posloupnostech, proto má smysl je uspořádat podle míry jejich růstu.
„Nejpomalejší“ z nich, $(b_n)_{n=1}^\infty$, je $o(n)$, $\mathcal{O}(n)$, $o(2n)$, $\mathcal{O}(2n)$. Platností těchto tvrzení jsme se zabývali dříve v textu a teď je podrobněji už rozebírat nebudeme.
Dále pro posloupnost $(a_n)_{n=1}^\infty$ platí
Už ale neplatí $n = o(2n)$. Podívejme se podrobněji na platnost prvního vztahu z rovnice (4.1). Pro libovolné $c > 0$ zkoumáme platnost nerovnosti
která je ekvivalentní nerovnici
a ta platí pro všechna přirozená $n$ větší než $c^2$. Podmínka v Definici 4.8 je tak splněna.
Konečně pro posloupnost $(c_n)_{n=1}^\infty$ platí
Opět ovšem neplatí vztah $2n = \omega(n)$.
Alternativně bychom mohli v argumentaci využít ekvivalencí v Tvrzeních 4.1 a 4.2.
Vztah $\Theta$ kombinuje dolní i horní odhad pomocí $\mathcal{O}$ a $\Omega$. Jde o „oboustranný“ odhad. Přesná definice je následující.
Mějme dvě posloupnosti $(a_n)_{n=1}^\infty$ a $(b_n)_{n=1}^\infty$. Řekneme, že posloupnost $(a_n)_{n=1}^\infty$ je téhož řádu jako posloupnost $(b_n)_{n=1}^\infty$, symbolicky „$a_n = \Theta(b_n)$ pro $n \to \infty$“, právě když existují kladné konstanty $c_1,c_2 \in \R$ a $N \in \N$ tak, že pro všechna $n \geq N$ platí
Symbol $\Theta$ je velké řecké písmenko theta. Z definice ihned plynou následující pozorování:
Mějme dvě posloupnosti $(a_n)_{n=1}^\infty$ a $(b_n)_{n=1}^\infty$. Potom platí následující tvrzení.
$a_n = \Theta(b_n)$, právě když $b_n = \Theta(a_n)$.
Vztah $\Theta$ kombinuje $\mathcal{O}$ a $\Omega$ v následujícím smyslu: $a_n = \Theta(b_n)$, právě když $a_n = \Omega(b_n)$ a $a_n = \mathcal{O}(b_n)$.
$\Theta$ je tranzitivní.
Z předchozího tvrzení dále plyne, že vztah $\Theta$ je relací ekvivalence.
Například platí (rozmyslete!):
$n + \sin(n) = \Theta(n)$,
$n + \sin(n) = \Theta(n + 10)$,
$n + \sin(n) = \Theta(n - 10)$,
$n + \sin(n) = \Theta(10n)$.
Už ale třeba není pravda, že
$n + \sin(n) = \Theta(n^2)$.
Vidíme, že nově zavedené vztahy $\omega$, $\Omega$ a $\Theta$ jsou v podstatě odvozené od $o$ a $\mathcal{O}$, kterým jsme věnovali více času. Může pomoci se na porovnávání posloupností pomocí $\omega$, $\Omega$, $\Theta$, $\mathcal{O}$ a $o$ dívat jako na jistou analogii porovnávání čísel, viz Tabulku 4.1.
asymptotický symbol | nerovnostní symbol |
---|---|
\(\omega\) | \(>\) |
\(\Omega\) | \(\geq\) |
\(\Theta\) | \(=\) |
\(\mathcal{O}\) | \(\leq\) |
\(o\) | \(<\) |
Tabulka 4.1: Na asymptotické symboly pro porovnání chování posloupností lze nahlížet jako na jistou analogii nerovnostních symbolů pro porovnávání reálných čísel.
Tento způsob porovnávání chování funkcí bývá často připisován Edmundu Landauovi (německý matematik, 1877 – 1938). Díky své obecnosti nachází využití v matematice, fyzice, informatice, …
Na závěr této kapitoly uveďme několik notačních poznámek, které jsou platné i pro další asymptotické symboly a i funkce.
Někdy narazíte na zápis tvaru „$\mathcal{O}(a_n) = \mathcal{O}(b_n)$“. Tím má autor na mysli, že každá posloupnost $(c_n)_{n=1}^\infty$ splňující $c_n = \mathcal{O}(a_n)$, splňuje i $c_n = \mathcal{O}(b_n)$.
Například platí $\mathcal{O}(n) = \mathcal{O}(n^2)$, nebo $o(n) = \mathcal{O}(n)$. Tento způsob zápisu může být potenciálně matoucí, nejde zde o skutečnou rovnost, vždy je potřeba ho interpretovat zleva-doprava, jako inkluzi: každá funkce patřící do $\mathcal{O}(n)$ patří i do $\mathcal{O}(n^2)$.
Občas se můžete setkat i se zápisem tvaru „$a_n = \mathcal{O}\Big(n^{\mathcal{O}(b_n)}\Big)$“. Tím se myslí, že ona posloupnost $(a_n)_{n=1}^\infty$ splňuje $a_n = \mathcal{O}(n^{c_n})$, kde $(c_n)_{n=1}^\infty$ je nějaká posloupnost splňující $c_n = \mathcal{O}(b_n)$.
Zobrazení množiny přirozených čísel $\N$ do množiny reálných čísel $\R$ nazýváme reálná číselná posloupnost (pokud nebude hrozit zmatení, budeme zkráceně mluvit o posloupnosti).
Zobrazení množiny přirozených čísel $\N$ do množiny reálných čísel $\R$ nazýváme reálná číselná posloupnost (pokud nebude hrozit zmatení, budeme zkráceně mluvit o posloupnosti).
Zobrazení množiny přirozených čísel $\N$ do množiny reálných čísel $\R$ nazýváme reálná číselná posloupnost (pokud nebude hrozit zmatení, budeme zkráceně mluvit o posloupnosti).
Zobrazení množiny přirozených čísel $\N$ do množiny reálných čísel $\R$ nazýváme reálná číselná posloupnost (pokud nebude hrozit zmatení, budeme zkráceně mluvit o posloupnosti).