Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Теория алгоритмов. Учебное пособие
.pdf
2.1. Примитивно рекурсивные функции. Базис элементарных функций
( )
( ) ( ) ( )
n nm n
hxxhxx hxx
hh
hh
( ) ( ) ( )
( )
11 21 1
,,
n nm n
hxxhxx hxx
( )
hh
( )
nf
xx x D∈
nh
xx x D∈
im=
( )
xx
Основные свойства операции подстановки
10. Операция подстановки сохраняет свойство всюду
определенности функций, т.е. если функция
и функции
11 21 1
,,
определенные функции и функция f получается из них
с помощью операции подстановки, то f также является
всюду определенной функции.
Доказательство. Пусть 1,,
произвольные функ-
m
ции от n переменных. Рассмотрим произвольный набор
( , ,..., )
xx x ∈Ν . Тогда 1,,
12
n
n
будут определены в этом
m
наборе в силу свойства всюду определенности. Функция g
будет определена на наборе
в силу свойства всюду определенности, а по
определению подстановки это и есть функция f .
Таким образом, мы доказали, что функция f опреде-
лена на наборе
( , ,..., )
xx x . Так как мы взяли произволь-
12
n
ный набор из множества натуральных чисел, то свойство
доказано.
20. Операция подстановки сохраняет свойство алго-
ритмической вычислимости функций, т.е. если функ-
,,
gy y и 1,,
ции
и
f S gh h= , то существует алгоритм Af, вычисляю-
1
m
;,,
1
m
алгоритмически вычислимы,
m
щий функцию f .
Доказательство. Пусть задан произвольный на-
бор
( , ..., )
12
( , ... )
12
i
. Это означает, что этот набор
, где 1,2, ,
. Далее поступаем следую-
щим образом:
1 шаг: применяем к набору
,,
алгоритм 1A ,
1
n
вычисляющий функцию 1h . Так как функция 1h по условию алгоритмически вычислимая функция, то за конечное
число шагов алгоритм 1A дает конечный результат для
функция 1h .
gy y
1 m
— всюду
— 41 —

Глава 2. ТЕОРИИ РЕКУРСИВНЫХ ФУНКЦИЙ
( )
xx
( )
xx
AA A
( )
xx
( ) ( ) ( )
n nmn
hxxhxx hxx
( ) ( ) ( )
( )
11 21 1
,..., , ,..., , ... , ,...,
n nmn
hxxhxx hxx
( ) ( ) ( )
( )
11 21 1
,..., , ,..., , ... , ,...,
n nmn
hxxhxx hxx
( ) ( ) ( ) ( )
( )
n n nm n
fxxghxxhxx hxx
im=
( )
( )
( )
( )
( )
( )
( ) ( )
11
nn
fxx gxx
( ) ( )
( )
1 11
n nn
2 шаг: применяем к набору
,,
алгоритм 2A
1
n
, вычисляющий функцию 2h . Так как функция 2h по условию алгоритмически вычислимая функция, то через
конечное число шагов работа алгоритма 2A завершается результативно, т.е. будут вычислено значение функция 2h на наборе
горитмов
, ,...,
12
,,
и т.д. Когда работа всех ал-
1
n
на наборе
m
,,
завершилась
1
n
результативно, т.е. вычислены соответствующие значения
,..., , ,..., , ... , ,...,
11 21 1
, на следующий
шаг, т.е.
m+1 — шаг: применяем алгоритм gA , вычисляющий функцию g, к набору
. В силу свойства алгоритмически вычислимости функцию g, через конечное число шагов алгоритм gA
завершает работу на наборе
результативно, и этот результат будем считать значением функции f, так как по определению операции подстановки
,..., ,..., , ,..., , ... , ,...,
1 11 21 1
В случае, когда алгоритм ,iA где 1,2,...,
= .
не останавливается или завершает работу нерезультативно, будем
считать, что искомый алгоритм для вычисления данной
функции, т.е. функции
,,
fx x , не существует.
1
n
Операция примитивной рекурсии
Пусть задана функция
,..., , ,
hx x yz .
1
n
Определение. Говорят, что функция
лучена из функцией
,,
gx x и
1
n
щью операции примитивной рекурсии, если выполняются
следующие равенства:
,, ,0 ,,
,, , 1 ,, ,, ,, ,
fx xy hx xyfx xy+=
=
— 42 —
,,
gx x и функция
1
n
,, ,
fx x y по-
1
,..., , ,
hx x yz с помо-
1
n
n

