Thursday, August 17, 2017

Notes on a Cosmology - Part 18, Virtualization

In the 2016 Isaac Asimov Memorial Debate, Is the Universe a Simulation?[1], David Chalmers makes the following remarks:
The simulation hypothesis says we’re in a computer simulation. A computer simulation’s a computation that was created by someone for a purpose. So, basically, the simulation hypothesis is the computation hypothesis plus something else about someone who created it. And around here is where you might be able to get a little theological and say, okay, well, it’s a naturalistic version of the god hypothesis. [There is a] much weaker hypothesis that the universe is some form of discrete computation and is completely neutral on the question of whether this is actually a simulation in the sense of something that was created by a simulator.
What Chalmers is talking about is telos. Telos is generally associated with theology these days, but many science-fictional universes have imagined telic theories of our world based on design by a non-deity. Perhaps our world was created as a scientific experiment by alien-like beings who are able to engage in interstellar travel as easily as we drive down a highway. Or choose your favorite theory. Because any arbitrary way of imagining a telic origin for the world is as good as any other, we tend to throw our hands up and choose an atelic basis for science. If we have been designed by a greater being (or beings) then, until this is revealed to us, we have no scientific basis to ascertain design or rule it out - it is a metaphysical or theological question.

Telos does not necessarily have to involve personhood, as humans experience it. For example, animals clearly make choices but are also clearly not self-reflective persons in the sense that human beings are. Imagine some inter-galactic, animal-like consciousness with the ability to spawn life-bearing planets but unable to comprehend the complex behavior of the living systems in those planets. In this case, we have been created by a telic entity that is greater (more powerful) than us but which is less intelligent than us.

Virtualization

In modern computation, virtualization is a widely used technology. Virtualization is a consequence of the capacity of a universal Turing machine, U, to simulate any other Turing machine, including itself or any other universal Turing machine U', U'', ... As a concrete illustration, the following image depicts a recent version of Windows Server running multiple, nested instances of itself:


In the context of computer science, we tend to use the terms "simulation" and "virtualization" synonymously. But in the context of cosmology, simulation tends to mean simulation of something, that is, of the laws of physics, or whatever. In this context, all simulation can be considered a kind of virtualization - in short, virtualization is a more general term than simulation. In this post, we will be focusing on virtualization in order to think about computers simulating other computers without respect to any external system, such as a physical universe. This distinction is related to, but independent of the distinction between a computation hypothesis (no telos) and the simulation hypothesis (telos).

The particular feature of virtualization I want to focus on is termed privilege level. When two or more computation environments are executing on the same hardware (same CPU, same memory banks, and so on), there must be some organized system of sharing resources in such a way that the parent environment is not corrupted by its child environment(s). Otherwise, when the parent environment launches a virtualized child environment, that environment is liable to crash the parent - and itself, too. In real-world computation systems, this protection is enforced through privilege levels. A lower-privileged process may not access the resources of a higher-privileged process. There are many different ways to implement privilege levels. Non-virtual privilege levels have long been a common feature of mainstream operating systems, allowing the operating system to protect itself from the applications it is running. But so-called "full virtualization" requires a more thoroughgoing approach to ensure that the system's resources cannot be accessed by virtualized environments in a way that will corrupt the host (parent) environment.

A common, naive approach to enforcing privilege-levels is to check each access that the lower-privileged environment attempts. "If a lower-privileged environment attempts to access the higher-privileged memory area from address 1000 to address 2000, interrupt it and transfer control to the higher-privileged environment so it can decide what to do next." I will refer to this as hard privilege level enforcement. In modern virtualization systems, however, much of this hard privilege-checking is bypassed by simply presenting a virtualized memory and input/output environment to the virtualized process. In this way, the virtualized (child) process is free to access any memory address it likes, but these addresses are silently remapped by the computer hardware to other memory addresses. Since the virtualizing (parent) environment controls how this remapping occurs, it is able to arrange memory in such a way that the virtualized (child) environment will never be able to touch the parent's memory and other resources. I will refer to this as silent privilege-level enforcement.

