Двійковий логарифм

В математиці, двійковий логарифм (Шаблон:Math) — це степінь, до якого треба піднести число Шаблон:Math, щоб отримати значення Шаблон:Mvar. Тобто, для будь-якого дійсного числа Шаблон:Mvar, виконується еквівалентність
Наприклад, двійковий логарифм числа Шаблон:Math дорівнює Шаблон:Math, двійковий логарифм числа Шаблон:Math — Шаблон:Math, двійковий логарифм числа Шаблон:Math дорівнює Шаблон:Math, а двійковий логарифм числа Шаблон:Math — Шаблон:Math.
Означення та позначення
Бінарний логарифм — це логарифм за основою Шаблон:Math. Функція двійкового логарифма є оберненою функцією до функції степеня двійки. Окрім стандартного позначення Шаблон:Math, використовуються альтернативні позначення, такі як Шаблон:Math, Шаблон:Math, Шаблон:Math та Шаблон:Math (за попередньої домовленості, що основою є 2).
Історично перше застосування двійкових логарифмів сталося в теорії музики. Леонард Ейлер використовував їх для визначення кількості октав, на які відрізняються два музичних тони. Двійкові логарифми можна застосувати для розрахунку довжини представлення числа в двійковій системі числення, або для визначення кількість бітів, необхідних для кодування повідомлення в теорії інформації. У комп'ютерних науках двійкові логарифми використовуються для підрахунку кількості кроків, які потрібно виконати при двійковому пошуку і подібних алгоритмах. Інші галузі застосування — цекомбінаторика, біоінформатика, планування спортивних турнірів, і фотографія.
Двійкові логарифми входять до стандартних математичних функцій мови програмування C та є частиною багатьох математичних програмних пакетів.
Цілу частину двійкового логарифма можна визначити через пошук першої одиниці у двійковому поданні цілого числа або через пошук експоненти значення з рухомою комою.
Історія

Степені двійки були відомі і використовувалися ще з античних часів; наприклад вони є в Euclid's Elements, Книга IX.32 (про факторизацію степенів двійки) і IX.36 (в частині Шаблон:Iw, про структуру парних досконалих чисел). А двійковий логарифм степеня двійки позначав позицію в упорядкованій послідовності степенів двійки.
На цій основі, Михаель Штифель створив і опублікував першу відому таблицю двійкових логарифмів в 1544. Його книга Arthmetica Integra містила декілька таблиць, які впорядковували цілі числа із відповідними їхніми степенями двійки. Якщо розвернути навпаки рядки цих таблиць їх можна інтерпретувати як таблиці двійкових логарифмів.[1][2]
Раніше за Штифеля, у 8-му столітті Джайнійському математику Шаблон:Iw створив попередника двійкового логарифма. Концепція Вірасена, що називалася ardhacheda визначалася як кількість разів, при яких задане число можна поділити порівну на два. Це визначення приводить до функції, яка за змістом збігається з двійковим логарифмом за основою два,[3] але відрізняється для інших цілих, і дає Шаблон:Iw, а не логарифм.[4]
Сучасна форма двійкового логарифма, що застосовується до будь-якого числа (не лише степені двійки) була в явному вигляді розглянута Леонардом Ейлером в 1739. Ейлер започаткував використання двійкових логарифмів в теорії музики, задовго до їхнього більш значимого використання в теорії інформації і комп'ютерних науках. Як частину своєї роботи в цій сфері, Ейлер опублікував таблицю логарифмів для цілих чисел від 1 до 8, з точністю до сьомого десяткового знаку точності.[5][6]
Визначення і властивості
Функцію двійкового логарифма можна визначити як обернену функцію від функції степені двійки, що строго зростає в області додатних дійсних чисел і таким чином має одну єдину зворотню функцію.[7] Альтернативним шляхом, її можна визначити як Шаблон:Math, де Шаблон:Math є натуральним логарифмом, визначений одним із своїх стандартних способів. Використання комплексного логарифма в такому визначення дозволяє розширити застосування двійкового логарифма для комплексних чисел.[8]
Як і для інших логарифмів, двійковий логарифм задовольняє наступним рівнянням, які можуть використовуватись для спрощення формул, які поєднують двійкові логарифми із множенням або зведенням в ступінь:[9]
Застосування
Теорія інформації
Кількість розрядів (біт) в двійковому представленні додатного цілого Шаблон:Mvar дорівнюватиме цілій частині числа Шаблон:Math.[10]
В теорії інформації, визначення кількості власної інформації та інформаційна ентропія часто задаються за допомогою двійкового логарифма, тим самим представляючи біт як фундаментальну одиницю інформації. Однак, в альтернативних представленнях цих визначень також використовують натуральний логарифм і нат.[11]
Комбінаторика
Хоча натуральний логарифм є більш важливим ніж двійковий логарифм для багатьох галузей чистої математики, таких як теорія чисел і математичний аналіз,[12] двійковий логарифм має ряд застосувань в комбінаториці:
- Кожне двійкове дерево кожне Шаблон:Mvar листя має висоту принаймні в Шаблон:Math, і стає рівним цьому значенню, коли Шаблон:Mvar є степенем двійки, а саме дерево є повним двійковим деревом.[13] Відповідно, число Стрехлера річкової системи із Шаблон:Mvar притоками буде щонайбільше дорівнювати Шаблон:Math.[14]
- Кожне сімейство множин з Шаблон:Mvar різними наборами має принаймні Шаблон:Math елементів в купі, і буде рівністю коли це сімейство становить булеан.[15]
- Кожен частковий куб із Шаблон:Mvar вершинами має ізометричну розмірність щонайменше в Шаблон:Math, і має не більше ніж Шаблон:Math ребер, при чому рівність буде, якщо частковий куб є графом гіперкуба.[16]
- Відповідно до Теореми Рамсея, кожний неорієнтований граф з Шаблон:Mvar-вершин має або кліку або незалежну множину з розміром в логарифмічній залежності із Шаблон:Mvar. Точний розмір гарантовано не відомий, але найкраща відома межа цього розміру застосовує двійковий логарифм. Зокрема, всі графи мають кліку або незалежну множину розміром принаймні в Шаблон:Math і майже всі графи не мають кліки або незалежної множини більшого розміру ніж Шаблон:Math.[17]
- Із теорії математичного аналізу Шаблон:Iw для випадкового тасування кар, можна визначити число разів необхідних при тасуванні колоди з Шаблон:Mvar-карт, використовуючи метод каскадного тасування, аби отримати кількість перестановок, що будуть близкі до рівномірного розподілу, і це значення приблизно дорівнює Шаблон:Math. Цей підрахунок дав основу для рекомендації, що колода з 52-карт повинна перемішуватись сім разів.[18]
Обчислювальна складність

