Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры МЛТА v.0.9.docx
Скачиваний:
3
Добавлен:
01.04.2025
Размер:
484 Кб
Скачать

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

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

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

69, 70

69. Проблема остановки как пример алгоритмически неразрешимых проблем.

Требование результативности: по любому алгоритму А и данным a можно было определить, приведет ли работа А при исходных данных a к результату или нет. Иначе говоря, нужно построить алгоритм В, такой, что В (А, а)=И, если А(а) дает результат, и В (А, а) =Л, если А(а) не дает результата.

В силу тезиса Тьюринга эту задачу можно сформулировать как задачу о построении машины Тьюринга: построить машину T0 такую, что для любой машины Тьюринга Т и любых исходных данных a для машины Т T0(ST, а) =И, если машина Т(а) останавливается, и T0(ST, а) = Л, если машина Т(а) не останавливается.

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

Предположим, что T0 существует. Для определенности будем считать, что маркером между ST и a на ленте машины T0 служит * . Построим машину T1(ST) = T0(Tкоп(ST)). Исходными данными машины T1 являются системы команд (точнее, их коды) любой машины Т. Запись ST на ленте машина T1 преобразует в ST * ST, а затем работает как машина T0. Таким образом, T1 также решает проблему остановки для любой Т, но только в том случае, когда на ленте Т в качестве данных aT написана ее собственная система команд ST. Иначе говоря, T1(ST) = И, если T(ST) останавливается, и T1(ST) =Л, если машина T(ST) не останавливается.

Пусть q1n — заключительное состояние T1. Добавим к системе команд T1 одно состояние q1,n+1, объявив его заключительным, и m команд (m—число символов T1) q1n Л® q1,n+1 E, q1n aj ® q1n R для любого aj, (в том числе И), кроме Л. Получим T¢1(ST), которая останавливается, если Т не останавливается, и не останавливается, если Т останавливается.

Запишем теперь на ленте T¢1 ее собственную систему команд ST¢1. Тогда T¢1 остановится, если она не останавливается, и не остановится, если она останавливается.

Очевидно, такая машина T¢1 невозможна. Но поскольку она получена из T0 вполне конструктивными, не вызывающими сомнений средствами и при этом никак не связана с конкретной структурой машины T0, остается заключить, что никакая машина T0, решающая проблему остановки, невозможна.

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