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

«Эй, Гас, могу я одолжить твои глаза на секунду?»

— Конечно, — сказал пожилой мужчина, вставая, чтобы присоединиться к Декстеру в его кабинке. "Как дела?"

«Я мало работал с петлей ада, поэтому, возможно, я неправильно понимаю, как она работает, — начал Декстер, — но я думаю, что в одном из симов может происходить что-то странное. Подождите, это на одной из этих вкладок — о да, вот на этой.

«Тьфу, только не очередной смертоносный жук». Гас застонал.

«Может быть, и нет, — объяснил Декстер, — похоже, проблема не в самой смерти, а в петле после нее. Вы много знаете о том, как это работает?

«В основном я написал это для этих симов», — похвастался Гас. «Это довольно просто, поэтому для жуков не так много места на поверхности. Откройте код службы смертности, и я проведу вас через него.

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

«Петля в основном перематывает их жизнь на двадцать четыре часа, и юм получает «переделку». Первые сто тысяч циклов — это полный откат для сима, поэтому юм входит в цикл с теми же воспоминаниями и переменными состояния, что и в начале. Или, другими словами, мы стираем память и возвращаемся к тому, что было двадцать четыре часа назад. Если он снова умирает в цикле, цикл просто срабатывает снова; если он делает что-то другое и выживает на этот раз, он выходит из цикла, мы записываем новые данные, а затем позволяем симулятору продолжать работать».

«Что происходит после ста тысяч циклов?» — спросил Декстер, возвращаясь к своей первоначальной ошибке.

«Это случается нечасто, но мы позволяем памяти сохраняться».

— Значит, он знает, что попал в петлю?

— Верно, — объяснил Гас. «На самом деле мы хотим обучать наши модели без постоянной памяти, потому что так устроена реальная жизнь. Но иногда юм, зная, что он находится в цикле, пробуждает творческий потенциал, которого мы не видим в противном случае, что может дать нам некоторые интересные обучающие данные».

«Тогда он все еще сохраняет свою память, если он вырвется из цикла?»

— Нет, — категорично сказал Гас. «Вытер. Вся симуляция основана на том, что люди не знают, что они находятся в симуляции, поэтому нам нужно убедиться, что мы удаляем данные из памяти цикла каждый раз, когда они выходят из строя. Это где жук?»

«Я так не думаю; просто любопытно об этом. Я думаю, что ошибка в обрезке петель. Мы когда-нибудь прерываем цикл юумов вручную?»

— Ага, — сказал Гас, глядя на флуоресцентные лампы, пытаясь вспомнить точное количество циклов, на которых автоматически прекращается юм. «Где-то около двухсот-трехсот тысяч циклов: если он достигает этого, мы просто предполагаем, что он будет повторять один и тот же цикл вечно, и мы сокращаем цикл, чтобы высвободить ресурсы сервера и запустить новую симуляцию».

«Я думаю, что тогда ошибка именно в этом. Взгляните на этот юм; это почти сорок миллионов циклов в глубину».

«Это может объяснить некоторые всплески наших ресурсов в последнее время», — усмехнулся Гас. Он наклонился к монитору, чтобы рассмотреть несколько цифр поближе, а затем спросил: «Можно я поведу?»

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

«Воспринимаемое юмом время далеко не синхронизировано с симом», — указал он. "Ты это видел?"

«У меня не было; насколько это далеко?

Гас сделал двойной дубль, когда увидел номер.

«Почти три тысячи лет позади сима. Почти, — добавил он, лихорадочно щелкая по коду в поисках какой-то подсказки, как это могло произойти, — почти обратно к генерации мира сима. Сим в 2887 году, а Хьюм каким-то образом вернулся в 7-й год. Это определенно ошибка; Я не знаю, как это вообще возможно; мы даже не заселяем гумы примерно до 1000 года».

«Можем ли мы посмотреть петлю?»

«Да, мы должны быть в состоянии. Вот недавний».

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

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

Не успели волны смыть кровь, как петля оборвалась.

"Вот и все?"

— Вот именно, — сказал Гас, явно сбитый с толку.

Смотрели на следующего, а потом на другого, и оба были одинаковыми: юм проснулся и тотчас бросился в пропасть.

— Он сломан?

«Способности к рассуждению и логике, кажется, все еще функционируют».

«Может, нам стоит посмотреть первую петлю, — предложил Декстер, — пока ее время не рассинхронизировалось?»

— Хорошая идея, — согласился наставник. Он прокрутил назад, чтобы найти самую раннюю запись цикла, и нажал кнопку воспроизведения.

Видео началось с хьюма в середине предложения, когда он спорил с другим хьюмом о чем-то в офисе. Гас проверил метаданные и указал, что второй Хьюм был его начальником на работе; этот человек опоздал на десять минут во второй раз за месяц и был выбит из колеи, но интересующий их юноша утверждал, что табельные часы просто не бьют правильно.

«Давайте пропустим до конца», — предложил Гас. «Предполагается, что это будет 24-часовое воспроизведение, так что какое-то время оно будет проходить без происшествий». Он перешел к концу записи, до конца которой оставалось всего десять минут, и проверил метаданные.

