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

 

Проблема остановки машины Тьюринга – это проблема построения такого алгоритма, который мог бы определить закончится или нет вычисление по некоторой задаче. Оказывается, что в общем случае такой алгоритм нельзя построить в принципе, то есть невозможно найти алгоритм, позволяющий по произвольной машине Тьюринга Т и произвольной ее начальной конфигурации q i a j определить придет ли машина Т в заключительное состояние q 0, если начнет работу в этой конфигурации.

Если машина Т, запущенная в начальной конфигурации q i a j, останавливается (т.е. попадает в заключительное состояние) через конечное число шагов, то она называется самоприменимой, в противном случае – несамоприменимой.

Теорема.

Не существует машины Тьюринга М, решающей проблему самоприменимости, то есть проблема самоприменимости алгоритмически неразрешима.

Доказательство.

Предположим противное, то есть. пусть существует машина Тьюринга Т, решающая проблему самоприместимости в указанном выше смысле. Построим новую машину Т0, добавив новое состояние q 0* и объявив его заключительным, а также добавив новые команды для состояния q 0, которое было заключительным в Т:


q 0 a 1a 1С q 0 (1)

q 0 a 2a 2 С q 0 (2)

…q 0 a na n С q 0 * (n)

 

Рассмотрим теперь работу машины T0.

Пусть M – произвольная машина. Если M – самоприменима, то начальная конфигурация q 1 a i перейдет с помощью команд машины T через конечное число шагов в конфигурацию q 0 a 1, далее применяется команда (1), и машина T0 никогда не остановится. Если M – несамоприменима, то начальная конфигурация q 1 a i перейдет с помощью команд машины T через конечное число шагов в конфигурацию q 0 a n, далее применяется команда (n), и машина T0 остановится.

Таким образом, машина T0 применима к кодам несамоприменимых машин Т и неприменима к кодам самоприменимых машин Т.

Теперь применим машину T0 к начальной конфигурации q 1 a i. Сама машина T0 является либо самоприменимой, либо несамоприменимой. Если T0 самоприменима, то по доказанному она никогда не остановится, начав с q 1 a i, и потому она несамоприменима. Если T0 несамоприменима, то по доказанному, она останавливается через конечное число шагов, начав с q 1 a j, и потому она самоприменима. Получили противоречие, следовательно проблема самоприменимости алгоритмически неразрешима, что и требовалось доказать.

Проблема остановки алгоритмически неразрешима, т. к. если бы она была разрешимой, то мы получили бы разрешимость проблемы самоприменимости.


Неразрешимости логики первого порядка

 

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: