Моделирование гиперарифметической вычислимости на машинах с ограничениями
УДК 517.11:518.5
В.А. Ганов, Л.Л. Смолякова Моделирование гиперарифметической вычислимости на машинах с ограничениями
Особенность вычислений на машинах с оракулом - в наличии спрашивающих команд, выполнение которых означает нахождение ответа на заданный вопрос. В общем случае вопросы вычисляет машина механически согласно своей программе, а ответ дается машине извне, как значение некоторой процедуры или функции, называемой оракулом. Такие оракулы строятся в рамках аксиоматической системы ZFC и не обязаны быть рекурсивными. В результате возникают обобщенные вычисления, которые обладают основными чертами и принципами алгоритмической вычислимости, но выходят далеко за пределы рекурсивности.
В работе [1, с. 36] построен так называемый ги-перарифметический оракул Fo, с которым вычислимы в точности гиперарифметические функции. Оракул F0 решает так называемую проблему остановки для машин, хорошо работающих с ним же. Это позволяет в язык вычислений на машинах с оракулом F0 включать команды, осуществляющие за один такт некоторые виды бесконечных переборов. Другими словами, возникает математическая модель «бесконечно быстрого компьютера». И было изначально понятно, что кое-что из этого можно перенести на «всамделишное» программирование. В связи с этим Н.В. Белякин выдвинул идею организовать рекурсивный процесс, имитирующий поведение гиперарифметического оракула F0.
В данной работе сделана попытка реализовать эту идею. Здесь изменяется процедура выполнения спрашивающей команды следующим образом. Пусть машина М вычислила вопрос x о поведении некоторой машины W, тогда М приостанавливает свою основную работу и начинает поиск ответа на этот вопрос. Этот поиск заключается в моделировании работы машины W, в результате которого выясняется необходимая информация. Эта информация передается машине М в качестве ответа на вопрос x, и основная работа М возобновляется. Если такой ответ не получен, то работа М считается неопределенной. Теперь при выполнении спрашивающей команды уже не требуется представлять оракул в виде некоторого устройства, позволяющего "сверхбыстро" выдавать ответ на вычисленный вопрос. Такой ответ получается как результат некоторой вычислительной процедуры.
Рассматриваются вычислительные машины с оракулом, описанные в работе [2]. Поэтому здесь используются основные понятия и обозначения из этой работы. В частности, каждая машина имеет ограничение t на число выполняемых команд. Согласно этому ограничению, машина может выполнять не
более чем t команд. Если за это время она не пришла в заключительное состояние, то ее работа прекращается и в качестве результата она выдает символ 0. Это означает, что ее работа не определена.
Машины, работающие только с таким видом ограничений, рассматривались в работе [3]. Но при моделировании этих машин на современных компьютерах выясняется необходимость введения еще одного вида ограничений d на уровень задаваемых вопросов. По определению, вопрос u имеет уровень 1, если входящая в него машина за допустимое число тактов не задает вопросов, обозначение: d(u) = 1. Далее, по индукции, пусть вопрос u содержит машину W, которая за допустимое число тактов задает вопросы иь...,ик и получает на них ответы, и пусть уровни d(u1) ,..., d(uk) определены. Тогда d(u) = max{d(u1) ,..., d(uk)}+1. Теперь ограничение d означает, что данная машина может задавать только вопросы, уровень которых меньше чем d, в противном случае работа этой машины не определена и считается, что она застряла на этом вопросе.
Программа машины содержит конечное число команд, которые разделяются на оперативные и спрашивающие. Команды первого вида позволяют осуществлять любые рекурсивные процедуры и вычисления (см.: [2]). Для описания спрашивающих команд вводятся следующие понятия.
Так же, как в работе [2], определяются коды программ рассматриваемых машин, обозначаемые кортежами (^ d, q, l), и соответствующие им инициальные программы d, Q, z>, где ^ d — ограничения указанных видов. Здесь вместо оракула машины работают с определяемым ниже функционалом H(м, T, Б) , где Т, Б — фиксированные числа. В работе такой машины М, работающей с функционалом Н (м, Т, Б) согласно инициальной программе <, d, Q, z>, возможны три случая:
1) М получает ответы на все задаваемые вопросы и останавливается за t тактов с результатом, отличным от 0;
2) М получает ответы на все задаваемые вопросы и останавливается за 1 тактов с результатом 0;
3) М застревает при выполнении спрашивающей команды.
В первых двух случаях считается, что М хорошо работает с функционалом Н(м, Т, Б). Пусть
ВТ Б (Н) обозначает множество всех инициальных
программ вида <4, d, Q, z>, для которых t < Т, d < Б и соответствующие машины хорошо работают с функционалом Н (м, Т, Б); ВТ Б (Н) - множество
инициальных программ из ВТ Б (Н), для которых имеет место случай 1.
УПРАВЛЕНИЕ, ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И ИНФОРМАТИКА
Теперь функционал Н(и, Т, Б) определяется следующим образом: пусть и - кортеж, определяющий инициальную программу <4, й, 2, г>, тогда
0, если і < Т, й < Б и < і, й, 2, г >є Вт б(Н);
Н(и,Т,Б) == 1, если і < Т, й < Б и < і, й,2, г >є Вт б(Н)\Вт б(Н); не определено в остальных случаях.
Тогда спрашивающая команда д3( п, и) преобразует регистры 0, 1, Ъ,_следующим образом:
х0:= п, х1:= х1 -1, Ъ:= Н(и,Т,Б) .
Если значение функционала Н(и,Т,Б) не определено, то команда д3(п, и) не выполнима и результат работы рассматриваемой машины не определен. В таких случаях считается, что машина М застряла на вопросе и.
Теорема 1. Функционал Н (и, Т, Б) - рекурсивный.
Доказательство. Описывается программа машины М, которая на аргументе и вычисляет значение Н (и, Т, Б) только с помощью оперативных команд. Сначала М выясняет вид вопроса: верно ли, что и - кортеж, определяющий инициальную программу вида <4, й, 2, 2> и і < Т, й < Б? Если эти отношения не выполняются, то работа М не определена, в противном случае М работает согласно программе <і, й, 2, 2> до ближайшего вопроса. Если вопросов нет, то М в течение і тактов выяснит поведение <4, й, 2, г> и выдаст 0 или 1.
Пусть машина М должна _выполнить спрашивающую команду вида д3(пь и1). Тогда М приостанавливает свою основную работу и выясняет вид нового вопроса: верно ли, что и1 - кортеж, определяющий инициальную программу вида <4Ь й1, 2і, г1> и і1 < і, й1 < й? Если эти отношения не выполняются, то работа М не определена, в противном_слу-чае М работает согласно программе <і, й, 2, г> до ближайшего вопроса. Если вопросов нет, то М в течение і1 тактов выяснит поведение <4Ь _й1, 21, г1> , выдаст ответ 0 или 1 машине <4, й, 2, г> на ее вопрос и продолжит моделирование ее работы. Если <і1, й1, 21, г1> вычислила некоторый вопрос и2, то описанная процедура повторяется для этого вопроса. В описанной процедуре применяются только оперативные команды и идет уменьшение ограничений: Т > і > і1 > ..., Б > й > й1 > ... . Поэтому эта процедура рекурсивная, и если значение
Н(и, Т, Б) определено, то машина М полностью промоделирует работу d, 2, z> и выдаст значение Н (м, Т, Б). Теорема доказана.
Таким образом, для любых ограничений Т,Б вычисления с функционалом Н(м, Т, Б) являются рекурсивными, и их можно осуществлять на достаточно совершенном компьютере. С другой стороны, схема определения функционала Н (м, Т, Б) в точности соответствует определению гиперарифмети-ческого оракула ^0. Поэтому для вычислений с этим функционалом выполняются следующие аналоги основных свойств гиперарифметических функций.
Из определения функционала Н(м, Т, Б) следует, что он решает проблему остановки для машин, хорошо работающих с Н (м, Т, Б) и с ограничениями, меньшими, чем Т, Б.
Пусть запись {М}^ (X) обозначает функцию, которую вычисляет машина М, работая с ограничениями t, d на аргументах х с функционалом Н(м, Т, Б). Такая функция называется Н-вычислимой с ограничениями ^ d, и код программы машины М называется Н-кодом этой функции. Стандартным образом определяются Н-разрешимые множества и отношения и Н-перечислимые множества и их Н-коды.
Из Н-разрешимости указанной проблемы остановки следует, что класс Н-разрешимых множеств равномерно замкнут относительно основных теоретико-множественных операций, включая операции навешивания числовых кванторов на определяющие предикаты этих множеств. Аналогично [2] доказывается существование Н-вычислимой селекторной функции для непустых Н-перечислимых множеств. Этот факт влечет равномерную замкнутость класса Н-перечислимых множеств относительно операций объединения, пересечения и проектирования.
Таким образом, сформулированная во введении проблема имитации вычислений была решена для гиперарифметического оракула. Но более сложные проблемы возникают при имитации вычислений с более сильными оракулами. И, наверное, их решение можно осуществить в рамках арифметики с переменными для чисел разных уровней нестандартности.
Библиографический список
1. Ганов, В.А. Общая теория вычислений с оракулами / В. А. Ганов, Н.В. Белякин. - Новосибирск, 1989.
2. Ганов, В.А. Ограниченные вычисления с оракулами / В.А. Ганов, В.Р. Карымов // Известия АлтГУ. - Барнаул, 2009. - №1.
3. Ганов, В.А. Имитация гиперарифметической вычислимости рекурсивными функциями / В.А. Ганов, Л.Л. Смолякова // МАК-2008 : мат. XI регион. конф. по математике. - Барнаул, 200S.