V matematice , přesněji v analýze , je asymptotické srovnání metoda spočívající ve studiu rychlosti růstu funkce v blízkosti bodu nebo v nekonečnu jejím porovnáním s rychlostí jiné funkce považované za více „jednoduchou“. Toto se často volí na referenční stupnici , která obecně obsahuje alespoň určité takzvané elementární funkce , zejména součty a produkty polynomů , exponenciálů a logaritmů . Odpovídající notace se používají zejména ve fyzice a ve výpočetní technice , například k popisu složitosti určitých algoritmů . Používají se také v teorii analytických čísel k jemnému vyhodnocení chyby provedené nahrazením nepravidelné funkce, jako je počítání prvočísel , funkcí zvolené stupnice.
Metodu představila práce Paula du Bois-Reymonda z roku 1872; pro usnadnění výpočtů a prezentace výsledků byly vyvinuty různé notace , zejména Bachmann (1894), Landau (1909), Hardy (1910), Hardy a Littlewood (1914 a 1916) a Vinogradov ( c. 1930).
Nechť f a g jsou skutečné funkce definované vzorci
Studiem těchto dvou funkcí víme, že g nabývá hodnot tak velkých, jak chceme v sousedství nekonečna, zatímco f může nabývat pouze hodnot mezi 1 a 3. Kvocient g dělený sousedstvím f au nekonečna stále roste a není omezen. V tomto kontextu, lze říci, že f je zanedbatelné v přední části g , nebo že g je převažující v přední části f , v sousedství nekonečna, můžeme napsat (Landau notace):
nebo (Hardyho zápis, zastaralý)
Hardyova notace umožňuje zřetězit vztahy převahy, například:
Formální definice, když funkce g nezmizíAbychom tuto vlastnost formálně definovali, vezmeme v úvahu chování kvocientu .
Je
Nechť f a g jsou dvě funkce reálné proměnné x . Předpokládáme, že g nezmizí nad sousedstvím a . Řekneme, že f je zanedbatelný v přední části g , nebo že g je převažující v přední části f v , a bereme na vědomí , když
Pokud je kontext jasný, jeden neurčí studijní obor a jeden poznámky :, sudý . Nicméně, zápis je vždy spojeno se místo A a okolí tohoto místa: zanedbatelný je lokální koncept .
V této Landauově notaci (někdy také ) symbol čte malé o . Hardyho ekvivalentní notace je . Dnes používáme výhradně notaci Landau.
VlastnostiZneužíváním jazyka se provádí „operace“ s „malým o“ , tj. S těmi zanedbatelnými. Můžeme skutečně říci, že:
Buď .
Nechť f a g jsou dvě funkce reálné proměnné x . Předpokládáme, že g nezmizí nad sousedstvím a . Říkáme, že f je ekvivalentní g v a , nebo že g je ekvivalentní f v a , a označujeme
, kdy .Příklad
Landauova velká O notace označuje dominovaný charakter jedné funkce nad druhou.
Obvykle se jako Paul Bachmann , který představil tento symbol v roce 1894, jsme se použít kapitál dopis O (z německého Ordnung , „objednávku“). Bylo to mnohem později (1976), analogicky s velkým omega symbolem Ω (viz níže), že Donald Knuth navrhl přejmenovat symbol O na název velkého omikronového písmene, přičemž toto zřídka bylo nakresleno takovým způsobem. odlišné od O. V obou případech je použitý symbol odlišný od symbolu 0 (nula)
Formální definiceNechť f a g jsou dvě funkce reálné proměnné x . Říkáme, že f dominuje g v + ∞ , nebo že g dominuje f v + ∞ , a označujeme (Bachmann, 1894, nebo Landau, 1909 notace)
nebo (Hardyho notace, 1910, zastaralé)
nebo znovu (Vinogradovova notace, 30. léta)
když existují konstanty N a C takové, že
Intuitivně to znamená, že f neroste rychleji než g .
Stejně tak, pokud a je reálné číslo, píšeme
pokud existují konstanty d > 0 a C takové, že
PříkladyV roce 1914 představili Hardy a Littlewood nový symbol Ω definovaný takto:
.Funkce f a g jsou považovány za definované a g pozitivní v sousedství nekonečna. Taková je i negace .
V roce 1916 představili stejní autoři dva nové symboly Ω R a Ω L , definované takto:
; .Stejně jako dříve se předpokládá, že funkce f a g jsou definovány a g pozitivní v sousedství nekonečna. Takže je negace a negace .
Na rozdíl od toho, co později tvrdil DE Knuth , použil Edmund Landau v roce 1924 také tyto tři symboly.
Tyto Hardyho a Littlewoodovy notace jsou prototypy, které se po Landauovi zdají být nikdy použity jako takové: Ω R se stalo Ω + a Ω L se stalo Ω - .
Tyto tři symboly jsou nyní běžně používají v analytické teorie čísel , stejně jako znamenat, že podmínky a jsou oba spokojeni.
Je zřejmé, že v každém z těchto definic, můžeme nahradit ∞ od -∞ nebo reálné číslo.
My máme
a přesněji
My máme
a přesněji
nicméně,
Je důležité zdůraznit skutečnost, že psaní
má dvě nekompatibilní definice v matematice, obě velmi rozšířené, jednu v teorii analytických čísel , kterou jsme právě představili, druhou v teorii složitosti algoritmů . Když se tyto dvě disciplíny setkají, je pravděpodobné, že tato situace způsobí velký zmatek.
V roce 1976 publikoval Knuth článek, jehož hlavním účelem bylo ospravedlnit jeho použití stejného symbolu Ω k popisu jiné vlastnosti, než kterou popsali Hardy a Littlewood. Snaží se přesvědčit čtenáře, že definice Hardyho a Littlewooda se téměř nepoužívá (což se i v roce 1976 stejně mýlí už 25 let). Jde tak daleko, že tvrdí, že Landau to nikdy nepoužil (což je také nepravdivé). Naléhavě cítí potřebu jiného pojmu ( „ Pro všechny aplikace, které jsem dosud viděl v informatice, je mnohem vhodnější silnější požadavek […] “ ) a rozhodl se, že k popisu musí být vyhrazeno použití symbolu Ω to. Je silně rozrušený starou definicí ( „ Bohužel Hardy a Littlewood nedefinovali Ω ( f ( n )), jak jsem chtěl “ ).
Riskuje tedy riziko vzniku zmatku a definuje
.V matematice je často důležité sledovat chybný termín aproximace. Tato notace se používá zejména při řešení omezeného vývoje a výpočtech ekvivalentů. Například expanzi exponenciální funkce do řádu 2 lze také zapsat:
vyjádřit skutečnost, že chyba, rozdíl , je zanedbatelná dříve, když má tendenci k 0.
Je třeba poznamenat, že počet operandů v tomto typu zápisu musí být omezen konstantou, která nezávisí na proměnné: například tvrzení je zjevně nepravdivé, pokud elipsa skrývá řadu výrazů, které tomu tak není, není omezena, když x se liší.
Zde je seznam kategorií funkcí běžně používaných při analýze. Proměnná (zde uvedená n ) má sklon k + ∞ a c je libovolná reálná konstanta. Když je c konstanta větší než 1, objeví se funkce v tomto seznamu ve vzestupném pořadí.
hodnocení | maximální velikost | |
O (1) | modul se zvýšil o konstantu | |
O (log ( n )) | logaritmický | |
O ((log ( n )) c ) | ( polylogaritmický, pokud c je kladné celé číslo) | |
O ( n ) | lineární | |
O ( n log ( n )) | někdy nazývané „ lineární “ | |
O ( n log c (n) ) | někdy nazývané „ kvazilineární “ | |
O ( n 2 ) | kvadratický | |
Y ( n c ) | ( polynom, je- li c kladné celé číslo) | |
O ( c n ) | ( exponenciální, pokud je c kladné, někdy „ geometrické “) | |
O ( n! ) | faktoriál |
O ( n c ) a O ( c n ) se velmi liší. Ten umožňuje mnohem rychlejší růst, a to pro každou konstantu c > 1. Funkce, která roste rychleji než jakýkoli polynom, se říká superpolynomiální . Funkce, která roste pomaleji než jakákoli exponenciální, je považována za subexponenciální . Existují jak superpolynomiální, tak subexponenciální funkce, jako je například funkce n log ( n ) .
Všimněte si také, že O (log n ) je přesně stejné jako O (log ( n c )), protože tyto dva logaritmy jsou navzájem násobné konstantním faktorem a že notace s velkým O „ignoruje“ multiplikativní konstanty . Podobně logaritmy v různých konstantních základnách jsou ekvivalentní.
Předchozí seznam je užitečný z důvodu následující vlastnosti: je-li funkce f součet funkcí a pokud jedna z funkcí součtu roste rychleji než ostatní, určuje pořadí růstu f ( n ).
Příklad:
pokud f ( n ) = 10 log ( n ) + 5 (log ( n )) 3 + 7 n + 3 n 2 + 6 n 3 ,Tuto notaci lze také použít s funkcemi několika proměnných:
Psaní: | když |
odpovídá tvrzení: |
Pro některé tato notace zneužívá symbol rovnosti, protože se zdá, že porušuje axiom rovnosti : „věci stejné se rovnají sobě navzájem“ (jinými slovy, s touto notací je rovnost n 'spíše rovnocenností. vztah ). Můžeme to však vzít v úvahu i písemně
notace "= O" označuje jediný operátor, při jehož psaní znak "=" nemá svou vlastní nezávislou existenci (a zejména neoznačuje vztah ekvivalence). V tomto případě již nedochází ke zneužití hodnocení, ale zjevně stále existuje riziko záměny. Je také možné definovat O ( g ( x )) jako sadu funkcí, jejichž prvky jsou všechny funkce, které nerostou rychleji než g , a použít množinové notace k označení, zda je daná funkce prvkem množiny, tedy definované. Například :
Obě smlouvy jsou běžně používané, ale první (a nejstarší) je až do začátku XXI th nejčastěji vyskytují století. Abychom se tomuto problému vyhnuli, používáme (stejně běžně) vinogradovskou notaci (viz níže).
Dalším problémem je, že je nutné jasně označit proměnnou, proti které se zkoumá asymptotické chování. Tvrzení, jako například, nemá stejný význam v závislosti na tom, zda za ním následuje „kdy “ nebo například „(pro jakékoli pevné) kdy “.
Hodnocení | Příjmení | Neformální popis | Když z určité pozice ... | Přísná definice |
---|---|---|---|---|
nebo
|
Grand O (Grand Omicron) |
Funkce | f | je ohraničen funkcí | g | asymptoticky, až |
pro k > 0 | |
nebo
|
Velká Omega |
Dvě definice:
V teorii čísel: |
V teorii čísel: pro k > 0 |
V teorii čísel:
|
V teorii algoritmů:
f je podhodnoceno g (až na faktor) |
V teorii algoritmů:
pro k > 0 |
V teorii algoritmů:
|
||
řádu; Skvělá théta |
f dominuje a jeasymptoticky vystaven g |
pro k 1 > 0 a k 2 > 0 |
|
|
nebo
|
Malé o | f je před g asymptoticky zanedbatelné | , cokoli > 0 (pevné). | |
Malá Omega | f dominuje g asymptoticky | pro všechna k > 0 | ||
ekvivalentní | f je přibližně rovno g asymptoticky | , cokoli > 0 (pevné). |
Po grand-O jsou notace Θ a Ω nejpoužívanější v počítačové vědě; malé-o je běžné v matematice, ale vzácnější v počítačové vědě. Ω je málo používaný.
Další notace, která se někdy používá v informatice, je Õ ( soft-O v angličtině), což znamená velký-o až po polylogaritmický faktor.
V teorii čísel má zápis f ( x ) g ( x ) stejný význam jako f ( x ) = Θ ( g ( x )) (který se nepoužívá).
Tyto zápisy Landau pojmenované po německém matematikovi specializující se teorie čísel Edmund Landau , který používal symbol O , původně zavedený Paul Bachmann , a byl inspirován vynalézt symbol O . Symbol Ω použil pouze v jednom článku v roce 1924, aby označil ≠ o ; tato notace byla zavedena (se stejným významem) v roce 1914 GH Hardy a JE Littlewood; Od té doby se Ω běžně používá v teorii čísel, ale výhradně ve stejném smyslu a nikdy v prvním smyslu uvedeném v tabulce výše. Ve stejném článku Landau používá symboly Ω R a Ω L , a to i vzhledem k Hardy a Littlewood, (a od označené W + a W - ) k označení , v tomto pořadí . Samozřejmě také používá notaci ∼, ale nikdy ω nebo Θ.
Tyto zápisy Hardy et zavedená GH Hardy v jeho traktu 1910 objednávek nekonečna hrát stejnou roli jako ti Landau pro asymptoticky srovnání funkcí.
V Landauově notaci je můžeme definovat takto:
a
Hodnocení Hardyho jsou zastaralá. Hardy rychle opustil své vlastní hodnocení; používá Landauovy notace ve všech svých článcích (téměř 400!) a ve svých knihách s výjimkou traktátu z roku 1910 a ve 3 článcích (1910-1913). Můžeme si povšimnout, že pokud Hardy představil ve svém úryvku z roku 1910 některé další symboly pro asymptotické srovnání funkcí, nikdy nedefinoval ani nepoužíval notaci (nebo ), které dlužíme Vinogradovovi.
Ruský teoretik čísel Ivan Matveyevich Vinogradov představil ve 30. letech notaci, která nese jeho jméno,
.Vinogradovova notace se běžně používá v teorii čísel namísto O ; někdy dokonce dva zápisy jsou zaměnitelně použity ve stejném článku.
V roce 1982 zavedl Carl Pomerance nový zápis, který má zkrátit komplexní funkce spojené s asymptotickým studiem složitosti algoritmů . Například funkce f patří do třídy, pokud máme ; exponenciální „odděluje“ funkce dostatečně, takže není možné tento zápis například zredukovat na formu .
Hodnocení Landau zejména vede k velmi častému zneužívání hodnocení, jako je psaní nebo horší ; Tento druhý zápis je třeba číst za použití nastaveného jazyka: voláním sadu funkcí zanedbatelné vzhledem k a sady rozdílů dvou funkcí , to znamená, že . Obecněji se toto zneužití notace považuje za považování notace (nebo atd.) Za představující třídu funkcí a za význam, který do této třídy patří.
(en) Big-O Cheat Sheet , web obsahující klasifikaci algoritmických složitostí podle domény.
<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">