I think it was grade 11 math when i first saw the predator-prey model. I recall that the teacher had called it the “Richardson” equation, which i had associated at the time with the last name of a friend. But when i look it up now, Lord Google insists that it is in fact called the Lotka-Volterra equation, and i’m inclined to concede.
I’ve always had a particular fascination with systems of non-linear equations. These are particularly useful for modeling in Artificial Life projects. But since they are not very practical in the development of AGI, i have to restrain myself from toying with them too much.
About a decade ago, though, i indulged. I remembered that math class, but not the details of the equations. Back then search engines did not so effortless correct my mistakes as they do now, and so my searches for “Richardson” kept coming up dry. Overall, it didn’t bother me too much to try and recreate the concepts on my own; i have a long history of working out mathematics from first principles rather than memorize equations, even during university exams. And it gave me the opportunity to expand the original ideas a bit: instead of just predator-prey, i used predator-prey-plant. Plants would grow at some exponential rate, prey would eat the plants and reproduce, and predators would eat the prey. As in the original, expansion of the “eaters” is constrained by the availability of food, so a cyclical relationship between the species would emerge.
That was the thinking anyway. Something was wrong with my version. I no longer have the original work, but i remember doing it all pretty much in a spreadsheet. The population of each species was simply represented by a number, and the numbers were repeatedly plugged into the equations. In my version no balance was ever achieved, even though i tweaked the constants and coefficients endlessly. Sometimes the numbers would fly off to infinity, sometimes they would dwindle to zero, and other times they would become cyclic but only by regularly dipping into negative values, which was unsightly.
I played with it for an hour or so, and never did go back and correct it. Instead, i got caught up in an idea. What if the problem was not necessarily just the equations? Put another way, could the equations be made to work in a different environment?
Up until that point the equations were effectively zero-dimensional: there was a single integer that represented each species. I wondered what would happen if i expanded the environment to be two-dimensional. The plants would still grow according to the x(a – by) equation, but i would also introduce a process by which some of the growth within a cell would diffuse to neighbouring cells. The predators and prey would similarly “roam” the flat world. (The “world” was represented by a three-dimensional array: two dimensions were the spatial coordinates, and the third was the populations of the species at that cell. A continuous-space model was not attempted.)
Spreadsheets would no longer cut it, especially due to the complexity of the diffusion. Also, i couldn’t visualize the results that way. So i ended up creating a little Java program to experiment with, recreated here as an Applet. The plants are represented as the colour green, prey as blue, and predators as red. Remember that this code uses only a spatial variant of equations that failed utterly in a non-dimensional setting. Now, a distinct and interesting pattern emerges that quickly becomes stable.
I remember this little experiment when i do tests of AGI concepts. The human brain is complex at a galactic level, and so it is necessary to simplify concepts and test them in a reductionist setting. For years and years these tests have succeeded in the limited setting, but have quickly and absolutely failed when tried in any more interesting environment. The point is that we don’t always need to throw the baby out with the bath water. The idea and the approach may not be wrong.
This isn’t to say that Deep Blue would make a good AGI model if only it were refactored into a two-dimensional environment. It wouldn’t. But there are likely a lot of decent AGI approaches that would benefit hugely from the introduction of space and time into their models. Otherwise, we will end up with the problem that i had, but in reverse. We’ll imagine a world in which predators, prey, and plants are wandering Flatland, but then in an effort to simplify we’ll reduce it to zero-dimensions and watch it fail.