Клітинні автомати: складність із найпростіших правил

Сітка клітин. Кожна клітина жива або мертва. Три правила визначають, чи виживе клітина, чи загине, чи народиться — виключно на основі стану восьми її сусідів. З цього Гра життя Конвея породжує планери, що подорожують сіткою, гармати, які випускають потоки нових планерів, і візерунки, достатньо складні, щоб обчислювати все, що може обчислити комп'ютер.

Правила Життя

У 1970 році британський математик Джон Хортон Конвей поставив перед собою завдання: знайти найпростіший можливий набір правил для двовимірної сітки клітин, що породжував би поведінку, яка не була б ані тривіально мертвою, ані вибухово зростаючою. Після місяців пошуків він дійшов до трьох правил, які застосовуються одночасно до кожної клітини на кожному кроці часу:

  1. Жива клітина з 2 або 3 живими сусідами виживає до наступного покоління.
  2. Мертва клітина рівно з 3 живими сусідами оживає (є «народженою»).
  3. Усі інші живі клітини гинуть (від самотності при 0–1 сусідах або від перенаселення при 4–8 сусідах), а всі інші мертві клітини залишаються мертвими.

Це весь звід правил Гри життя Конвея. Жодних інших параметрів. Кожна клітина рахує вісім своїх найближчих сусідів (включно з діагональними) і застосовує ці правила. Усі клітини оновлюються одночасно на основі стану попереднього покоління. Сітка, околиця та три правила — це все, що потрібно.

Конвей ретельно підбирав свої правила. Правило 1 забезпечує стабільність — успішні візерунки можуть зберігатися. Правило 2 дозволяє зростання — можуть народжуватися нові клітини. Умови загибелі запобігають тривіальному неконтрольованому розростанню. Він хотів знайти найпростіші правила, що врівноважували б ці протилежності, і система, яку він знайшов, виявилась набагато багатшою, ніж будь-хто очікував.

Емерджентні структури

Найбільш вражаюча риса Життя полягає в тому, що його візерунки не були спроєктовані — вони були відкриті. Протягом перших кількох років після публікації правил (спершу в журналі Scientific American Мартіном Гарднером) ентузіасти виявили дивовижну різноманітність стабільних структур суто експериментальним шляхом:

«Натюрморти» (still lifes) — це візерунки, які ніколи не змінюються. Найпростіший — блок 2×2 з чотирьох живих клітин: кожна клітина має рівно 3 живих сусідів, тому всі виживають, а жодна з навколишніх мертвих клітин не має рівно 3 сусідів, тож ніхто не народжується. Вулик (6 клітин), буханка (7 клітин) і човен (5 клітин) — інші класичні натюрморти, кожен стабільний з власних геометричних причин.

Осцилятори циклічно проходять через повторювану послідовність станів. Блимач — ряд із трьох клітин — щопокоління змінюється з горизонтального на вертикальний (період 2). Пульсар (період 3) — більший і складніший осцилятор. Існують осцилятори з періодом 15 і навіть 30, що проходять через десятки проміжних конфігурацій, перш ніж повернутися до початкового стану.

Космічні кораблі — найбільш вражаюче відкриття: візерунки, що рухаються по сітці. Планер, знайдений Річардом Гаєм у 1970 році, складається лише з 5 клітин у формі літери L. Він циклічно проходить 4 покоління, перш ніж відтворити себе, зміщеним на одну клітину по діагоналі — він рухається по сітці зі швидкістю c/4 (одна клітина за 4 покоління, де c — максимально можлива швидкість). Легкий космічний корабель рухається горизонтально зі швидкістю c/2.

Жоден з цих об'єктів не був закладений Конвеєм. Вони виникають із самих правил. Це і є визначення емерджентності: макроскопічні структури й поведінка, що постають із мікроскопічних правил і не можуть бути зведені до них без втрати чогось суттєвого.

Універсальні обчислення

У листопаді 1970 року математик Білл Госпер відкрив гармату Госпера, що стріляє планерами (Gosper Glider Gun): візерунок із 36 клітин, який осцилює з періодом 30 і випускає новий планер кожні 30 поколінь. Це був перший знайдений у Житті візерунок із необмеженим зростанням — раніше Конвей припускав, що жоден скінченний візерунок не зможе зростати без обмеження.

Гармата планерів відкрила двері до чогось набагато глибшого. Планери можна використовувати як сигнали: потік планерів являє собою бінарну 1, проміжок — 0. Використовуючи ретельно розташовані візерунки, ці потоки планерів можна змусити взаємодіяти так, щоб реалізувати логічні операції:

