What a plant might be doing

The window was not the neighbourhood

A placement rule corrects what is relative between neighbours and passes what moves them all together, so how much of a slow disturbance gets through should depend on how deep the neighbourhood is. The obvious knob is how many organs the rule sums over. Swept across a factor of six, it changes nothing at all — and a parameter that is not binding produces exactly the flat sweep a robust result produces.

Worth reading first: A disturbance with a memory · How far a primordium reaches · A window that makes a pattern.

A placement rule does not correct a slow disturbance; it sharpens one. Driven by a jostle whose errors are correlated from one organ to the next, the rule’s own stems leave more slow wander in their divergences than a lattice with no rule in it at all, while cutting the scatter between neighbours by more than half.

The reading offered for that is a filter. What a rule corrects is the part of a disturbance that is relative between neighbours — it puts each organ where the repulsion from the ones already there is least, so an error shared by the whole neighbourhood shifts every term of that sum together and moves the minimum with them. A drift translates the neighbourhood; a rule cannot see a translation.

That reading makes a prediction with a number in it. If what matters is whether the disturbance is shared within the neighbourhood, then how much gets through must depend on how deep the neighbourhood is, and there should be a crossover: a disturbance correlated over fewer organs than the rule can see should be suppressed, and one correlated over more should pass.

Nothing had varied the two together. This essay does, and the first attempt measures nothing — which turns out to be the interesting part.

The loop bound is not the neighbourhood. The wander a placement rule leaves in its divergences, against how many recently placed organs the rule sums over, at four correlation lengths of the disturbance driving it. The loop runs from 15 organs to 85 and nothing moves: the largest change along any line is smaller than the change between random seeds at one setting. That is the shape a parameter has when it is not binding, and it is the same shape a robust result has, which is why the sweep is drawn with the seed spread rather than reported as a number.
Fig. 1 The sweep that finds nothing. The wander a rule leaves in its divergences, against how many recently placed organs it sums over, at four correlation lengths of the disturbance driving it.
Through the rule, the drift survives and the inheritance still does not. How much of a divergence sequence's variance survives being averaged over blocks, on stems the rule grew. The vertical quantity is B² times the variance of the block means divided by the variance of the sequence, which is one at every block size for independent errors — the arithmetic is normalised for a differenced stream, since a divergence is the difference of two organs' errors. A line that climbs is a sequence with power at frequencies below one per block. The disturbances that remember the last error climb to 46 at a block of 64. The ones inherited between touching organs do not climb at all — 1.51 and 1.90 at the same block — although their own deviates carry ×— and ×— an independent stream's variance in exactly this statistic. What they do instead is dig a hole: at block sizes of 8 and 13, which are the offsets they couple at, the statistic falls to 0.06 and 0.12.
Fig. 2 The statistic on stems the rule grew, which is the object the sweep below moves. Independent errors give one at every block size by construction, and everything above that is structure in the disturbance.

What the statistic is, and what it is normalised by

The quantity being swept needs stating precisely, because half of what follows in this thread turns on how it is put together.

Take a stem’s divergences, cut them into consecutive blocks of sixty-four, and take the variance of the block means. A disturbance that is independent from organ to organ averages away inside a block, so its block means barely move; a disturbance correlated over many organs shifts a whole block at a time, so they move a great deal. Multiply by the square of the block size and divide by the variance of the divergences themselves, and independent draws give one.

The square rather than the first power is the part that had to be learned. A differenced stream’s block means fall as one over the square of the block size rather than as one over it, and a statistic normalised for undifferenced noise reports a tidy curve for everything and separates nothing. A divergence is a difference — the angle from one organ to the next — so the divergences a plant hands over have already had that operation applied to them.

The normalisation by the divergences’ own variance is the other half, and it is the half that will cause trouble two rungs from here. It makes the statistic dimensionless and comparable across disturbances of different sizes, and it means the number rises whenever the denominator falls, whatever the numerator is doing.

The obvious knob

The rule’s neighbourhood, as written, is the previous w organs, and w is not a constant: the organs within a fixed distance of the growing tip number about one over the square root of the rise, which climbs as the rise falls, so the window is set as a reach in units of the local spacing and converted. At the rise everything here is measured at, a reach of one gives a window of fifteen organs and a reach of six gives eighty-five.

That is a factor of 5.7, which is a real sweep of a real parameter.

