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