1995 | 1996 | 1997 | 1998 | 1999 | 2000 | 2001 | 2002 | 2003 | 2004 | Оглавление текущего номера /152, 1996 г./ | Бонус | Поиск  

Тема номера

Игра в жизнь

Михаил Едемский


© 2004, Еженедельник «Компьютерра» | http://www.computerra.ru/offline
Этого материала на сайте "Компьютерры", к сожалению, нет

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

Вряд ли Конуэй ожидал, что его игра "Жизнь" вызовет столь бурный интерес – как в научных кругах, так и среди любителей компьютерных забав. Основная заслуга в этом принадлежала известному популяризатору науки Мартину Гарднеру, опубликовавшему исследования "Жизни" в журнале Scientific American в 70-е годы.

Игра состоит в том, чтобы, начав с какого-нибудь простого расположения фишек (организмов) на различных клетках доски, проследить за эволюцией исходной позиции под действием "генетических законов" Конуэя. Законы, напоминающие обычные биологические, управляют рождением, гибелью и выживанием фишек: колония погибает от перенаселенности, то есть слишком большой плотности фишек, или от "одиночества" (разрозненности фишек) и иногда переходит в стабильный цикл превращений с определенным периодом. Кроме того, должны существовать начальные конфигурации, заведомо обладающие способностью к беспредельному развитию, – правда, с условием, чтобы было непросто доказать эту "беспредельность".

 

 Игры, подобные "Жизни", прежде разрабатывали Э.Фридкин, С.Улам, Э.Мур, Алви Смит, но только генетические законы Конуэя позволили найти золотую середину между слишком высокой рождаемостью и смертностью, при которой ход "жизни" можно прослеживать на большую глубину и даже играть вручную.

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

 – Выживание. Каждая фишка, у которой две или три соседки, выживает и переходит в следующее поколение.

 – Гибель. Фишка, у которой больше трех соседей, погибает от "перенаселенности" и снимается с доски. Фишка, вокруг которой нет соседей или только одна соседка, -умирает от одиночества.

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

Важно понять, что гибель и рождение всех "организмов" происходят одновременно. Вместе взятые они образуют одно поколение, или один ход. Для начала можно взять лист клетчатой бумаги и ручку: вместо фишек рисовать крестики, "погибшие" организмы обводить квадратиком, а на месте родившихся ставить точку. Этот бесхитростный алгоритм применяется к каждому крестику, после чего картинка аккуратно перерисовывается без обведенных крестиков и с крестиками на месте точек. Если вы воспользуетесь компьютером (кстати, программ "Жизнь" уже создано немало), то присвойте каждой фишке цвет, зависящий от ее возраста – игра станет гораздо нагляднее.

Вскоре после начала игры вы заметите, что популяция все время претерпевает необычные, нередко очень красивые и всегда неожиданные изменения. Иногда, обычно через большое число поколений, первоначальная колония организмов постепенно вымирает: все фишки исчезают – или, напротив, исходные конфигурации переходят в устойчивые и перестают изменяться (блок из четырех фишек), либо навсегда переходят в колебательный режим. Часто возникающая во время игры колебательная конфигурация – "светофор", или "мигалка": три фишки по горизонтали или вертикали. А конфигурации, не обладавшие в начале игры симметрией, обнаруживают тенденцию к переходу в симметричные формы.

В "Жизни" невозможно предсказать результат процессов, которые, казалось бы, жестко определены чрезвычайно простыми правилами развития. Тем самым надо отдать должное интуиции Конуэя и той основательности, с которой он и его коллеги стремились исследовать сотни возможных вариантов, включая даже игры с участием существ разного пола или на поле листа Мебиуса.

 

 

 

 

Одно из самых замечательных открытий Конуэя – "глайдер", состоящий из пяти фишек. После второго хода "глайдер" немного сдвигается и отражается относительно диагонали. В результате двух последующих ходов "глайдер" выходит из пике и ложится на прежний курс, сдвигаясь на клетку относительно начальной позиции. Скорость передвижения на одну клетку в один ход принимается за "скорость света". Стало быть, "глайдер" передвигается со скоростью в четверть скорости света (одна клетка за четыре хода). Конуэй доказал, что не существует конечной комбинации, которая умеет передвигаться на свободные клетки быстрее половины скорости света. На рисунках представлены более крупные перемещающиеся конфигурации – "космические корабли", из которых при движении вылетают и гаснут "искры". При этом крупные корабли (больше шести клеток в длину) не могут передвигаться без эскорта их мелких кораблей: им мешают мелкие фигуры, возникающие при движении.

 

