N (The number of nodes, choose a number between 1 and 100, square numbers look best):
K (The number of other randomly chosen nodes that can affect each node, choose a number between 1 and 12):

Show/Hide Interactions



This is an interactive model of a circuit that repeatedly updates which nodes are "on" based on set rules. It can be used to represent a ciruit of regulatory genes affecting each other in a biological system - or any other kind of system in which the state of one node/gene is determined by the states of other nodes/genes in the previous timestep (obviously assuming a repeated one-size time step is not realistic, but it makes for a simple model). In this program, the state of each of N nodes is determined by the state of K randomly selected nodes in the system (you can try different combinations of values for N & K above). The "instructions" for each state are assigned randomly (on or off) for each of the 2^K combinations of the K interaction nodes. Interaction nodes are chosen randomly without replacement and the node in question can be chosen as an interactor (self regulation). Since the instructions are chosen randomly, changing the state of an interactor will not necessarily change the state of the node in question (it might be off or on in both cases).

At the bottom right, the simulation records whether the system has reached a stable state - either a fixed state (fixed point) or a cycle of states (limit cycle), or if it has yet to return to any previous state (searching). Technically the system will always reach a fixed point or a limit cycle, but since there are 2^N possible states for the entire system, in some cases it might take an unreasonable amount of time.

You can click a block to turn that node off, which will reset the text at bottom right, since you've really changed the system! With a low K value, you can even click blocks and start to try to understand where the interactions are (which you can see by clicking the button above - for high K it's pretty unreadable, but it works for low K). When you click a block again it will turn on, but may go off again depending on the states of its interactors. The NK model here is based on ideas that Stuart Kauffman put forth in his book At Home in The Universe, especially in the section about cell differentiation. Check it out for some interesting ideas about cell differentiation in terms of the different stable states or basins of attractions in a system of genetic circuits. This is related, but not the same as an NK fitness landscape.