Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Теория алгоритмов. Учебное пособие
.pdf
4.4. Теорема Райса
1
K
ЧРФ
1
K
ЧРФ
1
ЧРФ
{| }
1
Kσ=∅ σ=
1
1
K
ЧРФ
σ=∅
Z = ∅
( ) ( )
Hx Cx
1
1
K
ЧРФ
||
Xx
Zx xK
( ) ( )
Hx Cx
1
0 σ≠ σ≠
1
1
K
ЧРФ
{| }
g ∈σ
1
Kσ≠
1
K
ЧРФ
σ ∉σ
Каждому свойству функций отвечает некоторое множество функций, возможно пустое, которое ему удовлетворяет. Назовем свойство функции тривиальным, если
ему удовлетворяют либо все функции класса
ни одна функция из
. В противном случае назовем дан-
, либо
ное свойство нетривиальным.
Теорема 4.3. Каково бы ни было нетривиальное свойство частично рекурсивной функции, не существует общерекурсивной функции, характеристической для множества номеров функции класса σ, удовлетворяющих этому
свойству.
Другими словами, пусть задано подмножество
Характеристическая функция множества
Zx= φ ∈σ
K
X
.
является общерекурсивной тогда и только тогда, когда
или
.
Доказательство.
1) Рассмотрим случай, когда
. Тогда
, и ха-
рактеристическая функция ZH может быть записана как
1
= . Очевидно, что она общерекурсивна.
0z
2) Пусть
. Тогда
1
ЧРФ
.
Поэтому в качестве характеристической функции множество Z можно выбрать функцию
1
= . Она также
1z
общерекурсивна.
3) Предположим, что
и
. Пусть существует общерекурсивная характеристическая функция ZH
множества
Zx= φ ∈σ . Пусть g — нигде не определен-
X
ная, частично рекурсивная функция.
Случай 1.
. Так как
, то найдется одноместная частично рекурсивная функция f, не принадлежащая : f
.
Рассмотрим множество 0E , построенное в § 5 преды-
дущей главы (напомним, что
{ | ( ( , ) 0)}E x sg F x x= = , где
0
F — универсальная частично рекурсивная функция для
класса одноместных частично рекурсивных функций).
— 141 —

