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

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

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
4.1. Проблема самоприменимости
0
()
ψ
()
( ) ( )
xx
()
() 1
ψ=
()
()
()
gx
 
если сходится,y
расходится.
( )
{ }
Ex= φ−
1, — -
n

если местная общерекурсивная функция,
Если g0(x0) = 0, полагаем
xψ расходится. На основании тезиса Черча, ()xψ — ча-
0
= 1, если g0(x0) = 1, то
x
стично рекурсивная функция.
Значит, в нумерации всех одноместных частично ре­курсивных функций ψ имеет некоторый номер n, т.е.
ψ=φ .
n
Возможны 2 случая.
а)
nφ сходится, т.е. ()nψ сходится, а это значит, что
n
n
.
По определению функции ψ такое возможно, когда g0(n) = 0. Но по определению функции g значение
nφ
n
расходится.
б) g0(n) = 1, и
nφ расходится, т.е. ()nψ расходится. Тогда
n
nφ сходится. В обоих случаях получили про-
n
тиворечивые утверждения, которые явились следстви­ем предположения об общерекурсивности функции g0. Следовательно, проблема самоприменимости алгоритми­чески неразрешима.
2) Предположим, что проблема 2 алгоритмически раз-
решима, т.е. существует общерекурсивная функция
(,)
1, ()
y
если
0, ()
Тогда очевидно, что функция g
x
y
x
получена отождест-
0
влением переменных из функции g: g0(х) = g(x, x), и функ­ция g0 тоже общерекурсивна, что неверно по доказанному выше. Проблема 2 также алгоритмически неразрешима.
3) В предыдущей главе была доказано, что множество
n
|
1
— общерекурсивная
x
не является рекурсивно перечислимым. Предположим, что проблема общерекурсивности алгоритмически разре­шима, т.е. существует общерекурсивная функция
()
x
0,
в противном случае.
n
— 131 —
Глава 4. АЛГОРИТМИЧЕСКИЕ ПРОБЛЕМЫ
( )
( )
n
1
m
x m nm n
yyyzz zz
φ=φ
φ=φ
(,) ()
Xn
φ=φ
x
12 1
Из этого предположения следует, что существует об-
щерекурсивная характеристическая функция множества
n
E , т.е.
1
n
E рекурсивно перечислима. Значит предполо-
1
жение неверно и проблема 3 алгоритмически не разреши­ма.
4.2. S-m-n — теорема Клини
Мы уже встречались с использованием функций, ну­мерующих n-ки натуральных чисел, при сведении доказа­тельств теорем для n-мерных функций к функциям одно­местным.
Имеются эффективные процедуры, позволяющие со­кращать размерность функций при вычислении их значе­ний. Данный результат может быть сформулирован в виде теоремы.
Теорема 4.2. (Клини, S-m-n-теорема). Для всех на- туральных m, n ≥ 1 существует общерекурсивная функ­ция
, ,...,
xy y выполняется равенство
S(x, y) такая, что для всех фиксированных значений x, y
x S xy
общерекурсивность функции S из условия теоремы путем описания всюду определенного алгоритма А, ее вычисляю­щего.
паре (x,y) порождает номер n такой, что для всех значений z
и
1m
S+ такая, что для любых фиксированных значений
mn n
+
( , ,..., , ,..., ) ( ,..., ).
12 1 1 1
+
( , ,..., )
S xy y
1
nm
Теорема 4.2’. Существует общерекурсивная функция
( , ) ( ).
yz z
(,)
Доказательство. Используем тезис Черча. Покажем
Данный алгоритм по произвольной фиксированной
2
yz z
.
Пусть xM — машина, вычисляющая функцию
...vv v — код числа y.
2
φ
— 132 —
4.2. S-m-n — теорема Клини
12 1
y←→
z←→
∆
∆
( )
() () ()
φ=φ =
1
v
aq
111v
vq
−
11
11
11 2v
vq
−−
Построим машину Тьюринга М, реализующую иско­мый алгоритм А. Идея ее построения состоит в следующем. В начальный момент времени на ленте записан аргумент z (рис. 18). К коду числа z через один интервал а0 приписы- вается код у —
...vv v .
a
0
---------ß-----------------------------------------------
------------------------------------------à--------------
Рисунок 1
Затем к имеющейся записи применяется в стандарт­ной начальной конфигурации машина Мх. Результат ее ра­боты и будет служить итогом работы алгоритма А.
Все это может быть записано в виде программы маши­ны М (рис. 19)
Пусть A = {a0, a1,…,ap} — алфавит машины Мх. В со­стоянии qΛ управляющая головка проходит код числа z без изменений.
Легко подсчитать геделевский номер машины М, а затем определить ее простой номер n. Положим равным
,n S xy= . Таким образом, по каждой фиксированной
паре (x, y) эффективно найдем номер функции f(z) от одной переменной такой, что
z z fz
n Sxy
(,)
.
Таблица 17
Q A a
q
q
q
v
0
Л
v
1
−
Л
v
0
1
Л
v
−
Л
v
— 133 —
a
1
Л Л Л
… a
p
Глава 4. АЛГОРИТМИЧЕСКИЕ ПРОБЛЕМЫ
1 n
n
2
0 n
aq
n
01
aq
( )
, ()
( )
, ()
( )
, ()
( ) ( )
Q A a
…
q
v
1
v Hq
q
2
q
q
1
… М
q
n
…
П
Л
0
2
x
a
1
… a
П П П
П П П
p
В силу произвольности пары (х, у) алгоритм А всю­ду определен и, следовательно, по тезису Черча функция S(х, у) общерекурсивна.
Следствие. Для всякой частично рекурсивной функ­ции f(x,y) существует общерекурсивная функция r(x) та­кая, что для любого фиксированного х
f xy y= φ .
()
rx
Доказательство. Так как f — частично рекурсивная функция, то существует номер этой функции в нумерации всех двуместных ЧРФ, что
f xy y= φ .
n
По теореме Клини, существует общерекурсивная функция S такая, что
xy yφ=φ .
n Snx
Тогда, если мы обозначим через
(,)
,r x S nx= , то она,
очевидно, удовлетворяет условию следствия.
4.3. Другие неразрешимые алгоритмические проблемы
Кроме вышеперечисленных алгоритмических про­блем, имеются еще следующие немаловажные проблемы.
— 134 —
4.3. Другие неразрешимые алгоритмические проблемы
x
φ
xx
φ∈φ
yzφ=
xy
φ=φ
φ
φ∈
φ
xx
φ ∈φ
{| }
(,)
Проблема 4. По произвольному натуральному зна-
чению х выяснить, является ли функция с номером х функцией постоянной?
Проблема 5. По произвольной паре натуральных зна-
чений (х,у) определить, принадлежит ли значение у мно­жеству значений функции
:
y Val
?
Проблема 6. По произвольной тройке (х, у, z) устано-
вить, выполняется ли равенство ()
x
?
Проблема 7. По произвольной паре (х, у) выяснить,
выполняется ли равенство функций
?
Проблема 8. По произвольному значению х опреде-
лить, является ли множество значений функции
беско-
x
нечным?
Проблема 9. При фиксированном значении 0y опреде-
лить по произвольному х, принадлежит ли 0y множеству значений функции 0:xy
Val
?
x
Проблема 10. При фиксированном 0x определить
по любому значению у, принадлежит ли 0y множеству значений функции
:
y Val
0
?
0
Каждая из проблем 4—9 алгоритмически неразреши-
ма.
Доказательства неразрешимости этих проблем сводят-
ся к неразрешимости проблем 1—3. Решение проблемы 10 зависит от значения 0x .
Приведем доказательство неразрешимости проблем
4–9.
4. Пусть функция g(x) является характеристической
функцией для множества
B x const= φ− — номеров всех
x
постоянных функций. Предположим, что проблема 4 раз­решима.
Тогда g(x) общерекурсивна. Рассмотри функцию
xyψ, которая зависит от у фиктивно и определяется ку-
сочным образом:
— 135 —
Глава 4. АЛГОРИТМИЧЕСКИЕ ПРОБЛЕМЫ

