Лекция 10. Несчетность множества частичных арифметических функций. Вычислимые

advertisement
Лекция 10.
Несчетность множества частичных арифметических функций. Вычислимые
частичные арифметические функции и их эффективное перечисление.
Невычислимые частичные функции. Теорема Черча.
Частичная арифметическая функция (ЧАФ)– это функция, определенная на некотором
подмножестве множества натуральных чисел и принимающая значения из всего
множества натуральных чисел.
Пример:
1) f(n) = n – 1 : {1, 2, …}  N;
2) f(n) = 1 – n : {0, 1}  {0, 1}.
2 крайних случая множества частичных арифметических функций f(n): M  N:
1) M = N  M  N. Все остальные частичные арифметические функции имеют точки
неопределенности;
2) Нигде неопределенные функции от некоторого числа переменных. M = .
f(n) = 0 – (n + 1).
Несчетность множества частичных арифметических функций.
Теорема. Множество частичных арифметических функций несчетно.
Док-во. Поскольку множество АФ есть подмножество ЧАФ, и множество АФ несчетно,
то и множество ЧАФ также несчетно.
Эффективная перечислимость вычислимых частичных функций.
Частичная вычислимая арифметическая функция (ЧВАФ)– это функция, для которой
существует алгоритм вычисления ее значения в любой точке определенности.
Теорема. Множество частичных вычислимых арифметических функций эффективно
перечислимо.
Док-во.
Рассмотрим произвольную функцию F(x) принадлежащую мн-ву ВЧАФ. Раз функция
вычислима – значит ее можно вычислить на машине Тьюринга Тf. Пусть на входной ленте
будет записан параметр функции x в унарном коде: | | | … |. Результат вычисления –
значение f(x) также выдается в унарном коде: | | | … |. Если для данного x такой результат
получен, значит в точке х функция определена. Однако, если:
1) машина испортила исходный параметр
2) машина не остановилась;
3) машина напечатала нечитаемый результат,
то будем считать, что в данной точке х функция f(x) не определена.
Если именно так интерпретировать «неудобное» для нас поведение конкретной машины
Тьюринга, то тогда можно утверждать что любая машина Тьюринга вычисляет какуюнибудь ВЧАФ. Даже если машина работает по совершенно непохожему на вычисления
алгоритму, например стирает любое слово на ленте, то мы просто считаем что функция,
которую вычисляет машина, вообще нигде не определена.
С другой стороны, для вычисления одной и той же функции может существовать
несколько алгоритмов. Т.о. любой ВЧАФ может соответствовать несколько машин
Тьюринга.
Рассмотрим множество машин Тьюринга. Они эффективно перечислимы. Перечислим их,
попутно т.о. перечисляя все ВЧАФы, правда, возможно, некоторые ВЧАФ мы укажем
несколько раз.
Невозможность эффективного распознавания вычислимых арифметических
функций среди вычислимых частичных арифметических функций.
Теорема.
Невозможно эффективно распознать вычислимые арифметические
функции среди вычислимых частичных арифметических функций..
По сути это означает, что не существует алгоритма, по которому можно распознать
является ли вычислимая частичная арифметическая функция вычислимой
арифметической функцией. Действительно, для того чтобы понять является ли ВЧАФ
всюду определенной, нам пришлось бы вычислить ее для всех натуральных чисел, «что
под силу лишь бесконечному разуму».
Док-во.
1. По теореме Поста (применительно к множествам ВАФ и ВЧАФ) множество ВАФ
эффективно распознается в ВЧАФ тогда и только тогда, когда ВАФ эффективно
перечислимо и ВЧАФ\ВАФ эффективно перечислимо.
2. Методом «от противного»: пусть ВАФ можно эффективно распознать в ВЧАФ. Тогда
ВАФ эффективно перечислимо, а это противоречит теореме Тьюринга (по теореме
Тьюринга ВАФ не перечислимо эффективно).
3. Полученное противоречие доказывает теорему.
Теорема
Черча
(невозможность
эффективного
неопределенности вычислимой частичной функции).
распознавания
точек
Теорема. Невозможно эффективно распознать точки неопределенности вычислимой
частичной арифметической функции.
Это означает что не существует алгоритма, по которому для произвольной ВЧАФ можно
определить все точки неопределенности. Действительно, для того, чтобы распознать даже
одну точку неопределенности нам бы пришлось ждать результата работы алгоритма
вычисления функции сколь угодно долго (до тех пор пока не будет посчитано значение
функции, чего может и вовсе не случится, если это точка неопределенности), «что под
силу лишь бесконечному разуму».
Док-во.
1. Поскольку множество ВЧАФ n переменных эффективно перечислимо, то перечислим
их:
f1(x1, ..., xn),
f2(x1, ..., xn),
...
2. Составим диагональную функцию
0, если fx1 (x1, ..., xn) не определена
не определена, если fx1(x1, ..., xn) определена
g(x1,...,xn)= 
Видно, что ЧАФ g отлична от всех перечисленных функций.
3. Далее рассуждаем методом «от противного». Предположим, что теорема Черча не
верна и существует алгоритм эффективного распознавания точек неопределенности.
Тогда g становится вычислимой функцией, то есть ВЧАФ, а значит она должна была
попасть в перечисление множества ВЧАФ n переменных. Однако по построению g
отлична от всех перечисленных функций, т.е. в перечислении ее нет.
4. Получили противоречие. Значит предположение неверно, что доказывает теорему
Черча.
Download