Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
all.docx
Скачиваний:
4
Добавлен:
30.04.2019
Размер:
4.46 Mб
Скачать

Вопрос 29

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

Программу любой детерминированной машины Тьюринга можно записать, используя некоторый конечный алфавит, состоящий из символов состояния, скобок, стрелки и т. п.; обозначим этот машинный алфавит как Σ1. Тогда универсальной машиной Тьюринга U для класса машин с алфавитом Σ2 и k входными лентами называется машина Тьюринга с k+1 входной лентой и алфавитом такая, что если подать на первые k лент входное значение, а на k+1 — правильно записанный код некоторой машины Тьюринга M1, то U выдаст тот же ответ, какой выдала бы на этих входных данных M1, или будет работать бесконечно долго, если M1 на этих данных не остановится.

Тезис Тьюринга

Тезис Тьюринга формируется так: «Всякий алгоритм может быть реализован машиной Тьюринга».

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

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

Вопрос 30

Проблема остановки машины Тьюринга формулируется следующим образом: дана машина Тьюринга в произвольной конфигурации со строкой непустых ленточных символов конечной длины. Остановиться ли она в конце концов? Говорят, что эта проблема рекурсивно не разрешима в том смысле, что не существует алгоритма, который для каждой T0 и каждой конфигурации определял бы, остановится ли машина когда-нибудь.

Вопрос 31

Неразрешимость проблемы остановки можно интерпрети­ровать как не существование общего алгоритма для отладки программ, точнее, алгоритма, который по тексту любой программы и данным для нее определял бы, зациклится ли программа на этих данных или нет. Если учесть сделанное ранее замечание, такая интерпретация не противоречит тому эмпирическому факту, что большинство Программ в конце концов удается отладить, т. е. установить наличие

решающую роль играют опыт и искусство программиста.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]