|Universe Feature Requests||
random trip report
David P. Anderson
This essay was mentioned in an article in the NY Times. They got my name wrong at first. Should I use the Look of Death?
It has been suggested that our universe is a simulation program - a sort of glorified Minecraft - running on a computer in a higher-level "meta-universe", written and maintained by "meta-hackers". This program - let's call it Unisym - maintains the state of our universe - all the particles, or wave functions, or whatever - and computes its evolution over time. We, and our consciousness, are artifacts of this computation and have no other existence. This seems fanciful, but in the absence of evidence for any other explanation of our existence, I don't think we can completely dismiss it. And there's an academic-sounding paper that says it might be true!
We don't know anything about Unisym or the computing technology it uses. Perhaps it's digital, and simulates time advances in discrete quantum-level steps. Or maybe the computation is analog, or quantum, or something else. The meta-universe might be much different from ours - e.g. it might have 72 dimensions, 14 of them time-like - and its forms of computation could be outside our comprehension.
If our universe is a cellular automaton, as some people think, Unisym could be a single pithy line of code. Or its line count could exceed the number of particles in our universe.
In any case, Unisym is just software, and if it's well-written it should be easy to modify. Modifications could change our laws of physics, or add new "features" to our universe - menu options, buttons to push, knobs to fiddle with. Things to make our lives richer or more fun.
What features would you like to add to Unisym (i.e. to our universe)?
Before we get to this, I want to know: is Unisym open source? Is it hosted on the meta-universe equivalent of Github? Is there a mechanism by which we - from within the simulation - can submit feature requests to the Unisym repository? If not, there should be. It's conceivable that the meta-hackers consider "pull requests" - changes to the source code - from our universe.
As a computer scientist, I'm interested in how proposed features might be implemented, and in the complexity and efficiency of these implementations. Most of the features would require that Unisym maintain history: that it keep track not only of the current state of universe, but the state at all previous times. It would need to handle various kinds of queries against this data, and it would need the ability to resume simulating from previous states.
I assume the meta-hackers can easily "fork" new simulations, i.e. create parallel universes starting from a given point in an existing simulation. Maybe they could use a variant of copy on write (a technique used in operating systems like Linux) to do this efficiently.
Some of my feature requests, and requests from friends, are listed below. Let me know if you have other ones!
This feature lets me see where I've been. When I click a (mental) button, all my footprints, from my whole life, appear to me in day-glow orange on the ground. I can see where I've been in Berkeley, or go to the Sierras and see all the hikes I've taken there. If I click a second button, I see all the footprints of all the steps that anyone has ever taken - are there places that no one has ever been? The colors are configurable, of course, and you can filter by time.
How to implement this in Unisym? First off - and this is true of all the feature requests here - you need to do "high-level feature recognition" - to recognize, categorize, and record objects and events at scales above that of particles. In this case you'd need to figure out, at each moment, what particles constitute "me", or a shoe I'm wearing, and when these particles are pressing against something solid. You'd need to do this at every moment during my life, and for every sentient being in our universe.
One could do this calculation from first principles whenever the feature is invoked. But if efficiency is an issue, you might want to identify and record high-level events "on the fly". E.g. you could look for collisions between macro-level objects, or perhaps only collisions involving sentient beings in some way. This would make it easier to implement certain features, but you'd have to guess in advance what features are going to be requested.
Anyway: having identified all the footprints, you'd need to make them visible to me; i.e. change the laws of physics so that they emit photons. But you only want the footprints to be visible to me, so you'd need to mark these photons and have them interact with my retinas but nothing else.
Every so often I hear or think of some extremely witty phrase or sentence, and I wonder: has anyone ever said that before? For example, my friend Rich Kraft once said: "I'd give them to the pointless" in a context where it was very amusing. After I stopped laughing, I wanted to know if Rich was the first to make that joke - and if not, what are the previous instances?
Again, we need to do feature extraction; in this case, utterances by sentient beings, and speech recognition. But things get trickier if we consider variants of this feature:
So we may need some sort of universal semantic analysis as well, and possibly neuropsychology.
Mental time transplant
I select an age (say, 13) and click a button. My mind as it is now is transported back in time to when I was 13, and it takes over control of my body. I'm able to relive that awkward and painful year, but this time knowing how to talk to people, make friends, and so on.
I wouldn't want to remain 13 indefinitely; it would be a strain to conceal my mental age from people. So at some point I press the Escape key, at which point I return to the present day, with a memory of my time in the past (without this memory, the whole thing would be pointless).
This feature is fraught with problems. Of course everyone wants to be able to go back and redo difficult parts of their life. But there are the usual time-travel issues. Once you change things in the past, the present changes too. Going back creates a parallel univerise.
In terms of implementation, you'd need to "fork" a new simulation S2 from the state of the universe when I was 13, with my present brain grafted into my 13-year-old body. The current simulation (S1) would pause. When I press the Escape key in S2 you'd graft my brain in S2 into my body in S1, and resume simulating S1.
It's not clear how you'd graft a brain into another body, even a younger version of the same person. The neural connections would have changed.
Note: whatever I did differently in S2 wouldn't change S1. When I return to S1, I still would have had a miserable adolescence. So it's not clear how much point there is to the whole thing.
Karen requested a variant of this: "a rewind feature so you can go back in time and undo a hasty, insensitive comment, or explore an opportunity initially avoided due to anxiety". If you did this, you'd probably want to just continue in S2, and never hit Escape. Unisym could recognize this and resume simulating S1 as well.
Joke success prediction
My son Noah's request: You're with a group of friends, and you're thinking of telling a particular joke. You click a mental button, and you see the probability that you'll get a laugh, based on the previous tellings of the joke, and the joke-response history of your friends, all fed into some kind of machine-learning model. Based on this, you can decide whether to tell the joke.
This requires high-level feature extraction: in particular, the notion of "joke", "laughter", etc.
I'd add a related feature: what joke should I tell to maximize expected laughter? For my version, you'd need to keep of list of all jokes ever told.
Ellen points out that intelligent alien life may (and I'd say almost certainly does) have humor too. Who knows - the best joke to tell might be one from another planet.
Noah's suggestion #1: to predict the response to a particular joke, simply fork the universe, have user tell the joke in the fork, see what happens, end the fork, and convey the result in the main process. No machine learning needed.
Noah's suggestion #2: enumerate all sentences up to some limit (the max length of a joke, say 10 min), simulate ALL of them. This way you can tell your friends The Funniest Joke in the World.
Noah - who's a sports fan - also proposed the ability to predict the outcome of trades (of players and draft picks, between teams) by forking universes in which the trade did or did not happen.
The Pause button
Ellie's request: you're in an argument, and the other person says something contentious. You click a mental "pause button". Everything stops except your brain. You can - at your leisure - think of the perfect snappy comeback. When you're ready, you click "resume" and make your retort, just as if you'd thought of it instantly.
This isn't as easy to implement as it might seem. How can Unisym let your brain continue to function if nothing else is changing? What if you want to do something physical - e.g. look up something on Google - during the pause?
One way to do it would be to fork S1 to S2; you'd do your thinking in S2, ignoring your adversary. When you click Resume in S2, your brain is transplanted back to your body in S1, S2 is discarded, and S1 continues.
Lily's request: the ability to fly through the universe, walk through solids, and shrink to atomic levels. Presumably, during this travel you'd just be an observer: you wouldn't affect anything.
This would be hard to implement; you'd need to alter the laws of physics in lots of subtle ways. Presumably while you're flying into Alpha Centauri its radiation doesn't destroy your cells, but you're able to "see" it with a brightness appropriate for your eyes. And you continue to breath oxygen. Lots of details would need to be worked out.
I call this "observer mode"; it's also needed for Time Travel (below).
Immortality and an infinite credit card
Ray's request. Yawn.
Immortality would be hard to implement. You'd have to identify the causes of aging, and suppress them without messing up anything else. Remember: the creators of Unisym don't necessarily understand how things work at a high level in our universe; e.g. human physiology. But they do have the advantage of being able to run huge numbers of long-term experiments with human subjects.
Maryse's request: the ability to communicate
Implementing this would require a pretty much complete understanding of neuroscience and neuropsychology.
Of course it would raise all sorts of privacy concerns. For a given person, I'd be willing to share certain thoughts and certain memories with them, but certainly not all. How would I specify this? Would people be able to lie?
I like the intent of this feature request, but I think it needs to be rephrased somehow.
Ellen's request: select a time in the past or future and click a button to
And in both cases, you'd want an Escape key that takes you back to the starting time, with the memory of the time trip.
Implementation: you'd need the ability to copy a body from one simulation state to another.
The usual Time Travel weirdness applies. If at time T0 the user wants to travel into the future to a time T1, we continue the current simulation until time T1, then copy the user's body at T0 to the state at T1, and continue simulating. Yes, they may see another oopy of themselves. When the user clicks Return, we copy their body back to the state at T0. We abandon the current simulation at T1, and resume simulating from the revisted state at T0. This state is different than it was before because the user has memories of their trip to the future. So we've created an alternate universe, and when the user reaches T1 in this universe it may have no resemblance to time T1 in the first one. The user may return from their time trip with a memory of something that won't actually happen.
The other cases are analogous.
UPDATE!! What Ellen actually wants is to be able to "perceive all four space-time dimensions simultaneously". She also wants to be able to see the full EM spectrum, not just visible light. Something like Developer Mode in today's web browsers, where you can see the DOM and the CSS. Or like GDB for the universe.
The Look of Death
This is a bit frivolous, but I'll mention it anyway. I'm driving, and another driver does something especially heinous. When I look at them and blink my eyes in a particular way, they and their car are doomed to be incinerated by a high-power space laser later that day.
Of course, it's a safe bet that someone would give ME the Look of Death within a day or two. And within a few weeks nearly all drivers would be incinerated. So it's probably best to implement this so that each Look of Death forks a new universe where the requested incineration happens, but the original universe continues without it.
Ctrl-M for 'shrooms
Jon wants to be able to simulate the effects of various psychedelics without the trouble of actually taking them. A slider controls dosage.
Tensor products and Limitless Embarrassment
Rich has a couple of additional requests. First, Arbitrary Tensor Product ("tensor product" is a math concept that involves combining two possibly different things). Some flavors of Arbitrary Tensor Product might be:
Second: Limitless Embarrassment Mode. Same situational set-up as The Look of Death, but with the following replacement for vaporizing: the perp's life suddenly becomes an open book, and its most cringe-worthy episodes are now readily available as on-demand entertainment on any screen.
Meta-Hackers: read this!
Dan W. suggests that the meta-hackers occasionally scan our universe, looking for feature requests, bug reports, or other feedback.