On the linear description of the Huffman trees polytope

On the linear description of the Huffman trees polytope

Discrete Applied Mathematics 164 (2014) 225–236 Contents lists available at ScienceDirect Discrete Applied Mathematics journal homepage: www.elsevie...

391KB Sizes 1 Downloads 57 Views

Discrete Applied Mathematics 164 (2014) 225–236

Contents lists available at ScienceDirect

Discrete Applied Mathematics journal homepage: www.elsevier.com/locate/dam

On the linear description of the Huffman trees polytope✩ Jean-Francois Maurras a , Thanh Hai Nguyen b,∗ , Viet Hung Nguyen c a

Laboratoire d’Informatique Fondamentale de Marseille, Université dAix Marseille, Faculté des Sciences de Luminy, 163, Avenue de Luminy, 13288 Marseille Cedex 8, France b CEA LIST, Laboratoire des fondements des Systèmes Temps Réels Embarqués, Centre de Saclay, Nano-Innov, 91191 Gif-Sur-Yvette Cedex, France c

Laboratoire d’Informatique de Paris 6, Université de Paris 6, 4 place Jussieu 75005 Paris, France

article

info

Article history: Received 20 July 2010 Received in revised form 8 May 2012 Accepted 17 May 2012 Available online 8 June 2012 Keywords: Polyhedral combinatorics Combinatorial optimization Combinatorial inequalities Binary trees Polytopes Hyperplane Huffman coding Huffman tree Fibonacci

abstract The Huffman tree is a well known concept in data compression discovered by David Huffman in 1952 [7]. 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 Qn 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. © 2012 Elsevier B.V. All rights reserved.

1. Introduction In 1952, David Huffman discovered the concept of the Huffman tree which offers the most efficient binary code for the characters of an alphabet Λ = {c1 , c2 , c3 , . . . , cn } in the context of a language using Λ as its alphabet. The Huffman tree is a binary tree of n leaves labeled by the characters in Λ. It can be built in O(n log n) time by a greedy algorithm also given by Huffman based on the frequency  of the characters in the language in question. The Huffman tree is optimal in the sense that n it minimizes the linear function i=1 fi li , where fi denotes the frequency of ci and li is the length (in terms of the number of edges) of the path from the root to the leaf with label ci . To every Huffman tree of n leaves, we associate any Huffman tree with n leaves with the point x = (x1 , x2 , . . . , xn )T ∈ Qn where xi = li . Such a point is called a Huffman point. In this paper, we propose to study the convex hull, denoted by HPn , of the Huffman points in Qn . For our convenience, we call this polyhedron Huffmanhedron. When n = 1 and 2, there is only one possible Huffman tree, thus the Huffmanhedron is a unique

✩ This research was partly supported by the ANR grant BLAN06-1-138894 (project OPTICOMB).



Corresponding author. Tel.: +33 684850376; fax: +33 169082082. E-mail addresses: [email protected] (J.-F. Maurras), [email protected] (T.H. Nguyen), [email protected] (V.H. Nguyen).

0166-218X/$ – see front matter © 2012 Elsevier B.V. All rights reserved. doi:10.1016/j.dam.2012.05.004

226

J.-F. Maurras et al. / Discrete Applied Mathematics 164 (2014) 225–236

Fig. 1. All the possible Huffman trees for Λ = {a, b, c , d}.

Huffman point that is (0) for n = 1 and (1, 1) for n = 2. When n = 3, there are three Huffman points which are (1, 2, 2), (2, 1, 2), (2, 2, 1), the Huffmanhedron is thus a triangle in Q3 . In this dimension, the Huffmanhedron clearly has an empty interior. Therefore, we will focus to study the Huffmanhedron from the 4-dimensional space. In the following, we give an example of all the possible Huffman points in dimension 4. Let us consider an alphabet of 4 letters Λ = {a, b, c , d}. With all possible frequencies for each character, we can generate 13 Huffman trees as shown in Fig. 1. The first 12 trees which correspond to the permutations of 4 characters a, b, c, d, give us the following 12 Huffman points in Q4 : (3, 3, 2, 1), (3, 3, 1, 2), (3, 2, 3, 1), (3, 2, 1, 3), (3, 1, 3, 2), (3, 1, 2, 3), (2, 3, 3, 1), (2, 3, 1, 3), (2, 1, 3, 3), (1, 3, 3, 2), (1, 3, 2, 3), (1, 2, 3, 3), respectively. The point (2, 2, 2, 2) associated to the 13th tree stable under permutations of n=remains 4 n(n+1) its leaves. Note that the first 12 Huffman points lie on the hyperplane defined by i=1 xi = 9 = 2 − 1 (where n = 4). The Huffmanhedron was introduced by Maurras and Edmonds in one of their discussions in 1974. They were motivated by the fact that optimizing a linear function over HPn is easy by the Huffman algorithm. The simplicity of this algorithm could suggest that HPn has a ‘‘nice’’ facial structure and it is hopeful to find a complete linear description of HPn . They would like for a start to investigate HPn at least for small dimensions. But the project was abandoned because the structure of HPn seemed to be quite complex even when n was small, and at that time, computers were not powerful enough to enumerate all the facet defining inequalities of HPn for small n. With the current computer technology and using some software like Lrs [2], Porta [4] and Cdd [5], we have been able to obtain a complete facial description of HPn up to dimension 8. For example, in dimension 8 where the are 41,245 Huffman points, the Huffmanhedron has 102,691 facets and it takes about 4 months to enumerate them all with Lrs software on an Intel(R) Core(TM)2 Quad CPU Q6600 2.40 GHz computer with 2.00G of RAM. Due to the construction of Huffman points, a related polyhedron to HPn is the well-known combinatorial permutahedron, Πn−1 , which was introduced by Schoute [12] in 1911. The latter is defined on an n-element set N = {n, . . . , 1}. With each permutation π of N, we associate an incident vector x(π ) = (π (n), . . . , π (1)) ∈ Rn . The permutahedron is the polytope

Πn−1 = conv{x(π ), π is a permutation of N }. This geometric object is an (n − 1)-dimensional polytope in Rn with n! vertices and 2n − 2 facets. Independently, several authors (cf., e.g., Rado [11], Balas [3], Gaiha and Gupta [6] and Young [16]) studied the permutahedron and derived a characterization of Πn−1 via the following linear inequalities



π (i) ≥ f (S ),

S ⊆ N,

i∈S

 i∈N

π (i) = f (N ),

where f (S ) =

  |S | + 1 2

Arnim et al. [1], and Schulz [13,14], among others, gave several interesting results on the permutahedron of series–parallel posets and its generalization of a poset.

