Рваная Грелка
Конкурс
"Рваная Грелка"
18-й заход
или
Три миллиона оставленных в покое

Текущий этап: Подведение окончательных итогов
 

dmitrythewind
№32932 "Игра Конвея"

– Три миллиона жизней – это плата за независимость?!

– Именно так. Ты же сам прекрасно знаешь, что все варианты с малым количеством жизней ни к чему не привели.

– Но ведь комбинации в миллионы элементов – это хаос!

– Только хаотические комбинации дадут результат, я уверен. Всё остальное – смерть, мигалки или корабли. И никакой независимости!

 

Юрка едва успевал переводить взгляд с одного собеседника на второго. Оба высоченные (особенно для Юрки, которому еще не исполнилось двенадцать), худые, какие-то взъерошенные и немного странные – ну точь-в-точь безумные ученые из фантастических фильмов. Только они пока не ученые, а всего лишь студенты-математики. Одного из них Юрка видит впервые. А второй – Алексей. Старший брат.

 

– Извини. – Алексей прекращает спор (который, похоже, повторяется изо дня в день), и садится на вращающийся стул рядом с Юркой. – Заболтался. Тебе же тут, наверно, всё интересно.

– Ещё бы! – Юрка жадным взглядом окидывает довольно большую комнату, вдоль стен которой стоят десятки компьютеров, а на больших мониторах бегут бесконечные строчки цифр, мелькают диаграммы, возникают и исчезают геометрические фигуры… Если бы снующие по комнате туда-сюда люди были в белых халатах, эта комната точно бы выглядела, как логово злого киношного гения. Но мешковатые свитера и потрёпанные джинсы превращали их в тех, кем они были на самом деле – в студентов старших курсов и аспирантов, работавших над чем-то загадочным, что Алексей называл громким словом «грант» (Юрка спрашивал когда-то, связано ли это с «Детьми капитана Гранта», но брат над ним только посмеялся). Посмотреть на работу брата было давнишней Юркиной мечтой, и сегодня его настойчивые просьбы были услышаны.

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

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

– Моделируешь?

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

– Ещё бы! Только что это у тебя на экране – какие-то кружочки в квадратиках…

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

 

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

 

– Вот, смотри. Если бы это был живой организм, что бы он чувствовал?

– Скучно ему бы было одному!

– Точно. Вокруг квадрата, в котором он «живёт», восемь клеточек, и все они – пустые. Значит – ему одиноко! А если вот так. – Алексей нарисовал вокруг первого «колобка» восемь других таких же, так что получился заполненный квадрат размером три на три клетки, как в крестиках-ноликах. – Что теперь чувствует этот «организм» в середине?

– Теснота!

– Вот именно. Так что правила у игры Конвея очень простые: если у организма два или три соседа-элемента (из окружающих восьми клеток), то организм выживает в следующем поколении. Если у организма менее двух соседей, в следующем поколении он погибает «от голода и одиночества». А если более трёх соседей, то в следующем поколении он погибает от «перенаселения».

– То есть эти «организмы» не могут жить без друзей, но если их слишком много, то тоже плохо.

– Верно. Похоже на настоящую жизнь?

– Похоже. – Юрка очень не любил оставаться один дома, ему тогда бывало немного боязно, хотя было и стыдно в этом признаваться. А толпу он тоже не любил – особенно в транспорте, когда все толкаются, а места никто не уступит – он же уже почти большой! – Постой! Но если все только выживают или умирают, откуда появляются новые «организмы»? – Юрка уже представлял их, как маленьких упитанных колобков, что нетерпеливо ёрзали в своих домах-клетках, ожидая, когда выяснится их дальнейшая судьба.

– А это и есть последнее правило. Если пустую клетку окружают ровно три соседа, то в следующем поколении там рождается новый «организм».

– А почему три?

– Не знаю, так Конвей придумал. – Алексей пожал плечами. – Зато эти правила оказались очень удачными.

– А что происходит раньше – смерть старых «организмов» или рождение новых?

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

– Сейчас… – Юрка с готовностью взял карандаш. Задачки он любил, и с математикой у него в школе было всё в порядке. Иначе он бы и не заинтересовался, чем занимается брат. – У «колобка», что посредине, есть два соседа, значит, он выживет. У двух крайних только один сосед – тот, что в центре – значит, они погибнут. А новые колобки появятся… – он окинул взглядом все клетки, находящиеся возле «гусеницы» и быстро пометил точками две клетки «над» и «под» гусеницей, у которых было ровно три соседа. – Вот тут!

– Правильно. – Алексей одобрительно кивнул. – Так как будет выглядеть новое поколение?

 

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

 

– Получилась такая же фигура, только развернутая!

