Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Теория алгоритмов. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
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 —
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]