• Мнения
  • |
  • Обсуждения
Виктор Губерниев Мастер

Что «Жизнь»? Игра!

В названии этой статьи слово «Жизнь» взято в кавычки неслучайно. Ведь речь пойдёт об игре «Жизнь», придуманной английским математиком Джоном Конвеем.

Зарождение «Жизни»

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

Конечно, фон Нейман занимался лишь теорией, при этом он сумел создать сложнейшую систему правил, которым должна подчиняться такая машина. А в 1970-м году Джон Конвей усовершенствовал идею фон Неймана и построил модель с гораздо более простыми правилами, которые оформил в виде игры «Жизнь».

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

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

У каждой клетки (если она не крайняя в ограниченной Вселенной) есть 8 соседей. Каждая клеточка может быть или пуста (мертва) или заселена (жива). Вначале игрок, который в данной модели вселенной играет роль самого Создателя, расставляет некоторую исходную позицию (указывает, какие клетки будут заселены, а какие — пусты). Это — нулевое поколение.

Законы «Жизни»

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

1. Если у клетки менее 2 живых соседей, то в следующем поколении она умирает (от одиночества и тоски);
2. Если у клетки более 3 живых соседей, то в следующем поколении она также умирает (от перенаселённости и нехватки ресурсов);
3. Если у пустой клетки трое соседей, то там зарождается жизнь;
4. Все прочие клетки остаются в том же состоянии, в котором они и были;
5. Все рождения и смерти происходят мгновенно и одновременно, знаменуя смену поколений.

Исход игры существенно зависит от начальной позиции и бывает различный:

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

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

Группа исследователей из Массачусетского технологического института придумала циклическую фигуру «Ружьё Госпера» (рис. 2), которая создавала движущиеся простейшие циклические фигуры, получившие название «глайдеры» — то есть скользящие (рис. 3). Так что в этой модели Вселенной «вечный двигатель» был благополучно изобретён.

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

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

Аналогии «Жизни»

Разумеется, эта замечательная игра не оставила равнодушными философов и теологов. Ведь она совмещает взгляды на эволюцию и идеалистов, и материалистов! Действительно, кто-то расставил начальное положение и придумал Законы развития (кто, как не Бог?), но дальше Вселенная развивается сама по установленным Законам Природы (в строгом соответствии с материалистическими воззрениями). И никаких вам случайностей и чудес.

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

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

Игра «Жизнь» разнообразна, увлекательна и глубока, как сама жизнь. Может быть, и мы — суть гигантские колонии на бесконечной клетчатой доске, где размер клетки равен кванту пространства — постоянной Планка?

Статья опубликована в выпуске 21.01.2010
Обновлено 21.07.2020

Комментарии (11):

Чтобы оставить комментарий зарегистрируйтесь или войдите на сайт

Войти через социальные сети:

  • Виктор Губерниев, было дело в средине 70х играли.

    Оценка статьи: 5

  • Вселенная развивается сама по установленным Законам Природы (в строгом соответствии с материалистическими воззрениями). И никаких вам случайностей и чудес.- жаль...

    Оценка статьи: 5

  • Интересно, что с появлением компьютеров стало возможным создавать свои небольшие вселенные со своими законами. Пожалуй любая компьютерная игрушка и есть такая вселенная, со своим набором законов (гравитация, баллистика, поведение обитателей).
    Я в своё время как то тоже написал простую программку по алгоритму муравья Лэнгтона: такая же пиксельная вселенная, в которой один из пикселей занимает муравей. Каждую итерацию он перекрашивает клетку перед собой в противоположный цвет, после чего, если клетка чёрная - поворачивается налево и делает шаг вперёд, иначе - направо. Что то вроде этого, правила могут быть разными. Суть в том, что при простейшем алгоритме - результат труднопредсказуем. Через несколько тысяч итераций муравей начинает рисовать широкую дорогу, по направлению к правому нижнему углу.

    • Тимур Шакиров, а что если в игре "Жизнь" тоже оцветнить алогритм? Т.е. не удалять "умершие" клетки, а перекрашивать их. Например, всё живущее на данной итерации имеет зелёный цвет, умершее на прошлой - голубой, на позапрошлой - синий, 3 поколения назад - фиолетовый. То, что родится на следующей итерации - жёлтый, через одну - оранжевый, через 2 - красный. А все прочие клетки - лиловый.

      Интересные рисунки, наверное, получатся...

      • Тимур Шакиров Дебютант 21 января 2010 в 17:32 отредактирован 21 января 2010 в 17:33 Сообщить модератору

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