Normal limit laws for vertex degrees in randomly grown hooking networks and bipolar networks

We consider two types of random networks grown in blocks. Hooking networks are grown from a set of graphs as blocks, each with a labelled vertex called a hook. At each step in the growth of the network, a vertex called a latch is chosen from the hooking network and a copy of one of the blocks is attached by fusing its hook with the latch. Bipolar networks are grown from a set of directed graphs as blocks, each with a single source and a single sink. At each step in the growth of the network, an arc is chosen and is replaced with a copy of one of the blocks. Using P\'olya urns, we prove normal limit laws for the degree distributions of both networks. We extend previous results by allowing for more than one block in the growth of the networks and by studying arbitrarily large degrees.


Introduction
Several random tree models have been studied where at each step in the growth of the network, a vertex v is chosen amongst all the vertices of the tree, and a child is added to v. When the choice of v is made uniformly at random, these trees are called random recursive trees. When the choice of v is made proportionally to its degree deg(v), these trees are called random plane-oriented recursive trees. Both models are examples of preferential attachment trees, where the choice of v is made proportionally to χ deg(v) + ρ for real parameters χ and ρ (notice that a preferential attachment tree is a random recursive tree when χ = 0 and is a random plane-oriented recursive tree when ρ = 0). Pólya urns were used to prove multivariate normal limit laws for the degree distributions in all of these random tree models [9,10,6,4]. Asymptotic normality of degree sequences of similar types of preferential attachment models have also been established without the use of Pólya urns [11,12].
The process of adding a child to a vertex v in a tree can instead be thought of as taking the graph K 2 (two vertices joined by an edge) with one of the vertices labelled h, and fusing together the vertices v and h. Hooking networks are grown in a similar manner from a set of graphs C = {G 1 , G 2 , . . . , G m }, called blocks, where each block G i has a labelled vertex h i called a hook. At each step in the growth of the network, a vertex v called a latch is chosen from the network, a block G i is chosen, and the hook h i and the vertex v are fused together. A more precise formulation is laid out in Section 1.2.1.
Several graphs can be thought of as hooking networks. Any tree can be grown as a hooking network with K 2 as the only block. A block graph (or clique graph) is a hooking network whose blocks are complete graphs, and a cactus graph is a hooking network whose blocks are cycles.
We prove multivariate normal limit laws for the degree distributions of hooking networks as the number of blocks attached tends to infinity (see Theorem 1.3). We allow for a preferential attachment scheme for the choice of the latch (i.e., the latch v is chosen proportionally to χ deg(v) + ρ). We also assign to each block G i a value p i such that p 1 + p 2 + · · · + p m = 1, and choose the block G i to be attached with probability p i .
Along with the results for degree distributions of the random tree models described above, Theorem 1.3 also generalizes other results on previously studied hooking networks. Gopaladesikan, Mahmoud, and Ward [3] introduced blocks trees, which can be thought of as hooking networks grown from a set of trees as blocks, where the root of each block has a single child and acts as the hook. In their model, the latch is chosen uniformly at random at each step, and the block to be attached is chosen according to an assigned probability value. They proved a normal limit law for the number of leaves (vertices with degree 1) in blocks trees. Mahmoud [8] proved multivariate normal limit laws for the number of vertices with small degrees in self-similar hooking networks, which are hooking networks grown from a single block called a seed. Both the case where the latch is chosen uniformly at random and the case where the latch is chosen proportionally to its degree were studied in [8]. In the extended abstract [2], we presented a proof of multivariate normal limit laws in the specific cases of hooking networks grown from several blocks when the choice of the latch as well as the choice of the block to be attached are made uniformly at random The methods used to prove our results for hooking networks also apply to prov-ing multivariate normal limit laws for outdegree distributions of bipolar networks (see Theorem 1.7). Bipolar networks are grown from a set C = {B 1 , B 2 , . . . , B m } of directed graphs, each with a single source N i : a vertex with zero indegree (deg − (N i ) = 0), and a single sink S i : a vertex with zero outdegree (deg + (S i ) = 0). At each step in the growth of the network, an arc (v, u) is chosen and is replaced with one of the blocks B i , by fusing N i to v and S i to u; see Section 1.2.2 for a more precise description. Previously, results were obtained for vertices of small outdegrees in bipolar networks grown from a single block, and where the arc (v, u) to be replaced is chosen uniformly at random [1]. We extend previous results by looking at bipolar networks grown from more than one block, by generalizing the choice of the arc to be replaced, and by studying arbitrarily large degrees.

Composition of the paper
The networks studied are described in more detail in Section 1.2. Alongside the descriptions of the networks, running examples of hooking networks and bipolar networks are described in Sections 1.2.1 and 1.2.2 respectively. Our main results are stated in Section 1.3. These include multivariate normal limit laws for the vectors of degrees of hooking networks and vectors of outdegrees of bipolar networks. The theory of generalized Pólya urns developed by Janson in [5], which is the main tool used in the proofs, is summarized in Section 2.
The proofs of our main results are presented in Section 3. This is done in three steps. We start by describing how we study the vertices in our networks as balls in urns in Section 3.1. Properties of the intensity matrices for these urns are gathered in Section 3.2. In Section 3.3, we prove that the matrices studied in 3.2 are indeed the intensity matrices for the urns we are studying and, with the help of theorems proved in [5] and stated in Section 2, we finish the proofs of our main results.

