Implementation notes
- The grid is a torus, as in the paper. Neighborhoods are square: "within distance d" means the (2d+1)×(2d+1) block around a site, which matches the 3×3 and 9×9 windows of Figure 7.
- Agents take one step per time unit to one of the four neighboring sites. All agent models update asynchronously, one agent after another in random order.
- Memory records the state of the site an agent lands on, before the agent acts there. τ = 1 is the most recent entry.
- In the memory-based models (sections 5 and 6) the number of items is fixed: an agent must pick an item up before it can drop one. In the "space remains space" model (section 4) bricks are created and destroyed freely, as in Young's cellular automaton.
- The paper does not state how many agents were used in sections 4 to 6, so the agent count is a free parameter here.
- "Clean" applies the one-pass filter of Figure 16 to the current grid.
- All sums are plain cell or memory counts, as written in the equations. For the memory models the paper's parameter values work as printed; for Young's automaton and its direct agent version they are divided by four (see the note under those models).