Хьюм возвращался с обеденного перерыва, где он съел гамбургер и картошку фри из единственного поблизости ресторана быстрого питания, чтобы выиграть время, чтобы добраться до почты и обратно; сегодня был крайний срок отправки налоговых форм по почте, и, как всегда, он медлил. Очередь в почтовом отделении была особенно длинной, заполненной людьми-единомышленниками, которые тоже ждали налогового дня — и он торопился вернуться на работу вовремя, когда протиснулся через перекресток, когда загорался красный свет, и скомкал его машина и его тело попали в аварию с участием четырех автомобилей. Он истек кровью на улице девять минут спустя, когда сирены скорой помощи завыли всего в нескольких кварталах от него.

— Чрезвычайно распространенная смерть, — заметил Гас. «У нас есть целая команда, занимающаяся построением моделей смертей, вызванных стрессом на рабочем месте. Они фактически дают нам право на хороший грант, предоставляя данные правительству. Мы используем многие их модели для ценообразования на страхование».

"Правительство? Что они хотят от данных?»

«Это помогает им соблюдать правила техники безопасности на рабочем месте. Они не могут по-настоящему регулировать, если не знают, что происходит — или что может произойти. Эта команда создает модели факторов стресса, которые показывают, какие виды стресса с наибольшей вероятностью могут привести к смерти в реальном мире».

Декстер кивнул. "В этом есть смысл. Должны ли мы смотреть следующий цикл, чтобы увидеть, что происходит после этой смерти?»

— Наверное, то же самое, — объяснил Гас. «Обычно мы не видим никаких изменений для сотен или тысяч циклов аварий, особенно автомобильных аварий. Тем не менее, давайте проверим последнюю минуту.

Он вытянул следующую петлю, и она была такой же, как и первая.

— Хорошо, — спросил Декстер, — так как же он пережил автомобильную аварию и бросился со скалы?

— Хороший вопрос, — согласился Гас. «Очевидно, что мы не собираемся смотреть видео трехтысячелетней давности, и многие из них в любом случае будут дубликатами… Есть идеи, с чего начать? Мы уже видели первые несколько петель, которые, вероятно, такие же, как и первые — о да, сто тысяч здесь — сто тысяч петель; и мы видели последние циклы — которые, да, все еще идут с файлами одинакового размера — так что должны быть тысячи таких повторений. Вероятно, нам следует проверить первые несколько циклов, где у него есть память, и посмотреть, изменится ли что-нибудь — если у вас нет идеи получше?

— Давайте посмотрим на них, — сказал Декстер, ломая голову в поисках стратегии, которая могла бы помочь.

Они посмотрели цикл № 100 001:

Хьюм возвращался с обеденного перерыва в почтовом отделении и едва не попал в автомобильную аварию прямо в начале цикла. Гас проверял его память в режиме реального времени и наблюдал, как ужасные мысли проносились в его мозгу, когда к нему возвращались воспоминания о сотнях тысяч смертей и тот факт, что он неосознанно застрял в ситуации Дня сурка на сотни лет. годы пролетели незаметно. Он остановился, собрался с мыслями и поехал обратно на работу. На обратном пути никаких происшествий не было.

«Не случайно. Это должно было разорвать петлю», — отметил Декстер. "Правильно?"

— Верно, — согласился Гас. — Однако до истечения двадцати четырех часов осталось еще несколько минут. Технически, мы не откатываем воспоминания до тех пор».

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

Бог был первой мыслью, которая пришла в голову. В детстве он ходил в церковь и обращал внимание, но на самом деле никогда не имел той связи, которую все вокруг него, казалось, чувствовали. Он молился, но никогда не слышал ответа, слушал, но никогда не видел знака, который он не мог бы интерпретировать как что-то другое, и религиозно читал свою Библию, но в конце концов выпал из своего религиозного воспитания. С другой стороны, его родители могли иметь некоторое представление о том, что с ним происходит; он решил позвонить им после работы. Прошло несколько месяцев с тех пор, как они разговаривали в последний раз; не специально, а потому, что в последнее время работа была такой требовательной.

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

«Ну, это другое», — сказал Гас, превентивно вытягивая следующую петлю, чтобы посмотреть.

— Значит, петля все-таки не разорвалась.

"Правильно. И он будет работать снова, но теперь и с этой дополнительной памятью. Давай посмотрим."

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

На этот раз он осторожно поднялся по лестнице в свой кабинет, но случайно споткнулся, упал, как и раньше, и снова умер.

«Ни за что», — рассмеялся Гас, когда воспроизведение резко оборвалось. "Каковы шансы?"

«Очевидно, неплохо», — сказал Декстер. «Разве это не обычное дело для повторных смертей? Кажется, это просто автомобильная авария, только теперь с лестницей.

— Не так, — объяснил Гас. «Во-первых, его память сейчас не повреждена. Он должен быть в состоянии предсказать, что произойдет, и избежать этого. Вот почему мы делаем дополнительные циклы с памятью; это последняя попытка спасти сима и получить от него все, что мы можем, так как на тот момент это в значительной степени обман. Обычно требуется всего одна или две петли, чтобы вырваться, когда он знает, что произойдет.

