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