Опубликован: 16.03.2007 | Уровень: профессионал | Доступ: платный
Лекция 6:

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

< Лекция 5 || Лекция 6: 1234 || Лекция 7 >
Аннотация: Посвящена проблема m-сводимости перечислимых множеств (существованию m – сводящей функции), а также их свойствам, в частности, эффективной неперечислимости, m – полноте, изоморфизму.

m-сводимость

Мы уже встречались с таким приемом: чтобы доказать неразрешимость некоторого множества X (например, множества всех номеров всех где-то определенных функции), мы показывали, что если бы оно было разрешимо, то и любое перечислимое множество K было разрешимо. Для этого мы строили вычислимую функцию f так, чтобы принадлежность любого числа n множеству K определялась принадлежностью числа f(n) множеству X.

Сейчас мы изучим такие ситуации более подробно.

Говорят, что множество A натуральных чисел m - сводится к другому множеству B натуральных чисел, если существует всюду определенная вычислимая функция f : N -> N с таким свойством:

x \in  A \Leftrightarrow  f(x) \in  B

для всех x \in  N. Такая функция называется m -сводящей A к B. Обозначение: A <=m B.

Теорема 31.(а) Если A <=m B и B разрешимо, то A разрешимо.(б) Если A <=m B и B перечислимо, то A перечислимо. (в) A <=m A ; если A <=m B и B <=m C, то A <=m C. (г) Если A <=m B, то N \ A <=m N \ B.

Все эти свойства почти очевидны. Пусть A <=m B и мы имеем разрешающий алгоритм для B. Чтобы узнать, принадлежит ли данное x множеству A, мы вычисляем f(x) и узнаем, принадлежит ли f(x) множеству B. Другими словами, a(x)=b(f(x)), если a характеристическая функция множества A, а b характеристическая функция множества B ; поэтому если b вычислима, то и a вычислима как композиция вычислимых функций.

Такое же равенство можно записать для " полухарактеристических " функций, поэтому из перечислимости B следует перечислимость A. Можно сказать и иначе: множество A является прообразом перечислимого множества B при вычислимом отображении f, и потому перечислимо.

Тождественная функция, очевидно, m -сводит A к A. Если функция f сводит A к B, а функция g сводит B к C, то

x \in  A \Leftrightarrow  f(x) \in  B \Leftrightarrow  g(f(x)) \in  C,

так что композиция функций g и f сводит A к C.

Наконец, функция, сводящая A к B, будет сводить и N \ A к N \ B.

Буква " m " в названии исторически происходит из термина "many-one-reducibility"; впрочем, как отмечает M.Сипсер в своем учебнике по теории сложности вычислений, вместо этого лучше говорить " mapping reducibility " (сводимость с помощью отображений), сохраняя букву m в обозначении.

Отметим, что это определение не симметрично относительно перехода к дополнению, если это делается только в одном из множеств: вовсе не обязательно A <=m N \ A, хотя всегда A <=m A.

  44.Покажите, что A {\not\leq_m} N \ A для перечислимого неразрешимого множества A.

Отметим, что множества \varnothing и N являются особыми случаями для m -сводимости. Например, любое разрешимое множество A сводится к любому множеству B, если только B не является пустым и не совпадает с N. В самом деле, если p \in  B, q \notin  B и A разрешимо, то сводящую функцию можно построить так:

f(x) = if x \in\  A\ then\ p\ else\ q\ fi.

Если же B пусто или совпадает с N, то только пустое множество (соответственно N ) сводится к B.

  45. Существует ли множество натуральных чисел, к которому m -сводится любое множество натуральных чисел?

m-полные множества

Теорема 32. Среди перечислимых множеств существуют наибольшие с точки зрения m -сводимости, то есть множества, к которым m -сводится любое перечислимое множество.

Таковым является универсальное множество (формально надо перейти от пар к их номерам). Пусть U \subset  N \times  N перечислимое множество пар натуральных чисел, универсальное для класса перечислимых множеств натуральных чисел. Рассмотрим множество V номеров всех пар, входящих в U (для какой-то вычислимой нумерации пар \langle  x,y\rangle \hm\leftrightarrow [x,y]\hm\in \bb N$ ). Другими словами,

V = \{ [x,y] \mid \langle  x,y\rangle \in U\}.

Пусть T произвольное перечислимое множество. Тогда T=Un при некотором n и потому

x\in T \Leftrightarrow x \in U_n \Leftrightarrow \langle  n,x\rangle \in U
                                 \Leftrightarrow [n,x] \in V.

Таким образом, функция x\hm\mapsto [n,x] сводит T к V.

Наибольшие относительно m -сводимости перечислимые множества называют m - полными (точнее, m - полными в классе перечислимых множеств ).

Заметим, что если K <=m A для перечислимых множеств K и A и при этом K является m -полным, то и A является m -полным (в силу транзитивности).

Если универсальное множество является главным, то его диагональ также m -полна:

Теорема 33. Пусть U \subset  N \times  N главное универсальное множество для класса перечислимых множеств. Тогда его " диагональное сечение" D \hm= \{ x \mid \langle  x, x\rangle \hm\in U\} является m -полным.

(В частности, множество всех самоприменимых программ является m -полным.)

Очевидно, D перечислимо. Пусть K произвольное перечислимое множество. Рассмотрим перечислимое множество пар V = K x N. Его сечения Vn будут либо пусты (при n \notin  K ), либо совпадать со всем N (при n \in  K ).

Поскольку множество U является главным, существует всюду определенная функция s, для которой Vn=Us(n). Другими словами, Us(n) совпадает с N при n \in K и пусто при n \notin  K. Следовательно, s(n) \in U_{s(n)} (и потому s(n) \in  D ) при n \in  K и s(n) \notin  U_{s(n)} (и потому s(n) \notin  D ) при n \notin  K. Таким образом, s сводит K к D.

  46. Докажите, что множество всех программ, останавливающихся на входе 0, является m -полным. Докажите, что множество всех программ, останавливающихся хотя бы на одном входе, является m -полным.

  47. Пусть M m -полное перечислимое множество. Покажите, что существует алгоритм, который по номеру любой всюду определенной функции h указывает такое число n, что (n \in  M) \Leftrightarrow  (h(n) \in  M). (Указание: это утверждение составляет содержание теоремы о неподвижной точке для некоторого отношения эквивалентности.)

< Лекция 5 || Лекция 6: 1234 || Лекция 7 >
Жансерик Амзеев
Жансерик Амзеев
Казахстан, Алматы
Виталий Федоров
Виталий Федоров
Россия, Ярославская область