Игра жизни, наследие Джона Конвея

Что такое Игра жизни? В чем значение Игры Жизни? Наследие умершего Джона Конвея.

Недавно я узнал, что Джон Конвей скончался из-за COVID-19. Это очень прискорбное обстоятельство, и меня огорчает то, что мне не удастся поговорить с человеком, который внес огромный вклад в математику и идею сложности, вытекающую из самых элементарных правил. Джон Конвей был в первую очередь математиком (профессором математики в Принстонском университете), но компьютерщики и энтузиасты искусственного интеллекта навсегда запомнят его за его «Игру жизни», то есть клеточные автоматы.

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

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

Без лишних слов, давайте перейдем к определению Игры Жизни. Это довольно просто. В клеточных автоматах каждая ячейка имеет максимум 8 соседних ячеек (диагональных, вертикальных и горизонтальных). Автомат (как и любой другой) запускается с начального состояния заполненных «живых» ячеек. Таким образом, состояние автомата состоит из «живых» и «мертвых» ячеек на сетке. На каждой итерации мы выбираем, какие ячейки остаются «живыми», или, другими словами, заполненными, а какие «умирают» по определенным правилам. Кроме того, в следующей итерации могут быть порождены («рождены») другие ячейки. Простые правила, регулирующие это поведение, следующие:

  1. Каждая «живая» ячейка, у которой есть 2 или 3 соседние ячейки, доживает до следующей итерации.
  2. Каждая «мертвая» клетка, имеющая 4 соседей, становится «живой» клеткой или, другими словами, воскрешается (в определенном смысле).
  3. Остальные умирают.

У этих правил есть интересная параллель с реальной жизнью. Возьмем, к примеру, правило 1. Единственный способ выжить клетке - это наличие у нее клеток-компаньонов (2 или 3). Меньшего недостаточно, возможно, это очень похоже на то, что думают люди. С научной точки зрения было доказано, что общение связано с более счастливой жизнью и долголетием. Но слишком много общения может убить вас (как в случае с клеточными автоматами). Вы можете рассматривать это как чрезмерное использование ресурсов. Поэтому иметь более 3-х соседних «живых» клеток - это уже слишком. К сожалению, мне еще предстоит придумать хорошую аллегорию правила 2. о том, что мертвые клетки оживают при наличии 4 соседей.

Игра жизни завершена по Тьюрингу. Это означает, что все, что может быть вычислено алгоритмически (компьютер на машине Тьюринга), может быть вычислено с его помощью. На нем можно написать любую возможную программу, которую вы можете себе представить.

А теперь самое интересное: эти простые правила приводят к некоторому забавному поведению, например, к следующему вращению палки (очень простой пример):

Если мы немного усложним моделирование, добавив еще несколько живых ячеек к нашему начальному состоянию, мы получим немного больше отдачи от вложенных средств:

Просто невероятно, что 3 простых правила управляют формированием этих интересных форм! Множество различных вариантов поведения доступно при простом изменении случайного начального числа для инициализации сетки.

Если даже дальше расширяться, взаимодействия, конечно, усложняются. Это заставляет задуматься, как далеко, насколько «сложно» они могут зайти. Являются ли эти клеточные автоматы каким-то образом разумными, или есть какая-то магическая инициализация, которая со временем сделает их «умными» по нашему определению? В любом случае, каково определение интеллекта? Что является источником интеллекта человеческого уровня, просто ли это умная инициализация и применение простых правил? Учитывая, что клеточные автоматы полны по Тьюрингу, возможности безграничны.

Еще раз мы должны поблагодарить Джона Конвея за его исключительную жизненную работу и наследие. Возможно, он оказал влияние на поколения ученых в разных областях (не только информатики и математики). Буквально в прошлом году у меня было множество дискуссий об Игре Жизни. Не потому, что я интенсивно занимаюсь исследованиями в этой области, а потому, что она вездесуща в научном сообществе. Он находил меня снова и снова и будет искать меня в будущем.

В заключение, вот несколько примеров реализации, которые я написал и которые мне нравятся.

Ссылки

[1] Фотографии взяты с Pixabay

[2] Реализация Python: https://github.com/jimimvp/game-of-life