Бинарни логаритам
У математици, бинарни логаритам (log2 n) је логаритам са основом 2. То је инверзна функција функцији n ↦ 2n.. Бинарни логаритам n је степен на који број 2 мора бити подигнут да би достигао вредност n. Ово чини бинарни логаритам корисним за све што укључује степене двојке, односно дуплирања. На пример, бинарни логаритам од 1 је 0, бинарни логаритам од 2 је 1, бинарни логаритам од 4 је 2, бинарни логаритам од 8 је 3, бинарни логаритам од16 је 4 и бинарни логаритам од 32 је 5.
ПрименаИнформатикаБинарни логаритам се често користи у информатици, јер је уско повезан са бинарним системом бројева. Често се написано ld n, од латинског logarithmus duālis, или lg n, иако је ИСО системом предвиђено lb (n), lg (n) се користи за log10 n. Број цифара, бита, у бинарном запису представља позитиван цео број од n од 1 + lb n, . У информатичкој теорији, дефинисање износа Само-информација и информациона ентропија укључује бинарни логаритам; ово је потребно јер јединица информације, бит, се односи на информације настале од појаве једног од два једнако вероватних догађаја. Рачунарска комплексностБинарни логаритам се такође често појављује у анализи алгоритама. Ако се број n већи од 1 подели два пута уѕастопно са 2 , број итерација потребних да би достигао вредност највише до 1 је поново интегралан део lb n . Ова идеја се користи у анализи неколико алгоритма а и у структури података. На пример, величина проблема које треба решити је преполовљена са сваком итерацијом, и стога је потребно отприлике lb n итерација за добијање проблема величине 1 , који се лако решавају. Слично томе, савршено избалансиран n који садржи елементе је величина lb n + 1 . Међутим, време рада алгоритма се обично изражава у Биг О нотацији, игноришући сталне факторе. Пошто log2 n = (1/logk 2)logk n, где к може бити било који број већи од 1, алгоритама који раде у O(log2 n) време може се такође рећи да ради, рецимо , O(log13 n) времена. База логаритма у изразима као што су O(log n) или O(n log n) због тога није важна . У другим контекстима база логаритма мора бити наведена. На пример O(2lb n) није исто што и O(2ln n) јер је први једнак O(n) а други O(n0.6931...). Алгоритми са текућим временом n lb n се понекад назива линеарним. Неки примери алгоритама са текућим временом O(lb n) или O(n lb n) су:
Сингл елиминациони турнириУ такмичарским играма и спортовима који укључују два играча / тима у свакој игри / мечу, бинарни логаритам означава број рунди неопходних у циљу утврђивања победника. На пример, турнир од 4 играча захтева lb ( 4 ) или 2 кола за одређивање победника, турнир од 32 тима захтева lb ( 32) метака, што је 5 метака, итд. У овом случају, за n играча/ тимова где n није степен двојке , lb ( n) се заокружује, јер ће бити неопходно да имају најмање један круг у коме сви преостали такмичари играју. На пример , lb ( 6 ) је око 2.585 , заокружен, указује да турнир од 6 захтева 3 рунде ( или ће 2 тима ће одседети прву рунду, или један тим ће седети током другог круга ) . Коришћење калкулатораЈедноставан начин за израчунавање log2(n) на калкулатору а да немају функцију log2 је да користите природни логаритам " ln " или заједнички логаритам " log " функције, које се налазе на већини „озбиљнијих калкулатора ". Класичне формуле за промену логаритамске основе су:
па log2(n) = loge(n)×1.442695... = log10(n)×3.321928... и то поставља питање да ли је log2(n)у оквиру 0,6% loge(n) + log10(n). loge(n)+log10(n) је заправо log2.0081359...(n) где је основа e1/(1+log10e) = 101/(1 + loge10) ≈ 2.00813 59293 46243 95422 87563 25191 0 to (32 значајне цифре). Наравно, log1010 = logee = 1.
АлгоритамЦео бројЗа цео домен и опсег, бинарни логаритам се може израчунати заокруживањем горе или доле. Ова два облика интеџер бинарног логаритма се односе према овој формули Дефиниција се може продужити дефинисањем . Ова функција се односи и на број главних нула неодрађеног 32-битног бинарног приказа x, nlz(x). Овај бинарни логаритам се може тумачити као индекс 0 најзначајнијег бита 1 у улазу. У том смислу је комплемент проналазак први сет операције, која проналази индекс најмање значајног бита 1.
Реалан бројЗа општи позитиван реалан број, бинарни логаритам се може израчунати у два корака :
За било које x > 0, постоји јединствен цео број n , такав да 2n ≤ x < 2n+1, односно 1 ≤ 2−nx < 2. Сада је интеџер део логарима само n, а раѕломачки део lb(2−nx). Другим речима: Разломачки део резултата је , а може се израчунати користећи најосновније множење и дељење. Да бисте израчунали разломачки део :
Резултат тога је изражен следећим формулама, у којима број квадрирања потербан за i-ту рекурзију логаритма У посебном случају када је разломачки део у кораку један нула, ово је ограничена секвенца која се завршава у једном тренутку. У супротном, то је бесконачно серија која конвергира, јер је сваки део строго мањи од претходног (јер сваки ). У пракси, ова серија се мора скратити до приблињног резултата. Ако је серија смањена пре 'i-тог дела, онда је грешка у резултату мања од . Срећом, у пракси можемо да урадимо обрачуне и знамо грешке без икаквог рачунања. Претпоставимо да желимо израчунати log of 1.65 са четири бинарне цифре. Поновите ове кораке четири пута :
Бројеви које смо написали је заправо логаритам написан у бинарном запису. Ово можемо примењивати све док радимо са било којим бројевима између 1 и 2. Дакле
Написали смо до сада 1011, па бинарни логаритам 1.65 написан у бинарном облику је 0.1011 (или, написан као разломак, 11/16), а грешка је мања од 1/16. Додавањем 1/32, добијамо 23/32 где је грешка мања од 1/32. У принципу, да бисмо добили грешке мање од 0,5 подигнуте на 1+N, потребно нам је N квадрирања или N или мање дељења са два. Види јошРеференце
Литература
|