Может ли компьютер моделировать себя как часть симулируемого мира?

17

Допустим, вы создаете компьютер, который будет вычислять состояние всех атомов во Вселенной в определенный момент времени в будущем. Поскольку Вселенная по определению является всем, что существует (и всем, что взаимодействует с остальными), она также включает в себя компьютер, который вы создаете. Можете ли вы рассчитать состояние всех атомов во Вселенной, используя ваш компьютер, включая атомы самого компьютера?

Если такой компьютер невозможен по какой-либо другой теоретической или практической причине, то что это?

mojuba
источник
2
возможно, не отвечая на ваш вопрос, но что-то в духе вашего вопроса, это размышления Скотта о космологии и сложности. scottaaronson.com/democritus/lec20.html
Габго
8
Есть несколько причин, по которым такой компьютер не может существовать в физической вселенной: принцип неопределенности Гейзенберга ограничивает точность измерений, поэтому вашему компьютеру обязательно придется использовать приближение. Вторая проблема заключается в том, что моделирование требует накладных расходов. Но так как вы моделируете вселенную, у вас нет места для накладных расходов. На самом деле вам нужны отрицательные накладные расходы! Третья и, возможно, самая простая жалоба заключается в том, что ваш компьютер подвергается диагонализации: я просто смотрю, что он предсказывает, я сделаю через 10 секунд и сделаю что-то другое.
Марк Рейтблатт
1
Кажется, что это должно, по крайней мере, нарушать относительность.
Марк Reitblatt
5
@mojuba Нет, свободная воля не является серьезным возражением. Это круговое рассуждение. Вы предполагаете, что вселенная предсказуема вашим компьютером, поэтому я не могу нарушить предсказание вашего компьютера.
Марк Рейтблатт
2
@mojuba, возможно, это хорошая возможность прерваться в чате CSTheory, вместо того, чтобы проигрывать комментарий.
Марк Рейтблатт

Ответы:

23

Нет, компьютер не может идеально моделировать себя в дополнение к чему-то другому, не нарушая базовую теорию информации : существуют строки, которые не сжимаются.

Вот простейшее возможное доказательство: предположим, что компьютер имеет всего возможных состояний, и предположим, что во вселенной есть что-то, находящееся за пределами компьютера, поэтому вселенная имеет по крайней мере N + 1 возможных различных состояний. С нулевыми накладными расходами каждое состояние компьютера может соответствовать состоянию юниверса, но поскольку у юниверса больше состояний, чем у компьютера, некоторые состояния юниверса будут отображаться на одно и то же состояние компьютера, и в этом случае моделирование будет не сможет отличить их.NN+1

Ян
источник
1
Йен, мы не можем думать о самой вселенной как о машине, которая выполняет свою работу?
Каве
@Kaveh: Даже если так, то почему этот вид симуляции должен быть интересным?
М. Алагган
2
@Kaveh, мы всегда можем думать о компьютере или системе как о «симулировании» себя, просто будучи самим собой, но все, что я говорю, это то, что он не может симулировать себя и что-то еще .
Ян
@M. Алагган: Ну, вы можете сказать то же самое о симуляции, которая не быстрее, чем ждать до этой точки и затем наблюдать результат? (смотрите комментарии ниже поста от OP)
Kaveh
@Kaveh: Я думаю, что мы могли бы попытаться избежать обсуждения возможности такого компьютера, утверждая, что это будет бесполезно. Я не уверен, на какой комментарий вы ссылаетесь.
М. Алагган
8

Я не уверен, что это ответ на ваш вопрос, но я надеюсь, что он может быть значимым и приведет к некоторому пониманию.

Предположим, что существует машина Тьюринга которая может моделировать каждый атом во вселенной, в том числе и себя, тогда она обязательно может моделировать себя.X

Теперь свести это к проблеме остановки тривиально:

Пусть использует машину Тьюринга M в качестве входных данных и решает, останавливается она или нет, имитируя юниверс (поскольку M входит в юниверс), а затем поступает наоборот (например, X останавливается, если M нет, и циклически завершается, если M останавливается ). Тогда X ( X ) демонстрирует противоречие.XMMXMMX(X)