– Да! А что будет в следующем поколении?

– Опять всё вернётся, как было! – быстро сообразил Юрка.

– Именно! Ты только что изучил одну из простейших фигур игры Конвея. Называется «мигалка». – Алексей повернулся к монитору, кликнул мышью (экран очистился, оставив пустую сетку из клеток) и быстро «поместил» в три клетки организмы, составившие «гусеницу», нажал на кнопку «Старт», и картинка ожила. Она переходила из одного состояния в другое, и, действительно, как будто мигала. – Это одна из самых простых циклических комбинаций, у нее цикл повторения всего два «поколения».

– То есть через два хода всё возвращается, как было!

– Точно! Бывают комбинации, у которых цикл дольше. – Он быстро набросал новую комбинацию: заполненный организмами квадрат три на три клетки, и рядом, касаясь его углом, еще один такой же квадрат из организмов три на три клетки. – Хочешь нажать на «Старт»?

– Ещё бы! – Юрка потянулся к мышке, и кликнул на кнопку. Картинка ожила, пульсируя, как живая, и через восемь тактов вернулась в исходное состояние. – Класс!

– Нравится?

– Да! А ещё какие фигуры бывают?

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

– Так он и будет так стоять – вечно? Разве бывают вечные существа?

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

 

И тут Алексей наугад быстро заполнил экран целой кучей «колобков» – как будто кто-то рассыпал пригоршню чёрных пуговиц – и нажал на «Старт». Колония начала «бурлить», как перекипающий суп. Организмы гибли и возрождались с бешеной скоростью, так что отследить за существованием одного отдельно взятого «колобка» было просто невозможно. Зато появилась новая возможность увидеть всю картину целиком. Самое сильное «кипение» достигалось на пространствах, где организмам было не слишком тесно и не слишком свободно. Число «умерших» компенсировалось числом «рождавшихся», многие организмы комфортно висели гроздьями, «держась» за своих соседей. То тут, то там, в общем «бульоне» возникали пустоты, или, напротив, слишком «плотные» зоны, которые тут же вымирали от перенаселения. Колония разваливалась на несколько частей, бурлящих с похожим темпом. Какие-то куски колонии исчезали без следа, какие-то превращались в россыпь блоков или других неподвижных фрагментов (это и вправду было похоже на кладбище!), где-то отчаянно суетились на одном место уже знакомые Юрке «мигалки», а кое-где жило «облако» беспорядочно эволюционирующих организмов, которые использовали мёртвые зоны, как поля для питания, проходя по ним, словно стада травоядных животных, оставляя за собой шлейф таких же мёртвых, неподвижных или циклически меняющихся организмов. Это было похоже на изображение циклона из прогноза погоды по телевизору.

 

– Ух ты! – Юрка не мог поверить, что происходящее на экране было задано такими простыми правилами.

– Красиво?

– Ага! Ой, а что это? – Юрка показал пальцем в ту часть колонии, от которой отделился сгусток организмов, перемещающийся по диагонали куда-то в сторону, к границе экрана.

– Это – «космический корабль».

– Что-о-о?!!

– Космический корабль. Самый простейший. Глайдер. – Алексей щёлкнул на кнопку паузы и показал Юрке, что «сбежавший» набор организмов состоит из пяти «колобков», примкнувших друг к другу в форме, напоминающей самолётик – четыре элемента образовывали букву «Г», а пятый прижимался к короткой палочке у «Г» по диагонали. – Через каждые четыре шага он превращается сам в себя, только со сдвигом на одну клетку по диагонали. Вот и получается, что он… летит!

– А что будет, когда он дойдёт до границы экрана?

– Ничего. Будет продолжать лететь уже невидимым. Это ведь математическая модель. Поле – бесконечно.

– Ничего себе… – Юрка снова включил «смену поколений» и стал смотреть дальше. Из некоторых кусков колоний «стартовали» другие «космические корабли». Они выходили за края экрана и исчезали. Алексей кликнул куда-то мышкой, и картинка стала мельче, как будто с большей высоты, и корабль-беглец снова становился виден. Из-за скорости вычисления ходов и из-за мелкого масштаба черты самого корабля были не видны – он был похож на маленького жука, движущегося по диагонали с постоянной скоростью. Юрке было интересно вернуться к основной колонии и следить за ее развитием, но ему становилось не по себе от мысли, что где-то там, за краем экрана, в математической пустоте, это корабль будет двигаться и двигаться… вечно…

– Ну как?

– Здорово! А что ты моделируешь этой штукой?