Двійковий логарифм також часто фігурує в аналізі алгоритмів, не тільки через часте використання двійкової арифметики в алгоритмах, а й тому, що двійкові логарифми зустрічаються при аналізі алгоритмів, заснованих на двонаправлених розгалуженнях.[19] Якщо задача початково має Шаблон:Mvar варіантів шляху вирішення, а кожна ітерація алгоритму зменшує кількість варіантів в два рази, тоді кількість ітерацій, необхідних аби завершити пошук на одному з варіантів знову таки є цілою частиною від Шаблон:Math. Цей підхід використовується при аналізі багатьох алгоритмів і структур даних. Наприклад, при двійковому пошуку, об'єм задачі, що розв'язується змешнується навпіл при кожній ітерації, і таким чином приблизно Шаблон:Math ітерацій необхідно здійснити або отримати задачу розміром Шаблон:Math, що означає, що задачу можна вирішити за скінченний передбачений час.[20] Аналогічно, ідеально збалансоване дерево двійкового пошуку, яке містить Шаблон:Mvar елементів має висоту Шаблон:Math.[21]
Час роботи алгоритму зазвичай виражають в нотації Ландау (велике О), яка використовується для спрощення виразів не указуючи постійних складових і членів нижчого порядку. Оскільки логарифми з різними основами відрізняються один від одного лише на сталу величину, про алгоритми, які виконуються за час Шаблон:Math також можна казати, що вони виконуються за Шаблон:Math часу. Основу логарифма у виразах такого вигляду як Шаблон:Math або Шаблон:Math можна не вказувати.[22][23] Однак, якщо логарифм вказується в показнику степеня при розрахунку часу, основою логарифма не можна нехтувати і треба вказувати. Наприклад, Шаблон:Math не те саме, що Шаблон:Math оскільки останнє буде дорівнювати Шаблон:Math а перший вираз — Шаблон:Math.
Алгоритми з часом виконання Шаблон:Math іноді називають Шаблон:Iw.[24] Прикладами алгоритмів із часом виконання Шаблон:Math або Шаблон:Math є:
- Швидке сортування і інші алгоритми сортування порівняннями[25]
- Пошук в збалансованому двійковому дереві пошуку[26]
- Швидке піднесення до степеня[27]
- Задача пошуку найбільшої зростаючої підпослідовності[28]
Теорія музики
В теорії музики, інтервал або різниця сприйняття між двома тонами визначається відношенням їх частот. Інтервали, що утворені за допомогою співвідношення раціональних чисел із малими чисельниками і знаменниками сприймаються особливо милозвучно. Найпростішим і найважливішим із таких інтервалів є октава, що має співвідношення частот Шаблон:Math. Кількість октав, на які відрізняються звукові тони дорівнюють двійковому логарифму від співвідношення їх частот.[29]
При вивченні музичного строю і інших аспектів музичної теорії, які потребують кращого розрізнення між тонами, ж зручним мати міру розміру інтервалу меншу за октаву із властивістю адитивності (чим є логарифми), а не мультиплікативності (яким є співвідношення частот). Таким чином, якщо тони Шаблон:Mvar, Шаблон:Mvar, і Шаблон:Mvar утворюють зростаючу послідовність тонів, то міра інтервалу від Шаблон:Mvar до Шаблон:Mvar плюс міра інтервалу від Шаблон:Mvar до Шаблон:Mvar повинні дорівнювати мірі інтервалу від Шаблон:Mvar до Шаблон:Mvar. Така міра задається за допомогою центу, який поділяє октаву на Шаблон:Math рівних інтервалів (Шаблон:Math півтонів, що містять Шаблон:Math центів кожен). Математично, якщо дані тони із частотами Шаблон:Math і Шаблон:Math, кількість центів в інтервалі від Шаблон:Math до Шаблон:Math становитиме[29]
Шаблон:Iw визначається тим самим способом, але матиме множник Шаблон:Math замість Шаблон:Math.[30]
Фотографія
У фотографії, Шаблон:Iw вимірюється як двійковий логарифм від кількості світла, яке досягає плівки або сенсору зображення, у відповідності до закону Вебера-Фехнера, який описує логарифмічний характер сприйняття світла зоровою системою людини. Один крок зміни експозиції є однією одиницею логарифмічної шкали за основою-Шаблон:Math.[31][32] Більш точно, значення експозиції фотографії визначається як
де Шаблон:Mvar це f-число діафрагми, яке вимірює апертуру лінзи під час експозиції, а Шаблон:Mvar це тривалість експозиції в секундах.[33]
Двійкові логарифми також використовуються в Шаблон:Iw, щоб оцінити динамічний діапазон світлочутливого матеріалу або цифрового сенсора.[34]
Обчислення

