Consider a network of N on/off bulbs.
Assign to each of these bulbs B, a random boolean function of K
inputs, and K other bulbs in the network. Let the state of those
K bulbs, through B, at time t determine the state
of the bulb at time t+1. Start this
Random Boolean network off in
a random state. What happens?
Naively one might think that, because each such network has 2N
possible states, it might cycle through, say, 2N-1 of
them on average before repeating. Actually, for small K, it
self-organises to a much shorter
cycle length. For K = 1, the network usually quickly settles down
to a cycle length of 1, sometimes a little more. For K = 2, the
network usually settles down to a cycle length of a few, in a short
settling time. For K = 3 the cycle lengths and settling times are
much longer.
RBN (Java applet, JDK 1.3)
|
|
- random: each bulb flickers on and off randomly
- NK: each bulb is randomly linked to K
others through random boolean functions
- Reset: reset the bulb states, interconnections and
boolean functions
- Find/Show cycle: find the cycle length (searches
for up to N*N steps)
- Find/Show cycle: move the system through a single
cycle
- Next step: take a single step
- Next n: take root N steps
|
- black: bulb is off -- red: bulb has just gone off
this step
- white: bulb is on -- yellow: bulb has just come
on this step
|
- What is the distribution of cycle lengths for a given N and
K?
- The time it takes for the network to settle down, for the initial "transient"
behaviour to disappear, varies: sometimes the cycle starts nearly
immediately; sometimes it can take many steps. What is the distribution
of settling times for N, K and cycle length?
- What proportion of the bulbs vary in a cycle, what proportion are
always on, and what always off? How does this vary with N, K
and cycle length?