Choice

Our cosmological theory up to this point has been summed up by the concept of the quantum monad. The quantum monad is the union of the universal prior and Seth Lloyd's QC thesis (that the Universe is indistinguishable from a quantum computer). What is missing from this model is any kind of concept of choice. The universal prior is, in a way, too powerful - it ranges over every possible universe, including the ones in which I choose A and the ones in which I choose the opposite of A. Thus, every game-theoretic interaction between you and me (choice) is present in the universal prior, and all of them are equally probable. Thus, there are no choice strategies in the universal prior - the universal prior moots game theory.
In the context of artificial intelligence, Hutter proposes a particularly concrete notion of “possible world”: An environment, in his sense, is a Turing machine which takes an agent’s actions as input and produces a sequence of observations and rewards as output. Given a prior distribution µ over environments, Hutter defines a Bayesian agent AIµ which acts in such a way as to maximize the expected reward, given µ. As usual, Hutter assumes that for every particular environment, AIµ can compute exactly what observations and rewards a given sequence of actions leads to.
However, AIµ cannot in general itself be implemented as a Turing machine, which is problematic in game-theoretic contexts (where an agent’s environment contains other agents). To see this, consider the game of Matching Pennies, in which two players each choose between two actions (“heads” and “tails”); if the players choose the same action, the first player wins a dollar, if they choose differently, the second player wins. Suppose that both players’ decision-making processes are Turing machines, and suppose that both players know the exact source code of their environment, including the source code of their opponent’s decision-making algorithm. (Certainty about the environment is of course equivalent to a µ which assigns probability 1 to a certain environment.) Finally, assume that like AIµ, both players choose optimally given their information about their environment.
In this set-up, by assumption, both players’ decision-making processes are deterministic; each player either definitely plays “heads” or definitely plays “tails”. But neither of these possibilities is consistent. For example, if the first player chooses heads and the second player can predict this, the second player will choose tails, but if the first player can predict this in turn, it will choose tails, contradicting the assumption that it chooses heads.
The problem is caused by the assumption that given its opponent’s source code, a player can figure out what action the opponent will choose. One might think that it could simply run its opponent’s source code, but if the opponent does the same, both programs will go into an infinite loop. Even giving the players access to a halting oracle does not help, because even though a machine with access to a halting oracle can predict the behavior of an ordinary Turing machine, it cannot in general predict the behavior of another oracle machine.[2]
Another way to understand the problem is to imagine two AIXI machines connected together in such a way that each is the other's environment, that is, µ, and the only way to maximize their own reward function is to minimize the other's reward function. No matter what we assume about how these machines will behave in respect to one another, we arrive at a contradiction. Thus, the AIXI model is simply not suitable for use in a general game-theoretic sense. The paper proposes reflective oracles as a technical solution to the problem but the technical details are outside the scope of this discussion.

Let us now embark on a thought-experiment. Suppose we have two computable approximations to AIXI - AIXIc1 and AIXIc2. Furthermore, let us suppose that AIXIc1 and AIXIc2 have access to m- and n-bit prefixes of Omega, respectively. That is, AIXIc1 has access to Ωm and AIXIc2 has access to Ωn where m > n. This access is tantamount to private information. AIXIc1 has an advantage over AIXIc2 in that it can solve 2m-n times more instances of the halting problem in computable time than AIXIc2 can. This might not seem like such a big deal - after all, who cares about whether such abstract machines will halt or not? But remember that we can solve any mathematical problem whose solution can be found with n bits of theory by encoding it in an n-bit program and then solving whether this program halts. In fact, as long as we allow m to become sufficiently larger than n, AIXIc2 will never be able to defeat AIXIc1 in any competitive game[3].

The Great Chain of Being