The networks studied
In the growth of hooking networks and in the growth of bipolar networks, a vertex v is chosen at every step. The choice of the vertex v is made with probability proportional to χ deg(v) + ρ in the case of the hooking networks and proportional to χ deg + (v) + ρ in the case of the bipolar networks, where χ ≥ 0 and ρ ∈ R so that χ + ρ > 0. Since these choices are made proportionally, without loss of generality, we can limit the choice of χ to 0 or 1 (simply divide the numerators and denominators of (1) and (2) below by χ if this value is nonzero). When χ = 1 we let ρ > −1, while we let ρ be strictly positive when χ = 0 to avoid the cases where χ deg(v) + ρ ≤ 0 or χ deg + (v) + ρ ≤ 0 (from the descriptions below we see that the hooking networks studied are connected and so the vertex v has degree deg(v) > 0; we also see below that all vertices v that are candidates for being a latch in the bipolar networks studied satisfy deg + (v) > 0). For a positive integer k, we let w k := χk + ρ.

Hooking networks
Let C = {G 1 , G 2 , . . . , G m } be a set of connected graphs, each with at least 2 vertices, and each with a labelled vertex h i . We allow for the graphs to contain self-loops and multiple edges. The graph G i is called a block, and the vertex h i is called its hook. Each block G i is also assigned a positive probability p i such that p 1 + p 2 + · · · + p m = 1. For example, consider the set of blocks in Figure 1, with their hooks labelled and their probabilities written underneath.

Figure 1: A set of simple graphs as blocks
Let χ and ρ be real numbers satisfying the conditions set above. A sequence of hooking networks G 0 , G 1 , G 2 , . . . is constructed as follows: one of the blocks G i is chosen, and we set G 0 to be a copy of G i (the choice of the first block does not need to be done at random for our methods to work). The vertex H that corresponds to the hook of this first block copied to make G 0 is called the master hook of the hooking networks constructed afterwards; when all the blocks are trees the master hook acts as the root of the network. Recursively for n ≥ 1, the hooking network G n is constructed from G n−1 by first choosing a latch v at random proportionally to χ deg(v) + ρ amongst all the vertices of G n−1 , that is, with probability where V (G n−1 ) is the vertex set of G n−1 . Once the latch is chosen, a block G i is chosen according to its probability p i . A copy of G i is attached to G n−1 by fusing together the latch v with the hook h i of the copy of G i ; that is, h i is deleted and edges are drawn from v to the former neighbours of h i . Figure 2 is a sequence of hooking networks constructed from the set of blocks in Figure 1 by taking a copy of G 3 and attaching copies of G 4 , then G 2 , and finally a copy of G 1 . The master hook of the network is labelled H, and at each step the vertex chosen to be the latch is denoted by * .  Figure 2: A sequence of hooking networks grown from the blocks G 1 , G 2 , G 3 and G 4 of Figure 1 be a directed acyclic graph containing a unique source N called the north pole of B, a unique sink S called the south pole of B, and a directed path from every vertex v = S in B to S. The methods presented here also apply to a more relaxed definition of bipolar directed graphs: connected directed graphs with a single source and a single sink. Let C = {B 1 , B 2 , . . . , B m } be a set of bipolar directed graphs, each with their north pole N i and south pole S i identified. Each B i is called a block, and is assigned a probability p i such that p 1 + p 2 + · · · + p m = 1. For example, consider the set of blocks in Figure 3, with their north and south poles labelled as well as their probabilities.

Figure 3: A set of bipolar directed graphs as blocks
Once again, we let χ and ρ be real numbers satisfying the conditions set at the beginning of this section. We choose a block B i and set the bipolar network B 0 to be a copy of B i (once again, the choice of the first block need not be made at random). The vertices corresponding to the north and south poles of B 0 serve as the master source N and master sink S respectively of the bipolar networks constructed afterwards. For n ≥ 1, the bipolar network B n is constructed from B n−1 in a manner similar to that of hooking networks. First, a latch v is chosen proportionally to χ deg + (v) + ρ amongst all the vertices in B n−1 that are not the master sink, that is, with probability where V (B n−1 ) is the vertex set of B n−1 . Once the is latch chosen, one of the arcs (v, u) leading out of v is chosen uniformly at random amongst all the arcs leading out of v, and finally a block B i is chosen according to its probability p i . The arc (v, u) is deleted, and a copy of the block B i is added by fusing the north pole N i with v, and fusing the south pole S i with u. We never allow the master sink to be chosen as a latch (since it has no arcs leading out of it). Figure 4 is a sequence of bipolar networks constructed from the blocks in Figure 3. The master source N and the master sink S are labelled, and at each step, the latch v is denoted by * , and the arc (v, u) to be removed is dashed. Previously, Chen and Mahmoud [1] studied what they called self-similar bipolar networks. These are bipolar networks grown from a single bipolar directed graph as the only block. At each step in the growth of their networks, an arc (v, u) is chosen uniformly at random amongst all the arcs to be deleted before being replaced with a copy of the block. This is equivalent to choosing v proportionally to its outdegree deg + (v), and then choosing an arc (v, u) uniformly at random amongst all the arcs leading out of v. Therefore, the model of bipolar networks introduced here extends their model.