2.1. Примитивно рекурсивные функции. Базис элементарных функций
( ) ( ) ( )
( )
n nn
fxxyRgxxhxxyz
( )
( )
fC
( ) ( )
( )
1,
( )
( )
( )
( )
( )
( )
x xy
( ) ( )
11
nn
fxx gxx
( )
xx
( )
x xy
Это определение имеет смысл, когда 0n≠, при этом
записывается
,..., , ,..., , ,..., , ,
1 11
=
или сокращенно
,f R gh= ,
где R означает операции примитивной рекурсии.
В случае, когда 0n=, то операция примитивной ре-
курсии определяется следующим образом:
0
0
=
q
fy hyfy+= ,
и обозначается:
0
f RC h= .
,
q
Основные свойства операции примитивной рекурсии
Операция примитивной рекурсии, так же как и операция подстановки, сохраняет свойство всюду определенности и алгоритмической вычислимости.
10. Сохранение свойства всюду определенности функ-
ций, т.е. если
ленные функции, то
ленная функция, где
Доказательство. Берем произвольный набор
,, ,
и докажем, что на этом наборе функция f опре-
1
n
делена. Доказательство проводим методом математической индукции по параметру y.
1 шаг. Пусть 0y=. Тогда по определению операции
примитивной рекурсии получаем, что
Так как функция g всюду определенная функция по условию, то функция f определена на наборе
2 шаг. Предположим, что функция f определена
на наборе
1
,,
gx x и
1
n
fx x y тоже будет всюду опреде-
,, ,0 ,,
,, ,
.
n
,... , ,
hx x yz — всюду опреде-
1
n
,, ,
1
n
,f R gh= .
=
.
1
, , ,0
.
n
— 43 —

Глава 2. ТЕОРИИ РЕКУРСИВНЫХ ФУНКЦИЙ
( )
,, , 1
( ) ( )
( )
1 11
n nn
( )
,, , 1
( )
( )
( )
( ) ( ) ( )
( )
n nn
( )
( )
( )
xx
( )
( ) ( )
11
,, ,, ,0
nn
gxxfxx
( )
( )
( )
11
nn
( )
( )
11
nn
( )
( )
11
,, , 1, ,, , 1
nn
−−
3 шаг. Доказываем что функции f определена на на-
боре
x xy+ . По определению операции примитив-
1
n
ной рекурсии получаем, что
,, , 1 ,, ,, ,, ,
fx xy hx xyfx xy+=
.
А функция h обладает свойством всюду определенности по условию. Следовательно, функция f определена
на наборе
x xy+ .
1
n
Так как функция f является арифметической функцией, то метод математической индукции позволяет сделать вывод, что она всюду определена.
20. Сохранение алгоритмической вычислимости функ-
ций, т.е., если
,,
gx x и
1
n
,..., , ,
hx x yz являются ал-
1
n
горитмически вычислимыми функциями, то существует
алгоритм fA , вычисляющий функцию
, , , ,..., , ,..., , ,
fx xy Rgx x hx xyz= .
1 11
,, ,
fx x y , где
1
n
Доказательство. Пусть задан произвольный набор
1
n
,, ,
x xy N
1
n
+
∈ . Докажем, что функция f алгоритмиче-
ски вычислима на этом наборе. Для доказательства поступим следующим образом.
Сначала применяем алгоритм gA , вычисляющий
функцию
,...,
gx x на наборе
1
n
,,
. В случае оста-
1
n
новки через конечное число шагов получаем значение
функции
,...,
gx x на этом наборе, равное по определе-
1
n
нию операции примитивной рекурсии:
=
.
После этого используем алгоритм hA , который вычисляет значение функции
,..., , ,
hx x yz .
1
n
Этот алгоритм последовательно применяем к следующим наборам:
, , ,0, , , ,0
xxfxx
, , ,1, , , ,1
xxfxx
…
x xy fx xy
.
— 44 —

