I have been developing the theory and implementation of “genetic fractals” since 2010 and have often wondered what the next big step would be. You may not be familiar with genetic fractals, so here is a short definition:
Genetic fractals are a class of tree fractals whose form is determined by a set of one-dimensional functions that is separate from the fractal. I sometimes refer to these as artificial DNA because this aDNA can be copied & pasted or concatenated to create new genetic fractals that share the properties of the fractals from which this aDNA was taken.
(if you are familiar with genetic fractals, skip straight to “Genetic agents” below.)
Genetic fractals are driven by a continuous aDNA function, so they are smooth but otherwise similar.
The genetic functions can be modulated and give more interesting shapes.
The genetic functions can also drive other features like colour and linewidth.
Genetic fractals can easily be extended into the 3rd dimension (and 3D printed…!)
Or even higher dimensions such as the 4th dimension.
So these are genetic fractals in a nutshell.
Paper on genetic fractals
If you want real nuts and bolts, read my paper: Derivative coordinates for analytic tree fractals and fractal engineering
As said, I have wondered about the next step with science of genetic fractals. I have tried a few directions such as trying to expand genetic fractals to fractal spaces or use them in non-geometric domains such as creating a genetic fractal programming language. All of that was doable but didn’t really extend the theory in a meaningful way.
But now I’ve found the right direction: genetic agents. You will quickly see why this is the right and important next step in a moment.
A genetic agent is a ‘thing’, a dot on a white screen if you want, that is programmed to behave in a certain way. For example, it may be programmed to move along the path of a spiral.
It may be programmed to replicate itself after a while and create a second genetic agent that moves in a similar but opposite way.
Now, if these two genetic agents replicated again, we’d get our familiar genetic fractal. The image shows a genetic agent (1) that splits 4 times into 4 generations of descendant generations.
What we have here is a simple genetic agent that is programmed to move (roughly) along a quarter of an circle and then split into two similar agents with opposite but smaller paths. Between them they trace out a fractal tree. But here is where the genetic fractal theory gets extended significantly:
Genetic fractals are the vapor trails of a certain class of genetic agents.
If genetic fractals are the vapor trails if a “certain” class of genetic agents, then … what other classes are there? What else can genetic agents do?
Features of genetic agents
There is no real limit to the features of genetic agents. Here are a few (the first two we already saw).
Movement – Genetic agents can be genetically programmed to move along certain paths and in certain ways, accelerating, slowing down, stopping etc
Splitting – Genetic agents can split into two similar agents. Perhaps a better way to look at it is that the agent spwans two children and then ‘dies’.
Collide – Genetic agents can bump into each other like billiard balls. This would lead to a change into trajectory and possibly transfer of momentum (energy).
Merge – Genetic agents can bump into each other and merge into a single genetic agent. The new agent would inherit the genetic code from each of its predecessors and create a new genetic species (!)
Mutate – The genetic code of an agent can be mutated randomly or due to some external events such as an encounter or passing through a ‘polluted’ zone.
Carry a payload – In addition to carrying its genetic code, an agent could carry information which it can communicate to others. The information could be as simple as a color or more complicated like images, structured data etc.
Interact – Genetic agents can interact and exchange (part of) their payloads, genetic code, energy etc.
Think – Genetic agents could be intelligent and be able to interpret their environment or situation.
There is no real limit to the potential features of genetic agents.
Communities and social interaction
Once you see what genetic agents can do, it is not much of a stretch to see that these agents can ‘live’ and evolve into social communities and develop social or other common behavior. It will be interesting to see if the evolution of agents due to mutation or merging will lead to evolving social behavior, such as self-preservation.
It will be even more interesting to start with the dumbest possible agents that simple ‘bounce around’ and watch them evolve.
What is genetic about these agents?
With genetic fractals, the genetic code is in fact a one-dimensional function that allows us to perform mathematical operations such as addition and analysis. Although it would be ‘trivial’ to hard code the features above into the genetic agents, it will be a lot more powerful and in keeping with the theory of genetic fractals to encode all those features into one-dimensional analytical functions. Just a hunch.
The next step is to adapt some of the software I have developed for creating genetic fractals to have them generated by simple genetic agents. Then we can add the concept of collisions of agents and the merging of agents. What will happen next is anyone’s guess. But will be fascinating!