Some analysis of the E. coli demo

[From Richard Kennaway, 970806.1640 BST]

[Bill Powers (970805.1321 MDT)]:

It would be very
useful to have a definitive analysis of this arrangement, but unless I get
a bright idea, it doesn't look as if I've come up with it.

I think I'm missing something about the E. coli demo. What is the demo E.
coli controlling for? The tumbling algorithm has the effect of making it
climb up a concentration gradient, but what is the controlled variable? A
reference signal of "as large a concentration as it can find", or "as large
a concentration gradient as it can find" isn't a number, and is by
definition unachievable.

If it were controlling for a specific value of the concentration, then the
time between tumbles could be made proportional to the rate at which the
concentration is approaching the reference value from above or below, but
that's not how I've seen it described.

I tried doing the mathematics to work out the average velocity of E. coli,
given the rule that tt = tt0 + k*g, where tt = time between tumbles, tt0 is
a constant to keep the whole thing positive, k is a constant, and g is the
concentration gradient the organism is experiencing. (In the situation of
controlling for a specific concentration, g would be minus the magnitude of
the rate of change of the error signal.)

According to my calculation, the average velocity is v*k/2*tt0 in the
direction of increasing concentration (or concentration approaching the
reference value), where v is its speed (assumed constant in whatever
direction it's pointing). For simplicity I'm assuming the organism is
swimming in an environment in which the gradient is constant everywhere.

Notice that the magnitude of the velocity is independent of the
concentration gradient. What is the "gain" of such a control loop? Is
there such a thing?

Perhaps I'm missing something about control loops: is there such a thing as
the gain of an arbitrary control loop? For simple things like standard
electronic amplifiers and servomechanisms, there is a precise definition.
For a control loop whose output function is some arbitrary function of the
error signal and its derivatives and integrals, known only to have the
property that it does control, is there a definition of loop gain?

-- Richard Kennaway, jrk@sys.uea.ac.uk, http://www.sys.uea.ac.uk/~jrk/
School of Information Systems, Univ. of East Anglia, Norwich, U.K.

[From

Richard Kennaway, 970806.1640 BST

I think I'm missing something about the E. coli demo. What is the demo E.
coli controlling for? The tumbling algorithm has the effect of making it
climb up a concentration gradient, but what is the controlled variable? A
reference signal of "as large a concentration as it can find", or "as large
a concentration gradient as it can find" isn't a number, and is by
definition unachievable.

This isn't clear to me. At least if a hierarchy is involved. In
this case the reference level can be set to the last
concentration gradient observed. This _is_ a number. The gain is
then a measure of how much less the system allows the current
gradient to get than the reference level before tumbling
occurs. If the current gradient is greater than the reference
level, the reference level is set at the current level.

But I'm just a mouse. We'll have to wait for the cats to
return...

Bruce

[From Richard Kennaway, 970806.1840 BST]

Some corrections to [Richard Kennaway, 970806.1640 BST]:

I tried doing the mathematics to work out the average velocity of E. coli,
given the rule that tt = tt0 + k*g, where tt = time between tumbles, tt0 is
a constant to keep the whole thing positive, k is a constant, and g is the
concentration gradient the organism is experiencing.

Sorry, g is supposed to be the rate of change with time of the
concentration experienced by the organism, not the rate of change with
distance.

Notice that the magnitude of the velocity is independent of the

Here I mean the rate of change of concentration with distance. Redoing the
calculation, I find that average velocity = K*g*v0*v0/tt0, where K is a
constant, g is the concentration gradient with respect to distance, and v0
is the swimming speed, which agrees better with Bill Powers' analysis in
[Bill Powers (970805.0707 MDT)].

Under conditions of constant gradient, with the reference value somewhere
in the middle of the range, this is basically a noisy bang-bang controller,
like a domestic thermostat which turns the heater either full on or full
off.

-- Richard Kennaway, jrk@sys.uea.ac.uk, http://www.sys.uea.ac.uk/~jrk/
School of Information Systems, Univ. of East Anglia, Norwich, U.K.

[From Bruce Abbott (970807.0925 EST)]

Richard Kennaway, 970806.1640 BST --

I think I'm missing something about the E. coli demo. What is the demo E.
coli controlling for? The tumbling algorithm has the effect of making it
climb up a concentration gradient, but what is the controlled variable? A
reference signal of "as large a concentration as it can find", or "as large
a concentration gradient as it can find" isn't a number, and is by
definition unachievable.

E. coli contains a biased random walk mechanism that spends more time (and
therefore travels less distance) going in a particular direction, as the
sensed rate of change in nutrient concentration becomes more positive (or
less negative). As a result, the mechanism functions as a simple hill
climber, finding local maxima in nutrient concentration.

The system can be viewed as a kind of "variation and selective retention"
device, although in this case the retention time (time spent swimming in a
given direction) varies continuously with the degree of "success" (rate of
positive change in nutrient concentration).

By varying its intertumble time as it does, e. coli spends a higher
proportion of its time moving in a favorable direction (incresing nutrient
concentration) than it does moving in an unfavorable direction. That's
really all there is to it.

Viewed another way, it takes more aggressive action (tumbles sooner) in
proportion to the deviation between the sensed rate of change in nutrient
concentration and some arbitrarily high positive rate (the rate that would
produce an infinite intertumble time). From that point of view, it's a
control system that is trying to keep the _average_ rate of change in
nutrient concentration high and positive. Note, however, that the
"reference" and "comparator" are to be found only implicitly, in the
function relating intertumble time to rate of change in nutrient
concentration. They do not exist as physical entities in the system.

Regards,

Bruce

Greetings all,
About half a dozen members have in effect monopolized the PCT
discussion for at least a year. I recall that at the Flagstaff meeting
there were presentations of application of PCT in law, marriage,
education, etc. Even my presentation on somatotyping.
I have wondered why these members have not been present in the
discussions. Now, I think I have found part of the answer.
The May 1997 issue of Discover magazine has an article by
Jared Diamond called "Kinship With the Stars". It tells about the
"slap in the face" that Carl Sagan received from the National
Academy of Sciences". Reminds me of what happens to PCT in the
academic world I just have emerged from. Smugness,
snobbishness, snottiness (yes), etc., make it seem a wonder that scientific
progress
The last page of the article has the line,
"I still didn't know what it was about".
There are many specific suggestions in the article that Control Systems
Group Network members should take to heart.
Now that I have earned my Ph.D. I should at least be able to follow
some of the discussions. But I can't.
Can it be that members are repelled by excessive use of acronyms, unclear
equations,
etc.?
I personally feel that Bill Powers and Mary have made and are making
contributions to Psychology that are of historic dimensions. There
is need for more emphasis on cognitive and affective aspects of PCT.
The current obsession with conation is fine but needs balancing. PCT is
too
important to be lost in mumbo-jumbo quibling. Also it is necessary to
not be afraid to continuously go back to beginnings. The subject may be
essentially very simple but its elements need continuous review.
Sorry I can't make it to Durango, but will try next year.
Ellery

[From Bruce Gregory (980807.1435 EDT)]

Bruce Abbott (970807.0925 EST)

Viewed another way, it takes more aggressive action (tumbles sooner) in
proportion to the deviation between the sensed rate of change in nutrient
concentration and some arbitrarily high positive rate (the rate that would
produce an infinite intertumble time). From that point of view, it's a
control system that is trying to keep the _average_ rate of change in
nutrient concentration high and positive. Note, however, that the
"reference" and "comparator" are to be found only implicitly, in the
function relating intertumble time to rate of change in nutrient
concentration. They do not exist as physical entities in the system.

Since I assume you are talking about a model, I am not sure
what you mean by "physical entities in the system". The
reference level and the comparator would seem to be essential
elements of the program embodying the model. I must be missing
something here.

Bruce

[From Bruce Abbott (970807.2140 EST)]

Bruce Gregory (980807.1435 EDT) --

Bruce Abbott (970807.0925 EST)

Viewed another way, it takes more aggressive action (tumbles sooner) in
proportion to the deviation between the sensed rate of change in nutrient
concentration and some arbitrarily high positive rate (the rate that would
produce an infinite intertumble time). From that point of view, it's a
control system that is trying to keep the _average_ rate of change in
nutrient concentration high and positive. Note, however, that the
"reference" and "comparator" are to be found only implicitly, in the
function relating intertumble time to rate of change in nutrient
concentration. They do not exist as physical entities in the system.

Since I assume you are talking about a model, I am not sure
what you mean by "physical entities in the system". The
reference level and the comparator would seem to be essential
elements of the program embodying the model. I must be missing
something here.

A model is supposed to be a model _of_ something, in this case of real e.
coli bacteria. In the e. coli system being modeled, there appears to be a
physical signal arising from nutrient concentration rate of change, which
affects a physical mechanism (probably a chemical concentration within the
bacterium) so as to produce a particular inverse relation between rate of
change in nutrient concentration and the time to next tumble. Apparently in
the real e. coli, and in the model used to simulate it, a physical
comparator and reference signal are not explicitly present. However, one
can analyze the system as if these latter elements were implicitly present,
as I described previously.

Regards,

Bruce

[From Richard Kennaway (970808.0958 BST)]

Bruce Abbott (970807.0925 EST):

Note, however, that the
"reference" and "comparator" are to be found only implicitly, in the
function relating intertumble time to rate of change in nutrient
concentration. They do not exist as physical entities in the system.

Bruce Abbott (970807.2140 EST):

Apparently in
the real e. coli, and in the model used to simulate it, a physical
comparator and reference signal are not explicitly present. However, one
can analyze the system as if these latter elements were implicitly present,
as I described previously.

I'm a bit cloudy on this concept of "implicit" entities. I don't see
anything resembling a reference or a comparator, implicit or explicit, in
the equation tt = tt0 + k*dg/dt. Could you present such an analysis?

-- Richard Kennaway, jrk@sys.uea.ac.uk, http://www.sys.uea.ac.uk/~jrk/
School of Information Systems, Univ. of East Anglia, Norwich, U.K.

[From Bruce Gregory (970808.1000 EDT)]

Bruce Abbott (970807.2140 EST)]

A model is supposed to be a model _of_ something, in this case of real e.
coli bacteria. In the e. coli system being modeled, there appears to be a
physical signal arising from nutrient concentration rate of change, which
affects a physical mechanism (probably a chemical concentration within the
bacterium) so as to produce a particular inverse relation between rate of
change in nutrient concentration and the time to next tumble. Apparently in
the real e. coli, and in the model used to simulate it, a physical
comparator and reference signal are not explicitly present. However, one
can analyze the system as if these latter elements were implicitly present,
as I described previously.

If there is no way to compare the present gradient with another
gradient (no comparator or reference signal) it is hard to see
how the system knows how frequently to tumble. It senses a
something or it cannot act. If the mathematics hides this
comparison, it is not as transparent as it might be.

Bruce

[From Bruce Abbott (970808.1015 EST)]

Richard Kennaway (970808.0958 BST) --

Bruce Abbott (970807.0925 EST):

Note, however, that the
"reference" and "comparator" are to be found only implicitly, in the
function relating intertumble time to rate of change in nutrient
concentration. They do not exist as physical entities in the system.

Bruce Abbott (970807.2140 EST):

Apparently in
the real e. coli, and in the model used to simulate it, a physical
comparator and reference signal are not explicitly present. However, one
can analyze the system as if these latter elements were implicitly present,
as I described previously.

I'm a bit cloudy on this concept of "implicit" entities. I don't see
anything resembling a reference or a comparator, implicit or explicit, in
the equation tt = tt0 + k*dg/dt. Could you present such an analysis?

In PCT, the reference level is defined as that value of the perceptual
signal at which the system takes no action. For example, in the standard
proportional servo, it would be the value of input at which the servo motor
is de-energized.

In the e. coli model, the system stops taking action to correct error when
the time to next tumble is infinite (or reaches the maximum possible if
there is a limit). The value of the rate of change in nutrient
concentration at this point would be the reference level. There is no
physical reference signal present, so this value is implicit or virtual.

I would be very much interested in your analysis of the system as I
described it initially, without mention of any reference, implicit or
explicit. It would seem not to be a noisy "bang-bang" control system. If
it is not, what is it?

Regards,

Bruce

[From Richard Kennaway (970808.1702 BST)]

Bruce Abbott (970808.1015 EST):

In the e. coli model, the system stops taking action to correct error when
the time to next tumble is infinite (or reaches the maximum possible if
there is a limit). The value of the rate of change in nutrient
concentration at this point would be the reference level. There is no
physical reference signal present, so this value is implicit or virtual.

I would be very much interested in your analysis of the system as I
described it initially, without mention of any reference, implicit or
explicit. It would seem not to be a noisy "bang-bang" control system. If
it is not, what is it?

The bang-bang system was the variation I suggested where E. coli was
controlling for a specific concentration, moving down the gradient if it
was too high and up if it was too low.

The original version has E. coli navigating up whatever gradient exists.
The rule tt = tt0 + k*dg/dt doesn't suggest any maximum possible tumble
time, and is independent of the current value of the concentration.
Whatever physical limit there is on how high the concentration or its
gradient could be is not represented anywhere in E. coli and is irrelevant
to its operation. Therefore, I would not call that physical limit a
reference signal, explicit or implicit.

The system certainly looks like it resists disturbances to a goal of
travelling up gradients, but I have difficulty drawing the standard control
loop diagram and labelling all the elements. It looks more like a heater
with no thermostat, whose goal is to keep the room as hot as possible.
However, I'm no expert, and being mindful that an inadequate defence may do
more harm than a competent attack, I'll leave it to those more qualified
(i.e. Bill Powers and Rick Marken) to answer the question, "Is the E. coli
model a control system?"

I note that in the version of this which Richard Marken has implemented as
a Java applet, the human playing the role of E. coli has the task, not of
climbing up a gradient indefinitely, but of making a moving dot approach a
specified position by clicking the mouse to cause a tumble. There's a
clear reference signal there and a clear error signal -- all the elements
of a control loop are obvious.

-- Richard Kennaway, jrk@sys.uea.ac.uk, http://www.sys.uea.ac.uk/~jrk/
School of Information Systems, Univ. of East Anglia, Norwich, U.K.

[From Bruce Abbott (970809.0010 EST)]

Richard Kennaway (970808.1702 BST) --

The original version has E. coli navigating up whatever gradient exists.
The rule tt = tt0 + k*dg/dt doesn't suggest any maximum possible tumble
time, and is independent of the current value of the concentration.
Whatever physical limit there is on how high the concentration or its
gradient could be is not represented anywhere in E. coli and is irrelevant
to its operation. Therefore, I would not call that physical limit a
reference signal, explicit or implicit.

Nor would I. I was not referring to a limit set by the environment, but to
one set by the biochemical system within e. coli that ties the time between
tumbles to the rate of increase in nutrient concentration. The simple
linear rule given above does not impose such a limit; on the other hand, it
can produce times between tumbles that are so long as to be equivalent in
practice to a specification not to tumble.

One can easily construct a simulation of a one-way control system, having an
explicit reference level, comparator, and error signal, in which the time
between tumbles is a function of the difference between the reference rate
of increase in nutrient concentration and the input rate. Given a fixed
reference, the system would exhibit an inverse linear relation between rate
of increase in nutrient concentration and time between tumbles. The time
between tumbles would become infinite when the rate of increase in nutrient
concentration matched the reference level. (Time between tumbles would
remain infinite with further increase in the rate of increase in nutrient
concentration.) With the right choice of parameters, the first system
(without reference or error signals) and the second (with those features)
could be made to behave in nearly identical fashion, except that the former
would continue to initiate tumbles at very long intervals, whereas the
latter would not.

The real e. coli may be more like the former system than the latter, but the
latter has been used as a model of the real e. coli. In practice the two
systems behave very much alike, especially if one chooses as a reference
level for the latter system a value for the rate of increase in nutrient
concentration that is higher than any rate actually encountered in the
simulated nutrient environment. In that case the model's input rate never
quite reaches the reference level and time between tumbles is always finite,
as observed in the real organism and in the unreferenced simulation.

Regards,

Bruce

[From Bruce Abbott (970809.0805 EST)]

Re: Bruce Abbott (970809.0010 EST)

Correction:

In describing the e. coli mechanism, I said that rate of increase in
nutrient concentration and time between tumbles are inversely related. Of
course this is incorrect; they are directly related. For some reason my
brain keeps wanting to think in terms of tumble _frequency_, for which the
inverse relation holds.

Regards,

Bruce

[From Bill Powers (970809.1515 MDT)]

Just a (relatively) quick note while resting up for the Saturday night
banquet and the end of the meeting (which has been fine, as usual).

Richard Kennaway, 970806.1840 BST --

My absence came at an inopportune time with respect to untangling the
E. Coli discussion, especially my first abortive attempts to write the
equations for an E. coli model. I understand now why the reference signal
in my original model had no effect, and Rick Marken has come up with an
alternative to my model (which is actually the same as Bruce Abbott's PCT
model) that does have a reference signal with an effect, albeit a rather
unusual one.

The problem with my original model: the criterion for a tumble was that the
present error be greater than the previous error (squared, or absolute
value; both work). This means that only the first derivative of error was
considered, which is, of course, independent of the actual level of error
and therefore independent of the reference signal setting. This is why
changing the reference signal had no effect.

Rick proposed a much simpler model, in which the error operates the delay
mechanism directly. The delay mechanism (in both models) accumulates the
error signal into a dummy variable, and when that variable reaches a fixed
limit a tumble occurs and the variable is reset to zero. If L is the limit,
the time to the next tumble is just the integral of (L/e)*dt. Now, since we
are using the error signal directly, the reference setting does make a
difference.

We set up a simple model in which the gradient is uniform in the x
direction, increasing to the right. The rate of change of nutrient
concentration (the hypothesized controlled variable) is called n, and it is
compared against a reference concentration rate n', so that

e = n' - n.

This exploration is still in an early stage so we don't even have a gain
factor in the equation.

The time to the next tumble is L/e as described above. L can probably
absorb the missing gain constant.

When a tumble occurs, the new angle of travel (theta) relative to the
x-axis (which is also the direction of the gradient) produces a value of n
equal to

n = nmax*cos(theta),

where nmax is the product of the gradient and the speed of swimming.

Thus the time to the next tumble becomes

tt = L/(n' - nmax*cos(theta))
where theta is the current angle of travel.

Some precautions have to be taken to prevent tt from becoming actually
infinite (dividing by zero) or negative (impossible). We're still
exploring, so we haven't seen all the effects yet.

The average value of n, nbar, can be computed as

nbar = sum(n*tt)/sum(tt)

where the sum is taken over a long enough time that all angles of travel
are equally represented. The ratio nbar/nmax (with speed and gradient
properly included) would give the rate of progress up the gradient as a
fraction of the maximum possible rate. For present purposes we're only
interested in the achieved rate of change of concentration.

If we plot tt radially in polar coordinates as a function of theta, we can
see the bias on the distribution of directions. It is greatest when the
reference signal is set to nmax (or a smidgen higher). This produces a long
narrow ellipse pointed toward the positive x axis. At this setting of the
reference signal, the actual rate of change of concentration is equal to
the reference signal.

Raising the reference signal n' above this optimum value means that the
ellipse becomes less eccentric, and the achieved value of n falls below n'.
With n' less than the optimum value, the effects of cutting off negative
delay times is seen, and again the achieved value of n falls -- but not as
fast as the reference signal falls.

This is where the analysis stands now. Obviously there are more
explorations of relationships that need to be done. The response of the
system to changes in the reference signal is not like that of a standard
control system; one can't set the reference signal to any desired value,
and have n be kept equal to it. There is an optimum setting of the
reference signal, equal to the maximum experienced rate of change of
concentration. As the reference signal is raised above the optimum value,
the loop gain declines.

One way the model could be changed would be to have a zero-error tumbling
delay that is nonzero, so that both positive and negative errors could be
accommodated. The data on E. coli taken by Koshland suggest that this would
be realistic: normal E. coli tumble at some baseline rate in a uniform
concentration.

Also, a more realistic model of the tumbling mechanism could be attempted.
As I see it, tumbling occurs when some but not all of the flagellae reverse
direction: this desynchronizes the spins of the flagellae. If the reversal
point is different for different flagellae, the common driving signal will
lead to a tumble when it falls close to zero. Furthermore, it is observed
that when the rate of change of concentration goes far negative, ALL the
flagellae reverse, and the bacterium actually backs up, with the flagellae
synchronized in the reverse direction of spin. The synchronization, I would
guess, is probably achieved mechanically, since the flagellae interlock to
form a single spiral when they are all spinning the same way in either
direction. This would allow us to give meaning to negative error signals
without having to introduce artificial constraints, and tumbling would be
automatic when the driving signal goes to zero.

I'm sorry about my method of successive approximations by which I arrive at
a system analysis -- I'm afraid it has led some of you on a wild goose
chase. I had hoped, I suppose, that others would start from scratch and do
their own analyses to see how they compared with mine, instead of taking my
first attempts as gospel and trying to understand them (or shoot them down).

Best,

Bill P.