Tutorials › Stochastic Processes › Constructing a Branching Process From Offspring Variables

Galton-Watson Branching Processes · Tutorial 340 of 994

Constructing a Branching Process From Offspring Variables

Build generation sizes from an array of independent offspring counts, and see how the individual counts assemble into a family tree.

Advanced 11 min read

What You'll Learn

  • Define a countable array of independent, identically distributed offspring variables.
  • Construct generation sizes recursively from the individuals in the current generation.
  • Verify that each child belongs to exactly one parent.
  • Track a specific realization across several generations.
  • Handle zero offspring and an empty generation correctly.
  • Extend the construction from one ancestor to a fixed finite initial population.

From Individual Offspring Counts to Generations

A Galton–Watson process begins with a rule for each individual, not with a transition matrix for the population size. Each individual has a random number of children, and the number in the next generation is the sum of those counts over the current generation. To make that rule precise, we need to assign offspring variables in a way that works even though the number of individuals in a generation is itself random.

Let \((\Omega,\mathcal{F},\mathbb{P})\) be a probability space. Let \(\nu\) be a probability distribution on \(\mathbb{N}_0=\{0,1,2,\ldots\}\), and take an array \((\xi_{n,k})_{n\ge0,\ k\ge1}\) of independent random variables, each with distribution \(\nu\). The index \(n\) refers to a generation, and \(k\) refers to a position within that generation. The variable \(\xi_{n,k}\) is the number of children assigned to the individual in position \(k\) of generation \(n\), if that individual exists.

Definition: For one initial ancestor, set \(Z_0=1\), and recursively define $$ Z_{n+1}=\sum_{k=1}^{Z_n}\xi_{n,k},\qquad n\ge0. $$ Here \(Z_n\) is the number of individuals in generation \(n\), and a sum with no terms is defined to be \(0\). The process \((Z_n)_{n\ge0}\), with state space \(\mathbb{N}_0\) and discrete time \(n=0,1,2,\ldots\), is the Galton–Watson population process constructed from the offspring array.

Only variables assigned to existing individuals contribute to a generation total. For example, if \(Z_n=2\), the sum for \(Z_{n+1}\) uses \(\xi_{n,1}\) and \(\xi_{n,2}\), but not \(\xi_{n,3}\). The array includes variables for every possible position in advance; the recursion determines which of them are used. In particular, every variable takes a finite value in \(\mathbb{N}_0\), so each individual has finitely many children.

Why the Sum Really Builds a Family Tree

Theorem: The recursion defines a finite population in every generation. Moreover, its offspring counts can be assigned to children so that every individual in generation \(n+1\) has exactly one parent in generation \(n\), and the number of children of individual \(k\) in generation \(n\) is \(\xi_{n,k}\).

Proof. We prove both finiteness and the parent assignment by induction on \(n\). At \(n=0\), \(Z_0=1\), so generation \(0\) is finite. Suppose generation \(n\) has \(Z_n<\infty\) individuals. The sum defining \(Z_{n+1}\) then has finitely many terms, each of which is a finite nonnegative integer. Therefore \(Z_{n+1}<\infty\).

For the parent assignment, put \(c_0=0\) and \(c_k=\sum_{\ell=1}^{k}\xi_{n,\ell}\) for \(1\le k\le Z_n\). Assign to parent \(k\) the children in positions \(c_{k-1}+1,\ldots,c_k\) of generation \(n+1\). If \(\xi_{n,k}=0\), then \(c_k=c_{k-1}\), so this parent receives no children. For each \(k\), the assigned positions form a block of exactly \(c_k-c_{k-1}=\xi_{n,k}\) positions. These blocks are disjoint, and, as \(k\) runs from \(1\) to \(Z_n\), their union is every position from \(1\) to \(c_{Z_n}=Z_{n+1}\). Thus every child is assigned once and only once, with the required number assigned to each parent. This also covers \(Z_n=0\): there are no parents, the union is empty, and \(Z_{n+1}=0\). The induction proves the claim for all generations. \(\square\)

This construction turns an array of individual-level random variables into population-level random variables. It also clarifies the role of the generation index: variables in row \(n\) describe reproduction from generation \(n\) to generation \(n+1\), not the size of generation \(n\) itself.

Worked Example: Following One Realization for Three Generations

Suppose \(\nu\) assigns probabilities \(\tfrac14,\tfrac12,\tfrac14\) to offspring counts \(0,1,2\), respectively. Consider the event that the used variables take the following values: \(\xi_{0,1}=2\); \((\xi_{1,1},\xi_{1,2})=(1,2)\); and \((\xi_{2,1},\xi_{2,2},\xi_{2,3})=(0,1,2)\). All six coordinates are distinct, so independence gives the probability of this specified realization as

$$ \left(\tfrac14\right) \left(\tfrac12\cdot\tfrac14\right) \left(\tfrac14\cdot\tfrac12\cdot\tfrac14\right) =\tfrac1{1024}. $$

Start with \(Z_0=1\). In generation \(0\), the only individual has two children, so \(Z_1=\xi_{0,1}=2\). The two individuals in generation \(1\) have one and two children, respectively, giving \(Z_2=\xi_{1,1}+\xi_{1,2}=1+2=3\). The three individuals in generation \(2\) have zero, one, and two children, so \(Z_3=\xi_{2,1}+\xi_{2,2}+\xi_{2,3}=0+1+2=3\).

