Елементарний клітинний автомат

Анімація того, як визначає еволюцію Правило 30, одне з 256 можливих правил елементарних клітинних автоматів
Усі 256 елементарних правил клітинного автомата[1] (натисніть, щоб збільшити).

У математиці та теорії обчислюваності елементарний клітинний автомат — найпростіший можливий варіант клітинного автомата — одновимірний клітинний автомат, у якому є два можливих стани (позначені 0 і 1), а правило для визначення стану клітини в наступному поколінні залежить лише від поточного стану клітини та двох її безпосередніх сусідів.[2] Існує елементарний клітинний автомат (правило 110, визначене нижче), який здатний виконувати універсальні обчислення, і, отже, є однією з найпростіших можливих моделей обчислень.

Особливості автомата

  • Поверхня — одновимірна стрічка;
  • клітина може набувати лише одного з двох значень (0 та 1); може мати лише двох сусідів;
  • правила записуються у вигляді шаблонів і мають назви, котрі відповідають десятковому поданню двійкового числа, утвореного з наведених у шаблоні значень нового стану клітинки. Шаблон містить лише 8 значень. Наприклад, шаблон для правила 86 такий:
Шаблон 111 110 101 100 011 010 001 000
Новий стан клітини 0 1 0 1 0 1 1 0
  • вивід — для виведення переважно використовується двовимірний малюнок (поверхня), кожен рядок якого представляє результат обчислення клітинного автомата, завдяки чому можна побачити не лише поточний стан автомата але і його історію.

Система нумерації

Є 8 = 23 можливих конфігурацій для комірки та двох її безпосередніх сусідів. Правило, що визначає клітинний автомат, має задавати наступний стан для кожної з цих конфігурацій, тобто, існує 256 = 223 можливих елементарних клітинних автоматів. Стівен Вольфрам запропонував схему, відому як код Вольфрама[en], де кожному правилу надано номер від 0 до 255, який став стандартним. Щоб дізнатись його:

  • записують за порядком усі можливі поточні конфігурації (111, 110, … , 001, 000),
  • в тому самому порядку записують стани, породжені кожною з цих конфігурацій,
  • інтерпретують результат як двійкове ціле число.

Це число використовують, як номер правила автомата. Наприклад, 11010 = 011011102. Отже, правило 110 визначається правилом переходу:

111 110 101 100 011 010 001 000 поточний зразок P=(L,C,R)
0 1 1 0 1 1 1 0 новий стан середньої клітини N110d =(C+R+C*R+L*C*R)%2

Відбиття та доповнення

Хоча існує 256 можливих правил, багато з них тривіально еквівалентні одне одному аж до простого перетворення основної геометрії.

Першим таким перетворенням є відбиття відносно вертикальної осі, і результат застосування цього перетворення до даного правила називають дзеркальним правилом. Ці правила демонструватимуть однакову поведінку аж до відбиття відносно вертикальної осі, тому є еквівалентними в обчислювальному сенсі.

Наприклад, якщо визначення правила 110 відбити відносно вертикальної осі, то вийде таке правило (правило 124):

111 110 101 100 011 010 001 000 поточний зразок P=(L,C,R)
0 1 1 1 1 1 0 0 новий стан середньої комірки N112d +12d =124d =(L+C+L*C+L*C*R)%2

Правила, які збігаються зі своїм дзеркальними правилами, називають амфіхіральними. З 256 елементарних клітинних автоматів 64 є амфіхіральними.

Друге таке перетворення полягає в обміні ролями 0 і 1 у визначенні. Результат застосування цього перетворення до певного правила називають доповняльним правилом. Наприклад, якщо це перетворення застосувати до правила 110, отримаємо таке правило:

поточний зразок 000 001 010 011 100 101 110 111
новий стан середньої клітини 1 0 0 1 0 0 0 1

і після змінення порядку виявляється, що це правило 137:

