Александр Саян "Спаситель Великой Пустыни"

Мир научной фантастики похоже умер. Книжные полки наводнены сплошными летающими супер героями в трико и крутыми спецназовцами с пулемётам в одной руке и мечом в другой. А иногда так хочется почитать чего-нибудь новенького из братьев Стругацких, Станислава Лема или Карла Сагана. Но не получится – вымерли. Всегда очень трудно читать фантастику на тему "Виртуальные Миры". А трудно потому, что обычно такое пишется людьми не имеющими ни малейшего понятия об информационных технологиях. Всё это очень несерьёзно воспринимается в кругах специалистов, а особенно программистов и не пользуется среди них популярностью. Этот роман – попытка сделать что-нибудь путное в старом добром жанре "Научная Фантастика". Тем более попытка написать про виртуальный мир рукой программиста, который раньше писал программы моделирующие такой мир.

date_range Год издания :

foundation Издательство :Автор

person Автор :

workspaces ISBN :

child_care Возрастное ограничение : 12

update Дата обновления : 30.04.2023


– Нет не могут. У них мутируют только свойства. Ну там тяжелее становятся или легче. Может коэффициент злости добавиться или уменьшиться, размер, скорость. Но сама программа управляющая этими кляксами одна на всех и она не меняется. Вот если бы я сделал так, чтобы каждая особь свою программу с собой носила и эта программа случайным образом изменялась у потомков, то тогда да. Нежизнеспособные программы вымирали бы, а случайно сделанное полезное изменение наоборот давало преимущество и такие особи бы выживали. Что-то типа нашей ДНК[11 - Дезоксирибонуклеи?новая кислота? (ДНК) – макромолекула, обеспечивающая хранение, передачу из поколения в поколение и реализацию генетической программы развития и функционирования живых организмов.]. Но это гораздо сложнее сделать сроки нужны другие.

– Ну сделай пожалуйста. – взмолился Родион. – У нас же суперкомпьютер скоро заработает. Там скорость бешеная. Эволюция до разумной кляксы за пару дней пройдет. Очень хочется на это посмотреть!

– Родион отстань от дяди! – донесся голос Бориса. – дядя Сережа будет делать только то, что дяде Боре надо. Понятно?

– Понятно.

Родион поплелся на свое место, одел наушники и начал молотить по клавиатуре.

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

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

Но самым большим новшеством было то, что алгоритм писался для суперкомпьютера с почти бесконечным числом процессоров и такой же почти бесконечной памятью для данных. Раньше для обсчета происходящего в виртуальном мирке эволюции применялся один бесконечный цикл, который пробегал по всем существам и вычисляя взаимодействия каждого существа с окружающей средой вносил изменения в его сущность, такие как новые координаты, скорость, направление движения и так далее. По сути этот алгоритм был рассчитан на один процессор. Теперь же для каждого нового существа запускался новый параллельный поток[12 - Параллельный поток – объект, выполняемый параллельно с основным потоком приложения и с другими параллельными потоками.], для которого выделялся персональный процессор и в этом потоке работал свой бесконечный цикл обсчитывающий изменения для своего существа. Ассемблер, то есть система инструкций вакуумного суперкомпьютера была очень хорошо настроена на параллельные вычисления и поэтому новшества на величину кода почти не повлияли. Писалось вполне легко и быстро и с каждым часом производительность увеличивалась. Уже к вечеру основной костяк алгоритма был почти готов. Осталась отладка кода.

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

Вечер с бутылкой пива был на веранде. Похоже зарождалась новая традиция. Рассказал Борису и Родиону, что удалось сделать и что наметил на будущее.

– Вечно ты себе придумываешь новые головняки – пробурчал Борис. – Сделал бы один в один как было раньше и все дела.

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

– А ДНК к ним приделаешь? – Робко влез в разговор Родион.

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

– Вот отчитаемся перед заказчиком, что вакуум не засыпает, тогда и будете приделывать. Можете хоть гениталии к своим кляксам приделывать. – Строго произнес Борис.

