Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Теория алгоритмов. Учебное пособие
.pdf
3.4. Универсальные функции
( ) (,)
11
nn
∈< ∃ >
1
n
()
01 1
nn
Fyxxfxx=
( )
+= =+
= ∏⋅ +
и только тогда, когда предикат
xR xy∃ принимает
1
на данном элементе у значение «и». В силу (*) это равносильно тому, что предикат 1( ) ( , ,..., )
значение «и», т.е. набор
(. ,..., ) ( ) ( , ,..., ) .
xRxx x∃ принимает
n
xx xRxxx
3.4. Универсальные функции
Определение. Пусть К
n-местных функций (вообще говоря, частичных). Тогда
(n+1) — местная частичная функция F называется универсальной для класса К
(n)
, если выполняются следующие ус-
ловия:
1) для любого фиксированного y′ функция от n-пе -
ременных
( ', ,..., ) ;
Fy x x K∈
2) для любой функции
такое, что
( , ,..., ) ( ,..., ).
Примеры.
1. Пусть
(1)
К
= { | 0,1,...}
Очевидно, функция
является универсальной для класса К
2
2)
3)
{ | 0,1,2,...}, ( , , ) .K x ny n F z x y x zy
(3)
{[sin ( )] | 0,1,2,...},K nx y n= ∏⋅ + =
( , , ) [sin ( )].Fzxy z x y
Можно сказать, что универсальная для данного класса
функция — это функция, порождающая все функции данного класса. В определенном смысле универсальная функция служит компактной характеристикой целого класса
функций. Универсальные функции являются мощным
аппаратом при доказательстве многих теорем. Обладают
ли универсальными функциями рассмотренные выше
(n)
— произвольный класс
()
n
n
fK∈ существует значение у0
n
xn= .
(,)
Fyx x=
y
(1)
.
— 111 —

Глава 3. РЕКУРСИВНЫЕ И РЕКУРСИВНО ПЕРЕЧИСЛИМЫЕ МНОЖЕСТВА
, .
vv
N E N N→⊂
12
,,.µλ λ
′′
' { , ,..., ,..., }, , ,
a a a a a r { , }∈∈
jn
∈
′′
классы примитивно рекурсивных, общерекурсивных, частично рекурсивных функций?
Чтобы ответить на этот вопрос, мы осуществим предварительно нумерацию всех машин Тьюринга. Необходимо
отметить, что впервые идея нумерации конструктивных объектов (нечисловой природы) натуральными числами была
высказана и реализована К. Геделем. Поэтому часто и другие
нумерации называются геделевскими. Метод нумераций позволяет лучше выяснить природу изучаемых объектов.
Определение. Всякое отображение v некоторого мно-
жества натуральных чисел на множество конструктивных
объектов Е называют нумерацией объектов множества Е:
V:
где
Если отображение v — биекция, то нумерацию v назовем однозначной.
В случае, когда множество vN совпадает со множеством всех натуральных чисел N, соответствующую нумерацию v назовем простой.
В качестве примера можно привести рассмотренную
выше нумерацию пар натуральных чисел с помощью нумерационных функций
Это однозначно нумерация.
Рассмотрим произвольную машину Тьюринга М.
Пусть программа машины M имеет вид таблицы (таб. 13).
В каждой клетке таблицы находится тройка вида a rq
01
im
П, Н, Л
' ( , ,..., ,..., }.
q qq q q
01
, где
Таблица 13
a
q
1
a
0
…. a
1
i
…. a
m
…
q
j
a rq
…
q
n
— 112 —

