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

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

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
3.5. Иерархия множеств и структура класса вычислимых функций
( ) ( )
( )
( )
, ,,
K
ОРФ
KKK
ПРФ ОРФ ЧРФ
KKK
ПРФ ОРФ ЧРФ
KKK
ПРФ ОРФ ЧРФ
fN N→
Тогда
F kx F g t x G tx= = .
Таким образом, G — общерекурсивная универсальная функция для класса n-местных общерекурсивных функ­ций, что противоречит ранее доказанному факту: класс
не имеет общерекурсивной универсальной функции.
Теорема 3.16.
1) Существует счетное множество примитивно рекур­сивных функций, общерекурсивных функций, частично рекурсивных функций.
2) Существует множество мощности континуум ариф­метических функций, не являющихся частично рекурсив­ными.
Доказательство
1) Для каждого фиксированного n, n = 1, 2 … , есть
простая нумерация всех n-местных частично рекурсивных функций:
n=1: n=2:
11 1
, ,...,
φφ φ
0 1 ,... 22 2
, ,...,
φφ φ
0 1 ,...
m
m
… n=k:
kk k
, ,..., ,...
φφ φ
01
m
…
Отсюда очевидно, что множество всех частично рекур­сивных функций счетно, как счетная совокупность счет­ных множеств. Так как известно, что
,
то мощность классов
,
не более чем счетна, но она и не менее, чем счетна, так как в эти классы входят, напри­мер, все функции-константы.
Таким образом, мощность классов
,
также
счетна.
2) Рассмотрим сначала арифметические функции од-
ного переменного: :
.
— 121 —
Глава 3. РЕКУРСИВНЫЕ И РЕКУРСИВНО ПЕРЕЧИСЛИМЫЕ МНОЖЕСТВА
HK∈
1
0
HK
ЧРФ
NN⊂
xN
xN
2
1 ЧРФ
K
Обозначим класс таких функций через К и выясним,
какова мощность этого класса функций.
Очевидно, класс К содержит в себе, среди прочих, и функции всюду определенные. Но не являющиеся частич­но рекурсивными (например, характеристическая функ­ция множества Е0
E
, но
0
E
). Оказывается, таких функций значительно больше, чем частично рекур­сивных; их множество имеет мощность континуум.
Покажем это.
Возьмем произвольное подмножество натурального ряда цию
и определим его характеристическую функ-
1
1, ,
∈
=
fx
()
∉
0, .
1
Установим взаимно однозначное соответствие между всеми подмножествами N и соответствующими характери­стическими функциями. Так как всех подмножеств мно-
K
жества натуральных чисел
0
, т.е. таких функций ровно континуум, то функций, которые принадлежат классу К, но не принадлежат
, не менее, чем континуум.
Покажем, что одноместных арифметических функций не более, чем континуум. Каждую такую функцию можно представить в виде множества пар
{( , ) | , ( ).
xy x D y fxΓ= ∈ =
f
Таким образом, одноместных арифметических функ­ций не более, чем всевозможных подмножеств счетного множества 2N , т.е. не более чем континуум, класс одно­местных арифметических функций имеет мощность кон­тинуум.
Аналогично для любого натурального числа n>1 мож­но показать, что мощность класса
n
n-местных арифме-
тических функций не более, чем континуум — 1K .
Тогда мощность класса арифметических функций рав­на 1K и, так как все уже доказано, что класс К
— счетный,
ЧРФ
— 122 —
3.5. Иерархия множеств и структура класса вычислимых функций
φ
= φ
′′
{ }
то получаем утверждение теоремы: мощность множества арифметических функций, не являющихся частично ре­курсивными, континуально. Теорема доказана.
Рассмотрим простую нумерацию машин Тьюринга
, ,..., ,...
MM M и соответствующую ей нумерацию ча-
12
стично рекурсивных функций: что машина М1 вычисляет функцию
n
, ,..., ,...
φφ φ (т.е. таких,
12
n
).
1
Возникает вопрос: сколько раз произвольная фиксиро­ванная частично рекурсивная функция встречается в рас­сматриваемой последовательности функций? (Другими словами, сколько номеров имеет данная функция?)
Теорема 3.17. Любая частично рекурсивная функция имеет счетное множество своих номеров.
Доказательство. Пусть задана произвольно частично рекурсивная функция f. Тогда существует номер n этой функции в нумерации всех частично рекурсивных функ­ций:
.
f
n
Рассмотрим программу машины Мn. В ячейках этой программы указаны команды вида a Rq
, где состояние q′
принадлежит множеству состояний
Q qq q=
, ,...,
01
m
данной машины.
Таблица 16
Q A
a
0
a
1
… … a
n
q
1
q
2
…
q
m
q
m+1
a0Hq
a0Hq
0
0
— 123 —
…. … a0Hq
0
Глава 3. РЕКУРСИВНЫЕ И РЕКУРСИВНО ПЕРЕЧИСЛИМЫЕ МНОЖЕСТВА
M
′
M
′
nn
′
>
φ=φ =
Изменим программу и построим новую машину следующим образом: включим новое состояние q жество состояний
, и в соответствующих ячейках маши-
в мно-
m+1
ны запишем любые команды, например, a0Hq0 (см. таб. 17).
В результате получим программу машины с некото­рым номером
. Но очевидно, что машина Тьюринга
Мn вычисляет ту же функцию, что и машина Мn, т.е. функ­цию f и
nn
f
.
′
Аналогично можно построить бесконечную последова­тельность номеров функции f, добавляя новые состояния
q
, q
m+2
, … .
m+1
Таких машин и соответствующих им номеров будет не более, чем счетна.
Контрольные вопросы
1. Что такое рекурсивное множество?
2. Чем отличается рекурсивное множество от рекур-
сивно-перечислимого?
3. Приведите примеры рекурсивно-перечислимых
множеств.
4. Приведите примеры рекурсивных множеств.
5. Что такое характеристическая функция множе-
ства E?
6. Приведите доказательство теоремы Е. Поста о ре-
курсивности множеств.
7. Объясните смысл выражения «множество рекур-
сивно перечислимо в порядке возрастания».
8. Является ли бесконечное множества рекурсивным?
9. В чем заключается тезис Черча?
10. Что такое универсальная функция?
11. Приведите примеры универсальных функций.
12. В чем заключается идея нумерации конструктив-
ных объектов?
13. Приведите примеры нерекурсивно перечислимые
множеств.
— 124 —
Практические задания
Практические задания
1. Установите взаимно-однозначное соответствие меж­ду классами арифметических подмножеств nN и n-мест­ных арифметических предикатов.
Указание. Используйте понятие предиката вхож­дения в множество и понятие множества истинности пре­диката.
2. Как связаны между собой понятия:
а) рекурсивного множества и разрешимого множества;
б) рекурсивного предиката и разрешимого предиката?
3. Являются ли рекурсивными следующие множества
(ответ обосновать):
а) пустое множество ∅;
б) множество натуральных чисел N;
в) множество четных чисел;
г) множество простых чисел;
д) множество пар взаимно простых чисел;
е) множество пар чисел, первое из которых является делителем второго;
ж) конечное множество, заданное списком {a
4. Всякое ли подмножество N является рекурсивным?
Разрешимым?
Указание. Используйте соображение из теории мощностей.
5. Относительно каких теоретико-множествен­ных операций замкнут класс разрешимых множеств? Рекурсивных множеств PM
(n)
?
Относительно каких логических операций замкнут
класс разрешимых предикатов? Рекурсивных предикатов
(n)
PП
?
6. Пусть алгоритм, разрешающий множество E1,
— алгоритм, разрешающий множество E2. Построить
разрешающие алгоритмы для множеств:
,…,an}?
1
— 125 —
Глава 3. РЕКУРСИВНЫЕ И РЕКУРСИВНО ПЕРЕЧИСЛИМЫЕ МНОЖЕСТВА
12
12
1
)
EE
EE
а б в
12
12
)
EE
EE
а
б
)
) C
E
7. Как связаны между собой интуитивное понятие пе­речислимого множества и точное понятие рекурсивно пе­речислимого множества?
8. Пусть А — произвольный алфавит. Докажите пере­числимость множества W(A) всех слов в алфавите А.
9. Как связаны понятия:
а) рекурсивного множества и рекурсивно перечисли-
мого множества;
б) разрешимого множества и перечислимого множе-
ства?
Указание. Покажите, что для всякого непустого разрешимого множества Е по алгоритму , разрешающе­му Е, можно построить алгоритм , перечисляющий Е. Выясните, верно ли обратное?
10. Докажите, что всякое разрешимое подмножество
перечислимого множество является перечислимым.
11. Докажите, что линейное множество Е перечисли­мо в порядке строгого возрастания тогда и только тогда, когда Е — бесконечное разрешимое подмножество N.
12. Относительно каких операций замкнут
а) класс перечислимых множеств? б) класс перечислимых предикатов? в) класс РПМ г) класс РПП
(n)
(n)
?
?
13. Пусть — алгоритм, перечисляющий множе­ство E1, — алгоритм, перечисляющий множество E2. Постройте перечисляющие алгоритмы для множеств:
)
— 126 —
Практические задания
( )
( )
{ }
( ) ( )
fx f x
( ) ( )
{ }
M fx f xx N
( )
[ ]
∀≥
Всегда ли можно построить алгоритм, перечисляю-
щий СE1.
14. Докажите, что всякое бесконечное рекурсивно пе­речислимое множество содержит в качестве подмножества бесконечное рекурсивное множество.
15. Докажите, что существует множество, не являю­щееся рекурсивно перечислимым.
16. Докажите, что любое конечное множество нату­ральных чисел рекурсивно.
17. Покажите, что множество n-ок рекурсивно тогда и только тогда, когда его характеристическая функция об­щерекурсивна.
18. Пусть множества А и B отличаются конечным чис­лом элементов. Докажите, что:
а) если А рекурсивно, то B рекурсивно, б) если А рекурсивно перечислимо, то B рекурсивно
перечислимо.
19. Пусть M⊆N — непустое множество. Докажите, что M рекурсивно перечислимо тогда и только тогда, когда существует примитивно рекурсивная функция что
20. Пусть М — непустое множество n-ок. Докажите, что
множество М рекурсивно перечислимо тогда и только тогда, когда существуют одноместные примитивно рекурсивные функции
21. Пусть общерекурсивная функция f(x) удовлетво­ряет условию: f(x)≥x для всех x∈N. Докажите, что область значений
22. Покажите, что если функции f общерекурсивна, то функция g общерекурсивна и взаимно однозначна, мно­жество значений функции g рекурсивно и то множество значений функции f рекурсивно.
|M fx x N= ∈ .
,...,
1
Valf x функции f рекурсивна.
n
такие, что
= ∈ .
1
()x f(x) g(x)
fx такая,
,..., |
n
,
— 127 —
Глава 4.
АЛГОРИТМИЧЕСКИЕ ПРОБЛЕМЫ
Во введении мы уже касались так называемых массо­вых проблем, т.е. таких проблем, где требуется найти алго­ритм, с помощью которого можно было бы решить любую задачу из данного бесконечного класса однозначных задач.
Помимо примеров, приведенных во введении, мож­но было бы перечислить целый ряд проблем, для каждой из которых существует алгоритм (и дано его описание в явном виде), положительно ее решающий. Фактически, до того как были получены первые результаты о неразре­шимости алгоритмических проблем, в математике в ос­новном накапливались примеры положительных реше­ний.
Но уже доказательство первого результата о неразре­шимости такой фундаментальной алгоритмической про­блемы, как проблемы общезначимости для исчисления предикатов, потребовало введения А. Черчем, С. Клини и другими математиками целого ряда новых понятий и из­учения свойств этих понятий.
В итоге многие из этих понятий получили самостоя­тельное значение, причем, по ходу развития аппарата те­ории алгоритмов в ней были выделены проблемы, являю­щиеся ключевыми для решения целого ряда классических задач математической логики, алгебры, математического анализа и др.
— 128 —
4.1. Проблема самоприменимости
()
x
( )
()
x
()
x
()
( )
()
К числу ключевых проблем относятся следующие: са-
моприменимости, остановки и общерекурсивности.
Доказательство алгоритмических проблем приводит-
ся в терминах вычислений на машинах Тьюринга.
Прежде чем перейти к необходимым определениям, еще раз подчеркнем, что выявление круга неразрешимых проблем позволяет четко обозначить пределы вычисли­тельных возможностей алгоритмов и освобождает в ряде случаев исследователей от бесполезного поиска решающих процедур там, где их в природе просто не существует.
4.1. Проблема самоприменимости
Определение. Говорят, что машина Тьюринга М при- меняется ко входу у, если М находится в начальной стан­дартной конфигурации, когда на ленте записано натураль­ное число у в некотором наперед заданном кодировании.
Определение. Говорят, что шина Тьюринга с номером x у и через конечное число шагов работы вычисляет значение
yφ. В противном случае говорят, что
Перечислим следующие важные алгоритмические проблемы.
1. Проблема самоприменимости:
существует ли алгоритм, позволяющий по произвольно­му натуральному числу х отвечать на вопрос: сходится ли
yφ?
x
yφ сходится, если ма-
M применяется ко входу
x
yφ расходится.
2. Проблема остановки:
существует ли алгоритм, позволяющий по произвольной паре натуральных чисел дится ли
x
yφ?
,xy отвечать на вопрос: схо-
— 129 —
Глава 4. АЛГОРИТМИЧЕСКИЕ ПРОБЛЕМЫ
x
φ
1, ()
g
 
