1.4.2. Средняя длина кодаНа рис. 1.13а представлено множество из пяти символов с их вероятностями, а также типичное дерево Хаффмана. Символ А возникает в 55% случаев и ему присваивается однобитовый код, что вносит вклад в Удивительно, но тот же результат получится, если сложить значения вероятностей четырех внутренних узлов кодового дерева:
Табл. 1.11. Состав узлов. (В таблице внутренние узлы выделены.) В левом столбце выписаны величины всех внутренних узлов. В правых столбцах показано, как величины складываются из величин предыдущих узлов и из величин листьев. Если сложить числа в левом столбце, то получится 1.7, а складывая числа в остальных столбцах, убеждаемся, что это число 1.7 есть сумма четырех 0.02, четырех 0.03, трех 0.15, двух 0.25 и одного 0.55. Это рассуждение годится и в общем случае. Легко видеть, что в дереве типа Хаффмана (т.е., дереве, в котором каждый узел есть сумма своих потомков) взвешенная сумма листьев, где вес листа - это его расстояние до корня, равна сумме всех внутренних узлов. (Это свойство было мне сообщено Джоном Мотилом.)
Табл. 1.12. Состав узлов. На рис. 1.13b показано такое дерево, где предполагается, что два листа 0.02 и 0.03 имеют коды Хаффмана длины Отметим, что в доказательстве нигде не предполагалось, что дерево - двоичное. Поэтому это свойство выполнено для любого дерева, в котором узлы являются суммой своих потомков.
|