Рекурсивная функция

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

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

Если значения функции найдены не для всех значений области определения, то её называют частично рекурсивной функцией и, наоборот, если они найдены для всех значений области определения, то её называют общерекурсивной функцией.

Для формирования механизма вычисления рекурсивных функций даны наборы простейших базовых функций: константы, тождества и следования и наборы элементарных операций: суперпозиции, рекурсии, минимизации и итерации.

Базовые функции

Функция константа. Если дано f = (x1, x2,..., xn, у| xi, yÎN[1]) = Cn, то любым значениям независимых переменных из множества {xi} (iÎ{1,2,…,n}) аргумента функции ставится в соответствие значение функции у, равное постоянной величине (константе) - Сn, где n –число независимых переменных аргумента. Поскольку чаще всего Cn=0, то функцию константы называют также нуль-функцией.

Пример1: дано: f = (x1, x2, x3, у) = C3. Тогда:

· для x1=5, x2=4, x3=7 и C3=0 имеем у = C3(5, 4, 7) = 0;

· для x1=5, x2=4, x3=7 и С3=1 имеем y = C3(5, 4, 7) = 1.

Пример2: дано: f = (x1, x2, у) = C2. Тогда для x1=15, x2=3 и С2=41 имеем y = С2(15, 3) = 41.

Как видно из примеров, значение функции константы не зависит от значений аргументов xi, а определяется только значением самой константы Сn.

Функция тождества. Если дано f = (x1, x2,...,, xn, у| xi, y∈N) = Inm, то любым значениям независимых переменных из множества {xi} (iÎ{1,2,…,n}) аргумента функции ставится в соответствие значение y функции, равное значению m-го независимого переменного аргумента, где 1 £ m £ n – место независимого переменного аргумента в упорядоченном списке аргументов. Поэтому данную функцию называют также функцией выбора аргумента.

Пример1: дано f = (x1, x2, x3, у) = I32. Тогда для x1=5, x2=4, x3=7 имеем у = I32(5, 4, 7) = 4.

Пример2: дано f = (x1, x2, x3, у) = I33. Тогда для x1=5, x2=4, x3=7 имеем у = I33(5, 4, 7) = 7.

Функция следования. Если дано f = (x, у| x, y∈N) = l(x), то любому значению независимой переменной из множества {xi} (iÎ{1,2,…,n}) аргумента функции ставится в соответствие значение функции y, равное числу, непосредственно следующему за числом, являющимся значением независимой переменной.

Пример1: дано f = (x, у) = l(x). Тогда для x=5 имеем у = l(5) = 6, поскольку 6 = 5+1.

Пример2: дано f = (x, у) = l(x). Тогда для x=7 имеем у = l(7) = 8, поскольку 8 = 7+1.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: