Научная статья на тему 'Моделирование гиперарифметической вычислимости на машинах с ограничениями'

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

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

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

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

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

Modeling Giperarifmeticheskoy Computability on Machines with Restrictions

This article describes the construction of giperarifmeticheskogo Oracle, which is exactly computable giperarifmeticheskie functions. Oracle solves the problem of so-called stop for the machines operated with the same.

Текст научной работы на тему «Моделирование гиперарифметической вычислимости на машинах с ограничениями»

Моделирование гиперарифметической вычислимости на машинах с ограничениями

УДК 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.

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