Main results
Before we state the main results, we need a useful definition. In the interest of length, the notation (out)degree is used in the following discussion, and is interpreted as degree for hooking networks and outdegree for bipolar networks.
Depending on the set of blocks that are used to grow the hooking networks or bipolar networks, it is possible for some positive integers to never appear as the (out)degree of a vertex in the network, while some integers are only the (out)degree of at most one vertex at some point in the growth of the network. By ignoring these so-called nonessential (out)degrees, formally defined below, the proofs using Pólya urns are simplified. We also show by a simple argument below (see Proposition 1.2) that only the master hook or master source may have a nonessential (out)degree. Excluding this single vertex from the (out)degree distributions does not affect the asymptotic behaviour of these distributions. Definition 1.1. Given a set C of blocks, a (strictly) positive integer k is called an essential (out)degree if with positive probability, there is some n so that the n-th iteration of the network grown out of C has at least two vertices with (out)degree k. A positive integer is called a nonessential (out)degree if it is not an essential (out)degree. Remark 1.1. Our definition of essential (out)degrees differs slightly from the definition of admissible (out)degrees used in [1] and [8], where any (out)degree that may appear in the network is considered an admissible (out)degree.
In the example of hooking networks grown in Section 1.2.1 from the blocks in Figure 1, all of the hooks of the blocks have even degrees, and all other vertices in the blocks have odd degrees. As a result, during the growth of the hooking networks, only the master hook has even degree, while every other vertex has odd degree (as is evidenced by the hooking networks in Figure 2). In that case, the odd numbers are essential degrees, and the even numbers are nonessential. Proposition 1.2. The only vertex in a hooking network (or bipolar network) that can have a nonessential (out)degree is the master hook (or master source) of the network.
Proof. We only prove the proposition for hooking networks; the argument is similar for bipolar networks.
Suppose there is a positive probability that a vertex v which is not the master hook has degree k in the hooking network G n , and without loss of generality let n be the smallest number for which G n has a vertex v with degree k. We will show that with positive probability, another vertex that is not the master hook will have degree k in a later iteration of the hooking network.
The vertex v first appears in the network as a non-hook vertex with degree k 0 of a newly added block; say the block was G i 0 and v is a copy of the vertex v 0 in G i 0 . If k 0 = k, then that means hooks of other blocks were fused to v, say the first hook fused to v belonged to G i 1 , the second belonged to G i 2 , and so on until the last hook fused to v which belonged to G ir (which was the last block added to create G n ). With positive probability, a copy of the block G i 0 is joined to G n by fusing the hook of G i 0 with a vertex that is not v, say the master hook. Let u be the newly added vertex in the hooking network that is a copy of v 0 in G i 0 . For j = 1, . . . , r, there is a positive probability that the block G i j is added to the hooking network G n+j by fusing the hook of G i j with u. In this case, u has degree k in G n+r+1 , and so there is a positive probability that 2 vertices (v and u) have degree k in G n+r+1 . Therefore, k is an essential degree.
Also note that in the case of bipolar networks, only the master sink of the network has outdegree 0, and we therefore ignore this vertex completely.

Main results for hooking networks
. . , G m } be a set of blocks, each with an identified hook h i , and let G 0 , G 1 , G 2 , . . . be a sequence of hooking networks grown from C, with the master hook of the network labelled H. We allow for the latches and the blocks added at each step to be chosen in the manner laid out in Section 1.2 (that is, with linear preferential attachment with parameters χ and ρ, and probabilities p i assigned to each block G i ). For a positive integer r, let and The value f (k) is the expected number of new vertices of degree k (that are not hooks) added at any step, and g(k) is the probability that the degree of the latch chosen at any step is increased by k after fusing with the hook of the newly attached block. For example, for the blocks in Figure 1 we have that f (1) = 2 and f (3) = 5/3, while g(2) = 1/3 and g(4) = 2/3. Define The value λ 1 is the expected change in the denominator of (1) at each step in the growth of the hooking network. For our running example of hooking networks grown from the blocks in Figure 1, if we let χ = 1 and ρ = 0, then Let ν 1 := f (k 1 )/(λ 1 + w k 1 ), and define recursively for i = 2, . . . , r The value λ 1 ν i is the limit of the expected proportion of vertices with degree k i (see Remark 1.4 below). Let ν be the vector For our running example of hooking networks grown from the blocks in Figure 1 with χ = 1 and ρ = 0, and if we let r = 3, then the first 3 essential degrees are 1, 3, 5 (recall that only odd numbers are essential in this example), and We have the following multivariate normal limit law for the degrees of hooking networks. Theorem 1.3. Let X n = (X n,1 , X n,2 , . . . , X n,r ), where X n,i is the number of vertices with essential degree k i in G n , where G n is a hooking network grown from the set of blocks C using linear preferential attachment with parameters χ and ρ. Let λ 1 be defined as in (5) and let ν be the vector defined in (7) and (8). Then for some covariance matrix Σ. (10), we see an immediate weak law of large numbers, Furthermore, since the number of blocks is finite and each block has a finite number of vertices, there is a constant C such that 0 ≤ X n,i ≤ Cn for all i = 1, 2, . . . , r and all n. Therefore, the random vectors X n /n are uniformly integrable which, along with (11), imply EX n /n → λ 1 ν.
The convergence in (11) also holds almost surely (see Remark 2.3).
In some special cases, we can say even more about the convergence in (10). For each block G i , let E(G i ) be the set of edges of G i , and let Corollary 1.5. Let X n = (X n,1 , X n,2 , . . . , X n,r ), where X n,i is the number of vertices with essential degree k i in G n , where G n is a hooking network grown from the set of blocks C using linear preferential attachment with parameters χ and ρ. Let λ 1 be defined as in (5), let ν be the vector defined in (7) and (8), and let s i be defined as in (12) for each block G i . Suppose that there exists a constant s so that s i = s for all blocks G i . Then the convergence (10) holds in all moments. In particular, n −1/2 (EX n − nλ 1 ν) → 0, and so nλ 1 ν in (10) can be replaced by EX n .
There are several cases where Corollary 1.5 applies. An obvious example is when there is only one block to choose from. Other examples include when χ = 0 and all the graphs have the same number of vertices, or when ρ = 0 and all the graphs have the same number of edges.
To compare Theorem 1.3 with previous results on random recursive trees and preferential attachment trees, consider a hooking network grown from K 2 as the only block and where χ = 0 and ρ = 1; as discussed earlier this produces random recursive trees. In this case, f (1) = 1, g(1) = 1, and λ 1 = 1, and so for any positive integer r the vector ν = (ν 1 , . . . , ν r ) defined in (8) is given by We see that Theorem 1.3 extends previous results on random recursive trees [9,6].
More generally, suppose that we look at a preferential attachment tree, where the latch v is chosen with probability proportional to χ deg v + ρ. We once again have f (1) = 1 and g(1) = 1, and we have that λ 1 = w 1 + χ = w 2 . We see that ν 1 = 1/(w 2 + w 1 ) and by following the recursion of (7) we see that for any i = 2, 3, . . . , ν i is given by In particular when χ = 1 and ρ = 0, then nλ 1 ν i = 4n i(i+1)(i+2) , and so we see that Theorem 1.3 extends previous results on random plane-oriented recursive trees [10,6], while (13) along with Theorem 1.3 is the result stated in [4,Theorem 12.2]. Remark 1.6. In the literature on random recursive trees and preferential attachment trees, the choice of the latch is usually made proportionally to χ deg is the number of children of v. But we can simply let ρ = ρ ′ − χ to get the same model, and replace w k with w ′ k−1 = χ(k − 1) + ρ ′ so that (13) resembles more the statements of the previous results [9,10,6,4]. The only vertex where this does not translate is the root (or master hook) of the network, since deg(H) = deg + (H) in this case, but see Remarks 2.2 and 3.4 below for why this does not affect the limiting distribution.

