12.3. Вычислимость минимизации
Теорема 12.6. Пусть функция вычислима на МПД. Тогда вычислима и функция
.
Доказательство. Пусть G — программа стандартного вида, вычисляющая функцию G. Пусть . Построим программу F для вычисления функции F по следующему алгоритму: вычислять при Y = 0, 1, 2, … до тех пор, пока не найдется Y, такой, что , тогда Y будет требуемым выходом. Помещаем в регистры . Полагаем в начале Y = 0. Промежуточное значение помещаем в . Программа для вычисления F:
…
IP:
IQ:
Следовательно, функция F вычислима, что и требовалось доказать.
Следствие 12.6. Частично рекурсивные функции вычислимы на МПД, т. е. Ч Í Е.
Покажем теперь частичную рекурсивность вычислимых функций.
Теорема 12.7. Всякая вычислимая на МПД функция является частично рекурсивной.
Доказательство. Пусть — вычислимая на МПД функция и пусть P = I1I2…IS — соответствующая программа. Будем называть шагом вычисления выполнение одной команды программы. Для произвольных и определим следующие функции, связанные с вычислением :
Таким образом, , . Очевидно, что функции , всюду определены. Найдем теперь выражение для через введенные функции. Если значение определено, то останавливается после T0 шагов, где , поэтому . Если же значение не определено, то не останавливается, и тогда для любых , поэтому не определено. Следовательно, во всех случаях .
Теперь, если убедиться, что функции и частично рекурсивны, то таковой будет и функция . Ясно, что существует неформальный алгоритм вычисления значений функций и . Для этого нужно по заданным , T написать последовательность конфигураций K0 à K1 à … à KT и выписать содержимое регистра R1 и номер выполняемой на шаге T + 1 команды. По тезису Черча функции и частично рекурсивны и, значит, функция является частично рекурсивной, что и требовалось доказать.
Замечание 12.8. Более точный анализ показывает, что функции и являются примитивно-рекурсивными.
Следствие 12.9. Классы функций Ч и Е совпадают.
Рассмотрим теперь вопрос о соотношении введенных классов ЧПр, Ч0 и Ч.
Поскольку класс Ч содержит частично определенные функции, то ясно, что Ч0 Í Ч. Кроме того, очевидно, что ЧПр Í Ч0. Вопрос о том, является ли включение ЧПр Í Ч0 собственным решается несколько сложнее.
Первый пример общерекурсивной функции, не являющейся примитивно рекурсивной, был дан Аккерманом (1928).
Функция Аккермана задается соотношениями:
;
;
.
Можно доказать, что данные соотношения однозначно определяют функцию . Результаты вычислений убеждают, что имеется алгоритм вычисления функции .
В то же время доказывается, что функция не является примитивно рекурсивной, так как растет быстрее, чем любая одноместная примитивно рекурсивная функция. Доказательство, ввиду его громоздкости, опускается[6].
< Предыдущая | Следующая > |
---|