Из пульсирующих конфигураций помимо "светофора" стоит отметить "восьмерку" – не только напоминающую ее по форме, но и имеющую период, равный восьми; "опрокидыватель", верх и низ которого меняются каждые 7 ходов; "жнейку", движущуюся по диагонали снизу вверх со скоростью света и оставляющую устойчивые фигуры ("снопы").

В теории клеточных автоматов, рожденной еще в пятидесятых годах Джоном фон Нейманом, выяснялась возможность существования самовоспроизводящихся автоматов. Позднее Нейман ее доказал; один из примеров – "тримино" в игре Конуэя (три фишки, располагающиеся в вершине треугольника). На рисунке представлены лишь первые три хода, на седьмом ходу фишек становится в четыре раза больше. Существуют и уникальные комбинации -например, "сады Эдема". Они не могут возникать в процессе игры, поскольку никакая предшествующая конфигурация отличного от них типа не может их породить. "Сады Эдема" должны быть заданы с самого начала – в нулевом поколении. А поскольку у них нет "предшественников", то и самовоспроизводящимися они быть не могут.

 

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

 

 

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

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

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

Весьма любопытные исследования с игрой "Жизнь" проводил Р.Уэйнрайт. Например, он разместил случайным образом 4800 фишек в клетках квадрата 120x120 с плотностью 1/3 и проследил их эволюцию на протяжении 450 поколений. Плотность "первичного студня" уменьшилась до 1/6, но его дальнейшая судьба не прослеживалась. Затем Уэнрайт экспериментировал с бесконечными полями, заполняя их устойчивыми фигурами (он назвал их по имени водорослей – "агарами"). Если в изображенный на рисунке "агар" поместить фишку-"вирус" так, чтобы она касалась четырех блоков, то "агар" уничтожит вирус. Если же вирус расположится как на рисунке, то начнется неизбежное разрушение "агара". Область в виде овала станет непрерывно расширяться со "скоростью света", и не исключено, что это будет происходить бесконечно долго.

 

 

Нетрудно проследить глубокую аналогию между этой игрой и процессами зарождения жизни, в работе нервных сетей, в самокопировании ДНК или в генетическом изменении развивающихся популяций. Например, если предположить некий "первичный бульон" (из которого, как считают, зародилась жизнь), состоящий из различных аминокислот и имеющий достаточно большой объем, то в результате действия сложных законов природы, правил перехода, в этой среде может развиться популяция самовоспроизводящихся подвижных автоматов. Можно даже допустить, что наше пространство-время, как и поле в игре "Жизнь", – дискретно, то есть состоит из клеток и фишек, а Вселенная, как предполагал Э.Фридкин, – это огромный клеточный автомат. Интересно, что в подобной модели, например, не существует движения в том виде, как мы его понимаем, а есть лишь изменения клеток пространства-времени, описываемые неизвестными нам пока законами.

Может оказаться, что наша Вселенная началась с "сада Эдема", конфигурации без предшественников, привнесенной в "игру" извне, путем божественного вмешательства. К тому же ряд физических теорий (в частности, "калибровочная теория решеток") позволяют предположить, что основные законы нашего мира и его пространство и время не являются чем-то логически необходимым. Они просто заданы нам изначально: никому ведь не придет в голову разбираться в том, как устроены, скажем, правила игры в шахматы.

Кто знает, может, фишки "Жизни" при достаточно длительном и удачном эксперименте сорганизуются и осознают себя – возможно, даже начав общаться с нами, создателями? А может, все наоборот, и мы -это лишь фишки в чьей-то игре?..

Попробуйте найти книгу Мартина Гарднера "Крестики-нолики" ("Мир", 1988). Из нее вы сможете гораздо больше узнать о "Жизни" и других интересных вещах.


1995 | 1996 | 1997 | 1998 | 1999 | 2000 | 2001 | 2002 | 2003 | 2004 | Оглавление текущего номера /152, 1996 г./ | Бонус | Поиск  

© 2004, Издательский дом «Компьютерра» | http://www.computerra.ru
Телефон редакции: (095) 232-22-61
E-mail редакции: inform@computerra.ru