Глава 4. АЛГОРИТМИЧЕСКИЕ ПРОБЛЕМЫ
ED
=
Cx
DD
φφ
=
φ
φ
φ
(,) () ()
ψ =φ⋅
(),,
).
fy xE
xE
если
ψ
( )
( )
( )
xE∈
( ) ( ) ( )
φ =ψ=
( )
fy
( )
( )
xZρ∉
=
() 1
ω=
xE∉
φ =ψ = ∈σ
( )
( )
:.Z xZρ∉
( ( )) 1
H p x (x) 0=ω=
ω
g ∉σ
σ∉∅
() (())
ω=
Поскольку 0E — рекурсивно перечислимое не рекурсивное множество, то 0E является областью определения некоторой частично рекурсивной функции:
Рассмотрим функцию
и значение функции
(они равны 1).
0
Рассмотрим функцию
(,
xy
Функция
частично рекурсивная как произведе-
как бы «выравнивают» значения
0
— частично рекурсивная функция.
xy x fy
gy
(),
1
φ= φ , очевидно,
( ( ))
01
0
если
, где f≠σ, т.е.
0
0
.
0
φ
0
ние частично рекурсивных функций. Тогда, по следствию
из теоремы Клини, существует общерекурсивная функция
px такая, что
Рассмотрим функцию ( ) ( ( ( ))).
,xxy y
ψ=φ .
ρ
( )
x sg H p xω= Докажем,
Z
что функция ω является характеристической для 0E .
Пусть
мер функции
и ( ( )) 0
H px
Пусть теперь
выбору функции g) т.е.
Z
. Тогда
0
есть
x
ρ
( )
xρ и эта функция f∉σ. Значит,
. Отсюда следует, что
. Тогда
0
xρ является номером функции g
()
px
,
(,) ()
xy gy
y xy f y
, т.е. но-
x
.
(по
и этот номер является элементом множества
Отсюда
Z
функция, так как ( ( ))
и
H px общерекурсивная по предпо-
Z
. ω — общерекурсивная
ложению и функция sg сохраняет общерекурсивность.
Таким образом, мы получили, что
— общерекур-
0
сивная характеристическая функция для множества 0E ,
т.е. 0E — рекурсивное множество, а это противоречит ранее доказанному.
Аналогично приходим к противоречию и в случае 2,
когда
, используя, что
, и, значит, существует
частично рекурсивная функция f∈σ. В этом случае характеристической для множества 0E оказывается общерекурсивная функция
x H px
Z
— 142 —
.

4.5. Алгоритмические проблемы в других областях математики
{| }
σ≠∅
{| }
XX
σ= φ φ −
1
Kσ≠∅ σ≠
1
K
ЧРФ
1
Kσ≠
1
K
ЧРФ
;σ≠∅
{ }
|
XX
σ= φ φ −
σ≠∅
1
I K∈σ σ≠
1
K
ЧРФ
{| }
XX
σ≠∅
1
Kσ≠
1
K
ЧРФ
( )
xx
Таким образом, предположив существование обще-
рекурсивной характеристической функции y множества
Zx= φ ∈σ , где
X
, мы приходим к противоречию.
Значит, предположение было неверным и теорема доказана.
Теорема Райса имеет широкое применение. Этот глубокий результат избавляет исследователя от необходимости
каждый раз доказывать неразрешимость той или иной проблемы. Проиллюстрируем это на примере проблем 4, 8, 9.
4. Рассмотрим
доказать, что
и
— постоянная
.
, так как в σ уже
. Достаточно
не входят элементарные функции (например, функции выбора). Очевидно также, что
следовательно, по теоре-
ме Райса проблема 4 неразрешима.
8.
9.
Val
, так как
y Valσ= φ ∈ φ .
0
, так как
— бесконечное множество
1
;
1
1
C ∈σ ;
y
0
, так как
, так как
C ∉σ.
.
1
0
1
C+∈σ.
10y
4.5. Алгоритмические проблемы
в других областях математики
Рассмотрим несколько алгоритмических проблем,
которые не связаны с собственно теорией алгоритмов.
Мы ограничимся только формулировками таких проблем,
так как доказательства используют достаточно сложную
технику, выходящую за рамки нашего курса, и связаны
с другими областями математики. Более подробно с ними
можно познакомиться в [3, 11, 22].
Диофантовы уравнения
Пусть
,...,
1
с целыми коэффициентами и целыми поло-
n
жительными показателями степени. Тогда уравнение
,...,
Px x — многочлен от переменных
1
n
— 143 —

Глава 4. АЛГОРИТМИЧЕСКИЕ ПРОБЛЕМЫ
( )
+ −=
22 2
4 4 16 24 0,xy z+ + −=
( )
+ ++ =
aZ∈
n
,..., 0
Px x = , решение которого рассматривается во мно-
1
n
жестве целых чисел Z, называется диофантовым уравнением. Примерами диофантовых уравнений являются уравнения:
1) имеющие решения:
22
4 9 25 0;xy
2) не имеющие решения:
4
4 0.x −=
Проблема (Д. Гильберт) состоит в том, чтобы определить, существует ли алгоритм, с помощью которого можно
ответить на вопрос о существовании решения для любого
диофантового уравнения?
Если рассматривать диофантовы уравнения от одного
неизвестного
1n = , известно, что данная проблема разре-
шима.
Действительно, уравнение имеет вид
a ax ax
01
... 0
k
k
, где .
.
i
Для ответа на вопрос о существовании решения в множестве достаточно сделать подстановку в уравнение всех
делителей свободного члена
a .
0
Сложнее дело обстоит с общим случаем, когда рассматривается уравнение с
неизвестными.
Длительное время — 70 лет — эта проблема не находила своего решения. Девис, Патнем и Дж. Робинсон показали в 1961 г., что рекурсивно неразрешима проблема,
близкая к диофантовой.
Рассматривался показательный многочлен, т.е. многочлен, в котором переменная может быть показателем
степени. Этими авторами и была показана алгоритмическая неразрешимость проблемы для показательных уравнений.
И только в 1970 г. советским математиком
Ю. Матиясевичем была доказана [11] алгоритмическая неразрешимость диофантовых уравнений.
— 144 —

