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

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

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