Algorithms 2011, 4(4), 307-333; doi:10.3390/a4040307

Article
A Catalog of Self-Affine Hierarchical Entropy Functions
John Kieffer
Department of Electrical & Computer Engineering, University of Minnesota Twin Cities, 200 Union Street SE, Minneapolis, MN 55455, USA; E-Mail: kieffer@umn.edu
Received: 23 September 2011; in revised form: 18 October 2011 / Accepted: 30 October 2011 /
Published: 1 November 2011

Abstract

: For fixed k ≥ 2 and fixed data alphabet of cardinality m, the hierarchical type class of a data string of length n = kj for some j ≥ 1 is formed by permuting the string in all possible ways under permutations arising from the isomorphisms of the unique finite rooted tree of depth j which has n leaves and k children for each non-leaf vertex. Suppose the data strings in a hierarchical type class are losslessly encoded via binary codewords of minimal length. A hierarchical entropy function is a function on the set of m-dimensional probability distributions which describes the asymptotic compression rate performance of this lossless encoding scheme as the data length n is allowed to grow without bound. We determine infinitely many hierarchical entropy functions which are each self-affine. For each such function, an explicit iterated function system is found such that the graph of the function is the attractor of the system.
Keywords:
types; type classes; lossless compression; hierarchical entropy; self-affine functions; iterated function systems

1. Introduction

A traditional type class consists of all permutations of a fixed finite-length data string. There is a well-developed data compression theory in which strings in a traditional type class are losslessly encoded into fixed-length binary codewords [1]. One can generalize the notion of traditional type class and the resulting data compression theory in the following natural way Let T be a finite rooted tree; an isomorphism of T is a one-to-one mapping of the set of vertices of T onto itself which preserves the parent-child relation. Let n be the number of leaves of T, let ℒ(T) be the set of leaves of T, and let σ be a one-to-one mapping of {1, 2, …, n} onto ℒ(T). Suppose (X1, X2, …, Xn) is a data string of length n. Define the T-type class of (X1, …, Xn) to consist of all strings (Y1, Y2, …, Yn) for which there exists an isomorphism ϕ of T such that

Y i = X σ 1 ( ϕ ( σ ( i ) ) ) , i = 1 , 2 , , n

Consider the depth one tree T = T1(n) in which there are n children of the root, which are the leaves of the tree. Then, the notion of T1(n)-type class coincides with the notion of traditional type class. Now let n = kj for positive integer j and integer k ≥ 2. Consider the depth j tree T = Tj(k) with n leaves such that each non-leaf vertex has k children. Then, a Tj(k)-type class is called a hierarchical type class, and k is called the partitioning parameter of the class. In the paper [2], we dealt with hierarchical type classes in which the partitioning parameter is k = 2. In the present paper, we deal with hierarchical type classes in which the partitioning parameter is an arbitrary k ≥ 2.

Given a hierarchical type class S, there is a simple lossless coding algorithm which encodes each string in S into a fixed-length binary codeword of minimal length, and decodes the string from its codeword. This algorithm is particularly simple for the case when the partitioning parameter is k = 2, and we illustrate this case in Example 1 which follows; the case of general k ≥ 2 is discussed in [3]. In Example 1 and subsequently, x1 * x2 * … * xk shall denote the data string obtained by concatenating together the finite-length data strings x1, x2, …, xk (left to right).

Example 1

Let k = 2, and let S be the hierarchical type class of data string AABBABAB. The 16 strings in S are illustrated in Figure 1. Each string xS has a tree representation in which each vertex of tree T3(2) is assigned a label which is a substring of x. This assignment takes place as follows.

  • The leaves of the tree, traversed left to right, are labeled with the respective left-to-right entries of the data string x.

  • For each non-leaf vertex v, if the strings labeling the left and right children of v are xL, xR, respectively, then the string labeling v is xL * xR if xL precedes or is equal to xR in the lexicographical order, and is xR * xL, otherwise.

In Figure 1, we have illustrated the tree representations of the strings AABBABAB and BAABBBAA. The root label of all 16 tree representations will be the same string, namely, the first string in S in lexicographical order, which is the string AABBABAB in this case. Each string in S is encoded by visiting, in depth-first order, the non-leaf vertices of its tree representation whose children have different labels. Each such vertex is assigned bit 0 if its label is xL * xR, where xL, xR are the labels of its left and right children, and is assigned bit 1 otherwise (meaning that the label is xR * xL). The resulting sequence of bits, in the order they are obtained, is the codeword of the string. Since both encoder and decoder will know what hierarchical type class is being encoded, the decoder will know what the root label of the tree representation should be, and then the successive bits of the codeword allow the decoder to grow the tree representation from the root downward.

Before discussing the nature of the results to be obtained in this paper, we need some definitions and notation. Fix integers m, k ≥ 2, which serve as parameters in the subsequent development; k is the partitioning parameter already introduced, and m is called the “alphabet cardinality parameter” because we shall be dealing with an m-letter data alphabet, denoted Algorithms 04 00307i2m = {a1, a2, …, am}. For each j ≥ 0, we define a j-string x to be a string of length kj over Algorithms 04 00307i2m. Note that if j ≥ 1, for each j-string x there is a unique k-tuple (x1, x2, …, xk) whose entries are (j − 1)-strings such that x = x1*x2*…*xk; this k-tuple is called the k-partitioning of x. If S1, S2, …, Sk are non-empty sets of j-strings, let S1 * S2 * … * Sk be the set of all (j + 1)-strings of the form x1 * x2 * … * xk, where xi belongs to Si for i = 1, 2, …, k. The 0-strings are the individual letters in Algorithms 04 00307i2m.

We wish to formally define the family Algorithms 04 00307i3m,k of all hierarchical type classes in which the alphabet cardinality parameter is m and the partitioning parameter is k. Instead of using the tree isomorphism definition of hierarchical type class given at the beginning of the paper, we will use an equivalent inductive definition, which is more convenient in the subsequent development. First, we define the hierarchical type class of a 0-string to be the set consisting of the string itself. Given j-string x with j ≥ 1, and assume hierarchical type classes of (j − 1)-strings have been defined. Let (x1, …, xk) be the k-partitioning of x and let Si be the hierarchical type class of xi (i = 1, …, k). The hierarchical type class of x is then defined as

π Π k [ S π ( 1 ) S π ( 2 ) S π ( k ) ]
where, from now on, Πk is the set of all permutations of {1, 2, …, k}. A set is called a hierarchical type class of order j if it is the hierarchical type class of some j-string. A set is called a hierarchical type class if it is a hierarchical type class of order j for some j ≥ 0. The family Algorithms 04 00307i3m,k is then the set of all hierarchical type classes, of all orders.

We define the type of j-string x to be the vector (n1, …, nm) whose i-th component ni is the frequency of letter ai in x. For each j ≥ 0, let Λj (m, k) be the set of all types of j-strings. Let Λ(m, k) be the union of the Λj(m, k)'s for j ≥ 0, and let Λ+(m, k) be the union of the Λj(m, k)'s for j ≥ 1. A type in Λj(m, k) will be said to be of order j. If λ ∈ Λ(m, k), let ‖λ‖ denote the sum of the components of λ. If λ is of order j, then ‖λ‖ = kj. All strings in a hierarchical type class have the same type, because permuting a string does not change the type. This property is listed below, along with some other properties whose simple proofs are omitted.

  • Prop. 1: All strings in a hierarchical type class have the same type.

  • Prop. 2: For each j ≥ 0, the distinct hierarchical type classes of order j form a partition of the set of all j-strings.

  • Prop. 3: Let λ ∈ Λ(m, k), and let Algorithms 04 00307i3m,k(λ) denote the set of all hierarchical type classes in Algorithms 04 00307i3m,k whose strings are of type λ. Then Algorithms 04 00307i3m,k(λ) forms a partition of the set of all strings of type λ.

  • Prop. 4: Let S Algorithms 04 00307i3m,k be a hierarchical type class of order j ≥ 1. Then there is a k-tuple (S1, S2, …, Sk), unique up to permutation, such that each Si is a hierarchical type class of order j − 1 and S is expressible as Expression (1).

Global Hierarchical Entropy Function

The global hierarchical entropy function is the function H : Algorithms 04 00307i3m,k → [0, ∞) such that

H ( S ) log 2 | S | , S S m , k
where, in this paper, if S is a finite set, |S| shall denote the cardinality of S. H(S) shall be called the entropy of S. Given a hierarchical type class S, its entropy H(S) has the following interpretation. Suppose H(S) > 0, and we losslessly encode the strings in S into fixed-length binary codewords of minimal length (as discussed in Example 1 and in [3]). Then this minimal length is ⌈H(S)⌉.

Lemma 1

Let S be a hierarchical type class of order j ≥ 1. Let (S1, S2, …, Sk) be the k-tuple of hierarchical type classes of order j − 1 associated with S according to Prop. 4, and let N(S) be the number of distinct permutations of this k-tuple. Then,

H ( S ) = [ i = 1 k H ( S i ) ] + log 2 N ( S )

Proof

