12. Частично рекурсивные функции и их вычислимость

Приведем еще один класс вычислимых функций, предложенный в 30-х годах XX века (Гедель, Клини, Черч) в качестве уточнения понятия алгоритма — класс Частично рекурсивных функций. Данный класс определяется путем указания конкретных исходных функций и фиксированного множества операций получения новых функций из заданных. Ниже рассматриваются функции типа .

В качестве базисных функций берутся следующие:

Нуль-функция: ;

Функция следования: ;

Функции выбора аргументов:

;

Допустимыми операциями над функциями являются операции суперпозиции (подстановки), рекурсии и минимизации.

Операция суперпозиции. Пусть даны N-местная функция G и N функций . Считаем, что функции зависят от одних и тех же переменных . Это можно сделать путем введения фиктивных переменных. Суперпозицией (подстановкой) функций G и называется функция

.

Если среди заданных функций имеются частичные, то и функция H будет частичной. Функция H на наборе переменных определена тогда и только тогда, когда определены все функции и функция G определена на наборе . Операцию суперпозиции обозначают .

Операция рекурсии (точнее: примитивной рекурсии). Пусть заданы N-местная функция и (N + 2)-местная функция . Определим (N + 1)-местную функцию F индуктивным образом с помощью соотношений:

;

.

Ясно, что данные соотношения однозначно определяют функцию F. Если функции G и H частичные, то считается определенной в том и только в том случае, когда определены и при . Значит, если не определено, то и не определено при . Про функцию F говорят, что она получена рекурсией из функций G и H и обозначают F = R(GH).

Операция минимизации. Пусть задана N-местная функция . Зафиксируем набор и рассмотрим уравнение относительно Y: . Будем решать данное уравнение, вычисляя последовательно , , , …, и сравнивая с . Наименьшее Y, для которого выполнено исходное уравнение обозначим через . При этом считаем, что Y определено, если определено при всех . В противном случае считаем, что Y не определено. Значение Y есть функция F от переменных , про которую говорят, что она получена из функции G операцией минимизации и обозначают . Заметим, что определенные выше операции S и R, будучи примененными к всюду определенным функциям, дают всюду определенные функции. Операция М может давать частичные функции даже при применении к всюду определенным функциям.

Пример 12.1. . Здесь всюду определена, но определена только при .

Дадим теперь основное определение данного раздела.

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

Обозначим: Ч — класс частично рекурсивных функций, Ч0 — класс общерекурсивных функций, ЧПр — класс примитивно-рекурсивных функций.

Класс частично рекурсивных функций — одно из главных понятий теории алгоритмов. Это объясняется тем, что какие бы классы точно очерченных «алгоритмов» до сих пор не рассматривались, во всех случаях оказывалось, что соответствующие числовые функции, вычислимые посредством алгоритмов этих классов, были частично рекурсивными. Поэтому общепринятой является гипотеза, формулируемая как Тезис Черча (для частично рекурсивных функций). Класс алгоритмически вычислимых функций совпадает с классом всех частично рекурсивных функций. Принятие данного тезиса позволяет истолковывать доказательство, что некоторая функция не является частично рекурсивной, как доказательство отсутствия алгоритма вычисления ее значений.

Сделаем одно замечание. Пусть необходимо доказать, что конкретная функция вычислима. Это можно сделать следующими способами:

1) написать программу машины Тьюринга или МПД, вычисляющую F, либо показать, что F принадлежит классу функций, вычислимость которых доказана;

2) написать рекурсивную схему для F, показывающую, что F — частично рекурсивна;

3) дать неформальное (но достаточно точное) описание алгоритма, вычисляющего F, и затем сослаться на тезис Черча.

Мы будем пользоваться способом 3 как строгим методом доказательства, основанным на тезисе Черча.

Приведем примеры частично рекурсивных функций и установим частичную рекурсивность основных числовых функций, используемых в арифметике и анализе.

1. Функции-константы. .

2. Функция . Имеем , . Это есть рекурсия с помощью функций и .

3. Функция . Имеем , . Это есть рекурсия с помощью функций , .

4. Функция . Имеем , . Это есть рекурсия с помощью функций , .

5. Функция Имеем , . Это рекурсия, в которой , .

6. Функция Имеем , . Это рекурсия, в которой , .

7. Функция Имеем , . Это рекурсия, в которой , .

8. Функция Имеем , . Это рекурсия, в которой , .

9. Функция . Имеем . Отметим, что поскольку функция общерекурсивна, то можно заменить определение операции минимизации, рассматривая вместо функции вида , где . Определяемый класс функций при этом будет тем же самым.

10. Функция . Имеем .

11. Функция . Имеем .

12. Функция  — целая часть от деления X на Y. По определению полагаем , чтобы фукнция была всюду определена. Имеем . Действительно, при Y = 0 .

При существует минимальное Z, , при котором или или , откуда .

13. Функция  — остаток от деления X на Y. Имеем .

14. Функция

Имеем .

15. Двоичная степень числа X. , если , но не выполняется . Имеем и замечаем, что функция  — общерекурсивна.

16. Функция, отличная от 0 в конечном числе точек. Если в точках , причем , то имеем .

Аналогично можно доказать (примитивную) рекурсивность функций:

Число простых чисел, не превосходящих X;

 — квадратичный остаток числа X;

 — -е простое число (, , , , и т. д.).

Покажем теперь вычислимость на МПД частично рекурсивных функций.

Базисные функции O(N), S(N), вычислимы на МПД командами Z(N), S(N), T(M, 1).

© 2011-2024 Контрольные работы по математике и другим предметам!