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.