Represent S as the Expression (1). Formula (2) follows easily from this expression.

Remark

We see now how to inductively compute entropy values H(S), as follows. If S is of order 0, then |S| = 1 and so H(S) = 0. If S is of order j ≥ 1, assume all entropy values for hierarchical type classes of smaller order have been computed. Then Equation (2) is used to compute H(S).

Discussion

Let {Sj : j ≥ 1} be a sequence of hierarchical type classes from Algorithms 04 00307i3m,k such that Sj is of order j (j ≥ 1). Consider the sequence of normalized entropies {H(Sj)/kj : j ≥ 1}. As j becomes large, the normalized entropy H(Sj)/kj approximates more and more closely the compression rate in bits per data sample that results from the compression scheme on Sj. It is therefore of interest to determine circumstances under which such a sequence of normalized entropies will have a limit that we can compute. We discuss our approach to this problem, which will be pursued in the rest of this paper. A hierarchical source is defined to be a family {S(λ) : λ ∈ Λ(m, k)} in which each S(λ) is a hierarchical type class selected from Algorithms 04 00307i3m,k(λ). (We will also impose a natural consistency condition on how these selections are made in our formal hierarchical source definition to be given in the next section.) Let ℝ denote the real line, and let ℙm be the subset of ℝm consisting of all m-dimensional probability vectors. We consider ℙm to be a metric space with the Euclidean metric. For each λ ∈ Λ(m, k), let pλ be the probability vector λ/‖λ‖ in ℙm. Suppose there exists a (necessarily unique) continuous function h : ℙm → [0, ∞) such that for each p ∈ ℙm, and each sequence {λj : j ≥ 0} for which λj ∈ Λj(m, k) (j ≥ 0) and limj→∞ pλj = p, the limit property

h ( p ) = lim j H ( S ( λ j ) ) / k j
holds. Then we call the function h the hierarchical entropy function induced by the source {S(λ) : λ ∈ Λ(m, k)}. A hierarchical entropy function is defined to be any function on ℙm which is the hierarchical entropy function induced by some hierarchical source. One of the goals of hierarchical data compression theory is to identify hierarchical entropy functions and to learn about their properties. In the paper [2], two hierarchical entropy functions were introduced. In the present paper, we go further by identifying infinitely many hierarchical entropy functions which are each self-affine, and for each one of these entropy functions, we exhibit an explicit iterated function system whose attractor is the graph of the entropy function.

2. Hierarchical Sources

This section is devoted to the discussion of hierarchical sources. The concept of hierarchical source was informally described in the Introduction. In Section 2.1., we make this concept formal. In Section 2.2., we define the entropy-stable hierarchical sources, which are the hierarchical sources that induce hierarchical entropy functions. In Section 2.3., we introduce a particular type of entropy-stable hierarchical source called finitary hierarchical source. The finitary hierarchical sources induce the hierarchical entropy functions that are the subject of this paper.

2.1. Formal Definition of Hierarchical Source

Let Algorithms 04 00307i3 = {S(λ) : λ ∈ Λ(m, k)} be a family of hierarchical type classes in which each class S(λ) belongs to the set of classes Algorithms 04 00307i3m,k(λ). Then Algorithms 04 00307i3 is defined to be a (Λ(m, k)-indexed) hierarchical source if the following additional condition is satisfied.

  • Consistency Condition: For each S Algorithms 04 00307i3 of order > 0, each term in the k-tuple (S1, S2, …, Sk) associated with S in Prop. 4 also belongs to Algorithms 04 00307i3.

We discuss how the Consistency Condition gives us a way to describe every possible hierarchical source. Let Λ(m, k)k be the set of all k-tuples whose entries come from Λ(m, k). Let Φ(m, k) be the set of all mappings ϕ: Λ(m, k)+ → Λ(m, k)k such that whenever ϕ(λ) = (λ1, λ2, …, λk), we have

  • λ = i = 1 k λ i.

  • If λ is of order j, then each entry λi of ϕ(λ) is of order j − 1.

Each ϕ ∈ Φ(m, k) gives rise to a Λ(m, k)-indexed hierarchical source Algorithms 04 00307i3ϕ = {Sϕ(λ) : λ ∈ Λ(m, k)}, defined inductively as follows.

  • If λ ∈ Λ(m, k) is of order 0, define class Sϕ(λ) to be the set {ai}, where ai is the unique letter in Algorithms 04 00307i2m whose type is λ.

  • If λ ∈ Λ(m, k)+, assume class Sϕ(λ*) has been defined for all types λ* of order less than the order of λ. Letting ϕ(λ) = (λ1, λ2, …, λk), define

    S ϕ ( λ ) π Π k [ S ϕ ( λ π ( 1 ) ) S ϕ ( λ π ( 2 ) ) S ϕ ( λ π ( k ) ) ]

From the Consistency Condition, all possible hierarchical sources arise in this way, that is, given any Λ(m, k)-indexed hierarchical source Algorithms 04 00307i3, there exists ϕ ∈ Φ(m, k) such that Algorithms 04 00307i3 = Algorithms 04 00307i3ϕ.

Another advantage of the Consistency Condition is that it allows the entropies of the classes in a hierarchical source to be recursively computed. To see this, let Algorithms 04 00307i3 = {S(λ) : λ ∈ Λ(m, k)} be a Λ(m, k)-indexed hierarchical source and choose ϕ ∈ Φ(m, k) such that Algorithms 04 00307i3 = Algorithms 04 00307i3ϕ. Define Hϕ : Λ(m, k) → [0, ∞) to be the function which takes the value zero on Λ0(m, k), and for each λ ∈ Λ+(m, k),

H ϕ ( λ ) = [ i = 1 k H ϕ ( λ i ) ] + log 2 N ( λ )
where (λ1, …, λk) is the k-tuple ϕ(λ) and N(λ) is the number of distinct permutations of this k-tuple. By the Consistency Condition and Lemma 1,
H ϕ ( λ ) = H ( S ( λ ) ) , λ Λ ( m , k )

2.2. Entropy-Stable Hierarchical Sources

The concept of entropy-stable source discussed in this section allows us to formally define the concept of hierarchical entropy function.

For each j ≥ 0, define the finite set of probability vectors

m ( j ) { p λ : λ Λ j ( m , k ) }
where the reader will recall that pλ = λ/‖λ‖. Note that the sets {ℙm(j) : j ≥ 0} are increasing in the sense that
m ( j ) m ( j + 1 ) , j 0

Let m be the countably infinite set of probability vectors which is the union of the ℙm(j)'s.

Suppose we have a hierarchical source Algorithms 04 00307i3 = {S(λ) : λ ∈ Λ(m, k)}. For each j ≥ 0, let hj : ℙm(j) → [0, ∞) be the unique function for which

h j ( p λ ) = H ( S ( λ ) ) / λ , λ Λ j ( m , k )

Suppose p m Because of the increasing sets property Equation (4), p is a member of the set ℙm(j) for j sufficiently large. Consequently, hj(p) is defined for j sufficiently large, and so it makes sense to talk about the limit of the sequence {hj(p) : j ≥ 0}, if this limit exists. We define the source Algorithms 04 00307i3 to be entropy-stable if there exists a continuous function h : ℙm → [0, ∞) such that

h ( p ) = lim j h j ( p ) , p m
and the function h (which is unique since m is dense in ℙm) is called the hierarchical entropy function induced by Algorithms 04 00307i3. Henceforth, the terminology “hierarchical entropy function” denotes a function which is the hierarchical entropy function induced by some entropy-stable hierarchical source.

2.3. Finitary Hierarchical Sources

If λ = (n1, n2, …, nm) is a type in Λ(m, k)+, define

r ( λ ) ( mod ( n 1 , k ) , mod ( n 2 , k ) , , mod ( n m , k ) )
where mod(n, k) ∈ {0, 1, …, k − 1} is the remainder upon division of n by k. Each entry of r(λ) belongs to the set {0, 1, …, k − 1} and the sum of the entries of r(λ) is an integer multiple of k.

Definitions

  • ℛ(m, k) is defined to be the set of all m-tuples whose entries come from {0, 1, …, k − 1} and sum to an integer multiple of k.

  • Ψ(m, k) is defined to be the set of all mappings ψ from ℛ(m, k) to the set of binary k × m matrices such that if r = (r1, …, rm) belongs to ℛ(m, k), then ψ(r) has left-to-right column sums r1, r2, …, rm and row sums all equal to (r1 + r2 + … + rm)/k. The set Ψ(m, k) is nonempty for each choice of parameters m, k ≥ 2 [4,5].

  • If ψ ∈ Ψ(m, k), define ψ* to be the unique mapping in Φ(m, k) which does the following. If λ = (n1, n2, …, nm) belongs to Λ(m, k)+, let A = ψ(r(λ)). Then ψ*(λ) = (λ1, λ2, …, λk), where

    λ i = ( n 1 / k , n 2 / k , , n m / k ) + A ( i , 1 : m ) , i = 1 , 2 , , k
    with A(i, 1 : m) denoting the i-th row of A.

  • Suppose ψ ∈ Ψ(m, k) and let ϕ = ψ*. The Λ(m, k)-indexed hierarchical source {Sϕ : λ ∈ Λ(m, k)} defines a finitary source. For each choice of parameters m, k ≥ 2, since Ψ(m, k) is nonempty, there is at least one finitary Λ(m, k)-indexed hierarchical source. The word “finitary” is used to describe these sources because they are each definable in finite terms by the specification of mk|ℛ(m, k)| bits (the elements of a number of k × m binary matrices).

