4.7 Asymptotické vztahy $\omega$, $\Omega$ a $\Theta$

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.

4.7.1 Dolní asymptotická mez $\Omega$

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.

Definice 4.7 (Asymptotická dolní mez $\Omega$)

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í

\begin{equation*} |a_n| \geq c \cdot |b_n|. \end{equation*}

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í.

Tvrzení 4.1 (Základní vlastnosti $\Omega$)

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í.

Zobrazit důkaz

Postupně si promysleme důkaz jednotlivých tvrzení využívající přímočaře Definice 4.73.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

    \begin{equation*} |a_n| \geq c |b_n|. \end{equation*}

    Díky kladnosti konstanty $c$ je tato nerovnost ovšem ekvivalentní nerovnosti

    \begin{equation*} |b_n| \leq \frac{1}{c} |a_n|, \end{equation*}

    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.

Příklad 4.16

Platí $n = \Omega\big(\sqrt{n}\big)$.

Zobrazit řešení

Skutečně, pro $c = 1$ a každé přirozené $n$ platí $n = \sqrt{n} \cdot \sqrt{n} \geq 1 \cdot \sqrt{n}$.

Příklad 4.17

Platí $\frac{n}{2} - 100 = \Omega(n)$.

Zobrazit řešení

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í

\begin{equation*} \Big|\underbrace{\frac{n}{2} - 100}_{\geq 0}\Big| = \frac{n}{2} - 100. \end{equation*}

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$:

\begin{equation*} \frac{n}{2} - 100 = \frac{n}{4} + \underbrace{\frac{n}{4} - 100}_{\geq 0} \geq \frac{n}{4}. \end{equation*}

Proto je dokazované tvrzení pravdivé, v Definici 4.7 stačí volit $c = \frac{1}{4}$ a $N = 400$.

4.7.2 Dolní striktní asymptotická mez $\omega$

„Spodním“ analogem „Horního“ $o$ je vztah $\omega$ zavedený v následující definici.

Definice 4.8 (Striktně menší dolní mez $\omega$)

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í

\begin{equation*} |a_n| > c \cdot |b_n|. \end{equation*}

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$.

Tvrzení 4.2 (Základní vlastnosti $\omega$)

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í.

Zobrazit důkaz

Důkaz prvního a třetího bodu se provede naprosto analogicky důkazu Tvrzení 4.1. Implikaci v druhém bodě si stačí rozmyslet porovnáním Definic 4.84.7.

$\square$

Pojďme se zamyslet nad několika příklady, ve kterých v tento okamžik už budeme pracovat hned s několika vztahy.

Příklad 4.18

Pomocí vztahů $o$, $\mathcal{O}$, $\omega$ a $\Omega$ porovnejte posloupnosti

\begin{equation*} a_n = n, \quad b_n = \sqrt{n}, \quad c_n = 2n, \quad n\in\N, \end{equation*}

kdykoliv to lze.

Zobrazit řešení

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í

\begin{equation}\label{eq-porovnavani-ocek}\tag{4.1} n = \omega\big(\sqrt{n}\big), \quad n = \Omega\big(\sqrt{n}\big), \quad n = \mathcal{O}(2n). \end{equation}

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

\begin{equation*} n = |n| > c |\sqrt{n}| = c \sqrt{n}, \end{equation*}

která je ekvivalentní nerovnici

\begin{equation*} \sqrt{n} > c, \end{equation*}

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í

\begin{equation*} 2n = \Omega(n), \quad 2n = \omega\big(\sqrt{n}\big), \quad 2n = \Omega\big(\sqrt{n}\big). \end{equation*}

Opět ovšem neplatí vztah $2n = \omega(n)$.

Alternativně bychom mohli v argumentaci využít ekvivalencí v Tvrzeních 4.14.2.

4.7.3 Asymptotická těsná mez $\Theta$

Vztah $\Theta$ kombinuje dolní i horní odhad pomocí $\mathcal{O}$ a $\Omega$. Jde o „oboustranný“ odhad. Přesná definice je následující.

Definice 4.9 (Asymptotická těsná mez $\Theta$)

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í

\begin{equation*} c_1 |b_n| \leq |a_n| \leq c_2 |b_n|. \end{equation*}

Symbol $\Theta$ je velké řecké písmenko theta. Z definice ihned plynou následující pozorování:

Tvrzení 4.3 (Základní vlastnosti $\Theta$)

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í.

Zobrazit důkaz

První tvrzení plyne přímo z Definice 4.9. Při rozmýšlení druhého bodu je vhodné vzít do úvahy i Tvrzení 4.1. Tranzitivitu lze opět dokázat přímo z definice, nebo využít již dokázaného a tranzitivitu $\Omega$ a $\mathcal{O}$.

$\square$

Poznámka 4.3

Z předchozího tvrzení dále plyne, že vztah $\Theta$ je relací ekvivalence.

Příklad 4.19

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)$.

4.7.4 Poznámky

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)$.