Научная статья на тему 'Вычисления с оракулом и ограничением на диалог'

Вычисления с оракулом и ограничением на диалог Текст научной статьи по специальности «Математика»

CC BY
3787
106
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МАШИНЫ C ОРАКУЛОМ / ПРОБЛЕМА ОСТАНОВКИ / ПЕРЕЧИСЛИМЫЕ МНОЖЕСТВА / АРИФМЕТИЧЕСКИЕ МНОЖЕСТВА / MACHINE WITH THE ORACLE / PROBLEM OF THE STOP / ENUMERABLE SETS / ARITHMETICAL SETS

Аннотация научной статьи по математике, автор научной работы — Ганов Валерий Александрович

Рассматриваются вычисления на машинах с оракулом, работающих с ограничением на число вопросов. Строится оракул FO , который решает так называемую проблему остановки для машин, хорошо работающих с ним же. Oсновные принципы программирования и аналоги многих свойств гиперарифметических функций выполняются для FO -вычислимых функций. В то же время класс арифметических множеств содержит класс FO-перечислимых множеств.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Calculations with the Oracle and the Restriction on the Dialogkomarovsa mail.ru

The article is focused on the calculations on machine with the oracle working with the restriction on the quantity of questions. The oracle FO is constructed that solves the problem of the socalled stop of the machines operating with FO. The fundamental principles of programming and the analogous properties of hyperarithmetical functions are realized for the calculable functions with oracle FO. On the contrary the class of arithmetical sets of integers contains the class of FO enumerable sets.

Текст научной работы на тему «Вычисления с оракулом и ограничением на диалог»

УДК 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. Теорема доказана.

Таким образом, как и в случае рекурсивности, полная проблема остановки для вычислений с ограничением на диалог не является разрешимой ни с каким оракулом. Тогда строится оракул РО , подобный гиперарифметическому оракулу, который решает проблему остановки для машин, хорошо работающих с ним же. Для Ро-вычислимых функций сохраняются основные принципы программирования и выполняются аналоги многих свойств гиперарифметических функций.

С другой стороны, классы Ро-разрешимых и Ро-перечислимых множеств содержатся в классе арифметических множеств.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Библиографический список

1 Ганов, В.А. Ограниченные вычисления с оракула- 3. Роджерс, Х. Теория рекурсивных функций и эффек-

ми / В.А. Ганов, В.Р. Карымов // Известия АлтГУ. - 2009. тивная вычислимость / Х. Роджерс. - М., 1973.

- №1(61).

2. Ганов, В.А. Общая теория вычислений с оракулами / В.А. Ганов, Н.В. Белякин. - Новосибирск, 1989.

i Надоели баннеры? Вы всегда можете отключить рекламу.