Branching and transport

A count set by a delay

An L-system describes a plant and forbids nothing, because none of its parameters is anything a plant has. One branching grammar is the exception: a mature apex makes a new bud every season, and a bud waits d seasons before it branches. Its counts grow at the root of x^(d+1) = x^d + 1, a delay of one season gives Fibonacci's numbers and nothing else does, and the fourth count already separates a one-season wait from every longer one. So a Fibonacci count in a branching plant is a measurement of how long its buds wait. It is also a fragile one: if one bud in ten waits two seasons instead, eleven counts in a row come out Fibonacci's three times in a thousand.

Worth reading first: L-systems describe, they do not explain.

L-systems describe, they do not explain ended on a precise complaint. Two rewriting rules and a turtle produce something indistinguishable from a plant, and the trouble is not that the grammar is a model but that it has no parameter anything could disagree with: the turn angle, the shrink ratio and the rules were all chosen to make the picture look right.

There is a branching grammar whose one parameter is not chosen to look right, and it sits under the most repeated numerical claim about branching plants — that a stem which branches in seasons carries 1, 2, 3, 5, 8 growing points, and so on through Fibonacci’s numbers. The parameter is how long a new bud waits before it branches itself, and a person with a notebook and a plant can watch that.

The number of growing points after each season, for buds that wait no season, one, two, three or four. From one mature apex, each season every mature apex makes a new bud, and a bud branches only after it has waited its delay. With no delay the counts run 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 and settle into growing by 2.0000 a season; with one season the counts run 1, 2, 3, 5, 8, 13, 21, 34, 55, 89 and settle into growing by 1.6180 a season; with two seasons the counts run 1, 2, 3, 4, 6, 9, 13, 19, 28, 41 and settle into growing by 1.4656 a season; with three seasons the counts run 1, 2, 3, 4, 5, 7, 10, 14, 19, 26 and settle into growing by 1.3803 a season; with four seasons the counts run 1, 2, 3, 4, 5, 6, 8, 11, 15, 20 and settle into growing by 1.3247 a season. On a logarithmic axis each settles into a straight line whose slope is its growth rate, the positive root of x^(d+1) = x^d + 1.
Fig. 1 The number of growing points after each season, from one mature apex, for buds that wait no season, one, two, three and four before they branch, on a logarithmic axis.

A grammar over the age of a bud

The symbols are growing points labelled by age. A mature apex, M, makes one new bud every season and stays mature. A new bud waits: with a delay of d seasons it passes through d stages and then becomes mature itself. Rewriting every symbol once is one season of growth, and counting the symbols is counting the growing points.

There is no geometry in it and no turtle. That is deliberate, because the claim it is about is a count, and a count needs only the lineage: which growing point produced which, and when. Lindenmayer’s grammars began as exactly this kind of object, a model of cell lineage in a filament, before a turtle turned them into drawings.

Fibonacci’s rabbits are a delay of one

With a delay of one season the grammar is M → M B and B → M. It is the rule Fibonacci wrote down for pairs of rabbits in 1202, a new pair taking one season to mature, and the numbers of symbols after each rewrite are 1, 2, 3, 5, 8, 13, 21: each season’s count is the last season’s plus the one before, because every point that was mature a season ago has made a new bud since.

With a delay of two seasons the rule gains a stage, MMB0M \to M\,B_0, B0B1B_0 \to B_1, B1MB_1 \to M, and the counts run 1, 2, 3, 4, 6, 9, 13. Each season’s count is now the last season’s plus the count three seasons back. Nothing else in the grammar has changed.

The rewriting grammar of a bud that waits, for a wait of one season and of two. Two grammars over the age of a growing point, rewritten six times from one mature apex, one row per season. A mature apex (filled) makes a new bud (hollow) every season and stays mature. On the left a bud waits one season and then matures — Fibonacci's rabbits, M → M B and B → M — and the rows hold 1, 2, 3, 5, 8, 13, 21 symbols. On the right a bud waits two seasons, passing through a second stage (shaded), and the rows hold 1, 2, 3, 4, 6, 9, 13. The only difference between the two grammars is how long a bud waits.
Fig. 2 The two grammars rewritten six times from one mature apex, one row per season: on the left a bud waits one season, on the right two, with mature apices filled and buds hollow or shaded by their stage.

Every delay has its own rate

Written generally, the count obeys N(t) = N(t − 1) + N(t − 1 − d), and a recurrence of that shape settles into growing by a fixed factor each season: the positive root of xd+1=xd+1x^{d+1} = x^d + 1. With no delay every point branches at once and the count doubles. With a delay of one the root is the golden ratio, 1.6180. With two it is Narayana’s constant, 1.4656; with three, 1.3803; with four, 1.3247; then 1.2852, 1.2554 and, at eight seasons, 1.2132.

The rewritten strings and the recurrence agree symbol for symbol at every delay checked, from none to five seasons, and after fifty seasons each delay’s successive counts stand in the ratio of its own root to within half a per cent. The roots are all different, so a rate measured well enough names a delay.

The rate a branching count settles at, against how long a bud waits. The positive root of x^(d+1) = x^d + 1 for delays of 0, 1, 2, 3, 4, 5, 6, 8 seasons: 2.0000, 1.6180, 1.4656, 1.3803, 1.3247, 1.2852, 1.2554, 1.2131. No delay doubles every season; one season gives the golden ratio; two gives Narayana's constant; four gives the plastic number, because x⁵ − x⁴ − 1 factors as (x² − x + 1)(x³ − x − 1). The rate falls steadily towards one, and each delay has its own: a measured rate names a delay.
Fig. 3 The growth rate a branching count settles at, the positive root of xd+1=xd+1x^{d+1} = x^d + 1, for delays of none to eight seasons, with the roots that have names marked.

The plastic number at four

The delay of four is worth a line of arithmetic, because its root has a name for a reason. Its equation is x5=x4+1x^5 = x^4 + 1, and x5x41x^5 - x^4 - 1 factors as (x2x+1)(x3x1)(x^2 - x + 1)(x^3 - x - 1). The first factor has no real root, so the growth rate is the real root of x3=x+1x^3 = x + 1, which is the plastic number, 1.324718.

The discarded factor does not vanish from the counts. Its two roots are complex with modulus one, so they add a part to the sequence that repeats every six seasons without growing, and the counts 1, 2, 3, 4, 5, 6, 8, 11, 15, 20 do not obey any shorter recurrence; only their ratio closes on the plastic number, as the repeating part shrinks against a total growing by a third each season.

Padovan’s sequence, 1, 1, 1, 2, 2, 3, 4, 5, 7, 9, 12, obeys N(t) = N(t − 2) + N(t − 3) and grows at the plastic number too. So a four-season wait and Padovan’s rule share a long-run rate and differ in every count along the way — the grammar’s own small instance of a pattern that does not select its mechanism, and the reason a rate is a weaker reading than a run of counts.

Worked at a delay of two

The two-season recurrence can be checked by hand from the counts already given. Each count is the one before plus the one three seasons back: 4 = 3 + 1, 6 = 4 + 2, 9 = 6 + 3, 13 = 9 + 4, 19 = 13 + 6, 28 = 19 + 9. Its growth root, 1.4656, satisfies x3=x2+1x^3 = x^2 + 1 to the digits printed: 1.465631.4656^3 is 3.1479 and 1.46562+11.4656^2 + 1 is 3.1479.

The gap it opens on Fibonacci’s rule is not subtle once it starts. After six seasons the two rules have 21 and 13 growing points; after ten, 144 and 60; after fourteen, 987 and 277, fewer than a third as many. A season’s extra wait costs a plant nothing it can see for three seasons and then costs it more every season after, which is why the counts agree so long and then part so completely.

A delay forbids every count but one

This is the property the turtle grammar lacked. Fix the delay and the whole sequence of counts is fixed with it: a one-season rule forbids 1, 2, 3, 4, forbids 1, 2, 4, and forbids every sequence but Fibonacci’s. The grammar is still a description, but it is a description that an observation can contradict.

And what contradicts it is the one thing the parameter is about. A count of 4 after three seasons says a bud that should have branched did not, which is a statement about waiting that a person could check on the plant itself by marking buds and watching them. The mechanism checklist asks for a parameter that corresponds to a measurable quantity in the organism; the delay is one.

Four counts name a delay of one

Laid side by side, every delay agrees with every other for its first three counts, 1, 2, 3 — they are the counts before any new bud has had time to branch — and then they part. A one-season delay reaches 5 at the fourth count, and a delay of two, three, four or eight seasons reaches 4 there. A delay of none has already parted at the third count, with 4 against 3.

Telling longer delays apart takes longer. Two seasons and three agree through 1, 2, 3, 4 and part at the fifth count, 6 against 5; three and four part at the sixth, 7 against 6. A delay of d parts from a delay of d + 1 in season d + 2 — the count numbered d + 3 — because the first bud either delay makes is formed in season one, and the shorter delay’s bud makes its own first bud one season before the longer’s.

The first counts of five delays side by side, with each one's first departure from Fibonacci's marked. The growing points after seasons 0 to 8 for buds that wait no season, one, two, three and four, from one mature apex. No delay departs from the one-season counts at season 2, 4 against 3; two seasons departs from the one-season counts at season 3, 4 against 5; three seasons departs from the one-season counts at season 3, 4 against 5; four seasons departs from the one-season counts at season 3, 4 against 5. Every delay longer than one agrees with it for three seasons and departs at the fourth count, so four counts are enough to tell a one-season delay from any longer one, and a longer run is needed only to tell the longer ones apart.
Fig. 4 The first nine counts for buds that wait no season, one, two, three and four, with the first count in each row that differs from the one-season row shaded.

Buds that do not keep time

A real apex is unlikely to keep an exact schedule, so the next question is what an imperfect one does. Let each new bud wait one season with probability 1 − q and two with probability q, independently. The counts are no longer fixed, and a plant’s sequence may or may not match Fibonacci’s for as long as it has been counted.

The chance that it matches has a closed form, and the argument is short. A bud that waits two seasons never produces more than it would have: it produces its first bud a season late, and the total two seasons after it formed is one lower than Fibonacci’s — a delay only withholds, and nothing later makes the withheld bud up. So the counts through season T are all Fibonacci’s exactly when none of the buds formed up to season T − 2 waited two. Along the Fibonacci path those buds number 2, 4, 7, 12, 20, 33, 54 — each one less than a Fibonacci number — and the chance is (1 − q) raised to that number.

The chance of an unbroken run

At q = 0.1, one bud in ten waiting two seasons, the counts through season four match with probability 0.92=0.810.9^2 = 0.81. Through season six, 0.97=0.9^7 = 0.478: seven counts in a row come out Fibonacci’s less than half the time. Through season eight, 0.920=0.1220.9^{20} = 0.122; through season ten, 0.954=0.9^{54} = 0.0034; through season twelve, 0.91430.9^{143}, about three in ten million.

Slower drift makes the run last longer but not much longer. At q = 0.05 eleven matching counts, through season ten, turn up 6.3 per cent of the time. At q = 0.2 seven counts match 21 per cent of the time and nine counts one per cent. At q = 0.5 seven counts match 0.8 per cent of the time.

The chance that a plant whose buds sometimes wait two seasons shows an unbroken run of Fibonacci counts. Each new bud waits two seasons with probability q and one otherwise. The counts through a season are all Fibonacci's exactly when no bud formed at least two seasons earlier waited two, so the chance is (1 − q) to the number of those buds — lines — and 20,000 seeded simulated plants at each q agree with it — dots. At q = 0.05 the chance of seven matching counts is 0.698 and of eleven 0.0627; at q = 0.1 the chance of seven matching counts is 0.478 and of eleven 0.0034; at q = 0.2 the chance of seven matching counts is 0.210 and of eleven 0.0000; at q = 0.3 the chance of seven matching counts is 0.082 and of eleven 0.0000; at q = 0.5 the chance of seven matching counts is 0.008 and of eleven 0.0000.
Fig. 5 The chance that every count through a season is Fibonacci’s, when each bud waits two seasons with probability q, exactly as lines and as the share of twenty thousand simulated plants as dots.

