9
Theoretical and Mathematical Physics, 180(2): 958–966 (2014) CLUSTER NETWORKS AND BRUHAT–TITS BUILDINGS S. V. Kozyrev We consider a clustering procedure in the case where a family of metrics is used instead of a fixed metric. In this case, a classification network (a directed acyclic graph with nondirected cycles) is obtained instead of a classification tree. We discuss the relation to Bruhat–Tits buildings and introduce the notion of the dimension of a general cluster network. Keywords: clustering, cluster network, Bruhat–Tits building 1. Introduction We discuss the relation between the construction of multidimensional cluster systems described in [1], [2] and the geometry of Bruhat–Tits buildings. The clustering procedure gives an algorithm for constructing a tree of clusters with a hierarchy (partial order) starting from a metric on a set of points. This proce- dure underlies an important method in data analysis, in particular, in applications to bioinformatics (the construction of a taxonomy). Here, we discuss the following approach to clustering: instead of a single metric, we assume that there is a family of metrics depending on a set of parameters (this is a typical situation in applications). We then obtain a family of clusterings. We discuss the question of whether this family can be described by a single mathematical object. We use an analogy from p-adic geometry. In p-adic spaces, we have natural hierarchies (partially ordered trees) of balls. Such a hierarchy can be considered a family of clusters with respect to a metric in a p-adic space. In multidimensional p-adic geometry, we have a generalization of hierarchies described by affine Bruhat–Tits buildings, which are related to families of balls with respect to several ultrametrics. We discuss a relation between Bruhat–Tits buildings and the geometry of p-adic cluster systems with respect to a family of metrics. We also consider a generalization of the corresponding structure of a simplicial complex to general systems of clusters. In particular, we discuss a definition of the dimension for general cluster systems. Other applications of p-adic numbers to data analysis can be found in [3], [4]. This paper is structured as follows. In Sec. 2, we consider the (known) definition of the clustering procedure and present some examples of cluster networks for a family of metrics. In Sec. 3, we recall the definition of affine Bruhat–Tits buildings and discuss their relation to cluster networks in p-adic spaces. In Sec. 4, we consider the structure of a simplicial complex for general cluster networks and a definition of the dimension for general cluster networks. 2. Examples of cluster networks We recall the standard definition of clustering. For simplicity, we use nearest-neighbor clustering (we could also consider more general clustering algorithms). A general discussion of the concept of clustering can be found in [5]. Steklov Mathematical Institute, RAS, Moscow, Russia, e-mail: [email protected]. Prepared from an English manuscript submitted by the author; for the Russian version, see Teoreticheskaya i Matematicheskaya Fizika, Vol. 180, No. 2, pp. 234–244, August, 2014. Original article submitted March 10, 2014. 958 0040-5779/14/1802-0958 c

Cluster networks and Bruhat-Tits buildings

Embed Size (px)

Citation preview

Page 1: Cluster networks and Bruhat-Tits buildings

Theoretical and Mathematical Physics, 180(2): 958–966 (2014)

CLUSTER NETWORKS AND BRUHAT–TITS BUILDINGS

S. V. Kozyrev∗

We consider a clustering procedure in the case where a family of metrics is used instead of a fixed metric.

In this case, a classification network (a directed acyclic graph with nondirected cycles) is obtained instead

of a classification tree. We discuss the relation to Bruhat–Tits buildings and introduce the notion of the

dimension of a general cluster network.

Keywords: clustering, cluster network, Bruhat–Tits building

1. Introduction

We discuss the relation between the construction of multidimensional cluster systems described in [1], [2]and the geometry of Bruhat–Tits buildings. The clustering procedure gives an algorithm for constructinga tree of clusters with a hierarchy (partial order) starting from a metric on a set of points. This proce-dure underlies an important method in data analysis, in particular, in applications to bioinformatics (theconstruction of a taxonomy).

Here, we discuss the following approach to clustering: instead of a single metric, we assume that thereis a family of metrics depending on a set of parameters (this is a typical situation in applications). We thenobtain a family of clusterings. We discuss the question of whether this family can be described by a singlemathematical object.

We use an analogy from p-adic geometry. In p-adic spaces, we have natural hierarchies (partiallyordered trees) of balls. Such a hierarchy can be considered a family of clusters with respect to a metric ina p-adic space. In multidimensional p-adic geometry, we have a generalization of hierarchies described byaffine Bruhat–Tits buildings, which are related to families of balls with respect to several ultrametrics.

