12.3. Вычислимость минимизации

Теорема 12.6. Пусть функция вычислима на МПД. Тогда вычислима и функция

.

Доказательство. Пусть G — программа стандартного вида, вычисляющая функцию G. Пусть . Построим программу F для вычисления функции F по следующему алгоритму: вычислять при Y = 0, 1, 2, … до тех пор, пока не найдется Y, такой, что , тогда Y будет требуемым выходом. Помещаем в регистры . Полагаем в начале Y = 0. Промежуточное значение помещаем в . Программа для вычисления F:

IP:

IQ:

Следовательно, функция F вычислима, что и требовалось доказать.

Следствие 12.6. Частично рекурсивные функции вычислимы на МПД, т. е. Ч Í Е.

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

Теорема 12.7. Всякая вычислимая на МПД функция является частично рекурсивной.

Доказательство. Пусть  — вычислимая на МПД функция и пусть PI1I2…IS — соответствующая программа. Будем называть шагом вычисления выполнение одной команды программы. Для произвольных и определим следующие функции, связанные с вычислением :

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

Теперь, если убедиться, что функции и частично рекурсивны, то таковой будет и функция . Ясно, что существует неформальный алгоритм вычисления значений функций и . Для этого нужно по заданным , T написать последовательность конфигураций K0 à K1 à … à KT и выписать содержимое регистра R1 и номер выполняемой на шаге T + 1 команды. По тезису Черча функции и частично рекурсивны и, значит, функция является частично рекурсивной, что и требовалось доказать.

Замечание 12.8. Более точный анализ показывает, что функции и являются примитивно-рекурсивными.

Следствие 12.9. Классы функций Ч и Е совпадают.

Рассмотрим теперь вопрос о соотношении введенных классов ЧПр, Ч0 и Ч.

Поскольку класс Ч содержит частично определенные функции, то ясно, что Ч0 Í Ч. Кроме того, очевидно, что ЧПр Í Ч0. Вопрос о том, является ли включение ЧПр Í Ч0 собственным решается несколько сложнее.

Первый пример общерекурсивной функции, не являющейся примитивно рекурсивной, был дан Аккерманом (1928).

Функция Аккермана задается соотношениями:

;

;

.

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

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

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