Author Topic: Can a computer simulation simulate another computer running another simulation  (Read 17651 times)

0 Members and 1 Guest are viewing this topic.

Online xrunner

  • Super Contributor
  • ***
  • Posts: 4789
  • Country: us
  • hp>Agilent>Keysight>?
I was talking with some guys on the local repeater, and we got into "what is reality" sort of discussions. I mentioned that some people hypothesize that we and our reality is simply some unknown intelligence's version of the "Sims", i.e. we are just a simulation "running" on some system we can't investigate. But yet we also have computers (simulated?) that run simulations ...

I'm not a computer scientist per se, but of course I know that a physical computer can run a simulation of the weather, an engine, and many other things in software. So what I want to know is,

A. Can a physical computer simulate itself or another entire computer architecture, in software (forget about why, just is it possible). I think the answer is ... yes?

B. If it's possible, then can a physical computer postulated above, running a simulation of a computer, and on that simulation of a computer, simulate yet another computer?

So in the physical computer, it's running a simulation of a computer, which is running a simulation of a computer.

No, I haven't been smoking any funny stuff, I am really stuck on whether that is possible or not. I don't know.
I am a Test Equipment Addict (TEA) - by virtue of this forum signature, I have now faced my addiction
 

Offline MK14

  • Super Contributor
  • ***
  • Posts: 2397
  • Country: gb
Yes.

(MK14 was not available, so automatic computer AI has produced the answer. Unfortunately the usual PC was faulty, so a simulation was run on another PC. That was also faulty, so a simulation of the simulation has sorted it out).

Projects such as DOSbox, fully simulate a PC.

EDIT:
Yes applies to both questions A and question B. But be careful you don't run out of resources and it can get impracticably slow.
https://www.dosbox.com/
« Last Edit: June 04, 2016, 07:46:40 pm by MK14 »
 

Offline chris_leyson

  • Super Contributor
  • ***
  • Posts: 1412
  • Country: wales
I think the answer to your first question is, yes a computer can simulate another computer architecture. Had Xilinx ISE running a simulation of a Cinematronics bit slice computer, think the game was Rip Off, it was a slow.
 

Offline rolycat

  • Super Contributor
  • ***
  • Posts: 1090
  • Country: gb
A. Can a physical computer simulate itself or another entire computer architecture, in software (forget about why, just is it possible). I think the answer is ... yes?
Absolutely, and such software has been available for decades. In the 1990s, Acorn computers running an early ARM processor had an IBM PC emulator which could run standard PC software written for a completely different processor architecture.

There are many simulators which run on PCs using Intel or AMD processors which emulate other processor architectures, together with other hardware and peripherals for a specific computer. A well known example is MAME, the Multiple Arcade Machine Emulator.

Quote
B. If it's possible, then can a physical computer postulated above, running a simulation of a computer, and on that simulation of a computer, simulate yet another computer?

So in the physical computer, it's running a simulation of a computer, which is running a simulation of a computer.

Yes, eminently possible.

An Acorn ARM computer emulator also exists for the PC. Running the IBM PC emulator within an Acorn emulator running on a modern PC would result in an x86 computer emulating an ARM computer emulating an x86 computer. It is likely that the emulation within the emulation would still be faster than the original IBM PC.
 

Offline arekm

  • Supporter
  • ****
  • Posts: 149
  • Country: pl
A. Can a physical computer simulate itself or another entire computer architecture, in software (forget about why, just is it possible). I think the answer is ... yes?

B. If it's possible, then can a physical computer postulated above, running a simulation of a computer, and on that simulation of a computer, simulate yet another computer?

Look at http://www.qemu-project.org . Emulates various hardware platforms purely in software. Can be nested.

https://en.wikipedia.org/wiki/QEMU
PLD/Linux Team. Electronics as a hobby.
http://readme.maven.pl/
 

Offline botcrusher

  • Regular Contributor
  • *
  • Posts: 192
  • Country: ca
My favorite "PCeption" is a PC running windows, running bochs x86, running windows.
 

Offline f5r5e5d

  • Frequent Contributor
  • **
  • Posts: 349
its popular to write the compiler for a new language in the new programming language, then write an interpreter for the new programming language in an existing language, then run the compiler on the interpreter to compile itself

of course the existing language could be running on a virtual machine between it and the assembly language of the computer...

https://en.wikipedia.org/wiki/Bootstrapping_(compilers)
 

