Um computador pode simular-se como parte de um mundo simulado?

17

Digamos que você construa um computador que calcule o estado de todos os átomos no Universo em determinado momento futuro. Como o Universo é, por definição, tudo o que existe (e tudo o que interage com o resto), também inclui o computador que você está construindo. Você pode calcular o estado de todos os átomos no Universo usando o seu computador, incluindo os átomos do próprio computador?

Se tal computador não é possível por algum outro motivo teórico ou prático, o que é?

mojuba
fonte
2
talvez não esteja respondendo à sua pergunta, mas algo no espírito dela seja a reflexão de Scott sobre cosmologia e complexidade. scottaaronson.com/democritus/lec20.html
gabgoh 11/11
8
Existem algumas razões pelas quais esse computador não poderia existir dentro do universo físico: o princípio da incerteza de Heisenberg limita a precisão da medição, portanto seu computador precisaria necessariamente usar uma aproximação. O segundo problema é que a simulação requer sobrecarga. Mas como você está simulando o universo, não tem espaço para sobrecarga. Na verdade, você precisa de uma sobrecarga negativa! A terceira e talvez mais simples reclamação é que o seu computador está sujeito a diagonalização: eu simplesmente procuro o que ele prevê que farei daqui a 10 segundos e faço algo diferente.
Re: Reitblatt #
11
Parece que deveria, no mínimo, violar a relatividade.
Re: Reitblatt #
5
@mojuba Não, o livre arbítrio não é uma objeção sólida. Esse é o raciocínio circular. Você está assumindo que o universo é previsível pelo seu computador; portanto, não posso violar a previsão do seu computador.
Re: Reitblatt #
2
@mojuba talvez seja uma boa oportunidade para entrar no chat do CSTheory, em vez de usar a tag de comentário.
Re: Reitblatt #

Respostas:

23

Não, um computador não pode simular-se perfeitamente além de outra coisa sem violar a teoria básica da informação : existem seqüências que não são compactáveis.

Aqui está a prova mais simples possível: suponha que o computador tenha um total de estados possíveis e suponha que exista algo fora do computador no universo; portanto, o universo possui pelo menos N + 1 possíveis estados distintos. Com zero de sobrecarga, cada estado do computador pode corresponder a um estado do universo, mas, como o universo tem mais estados do que o computador, alguns estados do universo serão mapeados para o mesmo estado do computador; nesse caso, a simulação será não conseguir distinguir entre eles.NN+1 1

Ian
fonte
11
Ian, não podemos pensar no próprio universo como uma máquina que faz o trabalho?
Kaveh
@ Kaveh: Mesmo assim, por que esse tipo de simulação deve ser interessante?
M. Alaggan
2
@ Kaveh, sempre podemos pensar em um computador ou sistema como "simulando" a si mesmo apenas sendo ele mesmo, mas tudo o que estou dizendo é que ele não pode simular a si mesmo e a outra coisa .
31710 Ian
@M. Alaggan: Bem, você pode dizer o mesmo sobre uma simulação que não é mais rápida do que esperar até esse ponto e observar o resultado? (veja os comentários abaixo do post do OP)
Kaveh
@ Kaveh: Acho que podemos estar tentando evitar discutir a possibilidade de tal computador, argumentando que seria inútil. Não tenho certeza a qual comentário você está me referindo.
M. Alaggan
8

Não tenho certeza se isso responde à sua pergunta, mas espero que seja significativa e leve a algum insight.

Suponha que exista uma máquina de turing que possa simular todos os átomos do universo, inclusive ele próprio, e então necessariamente possa simular-se.X

Agora, reduzir isso ao problema de parada é trivial:

Deixe tomar uma máquina de turing M como entrada e decida se ela pára ou não simulando o universo (uma vez que M está incluído no universo), faça o oposto (por exemplo, X pára se M não o fizer e volta para sempre se M parar ) Então X ( X ) demonstra uma contradição.XMMXMMX(X)

Essencialmente, isso significa que o melhor que o pode fazer para decidir se o X pára ou não é apenas correr por si mesmo (ou seja, deixar o universo funcionar do jeito que está), para simular o universo não dá uma vantagem.XX