Checked against simulated plants

The closed form rests on one claim — that the first mismatch comes exactly two seasons after the first long wait — and a claim like that is worth a test it could fail. Twenty thousand simulated plants at each q, grown from a stated seed, give shares that sit on the exact values: 0.8110 against 0.8100 through season four at q = 0.1, 0.4816 against 0.4783 through season six, 0.1230 against 0.1216 through season eight and 0.0033 against 0.0034 through season ten. At q = 0.3, 0.4923 against 0.4900 and 0.0819 against 0.0824.

Every comparison is within four standard errors of the exact probability, and the six quoted here are within one.

Where the counts end up

A plant that drifts off Fibonacci’s sequence does not drift far at first and then drifts steadily further. After twelve seasons a one-season rule has 377 growing points and a two-season rule 129. With one bud in twenty waiting two, the simulated plants’ median is 362 and ninety per cent of them lie between 317 and 373 — below 377 at the top of the range. With one in ten the median is 343; with three in ten, 272; with half, 217.

So after a dozen seasons a count of exactly 377 is almost never what an imperfect one-season rule produces, and a count in the three hundreds is what it produces nearly every time. A count in the neighbourhood of a Fibonacci number is common; a count equal to one is not.

The number of growing points after 12 seasons, when a bud waits two seasons some of the time. 20,000 seeded simulated plants at each chance q of a two-season wait, their counts after 12 seasons: bar, the central ninety per cent; dot, the median. A one-season rule gives Fibonacci's 377 and a two-season rule Narayana's 129. At q = 0.05 the median is 362 and ninety per cent lie between 317 and 373; at q = 0.1 the median is 343 and ninety per cent lie between 294 and 363; at q = 0.2 the median is 306 and ninety per cent lie between 253 and 338; at q = 0.3 the median is 272 and ninety per cent lie between 224 and 311; at q = 0.5 the median is 217 and ninety per cent lie between 180 and 259. Even at one two-season wait in twenty the upper end of the range sits below 377.
Fig. 6 The number of growing points after twelve seasons in twenty thousand simulated plants at each chance of a two-season wait: the central ninety per cent and the median, beside Fibonacci’s 377 and Narayana’s 129.

The rate barely moves and the run collapses

Two instruments read the same plants, and they respond to the imperfection in opposite ways. The mean growth rate under a mixture of waits is the root of x3=x2+(1q)x+qx^3 = x^2 + (1 - q)\,x + q, which runs from the golden ratio at q = 0 to Narayana’s constant at q = 1 and is 1.6011 at q = 0.1 — within 1.1 per cent of φ. The chance of eleven matching counts at the same q is a third of a per cent.

So a growth rate close to the golden ratio is weak evidence of a one-season rule, since a rule that misses one bud in ten reproduces it to one per cent; and an unbroken run of Fibonacci counts is strong evidence of an exact one, since that same rule almost never produces it. Which of the two a report quotes decides what it can claim.

The mean rate a branching count grows at, when a bud waits two seasons some of the time. With each new bud waiting two seasons with probability q and one otherwise, the expected numbers of mature apices obey M(t + 1) = M(t) + (1 − q)·M(t − 1) + q·M(t − 2), so the mean growth rate is the root of x³ = x² + (1 − q)·x + q. It runs 1.61803 at q = 0, 1.60112 at q = 0.1, 1.56831 at q = 0.3, 1.53697 at q = 0.5, 1.46557 at q = 1: the golden ratio with no two-season waits and Narayana's constant when every bud waits two, falling steadily between.
Fig. 7 The mean growth rate per season when each bud waits two seasons with probability q, the exact root of x3=x2+(1q)x+qx^3 = x^2 + (1 - q)\,x + q, falling from the golden ratio to Narayana’s constant.

How exact a plant would have to be

The closed form can be turned round. For the counts through season ten to be all Fibonacci’s more often than not, (1q)54(1 - q)^{54} must exceed a half, which needs q below 10.51/54=0.01281 - 0.5^{1/54} = 0.0128: fewer than one bud in 78 waiting a second season. Through season twelve the bound is one bud in 207.

That is the practical content of the claim. A plant shown with eleven Fibonacci counts in a row is either keeping its buds’ schedule to better than a per cent or was chosen for being the one that did. How often a count comes out Fibonacci is a separate question about the geometry of seed heads, and how many plants it would take to settle it is a separate question about samples, and both are sharpened by knowing which kind of count a report took.

How long a diagram has to be

The same arithmetic prices the diagrams that carry the claim. A drawing whose counts run 1, 2, 3, 5, 8, 13 shows six counts, through season five, and the buds formed early enough to spoil it number four. It is more likely than not whenever (1q)4(1 - q)^4 exceeds a half, which holds for qq up to 10.51/4=0.1591 - 0.5^{1/4} = 0.159: a plant whose buds wait a second season one time in six still produces that drawing more often than it fails to.

Eight counts, through 21, need twelve buds to keep time, and a drawing of them is more likely than not only below one bud in 17.8 waiting two. So a short Fibonacci run is evidence of very little about a plant’s schedule, and each further count roughly multiplies the precision it demands by the golden ratio, because the number of buds that must keep time grows as Fibonacci’s numbers do.

Fibonacci twice over

The same shape of result holds for the Fibonacci numbers counted in seed heads, which is worth setting beside this one. There, Fibonacci counts come from one branch of the placement model, reached at one range of growth rates, and a different branch gives Lucas numbers instead. Here they come from one waiting time, and a different waiting time gives Narayana’s numbers instead.

In both, the sequence is a consequence of a parameter taking one value rather than a property of plants, and in both the useful question is the parameter’s value. And in both the count is almost never made in the way the claim needs: through enough seasons, or across enough of a head, to tell the named sequence from its neighbours.

A description that can be wrong

The complaint about L-systems was that a model which forbids nothing says nothing. The delay grammar forbids a great deal: every count sequence but one for each delay, and every growth rate but one. What it predicts about a plant is not the plant’s shape but the waiting time of its buds, and a waiting time is observable.

That puts it in a different class from the turtle grammar without making it an explanation. It says a one-season wait produces Fibonacci’s counts; it does not say why a bud would wait one season, any more than the cube law’s derivation says why a tissue’s upkeep costs what it does. It is a description whose single parameter a plant could contradict, which is what separates a count worth making from a picture worth admiring.

What the grammar leaves out

Growing points in the grammar never die, never stop branching and never branch twice in a season. Real shoots do all three, and each changes the counts in its own direction: a death lowers every later count, a shoot that stops branching lowers them more slowly, and two buds in one season raise them. The grammar also counts growing points, and a count on a plant is often of something else — branches at successive heights, flowering stems — whose relation to growing points has to be stated before the arithmetic here applies.

Nor does anything here say that any plant’s buds wait a fixed time. The claim that a species branches in Fibonacci numbers is a claim about waiting times; the grammar says what it would take for the claim to be true and how quickly it would stop being true, not whether it is.

What would withdraw it

A delay whose rewritten strings and recurrence disagree at any season. A growth rate that is not the root of xd+1=xd+1x^{d+1} = x^d + 1. A one-season delay that agrees with a longer one past its third count. A share of simulated plants with an unbroken Fibonacci run that differs from (1 − q) to the number of earlier buds by more than four standard errors. Each of these is checked every time the measurement runs.

Still open: a count that loses its growing points

The grammar has no deaths, and a stem that loses shoots is the common case rather than the exception. The next test adds a stated chance that a growing point dies each season, and asks whether a death leaves the growth rate a root of some recurrence, how it moves a Fibonacci run’s chance, and whether a count of scars restores the sequence the way counting scars restores a tip count on a branching tree.

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.

BranchClaim testingDescription versus mechanismEvidenceFalsifiabilityFibonacciHonest limitsL-systemsPredictionRewritingSample sizeUnderdetermination