Online xrunner

  • Super Contributor
  • ***
  • Posts: 4789
  • Country: us
  • hp>Agilent>Keysight>?

Look at http://www.qemu-project.org . Emulates various hardware platforms purely in software. Can be nested.

https://en.wikipedia.org/wiki/QEMU

Interesting. So can these simulations be nested (in theory) to infinity? Assuming the first hardware computer had enough memory and speed?
« Last Edit: June 04, 2016, 10:20:36 pm by xrunner »
I am a Test Equipment Addict (TEA) - by virtue of this forum signature, I have now faced my addiction
 

Offline MK14

  • Super Contributor
  • ***
  • Posts: 2397
  • Country: gb

Look at http://www.qemu-project.org . Emulates various hardware platforms purely in software. Can be nested.

https://en.wikipedia.org/wiki/QEMU

Interesting. So can these simulations be nested (in theory) infinity? Assuming the first hardware computer had enough memory and speed?

Yes, no limit (except practical limits of memory/speed etc).

EDIT:
You can even do it (reportedly) using NO computers at all.

Before we had computers (from the jist of stories I have read about), some people simulated them by hand. To illustrate how useful they would be, and prove they work. I.e. they would write out the program on paper, then execute it line by line, with pencil and paper, or something.
« Last Edit: June 04, 2016, 10:17:49 pm by MK14 »
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8229
  • Country: 00
Quote
So in the physical computer, it's running a simulation of a computer, which is running a simulation of a computer.

It is done every day, and for me right this moment, with Keil running over Proteus.

Nothing new here.

If you really like that kind of topics, think about ways for those "computers" inside of a simulation to detect if they are indeed in a simulation.
================================
https://dannyelectronics.wordpress.com/
 

Offline Red Squirrel

  • Super Contributor
  • ***
  • Posts: 2469
  • Country: ca
I've always jokingly pondered on the idea that the universe is just a big simulation running on God's computer.  When the souls (daemons) start going too crazy he'll just do a reset.   

On sorta similar note, some people have created basic computers in Minecraft.  So technically, you could build a more sophisticated computer in Minecraft that runs a virtual world like Minecraft, then create another computer in that world...  Then mine Bitcoin on it.  :-DD

At a place I used to work the financial system was on this super old SCO Unix box.  Super proprietary.  Nobody knew the password to get in and a boot CD would not work as the file system was also proprietary, but as long as it was running, finance could do their stuff.  It was at some point P2Ved to a VMware Server.  Later on all the stuff got moved to ESX Server.  We could not manage to P2V the VM to ESX, because some hardware was too different or something.   So our solution was to virtualize the actual Vmware server, so we had a VM inside a VM.   It was kinda ugly, but it worked.   
« Last Edit: June 04, 2016, 10:39:14 pm by Red Squirrel »
 

Online xrunner

  • Super Contributor
  • ***
  • Posts: 4789
  • Country: us
  • hp>Agilent>Keysight>?
Before we had computers (from the jist of stories I have read about), some people simulated them by hand. To illustrate how useful they would be, and prove they work. I.e. they would write out the program on paper, then execute it line by line, with pencil and paper, or something.

I guess in that, the "computer" running the pencil and paper simulation is our own "wetware" machine.  :)


If you really like that kind of topics, think about ways for those "computers" inside of a simulation to detect if they are indeed in a simulation.


Right! That's what we need to figure out. If we are indeed just a Super-Intelligent species version of the Sims, then how can we figure it out? If we're a simulation, then from what I've heard we can't "break" the top level simulator running us, because there is no end to the # of simulations that can run under the main computer by us making even more simulated computers.

If there was some theory that predicted that N number of nested computer simulations could exist, and no more, then we could try to make N+1 simulations and see if the system breaks down. That's what my question was getting to. So how do you detect that you are a simulation, or your environment is a simulation? Hmmm ...  ???
I am a Test Equipment Addict (TEA) - by virtue of this forum signature, I have now faced my addiction
 

Offline MK14

  • Super Contributor
  • ***
  • Posts: 2397
  • Country: gb
Right! That's what we need to figure out. If we are indeed just a Super-Intelligent species version of the Sims, then how can we figure it out? If we're a simulation, then from what I've heard we can't "break" the top level simulator running us, because there is no end to the # of simulations that can run under the main computer by us making even more simulated computers.

If there was some theory that predicted that N number of nested computer simulations could exist, and no more, then we could try to make N+1 simulations and see if the system breaks down. That's what my question was getting to. So how do you detect that you are a simulation, or your environment is a simulation? Hmmm ...  ???

If the powers that be, have been clever enough to create the entire world, in a long term, very realistic simulation. Then  I would have thought they would be smart enough to also put in breakpoints/interrupts/fault handlers which reliably detect when (watch the film the matrix for further inspiration) it resets you and/or erases the discovery that it is all just a simulation.

Actually you are right, it is. Wait my head is feeling funny and I feel faint, what on earth .fhoidohfdrhpofhddfhhiuhih86958969866dy h56hf46968f 69854 5...[User Disconnection ERROR#2207: MySQL line 123922 - error user Forum software V1.2.09292]
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8229
  • Country: 00
Quote
So how do you detect that you are a simulation, or your environment is a simulation?

This question has been asked before - Matt Damon touched on it this week at Harvard. Google is your friend.

edit: wrong. MIT it was.
« Last Edit: June 04, 2016, 10:57:05 pm by dannyf »
================================
https://dannyelectronics.wordpress.com/
 

Online edy

  • Super Contributor
  • ***
  • Posts: 2152
  • Country: ca
    • DevHackMod Channel
Assuming enough memory, speed and accuracy in emulation, Yes you could run nested simulations several layers deep. Obviously, they would become extremely sluggish and impractical. Infinity is a big word. But if you imagine it theoretically only, there is no technical reason why it couldn't be done.

For example, imagine architecture A running a simulator of architecture B. Meanwhile, you also have a simulator for A which can run on machine B. So you can just do this...

A(B(A(B(A(B(.......))))))

The nesting can be infinite, but at the end of the day you are just wasting processing.

Or as stupid as it may sound, a simulator of A on A....

A(A(A(A(A(A(...))))))

Like A(x)=x.

So A(5)=5.

You can do it but why?
« Last Edit: June 04, 2016, 11:04:04 pm by edy »
YouTube: www.devhackmod.com LBRY: https://lbry.tv/@winegaming:b
"Ye cannae change the laws of physics, captain" - Scotty
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8229
  • Country: 00
Personally, i don't think the simulation question is that interesting.

What is quite interesting is "is there a limit to the advancement of the simulated subjects?". For example,

1) can the simulated subjects advance to a point where they can create their own sub-simulated universes?
2) can the simulated subjects advance to a point where they compute with the "people" that created the simulation?
3) can multiple unrelated simulations communicate with each other?
4) what's the goal of such a simulation? what's the goal of creating such a simulation?
5) does resourcing play a role here?
...
================================
https://dannyelectronics.wordpress.com/
 

Online xrunner

  • Super Contributor
  • ***
  • Posts: 4789
  • Country: us
  • hp>Agilent>Keysight>?
If the powers that be, have been clever enough to create the entire world, in a long term, very realistic simulation. Then  I would have thought they would be smart enough to also put in breakpoints/interrupts/fault handlers which reliably detect when (watch the film the matrix for further inspiration) it resets you and/or erases the discovery that it is all just a simulation.

Maybe - maybe not. What if we did find that if we ran 30,000 (or substitute your fav big number) nested computer simulations and found that it wouldn't work - but SHOULD have worked? What if we calculate Pi to the 100 trillionth digit and found a message started to appear. Of course this is all speculation, but there might be a way.

