Landauova notace

@andrea@andrea

Notace (známější pod označením O-notace) se používá v matematice k porovnávání asymptotického chování členů posloupností, či k porovnání rychlosti růstu dvou posloupností. Vyjádříme pomocí ní rychlost růstu poslopnosti v nekonečnu. Tato notace se velmi často využívá v informatice k porovnávání časových a paměťových složitostí algoritmů. U každého algoritmu jsme schopni určit horní odhad složitosti, dolní odhady (až na triviální -- velikost vstupu, výstupu) jsou složitější.

Byla vynalezena Paulem Bachmannem a Edmundem Landauem (německý matematik, 1877 – 1938) a dalšími.

Často se můžete setkat se zápisem an = O(bn), který není příliš šťastný vzhledem k tomu, že nejde o rovnost. Lepší je ho chápat ve smyslu an ∈ O(bn).

Asymptoticky rovné ∼

Vyjadřuje, že posloupnosti (an)n=1(a_n)_{n=1}^\infty a (bn)n=1(b_n)_{n=1}^\infty mají stejné asymptotické chování v nekonečnu, tedy mají stejnou množinu hromadných bodů. Což znamená, že hodnoty velkých indexů posloupnosti jsou takřka stejné a liší se pouze multiplikativními a aditivními konstantami.

Řekneme, že an ∼ bn se pro velká n chovají stejně, právě když existuje posloupnost (cn)n=1(c_n)_{n=1}^\infty a n0n_0 ∈ ℕ taková, že

limncn=1\displaystyle\lim_{n\to\infty} c_n = 1 a an=:cnbna_n =: c_n b_n, pro každé $n ≥ n_0$$.

Pokud je bn kladné, tzn. bn > 0 pak lze definici přeformulovat do praktičtějšího tvaru

Tohle je častý předpoklad, protože nebudete mít zápornou dobu běhu programu.

Rychlost růstu O()

Horní asymptotický odhad, vyjadřuje, že posloupnost an neroste rychleji než bn, až na konstantu.

Značení anO(bn)a_n ∈ O(b_n) říká, že je ana_n je asymptoticky omezená bnb_n, právě když existuje c < 0 a n0n_0 ∈ ℕ taková, že

ancbn|a_n| ≤ c|b_n| pro všechna $n ≥ n_0$$.

Alternativně platí anO(bn)(anbn)n=1a_n ∈ O(b_n) ⇔ (\frac{a_n}{b_n})_{n=1}^\infty je omezená.


Vlastnosti

Θ je silnější podmínka, než O a Ω a říká nám, že Θ je současně asymptotickou horní i dolní mezí.

f(n)Θ(g(n))limnf(n)g(n)(0,)f(n) ∈ Θ(g(n)) ⇒ \lim\limits_{n \to \infty} \frac{f(n)}{g(n)} ∈ (0, ∞)

Pozor, v tvrzení opačná implikace neplatí. Lze nalézt funkce f(n), g(n) takové, že f(n) = Θ(g(n)), ale limita jejich podílu neexistuje.

Chceme-li asymptotickou těsnou mez vyjádřit ekvivalentním tvrzením, pak lze říci jen f(n)Θ(g(x))f(n) ∈ Θ(g(x)) ⇔ podíly f(n)g(n)\frac{f(n)}{g(n)} a g(n)f(n)\frac{g(n)}{f(n)} jsou omezené


Zákony asymptotické aritmetiky

Tranzitivita

Reflexivita

Symetrie

Transpoziční symetrie