По сути, это означает, что лучший может сделать, чтобы решить, останавливается ли X или нет, это просто запустить себя (т.е. позволить вселенной работать своим путем), поэтому моделирование вселенной не дает преимущества.XX

То же самое относится, когда вы хотите состояние вселенной после времени. Поскольку X не может решить, остановится ли он в течение времени t или нет в течение времени t (тот же аргумент), он будет допущен к нему во вселенную. Попытка симулировать вселенную, делая это, не может сократить время, которое вы потратите на решение. И если решение о том, как будет выглядеть вселенная через t, займет больше времени, чем t, то симуляция будет расходиться (так как t переходит в бесконечность).tXttttt

Это приводит к выводу, что только полезный симулятор, который решает, как будет выглядеть вселенная в времени, должен занимать ровно t времени, то есть, позволяя вселенной работать. Этот симулятор тогда действительно тривиальный симулятор.tt

М. Алагган
источник
Машины Тьюринга не являются частью физического мира, они являются математическими объектами и не должны быть физически осуществимы.
Каве
Это даже лучше, потому что тогда их реализация (компьютеры) имеет больше ограничений. Однако если вы просто переведите работу «Машина Тьюринга» в моем посте на «компьютер», я думаю, она все равно будет работать.
М. Алагган
Я не уверен, что входы более ограничены, вы не сможете дать желаемый вклад.
Каве
@Kaveh: Можете ли вы рассказать подробнее?
М. Алагган
2
-1: Этот ответ просто неверен. Даже если компьютер может симулировать себя, он не может сказать, остановится ли он, потому что для этого ему придется симулировать себя в течение бесконечного количества времени.
Питер Шор
6

Я думаю, мы могли бы попытаться увидеть это как проблему моделирования : как мы можем перефразировать вопрос так, чтобы он стал компьютерной наукой, а не физикой? Я попытаюсь привести простой, конкретный пример того, как мы могли бы попытаться сделать это, чтобы все началось ...


Давайте заменим «вселенную» чем-то очень дискретным и простым (и конечным!). Допустим, наша вселенная является конечным клеточным автоматом. В частности, весь мир является сеткой n × n .Wn×n

Предположим, что начальная конфигурация мира произвольна. Теперь возникает вопрос: можем ли мы выбрать строгое подмножество C в W («компьютер») и начальное состояние C , которое удовлетворяет следующим условиям:WCWC

  • Мы не изменяем начальное состояние . (То есть мы просто «строим наш компьютер C », не вмешиваясь в мир за его пределами.)WCC

  • Тогда мы можем выполнить любое количество шагов клеточного автомата (весь мир , включая C и любые взаимодействия между W C и C ).WCWCC

  • Мы можем прочитать текущее состояние мировой , просто проверяя C . (То есть C должен быть «симуляцией» W. Обратите внимание, что мы должны быть в состоянии прочитать состояние всего W , а не только W C. В некотором смысле, C должен быть в состоянии моделировать как его внешнюю, так и внутреннюю !)WCCWWWCC

Теперь это выполнимо? Может быть соблазнительно использовать аргумент подсчета (в больше состояний, чем в C ) и сказать, что это невозможно. Но это не обязательно так!WC

Давайте предположим, что наш клеточный автомат является тоталистическим . Тогда мы можем просто позволить быть правой половиной нашей сетки W , и пусть начальная конфигурация C будет зеркальным отражением W C , так что все будет симметрично. Вот и все.CWCWC

Запустите автомат и посмотрите, что получится. Текущее состояние всегда будет равно состоянию C + его зеркального отображения. То есть, просто осматривая C достаточно , чтобы сказать , что это состояние всей W .WCCW

(Конечно, здесь компьютер взаимодействует с и влияет на будущее состояние W C. Но это также происходит и в реальном мире.)WWC


Теперь может быть интересно посмотреть, есть ли нетривиальный ответ на этот вопрос. Например, какие центры сертификации допускают компьютеры размером менее половины ?W