– А знаешь Боря, с гениталиями это очень интересная идея. Я еще когда в первый раз писал, думал как туда встроить половое размножение. – Задумчиво произнес Сергей. – Половое размножение это было великое изобретение природы, позволившее перейти эволюции к настоящему видообразованию.

– Если я про гениталии на совете директоров вякну, то нам быстро дадут коленом по этим самым гениталиям. – Пробурчал Борис, а остальные хором заржали.

Демонстрация эволюции

– Ну давай показывай! – Раздался голос Бориса над ухом Сергея. – Говорил, что за неделю успеешь, а уже третья неделя началась.

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

– Так у тебя мир двумерный, зачем 3D?

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

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

К компании старых коллег и друзей пристроился Родион и тихонько вытаращив глаза наблюдал за демонстрацией.

– Ну вот смотри – начал показывать программист – Чистый экран. Теперь я подвожу курсор к любому месту и нажимаю F2. В это место попадает зародыш растения. Это основа пищевой цепочки, энергетическая база экосистемы.

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

– Это что и вся эволюция? – Разочарованно спросил Родион.

– Да подожди ты. – Парировал Сергей. – Это только кормовая база. Сейчас мы первую корову туда подсадим.

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

– Смотрите, она сейчас нажрется и захочет размножиться.

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

– Процесс пошел! – Радостно констатировал Борис.

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

– А что означает постепенное изменение цвета? – Спросил Борис. – В твоей старой программе было только два цвета, красные – хищники а синие – травоядные.

– Сейчас цвет означает в какой степени они хищники или травоядные. Каждое животное в какой-то степени и то и другое, кроме красного и фиолетового цвета. Это крайние степени этого свойства.

А на экране действие продолжалось. Вскоре трава почти исчезла и скопления клякс начали бледнеть от недостатка корма. Случилось первое массовое вымирание. Кляксы бледнели и исчезали, а наиболее зеленые желтые и даже оранжевые принялись охотится на своих мелких собратьев. Начали появляться даже редкие красные, которые не стеснялись нападать даже на особо крупных особей. Междоусобица виртуальных организмов тоже изрядно уменьшила численность населения экрана монитора.

Массовое вымирание сменилось на новое возрождение жизни. Остатки травы снова пошли в рост, занимая свободное пространство. Оставшиеся травоядные, усилено питаясь, тоже стали усиленно размножаться, а за ними стали подтягиваться и хищники. На лицо наблюдалось явление под названием "Популяционные волны или волны жизни"[13 - Популяционные волны или волны жизни – колебания численности организмов в природных популяциях. Могут быть как периодическими, так и непериодическими. Термин был введён русским биологом Сергеем Сергеевичем Четвериковым в 1905 году. Это явление наблюдается у любых видов растений и животных, включая микроорганизмы.]

Троица зачарованно следила за пестрым калейдоскопом компьютерной модели. Наконец долгое молчание нарушил Борис.

– На экране это что и весь виртуальный мир?

– Нет. Это только небольшой участок сферы. Но в других местах происходит примерно тоже самое. Мы смотрим на эту сферу с камеры как-бы с орбиты. Вот этими клавишами можно приближать или удалять изображение, а этими двигать влево вправо или вверх и низ.

– Понятно – сказал Борис и побежал к своему столу. Схватил телефон, и принялся докладывать о программе начальству. Вернувшись сообщил, что на завтра назначен совет директоров и он будет докладывать о проделанной работе. Их возьмет с собой, на случай, если возникнут сложные технические вопросы.

Вечер за пивом, прошел в обсуждении будущих перспектив.

– Давай Сережа рассказывай, что ты там удумал сотворить? – Спросил Соколовский.

– Я хочу сотворить вселенную. И начну с Большого Взрыва. Поэтому Родик мне нужна литература по квантовой физике и астрофизике и не научно-популярная, я уже достаточно ее начитался, а самая серьезная с формулами и математическими выводами.

