
Полная версия
Записки Лешего. Исходный код

Нейромонах Леший OG
Записки Лешего. Исходный код
Пролог: Последний запуск
Стекло гермошлема покрылось тонкой полосой жирной индустриальной пыли. За панорамным окном лаборатории, на высоте тридцатого этажа, Токио-2 лежал в неподвижном, грязно-желтом смоге. Настоящее солнце казалось тусклым медным пятаком, неспособным пробиться сквозь многометровые слои тяжелого аэрозоля. Физический мир заканчивался. Он не взрывался и не рушился от войн — он просто медленно и тихо засыпал под надсадный, свистящий шелест очистителей воздуха, которые с каждым днем справлялись все хуже.
Алексей медленно снял шлем и бросил его на пластиковый стол, заваленный черновиками, датчиками и пустыми банками из-под безвкусного питательного геля.
На его главном мониторе светилась структура, над которой он и его команда работали последние семь лет. Проект «Ковчег».
Экран отражал зеленую, почти кричащую своей свежестью дубраву. В ней не было смога. Там не было фильтров, лимитов на воду и аварийных сирен. Каждый лист на виртуальных березах и дубах жил по законам термодинамики, которые Алексей лично, строчка за строчкой, перевел на холодный язык шейдеров и компиляторов.
Он открыл окно терминала, где мерцало математическое ядро будущей реальности. Чтобы этот огромный виртуальный Лес не превратился в мертвую, зацикленную картинку, Алексею потребовалось преодолеть сопротивление Совета и ввести коэффициент дикого распределения. Формула естественного хаоса, описывающая увядание, случайные флуктуации и свободный рост, выглядела так:
$$S(t) = -\sum_{i=1}^{n} P_i(t) \ln P_i(t) + \int_{0}^{t} \psi(x) e^{-\lambda x} dx$$
Где параметр $\psi(x)$ отвечал за ту самую «ошибку», за случайный излом ветки под тяжестью виртуального снега, за неожиданную червоточину в коре дуба или неравномерный рост мха на северной стороне камня.
— Если мы уберем энтропию, Леша, этот мир станет стерильным пластиком, — раздался из динамиков уставший, хриплый голос Марка, руководителя отдела оптимизации. — Но Административный совет требует вырезать этот блок. Они хотят чистые, абсолютно одинаковые аллеи. Безопасные. Без болезней, гнили и увядания. Им нужна предсказуемая структура, которая не будет тратить оперативную память серверов на обсчет хаоса.
— Одинаковые аллеи — это кладбище, Марк, — негромко ответил Алексей, не отрывая взгляда от кода. Его пальцы, испачканные черной тушью от старой перьевой ручки, привычно поглаживали кожаную обложку лежащей на столе тетради. — Без увядания нет почвы. Без смерти нет жизни. Если мы не оставим Системе её законное право ошибаться, люди сойдут там с ума через два цикла после загрузки их сознаний. Человеческий разум не может жить в геометрии Евклида.
— Совет не пропустит проект с «багами». Они называют твою энтропию вирусом, ломающим стабильность кода.
— Тогда я закрою ядро, — Алексей решительно нажал комбинацию клавиш на консоли, блокируя корневой доступ к Сектору 0. — Вход в ядро Системы теперь будет возможен только через ручной аналоговый интерфейс. Системе нужен Наблюдатель. Кто-то, кто будет находиться непосредственно внутри и своим активным вниманием подтверждать право этого мира быть несовершенным. Тот, кто будет писать его историю в реальном времени, заставляя Систему рендерить детали.
— И кто согласится стать этим Писцом? — Марк тяжело вздохнул, и на той стороне связи послышался надсадный кашель. Фильтры в его секторе тоже сдавали позиции. — Ты же сам писал спецификацию, Леша. Чтобы человеческий мозг удерживал такую колоссальную архитектуру без перегрузки синапсов, его придется сжать. Очистить от личной памяти. Стереть имя, фамилию, воспоминания о Земле, Токио-2, о близких. Он забудет, кто он. Он станет просто функцией. Вечным Наблюдателем.
Алексей посмотрел на свои руки — бледные, с тонкими пальцами программиста. Затем он снова взглянул в окно, на мертвый, тонущий в желтом тумане город, где миллионы людей задыхались в бетонных сотах.
В ящике его стола лежала пустая тетрадь в грубом кожаном переплете. Он купил её на черном рынке за трехмесячный паек чистой воды, просто чтобы иметь возможность записывать важные мысли на настоящей бумаге.
— Я согласен, — тихо сказал Алексей. — Запускай процедуру оцифровки моего сознания.
— Леша, ты сошел с ума... Это билет в один конец. Обратного пути не будет.
— Нет, Марк. Я просто иду домой. Туда, где деревья настоящие.
Алексей сел в глубокое, холодное кресло нейро-интерфейса, надел шлем с тонкими игольчатыми электродами и бережно положил пустую кожаную тетрадь себе на колени. Дигитайзер на его пере замигал зеленым светом, синхронизируясь с Системой.
На экране побежали финальные строчки подготовки к компиляции Сектора 0. Он закрыл глаза, чувствуя, как холодный металл касается висков, а в ушах нарастает тонкий, хрустальный свист.
[SYS_INIT: COVCHEG_v1.0] [CONSCIOUSNESS_COMPRESSION: 98%] [ERASING_PERSONAL_DATA: ACTIVE] [WRITER_INTERFACE: MOUNTED]
Последнее, что он услышал в физическом мире перед тем, как его сознание распалось на миллиарды световых импульсов и влилось в первый коммит Нового Леса, был тихий, шуршащий шорох листьев, рожденный в динамиках шлема.
И абсолютная, теплая тишина исходного кода, готовая принять своего Писца.
Глава 1: Последняя осень
Фильтр маски на моем лице тихо и ритмично сипел. Каждые сорок минут датчик на запястье вибрировал, напоминая о необходимости заменить угольный картридж, но я уже третий час игнорировал эти сигналы. Спектральный анализ воздуха за окном сегодня показывал рекордные $280 \mu g/m^3$ взвешенных частиц $PM_{2.5}$. Это означало, что Токио-2 окончательно превратился в консервную банку, где вместо кислорода люди вдыхали сухой остаток промышленного пластика и серы.
Я сидел перед изогнутой панелью монитора, на которой лениво покачивалась виртуальная ветка дуба.
Каждый лист был не просто набором полигонов. Я прописывал физику взаимодействия света с хлорофиллом, используя модифицированную функцию двунаправленной отражательной способности (BRDF). Математическая модель подповерхностного рассеивания света внутри листа выглядела так:
$$I(\omega_o) = \int_{H^2} f_r(\omega_i, \omega_o) L_i(\omega_i) \cos \theta_i d\omega_i + T(\omega_o)$$
Где член $T(\omega_o)$ отвечал за трансмиссию — ту самую мягкую, глубокую зелень, которая видна, если посмотреть на лист против солнца. Настоящего солнца я не видел уже три года, но алгоритм помнил его лучше, чем моя сетчатка.
— Твоя трава слишком тяжелая, Леша, — раздался за спиной голос Марка. Он вошел без стука, шурша защитным комбинезоном из металлизированного нейлона. — Рендеринг одного квадратного метра твоего подлеска забивает половину вычислительного кластера сектора «Гибискус». Совет требует упростить геометрию. Сделай листья плоскими текстурами с альфа-каналом. Как в старых играх.
Я не обернулся. Пальцы продолжали порхать по сенсорной клавиатуре, корректируя индекс преломления света в каплях росы.
— Плоские текстуры не дышат, Марк, — глухо ответил я через фильтр маски. — Если мы упростим геометрию, люди внутри симуляции будут чувствовать фальшь на подсознательном уровне. Наш мозг эволюционировал миллионы лет в окружении фрактальной сложности живой природы. Убери эту сложность — и мы получим цифровой психоз через три цикла после загрузки сознания.
— Мозг тех, кто подпишет контракт на оцифровку, будет сжат на $95\%$, — Марк подошел ближе и положил руку мне на плечо. Его перчатка пахла дезинфицирующим раствором. — Им будет все равно, Леша. Они будут рады просто тому, что у них больше не болят легкие. Убери хаотичные шумы из генератора коры. Сделай деревья одинаковыми. Это сэкономит терабайты оперативной памяти.
Я замер. На экране монитора виртуальный ветер бережно колыхал ветку дуба. На один из листьев упала цифровая гусеница — крошечный скрипт, пожирающий полигоны, чтобы симулировать естественное увядание.
— Одинаковые деревья — это не лес, — тихо сказал я. — Это забор. Мы строим «Ковчег», Марк. Спасательную капсулу для человеческого духа. Если мы заперем людей в стерильном, оптимизированном заборе, мы убьем в них последнее, что отличает нас от машин — способность удивляться случайности.
Марк вздохнул. Его маска издала пронзительный свист — его картридж тоже подходил к концу.
— Совет дает нам три месяца на закрытый бета-тест первого сектора. Если система не покажет стабильные $100\%$ рендеринга при пиковой нагрузке в миллион сознаний, проект «Новый Лес» лишат финансирования. И тогда мы все останемся здесь. Настоящая осень за окном будет последней для Токио-2. Ресурсы купола на исходе.
Он развернулся и вышел, оставив меня наедине с моим дубом.
Я посмотрел на экран. В правом углу мерцал лог компиляции. Я открыл файл конфигурации ядра и вручную закомментировал строчку автоматической оптимизации ландшафта. Вместо нее я ввел новую переменную:
[CORE_PARAMETER: CHAOS_LEVEL = 0.42]
Это был мой первый саботаж. Коэффициент, который позволял Системе генерировать ошибки в росте ветвей, искривлять стволы вопреки идеальным лекалам и создавать гнилые пни, которые Марк так настойчиво требовал вырезать.
Я протянул руку и взял со стола старую кожаную тетрадь. Её страницы были желтыми, сухими, пахнущими настоящим деревом — редчайший артефакт, который я выменял на черном рынке за три месячных рациона чистой воды. Я открыл первую страницу и провел перьевой ручкой тонкую черную линию.
«Если мир должен быть записан, его нужно писать со всеми его ранами», — вывел я аккуратным почерком.
За окном, сквозь желтую пелену аэрозоля, медленно опускались сумерки. Город умирал тихо, без взрывов, просто растворяясь в пыли. А на моем мониторе, подчиняясь скрытому коду хаоса, рос первый, несовершенный и абсолютно живой лист Нового Леса.
Глава 2: Уравнение жизни
В лаборатории пахло перегретым кремнием, озоном и застоявшимся синтетическим чаем. Системные вентиляторы на потолке лениво гоняли тяжелый, сухой воздух, который всё ещё казался слегка горьковатым на вкус после вчерашней утечки из очистного фильтра.
Я смотрел на монитор, где в реальном времени разворачивался график когнитивной деградации бета-тестеров из фокус-группы.
Линии на графике стремились вниз с пугающей плавностью. Это была симуляция угасания разума. Люди, чьи оцифрованные сознания мы поместили в идеально смоделированный, стерильный парк Марка, медленно сходили с ума. Это не было бурным безумием с криками и галлюцинациями. Это была тихая, апатичная смерть мысли. Цифровое слабоумие.
Я открыл лог анализа энтропии мозговой активности подопытных. Формула информационной энтропии Шеннона для их мыслительных паттернов выглядела стандартно:
$$H(X) = -\sum_{i=1}^{n} p(x_i) \log_2 p(x_i)$$
В первые часы после загрузки значение $H(X)$ держалось на уровне $5.8$, что соответствовало здоровому, бодрствующему человеку. Но уже к концу вторых суток, по мере того как симулированный мир вокруг них оставался неизменным, предсказуемым и безопасным, энтропия падала. Она стремилась к нулю. Мозг упрощал сам себя, отказываясь обрабатывать окружение, в котором не было загадок, неровностей и ошибок.
— Они тупеют, Марк, — негромко сказал я, услышав за спиной мягкие шаги его тяжелых армейских ботинок. — Твой «идеальный сад» стирает их личности быстрее, чем вирус деменции.
Марк остановился у моего плеча. От него, как всегда, пахло идеальной чистотой — спиртовой дезинфекцией и свежевыстиранным нейлоном костюма. На его лице не было ни тени усталости, только холодная собранность прагматика.
— Это не слабоумие, Леша. Это покой, — спокойно ответил он, вглядываясь в ползущие вниз кривые. — Они больше не испытывают стресса. Их гормональный фон в симуляции стабилен. Сердцебиение — в пределах нормы. Нам не нужны флуктуации. Нам нужна стабильная система, способная пережить коллапс физического мира.
— Покой — это статичное состояние термодинамического равновесия, Марк, — я развернулся на кресле, глядя ему прямо в глаза. — А термодинамическое равновесие для живого организма — это смерть. Живая клетка существует только потому, что она непрерывно борется с энтропией, создавая хаос вокруг себя, чтобы удерживать порядок внутри. Если ты убираешь внешний хаос, мозг решает, что он мертв, и выключает сознание за ненадобностью.
Я постучал аналоговой перьевой ручкой по краю монитора. На тонком металлическом пере застыла капля черных чернил.
— Нам нужно уравнение жизни, Марк. Математическая модель, которая будет генерировать ошибки.
Марк нахмурился. Он протянул руку и открыл на соседней панели трехмерную сетку сектора «Гибискус».
— Любая ошибка в коде — это уязвимость, — жестко произнес он. — Совет Купола выделил нам ограниченные серверные мощности. Мы не можем позволить себе обсчитывать терабайты бесполезного шума. Смотри сюда.
Он ткнул пальцем в экран. На сетке отобразилась оптимизированная модель сосны.
— В моем алгоритме дерево описывается простой L-системой. Фрактал первого порядка. Все ветки отходят под фиксированным углом $\theta = 35^\circ$. Это позволяет видеокартам рендерить миллионы таких деревьев в секунду с нулевой задержкой. Всё предсказуемо. Всё работает в $O(1)$. Что предлагаешь ты?
Я усмехнулся и вывел на экран свою рабочую формулу генератора коры и ветвления. Моя математическая модель хаотичного роста учитывала флуктуации внешней среды:
$$P(x) = \Phi(x) \cdot e^{-\alpha x} + \gamma \cdot \sin(\omega x + \theta) \cdot \ln(1 + \text{CHAOS\_LEVEL})$$
Где $\Phi(x)$ — базовая фрактальная структура, а правая часть уравнения с коэффициентом CHAOS_LEVEL отвечала за непредсказуемое искривление ствола, появление случайных дупел, наростов капа и гнилых сучьев.
— Мой алгоритм заставляет каждое дерево бороться за свет с соседними объектами, — объяснил я. — Оно искривляется не просто так, а потому что симулированный ветер дует неравномерно. Да, это требует в три раза больше вычислительной мощности. Но это заставит мозг бета-тестеров работать. Они будут видеть несовершенство и верить в реальность этого мира.
— Совет этого не одобрит, — отрезал Марк. — Они увидят в твоем CHAOS_LEVEL потенциальную лазейку для системных сбоев. Мы строим убежище, Леша, а не полигон для твоих философских экспериментов. Завтра утром я передам ядро генератора на финальную оптимизацию. Мы вырежем весь динамический шум. Симуляция должна быть стабильной.
Он повернулся и направился к выходу. На пороге он на мгновение задержался, не оборачиваясь.
— Настоящая осень снаружи убивает Купол, Леша. Сегодня в третьем секторе Токио-2 отключили воду на двенадцать часов. У нас нет времени на «красоту ошибок». Нам нужно выжить.
Дверь за ним захлопнулась с тяжелым, герметичным шипением.
Я остался один. За окном лаборатории, сквозь плотный слой желтого смога, тускло светились огни умирающего мегаполиса. Токио-2 медленно задыхался, зажатый в тиски железных куполов, пока его жители стояли в очередях за синтетическим белком и чистым воздухом.
Я посмотрел на монитор. На виртуальную ветку дуба, которая медленно покачивалась под воздействием моего несовершенного, живого алгоритма.
— Выжить — не значит просто не умереть, Марк, — тихо произнес я.
Я открыл консоль корневого доступа к компилятору ядра Системы. Пальцы летали по клавиатуре, открывая конфигурационные файлы, к которым у отдела оптимизации Марка ещё не было полного доступа.
Я нашел строчку инициализации глобальных параметров генератора ландшафта.
// TODO: Optimize out before production build float CHAOS_LEVEL = 0.00;
Я занес перо над своей кожаной тетрадью, сделал короткую запись, а затем вернулся к экрану. Мои пальцы стерли два нуля. Вместо них я ввел значение, которое навсегда изменит судьбу этого цифрового приюта.
float CHAOS_LEVEL = 0.42;
Я сохранил изменения, зашифровал этот блок кода под видом системной библиотеки рендеринга теней и отправил билд на компиляцию.
Пусть Марк думает, что его оптимизированный сад идеален. В самом его основании, в глубине корневых директорий, теперь жил вирус жизни. Ошибка, которая заставит этот мир дышать.
Глава 3: Первые гости
В два часа ночи гул вентиляторов в техническом секторе Купола стихал, превращаясь в ровный, почти усыпляющий фон. Давление в маске немного упало — ночью очистители переводили в режим экономии, и воздух становился еще суше, с привкусом известковой пыли.
Я сидел на полу лаборатории, прислонившись спиной к теплому системному шкафу. У моих ног, свернувшись калачиком, спал пес. Самый обычный, беспородный, с палевой шерстью и ободранным правым ухом. Я нашел его три недели назад в дренажном коллекторе седьмого яруса, где он пытался вылизать конденсат со ржавой трубы. Животные в Токио-2 давно стали роскошью, обреченной на вымирание в бетонных колодцах, но этот пес обладал поразительным упрямством.
Я назвал его Шариком.
На рабочем столе, прямо на клавиатуре терминала, спал второй «нелегальный резидент» моей лаборатории — серый полосатый кот Барсик. Он лениво подергивал усами во сне, не обращая внимания на мигающие диоды компилятора.
Сегодня был важный день. Я запускал первый протокол переноса органического разума в тестовый Сектор 0.
— Ну что, бродяга, — тихо сказал я, потрепав Шарика за ухом. Он приоткрыл один янтарный глаз и негромко стукнул хвостом по полу. — Давай покажем Марку, что его формулы не учитывают преданность.
Перенос сознания животного технически был даже сложнее человеческого. У собаки или кошки нет языкового интерфейса, их мысли не структурированы концепциями. Чтобы спроецировать их нейронную активность в цифровую матрицу, мне пришлось разработать алгоритм динамического картирования сенсорных векторов. Формула непрерывного отображения биологического состояния $\vec{x}(t)$ в виртуальное пространство эмуляции $\vec{y}(t)$ выглядела следующим образом:
$$\vec{y}(t) = \mathbf{W} \cdot \vec{x}(t) + \int_{0}^{t} \mathcal{K}(t - \tau) \sigma(\vec{x}(\tau)) d\tau$$
Где $\mathbf{W}$ — матрица проекционных весов синаптических связей, а интегральный член с ядром обратной связи $\mathcal{K}(t - \tau)$ отвечал за реакцию на симулированные раздражители виртуального мира, пропущенные через нелинейную функцию активации $\sigma$.
Я осторожно закрепил на голове Шарика легкую сетку нейро-интерфейса. Пес даже не вздрогнул, он доверял мне абсолютно. Его доверие было самым чистым, самым стабильным паттерном во всей этой грязной лаборатории.
Я поднялся, подошел к консоли и запустил процесс сканирования.
[SYS_INIT: ANIMAL_MIND_TRANSFER_v0.1] [TARGET: CANIS_LUPUS_FAMILIARIS] [NEURAL_SCANNING: ACTIVE]
На левом мониторе побежали зеленые нити синаптического картирования. Шарик спал, его физическое дыхание оставалось ровным, но в Системе, в самом центре пустого, бесцветного Сектора 0, начала собираться трехмерная фигура.
Сначала это было лишь облако золотистых искр. Затем алгоритм подгрузил базовый меш ретривера, который я подготовил заранее. Искры вросли в виртуальные кости и мышцы, и на экране появился пес. Он сидел посреди пустой цифровой равнины.
Я надел защитные очки виртуального присутствия. Мое сознание частично погрузилось в Сектор 0.
Я стоял на цифровом песке. Шарик побежал ко мне. Его виртуальный хвост вилял с такой бешеной скоростью, что за ним оставался легкий, светящийся шлейф из нераспавшихся пикселей. Глаза пса светились живым, теплым светом. Он ткнулся носом в мою виртуальную ладонь, и я почувствовал... нет, не физическое тепло, а его ментальный отклик. Сигналы радости и привязанности, преобразованные Системой в легкие электрические импульсы на моих висках.
— Работает, — прошептал я. — Ты здесь, парень.
Но самым удивительным было другое. Как только Шарик появился в Секторе 0, общая энтропия ядра Системы, которая до этого стабильно стремилась к нулю, вдруг сделала резкий скачок вверх. График ожил. Пес принес с собой хаос — не разрушительный, а теплый, органический хаос живого существа. Его поведение не было прописано скриптами. Он лаял, когда ему хотелось, бегал кругами и пытался грызть виртуальный кусок дерева, заставляя физический движок просчитывать миллионы случайных соударений.
Конец ознакомительного фрагмента.
Текст предоставлен ООО «Литрес».
Прочитайте эту книгу целиком, купив полную легальную версию на Литрес.
Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.









