УДК 517.11:518.5
В. Р. Карымов
Вычисления с оракулом и фиксированным ограничением на число вопросов*
V.R. Karymov
Calculations with the Oracle and Fixed Limit on the Number of Questions
Рассматриваются вычисления на машинах с оракулом, работающих с фиксированными ограничениями на число задаваемых вопросов. Строится оракул ¥2, который решает ограниченную проблему остановки для таких машин. Доказываются аналоги многих свойств гиперарифметических функций для ¥2-вы-числимых функций.
Ключевые слова: машины с оракулом, проблема остановки, гиперарифметические функции, перечислимые множества.
Данная работа продолжает исследования, описанные в [1], в которых изучались обобщенные вычисления на абстрактных вычислительных машинах с оракулом, работающих с ограничением на число тактов работы.
Здесь рассматриваются вычисления на машинах с оракулом, которые работают произвольное число тактов, но вводится ограничение на число вопросов. Ясно, что если машина останавливается с некоторым результатом, то она задает лишь конечное число вопросов. Поэтому данное ограничение выглядит искусственным, и не следует ожидать, что оно внесет какие-нибудь существенные изменения в класс вычислимых объектов. Но особенность данного ограничения в том, что задаваемые вопросы касаются поведения машин, которые также могут задавать только ограниченное число вопросов, в противном случае оракул на таких вопросах не определен. В результате происходит уменьшение области определения оракула и, следовательно, класса функций, вычислимых с таким оракулом.
Ограничение на число вопросов порождает новые виды проблем, аналогичные проблеме остановки машин. Показывается, что проблема распознаваемости конечности числа вопросов, задаваемых машиной с оракулом ¥, эквивалентна проблеме остановки таких машин, и потому эта проблема не является ^-разрешимой. Тогда строится оракул ¥ь разрешающий ограниченный вид этой проблемы. Затем исследуются вычисления на машинах с фиксированным ограничением на число вопросов. Строится ора-
* Работа выполнена при финансовой поддержке ведомственно-аналитической программы «Развитие научного потенциала высшей школы 2009-2010 гг.» (проект №2.2.2.4/4278).
The article considers the calculations on machines with an oracle working with fixed limits on the number of asked questions. The author constructs an oracle F2 that solves the problem of limited stop for such machines. Analogues of many properties peculiar to hyper-arithmetic functions for F2-computable functions are proved.
Key words: machine with oracle, stop problem, hyper-arithmetical function, enumerable sets.
кул ¥2, позволяющий решать специальный вид проблемы остановки для таких машин. Доказывается, что ¥2 слабее так называемого гиперарифметическо-го оракула ¥0 из [2, с. 42], но класс функций, вычислимых с оракулом ¥2 и фиксированным ограничением на число вопросов, обладает аналогами наиболее важных свойств ¥0-вычислимых функций.
1. Проблема распознавания конечности числа вопросов. Вычисления с оракулом уже достаточно глубоко изучены, поэтому здесь приводятся лишь основные обозначения и некоторые соглашения. Фиксируется геделевская нумерация программ машин с оракулом, и коды машин отождествляются с номерами их программ. Инициальной машиной называется геделевский номер пары <г, х>, составленной из кода некоторой одноместной машины г и аргумента х, к которому она применяется. Если <г, х> работает с оракулом ¥, то используется обозначение < г, х >¥ . Считается, что если машина ¥
< і, х > вычислила некоторый вопрос V и значение оракула ¥^) не определено, то ее дальнейшая работа не определена, в таком случае говорят, что
< г, х >¥ застряла на вопросе V. Функция /(х) называется ¥-вычислимой, если она вычислима на некоторой машине г, работающей с оракулом ¥, обозначение: {г}¥ (х). При этом номер г называется ¥-кодом этой функции. Естественным образом определяются ¥-разрешимые множества и отношения и их ¥-коды.
В обычных вычислениях с оракулом ¥ рассматриваются только три случая: < г, х >¥ останавливается, работает бесконечно или застревает. Пусть В1(¥) - множество инициальных машин <г, х>,
таких что < г, х >¥ останавливается; В2 (¥) - мно-
Их (
< г, х >)
жество инициальных машин <г, х>, таких что
< г, х >¥ работает бесконечно. Доказывается, что для любого оракула ¥ множество В1 (¥) не является ¥-разрешимым, и тем самым полная проблема оста-
¥
новки для машин < г, х > не является ¥-разрешимой [2, с. 36]. С другой стороны, существует так называемый гиперарифметический оракул ¥0, удовлетворяющий следующим условиям:
0, если < г, х >є В1 (¥0);
¥ (< і, х >)ї< 1, если < і, х >є В2 (¥0);
не определено в остальных случаях.
Говорят, что оракул ¥0 решает проблему остановки для машин, хорошо работающих с ¥0. Аналогично ставится проблема распознавания конечности
¥
числа вопросов, задаваемых машиной < г, х > . Следующее утверждение показывает, что эта проблема также не является ¥-разрешимой.
Теорема 1. Пусть В0 (¥) - множество инициальных машин, которые, работая с оракулом ¥, задают только конечное число вопросов и получают на них ответы. Тогда для любого ¥ следующая функция Иіф не является ¥-вычислимой:
ч [0, если < і,х >є В0 (¥);
[1, если < г,х >£ В0 (¥).
Доказательство. По каждой инициальной машине г рекурсивно строится машина wz, которая
копирует работу г следующим образом. Машина wz
перед выполнением каждой команды машины г задает фиксированный вопрос у, принадлежащий области определения оракула ¥, и после получения ответа выполняет эту команду. Очевидно, что машина г останавливается тогда и только тогда, когда wz задает конечное число вопросов. Поэтому если бы функция М(г) была ¥-вычислимой, то полная проблема остановки для машин, работающих с оракулом, была бы ¥-разрешимой, что невозможно. Теорема доказана.
В следующем утверждении рассматривается ограниченный вид проблемы распознавания конечности числа задаваемых вопросов.
Теорема 2. Пусть В0 (¥) - множество инициальных машин, которые, работая с оракулом ¥, задают бесконечное число вопросов и получают на них ответы. Тогда существует оракул ¥1, удовлетворяющий следующим условиям:
0, если < г,х >є В0 (¥1);
¥ 1 (< г,х >) = < 1, если < г,х >є В0 (¥1);
не определено в остальных случаях.
Доказательство. Построение ¥1 аналогично построению гиперарифметического оракула ¥0 [2, с. 42].
2. Вычисления с фиксированным ограничением на число вопросов. Фиксируется некоторое число 5 > 0 и рассматриваются вычисления на машинах с оракулом ¥, которым разрешается задавать не более чем 5 вопросов. Ясно, что такие вычисле-
ния включают обычные рекурсивные вычисления (без оракула). С другой стороны, при подходящем оракуле ¥ класс функций, ¥-вычислимых с ограничением на число вопросов, шире, чем множество рекурсивных функций. Действительно, любой оракул ¥ является ¥-вычислимым на машине, которая на каждом аргументе х задает вопрос х и полученный ответ ¥(х) выдает в качестве результата своей работы. Следовательно, для любого нерекурсивного оракула ¥ существует нерекурсивная функция, вычислимая с оракулом ¥ на машине, задающей только один вопрос.
Пусть < г, х >¥ обозначает инициальную машину (г, х), работающую с оракулом ¥ и ограничением 5 на число вопросов, и {г}¥ (х) - функция от аргументов х , вычислимая на машине г с оракулом ¥ и ограничением 5 на число вопросов. Такие функции называются ¥-вычислимой с ограничением 5. Естественным образом определяются ¥-разрешимые с ограничением 5 множества и отношения.
В работе машины < г, х >¥ можно выделить следующие случаи:
1) < г, х >¥ задает не более чем 5 вопросов, получает на них ответы и останавливается с некоторым результатом;
2) < г, х >¥ задает не более чем 5 вопросов, получает на них ответы и работает бесконечно;
3) < г, х >¥ задает более чем 5 вопросов и на первые 5 вопросов получает ответы;
¥
4) < г, х >5 застревает на первых 5 вопросах.
Считается, что работа < г, х >^ определена
только в первом случае. Пусть В15 (¥), В2 5 (¥),
В35 (¥) - множества инициальных машин (г, х),
которые с оракулом ¥ и с ограничением 5 работают согласно указанным выше случаям 1, 2, 3 соответственно.
Теорема 3. Существует оракул ¥2, удовлетворяющий следующим условиям: для любых г, 5
0, если г є В15 (¥2);
1, если г є В2 5 (¥2);
2, если г є В35 (¥2);
и в остальных случаях значения ¥2 не определены.
Доказательство. Построение оракула ¥2 аналогично построению оракулов ¥0 и ¥1. Но для дальнейших исследований важно указать основные моменты этой конструкции. Индукцией по индексу п определяется следующая последовательность оракулов:
¥0, ¥1, ... , ¥п, ... . (1)
0-й шаг. Пусть ¥0 = 0 . (п + 1) - й шаг. Оракул ¥п+1 удовлетворяет следующим условиям: для любых г, 5
1) ¥п+1( < г, 5 >) = 0, если г є В15 (¥п);
2) ¥п+1( < г,5 >) = 1, если г є В25(¥п);
¥ 2 (< і 5 >) =
3) ¥и+1( < г, 5 >) = 2, если г е Б35 (¥п );
и в остальных случаях значения ¥п+1 не определены.
Доказывается, что последовательность (1) монотонно расширяется:
¥п £ ¥п+1. (2)
Действительно, пусть п - наименьшее число, для которого соотношение (2) нарушается. Тогда существуют машина г и ограничение 5 такие, что ¥п ( < г, 5 >) определено и не равно ¥п+1 (< г, 5 >) . Ясно, что п Ф 0, и пусть п = к + 1, тогда ¥к с ¥п.
Следовательно, машина г, работая с оракулом ¥к, на свои первые 5 вопросов получает ответы. Согласно предыдущему соотношению, такие же вопросы будет задавать машина г, работая с оракулом ¥п, и будет получать на них такие же ответы. Тогда на этих тактах работа г с оракулом ¥” совпадает с работой г с оракулом ¥к. Отсюда следует, что ¥п+1 ( < г, 5 >) = ¥к+1 ( < г, 5 >) , но это противоречит выбору (г, х). Соотношение (2) доказано.
Таким образом, последовательность (1) монотонно расширяется и ввиду конечности ограничения 5 искомый оракул ¥2 можно определить как
предел этой последовательности. Пусть ¥2 = и ¥п.
п
Тогда оракул ¥2 есть наименьшая числовая функция, удовлетворяющая условиям теоремы 3.
Оракул ¥2 не является рекурсивной функцией. Действительно, легко видеть, что в противном случае множество Б0 (¥2) было бы ¥2-разрешимым, что противоречит теореме 1. Ясно также, что арифметические операции и операция суперпозиции над ¥2-вычислимыми с ограничением 5 функциями дают функции, ¥2-вычислимые с некоторым другим ограничением 51, но это ограничение 51 вычисляется рекурсивно по 5 и кодам рассматриваемых операций. Таким образом, простейшие операции над функциями, вычислимыми с фиксированным ограничением на число вопросов, расширяют величину такого ограничения, но новое ограничение вычисляется рекурсивно. Подобное свойство также наблюдается при рассмотрении других принципов программирования для машин, работающих с фиксированными ограничениями на число вопросов. Следующие два утверждения являются ¥2-вычислимыми аналогами двух наиболее важных их этих принципов: 5-т-п теоремы и теоремы о неподвижной точке.
Теорема 4. Существуют рекурсивные функции ^ (г, у) и г{&') такие, что для любой машины г, вычисляющей с оракулом ¥2 и ограничением 5 функцию {г}¥ (у,х), верно соотношение:
й1 (г,у)}¥5)(х) = {г}/2 (у,х). Доказательство аналогично доказательству теоремы 2 из [2, с. 21].
Теорема 5. Пусть машина г с оракулом_¥2 и ограничением 5 вычисляет функцию g(x, у). Тогда
существует машина е такая, что имеет место следующее соотношение: для любых у
{е}¥2(у) =g(ey), где ограничение 51 находится рекурсивно по 5.
Доказательство. Рассматривается следующая вспомогательная функция ^(^(х, х), у). Для любого х значение 5%(х, х) вычислимо без оракула. Следовательно, функция g(S^(x, х), у) вычислима на некоторой машине р, работающей с оракулом ¥2 и ограничением 5. Тогда машина е = ^(р, р) и
ограничение 51 = г(5) - искомые.
Теперь можно доказать следующее утверждение.
Теорема 6. Существует ¥2-вычислимая функция, которая не является ¥2-вычислимой ни с каким ограничением на число вопросов.
Доказательство. Пусть функция g(z, 5) такая, что для любой машины г и любого числа 5 значение g(z, 5) не определено, если {г}^2 (5) определено, и g(z, 5) = 0, в противном случае. Очевидно, что эта функция является вычислимой с оракулом ¥2, и, пусть от противного, она ¥2-вычислима с некоторым ограничением 51 на число вопросов. По теореме 5, существует машина е такая, что для любого х верно соотношение: {е}^(х) = g(е,х), где е работает с ограничением 52, которое находится рекурсивно по 51 не зависимо от х. Возникает противоречие: g(е,52) = 0 о g(e,52) не определено.
Следовательно, функция g(z, у) не является ¥2-вычислимой ни с одним ограничением на число вопросов. Теорема доказана.
3. Сравнение оракула ¥2 с гиперарифметиче-ским оракулом. Согласно определению оракул ¥2 решает проблему остановки для машин, которые, работая с ¥2, задают не более чем 5 вопросов. Но ¥2 слабее гиперарифметического оракула ¥0, так как он не решает проблему остановки для машин, работающих с ¥2 и задающих более чем 5 вопросов. Более того, индукцией по п доказывается, что график каждого оракула ¥п из (1) является ¥0-разреши-мым. Следовательно, график ¥2 также ¥0-разреши-мый. Тем не менее ¥2-вычислимые функции обладают некоторыми свойствами, аналогичными специфическим свойствам гиперарифметических функций. Наиболее важным таким свойством является существование определяемых ниже ¥2-вычислимых селекторных функций.
Пусть В5 (¥2) = В!.5 (¥2) и В2.5 (¥2) и В3.5 (¥2). Для
каждой машины из множества Вх (¥2) говорят, что
она хорошо работает с оракулом ¥2 и ограничением 5.
Определение 1. Парной селекторной функцией называется функция V5 ( м>1, ^2), удовлетворяющая условию:
Чм1, w2 ( { м^, ^2} п В5 (¥2) Ф 0 ^
Ч ( ^ є {W1, ^2 }П В5 (¥2)).
Другими словами, если хотя бы одна из машин w1, ж2 хорошо работает с оракулом ¥2 и ограничением 5, то функция V( м^, м>2) выбирает из них такую машину.
Теорема 7. Для любого 5 существует парная селекторная функции ( ж1, ж2), вычислимая с ¥2 и некоторым ограничением 51, которое вычисляется рекурсивно по 5.
Доказательство непосредственно следует из следующих двух лемм.
Каждой машине же Бх (¥2) ставится в соответствие ее ранг |ж|, равный наименьшему числу п, для которого значение ¥п+1 (м>) определено, где ¥п+1 - оракул из (1). Для удобства изложения считается, что если ж г Б5 (¥2), то |г| < |ж| для любого ге Б5 (¥2).
Лемма 1. Для каждого м>еБ5 (¥2) отношения
\г\ < \ж\ и \г\ < \ж\ являются ¥2-разрешимыми с некоторым ограничением 51, которое вычисляется рекурсивно по ж и 5.
Доказательство проводится индукцией по В случае, когда |ж| = 0, отношение |г| < |ж| выполняется, если машина г не задает вопросов. Это свойство легко проверяется с оракулом ¥2 и ограничением 5 = 1. При доказательстве индукционного шага проверка отношений |г| < |ж| и |г| < ^ использует индукционное предположение и сводится к сравнению рангов вопросов машин г и ж, аналогично тому, как это делается в [2, с. 43]. При этом дополнительно показывается, что все промежуточные процедуры являются ¥2-вычислимыми с некоторыми ограничениями 8', которые вычисляются рекурсивно по М> и 5.
Лемма 2. Для данного ограничения 5 существует рекурсивная функция вх (х,у) такая, что для некоторого &•] и любых ж1, ж2:
а) {}Б5(¥,) Ф 0 ^ в,(жЛ) е Бл.(¥2) л| е,,( н,1, ж2)| > тт {|ж1|, |ж2|},
б) { ж2 } Б5 (¥2) = 0 ^ в5 (™Л)г ^с^,); при этом ограничение 51 вычисляется рекурсивно по 5.
Доказательство. Рассматривается множество пар {1, ж2}, таких, что {ж1, ж2 }п Б5 (¥2) Ф 0. Для каждой такой пары определяется ранг г(м',,^2), равный тт{М,|ж2|}. Искомая функция е5( ж1, ж2)определяется индукцией по рангу г (м^,^) аналогично тому,
как это сделано в [2, с. 45]. При этом, как и в лемме
1, показывается, что все промежуточные процедуры являются ¥2-вычислимыми с некоторыми ограничениями 8', которые вычисляются рекурсивно по 5.
Определение 2. Множество М называется ¥2-пе-речислимым с ограничением 5, если М есть область определения некоторой функции, вычислимой с оракулом ¥2 и ограничением 5. ¥2-код этой функции
называется перечисляющим ¥2-кодом множества М.
Легко доказывается, что каждое ¥2-разрешимое с ограничением 5 множество является ¥2-перечисли-мым с ограничением 5, и что пересечение двух ¥2-перечислимых с ограничением 5 множеств ¥2-пере-числимо с некоторым ограничением 51, которое вычисляется рекурсивно по 5. С помощью парной селекторной функции V5( п’1, п’2) доказывается, что
объединение двух ¥2-перечислимых с ограничением
5 множеств ¥2-перечислимо с некоторым ограничением 51, которое вычисляется рекурсивно по 5. Но при доказательстве аналогичного свойства для операции проецирования ¥2-перечислимых множеств приходится применять следующую счетную селекторную функцию.
Определение 3. Счетной селекторной функцией называется функция и (г), удовлетворяющая условию: для любых г и 5 если г - перечисляющий ¥2-код непустого ¥2-перечислимого с ограничением
5 множества М, то и (г) е М.
Теорема 8. Для любого 5 существует счетная селекторная функция и (г), являющаяся ¥2-вы-числимой с некоторым ограничением 51, которое вычисляется рекурсивно по 5.
Доказательство непосредственно следует из следующей леммы.
Лемма 3. Существует ¥2-вычислимая с некоторым ограничением 51 функция д5 (г) такая, что для любого г если г - код общерекурсивной функции/х), и (Зп)/(п) е Бх(¥>), то (Уп)/(<25(г))| < /(п)|, при этом ограничение 51 вычисляется рекурсивно по 5.
Доказательство использует парную селекторную функцию vs ( ж1, ж2) и аналогично доказательству теоремы 15 из [2, с. 51].
Теперь, с помощью функции и (г) доказываются следующие свойства ¥2-перечислимых множеств.
Теорема 9. 1) Проекция двумерного ¥2-пере-числимого с ограничением 5 множества ¥2-пере-числимо с некоторым ограничением 51, которое вычисляется рекурсивно по 5.
2). Если график числовой функции /(х) есть ¥2-перечислимое с ограничением 5 множество, то /(х) является ¥2-вычислимой с некоторым ограничением 51, которое вычисляется рекурсивно по 5.
Доказательство аналогично доказательству соответствующих утверждений из [2, с. 50].
Библиографический список
1. Карымов В.Р. Арифметическая и гиперарифмети- 2. Ганов В.А., Белякин Н.В. Общая теория вычис-
ческая вычислимость относительно вычислений с огра- лений с оракулами. - Новосибирск, 1989.
ничениями // Известия АлтГУ. - Барнаул, 2010. - №1(65).