УДК 517.11:518.5
В.А. Ганов
Вычисления с оракулом и ограничением на диалог
Ключевые слова: машины с оракулом, проблема остановки, перечислимые множества, арифметические множества.
Key words: machine with the oracle, problem of the stop, enumerable sets, arithmetical sets.
Данная работа продолжает исследования, описанные в [1, с. 82]. Здесь рассматриваются вычисления на машинах с оракулом, работающих с ограничением на число вопросов. Предполагается, что любая машина может задавать только конечное, хотя заранее неизвестное число вопросов. Ясно, что если машина останавливается с некоторым результатом, то она задает лишь конечное число вопросов. Поэтому данное ограничение выглядит искусственным, и не следует ожидать, что оно внесет какие-нибудь существенные изменения в класс вычислимых объектов. Но особенность данного ограничения в том, что задаваемые вопросы касаются поведения машин, которые также могут задавать лишь конечное число вопросов, в противном случае оракул на таком вопросе не определен. В результате происходит уменьшение области определения оракула и, следовательно, уменьшение класса функций, вычислимых с таким оракулом.
Чтобы проверить эти предположения, в работе строится оракул FO, аналогичный гиперарифметиче-скому оракулу из [2, с. 36] и удовлетворяющий рассматриваемому ограничению. Доказывается, что класс FO-разрешимых и FO-перечислимых множеств не выходит за рамки известных арифметических множеств. Тем не менее аналоги некоторых важных свойств гиперарифметической вычислимости сохраняются и для вычислений с таким ограничением.
1. Ограничение на диалог машины с оракулом и проблема остановки. Вычисления с оракулами уже достаточно глубоко изучены, поэтому здесь приводятся лишь основные обозначения и некоторые соглашения. Фиксируется геделевская нумерация программ машин с оракулом, и коды машин отождествляются с номерами их программ. Инициальной машиной называется геделевский номер {z, x). пары, составленной из кода некоторой одноместной машины z и аргумента х, к которому она применяется. Если {z, x) при своей работе задает конечное число вопросов, которые касаются поведения таких же, как она машин, то считается, что {z, x) работает с ограничением на диалог. Если машина {z, x) вычислила вопрос у, но значение оракула F(y) не определено, то работа этой машины не определена, другими словами, {z, x) застревает с оракулом F на вопросе у.
Таким образом, в работе {і, х) с оракулом Р возможны четыре случая:
1) {і, х) останавливается с некоторым результатом;
2) {і, х) работает бесконечно, но задает конечное число вопросов и получает на них ответы;
3) {і, х) задает бесконечное число вопросов и получает на них ответ;
4) {і, х) застревает на некотором вопросе.
В случаях 1, 2 считается, что {і, х) хорошо работает с оракулом Р, и используется обозначение <і, х> Р0. Пусть В0 (Р) - множество инициальных машин {і, х), которые хорошо работают с оракулом Р; Р0 (Р) - множество машин {і, х) из В0 (Р), которые останавливаются.
Функция / (х), вычислимая с оракулом Р на машине і, которая на всех допустимых значениях аргументов х работает с ограничением на диалог, называется Р-вычислимой с ограничением на диалог и обозначается через {і}О (х). При этом і называется Р-кодом этой функции. Естественным образом определяются множества и отношения, Р-разрешимые с ограничением на диалог, и их Р-коды. В дальнейшем в данной работе рассматриваются только вычисления с ограничением на диалог.
Аналогично [2, с. 36] доказывается, что ни с каким оракулом Р множество В0 (Р) не является Р-разрешимым. В частности, характеристическая функция этого множества служит примером функции, которая не является Р-вычислимой с ограничением на диалог. Тем самым для произвольной инициальной машины {і, х) невозможно установить, остановится она или нет. В связи с этим вводится ограниченная проблема остановки, которая ставит вопрос о принадлежности {і, х) множеству В0 (Р) если известно, что {і, х) хорошо работает с оракулом Р. Оракулы, для которых такая ограниченная проблема остановки является Р-разрешимой, широко известны. Но здесь в вычисления внесено необычное ограничение, поэтому целесообразно повторить построение оракула, решающего эту проблему.
Индукцией по индексу п определяется следующая последовательность оракулов:
Р0, Р1, ... , Рп, ... . (1)
0-й шаг. Пусть Р = 0. п + 1-й шаг. Пусть оракул Р построен, тогда Рп+1 есть наименьшая (в смысле графика) функция, удовлетворяющая следующим трем условиям:
1) Р"+1(2И) = 0, если w е В0 (Р");
2) Fn+1(2w) = 1, если w е В0 (Рп)\В0 (Рп);
3) Р”+1(3<И'Ь w2 >) = <т, w>, если {w1,W2} п пВ0 (Рп) Ф0 , т - наименьшее число такое, что ^^2}пВ0(Рт) Ф0 и w = min{w1,w2}пВ0(Рт).
В следующем утверждении показывается, что последовательность (1) и связанные с ней множества хорошо работающих машин монотонно расширяются.
Лемма 1. Для любого п имеют место соотношения:
Рп с Рп+1 и В0 (Рп) с В0 (Рп+1). (2)
Доказательство. Легко видеть, что первое соотношение в (2) влечет второе. Поэтому пусть —Р” с Рп+1, и п - наименьшее число с таким свойством. Тогда существует х такой, что Рп (х) определено и не равно Рп+1(х). Ясно, что п ф 0, тогда п = к + 1. Возможны два случая.
1. Пусть х = 2^ w е В0 (Рк). В силу минимальности п: Рк с Рп, следовательно, w е В0 (Рп) и работа w с оракулом Р совпадет с работой w с оракулом Рк, и поэтому Рп (х) = Рп +1(х). Это противоречит выбору п.
2. Пусть х = 3<И1, п’2 > , Рп (х) = <т, w>, где т -наименьшее число такое, что ^^2} п
пВ0(Рт) Ф0 , и w = min{w1,w2}пВ0(Рт). По предположению Рк с Рп, следовательно, В0 (Рк) с с В0 (Рп), и тогда числа т и w удовлетворяют соотношениям, определяющим значение Рп +1(х). Поэтому Рп (х) = Рп +1(х), что противоречит выбору п. Лемма доказана.
Свойство монотонности последовательности (1) позволяет определить искомый оракул как предел этой последовательности.
Определение 1. Пусть РО = и Р .
п
Очевидно, что для каждого числа п: Рп с РО. Отсюда следует, что В0 (Рп) с В0 (РО). Кроме того, работа любой инициальной машины с оракулом РО совпадает с работой этой же машины с некоторым оракулом Рп. Следовательно, верны равенства: В0 (Ро ) = и В0 Р) и В0 (Ро ) = и В0 Р). Тогда
оракул РО есть наименьшая числовая функция, удовлетворяющая следующим условиям:
1) РО (2w) = 0, если wе В0 (РО);
2) Ро (2w) = 1, если wе В0 (Р0) \ Ва (Р0);
3) РО(3<И1, W2>) = < т, w >, если ^^2} п
пВ0 (РО) ф 0 , т - наименьшее число такое, что ^^2} п В0 (Рт ) Ф0 .
В остальных случаях значения оракула РО не определены. Первые два условия означают, что РО решает проблему остановки для машин, хорошо работающих с ним же. Можно заметить, что, по сравнению с гиперарифметическим оракулом, это свойство более слабое, так как оно не охватывает инициальные машины, задающие бесконечное число вопросов. На первый взгляд это ослабление не является значительным, но оказывается наоборот, класс Р0-разрешимых множеств существенно сужается и не выходит за пределы класса арифметических множеств. Более того, исчезают основные свойства гиперарифметического оракула, связанные с принципами замкнутости класса Р0-перечислимых множеств. И чтобы восполнить такое ослабление, в определение оракула РО введено третье условие, обеспечивающее существование следующей Р0-вычислимой функции у( w1, w2), которая называется парной селекторной функцией.
Лемма 2. Существует Р0-вычислимая функции у( w1, w2) такая, что, если ^^2} п В0(Р0) ф 0, то у( w1, w2) е {w1, w2} п В0(Р0).
Доказательство. Искомая функция у( w1, W2) есть результат следующей процедуры. По аргументам w1, w2 строится вопрос 3<и'1, W2 > оракулу. Если получен ответ РО (3<W1, W2 >) = < т, w >, то строится вопрос 2й'. Если ответ РО (2W) = 0, то результат процедуры равен w. В остальных случаях данная процедура не определена. Из определения РО следует, что эта процедура Р0-вычислима и у( w1, w2) удовлетворяет утверждению леммы.
2. Основные принципы программирования. Как уже отмечалось выше, класс Р0-вычислимых функций замкнут относительно арифметических действий и операции суперпозиции. Это влечет замкнутость класса Р0-разрешимых множеств относительно основных теоретико-множественных операций. И эти утверждения выполняются равномерно по Р0-кодам соответствующих Р0-вычислимых объектов. При этом вычисления с оракулом РО удовлетворяют ограничению на диалог. Теперь, аналогично известным утверждениям теории рекурсивных функций, доказываются следующие ограниченные аналоги 5-т-п-теоремы и теоремы о неподвижной точке.
Теорема 1. 1. Существует рекурсивная функция ^ (г, у) такая, что если г - Р0-код Р0-вычислимой
функции {г}0° (^, х), то выполняется соотношение:
^хЖ^Чг, у)Р (х) = {г# (у, х)].
2. Для любой Р0-вычислимой функции g (г,х)
существует Р0-код г 0 такой, что имеет место сле-
Рп
дующее соотношение: ^х^го^0 (х) = g(г0,х)].
3. Арифметичность вычислений с ограничением на диалог. Ниже показывается, что Р0-разрешимые множества являются арифметическими множествами в смысле арифметической иерархии числовых множеств из [3, с. 387].
Вводится следующая процедура. Конечное множество Ги с кодом и называется указателем, если
оно состоит из пар вида (2К, у) и (3К, у) и не содержит различных пар с одинаковыми левыми частями. Производится моделирование работы машины (г, х) по ее программе, за исключением тех моментов, когда она задает вопросы. Если (г, х) задала вопрос 2w или 3№ и соответствующая пара -(2'г, у) или (3й", у) - входит в указатель Ги , то машине (г, х) дается ответ у и продолжается ее моделирование. Если такой пары в Ги нет, то моделирование (г, х) прекращается и выдается символ 0. Так как Ги - конечное множество, то описанная процедура является рекурсивной относительно Ги. Вводится предикат Т(г, х, ?, w, и), который истинен, если (г, х) и Ги удовлетворяют указанным условиям и описанная процедура моделирования (г, х) с указателем Ги заканчивается за ? тактов с результатом w, а в остальных случаях этот предикат ложен. Так как моделирование (г, х) производится не более I тактов, то Т(г, х, t, ^, и, V) - рекурсивный предикат.
Лемма 3. Для любого п отношения Рп(х) = у, е В0 (Рп), е В0 (Рп) являются арифметическими.
Доказательство (индукцией по п). Случай п = 0 очевиден. Пусть п = к + 1, и для любого т < к отношения Р”(х) = у , wе В0(Рт), wе В0(Рт) -арифметические. Отношение Гк+1(х) = у означает следующее: либо
х = 2№ л [(у = 0 л w е В0 (Рк)) V
(у = 1 л wе В0(Рк)В(Рк))];
либо
< И1, ^ >
х = 3 2 л у = < т, w > л
(т - наименьшее число такое, что (т < к л ^ е В0 (Рт) V н-2 е В0 (Рт))) л w = тт{м1, н,2}пВ0(Рт).
Согласно индукционному допущению, с помощью известного алгоритма Тарского-Куратов-ского доказывается, что это отношение является арифметическим. Отношения < г, х >е В0 (Рк+1),
< г, х >е В0 (Рк+1) означают следующее:
1) существует число и такое, что конечное множество Ги с кодом и состоит из пар вида
(2*", у) и (3 й1, у), удовлетворяющих условиям
Fk Т^к /лW^
(2 ) = у и Р (3 ) = у соответственно;
2) машина < г, х > получает ответы на все свои вопросы при ее моделировании с указателем Ги ;
3) для истинности отношения < г, х >е В0 (Рк+1) дополнительно должно выполняться условие: (3?,w) Т(г, х, ?, w, и).
Как и в предыдущем случае, доказывается, что эти отношения - арифметические. Лемма доказана.
Непосредственным следствием этой леммы являются следующие утверждения.
Теорема 2. Множества В0 (РО) и В0 (РО) суть арифметические.
Теорема 3. Каждое Р0-разрешимое множество - арифметическое.
Но утверждение, обратное теореме 3, не является верным. Действительно, согласно замечанию, сделанному в начале пункта 1, арифметические множества В0 (РО) и В0 (РО) не являются Р0-раз-решимыми.
4. Перечислимые множества. Теперь вполне естественным выглядит желание рассмотреть Р0-вычислимые аналоги рекурсивно перечислимых множеств. В теории рекурсивных вычислений последние определялись двумя эквивалентными способами: как области значений общерекурсивных функций и как области определения частично рекурсивных функций. Но если оракул Р не является всюду определенной функцией, то область определения Р-вычислимой функции не обязана совпадать с областью значений тотальной Р-вычислимой функции. Такая ситуация имеет место, например, в случае гиперарифметического оракула. Более того, область значений тотальной одноместной гипе-рарифметической функции - множество, разрешимое с гиперарифметическим оракулом. Здесь для оракула РО подобное утверждение не рассматривается, но Р0-перечислимые множества определяются следующим образом.
Определение 2. Множество М называется Р0-перечислимым, если М есть область определения некоторой Р0-вычислимой функции. Р0-код этой функции называется перечисляющим Р0-кодом множества М.
Легко доказывается, что каждое Р0-разрешимое множество является Р0-перечислимым и что класс Р0-перечислимых множеств замкнут относительно операции пересечения. Но при доказательстве аналогов других свойств рекурсивно перечислимых множеств классические методы становятся неприменимыми, и приходится применять так называемую счетную селекторную функцию ц(г) из следующего утверждения.
Теорема 4. Существует Р0-вычислимая функция ц(г), которая по перечисляющему Р0-коду непус-
того Ро-перечислимого множества дает некоторый элемент этого множества.
Доказательство использует парную селекторную функцию из леммы 2, и аналогично [2, с. 51].
Теперь с помощью счетной селекторной функции ц(г) доказываются следующие свойства Ро-перечислимых множеств, аналогичные свойствам гиперарифметических множеств.
Теорема 5. 1. Класс Ро-перечислимых множеств замкнут относительно операций объединения и проецирования равномерно по перечисляющим Ро-кодам соответствующих множеств.
2. Если множество М и его дополнение М Ро-перечислимы, то М Ро-разрешимо равномерно по перечисляющим Ро-кодам М и М .
3. Если график числовой функции / (х) есть Ро-перечислимое множество, то / (х) является Ро-вычислимой равномерно по перечисляющему Ро-коду ее графика.
Доказательство аналогично [2, с. 50].
Из леммы 3 следует, что каждое Ро-пере-числимое множество является арифметическим, но обратное утверждение не выполняется. Для доказательства последнего факта вводятся следующие
понятия. Пусть записи В(РО) , В(РО) и В(РО) обозначают множества инициальных машин {г, х), которые, работая с оракулом РО без ограничения на диалог, удовлетворяют соответственно случаям 1-3, описанным в начале пункта 1. Эти множества также являются арифметическими, и, более того, первые два из них - Ро-перечислимые.
Теорема 6. Арифметическое множество В(РО) не является Ро-перечислимым.
Доказательство. От противного предполагается,
что множество В (РО) - Ро-перечислимое, и пусть
Л, р2 - перечисляющие Ро-коды множеств В (рО),
В (РО) соответственно. Вводится следующая процедура: для < г, х > строится пара инициальных
машин: м,1 =< р1; < г, х >> и м12 =< р2, < г, х >>.
Затем задается вопрос 3<н1, М2 > . Если ответ вида
< п, н1 >, то задается вопрос 2<г, х> и полученный ответ 0 или 1 выдается в качестве результата данной процедуры. Если ответ вида < п, м2 > , то сразу выдается результат 1. Доказывается, что эта процедура с оракулом РО задает вычисление (без ограничения на диалог) следующей функции:
| 0, если < г, х >є В(Ро),
Н(г, х) = <! _ _
[ 1, если < г, х >є В (Ро) и В (РО),
в остальных случаях значения Н(г, х) произвольные.
По определению, это означает, что оракул РО является преднормальным в смысле [2, с. 37]. Тогда, согласно лемме 4 из [2, с. 47], любая гиперарифме-тическая функция является Ро-вычислимой, что противоречит теореме 3. Теорема доказана.
Таким образом, как и в случае рекурсивности, полная проблема остановки для вычислений с ограничением на диалог не является разрешимой ни с каким оракулом. Тогда строится оракул РО , подобный гиперарифметическому оракулу, который решает проблему остановки для машин, хорошо работающих с ним же. Для Ро-вычислимых функций сохраняются основные принципы программирования и выполняются аналоги многих свойств гиперарифметических функций.
С другой стороны, классы Ро-разрешимых и Ро-перечислимых множеств содержатся в классе арифметических множеств.
Библиографический список
1 Ганов, В.А. Ограниченные вычисления с оракула- 3. Роджерс, Х. Теория рекурсивных функций и эффек-
ми / В.А. Ганов, В.Р. Карымов // Известия АлтГУ. - 2009. тивная вычислимость / Х. Роджерс. - М., 1973.
- №1(61).
2. Ганов, В.А. Общая теория вычислений с оракулами / В.А. Ганов, Н.В. Белякин. - Новосибирск, 1989.