Опубликован: 16.03.2007 | Доступ: свободный | Студентов: 531 / 43 | Оценка: 4.45 / 4.18 | Длительность: 15:50:00
Специальности: Программист, Математик
Лекция 1:

Вычислимость, разрешимость и перечислимость

Лекция 1: 12 || Лекция 2 >

Перечислимые и разрешимые множества

Теорема 2. Всякое разрешимое множество натуральных чисел перечислимо. Если множество A и его дополнение (до множества всех натуральных чисел) перечислимы, то A разрешимо.

Если принадлежность числа к множеству A можно проверить некоторым алгоритмом, то A и его дополнение перечислимы: надо по очереди проверять принадлежность чисел 0,1,2,... и печатать те из них, которые принадлежат A (или те, которые не принадлежат A ).

В другую сторону: если у нас есть алгоритм, перечисляющий A, а также другой алгоритм, перечисляющий дополнение к A, то для выяснения принадлежности заданного числа n к A надо запустить оба эти алгоритма и ждать, пока один из них напечатает n (мы знаем, что рано или поздно ровно один из них это сделает). Посмотрев, какой алгоритм это сделал, мы узнаем, лежит ли n в A.

Этот факт называют теоремой Поста

Она говорит, что разрешимые множества это перечислимые множества с перечислимыми дополнениями. Напротив, перечислимые множества можно определить через разрешимые:

Теорема 3. Множество P натуральных чисел перечислимо тогда и только тогда, когда оно является проекцией некоторого разрешимого множества Q пар натуральных чисел. (Проекция получается, если от пар оставить их первые компоненты: x\hm\in P \hm\Leftrightarrow \exists y (\langle x,y\rangle \hm\in Q).)

Проекция любого перечислимого множества перечислима (перечисляющий алгоритм должен лишь удалять вторые члены пар), так что проекция разрешимого множества тем более перечислима.

Напротив, если P перечислимое множество, перечисляемое алгоритмом A, то оно есть проекция разрешимого множества Q, состоящего из всех таких пар \langle x,n\rangle, что x появляется в течении первых n шагов работы алгоритма A. (Это свойство, очевидно, разрешимо.)

Перечислимость и вычислимость

Мы видели, что перечислимое множество можно определить в терминах вычислимых функций (например, как область определения вычислимой функции). Можно сделать и наоборот:

Теорема 4. Функция f с натуральными аргументами и значениями вычислима тогда и только тогда, когда ее график

F=\{\langle x, y\rangle \mid \text{$f(x)$ определено и равно $y$}\}

является перечислимым множеством пар натуральных чисел.

Пусть f вычислима. Тогда существует алгоритм, перечисляющий ее область определения, то есть печатающий все x, на которых f определена. Если теперь для каждого из таких x вычислять еще и значение f(x), получим алгоритм, перечисляющий множество F.

Напротив, если имеется алгоритм, перечисляющий F, то функция f вычисляется таким алгоритмом: имея на входе n, ждем появления в F пары, первый член которой равен n ; как только такая пара появилась, печатаем ее второй член и кончаем работу.

Пусть f частичная функция с натуральными аргументами и значениями. Образ множества A при f определяется как множество всех чисел f(n), для которых n \in  A и f(n) определено. Прообраз множества A при f определяется как множество всех тех n, при которых f(n) определено и принадлежит A.

Теорема 5. Прообраз и образ перечислимого множества при вычислимой функции перечислимы.

В самом деле, прообраз перечислимого множества A при вычислимой функции f можно получить так: взять график f, пересечь его с перечислимым множеством N x A и спроектировать на первую координату. Рассуждение для образов аналогично, только координаты меняются местами.

  7. Пусть F перечислимое множество пар натуральных чисел. Докажите. что существует вычислимая функция f, определенная на тех и только тех x, для которых найдется y, при котором \langle x,y\rangle\hm\in F, причем значение f(x) является одним из таких y. (Это утверждение называют иногда теоремой об униформизации.)

  8. Даны два пересекающихся перечислимых множества X и Y. Докажите, что найдутся непересекающиеся перечислимые множества X' \subset  X и Y' \subset  Y, для которых X' \cup  Y' = X \cup  Y.

  9. Диофантовым называется уравнение, имеющее вид P(x1,...,xn)=0, где P многочлен с целыми коэффициентами. Докажите, что множество диофантовых уравнений, имеющих целые решения, перечислимо. (Оно неразрешимо: в этом состоит известный результат Ю.В.Матиясевича, явившийся решением знаменитой " 10-й проблемы Гильберта".)

  10. Не ссылаясь на доказательство теоремы Ферма, покажите, что множество всех показателей n, для которых существует решение уравнения xn + yn = zn в целых положительных числах, перечислимо. (Как теперь известно, это множество содержит лишь числа 1 и 2.)

  11. Покажите, что всякое бесконечное перечислимое множество можно записать в виде {a(0), a(1), a(2),...}, где a вычислимая функция, все значения которой различны. (Указание: в ходе перечисления удаляем повторения.)

  12. Покажите, что всякое бесконечное перечислимое множество содержит бесконечное разрешимое подмножество. (Указание: воспользуемся предыдущей задачей и выберем возрастающую подпоследовательность.)

  13. Покажите, что для всякой вычислимой функции f существует вычислимая функция, являющаяся " псевдообратной " к f в следующем смысле: область определения g совпадает с областью значений f, и при этом f(g(f(x)))=f(x) для всех x, при которых f(x) определено.

  14. Действительное число \alpha называется вычислимым, если существует вычислимая функция a, которая по любому рациональному \varepsilon  > 0 дает рациональное приближение к \alpha с ошибкой не более \varepsilon, т.е. |\alpha  - a(\varepsilon )| <= \varepsilon для любого рационального \varepsilon  > 0. (Рациональное число является конструктивным объектом, так что понятие вычислимости не требует специального уточнения.)

  • Докажите, что число \alpha вычислимо тогда и только тогда, когда множество рациональных чисел, меньших \alpha, разрешимо.
  • Докажите, что число \alpha вычислимо тогда и только тогда, когда последовательность знаков представляющей его десятичной (или двоичной) дроби вычислима.
  • Докажите, что число \alpha вычислимо тогда и только тогда, когда существует вычислимая последовательность рациональных чисел, вычислимо сходящаяся к \alpha (последнее означает, что можно алгоритмически указать N по \varepsilon в стандартном \varepsilon - N -определении сходимости.)
  • Покажите, что сумма, произведение, разность и частное вычислимых действительных чисел вычислимы. Покажите, что корень многочлена с вычислимыми коэффициентами вычислим.
  • Сформулируйте и докажите утверждение о том, что предел вычислимо сходящейся последовательности вычислимых действительных чисел вычислим.
  • Действительное число \alpha называют перечислимым снизу, если множество всех рациональных чисел, меньших \alpha, перечислимо. (Перечислимость сверху определяется аналогично.) Докажите, что число \alpha перечислимо снизу тогда и только тогда, когда оно является пределом некоторой вычислимой возрастающей последовательности рациональных чисел.
  • Докажите, что действительное число вычислимо тогда и только тогда, когда оно перечислимо снизу и сверху.

Дальнейшие свойства вычислимых действительных чисел см. в задаче 23.

Лекция 1: 12 || Лекция 2 >