Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Теория алгоритмов. Учебное пособие
.pdf
fx
( )
( )
fx
fj k=
( )
Cx
( )
( )
px x xj k
( )
( ) ( )
12
xyφφ
( ) ( )
( ) ( )
( )
( ) ( )
( )
px y x y
1
2.9. Кусочное задание функции
n
,
Cx xx
b
1
n
Cx xx
b
2
n
Cx xx
bk
k
fx xx x
если
,
если
,
если
,
в остальных случаях
1
2
12
k
Возникает вопрос: сохраняет ли функция
fx x
свойство примитивной рекурсивности?
Как видим, функция
— примитивно рекурсив-
1
ная функция как заданная кусочным образом из совокупности примитивно рекурсивных функций и предикатов.
В качестве функций , 1,2,...,
j
взяты элементар-
ные функции
n
,
b
k
и в качестве предиката, взят предикат равенства, т.е.
= = = .
jj
, 1,2,...,
Так как точки jx по условию задачи отличаются друг
от друга, то области истинности предикатов jp попарно
не пересекаются.
Таким образом, функция
,...,
fx x , сохраняет свой-
1
n
ство примитивной рекурсивности.
Лемма. Подстановка примитивно рекурсивной функции в предикат равенства есть примитивно рекурсивный
предикат.
Доказательство. Пусть заданы примитивно рекурсивные функции
,
и пусть
,pxy x y= = — преди-
кат равенства.
Рассмотрим предикат вида
,
φ φ =φ=φ .
Он является примитивно рекурсивным предикатом.
Действительно, для данного предиката представляющей функцией является функция вида
,...,
1
n
— 71 —

Глава 2. ТЕОРИИ РЕКУРСИВНЫХ ФУНКЦИЙ
( ) ( )
( )
12
( )
( )
x xz
( )
( ) ( )
11
xxz pxxy
00
10
1
01
1
,0
, ,..., ,u и при
,..., ,
, ,...,, ;
1, 0,1,..., , ,..., ,
n
n
n
n
yyz
px xy
xxz
yy px xy
zyzpxxy
наименьшему числу
такому что
всех л
лесли для всех
( )
x xz
( )
{ }
( )
( )
( ) ( )
11
xxz pxxy
( )
x xz
11
nn
xxz hxxi
( )
x xz
( )
10
px x y u
( )
Sg x yφ = φ −φ ,
p
которая является ПРФ.
2.10. Операция ограниченной минимизации
Пусть задан всюду определенный предикат
,..., ,
px x y .
1
n
Определение. Говорят, что функция
лучена из предиката
,..., ,
px x y в результате операции
1
n
ограниченной минимизации, т.е.
,..., , ,..., ,
φ=µ ,
n yz n
≤
если выполняется следующие равенства.
,..., ,
φ по-
1
n
Теорема. Функция
диката
,..., ,
px x y в результате операции ограниченной
1
n
минимизации, является примитивно рекурсивной функцией относительно
p .
Доказательство. Пусть задан всюду определенный
предикат
,..., ,
px x y и
1
— представляющая функция данного предиката, и пусть
,..., , ,..., ,
φ=µ .
Покажем, что
φ=
( ) ( )
n yz n
,..., ,
φ можно представить в виде:
1
,..., , ,..., ,
Действительно это равенство имеет место.
1) Пусть
и для всех y<y0
,..., ,
φ =y0, тогда
1
,..., ,
px x y= л.
1
,..., ,
φ , полученная из пре-
1
n
,..., ,
n
n
hx x y
1
n
≤
n
j
z
∑
∏
0
j
=
0
i
=
n
— 72 —
(1).
,..., ,
=
n

