
- •Вопросы для подготовки к экзамену
- •Интуитивное определение алгоритма и вычислимой функции
- •Частично и примитивно рекурсивные функции
- •Вычислимость рекурсивных функций. Тезис Черча
- •Определение оператора подстановки, примеры применения
- •Определение оператора примитивной рекурсии, примеры применения
- •Определение оператора минимизации, примеры применения
- •Построение одноместных рекурсивных функций
- •Построение двухместных рекурсивных функций
- •Машины Тьюринга. Команды в виде четверок и в виде пятерок
- •Функции, вычислимые по Тьюрингу. Тезис Тьюринга
- •Одноместные функции, вычислимые по Тьюрингу
- •Двухместные функции, вычислимые по Тьюрингу
- •Машины с неограниченными регистрами
- •Нормальные алгоритмы Маркова
- •Машины Поста. Функции, вычислимые по Посту
- •Нумерация множества упорядоченных пар натуральных чисел
- •Нумерация машин Тьюринга и вычислимых функций
- •Существование функции, невычислимой по Тьюрингу
- •Разрешимые отношения: определение и примеры
- •Свойства дополнения, объединения и пересечения разрешимых функций
- •Неразрешимость проблемы остановки
- •Универсальные функции
- •Теорема о параметризации
- •Меры сложности алгоритмов
-
Универсальные функции
Сечением (n1)-местной функции f по (первой) переменной x называется n-местная функция fx, xN, такая, что для всех t1,…,tnN
fx(t1,…,tn)f(x,t1,…,tn).
Существует ли программа, которая вычисляла бы все функции? В некотором смысле такие программы существуют.
(n1)-местная функция u называется универсальной для класса C, состоящего из некоторых вычислимых n-местных функций, если:
1) xN uxC;
2) fC xN fux.
Иначе говоря, класс C будет задано перечислением функций вида ux:
Cu0,u1,…,ui,….
Существует вычислимая универсальная функция для класса всех вычислимых n-местных функций.
Теорема Клини о нормальной форме (без доказательства). Для каждого n0 существует нумерация без пробелов для всех n-местных вычислимых функций i(x1,…,xn), iN, такая, что:
1) (n1)-местная функция u, определенная равенством
u(i,x1,…,xn)i(x1,…,xn)
для всех i,x1,…,xnN, будет частично рекурсивной;
2) для каждого iN функция i(x1,…,xn) будет частично рекурсивной;
3) каждая частично рекурсивная функция совпадает с функцией i для некоторого индекса iN.
Теорема 1. Не существует примитивно рекурсивной (общерекурсивной) универсальной функции для класса всех n-местных примитивно рекурсивных (общерекурсивных) функций.
Доказательство. Допустим, что существует примитивно рекурсивная универсальная функции u(x,t1,…,tn) для класса всех n-местных примитивно рекурсивных функций. Тогда определим новую n-местную функцию следующим образом: для всех x,t1,…,tnN
g(t1,…,tn)u(t1,t1,…,tn)1.
Функция g примитивно рекурсивна, но отлична от каждой n-местной всех n-местных примитивно рекурсивных функций.
Отсюда и из теоремы 1 следует, что существует n-местная общерекурсивная, но не примитивно рекурсивная, функция.
-
Теорема о параметризации
Каждое из сечений fx, xN, вычислимой двухместной функции f является также вычислимой (одноместной) функцией. Значит, существует номер iN, такой, что fxi. Следующая теорема показывает, что номер i можно эффективно вычислить по x. Эта теорема называется теоремой о параметризации (или простой формой s-m-n-теоремы).
Теорема 1. Пусть f(x,t) – вычислимая функция. Тогда существует всюду определенная вычислимая функция k(x), такая, что fxk(x).
(Неформальное) доказательство. Пусть МНР Ta с программой F вычисляет функцию f. Определим МНР с новой программой:
команды |
конфигурации |
|
|
t000 |
|
I1 |
T(1,2) |
tt00 |
I2 |
Z(1) |
0t00 |
I3 |
S(1) |
1t00 |
I4 |
S(1) |
2t00 |
… |
… |
… |
Ix2 |
S(1) |
xt00 |
|
F |
f(x,t)… |
Пусть y – номер этой программы в эффективной нумерации программ МНР, т.е. построили МНР Ty. Определим: yk(x). Эта функция по построению эффективно вычислима. f(x,t)y(t)k(x)(t).
Теорема 1 может быть обобщена следующим образом (в так называемую s-m-n-теорему):
Теорема
2.
Пусть f(x1,…,xm,t1,…,tn)
–
вычислимая функция. Тогда существует
всюду определенная вычислимая функция
,
такая, что
.