Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Теория алгоритмов. Учебное пособие
.pdf
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 —
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