3.4. Универсальные функции
= = = = +
′′
{ } { }
( )
ΓΓ Γ
Занумеруем сначала символы, представленные в та-
блице, следующим образом: v(Л)=1, v(H)=3, v(П)=5,
( ) 7, ( ) 9, ( ) 11,... ( ) 2 7,
vq vq vq vq n
012
( ) 2, ( ) 4, ( ) 6,... ( ) 2 2.
va va va va m
= = = = +
012
Каждой тройке символов a rq
n
m
, находящейся в клетке таблицы на пересечении j-й строки и i-го столбца, поставим в соответствие ее номер
a
aa
0
( , ) ,j 1,..., ,i 0,...,m ,
wji P P P n= ∈∈
12
012
где a0=v(a’), a1=v(r), a2=v(q’).
Каждой строке таблицы поставим в соответствие ее
номер
(,0) (,1) (, )
wj wj wjm
( ) ... .
jP P PΓ= ⋅ ⋅⋅
01
m
Всей машине М поставим в соответствие ее номер
gM P P P
(1) (2) ( )
= ⋅⋅
12
m
... .
m
Номер машины g(M) называют геделевским.
Множество геделевских номеров всех машин Тьюринга
обозначим G. Из задания геделевских номеров видно, что
не все натуральные числа являются номерами каких-либо
машин Тьюринга (например, числа 0, 1, все четные числа
не входят в G), т.е. построенная геделевская нумерация
машин Тьюринга не является простой. В силу единственности разложения всякого натурального числа в произведение степеней простых чисел данная нумерация однозначна, т.е. разные машины Тьюринга получают при этой
нумерации разные номера, причем каждая машина имеет
в точности один номер.
Более того, последовательным разложением номеров
машин, номеров ее строк и троек команд в произведения
степеней простых чисел можно указать алгоритм, который
по любому натуральному числу n определяет, является
ли n геделевским номером какой-либо машины Тьюринга
и, если да, то строит (восстанавливает) программу машины
с геделевским номером n.
— 113 —

Глава 3. РЕКУРСИВНЫЕ И РЕКУРСИВНО ПЕРЕЧИСЛИМЫЕ МНОЖЕСТВА
()
←→
←→
()
k
φ
←→
←→
y←→
Рассмотрим все геделевские номера машин Тьюринга:
n0, n1, n2, …, nk , … , где n0 < n1 < n
< … < n
2
< … .
k
Обозначим машину Тьюринга с геделевским номером nk
через
M . Очевидно, что машин Тьюринга (а, следова-
n
k
тельно, и геделевских номеров этих машин) счетное множество. Поэтому возможна и простая нумерация этих машин. Т.е. их нумерация всеми натуральными числами.
Каждой машине
M поставим в соответствие ее (простой)
n
k
номер k (k = 1, 2, …), и в дальнейшем рассмотрим именно
простую нумерацию машин Тьюринга.
Пусть задана некоторая машина Тьюринга
M .
n
k
Очевидно, ей соответствует счетное множество функций,
которые вычисляются этой машиной и отличаются друг
от друга размерностью. Всякой машине Тьюринга
M
n
k
поставим в соответствие частично рекурсивную функцию
xφ, вычисляемую этой машиной. Функция полностью
k
определяется программой машины
M . Действительно,
n
k
пусть на ленте записан некоторый набор х в заданном кодировании в начальной конфигурации, х = (x1 , …, xn).
Таблица 14
x
1
a
0
…
a
0
x
n
Возможны следующие случаи:
1) Начиная работу с набора (x1 , …, xn) , машина Mk через
конечное число шагов приходит в конфигурацию таб. 16.
Тогда полагаем значение функции
равным у.
x
Таблица 15
x
a
1
…
0
a
0
x
a
n
0
2) Начиная работу с набора ( x1 , …, xn) , машина Mk через
конечное число шагов остановилась, но в конфигурации,
— 114 —

3.4. Универсальные функции
k
φ
k
φ
nN∈
nN∈
kN∈
kn
xx
отличной от стандартной заключительной. Тогда полагаем, что функция
на (x1 , …, xn) не определена.
3) Начиная работу с набора (x1 , …, xn), машина Mk
не останавливается. В этом случае также полагаем функцию
не определенной на наборе (x1 , …, xn).
Очевидно, 1)–3) исчерпывают все возможные случаи.
В результате для любого фиксированного числа n,
, мы получим бесконечную последовательность функ-
цию
nn n
, ,..., ,...
φφ φ (**)
01
k
Таким образом, мы осуществим нумерацию всех
n-местных ЧРФ.
Тот факт, что каждая частично рекурсивная функция
получит номер, гарантирует нам теорема об эквивалентности двух уточнений понятия алгоритма. Теперь можно
сформулировать и доказать следующую теорему.
Теорема 3.11. Для любого 1n≥,
, класс
n-местных частично рекурсивных функций обладает универсальной частичной рекурсивной функцией.
Доказательство.
Определим функцию F от (n+1) переменного следую-
щим образом: для любого
n
= 1( ,..., )
φ . В силу этого определения и построения по-
положим F(k, x1, ..., xn) =
следовательности (**) функции F является универсальной
для класса всех n-местных частично рекурсивных функций.
Покажем, используя тезис Черча, что сама функция
F частично рекурсивна. Действительно, пусть задан произвольный набор (у, х1, …, хп) . По числу y однозначно определяется геделевский номер ny машины Тьюринга. По этому
номеру единственным образом восстанавливается программа соответствующей машины Му.
Наконец, Му, применяется к набору (x1 , …, xn) для вычисления
— 115 —