если
сходится,
y
()
1,

если
– n-местная общерекурсивная функция,
()gx
1.
x

1, g()0,если
()
ψ
xx=
3. Проблема общерекурсивности:
существует ли алгоритм, позволяющий по произвольно­му натуральному числу х отвечать на вопрос: является ли n-местная функция
общерекурсивной (n∈N)?
Согласно тезису Черча, эти проблемы можно перефор-
мулировать в эквивалентной форме:
1. Существует ли общерекурсивная функция g0 такая,
что
0
если
0, ()
x
y
x
расходится?
2. Существует ли общерекурсивная функция g от двух
переменных, которая определяется следующим образом:
если
(,)gxy
1, ()
если
0, ()
3. Существует ли общерекурсивная функция
y
x
y
x
сходится, расходится?
xτ та-
кая, что
()
x
в противном случае?
0,
x
Tеорема 4.1. Проблемы 1-3 алгоритмически неразре-
шимы.
Доказательство.
1) Предположим, что проблема самоприменимости
разрешима, т.е. существует общерекурсивная функция
.
0
Рассмотрим функцию
0
()
gx
0
Функция
тельно, пусть
()
x
расходится, если
алгоритмически вычислима. Действи-
x
. Вычисляем g(x0), так как функция
0
g(x) общерекурсивна, то, согласно тезису Черча, существу­ет алгоритм для ее вычисления.
— 130 —
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]