0, ()
если сходится,x
расходится,
(,)
(,)
(,) 0
ψ=
(,)
(,)
( )
{ | () }
Kx x=φ−
xK∈
()
( ,)xyψ
()
()
10
φ
()
10
φ
xK∉
()
( ,)xyψ
(,)xy
расходится x
Согласно тезису Черча, функция
x
если
, ()
x
xyψ является ча-
стично рекурсивной. Действительно, на произвольном на­боре (х, у) значение
xyψ можно вычислить следующим
образом:
машина Тьюринга Мх применяется ко входу х. Если через конечное число шагов машина придет в заключи­тельную стандартную конфигурацию, то тивном случае
Так как функция
xyψ не определено.
xyψ — частично рекурсивная,
xy
. В про-
то по следствию из теоремы Клини найдется общерекур­сивная функция h1(x), которая удовлетворяет следующему условию: для всякого фиксированного х имеет место ра­венство
(,)
xy yψ=φ , для всех значений у.
hx
( )
1
Рассмотрим функцию g(h1,(x)). Покажем, что эта функция является характеристической для множества
— сходится
x
Пусть
0
Следовательно, значение функции бом у. Значит, ления функции
()
hx
10
hx
.
, т.е. функция
xφ сходится.
0
x
0
= 0 при лю-
0
yφ = 0 для всех у из области опреде-
, т.е. функция
всюду опре-
hx
делена и тождественно равна константе (нулю). Но тогда g(h1,(x0)) = 1, так как по условию g-характеристическая
функция для множества В.
Предположим теперь, что дится и функция
не определена при любом у, т.е.
0
0
. Тогда
xφ расхо-
0
x
0
(х0, у) расходится для произвольного значения Z и, следо­вательно, не может быть константой. Значит, g(h1(x0)) = 0 по определению характеристической функции g для мно­жества В.
Тем самым мы доказали, что g(h1(x)) — характеристи­ческая функция для множества К. Но g(h1(x)) — общерекур­сивная функция как композиция двух общерекурсивных
— 136 —
4.3. Другие неразрешимые алгоритмические проблемы
= ∈φ
2
xy E
Hx
 
