Game of Life+

маленький світ, керований правилами, ймовірностями та Вами

У 1970 році англійський математик Джон Конвей (John Horton Conway) запропонував гру під назвою «Життя» («Life»). Гра відбувається на площині у дискретному часі: 1, 2, 3, ... Площина поділена на однакові квадратні клітинки, кожна з яких у кожний фіксований момент часу або «порожня», або «жива». Під час переходу до наступного моменту клітинка може змінити свій стан залежно від того, скільки з її 8 сусідів живі, — за наступними правилами:

• порожня клітинка стає живою тоді й тільки тоді, коли має рівно трьох живих сусідів, інакше залишається порожньою;
• жива клітинка лишається живою тоді й тільки тоді, коли має рівно двох або рівно трьох живих сусідів, інакше стає порожньою.

Цю гру називають «Життям», оскільки структури, що виникають з плином часу, нагадують колонії мікроорганізмів або внутрішньоклітинні органели. Були відкриті конфігурації, що відтворюють себе із зміщенням в просторі («глайдери» та «кораблі»); такі, що породжують нескінченні потоки «глайдерів» («глайдерна рушниця» Госпера) та породжувачі нескінченних послідовностей самих «глайдерних рушниць» («лобстери»); ті, що не можуть виникнути з інших («сади Едему») тощо.

На теперішній час відомо багато модифікацій та узагальнень гри. Зазначимо, що правила класичного «Життя» підбирались Конвеєм із метою зробити розвиток конфігурацій якомога «цікавішим» і «непередбачуваним», — наприклад, не повиннно бути структур, необмежений розвиток яких був би очевидним, але, з іншого боку, мають існувати структури, здатні до такого розвитку.

Хоча на перший погляд окремі ділянки грального поля виглядають хаотично та непрогнозовано, «Життя» є цілком детермінованою грою, тобто початкова конфігурація однозначно визначає усі майбутні стани.


Тут ми пропонуємо узагальнення «Життя» у напрямку стохастичності. Рухаючи повзунки, ви задаєте ймовірності, з якими клітинки, що мають певне число живих сусідів, стають або лишаються живими. Наприклад, якщо пересунути повзунок «Empty → Alive 3» у положення «50», то ймовірність появи живої клітинки на місці порожньої з трьома живими сусідами буде 50/100. Аналогічно, можна виставити «Alive → Alive 4» на «75», тоді жива клітинка із чотирма живими сусідами лишатиметься живою з імовірністю 75/100. А тепер спробуйте рухати обидва ці повзунки... Так «Життя» стає стохастичним.

Задавши ймовірності «Empty → Alive» так: (1, 1, 1, 1, 1, 0, 0, 1, 1), а «Alive → Alive» — (1, 1, 1, 1, 1, 0, 1, 1, 1), ви побачите розвиток «Антижиття» — конфігурацій із порожніх клітинок, згідно тих же правил, що й для звичайного «Життя».

Зверніть увагу, що незважаючи на «хаос», внесений недетермінованістю, на полі можуть з'являтись достатньо стабільні структури, — острівки порядку всередині хаосу; народжені із нього, знищувані ним, поглиначі його (або навпаки, ділянки хаосу проміж упорядкованих «лабіринтів»). При яких значеннях параметрів вони виникають і чому?


Щоб пригальмувати або прискорити процес, виставте потрібну кількість кроків у секунду повзунком «Speed».

Коли Speed = 0 (час зупинено), ви можете редагувати конфігурацію поклітинково: клік на клітинці переключає її стан, так що порожня стає живою, а жива — порожньою. Якщо ж Speed > 0, клік будь-де на полі очистить його, а подвійний клік — заповнить випадковою конфігурацією.

Колір клітинки відображає тривалість її життя у «логарифмічно-райдужній» палітрі: новонароджена клітинка має фіолетовий колір, та, що прожила від 1 до 2 циклів — синій, від 2 до 4 — блакитний, від 4 до 8 — ціановий тощо. Порожні клітинки чорні.

Have fun and watch closely!


Ще на тему

arxiv.org/abs/1304.8104 — Leonid Yaroslavsky. The amazing dynamics of stochastic pattern formation and growth models inspired by the Conway's Game of Life.

earslap.com/page/otomata.html — Otomata, the generative musical sequencer employing a cellular automaton type logic

en.wikipedia.org/wiki/Conway%27s_Game_of_Life — Wikipedia on Conway's Game of Life

en.wikipedia.org/wiki/Stochastic_cellular_automaton — Wikipedia on Stochastic cellular automaton

ericweisstein.com/encyclopedias/life — Eric Weisstein's Treasure Trove of the Life cellular automaton

golly.sourceforge.net — Golly, an open source, cross-platform application for exploring Conway's Game of Life and other cellular automata

• Martin Gardner. Mathematical Games. The fantastic combinations of John Conway's new solitaire game «life». — Scientific American 223 (October 1970): 120–123.

newscientist.com/article/mg20627653.800-... — First replicating creature spawned in life simulator

pmav.eu/stuff/javascript-game-of-life-v3.1.1 — Javascript implementation of John Conway's Game of Life, uses the List Life algorithm (by Tony Finch)

ru.wikipedia.org/wiki/Жизнь_(игра) — Википедия об игре «Жизнь»

sq3.org.uk/Evolution/JvN — Von Neumann's Self-Reproducing Universal Constructor

uk.wikipedia.org/wiki/Життя_(гра) — Вікіпедія про гру «Життя»

• Гарднер М. Крестики-нолики: Пер. с англ. — М., Мир, 1988. — Гл. 20–22.

• Тоффоли Т., Марголус Н. Машины клеточных автоматов: Пер. с англ. — М., Мир, 1991.