Across it, at a disturbance correlated over nine and a half organs, the wander comes out 19.1, 24.9, 21.8, 19.1. The largest ratio anywhere along that line is 1.30. The spread between random seeds at a single setting of the same line is 3.28.

The disturbance with the largest wander leaves none in the sequence. How much of a divergence sequence's variance survives being averaged over blocks, on kinematic lattices. The vertical quantity is B² times the variance of the block means divided by the variance of the sequence, which is one at every block size for independent errors — the arithmetic is normalised for a differenced stream, since a divergence is the difference of two organs' errors. A line that climbs is a sequence with power at frequencies below one per block. The disturbances that remember the last error climb to 32 at a block of 128. The ones inherited between touching organs do not climb at all — 1.06 and 0.83 at the same block — although their own deviates carry ×5 and ×49 an independent stream's variance in exactly this statistic. What they do instead is dig a hole: at block sizes of 8 and 13, which are the offsets they couple at, the statistic falls to 0.22 and 0.21.
Fig. 3 What the statistic is, for reference: the variance of block means against the variance of the divergences, normalised so that independent errors give one at every block size.

So the answer does not depend on the loop bound, and it does not depend on it by a margin much smaller than the noise of the measurement itself. The same is true at every correlation length tried, including at none: the white control gives 0.72, 1.03, 0.85, 0.91.

A deeper rule passes more of a drift, not less. The wander left in a stem's divergences, against how many organs its disturbance stays correlated over, for rules whose neighbourhoods run from 3 organs to 182. The prediction under test said a rule should pass a drift once the drift outlasts its neighbourhood, so the shallow rules should be the leaky ones and each line should turn where its own depth is crossed. Every line rises smoothly and the deepest rule is the highest of them at every correlation length — 82 against 22 at the longest drift. There is no crossover anywhere in the sweep.
Fig. 4 The same statistic swept over the falloff exponent instead of the loop bound. One of the two is the neighbourhood and the other is a window on it.

The shape of a parameter that is not binding

This is where the sweep would ordinarily be reported as a robustness check and filed. Four settings, one answer, no trend — the pattern that means a conclusion does not depend on an arbitrary choice.

It means the opposite here, and this collection has the receipt. When the reach and the window cap were one number, raising the cap from 120 organs to 480 changed nothing, and it read as a converged answer; the cap was not binding, because the reach already put the window well under it. A sweep of a parameter that does nothing reports the same number every time, and the same number every time reads as robustness.

The distinction is not stylistic. A robustness check says the answer does not depend on this choice; a non-binding parameter says this choice was never in the answer. The first supports a conclusion and the second supports none, and they produce identical figures.

The loop bound is not the neighbourhood. The wander a placement rule leaves in its divergences, against how many recently placed organs the rule sums over, at four correlation lengths of the disturbance driving it. The loop runs from 15 organs to 57 and nothing moves: the largest change along any line is smaller than the change between random seeds at one setting. That is the shape a parameter has when it is not binding, and it is the same shape a robust result has, which is why the sweep is drawn with the seed spread rather than reported as a number.
Fig. 5 The narrow bounds on their own. Nothing moves across them, which is what a window that is not binding looks like.

Where the neighbourhood actually is

The way to tell them apart is to ask what the parameter does to the thing being computed, rather than to the answer.

The rule sums a repulsion falling as the inverse cube of distance, over the organs in the window, and takes the minimum over azimuth. So the question is not how many terms the sum has; it is how many terms carry the sum. That is measurable directly: rank the terms by size at the growing tip and count how many are needed to make up nine tenths of the total.

At the exponent the rule uses, the answer is thirty organs. A window of fifteen is already most of it; a window of eighty-five contains fifty-five organs whose combined contribution changes which azimuth is least by nothing measurable.

So the loop bound was never the neighbourhood. It was an upper bound on the neighbourhood, and it stopped binding somewhere below the smallest value in the sweep.

The loop bound is not the neighbourhood. The wander a placement rule leaves in its divergences, against how many recently placed organs the rule sums over, at four correlation lengths of the disturbance driving it. The loop runs from 29 organs to 128 and nothing moves: the largest change along any line is smaller than the change between random seeds at one setting. That is the shape a parameter has when it is not binding, and it is the same shape a robust result has, which is why the sweep is drawn with the seed spread rather than reported as a number.
Fig. 6 The wider bounds. Past about four spacings the rule builds the same lattice, so widening the window buys nothing.