() ( (),0)
()hx
()
fx
xK∈
()
φ =ψ≡
( ,)xyψ
()
∈φ
() ((),0)1
= =
10 2
xK∉
()
() ( ,)
y xyφ=ψ
()
()
10
∉φ
10 2
hx E
()
()
fx
функций. Отсюда получаем, что проблема самопримени­мости разрешима, что невозможно по ранее доказанному. Значит, предположение об общерекурсивности функции g было неверно, т.е. проблема 4 алгоритмически неразре­шима.
5. Рассмотрим множество
{( , ) | }
E x y y Val
2
.
x
Согласно тезису Черча, доказательство неразрешимости проблемы 5 равносильно доказательству того, что характе­ристическая функция множества 2E не является общере­курсивной. Предположим, что функция
1, (,)
y
(,)
если
если
0, (,)
Рассмотрим функцию
xy E
2
— общерекурсивна.
f x Hh x=, где
k
1
—
1
функция, построенная при доказательстве неразреши­мости проблемы 4. Очевидно,
— общерекурсивная
k
функция. Кроме того, она является характеристической для множества К. Покажем это.
где
Пусть
0
, т.е.
0
hx
10
xφ сходится. Тогда
0
x
0
() ( ,)
y xy
() 0
0,
— функция, построенная при доказатель­стве неразрешимости проблемы 4. Отсюда получаем, что 0
Val x
()
hx
10
. Значит,
f x Hh x
0 10
k
(так как
( ( ),0) )hx E∈.
Предположим теперь, что дится. Тогда т.е. функция
() 0
hx
10
yφ нигде не определена.
()
hx
10
расходится при любом у,
, т.е.
0
xφ расхо-
0
x
0
Следовательно,
0
Тогда
Val
fx = 0.
0
k
hx
и
( ( ),0)
∉ .
Таким образом, мы доказали, что общерекурсивная функция
является характеристической для множе-
k
ства Е. Но этого не может быть, так как К — не рекурсивно.
— 137 —
Глава 4. АЛГОРИТМИЧЕСКИЕ ПРОБЛЕМЫ
= φ=
( )
=
()hx
xK∈
()
( ,)xyψ
() 0
φ=
φ=
10 3
hx E∈
( )
=
xK∉
()
( ,)xyψ
()
φ
10 3
hx E∈
fx H=
{ }
Xy
()Cx
()Cx
() ()
Cx x
( )
10
() ( (), )
=
Следовательно, предположение об общерекурсивности функции Н(х, у) неверно и проблема 5 алгоритмически не­разрешима.
6. Рассмотрим
{( , , ) | ( ) }
E xyz y z
3
x
. Пусть
,,H xyz — характеристическая функция для множества
E . Предположим, что она общерекурсивна. Тогда функ-
3
ция 1( ) ( ( ),0,0)fx Hh x
, где
— функция, построенная
1
при доказательстве неразрешимости проблемы 4, также общерекурсивна. Функция f(x) , кроме того, является ха­рактеристической для множества К. Действительно, пусть
, т.е.
0
значения у, т.е. у = 0:
()
hx
10
множества Е3. А так как
xφ сходится. Тогда
0
x
0
(0) 0
y
()
hx
10
. Тогда
( ( ),0,0)
= 0 для любого
0
для всех у, в том числе и для
по определению
,,H xyz — характеристическая
функция для множества Е3, то
( ) ( ( ),0,0)fx Hh x
0 10
Пусть
расходится и
0
, т.е.
0
в том числе и при у = 0:
( ( ),0,0)
xφ расходится. Следовательно,
0
x
0
yφ расходится при любом у,
()
hx
10
(0)
()
hx
10
и 0()
= 1.
расходится. Значит,
( ( ),0,0)hx = 0.
10
Таким образом, проблема 6 также алгоритмически не-
разрешима.
7. Рассмотрим множество
цию
1 0
. Так как
1
— частично рекурсивная функ-
0
( , )|
E xy= φ=φ и функ-
4
ция, то она имеет некоторый номер в нумерации всех одно­местных частично рекурсивных функций. Пусть
1
= φ .
0
Пусть функция
y
0
,H xy характеристическая для
множества 4E . Предположим, что она общерекурсивна. Докажем, что функция
fx Hh x y
является характеристической для множества К.
— 138 —
4.3. Другие неразрешимые алгоритмические проблемы
0
xK∈
()
()
() 0
φ≡
() () ()
y Cy yφ ≡=φ
10
()
10 0 4
hx y E∈
0 10 0
() ((),)1
= =
0
xK∉
()
()
10
φ
() 0 0 0
() ()
φ≠
10 0 4
hx y E∉
0
()
5
x
= φ−
}
( )