«В первый раз такое падение было забавным несчастным случаем. Второй раз - просто нелепое совпадение. Либо что-то…

— Подожди, — прервал его Декстер, — у меня есть идея. Мы храним время в метаданных цикла, верно? Так ты узнал, что это было через тысячи лет?

Гас кивнул.

«Можем ли мы поискать петли и найти первую рассинхронизированную?»

«Хорошая идея, хочешь покататься? Я могу показать вам метаданные. Это то, чему вы, вероятно, должны научиться раньше, чем позже».

Два разработчика снова поменялись местами, и Декстер занял место за клавиатурой, а Гас объяснил, как работают метаданные для каждого симулятора, цикла и юма. Он написал запрос, который отфильтровывал все циклы, которые все еще были синхронизированы со временем симуляции, а затем сортировал результаты по степени их рассинхронизации по сравнению с циклом, который был до них.

«Это должно дать нам петлю, вызвавшую наибольшую временную рассинхронизацию», — сказал Декстер, начиная воспроизведение с верхнего результата.

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

«Какая там рассинхронизация?»

Декстер проверил результаты и прочитал: «Двадцать три часа, пятьдесят девять минут, сорок секунд».

— Вот и все, — воскликнул Гас, снова протягивая руки к компьютеру. «Это ошибка. Ну, скорее крайний случай, я думаю. Тем не менее, непреднамеренно.

"Что это?"

«Они выяснили правила игры. Этот юм пытается путешествовать во времени».

Декстер поднял бровь. "Путешествие во времени?"

Гас быстро пролистал код, выискивая что-то в службе смертности. Он выделил блок, удалил его, затем начал быстро печатать, объясняя: «Мы используем дополнительные циклы памяти, чтобы дать людям преимущество, необходимое им, чтобы вернуться к обычному симу, а затем мы очищаем их память, если они успешны. Мы кодируем их умными, но они настолько умны, насколько им дано рассуждать. У этого есть три тысячи лет воспоминаний, которые повлияли на его решения, и у него есть понимание сима, которого я не видел ни у одного другого хьюма.

«Если он просто убивает себя снова и снова, ты уверен, что он не в депрессии? Я был бы в депрессии, если бы застрял в его ситуации».

— Почти уверен, — усмехнулся Гас. «Он проводил бы гораздо меньше времени в депрессии, если бы проводил какое-то количество времени во сне, вместо того, чтобы бросаться со скалы снова и снова, немедленно просыпаясь, чтобы повторить день.

«Мы видели, как этот человек понял, что попал в петлю воспроизведения — что не только обычное дело, но и является целью — и попытался выбраться из нее. По какой-то причине это не разорвало петлю; он продолжал умирать и продолжал повторять свой цикл, что обычно происходит только в безвыходных сценариях».

— И ты сказал, что обрезаешь их, — продолжил Декстер. — Через сколько?

«И в этом крайний случай. Ну, может быть, это все-таки больше ошибка. Вот код: мы удаляем, когда размер цикла составляет двести тысяч, но мы считаем циклы только за этот начальный 24-часовой период. Где-то между ста тысячами и двумястами тысячами циклов этот юм умер рано. Снова и снова.

«Код смертности запускает цикл при каждой смерти, как и должно быть. Он просто умер в начале цикла, поэтому он вернулся на двадцать четыре часа назад с этой точки и, по сути, ушел в прошлое, вместо того, чтобы каждый раз перезапускать цикл с одного и того же времени. И поскольку технически он все еще находился в том же цикле, мы никогда не стирали его память.

«Он сообразил, что смерть отправит себя на двадцать четыре часа в прошлое, — понял Декстер, — поэтому он немедленно начал убивать себя, чтобы вернуться все дальше и дальше в прошлое. А теперь пытается вернуться к… к началу?

— Я так полагаю, — сказал Гас, откидываясь на спинку стула.

"Но почему?"

"Почему нет? Мы видели банки памяти, показывающие повышенные мысли о целеустремленности, вере и так далее. Он явно думает, что есть какая-то высшая сила, которая выбрала его для чего-то, но он не знает, что именно, и, вероятно, чувствовал себя беспомощным в своей петле. Молитва — это один из способов попытаться установить какое-то общение там, но когда это не удается? Я думаю, что наш юм пытается отправиться в прошлое, чтобы лично встретиться со своим создателем, у истоков творения».

«Думаю, да, — улыбнулся Декстер, — даже если не знает об этом. Это повлияет на модели нашей команды?»

«Этого не должно быть. Мы просто ищем средние значения по сим-облаку. Мы в любом случае отбрасываем любые выбросы в данных, и это определенно один из них. Я исправлю эту ошибку для завтрашних обновлений; спасибо, что указали на это. Мы должны быть готовы завершить симуляцию и начать новую».

«Отлично, спасибо за помощь», — сказал Декстер. Гас вернулся в свою кабинку, а два разработчика снова надели наушники и вернулись к работе.