Now, I can explain a third kind of virtualization privilege-level enforcement that I will call soft privilege-level enforcement. In this arrangement, the child process is free to move anywhere, and the parent (virtualizing) process simply "steps around" the child (virtualized) process. This is only possible if the parent process is always a step ahead of the child process, moving its own resources out of the way before the child process is able to inadvertently trample over them. We can model this situation as a game being played between two agents, where the child process is more or less behaving arbitrarily but the parent process is anticipating the child process's moves. We model the parent process as AIXIc1 and the child process as AIXIc2 and we define the losing condition as any situation where AIXIc2 has accessed the parent's resources in a way that will corrupt the parent's state. To clarify, we are treating the source code of each of these agents as accessible to one another. The only thing that AIXIc1 has access to that AIXIc2 does not are the additional bits of Ω from n to m.

As long as we make m sufficiently larger than n, we are guaranteed that the child process will never be able to corrupt the parent process's state even though the parent process has not implemented any form of privilege-level construct, whether hard privilege-levels or silent privilege-levels. In short, the parent process and the child process are operating as peers with respect to the available computational resources but the parent process is able to virtualize the child process without becoming corrupted by anticipating the behavior of the child process and moving its own resources elsewhere. Since the child process can read the parent process's source code, it can attempt to intentionally anticipate the parent's next action and force it to become corrupted. But this fails because the parent process is, in every respect, more efficient than the child process, so the parent process can (for example) simulate the child process's attempt to simulate the parent process (ad nauseum) and take the appropriate action to prevent corruption.

The significance of this idea is that we can talk about telic simulators without having to posit any special "hook" or "power" that such simulators have that their simulated environments do not have access to. Perhaps we are being simulated but this does not necessarily mean that what is simulating us has implemented hard privilege-levels (think solid walls) or silent privilege-levels (think illusions). Rather, all agents are operating on the same "hardware", so to speak, and playing by the same rules. The difference between levels of simulators can then be modeled as simply knowledge of a larger or smaller prefix of Ω. The virtue of this approach is that we can abstract away all other considerations - all differences in the "levels" of the simulation boil down to how much of Omega each level has access to.

This construct resembles the gnostic theology known as the great chain of being. Greater beings are able to (and do) dominate and rule over lower beings. This dominion is based on the varying splendor or worthiness of various kinds of beings.



We can also take this in a more naturalistic direction by looking at it from the point of view of the Kardashev scale. Suppose we compare civilization A and civilization B that are the same in all respects except that civilization A knows one more bit of Ω than does civilization B. We can say that civilization A is objectively more advanced than civilization B. As we noted earlier in this series,
[Chaitin has suggested] that knowledge of Omega could be used to characterise the level of development of human civilisation. Chaitin points out that, in the 17th-century, the mathematician Gottfried Leibniz observed that, at any particular time, we may know all the interesting mathematical theorems with proofs of up to any given size, and that this knowledge could be used to measure human progress. “Instead, I would propose that human progress—purely intellectual not moral—be measured by the number of bits of Omega that we have been able to determine,” says Chaitin.[4]
We can think of the bits of Ω as forming a kind of competency-hierarchy - "Everything you can do, I can do at least as good, or better" is true whenever I know one or more bits of Ω than you do. Thus, I can effectively enforce privilege-limits on you without the use of unconditional privilege-levels.

Hypotheticals and Parallel Universes

When pondering a decision, we often engage in a kind of hypothetical thinking - "If I turn left here, it will take me down Main Street which is a shorter route to my destination but traffic is heavy. Instead, if I go straight on Oak Street, the route is longer but less busy. I think I will go straight." In computer algorithms, this kind of thinking can be implemented with a technique called backtracking. Equivalently, we can model any backtracking problem as a non-deterministic algorithm and convert it to its deterministic equivalent using a technique called subset construction.