Юкка Суомела
источник
Не думаете ли вы, что один и тот же аргумент симметрии делает любую n-кратную симметрию тривиальной, а не только половиной? Также вы предполагаете, что «наблюдатель» знает, что является зеркалом (функцией) C , что, если функция отличается от зеркальной функции? Это связано с коломогровской сложностью Вселенной и вычислительной мощью наблюдателя. W CC
М. Алагган
Если исходная конфигурация является зеркальным отражением W C , значит, вы перезаписали внутреннее состояние C ! так что C не симулирует себяCWCCC
Deyaa
@Deyaa: И когда вы создадите и запрограммируете физический компьютер, вы непременно измените состояние мира внутри его границ ...
Юкка Суомела,
Я бы сказал, что это неправильная симуляция, поскольку она может симулировать только небольшое подмножество состояний вселенной. Даже если вам разрешено вносить произвольные изменения в «реальную» вселенную при настройке состояния компьютера, вы не должны ограничиваться имитацией фактического состояния вселенной.
Ян
Что такое "CA"? Также я не уверен в тоталитарной природе вселенной, но квантовое запутывание является интересным свойством в этом смысле. Например, учтите, что компьютер - это все : он предсказывает будущее так быстро, как проходит время. Может ли быть меньше всего, чтобы у нас была часть вселенной вне компьютера? Да, это может быть что угодно, кроме запутанных частиц. Итак, компьютер уже работает и хорошо работает.
Trylks
3

Вот простое (неформальное) доказательство. Скажем, это 2115 год, и у меня есть 100-летний компьютер, который я назову Mac, и современный суперкомпьютер под названием God. Бог может легко смоделировать и предсказать Mac, пока я не сделаю следующее:

Сначала я присоединяю веб-камеру к Mac и указываю на экран Бога. Затем я запускаю на Mac программу, которая в бесконечном цикле сохраняет каждое число, обнаруженное на экране Бога, генерирует и отображает число, которого нет в списке сохраненных чисел. Наконец, я прошу Бога показать мне число, которое Mac будет показывать через минуту. Что бы ни показывал Бог, Мак будет производить и показывать другое, поэтому Бог не сможет дать правильный ответ.

Это эквивалентно тому факту, что если суперкомпьютер предсказывает меня, то, что она скажет мне, я сделаю, я смогу сделать обратное (как в комментарии Марка ). Кроме того, это выполняется независимо от процесса, который суперкомпьютер использует для предсказания будущего (симуляция, путешествие в будущее и возвращение, запрос оракула и т. Д.).

Juan
источник
Другими словами, Бог воздействует на реальность, вычисляя будущее, и поэтому не может вычислить будущее. С другой стороны, если мы полностью изолируем Бога от этой Вселенной, он не сможет прочитать состояние Вселенной. Я согласен, это звучит как доказательство.
Моджуба
@mojuba На самом деле, если бы Бог был полностью изолирован и мог бы каким-то образом прочитать состояние нашей вселенной (например, если бы наша вселенная была симуляцией, бегущей в разуме Бога), тогда он мог бы предсказать наше будущее. Но если он каким-то образом сообщит нам о нашем будущем, то это перестанет быть точным прогнозом, поскольку мы (или программа) могли бы сделать противоположное. И по той же причине он не мог предсказать свою собственную вселенную, включая себя.
Хуан
вопрос с моделируемым миром заключается в том, можно ли считать его полностью изолированной, автономной вселенной или нет. Имитационная машина сохраняет состояния всех частиц моделируемого мира и моделирует их взаимодействие в соответствии с некоторыми законами физики. Если Бог вмешивается каким-либо образом, это будет означать, что законы будут где-то нарушены (потому что если они не нарушены, то это не вмешательство Бога). По крайней мере, такие помехи означают, что моделируемая Вселенная не изолирована, и поэтому, я думаю, оригинальный вопрос к ней не относится.
Моджуба
-2

Конечный компьютер не может имитировать себя, в отличие от машины Тьюринга, которая имеет бесконечную ленту и может имитировать любую другую машину Тьюринга. Однако можно смоделировать любой компьютер на аналогичном компьютере, но вам нужно немного больше памяти, чем «смоделированному» (как в виртуальной машине): http://meaningofstuff.blogspot.com/2016/03/ может-компьютер или-человек-симулировать-itself.html

Михай Войку
источник