Are we living in a computer simulation?

I recently read the paper Are you living in a computer simulation? (pdf) by Nick Bostrom. A draft version of the paper appeared in 2001 and the paper was finally published in 2003. I mention this because today the paper will be immediately familiar to a lot more people than it would have been three years ago. Thats because three years ago we didn’t have the Matrix trilogy to spread the concept among the masses.

The gist of the paper is very similar to the main thesis of Matrix. In the Matrix, the entire human population was simply living their lives in a simulation. The paper is a slightly more formal presentation of a similar concept, except that the paper actually tries to make a convincing argument that at least one of the following three propositions is true:

  1. we will never reach a stage where we will be able to simulate our own ancestors (i.e., we’ll become extinct before that)
  2. even if we do attain the technical prowess to run such simulations, we won’t be interested in running significant number of such simulations
  3. we are almost certainly living in a computer simulation.

You can read the paper for full details, but in brief the argument goes something like this. Lets say we do become sufficiently technologically advanced to run planetary scale simulations of the entire human race, and we are interested in running such simulations. In that case its highly likely that we will run full scale simulations of our ancestors. All things being equal, we have no reason to believe that our particular existence is special in any sense — that is, we have no reason to believe that it is our particular lineage/evolution that will lead to all the advances that will lead to all the simulations. In particular, if we believe that there will be a large number of simulations, then it is just as likely that we are ourselves part of some such simulation.

The paper itself is very interesting and open to all sorts of debate. In this post however, I just want to focus on one particular aspect. Nick talks about the possibility of running simulations within simulations. That is, lets say humans develop some ultra gigantic computers to run large scale fine grained simulations of their ancestors. Now, within this simulation, given enough time and compute power, eventually the simulated ancestors themselves will develop their simulated version of the giant computers within the original simulation. In contemporary parlance, these would be called virtual machines. Not only that, they would be very special kind of virtual machines, because they are recursively virtualizable. That is, if the simulation proceeded indefinitely, then the simulated ancestors will start running their own simulations, within which the simulated simulated ancestors eventually will start running their own simulations and so on.

Now, the notion of recursively virtualizable platforms is slightly hard to grasp and even harder to formulate. I detected a slight (perhaps unintended and merely technical) contradiction in the paper. Nick argues that if we are indeed living in a simulation and have no way of “looking outside the box”, we have no way of determining what the natural laws look like in the “real” world. That is, it might very well be the case that the real Universe (in which the simulation in which we are simulated, is running) is governed by laws that we have no clue about, simply because we can’t observe that Universe. However, this scenario rules out the possibility of recursive virtualization. For simulated ancestors to be able to run their own simulations, we require that the world observed by/exposed to the original (or base) simulation is identical to the world observed by all nested simulations. Because if not, then the nested simulation will NOT be identical to the original simulation, violating the rules of the simulation itself.

