ПРОБЛЕМА ОСТАНОВКИ

 

Рассмотрим вопрос о существовании такого алгоритма, который для произвольной программы и начальных данных для нее позволяет ответить на вопрос: "заканчивается работа программы на заданных исходных данных за конечное число шагов или нет?".

Сформулированная задача называется проблемой остановки. Переформулируем эту проблему в терминах разрешимости множеств.

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

Начальные данные для программы Pбудем представлять натуральными числами. Тогда можно считать, что программа с текстом P вычисляет одноместную числовую функцию
f: N ® N, совпадающую с некоторой функцией fi(x) из последовательности (3), содержащей все одноместные вычислимые числовые функции.

Определим множество:

R1 = {(m, n) | значение fm(n) определено}.

Нетрудно видеть, что если существует алгоритм, который по произвольной программе P и некоторому начальному данному d для этой программы определяет, заканчивается ли вычисление программы P на d или нет, то множество R1 является разрешимым.

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

 








Дата добавления: 2015-09-18; просмотров: 478;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.