Interactive simulation of the vacuum cleaner process on a rate-1 Poisson point process. A particle starts at the origin in 2D or 3D, repeatedly jumps to the nearest Poisson point and removes it. Displays distance from origin as a function of step number on a line plot, with optional log-log scaling and power-law reference lines. Supports up to 100 million steps via WebAssembly with lazy Poisson generation in spatial cells.
Mathematical description
Consider a rate-1 Poisson point process $\Pi$ in $\mathbb{R}^d$ ($d=2$ or $3$). The vacuum cleaner (or greedy walk) starts at the origin $x_0 = 0$ and moves as follows: at each step, it jumps to the nearest point of $\Pi$ that has not yet been visited, removes that point, and repeats.
Let $R(n) = |x_n|$ be the distance from the origin after $n$ steps. The process is a random walk in a random environment, and the growth rate of $R(n)$ depends on the dimension.
The simulation generates Poisson points lazily in unit cells as the walker explores, using a deterministic seed per cell for reproducibility and memory efficiency. Nearest-neighbor search uses grid-based spatial hashing with shell-by-shell expansion.
Keyboard Shortcuts
| R | Run / Stop simulation |
| C | Reset |
| 2 / 3 | Switch dimension |
| L | Toggle log-log |
| P | Toggle path view |
| ? | Show this help |
| Esc | Close dialogs |
code
(note: parameters in the code might differ from the ones in simulation results below)-
Link to code(Interactive simulation — see source) -
Link to code(C++ source for WASM (vacuum cleaner + spatial hashing))