Pick initial parents and weights with , choose a collection of bins, and define a final time T. Then for t ≥ 0, iterate the following: |
• (Selection step) Each parent is assigned a number of children, as follows: |
In each occupied bin , conditional on , let be Nt(u) samples from the distribution , where satisfies (3.2). The children are defined by (3.1) with weights |
|
Selections in distinct bins are conditionally independent. |
• (Mutation step) Each child independently evolves one time step as follows. |
Conditionally on , the children evolve independently according to the Markov kernel K, becoming the next parents , with weights |
|
Then time advances, t ← t + 1. Stop if t = T, else return to the selection step. |
Algorithm 5.1 outlines an optimization for the allocation , and a procedure for choosing the bins is in Algorithm 5.2. For the initialization, see Algorithm 5.3. |