Nature is an extraordinarily complex system, with many different actions going on, all triggered by many different effects and information being fed into its system. This idea of a cause and an effect is known as determinism, where it is believed that for effect in a system there must be a cause. However, modelling every single one of these causes for a natural system would be a mammoth task and still virtually impossible to do efficiently with today’s technology. This is where we can use the principle of predictive non-determinism.

Predictive non-determinism is used widely in the world of computer science, though it’s not named as such that often. The idea is that we know that there must be a cause for every effect that’s occurring, but we aren’t always sure how, or maybe entirely unable, to model these causes. So, where the cause cannot be implemented, it may be treated as random. When this tactic is used within systems at a low-level, it is expected that the high-level rules are enough to create something interesting even though the cause for the bulk of our decision making is entirely random.

As an example, we took the fractal shapes that have been mentioned previously (see Research article on ‘Fractals’) and created some tree-like structures in a very systematic and symmetrical fashion as below, figure 1.

Figure 1 – Systematic growth

Then taking these simple rules we applied randomness to the decision making of the code, all the while keeping the core rules the same. The results ended up being much more organic looking, figure 2.

Figure 2 – Application of random decision making to systematic growth

And so here we can see the usefulness of applying this principle to parts of the Biohaviour system. Not everything has to be polished and perfect, sometimes with just the right amount of cluelessness, we can achieve unique, and yet useful, creations.