Оскільки будь-яке обчислення можна побудувати з булевої логіки, Життя є тюрінг-повним: воно може симулювати будь-який алгоритм, який здатний виконати будь-який комп'ютер, за умови достатнього простору й часу. Це було доведено Конвеєм і колегами невдовзі після відкриття гармати планерів.

Те, що сталося далі, вражало навіть за мірками рекреаційної математики. Ентузіасти побудували в Житті працюючі суматори, помножувачі та комірки пам'яті. У 2000 році Пол Ренделл сконструював у Житті працюючу машину Тюрінга. У 2018 році команда побудувала в Житті програмований комп'ютер — включно з дисплеєм, пам'яттю та набором інструкцій — здатний виконувати довільні програми. Уся ця конструкція вміщується в область шириною близько 1,7 мільярда клітин.

Елементарні клітинні автомати Вольфрама

У той час як Життя Конвея працює у двох вимірах, Стівен Вольфрам систематично дослідив найпростіші можливі клітинні автомати: одновимірні, двостанові (0 або 1), з правилами, що залежать від клітини та двох її найближчих сусідів. Новий стан кожної клітини залежить від 8 можливих комбінацій себе самої та двох сусідів (2³ = 8), і для кожної комбінації правило визначає 0 або 1. Це дає 2⁸ = 256 можливих правил, пронумерованих від 0 до 255.

Вольфрам візуалізував їх, укладаючи послідовні покоління вертикально одне під одним — кожен рядок відповідає одному кроку часу. Отримані візерунки розпадаються на чотири вражаючі класи:

Вольфрам дещо суперечливо стверджував, що клітинні автомати класу IV втілюють принцип «обчислювальної еквівалентності»: системи достатньої складності однаково здатні до універсальних обчислень, і саме цю еквівалентність ми називаємо інтелектом, життям і фізичним законом.

🔲 Запустіть Життя у своєму браузері: Відкрийте симуляцію Гри життя і розмістіть класичні візерунки — планер, блимач, гармату планерів. Спостерігайте за емерджентністю в реальному часі та дивіться, як три прості правила породжують нескінченну складність.

Самоорганізована критичність

Деякі клітинні автомати демонструють глибше явище: системи, що самі природним чином еволюціонують до критичного стану без будь-якого зовнішнього налаштування. Фізик Пер Бак із колегами запровадив модель піщаної купи в 1987 році як канонічний приклад.

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

Відповідь — степеневий закон: малі лавини трапляються часто, великі — рідко, але характерного розміру не існує — трапляються лавини всіх масштабів. Система самостійно еволюціонує до критичного стану, врівноваженого між порядком і хаосом, без жодного налаштування параметрів. Бак назвав це самоорганізованою критичністю (СОК).

Та сама степенева сигнатура з'являється в землетрусах (закон Гутенберга-Ріхтера), лісових пожежах, сонячних спалахах і обвалах фінансових ринків — усі це системи, що самоорганізуються до критичного стану й вивільняють накопичену напругу у безмасштабних лавинах. Чи є СОК об'єднувальним поясненням цих явищ, досі дискутується, але математична сигнатура вражаюча і повсюдна.

Клітинні автомати в природі та технологіях

Найпереконливіше підтвердження клітинних автоматів як моделей природи походить із біології. Морська равлик Conus textile має мушлю з пігментацією, разюче подібною до Правила 30 — хаотичного, начебто випадкового правила Вольфрама. Пігментні клітини равлика спілкуються лише зі своїми найближчими сусідами через хімічні сигнали, оновлюючи свій стан на основі локальних правил — точнісінько в рамках концепції КА.

Подібна динаміка, схожа на клітинні автомати, з'являється і в інших місцях:

Клітинні автомати розкривають щось глибоке про природу складності: розрив між простими правилами й складною поведінкою — це не поступовий градієнт, а прірва. При певному порозі складності правил — Правило 110, Життя Конвея — система переходить у режим універсальних обчислень, і звідти можливе все.

Часті запитання

Що таке клітинний автомат?

Клітинний автомат (КА) — це дискретна обчислювальна модель, що складається з ґратки клітин, кожна з яких перебуває в одному з обмеженої кількості станів. На кожному кроці часу всі клітини одночасно оновлюють свій стан за фіксованим локальним правилом, застосованим до власного стану клітини та станів її сусідів. Попри свою простоту, КА породжують складні візерунки та здатні виконувати універсальні обчислення.

Що таке Гра життя Конвея?

