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

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

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