Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Рекурсивные функции
Очевидно, что вычислимыми являются все натуральные константы. Как и в формальной арифметике натуральных чисел, определим их с помощью константы 0 и функции следования Также вычислимыми являются функции тождества. Через
Мощным средством построения новых функций является их суперпозиция. Определение. Оператором суперпозиции Функции тождества и оператор суперпозиции задают всевозможные операторы подстановки функции в функцию, а также переименования, перестановки и отождествления переменных. Оператор примитивной рекурсии определяет n +1-местную функцию f через n -местную функцию g и n +2-местную функцию h. Определение. Система равенств
называется схемой примитивной рекурсии, а оператор Если
Здесь Определение. Функция называется примитивно рекурсивной, если она может быть построена из 0, функций Примеры. 1) Функция суммы, определяемая равенством
т.е. 2) Функция арифметического вычитания
Определение. Отношение
примитивно рекурсивна. Так как существует взаимно однозначное соответствие между отношениями и предикатами, то Например, предикат Определение. Оператор называется примитивно рекурсивным, если он сохраняет примитивную рекурсию функций. Например, условный оператор
является примитивно рекурсивным. Примитивно рекурсивными являются также операторы конечного суммирования и конечного произведения
Определение. Ограниченный оператор наименьшего числа, называемый ограниченным оператором минимизации (ограниченный m-оператор), определяется равенством
Пример. Пусть задан предикат Ограниченный оператор минимизации примитивно рекурсивен, он является средством построения обратных функций. Функция
В результате рассмотрения примеров функций, которые все являлись примитивно рекурсивными, возникает вопрос: существуют ли не примитивно рекурсивные функции. В данном случае ответ положительный, класс примитивно рекурсивных функций не исчерпывает класс всех вычислимых функций. Функция Аккермана. Построим функцию, которая является вычислимой, но не примитивно рекурсивной. Определим последовательность функций
Продолжим последовательность по этому рекуррентному правилу
Функции Зафиксируем
Функция Аккермана Функция Аккермана является вычислимой, так как соотношения (2), (3) позволяют построить программу для её вычисления. Однако данная функция не является примитивно рекурсивной, так как она в силу (3) является двукратно рекурсивной. Поэтому средства построения вычислимых функций нуждаются в расширении. Оператор кратной рекурсии не замыкает класс вычислимых функций, так как для любого n можно построить функцию, которая является
|