Научная статья на тему 'Конечный базис по суперпозиции в классе функций, вычислимых на нестирающих машинах Тьюринга с выходом'

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

CC BY
159
21
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
НЕСТИРАЮЩАЯ МАШИНА ТЬЮРИНГА С ВЫХОДОМ / ПОЛИНОМИАЛЬНЫЕ ВЫЧИСЛЕНИЯ / КОНЕЧНЫЙ БАЗИС ПО СУПЕРПОЗИЦИИ / NONDESTRUCTIVE TURING MACHINES WITH OUTPUT / POLYNOMIAL CALCULATIONS / FINITE BASIS SET FOR SUPERPOSITION

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

Актуальность и цели. Более 60 лет назад А. Гжегорчик сформулировал проблему о существовании конечных базисов по суперпозиции в классах рекурсивных функций, образующих иерархию множества всех примитивно-рекурсивных функций. Эта проблема была положительно решена различными авторами для многих крупных и содержательно интересных классов рекурсивных функций. В последние годы в связи с возросшим интересом к изучению полиномиально вычислимых функций эта проблема вновь стала рассматриваться для сравнительно небольших классов подобных функций. В частности, интерес вызывают классы функций, которые полиномиально вычислимы на различных вариантах машин Тьюринга, подчиняющихся сильным ограничениям на строение и способы оперирования с внешней памятью. Решение задачи о существовании конечного базиса по суперпозиции в таких классах функций позволило бы глубже понять природу полиномиальных вычислений и, возможно, привнести дополнительные аргументы в решение проблемы о соотношении детерминированных и недетерминированных полиномиальных вычислений. Целью работы является построение конечного базиса по суперпозиции в классе C функций, вычислимых на нестирающих машинах Тьюринга с выходом. Класс C недавно был введен С. С. Марченковым для получения «верхней границы» сложности вычисления функций, получаемых с помощью ограниченной префиксной конкатенации, и практически не подвергался детальному изучению. Материалы и методы. В работе используется метод доказательства существования конечного базиса по суперпозиции, основанный на использовании квазиуниверсальной функции. Результаты и выводы. Проведено построение квазиуниверсальной функции для класса C функций, вычислимых на нестирающих машинах Тьюринга с выходом. Полученная функция использована для нахождения конечного базиса по суперпозиции в классе C. Данный результат может быть применен для решения аналогичных задач в классах вычислимых функций, близких к классу C.

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

ON A FINITE BASIS SET FOR SUPERPOSITION IN THE CLASS OF FUNCTIONS COMPUTABLE ON NONDESTRUCTIVE TURING MACHINES WITH OUTPUT

Background. More than 60 years ago A. Grzegorczyk couched the problem of existence of finite basis sets for superposition in classes of recursive functions, which create a hierarchy of the set of all primitive recursive functions. This problem was resolved by various authors for many large and meaningful interesting classes of recursive functions. Resulting from an increased interest to the study of polynomial-time computable functions over the last years, this issue again has been considered for relatively small classes of such functions. In particular, classes of functions that are polynomial-time computable for different variants of Turing machines, which comply with strong restrictions on the structure and methods of operation with external memory, are of great interest right now. The solution of the problem of existence of a finite basis set for superposition in such classes of functions would allow us to understand the nature of polynomial computation deeper and may adduce additional arguments to the solution of the problem of a ratio of deterministic and nonedeterministic polynomial calculations. The aim of this work is to build a finite basis set for superposition in the C-class of functions, (polynomial-time) computable at nondestructive Turing machines with output. The C-class has been recently introduced by S. S. Marchenkov for obtaining the "upper boundary" of the complexity of computing functions, obtained by a limited prefix of the concatenation, and has not been explicitly studied. Materials and methods. There was employed the method of proving the existence of a finite basis for superposition, based on the use of a quasi-universal function. Results and conclusions. The author built quasi-universal functions for the C-class of functions computable at nondestructive Turing machines with output. The resulting function is used to obtain a finite basis for superposition in the C-class. This result can be applied to solve similar problems in classes of computable functions that are close to the C-class.

Текст научной работы на тему «Конечный базис по суперпозиции в классе функций, вычислимых на нестирающих машинах Тьюринга с выходом»

УДК 519.716

DOI 10.21685/2072-3040-2016-3-5

К. В. Осипов

