Комбинаторная энтропия

advertisement
1.1 Перестановки мультимножества
Перестановка мультимножества – это расположение его элементов в ряд. Главное, что нас интересует – это
количество таких перестановок. Если дано мультимножество, и известна кратность n1 , , nk его элементов, то
различных перестановок будет в точности
n!
.
n1 !n2 ! nk !
Это число называется мультиномиальным коэффициентом и обозначается как
n



.
 n1 , n2 , , nk 
Приведем два полезных разложения этого числа в сумму и произведение. Представление в виде суммы
мультиномиальных коэффициентов:
n
n 1
n 1
n 1

 
 






 
.
 n1 , n2 , , nk   n1  1, n2 , , nk   n1 , n2  1, , nk 
 n1 , n2 , , nk  1
Представление в виде произведения биномиальных коэффициентов:
n

  n  n  n1   n  n1  n2 

   


n
,
n
,
,
n
n3
k 
 n1  n2  
 1 2

 nk 1  nk 


 nk 1 
Справедливость обоих утверждений проверяется непосредственно. Они оба имеют наглядный комбинаторный
смысл, о котором будет рассказано позднее.
Скажем несколько слов о происхождении мультиномиальных коэффициентов. Биномиальные коэффициенты
возникают при возведении суммы  x  y  в степень n :
 x  y
n
n
n
   x k y n  k .
k 0  k 
Аналогично, мультиномиальные коэффициенты возникают при возведении суммы  x1  x2 
 xm  в степень
n:
 x1  x2 
 xm  
n

k1 , k2 ,
n

 k1 k2

x x
, km  1 2
, km  k1 , k2 ,
xm km .
1.2 Комбинаторная энтропия.
Определим комбинаторную энтропию для чисел n1 , n2 ,
H comb 
, nk как
1
n!
log 2
, где n  n1  n2 
n
n1 !n2 ! nk !
 nk .
Выясним, какой смысл вкалывается в эту формулу. В ней используется мультиномиальный коэффициент,
который есть не что иное как количество перестановок мультимножества или количество строк с заданной
n!
 1 . После
статистикой. Все строки с заданной статистикой можно перенумеровать числами от 0 до
n1 !n2 ! nk !
этого по числу можно однозначно восстановить строку, а по строке восстановить ее номер. Для передачи
n!
номера такой строки в двоичном представлении требуется не более log 2
бит. Все строки одинаковой
n1 !n2 ! nk !
длины, поэтому удобно посчитать среднее число бит, которое приходится на один символ строки – поделить
количество бит на n . Это и есть комбинаторная энтропия.
1.3 Свойства комбинаторной энтропии
Симметричность.
От перестановки элементов комбинаторная энтропия не меняется.
Максимум.
Значение комбинаторной энтропии максимально, при одинаковых ni . Чем сильнее ni отличаются друг от друга
(более неравномерное распределение), тем меньше значение комбинаторной энтропии.
Аддитивность.
TODO:
1.4 Энтропия Шеннона
Вычисление значения комбинаторной энтропии (точнее, мультиномиальных коэффициентов) при больших ni
является трудоемким процессом. Однако с помощью формулы Стирлинга для факториала можно построить
приближение, которое легко вычислимо:
H comb 


 1
1
n!
n!
log 2 
  log 2 
n
n
!
n
!
n
!
n
p
n
!
p
n



k 
2 !
 1 2
 1
   p1 log 2 p1  p2 log 2 p2 


 pk n ! 
.
k
 pk log 2 pk    pi log 2 pi
i 1
Имеет место предел:
k
lim H comb   pi log 2 pi , где pi  lim
n 
n 
i 1
ni
.
n
Такое приближение комбинаторной называется энтропией Шеннона:
k
H   pi log 2 pi .
i 1
Предел справедлив ввиду формулы Стирлинга для представления факториала:
n
n
n
 1 
n
 1 
2 n   exp 
  n !  2 n   exp 

e
12n  1
e
12n 
Отсюда в частности следует, что
n!
lim
1
n
n 
n
2 n  
e
n!
 p1 N ! p2 N !  pk N !
2
H  p 1 , , pk  N
1 n 
  2 N 
2
 p1
pk 
1 2
1  O 1 N 
Предел на самом деле является пределом снизу, поэтому всегда выполняется:
H comb  H .
Обычно в литературе сразу приводится формула энтропии Шеннона без каких-либо пояснений. Понимание
того, что энтропия Шеннона является пределом комбинаторной энтропии помогает лучше понять ее суть.
Свойства энтропии Шеннона
Непрерывность. Функция H  p1 , p2 ,
Симметричность.
, pk  непрерывна по каждому аргументу.
H  p1 , p2 ,

, pk   H p1 , p 2 ,

, p k  , где  – любая перестановка k элементов.
Максимум достигается, когда p1  p2 
 pk 
1
, таким образом:
k
H  p1 , p2 ,
1
, pk   H  ,
k
1
, 
k
Аддитивность.
TODO:
Пример.
Комбинаторная энтропия и энтропия по Шеннону.
N
.
2
В этом случае H  1 , потому что распределение равномерное. Рассмотрим комбинаторную энтропию. Всего
Допустим, имеется битовая строка s длины N (четное), в которой число нулей и единиц одинаково и равно
 N 
строк длины N с одинаковым числом нулей и единиц существует 
 , следовательно, на одну строку
 N 2
 N 
необходимо тратить log 2 
 бит, а в среднем
 N 2
H comb 
 N 
1
log 2 
.
N
 N / 2
Рассмотрим частный случай при N  6 , тогда
Получаем, что H comb
log 2 20
 6  1
1
6!
H comb  log 2 

 0.72 .
  log 2
6
/
2
6
6
3!

3!
6


 0.72 меньше, чем H  1 . Для кодирования строки s из 6 символов требуется либо 4.32
бита, либо 6 бит при условии, что при декодировании заранее известно, что число нулей равно числу единиц.
Рассмотрим другой случай N  10000 , тогда
 10000 
1
1
10000!
H comb 
log 2 
log 2
 0.9993 .

10000
5000! 5000!
10000 / 2  10000
При больших N комбинаторная энтропия близка к энтропии Шеннона, поэтому выигрыша практически нет.
Download