Evolving Self-Awareness: The 30 Monkeys Return

Back in 2004 I took a class in genetic programming at the university and one concept that stuck with me was the so called ”30 monkeys in a bus” algorithm introduced by professor Peter Nordin. The name highlights the essence of an algorithm where different genotypes are elected in a body, in this case a bus to be the driver tasked with steering and thus navigating a short course. The fitness function is how far it gets, and the monkeys are selected for breeding depending on their performance.

Being an illustration, the more detailed version of the theoretical framework is the linear genetic programming (LGP) from the textbook by professor Wolfgang Banzhaf et.al. The idea was that lines of code that was selected by principles of natural selection, would optimize a program over generations. And it worked beautifully, as long as there is a selection towards a well defined fitness function, which is not always easy to define. As it turned out, many problems would be easier to tackle with deep neural nets and reinforcement learning which seems to be less stochastic.

The Shift in How We Code

Fast forwarding to today the way we code suddenly is slightly different. If a system of LLM’s or agents are doing the coding, its much more about a meta-level of coding i.e. we have markup files that describes the processes. At Jeff Bezos MARS 2022 summit, professor Hod Lipson presented his work in robotics that captures a self and world models. This again got me started to think about the monkeys in a bus and thus began to wonder:

What if we could select such scripts for processes and recombine them with evolutionary pressure until we get something that is self aware?

The Crux

Today there is quite a buzz about AGI or a more profound intelligence that is at least one level up from human level of intelligence. Part of this debate is also the problem of consciousness, which is a elusive concept of what it means to have a sense of ”self” in a given world. Now, the tricky thing is of course to define this function and have quick rounds of evaluation, but if we assume that we have most of the components in place – then maybe we got a shot at this. The benefit with this approach is that the meta-scripts are readable and inspectable by humans – we can use a method similar to AlphaGo for evaluation, while maintaining interpretability that neural networks can’t provide.

Lämna en kommentar