Полнота по Тьюрингу
-
Определение и история
- Полнота по Тьюрингу описывает способность компьютера выполнять все вычислимые функции.
- Алан Тьюринг сформулировал идею в 1936 году, но она была доказана только в 1998 году.
- Первым компьютером, способным к условным ветвлениям, был ENIAC в 1946 году, а Z4 от Zuse — в 1945 году.
-
Теория вычислимости
- Теория вычислимости анализирует проблемы и определяет, могут ли они быть решены.
- Проблема остановки является примером задачи, которую невозможно решить полностью.
- Существуют задачи, которые могут быть решены только языками, полными по Тьюрингу.
-
Оракулы Тьюринга
- Оракул Тьюринга — это бесконечная лента данных, которая может содержать решение неразрешимых задач.
- Компьютер с оракулом Тьюринга может выполнять задачи, которые машина Тьюринга не может.
-
Цифровая физика
- Гипотеза цифровой физики утверждает, что Вселенная может быть вычислена на универсальной машине Тьюринга.
-
Примеры
- Большинство языков программирования являются полными по Тьюрингу, включая процедурные, объектно-ориентированные, функциональные и логические языки.
- Некоторые системы перезаписи и клеточные автоматы также являются полными по Тьюрингу.
- Некоторые программы и видеоигры случайно оказываются полными по Тьюрингу.
-
Языки, не завершенные по Тьюрингу
- Существуют языки, которые не являются полными по Тьюрингу, например, регулярные языки и автоматы pushdown.
- Функциональные языки, такие как Charity и Epigram, не являются полными по Тьюрингу из-за ограничений на функции.
-
Рекомендации
- Для дальнейшего чтения предлагаются внешние ссылки.
Полный текст статьи: