Fano slice code redundancy bound

ID: fano-slice-code-redundancy-bound

Recursively split an ordered list of positive source probabilities into contiguous blocks, choosing each cut to minimize the difference between the total masses of the two children. The resulting binary prefix code has expected codeword length less than , where is its source Shannon entropy. If the probabilities were in nonincreasing order, its expected length is less than .
To prove this, an interior node of mass with child masses contributes to the expected path length and to the Shannon entropy, by the chain rule for information entropy. The inequality bounds that node's redundancy by . If the cut is between probabilities , shifting the cut by one position cannot improve the imbalance. On the heavier side this gives or , respectively; a singleton heavier side gives the same inequality directly. Thus .
Every original inter-symbol gap is used once in the recursive tree. Summing over gaps bounds total redundancy by . In sorted order it is instead at most . These are expected-length guarantees, not an assertion that the resulting code is always optimal.

New to topics? Read the docs here!