Сразу как у нас открыли кинотеатры, я побежал смотреть фильм "Довод" от Нолана. Мне очень понравилось. И весь дальнейший пост будет основан на концепции из этого фильма, так что если вы не любите спойлеры, то лучше не читайте дальше. Хотя, возможно, я рассказываю спойлеры только максимум на уровне трейлера, я хз, не смотрю трейлеры из-за ненависти к любым спойлерам. Короче, я вас предупредил.

Меня не особо интересуют всякие персонажи и прочие кожаные мешки, а вот концепции и идеи - очень даже. Поэтому мне ОООЧЕНЬ понравился этот фильм. И в "Доводе" как раз показывается ОЧЕНЬ интересная концепция, когда вещество, идущее обратно во времени, существует параллельно с веществом, идущим вперёд во времени. Это даже путешествием во времени назвать нельзя, потому что это не то читерство с гитовыми ветками, которое нам показывают в других фильмах, это очень органичная, сложная, противоречивая и интересная вещь. Сразу после фильма я задался единственным главным вопросом: возможно ли и как такое симулировать?! Интересует как минимум возможность симуляции такого через клеточный автомат, не то что физика. Как раз хорошим совпадением стало то, что я за пару месяцев до этого наконец реализовал обратимый автомат Critters и немного его поисследовал. Я сразу подумал, что обратимость Critters должна как-то помочь с концепцией Довода, но в первые дни я так и ничего не смог придумать.

Так же я начал думать каким образом прошлое может знать о том каким будет будущее, так что наверняка обязательно придётся решать какую-то астрономически огромную систему уравнений, чтобы реализовать что-то подобное "Доводу", поэтому концепция обычной пошаговой симуляции тут может быть неприменима.

Затем я начал целенаправленно думать как это симулировать и наконец придумал. Обратимость Critters действительно помогла, и я сделал на основе него обратимый клеточный автомат, где существует одновременно три вещества:

  • пустота - чёрные клетки,
  • вещество идущее вперёд во времени - синие клетки,
  • вещество идущее обратно во времени - красные клетки.

Блин, у меня цвета походу с фильмом не сходятся :(

При этом:

  • Если свапнуть цвет красного и синего, и ещё сделать одну мелочь, то симуляция времени вперёд будет равна симуляции времени назад до свапа. То есть все состояния корректно идут во времени в нужную сторону, и существует относительность направления времени!: красным кажется что они идут вперёд, а синие назад во времени, а синим что они идут вперёд, а красные назад.
  • Наборы клеток, которые состоят из пустоты, красных и синих клеток корректно обрабатываются.
  • Если правила для обычных Critters имеют размер 2^4, то в моём автомате они размером 2*3^4. Такой большой размер тоже составляет некоторую сложность в разработке правил.

Назвал я этот автомат гордым именем и с уважением к вдохновителю: The Tenet Of Life (Critters является самым близким аналогом The Game Of Life в мире обратимых автоматов, поэтому вполне логично).

Там были интересные проблемы и их решения, так что я хочу всё это подробно рассказать вместе с картинками, но сейчас у меня нет времени и мотивации. Надеюсь когда-нибудь в будущем доберусь.

Ладно, а теперь время картинок!


В прошлом посте про Critters я не осилил управление мышью, поэтому там были очень шакальные картинки, и вы даже не смогли рассмотреть глайдера. Чтож, я исправил это недоразумение, теперь я сделал управление мышью и можно масштабировать, передвигать. И ещё интерфейс есть вместо клавиш на клавиатуре.


Это глайдер в обычном автомате Critters. Так как он синего цвета, видно что он идёт вперёд во времени. Здесь показывается как этот глайдер двигается в направлении куда он указывает. Так же здесь показывается сетка, чтобы можно было видеть как работают блочные правила обычного Critters, о которых я ранее рассказывал.


А здесь одновременно два глайдера с разными направлениями времени. Красный глайдер указывает влево, но идёт вправо, потому что он обращён во времени. И вообще эта гифка немного напоминает сцену из фильма с машинами) Я думаю это сделать логотипом моего автомата.


А тут просто куча клеток разных времён как-то взаимодействуют...


А это так правила записываны в коде))))))))))000)0 Конечно, эти массивы вычисляется. Вычислением просто занимается другой код.

×1.2
jpg

А это я проектировал правила на draw.io. Не пытайтесь понять, просто спойлер, в будущем подробно расскажу об этом.

×2
jpg

Мне кажется ничего интересного или революционного я не увидел. Просто красные и синие клетки кипишатся и обладают хорошими математическими свойствами. Поэтому самое интересное - то как я его сделал, а не сам результат. Результаты не интересные потому что сам изначальный автомат Critters не очень интересный. Тут надо другие обратимые автоматы исследовать с таким подходом.

Ну и ещё результаты не очень интересные, потому что у меня нет самой главной фичи из фильма - устройства, которое обращает назад во времени всё что в него войдёт. Ведь именно такое устройство и создаёт интересные парадоксы и вынос мозга. А судя по тому что получилось у меня, просто параллельное существование двух временных типов материи не очень интересно и не очень противоречиво.

Мне кажется ввести клетки, которые делают такое инвертирование либо невозможно, либо придётся решать астрономическую систему уравнений, либо очень сложно. И если такое вводить, то надо заранее просчитывать вселенную чтобы она была согласована с этим устройством, потому что оно на вход должно принимать два одинаковых объекта с разными направлениями времени. То есть надо заранее пускать обратный и прямой глайдер в эту машину, чтобы они вошли в неё и исчезли, тогда результат этой машины будет как в фильме.

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

Ещё, касательно простых обратимых автоматов могу посоветовать смотреть это:

Я знаком с Онигири, и так интересно случается что у нас абсолютно случайно темы с этими автоматами пересеклись по времени и по смыслу в видео что я посоветовал) У него к сожалению видео не изобилуют сложными подробностями, и ориентированны на более молодую аудиторию, но в целом много нового можно узнать)