y
если сходится,x
x
расходится.
1
(,)
2
()hx
(,) ()
ψ=φ
( )
0
xK∈
()
1
ψ
10
( ,)xyψ
()
1
ψ
φ=
25
hx E∈
2
() ( ()) 1
= =
0
xK∉
()
0
()
()
0
φ
20 5 0 20
() ,() (())0
∉= =
Пусть дится при любом у. Значит,
Другими словами,
Мы имеем равенство функций с номерами
. Тогда
xφ сходится, и
0
x
0
hx y
() 0
10 0
()
hx
10
y
.
1
yφ схо-
()
hx
10
.
hx и у0,
где у0 — фиксированное значение.
Значит,
Пусть теперь любом у, т.е. функция
Отсюда следует, что
( ( ), )
( ( ), )
, т.е.
fx = 0 к противоречию с тем, что
и
fx Hh x y
. Тогда
нигде не определена.
hx
hx
10
hx
10
()
y Cy
.
yφ расходится при
1
и пара
множество К не рекурсивное.
8. Обозначим:
{|
E x Val
бесконечно
Пусть
.
Hx — характеристическая функция для множества Е5. Предположим, что она общерекурсивна. Введем следую­щую функцию:
(,)xy
1
,()
расходится, ()
На основании тезиса Черча функция
x
если
x
xyψ ча-
стично рекурсивная. Тогда согласно теореме Клини, су­ществует общерекурсивная функция
xy y
1 ()
hx
для каждого фиксированного значения
2
х и при всех у. Покажем, что функция
такая, что
( ( ))f x Hh x= яв-
2
ляется характеристической для множества К.
Пусть ления функции значений у, т.е. деления функции
()
и
Пусть теперь и
hx
2
yφ расходится при любом у. Значит, функция
()
hx
2
нигде не определена и поэтому
, т.е.
xφ сходится. Тогда из опреде-
0
x
0
следует, что
yφ сходится для всех у. Из опре-
()
hx
20
видно, что
fx Hh x
.
. Тогда
hx Efx Hhx
сходится для всех
Val N
()
hx
20
xφ расходится
0
x
0
.
. Значит,
— 139 —
Глава 4. АЛГОРИТМИЧЕСКИЕ ПРОБЛЕМЫ
{| }
= ∈φ
() ()
xq
x Cx
= φ
1

ЧРФ
{| }
X
Из общерекурсивности функции f(x) и того, что она является характеристической для множества К, опять по­лучаем противоречие с ранее доказанным фактом. Таким образом, проблема 8 также алгоритмически неразрешима.
В виды самостоятельности, докажите неразрешимость проблемы 9, рассмотрев множество
E x y Val
60
x
и до-
казав его нерекурсивность.
Рассмотрим теперь алгоритмическую проблему 10. Зафиксируем некоторый элемент х0.
1-й случай. х
является номером некоторой функци-
0
и-константы:
φ= .
0
1
Тогда по произвольному у мы можем установить, при­надлежит ли у
1
ValC .
q
2-й случай. Рассмотрим множество Е0 — рекурсив- но перечислимое, но не рекурсивное (существование его доказано в гл. 3). По следствию из основной теоремы, это множество совпадает с множеством значений некоторой частично рекурсивной функции. ( Если номер этой функ­ции равен х0, то
Поэтому вопрос принадлежности множеству
E Val
0
.)
x
0
Valφ
x
0
эквивалентен вопросу о принадлежности множеству Е0.
Таким образом, мы свели интересующую нас проблему к вопросу о существовании общерекурсивной характери­стической функции множества Е0. Но такой не существу­ет, так как в противном случае Е0 было бы рекурсивным.
ных функций. Пусть меров функций этого класса: характеристическая функция для Z.
4.4. Теорема Райса
Зафиксируем класс одноместных частично рекурсив-
. Рассмотрим множество но-
K
Zx= φ ∈σ . Пусть ZH —
— 140 —
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]