4.5. Алгоритмические проблемы в других областях математики
∃
11
nn
x xx x∃ ∃ϕ
Математическая логика
Проблема разрешимости для исчисления высказываний (ИВ) равносильна вопросу существования алгоритма, позволяющего по произвольной форме ИВ определять, является ли она тождественно истинной или нет.
Используя свойство конечности таблиц истинности для
логических связок, легко показать [13], что проблема
разрешимости для ИВ решается положительно.
Рассмотрим более богатое исчисление предикатов
(первого порядка) ИП, где помимо символов переменных
используются предикатные и функциональные символы, а также кванторы ∀ и
лы ИП являются общезначимыми, если они принимают
истинное значение в любой интерпретации.
Американский математик А. Черч доказал, что
проблема общезначимости для ИП алгоритмически неразрешима [13, 21].
Данная проблема имеет большое значение для развития математики и информатики, так как значительную часть математических утверждений и задачи по информатике можно решать с помощью языка ИП.
Нужно отметить, что отрицательное решение той или
иной алгоритмической проблемы не исключает возможности положительного решения той же проблемы при некотором сужении класса однотипных задач, входящих в данную
проблему.
Примером такого рода является положительное решение проблемы общезначимости ИП [13], когда вместо
класса всех формул ИП рассматриваются такие классы
замкнутых формул:
1) Формулы с кванторной приставкой, имеющей
только кванторы существования:
над переменными. Форму-
( )...( ) ( ,..., );
— 145 —

Глава 4. АЛГОРИТМИЧЕСКИЕ ПРОБЛЕМЫ
1 1 11
m nm
∀ ∀ ∃ ∃ϕ
{ }
11
α ≡β
22
α ≡β
kk
α ≡β
p∈σ
11
ii
pc c=
11
α ≡β
1 12
1 23
cc
−
123 2
−
1111
d cccc cccc cc I
−−−−
dI=
2) Формулы, имеющие кванторную приставку, в которой все кванторы общности записаны до кванторов существования:
( )...( )( )...( ) ( ,..., , ,..., )
x x y y x xy y
π
;
3) Формулы, содержащие только одноместные предикатные символы. Подробное доказательство этих и других
частных случаев проблемы общезначимости для ИП изложено в [13].
Алгоритмические проблемы в алгебре
Рассмотрим группу σ с единичным элементом I, системой образующих элементов С =
списком определяющих соотношений:
,
,
…
.
Всякий элемент группы
во
...
в алфавите C . С помощью определяющих соотношений слова из σ могут быть преобразованы в другие слова в σ. Например,
1
β= . Тогда слово
α ≡β = = = = .
:
1 1 1232 2332 22
d ccc c
= преобразуется с учетом
1
Проблема тождества слов для групп относительно
множества C состоит в том, чтобы с помощью алгоритма
определить, для каких слов d группы σ верно соотношение
. Группа σ называется конечно-определенной,
если множество C конечно.
В течение длительного времени проблема тождества
слов для конечноопределенных групп не находила своего
решения. Но все-таки был построен пример такой группы,
для которого проблема тождества оказалась неразрешимой.
, ,...cc и конечным
12
определен как сло-
,
где
a cc=,
— 146 —

