So let's investigate a particular set of reaction diffusion equations.
So here are the equations we'll look at.
Here's the basic reaction diffusion equation.
Again u and v. Two different types of chemicals.
They each diffuse at rates A and B.
And they have some interaction.
They react with each other as given by this function f and this function g.
And here is a particular function that we'll look at.
f(u,v) = u (1 - v) - 12 and g = 16 - u * v
So we'll fix this particular type of interaction,
and we'll experiment with different values of A and B.
And we'll see that an interesting range of patterns can result.
We'll do that by using another Javascript program, another program that's
at the Experimentarium Digitale.
This was written by Marc Monticelli, as the Henon attractor program was.
A great resource. There are lots of really good programs there.
Let's check out their reaction diffusion, or Turing equation, program
and see how it works and have some fun with it.
Here's the program we use to look at the solutions to some
reaction diffusion equations.
These are often called Turing structures after Alan Turing
who was the mathematician who first came up with this approach to
pattern formation in the early 1950's.
So this is a page at, again, the Experimentarium Digitale.
This is a great resource, lots of Java- script programs for dynamical systems
and other aspects of math.
A link to this program, as usual, is in the section called Links to Programs
in the right hand navigation bar on the Complexity Explorer site.
Here's the program, Structures de Turing and here are the two equations.
Same ones that I presented in the lectures.
And remember that A is the diffusion constant for u, which is the activator.
And B is the diffusion constant for v, which is the inhibitor.
Those are the two parameters that will vary as we do these experiments.
Then f and g, those are interaction terms, and those stay the same.
Alright, let's scroll down to the program and let's take a look at what's going on.
So first, note that the initial condition so, the reaction diffusion occurs on the
square, and the initial concentrations are randomly distributed across the square.
So what we're looking at in red is the concentration of the activator.
So where the red is the reddest, that means there's a high concentration,
and black would be a lower concentration.
Initially A is set to 3.5 and B is set to 16.
If we start this it will solve the equations, and so this is a
dynamical system, remember there is time in here.
So what we'll see is that this will sort itself out fairly quickly into
different regions of black and red.
So I'll hit start. And it wiggles around, and it eventually makes some fuzzy spots.
And you can see the spots are more or less stable.
So we have this stable pattern, these structures that emerged from a uniform
distribution with slight variations.
Let's watch that again. So I'll hit reset.
Every time I hit reset, I get a different initial condition.
So these are chosen at random, and yeah there's a little bit of structure here.
There's a little bit of clumping, but note that those clumps grow and they form
structures that are quite long range. So let's do this again.
Again we see this sort of spotted pattern.
The pattern looks fuzzy.
That's the nature of the pattern, it's not a critique of the program.
I find that I try to bring it into focus, so it sometimes
hurts my eyes to look at this. Anyway, maybe that's just me.
Alright, so this particular setting, the programmer Marc has called this Guépard,
which is French for cheetah in English.
Cheetah - the big cats of Africa that has spots.
So let's see - so we can change these parameters with these slider bars
and if we do that - let me see, let me hit reset and then start.
The patterns have a different character depending on the values of A and B.
Remember these are just the absolute speeds, the diffusion rates of A
the activator, that's what we see, and then B the inhibitor, which isn't plotted.
Let's reset again.
We can change this more.
Reset.
And interestingly - hopefully that didn't induce any horrible headaches - it doesn't
always settle down into a stable or fixed pattern,
sometimes you get oscillations and so on.
Let's try that again.
Here we see these sort of big oscillations.
Note that it sort of organized itself into these flashing regions of black and red,
but again this is a deterministic and in particular it's a local rule.
So, local meaning that each individual site, individual pixel or lattice square,
wherever it's set up, looks only at its nearest neighbors in a tiny region.
Nevertheless, the entire lattice, in a sense, is capable of organizing.
Alright so let me just say a little bit more about this before concluding
and letting you experiment some.
There are a number of other settings - Colonie, Fin is end, Empreinte is
footprint, Labyrinthe, Grêle this is, I believe, hail, like the frozen rain.
Let's look at that setting.
So notice when I change to Grêle, it automatically changes these
diffusion constants for me.
I'll reset and start.
And this typically tends to just lead to a small handful of little dots
which maybe look like hail.
I reset to a different initial condition and the final state is different.
It has the same character, just a few different little squares, but the exact
location of those squares differ from run to run.
Let's go back to Guépard, that's the cheetah.
And lastly, let me show what this button does: "Painting"
Right now we're looking at the concen- tration of u, and it's in shades of red.
So, very red means there's a lot of u, very black means there's not much u.
If we click on "Painting" then rather than be just red, it uses more colors,
a full color palette.
So let's see.
It looks like the black regions turn orange.
The red...oh man, it's a little hard to see.
The main point is that there's some color scheme for going from u concentrations
to some color.
So it looks like black regions are orange, what previously was red turns into this
sort of yellow type of thing. Yep, I think.
The point isn't so much exactly what these colors mean, but as you probably guessed
one can get even more exciting looking pictures out of this.
So, let's start this.
And there we go, there's a psychedelic multi-colored cheetah.
So, here I am back at the starting configuration, sometimes I find these
programs get a little confused, and the parameters A and B won't update.
And so I just reload the page and everything is okay again.
So you can experiment.
I encourage you to do so by turning "Painting" on and off, and trying
these different settings - Guépard, Colonie, Fin, Empreinte, and so on.
And you'll see there are a bunch of different patterns, and if you turn
on the "Painting" to color them, some of them look pretty impressive.
But to summarize, what we're seeing is that a simple and local dynamical system -
the rule does not have any sort of long vision, it doesn't try to coordinate
across the system, it just knows what's going on, how the diffusion is behaving
right at that particular location, in each particular location
- that this local dynamical system can produce stable patterns.
And moreover, this dynamical system is based on diffusion.
And diffusion wants to even everything out.
So, chemicals in any sort of fluid - air or water - will tend to disperse.
But this says that there's a reaction- diffusion process that can hold
these patterns together.
And of course it's not just chemicals that undergo diffusion.
One can imagine animals undergoing some sort of diffusion in an ecosystem.
That might be not exactly mathematically the same as diffusion
but one could model it that way.
One could also imagine ideas diffusing, spreading out across
some sort of a social system.
And what these results say is that even in the face of this sort of leveling aspect
of diffusion one can get stable spatial structures.