Main results for bipolar networks
Let C = {B 1 , B 2 , . . . , B m } be a set of blocks each with a north pole N i and a south pole S i identified, and let B 0 , B 1 , B 2 , . . . be a sequence of bipolar networks grown from C, with the master source labelled N and the master sink labelled S. The latches v, arcs (v, u), and blocks B i are chosen in the manner laid out in Section 1.2 (by linear preferential attachment with parameters χ and ρ for the latch, uniformly at random amongst arcs leading out of v for (v, u), and according to its probability p i for B i ). For a positive integer r, let k 1 < k 2 < · · · < k r be the first r essential outdegrees. We introduce similar notations as for the hooking network case. Again, recall that for a positive integer k, we let and for a nonnegative integer k, define The value f (k) is the expected number of new vertices of outdegree k added at any step, and g(k) is the probability that the outdegree of a latch v is increased by k when (v, u) is replaced with a block (note here that g(0) = 0 if there is a block whose north pole has outdegree 1). For the blocks of Figure 3 we have that f (1) = 1, f (2) = 1, and f (3) = 1/2, while g(0) = 1/2 and g(1) = 1/2. For a set of blocks C, define The value λ 1 is the expected change in the denominator of (2) at each step in the growth of the bipolar network. For our running example of bipolar networks grown from the blocks in Figure 3, if we let χ = 0 and ρ = 1, then Let (0))), and define recursively for i = 2, . . . , r The value λ 1 ψ i is the limit of the expected proportion of vertices with outdegree k i (see Remark 1.8 below). Define For our running example of bipolar networks grown from the blocks in Figure 3 with χ = 0 and ρ = 1, and if we let r = 3, then the first 3 essential outdegrees are 1, 2, 3, and We have the following multivariate normal limit law for the outdegrees in the growth of bipolar networks.
where B n is a bipolar network grown from the set of blocks C using linear preferential attachment with parameters χ and ρ. Let λ 1 be defined as in (16) and let ψ be the vector defined in (18) and (19). Then for some covariance matrix Σ.
Remark 1.8. With the same reasoning as in Remark 1.4, we have a weak law of large numbers and a convergence of the means The convergence in (22) also holds almost surely (see Remark 2.3).
Once again, we can say something more about the convergence in (21) in certain cases. For each block B i , let E(B i ) be the set of arcs of B i , and let Corollary 1.9. Let Y n = (Y n,1 , Y n,2 , . . . , Y n,r ), where Y n,i is the number of vertices with essential outdegree k i in B n , where B n is a bipolar network grown from the set of blocks C using linear preferential attachment with parameters χ and ρ. Let λ 1 be defined as in (16), let ψ be the vector defined in (18) and (19), and let s i be defined as in (23) for each block B i . Suppose that there exists a constant s so that s i = s for all blocks B i . Then the convergence (21) holds in all moments. In particular, n −1/2 (EY n − nλ 1 ψ) → 0, and so nλ 1 ψ in (21) can be replaced by EY n .
Remark 1.10. We could choose to study the indegrees of bipolar networks instead.
, and the arc to be replaced with a block is chosen uniformly at random amongst the arcs leading into v (instead of leading out of v). The multivariate normal limit law for the indegree distribution of such networks is the same as that for the outdegree distribution of bipolar networks B 0 , B 1 , B 2 , . . . grown in the manner laid out in Section 1.2.2 from the blocks C = {B 1 , . . . , B m }, where the arcs of B ′ i are reversed to make B i .