4.5. Алгоритмические проблемы в других областях математики
( )
PP=
PP
′
=
ir<<
i1 i i i1
−+
= −
≠
r rr
=
()
( ),..., ( )
r
Pc Pc
( )
ab<
( )
[ ]
() ()abδ −δ
Проблема была решена выдающимся советским математиком П.С. Новиковым в 1955 г. (см. [12]) и независимо
от него американским математиком У. Буном в 1957 г.
В дальнейшем решение целого ряда фундаментальных алгоритмических проблем алгебры было получено
С.И. Адяном и его учениками [1, 2].
Рассмотрим теорему Штурма, которая дает некоторые
положительные результаты о вычислимости и разрешимости в задаче, связанной с нахождением нулей полиномов.
Теорема Штурма. Пусть
Px — многочлен с действительными коэффициентами, определяемый следующим
образом:
а)
б)
в) для любого 0
P Pq P
,
0
(производная от P),
1
, где
i10P+
существует многочлен iq такой, что
и степень многочлена i1P+ меньше
степени iP (тем самым многочлены iq и i1P+являются соответственно частным и остатком от деления многочлена
г)
P Pq
1
−
.
P на iP ,
i-1
Для любого действительного числа с обозначим через
cδ число перемен знака в последовательности
(нули при этом игнорируются). Пусть a и b — дейст-
r
вительные числа, которые не являются корнями
и пусть
,ab равно
. Тогда количество корней
( при этом каждый корень учитывает-
Px в интервале
0
Px,
ся только один раз).
Теорема Штурма дает положительный результат о вычислимости количества корней многочлена и о разрешимости утверждений о корнях многочлена.
Для формулировки таких результатов ограничимся
рассмотрением многочленов с рациональными коэффициентами. Тогда объекты, с которыми мы имеем дело, будут
конечными (мы будем вести все рассуждения в терминах
вычислимости над множеством рациональных чисел Q ).
— 147 —

Глава 4. АЛГОРИТМИЧЕСКИЕ ПРОБЛЕМЫ
Контрольные вопросы
1. Что такое «алгоритмические проблемы»?
2. Приведите несколько примеров неразрешимых ал-
горитмических проблем.
3. Приведите доказательства неразрешимости про-
блем 4–9.
4. Приведите доказательство неразрешимой пробле-
мы 10.
5. Приведите доказательство теоремы Райса.
6. Приведите примеры алгоритмических проблем
в алгебре.
7. Приведите примеры алгоритмических проблем
в логике.
8. Приведите доказательства теоремы Штурма.
— 148 —

Глава 5.
( )
fx x x c=
xc≤≤
ВВЕДЕНИЕ В ТЕОРИЮ СЛОЖНОСТИ
АЛГОРИТМОВ
5.1. Введение в теорию сложности вычислений
В последнее время развивающимся аспектом теории
алгоритмов становится теория сложности вычисления.
Определение степени эффективности алгоритмов в большей степени интересует потребителей алгоритмов.
Прежде чем говорить о теории сложности вычисления, остановимся на часто встречающихся задачах, качественно отличающихся от других алгоритмически разрешаемых задач.
Например, пусть задан некий полином
= , где 0c> и 0
Алгоритм решения данного полинома является простым, т.е. методом перебора мы можем за конечно число
шагов найти ix . Этот алгоритм пригоден, если константа
c небольшая, а в случае, когда константа c слишком большое число, например,
ко хорош такой алгоритм на практике.
В качестве другого примера, рассмотрим задачу
«Ханойские башни» (исходный код программы смотрите
в Приложении 1).
.
i
100
10c = , возникает вопрос насколь-
, ,...,
12
n
— 149 —

Глава 5. ВВЕДЕНИЕ В ТЕОРИЮ СЛОЖНОСТИ АЛГОРИТМОВ
, , y z , , , ,xyxz zxzyyx→→ → →→→
ab→
Имеется 3 стержня и n колец разного размера. Вначале
все кольца находятся на первом стержне в порядке убывающего размера, как показано на рис. 2 для трех колец.
Нужно переместить имеющиеся кольца на третий стержень так, чтобы они остались в том же порядке. Этого нужно добиться, соблюдая следующие правила:
1. На каждом шаге ровно одно кольцо перемещается
с одного стержня на другой.
2. Кольцо большего размера нельзя помещать на мень-
шее.
3. Один из стержней можно использовать в качестве
промежуточного.
Покажите, что это всегда можно сделать, и найдите
за какое наименьшее число перекладываний можно переместить n колец.
y z
Рисунок 2
Доказательство. Покажем, что головоломка разрешима, и определим, какое наименьшее число перекладываний требуется для ее решения.
Прежде всего, обозначим имеющиеся три стержня
буквами x , y и z. После этого возможные действия можно
обозначать так:
где
означает «переложить кольцо со стержня a на
стержень b». Очевидно, нет необходимости указывать, ка-
— 150 —
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
