
- •Основы теории алгоритмов и нумераций
- •Оглавление
- •Введение*
- •Глава 1. Рекурсивные и примитивно-рекурсивные функции
- •Обозначения
- •Примитивно рекурсивные функции
- •Примеры
- •Функции Аккермана
- •Примеры
- •Общерекурсивные и частично рекурсивные функции
- •Глава 2. Машины тьюринга
- •Определения
- •Табличноеиграфическоезадания машинТьюринга
- •Графическое представление
- •Табличное значение машины
- •Некоторые операции над машинами Тьюринга
- •Композиция машин Тьюринга
- •Разветвление машин Тьюринга
- •Универсальная машина Тьюринга
- •Тезис Черча. Связь рекурсивных функций с машинами Тьюринга
- •Примеры
- •Глава 3. Вычислимость и разрешимость
- •Обсуждение
- •Нумерации алгоритмов
- •Некоторые теоремы в теории алгоритмов.
- •Глава 4. Рекурсивные и рекурсивно перечислимые множества.
- •Характеристические функции множеств.
- •Рекурсивные и примитивно рекурсивные множества.
- •Рекурсивно перечислимые множества.
- •Основная теорема.
- •Примеры.
- •Глава 5. Основные нумерации в теории алгоритмов
- •Нумерация пар и-ок чисел.
- •Кодирование всех-ок.
- •Нумерация конечных множеств.
- •Нумерации Клини и Поста.
- •Нумерация семейства всех двухэлементных множеств.
- •Глава 6. Степени неразрешимости.
- •- Сводимость.
- •- Степени.
- •Теорема о редукции.
- •Примеры.
- •Глава 7. Нумерованные совокупности.
- •Нумерации множества.
- •Некоторые теоремы о нумерациях множеств
- •Глава 8. Приложения теории алгоритмов к разрешимости некоторых проблем.
- •Теорема Райса.
- •Разрешимость проблем распознавания и классификации.
- •Литература
- •Основы теории алгоритмов и нумераций.
Рекурсивно перечислимые множества.
Определение 1.
Множество
рекурсивно перечислимо, если или
или существует общерекурсивная функция
такая, что
есть множество значений функции
,
то есть,
.
На интуитивном уровне, множество рекурсивно перечислимо, если существует эффективная процедура для перечисления (возможно с повторениями) его элементов.
Непосредственная связь между рекурсивностью и рекурсивной перечислимостью устанавливается следующими теоремами.
Теорема 4.
- рекурсивно
- рекурсивно перечислимо.
Доказательство.
Случай 1.
.
Тогда
рекурсивно перечислимо по определению.
Случай 2.
- конечно и
.
Пусть
.
Определим
следующим образом:
Случай 3.
- бесконечно.
Пусть
— характеристическая функция множества
.
Определим
так:
В случаях 2 и 3
функция
общерекурсивна, согласно тезису Чёрча
и
.
Теорема 5.
рекурсивно
как
,
так и
рекурсивно перечислимы.
(=>) Следует
немедленно из теоремы 4, так как
рекурсивно
=>
рекурсивно.
(<=) Если
или
пусто, рекурсивность множества
очевидна.
Если ни одно из множеств
и
не пусто, то для некоторых общерекурсивных
функций
и
и
.
С привлечением функций
и
может быть описана рекурсивная процедура,
позволяющая распознавать принадлежность
числа
множеству
:
а именно, пусть на принадлежность
множеству
исследуется
.
Просматриваем по
очереди
,
,
,
,
…
Если
оказывается значением функции
,
то
,
если
,
то
.
На более интуитивном
уровне эта процедура может быть описана
следующим образам: одновременно
порождаются списки для множеств
и
;
в то же самое время осуществляется
зигзагообразный поиск
в двух списках. Когда-то
должно появиться. Список, в котором
появляется
,
определяет, принадлежит
множеству
или множеству
.
Обращение теоремы 4 места не имеет и, следовательно, согласно теореме 5 возможно рекурсивно перечислимое множество, дополнение которого рекурсивно перечислимым не является.
Таким будет
- креативное множество.
Основная теорема.
Следующая теорема выявляет еще одну особенность рекурсивной перечислимости. Это простой, но важный результат.
Теорема 6.
(основная
теорема о рекурсивно перечислимых
множествах).
- рекурсивно перечислимо
есть область определения частично
рекурсивной функции, то есть
.
Доказательство. (=>)
Случай 1.
.
Пусть
есть нигде не определенная частично
рекурсивная функция. Тогда
.
Случай 2.
. Тогда
есть множество значений некоторой
общерекурсивной функции
.
Зададим
следующими инструкциями: чтобы вычислить
,
порождайте множество значений функции
;
если и как только
появится во множестве значений
,
тотчас выдайте
на выход. Очевидно, что
частично рекурсивна и
.
(<=) Пусть
,
где
— частично рекурсивная функция. Определим
эффективную процедуру, которая будет
порождать
,
если
не пусто. Процедура осуществляется по
этапам.
Этап 1.
Выполните 1-й шаг в вычислении
.
Если процесс вычисления
завершается на первом шаге, поместите
“0” в список для
.
Этап n
+ 1. Выполните
по
шагу в вычислении
,
,
…,
.
Те
,
,
для которых
процесс вычисления
завершается на
-м
шаге или ранее, добавьте в список для
.
Теперь определим
следующим образом:
- первый элемент
пересчета;
Согласно тезису
Чёрча,
есть частично рекурсивная функция. Если
, то
рекурсивно перечислимо по определению.
Если
,
то по построению
всюду определена и
.
Таким образом, множество
— рекурсивно перечислимо.
Введем теперь в качестве имён рекурсивно перечислимых множеств индексы соответствующих частично рекурсивных функций.
Определение.
Будем называть
рекурсивно
перечислимым индексом
или гёделевым
номером рекурсивно перечислимого
множества
.
Заметим, что всякое рекурсивно перечислимое
множество имеет бесконечно много
рекурсивно перечислимых индексов. Из
доказательстватеоремы
3 вытекает:
Следствие 1.
A
рекурсивно перечислимо
есть множество значений частично
рекурсивной функции (т.е.
)
Доказательство (=>).
Случай 1. Аналогичен соответствующему случаю в доказательстве теоремы.
Случай 2.
Функция
,
построенная при доказательстве теоремы,
пригодна и здесь, так как
.
(<=) Как и прежде,
за тем лишь исключением, что теперь к
ранее образованному списку для
добавляются по этапам не входы, а выходы.
Итак,
есть область определения частично
рекурсивной функции тогда и только
тогда, когда
есть множество значений частично
рекурсивной функции. Приведем следствие,
выражающее этот факт в более сильной
форме.
Следствие 2.
Существуют общерекурсивные функции
и
,
такие, что для всех
:
Доказательство.
Установим существование функции
. Для любого данногоx
определим:
Очевидно, что
.
Так как инструкции для
зависят от
равномерно эффективным образом, то
для некоторой общерекурсивной функции
.
Установим
существование функции
.
Пусть дан
,
зададим порождающую процедуру, подобную
процедуре, описанной при доказательстве
теоремы 3, но отличающуюся от нее тем,
что перечисляются выходы, а не входы, и
ещё тем, что роль
теперь играют
.
Определим
Очевидно, что
.
Так как инструкции для
равномерно эффективно зависят от
,
то
для некоторой общерекурсивной функции
.
Теорема 6 даёт
действенный метод, позволяющий
устанавливать рекурсивную перечислимость.
Докажем, что множество
рекурсивно перечислимо. Дадим сначала
этому множеству специальное имя.
Определение.
.
Отныне буква
будет служить именем этого множества.
Теорема 7.
Существует рекурсивно перечислимое,
но не рекурсивное множество, и
является таковым.
Доказательство. Положим:
Очевидно, что
функция
частично рекурсивна и
.
Следовательно, согласно теореме 6,
множество
рекурсивно
перечислимо.
Докажем, что
не
рекурсивно.
Предположим
противное. По теореме 5
для некоторого
.
Тогда
по определению
,
однако
в силу выбора
.
Полученное противоречие показывает,
что
не может быть рекурсивным.
Teopeмa 8.
Если
частично рекурсивно и
рекурсивно перечислимо, то
рекурсивно перечислимо.