поточний зразок 111 110 101 100 011 010 001 000
новий стан середньої клітини 1 0 0 0 1 0 0 1

Існує 16 правил, які збігаються з доповняльними правилами.

Зрештою, ці два перетворення можна застосувати до правила послідовно, й отримати дзеркальне доповняльне правило. Наприклад, дзеркальним доповняльним правилом для правила 110 є правило 193. Є 16 правил, які збігаються з їхніми дзеркальними доповняльними правилами.

З 256 елементарних клітинних автоматів є 88 нееквівалентних за цими перетвореннями.

Виявляється, що відбиття і доповнення є автоморфізмами моноїда одновимірних клітинних автоматів, оскільки вони обидва зберігають композицію.

Історія однієї 1

Один із методів вивчення цих автоматів, полягає в тому, щоб простежити його історію з початкового стану зі всіма нулями, за винятком однієї комірки з 1. Коли номер правила парний (тобто введення 000 не створює 1), має сенс інтерпретувати стан у кожен момент часу t, як ціле число, виражене у двійковій формі, що створює послідовність a(t) цілих чисел. У багатьох випадках ці послідовності мають прості вирази замкненої форми або твірну функцію простої форми. Примітні такі правила:

Правило 28

Згенерована послідовність 1, 3, 5, 11, 21, 43, 85, 171, … послідовність A001045 з Онлайн енциклопедії послідовностей цілих чисел, OEIS. Це послідовність чисел Якобсталя, яка має твірну функцію

.

Вона має вираз замкненої форми

Правило 156 створює таку саму послідовність.

Правило 50

Згенерована послідовність: 1, 5, 21, 85, 341, 1365, 5461, 21845, … (послідовність A002450 з Онлайн енциклопедії послідовностей цілих чисел, OEIS).[3] Її твірна функція

.

Вона має вираз замкненої форми

.

Зауважте, що правила 58, 114, 122, 178, 186, 242 і 250 генерують однакові послідовності.

Правило 54

Згенерована послідовність: 1, 7, 17, 119, 273, 1911, 4369, 30583, … (послідовність A118108 з Онлайн енциклопедії послідовностей цілих чисел, OEIS).[4] Вона має твірну функцію

.

Її вираз замкненої форми

.

Правило 60

Згенерована послідовність: 1, 3, 5, 15, 17, 51, 85, 255, … (послідовність A001317 з Онлайн енциклопедії послідовностей цілих чисел, OEIS).[5] Її можна отримати, взявши послідовні рядки трикутника Паскаля за модулем 2 та інтерпретуючи їх як цілі числа в двійковій системі, які можна графічно подати трикутником Серпінського.

Правило 90

Докладніше: Правило 90

Згенерована послідовність: 1, 5, 17, 85, 257, 1285, 4369, 21845, … (послідовність A038183 з Онлайн енциклопедії послідовностей цілих чисел, OEIS).[6] Її можна отримати, взявши послідовні рядки трикутника Паскаля за модулем 2 та інтерпретуючи їх як цілі числа за основою 4. Зауважте, що правила 18, 26, 82, 146, 154, 210 і 218 генерують однакові послідовності.

Правило 94

Згенерована послідовність: 1, 7, 27, 119, 427, 1879, 6827, 30039, … (послідовність A118101 з Онлайн енциклопедії послідовностей цілих чисел, OEIS).[7] Її можна виразити як

.

Її твірна функція

.

Правило 102

Згенерована послідовність: 1, 6, 20, 120, 272, 1632, 5440, 32640, … (послідовність A117998 з Онлайн енциклопедії послідовностей цілих чисел, OEIS).[8] Це послідовність, створена за правилом 60 (дзеркальне правило), помножена на послідовні степені 2.

Правило 110

