# Random Boolean Network

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)

 If you had a Java browser, you would be able to explore NK networks for various values of N and K.
• 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?