We discuss a relation between Bruhat–Tits buildings and the geometry of p-adic cluster systems withrespect to a family of metrics. We also consider a generalization of the corresponding structure of a simplicialcomplex to general systems of clusters. In particular, we discuss a definition of the dimension for generalcluster systems. Other applications of p-adic numbers to data analysis can be found in [3], [4].

This paper is structured as follows. In Sec. 2, we consider the (known) definition of the clusteringprocedure and present some examples of cluster networks for a family of metrics. In Sec. 3, we recall thedefinition of affine Bruhat–Tits buildings and discuss their relation to cluster networks in p-adic spaces. InSec. 4, we consider the structure of a simplicial complex for general cluster networks and a definition of thedimension for general cluster networks.

2. Examples of cluster networks

We recall the standard definition of clustering. For simplicity, we use nearest-neighbor clustering (wecould also consider more general clustering algorithms). A general discussion of the concept of clusteringcan be found in [5].

∗Steklov Mathematical Institute, RAS, Moscow, Russia, e-mail: [email protected].

Prepared from an English manuscript submitted by the author; for the Russian version, see Teoreticheskaya i

Matematicheskaya Fizika, Vol. 180, No. 2, pp. 234–244, August, 2014. Original article submitted March 10, 2014.

958 0040-5779/14/1802-0958

Page 2: Cluster networks and Bruhat-Tits buildings

Fig. 1. The cluster tree A1.

Let (M, ρ) be an arbitrary metric space. A sequence of points a = x0, x1, . . . , xn−1, xn = b in (M, ρ) iscalled an ε-chain connecting the two points a and b if ρ(xk, xk+1) ≤ ε for all 0 ≤ k < n. If there exists anε-chain connecting a and b, then a and b are ε-connected. The chain distance between a and b is definedas d(a, b) = inf ε, where the exact lower bound is taken over all ε-chains connecting a and b. This distancehas all the properties of an ultrametric except nondegeneracy (i.e., noncoinciding points can have a zerochain distance). Therefore, chain distance defines an ultrametric on the set of equivalence classes of pointsin M , where a and b are in the same equivalence class if d(a, b) = 0. In particular, if the initial metric ρ isan ultrametric, then the corresponding chain distance d coincides with ρ.

A cluster C(i, R) in a metric space (M, ρ) is a ball with the center i and radius R with respect to thechain distance, i.e., the set {j ∈ M : d(i, j) ≤ R}. A clustering of a metric space M is a cluster set with thefollowing properties:

1. Every element in M belongs to some cluster.

2. For any pair of elements a and b in M , there exists a minimum cluster sup(a, b) containing bothelements.

3. For arbitrary embedded clusters A ⊂ B, every increasing sequence of embedded clusters {Ai}, A ⊂· · · ⊂ Ai ⊂ Ai+1 ⊂ · · · ⊂ B is finite.

A clustering procedure generates a partially ordered tree of clusters (dendrogram) as follows:

1. Vertices are clusters.

2. A partial order is given by inclusion of clusters.

3. An edge connects two clusters nested without intermediaries.

A multidimensional generalization of clustering [1], [2] is introduced as a generalization of clusteringto the case of several metrics. Let there be a family of metrics (a standard situation for applications indata analysis), for example, a family parameterized by a set of real parameters. In this case, instead of onecluster tree, we obtain a family of cluster trees. Some of the clusters for the different trees can coincideas sets. Identifying these clusters for the different trees, we obtain a network of clusters. We discuss therelation between such cluster networks and Bruhat–Tits buildings. Before discussing the general definition,we consider examples of multidimensional clustering.

Example 1. Let A, B, and C be three points on a two–dimensional real plane R2 with the standard

Euclidean metric. The parameters defining the metric are the coordinates of the points on the plane. Thecluster tree A1 is shown in Fig. 1. The cluster set contains A, B, C, AB, and ABC (vertices of the clustertree). Edges join the vertices in accordance with the growth of the clusters, i.e., the cluster tree containsthe edges

(A, AB), (B, AB), (AB, ABC), (C, ABC).

959

Page 3: Cluster networks and Bruhat-Tits buildings

Fig. 2. The cluster tree B1.