J.-F. Maurras et al. / Discrete Applied Mathematics 164 (2014) 225–236

227

In this paper, we first prove some basic properties of the Huffmanhedron, especially, about its dimension and its extreme vertices. Next we give a partial linear description of the 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 the Huffmanhedron is at least a factorial of n and consequently shows that the facial structure of the Huffmanhedron is rather complex. This is quite 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 of lifting and facet composition allowing us to derive facet defining inequalities from the ones in lower dimensions. 2. Basic properties of the Huffmanhedron Given a Huffman point x, such that x 1 ≥ x 2 ≥ · · · ≥ x n −1 ≥ x n , we can see that a vector a ∈ Rn minimizing f (x) =

n 

ai xi ,

i=1

obviously has the coefficients in nondecreasing order from a1 to an , i.e. a1 ≤ a2 ≤ · · · ≤ an−1 ≤ an . Hence, any facet-defining inequality aT x ≥ a0 for HPn such that aT x = a0 , should have the coefficients of the left hand side in nondecreasing order. Moreover, by the construction of Huffman points explained in the previous section, we can obtain other Huffman points by simply permuting the coordinates of x. In the same way, we also obtain facet defining inequalities for HPn by simply permuting some coefficients of the facet defining inequalities aT x ≥ a0 with nondecreasing coefficients. Remark 2.1. If the inequality I ≡ ′



I ≡ a1

···

ai − 1

aj

n

i=1

ai + 1

ai xi ≥ a0 defines a facet for HPn , then the following inequality

···

aj − 1

ai

aj + 1 · · · an x ≥ a0 ,



for some pair i < j, ai ̸= aj , also defines a facet for HPn . For example, I ≡ x1 + x2 + x3 + 2x4 ≥ 10 is a facet defining inequality with nondecreasing coefficients for HP4 , and let EI = {(3, 3, 2, 1), (3, 2, 3, 1), (2, 3, 3, 1), (2, 2, 2, 2)} is the set of the Huffman points satisfying I at equality. Let us call these points Huffman tight points with respect to (w.r.t) I. Let us consider I ′ ≡ 2x1 + x2 + x3 + x4 ≥ 10, which is obtained from I by permuting the 1st and 4th coefficients of I. The set EI ′ which can be obtained in the same way by exchanging the 1st and 4th coordinates of the points in EI , i.e. EI ′ = (1, 3, 3, 2), (1, 3, 2, 3), (1, 2, 3, 3), (2, 2, 2, 2), clearly is the set of Huffman tight points w.r.t I ′ . By Remark 2.1, I ′ thus defines a facet for HP4 . Consequently, from now on we only focus on characterizing facet defining inequalities aT x ≥ a0 with nondecreasing coefficients of a. In the sequel, we introduce several terminologies which will be used throughout this paper. We use HVn ⊂ Qn to denote the set of all the Huffman points in n-dimensional space. Let xnmax = (n − 1, n − 1, n − 2, . . . , 2, 1) be the Huffman point corresponding to the leftmost maximum height n-tree which is the Huffman tree of n leaves having maximum height. Let n denote the latter. Given a Huffman point x, we use the notation {(x1 , . . . , xi−1 , ⟨xi , xi+1 , . . . , xk ⟩, xk+1 , . . . , xn )}, to Tmax denote the set of the Huffman points obtained from x by replacing the sequence of coordinates ⟨xi , xi+1 , . . . , xk ⟩ by any of its permutations. For example, the set EI in the above example can be shortly rewritten as EI = {(⟨3, 3, 2⟩, 1), (2, 2, 2, 2)}. In the following, we characterize several simple properties of the Huffman point which will be useful later. Property 2.1. 1. For every x ∈ HVn , there are at least two coordinates of x equal to max{xi , ∀i = 1, . . . , n}. 2. For every x ∈ HVn , with n ≥ 3 and let i, j be two indices such that xi = xj , we have

(x1 , . . . , xi−1 , xi − 1, xi+1 , . . . , xj−1 , xj+1 , . . . , xn ) ∈ HVn−1 . 3. For every x ∈ HVn−1 , with n ≥ 3, for some i > 0, we have

(x1 , . . . , xi−1 , xi + 1, xi + 1, xi+1 , . . . , xn−1 ) ∈ HVn . We investigate some basic properties on the Huffmanhedron. We first determine the dimension of HPn . Then we prove that Huffman’s algorithm is an optimization algorithm over HPn and all the Huffman points are the extreme points, i.e. the vertices, of HPn . Proposition 2.1. For n ≥ 4, HPn is full dimensional.

228

J.-F. Maurras et al. / Discrete Applied Mathematics 164 (2014) 225–236

Proof. Note that all the points which are obtained by permuting coordinates of xnmax , belong to the hyperplane H defined

n

n(n+1)

n −1 by the rank equality i=1 xi = − 1 and H is unique in this sense. By Property 2.1-3, generating from xmax in HVn−1 , 2 0 0 we obtain a Huffman point x in HVn , x = (n − 2, n − 2, n − 3, . . . , 3, 2, 2, 2). Note that this point clearly does not lie on H. Hence, the claim follows. 

Note that Huffman’s algorithm which was originally established in [7] works with nonnegative weights corresponding to the occurrence frequencies of characters. We show in the following that the algorithm still works even in the presence of negative weights. Before looking to it, let us recall Huffman’s algorithm: Let C be a set of n characters and that each character c in C has a defined frequency f [c ], and let Q be the priority queue of C where the characters c are in nondecreasing order in the function of their frequency f [c ]. Algorithm 2.1 (Huffman’s Algorithm). Input : –Q ←C Output : – the root of the tree. while |Q | > 1 do allocate a new node {k, h}, where left ({k, h}) ← k ←Extract_Min(Q) right ({k, h}) ← h←Extract_Min(Q \ {k}) f [{k, h}] ← f [k] + f [h] Insert (Q, {k,h}) end do end while return Extract_Min(Q) ◃ return the root of the tree. Proposition 2.2. Huffman’s algorithm is an optimization algorithm on HPn . n Proof. Given a linear function f with f (x) = i=1 ai xi , where a ∈ Q , a ̸= 0 and x ∈ HVn , as explained above, we only need to prove Proposition 2.2 for the case when f (x) contains negative coefficients. Then, we first need to prove the following lemma:

n

Lemma 2.1 ([9]). There is an optimal tree T ∗ in which two coefficients having the lowest value correspond to two leaves having same father node in T ∗ . Proof. It is similar to the proof of Lemma 4.31 in [9]. For more details, the interested reader is referred to [9] to p. 171.