O mesmo se aplica quando você deseja o estado do universo após o tempo . Como X não pode decidir se ele irá parar dentro de t tempo ou não dentro de t tempo (o mesmo argumento), então ele deixará o universo fazer isso. Tentar simular o universo fazendo isso, não pode reduzir o tempo que você levará para decidir. E se decidir como será o universo em t tempo leva mais que t , a simulação diverge (à medida que t vai para o infinito).tXttttt

Isso leva à conclusão de que apenas um simulador útil que decide como o universo será em tempo deve levar exatamente t tempo, ou seja, deixando o universo funcionar. Este simulador é, de fato, o simulador trivial.tt

M. Alaggan
fonte
As máquinas de Turing não fazem parte do mundo físico, são objetos matemáticos e não precisam ser fisicamente realizáveis.
Kaveh
Isso é ainda melhor porque a realização deles (computadores) tem mais limites. No entanto, se você acabou de traduzir o trabalho "Máquina de Turing" no meu post para "computador", acho que ainda funcionará.
M. Alaggan
Não tenho certeza, as entradas são mais restritas, talvez você não consiga dar a entrada que deseja.
Kaveh
@Kaveh: Você pode elaborar mais?
M. Alaggan
2
-1: Esta resposta está completamente errada. Mesmo que um computador pudesse simular a si mesmo, não sabia dizer se seria interrompido porque, para fazer isso, teria que se simular por um período infinito de tempo.
Peter Shor
6

Acho que poderíamos tentar ver isso como um problema de modelagem : como podemos reformular a questão para que ela se torne ciência da computação e não física? Vou tentar dar um exemplo simples e concreto de como podemos tentar fazer isso, para começar ...


Vamos substituir o "universo" por algo que é muito discreto e simples (e finito!). Digamos que nosso universo seja um autômato celular finito. Em particular, todo o mundo é um n × n grid.Wn×n

Suponha que a configuração inicial do mundo seja arbitrária. Agora, a pergunta parece ser a seguinte: Podemos escolher um subconjunto estrito C de W ("computador") e um estado inicial de C que atenda às seguintes condições:WCWC

  • Nós não alterar o estado inicial de . (Ou seja, apenas "construímos nosso computador C ", sem alterar o mundo fora dele.)WCC

  • Então, podemos executar qualquer número de etapas do autômato celular (o mundo inteiro , incluindo C e quaisquer interações entre W C e C ).WCWCC

  • Podemos ler o estado atual do mundo por apenas inspecionando C . (Ou seja, C deve ser uma "simulação" de W. Observe que devemos ser capazes de ler o estado de W inteiro , não apenas W C. Em certo sentido, C deve ser capaz de simular tanto sua parte externa quanto interna. !)WCCWWWCC

Agora, isso é factível? Pode ser tentador usar um argumento de contagem (há mais estados em que em C ) e dizer que é impossível. Mas esse não é necessariamente o caso!WC

Vamos supor que nosso autômato celular é totalístico . Então, o que podemos fazer é simplesmente deixar ser a metade direita de nossa grade W e deixar a configuração inicial de C ser uma imagem espelhada de W C , para que tudo seja simétrico. É isso aí.CWCWC

Inicie o autômato e veja o que acontece. O estado atual de sempre será igual ao estado de C + sua imagem no espelho. Ou seja, apenas inspecionando C é suficiente para dizer o que é o estado de toda W .WCCW

(É claro que aqui o computador interage com e afeta o estado futuro de W C. Mas também é o que acontece no mundo real.)WWC


Agora, pode ser interessante ver se há uma resposta não trivial para essa pergunta. Por exemplo, quais autoridades de certificação admitem computadores com tamanho menor que a metade de ?W