Quote
Actually you are right, it is. Wait my head is feeling funny and I feel faint, what on earth .fhoidohfdrhpofhddfhhiuhih86958969866dy h56hf46968f 69854 5...[User Disconnection ERROR#2207: MySQL line 123922 - error user Forum software V1.2.09292]

.<.lldfm(*&45 fos
Quote
  • :-[
  • :-DMM
:wtf:
[/list]
[/2224.677}
I am a Test Equipment Addict (TEA) - by virtue of this forum signature, I have now faced my addiction
 

Offline chris_leyson

  • Super Contributor
  • ***
  • Posts: 1412
  • Country: wales
Maybe if you constructed a single simulation engine and then made it recusive, it might get a bit chaotic somewhere.
 

Offline NANDBlog

  • Super Contributor
  • ***
  • Posts: 4649
  • Country: nl
  • Current job: ATEX certified product design
This is an 8 bit computer in minecraft.

Minecraft runs on Java, which is a virtual computer. So that is 3 nested cpu.
 

Online xrunner

  • Super Contributor
  • ***
  • Posts: 4789
  • Country: us
  • hp>Agilent>Keysight>?
This is an 8 bit computer in minecraft.

Minecraft runs on Java, which is a virtual computer. So that is 3 nested cpu.

What am I looking at there? Is it the transistors and so on of a microchip being simulated in minecraft?
I am a Test Equipment Addict (TEA) - by virtue of this forum signature, I have now faced my addiction
 

Online edy

  • Super Contributor
  • ***
  • Posts: 2152
  • Country: ca
    • DevHackMod Channel
Purely speaking, a bunch of nested simulations will only have the property of the deepest core simulation and nothing more.

For example, if I emulated Android in an Android simulator, inside a Windows machine emulated in a VMware virtual machine, on a Mac... and then ran MAME on it and played Pac-Man, I do not think the ghosts would become self-aware.

What you are talking about is an "emergent property" of the system which is not known or predictable from the component parts alone. If there are bugs or imperfect simulation then strange behaviours may result.
YouTube: www.devhackmod.com LBRY: https://lbry.tv/@winegaming:b
"Ye cannae change the laws of physics, captain" - Scotty
 

Offline NANDBlog

  • Super Contributor
  • ***
  • Posts: 4649
  • Country: nl
  • Current job: ATEX certified product design
What am I looking at there? Is it the transistors and so on of a microchip being simulated in minecraft?
Yes. The game has so called "redstone" logic, where you can create AND OR NAND... gates with it. With that, you can create everything. Also memory and displays.
 

Offline MK14

  • Super Contributor
  • ***
  • Posts: 2397
  • Country: gb
Maybe - maybe not. What if we did find that if we ran 30,000 (or substitute your fav big number) nested computer simulations and found that it wouldn't work - but SHOULD have worked? What if we calculate Pi to the 100 trillionth digit and found a message started to appear. Of course this is all speculation, but there might be a way.

There would/should be methods, like you described, and more sophisticated ones, which might challenge/answer your question(s).

BUT the smart people/entity(s) that created such a complicated and powerful simulation system, may have already invented computers so incredibly powerful, that your creation of (apparently) physical computers (supercomputer) on Earth, is easily simulated by the simulation Universes supercomputers, they have readily available.

If they notice that you have found out (as I said before), they can simply ROLLBACK to BEFORE your discovery of the imperfection. Correct it. Then re-run the simulation, then rinse and repeat, until you/they no longer notice/discover/prove that everything is a simulation.

Some people who pay for huge numbers of cloud based servers (usually large companies), sometimes use similar thought patterns, to try and test out, what they are really getting, for their money. By performing large tests (of cloud servers) and stuff like that.

E.g. They have paid for 1,000 physical (cloud based) servers, but suspect there are ONLY 250. So they sneakily are performing complicated tests to confirm their suspicions, so that they can take the necessary actions.
 
The following users thanked this post: xrunner

Online xrunner

  • Super Contributor
  • ***
  • Posts: 4789
  • Country: us
  • hp>Agilent>Keysight>?
There would/should be methods, like you described, and more sophisticated ones, which might challenge/answer your question(s).

BUT the smart people/entity(s) that created such a complicated and powerful simulation system, may have already invented computers so incredibly powerful, that your creation of (apparently) physical computers (supercomputer) on Earth, is easily simulated by the simulation Universes supercomputers, they have readily available.

If they notice that you have found out (as I said before), they can simply ROLLBACK to BEFORE your discovery of the imperfection. Correct it. Then re-run the simulation, then rinse and repeat, until you/they no longer notice/discover/prove that everything is a simulation.

It's a cool topic for me to think about. I mean, it makes you wonder just what reality really is. What if we did do something that indicated to us we were simulated entities, and the beings or intelligences running it communicated to us that we were all simulated. BUT, they just let us keep existing. Would that make any difference to anyone? What if you were religious and were told you were just a simulation, thus there were no god - only entities that were "running" you on a computing platform of incredible complexity. Gah - deep issues there.
I am a Test Equipment Addict (TEA) - by virtue of this forum signature, I have now faced my addiction
 

Online xrunner

  • Super Contributor
  • ***
  • Posts: 4789
  • Country: us
  • hp>Agilent>Keysight>?
There is a fundamental flaw in this logic. If the simulated entity becomes aware of the simulation then it becomes part of that simulation reality and is no longer simulated. Perhaps analogous to a puppet becoming aware of the strings.

Oh - let me think about that one for a while - my head is hurting!  :palm:
I am a Test Equipment Addict (TEA) - by virtue of this forum signature, I have now faced my addiction
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf