This simulation demonstrates random domino tilings of an Aztec diamond—a diamond‑shaped union of unit squares. The probability measure is $2\times2$‑periodic with edge‑weights $(a,b)$, as studied by Chhita & Johansson in Domino tilings of the Aztec diamond with periodic weights. Sampling uses the shuffling algorithm. The original Python implementation by Sunil Chhita has been ported to JavaScript + WebAssembly, and the graphics are rendered with D3.js.
The sampling runs entirely in your browser. For sizes up to about $n\le120$ the sampler is fast; larger $n$ may take noticeable time (hard cap $n=300$ to protect your browser).
You can run the Glauber dynamics on domino tilings, and adjust the speed. You can start the dynamics with one set of parameters $(a,b)$ and change them on the fly, observing in real time how the tiling reacts. Key phenomena visible in the grayscale view:
Conjecture: In the non‑uniform case $a\neq b$, the Glauber chain requires exponentially many sweeps in $n$ to alter the limit shape.
Link to code
(This simulation is interactive, written in JavaScript; see the source code of this page at the link)
Link to code
(C++ code for the simulation)