Fig. 3. The cluster network C1.

Here, we let ABC denote the cluster containing A, B, and C.The cluster tree B1 is shown in Fig. 2. We consider a deformation of the metric (motion of the points

on the plane R2) replacing the above cluster set with the set of vertices A, B, C, BC, and ABC with the

corresponding edges(B, BC), (C, BC), (BC, ABC), (A, ABC).

The cluster network C1 is shown in Fig. 3. This network is a union of the cluster trees A1 and B1 (weidentify the clusters that coincide as sets). The vertex set of the network C1 contains the clusters

A, B, C, AB, BC, ABC,

and the set of edges of C1 contains

(A, AB), (B, AB), (AB, ABC), (C, ABC),

(B, BC), (C, BC), (BC, ABC), (A, ABC).

The partial order of vertices is given by inclusion of clusters. Cycles in this graph describe the differenthistories of the growth of clusters (growth with respect to the different metrics).

Example 2. We consider a set of four points A, B, C, and D located on the plane R2 at the vertices

of some quadrangle. We obtain the following sets of clusters. The cluster tree A2 is shown in Fig. 4.Clustering with respect to the plane metric gives the clusters

A, B, C, D, AB, CD, ABCD.

The set of edges has the form

(A, AB), (B, AB), (C, CD), (D, CD), (AB, ABCD), (CD, ABCD).

960

Page 4: Cluster networks and Bruhat-Tits buildings

Fig. 4. The cluster tree A2.

Fig. 5. The cluster tree B2.

Fig. 6. The cluster network C2.

The cluster tree B2 is shown in Fig. 5. Deformation of the above quadrangle gives the cluster set

A, B, C, D, AC, BD, ABCD

with the edges

(A, AC), (C, AC), (B, BD), (D, BD), (AC, ABCD), (BD, ABCD).

The cluster network C2 (see Fig. 6) is the union of the cluster trees A2 and B2. This network containsthe unions of the vertex sets and the edge sets in A2 and B2.

3. Affine Bruhat–Tits buildings and cluster networks

In this section, we show that for a network of balls in Qdp, there exists a natural structure of a simplicial

complex related to the affine Bruhat–Tits building. The theory of buildings can be found, for example,in [6], and p-adic geometry (lattices, in particular) is discussed in [7].

961

Page 5: Cluster networks and Bruhat-Tits buildings

3.1. Affine Bruhat–Tits building. The vertices of a building are equivalence classes of lattices. Alattice in Q

dp is an open compact Zp-module in Q

dp. Any lattice can be given in the form

d⊕

i=1

Zpei,

where {ei} is a basis in Qdp. Two lattices are equivalent if one is a scalar multiple of the other. Two lattices

L1 and L2 are adjacent (connected by an edge) if some representatives from the equivalence classes L1 andL2 satisfy

pL1 ⊂ L2 ⊂ L1.

The (k−1)-simplices are defined as equivalence classes of k adjacent lattices, i.e., the chains

pLk ⊂ L1 ⊂ L2 ⊂ · · · ⊂ Lk,

where 1 ≤ k ≤ d.An apartment in an affine building is a subcomplex corresponding to a fixed basis {ei} in Q

dp that

contains the equivalence classes of lattices⊕d

i=1 Zppaiei, ai ∈ Z.

3.2. Multidimensional p-adic metric. We consider a metric sq1,...,qd(x, y) in Q

dp defined by the

norm Nq1,...,qd(z):

sq1,...,qd(x, y) = Nq1,...,qd

(x − y), (1)

Nq1,...,qd(z) = max

i=1,...,d(qi|zi|p), qi > 0. (2)

The dilations pkZ

dp, k ∈ Z, are balls with respect to all such norms Nq1,...,qd

if p−1 < qi ≤ 1. Here, we usethe following definition of the norm for Q

dp: a norm is a function N( · ) on Q

dp taking values in [0,∞) and

satisfying the conditions of

1. nondegeneracy, N(x) = 0 ⇔ x = 0,

2. linearity, N(ax) = |a|pN(x), x ∈ Qdp, a ∈ Qp, and

3. the strong triangle inequality: N(x + y) ≤ max[N(x), N(y)] for all x, y, z ∈ Qdp.

A more general norm (an A-rotation of the norm Nq1,...,qd) is defined as

NAq1,...,qd

