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

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

CC BY
269
71
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МАШИНА ШЕНФИЛДА / ОРАКУЛЫ / ГИПЕРАРИФМЕТИЧЕСКИЕ ФУНКЦИИ / ОТНОСИТЕЛЬНАЯ ВЫЧИСЛИМОСТЬ / MACHINE SHENFILDA / ORACLES / FUNCTIONS / RELATIVE CALCULATIONS

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

В статье рассматриваются вычисления на машинах с оракулами. Приведены результаты для машин, работающих с ограничением по времени. Доказаны четыре теоремы.

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

Limited Calculations with Oracle

Calculations are considered In article on machine with oracle. The Broughted results for machines, working with restriction on time. Four theorems are Proved.

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

УДК 517.11:518.5

В.А. Ганов, В.Р. Карымов

Ограниченные вычисления с оракулами

Исследуются вычисления на машинах с оракулами, работающие с ограничениями на время работы. Главная особенность машин с оракулами - наличие спрашивающих команд, выполнение которых означает нахождение ответа на заданный вопрос. В общем случае вопросы вычисляет машина механически согласно своей программе, а ответ дается машине извне, как значение некоторой нерекурсивной процедуры или функции, называемой оракулом. При этом вопросы могут содержать программы других таких же машин, а ответы связаны с поведением этих машин. В результате возникает язык программирования, в котором можно описывать некоторые неалгоритмические процессы.

Например, в работе [1, с. 36] построен специальный оракул ^о, с которым вычислимы гиперариф-метические функции, не являющиеся рекурсивными. В частности, оракул ^0 решает так называемую проблему остановки для машин, хорошо работающих с ним же. Известно, что подобная проблема не разрешима для рекурсивных вычислений. Тем не менее создатель общей теории вычислений с оракулами Н.В. Белякин предложил ввести дополнительные ограничения в работе машин с оракулами так, чтобы полученные вычисления можно было бы осуществлять на современных компьютерах. И данную работу можно считать первой попыткой решить эту задачу.

1. Машины Тьюринга весьма далеки от современных вычислительных машин, и потому их использование вносит дополнительные трудности в решении поставленной задачи. Поэтому здесь рассматривается специальная модификация машин Шенфилда из [2]. Такие машины имеют бесконечное число регистров, управляющее устройство и программу. Регистры пронумерованы натуральными числами, и каждый из них может содержать натуральное число, букву или некоторый символ. Пусть хп обозначает содержимое регистра с номером п. В регистрах 0,1 расположены счетчик команд и счетчик тактов; затем выделяются регистры: для записи программы рассматриваемой машины и ее аргументов; для записи вопросов и ответов машины; для записи результата вычисления. Остальные регистры в начальный момент считаются пустыми.

Управляющее устройство читает содержимое регистров и преобразует его согласно выполняемой команде. Один такт работы машины заключается в исполнении команды, содержащейся в регистре х0, при этом указывается код следующей выполняемой команды. Количество тактов работы машины ограничено числом t, указанным в счетчике тактов, и при выполнении каждой команды число t уменьша-

ется на 1. При ґ = 0 работа машины прекращается. Тогда, если в счетчике команд указан код заключительной команды ц0, то работа машины определена и ее результат записывается в указанных выше регистрах; в противном случае считается, что работа машины не определена и результатом работы получается символ 0.

Оракул является некоторым оператором Р (у1, ... , ук), значениями аргументов которого могут быть числа и программы машин. Вопрос к оракулу имеет вид числового кортежа (ть ... , Шк), составленного из номеров регистров, содержащих значения аргументов оракула. Ответ представляет значение Р(хШ , ... , хщ), если оно определено. Оракул не входит в программу рассматриваемой машины, и можно считать, что он присоединен к ее специальному входу.

Кроме заключительной команды ц0 рассматриваются две оперативные команды ц1(і,п), ц2(і, п, ш) и одна спрашивающая команда ц3( п, и ), в которых

