Sync
by Manfred Füllsack
This model simulates examples of self-organizing synchronization.
The synchronization of oscillating entities has long been thought to be dependent on some sort of conductor. When early travellers to the tropics reported on synchronously flashing fireflies for example, European biologists dismissed these accounts as fantasies. Spontaneous synchronization was inconceivable.
Studies on interconnected systems, however, revealed not only the possibility of self-organizing synchronization, but proved the phenomenon to be one of the premises for the emergence of complex structures. Today, examples for spontanous synchronization range from unisonously waving fiddler crabs to cardiac pacemaker cells, female menstrual synchrony, traffic patterns, quantum choruses and the unison firing of neurons.
The first part of the model simulates the self-organizing synchronization of moving oscillators which tune their periodicity with the help of impulses from other oscillators nearby. The example is that of fireflies.
Pushing <Fireflies-setup> generates a population of gray spots that can be imagined as clocks which all are set at a random initial time between zero and 9. By pushing <Fireflies-go> these clocks start counting. When reaching 10, they reset to zero and flash their light (they turn red for one count). Fireflies in the vicinity (here in radius 2) are influenced by these flashes, which means their clocks are reset to one when a flash nearby occurs. This simple mechanism suffices to sooner or later synchronize the fireflies' flashing.
The mechanism, however, needs moving oscillators. If you switch off <move> and then start the simulation anew, the oscillators will not synchronize. The local information they receive from their immediate neighbors does not suffice to make them flash in unison. They seem to need some global information as well. But how much of this global information is enough to make them synchronize?
Rewiring
In order to find out, Steven Strogatz and Duncan Watts suggested a technique they called "rewiring". Each time tick, this technique randomly connects a certain percentage of fireflies (which can be set with the <%-rewired>-slider) with other fireflies somewhere else in the population (you might imagine fireflies using mobile phones to exchange information about their state of activation). These remote fireflies then exert influence additionally and in the same way the adjacent neighbors do. Technically, these remote connections decrease the Average Path Length between fireflies and therewith alter the ratio of path length and Clustering Coefficient of the population. Networks with short average path length and high clustering coefficient are called Small World Networks.
The remarkable thing is, that a very small percentage of rewired fireflies suffices to synchronize the whole population. It works best with 0.2% rewired fireflies, which equals just 2 fireflies out of thousand. But it works also with just 0.1% or one firefly out of thousand (which in each timestep is randomly chosen anew). It still works with 0.3%, but synchronizing then takes already some time. And astonishingly, it doesn't seem to work with more than 0.3%. Too much networking seems counterproductive for synchronization.
The second part of the model (- started with <stationary-setup> and <stationary-go> -) again applies the synchronizing mechanism (without rewiring) to stationary oscillators. For getting some effects, I kept the oscillators flashing in red, but made them change their colors with every tick of their clock in shades from yellow to black. In addition, the clock-count to which the clock of the oscillators is reset by the neighboring flashing is increased every 500 ticks by one count. This generates a nice psychedelic effect.
The third part of the model simulates the Belousov-Zhabotinsky-Reaction, a chemical example of non-equilibrium thermodynamics resulting in an ongoing change of colors in a liquid. When started in thin, unstirred layers, the reaction generates propagating spiral waves of different colors. Such spiral waves are now thought to be a pervasive feature of all chemical, biological and physical excitable media.
The BZ-simulation varies the second part of the model with a more differentiated kind of influence among oscillators. On its first step (- the one in which oscillators are flashing -), the clock-count of oscillators is set by the sum of a fraction of the activation-state (their counting-progress) of the eight Moore-neigbors of an oscillator depending whether these neighbors have reached their maximum clock-count or not. (The maximum clock-count can be set with the <max-activation>-slider) On all other steps, the clock-count of an oscillator is set by a relation of its activation-state and the one of its neigbors, divided through the above sum plus a certain diffusion rate. This diffusion rate can be set with the <diffusion>-slider.
Suggestion: put Miles Davis' Agharta into your cd, start the simulation with the initial settings, wait 200 ticks and then move the <diffusion>-slider to the left until around 7. (Jimi Hendrix' Purple Haze or Kruder and Dorfmeister's G-Stoned will be fine)
Code by Manfred Füllsack (source code on demand), March 2009 (to be improved and continued)
Literature:
Watts, Duncan J. / Strogatz, Steven (1998): Collective Dynamics of 'Small-World' Networks; in: Nature 393, p. 440-442.
Strogatz, Steven (2003): Sync. How Order emerges from Chaos in the Universe, Nature and Daily Life. New York: Hyperion. (highly recommended!!!)