2.1. Примитивно рекурсивные функции. Базис элементарных функций
( )
( )
( )
( )
( )
11 1
,, ,0, ,, ,0 ,, ,1
nn n
hxxfxx fxx
( )
( )
( )
11 1
,, ,1, ,, ,1 ,, ,2
nn n
hxxfxx fxx
( )
( )
( )
11 1
nn n
hx xy fx xy fx xy
( )
xx
( )
( )
( )
11
nn
{ }
yy∈−
( )
x xy
( ) ( )
gx I x x
( ) ( )
,, ,, 1
( ) ( ) ( )
( )
( )
f xy x y
( ) ( ) ( )
fx gx I x x
( ) ( ) ( )
, 1 ,,(,) ,,(,) 1 (,) 1
+ = = += +
( ) ( )
( )
( )
= += += +
( ) ( )
( )
( )
= += += +
( ) ( )
( )
( )
( ) ( )
( )
( )
f xn h xn f xn f xn x n
Если каждый раз работа алгоритма hA завершается
результативно, то мы получаем соответствующие значения функция
,, ,
fx x y (это следует из определения операции прими-
1
n
тивной рекурсии):
,, , 1, ,, , 1 ,, ,
А если не произошло остановки алгоритма gA в наборе
алгоритма hA на одном из этапов вычисления значения
функции
h
к следующему этапу никогда не произойдет и искомый алгоритм fA считается не применимым к набору
мых функций с помощью операции примитивной рекурсии.
и покажем, что
сии
Тогда
,,
или не закончилась результативно работа
1
hx x yz , (т.е. например, при вычислении
x xyfx xy
,', ,'
Приведем несколько примеров получения вычисли-
Пример 1. Пусть задано
, , ,,f xy R gx h xyz= , где
Согласно определению операции примитивной рекур-
f xy hxyfxy I xyfxy fxy
, ,1,,11 ,11
= − − += − +=+
,..., , ,
hx x yz , равные значениям функции
1
n
=
=
…
− −=
n
,..., , ,
1
n
, где
1
= = ,
1
,0
= = =
,1 ,0, ,0 1 ,0 1 1fx hx fx fx x
,2 ,1, ,1 1 ,1 1 2fx hx fx fx x
,3 ,0, ,2 1 ,2 1 3fx hx fx fx x= += +=+
' 0,1,2... 1
hxyz I xyz= +
3
3
…
3
3
,
= +
1
1
.
), то переход
,, ,
.
1
n
.
— 45 —

Глава 2. ТЕОРИИ РЕКУРСИВНЫХ ФУНКЦИЙ
nN∈
( ) ( )
,1 1
+=+ +
( )
f xn x n
nN∈
( ) ( )
( )
( ) ( )
, 1 ,, , 1 , 1 1
( )
f xy x y
( ) ( )
gx I x x
( ) ( )
,, ,, 1
( )
f xy x y
( )
33
13
( ) ( )
( )
( )
, ,1,,1 ,1 1 .
( )
f xy x y
( )
( ) ( ) ( )
33
13
Предположим, что для некоторого
равенство справедливо, и докажем, что тогда
f xn x n
Действительно, пусть
.
0
Тогда по определению операции примитивной рекур-
сии получаем, что
f xn I xnf xn f xn x n+ = += += + + .
Таким образом, функция
из функции
с помощью операции примитивной рекурсии.
Пример 2. Пусть
Требуется показать, из каких элементарных функций
с помощью операции примитивной рекурсии она получена.
Для решения задачи нахождения элементарных функций воспользуемся определением операции примитивной
рекурсии, после чего получим, что
,0 0 0
fx x C
, 1 1 ,, ,,
f xy x y x x y I xyz I xyz
+=⋅+=+⋅= +
( ) ( ) ( ) ( )
Тогда
3
3
1
= = и
1
=⋅==
,
1
0
,
hxyz I xyz= +
= ⋅ .
.
= + для некоторого
,
= + получается
3
3
последнее
0
.
= =+ =+=
,1 ,0, ,0 ,0 0
fx hx fx x fx x x
= =+ =+=
,2 ,1, ,1 ,1 2
fx hx fx x fx x x x
( ) ( )
...
f xn h xn f xn x f xn x n x nx
рации примитивной рекурсии над функциями
и
функции (ПРО) f называется конечная последовательность
= − − =+ −=+− =
( ) ( )
Очевидно, функция
,, ,, ,,hxyz I xyz I xyz= + .
Определение. Примитивно рекурсивным описанием
( )
( )
( )
( ) ( )
,
= ⋅ — есть результат опе-
— 46 —
gx C=
1
0

