I haven't found anything exactly like this yet; I'm also sure it exists somewhere out there, though, it's not that these ideas are really hard to find. But another way to put it is to replace "worlds" with "complex systems". And "suddenly" we have a lot of related work. About interacting complex systems, that is. Programs, in this case, are a bit like "vortices": complex, organized patterns "floating" and interacting in the "soup" that is a complex system, following its rules. Programs are then nothing special, really; just one kind of pattern. We can then say some complex systems ("worlds") are in some sense "disjoint": unaware of each other; in a sense, the two (or more) systems "speak different, mutually incomprehensible languages", for whatever reason. We then say there's what I call entanglement; I think in Varela and Maturana's work (but probably not in just their work) the related terms are "perturbations" and "structural coupling" between systems. That is, roughly speaking, some things in one world represent other things in another world; all while both worlds "run" in parallel. In a sense, "entanglement" is the continuous or periodic "rendezvous" between two things in two worlds. Neither world can contain things the other one can, and yet, there is a coupling between some of them. It's like a thought or an emotion isn't a physical object; yet they can be coupled to one. Nor is a physical chair, the one made up of atoms, a "thought" or a "percept". All this is a long way of saying that I think we're talking about a kind of "systemic view" here. The relevant fields seem to be systems philosophy, complex systems, dynamical systems, systems biology (of course!), cybernetics. That I call what is in effect complex systems "worlds" is just a byproduct of the way I think; because for me it makes sense to say a system is "matter under law"; which is, if you think about it, very much like a "world" in the most general sense. Maybe someone else has another way to conceptualize this. But I guess what this view really is is some sort of an "interacting complex systems" view.
In this regard, personally, I am currently a "believer" in a kind of "radical holism" when it comes to the design of complex entities (such as the brain and other kinds of biological machinery, etc.). I'm not sure I can come up with a better, more serious name; "radical holism" sounds quite funny. The point is that our understanding of complex entities may well depend on the understanding of the entire world they inhabit, as a whole, an indivisible unit. In other words, it makes no sense to talk about, or simulate, a brain (for example) in a vacuum; but only -- and indivisibly -- as a part of an organism, as a part of an environment/niche, as a part of a world following a particular kind of physics, subject to a particular geometry, etc. We end up treating the world as one single thing that must be understood or simulated, in its "unity", to understand complex entities inside it, such as the brain; and anything less than that does not suffice. That's kind of depressing. And that's also why it's "radical". Although of course I understand how impractical such an approach is. It's just that philosophically it makes sense for me.
And when we say worlds can nest (through simulation) and interact (through structural coupling / entanglement), things become interesting, because now, you can study a world-as-a-whole (even if it's not our world; even if it's a much simpler world).
Another point is that simulating a world makes sense, because you can make
things, rather than the agent simulating the world, compute. In a sense, you're changing the point of view. A useful analogy I like to make is to say that instead of designing smart cars that drive dumb roads, we design smart roads (i.e., environment) that drives dumb cars. The road always knows where to go, where the jams are, where pedestrians are, etc. Again, this is impractical if read literally; but as a design principle I find it useful, especially with simulation. No one prevents you from simulating a custom world coupled to a local pocket of the reality you live in; from designing environments, fields, etc. in it. "The self" is then not a smart thing with a huge "brain" but a "dust particle" blown by the forces of the simulated world. That is, in a sense, the simulated world becomes a function which computes the behavior of the agent. As perceptions change, this "function" gets rewritten, and the behavior of the agent changes as well.
I'll attach a video of one of my experiments on the topic, if anyone is interested. There's a simulated world (the one with a wall with a hole in it). The red cube is the agent's "self-symbol" inside the simulated world. The red sphere floating outside represents the agent's "physical body". It's controlled by transitions inside the simulated world: when the agent's self-symbol moves left in the simulated world, the agent's "physical body" (the circle) moves left as well. It's supposed to act like a drone but since I'm no game dev it's buggy so it can float out of the way; nor is there "sensory coupling". In a way, the agent hallucinates the world and the targets). The blue things are "targets". The point is that the agent must chase and eat targets. The targets move. Air cells in the simulated world host the red-green field.
This field is the thing responsible for the behavior of the agent (i.e., for the chasing and eating), not the agent, nor the targets. Air near the targets gets "greener" (attractive); air near walls gets "redder". Generally, we do
max(neighbor) - 1
, if I remember correctly. The agent is very dumb: it just goes to the
greenest(neighboring air)
cell. And targets move randomly (which makes them quite stupid and easy to chase down; but if you implement evasion using the same red-green field, then the chases get really long and sometimes oscillate indefinitely unless you add a chance for a mistake since both parties can "predict" each other perfectly). Now, I did the thing with a couple of bitmaps. But you can implement it as well with the good old float array and get (probably) much more interesting behavior.
Another wall of text. I'm not sure I'm supposed to write messages this long here, I'm sorry if I'm not! It's just that if I start I find it really hard to stop 😆