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

m-сводимость и свойства перечислимых множеств

< Лекция 5 || Лекция 6: 1234 || Лекция 7 >

m-полнота и эффективная неперечислимость

Теория алгоритмов позволяет, как говорят, "конструктивизировать" различные определения. В качестве примера возьмем определение бесконечного множества. Что такое бесконечное множество? Это множество, которое содержит не менее n элементов для любого натурального n. Теперь можно сказать так: множество называется " эффективно бесконечным", если существует алгоритм, который по любому n указывает n различных элементов этого множества.

  48. Покажите, что произвольное множество A является эффективно бесконечным тогда и только тогда, когда оно содержит бесконечное перечислимое множество (е бесконечно, но не является иммунным).

Сейчас нас будет интересовать эффективный вариант понятия неперечислимости. Что значит, что множество A неперечислимо? Это означает (трюизм), что A отличается от любого перечислимого множества. Естественно называть множество A эффективно неперечислимым, если по любому перечислимому множеству можно указать место, где оно отличается от A.

Более формально, зафиксируем некоторое главное универсальное перечислимое множество W (и тем самым нумерацию перечислимых множеств: число n мы считаем номером множества Wn ). Будем говорить, что множество A является эффективно неперечислимым, если существует такая всюду определенная вычислимая функция f, что f(z) \in  A \bigtriangleup Wz при всех z. (Здесь \bigtriangleup означает симметрическую разность; другими словами, f(z) является точкой, где A отличается от Wz.)

Заметим, что это свойство не зависит от выбора главного универсального множества, так как от номеров относительно одного такого множества можно эффективно переходить к номерам относительно другого.

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

Теорема 34. Если A <=m B и A эффективно неперечислимо, то и B эффективно неперечислимо.

Эта теорема является "эффективным вариантом" теоремы 31, часть (б). То же самое можно сказать и о ее доказательстве. Пусть мы хотим найти точку, в которой B отличается от некоторого перечислимого множества X. Рассмотрим функцию f, которая m -сводит A к B. Прообраз f-1(X) перечислимого множества X при вычислимом отображении будет перечислим, поэтому можно найти точку m, в которой он отличается от A. Тогда B отличается от X в точке f(m).

Чтобы сделать это рассуждение точным, нам нужно лишь доказать, что номер перечислимого множества f-1(X) может быть эффективно получен по номеру перечислимого множества X. Для этого мы должны воспользоваться тем, что нумерация является главной схема тут та же, что и при вычислении номера композиции двух вычислимых функций, заданных своими номерами (теорема 16). Проведем это рассуждение подробно.

Рассмотрим перечислимое множество

V = \{ \langle  x,y\rangle \mid \langle  x, f(y)\rangle \in W\}

(оно перечислимо, поскольку является прообразом перечислимого множества W при вычислимом отображении \langle  x,y\rangle \hm\mapsto \langle  x, f(y)\rangle ). Легко видеть, что Vn = f-1(Wn). Так как множество W является главным универсальным множеством, то существует вычислимая всюду определенная функция s, для которой Ws(n)=Vn=f-1(Wn) при всех n. Другими словами, функция s по W -номеру любого перечислимого множества дает W -номер его прообраза при отображении f, что и требовалось.

Теорема 35. Существуют перечислимые множества с эффективно неперечислимыми дополнениями.

Вновь рассмотрим диагональное множество D\hm=\{n\mid \langle  n,n\rangle
\hm\in W\}. Его дополнение будет эффективно неперечислимым. В самом деле, множества Wn и D одинаково себя ведут в точке n, поэтому Wn отличается от дополнения к D в этой точке. Таким образом, дополнение к D эффективно неперечислимо, причем в качестве функции f из определения эффективной неперечислимости можно взять тождественную функцию.

Из двух предыдущих теорем очевидно следует такое утверждение:

Теорема 36. Всякое m -полное перечислимое множество имеет эффективно неперечислимое дополнение.

На самом деле верно и обратное. Чтобы убедиться в этом, докажем такой факт:

Теорема 37. Пусть K перечислимое множество, а A эффективно неперечислимо. Тогда N \ K <=m A (или, что эквивалентно, K <=m N \ A ).

На самом деле нам важно умение эффективно отличать A лишь от двух перечислимых множеств от пустого и от всего натурального ряда. Отличить A от пустого множества означает указать элемент в A ; отличить от всего натурального ряда означает указать элемент вне A. Именно эти две вещи используются при сведении. Более формально, рассмотрим множество V=K x N. Его сечения Vn либо пусты (при n \notin  K ), либо совпадают со всем натуральным рядом (при n \in  K ). Пользуясь тем, что множество W является главным, мы находим всюду определенную функцию s, для которой W_{s(n)}=\varnothing при n \notin  K и Ws(n)=N при n \in  K. Пусть f функция, обеспечивающая эффективную неперечислимость множества A. Тогда f(s(n)) \in  A при n \notin  K и f(s(n)) \notin  A при n \in  K. Другими словами, композиция функций f и s сводит N \ K к множеству A, что и требовалось.

Отсюда очевидно вытекают такие утверждения:

Теорема 38. Перечислимое множество является m -полным тогда и только тогда, когда его дополнение эффективно неперечислимо.

Теорема 39. Множество эффективно неперечислимо тогда и только тогда, когда к нему m -сводится дополнение некоторого (вариант: любого) m -полного множества.

Отметим, что не всякое неперечислимое множество эффективно неперечислимо. Это видно, например, из такого факта:

Теорема 40. Любое эффективно неперечислимое множество содержит бесконечное перечислимое подмножество (е не является иммунным).

В самом деле, пусть множество A эффективно неперечислимо. Тогда отличим его от пустого множества то есть найдем в нем элемент. После этого отличим его от одноэлементного множества, которое состоит из этого элемента и найдем другой элемент. Действуя так, мы может алгоритмически найти сколь угодно много различных элементов.

В этом рассуждении мы использовали такой факт: по конечному множеству, заданному списком его элементов, можно получить его номер (точнее, один из номеров) в главной нумерации перечислимых множеств. Почему это так? Пусть фиксирована некоторая вычислимая нумерация конечных множеств. Будем обозначать n -ое конечное множество в этой нумерации через Dn. Тогда Dn будет n -ым сечением перечислимого (и даже разрешимого) множества

D=\{ \langle  n, x\rangle \mid x \in D_n\}.

Остается воспользоваться определением главной нумерации перечислимых множеств.

Простые множества, которые, как мы знаем, существуют (теорема 14), являются примерами перечислимых множеств, не являющихся m -полными. Именно так и возникло понятие простого множества: Пост искал пример перечислимого неразрешимого множества, которое не было бы m -полным.

< Лекция 5 || Лекция 6: 1234 || Лекция 7 >