What do you think?


  1. Andrew Thomas

    I think you made a good point about recursive visualisations. Nick Bostrom states that the number of simulated versions of us would be far greater than the number of real versions, hence we are likely to be in a simulation. But this is only true – as you say – if the sims doing the simulating produce similar universes to themselves. Hence, we CAN deduce what the simulating universe is like: it will be similar to our own. You make a good point.

    My own thoughts about the Simulation Argument:

  2. Sharmistha

    Hi Diwakar,

    I am Sharmistha from Firstly I wish you a very Happy New Year. Recently, I went through one of your writings and was impressed with the article as whole. Would you be interested to be part of a group of authors writing for our website We are looking for expert authors like you to write articles related to e-commerce,marketing, search engines, thumbshots, thumbnails, recent search industry updates, recent search industry innovations, Google cheat sheets, Yahoo cheat sheets, search operators, e-collaboration tools, search industry product reviews, handy webmasters tools, and comparative/competitive analysis of website and web development, for our website is a non-profit initiative that gives out 4 million free thumbnail previews to websites. Our thumbshots service is used by AOL,, Network Solutions and Info space. Our goal is to help websites promote their web businesses with our thumbshots.

    In addition, we hope that related articles from experts like you can help them to better educate and market their services.


    For your articles, we want to compensate you with a 6-month placement of our sponsor text ads that is worth $300. The sponsor ad will be placed on one of the pages of your choice: (12 months valued at $300) (6 months valued at $300) (4 months valued at $300) (4 months valued at $300) (4 months valued at $300)

    Alternatively, we can also give you a Free $49/month Thumbshots Simple Solution plan for 6 months value at $300. By placing our unique thumbshots on your website, blogs or directories, you can attract your user’s attentions and add more value to it.


    Our site usually gets over 1,000,000 targeted professionals from the e-commerce world. Additionally, our newsletter mailing list is composed of 50,000 strong qualified readers who are webmasters, marketers and professionals.

    We would really appreciate if you have any new articles that you could let use for reprint on our websites ( or

    I have attached here our general Article Guidelines to posting articles on our website.

    I really hope to hear more from you.

    If you want to recommend anyone to write articles for, please feel free to forward this email.

    Thank you,


  3. Inn3rflow

    Re: “hence we are likely to be in a simulation”

    We are quite unlikely to be here at all. In fact, are we actually we, or simply reflections of a single reality scattered across a vast vacuum?

  4. Tony Fleet

    The notion of ‘recursive visualisations’ is fascinating. As I have argued on Ivo Jansch’s website, any simulation in which time flows faster than the parent ‘reality’ (or pseudoreality), must by necessity either run slower or have less detail than the host. If this principle is used, then for recursive visualisations , one of two things would happen (a), just like when you photocopy a photocopy of a photocopy, there is degradation of the image, so that after 20 or so copies, effectively all the information has been lost. There is probably an upper limit to the number of recursions allowed; OR (b) time in each successive simulation would run ever more slowly, until the point at which it would stop entirely.

    The notion of whether or not beings inside a simulation can ever know anything about the parent ‘reality’, is a fascinating one. See the above website for a discussion between Andrew Thomas & myself on this matter, focusing on Quantum Physics and whether this is an artifact arising from the fact that we are living in a simulation.

  5. Diwaker Gupta

    *@ivo*: Thanks for the pointer, there’s some really interesting stuff in there!

    *@andrew*: fascinating article, thanks!

    *@tony*: Time is tricky to define. So I’m not sure how big of a concern the slow/fast argument is. Even if time moves infinitesimally slowly in a nested universe, the inhabitants of that universe might not perceive that slowness, and it wouldn’t matter.

  6. Douglas

    This is probably taught week 1 day 1 on the ancestor simulation programmers course.

    Any programmer of a successful ancestor simulation would be aware of the problem of recursion. This opens a couple of possibilities.

    1) There are restraints put in place to prevent the recursion, or to limit the depth of the recursion.
    If you are observing how a single reality within an ancestor simulation deals with the problem of recursion in ancestor simulations then you only need to present the observed reality with limited proof that recursion is taking place as the number of observers of any individual simulation will be limited. Just like in computer games reality would only be created just in time for it to be observed.

    2)Recursion is part of the purpose of the ancestor simulation.

    Unless computing power is infinite this will lead to culling of realities.

  7. Frank

    What is the point to an ancestor simulation? Imagine sitting in front of the monitors observing this programme or a character within it in some way. Someone has to do it otherwise would it exist at all? Would that be one observer looking on from within only one of the many characters, all the others being soulless digital creations? Or would each of us ‘observe’ a character and interact in a world where all other characters were similarly observed. Would the anuimals have a ‘ghost within’? This might create too many preconditions over our simulation and the world of the observer for that matter and each world would be necessarily ‘deterministic’. Perhaps we could each have our very own ancestor simulator and observe each character or chosen characters in turn. We could save system memory by vitalizing only that part of the simulation that is actually observed. And what about influence, would we, as observers be able to influence simulation outcomes? Would our character be aware of our existence and our influence? Would this infringe ‘simulated ancestor rights’? If our simulation is programmed to ‘freely develop’ then the number of characters created may outnumber the number of available observers. Might this then suggest ‘ancestor simulations’ would only be possible when our civilisation has developed into a single conscious intelligent entity (perhaps a development of Carl Gustaf Yung’s collective unconscious), able to diverse into any number of individual points of consciousness created by the ancestor simulator? But how much control would we have? Would we (the observer) be dependent on our simulation? If we were so dependent, in order to ensure our own survival perhaps we should take out insurance and run many programmes simultaneously each varying slightly in accordance with say a suitable ‘uncertainty principle’ choosing to stay with the most successful. But then what would we learn and why, should we create a higher simulation where all our skills are tested and rewards are enhanced, would this, if it were a consideration exclude ancester simulations which are recursively virtualizable?

  8. Diwaker Gupta

    *@frank*: These questions are interesting, but I think orthogonal to the question of whether we are actually living in a computer simulation. The debate on whether the reality of events depends on their observation is quite old and well discussed in the philosophical literature (if a tree fell in a forest and no one saw/heard it, then did it really fall?). But it is quite likely that ancestor simulations are only possible when civilization has evolved a concrete notion of collective consciousness.

  9. Frank

    Diwaker: Perhaps I could explore this well trodden path then in terms of a computer simulation. As a programmer I may believe my simulation and the medium within which it has been created and is evolving to be real enough to me, although I may have questions about what the term ‘real’ means. If I, as the programmer consider a character I have created within my simulation, I may observe him/her asking the question, “If a tree fell in a forest and no one saw/heard it, then did it really fall”? Now my programme will be designed, to “save system resources”, so of course no one will hear it fall as its demise would exit only as machine code in some enormous cache or hard disk. Just to make sure, I, the programmer, may run that part of the programme just to see if the tree really falls, but this is outside the world of reality that my character experiences so for him/her it is still not at all real. So now lets run the programme and observe my character this time looking at the tree as it falls, yes the simulation system is working in my reality which of course my character knows nothing of, and yes he/she can confirm the tree falls when he/she is looking at it but that is all; still no answer to the original question and no knowledge at all of the programmer, unless of course I offer him/her a few clues. Now how can we apply this to our question? We can deduce that reality for the programmer and indeed the observer will be relative but very separate to that of the simulation characters. We can also deduce that Schrödinger’s cat will not exist at all in our characters simulated world until he/she opens the box. Now, if we could accept that concept as reality in our world then that would be a strong indicator we are indeed living in a simulation, but in reality (no pun intended) we will always be dependent on the programmer or the simulation custodian to offer clues I suspect.

  10. Leonid Ge

    Perhaps I miss something here.
    Seems, somebody is discussing perpetuum mobile here.

    You are talking about recursive simulations.
    But in order to run a simulation you need memory and processor.
    Say, the first universe is real and some mighty creatures develop in it, so they will build a computer to run simulation of another (sub-)universe.

    A computer, where this simulation will run is a part of the first (real) universe. It means that the number of degrees of freedom (or number of possible states) of this computer is significantly less, that number of degrees of freedom of the first universe.

    So the second (simulated) universe will be much simpler than the first one.

    And if the second universe will simulate the third, this one will be much simpler, than the second.

    Obviously this process (of decreasing the complexity of recursive universes) develops very fast, i.e. at some stage one of the simulated universes will be unable to simulate anything.

    This is exactly the same as running virtual machines on real computers. There is a program called VMware, which creates and runs virtual machines on Microsoft Windows and Linux. And it can be used recursively. But all these recursive virtual machines run on the same REAL CPU and in the same REAL memory. OK, the CPU speed is not important, as you can always say that you have infinite time. Even if our earth and life on it is a computer simulation on some tremendously slow computer – we cannot be aware of it.

    But the REAL memory, which is used for all these recursive simulations will become less and less (exponentially from one recursive simulation to the next one), so for some of the recursive universes the amount of memory will be so small, that this universe will be primitive!

    And by the way, I am sure that for VMware tool it is possible to write a computer program, which can detect if you are running on a simulated operating system or on a real one.

    Perhaps, it is possible to invent a physical experiment that would reveal if our universe is simulated or not.

    One problem of computers seems insuperable: bugs. Bugs can cause memory errors. Also computers use multi-tasking, and synchronization errors occur.

    We are unaware of the power of mighty creators who could build a computer which simulates our universe. But every computer program developed by human programmers (if it is complex enough) contains bugs.

    And a good hacker would reveal bugs of any program. Of course we can presume that the program simulating our universe is very simple, trivial. It could be. But if it is complex enough, it must have bugs.

    So let’s try to think of an experiment that would reveal bugs in this program. If we find at least one bug – we will prove, that we are simulated.

Leave a Reply