Check: the child blocks are positions \(1\)–\(2\) in generation \(1\); positions \(1\) and \(2\)–\(3\) in generation \(2\); and positions \(1\)–\(0\) (empty), \(1\), and \(2\)–\(3\) in generation \(3\). Their sizes are \(2\), then \(1,2\), then \(0,1,2\), agreeing with the specified offspring counts. The generation totals are therefore \(1,2,3,3\).

Zero Offspring and the Empty Sum

Proposition: If \(Z_n=0\) for some \(n\), then \(Z_m=0\) for every \(m\ge n\).

Proof. If \(Z_n=0\), the sum defining \(Z_{n+1}\) has no terms, so by the empty-sum convention \(Z_{n+1}=0\). Applying the same argument to \(Z_{n+1}\), then to \(Z_{n+2}\), and continuing by induction gives \(Z_m=0\) for every \(m\ge n\). \(\square\)

This is a pathwise statement: it holds for every realization of the offspring array, not just on average. Once a generation is empty, there are no individuals available to produce a later generation. No offspring variables in subsequent rows can change that fact, because none of them belong to existing individuals.

Worked Example: A Realization That Reaches an Empty Generation

Use the same offspring distribution as above. Suppose \(\xi_{0,1}=1\) and \(\xi_{1,1}=0\). The probability of these two independent specifications is \(\tfrac12\cdot\tfrac14=\tfrac18\). The recursion gives \(Z_0=1\), \(Z_1=\xi_{0,1}=1\), and \(Z_2=\xi_{1,1}=0\).

At generation \(2\), the defining sum has upper limit \(Z_2=0\), so \(Z_3=\sum_{k=1}^{0}\xi_{2,k}=0\). The same empty sum gives \(Z_4=0\), and the argument continues for all later generations.

Check: the only individual in generation \(0\) has one child, and that child has no children. Thus the generation sizes \(1,1,0,0\) match the family tree. The probability \(\tfrac18\) concerns the two specified coordinates only; no conditions are imposed on the unused offspring variables.

Changing the Initial Population

The one-ancestor convention \(Z_0=1\) describes a process started by a single founder. The same construction works with any fixed finite number \(z\in\mathbb{N}_0\) of initial individuals: set \(Z_0=z\) and use the same recursion. The first generation then consists of the children of positions \(1,\ldots,z\). If \(z=0\), the process is identically zero by the empty-sum argument. If \(z>0\), the first generation is obtained by summing the offspring counts of those \(z\) founders.

Worked Example: Two Initial Founders

Again let the offspring probabilities for \(0,1,2\) be \(\tfrac14,\tfrac12,\tfrac14\), and now start with \(Z_0=2\). Consider the specified values \(\xi_{0,1}=2\), \(\xi_{0,2}=0\), \(\xi_{1,1}=1\), and \(\xi_{1,2}=1\). Their joint probability is

$$ \tfrac14\cdot\tfrac14\cdot\tfrac12\cdot\tfrac12=\tfrac1{64}. $$

The two founders have \(2\) and \(0\) children, so \(Z_1=2+0=2\). The two individuals in generation \(1\) each have one child, so \(Z_2=1+1=2\). The family tree has two children from the first founder and none from the second; each of those two children then has one child.

Check: the first generation contains exactly the two children assigned to the first founder, since the second founder contributes an empty block. The second-generation total is \(2\), matching both the sum \(1+1\) and the two parent assignments. This uses the same offspring law and recursion; only the fixed initial value has changed.

A Common Indexing Mistake

A frequent error is to use only the first individual’s offspring count when computing a generation total. In the first worked realization, generation \(1\) has two individuals with offspring counts \(\xi_{1,1}=1\) and \(\xi_{1,2}=2\). The incorrect calculation \(Z_2=\xi_{1,1}=1\) drops the second individual’s children. The defining sum instead gives \(Z_2=\xi_{1,1}+\xi_{1,2}=1+2=3\). Substitution confirms the correction: there are three child positions, with one assigned to the first parent and two to the second.

A related error is to sum over every coordinate in a row, including positions that do not correspond to individuals. When \(Z_n=2\), the correct upper limit is \(2\), not infinity: only \(\xi_{n,1}\) and \(\xi_{n,2}\) contribute. Conversely, if \(Z_n=0\), the correct sum is empty and equals zero. Keeping the random upper limit \(Z_n\) visible prevents both mistakes.

Check Your Understanding

Use the recursion and the empty-sum convention to answer each question.

  1. If \(Z_n=3\) and the three used offspring counts are \(2,0,1\), what is \(Z_{n+1}\)? How many child positions belong to each parent?
  2. Starting from \(Z_0=1\), suppose the root has zero children. Write \(Z_1\) and \(Z_2\), and explain why later rows of the array do not affect them.
  3. For a fixed initial population \(Z_0=2\), suppose the first-generation offspring counts are \(0\) and \(2\). What is \(Z_1\), and which founder receives the children?
  4. Why does the array construction give a finite number of individuals in every finite generation, even though the array has infinitely many coordinates?
  5. In a realization with \(Z_n=2\) and offspring counts \(1\) and \(2\), identify the incorrect step in the calculation \(Z_{n+1}=1\), and give the corrected value.