Sometimes it’s easy to feel like you’ve missed your calling. If only the careers advisor at my school had told me I could become an algorithmic botanist, I might have taken biology classes a bit more seriously. To be fair to them, this job probably didn’t exist back then, but it does now: the University of Calgary, for example, employs a whole team of them.Algorithmic botanists build simulations of plant growth. The image heading this post, for example, is from this paper and represents the first and last stages of such a process — that is, the plant you’re looking at is the result of a computer simulation. (Incidentally, that paper has lots of great images explaining how their process works).A key ingredient is something called an L-System (see below). The process is largely ontogenetic — that is, it seeks to imitate the final form of the plant without necessarily trying to simulate how the plant grows. But it can capture the effects of pruning, climate, genetic selection and even the practice of bonsai.

Underlying an L-System is a graph, by which we just mean a collection of points that can be connected to one another by lines. Graphs are very useful objects: they can model communication network, processes, social connections and even brains. They’re also interesting and important topological objects in their own right, and we can study things like how we can colour them and how they embed in surfaces. See here for a general introductory video about graph theory.

The graphs we’re interested in all look a bit like trees — in fact, graph theorists called them “trees” long before there was such a thing as an algorithmic botanist:

Look carefully at how this tree “evolves” (source). At each stage we take a vertical stick and add two copes of the previous stage to the end of it. The result might remind you of a fractal, which is entirely appropriate. An L-System evolves in just this way. (Note that this is not how a plant grows, at all; that’s what “ontogenetic” means).

Is this an emerging representational tradition? Perhaps. These methods are now widely used in computer games and movie CGI — after all, it’s unrealistic to see the same tree over and over but it would be ruinously expensive to have an animator individually design hundreds of different ones. In-development game No Man’s Sky claims to be able to algorithmically generate billions of planets, each with its own animal and plant species, something impossible to do “by hand”.

Can you see the L-Systems hiding in the ferns and palm trees?

The fine artist can use graphs in a huge number of ways. And algorithms that procedurally generate things — representational or not — are a wonderful way to explore the possibilities of an idea. By tweaking it or introducing randomness you can produce dozens or even thousands of variations. It needn’t even create a visual object: it could be a social network, a family tree, a decision procedure or even a sentence (source):