2.10. Операция ограниченной минимизации
10
( )
φ=+
zy ≤≤0
( )
x xz
{ }
( )
( )
=
( )
Следовательно
j
z
,..., ,
hx x i y
∏
0
=
0
=
i
( )
∑
j
=
n
.
2) Пусть
,..., , 1
x xz z
1
n
.
Тогда по определению операции ограниченной минимизации p(x1,…,xn,y)=л для всех y, где
. Следовательно,
правая часть формулы (1) равна z+1 единиц.
Таким образом, из пунктов 1–2 следует, что формула
(1) удовлетворяет заданию функции с помощью операции
ограниченной минимизации.
Так как операции конечного произведения и конечного суммирования сохраняют свойства примитивной рекурсивности функцией, то получаем, что функция
,..., ,
φ является ПРФ относительно
1
n
p .
Следствие. Операция ограниченной минимизации со-
храняет свойство примитивной рекурсивности функций.
Пример. Пусть задана логическая функция
px, значением которой на произвольном аргументе x является
простое число с номером x, т.е.
px p= , где 0,1,2,...x
x
.
Требуется доказать, что она является ПРФ.
Решение. Из курса элементарной математики нам
известно, что p является простым числом, если оно имеет
в точности два различных делителя.
Между множеством натуральных чисел и множеством
простых чисел устанавливаем взаимно однозначное соответствие:
N
p
x
0 1 2 3 4 5 …
2 3 5 7 11 13 …
Покажем, что
px− ПРФ.
— 73 —

Глава 2. ТЕОРИИ РЕКУРСИВНЫХ ФУНКЦИЙ
( ) ( )
px x= −
rest
остаток от деления x на y;
число делителей числа х;
( ) ( )
px x= −
( ) ( )
( )
φ= ι−
( ) ( ) ( )
( ) ( ) ( )
Прежде всего, рассмотрим следующий предикат:
r
примитивно рекурсивным.
тические функции являются примитивно рекурсивными:
— просто число
Для этого сначала докажем, что следующие арифме-
,
xy
x
0, 0.
и определим, что он является
, 0.
xy
если
x
если
Используя ранее доказанную ПРФ, т.е.
легко можно показать, что обе функции являются ПРФ.
Действительно, их соответственно можно предста-
вить:
rest ,xxy x y
Следовательно, они являются ПРФ.
Очевидно, представляющей функцией для предиката
r
которая является ПРФ.
Из курса теории чисел известно, что имеет место соот-
ношение:
Рассмотрим следующий предикат:
Как видно, этот предикат является примитивно рекурсивным как конъюнкция двух примитивно рекурсивных предикатов.
Очевидно, если применить к данному предикату
=−⋅
( )
— простое число
y
,
R yt y t p y
R yt y t p y
= >∧
,
= >∧
и
ι=
является функция вида:
x
2
2
p ≤ .
x
x
x Sg rest x i
( ) ( )
2x Sg x
r
r
∑
i
1
=
,
( )
.
,xf xy
( )
,
=
y
.
,
— 74 —

2.10. Операция ограниченной минимизации
( )
( ) ( )
,,
2
φ
( )
, 2,
φ
( )
( )
,,
( ) ( )
( )
,,
( )
pC
( )
( )
( ) ( )
( )
1,
φ
( )
( )
( )
2
операцию ограниченной минимизации, то получим примитивно рекурсивную функцию. (Это следует, из того что кусочное задание функции сохраняет свойство примитивной
рекурсивности функции.) Полученную функцию обозначим через
Применяем к данной функции операцию суперпозиции, точнее вместо z в данном равенстве подставляем
и полученную функцию обозначим через
,ztφ , т.е.
zt y R yt
φ=µ .
xt t
φ=φ .
( )
0
yz
≤
1
x
+
2
, т.е.
0
1
x+
2
Так как операция суперпозиции сохраняет свойство
примитивной рекурсивности функций, то
Теперь покажем, что логическая функция
— ПРФ.
0
px есть
результат операции примитивной рекурсии над функциями:
0
C xtφ , т.е.
20
p x R C xt= φ .
0
20
Действительно, по определению операции примитив-
ной рекурсии:
02
= = .
0
2
Предположим, что для некоторого x верно, что
px p= .
x
Покажем, что тогда
px p
+= .
11x
+
Очевидно, из определения операции примитивной ре-
курсии следует, что
px xpx+=φ ,
но из задания функция
,xpxφ является наименьшее простое число y, боль-
0
шее, чем
px и не превосходящее
0
следует, что значением
0
1
x+
2
; но это и есть про-
стое число с номером x+1, т.е. 1xp+.
,
— 75 —