і, п, ш - натуральные числа, рассматриваемые как номера регистров; и = (шь ... , шк) - кортеж номеров регистров, содержащих значения аргументов оракула Р. Случай х1 = 0 описан выше, и пусть хі > 0. Тогда

1) команда q1(i, п) преобразует регистры 0, 1, і следующим образом:

х0:= п, х1:= х1 -1, хі:= хі+1;

2) команда q2(i, п, т) преобразует регистры 0, 1, і следующим образом:

а) если хі> 0, то х0:= п, х1:= х1 -1, хі:= хі-1;

б) если хі = 0, то х0:= ш, х1:=х1 -1.

3). Пусть вычислен вопрос и = (т1, ... , тк) и соответствующее значение оракула Р(х , ... , хщ)

определено. Тогда команда q3( п, и ) преобразует регистры 0, 1, Ь, следующим образом:

х0:= п, хь= х1 -1, Ь:= Р(хщ, ... , Хтк).

(Здесь Ь - регистры, выделенные для записи ответов оракула). Если значение оракула Р(хШ , ... , хщ) не определено, то команда q3(n, и)

не выполнима, и результат работы рассматриваемой машины не определен. В таких случаях считается, что машина застряла на вопросе и.

Стандартным способом вводятся коды указанных команд, при этом считается, что код команды располагается в одном регистре. Программа машины состоит из конечного списка команд и задается картежом следующего вида:

(ґ, т, q1, q2, ... , qm, к, I¡, ... , 4), (*)

где ґ - ограничение на число тактов; т - число команд; Ці - номера регистров, содержащих коды ко-

Ограниченные вычисления с оракулами

манд; к - число аргументов; ^ - номера регистров, содержащих значения аргументов машины.

Для краткости записи (*) обозначаются через ($, д, I ) и называются кодами программ. Перед началом работы машины с программой (^ д, I ) в ее счетчике команд указывается номер регистра, содержащего первую выполняемую команду, в счетчик тактов заносится ограничение t, в регистры д и I - коды соответствующих команд 2 и значения аргументов машины г . Полученная конфигурация называется инициальной программой и обозначается через 2, 2>.

Работа машины производится по тактам. Один такт работы - это выполнение одной команды, включая спрашивающие команды. При этом возможны три случая:

1) машина приходит в состояние д0 за допустимое количество тактов;

2) машина получает ответы на все свои вопросы, но не приходит в состояние д0 за допустимое количество тактов;

3) машина застревает на некотором вопросе.

В первых двух случаях считается, что машина хорошо работает с оракулом. Пусть В(Е) - множество всех инициальных программ вида <4, 2, ¿>, для которых машины хорошо работают с Е и с ограничением ^ В(Е) - множество всех инициальных программ из В(Е), для которых машины останавливаются.

2. В этом разделе указаны основные свойства данных вычислений, представляющих положительные аналоги соответствующих свойств рекурсивных вычислений. Для этого вводятся следующие понятия. Буквой у с некоторыми индексами обозначаются числовые переменные, значения которых -натуральные числа. Буквами А, В, возможно с некоторыми индексами, обозначаются операторные переменные, их значениями являются программы машин. Рассматриваются два типа вычислимых отображений: числовые функции и операторы. Аргументами и значениями числовых функций являются числа, а аргументами и значениями операторов могут быть числа и программы. Для обозначения числовых функций используются буквы /, g и записи вида /( А, у ), где А, у - наборы операторных и числовых переменных. Аналогично для обозначения операторов применяются буквы Б, Т и записи вида Б( А, у ).

Естественным образом определяются числовые функции X у) и операторы Б( у, А ), Е-вычислимые с ограничением t на машине Ж. При этом вводятся

