Multitype Galton–Watson processes #
A multitype Galton–Watson process with types ι is an offspring kernel ξ : Kernel ι (List ι):
an individual of type i has offspring drawn from ξ i, an ordered list of types, each of which
founds an independent copy of the process. The family tree of an individual is the plane tree of
[Nev86], a RoseTree ι; its law on finite trees is the least fixed point of the
one-generation operator on the Giry monad, and the missing mass is the probability of surviving
forever.
A probabilistic context-free grammar is the instance whose types are the symbols: a terminal has
no offspring, and a nonterminal's offspring is the right-hand side of a rule chosen with its
weight; see PCFG.galtonWatson.
Main definitions #
GaltonWatson.PartialTree: family trees with holes, the states of the generation chain.GaltonWatson.fill: the kernel filling the holes of a partial tree with independent draws from a family of laws, andGaltonWatson.generation: the kernel expanding every hole by one generation.GaltonWatson.expand: one generation from a single hole followed by filling, andGaltonWatson.law: its least fixed point, the law of the finite family tree at each type.GaltonWatson.weight: the probability of a finite family tree, the product over its nodes of the offspring probability there.GaltonWatson.extinctionProb: the total mass oflaw, the probability that the family tree is finite.GaltonWatson.chainKernel,GaltonWatson.trajectory: with Markov offspring, the generation chain in Ionescu–Tulcea form and, throughProbabilityTheory.Kernel.traj, the law of its whole trajectory.
Main results #
GaltonWatson.law_eq_iSup_iterate: the law is the supremum of the Kleene iterates ofexpandfrom the zero kernel.GaltonWatson.law_singleton: a finite tree rooted at typeihas probabilityweightunder the law ati, and trees rooted elsewhere have probability0.GaltonWatson.law_univ_le_one: with sub-probability offspring the law is a sub-probability kernel.GaltonWatson.fill_expand: filling with one more generation is one generation followed by filling, soGaltonWatson.fill_iterateidentifies the Kleene iterates with the completed part of the generation chain andGaltonWatson.law_eq_iSup_generationexpresses the law as their supremum.GaltonWatson.trajectory_map_eval: at timenthe trajectory is distributed asngenerations, so the Kleene iterates are the marginals of the trajectory measure.
Implementation notes #
Trees and lists carry the discrete σ-algebra ⊤, so every function out of them is measurable
and, with ι countable, every measure on them is s-finite and every kernel between them is an
s-finite kernel; Fubini then needs no finiteness hypotheses. Partial trees are
RoseTree (ι ⊕ ι), a hole of type i being a leaf Sum.inl i and an expanded individual a node
Sum.inr i. The offspring kernel is not required to be Markov: sub-probability offspring model
killing, and the grammar instance produces the zero measure at a nonterminal no rule expands. The
extinction probability is the least fixed point of the offspring generating function and equals
one exactly when the mean matrix is subcritical or critical ([AN72]); that theorem is
not proved here.
References #
Equations
In a partial family tree a leaf Sum.inl i is a hole of type i, yet to be expanded, and a
node Sum.inr i is an individual of type i whose offspring is known.
Equations
- ProbabilityTheory.GaltonWatson.PartialTree ι = RoseTree (ι ⊕ ι)
Instances For
The hole of type i.
Equations
- ProbabilityTheory.GaltonWatson.hole i = RoseTree.leaf (Sum.inl i)
Instances For
Filling the holes #
Fill the holes of a partial tree with independent draws from the laws κ.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Fill the holes of a list of partial trees independently.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A list of subtrees whose root types do not spell out the holes has mass 0, for any family
of laws concentrated on trees of the right type.
One generation #
In one synchronous generation every hole draws its offspring and becomes a node whose children are fresh holes.
Equations
- One or more equations did not get rendered due to their size.
Instances For
One synchronous generation on a list of partial trees.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Filling a list of partial trees after one generation on each.
In one generation from a type i, a single hole of type i draws its offspring, and each
type among them grows a family tree with law κ.
Equations
Instances For
Filling with one more generation is one generation followed by filling.
Filling with one more generation is one generation followed by filling.
The weight of a finite family tree #
The probability of a finite family tree is the product over its nodes of the offspring probability of the list of types below that node.
Equations
- ProbabilityTheory.GaltonWatson.weight ξ t = (List.map (fun (p : ι × List ι) => (ξ p.1) {p.2}) t.localTrees).prod
Instances For
The law of the family tree #
The generation operator on families of laws indexed by type, as an order homomorphism.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The law of the family tree of an individual of each type, on finite trees, is the least fixed point of the generation operator. Its total mass is the extinction probability.
Equations
- ProbabilityTheory.GaltonWatson.law ξ = ProbabilityTheory.Kernel.ofFunOfCountable (OrderHom.lfp (ProbabilityTheory.GaltonWatson.expandHom ξ))
Instances For
A list of family trees has probability the product of their weights below the holes it spells out, given the singleton law for each of them.
A family tree of an individual of type i has probability weight under the law at i.
Under the law at i, a finite tree has probability weight when its root has type i
and 0 otherwise.
Extinction #
With sub-probability offspring, the law on finite family trees is a sub-probability kernel; the missing mass is the probability of survival forever.
The extinction probability of an individual of type i is the total mass of the law on finite
family trees, which for Markov offspring is the probability that the family tree is finite.
Equations
- ProbabilityTheory.GaltonWatson.extinctionProb ξ i = ((ProbabilityTheory.GaltonWatson.law ξ) i) Set.univ
Instances For
Generations #
The n-th Kleene iterate fills a partial tree exactly as n synchronous generations do,
followed by the completion of what remains.
The law of the family tree at type i is the supremum over n of the completed part of
n synchronous generations from a single hole of type i.
The generation chain as a Markov chain #
In the Ionescu–Tulcea form of the generation chain, the state at time n + 1 depends on the
trajectory up to time n only through its last coordinate.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The Ionescu–Tulcea trajectory kernel of the generation chain.
Equations
- ProbabilityTheory.GaltonWatson.chainTraj ξ n = ProbabilityTheory.Kernel.traj (ProbabilityTheory.GaltonWatson.chainKernel ξ) n
Instances For
The law of the whole trajectory of generations started at a partial tree.
Equations
- ProbabilityTheory.GaltonWatson.trajectory ξ s = (ProbabilityTheory.GaltonWatson.chainTraj ξ 0) fun (x : ↥(Finset.Iic 0)) => s
Instances For
At time n the generation chain is distributed as n synchronous generations.