Как выполняется правило 110 Тьюринга?

19

Я прочитал страницу Википедии для правила 110 в клеточных автоматах, и я более или менее знаю, как они работают (набор правил решает, где рисовать следующие 1 или 0).

Я только что прочитал, что они завершены по Тьюрингу, но я даже не могу понять, как бы вы «запрограммировали» «правило 110»?

Pureferret
источник
Это на самом деле правило 110, а не правило 101. Доказательство изложено на странице википедии, хотя и совершенно очевидно, как текст связывает это доказательство.
@WolfgangBangerth спасибо за это, я исправил это. Если доказательство / способ программирования находится там, это не достаточно очевидно для меня, чтобы определить это, извините.
Pureferret
1
Тот же вопрос возник и у меня, если есть скрипт для преобразования простой программы в этот автомат, а затем какой-нибудь «симулятор» для его выполнения.
2
отличный вопрос. детали сложны и содержатся в научных работах. см. tcs.SE, начальные условия для правила 110 для эскиза и некоторые ссылки. в основном, есть способ преобразовать или скомпилировать TM в «систему тегов» (известную как завершенную TM), а затем скомпилировать «систему тегов» в правило 110. Было бы «круто», если бы реальные реализации были созданы для ppl, с которым можно поэкспериментировать (и, несомненно, приведет к новым открытиям / открытиям), но, к сожалению, ни одного из них не существует, или авторы не публикуют свой код.
2012 года
1
тесно связаны 2d клеточные автоматы, и они могут быть изучены для некоторых интуиций в 1d случае. он был известен примерно с 70-х годов благодаря доказательству Конвея, что «игра жизни» завершена по Тьюрингу. см., например, симулятор Paul Rendell TM в Game of Life для современной / графической версии.
2012 года

Ответы:

11

Универсальность - это несколько неформальное понятие. Это примерно означает, что для каждой вычислимой функции в модели есть «программа» так что «запуск» на любом входе всегда «останавливает» и «выводит» правильный ответ. (Обратите внимание, что машины Тьюринга здесь не появляются: они являются лишь одним примером универсальной вычислительной модели.)P P xfPPx

Процитированные слова - это те слова, которые необходимо определить. Для машин Тьюринга:

  • Программа определяется как список состояний, магнитофона алфавита, начального состояния, конечных состояний и переходов.
  • Запуск машины Тьюринга на входе означает, что мы инициализируем ленту с кодировкой и запускаем машину на этой ленте в соответствии с обычными правилами.х х ТT xxT
  • Машина Тьюринга останавливается, если достигает конечного состояния. (Здесь есть несколько вариантов.)
  • То, что выводит машина Тьюринга (если она останавливается), является содержимым ленты.

Правило 110, как вычислительная модель, должно быть определено формально таким же образом. Определение является разумным, если можно вычислить вычислительную модель вычислительной модели в следующем смысле: существует вычислимая функция такая, что для каждой программы и ввода (оба кодируются как натуральные числа) останавливается тогда и только тогда, когда останавливается на , и если останавливается, то его вывод идентичен выводу на .P x S ( P , x ) P x S ( p , x ) P xSPxS(P,x)PxS(p,x)Px

Если вас интересует конкретная настройка правила 110 в качестве вычислительной системы, я предлагаю вам взглянуть на статью Мэтью Кука, в которой доказывается универсальность правила 110 (точнее, вычислительной системы, построенной на основе правила 110).

Что касается других правил, таких как правило 30 и правило 90, мы не знаем, что они не являются универсальными. Вокруг них могут быть построены убедительные вычислительные системы, которые являются универсальными, но мы просто не знаем ни о каких.

Юваль Фильмус
источник
3
Все верно, но правило 110 не имеет способа остановки. Оно может только вычислять, но не останавливать.
Павел
@Pavel Не обязательно останавливаться, чтобы быть завершенным по Тьюрингу
MilkyWay90
8

Из доказательства Мэтью:

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

Сначала автор доказывает, что «система тегов», которая удаляет 2 символа на каждом шаге, является универсальной путем компиляции машинной программы Тьюринга с 2 состояниями. После этого он доказывает, что система планеров действительно может реализовать систему тегов. Это пошаговый процесс. Затем он изучает космическое время CA-110, чтобы найти планеры и правильно привязать их к системе планеров.

Теперь на ваш вопрос: как бы вы «запрограммировали» «правило 110»?

  1. Найдите простейшую машину Тьюринга с двумя состояниями и найдите ленты с основными операциями ИЛИ, И, XOR, НЕ .

  2. Скомпилируйте их в систему тегов.

  3. Скомпилируйте реализацию системы тегов в реализацию планера.

  4. Правильно адаптируйте его к планерам CA-110, и вы получите базовые операции в клеточных автоматах.

Шаги с 1 по 4 выполняются только один раз. Оттуда вычисление сводится к сумме чисел с использованием логических элементов.1+1=2

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

labotsirc
источник
Таким образом, два планера могут «кодировать» +, и когда они сталкиваются, я получаю 2?
Pureferret
3
точнее, несколько пар планеров будут кодировать «+», предполагая, что пара планеров может кодировать «И», «И», «XOR» или «НЕ». Также учтите, что числа, вероятно, будут представлены в виде последовательности битов, а сумма будет выполнена с использованием логических элементов в каждой паре битов.
labotsirc
3
ВНИМАНИЕ! В сообществе CS по причинам разногласий существует некоторое противоречие по поводу доказательства полноты правила 110 TM. очевидно, что входное условие на CA требует бесконечно периодических (но повторяющихся) паттернов.
vzn
1
Я согласен с вами vzn на спор. Лично я не знаю, что думать с точки зрения отказа от теоретического решения формальными средствами или принятия CA-110 в качестве надмножества, которое работает как машина Тьюринга (тот факт, что CA - это пространства вычислений, которые работают как динамические системы и т. Д.). Начало этой параллельной работы заставляет меня задуматься, представляют ли они синтетическую вселенную, которая находится в стадии разработки)
labotsirc
Я не фанат игнорирования фактического пространства и временных ограничений. Википедия цитирует P-полноту правила клеточного автомата 110 и объясняет, что Neary и Woods избегали экспоненциальных временных затрат, избегая использования систем с 2 тегами. Однако Neary и Woods позже в том же году (2006) показали, что даже системы с двумя тегами не имеют экспоненциальных временных затрат на моделирование машин Тьюринга.
Томас Климпел