Гра життя Конвея — це двовимірний клітинний автомат із двома станами (живий/мертвий) та чотирма правилами: (1) жива клітина з 2-3 живими сусідами виживає; (2) жива клітина з менш ніж 2 сусідами гине (від самотності); (3) жива клітина з більш ніж 3 сусідами гине (від перенаселення); (4) мертва клітина рівно з 3 живими сусідами оживає (народжується). Попри ці прості правила, Життя породжує планери, осцилятори і навіть тюрінг-повні комп'ютери.

Що таке Правило 110 і чим воно значуще?

Правило 110 — це одновимірний елементарний клітинний автомат (клітини мають 2 стани, правила залежать від клітини та її 2 сусідів). У 2004 році Метью Кук довів, що воно є тюрінг-повним — здатним симулювати будь-яке обчислення. Серед 256 можливих елементарних правил КА Правило 110 перебуває на «межі хаосу» між упорядкованою та невпорядкованою поведінкою, породжуючи складні, ніколи не повторювані структури.

Що таке елементарні клітинні автомати?

Елементарні клітинні автомати — це найпростіші одновимірні КА: клітини мають 2 стани (0 або 1), і наступний стан кожної клітини залежить лише від неї самої та двох найближчих сусідів. Оскільки існує 2³=8 можливих конфігурацій околиці і 2 можливі результати для кожної, існує 2⁸=256 можливих правил (пронумерованих Вольфрамом від 0 до 255). Правила поділяються на 4 класи: однорідні, періодичні, хаотичні та складні.

Що таке класифікація клітинних автоматів за Вольфрамом?

Стівен Вольфрам класифікував КА на чотири класи за їхньою довготривалою поведінкою: Клас 1 (еволюція до однорідного стану), Клас 2 (еволюція до простих періодичних або стабільних структур), Клас 3 (хаотична неперіодична поведінка) та Клас 4 (складні, локалізовані структури з непередбачуваною довготривалою поведінкою). Клас 4 відповідає обчислювальній межі хаосу і включає Правило 110 та Гру життя.

Яка різниця між одновимірними та двовимірними клітинними автоматами?

Одновимірні КА мають клітини, розташовані в лінію; кожен крок породжує новий рядок нижче, створюючи просторово-часову діаграму. Їх легко аналізувати математично. Двовимірні КА (як-от Гра життя) мають клітини на двовимірній сітці, що оновлюються на основі двовимірної околиці (околиця Мура: 8 сусідів; околиця фон Неймана: 4 сусіди). Двовимірні КА можуть породжувати складніші просторові структури, але їх важче аналізувати теоретично.

Як клітинні автомати використовуються у фізичних симуляціях?

КА моделюють багато фізичних явищ: ґратково-больцманівські методи симулюють динаміку рідин за допомогою локальних правил у стилі КА, ґраткові газові автомати HPP та FHP моделюють динаміку газів, КА-моделі поширення пожеж прогнозують поведінку лісових пожеж, моделі піщаної купи вивчають самоорганізовану критичність, а Ізінг-подібні КА симулюють магнітні фазові переходи. Підходи на основі КА природно паралельні й обчислювально ефективні для фізичних систем на сітці.

Що таке самоорганізована критичність?

Самоорганізована критичність (СОК) — це властивість динамічних систем природним чином еволюціонувати до критичного стану без зовнішнього налаштування. Модель піщаної купи Бака, Тана і Візенфельда демонструє СОК: повільне додавання піщинок спричиняє лавини всіх розмірів за степеневим розподілом. СОК пропонувалась як пояснення землетрусів, нейронних лавин у мозку, обвалів фондового ринку та еволюційних подій вимирання.

Що таке тоталістичні та зовнішньо-тоталістичні правила?

Тоталістичні правила обчислюють наступний стан лише на основі суми значень сусідів, ігноруючи позиції окремих сусідів. Зовнішньо-тоталістичні правила також враховують власне значення поточної клітини на додачу до суми сусідів. Гра життя є зовнішньо-тоталістичною: її правила залежать від власного стану клітини та кількості живих сусідів. Такі правила легше аналізувати, ніж загальні правила, що залежать від позиції.

Чи можна використовувати клітинні автомати для створення мистецтва чи музики?

Так. КА широко використовуються в генеративному мистецтві та музиці. Візуальні художники використовують візерунки КА для генерації текстур, дизайну візерунків і генеративної анімації. Правило 30 генерує начебто випадкові візерунки, що використовуються Вольфрамом для генерації випадкових чисел у Mathematica. Музиканти використовують КА для генерації ритмічних візерунків і мелодичних послідовностей. Варіанти Гри життя адаптовано в музичні композиції, де живі клітини запускають інструменти.