This morning, I stumbled upon a paper by Kenneth Stanley and his friends. He discusses the importance of having an open-ended environment for the development of artificial general intelligence. I couldn’t agree more. I think the idea is probably not new (though couldn’t give you the origination). Even Rick and Morty made a reference to this.
Yes. OK. Everyone thought of creating artificial life and simulating it till you get intelligent agents. Well, since we don’t have any cool intelligent dudes walking around in the simulated world, we should have missed something, right? Did we try this idea? I am quite new (~2.5 years) to ML and AI in general so I probably miss the related work. Yet, I do not see any recent work that is related to this idea. Stanley et al. also stresses the lack of research in this area.
I think the problem is not the computational budget or the vast search space or the inefficiency of algorithms. I don’t think we understand evolution yet. It is just a physics simulation where we scroll the time. Physics is just a set of environment rules (the code of the universe) that is executed at each time step. Do not even think about concepts like being, survival of the fittest, diversity, reproduction, mutation. There is a code, there is a space, there is a time. The code is executed for a given space for a given time. Can we predict the halt state of the system? For some programs yes we can. For example, if we are given a random permutation of the first 100 integers and execute the quicksort algorithm, we know for sure what will be the halting state. Even if we don’t know the quicksort algorithm, we can simulate the program for a million times and say that yeah it always ends up like this. Let’s move on.
Now, we increase the complexity of the code and still keep the state space simple. A calculator. The code is now somewhat more complex but it operates in a very small space. Can we predict the halt state of the system? Yes, we can even predict all possible alternative endings. How cool is that! How do we have such a cool power? Well, we can again make random simulations and keep them in a table. If we exhaust the state-space, it is done. What if we consider all possible integers for our state space? OK, we are out of space and we need to do something. Then we realize we only need a binary representation of integers and some basic logic operations
AND, OR, XOR, NAND. Oh, this is cooler. We partitioned the space into smaller parts such that we can apply the same set of rules to it. Although space is infinite, we discovered the universal code, therefore can predict the future perfectly.
Yet, knowing the universal code is not enough for our ambitious plans. For example, let’s say we are given infinitely many Minecraft servers, and place 1000 agents in each of them. Each agent has a different source file, though it can contain similar or the same code (here, this is not the code of the environment. we know the code of the environment though, the rules of Minecraft). Let’s also say that agents can create new agents with a very specific code piece. We simulate all environments parallelly. Can we predict which kind of servers will still contain agents after 10 years, 1000 years, 13.8 billion years? Yes, surely the intelligent ones, the ones that are just like humans playing them. What else? The ones that live in a small hall and do nothing and creates a copy of itself before starving to death. The ones that make a small farm and live with it without creating new agents. The ones that consumed all resources and copying themselves before their deaths. But remember, they do not copy themselves just because they are good agents trying to sustain agency. They just do because their code says it so.
There are many ways, and this is all dependent on the server properties. If we open the server in casual mode (where agents do not hunger at all), they can all just wait in a safe place. They survive. They are the fittest. This is my point. Survival of the fittest is not a good metaphor. No human is survived yet we think of ourselves as the fittest :D. In my opinion, rocks are the fittest. Each generation is not a better version of previous generations, they just happen because of the code of the agent. Why do we reproduce? There is no reason. It is not good at all for survival. It serves no purpose for survival. It just creates a good opportunity to run the while loop a little longer. There can be dumb ways to survive if our sole purpose is to be. Being is not enough. We are dying. We need to find AGI and hope that it will help us get immortal.
I think we need to understand . After that, we can understand what kind of environment is needed for an intelligent agent to emerge. We can create smarter environments to reduce the search space. For this reason, I agree with Stanley et al. We need to work on open-ended environments.