2.1. Примитивно рекурсивные функции. Базис элементарных функций
φφ
φ=
in=
φ
( )
g xy x y
( )
II RII xy+ ++
( ) ( )
( )
I sI S sI R I S sI x y
φφ
функций 1,...,
, удовлетворяющая следующим усло-
n
виям:
1) последний член этой последовательности есть сама
функция f , т.е.
f
;
n
2) для любого 1,2,....,
,
– есть либо элементарная
i
функция, либо получается из предшествующих ей функций в этой последовательности с помощью одной из операции примитивной рекурсии или подстановки.
Определение. Функция f называется примитивно ре-
курсивной функцией (ПРФ), если существует хотя бы одно
её ПРО.
Из определения ПРФ следует, что всякая примитивно
рекурсивная функция f может иметь несколько различных
ПРО.
Например, для функции
,
= + ПРО является
последовательность следующих функций:
13 13
1)
,1, ,1,
13 13
13 3 1 3
2)
,,,;, ,; ,
13 3 1 3
+
и т.д.
Основные свойства ПРФ
10. Всякая примитивно рекурсивная функция f явля-
ется всюду определенной функцией.
Доказательство. Предположим, что функция f есть
ПРФ, следовательно, по определению примитивной рекурсивности функций, она имеет ПРО.
Пусть последовательность функций 1,...,
есть её ПРО. Будем доказывать, что каждая функция
этой последовательности является всюду определенной.
Воспользуемся методом математической индукции.
— 47 —
—
n

Глава 2. ТЕОРИИ РЕКУРСИВНЫХ ФУНКЦИЙ
φ
in<
kiφ ≤≤
φ
φ
φφ
φ
φφ
φ=
( )
f xy x y
( )
f xy x y
( ) ( )
( )
( )
f xy x y
1) Пусть 1n=, тогда из определения ПРО следует,
что
является элементарной функцией, следовательно,
1
она всюду определена.
2) Предположим, что для некоторого
ции , 1
k
3) Докажем, что
случае функция
являются всюду определенными.
— всюду определена. В этом
1k+
, является либо элементарной функ-
1k+
, все функ-
цией, либо получается из предшествующих ей функций
в этой последовательности с помощью одной из операций
подстановки или примитивной рекурсии. По предположению индукции все функции последовательности 1,...,
,
k
являются всюду определенными и операции подстановки
и примитивной рекурсии сохраняют свойство всюду определенности, следовательно
— всюду определенная
1k+
функция.
Таким образом, метод математический индукции позволяет сделать вывод, что все функции из последовательности 1,...,
f
всюду определенная функция.
n
составляют ПРО функции f , следовательно,
n
20. Если функция f получена из примитивно рекур-
сивных функций с применением операций подстановки
или примитивной рекурсии, то она является ПРФ.
Например, функция
,
= + с применением операции примитивной ре-
,
= ⋅ получается из
курсии, т.е.
13 3
, ,, ,,x y R C I xyz I xyz⋅= + .
01 3
функция тоже является ПРФ.
мой функцией.
как и первое свойство ПРФ. Действительно, поскольку
все элементарные функции алгоритмически вычислимы
Так как
,
= + является ПРФ, то получаемая
30. Всякая ПРФ, является алгоритмически вычисли-
Доказательство. Это свойство доказывается так же,
— 48 —