Example 2

Note that (1122) belongs to ℛ(4, 3). Suppose

ψ ( 1122 ) = [ 1100 0011 0011 ]

Note that (7758) ∈ Λ+(4, 3), and that

r ( 7758 ) = mod ( ( 7758 ) , 3 ) = ( 1122 )

Since ⌊(7758)/3⌋ = (2212), we see that ψ*(7758) = (λ1, λ2, λ3), where

λ 1 = ( 2212 ) + ( 1100 ) = ( 3312 ) λ 2 = ( 2212 ) + ( 0011 ) = ( 2223 ) λ 3 = ( 2212 ) + ( 0011 ) = ( 2223 )

Note that the splitting up of (7758) into the three types (3312), (2223), (2223) indeed does make sense because these latter three types sum to (7758) and are of order 2, one less than the order of (7758).

Example 3

Fix the alphabet cardinality parameter to be 2, and fix the partitioning parameter k to be any integer ≥ 2. Let (r1, r2) belong to ℛ(2, k). Then either (a) (r1, r2) = (0, 0) or (b) r1 + r2 = k. In case (a), we define ψ(r1, r2) to be the k × 2 zero matrix. In case (b), we define ψ(r1, r2) to be the k × 2 matrix whose first r1 rows are (1, 0) and whose last r2 rows are (0, 1). Letting ϕ = ψ*, we obtain finitary Λ(2, k)-indexed hierarchical source Algorithms 04 00307i3ϕ.

Example 4

Now fix the alphabet cardinality parameter to be 3, and fix the partitioning parameter k to be any integer ≥ 2. Let (r1, r2, r3) belong to ℛ(3, k). Then either (a) (r1, r2, r3) = (0, 0, 0); (b) r1 + r2 + r3 = k; or (c) r1 + r2 + r3 = 2k. In case (a), we define ψ(r1, r2, r3) to be the k × 3 zero matrix. In case (b), we define ψ(r1, r2, r3) to be the k × 3 matrix whose first r1 rows are (100), whose next r2 rows are (010), and whose last r3 rows are (001). In case (c), we define ψ(r1, r2, r3) to be the k × 3 matrix whose first kr1 rows are (011), whose next kr2 rows are (101), and whose last kr3 rows are (110). Letting ϕ = ψ*, we obtain finitary Λ(3, k)-indexed hierarchical source Algorithms 04 00307i3ϕ.

Remarks

For each fixed k ≥ 2,

  • The source defined in Example 3 is the unique finitary Λ(2, k)-indexed hierarchical source.

  • The source defined in Example 4 is the unique finitary Λ(3, k)-indexed hierarchical source.

This is because the matrices employed in these examples are unique up to row permutation.

Theorem 1

Let m, k ≥ 2 be arbitrary, and let {S(λ) : λ ∈ Λ(m, k)} be any finitary Λ(m, k)-indexed hierarchical source. Then the source is entropy-stable and the hierarchical entropy function induced by the source can be characterized as the unique continuous function h : ℙm → [0, ∞) such that

h ( λ / λ ) = H ( S ( λ ) ) / λ , λ Λ ( m , k )

Theorem 1 is proved in Appendix A.

Notations and Remarks

  • Fix k to be an arbitrary integer ≥ 2. Let {S(λ) : λ ∈ Λ(2, k)} be the unique finitary Λ(2, k)-indexed hierarchical source. H2,k : Λ(2, k) → [0, ∞) shall denote the entropy function

    H 2 , k ( λ ) = H ( S ( λ ) ) , λ Λ ( 2 , k )

    For later use, we remark that

    H 2 , k ( n 1 , n 2 ) = log 2 [ k ! n 1 ! n 2 ! ] = log 2 ( k n 1 ) , ( n 1 , n 2 ) Λ 1 ( 2 , k )

    The hierarchical entropy function induced by this source maps ℙ2 into [0, ∞) and shall be denoted h2,k. The relationship between functions H2,k and h2,k is

    h 2 k ( λ / λ ) = H 2 , k ( λ ) / λ , λ Λ ( 2 , k )

  • Fix k to be an arbitrary integer ≥ 2. Let {S(λ) : λ ∈ Λ(3, k)} be the unique finitary Λ(3, k)-indexed hierarchical source. H3,k : Λ(3, k) → [0, ∞) shall denote the entropy function

    H 3 , k ( λ ) = H ( S ( λ ) ) , λ Λ ( 3 , k )

    For later use, we remark that

    H 3 , k ( n 1 , n 2 , n 3 ) = log 2 [ k ! n 1 ! n 2 ! n 3 ! ] , ( n 1 , n 2 , n 3 ) Λ 1 ( 3 , k )

    The hierarchical entropy function induced by this source maps ℙ3 into [0, ∞) and shall be denoted h3,k. The relationship between functions H3,k and h3,k is

    h 3 , k ( λ / λ ) = H 3 , k ( λ ) / λ , λ Λ ( 3 , k )

In Section 3, we show that hierarchical entropy function h2,k is self-affine for each k ≥ 2, and in Section 4, we show that hierarchical entropy function h3,k is self-affine for each k ≥ 2.

3. h2,k Is Self-Affine

An iterated function system (IFS) on a closed nonempty subset Ω of a finite-dimensional Euclidean space is a finite nonempty set of mappings which map Ω into itself and are each contraction mappings. Given an IFS Algorithms 04 00307i1 on Ω, there exists ([6], Theorem 9.1) a unique nonempty compact set Q ⊂ Ω such that

Q = T T T ( Q )

Q is called the attractor of the IFS Algorithms 04 00307i1.

Suppose h : ℙm → [0, ∞) is the hierarchical entropy function induced by an entropy-stable Λ(m, k)-indexed hierarchical source. Let m = ℙm × ℝ, regarded as a metric space with the Euclidean metric that it inherits from being regarded as a closed convex subset of ℝm+1. We define h to be self-affine if there is an IFS Algorithms 04 00307i1 on Ωm such that

  • Each mapping in Algorithms 04 00307i1 is an affine mapping.

  • The attractor of Algorithms 04 00307i1 is {(p, h(p)) : p ∈ ℙm}, the graph of h.

For the rest of this section, k ≥ 2 is fixed. Our goal is to show that the function h2,k : ℙ2 → [0, ∞) is self-affine, where h2,k is the hierarchical entropy function induced by the unique finitary Λ(2, k)-indexed hierarchical source.

For each i = 0, 1, …, k − 1,

  • Define the matrix

    M i [ i + 1 k i 1 i k i ]

  • Define T i : 2 2 to be the mapping

    T i ( p ) k 1 p M i , p 2

  • Define the vector

    v i ( log 2 ( k i + 1 ) , log 2 ( k i ) )

  • Define Ti : Ω2 → Ω2 to be the mapping

    T i ( p , y ) ( T i ( p ) , k 1 y + k 1 p v i ) , ( p , y ) Ω 2
    where p · vi denotes the usual dot product.

Remarks

It is clear that the set of mappings { T i : i = 0 , 1 , , k 1 } is an IFS on ℙ2. This fact allows one to prove (Lemma B.3 of Appendix B) that the related set of mappings {Ti : i = 0, 1, …, k − 1} is an IFS on Ω2. This result is the first part of the following theorem.

Theorem 2

Let k ≥ 2 be arbitrary. The following statements hold:

  • (a): {T0, T1, …, Tk−1} is an IFS on Ω2.

  • (b): h2,k is self-affine and its graph is the attractor of the IFS in (a).

  • (c): For each i = 0, 1, …, k − 1,

    T i ( p , h 2 , k ( p ) ) = ( T i ( p ) , h 2 , k ( T i ( p ) ) ) , p 2

Our proof of Theorem 2 requires the following lemma.

Lemma 2

Let ϕ ∈ Φ(2, k) be the function in Example 3 such that Algorithms 04 00307i3ϕ is the unique finitary Λ(2, k)-indexed hierarchical source. For each i = 0, 1, …, k − 1,

  • (a.1): If λ ∈ Λ(2, k), then λMi ∈ Λ(2, k) and ‖λMi‖ = kλ‖;

  • (a.2): If λ ∈ Λ(2, k)+ and ϕ(λ) = (λ1, λ2, …, λk), then

    ϕ ( λ M i ) = ( λ 1 M i , λ 2 M i , , λ k M i )

Proof

Property (a.1), whose proof we omit, is a simple consequence of the fact that Mi has row sums equal to k. Fix a type λ from Λ(2, k)+. Letting ϕ(λ) = (λ1, λ2, …, λk) and letting ϕ(λMi) = (µ1, µ2, …, µk), we show µs = λsMi (s = 1, …, k), which will establish Property (a.2). Write λ in the form

