Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
30
Добавлен:
14.04.2015
Размер:
246.78 Кб
Скачать

2.5. Уточнение понятия алгоритма

Неразрешимость некоторых алгоритмических проблем поставила перед математиками трудную задачу точного определения понятия “алгоритм”. Решение этой задачи было получено в 30-х годах нашего века в двух формах:

1) решение основано на понятии рекурсивной функции;

2) решение основано на описании точно очерченного класса вычислительных процессов.

Отправляясь от аксиоматики Гильберта, Гёдель описал класс всех рекурсивных функций как класс всех числовых функций, определимых в некоторой формальной системе. Исходя из других предпосылок, Чёрч пришел в 1936 г. к тому же классу числовых функций. Анализ идей, которые привели к этому классу числовых функций, позволили Чёрчю выдвинуть гипотезу о том, что класс рекурсивных функций тождествен классу всюду определённых вычислимых функций (тезис Чёрча). Так как понятие “вычислимые функции” точно не определено, то тезис Чёрча доказать нельзя.

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

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

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

Основная мысль Поста и Тьюринга заключалась в том, что алгоритмические процессы - это процессы, которые может осуществлять подходяще устроенная “машина”. В соответствии с этой мыслью ими были описаны в точных математических терминах довольно узкие классы машин, но на этих машинах оказалось возможным осуществлять или имитировать все алгоритмические процессы, которые фактически когда-либо описывались математически. Алгоритмы, осуществимые на данных машинах, было предложено рассматривать как математических “представителей” вообще всех алгоритмов. Несложные выкладки показали, что класс функций, вычислимых на этих машинах, в точности совпадает с классом всех частично рекурсивных функций. Тем самым было получено ещё одно фундаментальное подтверждение тезиса Чёрча. Машины Поста и Тьюринга отличались несущественно и в дальнейшем стали называться машинами Тьюринга.

Решая задачу построения класса вычислимых функций, мы последовательно построили класс элементарных функций, затем класс примитивно-рекурсивных функций и, наконец, класс общерекурсивных функций. Требуется ли расширять класс общерекурсивных функций? Многочисленные попытки такого расширения не привели к успеху. Поэтому Чёрч в 1936 г. выдвинул тезис, согласно которому всякая эффективно вычислимая функция (эффективно разрешимый предикат) является общерекурсивной.

Тезис Чёрча доказать нельзя, так как в нём фигурирует нечёткое понятие вычислимой функции в отличие от точного математического понятия общерекурсивной функции. Этот тезис является научной гипотезой, в пользу которой высказан ряд важных доводов и которую не удалось опровергнуть. Одним из таких доводов является то, что различные уточнения понятия “алгоритм”, сделанные разными авторами, оказались равносильными. Так, например, нормальный алгоритм Маркова оказался сводимым к общерекурсивным функциям.

Интуитивное определение как численных, так и логических алгоритмов похожи:

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

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

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

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

Поскольку понятия “алгоритм” и “вычисление значений арифметической функции” тождественны, то в соответствии с тезисом Чёрча задача оказывается алгоритмически разрешимой лишь тогда, когда арифметическая функция, к вычислению которой мы сводим нашу задачу, оказывается общерекурсивной. Иначе : алгоритм существует лишь тогда, когда может быть построена общерекурсивная функция.

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