Перетворення із інших основ
Простим способом розрахувати значення Шаблон:Math на калькуляторі, який не має функції Шаблон:Math, це використати натуральний логарифм (Шаблон:Math), звичайний логарифм (Шаблон:Math або Шаблон:Math), які можна знайти в багатьох Шаблон:Iw. Для цього існує формула зміна основи логарифма:[32][35]
або наближено
Примітки
Посилання
- ↑ Шаблон:Citation.
- ↑ Шаблон:Citation. Копія тієї самої таблиці з двома додатковими записами згадується на с. 237, і інша копія розширена до від'ємних значень знаходиться на с. 249b.
- ↑ Шаблон:Citation.
- ↑ See, e.g., Шаблон:Citation.
- ↑ Шаблон:Citation.
- ↑ Шаблон:Citation.
- ↑ Шаблон:Citation.
- ↑ Наприклад, Microsoft Excel надає функцію
IMLOG2для комплексних двійкових логарифмів: див. Шаблон:Citation. - ↑ Шаблон:Citation.
- ↑ Шаблон:Citation.
- ↑ Шаблон:Citation.
- ↑ Шаблон:Citation.
- ↑ Шаблон:Citation.
- ↑ Шаблон:Citation.
- ↑ Equivalently, a family with Шаблон:Mvar distinct elements has at most Шаблон:Math distinct sets, with equality when it is a power set.
- ↑ Шаблон:Citation.
- ↑ Шаблон:Citation.
- ↑ Шаблон:Citation.
- ↑ Шаблон:Citation, p. 11.
- ↑ Шаблон:Citation.
- ↑ Шаблон:Citation.
- ↑ Шаблон:CLRS.
- ↑ Шаблон:Citation.
- ↑ Шаблон:Harvtxt, p. 186 Шаблон:Webarchive.
- ↑ Cormen et al., p. 156; Goodrich & Tamassia, p. 238.
- ↑ Cormen et al., p. 276; Goodrich & Tamassia, p. 159.
- ↑ Cormen et al., pp. 879–880; Goodrich & Tamassia, p. 464.
- ↑ Шаблон:Citation.
- ↑ 29,0 29,1 Шаблон:Citation.
- ↑ Шаблон:Citation.
- ↑ Шаблон:Citation.
- ↑ 32,0 32,1 Шаблон:Citation.
- ↑ Шаблон:Harvtxt, p. 235 Шаблон:Webarchive.
- ↑ Шаблон:Citation.
- ↑ Шаблон:Citation.