λ = ( k q 1 + r 1 , k q 2 + r 2 )
where r(λ) = (r1, r2). As remarked in Example 3, either r1 = r2 = 0, or r1 + r2 = k. Let us first handle the case r1 + r2 = k. Then
λ s = ( q 1 , q 2 ) + ( 1 , 0 ) , 1 s r 1 λ s = ( q 1 , q 2 ) + ( 0 , 1 ) , r 1 + 1 s k

It is easy to show that

λ M i = ( k q 1 + r 1 , k q 2 + r 2 )
where
q 1 = ( i + 1 ) q 1 + i q 2 + i , q 2 = ( k i 1 ) q 1 + ( k i ) q 2 + k i 1

It follows that

μ s = ( q 1 , q 2 ) + ( 1 , 0 ) , 1 s r 1
μ s = ( q 1 , q 2 ) + ( 0 , 1 ) , r 1 + 1 s k

For 1 ≤ sr1, we have

λ s M i = ( q 1 + 1 , q 2 ) M i = ( q 1 ( i + 1 ) + q 2 i + i + 1 , q 1 ( k i 1 ) + q 2 ( k i ) + k i 1 ) = ( q 1 + 1 , q 2 ) = μ s

For r1 + 1 ≤ sk, we have

λ s M i = ( q 1 , q 2 + 1 ) M i = ( q 1 ( i + 1 ) + q 2 i + i , q 1 ( k i 1 ) + q 2 ( k i ) + k 1 ) = ( q 1 , q 2 + 1 ) = μ s

The remaining case r1 = r2 = 0 is much easier. We have

λ = ( q 1 k , q 2 k ) λ s = ( q 1 , q 2 ) , 1 s k λ M i = ( q 1 k ( i + 1 ) + q 2 k i , q 1 k ( k i 1 ) + q 2 k ( k i ) ) μ s = ( q 1 ( i + 1 ) + q 2 i , q 1 ( k i 1 ) + q 2 ( k i ) ) = λ s M i , 1 s k

Proof of Theorem 2

We first derive part(c) and then part(b) (part(a) is already taken care of, as remarked previously). We derive part(c) by establishing Equation (11) for a fixed i ∈ {0, 1, …, k − 1}. Let ϕ ∈ Φ(2, k) be the function given in Example 3 and recall that H2,k denotes the entropy function Hϕ on Λ(2, k). Referring to the definition of T i in Equation (9) and Ti in Equation (10), we see that proving Equation (11) is equivalent to proving

h 2 , k ( k 1 p M i ) = k 1 h 2 , k ( p ) + k 1 p v i , p 2

We first show that

H 2 , k ( λ M i ) = H 2 , k ( λ ) + λ v i , λ Λ ( 2 , k )

Our proof of Equation (13) is by induction on ‖λ‖. We first must verify Equation (13) for ‖λ‖ = 1, which is the two cases λ = (1, 0) and λ = (0, 1). For λ = (1, 0), the left side of Equation (13) is the entropy of the first row of Mi, which by Equation (5) is

H 2 , k ( i + 1 , k i 1 ) = log 2 ( k i + 1 )
and the right side is
H 2 , k ( 1 , 0 ) + ( 1 , 0 ) v i = 0 + log 2 ( k i + 1 )

Similarly, if λ = (0, 1), both sides of Equation (13) are equal to log 2 ( k i ). Fix λ* ∈ Λ(2, k) for which ‖λ*‖ > 1, and for the induction hypothesis assume that Equation (13) holds when ‖λ‖ is smaller than ‖λ*‖. The proof by induction is then completed by showing that Equation (13) holds for λ = λ*. Let

ϕ ( λ ) = ( λ 1 , λ 2 , , λ k )

By the induction hypothesis,

H 2 , k ( λ s M i ) = H 2 , k ( λ s ) + λ s v i , s = 1 , 2 , , k

Adding,

s = 1 k H 2 , k ( λ s M i ) = [ s = 1 k H 2 , k ( λ s ) ] + λ v i

By Lemma 2,

ϕ ( λ M i ) = ( λ 1 M i , λ 2 M i , , λ k M i )

Appealing to Equation (3), we then have