Jukka Suomela
fonte
Você não acha que o mesmo argumento de simetria torna trivial qualquer simetria de dobra n, e não apenas metade? Além disso, você está assumindo que o "observador" sabe que é um espelho (uma função) de C , e se a função for diferente da função de espelho? Está relacionado, então, à comlexidade Kolomogrov do universo e ao poder computacional do observador. W CC
M. Alaggan
Se a configuração inicial de for uma imagem espelhada de W C , você substituiu o estado interno de C ! então C não simula siCWCCC
Deyaa
@Deyaa: E quando você construir e programar um computador físico, você certamente irá mudar o estado do mundo dentro dos limites do computador ...
Jukka Suomela
Eu argumentaria que essa não é uma simulação adequada, pois só pode simular um pequeno subconjunto dos estados do universo. Mesmo que seja permitido fazer alterações arbitrárias no universo "real" ao definir o estado do computador, você não deve se limitar apenas a simular o estado real do universo.
Ian
O que é um "CA"? Também não tenho certeza sobre a natureza totalística do universo, mas o entrelaçamento quântico é uma propriedade interessante nesse sentido. Por exemplo, considere que o computador é tudo : ele prevê o futuro o mais rápido que o tempo passa. Pode ser menos do que tudo para que tenhamos uma parte do universo fora do computador? Sim, pode ser tudo menos partículas emaranhadas. Portanto, o computador já está funcionando e fazendo um bom trabalho.
Trylks
3

Aqui está uma prova simples (não formal). Digamos que seja o ano de 2115 e eu tenho um computador de 100 anos que chamarei de Mac e um supercomputador de última geração chamado Deus. Deus pode simular e prever facilmente o Mac, até que eu faça o seguinte:

Primeiro, conecto uma webcam no Mac e aponto para a tela de Deus. Então, eu corro no Mac um programa que, em um loop infinito, armazena todos os números detectados na tela de Deus e gera e exibe um número que não está na lista de números armazenados. Por fim, peço a Deus que me mostre o número que Mac mostrará daqui a um minuto. Qualquer que seja o número que Deus mostre, o Mac produzirá e mostrará um número diferente; portanto, Deus será incapaz de dar uma resposta correta.

Isso é equivalente ao fato de que se um supercomputador me predizer, o que quer que ela me diga que eu farei, poderei fazer o oposto (como no comentário de Mark ). Além disso, isso ocorre independentemente do processo que o supercomputador usa para prever o futuro (simulação, viajando para o futuro e voltando, perguntando a um oráculo, etc.).

Juan
fonte
Em outras palavras, Deus afeta a realidade enquanto calcula o futuro e, portanto, não pode computar o futuro. Por outro lado, se isolarmos completamente Deus deste universo, ele não será capaz de ler o estado do universo. Eu concordo, parece uma prova.
Mojuba
@mojuba Na verdade, se Deus estivesse totalmente isolado e pudesse de alguma forma ler o estado do nosso universo (por exemplo, se o nosso universo fosse uma simulação na mente de Deus), então ele poderia prever o nosso futuro. Mas se ele, de alguma forma, nos informar sobre o nosso futuro, isso deixaria de ser uma previsão precisa, já que nós (ou um programa) poderíamos fazer o oposto. E pela mesma razão, ele não podia prever seu próprio universo, incluindo ele próprio.
Juan
a questão com o mundo simulado é se ele pode ou não ser considerado um universo totalmente isolado e independente. A máquina de simulação mantém os estados de todas as partículas do mundo simulado e modela sua interação de acordo com algumas leis da física. Se Deus interfere de alguma maneira, isso significaria que as leis serão violadas em algum lugar (porque se elas não forem violadas, isso não é interferência de Deus). Pelo menos esse tipo de interferência significa que o universo simulado não está isolado e, portanto, a pergunta original não se aplica a ele, eu acho.
Mjuba
-2

Um computador finito não pode simular a si próprio, ao contrário de uma máquina de Turing que possui uma fita infinita e pode simular qualquer outra máquina de Turing. No entanto, é possível simular qualquer computador em um computador semelhante, mas você precisa de um pouco mais de memória do que a "simulada" (como em uma máquina virtual): http://meaningofstuff.blogspot.com/2016/03/ pode-computador-ou-humano-simular-se.html

Mihai Voicu
fonte