Basins, Evolutionary Leaps, and Morphogenesis:

The tabby stripe pattern

This page is largely redundant with the Zebra stripes page. It shows that a different system (perhaps representing a different species) can produce a similar striped camouflage. The basin lengths in this system are L=6 rather than the L=5 found in the zebra striped example. Most other points made, and much of the text, is the same.

The applet below allows you to perturb a system massively by changing the value of, say, 50% of its nodes or to perturb it delicately by change only 1% or 2% of its nodes. Changing a small percentage of nodes may require many perturbations before you see a basin shift. Perturbing a few nodes simulates how it is possible that a change in the allele value of a few genes can provoke a profound change of form.

Instructions for using the the applet

Press Play (Green Arrow). (Use the Delay button if your computer outputs too fast and you get a blur. Reduce window size if your computer runs the output too slowly.)

PERTURB the system. Press the Perturb button with the default 50% node perturbation. This will typically shift the zebra stripe pattern to a different pattern.

Notice that a single perturbation can provoke the system to produce very different kinds of camouflage. Which of these camouflage patterns would survive in a given context would be shaped by natural selection. For example if night migration became desirable, the rare black camouflage be more functional than other patterns which would be selected against (that is, those patterns would lead to more kills by predators). If a snow adaptation became desirable, then the rare white pattern would be more functional and in those contexts other patterns, particularly the all black pattern would be selected against. In the context of a particular kind of change of context in vegetation color, one of the striped patterns would be more functional.

Notice here that the massive shift of design from one basin to another is done deterministically by the interplay of the variables of the dynamic system that determine the existence of the basins. There is no homunculus nor great designer. Nor does natural selection need to be overburdened to account for the creation of the designs themselves (those are inherent in the recursive logic of the system) but rather only has to select against designs that function poorly in context.

Play with the Percentage of Nodes Perturbed. It is instructive to select 1% or 2% of nodes to be changed in a single perturbation. Is is plausibly how small genetic shifts might happen due to environmental influences (cosmic rays, chemicals, etc.). Most such small changes in the genome would produce no effect. But every once in a while a small change will produce a large effect, a leap into another basin. You may have to click the perturb button quickly and repeatedly in order to provoke a change of basin.

Standing Waves for Basin Length L=6.

Set "Window Size (Iterations)" to to any value that is not a factor of 6. For example Window Size = 96 works well. (The longer the window size, the slower the program will run.) Optional: Check "Use Delay" and use the Slider to set the delay between iterations to about 10 ms. If the your computer runs the pattern too slowly, uncheck "Use Delay."

Note: This system has some basin lengths that are L=5, so they will become standing waves when Window Size is set to a factor of 5. You may have already found these basins.

If you set Window Size to factors of 6(12, 18, 24, ...), you will see what appears to be a static image. It is not. If you check the iterations per second (ips) you will notice that your computer is running the dynamic system at some high rate and whatever that rate of the process may be it has been tuned in a way that stabilizes pattern. So even when pattern appears static it is not, it is a STANDING WAVE in the process that looks static by is in fact a dynamic stability.

Instructions Top

Window Size (iterations). [BLUE HIGHLIGHTS].

This is the most important control conceptually because it adjusts the phase relations between basin length and the processing of the basin (and this allows the extraction of different aspects of the dynamic patterns portrayed here.

Drag the Slider (highlighted in blue) from its default setting of 60 down to whatever size is suggested above for using the particular applet you are viewing. In this case the slider has been dragged down to 11 iterations.

Click the Slider Bar. Optionally you may click on the Slider Bar and the Window Size will slowly scroll in the direction (to right of slider or to the left of slider) you want. You can easily get a change of one unit by clicking on the slider bar. This gives you a finer degree of control over window size than does dragging the slider.

Read the Window Size. To the right of the Window Size area is a number (highlighted in blue) that tells you exactly what the Window Size is. Top

Setting Delay. [YELLOW HIGHLIGHTS].

WHY?: Adjusting your Computer's speed to your Monitor's speed: Most monitors cannot paint accurately faster than 66 to 77 times per second. In this class dynamic systems, we ask the computer to paint each iteration of the system to the screen. Depending on the how fast your computer is (it's clock speed mega-Hz or giga-Hz and what type of video card it has) this software may send requests to paint images 1000 or more times per second. Once the iterations per second is higher that 65 or 70 iterations per second (ips) what you see on the screen is some undetermined interaction between your monitor hardware and the behavior of the dynamic system. In other words, you aren't seeing the behavior of the system any more, you are seeing that part of the behavior that the screen happens to capture.

Solution. Click on the Use Speed radio button (highlighted in yellow). Then drag the Delay (between iterations) Slider (highlighted in yellow) from its (very slow) 250 millisecond delay between iterations down to some lower value that gives you a good sense of dynamic motion in the output. As we said, you generally want the the iterations per second (ips) to between 20 ips and 60 ips, although it seems to work well in this case as low as 6 to 8 ips. You your judgment as this is about your perception.

If your computer is slow, you may not need to use the Speed control. Top

Iterations per Second (ips). [HIGHLIGHTED IN LAVENDER].

When you push PLAY, you generally want to have the iterations per second indicator (just to the left of the double black arrow on the control bar) to be between 20 and 60 ips. This range allows you to perceive apparent motion effects but is within your monitor's ability to paint the screen. Obtaining this range may require setting the delay (see below) between iterations.

Perturbing the System. [HIGHLIGHTED IN GREEN].

Perturb Button. Perturbation of a system by changing the states of one or more nodes might (or might not) shift the system to a different basin. The Perturb button will pseudo-randomly change the state of given percentage of nodes. The percentage of nodes perturbed is selected by the user.

Slider. The slider (highlighted in green) allows you to select what percentage from, 0 to 100, of the nodes will have their state changed pseudo-randomly. The exact percentage chosen by the user is indicated (green highlight) to the right of the slider scale.

Note that any unconnected nodes (the top thirty nodes in the image) will pseudo-randomly change their values (white to black or black to white) when the Perturb button is pressed. Because they are unconnected, their changes of value will have not effect on the system. Top

Sizing the Viewing Area. [ORANGE HIGHLIGHTS].

Resize Viewing Area. [ORANGE HIGHLIGHTS]. The dimpled bar between the Controls and the Output Frame (Viewing Area) can be dragged in either direction (as indicated by black arrows). This allows you to adjust the viewing area to see more or less TAO levels.

Full-Interface Viewing Area. [ORANGE HIGHLIGHTS (Top)]. Once you have the controls set as you like them you can eliminate them and see more derivatives by clicking on the little left-pointing arrow at the top of the bar dividing the controls from the output frame. Clicking the right-point arrow will return the controls to view. You can also grab the dividing bar and drag one way are another to size the parts of the interface the way you want.

Pseudo-Randomness. This is a deterministic system and therefore probability is not a concept that applies to its behavior. So it is worth noting that the pseudo-random changes that are part of some functions (e.g., perturb button) are deterministic, although so irregular as to fit human perception of randomness (which is a probability concept).

Top