Let E be the set of the coefficient values of f (x) and let ak , ah be two lowest-value coefficients. Let us suppose that T is an optimal tree for E. From Lemma 2.1, the two leaves k and h having weights, respectively, ak and ah are siblings in T ∗ . Let T ′ be a tree which is derived from T ∗ by deleting two leaves h, k and replacing them by a leaf {k, h} having weight ak,h equal to ak + ah . Fig. 2 is followed from p. 172 of [9] to illustrate this construction. ∗

 Lemma 2.2. T ∗ is an optimal tree for E if and only if T ′ is an optimal tree for E ′ = E \ {ak , ah } ak,h . ∗ Proof. Let x∗ be the Huffman point to T ∗ . Let us denote OPT (E , T ∗ ) be the nincident nvalue ′obtained by applying x on f (x), ∗ ′ ′ ′ i.e. OPT (E , T ∗ ) = a x . Using a similar notation for T , we get OPT ( E , T ) = a x . As a and a are the two lowest k h i=1 i i i =1 i i value in E, then, from Lemma 2.1 we obtain that x∗k = x∗h . So, it implies that

OPT (E , T ∗ ) =

n 

ai x∗i + ak x∗k + ah x∗h

i=1,i̸=h,k

=

n 

ai x∗i + ak,h (x∗k − 1) + ak + ah

i=1,i̸=h,k

= OPT (E ′ , T ′ ) + ak + ah . If T ′ is not an optimal tree for E ′ , then the equation OPT (E , T ∗ ) = OPT (E ′ , T ′ ) + ak + ah allows us to obviously deduce that T ∗ is not an optimal tree for E, and conversely. Indeed, suppose that T ′ is an optimal tree for E ′ , it is clear that OPT (E ′ , T ′ ) < OPT (E ′ , T ′ ). Therefore, OPT (E , T ∗ ) > OPT (E ′ , T ′ ) + ak + ah , which implies that T ∗ is not an optimal tree for E. Thus, the claim follows. Note that this proof is always valid even if ak and ah are negative values.  By Lemma 2.2, we then obtained a new set E ′ where |E ′ | = |E | − 1. This progressive procedure will finally provide a coefficient set containing either all non-negative coefficients or only one negative coefficient. For the first case, according

J.-F. Maurras et al. / Discrete Applied Mathematics 164 (2014) 225–236

229

Fig. 2. There is an optimal solution in which the two lowest-value coefficients label sibling leaves; deleting them and labeling their parent with a new coefficient having the combined value yields an instance with a smaller coefficient set.

Fig. 3. Merging a′1 with a′2 first and then with a′3 .

Fig. 4. Merging a′3 with a′2 first and then with a′1 .

to the Huffman’s algorithm, the tree obtained is clearly an optimal tree for them. Thus the initial tree obtained by this construction is also an optimal tree for E. Note that for each time we replace two lowest-coefficient values by a new coefficient value, then we need n − 1 steps to reduce the initial set to a set having exactly one coefficient. Thus, for the second case, we should go back to the step where a coefficient set only contains there coefficients. In this step, we may prove that an optimal tree for these 3 coefficient values can be found here. Remark that in this case, there are only two following trees in 3-dimensional space, one of them is clearly an optimal tree, but which one is an optimal tree? Suppose that E ′ contains {a′1 , a′2 , a′3 }, where a′1 ≤ a′2 ≤ a′3 . For the tree in Fig. 3, we get that 2a′1 + 2a′2 + a′3 , and for the tree in Fig. 4, we have that a′1 + 2a′2 + 2a′3 . It is easy to see that the left tree allows us to obtain an optimal cost. Thus this one is an optimal tree for E ′ . According to Lemma 2.2, the claim follows.  Theorem 2.1. Each Huffman point x ∈ HVn is a vertex of HPn . Proof. By recurrence on n. In 3-dimensional space, we only have 3 Huffman points (2, 2, 1), (2, 1, 2) and (1, 2, 2). HP3 clearly is a triangle having 3 vertices these points. Suppose that Theorem 2.1 is verified in Qn , i.e. for each point x0 in HVn , as n 0 0 0 0 0 we can find an hyperplane H ≡ i=1 ai xi = b0 which exposes x , i.e., H is valid for HPn and only contains x . Assume 0 0 that the coordinates of x are in a non-increasing order. Thus, the coefficients of H are in ascending order. By Property 2.1, generating x1 in HVn+1 from x0 by replacing x0i with x0i + 1 and x0i + 1, in this proof we choose the first coordinate x01 , we thus obtain: x1 = (x01 + 1, x01 + 1, x02 , x03 , . . . , x0n ). Suppose that without loss of generality, a01 ̸= 0. So, we consider the following 0 0 1 1 1 1 1 1 hyperplane: H 1 ≡ i=1 ai xi = b0 where a1 = a2 = a1 , and ai = 2ai−1 , ∀i > 2 and b0 = 2b0 . Then, applying Huffman’s 1 algorithm to the coefficient values ai , for the first step of this algorithm, there is a unique choice that is merging a11 with a12 , which yields a new coefficient value equal to 2a01 . From this step through the end, this algorithm will continue with the multiple coefficient values of H 0 . By the assumption, we thus get a unique optimal tree to which the point x0 is associated. Finally, the point x1 is a unique Huffman point which is exposed by H 1 . Hence, the claim follows. 

n+1

In the sequel, a Huffman point of the Huffmanhedron is called a Huffman vertex and a tight Huffman point w.r.t some inequality, is called a tight Huffman vertex w.r.t such an inequality. Before looking to the partial description of the Huffmanhedron, we need to introduce e-property that is especially useful for the proof of facetness.

230

J.-F. Maurras et al. / Discrete Applied Mathematics 164 (2014) 225–236

a

b

c

d

Fig. 5. Fig. 5(a)–(d) show e-property which is satisfied for the 2th, 3th, 4th, 5th index, respectively.

