Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МЛиТА 6 - 7.doc
Скачиваний:
55
Добавлен:
12.11.2018
Размер:
452.61 Кб
Скачать

Оператор примитивной рекурсии

Пусть заданы частичные функции g: Nn  N и h: Nn+2  N. Оператором примитивной рекурсии называется оператор, сопоставляющий паре (g, h) такую частичную функцию f: Nn+1  N, что для всех x1,…,xn,у    N имеют место равенства:

f(x1,…,xn,0)  =  g(x1,…,xn);

f(x1,…,xn,y+1)  =  h(x1,…,xn,y, f(x1,…,xn,y)).

Поскольку область определения и значения дополняются отмеченной точкой, то равенство частичных функций означает, что для каждого значения аргумента либо левая, либо правая части равенства определены и равны между собой, либо обе его части не определены. Значение оператора примитивной рекурсии обозначается: f  =  R(g,h). Если g и h определены всюду, то f  =  R(g,h) определена всюду.

Если n  =  0, то для любых числа g    N и частичной функции h: N2  N частичная функция f = R(g,h) определяется с помощью равенств:

f(0)  =  g, f(y + 1)  =  h(y,f(y)).

Функция f называется примитивно рекурсивной, если ее можно получить из простейших функций s, o и Inm с помощью операторов суперпозиции и примитивной рекурсии (таким образом, примитивно рекурсивная функция всюду определена.)

Пример 2

Функция оn: Nn  N, все значения которой равны нулю, примитивно рекурсивна, ибо она является композицией о  In1 простейших функций In1: Nn  N и о: N  N. Рассмотрим при k    1 функцию ck: Nn  N, все значения которой равны k. Функция ck равна композиции функций оn: Nn  N и k функций N  N … N, каждая из которых равна s, ck  =  sk on. Стало быть, ck примитивно рекурсивна.

Пример 3

Функция f: N2  N, заданная как f(x,y)  =  x + y, удовлетворяет соотношениям:

f(x,0)  =  x;

f(x,y + 1) =  (x + y) +1  = f(x,y) + 1  = s(f(x,y)).

Положим: g(x)  =  I11(x)  =  x, h(x,y,z)  =  s(z). Так как f(x,0) = g(x) и f(x,y + 1)  =  h(x,y,f(x,y)), то f  =  R(g,h) = R(I11,s  I33). Значит, f – примитивно рекурсивна.

Пример 4

Рассмотрим функцию: f(x,y)  =  xy. Поскольку f(x,0)  =  1, и f(x,y + 1)  =  xf(x,y)  =  g(x,y,f(x,y)), где g(x,y,z)  =  xz – примитивно рекурсивная функция (как композиция операции умножения и функции (I31, I33): N3  N2), то f(x,y) примитивно рекурсивна.

Пример 5

Пусть (x)  =  max(0,x – 1). Имеют место равенства (0)  =  0 и (y + 1)  =  y  =  g(y,(y)), где g(y,z)  =  I21(y,z)  = y. Следовательно, (x) – примитивно рекурсивна.

Пример 6

Пусть r(x,y)  =  max(0,x – y). Верны соотношения r(x,0)  =  x и r(x,y + 1)  =  (r(z,y))  =  g(x,y,r(x,y)), где g(x,y,z)  =  (z) – функция из примера 5. Значит, r(x,y) – примитивно рекурсивна.

Пример 6 показывает, что функция f(x,y)  =x-y= r(x,y)  +  r(y,x) примитивно рекурсивна, как суперпозиция функций x1 + x2 и пары функций (r(x,y),r(y,x)): N2  N2 (примитивная рекурсивность функции r(y,x) получается из разложимости r(y,x)  =  S3(r, I22, I21)).

Оператор минимизации

Пусть g: Nn+1  N – частичная функция. Будем говорить, что частичная функция f: Nn  N получается из неё с помощью оператора минимизации, и писать:

f(x1,…,xn)  =   y [g(x1,…,xn,y)  =  0],

если выполнено следующее условие: f(x1,…,xn) определено и равно y  N тогда и только тогда, когда значение g(x1,…,xn,0),…,g(x1,…,xn,y -1) определены и не равны 0, а g(x1,…,xn,y)  =  0.

Частичная функция f: Nn  N называется частично рекурсивной, если она может быть получена из простейших функций o, s, Inm за конечное число применений операторов суперпозиции, примитивной рекурсии и минимизации.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]