Що означає тильда в нотації big-O?


14

Я читаю статтю, і вона в своєму описі складності часу говорить, що складність у часі є .O~(22n)

Я шукав в Інтернеті та Вікіпедії, але не можу знайти те, що означає цей тильд у позначенні big-O / Landau. У самому документі я також не знайшов поняття про це. Що означає ?O~()


1
"Я шукав в Інтернеті" Як?!? :-) Зазвичай на такі питання, моя перша реакція полягає в тому, що Google відповість вам відразу. Але для цього я не маю поняття, який пошуковий термін я б використовував!
Девід Річербі

Я шукав "символи ландау у тільді", але нічого переконливого не виявилося. Я думаю, Google потребує AI, який знає, як тильда виглядає візуально, і шукати це у наданих TeX фото: p
Йоханнес Шауб - ліб

Ще одна, яку ви іноді бачите, - це зірка Великого О, тобто . Його зазвичай використовують, наприклад, точні експоненціальні алгоритми часу, і позначення пригнічують фактори, поліноміально обмежені у вхідному розмірі. O
Juho

Відповіді:


19

Це варіант великого O, який "ігнорує" логарифмічні фактори:

f(n)O~(h(n))

еквівалентно:

k:f(n)O(h(n)logk(h(n)))

З Вікіпедії :

За суті, це big- нотації, ігноруючи логарифмічні чинники , оскільки наслідки зростання курсу деяких інших супер-логарифмічні функції вказують на вибух зростання швидкості для великих розмірів вхідних параметрів , що є більш важливим для прогнозування поганий продуктивності у час виконання , ніж більш точкові ефекти сприяють логарифмічний коефіцієнт росту. Ця позначення часто використовується для усунення "нитчіпкінгу" в межах темпів зростання, які вказані як занадто жорстко обмежені для розглянутих питань (оскільки завжди для будь-якої постійної та будь-якого ).Ologkno(nε)kε>0


Чи правильно я роблю висновок, що і різні? Це заплутано, оскільки вони, здається, використовуються безперервно. О(22н+о(н))О~(22н)
Йоханнес Шауб - ліб

1
@ JohannesSchaub-litb Так, є функції, які зростають більше ніж за кожен і все ж зростають менше , а значить, включаються в перший, але не другий. У будь-якому разі: суть цього позначення полягає лише в тому, щоб показати важливу частину асимптотичної складності, і загалом не вважається важливим. журналкнкно(н)
Бакуріу

2
Як наслідок, такий же, як . @ Йоханнес Шауб-літб - це те саме, що . Якщо ви дійсно мали на увазі , це включає , але також кілька функцій, що ростуть трохи швидше. Люди часто використовують його замість оскільки це не так, - менш відома позначення, і втрата точності часто не має значення. O~(22n)O(22npoly(n))O(22n+о(н))О(22н)O(22n+o(n)) O~(22n)O~(22n)O~
Еміль Єржабек

Аха, я розумію зараз, дякую. Це має багато сенсу
Йоханнес Шауб - ліб
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.