Definition 2.1 (e-Property). Let E be a vertex subset of HVn and let K be an increasing index subset of N = {1, 2, . . . , n}. E satisfies the e-property for K if and only if for each k ∈ K , there exist two vertices x, y in E, such that: – xk ̸= yk , – for all j > k ∈ K , xj = yj . For example, let us consider E = {(⟨4, 4, 3⟩, 2, 1), (⟨3, 3, 2⟩, 2, 2), (⟨3, 3, 3⟩, 3, 1)}. Recall that the pair ‘⟨, ⟩’ indicates the possibility of permutation over all the coordinates between this pair, which allows us to generate other vertices in E. Note that E satisfies e-property for the index set {2, 3, 4, 5}. The proof for this can be illustrated in Fig. 5. Proposition 2.3. Let x0 be a point in HVn and let E be a subset of Huffman points, for some pair i < j: E = {(x01 , x02 , . . . , x0i−1 , ⟨x0i , . . . , x0j ⟩, x0j+1 , . . . , x0n )}. If there is a lowest index k, where i < k < j, such that x0i ̸= x0k , then E satisfies e-property for {i + 1, . . . , j}. Proof. Note that a point generated by exchanging two coordinates between the ith and jth indices also belongs to E. Thus, from x0 , by permuting two coordinates x0i and x0k we obtain xk in E. Similarly, from xk , by exchanging two coordinates xki and xki+1 , we deduce the point xi+1 in E. Using these two points xk and xi+1 , it obviously implies that e-property of E holds for the index i + 1. By the same way, generating the point xt from xk by switching xki with a coordinate xkt , where i < t ≤ j, two obtained points xk and xt also allow E to verify e-property for the index t.  3. A partial description for the Huffmanhedron In this section, we present a partial description for the Huffmanhedron. We first describe two classes of trivial facets and rank facet defining inequalities. Then we give a complete characterization of the facet defining inequalities with nonnegative coefficients that are tight at a vertex corresponding to some maximum height Huffman tree. Finally, we provide two procedures of lifting and facet composition and show that applying them to the facet defining inequalities we know for the Huffmanhedron gives all the facets that contain at least a vertex associated with some maximum height Huffman tree. 3.1. Trivial facets and rank facets Proposition 3.1 (Trivial Facets). 1. For n ≥ 5, the inequality ITi ≡ xi ≥ 1 defines a facet for HPn . 2. For n ≥ 6, the inequality ITi,j ≡ xi + xj ≥ 3, for all 1 ≤ i < j ≤ n, defines a facet for HPn . Proof. In every Huffman tree of n leaves, there is at most one leaf of depth 1 and the others are of depth at least 2. Hence, the validity of ITi and ITi,j are verified. Let us consider the inequality ITi , when i = n. It means that all the Huffman vertices having the last coordinate equal to 1 n are tight vertices w.r.t ITn . Suppose that all tight vertices w.r.t ITn also satisfy another valid inequality I ≡ i=1 ci xi ≥ c0 at equality. So picking a vertex x0 = (x01 , . . . , x0i , . . . , x0j , . . . , x0n−1 , 1) such that x0i ̸= x0j , generating from x0 by switching x0i , x0j , we then get x1 = (x01 , . . . , x0j , . . . , x0i , . . . , x0n−1 , 1). Rewriting I with the coordinates of these two vertices, subtracting

coordinate by coordinate of these two equalities, finally we deduce that (ci − cj )(x0i − x0j ) = 0, which implies that ci = cj . Repeating this procedure for another index, we will obtain ci = cj for all i, j < n. Moreover, there are always two tight points such that sum of the first n − 1 coordinates of these two vertices are different. Therefore, ci = 0 for all i < n. Which concludes that ITn defines a facet for HPn . Let us consider the last inequality ITi,j , when i = n − 1 and j = n. Using the above argument similarly, we will also obtain the facetness of ITn−1,n .  Proposition 3.2 (Rank Facets). n(n+1)

1. The inequality IH ≡ 1T x ≤ 2 − 1 defines a facet of HPn . 2. For n = 2k + c with k ∈ N+ and 0 < c < 2k , the inequality IL ≡ 1T x ≥ 2c (k + 1) + (n − 2c )k defines a facet for HPn . Proof. Note that the sum of the coordinates of a given Huffman point x is maximum when x is associated to some maximum n(n+1) height tree, this sum is equal to 2 − 1. In addition, this sum is minimum when x corresponds to some equilibrated tree, i.e. in which there are no two leaves such that the difference of its depths strictly is greater than 1. Indeed, Huffman’s algorithm

J.-F. Maurras et al. / Discrete Applied Mathematics 164 (2014) 225–236

231

applied to minimize the linear function f where f = 1 will clearly give an equilibrated tree as an optimal tree. It is obviously verified that the sum of all the lengths of the root-to-leaf paths in this tree is equal to 2c (k + 1) + (n − 2c )k. Hence, the validity of IH and IL are justified. n Let us suppose that the Huffman tight vertices w.r.t IH satisfy another valid inequality at equality I ′ ≡ i=1 ci xi = c0 . Note that all the coefficients of IH are equal, then switching two different coordinates x0i , x0j of a tight vertex x0 will provide another tight vertex w.r.t IH . Therefore, rewriting I ′ for the coordinates of these two tight vertices, then subtracting coordinate by coordinate the two equalities, we finally obtain the following equality (ci − cj )(x0i − x0j ) = 0. This implies that ci = cj . Repeating this procedure for other indices, we deduce that all the coefficients of I ′ are equal. Hence, we get the contradiction. We may use the same argument for proving IH to show the facetness of IL .  3.2. Characterization of the vertices associated with maximum height Huffman trees Given a Huffman point x, let us call the facet defining inequalities characterizing x those that are tight at x. In this section we described all the facet defining inequalities with nonnegative coefficients defining xnmax . By Remark 2.1, we obtain all facet defining inequalities with nonnegative coefficients characterizing the Huffman points which are permutations of the coordinates of xnmax . Given a polyhedron P ∈ Rn+ which is the dominant of the convex hull of a set of points. Let u be an extreme point of P and a ∈ Rn be a vector. Suppose that we know a system I n of m linear inequalities

 1 c a1 + c21 a2 + · · · + cn1 an ≥ 0    12 2 2 I n = c1 a1 + c2 a2 + · · · + cn an ≥ 0  . . .   c1m a1 + c2m a2 + · · · + cnm an ≥ 0 that express the necessary and sufficient conditions for aT x to get optimal at u over P. Thus it is clear that a belongs to the cone Cn generated by the inequalities in I n , i.e. a is a conic combination of the extreme rays of Cn . Let F = {f1 x ≥ 1, f2 x ≥ 1, . . . , fp x ≥ 1} be the set of all the facet defining inequalities for P characterizing u, i.e. fi u = 1 and fi ≥ 0 for all i = 1, . . . , p. We can see that optimizing a function aT x over F with a satisfying I n will accept u as an optimal solution. In the following, we present two standard basic properties in polyhedral theory. Lemma 3.1. A linear function aT x gets optimal at u over P if and only if a is conic combination of f1 , f2 , . . . , fp . Corollary 3.1. The extreme rays of Cn are in one-to-one correspondence with the facets fi . We can now use Corollary 3.1 to find the facet defining inequalities characterizing xnmax . We first characterize the system I n that express the necessary and sufficient conditions so that aT x gets optimal at xnmax over HPn .