Глава 3. РЕКУРСИВНЫЕ И РЕКУРСИВНО ПЕРЕЧИСЛИМЫЕ МНОЖЕСТВА
11
yn n
xxFyxxφ=
( ,..., ) ( , ,..., )
.
Нами описан алгоритм вычисления функции F.
Следовательно, функция F алгоритмически вычислима.
Согласно тезису Черча, F частично рекурсивна.
Доказанная теорема является важным результатом
дисциплины теории алгоритмов.
Теорема 3.12. Класс одноместных общерекурсивных
функций не имеет универсальной общерекурсивной функции.
Доказательство.
Предположим противное, т.е. существует общерекурсивная функция G(y, x), универсальная для класса
одноместных общерекурсивных функций. Рассмотрим
функцию g(x)=G(x, n) + 1. Очевидно, g — также общерекурсивная функция. Значит, из универсальности G, найдется значение y0 такое, что G(y0,x)=g(x). Так как функция
g общерекурсивна, то она определена всюду, в том числе
и на y0, т.е.
g(y0)=G(y0, y0).
Но, с другой стороны, из определения функции g получаем, что
g(y0)=G(y0, y0)+1.
Два последних равенства противоречивы. Следовательно, предположение о существовании общерекурсивной функции, универсальной для класса одноместных общерекурсивных функций, неверно.
Замечание. Как видно из доказательства, аналогично может быть доказана теорема для n-местных общерекурсивных функций. Заметим, что при доказательстве теоремы мы использовали метод диагонализации
Г. Кантора. Лежащая в его основе идея является универсальной для доказательства многих результатов в теории
алгоритмов.
— 116 —

3.5. Иерархия множеств и структура класса вычислимых функций
fg
DD⊂
fx
– нечетное.
( )
( ) ( )
( )
gx
– четное,
3.5. Иерархия множеств и структура класса
вычислимых функций
Определение. Пусть задана функция f(x) с областью
определения Df. Говорят, что функция g(x) является продолжением функции f(x), если
ласти определения функции f f(x) = g(x).
Пример.
x
,
()
Функция g(x) является продолжением частично рекурсивной функции f(x), и сама g — уже общерекурсивная
функция. В этом случае говорят, что функция g является
продолжением функции f до общерекурсивной функции.
Практика показывает, что не всякую ЧРФ можно продолжить до общерекурсивной.
Теорема 3.13. Существуют частично рекурсивные
функции, не продолжаемые до общерекурсивных.
Доказательство.
Рассмотрим функцию
класса всех одноместных частично рекурсивных функций.
Покажем, что частично рекурсивная функция
не продолжаема до общерекурсивной.
Предположим противное, т.е. существует функция
g(x), являющаяся продолжением функции f(x) до общерекурсивной. Так как g(x) общерекурсивна, то она является частично рекурсивной функцией, и имеет свой номер k
в нумерации всех частично рекурсивных функций:
если x – четное,
2
не определено, если x
x
,
()
если x
2
0, если x – нечетное.
,F yx — универсальную для
,f x sg F x x= (1)
и для всех x из об-
— 117 —

