Полнота по Тьюрингу

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Файл:OTCA metapixel.gif
Игра «Жизнь» является полной по Тьюрингу и может моделировать любую систему, включая саму себя (на фото).

Полнота́ по Тью́рингу — характеристика исполнителя (множества вычисляющих элементов) в теории вычислимости, означающая возможность реализовать на нём любую вычислимую функцию. Другими словами, для каждой вычислимой функции существует вычисляющий её элемент (например, машина Тьюринга) или программа для исполнителя, а все функции, вычисляемые множеством вычислителей, являются вычислимыми функциями (возможно, при некотором кодировании входных и выходных данных).

Свойство названо по имени Алана Тьюринга, разработавшего абстрактный вычислитель — машину Тьюринга, и давшего определение множества функций, вычислимых посредством машин Тьюринга.

Примеры

Большинство широко используемых языков программирования — тьюринг-полные. Это касается как императивных языков, таких как Паскаль, так и функциональных (Haskell) и языков логического программирования (Пролог). Некоторые языки программирования (Haskell, C++) обладают тьюринг-полнотой времени компиляции, помимо тьюринг-полноты времени исполнения.

Полны по Тьюрингу нормальный алгоритм Маркова, 2-теговая система, клеточный автомат с правилом 110, ингибиторная сеть Петри, лямбда-исчисление с бета-редукцией, неограниченные грамматики.

Неполны по Тьюрингу конечные автоматы, примитивно рекурсивные функции, контекстно-свободные и регулярные грамматики.

Универсальная система

В каждом тьюринг-полном классе вычислителей существует универсальный представитель класса, имитирующий выполнение произвольного заданного представителя класса. Так, например, универсальная машина Тьюринга по ленте, содержащей шифр произвольной заданной машины Тьюринга М и её входной цепочки В, имитирует выполнение М над В. В настоящее время построены универсальные машины Тьюринга, содержащие менее 23 инструкций<ref>T. Neary Шаблон:Wayback and D. Woods. Four small universal Turing machines. Fundamenta Informaticae, 91(1):123-144, 2009. Шаблон:Wayback</ref> для комбинаций числа состояний-символов 4×6, 5×5. Универсальная ингибиторная сеть Петри содержит 56 вершин<ref>Zaitsev D.A. Шаблон:Wayback Toward the Minimal Universal Petri Net, IEEE Transactions on Systems, Man, and Cybernetics: Systems, 2013, 1- 12.</ref>.

Примечания

Шаблон:Примечания

Литература

Ссылки

Шаблон:Computer-sci-stub