2.2. Примитивно рекурсивные функции относительно совокупности функций
{ }
n
φφ
n
φ=
1,in=
i
φ
( )
f xy x y
{ }
xy
{ }
xy
0
1
3
( )
33
13
;, ,
( )
( )
xy⋅
( )
f xy x y
и операции подстановки и примитивной рекурсии сохраняют свойство алгоритмической вычислимости функций,
то все функции, составляющие ПРО для примитивной
рекурсивной функции f , являются алгоритмически вычислимыми, следовательно f — алгоритмически вычислимая функция.
2.2. Примитивно рекурсивные функции относительно
совокупности функций. Основные свойства
Пусть задана последовательность функций
Ψ= Ψ Ψ Ψ , где каждая функция в этой совокупно-
сти является ПРФ.
(ПРО) функции f относительно совокупности Ψ называется конечная последовательность функций вида 1,...,
удовлетворяющая следующим условиям:
функция, либо принадлежит совокупности Ψ, либо получается из предшествующих ей функций в этой последовательности с помощью одной из операций примитивной рекурсии или подстановки.
тельно совокупности Ψ, если существует ее ПРО относительно совокупности Ψ.
носительно совокупности Ψ=
функции относительно Ψ=
вательность следующих функций:
обозначена функция
, ,,
12
n
Определение. Примитивно рекурсивное описание
1.
2. Для любого
f
.
,
— есть либо элементарная
Определение. Функция f называется ПРФ относи-
Например, функция
,
= ⋅ является ПРФ от-
+ . Тогда ПРО данной
+ можно считать последо-
1
3
C ,
I ,
3
I , +,
S II+
1 33
, ;,RC S I I+ ,
0 13
.
В данной последовательности функций через «+»
,
= + .
,
— 49 —

Глава 2. ТЕОРИИ РЕКУРСИВНЫХ ФУНКЦИЙ
Ψ
{ }
Ψ⊆Γ
Γ
{ }
Ψ
φφ
φ ∈Ψ
Ψ⊆Γ
φ ∈Γ
{ }
′
Ψ
ψ
ψ
{ }
′
Ψ
{ }
φφ
ψ ∈ψ
jn=
{ }
ψ
ψ
{ }
Основные свойства ПРФ относительно совокупности
10. Если функция f — ПРФ относительно совокупно-
сти
Ψ= Ψ Ψ Ψ , и
ется ПРФ относительно совокупности функций из Γ (где
— множество, включающее произвольные ПРФ).
Доказательство. Пусть функция f ПРФ относительно
совокупности
Тогда существует ее ПРО относительно совокупности
, т.е. 1,,
Если
Следовательно, ПРО функции f относительно совокупности Ψ является и ПРО функции f относительно совокупности Γ. Отсюда следует, что f есть ПРФ относительно Γ.
20. Если f ПРФ относительно совокупности
Ψ= Ψ Ψ Ψ и
какой-то функции
то функция f будет также ПРФ относительно совокупности
Доказательство. Пусть имеется ПРО функции f отно-
сительно совокупности
ПРО f относительно Ψ. А также известно, что
1,2,...,
Пусть
зом. Рассмотрим ПРО функции f относительно совокупности Ψ. Относительно принадлежности функции
ной последовательности функций, возможно два случая.
Либо она принадлежит данной последовательности
функций, либо не принадлежит.
В рассматриваемом ПРО, если функция
ется, то это ПРО оставляем без изменения. Очевидно, его
можно считать ПРО функции f относительно совокупно-
Ψ=Ψ Ψ
сти
, ,,
12
.
k
i
, ,,
12
n
.
) является ПРФ.
′
Ψ=Ψ Ψ
′
\
j
n
Ψ= Ψ Ψ Ψ .
, то функция f , также явля-
, ,,
12
n
, то в силу того что
получается из Ψ при удалении
(где
j
Ψ= Ψ Ψ Ψ , т.е. 1,...,
\
. Далее поступаем следующим обра-
j
— ПРФ), т.е.
j
, ,,
12
n
.
,
i
′
Ψ=Ψ Ψ
\
m
, (где
j
к дан-
j
не встреча-
j
j
—
.
,
— 50 —
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