Глава 3. РЕКУРСИВНЫЕ И РЕКУРСИВНО ПЕРЕЧИСЛИМЫЕ МНОЖЕСТВА
() ().
φ
( )
( )
() () (,).
( (,) (,)
( ) ( ( , ))f x sg F x x
( )
{ }
|0
=µ +=
( )
{ }
( ) ( )
( )
( )
{ }
|0
Так как F — универсальная функция для класса одноместных ЧРФ, то
1( , ) ( ).
Поскольку функция g общерекурсивна, следует, что
она всюду определена, в том числе и на своем номере k, значит, на k определена и функция
ние
( ) ( , ).f k sgF k k= (4)
т.е.
тиворечие.
щерекурсивного продолжения для функции f неверно.
ле настоящей главы, дает следующая теорема.
не рекурсивные множества.
теоремы.
что E0 — рекурсивно перечислимое множество.
определения
частично рекурсивна как подстановка ЧРФ в ЧРФ и ее область определения
,F kk тоже определено
Но так как g — продолжение функции f, то
Из (4), (5), (6) получаем, что
Таким образом, предположение о существовании об-
Ответ на один из вопросов, сформулированных в нача-
Теорема 3.14. Существуют рекурсивно перечислимые
Доказательство. Рассмотрим функцию
, построенную в доказательстве предыдущей
Пусть
Легко показать, что множество E0 не пусто. Покажем,
Рассмотрим функцию ( ) ( 0)ax yx y
Очевидно, что
E xfx= = .
0
D = . Тогда функция
a
gx x= φ (2)
Fkx x= φ (3)
gk k Fkk=φ= (6)
ax частично рекурсивна и ее область
0
D xfx E= = = .
h
1
k
k
; следовательно, значе-
k
()fk gk= , (5)
1
k
sgFkk Fkk= — про-
.
hx afx= также
0
=
— 118 —

3.5. Иерархия множеств и структура класса вычислимых функций
1, ,
.
xE
Hx
xE
если
xD∈
( )
xE∈
( )
( )
xE∉
xN∈
Отсюда следует, что Е0 — рекурсивно перечислимое
множество, как область определения частично рекурсивной функции.
Докажем, что Е0 не является рекурсивным множеством. Предположим противное, т.е. существует его общерекурсивная характеристическая функция.
()
0
0,
если
0
0
Тогда функция 0( ( ))sg H x тоже общерекурсивна.
Кроме того, она является продолжением функции f(x).
Действительно, пусть
.
f
Тогда возможны 2 случая:
1)
Значит,
2)
0fx= , и по определению множества E
1Hx= , а 0( ( )) 0sg H x = .
0
1fx= , т.е.
и 0( ( )) 1sg H x = .
0
0 ,
.
0
Получили, что 0( ( ))sg H x — продолжение функции f
до общерекурсивной, но это противоречит предыдущей теореме.
Таким образом, предположение о рекурсивности множества E0 неверно.
Интуитивный смысл этой теоремы заключается в том,
что существуют множества, для которых есть перечисляющий алгоритм, но нет разрешающего алгоритма, который
для любого
давал бы ответ на вопрос: принадлежит
х данному множеству или нет?
Следствие 1. Существуют множества, не являющиеся
рекурсивно перечислимыми.
Действительно, таким множеством является, например, дополнение СЕ0 (в противном случае Е0 было бы рекурсивным).
Следствие 2. Существуют функции, не являющиеся
алгоритмически вычислимыми.
— 119 —

Глава 3. РЕКУРСИВНЫЕ И РЕКУРСИВНО ПЕРЕЧИСЛИМЫЕ МНОЖЕСТВА
{ }
Ex
= φ−
( )
( )
( )
( ) ( )
( )
,,
( )
( )
gt k
( )
( )
( ) ( )
()
()
( )
, ()
( )
Примером может служить Н0(х) — характеристическая функция множества Е0. Доказательство непосредственно вытекает из тезиса Черча.
Рассмотрим множество всех номеров n-местных общерекурсивных функций
0,1,2,...n∈ , обозначим его
()
n
1
{|
π
x
ОРФ}.
Оказывается, нельзя построить алгоритм, перечисляющий это множество. Об этом говорит следующая теорема.
Теорема 3.15. Множество
перечислимым.
Доказательство. Очевидно, что множество
n
E не является рекурсивно
1
n
E не пу-
1
сто. Предположим, что существует общерекурсивная
функция g такая, что
Val g =
n
E .
1
Обозначим набор (x1, …, xn) и рассмотрим функцию
F(y,x), универсальную для класса всех n-местных частич-
но рекурсивных функций. Покажем, что тогда
G tx F g t x=
— общерекурсивная универсальная функция для класса
всех n-местных общерекурсивных функций.
Действительно, рассмотрим произвольный набор
и пусть
= . По определению g значение k — номер об-
,tx ,
щерекурсивной функции, тогда
π
k
где
F gt x F kx x
xπφ — общерекурсивна функция.
k
,,
= = φ ,
Отсюда и из задания функции G следует, что она частично рекурсивна и всюду определена, т.е. общерекурсивна.
Покажем, что G является универсальной для класса
всех n-местных общерекурсивных функций.
Пусть дана произвольная общерекурсивная функция
xπφ . Тогда существует t такое, что
k
Действительно,
π
() ,
x F kx
φ= , где k — номер общере-
k
G tx x
π
= φ .
k
курсивной функции. Согласно определению функции g,
найдется t такое, что g(t)=k .
— 120 —
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
