Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по теории алгоритмов.doc
Скачиваний:
68
Добавлен:
27.05.2015
Размер:
2.89 Mб
Скачать

1. Нумерации

Определение 7.1.1. Всюду определенное отображение : NF область значения, которого есть все множество F, называют нумерацией (натуральной нумерацией) множества F. При этом, если (n)=f, то n – номер объекта f F.

Пример 7.1.1. Всякая универсальная функция двух аргументов для класса вычислимых функций одного аргумента задает нумерацию этого класса.

Определение 7.1.2. Нумерации, соответствующие главным универсальным функциям, называют главными или геделевыми.

Теорема 7.1.1. Пусть Uглавная универсальная функция. Тогда множество тех n, при которых Un является нигде не определенной, неразрешимо.

Доказательство. Пусть K – перечислимое неразрешимое множество. Рассмотрим вычислимую функцию

Так как Uглавная универсальная функция, то существует вычислимая всюду определенная функция s(n), значением которой при nK является U-номер нигде не определенной функции.

Предположим теперь, что множество U-номеров нигде не определенной функции разрешимо. В этом случае разрешимым оказывается и множество K, что приводит к противоречию.

Следствие. Нигде не определенная функция в любой главной нумерации имеет бесконечно много номеров.

Следствие. Множество номеров нигде не определенной функции не только не разрешимо, но и не перечислимо.

Пример 7.1.2 ( вычислимой универсальной функции, не являющейся главной)

Пусть U(n, x) – произвольная вычислимая универсальная функция, D – множество U-номеров всех функций с непустой областью определения. Пусть d – всюду определенная вычислимая функция, перечисляющая множество D (то есть D={d(0), d(1), …}). Рассмотрим функцию V(i, x), для которой V(0, x) не определена при всех x, а V(i+1, x)=U(d(i), x). Функция V(i, x) вычислима, она универсальна по построению, и единственным Vномером нигде не определенной функции является число 0.

Существуют и другие нумерации. Например, можно построить универсальную вычислимую функцию, для которой каждая вычислимая функция будет иметь ровно один номер (теорема Фридберга). Соответствующие нумерации называют однозначными. Главными эти нумерации быть, очевидно, не могут.

Теорема 7.1.2. (Успенского-Райса). Пусть F – класс вычислимых функций одного аргумента, AF (A, AF). Uглавная универсальная функция для F. Тогда множество {n: UnA} – неразрешимо.

Доказательство. Пусть K – перечислимое неразрешимое множество. Без ограничения общности можно считать, что нигде не определенная функция A. Обозначим через произвольную функцию, не принадлежащую A (A)1.

Положим

Вычислимая функция V(n, x) при nK совпадает с . При nKс функцией . При этом предположение о разрешимости множества {n: UnA} влечет за собой утверждение о том, что множество К разрешимо. Полученное противоречие доказывает теорему.

Теорема доказана.

Согласно иной интерпретации теоремы Успенского-Райса можно говорить о том, что по U-номеру вычислимой функции f в главной нумерации нельзя определить обладает ли эта функция некоторым нетривиальным свойством A2.

По теореме Успенского-Райса в любой главной нумерации множество номеров любой конкретной функции неразрешимо и потому бесконечно. Справедливо и более сильное утверждение – по номеру любой функции в главной нумерации можно алгоритмически получить бесконечное число других номеров той же функции. Справедлива следующая теорема.

Теорема 7.1.3. Пусть Uглавная универсальная функция. Тогда существует такая всюду определенная функция g(i, x), что для любого i числа g(i, 0), g(i, 1),… образуют последовательность различных U-номеров функции Ui.

Теорема 7.1.4. (об изоморфизме главных нумераций). Пусть U1, U2главные универсальные функции для класса вычислимых функций одного аргумента. Тогда существуют две всюду определенные взаимно обратные вычислимые функции s12, s21 для которых

U1(n, x)=U2(s12(n), x) и U2(n, x)=U1(s21(n), x).

Доказательство. Укажем алгоритм построения биекции между числами ai и bi, считая, что для каждого i числа ai и bi,– номера одной и той же функции (ai в U1, bi в U2).

На каждом шаге построения к соответствиям вида a1b1, a2b2, …, ak-1bk-1 добавляем пару akbk следующим образом.

На четном шаге выбирается наименьшее натуральное число u, не встречающееся в {a1, a2, …, ak-1}. В нумерации U1 число uномер некоторой функции f. Так как нумерация U2 главная, то, согласно предыдущей теореме отыщется число v{b1, b2, …, bk-1}, которое будет номером функции f в нумерации U2. Тогда, полагая ak=u, bk=v, получим следующую пару нашего соответствия.

На нечетном шаге выбирается наименьшее натуральное число v{b1, b2, …, bk-1}, по которому определяется функция g, имеющая в нумерации U2 номер v. Далее по функции g отыскивается ее номер u в нумерации U1, не встречающийся в {a1, a2, …, ak-1}. Полагая ak=u, bk=v, получим следующую пару нашего соответствия.

При реализации этого алгоритма с обеих сторон будут включены все натуральные числа, причем построенное соответствие будет вычислимым.

Теорема доказана.

Определение 7.1.3. Функция с натуральными аргументами и значениями, имеющая конечную область определения, называется образцом.

Если t – некоторый образец, то через (t) обозначим множество всех вычислимых функций, являющихся продолжениями t. Пусть далее Т – произвольное множество образцов, (Т) – множество всех вычислимых функций, которые продолжают хотя бы один образец из Т ().

Теорема 7.1.5. Пусть Т – произвольное перечислимое множество образцов, U – вычислимая универсальная функция для класса вычислимых функций одного аргумента. Тогда множество всех U-номеров всех функций из (Т) перечислимо.

Теорема 7.1.6. Пусть U – главная универсальная функция для класса вычислимых функций одного аргумента. Пусть G – некоторое подмножество этого класса. Если множество {n: Un G} перечислимо, то G=(Т) для некоторого перечислимого множества образцов Т.