On the linear description of the Huffman trees polytope
Résumé
The Huffman tree is a well known concept in data compression discovered by David Huffman in 1952. A Huffman tree is a binary tree and represents the most efficient binary code for a given alphabet with respect to a distribution of frequency of its characters. In this paper, we associate any Huffman tree of $n$ leaves with the point in $Q^n$ having as coordinates the length of the paths from the root to every leaf from the left to right. We then study the convex hull, that we call Huffmanhedron , of those points associated with all the possible Huffman trees of $n$ leaves. First, we present some basic properties of Huffmanhedron, especially, about its dimensions and its extreme vertices. Next we give a partial linear description of Huffmanhedron which includes in particular a complete characterization of the facet defining inequalities with nonnegative coefficients that are tight at a vertex corresponding to some maximum height Huffman tree (i.e. a Huffman tree of depth $n−1$). The latter contains a family of facet defining inequalities in which coefficients follow in some way the law of the Fibonacci sequence. This result shows that the number of facets of Huffmanhedron is at least a factorial of $n$ and consequently shows that the facial structure of Huffmanhedron is rather complex. This is quite in contrast with the fact that using the algorithm of Huffman described in [7], one can minimize any linear objective function over the Huffmanhedron in $O(n\log n)$ time. We also give two procedures for lifting and facet composition allowing us to derive facet-defining inequalities from the ones in lower dimensions.