(z) = Nq1,...,qd(Az), (3)

where A is a matrix in Gld(Qp). A metric sAq1,...,qd

is defined by the norm NAq1,...,qd

as above (1). Inparticular, for a norm Nq1,...,qd

of form (2) with

p−1 < q1 < · · · < qd ≤ 1, (4)

the set of intermediary Nq1,...,qd-balls (Nq1,...,qd

) between pZdp and Z

dp contains the balls

Bj = Zp × · · · × Zp × pZp × · · · × pZp

with j components Zp and d−j components pZp, j = 0, . . . , d.

962

Page 6: Cluster networks and Bruhat-Tits buildings

3.3. Simplicial complex of balls. We define the structure of a simplicial complex on the networkC of balls with respect to the family of metrics sA

q1,...,qd, A ∈ Gld(Qp), defined above. Let s be a metric

from the described family and I be an s-ball containing zero (i.e., a ball with respect to s containing zero,where zero is a vector in Q

dp with zero components). Then the dilation pI is also an s-ball. The s-balls I

and J containing zero are joined by an edge if pI ⊂ J ⊂ I. Further, (k−1)-simplices are defined as familiesof k adjacent s-balls

pIk ⊂ I1 ⊂ I2 ⊂ · · · ⊂ Ik.

We consider the maximum sequence of nested intermediary s-balls between pI and I. If the parametersqi of the norm are generic (any two parameters cannot be made equal by multiplication by degrees of p,for example, the parameters satisfy (4)), then such a sequence contains d+1 balls and defines a (d−1)-simplex. General simplices in the simplicial complex of balls with respect to a metric sA

q1,...,qdare defined

as translations of simplices described above (translations as families of sets in Qdp). The simplicial complex

C of balls with respect to the family {sAq1,...,qd

} of metrics is defined as a union of complexes of balls fordifferent metrics sA

q1,...,qd. In this case, we identify an s-ball and an s′-ball that coincide as sets (and also

identify s- and s′-simplices that coincide as sets of balls).

3.4. Relation between norms in Qdp and simplices in the affine building. Any ball with

respect to a norm in Qdp that contains zero is a lattice. This follows from the strong triangle inequality. In

the simplicial complex C of balls defined above, we consider the subcomplex C0 of balls that contain zero.For any ball I containing zero, a dilation pkI, k ∈ Z, is also a ball (with respect to the same norm). Thesame holds for simplices. Therefore, the quotient C0/Γ by the group of dilations by pk, k ∈ Z, is a simplicialcomplex.

There exists a natural simplicial map from the simplicial complex C0/Γ to the affine Bruhat–Titsbuilding that sets the corresponding lattice in correspondence with a ball. The defined map is an embeddingof the complex C0/Γ in the affine building. We show that this map is surjective (i.e., is an isomorphism ofsimplicial complexes).

We say that two norms are equivalent if they generate the same family of balls. We show that anequivalence class of norms in Q

dp can be set in correspondence with any maximum simplex in the affine

Bruhat–Tits building.Let L be a lattice in Q

dp and

pL = L0 ⊂ L1 ⊂ · · · ⊂ Ld = L (5)

be a maximum sequence of (different) embedded lattices (equivalently, a maximum simplex in the affinebuilding). For any pair Lj ⊃ Lj−1, j = 1, . . . , d, of consecutive lattices in this sequence, we choose anelement fj ∈ Lj, fj /∈ Lj−1. This gives a set {f1, . . . , fd} of vectors in Q

dp. We have the following lemma.

Lemma 1. The set {f1, . . . , fd} defined above is a basis in Qdp. The lattices Lj have the form

Lj =( j⊕

i=1

Zpfi

) ⊕ ( d⊕

i=j+1

pZpfi

). (6)

We introduce a norm in Qdp as follows. We set some positive numbers qj , p−1 < q1 < · · · < qd ≤ 1, in

correspondence with the lattices Lj in (5). We define a function N(x) on Qdp as follows. For x ∈ Lj \Lj−1,

j = 1, . . . , d, we set N(x) = qj . For x = 0, we set N(x) = 0. We define N( · ) in all Qdp by the condition

N(pkx) = p−kN(x), k ∈ Z.

963

Page 7: Cluster networks and Bruhat-Tits buildings