n

Theorem 3.1. The point xnmax minimizes a linear function i=1 ai xi over HPn if and only if a is super-Fibonacci, which means that the coefficients ai satisfy the following system of inequalities In =



−a1 − · · · − ai−2 + ai ≥ 0, −ai−1 + ai ≥ 0,

for all 3 ≤ i ≤ n, for all 3 ≤ i ≤ n.

n Proof. ‘‘⇒’’. The ith leaf of Tmax from left to right is associated to the weight ai . Note that in the depth n − 1 of this tree, two leaves having weight a1 and a2 are merged before joining with the leaf having weight a3 . Hence, according to Huffman’s algorithm, the following conditions must hold: a1 , a2 ≤ a3 and a1 + a2 ≤ a4 . Similarly for the other depths in this tree, we n is an optimal tree for a if a is super-Fibonacci. easily deduce that Tmax ‘‘⇐’’. By recurrence on n. When n = 3, we have a3 ≥ max(a2 , a1 ). Hence, from Huffman’s algorithm, we clearly obtain 3 n−2 Tmax as an optimal tree for them. Suppose that we obtain Tmax as an optimal tree for a1 , a2 , . . . , an−2 . In the n-dimensional

space, as a is super-Fibonacci, we get that an ≥ max(an−1 , i=1 ai ). According to Huffman’s algorithm, an−1 is merged with n−2 n−1 n−1 n to provide Tmax , after that, an is merged with Tmax . Hence, we obtain Tmax as an optimal tree for f .  Tmax

n−2

Remark 3.1. Theorem 3.1 also applies to the dominant of HPn (dom(HPn )). In this case all the components of a are nonnegative. We focus now to characterize the extreme rays of Cn , the cone defined by the inequalities of I n . By Corollary 3.1 and Remark 3.1, we can then derive all the facet defining inequalities with nonnegative coefficients characterizing xnmax . Let us see the case when n = 3. In the 3-dimensional space, the system I 3 is given as: a1 , a2 ≥ 0 −a 2 + a 3 ≥ 0 −a1 + a3 ≥ 0.

 3

I =

232

J.-F. Maurras et al. / Discrete Applied Mathematics 164 (2014) 225–236

Note that in this dimension, there are only 3 Huffman points (2, 2, 1), (2, 1, 2), (1, 2, 2). Moreover, these points lie on the 3 hyperplane defined by i=1 xi = 5. It means that a1 = (1, 1, 1)T . By the fact that these three Huffman points all belong to

3

the hyperplane defined by i=1 xi = 5, we can always set a coefficient ai to a fixed positive value. Let us then fix a3 = 1. Hence, we can get that a2 = (0, 1, 1)T and a3 = (1, 0, 1)T . These extreme rays ai ≥ 0 for C3 correspond to the facet defining inequalities (ai )T x ≥ ai0 for dom(HPn ) with ai0 is the optimal value while applying Huffman’s algorithm to minimize (ai )T x. Consequently, we obtain the following facet defining inequalities characterizing the point (2, 2, 1) of HP3 as: x2 + x3 ≥ 3 x1 + x3 ≥ 3 x1 + x2 + x3 = 5. When n = 4, the system I 4 is given as follows:

 a1 , a2 ≥ 0     −a 2 + a 3 ≥ 0 I 4 = −a 1 + a 3 ≥ 0     −a 3 + a 4 ≥ 0 −a1 − a2 + a4 ≥ 0. Let us consider the sub-system:

 −a 3 + a 4 ≥ 0 I = −a 1 − a 2 + a 4 ≥ 0 a4 ≥ 0. 4

If either a4 = a3 and a4 > a2 + a1 or a4 > a3 and a4 = a2 + a1 , then letting a4 = max(a3 , a2 + a1 ), we continue to solve I 4 with the inequalities of I 3 . As the case when n = 3, we get (a1 , a2 , a3 )T ∈ {(1, 1, 1)T , (0, 1, 1)T , (1, 0, 1)T }. Therefore, we obtain a1 = (1, 1, 1, 2)T , a2 = (0, 1, 1, 1)T a3 = (1, 0, 1, 1)T . If a4 > a3 and a4 > a2 + a1 , then fixing a4 = 1, we deduce that a4 = (0, 0, 0, 1)T . 4

If the two first inequalities of I are saturated, i.e, a4 = a2 + a1 = a3 , fixing a4 = 1, then we also obtain a1 = (0, 1, 1, 1)T , a = (1, 0, 1, 1)T . From these extreme rays, by the same reasoning as we have done for the case when n = 3, we derive the facet defining inequalities characterizing the point x4max : 2

x4 ≥ 1, x2 + x3 + x4 ≥ 6, x1 + x3 + x4 ≥ 6, x1 + x2 + x3 + 2x4 ≥ 10. Suppose that we know all the extreme rays of Cn−2 and Cn−1 . We will show that all the extreme rays for Cn can be completely derived from those of Cn−2 and Cn−1 .

 n

I =

a1 , a2 ≥ 0, −ai−1 + ai ≥ 0, −a 1 − a 2 − · · · − a i − 2 + a i ≥ 0

∀i = 3, . . . , n ∀i = 3, . . . , n.

Let us consider the sub-system of inequalities n

I =



−a n − 1 + a n ≥ 0 −a1 − a2 − · · · − an−2 + an ≥ 0. n

If none of these inequalities of I is tight, then we get an = 1 and ai = 0 for all i < n. (This is a trivial facet ITn , see Proposition 3.1). n−2 If exactly one of these inequalities is tight, by choosing an = max(an−1 , i=1 ai ), we continue to solve I n with the n−1 inequalities in I . Note that in the case where the components of a are positive, the Fibonacci numbers clearly satisfy these conditions. Hence, we obtain an extreme ray of Cn : a = (α1 , . . . , αn )T , where α1 = α2 = α3 = 1 and αi = αi−1 + αi−2 , ∀i ≥ 4. This result is reformulated as follows, the optimal value while applying the Huffman’s algorithm to minimize the linear function α T x will be found and proved in the next section: Theorem 3.2 (Fibonacci Facets). Given a vector α ∈ Zn such that α1 = α2 = α3 = 1 and αi = αi−1 + αi−2 , ∀i ≥ 4. The inequality fibon ≡

n 

αi xi ≥ Fn+3 − 3,

i=1

where Fn+3 is the (n + 3)th Fibonacci number [15], defines a facet for HPn , for all n ≥ 3.

J.-F. Maurras et al. / Discrete Applied Mathematics 164 (2014) 225–236

233

