Bounding the compression loss of the FGK algorithm
Proceedings DCC'99 Data Compression Conference (Cat. No. PR00096)
A static Hu man code for a given source alphabet fa 1 ; : : : ; a n g is a pre x code generated by Hu man's algorithm. Such a code minimizes P n i=1 w i l i among all pre x codes, where w i is the weight of a i and l i is the numberof bits used to encode a i . For data communication purposes, the initial parsing required by the static Human algorithm represents a big disadvantage. That happens because the data must be transmitted on-line. As soon as the symbol arrives to the transmitter, it
... transmitter, it must beencoded and transmitted to the receptor. For these situations, adaptive Hu man codes have been largely used. This method determines the mapping from symbol alphabets to codewords based upon a running estimate of the alphabet symbolweights. The code is adaptive, just changing to remain optimal for the current estimates. Two methods are presented in the literature for implementing dynamic Hu man coding. The rst one is the FGK algorithm 1 and the second one is the algorithm 2 . In 2 , Vitter proved that the total numberof bits D t transmitted by the FGK algorithm for a message with t symbols is bounded below by S t , n + 1 , where S t is the numberof bits required by the static Hu man method and bounded above by 2S t + t ,4n+ 2 . Furthermore, he conjectured that D t is bounded above b y S t + Ot. We present an amortized analysis to prove this conjecture by showing that D t S t + 2t,2k , d log mink + 1 ; n e, where k is the number of distinct symbols in the message 3 . We also present an example where D t = S t + 2 t ,2k ,3bt,k=kc , d logk + 1 e, showing that the proposed bound is asymptotically tight. These results explain the good performance of FGK observed by some authors through practical experiments.