s = 1 k H 2 , k ( λ s M i ) = H 2 , k ( λ M i ) log 2 N
where N is the number of permutations of the k-tuple (λ1Mi, …, λkMi). Similarly,
s = 1 k H 2 , k ( λ s ) = H 2 , k ( λ ) log 2 N 2
where N2 is the number of permutations of the k-tuple (λ1, …, λk). Since Mi is nonsingular (its determinant is k), we have N = N2. Substituting the right hand sides of the previous two equations into Equation (14), we obtain Equation (13) for λ = λ*, completing the proof by induction. Dividing both sides of Equation (13) by ‖λ‖, and using the fact that ‖λMi‖ = kλ‖, we see that
k H 2 , k ( λ M i ) / λ M i = ( H 2 , k ( λ ) / λ ) + p λ v i
which by Equation (6) becomes
k h 2 , k ( ( λ M i ) / λ M i = h 2 , k ( p λ ) + p λ v i

It is easy to see that

( λ M i ) / λ M i = k 1 p λ M i

Therefore,

h 2 , k ( k 1 p λ M i ) = k 1 h 2 , k ( p λ ) + k 1 ( p λ v i )

Equation (12) then follows since the set 2 = { p λ : λ Λ ( 2 , k ) } is dense in ℙ2 and h2,k is a continuous function on ℙ2, completing the derivation of part(c) of Theorem 2. All that remains is to prove part(b) of Theorem 2. Let G = {(p, h2,k(p)) : p ∈ ℙ2} be the graph of h2,k. Part(c) is equivalent to the property that

T i ( G ) G , i = 0 , 1 , , k 1

This property, together with the fact that { T i : i = 0 , 1 , , k 1 } is an IFS on ℙ2 with attractor ℙ2, allows us to conclude that G is the attractor of the IFS {T0, …, Ti−1} (Lemma B.1 of Appendix B), and h2,k is self-affine because the Ti's are affine. Theorem 2(b) is therefore true.

Generating Hierarchical Entropy Function Plots

For each k ≥ 2, let h 2 , k : [ 0 , 1 ] be the function

h 2 , k ( x ) = h 2 , k ( x , 1 x ) , 0 x 1

We can obtain kn points on the plot of h 2 , k as follows. Let {Ti : i = 0, 1, …, k − 1} be the IFS on Ω2 given in Theorem 2, such that the attractor of this IFS is the graph of h2,k. Let S0(k) = {(0, 1, 0)}, and generate subsets S1(k), S2(k), …, Sn(k) of ℝ3 by the recursion

S j ( k ) = i = 0 k 1 T i ( S j 1 ( k ) ) , j = 1 , 2 , , n

Then Sn(k) consists of kn points of the form (x, 1 − x, h2,k(x, 1 − x)). Projecting according to

( x , 1 x , h 2 , k ( x , 1 x ) ) ( x , h 2 , k ( x , 1 x ) ) = ( x , h 2 , k ( x ) )
we obtain kn points on the plot of h 2 , k . Using a Dell Latitude D620 laptop, we did Sn(k) computations to obtain the plots in Figure 2, as follows.

  • The plot of h 2 , 2 used the set S24 (2), consisting of 224 = 16777216 points, computed in 4.2 seconds.

  • The plot of h 2 , 3 used the set S15 (3) consisting of 315 = 14348907 points, computed in 3.3 seconds.

  • The plot of h 2 , 4 used the set S12(4) consisting of 412 = 16777216 points, computed in 3.5 seconds.

We point out that the functions h 2 , 2 and h 2 , 4 , although their plots look similar, are not the same. For example, h 2 , 2 ( 1 / 2 ) = 1 / 2, whereas h 2 , 4 ( 1 / 2 ) = log 2 ( 6 ) / 4 0.646.

4. h3,k Is Self-Affine

Fix k ≥ 2. It is the purpose of this section to study h3,k : ℙ3 → [0, ∞), the hierarchical entropy function induced by the unique finitary Λ(3, k)-indexed hierarchical source. In ℝ3, let Qk be the convex hull of the set {(k, 0, 0), (0, k, 0), (0, 0, k)}. Then Qk is an equilateral triangle whose three vertices are (k, 0, 0), (0, k, 0), (0, 0, k). We employ the well-known quadratic partition [7] of Qk into k2 congruent equilateral triangles, formed as follows. Partition each of the three sides of Qk into k line segments of equal length by laying down k − 1 interior points along the side. For each vertex of Qk, draw a line segment connecting the first interior points reached going out from the vertex along its two sides, then draw a line segment connecting the second interior points reached, and so forth until k − 1 line segments have been drawn. Doing this for each of the three vertices, you will have drawn a total of 3(k − 1) line segments, which subdivide Qk into the k2 congruent equilateral triangles of the quadratic partition. See Figure 3, which illustrates the quadratic partition of triangle Q3 into nine sub-triangles.

Let V1 be the set of all points (a, b, c) in Qk such that a is a positive integer and b, c are non-negative integers. There are k(k + 1)/2 points in V1. For each v = (a, b, c) in V1, let M1,v be the 3 × 3 matrix

M 1 , v = [ a b c a 1 b + 1 c a 1 b c + 1 ]

For each vV1, the convex hull of the rows of M1,v is one of the sub-triangles in the quadratic partition of Qk, and these sub-triangles are distinct as v varies through V1. This gives us a total of k(k + 1)/2 of the sub-triangles in the quadratic partition of Qk, and we call these the V1 sub-triangles of the partition. Let V2 be the set of all (a, b, c) in Qk such that a is a non-negative integer and b, c are positive integers. There are k(k − 1)/2 points in V2. For each v = (a, b, c) in V2, let M2,v be the 3 × 3 matrix

M 2 , v = [ a b c a + 1 b 1 c a + 1 b c 1 ]

For each vV2, the convex hull of the rows of M2,v is one of the sub-triangles in the quadratic partition of Qk, and these sub-triangles are distinct as v varies through V2. This gives us a total of k(k − 1)/2 of the sub-triangles in the quadratic partition of Qk, and we call these the V2 sub-triangles of the partition. The V1 sub-triangles are all translations of each other; the V2 sub-triangles are all translations of each other and each one can be obtained by rotating a V1 sub-triangle about its center 180 degrees, followed by a translation. Together, the k(k + 1)/2 V1 sub-triangles and the k(k − 1)/2 V2 sub-triangles constitute all k2 sub-triangles in the quadratic partition of Qk.

We define ℳ(k) to be the set of k2 matrices

( k ) { M 1 , v : v V 1 } { M 2 , v : v V 2 }

Each row sum of each matrix in ℳ(k) is equal to k. Because of this property, we can define for each M ∈ ℳ(k) the mapping T M : 3 3 in which

T M ( p ) k 1 p M , p 3
and we can also define the mapping TM : Ω3 → Ω3 in which
T M ( p , y ) ( T M ( p ) , k 1 y + k 1 p v M ) , ( p , y ) Ω 3
where
v M = ( H 3 , k ( M ( 1 , 1 : 3 ) ) , H 3 , k ( M ( 2 , 1 : 3 ) ) , H 3 , k ( 3 , 1 : 3 ) )

Remarks

It is clear that the set of k2 mappings { T M : M M ( k ) } is an IFS on ℙ3. This fact allows one to prove (Lemma B.4 of Appendix B) that the related set of k2 mappings {TM : M ∈ ℳ(k)} is an IFS on Ω3. In the following example, we exhibit this IFS in a special case.

Example 5

Let k = 3. Referring to Figure 3, we see that the 9 matrices in ℳ (3) are

M 1 = [ 300 210 201 ] , M 2 = [ 201 111 102 ] , M 3 = [ 210 120 111 ] M 4 = [ 102 012 003 ] , M 5 = [ 111 021 012 ] , M 6 = [ 120 030 021 ] M 7 = [ 111 201 210 ] , M 8 = [ 012 102 111 ] , M 9 = [ 021 111 120 ]

Following Equation (19), let vi ∈ ℙ3 be the vector whose components are the H3,3 entropies of the rows of Mi. Letting α = log2 3 and β = log2 6, Formula (7) is used to obtain

v 1 = ( 0 , α , α ) , v 2 = ( α , β , α ) , v 3 = ( α , α , β ) v 4 = ( α , α , 0 ) , v 5 = ( β , α , α ) , v 6 = ( α , 0 , α ) v 7 = ( β , α , α ) , v 8 = ( α , α , β ) , v 9 = ( α , β , α )

Following Equation (18), for each i = 1, 2, …, 9, let Ti : Ω3 → Ω3 be the mapping defined by

T i ( p , y ) ( p M i , y + p v i ) / 3 , ( p , y ) Ω 3

Theorem 3 which follows will tell us that the graph of h3,3 is the attractor of the IFS { T i } i = 1 9.

Theorem 3

Let k ≥ 2 be arbitrary The following statements hold:

  • (a): {TM : M ∈ ℳ(k)} is an IFS on Ω3.

  • (b): h3,k is self-affine and its graph is the attractor of the IFS in (a).

  • (c): For each M ∈ ℳ(k),

T M ( p , h 3 , k ( p ) ) = ( T M ( p ) , h 3 , k ( T M ( p ) ) ) , p 3

Our proof of Theorem 3 requires a couple of lemmas, which follow.

Lemma 3

Let λ ∈ Λ(3,k)+, let ϕ ∈ Φ(3,k) be the function given in Example 4, and let ϕ(λ) = (λ1, λ2, …, λk). Suppose we write

λ = ( k q 1 + r 1 , k q 2 + r 2 , k q 3 + r 3 )
where the qi's are non-negative, the ri's belong to the set {1, 2, …, k}, and r1 + r2 + r3 = 2k. Then
card { 1 i k : λ i = ( q 1 , q 2 + 1 , q 3 + 1 ) } = k r 1
card { 1 i k : λ i = ( q 1 + 1 , q 2 , q 3 + 1 ) } = k r 2
card { 1 i k : λ i = ( q 1 + 1 , q 2 + 1 , q 3 ) } = k r 3

Proof

If each ri < k, then by definition of ϕ(λ) in Example 4, the properties Equations (21)(23) are true. Now suppose at least one ri = k. Then exactly one ri = k (since otherwise some ri = 0, which is not allowed). By symmetry, we may suppose that r1 = k. We may now express λ as

λ = ( ( q 1 + 1 ) k , q 2 k + r 2 , q 3 k + r 3 )

Since r2, r3 ∈ {1, 2, …, k − 1}, and r2 + r3 = k, the definition of ϕ(λ) tells us that

card { 1 i k : λ i = ( q 1 + 1 , q 2 , q 3 ) + ( 0 , 1 , 0 ) } = r 2
card { 1 i k : λ i = ( q 1 + 1 , q 2 , q 3 ) + ( 0 , 0 , 1 ) } = r 3

Equation (24) yields Equation (23), Equation (25) yields Equation (22), and Equation (21) is vacuously true because kr1 = 0.

Lemma 4

Let ϕ ∈ Φ(3, k) be the function given in Example 4. Properties (a.1)-(a.2) below are true for any matrix M in the set ℳ(k).

  • (a.1): If λ is a type in Λ(3, k), then λM ∈ Λ(3, k) and ‖λM‖ = kλ‖;

  • (a.2): If λ is a type in Λ(3, k)+, and ϕ(λ) = (λ1, λ2, …, λk), then ϕ(λM) is some permutation of (λ1M, λ2M, …, λkM).

Proof

Property (a.1), whose proof we omit, is a simple consequence of the fact that each matrix in ℳ(k) has row sums equal to k. Fix λ ∈ Λ(3, k)+ and fix M ∈ ℳ(k). Let r(λ) = (r1, r2, r3), and let

λ = ( k q 1 + r 1 , k q 2 + r 2 , k q 3 + r 3 ) ϕ ( λ ) = ( λ 1 , λ 2 , , λ k ) ϕ ( λ M ) = ( μ 1 , μ 2 , , u k )

M is either of the form Equation (15) (Case 1) or of the form Equation (16) (Case 2). Throughout the rest of the proof, we employ the parameter β = (r1 + r2 + r3)/k. As remarked in Example 4, β ∈ {0, 1, 2}.

Proof for Case 1

We have λ M = ( k q 1 + r 1 , k q 2 + r 2 , k q 3 + r 3 ), where

q 1 q 1 a + q 2 ( a 1 ) + q 3 ( a 1 ) + β ( a 1 ) q 2 q 1 b + q 2 ( b + 1 ) + q 3 b + β b q 3 q 1 c + q 2 c + q 3 ( c + 1 ) + β c

Note that

( q 1 , q 2 , q 3 ) M = ( q 1 , q 2 , q 3 ) β ( α 1 , b , c )

If β = 0, then

λ i = ( q 1 , q 2 , q 3 ) , μ i = ( q 1 , q 2 , q 3 ) , i = 1 , 2 , , k

From Equation (26), we have ( q 1 , q 2 , q 3 ) M = ( q 1 , q 2 , q 3 ), and therefore Property (a.2) follows. If β = 1, by definition of ϕ(λ) and ϕ(λM) in Example 4,

card { 1 i k : λ i = ( q 1 + 1 , q 2 , q 3 ) } = r 1
card { 1 i k : λ i = ( q 1 , q 2 + 1 , q 3 ) } = r 2
card { 1 i k : λ i = ( q 1 , q 2 , q 3 + 1 ) } = r 3
card { 1 i k : μ i = ( q 1 + 1 , q 2 , q 3 ) } = r 1 card { 1 i k : μ i = ( q 1 , q 2 + 1 , q 3 ) } = r 2 card { 1 i k : μ i = ( q 1 , q 2 , q 3 + 1 ) } = r 3

Property (a.2) then follows if the equations

( q 1 + 1 , q 2 , q 3 ) M = ( q 1 + 1 , q 2 , q 3 ) ( q 1 , q 2 + 1 , q 3 ) M = ( q 1 , q 2 + 1 , q 3 ) ( q 1 , q 2 , q 3 + 1 ) M = ( q 1 , q 2 , q 3 + 1 )
are valid. These three equations can be seen to hold using the fact from Equation (26) that
( q 1 , q 2 , q 3 ) M = ( q 1 , q 2 , q 3 ) ( a 1 , b , c )

Finally, if β = 2,

card { 1 i k : λ i = ( q 1 , q 2 + 1 , q 3 + 1 ) } = k r 1
card { 1 i k : λ i = ( q 1 + 1 , q 2 , q 3 + 1 ) } = k r 2
card { 1 i k : λ i = ( q 1 + 1 , q 2 + 1 , q 3 ) } = k r 3
card { 1 i k : μ i = ( q 1 , q 2 + 1 , q 3 + 1 ) } = k r 1 card { 1 i k : μ i = ( q 1 + 1 , q 2 , q 3 + 1 ) = k r 2 card { 1 i k : μ i = ( q 1 + 1 , q 2 + 1 , q 3 ) } = k r 3

Property (a.2) then follows if the equations

( q 1 , q 2 + 1 , q 3 + 1 ) M = ( q 1 , q 2 + 1 , q 3 + 1 ) ( q 1 + 1 , q 2 , q 3 + 1 ) M = ( q 1 + 1 , q 2 , q 3 + 1 ) ( q 1 + 1 , q 2 + 1 , q 3 ) M = ( q 1 + 1 , q 2 + 1 , q 3 )
are valid. These equations can be seen to hold using the fact from Equation (26) that
( q 1 , q 2 , q 3 ) M = ( q 1 , q 2 , q 3 ) 2 ( a 1 , b , c )

Proof for Case 2

We have

λ M = ( k q 1 + r 1 , k q 2 + r 2 , k q 3 + r 3 )
where
q 1 = q 1 a + q 2 ( a + 1 ) + q 3 ( a + 1 ) + β ( a + 1 ) 1 q 2 = q 1 b + q 2 ( b 1 ) + q 3 b + β b 1 q 3 = q 1 c + q 2 c + q 3 ( c 1 ) + β c 1 r i = k r i , i = 1 , 2 , 3

Note that

( q 1 , q 2 , q 3 ) M = ( q 1 , q 2 , q 3 ) β ( a + 1 , b , c ) + ( 1 , 1 , 1 )

If β = 0, then

λ i = ( q 1 , q 2 , q 3 ) , μ i = ( q 1 + 1 , q 2 + 1 , q 3 + 1 ) , i = 1 , 2 , , k

From Equation (33), we have

( q 1 , q 2 , q 3 ) M = ( q 1 + 1 , q 2 + 1 , q 3 + 1 )
and therefore Property (a.2) follows. Now suppose β = 1. The entries of ( r 1 , r 2 , r 3 ) belong to {1, 2, …, k} and their sum is 2k. By Lemma 3,
card { 1 s k : μ s = ( q 1 , q 2 + 1 , q 3 + 1 ) } = k r 1 = r 1 card { 1 s k : μ s = ( q 1 + 1 , q 2 , q 3 + 1 ) } = k r 2 = r 2 card { 1 s k : μ s = ( q 1 + 1 , q 2 + 1 , q 3 ) } = k r 3 = r 3

In view of the fact that Equations (2729) also hold, Property (a.2) then follows if the equations

( q 1 + 1 , q 2 , q 3 ) M = ( q 1 , q 2 + 1 , q 3 + 1 ) ( q 1 , q 2 + 1 , q 3 ) M = ( q 1 + 1 , q 2 , q 3 + 1 ) ( q 1 , q 2 , q 3 + 1 ) M = ( q 1 + 1 , q 2 + 1 , q 3 )
are valid. These equations can be seen to hold using the fact from Equation (33) that
( q 1 , q 2 , q 3 ) M = ( q 1 , q 2 , q 3 ) ( a , b 1 , c 1 )

Thus, Property (a.2) holds. Finally, suppose that β = 2. The entries of ( r 1 , r 2 , r 3 ) belong to {1, 2, …, k} and their sum is k. Under these conditions, no entry of ( r 1 , r 2 , r 3 ) can be equal to k, and so all entries belong to the set {1, 2, …, k − 1}. By definition of ϕ(λM) in Example 4,

card { 1 s k : μ s = ( q 1 + 1 , q 2 , q 3 ) } = r 1 = k r 1 card { 1 s k : μ s = ( q 1 , q 2 + 1 , q 3 ) } = r 2 = k r 1 card { 1 s k : μ s = ( q 1 , q 2 , q 3 + 1 ) } = r 3 = k r 3

In view of the fact that Equations (3032) also hold, Property (a.2) then follows if the equations

( q 1 , q 2 + 1 , q 3 + 1 ) M = ( q 1 + 1 , q 2 , q 3 ) ( q 1 + 1 , q 2 , q 3 + 1 ) M = ( q 1 , q 2 + 1 , q 3 ) ( q 1 + 1 , q 2 + 1 , q 3 ) M = ( q 1 , q 2 , q 3 + 1 )
are valid. These equations can be seen to hold using the fact from Equation (33) that
( q 1 , q 2 , q 3 ) M = ( q 1 , q 2 , q 3 ) ( 2 a + 1 , 2 b 1 , 2 c 1 )

Thus, Property (a.2) holds.

Proof of Theorem 3

We first derive part(c) and then part(b) (part(a) is already taken care of, as remarked previously). We derive part(c) by establishing Equation (20) for a fixed M ∈ ℳ(k). Let ϕ ∈ Φ(3, k) be the function given in Example 4 and recall that H3,k denotes the entropy function Hϕ on Λ(3, k). Referring to the definition of T M in Equation (17) and TM in Equation (18), we see that proving Equation (20) is equivalent to proving

h 3 , k ( k 1 p M ) = k 1 h 3 , k ( p ) + k 1 p v M , p 3

We first show that

H 3 , k ( λ M ) = H 3 , k ( λ ) + λ v M , λ Λ ( 3 , k )

The proof is by induction on ‖λ‖. Equation (35) holds for ‖λ‖ = 1, which is the three cases λ = (1, 0, 0), λ = (0, 1, 0), λ = (0, 0, 1). Fix λ* ∈ Λ(3, k) for which ‖λ*‖ > 1, and for the induction hypothesis assume that Equation (35) holds when ‖λ‖ is smaller than ‖λ*‖. The proof by induction is then completed by showing that Equation (35) holds for λ = λ*. Let ϕ(λ*) = (λ1, λ2, …, λk). By the induction hypothesis,

H 3 , k ( λ i M ) = H 3 , k ( λ i ) + λ i v M , i = 1 , 2 , , k

Adding,

i = 1 k H 3 , k ( λ i M ) = [ i = 1 k H 3 , k ( λ i ) ] + λ v M

By Lemma 4, ϕ(λ*M) is a permutation of (λ1M, λ2M, …, λkM), and so by Equation (3),

i = 1 k H 3 , k ( λ i M ) = H 3 , k ( λ M ) log 2 N
where N is the number of permutations of the k-tuple (λ1M, …, λkM). Similarly,
i = 1 k H 3 , k ( λ i ) = H 3 , k ( λ ) log 2 N 2
where N2 is the number of permutations of the k-tuple (λ1, …, λk). Since M is nonsingular (its determinant is k), we must have N = N2. Substituting the right hand sides of the previous two equations into Equation (36), we obtain Equation (35) for λ = λ*, completing the proof by induction. Dividing both sides of Equation (35) by ‖λ‖, and using the fact that ‖λM‖ = kλ‖, we see that
k H 3 , k ( λ M ) / λ M = ( H 3 , k ( λ ) / λ ) + p λ v M
which, using Equation (8), becomes
k h 3 , k ( ( λ M ) / λ M ) = h 3 , k ( p λ ) + p λ v M

It is easy to see that

( λ M ) / λ M = k 1 p λ M

Therefore,

h 3 , k ( k 1 p λ M ) = k 1 h 3 , k ( p λ ) + k 1 ( p λ v M )

Equation (34) then follows since the set 3 = { p λ : λ Λ ( 3 , k ) } is dense in ℙ3 and h3,k is a continuous function on ℙ3, completing the derivation of part(c) of Theorem 3. All that remains is to prove part(b) of Theorem 3. Letting G = {(p, h3,k(p)) : p ∈ ℙ3} be the graph of h3,k, part(c) is equivalent to the property that

T M ( G ) G , M ( k )

Note that

{ T M ( 3 ) : M ( k ) } = 3
since the sets in the union form the quadratic partition of ℙ3, and so ℙ3 must be the attractor of the IFS { T M : M ( k ) }. This fact, together with Equation (37), allows us to conclude (via Lemma B.1 of Appendix B) that G is the attractor of the IFS {TM : M ∈ ℳ(k)}, and h3,k is self-affine because the TM's are affine. Theorem 3(b) is therefore true.

5. Properties of Hierarchical Entropy Functions

We conclude the paper with a discussion of some properties of the self-affine hierarchical entropy functions h2,k and h3,k. For each m ∈ {2, 3} and each k ≥ 2, hierarchical entropy function hm,k obeys the following properties.

  • P1: hm,k is a continuous function on ℙm.

  • P2: If two probability vectors p1, p2 in ℙm are permutations of each other, then

    h m , k ( p 1 ) = h m , k ( p 2 )

  • P3: If p ∈ ℙm is degenerate (meaning that it is a permutation of the vector (1, 0, 0, …, 0)), then hm,k(p) = 0.

  • P4: For each p ∈ ℙm,

    0 h m , k ( p ) log 2 m

Properties P1-P4 are simple consequences of what has gone before. For example, to see why the symmetry property P2 is true, first observe that Hm,k(λ1) = Hm,k(λ2) if λ1, λ2 are types which are permutations of each other; this symmetry property for entropy on types then extends to ℙm using the fact that the finitary source which induces hm,k is entropy-stable.

The well-known Shannon entropy function hm on ℙm is defined by

h m ( p 1 , p 2 , , p m ) i = 1 m p i log 2 p i
where pi log2 pi is taken to be zero if pi = 0. We point out that hm also satisfies properties P1-P4. In addition, hm satisfies the property that it attains its maximum value at the equiprobable distribution (1/m, 1/m, …, 1/m). This property fails in general for the hm,k functions, although it is true for some of them; for example, referring to Figure 2, we see that h2,2 and h2,4 do not reach their maximum at (1/2, 1/2), but h2,3 does. It is an open problem to determine the maximum value of each h2,k and h3,k and to see where the maximum is attained.

The inequality

h m , k ( p ) h m ( p ) , p m , m { 2 , 3 } , k 2
gives us a relationship between hierarchical entropy and Shannon entropy; it follows from the fact that every string in a hierarchical type class is of the same type. It is an open problem whether this inequality is strict at every non-degenerate p ∈ ℙm; we have proved this strict inequality property in some special cases (for example, m = k = 2).

Algorithms 04 00307f1 200
Figure 1. Example 1 Tree Representations and Codeword Table.

Click here to enlarge figure

Figure 1. Example 1 Tree Representations and Codeword Table.
Algorithms 04 00307f1 1024
Algorithms 04 00307f2 200
Figure 2. Plots of h 2 , k ( x ) = h 2 , k ( x , 1 x ) for k = 2, 3, 4.

Click here to enlarge figure

Figure 2. Plots of h 2 , k ( x ) = h 2 , k ( x , 1 x ) for k = 2, 3, 4.
Algorithms 04 00307f2 1024
Algorithms 04 00307f3 200
Figure 3. Quadratic Partition Of Triangle Q3.

Click here to enlarge figure

Figure 3. Quadratic Partition Of Triangle Q3.
Algorithms 04 00307f3 1024

The work of the author was supported in part by National Science Foundation Grant CCF-0830457.

Appendix A

In this Appendix, we prove Theorem 1. In the following, the infinity norm ‖x of a vector x = (x1, x2, …, xm) ∈ ℝm is defined as maxi |xi|.

Lemma A.1

Let f : m be a function, and let

j = max { | f ( p λ 1 ) f ( p λ 2 ) | : λ 1 λ 2 1 , λ 1 , λ 2 Λ j ( m , k ) } , j 0

If j = 0 j < , then f is uniformly continuous on m .

Proof

We show there exists B > 0 such that

sup { | f ( q 1 ) f ( q 2 ) | : q 1 q 2 k J , q 1 , q 2 m } B j = J j , J 0
from which the uniform continuity follows. It can be shown that the following two properties hold.

  • (p.1): For each j ≥ 0 and each pair of distinct types λ0, λ ∈ Λj(m, k), the following is true. Letting I = mλ0λ, there exist types λ1, λ2, …, λI in Λj(m, k) such that λI = λ and

    λ i λ i 1 1 , i = 1 , 2 , , I
    (In other words, we can travel from λ0 to λ via a path in Λj(m, k) consisting of I terms, with successive terms no more than distance 1 apart in the infinity norm.)

  • (p.2): There is a positive integer M for which the following is true. For each j ≥ 1 and each λ0 ∈ Λj(m, k), there exist types λ1, λ2, …, λM in Λj(m, k) such that λM/k ∈ Λj−1(m, k) and

    λ i λ i 1 1 , i = 1 , 2 , , M
    (In other words, we can travel in Λj(m, k) from any type to a type divisible by k via a path consisting of M terms, with successive terms no more than distance 1 apart in the infinity norm.)

Let J ≥ 0. Suppose q1, q2 belong to m and ‖q1q2kJ. Fix J′ > J and types λ1, λ2 in ΛJ′(m, k) such that q1 = pλ1 and q2 = pλ2. Starting at λ1 and applying property (p.2) repeatedly (that is, for each j going backwards from j = J′ to j = J + 1), we obtain λ 1 Λ J ( m , k ) such that

q 1 p λ 1 M j = J + 1 J k j M k J
| f ( q 1 ) f ( p λ 1 ) | M j = J + 1 J j M j = J + 1 j

Similarly, we find λ 2 Λ J ( m , k ) such that

q 2 p λ 2 M k J
| f ( q 2 ) f ( p λ 2 ) | M j = J + 1 j

By the triangle inequality, we have

p λ 1 p λ 2 q 1 q 2 + 2 M k J ( 2 M + 1 ) k J
and then
λ 1 λ 2 2 M + 1

Applying property (p.1),

| f ( p λ 1 f ( p λ 2 ) | ( 2 M + 1 ) J
and then using the triangle inequality again,
| f ( q 1 ) f ( q 2 ) | m ( 2 M + 1 ) J + 2 M j = J + 1 j B j = J j
where B = m(2M +1).

Proof of Theorem 1

Let Algorithms 04 00307i3 = {S(λ) : λ ∈ Λ(m, k)} be a finitary hierarchical source. For every λ ∈ Λ(m, k), we have H(S()) = kH(S(λ)) and hence the normalized entropies H(S())/‖‖ and H(S(λ))/‖λ‖ coincide. It follows that there exists a unique function f : m [ 0 , ) such that

f ( p λ ) = H ( S ( λ ) ) / λ , λ Λ ( m , k )

It is easily seen that Algorithms 04 00307i3 is entropy-stable by the definition in Section 2.2 if f can be extended to a continuous function on ℙm (which will be the hierarchical entropy function induced by Algorithms 04 00307i3). This extension will be possible if f is uniformly continuous on m , and we establish this by showing that Σjj < ∞, where {j} is the sequence in Equation (38). Let ϕ ∈ Φ(m, k) be such that Algorithms 04 00307i3ϕ = Algorithms 04 00307i3. Let j ≥ 1 and let λ, µ be types in Λj(m, k) for which ‖λµ ≤ 1. Letting

ϕ ( λ ) = ( λ 1 , , λ k ) , ϕ ( μ ) = ( μ 1 , , μ k )
it follows that
λ i μ i 1 , i = 1 , 2 , , k
and by Lemma 1 we have
H ( S ( λ ) ) = i = 1 k H ( S ( λ i ) ) + log 2 N 1
H ( S ( μ ) ) = i = 1 k H ( S ( μ i ) ) + log 2 N 2
where N1, N2 are positive integers ≤ k!. The latter two equations imply
| f ( p λ ) f ( p μ ) | k 1 i = 1 k | f ( p λ i ) f ( p μ i ) | + log 2 ( k ! ) / k j
from which, using Inequality (39),
| f ( p λ ) f ( p μ ) | j 1 + log 2 ( k ! ) / k j

We conclude that

j j 1 + log 2 ( k ! ) / k j , j 1
from which it follows that j = 0 j < . Applying Lemma A.1, we can now say that f is uniformly continuous on m .

Appendix B

This Appendix proves some auxiliary results useful for proving Theorems 2–3. Henceforth, ‖x2 shall denote the Euclidean norm of a vector x in a finite-dimensional Euclidean space.

Lemma B.1

Let Algorithms 04 00307i1 be an IFS of contraction mappings on Ωm. Let π be the projection mapping (p, y) → p from Ωm onto ℙm. Suppose for each T Algorithms 04 00307i1, there is a contraction mapping T* on ℙm such that T*(p) = π(T(p, y)) for every (p, y) in Ωm, and suppose ℙm is the attractor of the IFS {T* : T Algorithms 04 00307i1}. Suppose h : ℙm → ℝ is a continuous mapping whose graph Gh = {(p, h(p)) : p ∈ ℙm} satisfies the property

T ( G h ) G h , T T

Then Gh is the attractor of Algorithms 04 00307i1.

Proof

Let Q be the attractor of Algorithms 04 00307i1. Since each mapping in Algorithms 04 00307i1 maps the compact set Gh into itself, QGh by uniqueness of the attractor. The proof is completed by showing the reverse inclusion GhQ. Since π(Q) is the attractor of the IFS {T* : T Algorithms 04 00307i1}, we must have π(Q) = ℙm by assumption. Let (p, h(p)) be an arbitrary element of Gh. Since π(Q) = ℙm, there exists a point in Q of the form (p, y). But (p, y) and (p, h(p)) both belong to Gh, so y = h(p). We conclude (p, h(p)) belongs to Q, and therefore GhQ.

Lemma B.2

Let T* : ℙm → ℙm be a contraction mapping with contraction coefficient σ ∈ (0, 1), meaning that

T ( p 1 ) T ( p 2 ) 2 σ p 1 p 2 2 , p 1 , p 2 m

Let c = (c1, c2, …, cm) be a vector in ℝm and define its variance by

V ( c ) i = 1 m ( c i c ¯ ) 2
where is the average of the entries of c. Let T : Ωm → Ωm be the mapping
T ( p , y ) ( T ( p ) , σ ( y + p c ) ) , p m , y

Then T is a contraction mapping if V(c) < σ−2(1 − σ2)2.

Proof

By the intermediate value theorem, there is a real number λ in the interval [σ, 1) such that

V ( c ) = λ 2 σ 2 ( λ 2 σ 2 ) 2

Then T is a contraction if we show that

T ( p , u ) T ( q , v ) 2 2 λ 2 ( p , u ) ( q , v ) 2 2
for p, q in ℙm and u, v ∈ ℝ. The left hand side of Inequality (42) is less than or equal to
σ 2 p q 2 2 + [ σ ( p q ) c + σ ( μ v ) ] 2

The right hand side of Inequality (42) is equal to

λ 2 p q 2 2 + λ 2 ( u v ) 2

Therefore, we will be done if we can show that

( λ 2 σ 2 ) p q 2 2 + λ 2 t 2 [ σ ( p q ) c + σ t ] 2 0
for all p, q in ℙm and all real numbers t. If V(c) = 0, then we are done because the left side of Inequality (43) is identically zero (this is because λ = σ and because (pq) · c = 0 due to the fact that the components of c are constant). We assume V(c) > 0 and therefore λ > σ. Letting Qp,q(t) for fixed p, q be the quadratic polynomial
Q p , q ( t ) = λ 2 t 2 [ σ ( p q ) c + σ t ] 2
the plot of Qp,q(t) is a parabola opening upward because the coefficient of t2 is the positive number λ2σ2. Therefore, Qp,q(t) possesses a unique global minimum over t and it is easy to compute
min t Q p , q ( t ) = λ 2 σ 2 [ ( p q ) c ] 2 σ 2 λ 2

It follows that Inequality (43) will be true for all p, q, u, v if

( λ 2 σ 2 ) 2 p q 2 2 λ 2 σ 2 [ ( p q ) c ] 2
holds for all p, q in ℙm, which in turn will be true if we can show that
x c λ 1 σ 1 ( λ 2 σ 2 )
holds for all x = (x1, x2, …, xm) ∈ ℝm for which
i = 1 m x i 2 = 1 , i = 1 m x i = 0

It is a simple exercise in Lagrange multipliers, which we omit, to show that the vector x = (x1, …, xm) satisfying the constraints in Equation (44) which maximizes the dot product x · c is the vector for which

x i = ( c i c ¯ ) / V ( c ) , i = 1 , 2 , , m

For this choice of x, x · c can be seen to be V ( c ). Therefore, we will be done if

V ( c ) λ 2 σ 2 ( λ 2 σ 2 ) 2

But this is true with equality, by Equation (41).

Lemma B.3

Let k ≥ 2 be arbitrary. Then, for each i = 0, 1, …, k − 1, the mapping Ti : Ω2 → Ω2 defined in Section 3 is a contraction.

Proof

Fix i in {0, 1, …, i − 1}. The mapping T i : 2 2 is a contraction mapping with contraction coefficient k−1. Applying Lemma B.2 with σ = k−1, Ti will be a contraction mapping if we can show that

V ( log 2 ( k i + 1 ) , log 2 ( k i ) ) < ( k k 1 ) 2 , k 2

It is easy to compute that

V ( log 2 ( k i + 1 ) , log 2 ( k i ) ) = V ( log 2 a 1 , log 2 a 2 )
where a1 = i + 1, a2 = ki For any constant γ satisfying 0 < γ < 1, we have
V ( log 2 a 1 , log 2 a 2 ) j = 1 2 [ log 2 ( γ k a j ) ] 2

Using the fact that

γ γ k a j γ k , j = 1 , 2
the right side of Inequality (46) is upper bounded by
2 max [ ( log 2 γ ) 2 , ( log 2 { γ k } ) 2 ]

Choosing the smallest value of γ for which

( log 2 { γ k } ) 2 ( log 2 γ ) 2
holds for every k ≥ 2, we obtain γ = 1 / 2. We have thus proved the variance bound
V ( log 2 a 1 , log a 2 ) 2 [ log 2 ( k 2 ) ] 2 , k 2

Using calculus, it is easy to show that

2 log 2 ( k 2 ) < k 0.5 , k 2

Thus, Inequality (45) holds, and our proof is complete.

Lemma B.4

Let k ≥ 2 be arbitrary. Then, for each matrix M in the set of matrices ℳ(k), the mapping TM : Ω3 → Ω3 defined in Section 4 is a contraction.

Proof

The mapping T M : 3 3 is a contraction with contraction coefficient k−1. Applying Lemma B.2 with σ = k−1, we have to show that various variances are all less than (kk−1)2. Specifically, for each (a, b, c) ∈ V1 we wish to show

V ( H 3 , k ( a , b , c ) , H 3 , k ( a 1 , b + 1 , c ) , H 3 , k ( a 1 , b , c + 1 ) ) < ( k k 1 ) 2
and for each (a, b, c) ∈ V2 we wish to show
V ( H 3 , k ( a , b , c ) , H 3 , k ( a + 1 , b 1 , c ) , H 3 , k ( a + 1 , b , c 1 ) ) < ( k k 1 ) 2

Using Formula (7), the variance on the left side of Inequality (47) is equal to

V ( log 2 a log 2 ( b + 1 ) , log 2 ( c + 1 ) )

Let a1 = a, a2 = b + 1, a3 = c + 1. For any constant γ satisfying 0 < γ < 1, we have

V ( log 2 a , log 2 ( b + 1 ) , log 2 ( c + 1 ) ) i = 1 3 [ log 2 ( γ ( k + 1 ) a i ) ] 2

Using the fact that

γ γ ( k + 1 ) a i γ ( k + 1 ) , i = 1 , 2 , 3
the right side of Inequality (49) is upper bounded by
3 max [ ( log 2 γ ) 2 , ( log 2 { γ ( k + 1 ) } ) 2 ]

Choosing the smallest value of γ for which

( log 2 { γ ( k + 1 ) } ) 2 ( log 2 γ ) 2
holds for every k ≥ 2, we obtain γ = 1 / 3. We have thus proved the variance bound
V ( log 2 a , log 2 ( b + 1 ) , log 2 ( c + 1 ) ) 3 [ log 2 ( k + 1 3 ) ] 2 , ( a , b , c ) V 1

Similarly, the variance on the left side of Inequality (48) is V(log2(a + 1), log2 b, log2 c), and

V ( log 2 ( a + 1 ) log 2 b , log 2 c ) 3 [ log 2 ( k + 1 3 ) ] 2 , ( a , b , c ) V 2

Using calculus, it is easy to show that

3 log 2 ( k + 1 3 ) < k 0.5 , k 2

Thus, for each (a, b, c) ∈ V1, we have the desired inequality

V ( log 2 a , log 2 ( b + 1 ) , log 2 ( c + 1 ) ) < ( k k 1 ) 2
and for each (a, b, c) ∈ V2, we have the desired inequality
V ( log 2 ( a + 1 ) , log 2 b , log 2 c ) < ( k k 1 ) 2

References

  1. Csiszár, I.; Körner, J. Information Theory: Coding Theorems for Discrete Memoryless Systems, 2nd ed. ed.; Cambridge University Press: Cambridge, UK, 2011.
  2. Kieffer, J. Hierarchical Type Classes and Their Entropy Functions. Proceedings of the 1st International Conference on Data Compression, Communication and Processing, Palinuro, Campania, Italy, 21–24 June 2011; pp. 246–254.
  3. Oh, S.-Y. Information Theory of Random Trees Induced by Stochastic Grammars. Ph.D. Thesis, University of Minnesota Twin Cities, Department of Electrical & Computer Engineering, Minneapolis, MN, USA, 2011.
  4. Brualdi, R. Algorithms for constructing (0,1)-matrices with prescribed row and column sum vectors. Discret. Math. 2006, 306, 3054–3062.
  5. Fonseca, C.; Mamede, R. On (0,1)-matrices with prescribed row and column sum vectors. Discret. Math. 2009, 309, 2519–2527.
  6. Falconer, K. Fractal Geometry; John Wiley & Sons: Hoboken, NJ, USA, 2003.
  7. Soifer, A. How Does One Cut a Triangle?; Springer-Verlag: Berlin, Heidelberg, Germany, 2010.
Algorithms EISSN 1999-4893 Published by MDPI AG, Basel, Switzerland RSS E-Mail Table of Contents Alert