Note that in this case, we also obtain a trivial facet ITn−1,n . In fact, this facet defining inequality is generated from the trivial facet defining inequality ITn−1 for HPn−1 . Moreover, when the vector a contains k components equal to zero, then the n − k positive components of a are the ones of an extreme ray of Cn−k . From this observation, a may be generated from the zero-lifting procedure. This result is generalized in the theorem below, the proof for it will be presented in the next section:

n

Theorem 3.3 (Zero-Lifting). Given I0 ≡ i=1 ai xi ≥ a0 a facet defining inequality for HPn , with a1 = · · · = ad and d ≥ 1, and ad < ai ≤ ai+1 , for all i > d. Suppose that EI0 , the subset of tight vertices w.r.t I0 , satisfies e-property for {d + 1, d + 2, . . . , n}. Then in Qn+1 , the inequalities



Lift1 ≡

0

a1

···

a2

an−1



an x ≥ a0 + a1

(1)

defines facet for HPn+1 . For the last case, when an = (a1 + a2 + · · · + an−2 ) = an−1 , then we continue to solve I n with the inequalities in I n−2 . Note that if the vector a only contains the positive components, then it could be obtained by applying composition procedures with the inputs being two Fibonacci facets of HPk and HPh . This application will be discussed later in this section. We introduce the facet composition results, the proof for this will be presented in the next section:

n

Theorem 3.4 (Facets Composition). Let In ≡ i=1 ai xi ≥ a0 , be a facet defining inequality for HPn with a1 = · · · = ak , where k ≥ 3, and ak < ai ≤ ai+1 , for all i > k. Suppose that EIn , the subset of the tight vertices w.r.t In , satisfies e-property for {k + 1, k + 2 , . . . , n} . m Let Im ≡ i=1 bi xi ≥ b0 be a facet defining inequality for HPm with b1 = · · · = bl , where l ≥ 3, and bl < bi ≤ bi+1 , for all i > l. Suppose that EIm , the subset of the tight vertices w.r.t Im , satisfies e-property for {l + 1, l + 2, . . . , m}. Then the inequalities I n ,m ≡ b 1

n 

 ai x i +

i=1

Im,n ≡ a1

n 

 ai

i=1

m 

 bi xi +

i=1

m 

m 

bi xn+i−1 ≥ b1 a0 + b0

j=2

 bi

i=1

n 

n 

ai ,

i=1

ai xm+i−1 ≥ a1 b0 + a0

j =2

m 

bi ,

i =1

define facets for HPn+m−1 . By Remark 3.1, all the inequalities that we derived from the extreme rays of Cn define facets for dom(HPn ). However, some of them do not define facets for HPn but only (n − 2)-faces. These inequalities are presented in the following remark: Remark 3.2. 1. The facet defining inequality x4 ≥ 1 for dom(HP4 ) is a valid inequality for HP4 . Indeed, that inequality is obtained from the convex combination of two facet defining inequalities x1 + x2 + x3 + 2x4 ≥ 10 and −x1 − x2 − x3 − x4 ≥ −9. 2. Some facet defining inequalities for dom(HPn ), which are recursively generated from the facet defining inequality x2 + x3 ≥ 3 for dom(HP3 ) are (n − 2)-faces of HPn . For example, the facet defining inequality for dom(HP5 ), x2 + x3 + 2x4 + 3 2x5 ≥ 13 that is generated in the case where a5 = a4 = i=1 ai , is simply a valid inequality for HP5 . In fact, this inequality is obtained from the convex combination of two facet defining inequalities for HP5 , x1 + x2 + x3 + 3x4 + 3x5 ≥ 20 and −x1 + x2 + x3 + x4 + x5 ≥ 6, obtained by Porta [4]. Recursively, some inequalities generated through the facet defining inequality for dom(HP5 ), x2 + x3 + 2x4 + 2x5 ≥ 13, are (n − 2)-faces of HPn . 3. The facet defining inequalities for dom(HPn ) generated from the Zero-lifting procedure which only contain two coefficients equal to 0 are the (n − 2)-face of HPn . In fact, the two first coordinates of any tight Huffman vertex w.r.t such an inequality are always equal, and are equal to the maximum value coordinate, as Property 2.1. Consequently, there do not exist n linearly independent points. In order to interpret the corresponding facet defining inequalities for dom(HPn ) characterizing xnmax , we introduce some notations through the following example which allows us to enumerate all these facets: Let fibon−2 ≡ i=1 αi xi ≥ Fn+1 − 3 be the Fibonacci facet defining inequality for HPn−2 and let fibo3 ≡ i =1 x i ≥ 5 be the Fibonacci facet defining inequality for HP3 , applying the facet composition operation to fibon−2 and fibo3 , we obtain the inequality :

n−2

3

 α1

α2

···

αn−2

n−2  i=1

defining a facet for HPn .

αi

n −2  i =1

 αi ≥ Fn+1 − 3 + 5

n −2  i =1

αi

234

J.-F. Maurras et al. / Discrete Applied Mathematics 164 (2014) 225–236