The parameter that does bind

The exponent is the neighbourhood. Made steeper, the rule looks at fewer organs; made shallower, at more — and the count is a count, in organs, rather than a loop bound.

Measured the same way, as the number of organs carrying nine tenths of the profile:

falloff exponent organs deepest lag among them
1.5 182 188
2 120 133
3 30 60
4 8 26
6 3 13

That is a factor of sixty-one between the ends, against the window’s 5.7, and it is a range wide enough for the prediction to be tested properly. A rule at an exponent of six responds to three organs; a rule at 1.5 responds to a hundred and eighty-two.

Whether the prediction survives that sweep is the next essay’s subject, and the short answer is that it does not. What matters here is that the sweep exists at all, and that it took a failed one to find it.

Counting a neighbourhood, and what the count is sensitive to

The measurement that replaces the loop bound deserves its own paragraph, because it is doing real work and it has a free choice in it.

At the growing tip, every organ already placed contributes a term to the profile the next one is placed against, and the term falls with distance. Rank the terms by size and accumulate them until they make up a stated share of the total; the number of terms that took is the depth, in organs.

The free choice is the share. Nine tenths is used throughout, and the two obvious alternatives were tried: at eight tenths the sweep’s range comes out as a factor of thirty-eight rather than sixty-one, and at ninety-five hundredths as a factor of fifty. Every claim made from the number is a claim about ratios of that size against the window’s 5.7, so none of them turns on the choice.

What the count is genuinely sensitive to is the geometry, and the depth is measured at the rise the whole thread uses rather than being quoted as a property of the exponent alone. Two organs at the same lag sit at different distances on stems with different rises, so the same exponent gives a different depth at a different rise. The figure that reports it prints the rise for that reason.

There is also a second number worth having beside the first: the deepest lag among the organs that carry the profile. At an exponent of three, thirty organs carry nine tenths of it and the furthest of those thirty sits sixty places back — so the rule is not looking at the thirty most recent organs, it is looking at thirty organs scattered through the sixty most recent, which are the ones its own lattice happens to bring near the tip. Read down the two columns together and the ratio between them climbs: 1.0, 1.1, 2.0, 3.3, 4.3 as the exponent steepens. So a steeper rule does not merely look at fewer organs — it looks at a sparser selection of them, three organs scattered through the last thirteen rather than the three most recent. The neighbourhood becomes more selective as it shrinks, which is exactly the property a count of recent organs cannot represent and the property that makes the lattice’s own geometry part of the answer.

That is a distinction the loop bound cannot express at all.

A deeper rule passes more of a drift, not less. The wander left in a stem's divergences, against how many organs its disturbance stays correlated over, for rules whose neighbourhoods run from 3 organs to 182. The prediction under test said a rule should pass a drift once the drift outlasts its neighbourhood, so the shallow rules should be the leaky ones and each line should turn where its own depth is crossed. Every line rises smoothly and the deepest rule is the highest of them at every correlation length — 82 against 22 at the longest drift. There is no crossover anywhere in the sweep.
Fig. 7 Three exponents on their own. The exponent moves the statistic and the window does not, which is the whole finding.

Why the two are so easily confused

The window and the falloff are confused because in a program they look like the same thing. Both bound how far the sum reaches; both can be varied; both are called “the neighbourhood” in conversation. The difference is that one is a property of the loop and the other is a property of the model.

This collection has already paid once for the confusion, in a stronger form. An inverse-first-power rule produces no lattice at all when it is allowed to see far enough, and produces a clean 8/13 lattice at 137.62° with half a degree of scatter once its loop is cut at three spacings. Truncating the sum manufactured a pattern. The pattern passed every test this collection has and disappeared when the window was widened.

The loop bound is not the neighbourhood. The wander a placement rule leaves in its divergences, against how many recently placed organs the rule sums over, at four correlation lengths of the disturbance driving it. The loop runs from 15 organs to 128 and nothing moves: the largest change along any line is smaller than the change between random seeds at one setting. That is the shape a parameter has when it is not binding, and it is the same shape a robust result has, which is why the sweep is drawn with the seed spread rather than reported as a number.
Fig. 8 Three widely separated bounds. Six sweeps is what says the window was not the neighbourhood.