Квантовая математика

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

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

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

– Может я зря за это дело взялся? – Вслух начал размышлять Сергей. – не по Маномаху шапка оказалась. Пойти что-ли доложить Борису что не потяну такую задачу. Мозгов и знаний в этих мозгах не хватает. Пусть они сами придумают, чем еще ему можно заняться.

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

– У меня для тебя плохая новость.

– А я хороших и не жду. Ядерная война? Нас уволили без выходного пособия?

– Ни то ни другое. Умер Володя Ручка, помнишь такого?

– Ещё бы не помнить, что случилось?

– Подхватил корона вирус и умер.

Сергей злобно выругался и плюхнулся в кресло.

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

Сергей взял бутылку со стола, отвинтил крышку и начал пить.

– Помнишь Боря, мы как-то сидели в "Старом Ките".

– Как же, помню конечно.

– И вот Ручка тогда завелся утверждать, что у нас в мире неправильная любая наука, потому что математика неправильная.

– Что-то смутно припоминаю.

– Так вот Ручка утверждал, что весь мир вокруг дискретный, квантовый. Нет ничего непрерывного и плавного. А математика учит исследовать его при помощи непрерывных и плавных функций, то есть процессов. Наша математика даже элементарную Задачу Трех Тел[14 - Задача трёх тел в астрономии – одна из задач небесной механики, состоящая в определении относительного движения трёх тел (материальных точек), взаимодействующих по закону тяготения Ньютона (например, Солнца, Земли и Луны).] решить не может. А программу для компьютера чтобы решить эту задачу написать можно запросто. Разбить время на отрезки и вычислять координаты каждого тела в каждой точке отрезка путем сложения векторов сил исходя из скорости и ускорения. И чем короче сделать отрезки тем точнее будет решение задачи. Тогда Ручка утверждал, что он пишет новую математику и хочет назвать её "Квантовой Математикой". Я тогда решил, что он просто прикалывается.

– Ты к чему это все Сережа? – удивленно спросил Борис.

– Я кажется понял как устроен этот мир. В этом мире нет иррациональных чисел[15 - Иррациона?льное число? – это вещественное число, которое не является рациональным, то есть не может быть представлено в виде обыкновенной дроби.] Все значения в этом мире рациональные и более того они целые, если их измерять числом квантов. Квант массы, квант энергии, квант силы, квант времени и так далее. Ты меня понимаешь Борис! – Сергей в возбуждении перешел на крик.

– Я теперь понял почему микромир такой странный по сравнению с макромиром. Вдруг электрон с одной орбиты вокруг ядра атома на другую мгновенно перескакивает или вообще в другом месте оказывается. Просто для него квант времени и квант пространства слишком большие величины. Потому что не может быть полтора кванта, а может только один квант или сразу два. И современная Теория струн[16 - Тео?рия струн – направление теоретической физики, изучающее динамику взаимодействия объектов не как точечных частиц, а как одномерных протяжённых объектов, так называемых квантовых струн. Теория струн сочетает в себе идеи квантовой механики и теории относительности, поэтому на её основе, возможно, будет построена будущая теория квантовой гравитации.] прекрасно вписывается в эту модель, просто физики и математики ещё не поняли одной простой вещи, что струны это другая абстракция, которая описывает кванты пространства – времени. И еще я понял одну вещь, почему этот вакуумный компьютер не имеет инструкций ассемблера для операций над числами с плавающей точкой[17 - Число с плавающей запятой (или число с плавающей точкой) – экспоненциальная форма представления вещественных (действительных) чисел, в которой число хранится в виде мантиссы и порядка (показателя степени). При этом число с плавающей запятой имеет фиксированную относительную точность и изменяющуюся абсолютную. Реализация математических операций с числами с плавающей запятой в вычислительных системах может быть как аппаратная, так и программная.]. А потому что они не нужны в мире где всё состоит из целых чисел. Да, из огромных чисел. Я когда подсчитал какое число в ячейку памяти может поместиться и сравнил с числом протонов и нейтронов в нашей вселенной, то понял для чего нам подсунули этот компьютер. А подсунули для того, чтобы мы сделали еще одну вселенную.

