Теория и реализация языков программирования

       

Неразрешимость проблемы останова


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

Перенумеруем все машины Тьюринга и все возможные входы над алфавитом

Неразрешимость проблемы останова
. Рассмотрим язык

L1={xi|xi не допускается Ti}

Ясно, что

Неразрешимость проблемы останова
не допускается никакой Tm. Допустим, что это не так. Пусть
Неразрешимость проблемы останова
допускается Tj . Тогда
Неразрешимость проблемы останова
тогда и только тогда, когда
Неразрешимость проблемы останова
не допускается
Неразрешимость проблемы останова
. Но поскольку
Неразрешимость проблемы останова

допускает

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



Содержание раздела