Note that the facets which are generated from two Fibonacci facets for HPp and HPq , have exactly two equal coefficients, except for the three first coefficients. In the above example, we have the (n − 1)th and nth coefficients that are equal to n−2 i=1 αi . We call two equal coefficients 1-leap, and these facets Fibonacci 1-leap facets. By our convenience, the Fibonacci facet is called a Fibonacci 0-leap facet. Generally, applying a Fibonacci k-leaps facet for HPm with a Fibonacci l-leaps facet for HPn−m+1 , we obtain two Fibonacci (k + l + 1)-leaps facets for HPn . Moreover, using the zero-lifting procedure to apply to all these facets, we also generate which contain xnmax . facets n Let us use Ff ,m,{i1 ,...,ik } ≡ a x i i ≥ a0 to denote a facet defining inequality for dom(HPn ), where m ∈ N denotes the i=1 number of zeros added at the beginning of the left hand side and the set {i1 , . . . , ik } is a set of k indices where there are k leaps in this inequality. The notation Ff ,m,{i1 ,...,ik } unifies all the notations of facet defining inequalities generated from the Fibonacci inequalities. In particular, 1. when m = 0 and {i1 , . . . , ik } = ∅, Ff ,0,∅ denotes the Fibonacci facet defining inequality. 2. when m = 0 and K = {i1 , . . . , ik } ̸= ∅, Ff ,0,{i1 ,...,ik } denotes the Fibonacci-k leaps facet defining inequality where aij = aij +1 for all ij ∈ K . 3. when m ̸= 0 and {i1 , . . . , ik } = ∅, Ff ,m,∅ denotes the m-Zero facet defining inequality where the first m coefficients are equal to 0. 4. when m ̸= 0 and K = {i1 , . . . , ik } ̸= ∅, Ff ,m,{i1 ,...,ik } denotes the m-Zero Lifting Fibonacci-k leaps inequalities. Using this notation, we established the following result: Theorem 3.5. The following facet defining inequalities for dom(HPn ) ITn ≡ xn ≥ 1, ITn−1,n ≡ xn−1 + xn ≥ 3, Ff ,m,{i1 ,...,ik } ≡ a1 x1 + · · · + an−2 xn−2 + an−1 xn−1 + an xn ≥ a0 , characterize xnmax . 3.3. Proofs of Theorems 3.2–3.4 In this section, we prove the theorems described in the above section. Before looking into this, we introduce a technical tool allowing to prove facetness of a valid inequality I for HPn . Consider a valid linear inequality I for HPn , I defines a facet for HPn if the set of Huffman points that are tight w.r.t I do not satisfy a valid inequality I ′ ≡ cT x ≥ c0 at equality. Thus, let us suppose the contrary. Adding an appropriate linear combination of I to I ′ , as HPn is full-dimensional with n ≥ 4, then we can fix one coefficient of I ′ to 0. For more details of this argument, the interesting reader is referred to [10]. By using particular properties of the tight Huffman points w.r.t I satisfying cT x ≥ c0 at equality, we may derive that ci = c0 = 0. Lemma 3.2. Let I ≡ aT x ≥ b0 be a valid inequality for HPn and let EI ⊂ HVn be a set of the tight vertices w.r.t I. If EI satisfies e-property for an index subset K ⊆ N = {1, 2, . . . , n} and moreover the coefficients ai are pairwise equal for all i ∈ N \ K , then I defines a facet for HPn . Proof. Suppose that I does not define facet for HPn , then all the tight vertices in EI w.r.t I may also satisfy at equality another valid inequality for HPn , let I ′ ≡ cT x ≥ c0 with c ̸= 0, be such an inequality. Note that for all i in N \ K , the coefficients ai are pairwise equal, as the assumption. Therefore, the vertex x1 which is obtained from a vertex x0 in EI by exchanging two different coordinates x0i and x0j with i, j ∈ N \ K , is also a tight vertex w.r.t I. Furthermore, these vertices are also tight vertices w.r.t I ′ . Writing I ′ with these two vertices and subtracting coordinate by coordinate the two obtained equalities, we get that ci = cj . The reasoning is continued for another index in N \ K , we finally obtain that ci = cj for i, j ∈ N \ K . Pick a coefficient cj of I ′ with j ∈ N \ K , as the vertices in EI satisfy both I and I ′ at equality, without loss of generality we can fix cj at 0. Since ci = cj for i, j ∈ N \ K , which implies that ci = 0 for all i ∈ N \ K . Let k be the smallest index in K , as the assumption, EI satisfies e-property for K , then there are two vertices x, y in EI such that (see Definition 2.1): xk ̸= yk and ∀j ∈ K , j > k, xj = yj . So, rewriting I ′ by all the coordinates of x and y, and subtracting coordinate by coordinate these two equalities, we get that ck (xk − yk ) = 0, thus ck = 0. Repeating this procedure for a subset K \ {k}, we will obtain ci = 0 for all i in K . Hence, the claim follows.  3.4. The proof of Theorem 3.2 To prove the validity of the Fibonacci inequality, it is enough to show the following result: Lemma 3.3.

(n − 1)α1 + (n − 1)α2 + (n − 2)α3 + · · · + 2αn−1 + αn = Fn+3 − 3.

J.-F. Maurras et al. / Discrete Applied Mathematics 164 (2014) 225–236

235

Proof. Let us process by recurrence on n. When n = 3, we obviously obtain that 2α1 + 2α2 + α3 = 5 = F6 − 3. When n = d, we get:

−α1 +

d d−1 d    (d − i + 1)αi = −α1 + (d − 1 − i + 1)αi + αi i=1

i =1

= Fd+2 − 3 +

i =1 d 

αi .

i =1

As the Fibonacci sequence starting from F0 = 0 and F1 = 1, we then deduce the equality αi = Fi−1 , for all i > 1. Hence, we d get that i=1 αi = αd+2 = Fd+1 . In addition, we have Fd+1 + Fd+2 = Fd+3 . Thus the claim follows.  From Huffman’s algorithm, we obtain that the vertex xnmax is an optimal point for the linear function f (x) = From Lemma 3.3, the validity of fibon is concluded.

n

i=1

αi xi .

3.5. The proof of Theorem 3.3 Let us consider the following linear function f ( x) = 0



a1

a2

···

an−1



an x

where x ∈ HVn+1 . From Huffman’s algorithm, we will get the optimal value of f on HPn . In the first step, Huffman’s algorithm chooses two first coefficient values of f to merge. Note that from this step through the end, this algorithm will clearly be applied on the coefficient values of I0 . Let T0 be an optimal tree for the coefficient values of I0 . Hence, according to Lemma 2.2, an optimal tree for the ones of f is easily obtained by branching a 2-tree on the leftmost leaf of T0 , i.e the leaf has weight equal to a1 . Let T1 be this tree. Let x0 be a vertex associated to T0 , then the vertex corresponding to T1 is: x1 = (x01 + 1, x01 + 1, x02 , . . . , x0n−1 , x0n ). Comparing the optimal value of f given by x1 with the second member of I0 , the validity of Lift1 is proved. Let ELift1 be a subset of tight vertices w.r.t Lift1 . From the above construction, we easily establish the following inclusion: ELift1 ⊇ x ∈ HVn+1 | ∀x0 ∈ EI0 , x = x01 + 1, ⟨x01 + 1, x02 , . . . , x0d ⟩, x0d+1 , . . . , x0n







.

(2)