Pólya urns
A generalized Pólya urn process (X n ) ∞ n=0 is defined as follows. There are q types (or colours) 1, 2 . . . , q of balls and for each vector X n = (X n,1 , X n,2 , . . . , X n,q ), the entry X n,i ≥ 0 is the number of balls of type i in the urn at time n, starting with a given (random or not) vector X 0 . Each type i is assigned an activity a i ∈ R ≥0 and a random vector ξ i = (ξ i,1 , ξ i,2 , . . . , ξ i,q ) satisfying ξ i,j ≥ 0 for i = j and ξ i,i ≥ −1. At each time n ≥ 1, a ball is drawn at random so that the probability of choosing a ball of type i is If the drawn ball is of type i it is replaced along with ∆X n,j balls of type j for each j = 1, . . . , q, where the vector ∆X n = (∆X n,1 , ∆X n,2 , . . . , ∆X n,q ) has the same distribution as ξ i and is independent of everything else that has happened so far. We allow for ∆X n,i = −1, in which case the drawn ball is not replaced.
The intensity matrix of the Pólya urn is the q × q matrix By the choice of ξ i,j , the matrix αI + A has non-negative entries for a large enough α, and so by the standard Perron-Frobenius theory, A has a real eigenvalue λ 1 such that all other eigenvalues λ = λ 1 satisfy Reλ < λ 1 .
The following assumptions (A1)-(A7) are used in [5]. In the interpretation of balls in an urn, the random vectors ξ i and ∆X n are integer-valued. However, for our applications, this is not necessarily the case, which is why our assumption (A1) below takes a slightly different form from the standard assumption (A1) in [5], taking instead the form discussed in [5,Remark 4.2] (note the indices of the variables in (A1) below). A type i is called dominating if in an urn starting with a single ball of type i, there is a positive probability that a ball of type j can be found in the urn at some time for every other type j. If every type is dominating, then the urn and its intensity matrix A are irreducible.
(A1) For each i, either (a) there is a real number d i > 0 such that X 0,i and ξ 1,i , ξ 2,i , . . . , ξ q,i are multiplies of d i and In the Pólya urns we use, it is obvious that (A1) and (A2) hold. Our intensity matrices are also irreducible, and so (A5) and (A6) hold trivially, while the Perron-Frobenius theorem along with irreducibility guarantee that (A3) and (A4) hold. Our urns always have balls of positive activity, and so (A7) holds by the irreducibility of the urns.
(ii) Suppose further that, for some c > 0, a · E(ξ i ) = c for every i = 1, . . . , q. Then the covariance matrix is given by Σ = cΣ I , where Σ I is defined in (25).