Lemma 2. The function N( · ) defined above is a norm in Qdp satisfying the strong triangle inequality.

Sequence (5) of lattices is a maximum sequence of balls with respect to N( · ) that are between the balls pL

and L.

The introduced norm N belongs to family (3) with parameters satisfying (4). In particular, the matrixA can be chosen as the matrix that maps the basis {f1, . . . , fd} in Lemma 1 to the coordinate basis in Q

dp,

and N( · ) = NAq1,...,qd

( · ). Any two norms thus defined are equivalent (generate the same set of balls).We have constructed a norm of form (3), (4) starting from a maximum simplex in the affine building.

Analogously, for a norm NAq1,...,qd

( · ) defined by (3), (4), we consider the set of lattices (6) where the basis{f1, . . . , fd} is defined by the matrix A as above. This set defines a simplex in the affine building. Wehave shown that there exists a one-to-one correspondence between the equivalence classes of norms ofform (3), (4) and maximum simplices in the affine Bruhat–Tits building.

In the above construction, it is important to consider norms with generic parameters. We consider ageneral norm N of form (2), (3) and take an N -ball L. It is possible (e.g., if some parameters qi in (2) areequal) that a set of intermediary balls between L and pL contains less than d+1 balls and therefore cannotdefine a (d−1)-simplex in the affine building.

4. General networks of clusters

In this section, we discuss a generalization of the cluster network C related to a family of metrics,described in the preceding sections, to general cluster systems. We consider the structure of a simplicialcomplex on this network and a definition of the dimension for a cluster system.

Let X be a locally compact ultrametric space with some finite family of ultrametrics s defined onX . Moreover, for each pair of metrics s, r ∈ s, let any s-ball be a finite union of r-balls. A family s ofultrametrics on X is compatible if for any two balls, an s-ball I and an r-ball J , s, r ∈ s, the intersectionI ∩ J is a ball with respect to some ultrametric t ∈ s.

In correspondence with a metric s ∈ s, we set the corresponding tree T (X, s) of s-balls in X . Thevertices of this tree are s-balls, and two vertices are connected by an edge if the corresponding balls arenested without intermediaries. The graph C(X, s) (the network of clusters in X with respect to the familys of metrics) is a union of trees T (X, s) of s-balls, s ∈ s. The set of vertices of C(X, s) is the union of thesets of s-balls, s ∈ s, and edges connect the s-balls (with the same s) nested without intermediaries. Thepartial order in C(X, s) is defined by inclusion of subsets in X . If some s-ball coincides with some r-ball asa set, then they define the same vertex in C(X, s).

We define simplices in the network C(X, s). Let r ⊂ s be a subfamily of metrics in X . We fix somer-ball I (i.e., I is an s-ball with respect to all s ∈ r). Let J be the smallest r-ball that is strictly greaterthan I. We define a simplex as a subset (of cardinality at least two) of the set of intermediary s-balls lyingbetween I and J (for metrics s ∈ r). A (k−1)-simplex contains k s-balls; in particular, an edge in T (X, s)(a pair ball is the maximum subball) is a one-simplex.

We have defined the structure of a simplicial complex on the tree T (X, s). The union over metrics s ∈ sof these simplicial complexes defines the structure of a simplicial complex on the network C(X, s) (where,as usual, we identify vertices that correspond to balls coinciding as sets and identify simplices coincidingas sets of vertices). The idea of this definition of simplices is taken from the p-adic case discussed in thepreceding section. In this case, simplices in the affine Bruhat–Tits building are given by sets of balls thatare between balls I and pI. If I is a ball with respect to several metrics sA

q1,...,qd(e.g., given by different

rotations A or a different order of indices qj), then pI is also a ball with respect to the same metrics.Therefore, this definition of a simplicial complex C(X, s) generalizes the definition of the simplicial complexC of balls in Q

dp in the preceding section (instead of regarding simplices as subsets of a sequence of nested

964

Page 8: Cluster networks and Bruhat-Tits buildings

balls between I and the dilation pI, we consider cycles in the cluster network C(X, s), and a simplex is asubset of a path between the minimum and maximum vertices of a cycle).

4.1. Dimension of a cluster network. We generalize the definition of dimension (the number ofp-adic parameters) to general cluster networks.