The repair recorded then was that the neighbourhood is a parameter of the model and not of the loop, and that a cut in how far away has to be written as a stated function rather than as a place where a program stops adding. This essay is the same lesson arriving from the other direction: at an exponent steep enough for the sum to converge quickly, the loop bound stops mattering entirely, and a sweep of it measures nothing.

Two ways this could still have been wrong

Before the failed sweep is accepted as a fact about the loop bound rather than about the runs, two ordinary explanations have to be dealt with.

The stems could have been different patterns. A rule with a fifteen-organ window and one with an eighty-five-organ window might simply grow different lattices, in which case comparing their wanders compares two things. They do not: every run at every setting of the sweep is counted at 8/13 by a blind counter shown its positions, and the divergence scatters agree to within a few hundredths of a degree across the whole range. The stems are the same object.

The measurement could have been too blunt to see a difference. A statistic whose seed-to-seed spread is a factor of three would hide a twenty per cent effect. That is a real limitation and it is why the null is stated the way it is: not the window does nothing but the window does less than changing the seed does. A window effect smaller than that is not excluded by this measurement and would need many more seeds to reach.

What makes the null worth acting on anyway is the positive half. The exponent sweep, on the same statistic with the same seeds and the same spread, moves the answer by a factor of nearly four — far outside the seed noise. So the measurement is not blunt in general; it is blunt with respect to a parameter that turns out not to be in the answer.

What the failed sweep is worth

Reporting it is not diligence for its own sake. It changes what the eventual result means.

If the depth sweep had been run only on the exponent, a reader would reasonably ask whether the effect found there is about depth at all, or about something else the exponent changes — and the exponent changes several things, since it decides how sharp the minimum is as well as how far the sum reaches. The window sweep is the control for that. It changes the number of organs in the sum and nothing else, and it produces no effect, which is what says the effect the exponent produces is not simply an effect of counting organs.

It also fixes what “the depth of the neighbourhood” is allowed to mean for the rest of the thread. It is the count of organs carrying the profile — a measured quantity with a stated threshold — and not the size of an array.

What this does not say

It does not say the window can be set to anything. It says it does not bind above about fifteen organs at this rise and this exponent. At a shallower exponent it binds hard, which is the whole of the truncation result; the sweep here is at an exponent of three and the conclusion is stated for that.

It does not say the exponent is a physical measurement. It is a parameter of a model, and what it stands for in a plant — how far an inhibitor reaches, how it falls off — is the subject of a different thread and is not settled.

It does not say nine tenths is the right threshold. The count of organs carrying the profile needs one, and at eight tenths the range across the sweep is a factor of thirty-eight and at ninety-five hundredths it is fifty — which is why four ways of counting the neighbourhood disagree about its size and agree about its order. The claim is that the exponent varies the depth by a large factor and the window does not, and no part of it turns on where the threshold is put.

And it does not say the filter reading is wrong. That the reading is not merely weak but backwards is a later measurement’s business. What is settled here is only that the sweep which appeared to test it was not testing it.

The check that would refuse it

Two assertions carry this, and neither is the null on its own.

The first is that the window sweep is a real sweep: the number of organs in the loop must change by at least a factor of four across it. A null result on a parameter that barely moved would be worthless, and this is the assertion that would have caught the earlier version of this mistake, where a cap was raised over a range in which it never bound.

The second is the null, and it is asserted against the seed spread rather than against a constant. The wander at each correlation length must vary less across the whole window sweep than it varies between random seeds at one setting of it. That is the right comparison because it is measured on the same runs: a null declared against a fixed tolerance would be a statement about the tolerance, and at the white control the seed-to-seed spread is a factor of four, so a fixed tolerance would either be met trivially or be impossible to meet.

There is a third, and it is what makes the essay’s positive half checkable rather than asserted: the number of organs carrying the profile must fall at every step of the exponent sweep, and the range it covers must be at least ten times the window’s. If the exponent turned out not to bind either, the whole thread would have no depth parameter, and it is better to find that out from a failing assertion than from a plausible figure.

What links here

Computed from the collection, not written here: the essays that point at this one.

Shares its objects with

Essays that name at least two of the same things, and that neither author linked.

Named objects

A flat tag is an object no other essay names yet.

ArtefactAutocorrelationCut-offFalsifiabilityHonest limitsThe range of the interactionMeasurementNegative resultNeighbourhoodNeighbourhood depthNoiseThe placement ruleRepulsionSelf-correctionTruncation