JavaLava

My aim here was to develop a system of differential equations which would exhibit LIFE type behaviour but which would have continuous activation values and be continuous in time as well.

The set of equations I came up with describes a system in which each point's value grows (or diminishes) according to the average activation of cells in the local area. This tends to cause correlation on a local scale and would ultimately cause correlation over the whole board. However a delayed effect occurs whereby each cell is pushed away from its neighbourhood's average activation if they correlate for too long.

This means that cells tend to grow with their neighbourhoods for a while but then break away The neighbours may then follow the breakaways (got to keep up with the Jones's) and will hence cause correlation again when they catch up.

A picture paints a thousand words (but only after the simulation has been running for quite a while), so here it is:

Click on the Lava to restart the simulation

The equations for this nonsense are:

(1)

g(x,y,t)

=

K3.a*(x,y,t) - c(x,y,t)

(2)

d a(x,y,t)
d t

=

{

g(x,y,t). [ 1 - a(x,y,t) ] if g(x,y,t) > 0
g(x,y,t).
[ 1 + a(x,y,t) ] otherwise

(3)

d c(x,y,t)
d t

=

K1.a*(x,y,t) - K2.c(x,y,t)

Where,

a(x,y,t) is the activity of point (x,y) at time t

c(x,y,t) is a measure of the recent average activity, a*(x,y,t), in the neighbourhood of the point (x,y)

g(x,y,t) is introduced purely to reduce the size of the expression in (2)

K1 (> 0) determines how quickly the 'c' values respond to the average activity in their neighbourhood

K2 (> 0) determines how quickly the 'c' values 'forget' the history of average activity in their neighbourhood

K3 (> 0) deterines the rate at which activity at a point responds to the average activity in its neighbourhood

In the applet, some other parameters are also displayed. These are:

N-Radius which is the radius of the neighbourhood around each point used to obtain the average

Rate is used to speed up or slow down the simulation ('2' means go twice as fast, but this reduces the accuracy of the discrete approximation to the differential equations resulting in instability if it is set too large)