inny sposób patrzenia na to jest z algorytmicznego punktu widzenia. Wyobraź sobie, że idziesz do odgadnięcia numer , że jedyną informacją jest to, że masz ten numer jest w przedziale . W tej sytuacji optymalnym algorytmem do zgadywania liczby jest prosty algorytm wyszukiwania binarnego , który znajduje w kolejności . Ta formuła intuicyjnie określa, ile pytań musisz zadać, aby dowiedzieć się, co to jest . Na przykład, jeśli , musisz zadać maksymalnie 3 pytania, aby znaleźć nieznane .1 ≤ x ≤ N x O ( log 2 N ) x N = 8 xx1≤x≤NxO(log2N)xN=8x
Z punktu widzenia prawdopodobieństwa, kiedy deklarowania jako równie mogą być dowolne wartości w zakresie , to znaczy o . Claude Shannon ładnie pokazał, że zawartość informacyjna wyniku jest zdefiniowana jako:1 ≤ x ≤ N p ( x ) = 1 / N 1 ≤ x ≤ N xx1≤x≤Np(x)=1/N1≤x≤Nx
h(x)=log21p(x)
Powodem dla podstawy 2 w logarytmie jest to, że tutaj mierzymy informacje w bitach . Możesz także założyć logarytm naturalny, który sprawia, że informacje są mierzone w nats . Na przykład zawartość informacyjna outcom wynosi . Ta wartość jest dokładnie równa liczbie kroków w algorytmie wyszukiwania binarnego (lub liczbie instrukcji IF w algorytmie). Dlatego liczba pytań, które musisz znaleźć jest równa , jest dokładnie informacyjną zawartością wyniku .x=4h(4)=3x4x=4
Możemy również przeanalizować wydajność algorytmu wyszukiwania binarnego dla każdego możliwego wyniku. Jednym ze sposobów jest sprawdzenie, jaka jest oczekiwana liczba pytań, które należy zadać dla dowolnej wartości . Zauważ, że liczba wymaganych pytań do odgadnięcia wartości , jak omówiłem powyżej, to . Dlatego oczekiwana liczba pytań dla dowolnego jest z definicji równa:xxh(x)x
⟨h(x)⟩=∑1≤x≤Np(x)h(x)
Oczekiwana liczba pytań jest dokładnie taka sama jak entropia zbioru , lub w skrócie entropia. Dlatego można stwierdzić, że entropii ilościowo oczekiwano (lub średnia) liczbę pytań jedno trzeba prosić, aby odgadnąć wynik, który jest złożoność obliczeniowa wyszukiwanie binarne.⟨h(x)⟩H(X)H(X)