Згенерована послідовність: 1, 6, 28, 104, 496, 1568, 7360, 27520, 130304, 396800, … (послідовність A117999 з Онлайн енциклопедії послідовностей цілих чисел, OEIS).[9] Правило 110 має цікаву властивість: воно повне за Тюрінгом і, отже, придатне для універсальних обчислень.[10]

Правило 150

Згенерована послідовність: 1, 7, 21, 107, 273, 1911, 5189, 28123, … (послідовність A038184 з Онлайн енциклопедії послідовностей цілих чисел, OEIS).[11] Її можна отримати, взявши коефіцієнти послідовних степенів (1+x+x2) за модулем 2 та інтерпретуючи їх як цілі числа в двійковій системі.

Правило 158

Згенерована послідовність: 1, 7, 29, 115, 477, 1843, 7645, 29491, … (послідовність A118171 з Онлайн енциклопедії послідовностей цілих чисел, OEIS).[12] Її твірна функція

.

Правило 188

Згенерована послідовність 1, 3, 5, 15, 29, 55, 93, 247, … (послідовність A118173 з Онлайн енциклопедії послідовностей цілих чисел, OEIS).[13] Її твірна функція

.

Правило 190

Згенерована послідовність: 1, 7, 29, 119, 477, 1911, 7645, 30583, … (послідовність A037576 з Онлайн енциклопедії послідовностей цілих чисел, OEIS).[14] Її твірна функція

.

Правило 220

Згенерована послідовність: 1, 3, 7, 15, 31, 63, 127, 255, … (послідовність A000225 з Онлайн енциклопедії послідовностей цілих чисел, OEIS).[15] Це послідовність чисел Мерсенна, яка має твірну функцію

.

Її вираз замкненої форми

.

Правило 252 створює таку саму послідовність.

Правило 222

Згенерована послідовність: 1, 7, 31, 127, 511, 2047, 8191, 32767, … (послідовність A083420 з Онлайн енциклопедії послідовностей цілих чисел, OEIS).[16] Це кожне друге з послідовності чисел Мерсенна, твірна функція така:

.

Вираз замкненої форми

.

Правило 254 генерує таку саму послідовність.

Зображення для правил 0-99

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

Випадковий початковий стан

Другий спосіб дослідити поведінку цих автоматів — вивчити їхню історію, починаючи з випадкового стану. Цю поведінку можна краще зрозуміти з точки зору класів Вольфрама. Вольфрам наводить такі приклади типових правил кожного класу:

  • Клас 1: клітинні автомати, які швидко збігаються до однорідного стану. Прикладами є правила 0, 32, 160 і 232.
  • Клас 2: клітинні автомати, які швидко переходять у повторюваний або стабільний стан. Прикладами є правила 4, 108, 218 і 250.
  • Клас 3: клітинні автомати, які, схоже, залишаються у випадковому стані. Прикладами є правила 22, 30, 126, 150, 182.
  • Клас 4: клітинні автомати, які утворюють ділянки повторюваних або стабільних станів, а також утворюють структури, які взаємодіють між собою складними способами. Прикладом є правило 110. Показано, що правило 110 здатне виконувати універсальні обчислення.

Кожен обчислений результат розміщується під джерелом цього результату, створюючи двовимірне подання еволюції системи.

У наведеній нижче галереї для кожного з 88 нееквівалентних правил показано еволюцію від випадкових початкових умов. Під кожним зображенням наведено номер правила, використаного для створення зображення, а в дужках включено номери еквівалентних правил, створених відбиттям або доповненням, якщо вони існують.[19] Як ішлося вище, відбите правило створить відбите зображення, тоді як доповняльне правило створить зображення з обміном чорного та білого.

Незвичайні випадки

У деяких випадках поведінка клітинного автомата не відразу очевидна. Наприклад, для Правила 62[18] взаємодійні структури розвиваються як у Класі 4. Але в цих взаємодіях принаймні одна зі структур анігілюється, тому автомат зрештою переходить у повторюваний стан і клітинний автомат належить до класу 2.