обозначения: [Ж ^ [у) = Ху), {Ж ^ (у, А) =

Б( у, А), соответственно. Код программы машины Ж называется Е-кодом соответствующей функции или оператора.

Первое свойство связано с последовательной композицией программ. Доказывается, что суперпо-

зиция числовых функций и операторов, Е-вычислимых с некоторыми ограничениями, будет также Е-вычислимой с некоторым ограничением 5 равномерно по Е-кодам и ограничениям, рассматриваемых функций и операторов.

Второе свойство - существование так называемой универсальной машины Пк и рекурсивного оператора кк^, Р) таких, что для любой программы Р машины, Е-вычисляющей с ограничением t к-местную числовую функцию от у, верно соотношение:

[ик }Ек (,Р)( Л у) ^ (Р)Е (у).

Затем формулируются и доказываются Е-вы-числимые аналоги Б-т-п-теоремы и теоремы о неподвижной точке. Эти свойства аналогичны соответствующим утверждениям из [1, с. 21].

3. Далее указаны некоторые свойства, которые не имеют аналогов в теории алгоритмов.

Теорема 1. Для любого всюду определенного оракула Е существует числовой Е-вычислимый оператор, который не является Е-вычислимым ни с каким ограничением.

Доказательство использует так называемый диагональный метод и указанный выше аналог теоремы о неподвижной точке.

Следствие 1. Существует частично рекурсивная функция, которая не является вычислимой ни с каким ограничением.

В [3, с. 58] приводится пример частично рекурсивной функции, которую нельзя продолжить общерекурсивной функцией. Рассматриваемые здесь машины работают с некоторыми ограничениями, поэтому верно следующее утверждение.

Теорема 2. Если оракул Е является всюду определенным, то любую функцию, Е-вычислимую с некоторым ограничением, можно продолжить тотальной Е-вычислимой функцией.

Следствие 2. Любую частично рекурсивную функцию, вычислимую с некоторым ограничением, можно продолжить общерекурсивной функцией.

Следующее утверждение является обратным для предыдущей теоремы.

Теорема 3. Если любую числовую функцию, Е-вычислимую с некоторым ограничением, можно продолжить всюду определенной Е-вычислимой функцией, то оракул Е можно продолжить тотальной Е-вычислимой функцией.

Доказательство использует тот факт, что любой оракул Е является Е-вычислимым с некоторым ограничением.

Проблема остановки рассматриваемых машин сводится к выяснению Е-вычислимости характеристических операторов множеств В/Е).

Теорема 4. Для любого оракула Е существует число /о , начиная с которого характеристические операторы множеств В( (Е) не являются Е-вы-числимыми ни с каким ограничением.

Доказательство аналогично доказательству теоремы 6 из [1, 36].

В случае частичного оракула Р возникает качественно новая ситуация, когда машина застревает на некотором вопросе. В таком случае вводится следующий оператор Н (ґ, Р, 2) : если Р - программа инициальной машины < ґ, 2, 2 >, применяемой к одному аргументу 2, то

1) Н (ґ, Р, г) = 0, при < Ґ, 2, 2 >є Вґ (Р);

2) Н(ґ, Р, 2) = 1, при < ґ, 2, 2 >є В( (Р) \Вґ (Р); и в остальных случаях Н(ґ, Р, 2) не определено.

Если этот оператор является Р-вычислимым, то говорят, что оракул Р решает проблему остановки для машин, хорошо работающих с Р и с ограничением ґ. Используя разработанные в [1] методы, для каждого ґ строится (в рамках системы ІРС) оракул Рґ такой, что соответствующий оператор Н(ґ, Р, 2) является Ргвычислимым. Оракул Рґ является ограниченным аналогом гиперарифметического оракула Р0, указанного во введении.

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

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

/ В.А. Ганов, Н.В. Белякин. - Новосибирск, 1989. тивная вычислимость / Х. Роджерс. - М., 1973.

2. Морозов, А.С. Машины Шёнфилда / А.С. Морозов.

- Новосибирск, 1996.

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