Note that EI0 satisfies e-property for K = {d + 1, d + 2, d + 3, . . . , n}, as a hypothesis, then taking a pair of vertices in EI0 which satisfy e-property for an index k in K , we may prove that the extensions of these vertices in ELift1 by the link (2), allow to verify e-property for an index k + 1. Using this argument for all indices in K \ {k}, we may show that e-property of ELift1 holds for {d + 2, d + 3, . . . , n + 1}. We now proceed to prove that ELift1 also satisfy e-property for the first index. For this, it is enough to choose a vertex x1 ∈ EI0 such that x11 ̸= x1i , with i ≤ d. Exchanging these two coordinates, we get a vertex x2 which also belongs to EI0 . Applying the link (2) for x1 and x2 , we obtain respectively two tight vertices w.r.t ELift1 , we easily prove that these two vertices satisfy e-property for {1}. Hence, all the conditions of Lemma 3.2 are satisfied, the claim follows. 3.6. The proof of Theorem 3.4 Let a′ denote the left hand side vector of In,m . Using Huffman’s algorithm, we will get an optimal value for a′ . Suppose that the first n − 1 steps of this optimization algorithm yield a tree, let us call it Tn . Note that the first n coefficients of a′ are exactly the multiples of the ones of In . Thus, n a Huffman vertex corresponding to Tn is clearly a tight vertex w.r.t In . In particular, a root of Tn has weight equal to b1 i=1 ai . Consequently, from the nth step, Huffman’s algorithm continues to be n n n applied on the m remaining weights which are the coefficient multiples of Im : {b1 i=1 ai , b2 i=1 ai , . . . , bm i=1 ai }. Let Tm be a subtree which is provided by Huffman’s algorithm applied on these values. It is easy to verify that a Huffman vertex associated to Tm is a tight vertex w.r.t Im . Hence, the tree which is obtained by branching Tn on the leftmost leaf of Tm having n weight equal to b1 i=1 ai (see Fig. 6) is an optimal tree for a′ . Let us call Tn,m this tree. Let x1 = (x11 , . . . , x1n ) be the Huffman point corresponding to Tn and let x2 = (x21 , . . . , x2m ) be the Huffman point associated to Tm . Thus, the Huffman point associated to Tn,m is: x0 = (x11 + x21 , x12 + x21 , . . . , x1n + x21 , x22 , . . . , x2m ). Verifying the optimal value of a′ given by x0 with the second member of In,m , we obtain the validity of In,m . Using the same argument, we obtain also the validity of Im,n . Let EIn,m be a set of tight vertex w.r.t In,m . Due to the above construction we have EIn,m ⊇ x ∈ HVn+m−1 |∀x1 ∈ EIn , ∀x2 ∈ EIm ,



x = ⟨x11 + x21 , . . . , x1k + x21 ⟩, . . . , x1n + x21 , ⟨x22 , . . . , x2l ⟩, . . . , x2m





.

(3)

236

J.-F. Maurras et al. / Discrete Applied Mathematics 164 (2014) 225–236

Fig. 6. Compositions of an optimal tree Tn,m .

Note that the coefficients between the 1st and the lth indices of Im are pairwise equal. Hence, applying Proposition 2.3, we deduce that e-property of EIm holds for {2, 3, . . . , l}. From the hypothesis, we obtain that EIm satisfies e-property for {2, 3, . . . , m}. In the sequel, we will show that EIn,m satisfies e-property for {k + 1, k + 2, . . . , n + m − 2, n + m − 1}. We first prove that EIn,m satisfies e-property for Kk+1,n = {k + 1, k + 2, . . . , n}. For this, we take two vertices in EIn that satisfy e-property for an index i in Kk+1,n and merge them with an any vertex in EIm by the link (3) to generate two vertices in EIn,m . It is easy to verify that these vertices also respect e-property for the same index i in Kk+1,n . This reasoning will be repeated for another index in Kk+1,n . Using the above argument, we similarly obtain that EIn,m satisfies e-property for {n + 1, n + 2, . . . , n + m − 2, n + m − 1}. As the k first coefficients of In,m are pairwise equal and EIn,m satisfies e-property for {k + 1, k + 2, . . . , n + m − 2, n + m − 1}, all the conditions of Lemma 3.2 are satisfied. Thus the claim follows. 4. Concluding remarks In this paper, we have studied the facial structure of the Huffmanhedron. We have seen that although Huffman’s algorithm optimizes linear functions over this polyhedron in O(n log n), the facial structure of the Huffmanhedron is rather complex. Indeed, the number of Fibonacci facets together with the ones derived from the lifting and composition is a factorial in terms of n. However, Kaibel and Pashkovich [8] have recently given extended formulations for the Huffmanhedron with O(n log n) variables and inequalities. This very interesting result makes the question of obtaining a complete linear description in the original space even more challenging. Acknowledgments We would like to thank the anonymous referees for their helpful comments and suggestions for the improvement of the paper. A special thanks to the second referee for suggesting to us the correspondence between the extreme rays of the cone Cn and the facet defining inequalities characterizing the point xnmax . References [1] A.V. Arnim, U. Faigle, R. Schrader, The permutahedron of series–parallel posets, Discrete Appl. Math. 28 (1990) 3–9. [2] D. Avis, Lrs ver. 4.2 (2006.2.14). [3] E. Balas, A linear characterization of permutation vectors, in: Management Science Research Report, Vol. 364, Carnegie Mellon University, Pittsburgh, 1975. [4] T. Christof, Porta ver. 1.4.1, 2008. [5] K. Fukuda, Cdd/Cdd+, C double description method implementation (2008.2). [6] P. Gaiha, S.K. Gupta, Adjacent vertices on a permutahedron, SIAM Journal on Applied Mathematics 32 (1977) 323–327. [7] D.A. Huffman, A method for the construction of minimum-redundancy codes, in: Proceedings of The I.R.E, vol. 40, 1951, pp. 1098–1101. [8] V. Kaibel, K. Pashkovich, Constructing extended formulations from reflection relations, in: Integer Programming and Combinatoral Optimization, in: Lecture Notes in Computer Science, 6655/2011, 2011, pp. 287–300. http://dx.doi.org/10.1007/978-3-642-20807-2_23. [9] J. Kleinberg, E. Tardos, Algorithm Design, Pearson Addison Wesley, 2006. [10] M. Kovalev, J.F. Maurras, Y. Vaxès, On the convex hull of the 3-cycle of the complete graph, Pesquisa Operacional 23 (1) (2003) 99–109. [11] R. Rado, An inequality, J. Lond. Math. Soc. 27 (1952) 1–6. [12] P.H. Schoute, Analytic treatment of the polytopes regularly derived from the regular polytopes, in: Verhandelingen der Koninklijke Akademie van Wetenschappen te Amsterdam, vol. 3, Amsterdam, 1911, p. 87. deel 11. [13] A.S. Schulz, Facets of the generalized permutahedron of a poset, Discrete Appl. Math. 72 (1997) 179–192. [14] A.S. Schulz, The permutahedron of series–parallel posets, Discrete Appl. Math. 57 (1995) 85–90. [15] S.A. Vajda, Fibonacci and Lucas Numbers, and the Golden Section, Ellis Horwood, 1989. [16] H.P. Young, Polyhedral Combinatorics, in: Mathematical Programming Studies, vol. 8, 1978, pp. 128–140 (Chapter On permutations and permutation polytopes).