КОНЕЧНЫЙ БАЗИС ПО СУПЕРПОЗИЦИИ В КЛАССЕ ФУНКЦИЙ, ВЫЧИСЛИМЫХ НА НЕСТИРАЮЩИХ МАШИНАХ ТЬЮРИНГА С ВЫХОДОМ

Аннотация.

Актуальность и цели. Более 60 лет назад А. Гжегорчик сформулировал проблему о существовании конечных базисов по суперпозиции в классах рекурсивных функций, образующих иерархию множества всех примитивно-рекурсивных функций. Эта проблема была положительно решена различными авторами для многих крупных и содержательно интересных классов рекурсивных функций. В последние годы в связи с возросшим интересом к изучению полиномиально вычислимых функций эта проблема вновь стала рассматриваться для сравнительно небольших классов подобных функций. В частности, интерес вызывают классы функций, которые полиномиально вычислимы на различных вариантах машин Тьюринга, подчиняющихся сильным ограничениям на строение и способы оперирования с внешней памятью. Решение задачи о существовании конечного базиса по суперпозиции в таких классах функций позволило бы глубже понять природу полиномиальных вычислений и, возможно, привнести дополнительные аргументы в решение проблемы о соотношении детерминированных и недетерминированных полиномиальных вычислений. Целью работы является построение конечного базиса по суперпозиции в классе C функций, вычислимых на нестирающих машинах Тьюринга с выходом. Класс C недавно был введен С. С. Марченковым для получения «верхней границы» сложности вычисления функций, получаемых с помощью ограниченной префиксной конкатенации, и практически не подвергался детальному изучению.

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

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

Ключевые слова: нестирающая машина Тьюринга с выходом, полиномиальные вычисления, конечный базис по суперпозиции.

K. V. Osipov

ON A FINITE BASIS SET FOR SUPERPOSITION IN THE CLASS OF FUNCTIONS COMPUTABLE ON NONDESTRUCTIVE TURING MACHINES WITH OUTPUT

Abstract.

Background. More than 60 years ago A. Grzegorczyk couched the problem of existence of finite basis sets for superposition in classes of recursive functions,

which create a hierarchy of the set of all primitive recursive functions. This problem was resolved by various authors for many large and meaningful interesting classes of recursive functions. Resulting from an increased interest to the study of polynomial-time computable functions over the last years, this issue again has been considered for relatively small classes of such functions. In particular, classes of functions that are polynomial-time computable for different variants of Turing machines, which comply with strong restrictions on the structure and methods of operation with external memory, are of great interest right now. The solution of the problem of existence of a finite basis set for superposition in such classes of functions would allow us to understand the nature of polynomial computation deeper and may adduce additional arguments to the solution of the problem of a ratio of deterministic and nonedeterministic polynomial calculations.

The aim of this work is to build a finite basis set for superposition in the C-class of functions, (polynomial-time) computable at nondestructive Turing machines with output. The C-class has been recently introduced by S. S. Marchenkov for obtaining the "upper boundary" of the complexity of computing functions, obtained by a limited prefix of the concatenation, and has not been explicitly studied.

Materials and methods. There was employed the method of proving the existence of a finite basis for superposition, based on the use of a quasi-universal function.

Results and conclusions. The author built quasi-universal functions for the C-class of functions computable at nondestructive Turing machines with output. The resulting function is used to obtain a finite basis for superposition in the C-class. This result can be applied to solve similar problems in classes of computable functions that are close to the C-class.

Key words: nondestructive Turing machines with output, polynomial calculations, finite basis set for superposition.

Введение

В 1953 г. А. Гжегорчик [1] определил иерархию классов {En}, n > 0, исчерпывающих класс примитивно-рекурсивных функций, и впервые поставил вопрос о существовании конечных базисов по суперпозиции в подобных классах. Впоследствии в несколько этапов для многих содержательно интересных и достаточно широких классов рекурсивных функций был получен

положительный ответ на этот вопрос. Так, для классов {En} при n > 3 это сделал Д. Реддинг [2], при n > 2 - С. С. Марченков [3].

На фоне многих эффективных операций, рассматриваемых в теории рекурсивных функций, операция суперпозиция представляется довольно слабой. Поэтому если класс функций имеет конечный базис по суперпозиции, то функции, принадлежащие базису, в значительной мере отражают специфику класса. Это подогревает интерес к проблеме существования конечных базиса по суперпозиции, к характеру и свойствам входящих в него функций [4-6]. Тем не менее для многих классов функций, хорошо известных в теории рекурсивных функций (пример класс функций, элементарных по Сколему), этот вопрос остается пока открытым.