Глава 2. ТЕОРИИ РЕКУРСИВНЫХ ФУНКЦИЙ
( )
( )
fx x y
( )
xx
( )
.
y
yy
наименьшему из числел y, таких что
( ) ( )
( )
11
nn
φ=µ =
( )
fx x y
( )
xx
( )
xx
( )
xx
( )
( )
( )
xx
( )
( )
xx
Таким образом, функция
ции примитивной рекурсии над ПРФ, сама является примитивно рекурсивной функцией.
2.11. Частично рекурсивные функции
Пусть задана функция
Определение. Говорят, что
,..., ,
fx x y с применением операции ограниченной ми-
1
n
нимизации, если имеет место следующее равенство:
,...,
xx
1
n
и обозначает
Лемма. Операция ограниченной минимизации сохраняет свойство примитивной рекурсивности функции.
Действительно, если имеется алгоритм fA , вычисляющий функции
числяющий функции
Доказательство. Пусть требуется вычислить значение
функции j на произвольном наборе
Применим алгоритм fA к набору
через конечное число шагов алгоритм завершает свою работу результативно, т.е. вычислено значение
то значение функции φ на наборе
ным 0.
Если
му этапу, на котором применяем алгоритм fA к набору
,..., ,1
1
n
px, как результат опера-
,..., ,
1
φ получено из
0
,..., ,0,
fx xy
10 0
fx xy
не определена во всех других случаях
xx yfxxy
fx x и
,..., ,0 0
fx x ≠ , то переходим к следующе-
1
n
,..., ,0;
1
n
,..., ,..., , 0 .
,..., ,
1
n
,...,
φ .
1
,..., ,0
1
n
n
причем для всех
, то и есть алгоритм Aφ, вы-
n
,..., ,0 0
fx x = ,
1
n
1
1
,...,
,...,
1
n
,...,
.
n
.
n
,..., ,0
1
n
считаем рав-
n
. Если
.
— 76 —

2.11. Частично рекурсивные функции
( )
( )
( )
xx
( )
( )
( )
( )
xx
( )
( )
xx
,
xy xy
fx
не определена в остальных случаях
( ) ( ) ( )
x y f xy I x x
φ=µ == =
( )
yx=
( )
,2
( )
20
φ=µ −=
=
( )
kkφ=
( ) ( )
,,
( )
( ) ( )
,0
φ=µ =
Если через конечное число шагов алгоритм завершает
свою работу на данном наборе результативно, т.е. вычислено значение
функции φ на наборе
,..., ,1 0
fx x ≠ , то переходим к следующему этапу и т.д.
1
n
Если на (t+1) шаге вычислено значение
и
,..., , 0f x xt = , то значение функции φ на наборе
1
,...,
1
считаем равным t.
n
Если
fx x t≠ , то переходим к следующему
,..., ,1
fx x и
1
n
,...,
1
,..., , 0
1
n
,..., ,1 0
fx x = , то значение
1
n
считаем равным 1. Если
n
,..., ,f x xt
1
этапу.
В случае, когда алгоритм fA завершает свою работу на каком-то этапе безрезультативно, или работает бесконечно, то будем считать, что значение j не определено
на данном наборе, т.е. на наборе
,...,
1
.
n
Пример 1. Пусть
,
y
Тогда
т.е. функция
xφ только при
нуль.
Пример 2. Пусть
Определим
ция φ определена только на числах вида 2k , 0,1,2,...k
и для каждого из них
Пример 3. В качестве примера не всюду определенной
функции можно привести следующую функцию.
Действительно, при этом функция
во всех натуральных наборах, так как
,0
f xy x y= − .
x yx y
2
f xy C xy= .
x y C xy
.
2
8
2
8
— 77 —
1
1
,
принимает значение
. Очевидно, что функ-
xφ не определена
;