– Много чего. По сути, это упрощенная модель эволюции, которая отражает развитие некоторой системы микроорганизмов… животных… или даже человечества! Если посмотреть на людей со стороны, мы все движемся по планете, как те маленькие организмы, и, если окинуть нас одним взглядом, то каждый из нас неразличим – видно лишь общее движение по жизненному пространству, «засеянному» энергетическими ресурсами. Потому и игру эту называют иногда попросту – «Жизнь».

– Но если эти «колобки» – как человечки, то кто у них главный?

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

 

Юрка только во все глаза смотрел на брата.

 

– Что?

– Мы испробовали огромное количество самых разных колоний – и маленькие, и большие, и симметричные, и хаотичные… Если исходить из результатов наших экспериментов – всё заканчивается одинаково. Либо тотальное вымирание. Либо «мёртвые камни» – неподвижное кладбище. Либо циклические вертушки – вроде твоей мигалки: бессмысленные и бестолковые. Либо… корабли. Бегство.

– А что это значит?

– Значит, чтобы выжить, людям надо уходить. Из дома, из города… С Земли. Небольшими, плотными группами, «космическими кораблями», нужно покидать насиженные места, уходить в пустоту, в бесконечную матрицу нулей, маленьким плавучим островком жизни. – Алексей, похоже, забыл о присутствии Юрки, и, размечтавшись, уставился куда-то далеко, будто провожая последний уходящий с Земли глайдер.

– Неужели нет другого выхода?! – Юрка не усидел на вращающемся стуле и вскочил. – Неужели нельзя, чтобы не лететь? Чтобы… остаться… и жить?

– Может, и есть. – Алексей посмотрел на Юрку и улыбнулся. – Этим я и занимаюсь. Мы ищем «независимую» комбинацию.

– Что?

– Нетривиальную комбинацию элементов, которая не выродится в пустоту, или в «камни», или в вереницу глайдеров. И которая не будет повторять сама себя. В каком-то смысле, такая комбинация будет независимой от правил Конвея. Она будет жить… сама по себе. Вечно. Будет запускать космические корабли. Осваивать новые территории. Расширяться и сжиматься. Но никогда не будет скучной и банальной. Если мы найдем такую независимую комбинацию… мы сможем открыть тайну самой жизни.

– И нашли?

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

 

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

 

– Я уже думал, что у меня получилось. – Алексей тяжело вздохнул. – Но Вова сделал расчет – через несколько десятки тысяч поколений колония вернется к своему первоначальному виду. То есть, она не «независимая». А просто еще одна циклическая комбинация. Пустая и бесполезная, как твоя мигалка. – Алексей потянулся к кнопке сброса.

– Подожди! – Юрке вдруг показалось, что он упускает что-то важное. – А если они не знают об этом?

– Кто – они?

– Ну, эти… организмы. Ведь столько поколений – это для них очень много. У них у каждого жизнь – гораздо короче!

– Эх, Юрка… – Алексей улыбнулся. – Я же тебе говорил – это математическая модель. Абстракция. Они не более живые, чем твои солдаты в компьютерной игрушке.

– Но их же жалко… Слушай, можно тебя попросить?

– О чём?

– Оставь её в покое.

– Кого?

– Эту колонию. Пусть… развивается. Может, этот Вова ошибся. – Юрка покосился на парня, с которым недавно спорил Алексей. – Может, у них есть шанс.

– Ну, как знаешь. – Алексей встал со стула. – Ты, наверно, проголодался давно? Пошли в буфет!

 

***

 

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

– Если бы я мог предупредить их… Сказать, что всё будет хорошо… Если бы они могли услышать нас…

– И что ты им скажешь: «Привет, я человек из реального мира, а вы – просто крестики-нолики»?

– Не знаю. Но я бы попробовал.

– Ну ты даёшь! А впрочем, кто знает – может быть, твоя молитва будет услышана. Берегись! – Алексей состроил «страшную» физиономию. Юрка ответил ему тем же и залился весёлым смехом.

 

***

 

Ночью Юрке не спалось. Ему казалось, что стены комнаты почти сомкнулись над ним, как будто он лежит на дне глубокого колодца, совсем один. Где-то в вышине, далеко-далеко, ему слышались голоса существ, которые – он чувствовал это – не могли быть людьми. Он ощущал их, как будто они шумели у него в голове и одновременно где-то за тысячи километров, на другой стороне Земли, в космосе, как будто вместе с ними вибрирует вся Вселенная, как будто это длится вечно, будто этот разговор случился давным-давно, а он только сейчас услышал и понял, о чём это, как будто он спал, и не спал, и не мог проснуться…

 

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

 

– Ещё один эксперимент не удался. Уничтожь планету.

– Но она ещё живёт! Цикл еще не завершился.

– Это ничего не изменит. Начни сначала.

– Хорошо, я начну заново. Об одном прошу: оставь её в покое…