Embedding small digraphs and permutations
in binary trees and split trees
Michael Albert
Cecilia Holmgren
Tony Johansson
Fiona Skerman
Abstract
We investigate the number of permutations that occur in random labellings of trees. This is a generalisation of the number of subpermutations occurring in a random permutation. It also generalises some recent results on the number of inversions in randomly labelled trees [3]. We consider complete binary trees as well as random split trees a large class of random trees of logarithmic height introduced by Devroye [5]. Split trees consist of nodes (bags) which can contain balls and are generated by a random trickle down process of balls through the nodes.
For complete binary trees we show that asymptotically the cumulants of the number of occurrences of a fixed permutation in the random node labelling have explicit formulas. Our other main theorem is to show that for a random split tree, with probability tending to one as the number of balls increases, the cumulants of the number of occurrences are asymptotically an explicit parameter of the split tree. For the proof of the second theorem we show some results on the number of embeddings of digraphs into split trees which may be of independent interest.
1 Introduction and statement of results
Our two main results are the distribution of the number of appearances of a fixed permutation in random labellings of complete binary tree and split trees. Theorem 1.3 gives the distribution of the number of appearances of a fixed permutation in a random labelling of a complete binary tree. A split tree, see Section 1.3, is a random tree consisting of a random number and arrangement of nodes and non-negative number of balls within each node. We say an event En occurs with high probability (whp) if P(En)→1 as n→∞. Theorem 1.6 shows that for a random split tree with high probability, a result similar to Theorem 1.3 holds for the number of appearances of a fixed permutation in a random labelling of the balls of the tree. We write a complete introduction and statement of results in terms of complete binary trees first before defining split trees and stating our results for split trees. This paper extends the conference paper [1].
1.1 Patterns in labelled trees
Let V denote the node set of a tree Tn with n nodes. Define a partial ordering on the nodes of the tree by saying that a<b if a is an ancestor of b. Suppose we have a labelling of the nodes π:V→[n].
We say that nodes a and b form an inversion if a<b and π(a)>π(b). The enumeration of labelled trees with a fixed number of inversions has been studied by Gessel et al. [8], Mallows and Riordan [13] and Yan [16].
One can also extend the notion of inversions in labelled trees to longer permutations. For example, the number inverted triples in a tree T with labelling π is the number of triples of vertices u1<u2<u3 with labels such that π(u1)>π(u2)>π(u3). In general, we say a permutation α appears on the ∣α∣-tuple of vertices u1,…,u∣α∣ , if u1<…<u∣α∣ and the induced order π(u)=(π(u1),…,π(u∣α∣)) is α. Write π(u)≈α to indicate the induced order is the same: for example 527≈213. Permutations in labelled trees have been studied before: Anders et al. [2] and Chauve et al. [4] enumerated labelled trees avoiding permutations in the labels.
We shall be interested in the number of permutations in random labellings of trees. From now on, for fixed trees we let π:V→[n] be a node labelling chosen uniformly from the n! possible labellings (for split trees π is a uniformly random ball labelling). The (random) number of inversions in random node labellings of fixed trees as well as some random models of trees were studied in [7, 14] and extended in a recent paper [3]. The nice paper [12] by Lackner and Panholzer studied runs in labelled trees; i.e. the permutations 12…k and k…21 for constant k. Their paper gives both enumeration results as well as a central limit law for runs in randomly labelled random rooted trees. This new paper finds approximate extensions to some of the results in [3].
We now define the notation we will use. The number of inverted triples in a fixed tree T is the random variable R(321,T)=∑u1<u2<u31[π(u1)>π(u2)>π(u3)] where the sum runs over all triples of nodes in T such that u1 is an ancestor of u2 and u2 an ancestor of u3. For a tree T and uniformly random node labelling define
[TABLE]
so in particular R(21,T) counts the number of inversions in a random labelling of T. (For split trees we take π to be a uniformly random ball labelling and the balls get a partial relation of ancestor induced by the nodes: see Section 1.3 for details.)
Let d(v) denote the depth of v, i.e., the distance from v to the root ρ. For any u1<…<u∣α∣ we have P[π(u)≈α]=1/∣α∣! and so it immediately follows that,
[TABLE]
For length two permutations, e.g. inversions, E[R(21,T)]=21Υ(T) the tree parameter Υ(T)=\buildreldef∑vd(v) is called the total path length of T. We will state our results in terms of a tree parameter Υrk(T) which generalises the notion of total path length.
Defining Υrk(T) will allows us to generalize (1.1) to higher
moments of R(α,T).
For r nodes v1,…,vr let c(v1,…,vr) be the
number of ancestors that they share and so
[TABLE]
which is also the depth of the least common ancestor plus one. That is c(v1,…,vr)=d(v1∨…∨vr)+1 where we write v1∨v2 for the least common ancestor of v1 and v2. The ‘off by one error’ is because the root is in the set of common ancestors for any subsets of nodes but we use the convention that the root has depth [math]. Also define
[TABLE]
where the sum is over all ordered r-tuples of nodes in the tree and with the convention (0x)=1. For a single node v,
d(v)=c(v)−1, since v itself is counted in c(v). So Υ(T)=Υ12(T)−∣V∣; i.e., we recover the
usual notion of total path length. The k=2 case recovers the r-total common ancestors Υr2(T)=∑v1,…,vrc(v1,…,vr) defined in [3].
Indeed the distribution of the number of inversions in a fixed tree has already been studied in [3]. Similarly to the way one can describe a distrubtion by giving all finite moments, we may also describe a distribution via its cumulant moments. The cumulants, which we by denote ϰr=ϰr(X), are the coefficients in the Taylor expansion of the log of the moment generating function of X about the origin (provided they exist)
[TABLE]
thus ϰ1(X)=E[X] and ϰ2(X)=Var(X). For more information on cumulants see for example [11, Section 6.1].
Theorem 1.1** (Cai et al. [3]).**
Let T be a fixed tree, and denote by ϰr=ϰr(R(21,T)) the r-th cumulant of R(21,T). Then for r≥2,
[TABLE]
where Br denotes the r-th Bernoulli number.
Remark 1.2**.**
In essence Theorem 1.1 (Cai et al. [3]) shows the r-th cumulant of the number of inversions is a constant times Υr2(T). Our main result on complete binary trees, Theorem 1.3 (respectively Theorem 1.6 on split trees), shows that for any fixed permutation α of length k for complete binary trees (and whp for split trees) the r-th cumulant is a constant times Υrk(Tn) asymptotically. The exact constant is defined in Equation (6.1) and is a little more involved than for inversions but observe it is a function only of the moment r and the length of k=∣α∣ together with the first element α1 of the permutation α=α1…αk.
1.2 Complete Binary trees
We move onto stating our results. For the case of T a complete binary tree on n vertices we asymptotically recover Theorem 1.1 ([3]) for large n. Moreover we extend it to cover any fixed permutation α for complete binary trees.
The first of our theorems gives the distribution of the number of α in a random labelling of the nodes in a complete binary tree. This result formed Theorem 2 in the extended abstract version of the paper however there was an error in the definition of the constant Dα,r for r>2 which has now been corrected.
Theorem 1.3**.**
Let Tn be the complete binary tree with n nodes and fix a permutation α=α1…αk of length k. Let ϰr=ϰr(R(α,Tn)) be the r-th cumulant of R(α,Tn). Then for r≥2, there exists a constant Dα,r depending only on α and r such that,
[TABLE]
An explicit formula for Dα,r is derived in Equation (6.1) and in the Appendix on page 5 we list values of Dα,r for permuatations α of length at most 6 and moments r∈{1,…,5}. The explicit formula (6.1) implies the following corollary.
Corollary 1.4**.**
Let Tn be the complete binary tree with n nodes. For permutations α of length 3, the variance is
[TABLE]
and more generally for α=α1α2…αk,
[TABLE]
Remark 1.5**.**
The methods in the proofs are very different for inversions and general permutations. In [3], the method takes advantage of a nice independence property of inversions. For a node u let Iu be the number of inversions involving u as the top node: Iu=∣{w:u<w,π(u)>π(w)}∣. Then the {Iu}u are independent random variables and Iu is distributed as the uniform distribution on {0,…,∣Tu∣} where Tu is the subtree rooted at u, see Lemma 1.1 of [3].
Without a similar independence property for general permutations our route instead uses nice properties on the number of embeddings of small digraphs in both complete binary trees and, whp, in split trees. This property allows us to calculate the r-th moment of R(α,T) directly from a sum of products of indicator variables as most terms in the sum are zero or negligible by the embedding property.
1.3 Split trees
Split trees were first defined in [5] and were introduced to encompass many families of trees that are frequently used in algorithm analysis, e.g., binary search trees [9], m-ary search trees
[15] and quad trees [6]. The full definition is given below but note that a split tree is a random tree which consists of nodes (bags) each of which contains a number of balls. We will study the number of occurences of a fixed subpermutation α in a random ball labelling of the split tree.
The random split tree Tn has parameters b,s,s0,s1,V and n. The integers b,s,s0,s1 are required to satisfy the inequalities
[TABLE]
and V=(V1,…,Vb) is a random non-negative vector
with ∑i=1bVi=1 (the components Vi are probabilities).
We define Tn algorithmically.
Consider the infinite b-ary tree U, and view each node as a
bucket or bag with capacity s. Each node (bag) u is assigned an independent copy
Vu of the random split vector V.
Let
C(u) denote the number of balls in node (bag) u, initially setting C(u)=0 for all u. Say that
u is a leaf if C(u)>0 and C(v)=0 for all children v of
u, and internal if
C(v)>0 for some proper descendant v, i.e., v>u. We add n balls labeled {1,…,n} to U
one by one. The j-th ball is added by the following “trickle-down” procedure.
-
Add j to the root.
2. 2.
While j is at an internal node (bag) u, choose child i with probability Vu,i, where
Vu=(Vu,1,…,Vu,b) is the split vector at u, and move j to child i.
3. 3.
If j is at a leaf u with C(u)<s, then j stays at u and we set C(u)←C(u)+1.
If j is at a leaf with C(u)=s, then the balls at u are distributed among u and its
children as follows. We select s0≤s of the balls uniformly at random to stay at u. Among
the remaining s+1−s0 balls, we uniformly at random distribute s1 balls to each of the b
children of u. Each of the remaining s+1−s0−bs1 balls is placed at a child node
chosen independently at random according to the split vector assigned to u.
This splitting process is repeated for any child which receives more than s balls.
Once all n balls have been placed in U, we obtain Tn by deleting
all nodes u such that the subtree rooted at u contains no balls. Note
that
an internal node (bag) of Tn contains exactly s0 balls, while a leaf
contains a random amount in {1,…,s}. We can assume that the components Vi of the split vector V are identically distributed. If this was not the case they can anyway be made identically distributed by using a random permutation, see [5]. Let V be a random variable with this distribution. We assume, as previous authors,
that P{∃i:Vi=1}<1.
For this paper we will also require that the internal node (bag) capacity s0 is at least one so that there are some internal balls to receive labels.
For example, if we let b=2,s=s0=1,s1=0 and V have the
distribution of (U,1−U) where U∼Unif[0,1], then
we get the well-known binary search tree.
An alternate definition of the random split tree is as follows. Consider an infinite b-ary tree U.
The split tree Tn is constructed by distributing n balls (pieces of information) among
nodes of U. For a node u, let nu be the number of balls stored in the subtree rooted
at u. Once nu are all decided, we take Tn to be the largest subtree of U such
that nu>0 for all u∈Tn. Let Vu=(Vu,1,…,Vu,b) be the independent copy of V assigned to u. Let
u1,…,ub be the child nodes of u. Conditioning on nu and
Vu,
if nu≤s, then nui=0 for all i;
if nu>s, then
[TABLE]
where Mult denotes multinomial distribution, and b,s,s0,s1 are integers
satisfying (1.3). Note that we have ∑i=1bnui≤n (hence the “splitting”).
Naturally for the root ρ, nρ=n. Thus the distribution of (nu,Vu)u∈V(U) is completely defined.
The balls inherit a partial order from the partial ordering of the nodes in the split tree. We write u1<u2 if node u1 is an ancestor of node u2, u1>u2 if u2 is an ancestor of u1 and finally u1⊥u2 is neither u1 nor u2 is an ancestor of the other node.
For balls j1,j2 in nodes (bags) u1,u2 respectively j1<j2 if u1<u2 and j1⊥j2 if u1⊥u2. We say that balls j1,j2 are incomparable, j1⊥j2 if they are in the same node (bag).
This next theorem is our other main result. We determine the distribution of the number of occurences of a fixed subpermutation in a random ball labelling of the split tree. Denote the random variable for the number of occurences of α in a uniformly random ball labelling of split tree Tn by R(α,Tn).
Theorem 1.6**.**
Fix a permutation α=α1…αk of length k. Let Tn be a split tree with split vector V=(V1,…,Vb) and n balls. Let ϰr=ϰr(R(α,Tn)) be the r-th cumulant of R(α,Tn). For r≥2 the constant Dα,r is defined in Equation (6.1). Whp the split tree Tn has the following property.
[TABLE]
Our theorem says the following. Generate a random split tree Tn, whp it has the property that the random number of occurrences of any fixed subpermutation in a random ball labelling of Tn has variance and higher cumulant moments approximately a constant times a ‘simple’ tree parameter of Tn.
Remark 1.7**.**
We may contrast this with Theorem 1.12 of [3]. That theorem states the distribution of the number of inversions in a random split tree; where the distribution is expressed as the solution of a system of fixed point equations. Determining the distribution of Υrk(Tn) would extend Theorem 1.12 of [3] about inversions to general permutations.
1.4 Embeddings of small digraphs
Certain classes of digraphs, defined below, will be important in the proof of Theorem 1.3. Loosely the digraphs we will consider are those that may be obtained by taking r copies of the directed path Pk and iteratively fusing pairs of vertices together. It will also matter how many embeddings each digraph has into the complete binary tree. In Proposition 4.1 we show the counts for most digraphs in such a class are of smaller order than the counts of a particular set of digraphs in the class. The main work in the proof of this proposition is to show that the number of embeddings of any digraph H, up to a constant factor, depends only on the numbers of two types of vertices in H. We separate this result out as a theorem, Theorem 1.8, which we prove in Section 2.
We now define the particular notion of embedding small digraphs into a tree which will be important. Define a digraph to be a simple graph together with a direction on each edge. We shall consider only acyclic digraphs i.e. those without a directed cycle.
In the complete binary tree we have a natural partial order, the ancestor relation, where the root is the ancestor of all other nodes. Any fixed acyclic digraph also induces a partial order on its vertices where v<u if there is a directed path from v to u. For an acyclic digraph H, define [H]Tn to be the number of embeddings ι of H to distinct nodes in Tn such that the partial order of vertices in H is respected by the embedding to nodes in Tn under the ancestor relation.
[TABLE]
Observe that the inverse of embedding ι−1 need not respect relations. If u⊥v in H, i.e. u,v are incomparable in H then we can embed so that ι(u)<ι(v), ι(u)>ι(v) or ι(u)⊥ι(v) in Tn. For an example of this take the digraph and denote by Pℓ the rooted path on ℓ nodes. Notice that in two of the vertices are incomparable but the vertices of the digraph can be embedded into the nodes of a path which are completely ordered. The counts are [\leavevmodeto12.79pt\vboxto14.92pt\pgfpicture\makeatletter\lower-5.68225ptto0.0pt\pgfsys@beginscope\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@setlinewidth0.4pt\pgfsys@invoke \nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \definecolor[named]pgffillcolorrgb0,0,0\pgfsys@color@gray@fill0\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \definecolor[named]pgffillcolorrgb0,0,0\pgfsys@color@gray@fill0\pgfsys@invoke \pgfsys@moveto-3.5649pt1.77829pt\pgfsys@curveto-3.5649pt2.55939pt-4.1981pt3.1926pt-4.9792pt3.1926pt\pgfsys@curveto-5.7603pt3.1926pt-6.39351pt2.55939pt-6.39351pt1.77829pt\pgfsys@curveto-6.39351pt0.9972pt-5.7603pt0.36398pt-4.9792pt0.36398pt\pgfsys@curveto-4.1981pt0.36398pt-3.5649pt0.9972pt-3.5649pt1.77829pt\pgfsys@closepath\pgfsys@moveto-4.9792pt1.77829pt\pgfsys@fill\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke \pgfsys@transformcm1.00.00.01.0-4.9792pt1.77829pt\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@beginscope\pgfsys@invoke \definecolor[named]pgffillcolorrgb0,0,0\pgfsys@color@gray@fill0\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \definecolor[named]pgffillcolorrgb0,0,0\pgfsys@color@gray@fill0\pgfsys@invoke \pgfsys@moveto6.39351pt1.77829pt\pgfsys@curveto6.39351pt2.55939pt5.7603pt3.1926pt4.9792pt3.1926pt\pgfsys@curveto4.1981pt3.1926pt3.5649pt2.55939pt3.5649pt1.77829pt\pgfsys@curveto3.5649pt0.9972pt4.1981pt0.36398pt4.9792pt0.36398pt\pgfsys@curveto5.7603pt0.36398pt6.39351pt0.9972pt6.39351pt1.77829pt\pgfsys@closepath\pgfsys@moveto4.9792pt1.77829pt\pgfsys@fill\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke \pgfsys@transformcm1.00.00.01.04.9792pt1.77829pt\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@beginscope\pgfsys@invoke \definecolor[named]pgffillcolorrgb0,0,0\pgfsys@color@gray@fill0\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \definecolor[named]pgffillcolorrgb0,0,0\pgfsys@color@gray@fill0\pgfsys@invoke \pgfsys@moveto1.4143pt7.82454pt\pgfsys@curveto1.4143pt8.60564pt0.7811pt9.23885pt0.0pt9.23885pt\pgfsys@curveto-0.7811pt9.23885pt-1.4143pt8.60564pt-1.4143pt7.82454pt\pgfsys@curveto-1.4143pt7.04344pt-0.7811pt6.41023pt0.0pt6.41023pt\pgfsys@curveto0.7811pt6.41023pt1.4143pt7.04344pt1.4143pt7.82454pt\pgfsys@closepath\pgfsys@moveto0.0pt7.82454pt\pgfsys@fill\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke \pgfsys@transformcm1.00.00.01.00.0pt7.82454pt\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@beginscope\pgfsys@invoke \definecolor[named]pgffillcolorrgb0,0,0\pgfsys@color@gray@fill0\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \definecolor[named]pgffillcolorrgb0,0,0\pgfsys@color@gray@fill0\pgfsys@invoke \pgfsys@moveto1.4143pt-4.26794pt\pgfsys@curveto1.4143pt-3.48685pt0.7811pt-2.85364pt0.0pt-2.85364pt\pgfsys@curveto-0.7811pt-2.85364pt-1.4143pt-3.48685pt-1.4143pt-4.26794pt\pgfsys@curveto-1.4143pt-5.04904pt-0.7811pt-5.68225pt0.0pt-5.68225pt\pgfsys@curveto0.7811pt-5.68225pt1.4143pt-5.04904pt1.4143pt-4.26794pt\pgfsys@closepath\pgfsys@moveto0.0pt-4.26794pt\pgfsys@fill\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke \pgfsys@transformcm1.00.00.01.00.0pt-4.26794pt\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@moveto1.0262pt6.57841pt\pgfsys@lineto3.6606pt3.37949pt\pgfsys@stroke\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@transformcm0.6357-0.771930.771930.63573.66058pt3.37949pt\pgfsys@invoke \pgfsys@invoke \lxSVG@closescope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@moveto-1.0262pt6.57841pt\pgfsys@lineto-3.6606pt3.37949pt\pgfsys@stroke\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@transformcm-0.6357-0.771930.77193-0.6357-3.66058pt3.37949pt\pgfsys@invoke \pgfsys@invoke \lxSVG@closescope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@moveto-3.953pt0.53217pt\pgfsys@lineto-1.31862pt-2.66675pt\pgfsys@stroke\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@transformcm0.63571-0.771930.771930.63571-1.31862pt-2.66675pt\pgfsys@invoke \pgfsys@invoke \lxSVG@closescope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@moveto3.953pt0.53217pt\pgfsys@lineto1.31862pt-2.66675pt\pgfsys@stroke\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@transformcm-0.63571-0.771930.77193-0.635711.31862pt-2.66675pt\pgfsys@invoke \pgfsys@invoke \lxSVG@closescope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture]P4=2 and in general [\leavevmodeto12.79pt\vboxto14.92pt\pgfpicture\makeatletter\lower-5.68225ptto0.0pt\pgfsys@beginscope\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@setlinewidth0.4pt\pgfsys@invoke \nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \definecolor[named]pgffillcolorrgb0,0,0\pgfsys@color@gray@fill0\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \definecolor[named]pgffillcolorrgb0,0,0\pgfsys@color@gray@fill0\pgfsys@invoke \pgfsys@moveto-3.5649pt1.77829pt\pgfsys@curveto-3.5649pt2.55939pt-4.1981pt3.1926pt-4.9792pt3.1926pt\pgfsys@curveto-5.7603pt3.1926pt-6.39351pt2.55939pt-6.39351pt1.77829pt\pgfsys@curveto-6.39351pt0.9972pt-5.7603pt0.36398pt-4.9792pt0.36398pt\pgfsys@curveto-4.1981pt0.36398pt-3.5649pt0.9972pt-3.5649pt1.77829pt\pgfsys@closepath\pgfsys@moveto-4.9792pt1.77829pt\pgfsys@fill\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke \pgfsys@transformcm1.00.00.01.0-4.9792pt1.77829pt\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@beginscope\pgfsys@invoke \definecolor[named]pgffillcolorrgb0,0,0\pgfsys@color@gray@fill0\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \definecolor[named]pgffillcolorrgb0,0,0\pgfsys@color@gray@fill0\pgfsys@invoke \pgfsys@moveto6.39351pt1.77829pt\pgfsys@curveto6.39351pt2.55939pt5.7603pt3.1926pt4.9792pt3.1926pt\pgfsys@curveto4.1981pt3.1926pt3.5649pt2.55939pt3.5649pt1.77829pt\pgfsys@curveto3.5649pt0.9972pt4.1981pt0.36398pt4.9792pt0.36398pt\pgfsys@curveto5.7603pt0.36398pt6.39351pt0.9972pt6.39351pt1.77829pt\pgfsys@closepath\pgfsys@moveto4.9792pt1.77829pt\pgfsys@fill\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke \pgfsys@transformcm1.00.00.01.04.9792pt1.77829pt\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@beginscope\pgfsys@invoke \definecolor[named]pgffillcolorrgb0,0,0\pgfsys@color@gray@fill0\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \definecolor[named]pgffillcolorrgb0,0,0\pgfsys@color@gray@fill0\pgfsys@invoke \pgfsys@moveto1.4143pt7.82454pt\pgfsys@curveto1.4143pt8.60564pt0.7811pt9.23885pt0.0pt9.23885pt\pgfsys@curveto-0.7811pt9.23885pt-1.4143pt8.60564pt-1.4143pt7.82454pt\pgfsys@curveto-1.4143pt7.04344pt-0.7811pt6.41023pt0.0pt6.41023pt\pgfsys@curveto0.7811pt6.41023pt1.4143pt7.04344pt1.4143pt7.82454pt\pgfsys@closepath\pgfsys@moveto0.0pt7.82454pt\pgfsys@fill\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke \pgfsys@transformcm1.00.00.01.00.0pt7.82454pt\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@beginscope\pgfsys@invoke \definecolor[named]pgffillcolorrgb0,0,0\pgfsys@color@gray@fill0\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \definecolor[named]pgffillcolorrgb0,0,0\pgfsys@color@gray@fill0\pgfsys@invoke \pgfsys@moveto1.4143pt-4.26794pt\pgfsys@curveto1.4143pt-3.48685pt0.7811pt-2.85364pt0.0pt-2.85364pt\pgfsys@curveto-0.7811pt-2.85364pt-1.4143pt-3.48685pt-1.4143pt-4.26794pt\pgfsys@curveto-1.4143pt-5.04904pt-0.7811pt-5.68225pt0.0pt-5.68225pt\pgfsys@curveto0.7811pt-5.68225pt1.4143pt-5.04904pt1.4143pt-4.26794pt\pgfsys@closepath\pgfsys@moveto0.0pt-4.26794pt\pgfsys@fill\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke \pgfsys@transformcm1.00.00.01.00.0pt-4.26794pt\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@moveto1.0262pt6.57841pt\pgfsys@lineto3.6606pt3.37949pt\pgfsys@stroke\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@transformcm0.6357-0.771930.771930.63573.66058pt3.37949pt\pgfsys@invoke \pgfsys@invoke \lxSVG@closescope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@moveto-1.0262pt6.57841pt\pgfsys@lineto-3.6606pt3.37949pt\pgfsys@stroke\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@transformcm-0.6357-0.771930.77193-0.6357-3.66058pt3.37949pt\pgfsys@invoke \pgfsys@invoke \lxSVG@closescope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@moveto-3.953pt0.53217pt\pgfsys@lineto-1.31862pt-2.66675pt\pgfsys@stroke\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@transformcm0.63571-0.771930.771930.63571-1.31862pt-2.66675pt\pgfsys@invoke \pgfsys@invoke \lxSVG@closescope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@moveto3.953pt0.53217pt\pgfsys@lineto1.31862pt-2.66675pt\pgfsys@stroke\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@transformcm-0.63571-0.771930.77193-0.635711.31862pt-2.66675pt\pgfsys@invoke \pgfsys@invoke \lxSVG@closescope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture]Pℓ=2(4ℓ).
A particular star-like digraph Sk,r will be important. This is the digraph obtained by taking r directed paths of length k and fusing their source vertices into a single vertex. Alternatively the theorem can be stated in terms of star counts as [S∣α∣,r]Tn=Υr∣α∣(Tn)(1+o(1)): see Lemma 4.2.
A vertex in a directed graph is a sink if it has zero out-degree. Define A0(H)⊆V(H) to be the set of sinks in digraph H. Recall that a directed acyclic graph defines a partial order on the vertices: v<u if there is a directed path from v to u. If v<u we say that u is a descendant of v. Define A1(H)⊆V(H) to be the vertices with exactly one descendant which is a sink.
We will call vertices in A1 ancestors as they are ancestors of a single sink. Define A2(H) to be the remainder A2(H)=V(H)\{A0∪A1}. We call those in A2 common-ancestors as they are the common ancestor of at least two sinks (see Figure 1). Observe if H is a directed forest then the sinks are the leaves. However, H need not be a forest and indeed a sink may have indegree more than one as in the rightmost sink in Figure 1.
For the split tree Tn and an acyclic digraph H, define [H]Tn to be the number of embeddings ι of vertices in H to distinct balls in Tn such that the partial order of vertices in H is respected by the embedding to balls in Tn under the ancestor relation.
Theorem 1.8**.**
Let H be a fixed directed acyclic graph and let Tn be the complete binary tree of height m with n=2m+1−1 vertices.
Then writing ∣A0∣=∣A0(H)∣ for the number of sink (green) vertices and ∣A1∣=∣A1(H)∣ for the number of ‘ancestor’ (blue) vertices
[TABLE]
This improves on bounds provided in the conference version of this paper [1]. Similarly for split trees we show that the expected number of embeddings of a fixed acyclic digraph H, to constant factors, depends only on the number of sink and ‘ancestor’ vertices in H.
Theorem 1.9**.**
Let H be a fixed directed acyclic graph and let Tn be a split tree with split vector V={V1,…,Vb} and n balls.
Then writing ∣A0∣=∣A0(H)∣ for the number of sink (green) vertices and ∣A1∣=∣A1(H)∣ for the number of ‘ancestor’ (blue) vertices there exist constants c=c(H) and c′=c′(H) such that for large enough n,
[TABLE]
and whp
[TABLE]
In the extended abstract version of this paper [1], in Lemma 7, we proved the weaker upper bound that for constant c′′ whp [H]Tn≤c′′n∣A0∣(lnn)∣A1∣(lnlnn)∣A2∣, i.e. a dependence also on the number of ‘common-ancestor’ (red) vertices in H. It is a little trickier to prove the new upper bound. However, we are rewarded by a tighter bound on the number of embeddings; the expected number of embeddings is now determined only by the numbers of sink (green) and ‘ancestor’ (blue) vertices up to constant factors. It would be interesting to obtain tail bounds on the number of embeddings of small digraphs in a random split tree and we leave this as an open question.
2 Embeddings of small digraphs into the complete binary tree
In this section we prove Theorem 1.8 concerning upper and lower bounds on the number of embeddings of a fixed digraph H, thought of as constant, into a complete binary tree Tn with n vertices.
We prove the lower bound of Theorem 1.8 first as the upper bound will require some preparatory lemmas.
Proof.
(of lower bound of Theorem 1.8)
We restrict attention to embeddings where all ‘common-ancestors’ of H are embedded very near the root of Tn, the sink vertices are embedded to leaves of Tn and the ‘ancestor’ vertices are placed on the path between the root of Tn and the leaf to which their descendant sink was embedded (see Figure 2). There are sufficiently many such embeddings to obtain the lower bound. In fact we restrict a little further to make it easy to check all the embeddings are valid.
The first task is to embed the vertices in A2 close to the root in such a way that A2 is embedded to ancestors of the nodes to which A1 and A0 are embedded and also such that the ordering within the vertices in A2 is preserved. As H is an acyclic digraph the directed edges define a partial order on all vertices of H and in particular for those in A2. Thus this relation can be extended to a total order. Fix such a total order <∗ on V(H), one which extends the partial order on V(H), and relabel vertices in A2 so that v1<∗…<∗v∣A2∣. Thus we may embed v1 to the root ρ in Tn and each vi+1 to a child of the node to which vi was embedded and the relation between vertices in H will be preserved by their embedding in Tn; i.e. we may embed A2 to the nodes on the path from ρ to some u∗ at depth ∣A2∣−1. Fix such a node u∗ and let T∗ be the subtree of Tn from u∗.
Label the sinks A0={s1,…,s∣A0∣} and vertices in A1 according to which sink they are the ancestors of A1i=\buildreldef{v∈A1:v<si}.
We obtain a subcount of [H]Tn by embedding A2 onto the path from ρ to u∗, embedding A0 to leaves of T∗ and then for each i in turn embedding vertices in A1i on the path from u∗ to the embedding of si. There are m−∣A2∣−1 vertices on the path from si to u∗ and at most ∣A1∣ of them already have an ancestor vertex embedded onto to them (i.e. from A1j for some j<i).
Thus
[TABLE]
where the first binomial coefficient counts the number of ways to embed A0 and the i-th binomial coefficient in the product counts the ways to embed A1i. Now because H is fixed ∣A0∣, ∣A1∣ and ∣A2∣ are all O(1). Hence for large m the RHS of Equation (2.1) has first term of order Θ(2m∣A0∣) and the product over i is of order Θ(m∑i∣A1i∣)=Θ(m∣A0∣) so the lower bound follows.∎
The key observation to prove the upper bound in Theorem 1.8 is that for most pairs of nodes in a complete binary tree their least ‘common ancestor’ is very near the root. We make the required condition precise in the assumption of the next lemma, and show it implies the upper bound on the number of embeddings of H. It then suffices to prove that the condition holds for complete binary trees. This allows us to recycle the lemma to show the corresponding result in split trees.
Define c(u1,u2) to be the number of ‘common ancestors’ of nodes u1 and u2.
Lemma 2.1**.**
Let H be a fixed directed acyclic graph and let Tn be any tree with n nodes and height m. Then writing ∣A0∣=∣A0(H)∣ for the number of sink (green) vertices, ∣A1∣=∣A1(H)∣ for the number of ‘ancestor’ (blue) vertices and ∣A2∣=∣A2(H)∣ for the number of ‘common-ancestor’ (red) vertices,
[TABLE]
where the sum is over ordered pairs of distinct nodes in Tn.
Proof.
Label the sinks A0={s1,…,s∣A0∣} and vertices in A1 according to which sink they are the ancestors of A1i=\buildreldef{v∈A1:v<si}. Similarly partition ‘common-ancestor’ vertices into disjoint sets {A2i,j}1≤i<j≤∣A0∣ according to the lexicographically least pair of sinks si and sj for which it is an ancestor. Formally a vertex v∈A2 is in A2i,j if v is the ancestor of sinks si and sj but not an ancestor of a sink sk for k<max{i,j}.
Suppose sinks si and sj are embedded to vertices ui and uj in Tn. Then to complete the embedding of ancestors of si, vertices in A1i must be embedded to ancestors of ui in Tn and there are at most d(ui) options. Likewise vertices in A2i,j i.e. ‘common-ancestors’ of sinks si and sj must be embedded to a common ancestor of ui and uj in the tree. Thus, recalling c(ui,uj) denotes the number of common ancestors of ui and uj,
[TABLE]
where the sum is over distinct nodes u1,…,u∣A0∣ and the product i=j is over pairs ui,uj in u1,…,u∣A0∣. Fix a particular embedding of the sinks to u1,…,u∣A0∣ and we shall bound both terms in the product in (2.2). Recall that for the (blue) ‘ancestor’ vertices, ∑i∣A1i∣=∣A1∣ so ∏i(∣A1i∣d(ui))≤(maxid(ui))∣A1∣. It will suffice to use the trivial bound that all vertices have depth at most the height of the tree, i.e. maxid(ui)≤m. And so,
[TABLE]
Similarly, for the (red) ‘common-ancestor’ vertices ∑i=j∣A2i,j∣=∣A2∣ as the sets A2i,j are disjoint. Thus
[TABLE]
Hence substituting the bounds above into the expression in (2.2),
[TABLE]
which is the required result.
∎
There is one more result we need and then the upper bound in Theorem 1.8 will follow very fast.
Lemma 2.2**.**
Let H be a fixed directed acyclic graph and let Tn be a complete binary tree with n vertices and height m. Then for any positive integer ℓ,
[TABLE]
the sum is over ordered pairs of distinct nodes in Tn
Proof.
Associate with each vertex v∈V(Tn) a binary string of length at most m in the usual way: the root has string ∅, children of the root are labelled [math] and 1 and two vertices in the same subtree at depth d have the same initial d-length substring. Now ∑u1,u21[c(u1,u2)≥ℓ] is precisely the number of ordered pairs which share a common (ℓ−1)-length initial substring in their labels; i.e. ordered pairs with both vertices in the same depth (ℓ−1) subtree.
Let T1ℓ−1,…,T2ℓ−1ℓ−1 be the subtrees at depth ℓ−1. Since Tn is a complete binary tree ∣Tiℓ−1∣=2m−ℓ+1−1. Recall n=2m+1−1 and so ∣Tiℓ−1∣≤n2−ℓ. Now
[TABLE]
as required.
∎
Proof.
(of upper bound in Theorem 1.8)
Observe Lemma 2.2 implies
[TABLE]
Since ∣A2∣ is a constant the sum ∑ℓ=1∞(21)ℓℓ∣A2∣ converges to a constant, say β=β(∣A2∣). Thus by Lemma 2.1 we get
[TABLE]
∎
3 Embeddings of small digraphs into the split trees
In this section we prove Theorem 1.9 concerning upper and lower bounds on the number of embeddings of a fixed digraph H, thought of as constant, into a random split tree with n balls. We begin by briefly listing some results on split trees from the literature that will be useful for us.
For split vector V define μ=∑iE[VilnVi]. The average depth of a node is ∼μ1lnn [10, Cor 1.1]. Moreover almost all nodes are very close to this depth. Define a node v to be good if it has depth
[TABLE]
and then whp 1−o(1) proportion of the nodes in the split tree are good [10, Thm 1.2]. That whp in a split tree all good nodes have a Θ(lnn) depth and almost all nodes are good is the only result about split trees required for the proof of the lower bound on [H]Tn in Theorem 1.9. For the upper bound we need a bit more.
We will apply Proposition 3.1 below which is stated as Remark 3.4 in [10] (this remark refers to the proof of [10, Thm 1.2] which is stated above).
Proposition 3.1**.**
Let Tn be a split tree with n balls.
For any constant r>0 there is a constant K>0, such that the expected number of nodes with d(v)≥Klnn is O(nr1).
We will use Proposition 3.1 as well as the property that most pairs of balls have their least common ancestor node very close to the root which we prove in Lemma 3.4.
We begin with the lower bound, the upper bound is proven at the end of this section on page 3.
Proof.
(of the lower bound of Theorem 1.9)
We describe a strategy to embed H into Tn. The details of the proof are then to show that whp this strategy can be followed to obtain a valid embedding of H and that there are sufficiently many different such embeddings to achieve the lower bound.
The idea is as follows: first embed ‘common-ancestor’ vertices along a path to some node u∗ near the root of Tn so that the subtree from u∗ has n~ balls where this n~ is a constant proportion of the total number of balls n. Now consider the split tree with n~ balls and embed ‘ancestor’ and sink vertices into that. Embed sink vertices to ‘good’ balls in the tree (i.e. depth very close to the expected depth) and the ‘ancestor’ vertices to balls which are in nodes on the path between u∗ and the embedding of that ancestor’s descendant. See Figure 3.
We embed the ‘common-ancestor’ vertices, A2(H), to the balls in the nodes on the path between a node, u∗ say, at depth ∣A2∣−1 and the root, using one ball per node. This is so far effectively the same as in the binary case. And we will later embed the sink and ‘common-ancestor’ vertices to balls in the subtree Tu∗.
We need to confirm there is some node u∗ at depth L=∣A2∣−1 with n~ balls in its subtree. Each node (bag) has capacity at most s0 (internal nodes) or s (leaves) and there are at most (bL+1−1) nodes, a constant number, at depth less than L, so n−O(1) balls remaining. These balls are shared between bL, a constant, number of subtrees Tu. Hence by pigeon-hole principle some vertex u∗ has n~=Θ(n) balls in its subtree.
Now work in the split tree Tn~. Embed the sink vertices to any balls in good nodes v1,…,v∣A0∣ in the split tree so these have depth Ω(lnn~). There are Θ(n~∣A0∣) ways to embed them. In H label the sink vertices s1,…,s∣A0∣ and A1j⊂A1(H) to be the ‘ancestor’ vertices with sj as their lone descendant. Vertices in A1j can be embedded to balls anywhere between vj and u∗ and so there are Θ((lnn~)∣A1j∣) ways to do that for each j. All up there are Ω(n~∣A0∣(lnn~)∣A1∣) ways to embed A0(H)∪A1(H) into balls of Tn~. But now as n~=Θ(n) we are done.
∎
The rest of this section is devoted to proving the upper bound of Theorem 1.9. To prove the upper bound on the expected number of embeddings of a fixed digraph into a split tree we begin by proving the split tree analogue of Lemma 2.1 which was for complete binary trees. Define cn(b1,b2) to be the number of node common ancestors of balls b1 and b2. The lemma shows that the number of embeddings of H to balls in Tn can be bounded above by a function of the number of balls, the height of the tree and the number of node common ancestors. Note that the following lemma is deterministic and is true for any instance of a split tree.
Lemma 3.2**.**
Let H be a fixed directed acyclic graph and let Tn be a split tree with s0>0, n balls and height m. Then writing ∣A0∣=∣A0(H)∣ for the number of sink (green) vertices, ∣A1∣=∣A1(H)∣ for the number of ‘ancestor’ (blue) vertices and ∣A2∣=∣A2(H)∣ for the number of ‘common-ancestor’ (red) vertices,
[TABLE]
the sum is over ordered pairs of distinct balls in Tn
Proof.
As in the proof of Lemma 2.1, label the sinks A0={s1,…,s∣A0∣} and vertices in A1 according to which sink they are the ancestors of A1i=\buildreldef{v∈A1:v<si}. Also let A2ij be the ‘common-ancestor’ vertices in A2 which are ancestors of both sink si and sj.
Suppose sinks si and sj are embedded to balls bi and bi′ in Tn. Then to complete the embedding ancestors of si, i.e. vertices in A1i must be embedded balls in node ancestors of bi in Tn and there are at most s0d(bi) options as each node ancestor of bi has s0 balls. Likewise vertices in A2i,j i.e. common-ancestors of sinks si and sj must be embedded to balls in common ancestor nodes of bi and bj in the tree. Thus,
[TABLE]
where the sum is over distinct balls b1,…,b∣A0∣ and the product i=i′ is over pairs bi,bi′ in b1,…,b∣A0∣. The expression above is very similar to Equation (2.3) in the proof of Lemma 2.1 and the proof follows now in an identical way so we omit the details. Notice the upper bound for split trees simply picks up an additional factor of s0∣A1∣+∣A2∣.
∎
Lemma 3.3**.**
Let j and j′ be any two distinct balls, and v a node with split vector Vv=(V1v,…,Vbv). Let y be the probability that balls j and j′ pass to the same child node of node v conditional on the event that both balls reach node v. (We say a ball passes to a child node whether it stays at that child or continues further down the tree via that child node). Then,
[TABLE]
Proof.
If a ball j reaches node v there are three possible scenarios
(i) ball j is chosen as one of the s0 balls to remain at node v when all n balls have been added to the tree.
(ii) ball j is chosen as one of the bs1 balls which are distributed uniformly so each child of v receives s1 of them.
(iii) ball j chooses a child of v with probabilities given by the split vector Vv.
For each of these possible scenarios we give the probability that balls j,j′ pass to the same child of node v. Observe that swapping the scenarios for j,j′ gives the same probability so we list only one possibility. We summarise these in a table and then provide the proof of each line below the table.
\begin{array}[]{l|l|l|llllll}(i)&(ii)&(iii)&\mbox{Probability that j,j^{\prime} pass to same child}\\
\hline\cr&&&\\
j,j^{\prime}&&&0\\
&&&\\
j&j^{\prime}&&0\\
&&&\\
j&&j^{\prime}&0\\
&&&\\
&j,j^{\prime}&&\frac{s_{1}-1}{bs_{1}-1}\\
&&&\\
&j&j^{\prime}&\frac{1}{b}\\
&&&\\
&&j,j^{\prime}&\sum_{i}V_{i}^{2}\\
\end{array}
Now, if either or both of the balls stay at node v then self-evidently they cannot pass to the same child of v, thus the situations indicated in the first three rows have probability zero.
The first interesting case is if both balls are in situation (ii), i.e. are both chosen to be part of the bs1 nodes that are distributed uniformly such that each child receives s1 balls. Fix a child of v, the number of ways both j,j′ pass to that child is (2s1); and thus there are bs1(s1−1)/2 ways for j,j′ to pass to the same child of v. Then simply divide by bs1(bs1−1)/2 to get the probability that j,j′ pass to the same child of v. This finishes this case.
The next interesting case is if ball j is in situation (ii) and ball j′ is in situation (iii). In this case ball j′ goes to each child v with probability indicated by the split vector. The probability that ball j goes to the same node as j′ is 1/b; and indeed it didn’t matter the probability with which j′ passes to each child of v.
The last case to consider is if both j,j′ are in situation (iii), i.e. they pass to child i of node v with probability Vi as given by the split vector. Thus the probability they both go to child i of node v is ∑iVi2; and the probability they pass to the same child of v is then simply the sum over the children of v as required.
After justifying each line in the table it now suffices only to show that bs1−1s1−1<b1≤∑iVi2. The first is immediate,
[TABLE]
and the second follows by Jensen’s inequality.
∎
We write cn(j,j′) to denote the number of nodes which are common ancestors of balls j,j′ and cn(j) the number of nodes which are ancestors of ball j, including the node containing ball j. Similarly, write cn(u) to be the number of nodes which are ancestors of node u including node u itself. Lastly denote by j∨nj′ the node which is the least common-ancestor of balls j and j′; note if j and j′ are in the same node then this node is j∨nj′. Observe that the number of nodes which are ancestors of a ball is one more than the depth cn(j)=d(j)+1 and similarly cn(j,j′)=d(j∨nj′)+1.
After recalling this notation, we can use it to express the probability y in the statement of Lemma 3.3. Observe that the event that the balls j and j′ both reach node v can be expressed as j,j′≥v or equivalently (j∨nj)≥v.
Now y was defined as the probability that balls j and j′ pass to the same child node of node v conditional on the event that both balls reach node v and conditional on node v having split vector Vv=(V1v,…,Vbv). So
[TABLE]
We may now also state the required lemma for split trees (this lemma plays a very similar role to the bound proven for ∑u1,u21[c(u1,u2)≥ℓ] in the proof of Theorem 1.8 for complete binary trees).
Lemma 3.4**.**
Let j,j′ be any two distinct balls in the split tree with split vector V=(V1,…,Vb). For ℓ≥1,
[TABLE]
Proof.
The idea is to establish, using Lemma 3.3, the probability that two balls follow the same path through the tree to some specified level given they followed the same path through the tree to the level before. We condition on {Vv}v the set of all split vectors in the split tree. For ℓ≥1
[TABLE]
The first term is less than ∑i(Viu)2 by Lemma 3.3. For the second term note the following. If balls j and j′ have at least ℓ common ancestors then their least common ancestor, the node j∨nj′ must have at least ℓ common ancestors. In particular j∨nj′ itself or a node on the path from j∨nj′ to the root must have precisely ℓ ancestors and so,
[TABLE]
(Another way to see this is that for j and j′ to have at least ℓ common ancestors there must be some node u which is an ancestor of both j and j′ such that node u has precisely ℓ ancestors.) Hence we get that
[TABLE]
where ∑upu=1 and also the pu depend only on split vectors for nodes v with cn(v)<ℓ, i.e. closer to the root than node u and so the pu are independent of the {Vw}w:cn(w)=ℓ. We can now calculate the probability that balls j,j′ have ℓ+1 ancestors conditioned on having ℓ by taking expectations (over split vectors) and using the tower property of expectations.
[TABLE]
where the inequality in the third line followed by (3.2). We are basically done. Notice that the root is the ancestor of any two balls, so the event cn(j,j′)≥1 has probability one and we have our ‘base case’. Hence
[TABLE]
as required.∎
The previous lemma implies the next proposition almost immediately.
Proposition 3.5**.**
Let C>0 be any constant and let Tn be a split tree with n balls. Then there exists a constant β>0 such that
[TABLE]
where the sum is over balls b1,b2.
Proof.
By Lemma 3.4, there exists a constant a<1 such that for any positive integer ℓ,
[TABLE]
hence as earlier in the proof of the upper bound in Theorem 1.8 this implies
[TABLE]
and again since C and a<1 are constants the sum ∑ℓ=1∞aℓℓC converges to a constant, say β=β(a,C) and we are done.∎
We are now ready to prove our upper bound on the expected number of embeddings.
Proof.
(of the upper bound of Theorem 1.9)
Fix a digraph H, and we will show that there exists a constant c=c(H) such that
[TABLE]
It is important to have a strong bound on the likely height of the split tree. We apply Proposition 3.1. Choose K′ such that P(h(Tn)>K′lnn)≤n−∣H∣−1. Let B denote the (bad) event that h(Tn)>K′lnn, and denote by Bc the complement of this event.
Define random variable X=X(Tn) to be X=∑b1,b2cn(b1,b2)∣A2∣. Observe that because X is non-negative and by law of total expectation E[X∣Bc]≤E[X]/P(Bc) and so, by Proposition 3.5, for n large enough,
[TABLE]
Now by Lemma 3.2
[TABLE]
In particular, by conditioning on Bc: the event that the height being less than K′lnn, and by Equation (3.4),
[TABLE]
It remains now to bound the expected number of embeddings conditioning on B, E[[H]Tn∣B]. We may use a very simple bound that for any tree with n balls, H can be embedded at most n∣H∣ times, as each vertex in H embedded to one of the n balls in the tree. This suffices as now E[[H]Tn∣B]P(B)≤n−1. Hence we may take c=c(H) to be 2s0∣H∣K′∣A1β and we have shown the Equation (3.3) as required.
∎
4 Embeddings: stars are more frequent than other connected digraphs
After having proved the some properties of embedding counts for our two classes of trees, complete binary trees and split trees, we show these imply the desired results on cumulants of the number of appearances of a permutation in the node labellings of complete binary trees, respectively ball labellings in split trees.
Say a sequence of trees Tn with n nodes (respectively balls) is explosive if for any fixed acyclic digraph H
[TABLE]
Thus Section 2 was devoted to showing complete binary trees are explosive and Section 3 to showing split trees are explosive whp. This section proves the cumulant results using only this explosive property of the tree classes. The first result, Proposition 4.1, shows that the number of embeddings of most digraphs we will need to consider are of smaller order than the number of embeddings of a particular digraph the ‘star’ Sk,r which we define below. The other result of this section is to show the asymptotic number of embeddings of Sk,r is asymptotically the same as our extended notion of path length Υrk(Tn) in Lemma 4.2.
The set Gk,r is the set of acyclic digraphs which may be obtained by taking r copies of the path Pk and iteratively fusing pairs of vertices together. Likewise labelled H′ in Gk,r′ are those obtained by fusing together j labelled paths Pk keeping both sets of labels when a pair of vertices are fused. The set G3,2′ is illustrated in Figure 4.
Formally let Gk,r be the set of directed acyclic graphs H on (k−1)r edges (allowing parallel edges), such that the edge set can be partitioned into r directed paths P1,…,Pr, each on k−1 edges. For H∈Gk,r write H′ for H together with a labelling V1,…,Vr, where Vi are the k vertices in Pi (note some vertices have multiple labels). Likewise write Gk,r′ for the labelled set of graphs.
Denote by Sk,j the digraph composed by taking j copies of the path Pk and fusing the j source vertices into a single vertex. We shall refer to this as a star graph but note it is only really stars if k=2.
Proposition 4.1**.**
Fix k,r and let H be a connected digraph in the set Gk,r. If Tn is explosive and H=Sk,r then
[TABLE]
Proof.
First observe that Sk,r has r sink vertices, (k−2)r ancestor vertices and exactly one common-ancestor vertex. Thus by the explosive property of Tn
[TABLE]
Now fix H∈Gk,r\Sk,r and fix a labelling V1,…,Vr on H. Again by the explosive property
[TABLE]
Hence if ∣A0(H)∣≤r−1 then [H]Tn=o([Sk,r]) and so we would be done. Thus we may assume that A0(H)=r and it will suffice to show that A1(H)<(k−2)r.
As the digraph H is connected, each path Vi must have at least one fused vertex. Consider the path labelled Vi=(v1i,…,vki). We know vki is a sink vertex and not fused with any other vertex otherwise we would have A0(H)<r. If vertex vji on path Vi is fused with another vertex, it must be a vertex on a different path to avoid creating a directed cycle, and so vji and vj−1i,…,v1i would become common-ancestors. Thus if vji is fused to another vertex there are at most (k−j−1) ancestor vertices in path Vi. Hence A1(H)≤(k−2)r with equality only if we fused just the source vertices v1i of each path Vi. But fusing just the source vertices would yield Sk,r and so for our digraph A1(H)≤(k−2)r−1 and we are done.
∎
We will also need the following lemma in the proof of Proposition 6.1. Recall the tree parameter Υrk(Tn), defined in Equation (1.2), extends the notion of total path length of a tree.
Lemma 4.2**.**
Fix k,r. If Tn is explosive then
[TABLE]
Proof.
The star Sk,r consists of r directed paths of length k (rays) with their source vertices fused to a common vertex. Let ρ denote the common vertex, and label all other vertices vi,j for 1≤i≤r and 2≤j≤k, where (ρ,vi,2,vi,3,…,vi,k) makes up ray i.
As a warmup we count the number of ways to embed Sk,r into a tree Tn. Suppose the leaves v1,k,v2,k,…,vr,k are mapped to u1,…,ur in Tn. Then ρ must be mapped to one of the c(u1,…,ur) common ancestors of u1,…,ur. Having done this, for each i we choose k−2 vertices between ui and ι(ρ), to which we map vi,2,…,vi,k−1. So the total number of ways is
[TABLE]
We now show that (4.2) is asymptotically Υrk(Tn). The directed star, Sk,r can be constructed by taking r directed paths of length k and fusing their source vertices together to a common vertex. Let Fk,r be the set of graphs obtained by taking r directed paths of length k and fusing one non-sink vertex from each path together to a common vertex and possibly additional pairs of vertices from paths where vertices were at or above this common vertex . So, Sk,r∈Fk,r, but as for k>2 the common fused vertex need not be the source vertex of each path, there may be many other digraphs in Fk,r.
We now count the number of ways to embed H∈Fk,r into a tree Tn. Let ρ denote the common vertex to all paths. Label all other unlabelled vertices vi,j for 1≤i≤r and 1≤j≤k, where (vi,1,ρ,vi,3,…,vi,k) makes up ray i if it was the second vertex of path i that was fused.
Recall for any H∈Fk,r the sinks of each path are not fused. Suppose the sinks/leaves v1,k,v2,k,…,vr,k are mapped to u1,…,ur in Tn. Then ρ must be mapped to one of the c(u1,…,ur) common ancestors of u1,…,ur. Having done this, for each i we choose k−2 between the root of Tn and ui to which we map vi,2,…,vi,k−1. (The number of the k−2 vertex mapped above and below ι(ρ) is dependent on which vertex on path i was common vertex in H). Thus,
[TABLE]
However there are only finitely many digraphs Fk,r and all of these are connected digraphs also in the set Gk,r. Therefore by Proposition 4.1
[TABLE]
and we are done.
∎
5 Labelling stars
In the proof of Proposition 6.1 where we calculate the moments of the distribution of the number of α that occur in a random labelling of our tree we will consider indicators over small subsets of vertices. A star Sk,ℓ can be formed by fusing together ℓ length k paths at their source vertices. For Sk,ℓ with a uniform labelling, we calculate the probability each of the ℓ paths is labelled with respect to α in Proposition 5.1.
Proposition 5.1**.**
Let α be a permutation of length k, Sk,ℓ be the digraph defined earlier and let λ:V(Sk,ℓ)→[(k−1)ℓ+1] be a uniform random labelling of the vertices of Sk,ℓ. Then the probability that every Vi induces a labelling of relative order α is,
[TABLE]
Proof.
First note that for each Vi to induce the relative order α, i.e. a ‘correct’ labelling there is only one possible label for the root ρ. This is obvious if α1=1 since then the root must receive the label ‘1’. For general α1, each Vi\ρ must have α1−1 labels less than the label at the root λ(ρ) and k−α1 labels greater than λ(ρ); hence we must have λ(ρ)=(α1−1)ℓ+1. Note that we may choose a uniform labelling λ by first choosing the label at the root λ(ρ) and then choosing uniformly from all labellings of Sk,r\ρ with the remaining labels. Thus, as there is only one possible label for the root, the probability it is labelled correctly is ((k−1)ℓ+1)−1.
It now remains to calculate the probability that the non-root vertices are labelled correctly given that λ(ρ)=(α1−1)ℓ+1. We count the number of correct labellings. Note there are (α1−1)ℓ labels less than the root i.e. ‘small’ labels and (k−α1)ℓ labels greater than the root, ‘big’ labels, remaining. Again each Vi must receive α1−1 of the ‘small’ labels and k−α1 of the ‘big’ labels. As the labels of Vi must induce α once we choose which labels appear on Vi\ρ then they can only be placed in one way. Hence the number of correct labellings of Sk,ℓ\ρ (assuming λ(ρ)=(α1−1)ℓ+1) is
[TABLE]
Note the total number of possible labellings of Sk,ℓ\ρ is ((k−1)ℓ)! and so the probability of correctly labelling Sk,ℓ is
[TABLE]
and the result follows.
∎
6 Cumulants moments
By exploiting only the explosive property of binary and (whp) of split trees we will prove the moments result for both classes at once, using Proposition 4.1. In particular observe that Theorems 1.3 and 1.6 are both implied by taking Proposition 6.1 along with the lemmas proving complete binary trees are explosive and split trees are whp explosive.
To define the constant Dα,r used in Proposition 6.1 and Theorems 1.3 and 1.6 we use some basic notation of partitions. We write P(r) to indicate the set of all partitions of [r] and note {{1}{2,3,4}} and {{2}{1,3,4}} form different partitions of [4]. Given a partition π={s1,…,sℓ} of {1,…,r} with set sizes ri=∣si∣ we let ∣π∣=ℓ denote the number of parts in π. Noting a∣α∣,ℓ(α) is the constant defined in Proposition 5.1 we may now define Dα,r by
[TABLE]
Proposition 6.1**.**
Suppose Tn is explosive. Let ϰr=ϰr(R(α,Tn)) be the r-th cumulant of R(α,Tn). Then for r≥2,
[TABLE]
Proof.
We fix a permutation α with ∣α∣=k and an explosive tree Tn on n nodes, and consider the random variable
[TABLE]
where we sum over vertex sets U⊆Tn of size ∣U∣=∣α∣ which are ordered under the partial ordering of Tn, i.e. U={u1,…,uk} with u1<⋯<uk.
In order to calculate the cumulants of X, we use mixed cumulants (see e.g. [11, Section 6.1]). Given a set of random variables X1,…,Xr, we denote the mixed cumulant by ϰ(X1,…,Xr). For now, we only need the following properties.
-
If X1=X2=⋯=Xr then ϰ(X1,…,Xr) equals the rth cumulant ϰr(X1) of X1,
2. 2.
ϰ(X1,…,Xr) is multilinear in X1,…,Xr,
3. 3.
ϰ(X1,…,Xr)=0 if there exists a partition [r]=A∪B such that {Xi:i∈A} and {Xi:i∈B} are independent families.
We then have
[TABLE]
Now, suppose {U1,…,Ur} is a family such that [r]=A∪B with UA=∪i∈AUi and UB=∪i∈BUi disjoint. Then {1[π(Ui)≈α]:i∈A} and {1[π(Ui)≈α]:i∈B} are independent families. Indeed, conditioning on the label sets π(UA),π(UB), the random variables are determined by the internal order given to labels within UA and UB, respectively, and this order is independent. Saying that the family {U1,…,Ur} is connected if there is no such partition A∪B, it follows that
[TABLE]
Let {U1,…,Ur} be a connected family. We can write Ui={ui,1,…,ui,k} with ui,1<⋯<ui,k for each i. Let H be the graph on vertex set U=U1∪⋯∪Ur with an edge from ui,j to ui,j+1 for each i and j<k. The graph H is a connected member of Gk,r. As the term ϰ(1[π(U1)≈α],…,1[π(Ur)≈α]) only depends on the labels of vertices in U, it is a function of H which we denote by ϰ(H). Then
[TABLE]
By Proposition 4.1, this sum is dominated by the term corresponding to H=Sk,r. We conclude that
[TABLE]
But by Lemma 4.2 [Sk,r]Tn=Υrk(Tn)(1+o(1)) and so it remains only to show ϰ(Sk,r)=Dα,r.
The mixed cumulant ϰ(X1,…,Xr) may be defined by (see e.g. [11, Section 6.1])
[TABLE]
where we sum over all partitions of {1,…,r} into nonempty sets {I1,…,Iq},q≥1.
Let V1,…,Vr denote the vertex sets of the r “rays” of Sk,r; each Vi has size k and induces a path of length k, V1∪⋯∪Vr covers Sk,r, and the Vi intersect only at the root of Sk,r. We have
[TABLE]
and need to establish E[∏j∈I1[π(Vj)≈α]] for any I⊆[r]. By symmetry, this is determined by the size of I, and so for 1≤ℓ≤r,
[TABLE]
is the probability that, under a labeling of Sk,ℓ chosen uniformly at random, each ray respects the permutation α which we calculated in Proposition 5.1.
Hence we have
[TABLE]
This may now be written as
[TABLE]
summing over partitions of π of [r] which is the constant Dα,r as required. ∎
Appendix