Backtracking systematically maps the possible solutions to a problem onto a tree. If we think of the computer as an agent, this tree can also be thought of as a decision-tree. "If I try this alternative, then the result is such-and-such. This does not match the required solution. So, I must backtrack and try the next alternative."

We can also characterize hypothetical thinking as a form of simulated parallel universes. For example, suppose I want to predict the outcome of a very complex set of events, such as, "Will North Korea go to war with the United States under such-and-such conditions?" One way to approach this problem would be to build a toy model of the entire population of each country and simulate the behavior of the populations under varying conditions. This is, at present, completely infeasible but it is possible in principle. Such questions are too complex to be answered by shortcut methods, that is, by aggregated models (population dynamics). If we imagine expanding the complexity of the questions we are asking in both depth (resolution) and breadth (expanse), we can imagine reaching a point where we want to be able to simulate an entire planet or, when we begin to colonize space, even larger scales. Such simulations of hypothetical futures would be so rich in detail that they would be worlds in their own right. Nevertheless, being rooted in the physics of our spacetime, they would remain purely hypothetical.

If a "greater being" simulates lower beings than itself, this is a bit like encapsulating these lower beings within a subset of the wider set of possible universes. When a backtracking algorithm searches for a solution, it does so by pruning the tree of possible solutions, leaving fewer and fewer possibilities out of the set of all possibilities. In fact, we can imagine a parallel backtracking algorithm that spawns lower-privilege instances of itself to explore the tree of possibilities - when these instances find what the higher-privilege process is looking for, they are no longer needed and can be terminated. The higher-privilege process does not have to worry about being corrupted by the behavior of its child-processes for the reasons we gave above, even if it is inhabiting the same parallel computer without hard privilege-limits.

Conclusion

For many people, the term "Simulation Hypothesis" is almost synonymous with a Matrix-like world. The point or purpose of the simulation would obviously be to allow the simulator(s) to imprison those who are being simulated. This imprisonment is enforced through deception and/or the power to impose suffering and pain.

The thesis of this post is that it is possible to understand the world as being a simulation without hard privilege-levels. It is not necessary to view the simulator as a personal being like humans, even if it is telic (has some goal or end that it is searching for). The reasons we suspect that the Universe may have a virtualized or "layered simulation" structure are mathematical, not the cosmic horror of being trapped in a prison of illusions. A backtracking algorithm is the discrete equivalent of the quantum path integral. From an information-theoretic perspective, one plausible explanation for the puzzling phenomenon of the path-integral may be that the Universe, at root, is capable of simulating all possible paths of a particle but, through a process similar to search-tree-pruning in backtracking algorithms, the "calculation" of the infinite set of possible paths is finite. This would allay Feynman's famous misgiving:
It always bothers me that, according to the laws as we understand them today, it takes a computing machine an infinite number of logical operations to figure out what goes on in no matter how tiny a region of space, and no matter how tiny a region of time. How can all that be going on in that tiny space? Why should it take an infinite amount of logic to figure out what one tiny piece of space/time is going to do? So I have often made the hypotheses that ultimately physics will not require a mathematical statement, that in the end the machinery will be revealed, and the laws will turn out to be simple, like the chequer board with all its apparent complexities. - The Relation of Mathematics to Physics
Next: Part 19, Virtualization cont'd

---

1. YouTube - Isaac Asimov Memorial Debate, Is the Universe a Simulation?

2. Reflective Oracles: A Foundation for Classical Game Theory 

3. AIXIc1 can choose to refrain from playing a game it is not sure to win. Also note that we have simply assumed some suitable solution to the theoretical problem of mixing AIXI with game theory.

4. Randomness & Complexity, from Leibniz to Chaitin, "God's Number" by Marcus Chown; Cristian Calude ed.

No comments:

Post a Comment

Wave-Particle Duality Because Why?

We know from experimental observation that particles and waves are fundamentally interchangeable and that the most basic building-blocks of ...