Игра «Жизнь»

Игра «Жизнь» (англ. Conway's Game of Life) — клеточный автомат, придуманный английским математиком Джоном Конвеем в 1970 году.

Правила

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

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

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

Происхождение

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

Впервые описание этой игры было опубликовано в октябрьском (1970 год) выпуске журнала Scientific American, в рубрике «Математические игры» Мартина Гарднера (Martin Gardner)[1].

Компьютерная реализация

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

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

Более сложный, но и более быстрый алгоритм составляет списки клеток для просмотра в последующем поколении; клетки, которые не могут измениться, в списки не вносятся. Например, если какая-либо клетка и ни одна из её соседей не поменялись на предыдущем ходу, то эта клетка не поменяется и на текущем ходу.

Фигуры

Развитие колоний из трёх точек

Вскоре после опубликования правил было обнаружено несколько интересных шаблонов (вариантов расстановки живых клеток в первом поколении), в частности: r-пентамино и планер (glider).

Планер (glider) на квадратной решётке 10 × 10 с периодическими условиями

Некоторые такие фигуры остаются неизменными во всех последующих поколениях, состояние других периодически повторяется, в некоторых случаях со смещением всей фигуры. Существует фигура (Diehard) всего из семи живых клеток, потомки которой существуют в течение ста тридцати поколений, а затем исчезают.

Конвей первоначально предположил, что никакая начальная комбинация не может привести к неограниченному размножению и предложил премию в 50 долларов тому, кто докажет или опровергнет эту гипотезу. Приз был получен группой из Массачусетского технологического института, придумавшей неподвижную повторяющуюся фигуру, которая периодически создавала движущиеся «планеры». Таким образом, количество живых клеток могло расти неограниченно. Затем были найдены движущиеся фигуры, оставляющие за собой «мусор» из других фигур.

К настоящему времени более-менее сложилась следующая классификация фигур:

Планерное ружьё Госпера — первая бесконечно растущая фигура
  • Устойчивые фигуры: фигуры, которые остаются неизменными
  • Долгожители: фигуры, которые долго меняются, прежде чем стабилизироваться[2];
  • Периодические фигуры: фигуры, у которых состояние повторяется через некоторое число поколений, большее 1;
  • Двигающиеся фигуры: фигуры, у которых состояние повторяется, но с некоторым смещением;
  • Ружья: фигуры с повторяющимися состояниями, дополнительно создающие движущиеся фигуры;
  • Паровозы: двигающиеся фигуры с повторяющимися состояниями, которые оставляют за собой другие фигуры в качестве следов;
  • Пожиратели: устойчивые фигуры, которые могут пережить столкновения с некоторыми двигающимися фигурами, уничтожив их;
  • Отражатели: устойчивые или периодические фигуры, способные при столкновении с ними движущихся фигур поменять их направление;
  • Размножители: конфигурации, количество живых клеток в которых растёт как квадрат количества шагов;
  • Фигуры, которые при столкновении с некоторыми фигурами дублируются.

Райский сад

Пример Райского сада

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

«Цифры»

С помощью простейшего «шрифта» размером 3 на 5 клеток, предложенного, по всей видимости, Эриком Анджелини в 2007 году, можно получить очень многие фигуры. Например, число 90, записанное этим шрифтом, порождает планер[3].

Влияние на развитие наук

Хотя игра состоит всего из двух простых правил, тем не менее она более сорока лет привлекает внимание учёных. Игра «Жизнь» и её модификации повлияли (в ряде случаев взаимно) на многие разделы таких точных наук, как математика, информатика и физика[4]. Это, в частности:

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

  • Кибернетика. Сама игра является удачной попыткой Конвея доказать существование простых самовоспроизводящихся систем, а также появление некоего «разума» у самовоспроизводящихся систем.
  • Биология. Внешнее сходство с развитием популяций примитивных организмов впечатляет.
  • Бактериология. Некоторые интересные вариации игры с дополнительными условиями могут с точностью повторить размножение бактерий, которые с случайной вероятностью могут мутировать (по условию модификации).
  • Физиология. Рождение и смерть клеток подобны процессу возникновения и исчезновения нейронных импульсов.
  • Астрономия. Эволюции некоторых сложных колоний удивительным образом схематично повторяют этапы развития спиралевидных галактик[5][6].
  • Физика твёрдого тела. Теория автоматов вообще и игра «Жизнь» в частности используются для анализа «явлений переноса» — диффузии, вязкости и теплопроводности.
  • Квантовая физика. Поведение «жизненных» ячеек (рождение новых и взаимное уничтожение) во многом напоминают процессы, происходящие при столкновении элементарных частиц.
  • Наномеханика. Стационарные и пульсирующие колонии являются показательным примером простейших устройств, созданных на основе нанотехнологий.
  • Электротехника. Правила игры используются для моделирования самовосстанавливающихся электрических цепей.
  • Химия. Конфигурации, подобные строящимся в игре, возникают во время химических реакций на поверхности; в частности, в опытах М. С. Шакаевой возникают движущиеся молекулярные конструкции, аналогичные «жизненному» планеру. Также предпринимаются попытки объяснить периодические химические реакции с помощью многомерных клеточных автоматов. Самоорганизацией элементарных частиц также занимается супрамолекулярная химия.

Возможно, эта игра связана и с другими научными явлениями, в том числе и с теми, о которых современной науке пока неизвестно. Также возможно, что не открытые на сегодня законы природы и общества станут более понятными благодаря «Жизни» и её модификациям.

Факты

  • Правила игры таковы, что никакое взаимодействие не может передаваться быстрее хода шахматного короля. Его скорость — одна клетка в любом направлении — часто называют «скоростью света».
  • Фигура «планер» в 2003 году была предложена в качестве эмблемы хакеров.
  • Первое русскоязычное упоминание «Game of Life» относится к 1971 году и в переводе журнала «Наука и жизнь» известна как «Эволюция».
  • Если ввести в строке поиска Google «conway's game of life», то помимо стандартного результата запроса как фоновая анимация будет отображаться подобие этой игры[7][8].

Модификации

  • Существуют модификации игры «Жизнь» / «Эволюция» по: размерности — на плоскости, в объёме; цветности — однотоновая, чёрно-белая (шахматная), полноцветная; направлению алгоритма — прямой, обратный; константам эволюции — классические (B3/S23), изменённые; размерам игрового поля — ограниченное, неограниченное, полуограниченное; активности поля — активное, пассивное; количеству игроков — zero-game, один, два; активности игры — пассивная, активная; геометрии поля — прямоугольная, шестиугольная.
  • Представляет интерес обратная задача Конвея — поиск предшественника заданной фигуры[9]. Для решения её может привлекаться аппарат статистики: метод Монте-Карло, имитационное моделирование, а также весь арсенал эвристических методов.
  • Эффективным алгоритмом полноцветной игры является декомпозиция исходного изображения на однотоновые, с последующей, после применения к ним классических правил жизни, их суперпозицией; для объёмных вариантов — ортогональный алгоритм преобразований. Примеры практического применения этого — всевозможные заставки, абстрактные изображения, дизайн произведений искусства.
  • В шахматном, чёрно-белом варианте участвуют два игрока, цвет рождения определяется по преобладанию цвета в порождающей триаде, запись ходов осуществляется по правилам шахматных нотаций. Кроме оригинальных граничных образований здесь наблюдаются коллизии цвета, например, «глайдер» в нотации : белые a2b2c2, чёрные c3b4 — полностью обесцвечивается за цикл преобразований, а то же: белые a2b2, чёрные c2c3 b4 — демонстрируется хроматическая цикличность «глайдера» в рамках его геометрической цикличности.
  • В активной шахматной игре игрокам представляется возможность влиять на события «Жизни/Эволюции» единичным введением — выведением ограниченного количества фишек своего цвета с целью экспансии, стабилизации хода истории, противодействия в этом противнику. Теоретические основания здесь — методы принятия решения, аппарат теории игр.
  • В трёхмерной реализации игры, каждая клетка граничит с 26 другими клетками, выживает при 4-5 соседях и рождается новая при 5 соседях, а также есть трёхмерные стабильные структуры, некоторые из которых схожи с двухмерными.[10]

Примечания

  1. Martin Gardner. The fantastic combinations of John Conway's new solitaire game "life" // Scientific American. № 4 (October 1970).
  2. Словарь Жизни: Долгожитель
  3. Digits in Life. www.radicaleye.com. Дата обращения: 15 июля 2017.
  4. Тоффоли Т., Марголус Н. Машины клеточных автоматов. — М.: Мир, 1991. — ISBN 5-03-001619-8
  5. M. W. Mueller, W. D. Arnett. Propagating star formation and irregular structure in spiral galaxies (англ.) // The Astrophysical Journal. — 1976-12-01. Vol. 210. P. 670–678. ISSN 0004-637X. doi:10.1086/154873.
  6. H. Gerola, P. E. Seiden. Stochastic star formation and spiral structure of galaxies (англ.) // The Astrophysical Journal. — 1978-07-01. Vol. 223. P. 129–135. ISSN 0004-637X. doi:10.1086/156243.
  7. Jon Mitchel. How A Google Engineer Built A Universe In An Easter Egg (5 октября 2012).
  8. Siobhan Roberts. Prologue // Genius At Play: The Curious Mind of John Horton Conway. — Bloomsbury Publishing USA, 2015. — P. XV. — 480 p. — ISBN 1-620-40594-6, 978-1-620-40594-9.
  9. Журнал Наука и жизнь. № 8, 1972 г. С. 141—144.
  10. https://wpmedia.wolfram.com/uploads/sites/13/2018/02/01-3-1.pdf

Литература

  • Andrew Adamatzky. Game of Life Cellular Automata. — Springer-Verlag London, 2010. — ISBN 978-1-84996-216-2, 978-1-4471-6154-7, 978-1-84996-217-9. doi:10.1007/978-1-84996-217-9.
  • Paul Rendell. Turing Machine Universality of the Game of Life. — Springer International Publishing, 2016. — (Emergence, Complexity and Computation ; vol. 18). — ISBN 978-3-319-19841-5, 978-3-319-19842-2. doi:10.1007/978-3-319-19842-2.
  • Уэзерелл Ч. Этюды для программистов. М.: Мир, 1982. — С. 19-22.
  • Гарднер М. Крестики-нолики. М.: Мир, 1988. — С. 287—343. — ISBN 5030012346.
  • Щеглов Г. Шахматная Эволюция. — Lambert Academic Publishing, 2012. — 88 с. — ISBN 9783848424603.
  • Трофимов М. Жизнь на Макинтоше // Монитор, 1995. — № 2, с.72; № 4, с.72; № 5, с.66.
  • Журнал Наука и Жизнь. № 8, 1971, с. 130—133.
  • Журнал В мире научных открытий. № 5.4(11), 2010, с. 50-53, 139. ISSN 2072-0831 (print), ISSN 2307-9428 (online)
  • Приложение к журналу Юный техник. № 8 август 1989, с. 11-13
  • Хэйес Б. Клеточный автомат создает модель мира и мир вокруг себя. // В мире науки, 1984, № 5, с.97-104

Ссылки

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.