Democritean Universes in Minecraft
I’m currently reading Daniel Dennett’s book Freedom Evolves. It’s about how free will is possible in deterministic universes. To discuss his ideas, he needs some play universes in which to stage thought experiments. One obvious choice is Conway’s Life universe (also see Life32).
But for some arguments, he needs something a little closer to home. For these he invokes the Democritean universes from W. V. O. Quine’s 1969 paper Propositional Objects (I mentioned Quine here earlier in a different context). This universe is a 3D grid of voxel which evolves in discrete time steps. Each voxel is assigned a particular material. The state vector of a particular universe is simply a list of the states of all of the voxels. For example:
at time t: voxel {2,6,7} = silver, voxel {2,6,8} = gold, voxel {2,6,9} = 0, ... and so forth
These state vectors are vast, in a similar fashion to the fact that the number of possible Life universes is vast.
For a given set of physics rules, some state vectors are valid and some are not. For example, if your physics rules don’t allow matter to be created or destroyed, then any state vector which describes a Democritean universe where the number of gold voxels (for example) isn’t constant over time are invalid universes.
If you’ve played Minecraft, you’ll realize that there is a similarity between these Democritean universe and the Minecraft universe. In Minecraft, the universe is a 3D grid of voxels and each voxel has a particular material which is identified by one of these ids.
Note: Image from Minepedia, but cropped to exclude non-terrain ids.
Notice that some of those block ids (notably lava, fire, and water) change over time, while others are static. This gives the Minecraft world an implicit time rather that the one which is captured explicitly in the Democritean universe’s state vector.
Not all state vectors are possible in Minecraft though. If you read the the post by Notch which I mentioned the other day, you’ll realize that it is only possible to obtain Minecraft worlds which are formed by the applying the terrain generation algorithm to one of the possible seeds to the random number generator. The possible number of seeds is much, much smaller than the possible number of worlds. In some sense, this divides the Minecraft universes into two sets just as a particular physics divides Quine’s Democritean universes into two sets. It’s interesting how the Perlin noise algorithm pumps up the (relatively) small number of seed values into widely dispersed points in the much larger space of state vectors.
There’s an important difference though. In Minecraft, a 16x16x128 block of the world is only created (and has the physics of its non-static blocks simulated) when it becomes visible to a player. This means that the Minecraft world has a dependence on the observer that is similar to the one in quantum mechanics.
Maybe instead of playing games, Peter’s really working on his Philosophy dissertation.