Rounder Router

Illustrating a "quasirandom" model of diffusion by Jim Propp. The applet demonstrates three-state and two-state versions of the same model.

In the three-state model, if n particles are added to the top brick of the triangle, round(n/3) of them go down to the left, and round(2n/3) go down to the right. Particles that go left of the leftmost bricks are "absorbed". Others continue down the pile. The number of particles that don't fall off the left after n are added at the top-- call that f(n)-- approaches n/2. Strangely, f(n) >= n/2, never less, until the first time at n = 5495 (see wander6b.txt and wandergraph.jpg).

If you look at where particles go when added incrementally, it depends on how many particles have arrived at a brick previously, mod 3. If that's zero, I color the brick cyan, and the next particle goes right. One: magenta, left. Two: yellow, right.

In the two-state model, floor(n/2) particles go left and ceil(n/2) go right. Click on the "flag" in the upper right to toggle between models. Click anywhere else on the applet to pause or continue.

Makefile (4K)
applet/ source code for the applet on the right
sound/ source code for wav/aiff output (and input)
wander.tgz (294K) sources of everything (+applet .jar), but not wandergraph.jpg or generated files
wander5 (2K)
wander6 (3K) Python program to print record-breakers and stats for f(n) - n/2
wander6b.txt (4K) table from wander6 (reformatted by hand)
wander7.c (2K) Generate stream of 2^27 characters-- '=' if f(n)==f(n-1), '>' if f(n)==f(n-1)+1.
wander7out.gz (8556K) gzipped output of wander7
wandergraph.jpg (142K) graph of max and min of f(n)-n/2, and 'necessary length of table'
wandersweep.c (4K) Turn wander7out into audio, with sample rate sweeping from 1000Hz to ~20MHz.
wandersweep.mp3 (470K) the audio

This page was made with a php script. Last change November 12, 2013.
--Steve Witham Up to my home page.
The Rounder trademark belongs to Rounder Records.

Your browser does not support Java, so nothing is displayed.