Let r ⊂ s be a subfamily (of the family s) of metrics in X . Let I and J be a pair of r-balls (s-balls forall s ∈ r), where I ⊂ J and J is the minimum r-ball containing I. We consider the maximum s-simplex,s ∈ r corresponding to I and J (i.e., the maximum sequence of nested balls lying between I and J). Wecall the rank of this simplex the r-dimension for the pair I, J .1

In the p-adic case, the family r is given by the set of metrics sAq1,...,qd

with a fixed matrix A and allpossible permutations of the parameters

p−1 < q1 < · · · < qd ≤ 1.

This dimension is equal to the number d of p-adic parameters. The introduced dimension is not equal tothe VC dimension (Vapnik–Chervonenkis or combinatorial dimension) [8].

4.2. Applications to data analysis. Clustering is a tool of data analysis with many applications,in particular, to bioinformatics. The set X of data can be generated in a complex way, and there canbe some independent contributions in the data. There should be some way to describe independences indata at the level of cluster networks. Classification trees (trees of clusters) describe the data diversity, andthe multidimensional generalization should describe the situation where we have independent sources ofdiversity. The dimension of a cluster network describes the number of sources of diversity.

Applications to taxonomy for reticulate evolution. We discuss the application of the clusternetworks described above in bioinformatics. One of the problems in bioinformatics is a construction ofphylogenetic classification trees by comparison of genetic markers (some subsequences in genomes). Thesetrees are constructed with the help of clustering procedure using some metric for genetic markers.

We are interested in the case where we have several genetic markers. In this case, the metric is notuniquely defined. This metric has the form of a sum of contributions from the different genetic markers,

d(X, Y ) =N∑

j=1

wjdj(Xj , Yj),

where wj ≥ 0 are weights, X and Y are genomes, Xj are Yj are genetic markers, and dj is the distance forthe jth genetic marker. Different sets of weights generate the different classification trees. In particular,when only one weight dj is nonzero, this weight generates the classification tree for the correspondinggenetic marker. The union of these trees is sometimes called the forest of life [9].

The observation is that for some genetic markers, the corresponding classification trees are differentbecause different genetic markers can have different evolution histories. The evolution is reticulate: someparts of a genome can have a different origin as a result of hybridization or horizontal gene transfer. Inthis case, instead of phylogenetic trees, we can consider phylogenetic networks. Mathematical methodsfor analyzing phylogenetic networks can be found in [10], [11]. The classification networks discussed heremight provide a general framework for constructing phylogenetic networks. In this approach, insteadof reproducing the detailed genetic history of populations (which is generally impossible), we could useclassification networks for a coarse-grained description of the evolution of gene ensembles.

Acknowledgments. This paper was supported in part by the program “Modern Problems of Theo-retical Mathematics” of the Department of Mathematics, Russian Academy of Sciences.

1In principle, this rank can differ for different s ∈ r; in this case, we take the maximum rank.

965

Page 9: Cluster networks and Bruhat-Tits buildings

REFERENCES

1. S. Albeverio and S. V. Kozyrev, p-Adic Numbers Ultrametric Anal. Appl., 4, 167–178 (2012); arXiv:1204.5952v1

[cs.DS] (2012).

2. S. V. Kozyrev, Theor. Math. Phys., 164, 1163–1168 (2010).

3. J. Benois-Pineau and A. Khrennikov, Computer J., 53, 417–431 (2010).

4. J. Benois-Pineau, A. Yu. Khrennikov, and N. Kotovich, Dokl. Math., 64, 450–455 (2001).

5. F. Murtagh, Multidimensional Clustering Algorithms, Physica-Verlag, Heidelberg (1985).

6. P. B. Garrett, Buildings and Classical Groups, Chapman and Hall, London (1997).

7. A. Weil, Basic Number Theory , Springer, New York (1967).

8. V. N. Vapnik, The Nature of Statistical Learning Theory , Springer, New York (1995).

9. E. V. Koonin, The Logic of Chance: The Nature and Origin of Biological Evolution, FT Press Science, Upper

Saddle River, N. J. (2011).

10. D. H. Huson, R. Rupp, and C. Scornavacca, Phylogenetic Networks, Cambridge Univ. Press, Cambridge (2010).

11. A. Dress, K. T. Huber, J. Koolen, V. Moulton, and A. Spillner, Basic Phylogenetic Combinatorics, Cambridge

Univ. Press, Cambridge (2012).

966