С другой стороны, в теории «вычислимости» имеется немало классов функций, которые задаются с помощью различных вычислительных устройств и для которых вопрос о существовании конечных базисов по суперпозиции связан с построением «универсальных» функций специального вида - так

называемых квазиуниверсальных функций [6, 7]. Особый интерес этот вопрос приобретает для различных классов полиномиально вычислимых функций -именно полиномиально вычислимые функции считаются «практически вычислимыми» в современной теории сложности вычислений. При этом весь класс полиномиально вычислимых функций по ряду параметров (например, ввиду наличия функций со сверхполиномиальным ростом) может и не входить в совокупность исследуемых классов.

В работе [8] введен класс C словарных функций, вычислимых на нестирающих машинах Тьюринга с выходом. Этот класс является примером класса, состоящего из полиномиально вычислимых функций и использующего при вычислении функций весьма ограниченные вычислительные средства. Стоит еще отметить, что класс С не имеет индуктивного определения. Поскольку данный класс перечислим, естественно возникает вопрос о существовании в нем конечного базиса по суперпозиции. В силу специфики определения класса С этот вопрос не может быть решен на основе применения известных аналогичных результатов для других классов.

В настоящей работе мы доказываем, что в классе С существует конечный базис по суперпозиции. Доказательство основано на построении и использовании квазиуниверсальной функции.

1. Основные понятия

Будем рассматривать алфавит У = {1,2} и множество всех слов У

в этом алфавите, включающее пустое слово Л . Обозначим длину слова х через | х|, причем | Л | = 0 . Для периодических слов будем использовать степенные обозначения, например: 1й - слово, состоящее из п единиц.

Рассмотрим двуленточную нестирающую машину Тьюринга Т с ленточным алфавитом {0,1,2} . На первой (входной) ленте машины Т находятся к головок, которые могут только считывать символы. Машина Т имеет состояния #1,...,, где ql - начальное состояние, - заключительное состояние, и программу, состоящую из команд вида

а1 .--ак#1 ^ЬВ1 .•• , (1)

где о!,...,ак е {0,1,2}, Ь е{1,2,Л}, Г\,...,Вк е{Ь,Я,5"} и I Ф г . Команда имеет следующий смысл: если (1, ..., к )-я головки на входной ленте машины Т обозревают символы а^,...,ак соответственно, а машина находится в состоянии , то в следующий момент времени машина припишет слово Ь справа к слову на второй (выходной) ленте, сдвинет (1, ..., к )-е головки в соответствии с символами В^,...,Ок (Ь - сдвиг влево, Я - вправо, 5 - отсутствие сдвига) и перейдет в состояние qj . Будем считать, что в начальный момент

времени на выходной ленте записано пустое слово Л , а головки не выходят за пределы слова на входной ленте на всем протяжении работы машины Т . Далее, говоря «машина Тьюринга», будем предполагать, что речь идет о машине Тьюринга описанного выше вида.

Всюду определенная функция f (Л},...,xn) вида (X )п ^Х вычислима на машине Т , если для любого набора (м^,...,wn) слов в алфавите {1,2} выполняются следующие условия: машина Т начинает работу в начальном состоянии ^ со словом Ом^Ом^О ...0мп 0 на входой ленте, причем все головки располагаются на крайнем правом символе 0, и завершает работу в заключительном состоянии дг со словом f (м,...,мп) на выходной ленте.

Обозначим через С класс всех словарных функций вида (X )п ^ X , вычислимых на определенных выше машинах Тьюринга.

Будем говорить, что функция f(Х},...,хп) получена из функций go( ХЬ..., хт), £1( хь..., Хп) ,... , gm (хь..., Хп) с помощью операции суперпозиции, если

f (Х1,. , Хп ) g0 (gl(хь- , Хп

х..^ gm ( х1,., Хп ) ).

В работе [6] доказано, что класс С замкнут относительно операции суперпозиция.

Пусть Е - класс всюду определенных словарных функций, Ф - множество одноместных функций из Е . Функцию х, п, t) из класса Е назовем квазиуниверсальной относительно множества Ф, если для любой одноместной функции f из Е найдутся такие слово п и одноместная функция g из Ф, что при всех 11|>| g(х) | будет выполняться равенство f (х) = Q(х,п, t).

2. Кодирование конфигураций и команд