Правило 73 належить до класу 2, оскільки щоразу, коли з'являється дві послідовні одиниці, оточені нулями, вони зберігаються в наступних поколіннях. Це створює «стіни», які блокують потік інформації між різними частинами масиву. Існує скінченна кількість можливих конфігурацій у секції між двома стінами, тому автомат повинен зрештою почати повторюватися всередині кожної секції, хоча період може бути дуже довгим, якщо секція достатньо широка. Ці стіни утворюються з імовірністю 1 для цілком випадкових початкових умов. Однак, якщо довжина послідовностей 0 або 1 завжди непарна, то автомат демонструє поведінку класу 3, оскільки стіни ніколи не можуть утворитися.

Правило 54[4] належить до класу 4 і, схоже, також придатне для універсальних обчислень, але його не вивчено так ретельно, як правило 110. Каталогізовано багато взаємодійних структур, які разом, як очікують, будуть достатніми для універсальності.[21]

Примітки

  1. R.Ugalde, Laurence. Elementary cellular automaton in the Fōrmulæ programming language. Fōrmulæ. Процитовано 9 червня 2024.
  2. Weisstein, Eric W. Elementary Cellular Automaton(англ.) на сайті Wolfram MathWorld.
  3. а б в Weisstein, Eric W. Правило 50(англ.) на сайті Wolfram MathWorld.
  4. а б в г Weisstein, Eric W. Правило 54(англ.) на сайті Wolfram MathWorld.
  5. а б в Weisstein, Eric W. Правило 60(англ.) на сайті Wolfram MathWorld.
  6. а б в Weisstein, Eric W. Правило 90(англ.) на сайті Wolfram MathWorld.
  7. а б в Weisstein, Eric W. Правило 94(англ.) на сайті Wolfram MathWorld.
  8. Weisstein, Eric W. Правило 102(англ.) на сайті Wolfram MathWorld.
  9. а б Weisstein, Eric W. Правило 110(англ.) на сайті Wolfram MathWorld.
  10. Cook, Matthew (25 червня 2009). A Concrete View of Rule 110 Computation. Electronic Proceedings in Theoretical Computer Science. 1: 31—55. arXiv:0906.3248. doi:10.4204/EPTCS.1.4. ISSN 2075-2180.
  11. а б Weisstein, Eric W. Правило 150(англ.) на сайті Wolfram MathWorld.
  12. Weisstein, Eric W. Правило 158(англ.) на сайті Wolfram MathWorld.
  13. Weisstein, Eric W. Правило 188(англ.) на сайті Wolfram MathWorld.
  14. Weisstein, Eric W. Правило 190(англ.) на сайті Wolfram MathWorld.
  15. Weisstein, Eric W. Правило 220(англ.) на сайті Wolfram MathWorld.
  16. Weisstein, Eric W. Правило 222(англ.) на сайті Wolfram MathWorld.
  17. а б Weisstein, Eric W. Правило 30(англ.) на сайті Wolfram MathWorld.
  18. а б в Weisstein, Eric W. Правило 62(англ.) на сайті Wolfram MathWorld.
  19. Wolfram, Stephen (1994). Tables of Cellular Automaton Properties. Cellular Automata and Complexity: Collected Papers (PDF). Westview Press. с. 516—521. ISBN 0-201-62716-7.
  20. Weisstein, Eric W. Правило 126(англ.) на сайті Wolfram MathWorld.
  21. Martínez, Genaro Juárez; Adamatzky, Andrew; McIntosh, Harold V. (1 квітня 2006). Phenomenology of glider collisions in cellular automaton Rule 54 and associated logical gates (PDF). Chaos, Solitons & Fractals. 28 (1): 100—111. Bibcode:2006CSF....28..100M. doi:10.1016/j.chaos.2005.05.013. ISSN 0960-0779.

Посилання

Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9

Portal di Ensiklopedia Dunia

Kembali kehalaman sebelumnya