(iii) Suppose that (ii) holds and that the matrix A is diagonalizable, and let {u
and {v ′ i } q i=1 be dual bases of left and right eigenvectors respectively, i.e., Then the covariance matrix Σ is given by where B is defined in (24).
Remark 2.2. So long as (A5) is satisfied, the initial configuration X 0 of the urn does not have any effects on the limiting distribution.

Proofs
We start by setting up Pólya urns so that balls in the urn correspond to vertices in the growth of our network. Next, we prove important properties of the intensity matrices associated with these Pólya urns. Finally, the pieces are placed together to prove our main results.

Vertices as balls
In this section, we outline how we use the evolution of generalized Pólya urns to describe the evolutions of the degree distributions in the networks that we study. Throughout the section the notation (out)degree is used so that the discussion applies to both types of networks simultaneously. Recall that Theorem 1.3 and Corollary 1.5 apply to degrees of hooking netwoks, while Theorem 1.7 and Corollary 1.9 apply to outdegrees of bipolar networks. We start by first looking at an urn with infinitely many types. We assign a type to each (out)degree in the network so that a ball of type k represents a vertex of (out)degree k. We initiate each network by choosing a block from the list of blocks. This corresponds to starting a Pólya urn with a ball of the matching type for the (out)degree of each vertex in the block. In the evolution of the network, when a block is attached, this corresponds to choosing a ball in the urn of type corresponding to the (out)degree of the latch v and replacing it with a ball representing the new (out)degree of v along with balls representing the (out)degrees of the rest of the vertices of the newly attached block. Since a latch of (out)degree k is chosen at random proportionally to w k = χk + ρ, then all balls of type k have activity w k in the Pólya urn so that a ball of type k is chosen at random proportionally to its activity w k .
The Pólya urn described above has infinitely many types, and so Theorem 2.1 does not apply. Therefore, we would like to instead use an urn with finitely many types in the same manner as is done in [6] and [4]. The urn is replaced with the following Pólya urn: let d be a positive integer corresponding to the largest (out)degree we wish to study in this instance of the model. A new ball of special type * with activity a * = 1 is introduced, and for every k > d, each ball of type k is replaced with w k balls of special type * . In this way, the probability of choosing a ball of special type in the new urn is equal to the probability of choosing a ball of type greater than d in the old urn. If a latch v with (out)degree k ≤ d is chosen, and a block is attached so that v now has (out)degree k + j > d, then the ball of type k is removed and w k+j balls of special type are added. If instead v has (out)degree k > d and a block is attached so that the (out)degree of the vertex is now k + j, then the ball of special type that was chosen is placed back in the urn, along with χj balls of special type.
The final change we will make to our urn is to represent the master hook of the hooking network or the master source of the bipolar network, say with (out)degree k, with w k balls of special type in our urn. This guarantees that all types of balls in the urn that are not special types correspond to (out)degrees that are essential; recall from Definition 1.1 that a positive integer k is an essential (out)degree if there is a positive probability that at some point in the growth of the network at least two vertices have (out)degree k, and recall from Proposition 1.2 that only the master hook of the hooking network or the master source of the bipolar network may have a nonessential degree. For a positive integer d, the possible types of balls present in the urn are exactly the essential (out)degrees less than or equal to d, together with a ball of special type * . In our intensity matrix, we can then omit the rows and columns corresponding to types that are never present in the urn. By restricting to essential (out)degrees, it can be verified that now every ball in the urn is of dominating type. No matter the initial network (or initial configuration of the urn), there is a positive probability that a ball representing a vertex with the essential (out)degree k will be present in the urn. Therefore the urn (and its intensity matrix) is irreducible. As discussed in Section 2, it is easy to verify that the assumptions (A1)-(A7) are satisfied for irreducible urns. To avoid confusion, we label the type of a ball with the (out)degree of the vertex it represents.
We illustrate how to calculate the intensity matrices for the urns associated with our running examples of hooking networks and bipolar networks given in Section 1.2.

A Pólya urn for our running example of a hooking network
Consider the blocks in Figure 1, and a sequence of hooking networks grown from these blocks. Let's look at the instance of the model where the choice of a latch is made proportionally to its degree (i.e., when χ = 1, ρ = 0 and so w k = k). Suppose we look at vertices with degrees less than or equal to 5. As discussed after the definition of essential degrees (Definition 1.1), the essential degrees for these hooking networks are the odd numbers; and so 1, 3, 5 are the essential degrees less than or equal to 5. The images in Figure 5 illustrate the possibilities for replacing a ball of type k, corresponding to attaching a block to a latch with degree k. The probabilities in the figure are the probabilities p i assigned to the blocks in Figure  1.
Type 3, 1 Type k + 4 Figure 5: The replacements of a ball of type k in a hooking network grown from the blocks in Figure 1 The intensity matrix for this urn has 4 rows and columns: one of each for balls of type 1, 3, 5, and the last row and column for balls of special type * . Let's consider what happens when a block is attached to a latch with degree 1; this corresponds to choosing a ball of type 1. The probability that the block G 1 is attached is 1/6. The hook of G 1 has degree 2 and the two other vertices have degree 1. The ball of type 1 is removed and replaced with a ball of type 3 (the new degree of the latch v) along with two new balls of type 1. Performing similar calculations for the other blocks with the help of Figure 5, we get that Recall that the rows and columns for nonessential degrees are removed, and so the first row represents balls of type 1, the second row for balls of type 3, the third for balls of type 5, and the final row for balls of special type * . Now consider what happens when a ball of type 3 is chosen, i.e., if a vertex v with degree 3 is chosen as a latch. If a hook with degree 4 is attached to v, the degree of v is increased to 7. Recall that we instead place w 7 = 7 balls of special type when this happens. Performing similar calculations as above with the help of Figure 5 yields Performing similar calculations when a ball of type 5 is chosen gives Finally let's consider attaching a block to a vertex of degree greater than 5, or to the master hook of the network. In either case, this corresponds to choosing a ball of special type. If the hook of the block G i attached has degree two, then the ball of special type is replaced along with another 2χ = 2 balls of special type, while 4χ = 4 balls of special type are added if the hook has degree 4. Therefore, we calculate for the special type * The activities for the types are w 1 = 1, w 3 = 3 and w 5 = 5 for types 1, 3, 5 respectively, while the special type * has activity 1 (as discussed earlier). The intensity matrix A consists of Eξ 1 , 3Eξ 3 , 5Eξ 5 for the first 3 columns, and Eξ * for the last column, thus we get One can verify that the eigenvalues of A are λ 1 = 31/3 and −1, −3, −5 and we see that λ 1 is what was calculated in (6). By Theorem 2.1, we have a multivariate normal limit law. One can also verify that the right eigenvector v 1 of A associated with λ 1 satisfying a · v 1 = 1, where a = (1, 3, 5, 1) is the vector of activities, is Restricted to the first 3 entries, the vector v 1 is exactly the vector ν calculated in (9), and so by Theorem 2.1, Theorem 1.3 is true in this particular case.

A Pólya urn for our running example of a bipolar network
Now consider the blocks of Figure 3 and a sequence of bipolar networks grown from these blocks. Let's look at the instance of the model where the choice of the latch is made uniformly at random (i.e., when χ = 0, ρ = 1, and so w k = 1). All positive integers are essential outdegrees. The images of Figure 6 illustrate the possibilities of replacing a ball of type k, corresponding to choosing a latch v with outdegree k and one of the arcs leading out of v uniformly at random. The probabilities in the figure are the probabilities p i assigned to the blocks in Figure 3.
2 Type 2, 1 Type k + 1 Figure 6: The replacement of a ball of type k in a bipolar network grown from the blocks in Figure 3 Suppose we look at vertices with outdegrees less than or equal to 3. We can calculate the intensity matrix in the same way as the intensity matrix for the hooking network example above. The main difference in this case is that there is a positive probability that the outdegree of a latch v is not changed. For example, if a ball of type 2 is chosen; that is, if a latch v with outdegree 2 is chosen, then with probability 1/2, the degree of v is not changed after the block B 1 is attached. In this case, the ball of type 2 is replaced in the urn, along with 2 balls of type 1 and one ball of type 3. We can calculate For the urn in this case, a vertex with outdegree greater than 3 is represented by a single ball of special type * . The intensity matrix is The eigenvalues for A are λ 1 = 5/2 and −1/2, and we see that λ 1 is precisely what was calculated in (17). The right eigenvector v 1 of A associated with λ 1 whose entries sum to 1 is Restricted to the first 3 entries, the vector v 1 is exactly the vector ψ calculated in (20). The multivariate normal limit law claimed by Theorem 1.7 holds by Theorem 2.1 in this case.

Properties of the intensity matrices
Recall that w k = χk + ρ. Let A = (a ij ) r+1 i,j=1 be the (r + 1) × (r + 1) matrix with entries where f (k) was introduced in (3) and (14), g(k) was introduced in (4) and (15), and k 1 , . . . , k r are essential degrees. We prove properties of A that are useful to the proofs of our main results. From Theorem 2.1, we see that to prove our main result, we need to prove properties of the eigenvalues and eigenvectors of A. The eigenvalues and eigenvectors of A depend on properties of the values f (k) and g(k). These properties are gathered in the following proposition. (3) and (14), and g(k) defined in (4) and (15), the following properties hold: (F) If k ≤ k r and k = k i for all i = 1, . . . , r, then f (k) = 0.
Proof. In the interest of space, the lemma is proved for both hooking networks and bipolar networks simultaneously. The notation (out)degree is used, and is interpreted as degree for hooking networks and outdegree for bipolar networks.
If f (k) = 0, then there is a positive probability that at any step in the growth of the network, a new vertex (that is not the master hook or the master source) appears with (out)degree k. By Definition 1.1 and by Proposition 1.2, k is an essential (out)degree in this case, and so if k ≤ k r , then k ∈ {k 1 , . . . , k r }, proving that (F) holds. The property (G1) holds since k≥0 g(k) = p 1 + · · · + p m = 1, where p i is the probability of the block G i or B i . As for the property (G2), assume that g(k − k j ) = 0 for some essential (out)degree k j ≤ k r . Since k j is an essential (out)degree, there is a positive probability that some vertex v (that is not the master hook or the master source) has (out)degree k j . By definition, there is a probability of g(k − k j ) that the (out)degree of v is increased to k if a hook is fused to v. Therefore, there is a positive probability that there is a vertex with (out)degree k, and so k is an essential (out)degree, again by Definition 1.1 and Proposition 1.2. If k ≤ k r , then k ∈ {k 1 , . . . , k r }, and so (G2) holds. Let be the value defined in (5) and (16). We calculate the eigenvalues of A in the following lemma.
Lemma 3.2. The matrix A has eigenvalues Proof. We can calculate the eigenvalues of A directly. For any λ, look at the matrix A − λI. For each i = 1, . . . r, add w k i times row i to row r + 1 of A − λI to get the matrix A ′ λ . Using properties (F) and (G2), along the (r + 1)-th row of A ′ λ , the j-th entry for j = 1, . . . , r is while the (r + 1)-th entry is Next, subtract w k j times column r + 1 from column j in A ′ λ for every j = 1, . . . , r to get the matrix A ′′ λ . Since the j-th entry for j = 1, . . . , r of the (r + 1)-th row is For every i, j ≤ r, the i, j-th entry of A ′′ λ is simply a ij − w k j f (k i ) when i = j and a ii − λ − w k i f (k i ) on the diagonals, where a ij is given in (30). Therefore, A ′′ λ is the following (r + 1) × (r + 1) matrix Since the determinant of a matrix is unchanged by adding one row to another or by subtracting a column from another, both A−λI and A ′′ λ have the same determinant. We can calculate the determinant of A ′′ λ by expanding along the bottom row, and since the upper r × r matrix of A ′′ λ is lower triangular, we see immediately that A has characteristic polynomial from which we can read off the eigenvalues stated in the lemma.
Proof. We verify that v 1 is a right eigenvector of A associated with λ 1 . We can look instead at A ′ λ which is introduced in the previous proof. Since only row operations were used to get from A − λI to A ′ λ , we get that (A − λI)v 1 = 0 if and only if A ′ λ v 1 = 0. We therefore need only to verify that A ′ λ 1 v 1 = 0 (where all instances of λ are replaced with λ 1 ).
Along the (r + 1)-th row of A ′ λ 1 for any j = 1, . . . , r the j-th entry is given by (31), but with λ replaced by λ 1 , which is exactly (34), and so is equal to 0 by the calculations performed above. From (32), the (r + 1)-th entry in the (r + 1)-th row is simply λ 1 − λ 1 = 0. Therefore, the last row of A ′ λ 1 is all zeros and the (r + 1)-th entry of the vector A ′ λ 1 v 1 is 0. The top r × (r + 1) submatrix of A ′ λ 1 is the same as the top r × (r + 1) submatrix of A − λ 1 I. After rearranging the equality (35) as and recalling the entries a ij of A from (30), we see that for i = 1, . . . , r, the i-th entry of the vector Since λ 1 has algebraic (and geometric) multiplicity 1, then v 1 is the unique vector satisfying the statement of the lemma.

Proofs of main results
Recall the definitions of f (k) from (3) and (14), and g(k) from (4) and (15) for a set of blocks C. Recall also that w k = χk + ρ. Let k 1 < · · · < k r be the first r essential (out)degrees for hooking networks or bipolar networks grown from C. We now prove Theorem 1.3; the multivariate normal limit law for the degrees of hooking networks. Our main results for bipolar networks can be proved in a very similar manner, and we only outline the differences in the proofs.
Proof of Theorem 1.3. We look at two cases: when a block is attached to a latch that is not the master hook of the network with degree less than or equal to k r , and when a block is attached to a latch of degree greater than k r or to the master hook of the network. Recall that the master hook of the network is represented by balls of special type in the urn.
Case I: Let k j ≤ k r be an essential degree and suppose that at some step in the growth of the network a vertex v is chosen as a latch where deg(v) = k j and v is not the master hook of the network. Suppose a block is attached to v. This corresponds to choosing a ball of type k j . Let k i ≤ k r be an essential degree. Other than the latch, the expected number of new vertices of degree k i added to the network is equal to f (k i ). If k i > k j , the probability that the degree of v is increased to k i is equal to the probability of choosing a block whose hook has degree k i − k j , which is exactly g(k i − k j ). For k i , k j ≤ k r and with E(ξ k j ,k i ) being the expected change in the number of balls of type k i in the networks when a ball of type k j is chosen, the arguments above show that For every k that is an essential degree greater than k r , balls of special type are added instead of balls of type k. By a similar argument as above, the expected number of new balls of special type added corresponding to vertices of degree k when a latch of degree k j is chosen is w k (f (k) + g(k − k j )). Summing over all essential degrees greater than k r , the expected number of balls of special type added when a ball of type k j is chosen is Case II: Now suppose at some step the latch v is either the master hook of the network or that deg(v) > k r . In either case this corresponds to choosing a ball of special type in our urn; recall that the master hook is represented by balls of special type. Suppose that a block is attached to v. For an arbitrary essential degree k i ≤ k r , the expected number of new vertices added with degree k i is f (k i ). Therefore with E(ξ * ,k i ) being the expected number of balls of type k i added when a ball of special type is chosen, For any k ≥ 1, the probability that the degree of v is increased by k is g(k). In this case, the ball of special type is placed back in the urn along with χk new balls of special type. For any k > k r , the expected number of new vertices with degree k is once again f (k). Therefore, summing over all values of k, the expected change in the number of balls of special type in the urn is Let E(ξ k j ) := (Eξ k j ,k 1 , . . . , Eξ k j ,kr , Eξ k j , * ) for j = 1, . . . , r and for the special type * let E(ξ * ) := (Eξ * ,k 1 , . . . , Eξ * ,kr , Eξ * , * ). The activity of each ball of type k j ≤ k r is w k j , and the activity of the ball of special type * is 1. The intensity matrix is therefore the matrix A whose columns are w k j E(ξ k j ) for j = 1, . . . , r and whose (r + 1)-th column is E(ξ * ). This is precisely the matrix given in (30), with g(0) = 0.
The vector v 1 defined in (37) with g(0) = 0 and restricted to the first r entries is exactly the vector ν defined in (8). Theorem 1.3 now follows immediately from Lemma 3.3, and Theorem 2.1.
Proof of Corollary 1.5. Every time a new block G i with hook h i is attached to the hooking network by fusing h i with the latch v, any new vertex u of G i added to the network is represented either by a ball of type deg(u) (with activity χ deg(u) + ρ) or by χ deg(u) + ρ balls of special type (with activity 1). As for the latch v, one of the following cases applies: • a ball of activity χ deg(v) + ρ is removed and replaced with a ball of activity χ(deg(v) + deg(h i )) + ρ, • a ball of activity χ deg(v) + ρ is removed and replaced with χ(deg(v) + deg(h i )) + ρ balls of special type (with activity 1), or • an additional χ deg(h i ) balls of special type are added.
In any case the change in the total activity of the urn is where the last equality holds thanks to the handshaking lemma (the sum of the degrees in a graph is twice the number of edges). Suppose that all s i are equal. The change in total activity is equal at every step, independent of which block is attached. Therefore, the corresponding urn is balanced. By [7, Remark 1.9], the urn satisfies the conditions of [7, Theorem 1.1], and so by Remark 2.4, Corollary 1.5 holds.
Theorem 1.7 and Corollary 1.9 are proved in a similar manner to the two proofs above. We therefore omit the details, and only specify where the proofs differ.
Proof of Theorem 1.7: The probability that the degree of a latch v is increased by k is now the probability of choosing a block whose north pole had outdegree k + 1 (since an arc is removed from v when a block is attached). This probability is exactly defined to be g(k). If a north pole has outdegree 1, then the outdegree of v is not changed, and so the probability that the outdegree of v is unchanged is g(0). With similar arguments as in the proof of Theorem 1.3, we can calculate the intensity matrix. The only differences between the intensity matrix for bipolar networks and that for hooking networks are the first r diagonal entries, which are for i = 1, . . . , r in the case of bipolar networks. The value E(ξ * , * ) is the same as before since χkg(k) = 0 when k = 0.
Since g(0) ≤ 1, each eigenvalue λ = λ 1 is non-positive, and so is less than λ 1 /2. The vector v 1 defined in (37) restricted to the first r entries is exactly the vector ψ defined in (19), and the result now follows just as in the proof of Theorem 1.3.
Proof of Corollary 1.9. Since an arc is removed at each step, the total change in activity when block B i is attached is (by similar argument to the proof of Corollary 1.5) If all the s i 's are equal for every block, then once again the urn is balanced and Corollary 1.9 holds by [7, Theorem 1.1] and Remark 2.4. Remark 3.4. From Remark 2.2 we know that the initial configuration of our urn does not effect the limiting distribution. This means that we may let the original block used to make G 0 or B 0 to be chosen at random, or to be deterministic. It also means that if we wanted to change the probability of choosing the master hook of a hooking network or the master source of a bipolar network, we can simply change the number of balls of special type at the beginning of the urn process.
Remark 3.6. Furthermore, if χ > 0, then the values w k = χk + ρ are all different, and so from Lemma 3.2, all of the eigenvalues of A are different. In this case, the matrix A is diagonalizable, and so Theorem 2.1 (iii) applies and Σ can be calculated from (27). The diagonalizability of A does not hold in general, see for example the matrix A of (29).