March 12, 2017

The Origins of Life

The human brain hasn't always been the way it is. We can trace life on Earth back to single-celled organisms which didn't do very much. In fact, much like most humans on a Sunday, they did very little. These organisms were made up of carbon based organic molecules that are believed to have formed about 4 billion years ago. These individual cells seemingly lacked any obvious purpose, but through the ages we have come to learn how they replicated and rearranged themselves into the spectrum of life that exists in the world today.

Cell Division

A cell replicates by copying its DNA, splitting and dividing, followed by growth. Here it is without the growth part of the cycle and a four-way split rather than the usual two.

Through self-replication, these single-celled organisms were able to continue existing, ultimately creating a large community of single-celled organisms. Sometimes mutations would occur during the self-replication process which resulted in a slightly different kind of cell being produced. This cycle of reproduction and mutation led to a diverse population of cell types that interacted in different ways to produce even more different types of cells. Ultimately, random mutations were the key to organic molecules evolving into something vastly different and potentially producing a better organism overall.

In contrast, a defining feature of software is that complex processes can occur in exactly the same way for an infinite number of cycles. Precision and accuracy are implicit in a digital process. There is never any chance of random mutations, since all programs follow the rules of programming logic. If a mutation does occur in code (through a hardware failure or software virus), it generally leads to catastrophic failure rendering the whole program useless. Without the ability to randomly mutate, a program will always remain as such and will be incapable of evolving into something else, for better or worse. This characteristic is great for computers, but not so useful for an artificial mind. For example, when humans are presented with the options of either cookie dough or chocolate fudge brownie flavoured ice cream, if we responded with chocolate fudge brownie every time, we’d never discover the awesomeness that is cookie dough. Plus if we never even tried cookie dough, we'd never be torn between the two options, which would deny us the introduction of half baked, which arguably is not as good as buying both individually and mixing them separately. But nevertheless the diversity of choice is what makes life far more interesting.

Digital Mutation

If we want to begin building an artificial organism that behaves in an organic way, we must develop safe ways to introduce random mutations into the code, without having the whole system fall apart. Taking the previous visualisation, we can safely introduce a digital mutation that allows a cell to change colour. This mutation then propagates to all future cells that come from this parent. What's interesting to note is just how elegantly simple the mechanism for evolution is. The smallest tweak compounds into something that has a huge impact on the overall organism. Let's say each cell has one in 20 chance of mutating during self-replication; what type of outcome would this yield?

We end up creating a distinctly different ‘organism’ by introducing randomness into the code. Of course this isn’t real randomness as observed in nature, since programming languages are built to be deterministic and a random number generator in code is still based on an algorithm, but it’s a start.

Some skeptics argue that true AI is impossible due to the fact that software cannot emulate the fundamental randomness found nature. How defeatist.

How do we even know that the randomness we observe in nature is truly random? Just because we can’t find a pattern, doesn’t mean one doesn’t exist. And even if nature was truly random, there are ways to generate true random numbers the way nature does it, by emulating nature itself.

Artificially Natural

The fact that we can't yet completely understand the world around us suggests that it would be naive to think that we could emulate nature and create starting conditions for artificial organisms to evolve on their own. But this does not mean that we aren’t able to take our observations and create similar but highly simplified versions of what nature has achieved over the course of its existence.

If everything in the universe belongs to an interconnected system, events can occur that cause two previously foreign parts of that system to interact, creating a completely new thing as a result. In a way, events such as earthquakes, volcanic eruptions, tsunamis and other natural disasters act as nature’s limbs, bringing together certain ingredients and concocting something new from them. As bystanders, we can observe that these events by themselves do not spontaneously create something new, and that it is completely down to the mixing of the right ingredients. This process can thus be simplified and reproduced in a lab where the ingredients can come together - without orchestrating a natural disaster to make it happen.

Designing a system that replicates all of the complexities that the universe presents is certainly out of the question. It’s not even worth attempting since we’re trying to create an artificial human mind that is the product of 4 billion years of evolutionary development. How disappointing would it be to invest all of our time and energy into simulating the whole universe and inadvertently evolving something analogous to a cockroach. Damn cockroaches always popping up when you least expect them!


Unlocking Genetic Algorithms

Where we get introduced to a special type of evolutionary algorithm that's based on Nature's natural selection process.