Пусть имеется двуленточная нестирающая машина Тьюринга Т . Определим кодирование н(д) состояний машины Т словами в алфавите X одной и той же длины. Пусть ^иЬ( х) - функция, которая выдает слово, полученное одновременным удвоением каждого символа слова х ; х * у - функция, которая выдает конкатенацию слов х,у , т.е. слово, полученное из слова х приписыванием справа слова у . Данные функции очевидным образом принадлежат классу С .

Под кодом внутренней конфигурации машины Т будем понимать

слово

12 * аоиЬ(2(г) * 12 * аоиЬ(22) * 12 *... * 12 * аоиЬ(2/) * 12 * аоиЬ(н(^)) * 12, (2)

где Н2,...,\ - номера ячеек входной ленты слева направо, которые обозревают головки соответственно с номерами 1,2,.,к , /е{1,2,...,г} . Кодом начальной конфигурации является слово вида (2), где / = ... =/к =1 и I -количество символов на входной ленте. Заметим, что длина кода любой конфигурации ограничена длиной кода начальной конфигурации.

Обозначим через й функцию, которая сопоставляет символам Ь, Я, £ соответственно слова 11, 12, 22. Под кодом команды (1) будем понимать слово

СотСоае = 12 * аоиЬ(12 * аоиЬ(а*) * 12 *...*12 * аоиЬ(а*) *12) * (3)

*12 * <1оиЬ(у(#г-)) * *12 * «¿оиЬ(Ь) *

* 12 * аоиЬ(12 * аоиЬ(^ (В1)) * 12 *... * 12 * аоиЬ(^ (Вк)) * 12) * *12 * аоиЬ(у(#у)) *12,

* г "1 * г 1

где аI = а, , если а, е {1,2} , и а, = Л , если а, = 0 (7 е {1,2,.,к}).

Под списком команд машины Т будем понимать слово

12 * аоиЬ(СотСоае1) * 12 *... * 12 * аоиЬ(СотСоаега) * 12, (4)

где ComCodel,...,ComCodera - коды всех команд машины Т .

3. Функции класса С

Пусть /(х) - одноместная словарная функция из класса С , а машина Т , описанная в разделе 2, вычисляет функцию /(х). Если ^ е {1,2} и слово 0 * w * 0 записано на входной ленте, то слово ^ будем называть приведенным словом для слова 0 * w * 0 входной ленты. Списком слов Х1,...,хп , где

хI е У при 7 е {1,..., п}, будем называть слово

у = 12 * doub( х1) * 12 *••• * 12 * douЬ(хn) * 12, (5)

а слово х. будем называть 7 -м элементом списка у. Число п будем называть длиной списка.

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

• ОеШет(х,7) - функция, которая выдает |7|-й элемент списка х, а если слово х не является списком или |7| превосходит длину списка, то функция выдает слово Л . Машина Тьюринга Тсе!{ет , вычисляющая данную функцию, имеет головки и Функционирование машины состоит из следующих этапов.

1. Проверка: имеет ли слово х вид (5). Для выполнения данной проверки головка Ь проходит один раз по слову х слева направо и машина, используя внутренние состояния, выявляет принадлежность слова х словам вида (5).

2. Преобразование: машина разыскивает |1|-й элемент списка х и выдает его на выходную ленту. Данный этап выполняется следующим образом. Головка // будет двигаться по списку х слева направо, а головка /2 - по слову 1 . Каждый раз, когда головка /1 встречает пару соседних ячеек, в которых записано слово 12, причем 1 - в ячейке с нечетным номером, головка /2 сдвигается вправо на одну ячейку. Если длина списка х не менее|i|, то после прочтения всего слова 1 головка /1 окажется в начале 111 -го слова списка. Оставшиеся детали работы машины Тсе^ет не вызывают затруднений.

• Ое1;Ьа81;Й;еш(х) - функция, которая выдает х^п\ , если слово х имеет

вид (5), иначе функция выдает Л . Машина Тьюринга Тсеьа^цет , вычисляющая функцию Ое1Ьа8Ш;еш, функционирует аналогично машине Тсе^ет .

• ЯешоуеЬа81Иеш(х) - функция, которая по списку х вида (5) выдает слово 12*^иЬ(х^*12*••• *12*^иЬ(хп_1)*12, иначе функция выдает Л .

Машина Тьюринга tremovelastitem работает анал°гичн° машине тселет .

• ОеЮЬ88уш8(х,у) - функция, которая по приведенному слову х и списку

12 * аоиЬ(а1) * 12 * <1оиЬ(а2) * 12 *... * 12 * <1оиЬ(ак) * 12, (6)

выдает

у = 12 * аоиЬ(21) * 12 * аоиЬ(272) * 12 *... * 12 * аоиЬ(2к) * 12, (7)

где а1, а2,..., ак е {1,2, Л} , причем если 1 < Ц <| х |, то а{ есть Ц -й символ слова х , иначе а^= Л .

Машина Тьюринга , вычисляющая функцию ОеЮЬ88уш8,

функционирует по следующей схеме.

1. Проверка: является ли слово у списком вида (6), причем длина

элементов списка у меньше длины слова х .

2. Преобразование: машина выдает на выходную ленту список (7). Машина Т£егоь}&ут18 имеет две головки /1 и /2 . Головка /1 движется по

слову х слева направо, головка /2 - по списку у. Вначале машина выдает слово 12 на выходную ленту. Затем головки /1,/2 начинают движение вправо, за каждым сдвигом головки /2 на две ячейки следует сдвиг головки / на одну ячейку. Таким образом, после прохождения головки /2 по всему слову ^иЬ(2|) головка // окажется на ¡1 -м символе а^ слова х . Далее головка /1 возвращается в начало слова х , а головка /2 продолжает движение по списку у. Вновь машина Т£еоъ$£ут$ выдает на выходную

ленту слово 12 и т.д.

• СапАрр1уСош( х, с, у) - функция, которая принимает значение 1, если машина Тьюринга, имеющая внутреннюю конфигурацию с кодом у и

команду с кодом с, применима к входу с приведенным словом х; в противном случае функция равна Л . Опишем этапы функционирования машины Тьюринга ТсапАрр1уСот , вычисляющей функцию СапАрр1уСот .

1. Проверка: является ли слово с списком вида (3), а слово у -списком вида (2). Проверка проводится аналогично проверке, совершаемой машиной ТСеЛет ; для этого достаточно двух головок.

2. Проверка: верно ли Ое1;Ьа81;Й;ет(у) = ОеШ;ет(с,11), т.е. является ли состояние, представленное в коде у внутренней конфигурации, состоянием в правой части команды, соответствующей коду с команды машины Тьюринга. Данная проверка выполняется моделированием машин ТоегЬазЛет , Тседгет и попарным сравнением очередных символов по мере их поступления на выходе моделируемых машин (при этом на выходную ленту машины ТСапАрр1уСот запись не производится). Если соответствующие

символы не совпадают, то машина ТСапАрр1уСот переходит в заключительное состояние.

3. Проверка: ОеЮЬ88ут8(х, ЯетоуеЬа81Иет(у)) = Ое1Иет(с,1).

4. Преобразование: машина ТСапАрр1уСот выдает 1 на выходную ленту. • Арр1уСот(с, у) - функция, которая по коду у внутренней конфигурации машины Тьюринга и коду с команды, применимой к внутренней конфигурации с кодом у, выдает код непосредственно следующей внутренней конфигурации. Машина Тьюринга Т^рр1уСот , вычисляющая данную функцию, имеет две головки ^ . Функционирование машины разбивается на несколько этапов.

1. Проверка: являются ли слова с, у списками вида (3) и (2) соответственно, имеет ли четвертый элемент списка с длину, равную длине списка у . Головка Ъ проходит по входному слову, в то же время головка используется для подсчета количества элементов списка у и четвертого элемента списка с .

2. Преобразование: машина формирует на выходной ленте список длины к + 1 (к + 1 - длина списка у) следующим образом. Головка Ъ

проходит слева направо по списку ё , где с1 - четвертый элемент списка с ,

кодирующий направление движения головок, а головка Ъ2 - по списку у .

*

Если 7 -м элементом списка ё является слово 11, то 7 -м элементом списка

на выходной ленте будет 7 -й элемент списка у без одного символа 1; если

*

7 -м элементом списка а является слово 12, то 7 -м элементом списка на

выходной ленте будет 7 -й элемент списка у ; если же 7 -м элементом списка

*

а является слово 11, то 7 -м элементом списка на выходной ленте будет конкатенация 7 -го элемента списка у и символа 1. (к + 1)-м элементом списка на выходной ленте является 5-й элемент списка с .

• КехАпСоп^х, с, у) - функция, которая по приведенному слову х , списку с кодов команд машины Тьюринга и коду внутренней конфигурации у выдает код следующей внутренней конфигурации, в остальных случаях значением функции является пустое слово. Функционирование машины Тьюринга Т^еХ11пСоп[ , вычисляющей данную функцию, можно разделить на

следующие этапы.

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

1. Проверка: является ли слово с списком вида (4), а слово у - словом вида (2). Данный этап проводится с использованием одной головки.

2. Преобразование: машина последовательно просматривает элементы

списка с и моделирует вычисление функции СапАрр1уСош(х,с ,у), где

*

с - очередной элемент списка с. Если значением функции

СапАрр1уСош(х, с , у) является 1, то машина Т^ехАпсо^ моделирует вычис-

*

ление функции Арр1уСош(с , у) и записывает результат моделирования на выходную ленту; в противном случае машина продолжает просмотр элементов списка с .

• Ргт1;(х, с, у) - функция, которая по приведенному слову х , списку с кодов команд машины Тьюринга Т и коду внутренней конфигурации у выдает слово, которое машина Т припишет к слову на выходной ленте в конфигурации, соответствующей коду у . Функционирование машины Тьюринга Тр^, вычисляющей данную функцию, можно разделить на следующие этапы.

1. Проверка: является ли слово с списком вида (4), а слово у - словом вида (2).

2. Преобразование: машина последовательно просматривает элементы

**

списка с и моделирует вычисление функции СапАрр1уСош(х,с ,у), где с -очередной элемент списка с . Если значением функции СапАрр1уСош(х,с, у) является 1, то машина Трип выводит на выходную ленту третий элемент

списка с ; в противном случае машина продолжает просмотр элементов списка с .

4. Определение функции 1пСопГ в классе С

Пусть 1пСоп£Х х, с, у, Ъ, t) - функция, которая по приведенному слову х , списку с кодов команд машины Т , слову у, являющемуся кодом внутренней конфигурации машины Т в начальный момент времени, и слову Ъ, состоящему только из символов 1 и имеющему длину не меньшую (| х|+2)к , где к - количество головок машины Т, выдает код внутренней конфигурации машины Т в момент времени 111; при t = Л значением функции является слово у . Для остальных значений аргументов х, с,у,Ъ, t значения функции 1пСо^ для нас несущественны, они определяются «автоматически» при использовании всюду определенных функций из предыдущих разделов.

Утверждение 1. Функция 1пСоп£'( х, с, у, Ь, 7) принадлежит классу С.

Доказательство. Опишем функционирование двуленточной нестира-ющей машины Т^п , вычисляющей функцию 1пСоп£'(х,с, у,Ь, 7).

Заметим, что функцию 1пСо^ (без учета параметра Ь) можно определить примитивной рекурсией с использованием функции №хИпСоп£ В этом определении функционирование машины Т^сп разбивается на шаги. Каждый шаг есть моделирование работы машины Т^ех{1псоп/ , начиная с начального состояния машины Т^ехдпсоц[ , заканчивая заключительным состоянием машины Т^ехдпСоп/ . Выход моделируемой машины Т^ехдпсоп/ - код непосредственно следующей конфигурации машины Т - в таком случае «сохраняется» не на выходной ленте машины Т^Сщ, а с использованием положений головок на входной ленте машины Т^с^ . Этот выход - результат применения машины Т^ехдпСоп/ на предыдущем шаге - выступает в качестве

входного параметра (третьего параметра функции №хИпСоп£) на следующем шаге. Результат 171 -го шага должен быть записан на выходную ленту, после чего машина Т^сп останавливается.

При проведении этого рекурсивного процесса в классе С возникают трудности, связанные с «запоминанием» кода очередной конфигурации машины Т , а именно с положением головок машины Т на входном слове. Поскольку число к головок машины Т произвольно, а число головок машины ТыСоп/ фиксировано, необходимо дополнительное расширение зоны работы

машины Тпсп , которое задается словом Ь .

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

Укажем распределение функций для некоторых головок машины

Т1пСоп/ .

Головка Ъ( машины Т^сп предназначена для «хранения» кода состояния машины Т перед началом очередного шага итерации. Для этого

головка Ъ устанавливается на первый символ слова douЬ(douЬ(н( ))), входящего в слово с . Для изменения положения этой головки потребуется еще некоторое число вспомогательных головок, для которых мы не вводим специальных обозначений. Дополнительно потребуется головка ъг , которая аналогичным образом будет «хранить» состояние непосредственно следующей конфигурации машины Т . Положение головки определяется (к +1) -м элементом списка на выходе машины Т^ех{1псоп/ на текущем шаге, а положение

Ъ определяется положением головки в начале очередного шага.

Головка Ъ2 машины Т^с^ своим положением на ленте отмечает натуральные числа, кодирующие положение головок на входной ленте маши-

Известия высших учебных заведений. Поволжский регион ны Т . Если головки машины Т обозревают ячейки с номерами ¡1,¡2,.,¡к , где ¡1,¡2,.,¡к е {1,2,...,| х | +2}, то головка/ отмечает ячейку слова Ъ с номером

(¡1 _ 1) • (| х | +2)к_1 + ... + (¡к_1 _ 1) • (| х | +2) + ¡к, (8)

где отсчет ведется с крайнего левого символа слова Ъ . Если слово Ъ имеет длину, не меньшую (| х | +2)к , то головка /2 будет располагать достаточным количеством ячеек для представления числа (3). Если же указанное слово имеет меньшую длину, то при попытке расположить головку /21 над ячейкой с номером, большим | Ъ|, головка сойдет со слова Ъ , машина Т^сп перейдет в заключительное состояние, а на выходной ленте будет записано пустое слово. Для перемещения головки /2 потребуется еще некоторое количество вспомогательных головок машины Т^сп ; мы подразумеваем, что они у

машины Тпсп имеются. Кроме того, потребуется головка /2 , которая по

аналогии с головкой /2 своим положением будет кодировать положения головок на входной ленте машины Т на следующем шаге.

Головка /3 машины Т^сп своим положением на слове t «хранит»

номер текущего шага процесса моделирования машины Т^ехдпсоп/ . Данная

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

Головки /41,/42,.,/4т машины Т^сп полностью повторяют движения соответствующих головок машины Т^еХ11псоп/ , где т - количество головок машины Т^ехдпсоп/ . Помимо этого, потребуется ряд дополнительных головок, которые используются для определения символов, обозреваемых головками машины Т^ехдпсоп/ . Если головка /41, где 1 е{1,2,...,т},

обозревает символы слов х, с (проверка этого реализуется с использованием состояний машины Т^сп), то и соответствующая головка машины Тыехапсоп/ обозревала бы этот символ. Если головка /41 обозревает ячейку

слова у, то машина Тпсп , используя головки , к^ , может «определить», какой символ обозревала бы соответствующая головка машины Т^ехдпсоп/ .

Следует заметить, что выходом машины Т^ехдпсоп/ является либо пустое слово Л , тогда машина Тпсп переходит в заключительное состояние,

либо список длины к +1, тогда:

1) при формировании первых к элементов данного списка во время

моделирования машины Т^ех^1псоп/ машина Т^сп сдвигает головку /2

в соответствии с описанным выше алгоритмом,

2) при формировании к +1 элемента списка машина Т^с^ сдвигает головку .

Получаем, что машина Т1псоп/ построена, функция 1пСо^ принадлежит классу С .

5. Квазиуниверсальная функция класса С

Пусть Ц - множество всех словарных функций, которые можно получить операцией суперпозиция из функций

1,2, х * у^оиЬ( х),1|х|.

Утверждение 2. В классе С существует функция, квазиуниверсальная относительно множества Ц .

Доказательство. Рассмотрим произвольную функцию /(х) е С . Существует машина Тьюринга Т , вычисляющая данную функцию не более чем за г • (| х | +2)к тактов, где г - число состояний машины, к - количество головок на ленте.

Пусть функция с(х) выдает список кодов команд машины Т , функция у(х) выдает код внутренней начальной конфигурации машины Т , функция Ь(х) выдает слово, состоящее только из символов 1 и имеющее длину

г • (| х | +2)к . Очевидно, что указанные функции принадлежат множеству Ц .

Заметим, что

/ (х) = Ргт1;(х, с( х),1пСоп£"( х, с( х), у (х), Ь( х), Л)) * *Ргт1;( х, с( х), ТпСо^ (х, с( х), у (х), Ь( х),1) *

*Ргт1;( х, с( х), 1пСо^ (х, с( х), у (х), Ь( х), Ь( х))). Отсюда следует, что функцию / (х) можно задать в виде 0( х,12 * doub(c( х)) * 12 * doub( у( х)) * 12 * doub(b( х)) * 12,Ь( х)),

при этом функцию д(х,п, 7) можно вычислить на машине Тьюринга Тд , которая последовательно вычисляет значения Ргт1;(х,^ДпСоп^х,п^п3,7)) при 7е {л,1,.,1|/|}, где п^п2,п3 - первый, второй и третий элементы списка

п, а результат вычисления значения Рпп1;(х,^ДпСоп^х,п^п2,п3,7)) поступает на выход машины Тд .

Теорема. В классе С существует конечный базис по суперпозиции.

Доказательство. Из того что для любой функции /(х1,...,хп) е С су*

ществует одноместная функция / (х) е С такая, что

f *(xb...,xn) = f (12 *doub(xj) *12 *...*12 *doub(xn) *12),

и утверждения 2 следует, что множество

{1,2, x * y,doub( x),1|x|, Q( x, n, t)}

является конечным базисом по суперпозиции класса C .

Список литературы

1. Grzegorczyk, A. Some classes of recursive functions / A. Grzegorczyk // Rozprawy Matematyczne. - 1953. - Vol. 4. - P. 1-46.

2. Rödding, D. Über die Eliminierbarkeit von Definitionsschemata in der Theorie der rekursiven Funktionen / D. Rödding // Z. Math. Logik Grundlagen Math. - 1964. -Bd. 10. - S. 315-330.

3. Марченков, С. С. Устранение схем рекурсий в классе Гжегорчика E2 / С. С. Марченков // Математические заметки. - 1969. - Т. 5, № 5. - С. 561-568.

4. Волков, С. А. Пример простой квазиуниверсальной функции в классе иерархии Гжегорчика / С. А. Волков // Дискретная математика. - 2006. - Т. 18, № 4. -С. 31-44.

5. Mazzanti, S. Plain bases for classes of primitive recursive functions / S. Mazzanti // Mathematical Logic Quarterly. - 2002. - Vol. 48. - P. 93-104.

6. Марченков, С. С. Базисы по суперпозиции в классах рекурсивных функций / С. С. Марченков // Математические вопросы кибернетики. - 1991. - Вып. 3. -С. 115-139.

7. Осипов, К. В. О квазиуниверсальных словарных функциях / К. В. Осипов // Вестник Московского университета. Сер. 15. Вычислительная математика и кибернетика. - 2016. - № 1. - С. 28-34.

8. Марченков, С. С. Об элементарных словарных функциях, получаемых на основе ограниченной префиксной конкатенации / С. С. Марченков // Дискретная математика. - 2015. - Т. 27, № 3. - С. 44-55.

References

1. Grzegorczyk A. Rozprawy Matematyczne [Mathematical apparatus]. 1953, vol. 4, pp. 1-46.

2. Rödding D. Z. Math. Logik Grundlagen Math. [Foundations of mathematical logic]. 1964, vol. 10, pp. 315-330.

3. Marchenkov S. S. Matematicheskie zametki [Mathematical notes]. 1969, vol. 5, no. 5, pp. 561-568.

4. Volkov S. A. Diskretnaya matematika [Discrete mathematics]. 2006, vol. 18, no. 4, pp. 31-44.

5. Mazzanti S. Mathematical Logic Quarterly. 2002, vol. 48, pp. 93-104.

6. Marchenkov S. S. Matematicheskie voprosy kibernetiki [Mathematical problems of cybernetics]. 1991, iss. 3, pp. 115-139.

7. Osipov K. V. Vestnik Moskovskogo universiteta. Ser. 15. Vychislitel'naya matematika i kibernetika [Bulletin of Moscow University. Series 15. Calculus mathematics and cybernetics]. 2016, no. 1, pp. 28-34.

8. Marchenkov S. S. Diskretnaya matematika [Discrete mathematics]. 2015, vol. 27, no. 3, pp. 44-55.

Осипов Кирилл Владимирович аспирант, Московский государственный университет имени М. В. Ломоносова (Россия, г. Москва, ул. Ленинские Горы, 1)

E-mail: d503@acmer.me

Osipov Kirill Vladimirovich Postgraduate student, Lomonosov Moscow State University (1 Leninskie Gory street, Moscow, Russia)

УДК 519.716 Осипов, К. В.

Конечный базис по суперпозиции в классе функций, вычислимых на нестирающих машинах Тьюринга с выходом / К. В. Осипов // Известия высших учебных заведений. Поволжский регион. Физико-математические науки. - 2016. - № 3 (39). - С. 73-85. БОТ 10.21685/2072-3040-2016-3-5

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