Глава 2. ТЕОРИИ РЕКУРСИВНЫХ ФУНКЦИЙ
( )
φφ
φ=
ik≤≥
φ
не имеет места ни для одного y. Следовательно, будем говорить, что
xφ — нигде не определенная функция.
Из этих примеров следует, что операция минимизации, вообще говоря, не сохраняет свойство всюду определенности функции (примеры 2, 3) и, наоборот, применение
операции минимизации к функции не везде определенной
может дать всюду определенную функцию (пример 1).
Определение. Частично рекурсивным описанием (ЧРО)
функции f называется конечная последовательность функции 1,...,
1.
2. для любого i ,1
, удовлетворяющих следующим условиям:
k
f
k
;
,
является либо элементар-
i
ной функцией, либо получается из предшествующей ей последовательности функций с помощью одной из операций:
подстановки, примитивной рекурсии или ограниченной
минимизации.
Определение. Функция f называется ЧРФ, если суще-
ствует ее ЧРО.
Определение. Функция f называется общерекурсив-
ной, если она ЧРФ и всюду определена. (В других источниках такие функции называются тотальными или просто
рекурсивными.)
Не трудно показать, что всякая частично рекурсивная
функция алгоритмически вычислима и операции подстановки, примитивной рекурсии и минимизации сохраняют
свойство алгоритмической вычислимости функций.
Очевидно также, что каждая примитивно рекурсивная функция является частично рекурсивной, но обратное
неверно.
Введем обозначения:
K
— класс примитивно рекурсивных функций;
ПРФ
K
— класс общерекурсивных функций;
ОРФ
K
— класс частично рекурсивных функций.
ЧРФ
Тогда между этими классами имеется соотношения:
— 78 —

2.12. Правильная вычислимость функции по тьюрингу
⊆
⊆
⊆
⊆
K
ПРФ
K
ОРФ
K
ЧРФ
.
Таким образом, класс ЧРФ — самый богатый из построенных классов вычислимых функций и имеет место
следующее включение:
K
КВФ, где КВФ — класс вычислимых функций.
ЧРФ
Тезис Черча-Клини представляет гипотезу, из которой следует обратное включение, т.е.
К
K
ЧРФ
.
ВФ
Таким образом, класс алгоритмически вычислимых
функций совпадает с классом частично рекурсивных функций. Как уже отмечалось, это утверждение не может быть
доказанным, так как в нем участвует понятие вычислимой
функции. Тем не менее можно привести следующие два довода в пользу тезиса Черча-Клини:
• достаточно богатый набор примеров арифметических функций, интуитивно алгоритмически вычислимых
и являющихся частично рекурсивными;
• эквивалентность различных по форме уточнений
понятий алгоритма.
2.12. Правильная вычислимость функции по Тьюрингу.
Эквивалентность двух уточнений алгоритма
В общем случае определение понятия вычислимости
функции на машине Тьюринга можно сформулировать
следующим образом: пусть зафиксированы алфавит и некоторое кодирование натуральных чисел в этом алфавите.
Например, может быть выбрана двоичная или десятичная
система в алфавитах
A={a0, 0, 1}
A={a0, 0, 1, ..., 9}.
Выбор системы кодирования в общем случае не принципиален и зависит от целей данного исследования, а также от навыка самого исследователя. Код числа x
— 79 —

Глава 2. ТЕОРИИ РЕКУРСИВНЫХ ФУНКЦИЙ
( )
( )
nf
x xD
( ) ( )
11
nn
xxfxx
( )
nf
x xD
{ }
( )
xx
{ }
обозначим x. Для нас важно, что система кодирования раз
и навсегда зафиксирована вместе с некоторым алфавитом
машин Тьюринга.
Определение. Говорят, что функция
,...,
fx x вычис-
1
n
лима по Тьюрингу, если выполняются следующие условия:
1) машина начинает работать с начальной конфигура-
ции, когда на ленте записано слово
xaxa ax , а управ-
1020 0
...
n
ляющая головка обозревает крайний правый символ кода
числа nx . Блок управления находится в состоянии 1q ;
2) если набор
1
,...,
∈ , то машина Тьюринга че-
рез конечное число шагов останавливается в заключительной конфигурации, когда на ленте записан код значения
функции на наборе
,..., : ,...,
;
3) управляющая головка обозревает крайний правый
символ кода значений функции и блок управления находится в состоянии 0q ;
4) если набор
,...,
1
∉ , то либо машина Тьюринга
никогда не останавливается, либо останавливается в конфигурации, отличной от заключительной конфигурации.
Так как базис элементарных машин у нас выражен
в двухсимвольном алфавите, то определение вычислимости функции на машине Тьюринга рассмотрим относительно того же алфавита, т.е.
,|Aa= .
0
Условно потребуем также от машины сохранения информации о наборе переменных, на которых вычисляется
значение функции.
Чтобы выделить данный способ вычислимости функции, назовем его правильной вычислимостью.
Определение. Частично определенная функция
,...,
φ называется правильно вычислимой
1
n
по Тьюрингу, если существует машина Тьюринга с алфавитом
,|Aa= , удовлетворяющая условиям:
0
— 80 —
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
