Повторний логарифм

Матеріал з testwiki
Версія від 17:22, 18 червня 2024, створена imported>Олюсь
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)
Перейти до навігації Перейти до пошуку

В інформатиці, повторний логарифм або ітерований логаритм[1] від n, записується як log*n (зазвичай читається як "лог зірка"), це необхідна кількість повторних логарифмувань перед тим як результат стає меншим або рівним 1. Найпростіше формальне визначення цієї рекурсивної функції:

log*n:={0if n1;1+log*(logn)if n>1

На додатних дійсних числах, неперервний суперлогарифм (обернена тетрація) по суті тотожний:

log*n=sloge(n)

але на від'ємних дійсних числах, log* є 0, тоді як sloge(x)=1 для додатних x, отже, дві функції різняться на від'ємних числах.

Демонстрація lg* 4 = 2

В інформатиці lg* часто використовують для позначення двійкового повторного логарифма, який повторює двійковий логарифм. Повторний логарифм переводить будь-яке додатне число в ціле. Графічно, це можна уявити як кількість зигзагів потрібних, щоб досягти проміжку [0,1] на осі x.

Математично, повторний логарифм однозначно означений не тільки для основ 2 і e, але для будь-якої основи більшої ніж e1/e1.444667.

Аналіз алгоритмів

Повторний логарифм стає в пригоді в аналізі алгоритмів і складності обчислень, з'являючись у часових і просторових границях складності таких як:

Повторний алгоритм надзвичайно повільно зростає, набагато повільніше ніж сам логарифм. Для значень n значимих для підрахунку швидкодії алгоритмів втілених на практиці (тобто, n265536, що значно більше ніж кількість атомів у відомому всесвіті), повторний логарифм з основою 2 має значення не більше 5.

x lg*x
(−∞, 1] 0
(1, 2] 1
(2, 4] 2
(4, 16] 3
(16, 65536] 4
(65536, 265536] 5

Більші основи дають менші логарифми. Насправді, єдина відома функція часто використовувана у теорії складності, що зростає повільніше це обернена функція Акермана.

Примітки

Шаблон:Reflist

Шаблон:Гіпероперації

  1. Шаблон:CLRS
  2. Olivier Devillers, "Randomization yields simple O(n log* n) algorithms for difficult ω(n) problems.". International Journal of Computational Geometry & Applications 2:01 (1992), pp. 97–111.
  3. Noga Alon and Yossi Azar, "Finding an Approximate Maximum". SIAM Journal of Computing 18:2 (1989), pp. 258–267.