– Ни черта я не понимаю что ты говоришь. – Угрюмо вставил Борис. – Я кажется понял, что крыша поехала. Пора завязывать с твоей идеей пока в психушку не забрали.

– Нет не поехала! Я теперь знаю как модель делать. Спасибо Володе, он подсказал!

В поисках жизни

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

– Чему радуешься Борис? – Спросил Сергей – тебе, что премию выписали в миллион евро?

– Как ни странно, но ты попал в самую точку. Только миллион выписали не мне а тебе.

Родион от удивления аж присвистнул. – А нам что?

А нам с тобой Родик, как неполноценным членам трудового коллектива тоже выписали, только суммы поскромнее. Тебе 250 тысяч, а мне пол лимона.

– Не фига себе! – Заорал Родион. – Я себе Феррари красную куплю! И комп квантовый.

– Погоди Родик. – Осадил системщика Сергей. – Это похоже на сыр. Осталось разобраться где мышеловка.

Борис дождался паузы и начал докладывать:

– Пол дня были разборки со смежниками. У них как-то не идут дела. Искусственный Интеллект предсказывает будущие котировки на бирже, но сам же влияет на это будущее. Если после его предсказаний ничего не делать, а само предсказание держать в страшной тайне, то все предсказания сбываются. По всей видимости в нашей конторе есть утечка. Предсказания несмотря на жесточайшие меры секретности становятся известны конкурентам и они тоже ими пользуются. Весь эффект уходит в ноль. Например акции, которые должные должны были упасть в цене вдруг начинают резко дорожать и наоборот. В общем они начали переделывать интеллект на предсказания с учетом влияния этих предсказаний на рынок, но кажется мало, что помогает. Короче разделывали их в пух и прах, только перья летели.

– А нас за что премировали? – хором спросили Сергей с Родионом.

– Ну во-первых за то что эволюция сработала как надо, вакуум не засыпает, а продолжает бодро работать. Во-вторых за то что Сергей допилил Си, и это позволило смежникам уйти от ассемблера и производительность увеличилась. А в третьих, чего я не ожидал, их почему-то очень заинтересовала модель вселенной, над которой Сергей сейчас работает. Насыпали кучу вопросов и я очень пожалел, что не взял тебя Сережа с собой.

– По поводу предсказаний, я такой эффект предвидел. – Задумчиво произнес Сергей. – Эффект бабочки [18 - Эффект бабочки – термин в естественных науках, обозначающий свойство некоторых хаотичных систем: незначительное влияние на систему может иметь большие и непредсказуемые последствия, в том числе в совершенно другом месте.]. Видимо они Бредбери[19 - Рэй Ду?глас Брэ?дбери – американский писатель, известный по антиутопии «451 градус по Фаренгейту», циклу рассказов «Марсианские хроники» и частично автобиографической повести «Вино из одуванчиков».] не читали.

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

– Сережа! А ты разбираешься в криптовалюте?

Сергей с трудом вылез из глубин своего мозга и недовольно спросил, – а что там разбираться? Никогда не имел. Курса обмена не знаю.

Нет я не об этом, а ты смог бы написать программу для майнинга?

– Запросто. Там нет ничего сложного, очень простой алгоритм. Только зачем? Их уже столько написано.

– Но не для вакуумного компьютера.

– А! Я кажется понял чего ты хочешь. Ты хочешь используя его мощь стать самым богатым человеком на земле? Ничего не получится.

– Почему?

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

– А если скромненько по паре лимонов на брата и остановиться?

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

– Сергей, а почему корпорация сама этим не занимается? Неужели не додумались?

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

Все книги на сайте предоставены для ознакомления и защищены авторским правом