Клеточный автомат Кодда

Двумерный клеточный автомат, разработанный Эдгаром Ф. Коддом в 1968 году.
Простая конфигурация в клеточном автомате Кодда. Сигналы проходят по проводу, состоящему из клеток в состоянии 1 (синие), покрытых клетками в состоянии 2 (красные). Два сигнальных поезда циркулируют по петле и дублируются в Т-образном соединении на открытом конце провода. Первый (7-0) заставляет конец провода с оболочкой стать открытым. Второй (6-0) снова покрывает оболочкой открытый конец, оставляя провод на одну клетку длиннее, чем прежде.

Клеточный автомат Коддаклеточный автомат (КА), разработанный британским ученым-компьютерщиком Эдгаром Ф. Коддом в 1968 году. Он был разработан для воссоздания универсальности вычислений и конструкций КА фон Неймана , но с меньшим количеством состояний: 8 вместо 29. Кодд показал, что в его КА можно создать самовоспроизводящуюся машину, аналогично универсальному конструктору фон Неймана , но так и не дал полной реализации.

История

В 1940-х и 1950-х годах Джон фон Нейман сформулировал следующую проблему: [1]

  • Какая логическая организация достаточна для того, чтобы автомат мог воспроизводить себя?

Он смог построить клеточный автомат с 29 состояниями, а вместе с ним и универсальный конструктор . Кодд, основываясь на работе фон Неймана, нашел более простую машину с восемью состояниями. [2] Это изменило вопрос фон Неймана:

  • Какая логическая организация необходима автомату, чтобы иметь возможность воспроизводить себя?

Через три года после работы Кодда Эдвин Роджер Бэнкс в своей докторской диссертации показал 4-х ступенчатый КА, который также был способен к универсальным вычислениям и построению, но снова не реализовал самовоспроизводящуюся машину. [3] Джон Девор в своей магистерской диссертации 1973 года подправил правила Кодда, чтобы значительно уменьшить размер конструкции Кодда. Моделирование конструкции Девора было продемонстрировано на третьей конференции по искусственной жизни в 1992 году, показав последние шаги построения и активации модели потомства, но полная саморепликация не была смоделирована до 2000-х годов с использованием Golly . Кристофер Лэнгтон внес еще одну поправку в клеточный автомат Кодда в 1984 году, чтобы создать петли Лэнгтона , демонстрируя саморепликацию с гораздо меньшим количеством клеток, чем требовалось для самовоспроизводства в предыдущих правилах, ценой устранения возможности универсальных вычислений и построения. [4]

Сравнение наборов правил CA

КАколичество штатовсимметриивычислительно- и конструкционно-универсальныйразмер самовоспроизводящейся машины
фон Нейман29никтода130 622 ячеек
Кодд8вращенияда283,126,588 клеток [5]
Деворе8вращенияда94,794 ячеек
Banks IV (Клеточный автомат Banks IV)2 - 4 [6] [3]вращения и отражениядаГде-то около 100 000 000 000 клеток
петли Лэнгтона8вращениянет86 ячеек

Спецификация

Конструкционная рука в СА Кодда может быть перемещена в положение с помощью команд, перечисленных в тексте. Здесь рука поворачивается влево, затем вправо, затем записывает ячейку перед тем, как отступить по тому же пути.

Калибровочный автомат Кодда имеет восемь состояний, определяемых окрестностью фон Неймана с вращательной симметрией.

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

цельсигнальный поезд
продлевать70116011
продлить_влево4011401150116011
расширить_право5011501140116011
отозвать4011501160116011
retract_left5011601160116011
retract_right4011601160116011
отметка701160114011501170116011
стереть601170114011501160116011
смысл70117011
колпачок40116011
инъекция_оболочки701150116011
inject_trigger60117011701160116011

Универсальный компьютер-конструктор

Кодд спроектировал самовоспроизводящийся компьютер в клеточном автомате на основе W-машины Вана . Однако проект был настолько колоссален, что избегал реализации до 2009 года, когда Тим Хаттон сконструировал явную конфигурацию. [5] В проекте Кодда были некоторые незначительные ошибки, поэтому реализация Хаттона немного отличается как по конфигурации, так и по набору правил.

Смотрите также

Ссылки

  1. ^ фон Нейман, Джон; Беркс, Артур В. (1966). "Теория самовоспроизводящихся автоматов". www.walenz.org. Архивировано из оригинала 2008-01-05 . Получено 2012-01-28 .
  2. ^ Кодд, Эдгар Ф. (1968). Клеточные автоматы . Academic Press, Нью-Йорк.
  3. ^ ab Banks, Edwin (1971). Обработка и передача информации в клеточных автоматах. Кандидатская диссертация, Массачусетский технологический институт, кафедра машиностроения.
  4. ^ Лэнгтон, К. Г. (1984). «Самовоспроизведение в клеточных автоматах» (PDF) . Physica D: Nonlinear Phenomena . 10 ( 1– 2): 135– 144. Bibcode :1984PhyD...10..135L. doi :10.1016/0167-2789(84)90256-2. hdl : 2027.42/24968 .
  5. ^ ab Hutton, Tim J. (2010). "Самовоспроизводящийся компьютер Кодда" (PDF) . Искусственная жизнь . 16 (2): 99– 117. doi :10.1162/artl.2010.16.2.16200. PMID  20067401. S2CID  10049331. Архивировано из оригинала (PDF) 2012-02-05 . Получено 2010-08-01 .
  6. ^ «Доказательство Роджера Бэнкса универсальности вычислений в клеточных автоматах».
  • В репозитории таблиц правил имеется таблица переходов для CA Кодда.
  • Golly - поддерживает CA Кодда, а также игру «Жизнь» и другие наборы правил.
  • Загрузите полную версию машины (13 МБ) и более подробную информацию.
  • [1] показывает больше информации о Банксе IV.
Взято с "https://en.wikipedia.org/w/index.php?title=Codd%27s_cellular_automaton&oldid=1249521077"