Текст
                    Библиотека
ибернетического
БОРНИКА
Сложность
вычислений
и алгоритмов


Библиотека «Кибернетического Сборника» СЛОЖНОСТЬ ВЫЧИСЛЕНИЙ И АЛГОРИТМОВ Сборник переводов Под редакцией В. А. КОЗМИДИАДИ, А. Н. МАСЛОВА, Н. В. ПЕТРИ Издательство «Мир» Москва 1974
УДК 510: 164 Затрагиваемые в сборнике проблемы математической логики тесно связаны с теорией вычислительных машин. В книге рассматриваются модели вычислительных устройств, их классификация, классификация языков, оцепки сложности вычислений и оценки сложности программ. Развивается связанный со сложностью программ подход А. Н. Колмогорова к обоснованию теории вероятностей и теории информации. В настоящее время эти вопросы начинают привлекать большое число исследователей. Перевод ряда более ранних работ содержится в сборнике «Проблемы математической логики» («Мир», 1970). Кпига рассчитана на читателей, интересующихся современными проблемами теории алгоритмов и автоматов, математической лингвистики, вычислительных машин п программирования. Она будет полезна студентам и аспирантам указанных специальностей. Редакция литературы по математическим паукам С /wi/ni\ 74 35-74 © Перевод на русский язык, «Мир», 1974
ПРЕДИСЛОВИЕ РЕДАКТОРОВ ПЕРЕВОДА В вычислительной технике и смежных областях часто возникают трудные математические задачи. При рассмотрении таких задач важно учитывать их соотношение с другими разделами математики, появление возможных новых сфер приложения, число возникающих по ходу исследования комбинаторных задач. В статьях предлагаемого сборника затрагивается круг задач, которые представляются интересными независимо от поворотов в развитии вычислительной техники и которые в то же время оказывают влияние на это развитие. На уровне моделей вычислительных устройств рассматриваются две противоположные, но тесно связанные задачи программирования: построение вычисления с простейшей программой и построение наиболее экономного вычисления. Переводы ряда более ранних публикаций по указанной тематике содержатся в сборнике [1]; большинство глав настоящего сборника можно рассматривать как его продолжение. За последние 20 лет изучалось весьма большое число различных моделей вычислительных устройств и различных формальных определений простейшего вычисления, т. е. вычисления с простейшим (например, в смысле длины записи) алгоритмом, и наиболее экономного вычисления (в смысле затрачиваемых вычислительных ресурсов). В сложившейся ситуации наиболее естественным был бы аксиоматический подход. Имеются определенные шаги в этом направлении (см., например, разд. III настоящего сборника). Но удовлетворительного аксиоматического определения вычислительного устройства еще не предложено. Изучаемые конкретные модели можно считать исходным материалом для построения аксиоматики. Кроме того, сложностные методы оказываются полезными при рассмотрении задач разрешимости, классификации функций и языков, определении понятия случайности. Видимо, целесообразно включать в курсы лекций по теории вычислительных машин и программированию результаты, связанные с проблематикой настоящего сборника. В разд. I собраны работы, посвященные классификации рекурсивных функций по сложности их задания (см. также первую часть и добавление редактора в сборнике [1]). В разд. fT содержатся две статьи по классификации бесконтекстных и контекстных языков соответственно. Мы не включили работы по теории языков и трансляторов, тесно связанные с рассматриваемыми вопросами, так как предполагается издание специального сборника переводов «Языки и автоматы». Результаты разд. III связаны с «неограниченно оптимизируемыми» в определенном смысле процессами, такими, как нахождение
6 Предисловие редакторов перевода все более быстрых программ, вычисляющих заданную функцию, уменьшение длин доказательств теорем при добавлении новых независимых аксиом. Время вычисления (сигнализирующая), сложность алгоритма (длина программы) и длина доказательства определяются аксиоматически. В дополнении 1 описано устройство классов сигнализирующих для вычислений заданной функции. В дополнении 2 рассмотрена связь между ускорением вычислений и ускорением доказательств. В последние годы заметно увеличилось число работ, в которых изучаются машины Тьюринга с определенными ограничениями на способ вычисления и близкие к машинам Тьюринга модели, получены сильные результаты, касающиеся соотношения классов сложности функций, вычислимых на машинах Тьюринга. Особенно следует отметить результаты Патерсона, Кука и Штосса. Эти работы помещены в разд. IV и V. Из моделей, существенно отличающихся от машин Тьюринга, в статьях разд. V рассмотрены итеративные сети, счетчиковые машины и операторы комбинаторной логики. Темой изучения в разд. VI является предложенный Колмогоровым [2] подход к определению случайности и количества информации. Из последующих работ отметим также обзор [3] и статью [4]. Читателю следует обратить внимание на контраст (в подходах) между двумя статьями этого раздела. Для понимания большинства статей достаточно знакомства с элементами теории алгоритмов, например, в объеме гл. 1—3 и § 12 книги [5] или гл. 1 — 5 книги [6]. Для чтения разд. I, III — V полезно знакомство со сборником переводов [1], для чтения разд. II — с монографией [7], для чтения разд. III — с гл. 10 и И книги [6] и для чтения разд. VI — с работами [2, 3]. СПИСОК ЛИТЕРАТУРЫ 1. Сборник «Проблемы математической логики», изд-во «Мир», М., 1970. 2. Колмогоров А. Н., Три подхода к определению понятия «количество информации», Проблемы передачи информации, 1, вып. 1 (1965), 3—11. 3. Звонкий А. К., Левин Л. А., Сложность конечных объектов и обоснование понятий информации и случайности с помощью теории алгоритмов, УМН, 25, вып. 6 (1970), 85-127. 4. Willis D. G., Computational complexity and probabilistic construction, /. Assoc. Comput. Machinery, 17, 2 (1970), 241—259. 5. Мальцев А. И., Алгоритмы и рекурсивные функции, изд-во «Наука», М., 1965. 6. Роджерс X., Теория рекурсивных функций и эффективная вычислимость, изд-во «Мир», М., 1972. 7. Гинзбург С, Математическая теория контекстно-свободных языков, изд-во «Мир», М., 1970. В. А. Козмидиади А. Н. Маслов Н. В. Петри
I. КЛАССИФИКАЦИЯ РЕКУРСИВНЫХ ФУНКЦИЙ ЭКВИВАЛЕНТНОСТЬ РАЗЛИЧНЫХ ИЕРАРХИЙ ЭЛЕМЕНТАРНЫХ ФУНКЦИЙ !) Г. Г. Херман 1. Введение Элементарные функции образуют подкласс К класса вычислимых функций. За последние десять лет было проведено много исследований, связанных с иерархиями элементарных функций. Иерархией элементарных функций называется такая последовательность Н0, Hi, . . . классов функций, что Ht cz Hi+i для всех оо i ^ О, (J Hi = К, причем есть некоторое основание считать, г=0 что функция, принадлежащая Hi+i\Hi, более сложно вычислима, чем любая функция из Hi- Определение и обсуждение элементарных функций содержится в статье Гжегорчика [2], а в статьях Хермана [3, 4] выясняется, чем интересны иерархии элементарных функций. В зависимости от точек зрения могут быть различные иерархии. Ричи [5] и Херман [4] принимают в качестве меры вычислительной сложности функции длину ленты машины Тьюринга, используемой при вычислении этой функции. С другой стороны, Клив[1] рассматривает вычисления, производимые на некоторой машине с неограниченными регистрами URM (Шепердсон, Стургис [6]), и измеряет вычислительную сложность функции числом команд (условного) перехода (jump instructions), выполняемых машиной. В обоих случаях смутное понятие «вычислительной сложности элементарной функции» заменяется некоторым точным математическим определением. Аналогично обстоит дело с тезисом Чёрча, где понятие эффективной вычислимости уточняется математическим понятием рекур- сивпости. Один из главных аргументов в пользу тезиса Чёрча — эквивалентность всевозможных предложенных до сих пор математических формулировок понятия эффективной вычислимости, весьма различных по виду. Здесь похожее положение. Мы покажем, что иерархии, основанные на каждом из двух упомянутых выше методов, эквивалентны *) Herman G. Т., The equivalence of different hierarchies of elementary functions, Z. Math. Logic und Grundlagen Math., 17 (1971), 219—224.
8 Г. Т. Херман в том смысле, что приводят к очень сходным мерам вычислительной сложности для каждой данной функции. Поэтому мы вправе полагать, что эти иерархии дают разумный способ измерения вычислительной сложности элементарных функций. Ричи [5] построил такую иерархию F0, Fu F2, . . . вычислимых оо функций, что U Ft есть в точности класс К. При этом он рас- г=0 сматривал длину ленты, которую использует машина Тьюринга при вычислении функции, причем эта машина имеет фиксированный алфавит и работает с двоичными кодами чисел. Херман [4] показал, что иерархия не изменится, если отбросить ограничение фиксированности алфавита. Он дал простую характеризацию классов Ft и ввел новую иерархию 6?4, £2, &з> • • • элементарных функций, в которой каждый класс Gt просто определяется в терминах длины ленты, используемой машиной Тьюринга при унарном кодировании. Он показал, что Ft cz Сг-+1 cz Fi+l для всех i ^ 0, причем все включения строгие. Следовательно, эта новая иерархия столь же хорошо отражает вычислительную сложность, как и иерархия Ричи, основанная на двоичном кодировании. В этом смысле иерархии {Ft} и {Gt} эквивалентны. Можно показать, что место каждой элементарной функции в иерархии {Gi} определяется проще и эффективнее, чем по методу Ричи [5]. Иной подход выбрал Клив [1]. Он определил иерархии Е (2)0, Е (S)i, Е (2)2, • • . вычислимых функций, рассматривая число переходов (jumps) J-ограниченыой машины (варианта неограниченно-регистровой машины Шепердсоыа—Стургиса [6]) и используя функции из 2 в качестве базисных операций. Клив показал, что для Si = { + , х, 6} 2 = 0 В настоящей статье мы предполагаем знакомство с работой Хермана [4] *) и первыми тремя разделами работы Клива [1]. Мы будем свободно пользоваться определениями и терминологией каждой из этих работ. Мы рассмотрим также иерархию Клива Е (20)ь гДе 20 = оо = { + , S}, и покажем, что (J Е (20)г = К и что обе эти иерархии 2 = 0 Клива дают по существу такую же классификацию элементарных функций, что и иерархии {Ft} и {Gt}. Это указывает на некоторую устойчивость упомянутых классификаций. х) Краткое содержание работы [4] излагается в добавлении переводчика к данной статье.— Прим. перев.
Эквивалентность различных иерархий элементарных функций 9 2. Эквивалентность иерархий {JE7(20)i}, {Ft} и {Gt} Лемма 1. Если f £ Е (20)г ?г/ж £ ^ 0, то / (х) < /f (A^max (x, 1)) при подходящей константе Kt. Доказательство. Будем доказывать индукцией по i. Для i = О я (2„)о = {/;/ = lP,h],Pe%(20),he<c}. В этом случае вычисление ведется до остановки после выполнения h-ш команды условного перехода. Если число команд в Р равно п, то ясно, что максимальное число, которое может встретиться в любом регистре при вычислении / (х), меньше или равно 2nh max (x, 1). (Это связано с повторяющимися сложениями, поскольку последними командами в Р являются условные переходы.) Следовательно, если / £ Е (20)0, то / (х) < К0 max (x, 1) для подходящей константы К0. Итак, случай i = О разобран. Предположим, что f £ Е (20)г+1 и лемма верна для i. Тогда существует такая функция g £ Е (20)г-, что / является (g, 20)- вычислимой функцией. Как и раньше, найдется такое целое число L > 0, что наибольшее число, которое может встретиться в любом регистре при вычислении /, есть 2Lgix)max(x, i)<-2L/*(K*max(x' 1)}max(x, 1)</ж (Яжтах (х, 1)) при достаточно большом Ki+i. Лемма 2. Е (20)£с= Ft при i > 1. Доказательство. Пусть / £ Е (20)г- (i ^ 1). Тогда существует такая функция g £ 2? (20)г_4, что / является (g, 20)- вычислимой и ни в одном регистре при вычислении / не встретится число, превосходящее ft (Kt max (x, 1)). (Это следует из доказательства леммы 1.) Если это вычисление использует г регистров, то легко видеть, что / можно вычислить на машине Тьюринга Т так, что a/ir^2r(loga(Mtf«max(x, 1)) + 1))</Ь1 (К max (x, 1)) для достаточно большой константы К. Следовательно, согласно теореме 1 из работы [4], / £ Ft. Лемма 3. fi £ Е (H0)i при i ^ 0. Доказательство. Для i = 0 лемма тривиальна. Программа, согласно которой содержимое регистра (исходное содер-
10 Г. Т. Херман жимое равно 1) прибавляется к нему же, (ft, 20)-вычисляет функцию /г+i. Поэтому из справедливости леммы для i следует ее справедливость для i + 1. Лемма 4. Gtci E (S0)f+1 при i ^ 1. Доказательство. Если / £ G*, то по определению 6 из работы [4] существуют такая машина Тьюринга Т, унарно вычисляющая /, и такое целое число К, что 6/.r</i-i(£max(x, 1)). Если алфавит машины Т состоит из N символов и у машины М состояний, то лента такой длины может иметь не более Mft-i (К max (х, 1)) Nf^ (*max (x' 4))</f (К' max (xf 1)) (для подходящего К') различных описаний. Таким образом, вычисление должно заканчиваться не более чем за ft (/£'тах (х, 1)) шагов (в противном случае Т зациклится). Машину Т можно промоделировать на URM. Типичное описание машины Тьюринга Т таково: Лента может быть задана тремя числами 2<^\ s, S С|ЛГ*, г=0 i=0 где каждый символ в алфавите машины Т рассматривается как цифра в TV-ичной системе счисления (в частности, * рассматривается как 0, а 1 как цифра 1 в этой системе). Эти три числа содержатся в трех регистрах машины URM, которые мы обозначим D, S и С. Каждому состоянию q машины Т соответствует подпрограмма URM следующего вида. Сначала выясняется, чему равно S. На это уходит самое большее М условных переходов х). Тогда в зависимости от S происходит переход к подпрограмме, моделирующей шаг машины 71, производимый, когда Т считывает S в состоянии q. х) Лучше сказать, как у Клива [1]: команд выбора.— Прим. перев.
Эквивалентность различных иерархий элементарных функций 11 Это начинается при замене S на S'. Тогда происходит движение налево или направо. Допустим, что налево. Числа D, S и С заменяются при этом на оо оо г=1 г=0 Третье число можно получить без команд выбора (за N сложений). Для получения первого и второго чисел можно воспользоваться следующим способом. ' Сначала заметим, что оо г=1 оо оо г=0 г=1 Используем три регистра Л, Д', R" (во всех сначала находятся нули). Повторно увеличиваем значения регистров R и R' на 1 и проверяем, верно ли, что R — D. Полагаем R' снова нулем и увеличиваем R" на 1 каждый раз, когда значение R' достигает N. Когда R принимает значение D, значение R" будет равно [DIN], a R' будет содержать число D —[DIN]. "^\ Команды выбора встречаются только после проверки равенства R = D, так что в этой части вычисления будет не более оо 2 2 diN1 команд выбора. Так как длина ленты машины Т всегда г=0 меньше, чем /г_4 (К max (x, 1)), то оо 2 2 diNi^2N,*-*iKw{X9 1)}</f (if"max(x, 1)) г=0 для подходящей константы К". Итак, каждый шаг вычисления на машине Т может быть промоделирован на URM с помощью не более чем ft {К" max (x, 1)) команд выбора, где К"—некоторая константа. Поскольку в общем вычислении не более ft {Kr max (x, 1)) шагов, при подходящей константе L будет не более ft (L max (x, 1)) команд выбора. Нам нужно установить теперь, что начальное содержимое регистров D, S и С можно получить на URM. Этот процесс кодирования необходим, потому что при вычислении функции на URM в ее первых п регистрах должны находиться аргументы х, а остальные регистры должны быть пустыми. Можно считать, что вначале машина Тьюринга Т считывает ячейку, предшествующую первой
12 Г. Т. Херман единице в определении 4 (i) г) из работы [4]. Тогда D = S = О, а С можно получить так: пусть в регистре / стоит 1. Тогда прибавляем / к нему самому N раз. После i-то повторения регистр/ будет содержать N1. Сложим вместе №, N\ .*., JVXi, NXi+\ NXi+3, . .., 7V*1+X2+2, ... дгХ1-Нс2+...+хЛ_1+2 (n-l)+l дгХ1+Х2+...+л:д+2(п-1) Это можно сделать при проверке числа сложений содержимого регистров /?ь /?2, • . ., Rn соответственно. Для этого требуется не более 2п max (х, 1) команд выбора, так что оценка, данная выше, не изменится. Процесс декодирования, т. е. получения из заключительного значения С значения функции, по существу является обращением описанной выше процедуры. Но на этот раз будет декодироваться только одно число, и нам нужно лишь проверить, с каким пока- г зателем степени i входит N в /, когда 2 № = С. Это требует <7=0 менее С команд выбора и не меняет данную выше оценку. Пусть h — функция, заданная равенством h (х) = ft (L max (x, 1)). Тогда / является (A, 2 0)-вычислимой функцией. Можно показать (аналогично доказательству леммы 3), что h £ Е (2oh- Таким образом, f £ Е (20)г+1. Теорема 1. При всех i ^ О Ft a Gi+i а Е (20)г+2 cz Fi+2 a Gi+3. Доказательство. Это с очевидностью вытекает из теоремы 2 работы [4] 2) и из лемм 2 и 4. оо Следствие 1. U E(L0)i = K. Теперь можно заключить, что последовательность Е (20)0, Е (20)ь . . . образует иерархию элементарных функций и что эта иерархия в существенном совпадает с иерархиями {Ft} Ричп [5] и {G(} Хермана [4]. х) Машина Т считывает ячейку, стоящую перед цепочкой l^+^i^H **... ... *1ад+1? кодирующей набор числовых аргументов (а\, ..., ап). — Прим. перев. 2) В теореме 2 из работы [4] утверждается, что Ft d £j+i ^ ^i+i (i>0).— Прим. перев.
Эквивалентность различных иерархий элементарных функций 13 3. Эквивалентность иерархий{Е(1ц)г}, {Ft} и {Gt} Лемма 5. Если f £ Е (2i)j при i ^ О, то /(x)</2,+ 1(Zfmax(x, 1)) 7г/ж подходящей константе К(. Доказательство. Если i = О, то тем же способом, что и в лемме 1, можно показать, что максимальное значение, принимаемое каждым регистром в процессе вычисления функции / в 2? (S^o, равно (max (х, 2))2 для подходящей константы L. Поэтому /(x)<2Komax(x'1)</1(Komax(x, 1)). Предположим, что / £ Е (Si)j+i и лемма верна для i. Тогда так же, как в лемме 1, можно показать, что найдется такое натуральное число L, что содержимое любого регистра никогда в процессе вычисления не превзойдет (max (х, 2)fLt^(К<max (х' ад</.«« <*ж max (x, 1)) для достаточно большого Ki+i. Лемма 6. £ (24)г d £21+1 гари £ ^ !• Доказательство то же, что и в лемме 2, но вместо леммы 1 в нем используется лемма 5. Лемма 7. f2i 6 £ (24)г ?г/ш i ^ 0. Доказательство. Это очевидно для i = 0. Предположим, что лемма верна для I. Тогда, внося двойку в регистр и умножая его содержимое повторно на себя (с последующей командой выбора), мы видим, что функция /2;+2 является (f2i, S^-вычислимой. Поэтому /ог-+2 6 Е (Si)i+i. Лемма 8. G2i cz E (S^+i при i ^ 1. Доказательство то же, что и в лемме 4, но вместо леммы 3 используется лемма 7. Теорема 2. При всех i ^ 0 F2iM с: G2i+2 <= Е (Zi)i+2 cz F2i+5 cz G2i+6. Доказательство. Это с очевидностью вытекает из теоремы 2 работы [4] и из лемм 6 и 8. Итак, иерархия Е (S4)г- Клива в существенном совпадает с рассмотренными выше иерархиями, но она грубее.
14 Г. Т. Херман 4. Заключение Мы установили, что два существенно различных способа построения иерархии элементарных функций, отражающие трудность вычисления этих функций, приводят по существу к одинаковым иерархиям. Изменения, связанные с ограничением (или снятием ограничения) алфавита или со способом кодирования в первом случае (теорема 2 из работы [4]), и изменения основного множества 2 (теоремы 1 и 2) во втором случае не сказываются существенным образом на иерархиях. Ясно также (доказательство леммы 4)г что, основываясь в первом случае па временной, а не на пространственной мере сложности вычисления, мы получим приблизительно такую же иерархию. Ввиду этого мы не без основания можем считать, что каждая из этих иерархий дает разумный метод измерения вычислительной сложности элементарных функций. В работе [3] иерархия {Gt} рассматривается как наиболее подходящая мера вычислительной сложности, главным образом потому, что для этой иерархии легче всего определяется наименьший класс, содержащий заданную функцию (Херман [4, § 4]). О моделировании одних машин другими г) В статье Хермана [4] приведен некоторый способ определения классов элементарных функций Ричи, отличный от способа Ричи, и введена новая классификация элементарных функций, основанная на унарном кодировании чисел. Сначала рассматривается /b-ичное (к > 1) кодирование чисел и отмечается, что всякую функцию /, вычисляемую на некоторой машине Тьюринга Т, можно вычислить на машине Тьюринга^ с алфавитом (*, 0, 1) на зоне (т. е. при максимальной длине ленты), не более чем в I раз (I —константа) превышающей зону машины Т. Определяется последовательность функций {/г- (х)}: /о(х) = х, /ж(х)=2/«(ж). При этом /t (К max (хи . . ., хп, 1)) £ Ри гДе Pi —класс Ричи (доказывается индукцией по i). Классы Ричи характеризуются теперь так: функция / принадлежит классу Ft тогда и только тогда, когда существуют такая машина Тьюринга Г, вычисляющая функцию / (в двоичном коде), и такая константа К > О, что r \af> г (х) < /г._! (К max (x, 1)), где х = (хи . . ., хп), п = 1, 2, . . ., a af>T (x) —зона, используемая машиной Т при вычислении функции / от аргумента х. Далее предлагается кодирование аргумента х цепочкой l*i+1 * ) Добавлено переводчиком.— Прим. ред.
Эквивалентность различных иерархий элементарных функций 15 *1*2+1*. . . * \хг& . Через bftT обозначается зона, используемая машиной Г, вычисляющей функцию / в унарном ко^де. Класс Gt (Хермана) состоит из всех таких функций /, для которых найдется такое число К > 0, что Ъит (х) </*-! (Zmax (x, 1)). Нетрудно доказать, что Gf состоит из тех и только тех функций / класса Ft Ричи, рост которых ограничен некоторой функцией (зависящей от /) из класса Fi-i (i ^ 1) или, конкретнее, некоторой функцией вида /г_! (L max (х, 1)), где L зависит от /. Отсюда ясно включение Ft a Gi+i с: Fi+i. Эти факты устанавливаются переходами (моделированием) от машин с двоичным кодированием чисел к «унарным» машинам и обратно. В связи с этим возникает вопрос об общем понятии моделирования одной машины на другой и сложности такого моделирования, играющий важную роль в теориях управляющих систем и сложности вычислений. При этом большое значение имеют оценки изменения сложности алгоритмов и вычислений при переходе от моделируемой системы к моделирующей. Приведем два определения моделирования. Первое принадлежит Фишеру *): Пусть Mi и М2 — две машины, а р — характеристическая функция, определенная на множестве С2 мгновенных описаний машины М2. Пусть h — отображение множества С2 на множество Ci мгновенных описаний машины Ми а / —функция, взаимно однозначно отображающая С4 в С2, Обозначим через С4 (/, t) мгновенную конфигурацию машины Мi в момент t, если машина начала работу с мгновенной конфигурации / в момент 0 (таким образом, С{ (/, 0) = /). С2 (I, t) определяется аналогично. Определение 1. Для каждого мгновенного описания / машины М\ зададим функцию g на множестве неотрицательных целых чисел рекурсивными уравнениями g (0) = pz [р (Сг (/ (/), z)) = 1], g (t + 1) = nz \z > g (t) & p(C2 (f (I), z)) = 1]. Тогда говорят, что М2 моделирует М\ относительно класса функций %, если для каждого начального мгновенного описания / машины Mi и каждого момента времени t ^ 0 (1) С, (/, t)=k (Сг if (7), g (*))); х) Fisher P., On formalisms for the Turing machines. Appendix, J.A.C.M., 12, № 4 (1965), 579—580.
16 Г. Т. Хермап (2) С± (/, t) будет заключительным мгновенным описанием тогда и только тогда, когда описание С2 (/ (/), g (t)) заключительное; (3) /, g, h e«. Класс % должен состоять из функций, в некотором смысле легко вычислимых. Разумным кандидатом для % может быть класс функций, элементарных по Кальмару. Херман [3] отмечает недостаток этого определения, состоящий, по его мнению, в том, что моделирующая машина копирует каждый шаг моделируемой машины, даже если определенная группа шагов всегда встречается вместе и может быть смоделирована одним шагом моделирующей машины. Это далеко не всегда нужно и удобно, а кроме того, приводит к усложнению определения моделирования. Он предлагает [4] другое определение: Предположим, что мгновенные описания машин изображаются натуральными числами согласно некоторой удобной гёделевой нумерации. Пусть Н — множество функций типа N ->■ N (N — натуральный ряд), / —характеристическая функция множества заключительных описаний, a g —функция, дающая следующее мгновенное описание из предыдущего. Назовем //-вычисляющей системой s упорядоченную пару (/, g) элементов ргз Н. Для данной //-вычисляющей системы s = (/, g) с помощью ^-итерации функции g определяется вход-выход s\ g* (Л, 0) = g (л), g* (/l, t + 1) = g (g* (71, 0), s(n) =£*(*, ]it(f(g*(n, t)) =0)). Функция Ф называется //-вычислимой, если существуют такие функции h и к из Н и такая //-вычисляющая система s, что Ф = А о S о fc, где о обозначает композицию. В этом случае Херман говорит, что система s //-вычисляет функцию Ф. Определение 2. Говорят, что //-вычисляющая система s2 моделирует //-вычисляющую систему su если s2 //-вычисляет sA. Это определение легко приспособить к конкретной проблеме моделирования подходящим выбором множества Н. Оно обеспечивает также простоту теории. Итак, в случае замкнутости множества Н относительно композиции если s3 //-моделирует s2, a s2 //-моделирует si4 то s3 //-моделирует S[. Качество моделирования характеризуется простотой вычисления моделирующей машины, а также простотой кодирования и декодирования. Можно охарактеризовать сложность каждой из этих операций, вводя иерархию в Я, отражающую вычисли-
Эквивалентность различных иерархий элементарных функций \1 тельную сложность функций из Н: #= U Их, Hxc=Hx+i (x>0) а (или даже Н = [] Н х, где а — некоторый ординал >со). х=0 Тогда структурную сложность моделирующей машины (/, g) можно охарактеризовать таким наименьшим числом х, что / и g принадлежат Нхч сложность кодирования и декодирования — таким наименьшим числом х, что h, k £ Нх, и, наконец, эффективность моделирования — таким наименьшим числом х, что Нх содержит функцию, описывающую соотношение между пространственно-временными сигнализирующими моделирующей и моделируемой машин. Обычно в качестве II выбирают класс функций, элементарных по Кальмару, а эти определения можно разобрать на примерз или двух универсальных машин Тьюринга, или универсальных алгоритмов Маркова, или алгоритмов других типов. СПИСОК ЛИТЕРАТУРЫ 1. Cleave J. P., A hierarchy of primitive recursive functions, Z. Math. Logik unci Grundlagen Math., 9 (1963), 331—346. (Русский перевод: Клнв Дж., Иерархия примитивно рекурсивных функций, сб. «Проблемы математической логики», н.чд-во «Мир», М., 1970, стр. 94—ИЗ.) 2. Grzegorczyk A., Some classes of recursive functions, Rozprawy Mate mat. 4 (1953), 1—44. (Русский перевод: Гжегорчик А., Некоторые классы рекурсивных функций, сб. «Проблемы математической логики», нзд-во «Мир», М., 1970, стр. 9—49.) 3. Herman G. Т., The simulation of one abstract computing machine by another, Comm. Ass. Сотр. Mach., 11 (1968), 802—813. 4. Herman G. Т., A new hierarchy of elementary functions, Proc. Amev. Math. Soc, 20 (1909), 557-562. 5. Ritchie R. W., Classes of predictably computable functions, Trans. Amer. Math. Soc, 106 (1963), 139—173. (Русский перевод: Ричп Р. В., Классы предсказуемо вычислимых функций, сб. «Проблемы математической логики», нзд-во «Мир», М., 1970, стр. 50—93.) 6. Shepherclson J. С, Sturgis H. E., Computabilitv of recursive functions, /. Ass. Сотр. Mach., 10 (1963), 217—255.
««-АРИФМЕТИКА х) Дж. П. К лив, Г. Э. Роуз В работе [1] Гжегорчик определил классы функции g7? (для каждого п ^ 0) следующим способом. Исходные функции: U0 (х)~ = х + 1, U{(x, у) = х, U2 (х, у) = у н функции fn (х, у), определяемые равенствами /о (я, у) = у + I, /i (ж, г/) = х + г/, /2 Сг, г/) = (х + 1) (г/ + 1), //,+з (0, у) =Д+2 (» + 1, ?/ + 1), /л+з (х + 1» У) = Д+з (*> /л+з С*", */))• Класс ё'г получается из исходных функций замыканием относительно подстановки (замены свободной переменной па функцию, другую переменную или константу) и ограничен пой рекурсии, определяемой соотношениями ср (0, Xi, . . ., хт) = р (Х[, . . ., я"ш), Ф (г/ + 1, хи . . ., хт) = g (г/, :rb . . ., д-ш, ср (г/, .г,, . . ., хт))9 Ф (г/, Xi, . . ., хт) < г (г/, л*!, . . ., хт), где функции /J, q, г заданы ранее. В работе [1] показано, что fn (х, у) возрастает по х, у и п и что класс %п содержит функции ft (.г, у) при i <in. §п-арифметикой называют арифметическую систему свободных переменных (т. е. бескванторную систему), формулами которой являются равенства между ёп-фупкциями, а правила вывода обычные для примитивно рекурсивной арифметики, а именно подстановка в равенство функции вместо переменной, транзитивность равенства, А = В влечет F (А) = F (В) (замена равного равным) и правило единственности, т. е. если две функции определены одинаковыми схемами уравнений, то они равны (детали см. в [2]). В этой статье мы обсудим некоторые метаматематические свойства ёп-арифметики. Начнем с того, что дадим новую характе- ризацию классов gn, показав, что функцию fn (x, у) можно заменить функцией Аккермана. Используя полученные результаты, х) Cleave J. P., Rose H. E., ^-arithmetic, в сб. «Sets, Modes and Recursive heory», под ред. Crossley, Amsterdam, 1967.
%п-а рифме тика 19 мы покажем, что добавление к Щп определенного класса ограниченных дважды рекурсивных функций не расширяет пашу систему, и этого достаточно, чтобы установить, что универсальная функция (valuation function) для равенств в ^"-арифметике является $п+1-фупкцией при п ^ 2. Применив это к работе Роуз а [3], мы придем к нашему второму главному результату: если п ^ 2, то непротиворечивость ^"-арифметики выводима в ё??+1-арифметике. Наконец, приспосабливая к данному случаю работу Крапзеля [4], мы докажем, что Jf"-арифметика при п ^ 2 категорична по отношению к рекурсивным моделям. Эти результаты аналогичны результатам Ванга [5], который показал, что непротиворечивость некоторых частичных систем элементарной теории чисел (полученных при ограничении числа кванторов) можно установить в подобной же, но несколько усложненной системе (например, допускающей в доказательствах на один квантор больше); при переходе от ^"-арифметики к §"+1-арифметике возрастает сложность функций г). Заметим, что все результаты о ^"-функциях и ^"-арифметике, цитируемые или доказываемые в нашей статье, справедливы при п ^ 2. Иными словами, $2-арифметика (а не ^-арифметика, которая по аналогии с ^-функциями, элементарными функциями, должна быть названа элементарной арифметикой) является наименьшей системой в иерархии Гжегорчика, обладающей этими свойствами. Таким образом, £?2-арифметику (а не ^-арифметику) следует выделить специальным названием; мы предлагаем название примарная арифметика. 1. Функция Аккермана Функция Аккермана определяется уравнениями # о {х, У) = У + 1, gi (х, у) = х + г/, #2 (*, у) = х-у, gn+ъ (0, У) = 1, gn+s (х + 1, у) = gn + 2 (gn+z (я, г/), у). (Так, в частности, g3 (х, у) = ух.) Обозначим через jFn класс функций, полученный из Щп заменой /„ (хч у) на gn (x, у). 2) К л ив [6] построил со2-цепь классов Еа функций, вычисляемых таким образом, что длина вычисления функции / (х) из Еа+и рассматриваемая как функция от х, сама принадлежит Еа, и можно показать, что Ею.г = %r+1 (r = = 1, 2, . . .). Следовательно, положепие функции в иерархии Гжегорчика может служить мерой сложности. 2*
20 Дж. П. Клив, Г. Э . Роуз Теорема 1. Класс функций $рп совпадает с классом %п (проблема 7 из [1]) *). Для п = 0, 1, 2 это очевидно. Для доказательства теоремы при п > 2 сначала установим, что справедлива Лемма 2. Существует такая функция Gn (х, у), принадлежащая классу %п, что Gn (х, у) > gn (x, у). Функция gn (x, у) определяется в %п соотношениями gn (0, у) = 1, gn (х + 1, у) = gn_x (gn (х, у), ?/), gn (*, У) < Gn (*, У)- Мы докажем, что справедлива Лемма 3. Существует такая функция Fn (.r, у), принадлежащая классу $рп, что Fn (x, у) > fn (x, у). Функция fn (x, у) определяется в $рп так: сначала зададим hn (хщ у) соотношениями К (0, у) = г/, hn (х + 1, у) = /n_! (hn (х, г/), hn (х, г/)), К (*, У) < Fn (я, ?/) (последнее неравенство выполняется, поскольку hn (x, у) < </» 0Т> #))> а затем/п (ж, г/) соотношениями /п(0, */) =/n-l(» + l, »+1), /п (* + 1, ?/) = К (X + 1, /„ (х, у)), fn (*, У) < Fn (z, У)- Из этих лемм легко вывести теорему 1. Для доказательства леммы 2 покажем, что Gn (*, У) = /п (*, У) > £тг (я, */)• Сначала по индукции получаем fn (х + 1, y)>fn-i (fn (z, у), fn (я, г/)), а так как /п (ж, г/) > г/, то /п (^ + 1, У) >/п-1 (/п (ж, У), ?/)• Лемма 2 следует теперь непосредственно из определяющих уравнений для gn (x, у). Для доказательства леммы 3 нам понадобятся три следующие леммы. *) Этот результат раньше получил Ричи (Ritchie R. W., Classes of recursive functions based on Ackermann1 s functions, Pacif. J. Math., 15, 3 (1965), 1027 — 1044).— Прим. ред.
%п-арифметика 21 Лемма 4. При п > 1 £7? (х-у, z) ^ gn (я, gn (г/, z)). Это устанавливается индукцией по п. При ?г = 2 обе части неравенства равны x-y-z, а при ?г = 3 они равны zx'y. Предполагая, что для п = к лемма верна, немедленно получаем (поскольку gn (х, у) ^ х-у при п > 2) gu (gk (х, у), z) > ^ (ж, ^ (г/, z)). (1) Далее, так как gn (1, г/) = г/, то £л+1 (*•*/, *) = gk ((gk . . . gk (z, z) . . . z), z), где #л повторяется х-у —1 раз, и gk+\ (х, ёГлн-i (?/, 2)) = = #ь li?/* • • • gu kk (• • • gk (*> z) • • • z)i gu (• • • gu (*, z) • • • • • • z)] . . . gh (. . . gk (z, z) . . . z)], где gk повторяется (x — 1) (y — 1) раз. Применяя неравенство (1), завершаем доказательство. Зададим теперь функции g™ (x, у) равенствами gn (я, у) = у, gT1 {*, У) = gn (x, g™ (x, у)). Из леммы 4 вытекают леммы 5 и 6. ЛеммаГз.(а) g% (x, y)^gn(xm, у), (б) & (х, у)£^п,п>2. Лемма 0. Ярг/ /г > 2 g,1+1(a:-(m+l), y)>g%(x, у). Доказательство леммы 6. Имеем ПО ЛОММС 5 так как gn+l (w, х) !> хт < #н 0?n+i (w, я), г/) < < £н (gn+l (™, gn+l (X, У)), gn+i (X, У)) = -- gn + l (т + 1, £п+1 (я, г/))< по лемме 4 < gn+i (x<m + 1), У)- Для доказательства леммы 3 покажем, что Fn{x, y) = gT((2v+* + l)n, y)>fn{x, у).
22 Дж. II. Клив, Г. Э. Роуз Это доказывается индукцией по п и х. Справедливость результата для /г = 3 следует из неравенств /з(^)</, gf((2'^+l)3, г/)>г3-у-2". Допустим, что результат верен для п = к и для всех х ^ у + 2. Тогда по лемме 6 £й+1((2'^ + 1)"+\ y)>gl"+2((2™+l)\ у)> по предположению индукции >/„ (г/ + 2, у) > в силу простых соображений с использованием индукции по у >//.■ (У + 1, 0 + 1) =/,<+! (О, ^). Так как при всех t fk+i (z + l,y) = fb+i (x, /ft+i (*, г/)), gh+i (*, ?/) = #Гм (*, £/1и (t, У)), то лемма З доказана. Зададим функцию /JJ1 (х, г/) соотношениями /° (ж, у) = у, 1Т1 (х, У) = /„ (*, /™ (.г, у)). Лемма 7. Функция f™ (x, у) принадлежит классу %п. Доказательство. Согласно леммам 3 и 5, fn(x,y)<gn((2y+2+ir2X, у), так что Р?(х,у)<С({2у+*+1)п-2Х, У), и лемма 7 доказана. Рассмотрим теперь ограниченную двойную рекурсию; мы воспользуемся схемой, приведенной в работе [7]. Теорема 8. Если п > 2 и функции р (.г, у) и fm (x, у) (где /° (х, у) = г/, fm+1 (*, у) = f (х -*- т, fn (x, у))) принадлежат классу Щп, то функция ф (х, у), определяемая соотношениями Ф (х, у) = р (я, у), если х-у = О, Ф (х + 1, г/ + 1) = ф (я, ф (.х + 1, г/)), Ф (я, У) </ (я, У)» также принадлежит классу gn.
%п-а рифме тика 23 3 а м е ч а и и е. В работе [8] показано, что при п > 4 функцию fn (.г, у) можно заменить на / (х, у). Для вычисления ф (.г, у) рассмотрим последовательность ф(я, у), ф(*, 2/—1), . ..,ф(дг, 0), ф(ж—1,/(.г, у—1))» ф(*—*, /(ж, у—1)-1), ... , ф(ж—1, 0), ф(л —2, f(x— 1, /(*, у— 1))), . .., ф(я —2, 0), ф((я — с), /%г, г/— 1)), . .., ф(я —с, 0), ф(О,/*(*,0^1)), ф(0,/х(^у-^1)^1), ...,Ф(0,0). (Мы будем считать, что функция / (х, у) монотонна по х и по г/, так как в противном случае можно заменить / па 2 ^ / (?> /)•) i=o j=o Эта последовательность обладает тем свойством, что вся информация, необходимая для вычисления любого из ее элементов, содержится в последующих элементах, а, согласно первому уравнению в схеме теорелгы, для вычисления ф (£, и) требуются Ф (t, и — 1) и (р (t — 1, ф (t, и — 1)). Последняя функция встречается в ф (/ — 1, 0), ф (t — 1, 1), . . ., ф (г — 1, / (t, и — 1)). Используя эту последовательность, дадим формальное выражение предиката R (j\ г/, z) £ §п, соответствующего отношению z = ф (.г, г/). Пусть /;а обозначает а-е простое число, (т)а — степень, в которой ра входит в разложение числа т на простые сомножители, Ухп и Зхп — обычные ограниченные кванторы всеобщности и существования *). Положим а g(a)=Yi (/*-i(x,y-^l) + l), г=0 так что g (а) равно числу элементов в последних а -+- 1 строках приведенной выше последовательности, и пусть F(x,y)=(P8ixi)nx'y)(g(x) + i). Тогда R (х, у, z) = З7' <*• "V [Vs wi [(го), = р (0, г)] &V«(i-M)-Wi)+%[(m)8,.H6+2 = (m)?(j)M + (m)<?(,Hft+1+ l]] &z=(m)g(x)]. !) V rep (re) (Зл rep (п)) означает V л [re < я -> р (re)] (3 re [re < x & p (re)]).— Прим. перев.
24 Дж. П. Клив, Г. Э. Роуз Здесь ф (t, и) соответствует (т)ёц.-.1)+и+\. Если п^> 2, то R (х, у, z) — отношение из %п и функция (р(х, у) определяется в <&п равенством ср(я, y) = liz[z^f(x, y)&R(x, у, z)]. (См. в [1] определение оператора jli в Щп.) 2. Непротиворечивость £?п-арифметики В этом разделе мы покажем, используя процедуры доказательства ^п+1-арифметики для п ^ 2, что §п-арифметика непротиворечива. (Отсюда будет следовать, в частности, что доказательство непротиворечивости Ш°- и ^-арифметик может быть проведено в §3-арифметике.) Наше доказательство воспроизводит доказательство, данное в работе [3], где па системы Ra и Rb рекурсивной арифметики наложены 5 условий, обеспечивающих выводимость в Rb непротиворечивости системы Rn. Мы приведем здесь эти условия и покажем, что их можно приспособить тамг где необходимо, к нашему случаю. Условие 1. Ra содержит примитивно рекурсивную арифметику. Это условие можно значительно ослабить, что не повлияет па доказательство. Фактически в этом условии существенно лишь требование, чтобы система Ra содержала функцию th (у), т. е. гёделев номер у-и теоремы системы Ra, а из [3] ясно, что th (у) — функция из Щ2 (наличие спаривающей функции является существенным требованием в определении th (у); она содержится в g2, и никакая другая функция, используемая в определение не возрастает быстрее). Таким образом, условие 1 можно заменить условием, что Ra содержит %2-арифметику. Условие 2. Система Ra должна иметь конечную кодификацию, образованную введением функциональных переменных для функций некоторого конечного числа аргументов. Условие 3. В Ra конечное число аксиом, которые выполняются при произвольных подстановках чисел вместо числовых переменных и функций вместо функциональных переменных. Условие 4. Схемы аксиом в Ra me же, что и в примитивно рекурсивной арифметике', кроме того, в Ra есть правила подстановки для функциональных переменных. Тернарная рекурсивная арифметика [9] представляет собой кодификацию примитивно рекурсивной арифметики, удовлетворяющей условиям 2—4. В этой формулировке функции одного, двух и трех аргументов задаются посредством рекурсии и композиции (т. е. получаются в результате подстановки конкретных
%п-арифметика 25 функций вместо функциональных переменных в схемах композиции или рекурсии), а термы получаются в результате подстановки функций в указанном выше смысле вместо числовых переменных. Множество термов в этой системе совпадает с множеством примитивно рекурсивных функций: это устанавливается в [9] и доказательство использует только функции и методы §2-арифметики. Следовательно, для п ^ 2 можно дать аналогичную кодификацию ёп-арифметлкп. На самом деле можно дать еще более простую формулировку в следующем смысле. Пусть w (a, Ь) — спаривающая функция, определенная в [9]. Определим функции mi (а) и т2 (а) равенствами rrit [w (аи а2)] = at (i = 1, 2), w (rrti (a), m2 (a)) = a. Функциями этой кодификации будут w (a, b), min (a, b), конечное число одноместных функций фг (a) (i = О, 1, . . ., к) и функции mj (а), пи (а) и /,г (т{ (а), т2 (а))- Схемы для определения функций таковы: композиция Cfg(a) = f (g (a)), ограниченная рекурсия R fg (а), где R fg (0) = 0 и R fg {а + 1) = min [/ (а + 1), g (R fg (a))]. (Очевидно, что эта форма ограниченной рекурсии эквивалентна исходной: ср (0) =0, ф (а + 1) = g (ф (а)), ф (а) ^ / (а).) Далее, к правилам процедуры добавляются конечное число аксиом, задающих основные свойства функций ф; (а), и правила подстановки для функциональных переменных в схемах композиции и ограниченной рекурсии. Очевидно, что эта кодификация адекватна ёп-арифметике при п ^ 2, причем условия 2—4 удовлетворяются. Условие 5. Rb содержит Ra и функции Фг-, перечисляющие i-местные функции Ra (т. е. универсальные функции для i-местных функций из Ra). Универсальная функция vn (a, b) (значение а-й функции от аргумента Ь) для одноместных функций £?п-арифметики при приведенной выше кодификации задается уравнениями ип (г, Ь) = фг- (Ь) для i = 0, 1, . . ., к, vn (4а + к + 1, b) = w (un (m{a, b), vn (т2а, b)), vn (4а + к + 2, b) = min (vn (m{a, b), vn (m2a, b)), ип (4а + к + 3, b) = vn (m{a, ип (т2а, 6)), ип (4а + к + 4, 0) = 0, ип (4а + к + 4, b + 1) = ип (т2а, ип (4а + к + 4, Ь))?
26 Дж. П. К лив, Г. Э. Роуз где ип (4а + к + 4, Ь) ^ и (т^а, Ь). Лемма 9. Если п ^ 2, то vn (a, b) ^ /7/ + J (r/, /;). Доказательство проводится по индукции, при :>том каждое из приведенных выше уравнений рассматривается отдельно. Случай 1. Для доказательства достаточно расположить функции фг- (Ь) в порядке возрастатгия (и вставить, если нужно, некоторое количество пулей). Случай 2. Так как ш(а,Ь) = у(а + Ь)-(а + Ь + 1) + Ь, то w (а, Ь)< (а + 6 + I)2 < 4м; (а, &) + 1. (2) Таким образом, ип (4а + к + 1, /;) = де (у7, (аи,л, £>), у7/ (т2ач b)) ^ по иредположеишо индукции < w <Jn+i (т{а, 6), /7) + 1 (т2я, Ь)) < согласно (2) < (/„+, (ш,а, Ь) + /,,+ , (отоя, 6) + I)2 < в силу свойств функции fn+i (7/, b) </n+i ((т{а + т2а + 1)2, Ь) < согласно (2) < fn+i (4а + 1, Ь)</л + 1 (^ + Л + 1, Ь). Случай 3 доказывается аналогично, поскольку min (a, b) ^ w (а, Ь). Случай 4. vn (4а + к + 3, Ь) < но предположению индукции </и + 1 (™1«, /л + 1 (^2«, Ь)) < в силу определения функции /7J + j (я, &) ^ /7г+1 (яг^ + т2# + 1, b) ^ согласно (2) </7г+1(4а + /с + 3, Ь). Случай 5 доказывается непосредственно. Лемма 10. При п ^ 2 функция ип (а, Ь) принадлежит
% n - ар и фм е т ика 27 С помощью лемм 7 и 9 это легко установить аналогично теореме 8. 3 а м е ч а и не 1. Полученные выше результаты улучшают результат из работы [1], но наш метод ничего пе дает при п = 0 п л = 1, так как f™(a, b) не принадлежит §2. Заме ч а и и е 2. Из леммы 10 следует, что для каждой функции ф из Щп при п ^ 2 если |— 7г Ф (0<?П)) для всех тч то 1—7г+1 ф (х), где символ f-„ + j означает выводимость в ^п^-арифметике. Мы показали, что все условия, перечисленные в работе [3], выполнены для ^"-арифметики в качестве Ra и $?"+1-арифмстикц в качестве Rb при п ^2, так что справедлива Теорема 11. |— n+i непротиворечивость %п-арифметики. 3. Неразрешимость и категоричность относительно рекурсивных моделей В этом разделе мы покажем, что g "-арифметика при п ^ 2 неразрешима (на самом деле даже креативна) и категорична относительно рекурсивных моделей, т. е. у нее нет нестандартных рекурсивных моделей. Оба эти результата вытекают из того, что для /2^2в ^"-арифметике могут быть представлены некоторые рекурсивно неотделимые множества. В порядке подготовки к этому мы проверим сначала некоторые синтаксические свойства ^"-арифметики. Для всякого п обозначим через Р (у) и Q (у) формулы (т. е. уравнения) ^"-арифметики, каждую с одной свободной переменной у. Пусть Wl(y) = P(y)&yyz[lQ(z)], W2(y) = Q(y)&\/4[1P(z)], X1(x) = 3*y[Wl(y)], X2(x) = 3xy[W2(y)); это ^"-формулы. Заметим, что 3xn[f(n) = g(n)] = ([\ (1^-(1^|/(в), g(n)\)) = 0), 71=0 так что ограниченные кванторы принадлежат §°, поскольку 1 — | х, у | = (1 — (х — у)) — (у — х).
28 Дж. П. Клив, Г. Э. Роуз Лемма И. h, ~l {Xx (z) & Х2 (t)). В самом деле, П (Wt (х) & W2 (у)) see П Р (х) V 3*5 [<? (Ь)] V П Q (у) V Зуа [Р (а)], п эта формула всегда выполняется, так как в дизъюнкцию либо Р (х), либо Q (у) входит вместе с отрицанием. Отсюда следует лемма. Положим ф1 (#, У) = ^i ("Чо:, #, у), ф2 (#, ?/) = Тх (т2х, ос, г/), где Тх (е, х, у) — обычный предикат Клшш, определенный в [101. Клипи [10, гл. XI] отмечает, что Т{ —предикат §3-арифметики; фактически Т\ — предикат £Г2-арифметики (чтобы это доказать, достаточно спаривающие функции, использующие простые числа, всюду заменить на функцию w (^-функцию) pi заметить, чтот хотя итерация функции w не является ^-функцией, это не влияет па результат, так как мы не требуем, чтобы гёделевы номера были приписаны неограниченному числу формул). Отсюда следует, что Фх и ф2 — также §2-предикаты. Следовательно, в ^-арифметике (при п ^ 2) существуют такие формулы R (х, у), S (х, у), каждая только с двумя свободными переменными, что для всех /', к <PiO\*0~ ь-лД(0('\о<*>), • , (3) Теперь пусть R(0{j),y) будет Р(у), a S (0('\ у) будет Q (у) в лемме 11, и пусть РР4 (0<>\ у), W2(0^\ г/), ^(ОЧ у) и Х2(0^\у) определены так же, как в этой лемме. Тогда для п > 2 hnn(X1(0^,z)&Z2(0O),/)). (4) Потребуем также, чтобы ^nXi(0^,t)&t<z-+Xi(0^,z), \-nX2(04>,t)&t<z-+X2(0<i\z). (0) Обозначим через 7/4 и Н2 неформальные аналоги для W{ и W2, т. е. Hi (h У) = Ф1 (А У) & VVz П Фг (/, z)], Н2 (U У) = Ф2 0\ у) & Vvz [ 1 ф! (/, z)].
%п-арифметика 29 Таким образом, если /г>2, то, согласно (3) и в силу того, что Х4(0(;'\ 0(/i)) и X2(0(j), 0{k)) не содержат свободных переменных, имеем ЭЛ*[#1(/>*)]~ HnXi(0<*>, 0<fc>), 3^[Я2(/, х-)] —hn^2(0(^, 0^). (6) Теперь легко доказывается Лемма 12. Множества ll1 = il(3y)//1(a;, у)], П2 = £[(ЭгОЯ2(а;,?)] эффективно неотделимы. Мы подходим к основному результату этого раздела; от gn- арифметики нам потребуются соотношения (4), (5) и лемма 12. Пусть ,Тп — множество выводимых в ^"-арифметике (гёделовьгх номеров) $ ""-формул с не более чем одной свободной переменной. Будем называть ^"-формулу F (х) опровержимой, если существует доказуемый контрпример, т. е. существует такое число /', что 1—71 И F (0(ti). Пусть Мп —множество гёделевых номеров опровержимых формул ёп-арифметики с одной переменной. Теорема 13. Если п^2, то £Гп и Мп эффективно неотделимы 1). Доказательство. Пусть 21 = Л(3/с)(Ьп^1(0^, 0<*>))], 22 = /[г-пПА:1(0^,л:)]. Сначала покажем (в четыре приема), что ^ и 22 эффективно неотделимы. (a) 2ц[}1>2= 0 (пустое множество). В самом деле, если mfSifl^, то \-nXl(0(7n\ 0(k)) для некоторого /с, поскольку 77&6 2i. Так как т^22, то i— п "1Х4 (0(т), х). Следовательно, \-п "1Z1(0im), 0(h)). Но тогда в силу (6) получаем противоречие. Утверждение (а) доказано. (b) Si^IIi. г) Этот результат для полной примитивно рекурсивной арифметики был доказан Крайзелем в его обзоре работы [3] (см. Math. Rev., 25 (1963), 746).
30 Дж. П. Клив, Г. Э. Роуз Пусть m^Ui. Тогда (Зу) Н1(т, г/), так что Hi(m1 к) для некоторого к. Следовательно, Зкх [IIх (т, х)]. Согласно (6), \-пХх{&т\ 0(/г>) и, таким образом, т£Ъу. (с) 22=^П2. Пусть т£П2. Тогда Н2(т,к) для некоторого к, так что 3hx[H2(m, к)]. Согласно (6), h-nX2(0<m\ 0(/f)). Но в силу (4) Ь-пХ2(0<т>, 0<к>)-+ 1X^0™, х), так что |— 7i^i(0(W), х), откуда т£22. (cl) Хорошо известно, что два непересекающихся рекурсивно перечислимых надмножества двух эффективно неотделимых множеств сами эффективно неотделимы [11, гл. VI. Из утверждений (а) — (d) и из леммы 12 заключаем, что 24 и 22 эффективно неотделимы. Далее, ясно, что существует такая (примитивно) рекурсивная функция g, что g (т) — гёделев номер для ~1 Xi (0{ГП), х). Тогда т£2{~ (3j)(\-nn ПХ1(0<п\ 0^-^Иб^ и ™е22— bn^*i(o(m\ ^gwe^. Таким образом, пара (24, 22) многозначно сводится к (Жп, 3~'п). Снова используя [11, гл. V], получаем, что Мп и S~n эффективно неотделимы (как и 24, 22). Следствие 14. Если п ^ 2, то множества ,(Тп и Мп креативны. Это вытекает из теоремы 13 (снова в силу результатов работы [И]). Крайзель [4, стр. 173, 174] доказал, что бескванторная примитивно рекурсивная арифметика, удовлетворяющая определенным условиям, категорична относительно рекурсивных моделей; аналогичный метод доказательства дан в [12]. Мы не воспроизводим здесь это доказательство; заметим лишь, что с помощью соотношений (4), (5) и леммы 12 легко проверить, что ^"-арифметика nppi п ^ 2 удовлетворяет условиям Крайзеля *). Следовательно, верпа 2) Результат Мостовского — Крайзеля формулируется так: пусть бескванторная система аксиом с предикатными символами <;, Н, К, функциональным символом S и константой 0 обеспечивает следующее: (i) Существуют такие примитивно рекурсивные предикаты II* {х, п) и К* (х, п) (и даже ^°-предикаты), что множества п (3 х) Н* (х, п)
% п-ар ифмет una 31 Теорема If). %п-арифметика при п ^ 2 категорична относительно рекурсивных моделей. СПИСОК ЛИТЕРАТУРЫ 1. Grzegorczyk A., Some classes of recursive functions, Rozprawy Mate??iat.r 4 (1953). (Русский перевод: Гжегорчик А., Некоторые классы рекурсивных функций, сб. «Проблемы математической логики», изд-во «Мир», М., 1972.)' 2. Goodstein R. L., Logic-free formalisations of recursive arithmetic, Math. ScamL, 2 (1954). и и (З.г) А'* (.г, п) не пересекаются и рекурсивно неотделимы; //* (я, п) ++ (3^) [х < а & П* (х, п)], А* (а, п) *-> (Зх) [х < а & А* (х, п)], и для пумералов п п т (т. е. выражений вида О, SO, SSO п т. д.) Н (/г, ///) эквивалентно Hf (/?, ш), А (и, т) эквивалентно К* (п, т), а п «< т эквивалентно «/I меньше, чем т». (ii) /I (а, «) ->• 1 A' (a, /i) для свободной переменной а и всякого нумера л a п. (iii) Для свободной переменной а и всякой пары нумералов 7ц m [II (т, п)&т О] ->//(а, п); [A (ш, /г) & т < а] -> 7i (я, /г). Тогда у множества следствий из нашей системы аксиом (полученных с помощью элементарного исчисления со свободными переменными) пет рекурсивных нестандартных моделей, т. е. таких, в которых множество индивидуумов является рекурсивным множеством объектов, II, А, <С интерпретируются рекурсивными предикатами, a S — рекурсивной функцией. В самом деле, если бы у этой теории существовала нестандартная модель, назовем се М, то в пей нашелся бы такой элемент wM, что для всякого элемента пм, соответствующего нумера л у п, выполнялось бы неравенство пм <с м wm- Множество nIIM (wM, пЛ1) рекурсивно и отделяет множества п (Зх) И* (х, п) и и (З.г) К* (.г, п). Если (Зх) Н* (х, п), скажем II* (т, п), то в силу условия (i) имеем IIм (тЛ1, пм), а в силу условия (iii) имеем Hm(wMi пм)- Таким об])азом, nIIM (wM, пм) =? п (3 х) II* (х, п). Если (3 .г) А'* (.г, /i), скажем К* (т, п), то Км(тм, ил/) и Км (w^, г*м), а, согласно (ii), 1 11м(и>м, пы). Таким образом, пН ч (wM, пЛ1) П п {3 х) А* (х, п) = 0. Так как II м (л, т) и Sm рекурсивны, то множество nIIM {wM, nM} должно быть рекурсивным, но это противоречит выбору II* и А*. Примитивно рекурсивная арифметика и даже более слабые системы, такие, как "^-арифметика (п ;> 2), удовлетворяют условиям (i) — (iii). Условия (i) и (iii) проверяются тривиально. Выполнение условия (ii), а именно Н (а, п) ->- 1 К (а, п), доказывают в ^-арифметике (к !> 2) для каждого а, беря ^°-предикаты II* и А*.— Прим. пер ев.
32 Дж. П. Клив, Г. Э. Роуз 3. Rose Н. Е., On the consistency and undecidability of recursive arithmetic, Z. Math. Logik, 7 (1961). 4. Kreisel G., Mathematical significance of consistency proofs, /. Symbolic Logic, 23 (1958). 5. Wang H., A survey of mathematical logic, Amsterdam, 1962. 6. Cleave J. P., A hierarchy of primitive recursive functions, Z. Math. Logik, 9 (1963). (Русский перевод: Клив Дж. П., Иерархия примитивно рекурсивных функций, сб. «Проблемы математической логики», иид-во «Мир», М., 1972.) 7. Lachlan A., Multiple recursion, Z. Math. Logik, 8 (1962). 8. Axt P., Enumeration and the Grzegorczyk hierarchy, Z. Math. Logik, 9 (1963). 9. Rose H. E., Ternary recursive arithmetic, Math. Scand., 10 (1962). 10. К лини С. К., Введение в метаматематику, ИЛ, М., 1957. 11. Smullyan R., Theory of formal systems, Ann. Math. Studies, 47 (1961). 12. Mostowski A., On recursive models of formalised arithmetic, Bull. Acad. Pol. Sc, 5 (1957).
ИЕРАРХИИ ТЕОРЕТИКО-ЧИСЛОВЫХ ФУНКЦИЙ *) М. X. Лёб, С. С. Вайнер Введение В данной статье рассматривается метод классификации теоретико-числовых функций с помощью иерархий. Предварительные результаты, относящиеся к этому направлению, содержатся в работах Гжегорчика [5], где изучается иерархия примитивно рекурсивных функций, и Петер [9], где рассматривается иерархия /с-рекурснвных функций, усовершенствованная Робином [12], использующим обобщение методов, развитых в [5]. Наши результаты можно считать приближением к общим проблемам, обсуждаемым Петер в [10], проблемам расширения класса конструктивно оппсьпзаемых рекурсивных функций за пределы предварительно определенного класса таких функций. В разд. 2 мы вводим общую процедуру порождения иерархий, применимую к широкому многообразию классов теоретико-числовых функций, в том числе и классов, содержащих нерекурсивные функции. Доказано, что иерархии можно расширить без вырождения по ординалам второго канторова числового класса. В частности, паша процедура дает расширение иерархии Гжегорчика [5]. Нангп иерархии фактически совпадают с последней до уровня со. 13 разд. 3 мы показываем, что ограничение ординалов конструктивными ординалами приводит к иерархиям рекурсивных функций. 13 разд. 4 наш общий метод применяется для случая, когда ордиггальт ограничены уровнем е0. Мы предполагаем, что в этом случае класс полученных функций совпадает с классом ординально рекурсивных функций Крайзеля [7]. В разд. 5 мы показываем, что до уровня со00 получается в точности класс к-рекурсивных функций, строящихся по схемам [81 и [91. Наша процедура зависит от конкретного метода диагонализа- цнп, который на непредельных шагах аналогичен шагам в иерархии Гжегорчика. 1. Обозначения Пусть N обозначает множество натуральных чисел 0, 1, 2, . . ., и пусть Nk для каждого фиксированного к £ N обозначает множество всех /с-наборов натуральных чисел. *) Lob M. H., Wainer S. S., Hierarchies of number-theoretic functions, Arch. Math. Logik, 13 (1970), 39—51, 97 — 113. 3-01321
34 M. X. Лёб, С. С. Вайнер В этой статье рассматриваются функции, все аргументы которых принадлежат N и которые принимают значения из N. Все наши функции всюду определенные, т. е. область определения /с-местной функции есть Nk. Латинскими буквами а, Ь, . . ., х, у, z (за исключением /, g и К) с индексами или без будут обозначаться натуральные числа. Последовательность xi1-x2l . . ., xk иногда будем обозначать через х. Греческими буквами (кроме X, р и и.) с индексами или без будут обозначаться счетные ординалы. Буквы /, g и h с индексами и без будут использоваться как функциональные переменные. Отдельные функции будем обозначать также прописными буквами. Через |ы будем обозначать (я-оператор. Если Т —терм со свободными переменными хи . . ., хг, то Xxi . . . хт-Т —функция, значение которой на любом конкретном r-наборе (а) есть результат подстановки в Т числа ai вместо #i, . . ., числа ат вместо хт. Элементы множества N будем отождествлять с конечными ординалами. Пусть С — произвольный класс функций. Обозначим через Е (С) наименьший класс функций, содержащий С и замкнутый относительно (i) суперпозиции f \Xi, . . ., хп) = g (hi (xi, . . ., xn), . . ., hm {X}, . . ., xn)) и (ii) ограниченной рекурсии J ^U, X\, • . ., Xn) = fli \Xii • • ., Xn)1 f (y + 1, xu . . ., xn) = h2 (y, sb . . ., xn, f (y, xu . . ., xn))4 f \Уч Xli • • •> Xn) ^£ ""3 КУч X1i • • •» Xn)' Таким образом, как следует из работы Гжегорчика [5], класс %. Чиллага — Кальмара элементарных функций можно определить как % = Е (Хх-0, Хх-х + 1, Xx-xt, Хху-ху). Для любого класса С функций обозначим через Р (С) наименьший класс функций, содержащий С и замкнутый относительно суперпозиции и примитивной рекурсии. Таким образом, Р (Хх-0, Хх-х + 1, Xx-xt) —класс примитивно рекурсивных функций; обозначим его через &. 2. Расширение иерархии Гжегорчика Гжегорчик [5] определил такую последовательность классов %l(i£N) функций, что (i) Гс=Г+1 для каждого i£N,
Иерархии теоретико-числовых функций 35 (ii) S3-g, (iii) U 8* = <^- Робин [12] обобщил этот результат, построив такую последовательность классов £,а(а<сосо), что (i) EaczE$ при а<Р<со<°, (ii) (J Еа=-Шь для каждого &>0, а<со/г где Wk — класс /с-рекурсивных функций, определенных Петер [9]. С помощью методов, подобных методам Робина, мы построим схему, по которой можно конструировать различные расширения иерархии Гжегорчика. Определение 2.0. Фундаментальной последовательностью для предельного ординала а будем называть такую со-после- довательность {oit}i£N ординалов, что (i) ^<aw<a для каждого i^N, (ii) limaf = a. Робин [12] определил для каждого предельного ординала, меньшего о)ш, специальную фундаментальную последовательность. Построение нашей схемы будет основано на произвольно выбранных, но фиксированных фундаментальных последовательностях для всех рассматриваемых предельных ординалов. Так как каждый счетный предельный ординал имеет такую фундаментальную последовательность, мы определим классы (§а, где a —теперь счетный ординал. Определение функций F%. Для каждого счетного предельного ординала Р пусть {Р} (£), i £ TV, обозначает фиксированную фундаментальную последовательность для р, т. е. {Р} — функция, отображающая N в множество ординалов, меньших р„ и обладающая следующими свойствами: (i) {Р} (0 < {Р} (i +1)< р для каждого i£ N, (ii) lim{P}(0=P- Зададим ■г а равенствами Fn0(x) = (n + l).(x+l), (1) F°a+i(x) = Fxa(x), (2) Fl{x) = F0{(i)(x)(p^{x)), f$ —предельный ординал, (З) ?;+1(1)=^(^(4т^о, (4) 3*
36 M. X. Лёб, С. С. Вайнер где для предельного ординала р РР(0) = 0, РР (и* +1) = М* > рр (т) &^к™ {F°m (m+1) (z) > F°m (i) (z))). Установим некоторые основные свойства этих функций. Нам потребуется Определение 2.1. Функция / мажорируется с некоторого места функцией g(f<g), если / и g всюду определены и существует такое число р, что f (х) <. g (х) для всех х ^ р. Лемма 2.2. Для каждого счетного ординала о если функция Xx-Fa (x) мажорируется с некоторого места функцией tac-Fjj (x) при а <С р < а, то (i) Ал#-.Р2(#) всюду определена, (ii) Fj} (#) >> max (п, х) для всех п и х. Доказательство. Доказательство проведем трапсфи- нитной индукцией по счетным ординалам. Очевидно, что при а = О лемма верна. Пусть она верна для г), и пусть а = т] + 1. Тогда если Xx-F^ (х) -< tat>Fp (ж) при а <С < Р < а, то Xx-Fa (#) -<< Xx-Fp (х) при а < Р <С т), и потому утверждения (i) и (ii) должны выполняться для а = т). Функция )jix-Fa (x) связана с ^ra#-F^ (#) равенствами ^(*) = i^(*), Fno+i(x) = F0o(Fno(x)). Так как по (i) функция Xnx-F^ (x) всюду определена, то Xnx'Fi (x) также должна быть всюду определена. Далее, так как (ii) выполняется для а = т], то в силу равенства (2) Fo (х) = F*(x) > х для всех х. По индукции легко доказать, что (ii) выполняется для а = т] + 1. Итак, если Xx-F°a (х) -< Xx-F% (х) при а < Р < а, то (i) и (ii) выполняются для а = т] + 1. Пусть теперь а — предельный ординал п лемма верна для всех ординалов, меньших а. Тогда если %x-F0a (x) ^ Xx-Fl (х) при а <С Р < а, то из определения функции р^ следует, что она всюду определена и что для каждого х можно применить предположение индукции и вывести, что функция F0{oHx)(po (х)) определена и превосходит х. Поэтому в силу равенства (3) для всех х F°oix) = Flo) w (Ра {*))>*. Далее, в силу (4) F^+i(x)=F0o(F^(x)),
Иерархии теоретико-числовых функций 37 так что по индукции легко доказать, что (i) и (ii) должны выполняться для а. Таким образом, если hx-Fa (х) < 'kx-F^ (х) при а < Р < а, то (i) и (ii) должны выполняться для случая, когда а — предельный «ординал. Этим завершается шаг индукции, и лемма 2.2 доказана. Лемма 2.3. Для каждого счетного ординала о если функция Хх -Fa (x) мажорируется с некоторого места функцией %х -F$ (x) при а <С Р <С а, то (i) Fa(x + l)>Fa(x) для всех п и х, (ii) Fo+i (x)^>Fo(x) для всех п и х. Доказательство. Доказательство проведем трапсфи- нитпой индукцией по счетным ординалам. Очевидно, что при о = 0 лемма верна. Предположим теперь, что она верна для г), и пусть а = г\ + 1. Тогда если %x-F°a (-#) -< -< Xx-Fp (х) при а <С Р <С а, то можпо применить предположение индукции и вывести, что для всех п и х F^{x)<Fl(x + \), F^(x)<Fl+i{x). Таким образом, в силу равенства (2) для каждого х Fl(x) = Fxri(x)<Fxr]+i(x)<Fl+l(x+l) = Fl(x + l). Следовательно, если х<у, то Fl(x) <.Fl(y). Если теперь предположить, что F0o(x) < Fo(x-\-1) для каждого х, то в силу (4) Fp-1 (x) = F°0(F^(x))<Fl(Fna(x + l))= Fna+l (х + 1), и это верно для всех х. Поэтому по индукции (i) выполняется для а = т] + 1. Далее, по лемме 2.2 F% (х) > х для всех х, и, таким образом, в силу равенства (4) Fa+i(x) = F°0(Fn0(x))>F^(x) для всех п и х. Поэтому по индукции (ii) выполняется для а = = Л + 1. Итак, если %x-F%, (х) -< %x-F% (х) при а < р < а, то (i) и (ii) должны выполняться для а = т) + 1- Предположим теперь, что а — предельный ординал и что лемма верна для всех ординалов, меньших а. Тогда если Хх-Р^хХ < \x-F\ (х) при а < р < а, то очевидно, что функция ра всюду определена и что для каждого х можно применить предположение
38 M. X. Лёб, С. С. Вайпер индукции и вывести, что при у ^ z F{o) (*) {у) > F{o} (x) (2). Но по определению функции ра для всех х выполняется неравенство pG (х-\- 1)> ра {х). Поэтому для каждого х в силу (3) F% (X + 1) = F°{a) (ж+1) (Ра (X + 1)) > по определению р0 >^?с><*)(ра(*+1))> > F°{0} (х) (ра (X)) = в силу (3) = FUx). Отсюда легко следует, что (i) и (ii) выполняются для случая, когда а — предельный ординал. Таким образом, если %x-F0a (х) -< -< \x-F%(x) при а < Р < а, то (i) и (ii) выполняются, когда а — предельный ординал. Этим завершается шаг индукции и, следовательно, доказательство леммы 2.3. Лемма 2.4. Для всех счетных ординалов а, Р если а <С Р, то функция Kx-F°a(x) мажорируется с некоторого места функцией Xx-F°p (х). Доказательство. Докажем трансфииитной индукцией по о\ что если а<а, то Xx-Fa(x) <%x-Fl(x). При а = 0 это тривиально. Пусть а>0и для каждого 6<Са если а < б, то hc-Fa(x)-<%x-Fu(x). Рассмотрим два случая: (а) Если а = т) + 1, то по предположению'индукции %x-Fa(x) < < Хх • F$ (х) при а < р < п. Поэтому по лемме 2.3 /*^+ (.г) > >/^(х) для всех ?гил;. Отсюда для каждого £>1 Таким образом, Xx-F^(x) ^Xx-Fl(x). Но по предположению индукции если а<СП> то Хх • Fa (ж) <Xx-Fl (x). Поэтому Xx-Fa(x) <%x-Fo{x) для каждого а < а. (б) Если а —предельный ординал, то для любого a<a существует такое число р, что a<C{a}(p). Тогда по предположению индукции должно найтись такое число д, что F\0} (Р) (х) >> Fa (x) для каждого #>g. По предположению индукции если Р<7<сг, то %x-F$(x)^ ^'kx-Fy(x). Кроме того, по определению ра функция ра всюду определена и если */>z, то pG(y) > pa(z)-
Иерархии теоретико-числовых функций 39 Итак, по определению ра для каждого £>max(p, q) FG (х) = F\o} (x) (pa (*)) > F{G} (p) (pa (*)), F°{o} (р) (pa (*)) > ^{a} (p) (x) > F^ (я), так как ра(х)^х и так как по лемме 2.3 и предположению индукции Flo) (р) (у) > F%} (p) (z), если y>z. Поэтому Хх • F°a (x) < -<%x-Fo(x), и это верно для всех а < а. Случаи (а) и (б) вместе составляют шаг индукции, и, таким образом, лемма 2.4 доказана. С помощью этого последнего результата теперь просто получить следующую лемму, которую мы сформулируем без доказательства. Лемма 2.5. Для всех счетных ординалов а, р если а <С Р, то %x*F7^{x) -< Kx'F^(x) для каждого п. Объединяя леммы 2.2 — 2.5, имеем: Лемма 2.6. (i) Для каждого а функция %nx-Fr^{x) всюду определена. (ii) F^(x) >> тах(тг, х) для каждого а и всех п, х. (iii) F7a{x)^> F^(y) для каждого а и всех п, х, г/, где х^>у. (iv) F™(x)>Fa(x) для каждого а и всех т, п, х, где т^>п. (v) Для всех а, р если а<<р, то для каждого п функция lx-Fa{%) мажорируется с некоторого места функцией kx-F$(x). Лемма 2.7. Для каждого а и всех п, х если тах(7г, #)>1, то Fl+i(x)>F%(x). Доказательство. Предположим, что #>1. Тогда по лемме 2.6 F°a+i(x) = Fxa(x)>F°a(x). Теперь предположим, что F™+\(x)> F™(x). Тогда в силу равенства (4) и леммы 2.6 К$1 (х) = F4+1 (K+t (х)) > F°a+i {F2{x)). Но К(х)>1. так что Fl+i{K(x))>K{K(x)), откуда Итак, мы доказали по индукции, что F"+t (х) > Fa (x) для всех п и всех х > 1.
40 M. X. Лёб, С. С. Вайнер Далее, так как Fa(0)>l, то в силу (2) и (4) Fi+i (0) = F°a+i (Fa+1 (0)) = F°a+i (F°a (0)) > F°a (F°a (0)). Но опять в силу (4) F°a(F°a (0))= Fa(0), так что Fa+1 (0) > Fla (0). Кроме того, если положить Fa+i (0) > F% (0) для т>1, то можно доказать, что Fa+i(0) >F™+1 (0). Поэтому по индукции FZ+t(0)>F%(0) для всех ю>1. Итак, F2+i (#)> ^a(^), если тах(?г, а;)> 1. Используя лемму 2.7 и учитывая, что в силу (2) Fa+i (0) = Fa(0) для каждого а, получаем: Лемма 2.8. Для каждого а и каждого &>1 Зля ясео; пи х FZ±k(x)>FZ(x), где равенство достигается при п = х=0. Рассмотрим теперь метод расширения иерархии Гжегорчика (он равномерен относительно выбора фундаментальных последовательностей для предельных ординалов). Для дальнейшей работы основное значение имеют результаты, содержащиеся в леммах 2.6 и 2.8, и мы будем использовать их, не делая явных ссылок. Определение 2.9. Для каждого а определим класс (5а, положив ®а = Е({кх-0, Кху.х + у, кх-Х1}[}{Хх.р1(х)\$<^а}). Из определения 2.9 ясно, что (£а ^ @р при а^р. Докажем, что иерархия {(£а} невырождена. Теорема 2.10. Пусть а — произвольный счетный ординал >0. Тогда для каждой функции / 6 ®а существует такое число р, что для всех хи . . ., хп f (хи . .., хп) < Fva (max (xu ..., хп)). Доказательство. Прежде всего отметим, что F% > 0 для всех х и что для всех хи . . ., хп и каждого i (1 ^ i ^ п) Fa (max (л?!, ..., хп)) > xt. Далее, F\ (max (x, y))>F%{y)> x+ у для всех х и у. Возьмем теперь произвольное Р<С<х. Так как %x*F\(x) < Кх-Ра(х), то найдется такое число р, что Fl{x)^Fl(x + p)<F0a(* + P) для всех х. Но так как
Иерархии теоретико-числовых функций 41 F°a^+P)<F°a(FPa(x)) = FPa{-i(x)1 то Fl(x)<.Fa+i (х) для всех х. Очевидно, что Fa(x) <C Fa{x) для всех х. Поэтому для любой исходной функции / из класса @а должно найтись такое число qy что для всех хи . .., хп I (хи ,.,, хп) < Fqa (max (xu ..., хп)). Предположим, что существуют такие числа д, ри . .., ртг что g{y)<Fqa(max(y)) для всех у и для каждого i = l, ..., тп иг (х) < f а4 (max (x)) для всех х. Предположим также, что / получается из g, hu ..., hm суперпозицией: f(x) = g{hi(x), *.., hm(x)). Тогда если p=max(p1, ..., рт), то для всех х / (х) < Fqa (max (ht (x), ...,hm (x))) < <П(тах(К1(тах(х)), ..., Fvam (max(x))))< <П(^(тах(х))) = = ^+g+l1(max(x)), так как Fa (х) для любого п есть как раз (я + 1)-я итерация функции Fa применительно к х. Предположим, наконец, что / определена с помощью ограниченной рекурсии из функций hu h2, h3, для которых существуют такие числа р{, р2, р3, что для каждого i = 1, 2, 3 ^(x)<^£(max(x)). Тогда, так как / ограничена функцией h3, /(х)< Fa3b(max(x)) для всех х. Мы рассмотрели все возможные способы определения функций из класса @а. Теорема доказана. Теорема 2.11. Пусть а — произвольный счетный ординал >0. Тогда для каждой функции / 6 (5а найдется такое число р, что если max (х) ^ р, то /(x)<F°+1(max(x)).
42 M. X. Лёб, С. С. Вайнер Доказательство. Возьмем произвольную функцию / £ @а. По теореме 2.10 найдется такое число р, что для всех х /(x)<F£(max(x)). Если max (x) > р; то / (х) < FT" (x) (max (х)) = FQa+i (max (x)). Теорема 2.12. Для любых двух счетных ординалов а, р если а < Р, то*&а d @ р. Доказательство. Из результатов Гжегорчика [5] следует, что класс Е (Кх'О, Кху-х + у, kx»Xi, Кх-х + 1) = Ш1 строго содержится в Е (Кх-0, Хху-х + у, Xx-xt, Хх-х + 1, %х-{х + I)2) = g2. Но первый класс — это как раз @0, а второй — @1? так что е0 с <54. Пусть теперь а — произвольный счетный ординал >0. Тогда по теореме 2.11 функция Xx-Fa+i (x) мажорирует с некоторого места каждую одноместную функцию из @а и, таким образом, не может принадлежать ®а. Однако Xx-F°a+l (x) £ ©^ для любого счетного ординала Р > а. Поэтому @а d ©^ для каждого р > а. Теорема 2.12 доказана. Теперь мы покажем, что иерархия {@а} есть собственное расширение иерархии Гжегорчика. Сначала определим две со-последовательности двуместных функций: А0(х, у) = у + 1, А{ {х, у) = х + г/, ^2 (ж, г/) = х-у, Ап+з(0, У) = 1, 4П+3 (я: + 1, у) = 4п+2 (4П+3 (ж, #), г/). Функция Хпху-Ап (х, у) — это небольшое видоизменение функции Аккермана [1]. G0(x, у) = у + 1, &! (ж, г/) = ж + у, С (a, </) =(^ + l)-(» + l), Сп+3(0, */) = Gn+2(^/ + 1, у + 1), Gn+3 (х + 1, у) = Gn+3 (ж, Gn+3 (ж, г/)). Функция %nxy-Gn (х, у) — это функция, используемая Гжегор- чиком [5].
Иерархии теоретико-числовых функций 43 Ричи [11] и Клив и Роуз [3] установили различные свойства монотонности определенных выше функций. Мы будем использовать следующие свойства, которые просто доказать. (1) Для всех п, х, у, z если х ^ z, то Gn (x, у) ^ Gn (z, у). (2) Для всех п, х, у, z если у ^ z, то Gn (х, у) ^ Gn (x, z). (3) Для всех п, у и всех х ^ 1 Лп+2(ЛП+З(д;, г/), Л7г+3(£, г/))>Ап+2(Ап+3(х, у), у). Теперь можно доказать некоторые соотношения между функциями A, F, G. Лемма 2.13. Fn{y)^.Gn+2(x, у) для всех п, х, у. Доказательство. По определению F*(у) = G2{x, у) для всех х, у. Предположим, что для всех х, у Fxn(y)<Gn+2(x, у). Тогда для всех у F°n+1(y) = F'i(y)^Gn+2(y, y)^Gn+2(y+l, y + l) = Gn+3(0,y). Предположим теперь, что для всех х и у * Ft+i{yXGn+3(x, у). Тогда в силу (4) ^Fn+i(Gn+3(x, г/))< ^Gn+3(0, Gn+3(x, г/))< ^Gn+3(x, Gn+3(x, y)) = = Gn+3{x + l, y), и это верно для каждого у. Поэтому по индукции Fn+i{y)^. ^Gn+3(x, у) для всех х и у. Отсюда, опять по индукции, получаем, что для всех п, х, у Fn(y)^Gn+2(x, у), Лемма доказана. Лемма 2.14. All+2(x, y)^Fn(y) для всех п, х, у. Доказательство. Ясно, что A2(x,y) = x-y^(x+i).(y+l) = F%(y)
44 M. X. Лёб, С. С. Вайнер для всех х, у. Предположим, что для всех х и у * Ап+2(х, y)<F*(y). Тогда для всех у An+3(0,y)=l^F0n+i(y) И Ап+3(1, у) = Ап+2(1, у)= ...-i2(lj) = K^n+i№ Предположим теперь, что £>1 и для всех у (х, y)<^.Fn+i(y). Тогда Ап+3(х+1, у) = Ап+2(Ап+3(х,у), г/)< в силу (3) ^Ап+2(Ап+3(х, у), А п+3 \xi у))< <РАп+3(х,Ь){Ап+з{х!у)) = в силу (2) = F°n+l(An+s(x,y))<^ <^+1(F*+1(y)) = и это верно для каждого у. Поэтому по индукции Ап+3 (х, у) ^ ^ Fn-ы (у) Для всех х, у. Отсюда, опять по индукции, для всех ?г, х, у Ап+г(ъ У)<К(У)- Лемма доказана. Определение 2.15. Определим классы Jf'1 и £?'\ положив jfn = Е Скх-0, Кх-х + 1, Кх-х(, Кху-Ап (х, г/)), %п = Е (Кх-0, Кх-х + 1, Кх-х(, Kxy-Gn (х, у)). Классы %п — это классы, рассмотренные Гжегорчиком [5]. Лемма 2.16. jFn+1 ^ @п для каждого п. Доказательство. Функции Кх-0, Kx-xt и Кху-х + у принадлежат классу @п для каждого п. Функции F°0 (х) = х + 1 и Кх-х + 1 также принадлежат классу @п для каждого п. Осталось показать, что Kxy-An+i (х, у) £ (5П для каждого п.
Иерархии теоретико-числовых функций 45 Ясно, что Kxy-Ai(x, г/)6@о- Пусть Кху-Ап+1(х,у) £(£7г. Тогда Xxy-An+i(x, 2/)6©п+ь так как ©n cz @п+1. Теперь b:z/-,4n+2(;z, г/) лолучается просто примитивной рекурсией из %ху-Ап+*(х, у). Далее, по лемме 2.14 Ап+2 (*, y)<Fn (y)^F*+y (x + y) = Fl+i (x + y). Следовательно, Кху-Ап+2(х, у) определяется ограниченной рекурсией из Хху -An+i (x, у) £ @п+1 и kxy-Fn+i (x + y)£ @п+1. Поэтому Хху-Ал+2 {х, у) £ (§n+i. Таким образом, по индукции Хху-Ап^ (х, у) 6 6@7? для каждого п, и летмма доказана. Лемма 2.17» ®n ^ g"^1 для каждого п. Доказательство. Ясно, чю (So^g1. Предположим, что @ng=gn+1. Тогда (S,t^gn+2, так как Шп+1 с= gn+2. Поэтому ^•K(T)6gn+2. Теперь IxyFliy) получается просто примитивной рекурсией из Lc-Fn(<r), и по лемме 2.13 Fn{y)^Gn+2{x, у) для всех х, у. Следовательно, кху-р^г(у) можно определить ограниченной рекурсией из %x-F°n{x) 6 gn+2 и %xy.Gn+2 (x, у) 6 gn+2. Поэтому hxy.Fxn{y)e%n+2- Но так как F^i (s) = F*(*), то h(a).F£+i(a) принадлежит gn+2. Итак, все исходные функции класса @7?+1 принадлежат gn+2, так что @77+1 <= gn+2. Отсюда по индукции получаем, что (£n ^ ^ gn+1 для каждого гг. Ричи [11] и Клив и Роуз [3] показали, что ,$рп = %п для каждого ?г. Поэтому из лемм 2.16 и 2.17 вытекает Теорема 2.18* (i) (S^^g741 для каждого п. (ii)U«n==^. 3. Иерархии рекурсивных функций В этом разделе мы рассмотрим начальные отрезки иерархии {@а}, получаемые при ограничении а конструктивными ординалами. Пусть О — множество обозначений конструктивных ординалов, определенное Чёрчем и Клини [2], и пусть ы{ — наименьший неконструктивный ординал. Если а £ О, будем обозначать через | а | ординал, обозначением которого является а. Для каждого п пусть %ех^ . . . хп-Ф (е, хи . . .,хп) — частично рекурсивная функция, построенная Клини, универсальная
46 M. X. Лёб, С. С. Вайпер для всех w-местных частично рекурсивных функций (см. [6]). Ясно, что каждый путь Р через О однозначно определяет для каждого предельного ординала а << со4 фундаментальную последовательность {а} (п) = | Ф (а, п) |, где 3-5а — обозначение для а в Р. Поэтому из результатов разд. 2 следует, что для каждого пути Р через О можно получить расширение иерархии Гжегорчика длины о^; обозначим его {@a}a<oi. Покажем, что эти иерархии на самом деле являются иерархиями рекурсивных функций. Пусть (x)t — показатель степени (i + 1)-го простого числа в разложении х на простые сомножители. Для каждого а£0 определим функцию Хпх- Ма (п, х) равенствами Ма (/г, х) = (и + 1)-(#+1), если а=1, Ма(0, х) = М(а)0(х, х), если а==2(а>о и а>1, Ма(0, х) = МФт2,х)ф, га{х)), если а=3-5<а>», Ма(п + 1,х) = Ма(0, Ма(п,х)), где при а=3-5<а)2 га(0) = 0 и для каждого z ra(z+l) = \iy{y>ra (z) & {i)<;z (Мф((а)2) 2+1) (0, у) > Л/Ф((а)2| г) (0, г/))). Зададим частично рекурсивную функцию J равенствами /(z, 1, л, a;) = 2<w+i)-(*+i), / (z, 2а, 0, я:) = 2<ф<2. а> *> *»о, если а > О, /(z, 3-5е, 0, 0)=2(ф^ф(*>°)>°>°))о, / (z, 3.5е, 0, х +1) = 2<ф(*> ф^ *f D. о, .»о.зв, где *=М(У>(Ф(г, 3.5е, 0, s))4 &(*к* ((<&(*> Ф(е, *+1), 0, у))о>(Ф(г, Ф(е, 0» °> »))о))> /(z, 6, п + 1, Я:) = 2(ф^^0»(ф(2»ь»п»зс»о»о, если Ь>1. Так как функция / частично рекурсивна, можно применить теорему о рекурсии Клини [6] и получить такое число к, что Ф (к, а, п, х) ^ / (А, а, гг, #).
Иерархии теоретико-числовых функций 47 Теперь можно доказать по индукции, что (Ф (Л, а, п, х))0 ^ Ма (и, х), и, значит, функция Хапх-Ма (п, х) частично рекурсивна. Возьмем произвольный путь Р через О и для каждого предельного ординала а << (Oi зафиксируем фундаментальную последовательность {а} (п) = | Ф (а, п) |, где 3-5а — обозначение для а в Р, чтобы определить функции Xnx-F^ (х) для р << (й1т Тогда по индукции можно доказать, что для каждого р £ Р при всех п и х ' Мр(п, x) = F?p](x). Поэтому для каждого а < o)i функция Xnx-F*(x) рекурсивна. Итак, для каждого а <С coi класс (£а есть класс рекурсивных функций. Следовательно, {@a}a<coi для каждого пути Р через О есть иерархия рекурсивных функций, представляющая собой собственное расширение иерархии Гжегорчика. 4. Иерархия до г0 Этот раздел посвящен специальному ^выбору фундаментальных последовательностей для предельных ординалов, меньших первого эпсилон-ординала. Напомним, что в определении функции Xnx-F^{x) для предельного а мы использовали следующую «диагонализацию»: Fa(x)=F°{aHx){pa(z)). Это усложненная «диагонализация», на вид более сильная, чем обыкновенная диагонализация, когда просто ра (х) заменяется на х. Однако сейчас мы определим для каждого предельного ординала а <е0 фундаментальную последовательность, для которой окажется, что ра = Хх-х. Определение 4.0. Возьмем произвольный предельный ординал а <80. Тогда а можно записать в виде полинома относительно со: a=coai«a1 + coa2-a2 + -.. +coar-ar, где (i) ar< .. . <a2<a1<a и ar>0, (ii) cii^N для каждого ^ = 1, ...,r и ar>0. Теперь с помощью трансфинитной индукции зададим для каждого такого а функцию {а}, отображающую N в множество'Ърди- налов, меньших а:
48 M. X. Лёб, С. С. Вайнер (1) Если аг < со, то для каждого п {а}(?г) = (оа1.а1+ . .. +о)а^1-аГ_1 + (оа^(аГ — 1) + (2) Если аг — непредельный ординал >со, то для каждого п {a}(rc)=CDai.a1+ .. .+(oa^i.ar_1 + (oa''.(ar —l) + coa/~1./2. (3) Если ar — предельный ординал и функция {аг} уже определена, то для каждого п {а}(п) = со^-а{+ ...-\-(dar-i.a^i + (i)C('r.(ar — l) + (x){arnn\ Ясно, что для каждого предельного ординала а <80 последовательность {a} (ri), n £ TV,, определенная выше, есть фундаментальная последовательность для а. На протяжении этого и следующего разделов мы будем заниматься только фундаментальными последовательностями, определенными в 4.0, и соответствующей иерархией {@|з}р<ге0- Прежде всего отменим некоторые тривиальные следствия определения 4.0. (а) Если 0 < аг < . . . <С а2 < ai <С %о, то для каждого п {coai.fli + coa»-a2+ ...+®ar.(ar+l)}(n) = = 0)a^ai + co^-a2+ . . . +(oar"1.ar_1 + {0)a'-.(ar + l)}(n). (б) {о)Р+1}(0) = 0 для каждого ординала Р<е0; поэтому в силу (а) для каждого а {©P+1-(a + l)}(0) = a)P+1-a + {coP+1}(0) = coP+1-a. Докажем ряд лемм, которые подведут пас к главному результату этого раздела, состоящему в том, что ра для каждого предельного ординала a < e0 есть тождественная функция. Лемма 4.1. рю (#) = # для всех х. Доказательство. По определению функции рщ имеем рш(0) = 0. Предположим, что р^(п)=п. Так как F2n-\-2{n + 1) > > F\\{n-\-i) для каждого i^n и по определению 4.0 {со} (х) = = 2-х для всех х, то JF{0O)}(n+1) (п + 1) > F^oxo (п +- 1) Для каждого i^n. Таким образом, Рсо (П+ 1) =\iy(y> ра (п) & (i)<rn (^{a»<n-j-l) (У) > F°W(i) (У))) = = М(У>П& (iUn (^{°a»<n+l) (У) > F({«}(i) (у))) = = И+1. ~ Поэтому по индукции рсо = Яя-х.
Иерархии теоретико-числовых функций 49 Лемма 4.2. Пусть а — предельный ординал вида а=соа1-а1+ .. .+aar-ar + (x)h+1.(a + l), где 80 >> а! > . . . > аг > /с + 1 гг к < со. Пусть р^ для каждого предельного ординала Р < а есягъ тождественная функция. Тогда Ра — тождественная функция. Доказательство. Для краткости обозначим через у ординал coai.flf1+ . ..+wa'--ar + (ofe+1.a. Тогда {а} (х) = у + {coft+1} (ж) для всех х. Из определения ра следует, что для доказательства равенства ра (х) = х для всех х достаточно показать, что для каждого п F\*Kn+i){n+l)>F°{a}(i)(n+l) при любом i<^ri^ Рассмотрим два случая: (а) Пусть к = О, т. е. {а} (х) = у + 2х для всех х. Тогда очевидно, что для каждого п F\a}{n+\){n+l)>F\a}{\){n+l) при любом i<rc, так как при р <С (7 Fy+g(n + l)>Fy+p(n + l). (б) Пусть &>>0, т. е. для всех х {а} (х) ^=у-{-<£к-х+ ... +(о1-х + 2л;. Тогда по определению 4.0 F{a}(n+\) (П+ 1) =^+o)ft-(n+l)+...+o)-(n+l)+2(n+l)(^+ 1) = Поэтому FU(n+» (n + i) = Fly+u>n.{n+2))(n+i) (n+ 1). (А) Так как y + (oft-(n + 2)<Ia, то по предположению Pv+(0ft.(n+2)(re + l) = "+l. Следовательно, по определению функции р+Mfe.(n+2) F"{y+(ab.<«+2)><п+1) (" + V > FlY+o" .(я+2)}(0) (" + !) = = F°y+ak.in+u(n + l). ' (В)
50 M. X. Лёб, С. С. Вайнер Далее, так как по предположению р .i_0ihm(n,i)(n-\-l) = n-\-l^ то по определению функции PY+fl)fe.(n+1) ^V.(n+D (* + D = ^(V^-Cn+DKn+i) (* + !) > = /?«><„) (»+1). (С) В силу соотношений (А) — (С) F0{a)(n+i)(n+l)>F0laHn)(n+l). Пусть 0^{<и. Тогда, используя определение р-функции и предположение о том, что рр — тождественная фупкция для всех Р<сс, получаем (с учетом (А) и (В)), что F0la)(n+i) (» + 1) =^{°v+wft.(n+2)>(n+1) (» + 1) > ■ >0.(та+1)("+1) = = -f'{v+<ofe.(n+l)>(n+l) ("+!)> > F°ly+aKin+mo) (» + !) = F?a}(«+i) (»+ 1) > Fv°+(ofc.n (n + 1) = = ^+и".п)(л+1)(ге+1)> >^T+«»ft-»}(0)(»+1) = = C<oft.(n-1)(re+1)- Этот процесс можно очевидным образом продолжить до тех пор, пока не будет >F°{y+au<i+mi)(n+l) = = F4+b>k-i+...+«>l.i+2i (n+i) = r*F°{am(n+l). Этим завершается доказательство в случае (б). Итак,
Иерархии теоретико-числовых функций 51 Таким образом, для каждого п и каждого i-^n откуда pa (£)=£ для каждого х, и лемма доказана. Лемма 4.3. Пусть а — предельный ординал вида a = cooci.a1+ ... + соа^аг + соР+1.(а+1), где 80 > а{ >> . . . >> аг > Р -|- 1 и р^со. Пусть рб для каждого предельного ординала б<а есть тождественная функция. Тогда ра — тождественная функция. Доказательство. Обозначим coai-ai+ . . . +(oa/,.ar + cop+1«a через у, так что для всех х {а} (х) = у + {соР+1} (х) = у + соР .#. Достаточно показать, что для всех п и каждого i^n ^?«}(п+1)(П+1)>^(«}({)(»+1). Возьмем произвольное дг и любое i^Zn. Тогда F°{ann+l) (п + !) =i?7°+o)3.(n+l) (л + 1) = = ^{7_1_(о|3.(п_|_1)}(п+1) (™+1)> ^ ^ {7-ЬсоР • (п+1)}(0) ^ ~1~ 1) = = ^7_1_О)|3.п_|_{о)|3}(0) (^+ 1). Это следует из определения pv+fi)p.(ri+1) и предположения, что Р7+соР(п+1) — тождественная функция. Если р — непредельный ординал, то {со13} (0) = о)Р-1*0 = 0, и поэтому Р{а}(п+1) (Я+ 1) >^7_j_0)|3.n (*+1) = ^{°а><п)(л+1). Если р —предельный ординал, то {со^} (0) = со<РХ°), и тогда по определению и предположению о функции р р {|3}(0) ^{a}(n+i) (^ + l)>^J+O)3.n+O){3}(0) (л +1) = = Л7+О)Р-п+оз{3}(0)}(п+1) (П+ 1) > = /17+о)3.п+{о){3}(0)}(0)(^ + 1). Далее, если ' {Р} (0) — непредельный ординал, то {со^>(°)} (0) = 0, и поэтому F°{a}(n+1) (П+ l)>F°{a}{n) (П+ 1).
52 M. X. Лёб, С. С. Вачнер Если {Р} (0) — предельный ординал, то {<о<РХ°>} (0) = а)«Р>^°»<°), и тогда FW(n+l) (П+ 1) >^+ш|3.п+О){{|3}(0)}(0) {П+ 1). Таким образом, мы пришли к рассмотрению убывающей цепочки Р>{Р}'0)>{{Р}(0)}..(0)>.... Эта цепочка должна привести через конечное число шагов к ординалу а, который может быть либо непредельным, либо нулем. Итак, F{ссХп+1) (п + 1) > F^fi.n+tt{{p}(0)}(0) {n + 1) > >^+tt3.n+tta(^+l). Если a =0, то 70 / , 4\^ 7?0 ^a,(n+l) (П + 1) > ^+И3 .п+1 (П + 1) > 70 >^НоЗ.„(*+1) = п0 ^{a}(n)(^+l). Если a — непредельный ординал, то AaKn+i)(n + i)>Fl^.n+aP(n+i) = 70 ^V+o)|3-n+{a)a}(n+l)(^+1) > 70 > Fy+^.n+{^H0)(n+l):== 7О ^+coP.n(" + !) = 70 так как по предположению р « (w+l)=w+l. Таким образом мы доказали, что для всех п F°W{n+i)(n+l)>F°m(n + l). Но если п ;> 0, то ^{a,(n)(»+l) = <+(oP.n("+1) = ^74-шР.{п-1}-КюР}(п+1) (Аг + 1) > > ^7+а)3.(п-1)4-{шР}(0) (?г+1)-
Иерархии теоретико-числовых функций 53 Ясно, что этот процесс можно повторить и получить ^{а}(п+1) {п + 1) > ^{а}(г) {п + 1) для каждого i^n. Лемма 4.3 доказана. Лемма 4.4. Пусть а — предельный ординал вида а = соа1'а{+ ... +соа'".аг + (ор-(а+1), где е0>а1;>...>аг>р и р — предельный ординал. Пусть рл для каждого предельного ординала г] < а ес/пь тождественная функция. Тогда ра — тождественная функция. Доказательство. Как и в леммах 4.2 и 4.3, достаточно доказать, что для каждого п и каждого i ^ я F\a)^i)(n+i)>F\am(n+i). Пусть 7 обозначает ординал о)а1-а! + ... +(oar-ar + (o^'a. Так как Р < е0, то его можно записать в виде (v^^.bs+J^+w6+l-b^+tt6+1))N Р = V4 + ©Pi • Ь4 + (О W^2. b2+w' где б 4- 1 = ps+i и Vs-м — полином относительно со степени, большей 6+1» и где для каждого у, для которого 1^/^5, Р; = vi+1 + сорЯ-1. bJ+i + со 3Я-1 и Vj —полином относительно со степени, большей р^. Пусть 7s+i обозначает ординал Vs+i + co6*1 -bs+i и ^j для каждого 7 = 1» ...,s обозначает ординал Vj + ^i-bj. Тогда a = 7 + со В дальнейшем мы будем опускать скобки, надеясь, что это не вызовет недоразумений. По определению {а} в 4.0 для каждого п Ys+i+{«6+1}(n+l) Yo+ю Yi-f-w {а}(п+1)=у + ы
54 M. X. Лёб, С. С. Вайнер так как {соа} (х) = (о^а>(х) для любого предельного ординала (Т. Возможны два случая: (i) б< со, так что {со6^1} (х) = ы6-х-\- . . . +о)-# + 2х, (ii) б^со, так что {со^1} (х) = соб«£. Проведем доказательство лишь для случая (ii) (для t случая (i) будет ясно, что надо делать). Итак, полагая б^со.; получаем Vi+o) {a}(n + l) = y + to Так как {а} (тг +1) — предельный ординал <сх, то по предполо жению р{аКп+1)(п + 1)=П+1. Поэтому по определению P{a}(n+i) ^{a}(n+l) (и + 1) = F{{a}(n+l)}(n+l) {jl + 1) > > ^{{a>(n+l))(0)(tt+l). Но по определению 4.0 Ys+rb«6-n+{«6}(0) Ys+© Vi+o) «а}(п+1)}(0) = т + со Следовательно, если б —непредельный ординал, то {соб}(0) = 0, так что {{а}(»+1)}(0) = {а)(и), и потому FU(n+i)(n+l)>F°{aKn)(n + l). Если б —предельный ординал, то {со6} (0) = со<6}(0\ так что Vi+o) {{a}(/i+l)}(0) = Y + co • - Далее, по определению P{{a}(n+i)}(0) ^{a)(n+l) (n + 1) > ^{{a}(n+l)}(0) (и + 1) > ^{{{a}(n+l)}(0)}(0) (и + 1). Если {6} (0) —непредельный ординал, то {od<6K°>} (0) = 0, так что {{M(n+l)}(0)}(0) = {a}(il),
Иерархии теоретико-числовых функций 55 и потому F°{aKn+i)(n+l)>F°{aKn)(n+l). Если {6} (0) — предельный ординал, то {со<бХ°)} (0) = ю«*К°Ж0>, откуда Л {{б}(0)}(0) Vs+1+«)0.n+(o vs+© Vi+o) {{{a}(»+l)}(0)}(0) = V + (o Теперь мы повторим процесс и рассмотрим {{6} (0)} (0). Таким образом мы приходим к рассмотрению убывающей цепочки предельных ординалов 6>{6}(0)>{{6}(0)}(0)>. ... Эта цепочка должна оборваться через конечное число шагов на ординале £, который может быть либо непредельным, либо нулем. Используя определение и предположение о функциях рл для предельных ординалов т) < а, получаем где £ —ординал вида {. . .{{{а} (п-\- 1)}(0)} (0) .. .} (0), и Ys+©~ Если | —непредельный ординал, то {со£}(0) = 0. Если £ = 0, то откуда {С0,ув+1+в)в'п+в)6}(1)=с07в+1+в)в,п. Далее, если £ — непредельный ординал, то {£} (0) ={а} (?г), а если £=0, то {£>}{!■) = {а} (п). Но £<ос и, кроме того, по предположению Ps(ra-1- 1)= п-\-1. Поэтому по определению р^ F\{n+i) = F\mn+i){n+\)> >max(F?U(1)^+l), F?D(0)(m+1))> >*■{«}(») (»+*). так как или {£} (1) = {а}(тг), или Щ (0) = {а}(гс). Но так как F°la)(n+i)(n + l)>Fl(n+l), то ^а}(п+1)(и+1) >/■?«)№(»+1).
56 M. X. Лёб, С. С. Вайнер Теперь очевидно, что молено повторить весь процесс, начиная с ординала {а}(п) = у + ы вместо {а}(?г + 1). Таким образом, если п>§, то F°{aHn)(n+l)>F°{aKn.1)(n-\-l), и тогда F°{a}(n)(n+l)>F°{aKi)(n + l) для каждого i<n. Итак, мы доказали, что для каждого п и всех i^n F°{aHn+l)(n+l)>F0{a){i)(n+l). Этим завершается доказательство для случая (ii). Заметим, что в случае (i) ординал б должен быть либо непредельным, либо О, так что по сравнению со случаем (ii) доказательство несколько проще. Теорема 4.5. ра = Кх-х для каждого предельного ординала а <С 80. Доказательство. Доказательство проведем траисфи- нитной индукцией. По лемме 4.1 р^ = Кх-х. Пусть а — такой предельный ординал, что со << а < е0 и ре = Кх-х для каждого предельного ординала р < а. Тогда, так как ординал а должен быть по виду одним из рассмотренных в леммах 4.2—4.4, ясно, что ра = Кх-х. Теорема доказана. [5. Описание к-рекурсивных функций Петер Петер 19] описала для каждого положительного целого числа к класс $ik рекурсивных функций, названных к-рекурсивными. Она доказала, что !fti = $> и $Jtft c= 9^+1 для каждого к. Робин [12] построил такую иерархию {Еа}а<(йт типа иерархии Гжегорчика, что для каждого пололштельного целого числа к Ю*= U Еа. а«дк В этом разделе мы установим подобный результат для иерархии {@а}а<8(р основанной на фундаментальных последовательностях из определения 4.0. Прежде всего из работы Гжегорчика [5] и результатов разд. 2 следует, что U (Еа = «* = %!■ Этот результат легко обобщается и получается
Иерархии теоретико-числовых функций 57 Теорема 5.0. Для любого счетного ординала Р U <£Р+а = ,Р(<5р). Класс У\к для каждого положительного целого числа к является наименьшим классом функций, содержащим & и замкнутым относительно суперпозиции и гнездной рекурсии (с параметрами^ или без) при лексикографическом полном порядке на Nh. Пусть /с>2; зададим для каждого z функцию tyi ... yh-\nx-Fz (уи . . ., yk.u п, х) равенствами F0(0, ...,0, п, х)=(п+1).{х+1), Fob/i, •••»Ул-2» Ул-i + l, 0, z)=FQ(yu . .., yk-2, Уи-и х, х), F<>{yw-, yt-u г/i + l, 0, .. ., 0, 0, x)-=FQ(yu ...,yt,x, ... 0 • «9 Ху tLX, U? Х)у F0(yi, .. M^-b^ + lt^+i» • • .,yfc-i,w + l,a:) = Fo(yi, • • .,^-ь^ + 1, z/j+ь • • •> #ь-ь 0, ^o(*/i> • • •, г/у-ь Ю + 1, yj+u • • ., г/fe-b я, *)),- где l<i</c —2 и 1^/^/v—1; Fz+1(0, . .., 0, 0, x) = Fz(x, ..., х, 2х, 0, х), Fz+i (У 1, • • • > Ук-2, 0Л-1+ 1, 0, *) = ^z+l {УU • • •, #1-2, 2/fe-b *, *), Fz+i(yi, • • •, #-i, ^ + 1, 0, .. ., 0, 0, s) = Fz+i(yi, . . ., #, я:, ... . . • , X^ tLX, U, Х)у. Fz+i(yu • . .,yfe-i,w+l,a:) = Fz+i(yi> . ..,^_1э0, Fz+1(z/b . ..,yh-un,x))r где l<i^/c —2. Из этого определения ясно, что для каждого z функция kyi ... yu-inx-Fziyi, ..., уи-и п, х) /с-рекурсивна. Возьмем произвольный ординал а = со**-1. д4 -f- ... + со1 • afe_i + afe и зададим функции rKnx-F1^{x), используя фундаментальные последовательности из определения 4.0. Тогда легко доказать, что- для всех п, х Fa{x)=Fai{a2, . . ., ak, n, я), так как ра—тождественная функция для каждого а<80. Поэтому Xnx*Fa(x)€%tk для каждого а<о)\ Следовательно, @а s 9ife для каждого а < оД и, таким образом, справедлива Теорема 5.1. Для каждого положительного целого числа h U @as5Rft. a<wfe
58 M. X. Лёб, С. С. Вайнер Займемся обращением теоремы 5.1. Сначала нам потребуется еще одно свойство монотонности функций knx-F™ (#), основанное на фундаментальных последовательностях из определения 4.0. Лемма 5.2. Для любого положительного целого числа т если ординал у < cow можно представить в виде полинома относительно со, у которого все степени со больше т, то для всех р и всех х ^ 1 ^7+(0™.(р+1) (*) > ^V+W™.p (*)• Доказательство. Докажем лемму индукцией по т. Если иг = 1, то по определению 4.0 и теореме 4.5 для всех р и всех #> 1 Fv_|-(ol.(p+l) fa) = F7-|_o)i.p_|_2x (х) > >Fy+<ui.p(x). Пусть п ^ 1. Предположим, что лемма верна для всех т ^ п. Тогда, многократно применяя предположение индукции, получаем для всех р и всех х ^ 1 ^vH-©n+1.(p+l) И =^v+o)n+1-P+«n-x+. . .+о)1.я+2ж (Ж) > > ^v+©n+1.pH-©n *+. . .+©1.ж (Х) > > ^у+©«+1.р+®п *+. . .+©2.я (*) > > ^v+(on+1.p+con.*+. . .-i-соз.х (*) > >^Н>п+1.р(*). гг. е. лемма верна также для т = и + 1. Таким образом, по индукции лемма доказана. Петер [9] предложила следующее описание классов 9tfe: din — это наименьший класс функций, содержащий сР и замкнутый относительно суперпозиции и й-рекурсии; k-рекурсией называется схема / (#i, ...,#&) =0, если #i = 0, или #2=0, или ..., или #ь = 0, /(#i+l, ..., #k + l)=g(#i, ...,#ft, A, . ..,/л), ЗДе /fe = /(#i + l> •••>^ft-i+l> #ь) и для каждого i, l^i^/c —1, /j = / (#1+ 1? • • •» #г-1 + 1? #i» Aj (#i, . . ., #ft, /ft), ... . •., hk-i (#ir . .., #ft, /ft)).
Иерархии теоретико-числовых функций 59 Используем это описание класса Шь, чтобы показать, что для каждой /^-рекурсивной функции / существует такой ординал СХ<0)\ ЧТО /6®сс- Лемма 5.3. Пусть функции g, h\, . ..,Ah_i, ...,h\~ все принадлежат классу (£а, где a<;o)fe. Тогда если функция f построена из них с помощью k-рекурсии, то существует такой ординал р, что а <С Р < cofe и для всех хи . . ., xk f (xu ..., xk) < Fl (max (xu . . ., xk)). Доказательство. Мы дадим набросок доказательства для случая к = 3. Из этого будет ясно, как доказывать лемму в общем случае. Предположим, что функция / определена с помощью 3-рекур- €ии равенствами / (х, у, z) = 0, если х=0, или у=0, или z=0, f(x+l, y+U z + l) = = g(x, у, z, f(x, hi(x, у, z, f{x+l, y+l, z)), h2(x, y, z, f[x+l, y + l, z))), f(x+l, y, h3(x, y, z, f(x+l, y+l, 2))), f(x+l, y+l, z)), ГДе g6@a, Ai6@a» ^2€@a, К 6 ®a И a < CO3. Так как a<C(o3, то по лемме 2.4 и теореме 2.11 найдутся такие числа р и д, что д(у)<П2.р'(тах(у)) при тах(у)>д, и для каждого i = l, 2, 3 fei(x)<FS,2.p(max(x)) при max (x) > g, где а <С со2 • р. Ясно, что должно также найтись такое число г, что g (у) < г при max (у) < g и ht (х) < г для каждого i = 1, 2, 3 при max (х) < д. Далее, по лемме 5.2 F^2. (Р_|_Г) (л;) > г, если #>1. Поэтому g(y)<^©a.CP+r)(max(y)) при max (у) > 1 и для каждого i= 1, 2, 3 Ы (х) < ^2. (p+r) (max (x)) при тах(х)>1. Пусть d=mdix(p + r, gS9> ^> 0> 0> 0» 0)). Покажем, что для всех х, у, z / (X, у, Z) < F2)2.d+(o.x+22/ (Z). Обозначим через а отношение лексикографического полного порядка на N3. Проведем трансфинитную индукцию по ос. Прежде
60 M. X. Лёб, С. С. Вайнер всего легко показать, что если max (л;, г/, z)^1, то / (х, у, z) <С <F©2.d+©.3C+2i/-(z). Предположим, что max (х, у, z) > 1, и пусть для всех и, v, w, для которых (и, v, w) ос (x, у, z), выполняется неравенство / (u, v, w) < F%2 И. Если х = 0, или у=0, или z = 0, то /(о:, z/, z) = 0 и тривиально имеем /(я, у, z)</^2.d+©.x+2.v(z). Пусть теперь л;;>0, z/ > 0, z > 0. Тогда, так как max (я, г/, z) > 1, то max (я —1, z/— 1, z — 1) > 1. Поэтому по предположению индукции, учитывая 3-рекурсию, получаем f(x, г/, z)<F«2.d (^(о2.0'4-(о.^+2-(г/-1)(^о)2^(^)))^ где яг = max (л;—1, у—1, z —1, / (л;, г/, z—1)). Рассмотрим два случая: (а) Если z= 1, то т= max (л; —1, г/ — 1), так как f(x, г/, 0) = 0. Но ^©2.d+w-x+2-(!/-'!) (1)>Ш# Поэтому -d+co.3c+2-(2/-l) (^w2.d(^o)2.d+(o.x+2-(I/-l) (I))))- Так как для всех ?г ^(02.d(^(02.d+(0.x+2.(2/-l) (^)) ^ ^^0)2.d+w.x+ii-(z/-l (^o)2.d+o).x+2.(y-l) ("")) == в силу (4) ==Fo)2.d+(o.a:+2-(2/-l)(«), ТО /(#» *Л ZX ^©2.d-|-(o.x+2«(i/-l) (^w2.d+(o.3c+2-(y-l) (!))• В силу равенства (2) 1 0 ^(o2.d+(o-x+2.(y-l) (1)= ^o)2.d4-(o«x+2y-l (1), так что /(л:, г/, z) <Fco2.d+co.x-b2.(2/-i) (fo)2.d4-a).x4-2.y-i (1)) < В СИЛУ (2), ПОСКОЛЬКУ /^2.^.^2.2,-1 (1) > * <-P,©2.d+©.x+2.i/-l (^©2.d+©-x+2.i/-l (1))== в силу (4) ^=Fco2.d+(o.x-b2.2/-l (1) =
Иерархии теоретико-числовых функций 61 в силу (2) = Fo)2.d-fG).x+2-y (1) = ПОСКОЛЬКУ 2=1 = F(02.d+(i).X+2-y (Z)- (б) Если z>l, то z—1>1, так что в силу (2) = F(02.d+o)-oc-f2-?/-l (2 — 1). Далее, для всех п откуда f(x, y,z)<FQ2.d+0.x+2-(ij-l)(^Q2.d+(o-x+24^-l)(^«2^+«-^2 42/-l)(m'))):::= в силу (4) Поэтому = /?T©2.d+(o-aH-2-О/-!) (^). /(Ж, Z/, z)<F(02.d+(o.x+2.(y-l)(/?0)2 • d+(0'X+2«y- 1 Так как z —1>1, то ^.\ц-со.х+2-г/-1 (2— 1) > 2, и, таким образом, в силу (2) Fu2.d+(i)*X-\-2-(y-\) (^0)2.d+0).X+2.jy-l (^ 1))^ ^CFo)2.d-f(o.:>c+2.y-l (^o)2.d+(o-3c+2.?/-l (z — 1)) = в силу (4) = Fu)2.d+(0.X+2-l/-l (^ 1) <C <Fo)2.d+G).x+2.y-l (z) = в силу (2) = Fu)2.d+o).x+2-2/ (Z)- Следовательно, /(л;, г/, z)<Fab.(^-<u'.x+2-v(z). Итак, мы доказали трансфинитной индукцией по ос, что для всех х, у и z f(x,yr_z)]<Fl Теперь легко показать, что для всех х, г/, z f {х, У, Z) < F(o2.d+a).max(x, i/,.z)+2.max(x, y, z) (max (#, г/, z)) = = F«2.(d+i)(max(x, г/, z)).
62 M. X. Лёб, С. С. Вайнер Поэтому Р = co2-(d + 1) — требуемый ординал, и, таким образом, лемма 5.3 доказана. Теорема 5.4. Для каждого положительного целого к Ю* = U @«. a<©ft Доказательство. Согласно Гжегорчику [5], для каждой примитивно рекурсивной функции / существует такой ординал а<со, что /6®а- Пусть / пост роена с помощью суперпозиции из функций go, gu ..., gn, где gi£Gta. и аг-<о)ь для каждого i<^n. Обозначим a=max(a0, au ...,а71). Тогда a<coft и g*6@ce. для каждого i^Zn. Таким образом, / определена с помощью суперпозиции из функций, принадлежащих @а. Следовательно, /6 ©а- Пусть, наконец, / определяется с помощью /с-рекурсии из функций go, gu...,gn, где £г6®а{ и at<(i)k для каждого i ^ п. Пусть опять а = max (а0, аи . .., ап). Тогда а <С coft и ^ 6 ©а для каждого j^ra. Поэтому по лемме 5.3 найдется такой ординал р, что a<Cf5<cok и для всех хи ..., xk f(xu .. ., xk) < F$ {max (xu . ..,#й)). Согласно Петер [9], ограниченная /с-рекурсия сводится к примитивной рекурсии. Следовательно, функция / примитивно рекурсивна относительно функций go, gu •-, gn и Kx'F$(x). Но так как а < р, то ^6®(i для каждого i^n. Таким образом, Xx'Fp (x) 6@р, откуда /£Р((5р). Поэтому по теореме 5.0 найдется такой ординал у<Ссо, что /£@p+v. Полагая б = р + у, получаем б <С со72 и /6®б- Итак, мы рассмотрели все возможные способы определения ^-рекурсивных функций. Следовательно, для каждой функции / £ 5ftл существует такой ординал а < со\ что / £ @а. Теорема доказана. Теоремы 5.1 и 5.4 вместе дают следующее описание класса ^-рекурсивных функций. Теорема 5.5. Для каждого положительного целого числа к и ®в=ял. Таким образом, если обозначить Ш= (J 5ftft» T0 получится 0<ft<o Теорема 5.6. U ffia = 3R. a<cj)w
Иерархии теоретико-числовых функций 63 Из леммы 2.4 и теоремы 2.11 вытекает, что функция Xx-F ^(х) мажорирует с некоторого места любую одноместную функцию f принадлежащую классу 5Ш. Следовательно, Xx-F0^ (x) — функция, не являющаяся /с-рекурсивпой ни для какого к. 6. Открытые проблемы A. Для иерархии {©а}а<е(р рассмотренной в разд. 4 и 5, можно доказать, применяя одну лемму из работы [12] (см. [12, стр. 61]), что если а < Р < со°\ то функция Xx-Fa{x) «элементарна» относительно Xx-F% (x). Поэтому ясно, что для каждого ординала а < сош можно переопределить класс @а так: (5а = Е (Хх-0, Хху-х-^у, Хх-хи 'kx-Fa(x)). Возникает вопрос, существуют ли ординалы б > (0° и фундаментальные последовательности для всех предельных ординалов <б, для которых можно доказать, что если а < р <б, то функция Xx-F°a (x) «элементарна» относительно Xx-F$ (x). Мы предполагаем, что это справедливо для е0 с фундаментальными последовательностями (всех предельных ординалов <е0), определенными в 4.0 *). B. Из теоремы 4.5 известно, что для всех предельных ординалов <80 существуют фундаментальные последовательности, для которых ра = Хх-х для каждого предельного ординала а < е0. Существует ли верхняя граница ординалов р, обладающих такими фундаментальными последовательностями для всех предельных ординалов <р, что ра =Хх-х для каждого предельного ординала а << р? Кроме того, каким условиям для каждого такого р должны удовлетворять фундаментальные последовательности для всех предельных ординалов <Р, чтобы обеспечить равенство ра = Хх-х для каждого предельного ординала а < р? •С. Можно ли так выбрать фундаментальные последовательности для всех счетных предельных ординалов, что если {©&} — иерархия, основанная на этих фундаментальных последовательностях, то для каждой всюду определенной теоретико-числовой функции /, конструктивной по Гёделю [4], найдется такой счетный ординал а, что / £ (§а? 2) Решение этой проблемы дано С. С. Вайнером (см. стр. 78—83 настоящего сборника).— Прим. ред.
434 M. X. Лёб, С. С. Вайнер СПИСОК ЛИТЕРАТУРЫ 1. Ackermann W., Zum Hilbertschen Aufbau der reellen Zahlen, Math. Annalen, 99 (1928), 118—133. 2. Church A., Kleene S. C, Formal definitions in the theory of ordinal numbers, Fund. Math., 28 (1936), 11—21. 3. Cleave J. P., Rose H. E., % ^-Arithmetic, в сб. «Sets, Models and Recursion Theory», N. Holland, 1967, pp. 297—308. (Русский перевод см. настоящий сборник, стр. 19—32.) 4. Godel К., Consistency-proof for the generalized continuum-hypothesis, Proc. Nat. Acad. Sci. USA, 25 (1939), 220—224. -5. Grzegorczyk A., Some classes of recursive functions, Rozprawy Mate mat., 4 (1953). (Русский перевод: Гжегорчик А., Некоторые классы рекурсивных функций, сб. «Проблемы математической логики», изд-во «Мир», М., 1970, стр. 9—49.) 6. Клини С. К., Введение в метаматематику, ИЛ, М., 1957. 7. Kreisel G., On the interpretation of non-finitist proofs, /. Symbolic Logic, 17 (1952), 43-58. 8. Miiller G. H., Charakterisierung einer Klasse von rekursiven Funktionen, Kolloquium «Grundlagen der Math...», Tihany, 1962. 9. Петер Р., Рекурсивные функции, ИЛ, М., 1954. 10. Peter R., Rekursivitat und Konstruktivitat, Constructivity in Mathematics, ed. Heyting A., Amsterdam, 1959, pp. 226—233. 11. Ritchie R. W., Classes of recursive functions based on Ackermann's functions. Pacific J. of Math.,, 15, 3 (1965), 1027—1044. 12. Robbin J. W., Ph. D. Dissertation, Princeton University, 1965. 13. Feferman S., Classifications of recursive functions by means of hierarchies, Trans. Amer. Math. Soc, 104 (1962), 101—122. (Русский перевод: Фе- ферман С, Классификация рекурсивных функций с помощью иерархий, Математика, 15:6 (1971), 137 — 158.)
КЛАССИФИКАЦИЯ ОРДИНАЛЬНО РЕКУРСИВНЫХ ФУНКЦИЙ х) С. С. Вайнер 2) Введение В работе [7] была разработана схема, позволяющая порождать различные иерархии теоретико-числовых функций. Особое внимание было обращено па иерархию {@а}, получаемую при ограничении а множеством ординалов, меньших е0, и было высказано предположение, что эта иерархия дает классификацию ординально рекурсивных функций. Главная цель настоящей статьи — доказать справедливость этого предположения. Кроме того, в разд. 4 мы обобщим метод Робина [9], чтобы еще больше упростить определение классов @а, это приводит к положительному решению проблемы А (см. [7]). Также получено другое описание классов (£а в терминах вычислительной сложности. Обозначения те же, что и в работе [7]. Множество неотрицательных целых чисел обозначается через N, а буквами а, Ь, . . * . . ., .г, г/, z (с индексами или без) обозначаются натуральные числа. Наборы х1, . . ., xk обозначаются через х. Греческие буквы, за исключением X и jli, обозначают ординалы, меньшие е0. 1. Предварительные определения и результаты Пусть а — предельный ординал. Фундаментальной последовательностью для ос назовем строго возрастающую оз-последова- телыюсть ординалов, предел которой равен а. Для каждого предельного ординала а << е0 фундаментальная последовательность {а} (п), п £ N, определяется индуктивно следующим образом: (I) Если а = (оа1-а1 + соа2-а2+ • • • + соаг-яГ +со/г+1-(яГ+1+ 1), где и > осi у> а2 > . . . > осг > к -\-1, то для каждого п 6 N {а} (/?) —(oai-^!+ . . . +ыаг-аг-\-ык+1-аг+1 + ык-п+ . . . +<д-п-\-2-п. (II) Если a = (oai-fli-bcoa2-a2+ • • • +coa^-^r + cop+1 -(ar+i + 1), где a >> aA >>a2 ;> . . . > ar >> |3 -f 1 >> со, то для каждого n£N {а}(п) = (да1-а{ + . . . -f a)a|,-ar + ^p+1-flr+i + (op-w. 2) Wainer S. S., A classification of the ordinal recursive functions, Arch. Math. Logik, 13 (1970), 136—153. 2) Автор выражает искреннюю благодарность профессору М. X. Лёбу за неоценимую помощь и поддержку во время работы над статьей. 5-01321
66 С. С. Вайнер (III) Если а = о)а1-а1 + <юа8-а2+ • •.+соа^аг + соа.(^г+1 +1), где а > о^ > а2 > ... > аг ;> а и а — предельный ординал, то для каждого п £ N {a}(n)=coa^ai+ . .. +coar-ar+coa.tfM4 + co{0}(n). Далее, для каждого ординала а<е0 зададим функцию Fa(x) рекурсивно равенствами П(*)=(* + 1)-(* + 1), Fl+i(x)=F%(x), Fa {x) = F°{o}(x) (x), о — предельный ординал, F^l(x)=F°y(F;(x)), т>0. Из этого определения ясно, что для каждого а << 80 функция Fa (х) определена для всех п и х. В работе [7] были получены различные свойства монотонности функций Fa(x). Дадим резюме этих результатов: Теорема 1.1. (i) Fa (#) > max (n, x) для каждого а <С г0 и всех п, х. (ii) Fa (#) >> Fa (*/) Зля каждого а < е0 гг всея дг, я, z/, если *> т/. (iii) Fa (х) >> FS (я) для каждого а < 80 и всех т, п, х, если т > п. (iv) Fa+i (#) > ^a (#) для каждого а<С&о и всех п, х, причем равенство выполняется только тогда, когда п = х — 0. (v) Если а < р < 80, mo Fa мажорируется с некоторого места функцией Fp. (vi) £сли о — предельный ординал<s0 ^ #>0, то F{o}(*)(#)> >F{0}(i)(a;) Зля каждого i<.x. Эти результаты «монотонности» здесь играют большую роль, и мы их часто будем использовать без явных ссылок. Для каждого a < е0 обозначим через @а наименьший класс функций, содержащий {Яд;-0, %ху-х-\-у, Xx-xt} \J{kx-Fl(x) | p^a} и замкнутый относительно суперпозиции и ограниченной рекурсии. Ясно, что если a < р < е0, то @а 3 @р. В работе [7] доказываются следующие результаты, касающиеся иерархии {@a}a<e0- Теорема 1.2. Пусть а — произвольный ординал, для которого О <С а <80. Тогда для каждой функции /6@а существует такое число р, что для всея х /(x)<Fa(max(x)).
Классификация ординально рекурсивных функций 67 Следствие. Пусть 0<а<Р<е0. Тогда каждая функция из (§а мажорируется с некоторого места функцией F$, и, значит, (§а сг (5р. Теорема 1.3. {@а}а<е0 — собственное расширение иерархии Гжегорчика, и для каждого kfN множество {] (5 является a<v>h классом k-рекурсивных по Петер функций. Определим для каждого n£N ординал со(га): со(0) = 1, G)(ra+1) = CDw(n>. Ясно, что {со (п) | га 6 N) — фундаментальная последовательность для 80. Для каждого га > О построим на множестве N примитивно рекурсивный полный порядок <п типа со (га), как у Тей- та [10]. Одновременно с отношением <п зададим функции ordn и numn так, чтобы значение ordn (x) было ординалом, представленным числом х в полном упорядочении <п> а numn (a) — числом, представляющим a < со (га) в полном упорядочении <п. (i) <i — обычное полное упорядочение множества TV и ordi (#) = £, пит^я^я для каждого х. (и) Пусть <Сп, ordn, numn уже определены так, что <Сп задает порядковый тип со (га), numn (ordn (х)) =х для каждого х и ordn (numn (a)) = а для каждого a < со (га). Тогда если р = = coai-a1 + coa2-a2+ . .. + coa'-ar, где со(га) >a1>a2>.. .> ar>0, то зададим ПШПП+1(Р) = (PSU^D'CmnCx,)- • • • -Сип*(a,))-1' где p0> Рь Рг> • ••—примитивно рекурсивный пересчет простых чисел в порядке возрастания. Обратно, если zr<in.. .<Cn22<n zi и z=(p«j-^a.....par)-_l, зададим ordn+1(2) = (oord^zi).a1 + (oord^z2).a2_j_ ... +o)ord^^).ar. И, наконец, определим <Cn+i- х <n+i У = ordn+1 (ж) < ordn+1 (у). Ясно, что каждый ординал р < со (га + 1) имеет единственное представление в виде numn+1 (P) и каждое число «представляет» некоторый ординал <со (га + 1)- Поэтому отношение <n+i задает полный порядок на N типа со (га + 1)- Итак, для каждого га > 0 отношение <п задает полный порядок на N типа со (га), numn (ordn (x)) = х для каждого х и ordn (numn (a)) = а для каждого a < о) (га). Отметим также, что для каждого га > 0 элемент 0 является наименьшим относительно <<п. 5*
68 С. С. В айне р Определение 1.4. Для каждого п > О обозначим через U (<Сп) наименьший класс функций, содержащий примитивно рекурсивные функции и замкнутый относительно суперпозиции, примитивной рекурсии и негнезднои ординальной рокурсии над полным упорядочением <Сп. Функции, принадлежащие U(<n), называются <^п-рекурсивными. Определение 1.5. Говорят, что функция / определяется <Сп-аннулированием по функции g, если / (0, а) = 0, / (х + 1, а) = 1 + / (g (х + 1, а), а), где g (О, а) = 0 и g (х + 1, а) <п х + 1 Для всех х. Определение 1.6. Для каждого п >> О обозначим через А (<п) наименьший класс функций, содержащий примитивно рекурсивные функции и замкнутый относительно суперпозиции, примитивной рекурсии и <<п-аниулироваиия. Теорема 1.7 (Р о б и н). U(<Cn) = А (<Сп) для каждого п>0. Определение 1.8. Функция называется ординально рекурсивной, если она <Сп-рекурсивна для некоторого п > 0. Класс ординально рекурсивных функций обозначим OR. Непосредственно из теоремы 1.7 и определения 1.8 вытекает, что OR= U Л(<п). 2. Иерархия ординально рекурсивных функций Цель этого раздела — показать, что для каждого а < е0 существует такое число г, что функция F°a <С,-рекурсивиа. Отсюда будет следовать, что каждая функция, принадлежащая классу ®а(а<8о), <Сг-РекУРСивна для некоторого г. Предположим сначала, что число п > 0 фиксировано и функции F& (х) определены лишь для ординалов а < со (п). Предположим также, что определена функция G так, что G(xJrl, а) = (иг + 1)-(а + \), если ord72fl (х-\--1) = со0 | т = т |-1, G(£+l, a) = G(numn+i((i)a-\-a), а), если ord7l+1 (х |- 1).= о)а 1 -1 + 0, G(x+i, a) =:G(num,m(co{0}(a)), а), если ord72+1 (x + 1) = = соа + 0 (а — предельный ординал), G(x-\-l, a) = G(numn+1(<oP), G (numn+1 (co^ + m), а)), если ordn+1(a: + J) = <ji)fl + m+l (Р>0).
Классификация ординально рекурсивных функций 69 Тогда легко доказать по индукции над ординалами << со (п), что для каждого а < со (п) и всех т, а F™{a)=G{nnmll+i{(u* + m), a). Покажем, что такую функцию G можно определить из примитивно рекурсивных функций гнезднои рекурсией над полным упо рядочепием <Cn+1 • Напомним определение фундаментальных последовательностей {о} (/), i £ N, для предельных ординалов а < 80. Если а — предельный ординал <Чо°\ то для каждого i £ TV последовательность {о} (I) определяется, как в пункте (I). Из способа, которым задается полное упорядочение <2 (порядкового типа со03), ясно, что существует такая примитивно рекурсивная функция fs2, что fs2 (z, i) = num2 ({ст} (i)), если ord2 (z) — предельный ординал а. Предположим теперь, что т ^ 2 и существует такая примитивно рекурсивная функция fsm, что fsm (z, i) = numm ({a} (i)), если orclm (z) — предельный ординал ст. Если б —предельный ординал <co(7n-f 1), то б имеет вид со^-яН . . . l-co06'^"1 -аг, где (*!>> . . . >аг + 1, и тогда {6} (i) определяется, как в пунктах (I) или (II), либо вид coai-«i -]- . . . . . . -|- coas" -as, где со (т) >> а4 > . . . > as и as — предельный ординал, в этом случае {6} (i) определяется индуктивно по {as}(i). Поэтому, проводя «арифметизацию» ординалов, меньших со (т + 1), с помощью функции numm+i, можно определить такую функцию fsm+1, примитивно рекурсивную относительно fsm, что fsm+i(z, 0 = numm+1({6}(i)), если ordm+1(z)— предельный ординал б. Так как функция fsm примитивно рекурсивна, то и fsm+1 должна быть примитивно рекурсивной. Таким образом, ясно, что для каждого k ^ 2 существует такая примитивно рекурсивная функция fsft, что fsA(z, i)=n\imk({o}(i)), если ordk(z) — предельный ординал а. Следовательно, если ord,l+1 (х + 1) = соа, где а — предельный ординал, то is,l+i(x -f 1, а)= numn+1({coa}(a)) = numn+1(cotaK«)).
70 С. С. Вайнер Теперь зададим предикаты Ри Ръ Р3, Р4: pi(y) = ordn+1(z/) имеет вид со° + т, р2 (у) = ordn+1 (у) имеет вид ю06*1, Рз(у) = OTdn+i(y) имеет вид соа, где а —предельный ординал, Р4 (у) = ordn+i (у) имеет вид odP + tw + I, где р>0. Эти предикаты примитивно рекурсивны, и, значит, существуют такие примитивно рекурсивные функции g4, g2, g3, gk, что gi (s+1, a) = (m+l).(a+l), если ordn+1(£ + l) = G)° + m, g2(s+l, a)=numn+1(o)a + a), если ordn+/(a: + l) = (oa+1+0» g3(z+l, a) = numn+1(o)P), если ordn+1 (x+ 1)==со& + т + 1, g4(ar+l, a) = numn+1((oP + /ii), если ordn+1(^ + l) =o)P + m + l. Поэтому функцию G можно задать равенствами G(0, a) = 0, (giOz-И, a), если jPi(s + 1), G(g2(^ + 1» a), a), если Р2(х+1), G(z+1, a) = \ G(fsn+1(a: + l, a), a), если P3(x + 1), £(£з(* + 1> a), G(g4(;z + 1, »), a)), если Р4(* + *)> 0 в остальных случаях. Так как fsn+1 (х + 1, a) <n+i# + 1 для всех х и gt (х + 1, a) <n+ix + 1 для каждого i= 2, 3, 4, то ясно, что G определяется из примитивно рекурсивных функций гнездной рекурсией над <n+i- Тейт [10] показал, что гнездная рекурсия над <n+i сводится к негнездной ординальной рекурсии над <п+2- Поэтому функция G <п+2-рекурсивна. Но для каждого a < со (п) и всех а n(a)=G(num7l+1(coa), a), так что функция Fa также <71+2-рекурсивна. Итак, если a <co(rc), то все исходные функции класса @а <п+2-рекурсивны, и поэтому каждая функция, принадлежащая ®а, <п+2-РеКУРСИВНа. Таким образом, доказана Теорема 2.1. Для каждого п >> 0 U <5astf(<*+2). a<co(n) Следствие. (J (Sa^OR. a<e0
Классификация ординально рекурсивных функций 71 3. Полная классификация ординально рекурсивных функций В этом разделе мы покажем, что каждая <71-рекурсивная функция принадлежит классу @ш(п).й при некотором к. Отсюда будет следовать, что иерархия {®а}а<ео исчерпывает класс ординально рекурсивных функций, и, таким образом, получается следующая характеризация класса OR: OR= U (5а. а<е0 Эти результаты связаны с усиленной формой свойства монотонности функций F7a, установленного в части (v) теоремы 1.1, а это в свою очередь связано с дальнейшим анализом фундаментальных последовательностей {a} (i), i £ N, для предельных ординалов а < 80. Лемма 3.1. Для каждого п > О и каждого предельного ординала а < со (п) если а < а и питп (а) <#, то а <{о*} (х). Доказательство. Будем доказывать индукцией по п. Для п = 1 результат тривиален. Предположим, что лемма верна для всех п ^ 1, и пусть а — предельный ординал <со (п + 1)- Если а <а, то можно записать а и а в виде а = 6 + о)аьа1 + о)ОС2.<22+ • • • +(Das-<zs, cr = S + coai.61 + co(J2.62+ ... +o)a?,.6r, где (i) а4 > а2 > . . . > as > 0, (ii) аА>а2> ... >аг>0 и Ь4>0, (ш) или о{^>аи или а1 = а1 и bi>a1? (iv) б — полином относительно со степени, большей а1# Из определения {а} (х) ясно, что (а}(а:)>б + (оа1.(Ь1-1) + {(оа1}(а:). Рассмотрим два случая: (а) Пусть a1>a1. Предположим, что х >numn+1(a). Так как питп+1(а)>^1итд(а1)-1, то x>a,t и х^> numn(ai), если ai^O. Таким образом, если о4— непредельный ординал, то {о}(х)>& + (о<ч.{Ъ1-1) + {(оЪ}(х)> >6 + (oai-(b1— l) + (oai-1-a;>
72 С. С. Вайнер так как ох — 1 >- а4 так как х > а4 > б + соа1 • (Ь4 — 1) + coai • а{ + wai > а. Если а4 — предельный ординал и а{ = а2 = . . . =as = О, так что ос = б, то М(*)>{*}(0)>6=а, поскольку х > 0. Если а4— предельный ординал иа>8, то можно предположить без потери общности, что а4>0, и тогда x>numn (а4). Итак, по предположению индукции {о{} (х) >> а4, так как oi^>a[1 и, значит, {а} (а) > б + о* -(&! — !) + {со*} (ж) = = б + coai. (Ь4 — 1) + G)<ai><*> > a. (б) Пусть а4=а! и bi^>ai. Тогда {а} (ж) > б + ю* -(Ь±—1) + К1} (rr) > так как Ъх > ai >6 + a)ai.^H-{o3ai}(^) = так как ai = ai = 6 + a)ai.fli + {o)ai}(a:). Предположим также, что ж ;> num„+4 (a). Так как то ж >> а2 и j > num„ (a2), если а2ф0. Если а4— непредельный ординал, то {а} (ж) > б + o>ai • а4 + {соа1} (х) > > б + coai - а4 + юа* -4 • х > так как ах >> а2, .г > а2 > б + оза1 -а4 + соа2.а2 + соа2 > а. Если а4 — предельный ординал и a2=a3= .. . =as = 0, то {а} (х) > б + coai • a4 + {со06*} (х) > б + <oai • а4 = а, поскольку .г>0. Если а4 —предельный ординал и а;> 6-[-(оа1«я4, то можно предположить без потери общности, что а2 ф 0, и тогда х >> numn (а2). Итак, по предположению индукции {a4}(^*)>a2, так как со (га) >> а4 >> а2, и, значит, М {х) > б + coai. я4 + {coai} (s) = 6 + o/*i.a4 + оз^1>^> > a.
Классификация ординально рекурсивных функций 73 Случаи (а) и (б) вместе показывают, что если а — предельный ординал, а <; а <; со (?г + 1) и numn+1 (а) <а;, то а <{<?} (х). Это завершает шаг индукции, и, таким образом, лемма 3.1 доказана. Лемма 3.2. Для каждого п > О и каждого р < со (п) если а <С Р и numn (а) <ж, то для каждого к F(j}(n)-k+a {х) < ^(йСп)-fe+P 0*0 • Доказательство. Пусть число тг > 0 фиксировано. Будем доказывать трансфинитпой индукцией над ординалами, меньшими со (п). При Р = 0 результат тривиален. Предположим^ что лемма верна для всех ординалов <Р, где Р>0. Пусть а — любой ординал <Р и numn (а) <#. Тогда если р — непредельный ординал, то так как х >> О Fa(n)-k+$ (х) > Fa(n)-k-\-fr-l (х) > по предположению индукции > Fa(n). ь+а (ж). Если р — предельный ординал, то а<С{$}(х) по лемме 3.1, поэтому ^co(n)-ft+f3 (x) =Ffi)(„).ft+{P}(a) (ж) > по предположению индукции > ^со(п) • ft+a (#) • Итак, лемма верпа для р. Этим завершается шаг индукции, и лемма 3.2 доказана. Далее, Fg (x) для любого a > 0 есть как раз (р + 1)-я итерация фуПКЦИИ Fa ОТ Х. Лемма 3.2 легко обобщается, и получается Лемма 3.3. Для каждого п > О и каждого Р < со (п) если, а < р w. nuran (a) <С#, то для каждого к и каждого р F(o(n).h+a (х) < ^co(n)-ft+p (#)• Лемма 3.4. 2?с/ш g6®co(n)-ft ^ функция f определяется по g <Сп-аннулированием (определение 1.5), то существует такая функция A6®G)(n).fc» что для всех х, а /(я, а) <JF(0(n).ft+ordra(ac)(A^, а)). Доказательство. Если g £ @со(П). ft, то функция max (g (x, a) y 2-g (g(.r, а), а), а) также принадлежит @co(?i).ft- Поэтому по тео-
74 С. С. Вайнер реме 1.2 существует такое число р>2, что для всех х, а max(g(£, a), 2-g(g(x, a), a), a) <i^(n).fc(max (я, а)). Положим h (x, a) = max (#, 2»g(x, а), а) + р. Тогда A6@©(n)-ft и Для всех #, а (i) А (ж, а) >я, (И) Л (ж, a)>2.g(*, а) + 1. Теперь / определяется по g <п-аниулированием, так что /(0,а)=0, /(* + l,a) = l + /te(s+l),a),a), где g(0, а)=0 и g(a;+1, a) <„a;-f-1 для каждого х. Проведем индукцию над полным упорядочением <п. Прежде всего ясно, что / (0, а) < *"£(„>.й+ord,, (О) (А (0, а)). Предположим, что /(g(z + l,a),a)< (fc(g(s + l,a),a)). Тогда /(s + 1, a)^FS(n).h+ordn(g(x+ifa)) (A(?(*+l, а), а)). Но A(g(* + l,a),a)=max(g(a:+l,a), 2.g(g(*+l, a), a), a) + p< <^S(n).ft(max(a:+l, а)) + р<^ <*©(п).ь(тах(я + 1, а) + р)< <^(Л).л(Л(л: + 1,а)). Кроме того, о vdn (0) = 0 <С h (х + 1, а), и, таким образом, по лемме 3.3 (Л(ж + 1,а)). Следовательно, Л(г(ж + 1,а), а)< ^©(nj.ft+ordn (g(x-fl, a)) (h(x+l,a)). Итак, /(* + 1,а)< ^ (о(п) • И-оМд (^4-1, а)) (Л(*(я+1,а),а))< < F(o(n)• ft+ord^ (£(*+1, a))^(o(n).fe+ordn(g(a:+l, а)) (А (# + 1, а)) = = F&(n). fc+ordn (£(*+!, а)) (М# + 1, а)) •<
Классификация ординально рекурсивных функций 75 так как h (х + 1, а) > р ^ F(i)(n) • k+ordn (£(я+1, а)) (А (# + 1, а)) = = ^©(п).И-огс1л(йГ(х-Ы,а))+1 (А(Ж+ 1, а)). Далее, g(s + 1, а) <пя+ 1, откуда ordn (g (x + 1, а)) + 1< ordn (x + 1). Из способа, которым осуществляется «арифметизация» ординалов, меньших со (?г), вытекает, что numn (ordn (g(x+ 1, а)) + l)<2.(g (x+ 1, а) + 1) -1 (равенство выполняется при га>1). Поэтому numn (ord7l (g (x + 1, а)) + 1) < h (x + 1, а). Следовательно, по лемме 3.2 Fw(n).fc+ord*(*(:c+l,a))+l (А (# + 1, a))^F(0(n).fe+ord^ (х+1) (А (х -\- 1, а)). Таким образом, F\д(п) • к-{-отб.п (х+1) (/ф+1,а)). Этим завершается шаг индукции. Итак, для всех х, а / (я, а) < F©(n).M-or(M*) (А (ж, а)). Лемма 3.5. Для каждого га > 0 гг каждого х ordn (я:) <{(о (га)} (ж). Доказательство. Докажем индукцией по га. Прежде всего для каждого х ordi (*) = *< 2* ={(о} (х) = {со (1)} (я). Предположим, что га ^ 1 и для каждого х ordn (s) <{со (га)} (х). Очевидно, что ordn+1 (0) =.0 <{со (п + 1)} (0). Пусть теперь х>0и \~xi гх2 гхг} ' где #г <п . . . <п а;1иа1> 0. Тогда я: > хь так что {со (га)} (х) > >{со (га)} (xi). Но по предположению индукции {со (га)} (х{) ^ ^ ordn (xi). Поэтому {со (га)} (л;) > ordn (xj, откуда ordn+1 (ж) = G)ord" (*i). at + (x)0Tdn <*2). a2 + ... + G)ord" <*'> - ar,
76 С. С. Вайнер где ordn (xi) >> ord„ (х2) > . . . > ordn (хг). Таким образом, ordn+1 (х) < <о<«Хп>Х*) = = {соа)(п)}(^) = = {©(п + 1)}И. Этим завершается шаг индукции, и лемма 3.5 доказана. Лемма 3.6. Если #6®ю(п)-ь и функция f определяется по # <in-аннулированием, то существует такая функция А 6 ®а>(п) ■/? т ч/по для всея ж, а /(я, а)<^(п).(/*+1)(Л(ж, а)). Доказательство. Пусть для данной функции g6@ю(п)• /г функция /г, определена в лемме 3.4. Тогда для всех х, а / (х, а) < F2,(n).fe+ordn (ж) (А (я, а)). По лемме 3.5 ordn (а:)^{со (п)} (х). Но так как numn (ord7l (x)) = = x<Ch(x, а), то по лемме 3.2 = ^{со(п).(fc+l)>(*) (M^, a))' Кроме того, для каждого у и каждого £<г/ ^{Cfl(n).(ft+l)}(i) (У) </'{(fl(n).(fe+l)}(j/) (У) =^С0(?»)-(^+1) (?/)' Итак, для всех #, а f{x, a) <F|)C0(n).(/l+i)}(X) (А (ж, a))<^a(n).(ft+i)(A(^, a)). Лемма доказана. Теорема 3.7. Для каждого п^>0 А«п)с=: [J ffia(n).fe. Доказательство. Ясно, что все примитивно рекурсивные функции принадлежат классу (§со(-п) и по определению каждый класс (§(о(П).& замкнут относительно суперпозиции. Если функция / строится примитивно рекурсивно из функций, принадлежащих классу (§со(п).ь то легко показать, что /6(£са(п)./*+&>> И ПОЭТОМУ /6®co(n).(ft+l)- Предположим, что / определяется по g*6 ®со(?о-/г <??-аннулированием. Тогда по лемме 3.6 существует такая функция fe6®o)(n).fe? что для всех #, а f{x, а)<^(п).(л+1)(А(я:, а)).
Классификация ординально рекурсивных функций 11 Зададим функцию g' равенствами g'(0, х, а)=я, g'(z+i, х, a)=g(g'(z, x, a), a). Тогда g' примитивно рекурсивна относительно g, и, значит, g' 6@(u(n)-(/j+l)- Теперь легко доказать, что для всех х, а f(x, SL) = \iz(g'(z, x, a)=0). Поэтому / можно определить формулой / (*, а) = ^<Fo Hx a)) [g' (z, x, a) = 0]. Таким образом, функция / «элементарна» относительно функций ^©(n).(M-i), А и #\ а они принадлежат классу @co(n).(H-D- Так как для каждого а > 2 класс (5а замкнут относительно «элементарных» операций, то /6@co(n).(M-i)* Таким образом, Л (<„)<= U ffi(o(n).ft. Далее, OR= U 4(<п), n£/V так что имеем Следствие. OR g; U (§а. Ct<80 Используя следствие из теоремы 2.1, получаем: Теорема 3.8. OR = U @a. a<e0 Обозначим через Prov R класс функций, рекурсивность которых доказуема в (классической) арифметике первого порядка. Тогда из работы Крайзеля [5] следует, что OR = Prov R. (Близкие результаты содержатся у Кино [4].) Пусть PR(0'0) обозначает класс примитивно рекурсивных функционалов типа (0, 0), определенный Гёделем [2]. Гёдель доказал, что OR ^ PR(0'0), а Крайзелем [6] и более непосредственно Тейтом [11] было установлено, что PR(0>0) ^ OR. Далее, пусть NR обозначает наименьший класс функций, содержащий примитивно рекурсивные функции и замкнутый относительно суперпозиции, примитивной рекурсии и гнезднои рекурсии над <С7г Для любого п. Тогда OR = NR, так как для любого п > 0 гнездная рекурсия над <л сводится к негнездной ординальной рекурсии над <Cn+1 (Тейт [10]).
78 С. С. Вайнер Таким образом, справедлива Теорема 3.9. U @a = OR = ProvR = PR(0'0) = NR. а<е0 Предположим теперь, что мы определили функцию FlQ\ F°eo(x)=Fl{x)(x). Можно показать, что каждая функция, принадлежащая \j Sar a<e0 мажорируется с некоторого места функцией FEo, и поэтому <<$ и е.. а<80 4. Упрощенное описание классов (Sa В этом разделе мы с помощью одной леммы Робина [9] покажем, что при a < р < 80 функция FQa «элементарна» относительно F%. Из этого результата будет следовать, что при 2 ^ a < е0 класс @а образован функциями, «элементарными» относительно Fa* Кроме того, мы получим другую характеризацию класса (Sa (2 ^ a < 80) — в терминах сложности вычислений. Первая задача — показать, что для каждого a < е0 найдется такое число /с, что Fa (x) можно вычислить на машине Тьюринга так, что число ячеек на ленте, используемых в процессе вычисления, будет меньше, чем Fa (x + к). (Основные результаты, касающиеся машин Тьюринга, см. у Дэвиса [1].) Пусть число п > О фиксировано. Каждый ординал a < со (п) будет представляться на ленте машины Тьюринга словом а, которое строится из символов /, [1,1], [2,2], . . ., [п-1, лг — 1], следующим образом: (i) Если г £ N, то г — слово, состоящее из г + 1 черточек I. Иными словами, 0 = /, 1 = //, 2 = ///, . . ., m -{- 1 = ml и т. д. (ii) Если со (i) ^ р < со (i + 1) < со (п) и слово Р уже определено, будем называть ехр (Р) слово U + 1 Р & + 1]. Пусть а = coai • ai + со062 • а2 + .. . + coar • аг + ar+i, где 0 < аг <С.. . . .. <а2<Са1<со (гс — 1), и слова осг, ...,a2, ai уже определены Тогда определим х а = ехр (а^ .. . ехр (о^) ехр (а2) .. . ехр (а2) ... ai раз а2 раз .. . ехр (ar) .. . ехр (ar) ar+i- аг раз
Классификация ординально рекурсивных функций 79 Например, ординал сосо*2 + (о-3+1 будет представляться на ленте словом [2[1//1][1//1]/2][1//1][1//1][1//1]//. Тройка а, т, х, где а <С со (п), будет представляться на ленте машины Тьюринга словом а*т*х. Построим теперь машину Тьюринга Z, которая на слове а*т*х (а < со (п)) вычисляет значение F™ (#)• Машина Z работает с лентой, бесконечной вправо. Ее внешний алфавит содержит символы /, [1,1], [2, 2], ...,Ь-1, п-1], *. (Потребуются также дополнительные символы, которые в процессе вычисления будут использоваться как маркеры.) Для вычисления значения F^ (х) слово а*т*х записывается на ленте слева направо и головка машины устанавливается на правом конце этого слова. Далее Z работает в соответствии со следующей схемой, где z Wi ->- W2 означает, что Z преобразует слово W^ в слово W2 и при этом головку устанавливает на правом конце слова W^ 0*т*х —> (m+l)-(ac + l), а + 1*0*ас —> а*х*х, а*0*х —> {а} (х)* 0*х, если а — предельный ординал, P*m+l*xip*Ofm^, р>0. Машина останавливается, когда на ленте нет больше символа *. Пусть Z (a, m, х) означает число ячеек на ленте, используемых в процессе вычисления F™ (х) на машине Z. Пусть также для любого а<;со(?г) через L (а) обозначена длина слова а. Тогда Z можно «запрограммировать» так, чтобы выполнялись неравенства Z(0, то, агХ(ти+1).(а: + 6) + 1, Z(a + 1, 0, ^)<max[L(a + l) + (^ + l) + 5, 2 + Z(a, х, х)], Z(а, 0, *)<max[L(a) + (*+l) + 5, 2 + Z({a}(s), 0, х)], если а — предельный ординал, Z(P,m + l,*)<max[L(p) + Z(p, m, л:)+ 5, Z (р, О, *?(*))], если Р>0.
80 С. С. Вайнер Далее, по индукции легко доказать, что для каждого предельного ординала а < со (п) и всех х L({o}(x)) <L(o) + x.L(g)2. Кроме того, методами, подобными тем, которыми доказывалась теорема 4.5 в работе [7], можно получить следующий результат о функциях F0o, где а — предельный ординал <80. Лемма 4.1. Для каждого предельного ординала о < 80, любого х и любого у ^ 2 С помощью этих результатов доказывается Теорема 4.2. Для каждого а < со (п) и произвольных тих Z"(a, т, x)^F7£(x + L(a) + 5). Доказательство. Будем доказывать индукцией по ординалам <си(/г). Прежде всего ясно, что Z"(0, m, a?)<(m + l)-(a:+6) + l</',8l(^ + L(0)+5). Пусть a >• 0 и для каждого б < а Z(6, m, x)<F?(j + i(8) + 5). Рассмотрим три случая: (i) Если а — непредельный ординал, то 1(а, 0, ^Xmax[L(a) + (^+l) + 5, 2 + Z"(a — 1, ж, *)]. Но L (a) -f (д- + 1) + 5 ^ Fa (х + L (а) + 5), и по предположению индукции 2 + 1Г(а—1, х, s)<2 + /^-i(s + L(a—l) + 5)< < 2 + F£t?a)+3 (^ + L (а) + 5)< <^(a)+5(^ + iH + 5) = = F°a(x + L(a) + 5). Таким образом, Z"(a, 0, *)<П(я + £(аН 5). (ii) Если a — предельный ординал, то Z"(a, 0, *Xmax[L(a) + (*+l) + 5, 2 + Z"({a} (ж), 0, х)].
Классификация ординально рекурсивных функций 81 Очевидно, что L{a) + (x+l) + 5^F°a(x + L(a) + 5). Если {а} (х) = О, т-о х = О, так что 2 + Z(0, 0, 0)<9<П№(а) + 5), поскольку L(ct);>3. Пусть теперь {а}(х)> 0. Тогда по предположению индукции 2 + 1({а}(х), О, x)^2 + F°{a}(x)(x + L({a} (z)) + 5). Но так как L ({а} (ж)) < L (а) + л; • L (а)2, то 2 + Z({a»), 0, х)<2 + ^{0а}(Ж)(^ + ^И + ^-^(а)2 + 5)< <^аКос)(((^ + ^И+5+1)2+1)2) = = f!e)(x)^i(a + I(a) + 5)< < ^?а)(ж)^{о}(ж)^{а}(х) (* + L (а) + 5) = = *?«>(*) (*+£ (а)+ 5)< </■?«,(„+! (х + Ь (а)+ 5)< по лемме 4.1 Таким образом, Z (a, 0, гЛ ^ Fa (х + L (а) + 5), если а — предельный ординал. (iii) Предположим, наконец, что а—произвольный ординал >0. Тогда 2f(a, m+1, £)<max[L(a) + Z"(a, m, x) + 5, Z(a, 0, F%(x))\. В силу (i) и (ii) Z(a,0, K(x))^F°a(K(x) + L(a) + 5)^ <F°aFal(x + L(a) + 5) = = F^(x + L(a) + 5), Кроме того, если предположить (индуктивно), что ~Z(a, m, x)^F%<(x + L{a) + 5), то L(a) + J(a, m, x) + 5^L(a) + P2(x + L{a) + 5) + 5^ <2.F™(z + L(a) + 5)< так как a >» О ^F°aK(x + L(a) + 5) = = F™+i(x + L(a) + 5). 6-01321
82 С. С. Вайнер Таким образом, Z"(a, m + l,x)<^Fal+i(x + L{a) + 5). Этим завершается шаг индукции. Итак, для каждого а<С(о(?г) и всех т, х Z(a, /я, z)<^F£(£ + L(a) + 5). Хорошо известно, что функции, используемые для арифмети- зации вычислений на машине Тьюринга, элементарны. Напримерг можно показать, что если / вычисляется на машине Тьюринга так, что для каждого х число ячеек на ленте, используемых при вычислении / (х), меньше g (x), то / элементарна относительно g. Отсюда получается Теорема 4.3. Если а < Р < 80, то функция Fa элементарна относительно F$. Доказательство. Сначала построим машину Тьюринга Za, вычисляющую Fa- Пусть a < со (п), где п > 0. Машина Za имеет бесконечную (вправо) ленту и тот же внешний алфавит, что и Z. Если дан произвольный «вход» х, то Za записывает слово а*0*х слева на ленте и располагает считывающую головку на правом конце этого слова. Машина Za вычисляет точно так же, как Z. Ясно, что Za вычисляет F°a- Пусть Za (x) обозначает число ячеек па ленте, используемых при вычислении Fa (х) на машине Za. Тогда Za (х) = Z (a, 0, х), так что по теореме 4.2 Z*(x)^Fl(x + L(*) + b) для всех х. Но если a < Р, то Fa мажорируется с некоторого места функцией Fp, и, значит, найдется такое число р, что для каждого х Za(x)^Fa(x + L(a) + 5)<Fl(x + L(a) + 5+p). Таким образом, функция Fa элементарна относительно Fp. Следствие. Для каждого а, для которого 2^а<г0, класс @а образован функциями, элементарными относительно Fa. Доказательство. Из теоремы 4.3 следует, что каждая функция из @а элементарна относительно Fa- Далее, легко доказать, что функция %ху»ху принадлежит (Sa для всех а>2. Так как класс (Sa содержит {Хх-0, kxy'X + y, Xx-xt, %xy*xv, Xx*Fa{x)}
Классификация ординально рекурсивных функций 83 и замкнут относительно суперпозиции и ограниченной рекурсии, то (5а содержит все функции, элементарные относительно Fa- Доказательство закончено. Число ячеек на ленте, используемых в процессе вычисления на машине Тьюринга, можно считать мерой сложности вычисления. Теорема 4.2 приводит к описанию класса @а в терминах сложности вычислений. Для каждого а < е0 назовем функцию / а-сложной, если найдется такое число р, что / вычисляется на некоторой машине Тьюринга Zf так, что для каждого х число ячеек на ленте, используемых в процессе вычисления / (х) на Zy, меньше Fa (max (x)). Для каждого а < е0 обозначим через 6а класс всех а-слож- ных функций. Очевидно, что если а ^ Р < е0, то 6а ^ ©р. Теорема 4.4. Для каждого а, для которого 2 ^ а <; е0, ©а = ««. Доказательство. Пусть / будет а-сложной функцией (2 ^ а < е0). Тогда по замечанию, предшествующему теореме 4.3, / элементарна относительно Fa для некоторого фиксированного числа р. Но F& определяется суперпозицией из Fa, так что / элементарна относительно Fa- Поэтому в силу следствия из теоремы 4.3 функция / принадлежит классу @а. Обратно, предположим, что / 6 @а (2^а<80), так что / элементарна относительно Fa. Пусть Za — машина Тьюринга, применявшаяся при доказательстве теоремы 4.3, вычисляющая Fa. Пусть Za (х) — число ячеек на ленте, используемых в процессе вычисления Fa (x) на Za. Тогда найдется такое число к, что 'ZaixXFaix + k) для всех х. Так как / элементарна относительно Fa, то существуют такая машина Тьюринга Zf и такая функция g, элементарная относительно F°a, что для всех х число ячеек, используемых в процессе вычисления / (х) на Z/, меньше g (x). Так как g элементарна относительно Fa, то g £ @a, и тогда по теореме 1.2 найдется такое число р, что g(x)<Fa(nmx(x)) для всех х. Таким образом, / есть a-сложная функция. Теорема доказана. Следствие. OR= U Sa. a<e0 6*
84 С. С. Вайнер СПИСОК ЛИТЕРАТУРЫ 1. Davis М., pomputability and unsolvability, McGraw-Hill, 1958. 2. Godel К., Uber eine bisher noch nicht beniitzte Erweiterung des Finiten Stdtndipunktes, Dialectica, 12 (1958), 280—287. (Русский перевод: Гёдель К., Об одном еще не использованном расширении финитной точки зрения, сб. «Математическая теория логического вывода», изд-во «Наука», М., 1967, стр. 299—305.) 3. Grzegorczyk A., Some classes of recursive functions, Rozprawy Matemat., 4 (1953). (Русский перевод: Гжегорчик А., Некоторые классы рекурсивных функций, сб. «Проблемы математической логики», изд-во «Мир», М., 1970, стр. 9—49.) 4. Kino A., On provably recursive functions and ordinal recursive functions, /. Math. Soc. Japan, 20, 3 (1968), 456—476. 5. Kreisel G., On the interpretation of non-finitist proofs, /. Symbolic Logic, 17 (1952), 43—58. 6. Kreisel G., Inessential extensions of Heyting's arithmetic by means of functionals of finite types, abstract, /. Symbolic Logic, 24 (1959), 284. 7. Lob M. H., Wainer S. S., Hierarchies of number-theoretic functions, Arch. Math, Logik, 13 (1970), 39—51, 97 — 113. (Русский перевод см. стр. 33—64 настоящего сборника.) 8. Петер Р., Рекурсивные функции, ИЛ, М., 1954. 9. Robbin J. W., Ph. D. Dissertation, Princeton University, 1965. 10. Tait W. W., Nested recursion, Math. Ann., 143 (1961), 236—250. 11. Tait W. W., A characterization of ordinal recursive functions, abstract, /. Symbolic Logic, 24 (1959), 325.
II. КЛАССИФИКАЦИЯ ЯЗЫКОВ ОДНА БЕСКОНЕЧНАЯ ИЕРАРХИЯ КОНТЕКСТНО-СВОБОДНЫХ ЯЗЫКОВ !) Ш. Грейбах 1. Введение В работе [17] были предприняты попытки построить унифицированную теорию автоматов и языков. Было замечено, что многие семейства языков, изучаемых в лингвистике и теории автоматов (такие, как семейства регулярных множеств, контекстно-свободных языков, множеств, допускаемых односторонними недетерминированными стековыми автоматами, и рекурсивно перечислимых множеств), замкнуты относительно шести операций, и эти шесть операций характеризуют абстрактные семейства языков (Abstract Families of Languages) (AFL) [9]. Здесь мы будем в основном рассматривать полные AFL, т. е. семейства, замкнутые относительно объединения, конкатенации, итерации, гомоморфизма, обратного гомоморфизма и пересечения с регулярными множествами. Полные AFL связывают воедино теорию автоматов и теорию формальных языков, поскольку полные AFL (в очень точном смысле) эквивалентны семействам языков, допускаемых односторонними недетерминированными автоматами [9] или замкнутыми классами односторонних недетерминированных баллонных автоматов [17]. Что касается контекстно-свободных (к.-с.) языков 2), то они образуют полное AFL и многие их свойства, такие, как замкнутость относительно деления 3) на регулярные множества, на 2) Greibach S. A., An infinite hierarchy of context-free languages, /. Assoc. Comput. Mach., 16, № 1 (1969), 91—106. 2) Контекстно-свободной грамматикой называется четверка G = = (F, 2, P, X), где V — конечное множество символов, 2 cz V, X £ V — 2, а Р — конечное множество правил вида Z ->► w, где Z £ V — 2, w £ V*. Если правило Z ->■ w входит в Р, a wi и w2 — два слова из V*, то мы записываем WiZwn ==> Wiww2. Обозначим через ==Ф транзитивное замыкание для =ф и дложим L (G) = { ш G 2* | 1^ ш}. Язык L называется контекстно-свободным, если существует такая контекстно-свободная грамматика G, что L = = L (G). Если все правила в G имеют вид Z ->■ <ху или Z ->■ а с Z и у из Г — 2 п а из 2*, то L (G) — регулярный язык [3]. 3) Правое частное от деления языка L на R есть L/R = {w | Q у £ R) (wy ££/)}, а левое частное есть R\L = { w \ (Jy £ R) (yw 6 L)}-
86 Ш. Грейбах самом деле являются свойствами полных AFL. Регулярные множества образуют собственное абстрактное подсемейство языков (subAFL) семейства к.-с. языков. Естественно задаться вопросом, существуют ли другие подсемейства, какие у них общие свойства с целым семейством и какие различные. Мы определим и изучим дважды бесконечную иерархию полных AFL, каждое из которых входит в AFL к.-с. языков и обладает большим числом свойств последних. Тот факт, что к.-с. языки образуют AFL, можно установить как следствие их связи с абстрактным семейством автоматов, а именно с магазинными автоматами (МП-автоматами), определяемыми ниже [3, 5]. Мы получим наши семейства, вводя различные ограничения на магазинную память автоматов. Эти ограничения возникли в результате обобщения понятий 1-счетчиковой машины и машины с конечным числом поворотов. 1-счетчик можно рассматривать как МП-автомат, память которого принадлежит ограниченному регулярному множеству размерности 1 (ср. [11, 13]). Этот класс можно расширить, допуская, чтобы слова в памяти выбирались из ограниченного множества некоторой конечной размерности. МП-автомат совершает над своей памятью две основные операции: 1) строгое увеличение ее объема и 2) строгое уменьшение его, т. е. стирание. Он делает поворот, когда переходит от увеличения к уменьшению; при ограничении числа поворотов получаются ультралинейные языки [12], также называемые нетерминально ограниченными [1]. Мы расширим этот класс, потребовав конечности числа поворотов только между очищениями (возвращениями к пустой магазинной ленте) магазинной памяти; это дает замкнутость относительно конкатенации и итерации. Если задан к.-с. язык L, то наименьшее AFL, содержащее L, можно рассматривать как семейство языков, не более трудных для анализа, чем L, в том смысле, что для каждого элемента этого семейства можно указать распознающий его МП-автомат, изменяя только структуру состояний МП-автомата, распознающего L [9, 17]. Следовательно, если мы хотим в деталях изучить структуру к.-с. языков, нужно исследовать наименьшее AFL и наименьшее полное AFL, содержащее отдельный к.-с. язык. Так можно определить и охарактеризовать все семейство к.-с. языков. Однако если ffri ^ ^2 g= . . . 5= jrn cr: . . . __ счетная бесконечная цепочка AFL, ясно, что (J jFn есть AFL, которое нельзя представить как наименьшее AFL, содержащее некоторый язык L. Мы рассмотрим такие цепи полных абстрактных семейств к.-с. языков и построим примеры семейств, которые не могут быть порождены единственным языком. Эти примеры и контрпримеры
Одна бесконечная иерархия контекстно-свободных языков 87 помогут установить связь между свойствами к.-с. языков и разными способами их определения — посредством автоматов и посредством грамматик, в обозначениях AFL и в алгебраических терминах. Определение 1.1 *). МП-автоматом называется семерка (7-набор) М = (К, 2, Г, б, g0, Z0, F), где (1) К, 2 и Г — конечные алфавиты, (2) доек, f с= я, z0 e г, (3) б — функция, отображающая элементы множества К X X (2 U {X}) X Г в конечные подмножества произведения f X Г*, причем для q £ К, а б 2 (J {Я}, Л б Г — {Z0} S(g, а,Л)^# X (r-{Z0})*, S(g, a,Z0) <=# X Z0 (Г-{Z0})*. Если (g', у) б б (g, а, Л), то для всякого шиз 2* и всякого z б Г* записываем (д, aw, гЛ) Ь- (?'. и>, **/)• 3—* есть транзитивное замыкание для 1—. Определение 1.2. Если Л/" = (#, 2, Г, б, g0, Z0, F) есть МП-автомат, обозначим через Null(M) множество {w\(3q(z F) (g0- w, Z0) (-*(#» A,, Z0)}, а через Р (М) множество {y\(3p£K, 3^6 2*) (g0, и>, Z0)h*(p, Я, z/)}. Замечание. В работе [7] Null (M) обозначает множество входных слов, которые считываются раньше, чем магазинная память приходит в исходное состояние, однако очевидно, что это не играет роли для недетерминированных семейств, которые здесь определяются. Мы используем то обстоятельство, что L является к.-с. языком тогда и только тогда, когда L = Null (M) для некоторого МП-автомата М [3, 5]. Определение 1.3. Р (М) имеет размерность п тогда и только тогда, когда ЗАи . . ., Ап из Г такие, что Р (М) ^ ^ Z0A* . . . А*, и Р (М) не является множеством размерности п' </г2). Обозначение. Если (g, w, у) \- (д\ w', у') и у' Ф Z0, то записываем (д, w, у) НЛ (#', w', уг). Через Нл* обозначим транзитивное замыкание для |~ Л. 2) Через R* обозначается свободный моноид, порожденный множеством Я и включающий пустое слово А,. а) Очевидно, мы могли бы считать Аъ словами или брать в качестве Р (М) конечное объединение множеств размерности п, не изменяя при этом семейства языков.
88 Ш. Грейбах Определение 1.4. МП-автомат М называется т-возвратно ограниченным, если из того, что Spt^K, yi£T*, a^g^UM» Ддя которых (ph at, yt) \-&*(pi+i, К, yi+i) при 1<£<г, yi = Z0, yv+i = Z0 и (pr, ar, yr) \- (Pr+u Я, yr+i), следует, что1) #{i\Ss;\yt\<\yi+i\ = \yt+tl 1<*<s, \yt+8\>\yt+s+i\}^ra. Интуитивно М будет ттг-возвратно ограниченным, если он не более чем т раз переходит от увеличения объема памяти к стиранию перед возвращением памяти к Z0. Пусть N — натуральный ряд с О, N+ — множество целых положительных чисел, а со — специальный формальный символ. Определение 1.5. Пусть пит принадлежат N [} {со}. МП-автомат М называется (п, т)-ограниченным, если (1) либо п = со, либо Р (М) имеет размерность п' ^ п, где п — натуральное число, и (2) либо т = со, либо М является ттг-возвратно ограниченным и т — натуральное число. Через Dn> m обозначим класс всех (п, ттг)-ограниченыых МП-автоматов. Определение 1.6. Для п, т из N [} {со} определим jFn. m как семейство таких языков L, что существует М из Dn>m, для которого L = Null (M). Положим Jfn, оо = U З^п.т, ^оо,т= U JFn,m, jFoo,oo = [) Jfn.m* m£N n£N m, n£/V Замечание. Для всех п, т jf0t m = jfnt0= {все регулярные множества}. Хорошо известно, что ,f й,ш — класс всех к.-с. языков. ,fli(0 — класс всех 1-счетчиковых недетерминированных языков. Легко показать, что ,^ш,1 — класс итераций линейных языков, поскольку слова, допускаемые между очищениями памяти (т. е. приведениями ее в начальное состояние) 1-возвратно ограниченного МП-автомата, образуют линейный язык [12] 2). Мы покажем, что эти семейства обладают большей частью свойств к.-с. языков, образуют дважды бесконечную иерархию и, начиная с jFi.i» достаточно богаты для того, чтобы стали воз- х) Через | х | обозначается длина слова х, \ X | = 0, # S обозначает мощность множества S. 2) Грамматика G = (V, 2, Р, X) называется линейной, если все правила из Р имеют вид Z -> w для Z^F-2 и а> £ 2* (F — 2)2* или w 6 2*. Язык L называется линейным, если L = L (G) для пекотороп линейной грамматики G.
Одна бесконечная иерархия контекстно-свободных языков 89? можными доказательства неразрешимости. Поскольку класс JFgj.g)- U JFn,m бесконечен, эта иерархия не дает пол- (п, т) ф (со, со) ной структурной характеристики к.-с. языков. 2. Свойства замкнутости и характеризационные теоремы Определим теперь полные AFL и покажем, что ,^Fn,m являются полными AFL. Определение 2.1. Полное AFL (полное абстрактное* семейство языков) есть семейство языков, замкнутое относительно объединения, конкатенации, итерации, гомоморфизма *), пересечения с регулярными множествами и обратного гомоморфизма 2). Определение 2.2. Если tf — семейство языков, обозначим через JF (#) наименьшее полное AFL, содержащее &\ Если of = {L}, будем писать JF (L) вместо jF (<±P). Таким образом, Jf ^, ± = Jf (линейные языки), и можно перефразировать теорему Хомского — Шютценберже так: если К2 — язык Дика (т. е. язык, порождаемый правилами X —> -+а,Ха_и Х-+а2Ха_2, X-> XX, Х->Я), то ^ш,ш = ^ (К2). Подобным образом мы охарактеризуем каждое из семейств Jfn,m для всех п, т из N{]{(x)}. Теорема 2.1. Для всех п, т из N {) {ы} семейство ^п,т. является полным AFL. Доказательство3). Абстрактное семейство автоматов есть семейство односторонних недетерминированных распознавателей, использующих память общего типа, такую, как магазин, стек или память типа лент машины Тьюринга [9]. Аналогично- элементам замкнутого класса односторонних недетерминированных баллонных автоматов присущ одинаковый способ обращения к памяти, а отличаются эти автоматы только управляющими устройствами с конечным числом состояний [17]. В любом из этих х) В этой статье гомоморфизмом называется полугрупповой гомоморфизм между конечно порожденными моноидами. Гомоморфизм h называется нестпрающим, если | w | <С | h (w) | для всех w. 2) Технически удобное определение AFL дается в [9]. AFL замкнуты относительно объединения, конкатенации, обратного гомоморфизма, поресе- чения с регулярными множествами, нестирающего гомоморфизма и операции +, где R+ = BR*. Следовательно, контекстные языки образуют AFL. Полное AFL есть AFL, замкнутое относительно любого гомоморфизма. 3) В данном случае ссылки на общие теоремы излишни. Замкнутость <¥ т\,т относительно каждой операции, входящей в определение полного AFL,. легко проверить непосредственно.— Прим. ред.
90 Ш. Грейбах случаев семейство допускаемых автоматами языков оказывается полным AFL [9, 17]. К магазинной памяти можно добавить конечный счетчик числа возвратов, который останавливает вычисление, ^сли число возвратов превысит т. Можно устроить память так, чтобы вычисление останавливалось, если в памяти должно быть записано слово, не имеющее вида Z0A* ... Л*. Таким образом, условие (п, ^-ограниченности можно выразить исключительно как условие на читающе-пишущую головку ленты памяти (типа магазина и конечного счетчика) независимо от структуры состояний. Следовательно, с каждым семейством .^п,т можно ассоциировать абстрактное семейство (п, ^-ограниченных МП-автоматов, допускающих языки из ,(fn,m. Следовательно, JFn,m есть полное AFL. Следствие. Для всех п, т из N [} {со} семейства JFn,°o, jFoo, т и jFoo, оо являются полными AFL. Замечание. Семейства вр'п,т замкнуты относительно отражения слов. Интуитивно МП-автомат может читать с конца без изменения условия (п, ^-ограниченности. Формальное доказательство можно провести параллельно доказательству из [10] для односторонних стековых автоматов. Не все подсемейства к.-с. языков замкнуты относительно отражения; семейство ,(f({anbm \n>m}) не замкнуто относительно отражения [9]. Определим теперь характеристические языки Ln> m для ,рп,т, переводя условие (п, ^-ограниченности в условие па К2 ;{см. ниже). Сначала нужно ввести некоторые определения и обозначения. Определение 2.2. Пусть n^N [j {со}. Для п = 2г положим Лп = (а*а*)г; для п = 2г-\-1 положим Нп = (а*а*)г а* и для лг = со пусть Нп={аи а2}*. Обозначение. Для wu iv2 из {аь а2, я_ь а_2}* и 1^л^2 * запишем w1aia.iw2=^wiw2. Пусть =Ф будет транзитивным замыканием для =ф. Положим * Jz={w\ если w=$y, то y = w}. Интуитивно J есть множество неприводимых слов (ср. [3]). * * Можно показать, что из w=$yu w=$y2 и yi^J, y2 6 J следует, что г/i = г/г- Поэтому можно определить такую функцию |х, что * ц(ш)=у означает, что w=$y и y(:J; эта функция однозначно определена на {аи а2, а_ь а_2}*. Тогда K2 = {w | u. (w) =ty. Можно также определить функцию v(w) = m<ix{n\3wu ...,wn+u iu ...,in (w = юф^а.^ю2 ... wnaina-inwn+i)}.
Одна бесконечная иерархия контекстно-свободных языков 91 Определение 2.3. Пусть т 6 N, п £ N U {со}. Пусть также £n,m = {M>€{ai, «2, я-ь а-г}*|Н'(м;)=^ v(w)^m и если w=xy, то fx (я) 6#71}. Пусть Ln,m = (L7l,m)*, Ln. © = {и>6 {аь «2, «-i, а-2}*1 {*(">) = *, и из w = xy следует \i(x)^Hn}. Интуитивно элемент из Нп соответствует содержимому магазинной памяти размерности п, a v(w) соответствует необходимому числу возвращений головки на ленте памяти. Поскольку \i(w)=K соответствует очищению магазинной памяти, для конечного т мы определяем Ln, m как замыкание относительно итерации множества Ln.m- Отметим, что Ln,<o =LS, «в, L^, ш =К2 = {w | u. (w) =K} (ср. [7] и [3]) и Ln,0 = L0t m = {K) для всех пят. Покажем теперь, что язык Ln, m входит в семейство jFn> m, построив (п, /^-ограниченный МП-автомат для Ln, m- Лемма 2.1. ер (Ln, m) ^ ^7Ь т- Доказательство. В силу теоремы 2.1 очевидно, что достаточно доказать, что язык Ln,m входит в ,fn,m. Заметим, что если п = О или т- = 0, то Ln,m — регулярный язык. Теперь можно предположить, что пят принадлежат N+[j {со}. Рассмотрим три случая. Случай 1. Пусть пит входят в N+ и Кп,т = Ы U ({0, ...,т}х{+, -}х{1,2}), 1 л —1^0» ^ь • • • * Ап}. Положим Мп, ш = (KJlt m, {аА, а2, я_1, #-г}> Г7?, оп, т, Z0, #о> л„, т), где 8п, т определяется ниже. Поскольку автомат Мп> т во всех случаях детерминированный, бп, т записывается как функция в Кп>тхТп- В случае перехода в пассивное состояние оставляем 6п, m неопределенным. Для всех г, /, k, d, Z, для которых 0<i<tti, d£{ + , —}, /,Z 6{1» 2} и 1<&<?г, имеем 8n.m(g<b a;, Z0)=8((i, d, Z), a,-, Z0)=((0, +, /), г0Л4), fin, т((г, d, Z), о,, Лй) = {({i, +,l),AkAk), если Z + /= & +1 (mod 2), №,+,MA+i), если Z = / + fc(mod2),fc + l ^>, не определено в остальных случаях.
92 Ш. Грейбах Для всех i, /, к, I если О^г^яг, l^&^ra, /, Z £{1, 2} и / —1 = = /c+ Z(mod2), то 6n, m ((*, — , Z), a-j, Ak) = ((*, — , 0» ^)> ((&+1, — f Z), Я), если i + l^m, не определено в противном случае. fin,m((i, + > 0» a_j, -4ft) = | Для всех других значений аргументов функция 8Пг7п не определена. Каждое состояние из Кп,т, исключая начальное, есть тройка (i, d, l). Первая координата считает число возвращений после последнего очищения памяти, a d показывает текущее изменение (d = + означает возрастание, a d = — означает убывание). Когда d изменяется от + к —, i заменяется на i + 1 (если это возможно). Возвращение к Z0 изменяет i на 0. Третья координата регистрирует первый вход всякий раз, когда память очищается до Z0. Машина должна в каждый момент времени проверять сочетаемость, например: при входе a.j и считывании Ak в магазинной памяти можно ли интерпретировать Ak как d] и сократить Ah или машина должна остановиться? Для любого начального подслова w магазинная память машины Мп,т будет содержать код Z0\i (w). Код автоматически заставляет Мп,т остановиться, если \i (w) не входит в Нп. Машина Мп,т также остановится, если w = ху, \i (х) = Я, v (у) > т и у нельзя представить в виде у = yty2 с [х (у{) = К и у{ фХф у2. Машина Мп,т допускает и?, только если \х (w) = K. Следовательно, Null (Мп,т) = В остальных случаях (п = со или т = со) в Кп,т опускается одна или более координат. Другие построения даны без дополнительного разъяснения. Случай 2. Пусть n£N+, ra = co, Knt(o = {q0, qu q2} и Гп = = {Zq,Au ..., Ап). Пусть также Мп, ю = (Кп, со» {aU a-ii a2i a-2li Гп, Оп, о, q0, Z0, Кп> со), где 67?tCO определяется ниже. Для всех / из {1, 2} и Z из {1, 2, 3} 6n,co(2z, «;, Z0) = (g,/, Z0i4i). Для всех j и Z из {1,2} и всех /с из {1, ..., п) (qh AkAk), если I + j == к + 1 {mod 2), бп.со (дг, а7-, Лл) = ^ (gz, ЛЛ+i), если Z = / + к (mod 2), к + 1^и, не определено в остальных случаях.
Одна бесконечная иерархия контекстно-свободных языков 93 Для всех j, к, I если 1^Ск<^п, /, Z£{1, 2} и / — 1 == & + Z(mod 2), то б„, со (gz, a_j, Ah) =(qhK). Пусть функция бп, ш ые определена в остальных случаях. Тогда Ln, ш = Null (Мп, о). Случай 3. Пусть /г = со и m£N+. Пусть также Ktom = = ({0, 1, ..., m}x{ + , -})U{9o}, T(a9m = {Z0,Ai,A2} и со, mi {аи а2, a-i, я_2}, J- со, m» » m» #(b Zq, ^со» m), где 6M,m определяется ниже. Для всех i из {0, 1, ..., т}, d из {-К —} и /, к из {1, 2} б©, m (g0, «/> Z0)=6co,m((i, d), a;, Z0)=((0, +), г0Л,-), 6(o,m((i, d), ah Ah) = ((i, +),AkAj), л^ J((i + 1, -)Д), если i + l<m, O(o.m((l, +), #-./, -4,/)= < l не определено в противном случае, 6co,m((i, —), a.j, Aj) = ((i, —), Я). В остальных случаях функция бщ,™ не определена. Тогда Li0,m = = ^11(Мш,т). Так как наше определение размерности ?г не всегда удобно, докажем лемму, которая позволит перекодировать содержимое магазина в трехсимвольном алфавите и тем самым сделать яснее связь с Ln,m. Лемма 2.2. Если задан (п, т)-ограниченный МП-автомат М, то можно эффективно построить такой т-возвратно ограниченный МП-автомат М'', что (1) Null (М) = Null (M'), (2) Р (М') <= Z0Hn. Доказательство. Если п конечно, то кодирование просто. Z0 остается Z0. Первый записываемый в памяти элемент из Г4 —{Z0} кодируется как аь следующий новый символ как а2, следующий как а{ и т. д. Например, Z0A3A3AbA7 переходит в Z^a^a^a^ Поскольку МП-автомат М (п, яг)-ограничен, в памяти МП-автомата М' будет самое большее п — 1 переходов от а{ к а2 и от а2 к а{ и МП-автомат М' будет m-возвратно ограниченным п будет удовлетворять условию (2). Поскольку п конечно, управляющее устройство МП-автомата М' с конечным числом состояний может запоминать на каждом шаге, какой символ кодируется каждым аь. Итак, можно построить М' с Null (М') = Null (M). Если п = со, то Ak кодируется как а{а2. Для декодирования aia2 автомат Мг должен стереть к + 1 символ. Желательно, чтобы он не делал ни одного поворота, который не делает М; поэтому М' запоминает своим состоянием крайний правый символ магазинной памяти МП-автомата М. Следовательно, М' декодирует только
94 III. Грейбах стирая. Пусть М = (#ь 2, Г, бь g0, Z0, Л), где Г = {Z0, Ль . . . . . ., Лг}. Положим ^' = №хГх Г, 2, {Z0, fll, а2}, б2, (g0, Z0, Z0), Z0, F2), где F2=Fi x {Z0} x {Z0}. Зададим 62. Пусть а —гомоморфизм, определенный равенствами о (ЛЛ) =а^, о (Z0) = Z0. Если (g', w) принадлежит б4 (g, a, Л&) и (а) если w = yAi, то ((g', i4z, Z0), a2a (z/)) £ б2 ((g, Лл, Z0), a, a2), ((g', Ль Z0), Z0a(*/))e62((g, Ak, Z0), a, Z0); (б) если w = X, то ((g, Лл, At), X) £62((g, Лл, Z0), a, a2), ((g, Ль, Л.-+1), Я)£б2((д, Лл, Л,-), Я, a2) для l^i<r, ((g', 4„ Z0), Я)6б2((д, Ak, Аг), Я, a4) для 1</<г, ((g', Z0, Z0), Z0)662((g, A, Z0), a, Z0). Если (g', w) £ 64 (g, a, Z0) и (а) если w = Z0, то ((g', Z0, Z0), Z0)6 62((g, Z0, Z0), a, Z0); (б) если w= Z0yAk, то ((g', Л, Z0), Z0aG/))6 62((g, Z«, Z0), a, Z0). Тогда М' стирает в том и только том случае, когда стирает М (Мг может стирать не более г + 1 символов на каждый символг стираемый М) и, следовательно, является яг-возвратно ограниченным МП-автоматом с Null (Mf) = Null (M). В следующей лемме доказывается, что ер (Ьп,т) содержит £Fn,m Для всех п и т из ^VUi^}- Лемма 2.3. Пусть п, т £ N [] {со}. Тогда ЛГп,т Доказательство. Если п = О или т = О, то очевидно, что $Fn,m есть семейство регулярных множеств. Но каждое полное AFL содержит класс регулярных множеств [9]. Пусть ?г>1 и тп>1, L^^n.m и L = Null(M), где М удовлетворяет лемме 2.2. Пусть М = (К, 2, Г, б, g0, Z0, 7*1). Поскольку семейство Jp (Ln,m) замкнуто относительно гомоморфизма, можно предположить, перекодируя, если нужно, что 2 П Т= 0 =К{\ Т = = К[)2, где T = {Z О, #1, €1,2, <2_j, a_2 } и Г= {Z0, ab a2}. Определим
Одна бесконечная иерархия контекстно-свободных языков 95 гомоморфизмы g и h: ( А, если А £_Т, g: (Т{]2)*->Т*; g(A) = \ . ' в \ / [X в противном случае, Г А, если А Р 2, ' I Л в противном случае. Положим if7l,m(S) = f1(20(L„,raZ0)*UW). Тогда Яп,т(2)€ €.F(^n,m)- ПуСТЬ G = (V, 2 U7\ /\ fa,, Zo)), где V = 'Z\JT\JK X {Z0, ai, аг}, a P определяется ниже. Зададим Л = {(9. Z0) -> aZ0 (J', Zo) | (g', Z0) € 5 (g, a, Z0)} U U {(g. Z0)-+aZ0y (g', a/) | (g', Z0j/a;) б б (g, a, Z0)}, Рг = {(g, «г) -> a (g', a;) | (g', at) 6 б (g, a, at)} M U {(g, «г) ->- я<ад (g', a?) I (g', ад«/) 6 5 (g, а, аг)}> ^з={(д, flf)-»-ae_;(g', a;)|/e{l, 2}, (g', Я)£б(д, a, a4)} U U {(g, at) -> aZ0 (g\ Z0) | (g'Д) 6 б (д, a, at)}r Pb = {(q,Z0)^X\qeF}, P^PiUPzUPsUPi- Пусть R = L(G). Очевидно, что R регулярно, поскольку G — праволинейная грамматика. Если (р, w, Z0) \-A*(q, Я, Z0yai) без использования стирающих _ _ _ * правил, то найдется такое w, что g(w) = Z0y, h(w) = w и (р, Z0) => * — =Ф z# (g, аг) с использованием правила из Р{ [} Рг. Заметим, что так как Р (М) ^ Z0Hn, то у = jli (у) принадлежит Нп. Если (g, a, Z0yai) \~ \- (g', A,, Z0z/) и y = yiai, то, используя jP3> получаем (g, at) =Ф * — _ =4> ая_/ (д', а;). Далее, (р, Z0) =4> юаяц/ (д', а;) и \i(g (waa_j)) = = \i(Z0yiaja.j) = Z0yi принадлежит Z0Hn. Индукцией по длине вычислений можно показать, что если (р, w, Z0) \-A*(q, A,, Z0ya,i)» то существует такое г#, что (1) (р, Z0)Uw(q,ai), (2) h(w) = w, (3) txfeH) = Z0z/6Zoflrn, (4) если m конечно, то v(g (w))^m, поскольку cljCL-j ветре- чается, только когда М делает поворот.
«96 Ш. Грейбах В частности, если (р, та, Z0) ЬЛ* (g, a, Zofli) Ь (g', Я, Z0), то (р, Z0) => и; (д, а*) => waZ0 (g\ Z0), где й- (гш) = та и g (w;a) £ ZoLn, m^o- Если g' — заключительное состояние, то (q\ Z0)=}K по Р4- Следовательно, индукцией по числу очищений магазинной памяти можно показать, что если >(g0, m, Z0) 1—*(/, Я, Z0) и /6^\ т0 существует такое т, что (д0, Z0)=$m, т£Кп,т{1>) и h(m) = m. Таким образом, Niill(M)c=h(Kn,m{2)t)R). Рассмотрим Кп,т(2) П R- Предположим, что, используя только правила из /\ \J P2 и однократно правило из Р4, можно вывести <g0, Z0) =Ф т (д, аг). Тогда (g0, h (w), Z0) (-А* (д, Я,, g (m) <ц). Если (д, at) =$aa_j (д\ а7-) по правилу из Р3> то либо \i (g (waa-j)) не входит в ^0ЯП (и на самом деле в Z0H(0), a значит, слово g(waa_j) не может начинать элемент из Zq (Ln,mZ0)* {}{%}, либо g (waa_j) = Z0yaja_j для некоторого у и по определению (д0, A(im), Z0) Ь* (д, a, Z^yafli) \- (д', Я,, Яоуа,-). Двойной индукцией (по длине вывода и числу букв в Z0) можно * показать, что если (g0, Z0)=$m(q0, at) и ^ — начальное подслово -элемента из Kn,m(Z), то существуют такие г/4 и г/2> что (1) т = у{г0у2 и z/2 не содержит Z0, (2) ix(g(yi))eZ*0, <3) |х(г(у2))бЯп, (4) (g0, A(w), Z0) Ь* (д, Я, Z0u.(£(z/2)) a*)- * Аналогично если (д0, Z0) =Ф и; (д, Z0) И ^6^n,m(S), TO {q0, h(m), ZQ) \-*(q, А,, %о)- Если (д, Z0)=s>A,, то состояние д заключительное и й (ы;)е Null (М). Поэтому Null (М)_= (Kn,m(L) П Л)- По определению полного AFL имеем ^п,т ^ &- (Ь7г,т), поскольку i? регулярно, й*п>т (2) £ .^ (Ln,m) и h — гомоморфизм. Теорема 2.2. Если пит принадлежат N [] {со}, то
Одна бесконечная иерархия контекстно-свободных языков 97 3. Теоремы иерархии В этом разделе мы с помощью определенных выше классов Ln,m установим свойства иерархии. Определим сначала частичный порядок на 7V+(J{oo, со}. Определение 3.1. Если щ, п2, тх и т2 принадлежат iV+U{oo, со}, то (щ, п2) ^ (ягь m2) тогда и только тогда, когда для 1 ^ i ^ 2 либо щ ^rrti < оо, либо щ = mt, либо rrit = со, либо пь конечно, а Ш( = оо. Мы покажем, что Ln>m (j": ,<Frr, m' в нескольких важных случаях. Нам понадобится следующий факт из работы [23]: если МП-автомат распознает w, то он имеет такой способ распознавания для w, при котором объем его магазинной памяти растет не более чем линейно, т. е. ограничен некоторой фиксированной линейной функцией ОТ \ W \. Пусть Ai, . . ., Ап — различные символы и fn(r) = #{y\yeA*...Ai, |у|<г}. Тогда /„ (г) есть число различных способов размещения г идентичных объектов в п различных ячейках, т. е. ' /» + » —1\ '■<Г>-Л( . )■ и индукцией по п можно показать, что fn (г) при п ^ 1 есть полином от г степени п [19]. Следовательно, для любых ki и к2 существует такое натуральное число р (к{, к2), что fn+i (г) > kjn (k2r) для всех г > р (ki, k2). Лемма 3.1. (1) Если п конечно, то Ln+i,i$JFn,ay (2) Li0, i (f JFn,® для любого конечного п. Доказательство. (1) Пусть и конечно. Если /2 = 0, то $pUt ш содержит только регулярные множества, в то время как множество L/i+i, 1 = L^ 1 = {а\а\ | /с^О}* нерегулярно. Следовательно, можно считать, что ?г>1. Поскольку J^n+i, I = jF (L1l+i, i), достаточно найти такое Sn+i^Jf 71+1,1» чт° Sn+i$jf п, (0. Возьмем п + 2символа аи . . ., an+i, с. Верхний индекс й означает отражение: %R=%, af = au (xyf=yRxR. Пусть Sn+i = {wcwR | w 6 a* . . . a*+i}. Очевидно, что Sn+i входит в tfn+lil (а фактически J^n+lil = = JF (Sn+i)). Если семейство jFn.co содержит Ln+lfl, то оно
98 Ш. Грейбах должно содержать Sn+i. Допустим, что SV+i = Null (M) для (п, со)-ограниченного МП-автомата М. Существует такое натуральное hi, что если у М есть завершающееся вычисление для wcwR, то у него есть завершающееся вычисление, для которого магазинная память ограничена по длине числом к^ \w\. Если М имеет к2 состояний, то, проверяя только вычисления с магазинной памятью, ограниченной к^ \ w |, мы видим, что после прочтения слова w из а* ... а* длины не больше г машина М перед прочтением wR может попасть самое большее в k2fn {к]Г) различных конфигураций. Следовательно, найдутся такое число г, такие слова Wi Ф w2, состояние д, магазинная память Z0y и заключительные состояния /j и /2, что (ff0, u>icw*, Z0) r-*(ff. 9wRi z*y) H*(/i, h Z0), (ffo, w2cw*, Z0) h *(g, c<, Z0z/) h-*(/2, К Z0). Тогда М допускает слово w^w^, которое не принадлежит Sn+i. Таким образом, Sn+i и Ln+iti не входят в Jfn>ii). (2) Допустим, что Z/co, 1 входит в jFn,(o для некоторого конечного п. Тогда & {Ln+i, i) = ^n+U 1 ^ ^со, 1 = ^ (Ьсо. l) ^ ^п о, так что £7i+i€ j^?*, со> что, как было показано выше, неверно. Замечание. Доказательство леммы 3.1 включает некоторое усиление метода, использующего стандартные теоретико-информационные соображения [4, 20], с помощью, которого доказывается, что зеркальное отображение не сохраняет класс односчетчико- вых языков. Пусть g— гомоморфизм из {а{, a_i}* в аддитивную группу целых чисел, определенный равенствами g (#i) = 1, g (a_i) = — 1, g(k) = 0 и g{xy) = g(x) + g(y). Обозначим^ g (x) = min {g (z) \ (Зу) (x=zy)}. Для т из N положим Tm=Li>m и заметим, что Tm = {we(atatl)m\g(w) = -g(w)=0}. ' Лемма 3.2. Для каждого т из N множество Tm+i не входит 6 сР оьт* Доказательство леммы дается в приложении. Интуитивно МП-автомат для больших t не может вернуться к начальному состоянию магазинной памяти, считывая слово a{77m+1ai1, так как при этом он «забудет» I. Но Tm+i включает Т™+1, а МП-автомат, распознающий Т™+1У должен делать m -f 1 поворотов на длинных словах.
Одна бесконечная иерархия контекстно-свободных языков 99 Лемма 3.3. (1) Если m^N, то Lit m+1 (J J^co, m- (2) Lit со (J jFg),™ для- любого конечного т. Доказательство. Первая часть есть просто переформулировка леммы 3.2. Если Li.cf.fw.m Для некоторого /га из N, To^m+iE^ffl.m, так как t^ri,w+i^^ri.© = ^r (^1,©) и Гт+1 = = ^ып+1 принадлежит JFum+i- Но Гт+1$^ш,т. Мы увидим, что рассмотренные выше два специальных случая позволяют доказать общую теорему. Лемма 3.4. Пусть пит принадлежат N+{]{($}. Тогда Ln,m(:JFn',m' в том и только в том случае, когда (/г, m)^L(n', т'). Доказательство. (1) Если (п, т)^(п'', т'), то ясно, что ^тит^&п'ж по определению, а так как <р (Ьп, т) = ^7г,т, то L„,m должно входить в $Fn\m'- (2) Предположим, что L„,m£ JFn',mf- Или (п,т)<^.(?г',т'), или имеет место один из следующих четырех случаев. Случае 1, Допустим, что п' <7г<оо. Тогда тг'^/г— 1 И jFn', m' S^Fn-l.m' ^.Fn-1,©. ЕСЛИ . Ln, m 6 jFn\ m'» TO jTn> 4 ^ ^ JFn,m= &- (Ln,m) ^ ^n', 7П' S ,fn-i, «• Но это противоречит лемме 3.1. Случай 2. Допустим, что п = ы и /г' £JV [J {oo}. Если Ьсо, тб ^п', т', ТО & (Ьш, i) = ^со, 1 ^ J^co, т = jF (£ш. т) ^ ,fn', m' ^ ^Л'.г Отсюда следует, что Z/co, i € ^п'.со, а это противоречит лемме 3.1. Случай 3. Допустим, что т'<Ст<Соо. В этом случае аналогично случаю 1 мы приходим к противоречию с леммой 3.3. Случай 4. Допустим, что т=со и т' £N (J{°°}. Здесь аналогично случаю 2 мы приходим к противоречию с леммой 3.3. Итак, если Ln m^lFn',™,', то (п, т)<^(п', т'). Теорема 3.1. Если пит принадлежат 7V+U{ft>, oo}, то 3^п,т^ .<Fnf,mf тогда и только тогда, Когда (п, т)<^:(п', т'). Доказательство. (1) Если (п, т)^.(п', т'), то очевидно, что ^п^т^^п^т' по определению. (2) Пусть /n^^.fn'.m'' Рассмотрим четыре случая. Случай 1. пфоофт. Тогда Z/n, m€ .^V, m', а следовательно, по лемме 3.4 (и, т)^.(п'', яг'). Случай-2. /г=оо, тфоо. Тогда ЗРпит^&оо.т^ЗРп^т» для всех конечных тг^ По лемме 3.4 (пь иг)^(тг', яг') для всех конечных 7гА. По определению 3.1 п' должно равняться оо или со, так что (т, п) = (оо, яг)<^(тг', m'). 7*
100 Ш. Грейбах Случай 3. Пусть пфоо и /п = оо. Меняя местами п и т в случае 2, получаем, что (п, m)^Z(n', т'). Случай 4. Пусть тг= оо = т. Тогда для всех конечных щ и т! имеем ^щ.яи ^ Jfoc,oo = JFn,m- Следовательно, если ^оо, оо ^ ^.^n',™', TO j^ni,mi^*Foo,oo^ jFn', m' ДЛЯ ВСвХ nt И 77Ц ИЗ TV. По лемме 3.4 (щ, m1)^(w', m') для всех конечных тг^ т{. По определению 3.1 w' и т' должны быть из {оо, со}, так что в любом случае (п, т) = (оо, оо)^.(п', т'). Следствие. Пусть п, т, п' и т' принадлежат N+ {] {со, оо}. Тогда 3rn,m = Jfn\m' в том и только в том случае, когда (п, т)=(п', т'). Сл е д с т в и е. Пусть п, т, и' и т' принадлежат N+ {] {со, оо}, (п, т)^(п', т') и (п, т)Ф(п', тг). Тогда семейство Jfn\mf — — JFn,m бесконечно. Следствие. Для n£N+[){(i), оо} не существует такого Ln, что ^(Ln) =^п,оо, и такого L'n, что е? (L'n) = З^оо, „. Доказательство. Приведем доказательство для JF п,оо] доказательство утверждения для ^оо, п аналогично. По определению tpn,oo= U .Fn,m- Если ^r(L/l) = ^rn,oo, то L„6jF„>m для некоторого т из N. Но поскольку jF/i.m есть полное AFL, то SF (Ln) = З^п, oo^JFn,m^ JFn, сх,, т. е. jfn> m = $рп,оо. В частности, ^п.ти ^ .5^/1, т, что противоречит теореме 3.1. 4. Проблемы разрешимости Отметим сначала, что наше определение (п, ^-ограниченности эффективно для МП-автоматов. Теорема 4.1. Проблема выяснения (п, т)-ограниченности МП-автомата для фиксированных пит эффективно разрешима. Можно эффективно выяснить также, существуют ли такие конечные пит, что МП-автомат (п, т)-ограничен. Доказательство. (1) Множество Р (М) регулярно [15]. Можно эффективно указать конечный автомат для Р (М) и тест для включения во все возможные множества Z0A* . . . А*, где At — символ магазинной памяти для М [15, 11]. Можно проверить, является ли Р (М) ограниченным *) регулярным множеством и конечной ли оно размерности (т. е. существует ли такое п, что Р (М) имеет размерность п) [И, 13]. х) Множество L называется ограниченным, если существуют такие слова Wi, . . ., Wn, ЧТО L С M7f. . . Ы7*.
Одна бесконечная иерархия контекстно-свободных языков 101 (2) Для проверки условия тп-возвратной ограниченности достаточно исследовать поведение М между состояниями пустой памяти. Пусть М = (К, 2, Г, б, q0, Z0, F). Для каждого достижимого состояния q £ К построим автомат M'q, который начинает работу в состоянии д, все состояния которого заключительные и который имитирует М, за исключением того, что Mq останавливается, когда М впервые очищает память. Автомат М будет т-возвратно ограниченным тогда и только тогда, когда МП-автоматы M'q яг-возвратно ограничены [12]. Найдется такое конечное число т, что М яг-возвратно ограничен тогда и только тогда, когда для каждого Mq существует число mq с аналогичным свойством, а это уже разрешимая проблема [12]. В теоремах неразрешимости используется проблема соответствия. Определение 4.1. Пусть 2—конечный алфавит, аи ...,ап, pi, . . ., рп — слова из 22*, а = (а4, . . ., ап), Р = (рь .. ., РО- Пусть с — некоторый новый символ. Тогда La={0hl ...$Чсю\юфа{1 ...aift, k>l, l<*j<n}, Lfi={0ul ...0{Нси?\и>ф$и ...Pifc, k>U l^ij^n). Лемма 4.1. La и Lp входят в jFi,i- Доказательство. Очевидно, что доказательства для La и Lp совпадают. Заметим, что Ьа = {0и1 ...0Мси;| \и>\ф\щ1 ...OiJ}U U {04 . . . Очищай!, | а\х . . . а{к = u2bv2, | щ | = | u2 |, аф Ъ). Первую часть можно распознать (1, 1)-ограниченным МП-автоматом, который записывает длину а^., когда прочитывает 0^1, а после прочтения с начинает последовательно стирать магазин. Таким образом, он может отсчитать | w | входных символов. Вторая часть распознается (1,1)-ограниченным МП-автоматом, который записывает длину а^., читая ОМ, до тех пор, пока не «догадывается», что вычислил | и2 |. Тогда он запоминает символ Ь в своем состоянии и перескакивает оставшиеся входные буквы до с, потом сдвигает ленту*памяти, пока не прочитает и4 (| и2 | = = I Wi |), и тогда проверяет, что а Ф Ъ. Теорема 4.2. Для языков L из jf u i проблема эквивалентности L = Т* неразрешима. Доказательство. Пусть La и Lp те же, что и выше, Г = 2и{0, 1,с} и L = L* U Ьр U (Г*-(00*1(00*1)*сГ*).
102 Ш. Грейбах Тогда Г* - L = {0*4 .. . O^cw \ w = ah ... aife = fLti . . . fc J. Следовательно, L = T* тогда, и только тогда, когда Т* — L=0, а это бывает тогда и только тогда, когда проблема соответствия (a, P) не имеет решения. Последняя же проблема неразрешима [18]. Следствие. Для (п, ш) ^ (1, 1) проблема эквивалентности неразрешима для (п, т)-ограниченных МП-авто матов. Теорема 4.3. Если Jfn,m — ^п\т'Ф 0, то для L из ^1ит неразрешима проблема вхождения в $Fn\m'- Доказательство. Пусть Li6 ^п,т— ,¥п\т', b26^i,i, L\ U L2 ^ Т*, а с — новый символ. Определим L как Ь&Т* \] Т*сЬ2. Поскольку полное AFL содержит все регулярные множества, а следовательно, все Jf0> m и Jfn,o, то (п, /п)>(1, 1). Значит, L(zJFn,m- Если Ь2 = Т*, то язык Ь = Т*сТ* регулярен и заведомо входит в каждое $рП',т'- В противном случае, если у£Т* — L2, то L П Т*су = LiCy. Поскольку jFn', mf есть полное AFL, а язык Т*су регулярен, то L^$Fn>,m' влечет Li6jFn',m'. Мы пришли к про- тиворечию^ чСледовательно, L£$Fn>,m> тогда и только тогда, когда £2 = Г*, а эта проблема неразрешима. Следствие. Если (п, т) ^ (1, 1), то для L из ^п, т проблема регулярности L неразрешима. Замечание. Можно показать, что проблема пересечения, т. е. «LiftL2 = 0?» неразрешима для класса jFi, со 1-счетчиковых языков, для Jf2,1 и для ^со,1 [2]. Для JT1(1 и вообще для ^um, ?n£N+, эта проблема открыта. Приложение Для доказательства леммы 3.2 нам необходимы два определения и одна лемма. Определение. Пусть М = (К, 2, Г, б, g0, Z0, F) есть МП-автомат и N (М) = {w I 3/ 6 F, g, у, и;', (д0, и>, Z0) Н л* (д, и>', у) Н (/, ^ ^0)} U [){b\qo£F}. Определение. Для иг-возвратно ограниченного МП-автомата М множество N (М) есть ультралинейный язык ранга г) т при т ^ 1. Регулярное множество есть ультралинейное множество ранга 0. х) Согласно [12], язык L имеет ранг т, если L = L(G) для такой контекстно-свободной грамматики G = (F, 2, Р, X), что если Z=^w и Z^V- 2, то w содержит не более чем т вхождений элементов из V-— 2. Эквивалентность этого определения определению, данному ранее, доказана в [12] для случая т — 1. Приводимое здесь доказательство годится для общего случая.
Одна бесконечная иерархия контекстно-свободных языков 103 В следующей лемме с помощью методов доказательства, развитых в [14] для т = 1, доказывается, что Tm+i не есть множество ранга т для т ^ N. Лемма. Пусть turn принадлежат N. Если а[Тш+^а1^ <=: ^ L ^ Tm+U то язык L не является ультралинейиым ранга т. Доказательство. Проведем индукцию по т. Если т ~ 0, то L П ala*a*1al1 = {a[+nat_+n\n>0}. Таким образом, пересечение множества L с регулярным множеством afa^a*^^ нерегулярно, а значит, L не является ультралинейным множеством ранга 0. Предположим, что т ^ 1 и что лемма доказана для т — 1. Пусть a\Tm+iai1 ^ L ^ Tm+i и с — новый символ. Обозначим Lc = {xcy \ху£ L, х<^а\а\а-и у ^al(a*aZi)m} [} {хс \ х б L [\ a*a!J. Для всякого множества S ^ {аи a_i}* с{аь a-i}* положим и p(5) = {z/|3o;, :m/£S}. Если L имеет ранг т, то очевидно, что Lc имеет тоже ранг т. Следовательно,' существует такой ^-возвратно ограниченный МП-автомат М, что Lc = N (М). Пусть М = {К, 2, Г, б, g0, Z0, .F). Определим для i 6{1, 2} яг-возвратно ограниченные МП-автоматы Mt =(К', 2, Г, бь (д0> 0). Z0, F) и языки Lt = N (Mt) следующим образом. Положим К' = = К[}(К X {0}). Для состояний, принадлежащих К, б = б4 = б2. Если(д, г/) б б (р, а, 4) для а # си г/ # Я, то ((д, 0), г/) б ^ ((р, 0), а, Л), 1 = 1,2. Если (д, Я) б б (р, а, А) для а #= с, то (д, Я) б б б2 ((р, 0), а, Л). Для всех состояний имеем б4 ((р, 0), с, Л) = - б (р, с, Л). Заметим, что оба МП-автомата имитируют М, но М4 никогда не стирает символов до считывания с, тогда как М2 всегда стирает по крайней мере один раз перед считыванием с. Следовательно, Lc = Li{]L2 я % (Ь{) — регулярный язык, так как X (L4) может распознаваться нуль-возвратным МП-автоматом. Заметим, что и поэтому a\Ti <= X(LC) g= {а*а*[ | 0 < п' < п].
104 Ш. Грейбах Так как A,(L4)— ограниченное1) регулярное множество, то его можно представить в виде конечного объединения множеств вида al+s(ai)* (a-i)* a-i [13]. Для того чтобы множество X(Z/i) содержалось в {a™a™i | О^га'^тг}, каждое I должно быть нулем, так что 4Li)= U a{+si(a^i)*ari для подходящих неотрицательных целых чисел su . . ., Sj, ku ..., kj ИГ!,..., rj. Тогда очевидно, что язык X(Li) содержит не более конечного числа (в действительности не более ]) элементов из а[1\ = = {а\+па7!:1 | ?г>0}. Но X(LC) содержит а*7\. Таким образом, в Тх существует такое w, что a\w£%{Lc) — %(Li). Так как а[Тт+ха1х П «'"> {«i, a-i}* «ii = a{wTma^ ^ L, то a\wcTmal_x с= Lc. Поскольку a{^^X(Li), ни один элемент множества a\wcTmaix не может входить в L1? а следовательно, a\wcTma%_^ ^ L2. В частности, если Ьъ=а\$(Ьг[\а\и)с{аь a_i}*), то afT1™^ gi3g Гт. Так как МП-автомат М2 делает по крайней мере один возврат, считывая d[wc, он может после этого сделать не более тп — 1 возвратов. Мы хотим так перекодировать М2, чтобы получить такой (т — 1)-возвратный МП-автомат М3, что L3 = N (М3). Этот автомат должен прочитать а{ (t фиксировано), затем он переходит к ситуации М2 после чтения a\wc и имитирует М2. К сожалению, М2 после прочтения a{wc может попасть в бесконечно много конфигураций. Но для любого состояния р слова, которые могут находиться в магазинной памяти после считывания a[wc и попадания в состояние р, образуют регулярное множество Rp [15]. Положим R/w ={y | yw 6 R}- У регулярного множества может быть только конечное число различных частных R/w. Поэтому семейство М всех Rp и Rp/w конечно. Магазинными символами в М3 являются элементы из Г и специальные символы a (R) для R 6 Я. Пусть М3 = (К3, Г3, б3, 'jo, Z0, F), где К3, Г3 и 63 определяются ниже. Пусть qt — новое состояние для 0 ^ i ^ t и К3 = = К' [} {q0, ..., qt}. Для каждого R из М обозначим через o(R) новый символ и положим Т3 = Т[]{о(R)\R£&). Для 0^.i-<t пусть (tfi+i, Zo)£68(0/, ai, Z0). Для каждого р£К'9 для которого х) См. подстрочное примечание на стр. 100.
Одна бесконечная иерархия контекстно-свободных языков 105 ЯРФ 0, пусть (р, Z0Rp)(i83(qt, X, Z0). Для каждого р£К\ R^M и A£T-{ZQ}, Я/4^0, пусть (р, а(Л/Л)Л)еб8(р, Х,а(Д)). Для каждого р£К' nR£&cZ0(iR пусть (р, Я)(ЁЫр> Я,, а(Д)). Для р£К', а£2>{]{%} и 4£Г пусть б8(р, а, Л) = 62(р, а, Л). После считывания a*w; МП-автомат М3 приходит в состояние р и запоминает а(Др) для каждого состояния р^К' с Rpt^=0. После этого М3 имитирует действия МП-автомата М2. Он заменяет свои специальные символы о (R) на a (R/A) А, где Л —крайняя правая буква в некотором слове из R. Очевидно, что L3=~- = N(M3). Таким образом, ранг языка L3 равен т—1 и a^rmdii^ ^ L3 ^ Тт. Это противоречит предположению индукции. Следовательно, Lc и L не могут иметь ранг т. Лемма 3.2. Для m£N множество Тгп^ не входитп в J*F <&,m* Доказательство. Если m = 0, то Tm+i = Ti = {tfa^ \ n > 0}. Тогда 7\ нерегулярно и потому не входит в ^to.o- Предположим, что m > 1. Если Гт+16 jFco.m, to существует такой (со, яг)-ограниченный МП-автомат М=(К, {аи а_А}, Г, б, qQ, Z0, F), что 7,m+1 = Null(M). Пусть К' состоит из всех тех р£К, для которых {ы>|э/е*\ (р, w, z0) н*(/, я, zo)}Ф0. Заметим, что если (q0, wu Z0) h*(0» Я,, Z0), (g0, м;2, Z0) I-* (tf, Я, Z0) и (#, w;3, Z0) 1— *(#, X, Z0) для некоторого f£F, то Wiiv3 и w2Wb входят в Tm+i. Имеем g {щ) = g (^iws) — g (u>z) = 0 — g (и>8) = g (w2w3) - g (w3) = g (w2) > 0. Следовательно, для каждого q^K' существует такое целое число sq>0, что из (#о, w, Z0) (-* {Ъ Я, Z0) следует g(w)=sq. Пусть s0 = max {sq\q£K'}. Если L=N(М), то L — ультралинейное множество ранга m и L ^ Гт+1. Рассмотрим слово w; вида a[uatv где ^^Гт+1 и s^>s0. Заметим, что ^6^m+i- Если iv — ху, \ х | >> s0 и | z/1 > s0, то либо х = а( с £0<У^>, либо х = а\и' с и = и'и". В последнем случае так как и ^ l m+i- В любом случае g*(#);>So- Таким образом, распознавая вход w, M не очищает магазинную память после считывания а\° до тех пор, пока не будут прочитаны все символы из asxuas_~s°. Поэтому можно считать, что w£L, изменив, если необходимо, М, чтобы запомнить первые s0 символов в конечном управляющем устройстве. Получаем, что L — контекстно- свободный ультралинейный язык ранга не более m и а\Гт+\а\ ^ ^ L gz Tm+i при некотором целом числе t. Это противоречит предыдущей лемме. Поэтому Гт+1(£ jFco.m.
106 III. Грейбах СПИСОК ЛИТЕРАТУРЫ 1. Banerji R. В., Phrase structure languages, finite machines and channel capacity, Inform, and Contr., 16 (1963), 153—162. 2. Bar-Hillel J., Perles M., Shamir E., On formal properties of simple phrase structure grammars, Z. Phonetik Sprachwiss. Komm., 14 (1961), 143—172. 3. Chomsky N., Context-free grammars and pushdown storage, Quart. Progress Rep. 65, Res. Lab. of El., M.I.Т., Cambridge, 1962. 4. Cole S. N., Real-time computation by iterative ^arrays of finite state machines, Doct. diss., Harvard Univ., Cambridge, 1964. (См. также стр. 290—321 настоящего сборника.— Перев.) 5. Evey R. J., The theory and application of pushdown store machines, Doct. diss., Harvard U., Cambridge, May 1963. 6. Fischer P., Turing machines with restricted memory access, Inform, and Contr., 9, 4 (1966), 364—379. 7. Гинзбург С, Математическая теория контекстно-свободных языков, изд-во «Мир)), М., 1970. 8. Ginsburg S., Greibach S., Deterministic context-free languages, Inform, and Contr., 9, 6 (1966), 620—648. 9. Ginsburg S., Greibach S., Abstract families of languages, Mem. Amer. Math. Soc, № 87, 1969, pp. 1—32. (Русский перевод готовится к печати в сборнике «Языки и автоматы», изд-во «Мир».) 10. Ginsburg S., Greibach S., Harrison M., One-way stack automata, /. ACM, 14, 2 (1967), 389-418. 11. Ginsburg S., Spanier E. H., Bounded Algol-like languages, Trans. Amer. Math. Soc, 113 (1964), 333—368. 12. Ginsburg S., Spanier E. H., Finite-turn pushdown automata, J. SI AM Contr., 4, 3 (1966), 429—453. 13. Ginsburg S., Spanier E. H., Bounded regular sets, Proc. Amer. Math. Soc, 17, 5 (1966), 1043 — 1049. 14. Greibach S., The unsolvability of the recognition of linear context-free languages, /. ACM, 13, 4 (1966), 582—587. 15. Greibach S., A note on pushdown store automata and regular systems, Proc. Amer. Math. Soc, 18, 2 (1967), 263—268. 16. Greibach S., A new normal-form theorem for context-free phrase structure grammars, J..ACM, 12, 1 (1965), 42—52. 17. Hopcroft J. E., Ullman J. D., An approach to an unified theory of automata, Bell. Syst. Tech. J., 46 (1967), 1793 — 1829. 18. Post E. L., A variant of a recursively unsolvable problem, Ball. Amer. Math. Soc, 52 (1946), 264—268. 19. Риордан Дж., Введение в комбинаторный анализ, ИЛ, М., 1963. .20. Rosenberg A. L., Real-time definable languages, /. ACM, 14, 4 (1967), 645—662. (Русский перевод: Розенберг А., Языки, определимые в реальное время, сб. «Проблемы математической логики», изд-во «Мир», М., 1970, стр. 168—193.) 21. Rabin M. О., Scott D., Finite automata and their decision problems, IBM J. Res. Dev., 3, 2 (1959), 114—125. (Русский перевод: Рабин М., Скотт Д., Конечные автоматы и проблемы их разрешения, Кибернетический сборник, вып. 4 (1962), ИЛ, М., стр., 58—91.) 22. Stanley R. J., Finite state representations of context-free languages, Quart. Progr. Rep. 76, M.I.Т., Res.} Lab. of El., 1965, pp. 276—279. 23. Greibach S., One-counter languages (в печати).
ОБ ОДНОЙ ИЕРАРХИИ МЕЖДУ КОНТЕКСТНО-СВОБОДНЫМИ II КОНТЕКСТНО-СВЯЗНЫМИ ЯЗЫКАМИ 1) Т. Касаи Введение Известно, что контекстно-свободные грамматики представляют собой формальную модель, пригодную для описания синтаксической структуры как естественных языков, так и языков программирования. Однако некоторые синтаксические структуры, содержащиеся во многих языках программирования, таких, как АЛГОЛ, нельзя задать с помощью контекстно-свободных грамматик. Это приводит к рассмотрению более сложных грамматик, которые позволят обойти указанный недостаток введением порядка применения правил вывода (продукций) в контекстно-свободной грамматике. В этой работе вводится'понятие режимной грамматики (state grammar), предназначенное для изучения одного, такого класса более мощных грамматик. Неформально режимная грамматика представляет собой контекстно-свободную грамматику, обладающую некоторым множеством режимов работы (states), причем совокупность допустимых выводов определяется возможными режимами. В режимной v грамматике каждая промежуточная цепочка в выводе имеет режим, который и определяет, какие продукции можно применить в дальнейшем. Язык, порождаемый режимной грамматикой, называется режимным языком. Доказано, что класс режимных языков совпадает с классом контекстно- связных языков. Налагая ограничения на режимную грамматику, мы получаем бесконечные подклассы Xi, Х2, • • ., Хоо, Х^ класса режимных языков. Основной результат этой статьи состоит в том, что каждый класс Хп является абстрактным семейством языков (AFL) (см. [7]). В последние годы появилось много исследований, посвященных изменению способов вывода слов в грамматике [1—5]. Розен- кранц [1] определил класс грамматик, называемых программными грамматиками, в которых каждая промежуточная цепочка в выводе ассоциирована с пометкой (номером) некоторого правила вывода, играющей роль режима. Продукция, применяемая к некоторой промежуточной цепочке вывода, однозначно определяется пометкой, ассоциированной с этой цепочкой, причем пометка следующей цепочки вывода выбирается из множества, сопостав- г) Kasai Т., An hierarchy between context-free and context-sensitive languages, /. CompuU and Syst. Sci., 4, 5 (1970), 492—508.
108 Т. Касаи ленного каждой продукции. Наши режимные грамматики являются обобщением программных грамматик с е-свободными контекстно-свободными подстановками. Абрахам [2] рассмотрел контекстно-свободные грамматики с матричными правилами, в которых класс допустимых выводов ограничен матричными условиями. Интересный подкласс языков, порождаемых матричными грамматиками, был исследован Брейнердом [3]. Этот подкласс содержится внутри нашего класса <2?оо. Фриш [5] описал класс языков,.порождаемых контекстно-свободными грамматиками, правила которых частично упорядочены. Взаимосвязь между этими грамматиками и режимными грамматиками исследовал Мория [6]. Гинзбург и Спеньер [9] рассмотрели другой вид ограничений на применение продукций, когда допускаются лишь такие левые выводы, что последовательности продукций в них принадлежат некоторому заранее фиксированному множеству цепочек. Эта статья состоит из трех разделов. В разд. 1 дается основное определение режимного языка и вводится класс Хп — класс режимных языков степени п. Раздел 2 посвящен теоремам об иерархии *). В разд. 3 рассматриваются свойства замкнутости классов Хп- В частности, каждый класс Хп является AFL. 1. Режимные языки Определение. Режимной грамматикой называется кортеж G = (К, V, 2, Р, р0, а), где 1) К — непустое конечное множество режимов; 2) V — конечное множество символов и 2 с: V; 3) а — элемент из V — 2; 4) Ро — элемент из К; 5) Р — конечное подмножество множества К X (V — 2) X X К X V+ 2). Элемент (р, |, q, и) множества Р называется режимной продукцией (или короче продукцией) и обычно записывается в виде (р, |) -> (q, и). Элементы множества V — 21 называются переменными. Переменная £ называется применимой в режиме р, если (р, |) -> (д, и) принадлежит Р для некоторых q £ К и и £ V+. Пусть дана режимная грамматика G = (К, V, 2, Р, р0, а). Определим отношение =^ на К X V+ следующим образом. Пусть г) Следует отметить, что техника, развитая в настоящей статье, была использована в работе Стоцкого Э. Д. «О некоторых строгих иерархиях языков», НТИ, серия 2, № 4 (1972), 40—45, для построения иерархии матричных и некоторых других языков.— Прим. ред. сю 2) у+ — у у г и у* = V+ (J {е}, где е обозначает пустое слово. г=1
Об одной иерархии между языками 109 р £ Кжио = х%у принадлежит V+. Если х не содержит переменных, применимых в режиме р, и (р, £) -> (д, и) принадлежит Р, то (р, агёу) =^ ((?» #иг/). Если | является у-й переменной в w, то мы з иногда будем писать =ф вместо =>. * Пусть а и Р принадлежат К X F+. Будем писать а^Р, если либо а = Р, либо существуют такие а0, . . ., аг, что а0 = а, аг = Р и аь =Ф a^+i для каждого i. Последовательность а0, . . ., аг называется выводом (длины г) и записывается в виде <х0 =Ф . . . . . . =Ф аг. Подмножество Ь(С) = {^е2+&ЗдбЯ((Аь а)А(д, ">))} множества 2+ называется режимным языком, порождаемым грамматикой G. Определение. Пусть G = (K, V, 2, Р, р0> от)—режимная грамматика и п — положительное целое число. Назовем п-ограни- ;(1) ;(2) Кг) ценным выводом такой вывод а0=фа1=фа2 . . . =фаг, что j(i)^.n п* для каждого £. В таком случае мы будем иногда писать а0=Фаг * вместо а0 =Ф аг, чтобы обратить внимание на существование «.-ограниченного вывода. Подмножество L (G; п) множества 2+ определим как п* {w\we2+&3qeK{{p0, o)=*(q,w))}. Ясно, что L (G; n)^L(G; тг-f 1) для любого целого положительного п и п=1 Говорят, что режимная грамматика G имеет степень п, где п — положительное целое число, если L (G; п) = L (G). Говорят, что режимный язык L имеет степень п (или является языком степени п), если существует такая режимная грамматика G степени п, что L = L (G}. Если L (G; п) ф L (G) при любом целом положительном п, то G называется грамматикой бесконечной степени, а режимный язык L (G) называется языком бесконечной степени. Пусть Хп Для положительного целого числа п означает класс всех языков степени п. Пусть X^— класс режимных языков. оо Наконец, пусть <Хсо= (J Хп. п=1 Из определений ясно, что Х{ ^ Х2 ^ . .. S <£<х> ^ X&. Кроме того, Xi совпадает с классом 8-свободных контекстно-свободных
но Т. Касаи языков1). Действительно, Х\ совпадает с классом языков, порождаемых 8-свободными контекстно-свободными грамматиками, имеющими регулярные управляющие множества [9]. Теорема 1. Для любой режимной грамматики G и любого натурального числа п ^ 1 язык L (G; п) есть режимный язык степени п. Доказательство. Пусть G = (K, V, 2, Р, р0, а). Построим такую режимную грамматику С, лто L (G; n) = L(G'; n) = L(G'). Пусть / — новый символ, а р и £ — новые, символы для каждого реК и каждого |е7_2. Пусть G' = (K', V, 2, Р', (д,, 1), а), где *' = *х{1,2, ...,*}U{P|P€*}X{1,2, ...,rc}U{/}, v' = vi){i\iev-?i}. Наконец, определим Р' следующим образом: 1) Если (р, I) -> (q, и) £ Р, то ((р, 0, £)->((?, 0» и) принадлежит jP' при любом г, удовлетворяющем условию 1 ^ i ^ ?г* 2) Если переменная | неприменима в режиме р, то продукция ((Р, О» £) -*- ((Р» * + 1), I) принадлежит jP' при любом i, удовлетворяющем условию 1 ^ i ^ п — 1; продукция ((р, п), Н) -> -v (/, £) также принадлежит jP'. 3) Для всех \e.V — 2 и рб^ продукции ((р, £),£)-»- ->((А *-1), 6), 2<*<и, и ((р, 1), g)-*((p, 1), Б) принадлежат Р'. Зададим гомоморфизм h множества V* равенствами h (a) = a для всех а£2 и й(|)=| для всех %£V — 2. Структура С такова, г что всякому выводу (р, xly)=$>(q, xuy), 1<£<?г, в грамматике G соответствует следующий вывод длины 2Гв грамматике G': ((Р. 1), *&)=»... =Н(р, 0» h{x)ly)^ =Ф((д, 0» h(x)uy)=$ . ..=>((g, 1), яш/)=И(д, 1), яш/), верно и обратное. Итак, L (£; и) = L (С; гс). Так как всякий вывод из ((р0, 1), а) в грамматике С будет «.-ограниченным, то грамматика G' имеет степень п. Следствие. Режимный язык L имеет степень п тогда и только тогда, когда L = L (G; п) для некоторой режимной грамматики G. г) Контекстно-свободный язык называется е-свободным, если он не содержит пустого слова 8.
Об одной иерархии между языками Ш Очевидно, что L = {агЬгс \ i ^ 1} — режимный язык степени 2. Так как L не является контекстно-свободным языком, он не является языком степени 1, и, следовательно, Х2 строго содержит Xi. В разд. 2 мы покажем, что^.существует режимный язык степени п, который не может быть порожден никакой режимной грамматикой степени, меньшей п. А сейчас докажем, что Х& совпадает с классом контекстно-связных языков. Теорема 2. Xw совпадает с классом контекстно-связных языков. Доказательство. Заметим прежде всего, что каждый режимный язык очевидным образом является контекстно-связным языком. Теперь предположим, что G = (F, 2, Р, о) — контекстно-связная грамматика. Построим режимную грамматику G', порождающую тот же язык, что и G. Не умаляя общности, можно считать, что Р состоит из продукций типов (а) £-> тб, (б) |v-> тб и (в) |-> а, где £, v, т и б принадлежат V — 2 и а 6 2. Пусть V' = FUG'IE€F-Z}U{riE€V-2}, где V и Г-новые символы. Положим К = {р0, ри р2, /} (J (V — 2) X (V — 2). Рассмотрим грамматику G' = (K, V\ 2, Р', р0, а), где Р' состоит из следующих продукций: 1) (Ро, Ъ)-+(Ро, I') Для всех ££7 — 2; 2) (р0, Е) -^ (Pi, т'б") для всех ?-^тбб^; 3) (Ро, 1)->-((^, б), т') для всех Iv-+tS£P; 4) ((v, б), v)-^(pb б") для всех v, 6 6F —2; , 5) ((v, б), £)->(/, £), если v^E; 6) (А, £')->(Pi, Е) Для всех £€^-2; 7) (Pi, П-^СРо, I) Для всех ££7 —2; 8) (Ро, Е)-ЧР2, а) Для всех \-+а£Ру 9) (р2, £)-►■( Pa, «) Для всех £->а£Р. Пусть D: a = w0=$ ^4=ф .. . =£ w;r есть вывод в грамматике G, причем ov€2+. Можно считать, что все продукции типа (а) и (б), используемые в D, применяются прежде продукций типа (в). Пусть * вывод a=$wt содержит продукции только типов (а) и (б), а вывод * Wt=$wr содержит продукции только типа (в). Пусть в грамматике G Xi .. . Xsly =$xi ... х8т8у, причем £1^тббЛ xteV — 2 и y£(V — 2)*. Тогда (Ро, х{ ... Xsly) =Ф (Ро, ^; ... x'sly) =Ф (Pi, ^1 .. • ^т'б"г/) =з> * =Ф (pi, хА ... xst6"t/) =ф (р0, ж4 .. . xstby).
112 Т. Касаи Допустим, что в G xi . . . Xslvy^Xi .. . xs%6y, причем ^v-^x6gP. Тогда в G' * (р0, хх . . . xslvy) =ф (р0, х[ . . . s^vy) =» =Ф ((v, б), х[... x'si'vy) =Ф (Pi, ж; .. . ^x'S"?/) => * =Ф (рь л?1 . .. ж8тб^) => (Ро, Xi .. . £8т6г/). * Таким образом, (_р0, а) =4> (р0» ^*) в С. Поскольку порядок применения продукций типа (в) не влияет на терминальное слово, порождаемое выводом, можно считать, что продукции типа (в) всегда применяются к самым левым переменным. Следовательно, в G' (Ро, Щ)=>(Р2, И>М-1)=ИР2, ^г). Итак, wr£L(G'), так что L(G) <= L(G'). Пусть (р0, а) = (gr0, w0) => (qu w{) =>...==> (grr, г/;г) есть вывод в G', причем wr£I,+. Тогда qt^f для всех i, 1<^л^г. Пусть целые числа 0 = i (0) <С ... <Ci(k)<Cr таковы, что qHS) = р0 и w;?(s) 6(F — E)+. Тогда из вида продукций можно заключить, что wHs)^wHS+i) в G. Так как (qiik), wHk))=$(qr, wr) содержит про- * дукции только типов (8) и (9), то wiih)=>wr в G. Следовательно, * G=$wr в G, так что L(G') c= L(G). 2. Теоремы об иерархии Теперь покажем, что существует режимный язык, не имеющий конечной степени, т. е. что XooCi Хш. Определение. Пусть каждая продукция в грамматике G = (К, V, 2, Р, р0, а) обозначена каким-нибудь абстрактным символом (именем). Заданному выводу D: (q0, wQ) =ф (qu Wi) =Ф =Ф . . , => (qri wr) можно поставить в соответствие такую последовательность jii, . . ., яг, что TCt будет именем продукции, используемой в (qt-i, Wi-i) =$ (qt, wt). Будем называть эту последовательность управляющим словом вывода D. Другими словами, вывод D реализуется управляющим словом я4 . . . яг. Если D — вывод длины 0 (т. е. г = 0), то управляющее слово для D полагаем равным 8. Для каждого п ^ 1 обозначим через A (G; п) множество управляющих слов, реализующих ^-ограниченные выводы, начинающиеся с (ро, а) и заканчивающиеся элементом из К X 2+.
Об одной иерархии между языками ИЗ Рассмотрим свойства множества A(G\ n), которые позволят исследовать порождающую способность грамматики G. Введем новые обозначения. Обозначения. Пусть G = (K, V, 2, Р, jpQ, а) —режимная * грамматика. Легко видеть, что если выводы (р, x)=$(q, у) * и (р, x)=^(qr, у') реализуются одним и тем же управляющим словом, то (q, у) = (д', у'). Поэтому для каждого слова а 6 Р* и каждого целого положительного числа п можно определить следующую функцию R7^. Пусть (р, x)£KxV+ и существует «.-ограниченный вывод (р, х)=$ . . ,=$(q, у), реализуемый а. Тогда полагаем Ra(p, z)=(q, у)- Если такого вывода нет, то считаем, что функция Ra(p, х) не определена. Заметим, что R"(p, 'х) = {р, х) для всех (р, x)£KxV+. Обозначения. Пусть G=(V, 2, Р, а) — грамматика непосредственных составляющих. Для любых u-+v£P, x£Z* и у ^V* L L* можно рассмотреть отношение xuy=$xvy. Обозначим через =ф реф- L лексивное и транзитивное замыкание для =ф. Положим L (G; L) = т * = {w\we?:*&o=>w}. Известно [13], что L (G; L) — контекстно-свободный язык для любой грамматики G непосредственных составляющих. Лемма 1. A (G; п) — контекстно-свободный язык для каждой режимной грамматики G = {К, V, 2, Р, р0, а) и каждого целого положительного числа п. Доказательство. Пусть р — режим. Обозначим через W (р) множество переменных, неприменимых в режиме р. Пусть h — гомоморфизм, определенный на F* равенствами h (£) = £ для £ 6 V — 2, ж h (а) = е для а £ 2. Покажем, что A (G; п) — контекстно-свободный язык, построив такую грамматику G' = = (V, Р, Р', о) непосредственных составляющих, что A (G; п) = = L(G';L). Пусть V = К \] {V — 2)U^U {<?}, где а — новый символ. Множество продукций Р' устроим следующим образом: 1) Если я = (р, !)-> {Qi и) € Р, то Р' содержит множество продукций вида рх\-+ nqxh(u) для любого х £ [) (W (р))\ 2) Р' содержит продукции р-> е для каждого р £ К, 3) Р' содержит начальную продукцию а-> р0а.
114 Т. Касаи Прежде всего докажем, что в грамматике G' для всякого а £Р* _ L L* Ra(Po, G) = (P, х) влечет а =4> р0о =4> aph (х). (1) Утверждение (1) доказывается индукцией по длине слова а. Если а = 8, то (1) очевидно. Предположим, что (1) верно для а, и пусть #2я(Ро, су) определено для я = (р, £)->(д, и)£Р. Тогда RaniPo, o) = Rn(K(p0, o)) = Rn(p, xly)=(q, xuy), где n- 1 x, y^V*, причем h(x)(z U (W(p)Y- Так как продукция р/г(ж)i-v г=0 -*nqh(x)h(u) принадлежит P', то в С _ L L* L a =4> p0a =ф ар/г, (л;|г/) =ф аяд/г, (яш/). Таким образом, утверждение (1) верно для всех а из Р*. Тем более оно верно, когда Д£(ро, о)6^х2+, т. е. когда a^A(G; n)» _ l* l Итак, если a^A(G\ ri), то а=фар=Фа для"] некоторого р£К* Следовательно, 4 (G; n) ^ L (Gr; L). Предположим, что щ . . . nr£L(G'; L). Тогда найдутся такие режимы g0=p0, qu ..., qr£K л такие слова х0 = о, хи ..., хг = г из (7 — 2)*, что _ L L L L L о =Ф р0о = g0£0 =Ф я^а^ =Ф . . . =Ф Я! .. . nrqrxr =ф я4 . . . яг. По индукции по t можно показать, что найдется такой элемент г/г6^+, l<i<^, что Я^. ..„. (р0, or)= (gf, яг), причем A (^) = яг. Итак, й24... яг (Ро, а) = (?г, #г) и А (г/г) = #г = 8 для некоторого yr£V*. Поэтому Я! . .. nr£A (G; п), откуда L(G'\ L) ^ A{G\ ri)> и, значит, L(G'; L) = A(G\ n). Определение. Пусть / — множество целых неотрицательных чисел, a Jm означает яг-кратное прямое произведение «/ X . . . X /. Тогда Jm — коммутативная полугруппа относительно покомпонентного сложения. Подмножество Q множества Jm называется линейным, если существуют такие элементы с, d{, . . ., ds множества Jm, что Q = {х | х = с + kidi + . . . + ksds, kt 6 /}. Подмножество Q множества Jm называется полулинейным, если его можно представить в виде конечного объединения линейных множеств.
Об одной иерархии между языками 115 Обозначения. Пусть 2 = {аи . . ., ат) и функция Ф определена на 2*, принимает значения в Jm и имеет вид ФИ=(#а,И, .-., #«тИ), где #at(w) означает число вхождений символа at в слово w. Ясно, что Ф (ад) = Ф (х) + Ф (у) и Ф (в) = (Г, где (Г - элемент из Jm, все координаты которого равны нулю. Отметим, что Ф зависит от порядка среди at, но мы будем игнорировать это обстоятельство. Хорошо известен следующий факт [14]: если L^2*—контекстно-свободный язык, то множество Ф (L) полулинейно. Теорема 3 обобщает это утверждение. Теорема 3. Если L — режимный язык конечной степени, то множество Ф (L) полулинейно. Доказательство. Пусть G=(K, V, 2, Р, р0, а) —такая режимная грамматика, что L = L(G) = L(G; n) для некоторого п^1. Пусть / — гомоморфизм Р* —>F*, задаваемый равенством /(СР> 5)-^(3» и)) = и для каждого (р, £)-*(д, и)£Р. Продолжим функцию Ф на Р, положив Ф (£) = (0, . . ., 0) для каждого 16 У— 2 s и Ф(х{ ... х$) = 2 ®(xi)i гДе xt£V. Покажем, что г=1 #2 (Ро, о) = (?, ж) влечет Ф (х) = Ф (/ (а)). (2) Будем доказывать утверждение (2) индукцией по длине слова а. Очевидно, что (2) верно для а = е. Предположим, что (2) верно для а, и рассмотрим RaniPo, <*) = Rn(P, x\y)={q, xuy). Тогда Ф (хиу) = Ф (ху) + Ф (и) = Ф (xly) + Ф (/ (я)) = = Ф(/(а)) + Ф(/(я)) = Ф(/(ая)). Итак, (2) верно для всех а. Следовательно, Ф(Ь) = Ф(L(G; n)) = {<b(w)\RZ(po, o) = (q, w)&aeA(G; »)} = = Ф {(/ (a)) | a € A (G; n)) = Ф (/ (A (G; «))). По лемме 1 4 (б1; тг) — контекстно-свободный язык. Поскольку гомоморфный образ контекстно-свободного языка контекстно-свободен [15], f (A (G; п)) — контекстно-свободный язык. Итак, множество Ф (L) = Ф (/ {A (G; п))) полулинейно. k Множество L = {а2 | к ^ 1} является контекстно-связным языком, а значит, и режимным языком. Так как {2k \ к ^ 1} не есть полулинейное множество, то L не является режимным языком конечной степени.
116 Т. Касаи Следствие 1. %ш строго содержит Х^. Следствие 2. Если L — режимный язык конечной степени, то множество х) {| w \ \ w £ L} вполне периодично 2). Следствие 3. Всякий режимный язык конечной степени в однобуквенном алфавите регулярен. Теперь покажем, что Хп — собственный подкласс класса Жп+ь т. е. что существует язык степени п + 1, который не может быть порожден никакой грамматикой степени п. Обозначения. Для каждого п~^1 обозначим через Ln подмножество {а\а\ . . . а^_2|&^1} множества {аь . . ., a4n-2}*- Теорема 4. Ln принадлежит Хп- Доказательство. Пусть Кп = {р0, ..., рп, ри ..., рп}, Sn —К, -.., «4п-г} и Vn = {o, v, %u ..., ?n}U2n. Пусть Gn = = {Кп, Vn, Sn, Р7г, р0, <?), где Рп состоит из продукций 1) (Ро, о)-+(ри Ъ&2 ...In); 2) (р*, h)-+{Pi+i, a^3ltaH), (Pii li)~*{Pi+l, «4i-2?^4i-l)i {Pu Ь)-+{Рш, аы-гЧь-\), где i = l, 2, ..., /г —1; 3) (pn, gn)-^(pi, a4n_3^v), {Рп, Ъп)-+(Ри «4n-3V), (Pn, v)->(pA, a4n_2). Ясно, что для каждого k^l можно указать такой вывод: (Ро, ст) =$ (Pi, 5i& • • - 5п) =^ (Рг, я&я^а - • - In) =Ф .. • n* n-l#4rc-4fen) =Ф . / ftv ft ft *. ft ft—1 *. h—1ч =>\Pn, #l£l#4 • • • #4n-76n-l#4n-4#4n-3SnV ) =^> П * i. i. i. и и ,П* v/ ft ?. ft h *■ ft Л «\v =MPlt #lbl#4 • • • ^4n-7Sn-l«4n-4^4n-3v ) => n* v / Л ft ft ft ft „ft ft \ =^(Pi, а\а2аза!к .. . а4п-з#4п-2)- Очевидно, что выводы только такого вида могут порождать слова в терминальном алфавите. Итак, L (Gn) = L(Gn;n) = Ln. х) | м; | означает длину слова w. 2) Множество (? неотрицательных целых чисел называется вполне периодическим, если оно полулинейно.
Об одной иерархии между языками 117 Покажем теперь, что Ln+i не принадлежит Хп. Для этого потребуется ряд определений и лемм. Определение. Пусть G = (К, V, 2, Р, р0, о) — режимная грамматика. Обозначим через # (и), где и £ У*, число вхождений переменных в и. Пусть функция р определена на Р*, принимает целые значения и имеет вид Р {(Р, Ъ)-+ (?, и)) = # (и) — 1 для всех (р, |)-> (д, и) £ Р, Р (е) = О, р (jii . . . лГ) = р (лО + . . . + р (лг), тсг 6 Р- Назовем р (а) весом слова а, а £ Р*. Из этого определения вытекает Лемма 2. ЕслиВ.Цр, х) — (д, у), то# (у) = # (х) + р (а). Лемма 3. Пусть G = (К, V, 2, Р, р0? °") — режимная грамматика. Если множество A (G; п) бесконечно, то в нем содержится управляющее слово а1р1а2Р2аз, которое удовлетворяет следующим условиям: а) Р1р2=7^£, о^Рк^Ргосзб^ (G; п) для всех /с^О; б) Р(т)^0 для всех Y€ init(Pi); в) Р(т)^Р(Рг) для всех Y(4nit(P2). Здесь init (P^) означает множество начальных подслов1) слова pf. Доказательство. По лемме 1 язык A (G; га) контекстно- свободный. Поэтому найдется такое слово 6^A(G; п), что б = аЗ^гРг^з» причем Р1Р2 =т^ £ и а^^гРг^з принадлежит 4 (G; ?г) при всех /с^О [15]. Обозначим через р,:, £=1, 2, такое начальное подслово слова Pj, что p(PJ) = min{p(T)|T6init(pf)}. Положим рг = Р1Р1. Ясно, что ctipi (PIPi)h Pi«2p2 (PaPi)fe Ргаз принадлежит A(G; n) для всех к^О, причем Pi'PiPsP^^8- Для завершения доказательства достаточно показать, что Pi'P^ и р^Р^ удовлетворяют условиям (б) и (в) соответственно. Пусть у — произвольное начало слова P^Pi- Допустим, что у — начальное подслово словаре Тогда $[у — начало слова Pi=P[P'i. Из минимальности р (Pi) вытекает р (Р2т) = р (Р±) + р (y)^P (Pi)- Итак, p(y)>0. Пусть у —начальное подслово слова pjpj, но не начало слова Р'^. Тогда y = PiT' и PJ = yY' Для некоторых у', у'^Р*. Поскольку г) у называется начальным подсловом слова Р, если р = уа для некоторого а 6 Р*'
118 Т. Касаи /?~ о,(о„р,чЬ (Ро, о) определено для всех к, из леммы 2 вытекает, что p(aiPi) + &p(Pi'Pi) + 1^0 для всех /с. Следовательно, р(р;'р;)=-р(р;')+р(т,)+р(т,,)-=р(т)+р(Л>о. Так как р ф[) = р (y') + P(y"Xp(y')» to Р(УХ°- Итак, р(у)>0, и условие (б) выполнено. Пусть б — произвольное начало слова РгРг- Допустим, что б — начало слова Pg. По лемме 2 р (а4р;) + йр (р;ю + р (Р>2р;) + /Ф (р;р;) + Р (р;'а3) = -1 для всех ft^O. Следовательно, р (РгРг)^ ~Р (PiPi)^O- Так как Р^б — начальное подслово слова р2 = Р^', то р (PgS) = р (Р^) + р (б)^ ^р(Рз). Итак, р(б)^>0. Поэтому р (КР^^О^р (б), так что условие (в) выполнено. Пусть б —начальное подслово слова р^, но не слова Pg. Тогда 6 = р;б' и Р;=б'б", и так как p(K) = p(6/) + p(SXp(8'). ™ Р (^")^0. Поэтому р (РзРа) =Р (б) + р (б")^р (б), так что условие (в) выполнено. Лемма 4. Пусть L g= а*а* . .. а™ — произвольный режимный язык степени п. Если L бесконечен, то Ф (L) содержит такое линейное множество {х\х = c-\-kd, ft^O}, что d^0m, причем d имеет менее in + 2 ненулевых координат. Доказательство. Пусть G = (K, V, 2, Р, р0, а) —такая режимная грамматика, что L = L(G) = L(G; n). Пусть h — гомоморфизм, определяемый равенствами h(£)) = e для всех |£V—S и h(a) = a для всех а £2. Пусть функция Ф та же, что и в теореме 3, и пусть #(w) — число вхождений переменных в w. По лемме 3 существует управляющее слово а^^гРг^з^ удовлетворяющее условиям (а), (б) и (в) леммы 3. Так как a$ia2§\az^A{G\ n) для всех ft^>0, то Из доказательства теоремы 3 следует, что если Д* „и ап„ (р0, сг) = а1Р1 а2Р2аЗ = (qk, wk), то Ф (wk) = Ф (/ (а^о^аз)) = Ф (/ (aAa2a2)) + /сФ (/ (р^)). Итак, {х\х = Ф(1(а1а2а3)) + кФ(}(Ш), к^0}<=Ф(Ь).
Об одной иерархии между языками 119 Для того чтобы показать, что Ф(/(р1р2)) имеет не более 4^ + 1 ненулевых координат, рассмотрим два случая. Случай 1. Допустим, что p(Pi)>0. Тогда р(р2)=: = — p(Pi)<0. Таккакр(аАр^)^п, то Ra $п (р0, от) содержит более п вхождений переменных. Пусть ^а^п(Ро, сг) = (д1, х^х2 .. . х1г%пхп+1), тде qi£K, xu ..., я» 6 2*, xn+i^V* и £г£У —2. По условию (б) ^а $пу(р0, а) для каждого слова у £ init (Pf) содержит не менее nJr#(xn+i) вхождений переменных. Таким образом, функция -Rftfe((Zi» li • • • In) определена для всех /с^О. Тогда существуют такие g2, д36#, У и ••, Уп£%* и yn+i, zt, ..., zneV*, что Ярд (3i» £i • • • In) = R^ (fe */ivi*/2 • • • ^7iVnyn+1) = Следовательно, существует такая последовательность целых чисел 1^7i^ •• «^/гп^^» что h(zt)^a*2. а*2. для всех &. (Допустим, например, что A(zz-) содержит подслово atiat2at3, ^1<^2<^з» 5>>0. Символ at2 входит в некоторое слово yt, поскольку Ф (#4, .. ., yn+i) = = Ф (zt ... zn) = Ф (/ (р4)). Тогда в слове да4 .. . ynznyn+i либо некоторое вхождение af2 предшествует вхождению a%v, либо некоторое вхождение а%ъ предшествует вхождению af2. Это противоречит тому, что h (у& ... ynznyn+i) 6 а* . .. о£.) Итак, й (z4 . .. z7l) 6 ^a*j ... а*2п и Ф(/(Р4)) имеет не более 2п ненулевых координат. Пусть 5 = — р (Р2) ( = р (РО) и Ra fin+2s \P0i ОТ) —\Q_ii #lfel • • • %n+2sbn+2s%n+2s+l)i где д4бЛГ, ^, ..., zn+2s6 2*, sn+2s+i€^* и li, ^.., |"71+2s 6 ^ — 2. По условию (в) леммы 3 значение Д32 (g4, |i .. . |n+2s) определено. Таким образом, найдутся такие q2, q^^K, Уь ••-, */n+i6 2*, \i4 v2, .. ., vn 6 F — 2 и zA, . .., zn+16F*, что #Pg((Zl> £l • • • Sn+2s) = ^p2(g2, г/iVi . . . ynVnyn+iln+s+l • • • £n+2s) = = (03, Z/l^l • • • Уп^пУп+^n+l)' Следовательно, к{у^ . .. ^z^n+iZn+i)6< ... а*, и Ф (/ (P2)) = Ф (»i - - • »n+i) = Ф (*i .. . In+i). Отсюда вытекает, что найдутся такие числа 1^г4^ ... ^r27l+i^ <ти, что h fa) 6 а*21_{а*21 Для 1<^<?г и h (zn+i) £ df2n+i. (Предположим, например, что A(zn+1) содержит подслово atlat2, ti<Ct2.
120 Т. Касаи Поскольку at2 входит в некоторое yh слово h (у&{ ... yn+tZn+i) содержит некоторое подслово вида at2uatiat2, что невозможно.) Итак, h(Zi . .. zn+i) £ а* ... а*2 , и, значит, Ф(/ (р2)) имеет не более 2п+1 ненулевых координат, так что Ф (/ (PiP2)) = Ф (/ (Р0) + + Ф(/(Р2)) имеет не более Ап+1 ненулевых координат. Случай 2. Положим р(р4) = р (р2) = 0. Пусть Ra± (Ро, ОТ) = (?i, #i£i . . . XslsXs+l), где s = min(n, p(aA) + l), Хь ..., ^s£2*, ^+16^* и £4, ..., £s£ 6^ — 2. В силу условия (б) функция Rnk (q^ ?i • • • 5s) определена P 1 для всех /c^l. Таким образом, существуют такие q2, q^^Kr уи ..., z/s£2* и у8+и Zi, ..., zs6F*, что Щ (?i» Ei... Ы = Дрх (д2, умуг ••. ysVsijs+i) = (g3, 2/^12/2 • • • yszsys+i). Тогда найдутся такие числа l^/i^ . .. ^/2s^^, что h(zt)£ ^ahi-ia*2i для 1^^5- Итак, Ф(/(р1)) = Ф(г1 .. . zs) имеет не более 2п ненулевых координат. Аналогично Ф(/(Р2)) имеет не более 2п ненулевых координат. Следовательно, Ф^Р^)) имеет не более in ненулевых координат1). Теперь можно перейти к главному результату этого раздела. Теорема 5. Z/n+1 не принадлежит %п. Доказательство. Допустим, что язык Ln+i = {a% ... • • • a4n+21 k^ty имеет степень п. По лемме 4 в Ф (Ьп+/) содержится линейное множество Q = {x\x = (ci, ..., c^n+2) + k(di, ..., d4n+2), &>0}, причем dt — 0 для некоторого i и dj Ф 0 для некоторого /. Так как Q<=®(Ln+i) = {y\y = (l, ..., 1) + Л(1, ..., 1), к>0}, то ci-{-kdi = Cj-}-kdj для всех /с^О, что невозможно. 3. Хп является абстрактным семейством языков (AFL) В этом разделе мы покажем, что для каждого целого положительного числа п класс Хп является AFL. Определение. Режимная грамматика G= (К, V, 2, Р, р0, а) называется приведенной, если каждая ее продукция имеет один х) В доказательстве леммы 4 отсутствует обоснование того, что d Ф 0т. Для того чтобы восполнить этот пробел, надо в доказательстве леммы 3 воспользоваться результатом не из [15], а более общим результатом Огдена {Math. Syst. Theory, 2 (1968), 191—194), который позволит избежать случай,, когда ^ и р2 состоят из одних только правил с продукциями вида А -> Ву где А и В — вспомогательные буквы.— Прим. перев.
Об одной иерархии между языками 121 из видов (а) (/?, £)-> (q, vt) или (б) (р, £)->■ (д, ж), где р, q £ К; g,v, тe f — 2 п^ег. Две режимные грамматики G и С называются (сильно) эквивалентными, если L (G; п) = L (G'; п) для всех тг ^ 1. Лемма 5. Для каждой режимной грамматики G существует эквивалентная ей приведенная грамматика G'. Доказательство леммы 5 очевидно. Используя стандартную технику, можно преобразовать режимную грамматику G в такую приведенную грамматику G', что L (G; п) = L (G'; п) для всех п > 1. Определение. Недетерминированным г-свободным преобразователем (сокращенно 8-свободным NFT) называется шестерка М = (£, 2, Д, 6,*0, **), где 1) S — непустое конечное множество состояний; 2) 2 и А — конечные множества входных символов и выходных символов соответственно; 3) s0 £ S — начальное состояние; 4) F ^ S — множество заключительных состояний; 5) б — отображение из S X 2 X S в некоторое множества конечных подмножеств множества Д+. Отображение б можно продолжить до отображения б множества S х 2* х S в множество А*, если для всех s£S, sr ^S, x£2* и у £2 задать б равенствами a) 6(s, e, s) = {e}; 6) 6(s, zy, 5')= U 6(s, *, *")«(*", 2/, ^'). По определению 6(s, 8, §')Ф0 при s^s' и б (5, #, s') не содержит 8, если х фг. Преобразователь М индуцирует ^-свободное NFT-отображение из 2+ в Д+, определяемое равенством M(w)=\J 6 (*о, w, s) для всех w £ 2+. Теорема 6. Каждый класс Хп замкнут относительно* г-свободного NFT-отображения. Доказательство. Пусть G = (if, V, 2, Р, р0, а) — приведенная режимная грамматика, аМ= (S, 2, Д, б, s0, F) обозначает 8-свободный NFT. Будем строить такую режимную грамматику G', что L (G'; п) = М (L (G; п)) для всех п ^ 1. Положим V = S X (V-2)xS[]{o}[)A. Пусть G' =(K, V\ AtP',p0,o)r причем Р' определяется следующим образом:
122 Т. Касаи 1) Р' содержит исходные продукции (р0, о) -> (р0> ($о> сг, s)) для всех s 6 F; 2) если Р содержит продукцию (р, !■) ->(#, vt), to P' содержит (р, (s, £, $')) ~> (g, («, v, 5") (s", т, 5')) для всех 5, s', s" £ 5; 3) если Р содержит (р, |) -> (g, v), где v £ F — 2, то Р' содержит (р, (5, |, 5')) -> (g, (s, v, 5')) для всех s, s' 6 5; 4) если Р содержит (р, £) -> (#, а), причем б (s, а, s') содержит г/, то Р' содержит (р, (s, |, s')) -> (g, г/). Прямым доказательством индукцией по длине вывода получаем, что _ 1 п* (Ро, 0Г)=»(Р0, («о, ОТ, *2r+l))=> n* =ф(р, Ц)0?1, El, 52)И4 • • • Ur-i(S2r-i, Ъг, S2r) Mr), Г>0, Щ £ A*, тогда и только тогда, когда найдутся такие хо, ..., #г£2*, что ^ € б(^2г, ^j, %+i) для каждого i, О^г^Сг, и в G существует вывод п* (Ро, 0~)=>(Р, ^oSi^i • • • Xr^lrXr). 71* Итак, в грамматике G' имеется вывод (р0, G)=>(p, и), г/£Д+, р^К, тогда и только тогда, когда в грамматике G имеется вывод п* (Ро, а)=^(Р? %)i где х£2>+ и S(s0, ж, 5) содержит и для некоторого sg/'1. Следовательно, L(G'; n)=M(L{G\ n)) для всех /г^1. Если грамматика G имеет степень п, т. е. L (G; п) = L (G; т) для всех т ^ п, то С также имеет степень ?г. Теорема доказана. ■''1 Следствие 1. Классы Хп замкнуты относительно г-сво- бодного гомоморфизма. Следствие 2. Классы Хп замкнуты относительно пересечения с регулярными множествами. Теперь приведем несколько лемм, которые позволят доказать, что классы Хп замкнуты относительно обратного гомоморфизма. Доказательство леммы 6 основано на технике, используемой в [10]. Лемма 6. Пусть символ с не принадлежит 2. Пусть h — гомоморфизм, определенный равенствами h (а) = а для а £ 21 и h (с) = 8. Если L ^ (с2+) + — режимный язык степени п, то h (L) — режимный язык степени п. Доказательство. Пусть дана такая приведенная грамматика G = (К, V, 2 U {с}, Р, р0, а), что L = L (G) = L (С; п). Поскольку | w | 2^ 2 для всякого w £ L, можно предположить,
Об одной иерархии между языками 123 что Р не содержит продукций вида (р0, а) -> (q, я), где | х | = 1. 4 Введем новый символ [х] для каждого х 6 U V . Для каждого i=2 р 6 К и каждого £ 6 F—2 обозначим через #(/?, Ю множество таких пар (х, г/), что 1 ^ \ ху | ^ 2, #, г/ £ F*, причем л; не содержит переменных, применимых в режиме р. Положим У' = 2 U {с, a}u{[*]|*e U У% г=2 Пусть G' = (К, V, 2, i5', р0, а)> где Р' определяется следующим образом: 1) если (ро, o)-^(q, и) принадлежит Р, то (р0, сг)->(д, [и]) принадлежит Р'; 2) если (р, £)->(д, г/) принадлежит Р, то для каждого (х, у) £ €#(р, |) продукция (р, [лтЕу!) —>- (д, [хиу]) принадлежит Р'\ 3) для каждых л;, у £ F2 и р 6 К продукция (р, [а#]) -> (р, [ж] [г/]) принадлежит jP'; з 4) если к(х)фг и о:6 U (2 U {с})\ то Для каждого pgZnpo- г=2 дукция (р, М)->(р, й(#)) принадлежит Р'. Очевидно, что G' имеет степень п и h(L(G)) = L(Gr). Лемма 7. Для каждой режимной грамматики G=(K, V, 2, Р, ро, о) существует эквивалентная ей режимная грамматика Gr — (K\ V, 2, Р\ ро, а') со специальным режимом f(:K', обладающим следующими свойствами: * а) если (р0, а')=Ф(/, х), то #6 2+; * б) если (ро, а') =ф (р, х) и рФ^, то найдется такой элемент (q, y)eK'xV\ что (р, я)=Ф(д, г/). Доказательство. Пусть /, d, с, $ и а — новые символы. Положим К"=К U {/, ^} и V" = V U {$, а, с}. Рассмотрим грамматику G" = (K", V", 2 [J {г}, Р", р0, а), где •совокупносьт продукций P,,~Pi U ^2 U ^з состоит из множеств Pt = PU {(Ро, °)-+(ро, <*$)}; Рг = {(Р, $)-+(*, $)\ptK} U {(d, l) + (d, i)||6F-S}; Р> = № $)->(/, с)}. Продукции из Pi позволяют дублировать вывод в грамматике G — * так, что вывод (р0, а)=^>(р0, а$)=Ф(р, w$) с помощью правил
124 Т. Касаи из Pi соответствует выводу (р0, а) =Ф (р, w) с помощью правил из Р. Когда ни одна продукция из Р{ не применима к (р, w $), можно применить продукцию из Р2 и проверить, входит ли w в 2 +. Если да, то можно применить продукцию из Р3, чтобы заменить w $ на wc и закончить вывод. Если же г# не входит в 2+, то вывод не может быть окончен. Ясно, что L (£"; п) = = L (G; п) с для всех п ^ 1. Используя стандартную технику леммы 6, можно построить требуемую грамматику G' по грамматике G". Теорема 7. Пусть язык L ^ 2 + принадлежит Хп и т — такая подстановка *), что т (а) £ <2?т для каждого а £ 2. Тогда т (L) принадлежит Хп+т-\. Доказательство. Пусть L = L(G) = L (G; тг) для грамматики G = (K, У, 2, Р, ро> а). Для каждого а£2 обозначим через Ga = (i£a, ^a, 2a, Pa, Pa, оa) такую режимную грамматику, что т (а) = L (Ga)= L (Ga; га). Можно считать, что в каждой грамматике Ga есть специальный режим /а, удовлетворяющий условиям леммы 7. Пусть h — гомоморфизм, определенный равенствами h(a) = oa для всех а£2 и А(£) = £ для всех ££У —2. Пусть £' = (£', Г, 2', Р', р0, а), где я' = я и ( U кхка), v = v и ( U va), ъ'= и ?а и система правил такова: P'={(q, £)-*(?', h(u))\(q, t)-+(q',u)eP} U U {((q, p), V)-+((q, p'), u)\q£K, (p, t)-+(p', u) 6 U Pa} U U {(g, aa)->((g, Pa), aa)|a6 2, g€#} U U {((g, /a), 6)-*(?> Б)|?€Я, EeV-S', «62}. Ясно, чю т (L) = L (С; rc + m — 1). Следствие 1. Класс X™ замкнут относительно подстановки. Поскольку {а} [} {Ь}, {ab} и а+ — режимные языки степени 1г справедливо Следствие 2. Для всех п классы Хп замкнуты относительно операций •, |J и +. В работе [12] показано, что всякий е-свободный класс языков, замкнутый относительно пересечения с регулярными множества- х) Пусть 2 и А —конечные множества,' а т (а) для каждого а £ 2 означает некоторое подмножество множества А*. Если т (е) = е и т (ху) = = т (ж) т (г/), то т называется подстановкой.
Об одной иерархии между языками 125 ми, оподстановки г) и /с-ограниченного стирания 2), замкнут и относительно обратного гомоморфизма. По теореме 7 класс Хп замкнут относительно ^-подстановки. Повторным использованием леммы 6 можно показать, что класс Хп замкнут относительно ^-ограниченного стирания. Таким образом, справедливо Следствие 3. Класс Хп замкнут относительно обратного гомоморфизма. Замечание. Сформулируем две открытые проблемы (предложенные рецензентом данной статьи): а) Содержится ли класс односторонних стековых языков в классе J5oo? To же относительно контролируемых автоматных языков (checking automata) 3). б) Пусть h — произвольный гомоморфизм и L £ <2?оо. Принадлежит ли язык h (L) —{е} классу jgoo? СПИСОК ЛИТЕРАТУРЫ 1. Rosenkranlz D. J., Programmed grammars and classes of formal languages, /. Assoc. Comput. Mack., 16 (1969), 107 — 131. (Русский перевод: Розен- кранц Д., Программные грамматики и классы формальных языков, Сборник переводов по вопросам информационной теории и практики, изд-во ВИНИТИ, М., 16 (1970), 117—146.) 2. Abraham S., Some questions of phrase structure grammars I, Сотр. Ling., 4 (1965), 61-70. 3. Brainerd В., An analog of a theorem about context-free languages, Inform, and Control, 11 (1968), 561—567. 4. Greibach S., Hopcroft J., Scattered context grammars, /. Comput. Syst. Sci., 3, 3 (1969), 233—247. (Русский перевод готовится к печати в сборнике «Языки и автоматы», изд-во «Мир».) 5. Fris I., Grammars with partial ordering of the rules, Inform, and Control, 12 (1968), 415—425. (Русский перевод: Фриш И., Грамматики с частично упорядоченными правилами, Сборник переводов по вопросам информационной теории и практики, изд-во ВИНИТИ, М., 16 (1970), 159 — 168.) 6. Moriya E., State grammars, ordered grammars and matrix grammars (но опубликовано). 7. Ginsburg S., Greibach S., Abstract families of languages, Memoirs of Amer. Math. Soc, № 87, 1968, pp. 1—32. (Русский перевод готовится к печати в сборнике «Языки и автоматы», изд-во «Мир».) 8. Гинзбург С, Математическая теория контекстно-свободных языков, изд-во «Мир», М., 1970. 9. Ginsburg S., Spanier E., Control sets on grammars, Math. Syst. Theory, 2 (1968), 159 — 177. 10. Ginsburg S., Greibach S., Mappings which preserve context-sensitive languages, Inform, and Control, 9 (1966), 563—582. (Русский пере- x) с-подстановкой называется такая подстановка на 2*, что т (а) = с*ас* для всех а £ 2, причем символ с не принадлежит 2. 2) Класс языков X называется замкнутым относительно /с-ограниченного стирания (к — целое), если для всякого языка L'S { ас1 \ а £ 2, 0 <! i ■< /с}*, принадлежащего X, имеем h (L) g X, где h (с) = 8 и h (a) = а при всех a g 2, при этом предполагается, что с не входит в 2. 3) Эти языки рассматривались Шейлой Грейбах в /. Comput. Syst. Sci. .3 (1969), 196—217. —Прим. перев.
126 Т. Касаи вод: Гинзбург С, Грейбах Ш., Об инвариантах класса КС-языков относительно некоторых отображений, Кибернетический сборник (новая серия), вып. 5, 1968, изд-во «Мир», М., стр. 167—188.) 11. Kuroda S. Y., Classes of languages and linear-bounded automata, Inform* and Control, 7 (1964), 207—223. 12. Greibach S., Hopcroft J., Independence of AFL operations, Memoirs of Amer. Math. Soc, № 87, 1968, pp. 33—40. 13. Matthews G. H., A note on asymmetry in phrase structure grammars,. Inform, and Control, 7 (1964), 360—365. (Русский перевод: Мэтыоз Д. Г., Разрывность и асимметрия в грамматиках непосредственных составляющих, сб. «Математическая лингвистика», изд-во «Мир», М., 1964, стр. 150—159.) 14. Parikh R. J., On context-free languages, /. Assoc. Comput. Mach., 13 (1966), 570—581. 15. Bar-Hillel Y., Perles M., Shamir E , On formal properties of simple phrase structure grammars, Zeit. Phonetik Sprachwiss. Kommunikat., 14 (1961)» 143—172.
III. АКСИОМАТИЧЕСКОЕ ОПИСАНИЕ СЛОЖНОСТИ ВЫЧИСЛЕНИЙ И АЛГОРИТМОВ ОБ ЭФФЕКТИВНЫХ ПРОЦЕДУРАХ ДЛЯ УСКОРЯЮЩИХ АЛГОРИТМОВ *> М. Блюм В данной работе исследуется структура ускорений. Пусть / — произвольная рекурсивная функция. Оказывается, что не существует эффективной процедуры перехода от одного алгоритма для / к другому алгоритму для /, работающему быстрее на всех аргументах, кроме конечного множества. С другой стороны, для широкого класса функций / можно эффективно переходить от любого алгоритма для / к другому, работающему быстрее по крайней мере на бесконечно многих значениях аргументов. Наконец, если есть алгоритм для данной функции / и алгоритм, работающий быстрее при всех значениях аргументов, кроме конечного множества, то можно получить псевдоускорение: существует очень быстро работающий алгоритм, вычисляющий некоторый вариант функции, отличающийся от исходной только на конечном множестве аргументов. Введение Для любой достаточно сложной функции / и произвольной машины Тьюринга, вычисляющей /, можно построить другую машину Тьюринга для вычисления /, работающую на почти всех значениях аргумента в два раза быстрее. Эта машина просто будет располагать большим рабочим алфавитом и будет кодировать каждую пару символов, используемых исходной машиной Тьюринга, одним символом. Подобная теорема об ускорении довольно тривиальна 2). Тем не менее возникает интересный вопрос: возможны ли большие ускорения? Частичный ответ был дан Хартмаписом и Стирнзом [1]. Они показали, что существуют сколь угодно сложные функции, вычисление которых не ускоряется даже «в корень квадратный раз», т. е. некоторая машина х) Blum M., On effective procedures for speeding-up algorithms, /. Assoc. Сотр. Mach., 18, № 2 (1971), 290—305. 2) Г. С. Цсйтин доказал аналогичную по формулировке теорему для нормальных алгоритмов.— Прим. перев.
128 М. Блюм Тьюринга вычисляет функцию за F (х) шагов и нет машины Тьюринга, вычисляющей эту же функцию за YF (х) шагов. С другой стороны, было доказано, что существуют другие функции, обладающие тем свойством, что если данный алгоритм вычисляет функцию, скажем, за F (х) шагов, то есть другой алгоритм, вычисляющий ту же функцию всего лишь за G (х) шагов, причем G (x)G^x) <CF (x). Этот результат появился в статье Блюма [2], более сильные результаты такого же рода приводятся в работах Мейера и Фишера [3] и Янга [4]. Наша цель состоит в том, чтобы доказать, что для функций второго типа невозможна эффективная процедура перехода от одной машины Тьюринга для данной функции к другой, вычисляющей ту же функцию быстрее, чем «в корень квадратный раз». 1. Предварительные определения Для п ^ 1 обозначим через Rn (Pn) множество всех общерекурсивных (частично рекурсивных) функций, отображающих N X N X . . . X N (п раз) в N. Здесь N — множество всех неотрицательных целых чисел. Пусть (фг, O^ILo — последовательность пар функций из Р\. Последовательность (фг-, Фг-)^о будем называть допустимым классом машин, если последовательность (фг)?1о представляет допустимую гёделеву нумерацию класса Р^ [5], а последовательность частично рекурсивных функций (Oj)iLo удовлетворяет аксиомам Блюма [2]: 1. Функция q>i(x) определена <=> функция Ot(x) определена. 2. Существует такая функция M£R3, что Г 1, если фг(х) = у, M(U х, у) = { А { 0 в противном случае. Интуитивно, Фг- (х) — это число шагов вычисления функции ф^ (х). Поэтому мы будем писать Ф^ (х) <оо, если функция Ф; (х) определена, и Ф^ (х) = оо в противном случае. Естественно считать, что каждая функция ф^ вычисляется с помощью программы на некоторой идеализированной вычислительной машине. В этом случае число i служит кодом программы. Однако в наших примерах будет употребляться более конкретный класс машин, чем абстрактные программы для вычисления функций ф^. Будут использоваться многоленточные машины Тьюринга с произвольным рабочим алфавитом и с двоичным алфавитом ввода-вывода. Двоичное представление аргумента х записывается вначале на одной из лент, и результат ф^ (х), если машина остановилась, считывается с этой же ленты. Фг (х) — число шагов вычисления значения ф^ (х). Шаг состоит в единичном
Об эффективных процедурах для ускоряющих алгоритмов 129 изменении состояния, когда каждая из головок, по одной на каждой ленте, обозревает клетку ленты под ней, печатает символ и сдвигает ленту влево или вправо либо оставляет ее на месте. оо Символом V# будем обозначать выражение «для почти всех х», оо т. е. для всех х, кроме конечного множества, а символом Зх— выражение «существует бесконечно много х». Заметим, что для оо оо любого предложения S выполняется П V# S = Зх ~~\S. Пусть r£R2. Функцию ф7- назовем r-ускорением функции фг, если ф7- = cpj и со V*[r(s, Ф](х))<^Фг(х)]. (Здесь мы для удобства считаем, что оо ^ оо.) Пусть / 6 i?i и г £ R2. Будем говорить, что любая программа для функции f r-ускоряется, если Vi (фг- = /) 3/ [функция ф7- есть г-ускорение функции фг]. Пусть г, h £ Rn. Запись г ^ h означает, что г (#ь . . ., хп) ^ ^ h (хи . . ., хп) для любых ^!, . . ., хп. Для любого предложе- ния S выражение «для любого достаточно большого г £ Rn [S]» будет пониматься так: (ЭйеДп)(УгбДп)[г>Л=ф5]. Выражение «существует произвольно большое г £ Rn [S]» будет пониматься так: {4heRn)(lreRn)[r^h&S]. Нам потребуется определение машинной независимости: предикат на классах машин называется машинно-независимым, если он истинен на всех допустимых классах машин или ложен на всех таких классах. В общем имеется по крайней мере два способа доказательства машинно-независимых теорем. Первый способ связан с использованием изящных методов теории рекурсивных функций. Второй подход состоит из двух этапов. Сначала доказывается, что теорема машинно-независима, затем устанавливается справедливость теоремы ля конкретного класса машин. Хотя автор предпочитает теоретико-рекурсивный подход, но, чтобы продемонстрировать второй из названных способов и указать возможные пути решения задач в этой области, мы докажем теорему 2 с помощью двухступенчатой процедуры. 2. Основная теорема Здесь нам потребуется некоторое обобщение теоремы Клини о рекурсии. Сначала напомним формулировку этой теоремы, а затем докажем ее обобщение. 9—01321
130 М. Блюм Теорема 1А (теорема о рекурсии) ЭТ) 6 #2VI, б £ TV [фт,(г, С) = ффв(1-, Л(г, ,))]• Замечание. Считается, что значение ффе(г, Л(г, е» не определено, если не определено фе(г, r\{i, e)). Доказательство. Пусть s 6 R3 — такая функция, что Фв(г, х, iy) (z) = фг (#, *Л 2) Для любых чисел г, ж, г/, z. Подобная функция существует в силу теоремы итерации (^-теоремы) [5]. Зададим такую функцию o£Ru что о(е) — помер функции, переводящей числа i, у, х в ффе(г, S(y, г, у))(х)- Тогда фаСе)(г, г/, х) = = Ффе(г, s(y, г, у)) (#) для любых чисел е, г, ж, г/. Следовательно. ф5(а(е), г, 1У) (#) = ффе(1, s(j/, г, у)) (#) для любых чисел е, г, х, у. Положим т) (i, e) = s(o (e), i, о (е))* Тогда ФтКг,е)!И = фсге(г,л(»,"))(л;) для любых чисел £, е, ж. Теорема 1В (обобщенная теорема о рекурсии). Зг], h^R^ такие, что h монотонно возрастает по второму аргументу и Vi, e^N Фт)(г, е) = ффе(1, л (г, е)), (1) оо Уя[Фт,(г,в)(я)</ф, ФФ,(г, Т!(г, «>)) И)Ь (2) VX [Ф^г, е) (^)>Ффе(г, Т)(г, е)) (*)]■ (3) Доказательство. Определимому?! так, чтобы ( не определено, если или q)e(i, s(y, i, z/)), или ще(и s{Vt it у)) (х) не определено, Фа(е)(1,2/,ж) = { Ффв(г,8(у,7,у))(ж), если oo>Osa,,ifl/)(z)> ^Ффе(г, s(?/, г, у))(#)т не определено, если Ф8(Уэ ^ ^ (ж) <С <ФФе(г, 8(у, i,t/))(s)<°°-
Об эффективных процедурах для ускоряющих алгоритмов 131 Согласно теореме итерации, фа(е) (£, у, х) = <р8(а(е), \% у)(х)- Положим tj(j, e)=s(o(e), i, о {е)). Тогда t|6^2- Кроме того, ( не определено, если или сре(£, Tj(i, <?)), ИЛИ фФе(г, т)(г, е)) (ж) не определено, = Фа<е> (*,*(*),*) = Фф<(г,т)(г,с0)(*), если оо^Ф^,,)^)^ >ФФе(г, Т)(г, е))(*), не определено, если Ф^г, е) (#) <С < ФФе<1, ПО, е)) (^) < °°, поэтому ( не определено, если или фе(г, т) (&', е)), ИЛИ фФв(г, Т)(г, «?)) (^) Фтк», е) (ж) = | не определено, e(U Т1(г, е)) (*), еСЛИ Ф^, е) (я) > ^ФФе(*, ri(i, <?))(#), так как неопределенность фТ)(^ е) (л;) противоречит неравенству Фт)(г,е)(£)<°°. Итак, УСЛОВИЯ (1) И (3) ВЫПОЛНЯЮТСЯ, Т. е. Фп(г, е) = Ффв(г, Л(г> <0) и Vn [фл(1э е) (о:) определено => Ф^ е) (я) > Ффе(г, Л(г, е» (#)] соответственно. Чтобы доказать, что условие (2) также выполняется, зададим p^Rb\ {Фтк*, е) (я), если Фе (i, Ti (i, е)) = у И ФФе(>, Ti(i, c))(x)=Z, О в противном случае. Зададим h£R2 равенством /г(о:, z)= тьх{р(х, i, е, г/, м;) | г, е, у^.х& w^.z}. Тогда ft(^, ФФв(1, т)(1, в» (ж))^Фл(ь О (ж) Для Л1°бого числа х^i, в, 0P(i, Y](i, е)). Осталось заметить, что /г монотонно возрастает по второму аргументу. Пример. Пусть (ф,-, Фг)По — класс машин Тьюринга, описанный во введении. Для этого класса в качестве функции h из обобщенной теоремы о рекурсии достаточно взять h (x, у) = = с (х + г/2), с = const. Неформальное доказательство состоит в следующем. Число г\ (£, ё) есть номер машины, которая сначала печатает число г, затем свой номер г] {i, e) на одной из лент, а затем вычисляет фс (г, r\ (i, е)). Для этого потребуется с4 шагов, 9*
132 М. Блюм причем Ci £ N не зависит от аргумента х. Потом машина моделирует вычисление ФФв(г, ткг,е)) (#)• Для этого потребуется не более ^2 (х + №фв(г,т)(г,е)) (#)] 2), шагов. Здесь появляется квадрат, так как приходится моделировать дополнительные ленты. Итак, Фт](г, е) (X) < С (X + [ФфЛ ^, е)) (х)]2). Следствие. Пусть h£R2 — функция из обобщенной теоремы о рекурсии. Тогда 4a£Rilk£N такое, что Щ = Ч><нк), (4) У*[Ф*(*)<Л(*, Фо<*>(*))Ь (5) У^[Ф,И^Фа(/оИ1. (6) Доказательство. Выберем такое число е £ N, что Фе (0? и) == G (п) Для любых чисел п. Положим к = т) (0, е). Для такого числа к соотношения (4) — (6) выполняются. Лемма. 3h, v^Rt такие, что V/ 6iV [фг(л 6 Й1&фу<7) принимает значения только 0 г/ 1], (7) Vs>7№vtf> (*)<&(*)]■ (8) Кроме того, если ф^б-йь иго для- бесконечно многих х Фгш И=1; (9) ес./ш Xi <#2 <• • •— последовательность таких чисел х, что Фv(/) (#) = 1» ^° для- все% членов Xi этой последовательности <bJ(xl)<xM. (10) Доказательство. Пусть v (/) — номер следующего набора инструкций: Если х = 0, то выдать 1. Если 0 <£ <1 + Ф./ (0), то выдать 0. В противном случае разыскать наибольшее из чисел у, для которых г/ +1 + Ф7- (0) +... . . . + Ф, (у) < х. Если у + 1 + Ф7 (0) + . . . + Ф7- (у) = х и <руф (у) = 1, то выдать 1. Если это не так, то выдать 0. Утверждение (7) очевидно. Положим h (х) = max {ФГ(./) (х) IV < х}. Тогда h £ Ri я неравенство (8) выполняется. Пункты (9) и (10) следуют из несколько более сильного результата, доказываемого по индукции. Пусть ф7- 6 Ri- Тогда для последовательности #i <#2 <• • • чисел х, для которых q>v(j)(x) = 1, для любого хг
Об эффективных процедурах для ускоряющих алгоритмов 133 выполняется равенство хг + 1 + Ф7- (0) + . . . + Ф7- {хг) = Яи-i- Действительно, 1) Xi = 0 и 1 + Фу (0) = *я, 2) предположим, что x^ + 1 + Ф7- (0) + . . . + Ф7- (#z-i) = = #/> 3) тогда в силу нашей конструкции хг + 1 + Ф, (0) + . . . + Ф, (ж,) = ж/+1. Как следствие получаем Ф7-(#z) <#z+i- Пример. Пусть (фь Фг)?1о — класс машин Тьюринга, описанный во введении. Тогда в качестве функции h леммы можно взять h (х) = х2. Неформальное доказательство: Л /ч f ^ + Ov<7) Ы, если [у + 1 + Ф,- (0)+ . .. + Ф7- (т/) = *], N ' [ х в противном случае. Легко доказать по индукции, что Фv <j> (#) ^ #2. Теорема 2. Пусть г £ R2 — достаточно большая функция и f £ Ria Тогда не существует такой частично рекурсивной функции а, что Vi (ф^ = /) [а (i) сходится и функция ц>аш является r-ускорением функции q>t] 1). Доказательство. Доказательство состоит из двух частей. В части 1 мы докажем, что этот результат машинно-независим. В части 2 мы используем обобщенную теорему о рекурсии (теорема 1В) и лемму, чтобы доказать теорему для стандартного класса машин Тьюринга (фь Фг)£=о- После этого можно будет утверждать справедливость теоремы для любого класса машин. Часть 1. Пусть (фг, Фг-)£=о и (i|?f, Ч^Ло— произвольные допустимые классы машин. Не теряя общности2), будем считать, что 1|эг = фг для любого i. Докажем, что если теорема не верна для класса (фь Фг)£=о» то она не верна и для класса (%, Y^iLo • Итак, пусть для произвольно большого г £ R2 3/ 6 i?i и а £ Р{ такие, что функция а ускоряет все программы для / в «г раз». Не теряя общности, можно считать, что функция г монотонно возрастает по второму аргументу. Покажем, что для всякой такой функции г существует функция г' £ Л2, немного меньшая, чем г, и такая, что если а ускоряет программы для функции / х) Утверждение, сформулированпое в теореме, впервые появилось в предложении перед следствием 1 в статье [2]. Автор благодарен Шмуэлю Винограду и Паулю Янгу, заметившим, что хотя следствие, претендующее на доказательство этого утверждения, верно, оно не доказывает это утверждение. 2) Роджерс [5] доказал, что существует функция т Gi?i, взаимно однозначно отображающая N на N и такая, что г|)Тф = ф* для любого i. Для наших целей можно взять i|)j = <р$.
134 М. Блюм из класса (ф^ Oj)iLo в «г раз», то о ускоряет программы для функции / из класса (г|^, 4^)£L0 в «г' раз». Пусть g £ R2 — функция, монотонно возрастающая по второму аргументу [2, теорема 3] и такая, что V* V* [ Ф((х) < g (х, ЧА (х)) & Vt (*)<*(*, Фг (х))]. Пусть г' (х, и) = max{z | если у — наименьшее из чисел, для которых g (х, у) ^и, то г (х, у) ^ g (х, z)}. Пусть h' £ R2 — произвольная функция, монотонно возрастающая по второму аргументу. Зададим h £ R2 равенством h (х, У) = g (х, h' (x, g (х, у))) Покажем, что если г ^ h, то г' ^ h'. Как следствие получим, что функцию г9 можно сделать больше произвольной функции h', выбрав функцию г большей, чем функция h. Предположим противное, т. е. что г' (х, и) <C.h' (x, и) для некоторых чисел х и и. Пусть у — наименьшее из чисел, для которых g (х, у) ^ и. Тогда g (x, z) < г (х, у) <g (х, z + 1) для z = г' (х, и). Поэтому g (х, г' (х, и)) < г (х, у) <g (х, г' (х, и) + 1) < так как h'(x, и) >> г' (х, и) и функция g монотонно возрастает, < g (x, к' (х, и)) < < g (х, К (х, g (х, у))) = по определению = h (х, у). Следовательно, г <ih, т. е. пришли к противоречию. Покажем, наконец, что если а ускоряет любую программу для функции / из класса (фг-, Oj)iLo в «г раз», то а ускоряет любую программу для функции /из класса (г|^, lFf)£L0 в «г' раз». По определению г' для любых чисел х и у г (х, у)> g (х, г' (х, g (х, у))). Наша посылка состоит в том, что оо V* (Фг =/) Чх[Фг (х)>г(х, Фаш (х))] Поэтому оо V* № = /) 4x[g{x, Vt (ж))>Ф, (*)>r(*, ФоШ (z))> >£ (х, г' (х, g (х, Фаф (z))))>g (х, г' (х, Чаа> (х)))].
Об эффективных процедурах для ускоряющих алгоритмов 135 Так как функция g монотонно возрастает по второму аргументу, то V* (ifc = /) Vx[¥; (*)>r' (ж, Y0H) (х))]. Часть 2. Докажем теорему для класса машин Тьюринга (ер,-, Ф^)^о, описанного во введении. Положим r(xJz) = i+hi(xJ (S h(y)) + 3x* + z), где h — функция, обеспечиваемая леммой, a h{ — функция из обобщенной теоремы о рекурсии. Причина такого выбора функции г будет ясна позднее. Предположим, что существуют такая функция / £ i?i и такая частично рекурсивная функция а, что фа ш есть г-ускорение функции фг-, если ф, = /. Пусть /' — фиксированный номер функции /. Сначала покажем, как заменить функцию а общерекурсивной (а не только частично рекурсивной) функцией а", для которой Vi (ф,- = /) [фа"о')(0 есть г-ускорение функции ф^] и Vi Var[0<r(i)H<0;(^)U Построим предварительно общерекурсивную функцию а' так, чтобы V* (ф/ = /)[фа'<г)=Ф*1 II Vi (фг- не обязательно равна /) оо V* [ФаЧг) {Х)<^Х+ 2т1п{Фа(0 (*), Фаф {х)}]. ДЛЯ ЭТОГО фуПКЦИЯ фо'(г) ДОЛЖНа ВЫЧИСЛЯТЬ фо'(г)(#)» как ТОЛЬКО определится фа(г) (х) или фа(л (ж). Параллельное вычисление фашО^) ж фа0) (ж) потребует 2 х длина (х) шагов, чтобы изготовить копию аргумента, плюс тт{Фаа)(х), Фаф (х)} шагов параллельного вычисления плюс не более тт{Фа(г)(х), Ф0ф(х)} шагов, чтобы напечатать результат. Имеем Vi (фг-—/) [фа#(г) есть «почти» г-ускорение функции фг]. Требуемая функция а" определяется формулой a" (i) =a' (a'(i)). Итак, без потери общности можно считать, что исходная функция а общерекурсивна и оо v;v.r[a)0(i) (*)<<£, (х)].
136 М. Блюм Теперь покажем, используя теорему о рекурсии, как построить такие функции ф^ и ф&, обе равные /, что либо фаш не является r-ускорением функции фг-, либо cpaik) не является г-ускорением ФУНКЦИИ ф/j. Сначала дадим неформальный эскиз конструкции. Пунктам (А), (В), (С), (D) этого эскиза соответствуют пункты (А), (В)г (С), (D) формального доказательства. Напоминаем, что ; — номер функпии /. Функция фГ(л, обеспечиваемая леммой, выбирает бесконечную последовательность х{ <^ х2 <С хз <С • • • таких целых чисел, что Фу (xi) <C.xi+i. (A) Если число х не входит в эту последовательность, то фг- (х) и фь (х) полагаются равными ф7- (х) (это требует чуть больше, чем Фу (х) шагов). Для чисел хг из последовательности ф^ (хг) и ф& (xi) вычисляются следующим образом. (B) Проверяется, есть ли в последовательности такое число Хт <Xh ЧТО фа(г> (Хщ) Ф ф; (Хт) ИЛИ (pa{k) (хт) ф фу (хт). Если есть, то полагаем фг- (х{) = (рк (хг) = фу (xi). Согласно лемме, Ф^(хт) <Cxi, поэтому для этой проверки потребуется незначительное число шагов, при этом гарантируется, что если фаа) Ф ф/ (фа(й) =7^= ф^)» то' как мы увидим из построения, функция ф* (фл) совпадает с функцией фу. Если же ф0(г-) (хт) = фа(ь) (хт) = ф; (хт) для всех xm<xir то одновременно вычисляются фа<г> (#г) и (poih) (хг). (C) Если первым заканчивается процесс вычисления фа(г) (xi)r то ф/г (х{) полагается равным фа<г> (#*)> а Ф* (xi) полагается равным фу (xi). При таком образе действий Ц)к (хг) вычисляется по порядкуг) за то же число шагов, что и фаШ (хг), и потому вычисляется за не большее по порядку число шагов, чем q>G(k)(xi)- Но это означает, что фа(/1) (хг) не может вычисляться быстрее, чем щ(хг)~ Тот факт, что фг (xi) полагается равным q>j(xi), будет использован, чтобы получить равенства фг = фу, ф(Т(г-)=фги, как следствие, фь = фу? а это приводит к противоречию, (D) Если фа(/г) (хг) вычисляется быстрее, то фг- (хг) полагается равным фа(;г) (xi), a (pu(xi) полагается равным q>j(xi). Причины такого выбора те же, что и в пункте (С). Приведем теперь формальное доказательство, показывающеег как для хорошо выбранной функции г теорема о рекурсии дает функции ф^ и фь при этом число шагов вычисления этих функций фг и фь удовлетворяет условиям пунктов (С) и (D). х) «По порядку» означает, что разность между Ф^ и Ф0п\ настолько мал» по сравнению с требуемым ускорением г, что ею можно пренебречь.
Об эффективных процедурах для ускоряющих алгоритмов 137 Построим сначала общерекурсивиую функцию т, а затем: положим фь^фти) для некоторого номера i. Функция i^R\ будет получаться применением обобщенной теоремы о рекурсии к функции ффе, фс6/?2- Пусть фе (i, тг) — номер следующего набора инструкций: На аргументе х, если x^.j (напоминаем, что / — номер функции /), выдать результат q>j(x) (Это необходимо, так как утверждение (8) леммы не охватывает случай x^.j<) Если #>/, то вычислять cpV(j) (#)• (A) Если ф-уф (х) = 0, то выдать результат ср;- (х). Если фг0-} (х) = -1, то перейти к пункту (В). (B) Проверить, верно ли, что 3?/ (1<У< X) [q>aii) (у) Ф 4>J (У) V Фа(п) (У) Ф Ч>] {У)\. Если верно, то выдать результат (fj(x). Если нет, то перейти: к пункту (С). (C) Проверить, верно ли, что Фа(г> (х)^.ФоШ (х). Если верно,, то выдать результат фа(^ (х). Если нет, то перейти к пункту (D). (D) Выдать результат q>j(x). По этим командам вычисляется ФФе(г, п)(^)- Непосредственный способ вычисления этой функции достаточно эффективен, так что для почти всех х (С)=*Фъ«. n£z)^<S>viJ)(x) (А) х~1 [в пункте (В) возможны Ч~ 2 ^vo") (у) неравенства только для тех у, у=з+1 для которых <pv(j)(y) = l] + 2 (Ф/вЫ + Фас«)(») + Фасп,(»)) (В> + Фо<оМ. (С> Но в силу утверждения (8) леммы а неравенство (10) леммы дает S (Ф, ы+ф0< „ (j/)+флп; (у)) < з*». ;<2/<х Tv(7-)(y)=l
138 М. Блюм Следовательно, х У*[(С)=ФФфв(|,п)(*)< 2 h{y) + 3x* + Oaii)(x)]. y=j+i Аналогично со х Пусть т] и /^i — функции из обобщенной теоремы о рекурсии. Положим^' т (i) = т) (i, е), где £ — определенное выше число. Согласно обобщенной теореме о рекурсии, для любого i £ N Фт(0 =ффе(г, Т(г)), (И) со Vs[(pT(i)(s) определено ^Фт(г) И<^1 (ж, ФФе(г, x(i))(*))]. (12) Объединяя (11) и (12) с соотношениями, выведенными ранее, и полагая ?г=т(£), получаем со х = r(s, Фа(о(*))-1], (13) со х ^x[(D)=^Oui)(x)^hi{x1 2 h(y) + 3x* + <bj(x)) = = г(х,Ф>(х))-1]. (14) Инструкции для фт(п, получаемые при замене п на т(£) в приведенном выше наборе инструкций, таковы: Пусть х — аргумент. Если x^j, то выдать результат q>j(x). (15) Если #>/, то вычислять <pV(j)(x). (A) Если cpvij) (х) = О, то выдать результат ф7- (ж). Если ф^} (#)= 1, то проверить, верно ли, что (B) 3y{]<y<x)[(pG(i)(y)¥=q>j(y) V Ч>ахЧ)(у)Ф^(у)]. (16) Если верно, то выдать результат фу(х). Если нет, проверить, верно ли, что (C) Фа(*>(*)<Фат(*>(*). (17) Если верно, выдать результат фа(г> (х). Если нет, то ?{D) выдать результат ф7- (л;).
Об эффективных процедурах для ускоряющих алгоритмов 139 Теперь найдем такое число i, что для к = т (i) функции ф^ и Фь удовлетворяют условиям, требуемым в неформальном доказательстве. Искомое число i получается применением следствия обобщенной теоремы о рекурсии к функции Щф £ Ль где £ (i) — номер следующего набора инструкций: Пусть # —аргумент. Если £^/, то выдать результат cpj(x). (18) Если #>/, то вычислять q>vU)(x)' (A) Если (pV(j)(x)=0, то выдать результат q>j(x). (19) Если (fv(j)(x) = l, то проверить, верно ли, что (B) Зу (]<у<х) [Фа(о (у) Ф <р, (у) V qw> (у) Ф Ф;(у)]. (20) Если верно, то выдать результат q>j(x). Если нет, то проверить, верно ли, что (D) Фат<*>И<Фатс*)(*). Если верно, то выдать результат фат(г) (х). Если нет, то (C) выдать результат ф;(#). (21) Непосредственный способ вычисления ф£<о(#) Дает V^[(D)^0^)(^)< 2 Л(У) + 3*а + Фат<1>(*)], y=j+i х Чх[(С)=>Ф1а)(х)^ 2 h(y) + 3a* + Oj(x)]. Снова пусть h{ — функция из обобщенной теоремы о рекурсии. Тогда в силу следствия из этой теоремы 3i[q>i = q>6(o], (22) = r(x,Q>„it}{x)) — l], CO / ■£, Уг[(С)=ФФ,(*)<М*, 2 h[y) + Zxi + Oj{x)) = y=i+i = г (х,ФЛ «))-!]• Положим к = т (i) для так выбранного числа £. (23) ^Доказательство равенств Ф* = Фй = Ф7-- Для х ^ / равенства фг- (л;) = ф^ (а;) = ф7- (х) выполняются в силу (15), (18), (22) и (23).
140 М. Блюм Пусть х > ]'. Предположим по индукции, что Vz/ < х [ф,- (у) = (pk (у) = фу (т/)]. CUz/чай 1. (В) Зу (j<y< x) [<pcii} {у) ф фу (у) \J фст(Л) {у) ф фу(у)]. Тогда фг (х) = фу (х) в силу (22), (20) и щ (х) — фу (л;) в силу (23), (16). Случай 2. (С): здесь фг- (х) = фу (х) в силу (21). Кроме того,. ФЛ (*) = Фо(£) (*) (24) в силу (17). Предположим, что Фл (х) Ф Ф; (*)• (25) Тогда получим равенства (26) — (28): для у <сх Ф* (У) = Фу (*/) (26) согласно предположению индукции; ф| (*) = <Pj(*h (27) и так как для любого целого числа z > x выполняется или равенство фу (у) (я) =0, или соотношение (20) (поскольку <роа)(х)Ф ф<р/(х) в силу (24) и (25)), то, согласно (19) и (20), Ф* (*) = Ф; (2). (28) Итак, фг = фу, а поскольку функция а ускоряет функцию фь функции фа(£) и (pi совпадают. Из (24), (26) — (28) вытекает, что Ф/t (х) = Фа(о (я) = Фг (х) = Фу (#) вопреки неравенству (25). Следовательно, фь (х) = фу (л;). Случай 3. (D): рассматривается аналогично случаю 2, только числа £ и к меняются местами. Доказательство того, что или функция фаШ не является r-ускорением функции фь или функция фа(Ь) не является r-у с к о р е - нием функции <рк. Так как Ф* = Ф& = Фу, то пункт (В) (соотношения (16) и (20)) никогда не выполняются. Поэтому (С) или (D) справедливо для бесконечно многих х. Пусть (С) справедливо для бесконечно многих х (для (D) рассуждение аналогично). Тогда в силу (17) и (13) 1ж[Фа(*)(ж)<Фа(Л)(ж)сЬФЛ(л:Хг(л;,Ф0(/)(л;))-1]. Так как функция г монотонно возрастает по второму аргументу, то \х [ФЛ (я)< г (х, Ф0(Л) (х)) - К г (х, ФС(Л) (*))]. Следовательно, функция фа(Ь) не является r-ускорением функции (рк. Получили противоречие
Об эффективных процедурах для ускоряющих алгоритмов 141 Пример. Для нашего класса машин Тьюринга r(x,z) = l+hi{x, (2 h(y)) + 3x* + z), hi{x, y) = c(x + y1)J h (x) = x2. Поэтому достаточно большой функцией г, о которой говорится в теореме, будет г (х, z) = (х4 + z)2. Это означает, что если / — такая произвольная функция, что любая ее программа делает не менее 2 шагов при некоторой константе с и любая программа квадратично (или более) ускоряется, т. е. Vi (ф! = /) 3/ (ф, = /) ЧХ [Ф, (X) > (Ф, (Х))% то не существует эффективной процедуры поиска этих ускорений. Действительно, пусть программа для функции / делает 2х шагов и функция g ускоряет ее до 2Х/С шагов. Повторное применение а дает 2х/4 шагов. Но (х* + 2Х/4)2 < 2х для почти всех х, что противоречит теореме. 3. Рангированир В теореме 2 утверждается, что не существует эффективной процедуры перехода от одной программы для / к другой программе для /, работающей быстрее на всех целых числах, кроме конечного множества. Остается открытым вопрос, впервые поставленный Мейером: можно ли эффективно ускорять программы для / на бесконечном множестве аргументов? Разумеется, подобные ускорения возможны не для всякой функции /; ниже мы покажем (в теореме 3), для каких функций / это возможно *). Для теоремы 3 лучше подходит более строгое понятие «ранги- рованияч> программ для /, чем понятие ускорения. Пусть g, г £ Д4. Функцию ср7- назовем g-r-рангированием функции фг- на данном числе х, если ср7- = ф; и Ф^ (х) > g (х), но Ф7- (х) <г (х). Это определение представляет интерес для случая g ^> г, когда q>j работает на аргументе х быстрее, чем ф^. При доказательстве теоремы 3 используется взаимно однозначная функция if i?l5 обладающая следующими свойствами: 1) V* [т(0>Ё], х) Можно было бы пойти дальше и описать более или менее широкий класс функций, программы которых можно эффективно ускорять на бесконечном множестве аргументов. Это описание аналогично теореме 4, но оно довольно сложно в деталях.
142 М. Блюм 2) Vi [фт<п = Фг], Построить такую функцию т довольно легко. Для всякого числа £, не принадлежащего множеству значений функции тг назовем, следуя Уляну, %-сплинтером (i, т) последовательность iy т (i), т2 (i), .... Число i называется главой т-сплинтера (i, т). Заметим, что любое число х появляется в некотором т-сплинтере по крайней мере в качестве главы. Для любого х символом х0 будем обозначать главу т-сплинтера, содержащего х. Функция т используется ниже в определении функции /. Теорема 3. 3r£i?! Vg6^i функция /, определенная (по g и т) соотношением х, ^ \ 4~ Ф*о(*)> есАи Ф*о(*)<£(*)> /(#)=1 A №) { 0 в противном случае, удовлетворяет условию оо V» (ф* = /) 3/ (ф7- = /) 1х [Ф, (х) > g (х) & <J>j (х) < г (х)), т. е. функция ф7- есть g-r-рангирование функции ф7- на бесконечном множестве чисел х. Кроме того, номер j можно гффективно получить по номеру i. Замечание. По номерам i и / можно эффективно получить такое число /с, что ф^ = / и Ф^ (х) не намного превосходит минимум функций Ф£ (х) и Ф7- (х): функция q>k (x) тратит примерно половину времени на вычисление фг- (х) и половину времени на вычисление ф7- (х). Лемма г1. yi(^ = f)^neN[Oi(Tn(i))^Oi0(Tn(i))>g(Tn(i))]. Доказательство. В силу свойства 3) функции т Ф;(т*(0)>Ф;0(тп(0). Предположим, что Фг0(^п(i))^g(tn(О)- Тогда Ф*0(^п(0) определено и фго (Х" (0) = / (т" (0) = 1 ^ ф(х« (i))o (Т" (0) = 1 -=" Ф<о (*" (О)- Получили противоречие. Доказательство теоремы 3. Зададим функцию o^R равенствами {0, если x = %n(i) для некоторого п, , ч (20) фг (#) в противном случае.
Об эффективных процедурах для ускоряющих алгоритмов 143^ (A) Mi [фг =/=^>ф(Т(г) = /]. Действительно, если х=т^ тп(£) для любого п, то фа(г> (x) = f(x). Если x = xn(i), то по лемме 1 ®ч{х)>g(x)- Следовательно, f(x) = 0, В этом случае <pG(i)(x) = Q' и, значит, <paa)(x) = f(x). Положим r(*)=max({0} U {Ф0(*)(*)|Эг, /г[ж = тп(0]}). (31) Функция г общерекурсивна, так как в силу свойства 1) функции"т число л; может равняться тп (i) только для &, тг<С#; кроме тогот £ = Т71 (J) =ф> Фа (О (х) = 0 =Ф Фа (г) (#) < °0 СОГЛаСНО (30). Заметим, что в определении функции г участвуют только т и о\, так что 7' определяется независимо от g. (В) Пусть фг- = / и j = о (i). Тогда VneNlOj(%n(i))^r(%n(i))]. В самом деле, согласно (А) ф7- = /. Пусть x = %n(i) для данного числа i и произвольного числа п. По лемме 1 Фг- (х) >> g(x)~ С ДРУГОЙ СТОРОНЫ, Фу (х) = Фа (/) (#) ^ Г (%) В СИЛу (31). Следствие из этой теоремы очевидно: Следствие. Пусть г 6 ^г- Если функция / 6 ^i выбрана надлежащим образом, то существует такая функция а £ Rir что Vi (Фг =/) [функция ц>аа) есть r-ускорение функции фг- на бесконечном множестве чисел х]. Для конкретной частично рекурсивной функции / мы построили рекурсивную функцию г и показали, что для любой рекурсивной функции g можно эффективно g-r-рангировать программы для / на бесконечном множестве аргументов. Наиболее интересная часть этого результата состоит в том, что мы можем достаточна хорошо описать функции, программы которых можно эффективно g-r-рангировать. Для того чтобы это описание было как можно более широким, рассмотрим многозначные частично рекурсивные функции /. Понятие g-r-рангирования обобщается естественным образом. Пусть g, r £ R2. Функцию ф7- назовем g-r-рангированием функции фг- па данном аргументе х, если ф7- = ф^ и оо > Ф^ (х) > > g {х, ф^ (#)), но Ф,- (х) < г (х, фг- (х)). Найденное нами описание совсем простое. Пусть Gf — график частично рекурсивной функции /, т. е. Gf = {(х,у) | / (х) = у}. Мы покажем, что если график Gf креативен [6], то для некоторой функции г £ R2 и любой функции g £ R2 существует эффективная процедура g-r-рангировапия программ для функции /. Если же график Gf рекурсивен, то g-r-рангирование возможно не для всякой функции g. В самом деле, пусть график Gf рекурсивен и Фг = /• Тогда для любых чисел х и у можно эффективно решить, выполняется ли равенство ф^ (х) = у, следовательно, можно вычис-
444 М. Блюм лять функцию Г Фг (ж), если q>i(s) = y, v { О в противном случае. Тогда для функций gr > g нельзя g'-r-рангировать функцию ф^ по той простой причине, что Ф^ (х) < g' (x, (pt (x)), как только <pt (x) определено. С другой стороны, если график Gf не рекурсивен, то для любого номера i, для которого ф^ = /, и любой общерекурсивной функции g найдется такое число х, что фг- (х) сходится и Фг (х) > g (х, tyi (x)). В этом случае можно эффективно перейти от программы i для функции / к программе / для функции /, работающей быстрее по крайней мере на одном аргументе. Требуемая программа j просто вычисляет f (х) = г/, располагая парой (я, у), на поиски которой программа i использует более g (x, у) шагов. Однако ускорение программы на еще одном аргументе об»ходится все дороже и дороже. В теореме 4 мы докажем, что если график Gf креативен, то такое ускорение можно получить на бесконечном множестве аргументов. Но прежде хотелось бы привести несколько примеров графиков Gf. График Gf рекурсивен, если / общерекурсивиа или / — произвольная функция, считающая шаги. Так, график Gf может быть рекурсивен и для нерекурсивной функции /. С другой стороны, если Gj не рекурсивен, то почти наверняка Gf креативен, так как нерекурсивные графики обычно креативны, если только функция не выбрана специально так, чтобы ее график был некреа- тивеп. У следующих функций график креативен: 1) f(x) = 1 — <p*(*), 2) / ((х,у)) = Фх (у), 3) / (х) = 1 тогда и только тогда, когда число х есть код доказуемого предложения в некоторой стандартной нумерации всех предложений элементарной арифметики. Теорема 4. Пусть f — частично рекурсивная функция с креативным графиком Gf. Тогда 3[д,£Д2 3r£/?9 Vi{tyi=f) vz(9,e#2) 1) фц(*.г> = /, оо 2) 3 (я, у) [/ (х)=у& Ф( (х) > Ф, (*, у)& Фщ, 1} (*)<г (*, у)]. Теорема утверждает, что можно эффективно перейти от любой программы i для функции / к другой программе \х (i, l) для функции /, работающей быстрее на бесконечном множестве аргументов. Доказательство. Пусть я— взаимно однозначная вполне продуктивная функция для множества G/, удовлетворяющая условию: Vz [я (z) >z] (функция я вполне продуктивна, если Vz[n(z)d €Gf[]Wz\/n(z)eGf{] Wz] см. [6]).
Об эффективных процедурах для ускоряющих алгоритмов 145 Определим функцию o£R2 так, чтобы она взаимно однозначно отображала N X N в N и чтобы для всех i и I выполнялись условия: а (г, /)>>max{£, Z}, (32) Waii, i) = {Or, г/> | Ф/ (я:, г/) сходится и либо (1) Ф* (я) > cpz (я, г/), либо (2) Ф1{х)<£<р1(х,у)&Ч>1(х)фу}. (33) Для множества Wa<z, ^ имеем Ф« = /&ф/еД2=^^г0(|1Пэб/, (34) ф^/&{Лг/>еС/ПИ/а(^/)^ф^(^)-г/&оо>Ф,(^)>ф/(^г/), (35) Теперь покажем, как можно достаточно быстро порождать бесконечно много пар (х, у ) 6 Gf (] W0 a, z>- При этом окажется, что пары принадлежат множеству значений функции яа. Из (32) и из определения функции я следует, что по взаимно однозначно отображает N X N в N я для любых i и I по (i, Т) > тах{£, /}. (36) В силу (34) и полной продуктивности функции п Ф* = /& Фг 6 Да =* лет (*\ Z) € G, П И^а а, j>. (37) Покажем, наконец, как с помощью функции яа можно достаточно быстро перечислять пары (х, у > 6 Gf {] WG a, d- Определим программу \х (£, I) следующим образом: Пусть х — аргумент. Затратив примерно половину времени, следует вычислять / (#), применяя некоторую фиксированную программу для /. Если процесс этого вычисления закончился, то выдать результат / (х). Оставшаяся часть времени используется так: начинается перечисление бесконечной последовательности I < h < h < • • •» удовлетворяющей условию фг = — Ф/i = Ф/2 = • • • • Этот пересчет используется для порождения последовательности S (£, I) = (яа (i, I), no (&', Zt), яа (£, Z2), . . .). Если пара (х, у > при некотором у появляется в последовательности S (£, I) раньше, чем окончится процесс вычисления / (х) фиксированной программой, то выдается результат у. Покажем, что Ф* = / & 4>i € Яг =Ф Ф^а, D = /• (38) Это проверяется непосредственно, если первым окончился процесс вычисления / (х), а в противном случае косвенным образом, так как тогда ф^ iit t) (x) = у для некоторой пары (х, у ) = яа (i, ln) и из (37) следует, что у =/(#). 10-01321
146 М. Блюм Зададим функцию г равенством г (х, У) = max {Ф„а, г) (х) | Зп [по (i, ln) = (х, у)]}. (39) В силу (36) ля (£, ln) = (х, у) ==> max {i, ln} < (х, у), так что функция г общерекурсивна. Заметим, что определение функции г не зависит от конкретного выбора чисел i и Z, как и ^требуется в теореме. Теперь мы уже готовы доказать теорему. Пусть ф^ = /, фг £ /?2 и (х, у) — произвольный элемент множества S (i, l). Согласно (35) и (37), Ф* (Х) = У & ОО > Ф; (Л) > ф; (X, У). В силу (39) г(х,у)>Ф1ха,1)(х), а из (36) следует, что множество S (i, l) бесконечно. Таким образом, существует бесконечно много пар (х, у ) (элементов множества S (£, Z)), для которых / (X) = У&Ф> (X) > ф; (X, у)&Фт. h (х)<Г (Х, У). (40) Объединяя (38) и (40), получаем нашу теорему. 4. Псевдоускорение Пусть г 6 R2 и фг, ф7- g i?!. Функцию ф7- назовем г-псевдоускоре- нием функции <рг, если ОО V* [Ф7- (ж) = Ф, (ж) & г (я, Ф, (а))<Ф£ (х)]. Пусть / 6 /?!. Будем говорить, что любая программа для функции f r-псевдоускоряется, если Vi (фг- = /) 3/ [ф7- есть г-псевдо- ускорение функции фг]. В доказательстве следующей леммы мы построим такие обще- рекурсивпые функции а и h, что если функция ф; имеет фе-псевдо- ускорение ф7-, то (по модулю К) функция фа(С,г) есть фе-псевдо- ускореыие функции ф^. Лемма. 3h,o£R2 4e,i£N (фебД2> Чх,У Ч)е(х,у)>У, cpi^Ri), если функция ф; имеет (ре-псевдоускорение, то 3j^N такое, что функция (pj есть Ц)е-псевдоускорение функции фг-, при этом Фа {с, D общерекурсивна, (41) ОО Vs[4W. *>(*) = Ф* (*)L О42) ОО V*[0W. „(*)<*(*, ФЛ*))Ь (43)
Об эффективных процедурах для ускоряющих алгоритмов 147 Замечание. Если функция фе существенно больше функции /г, то (ра(е, 7) является «почти» фе-псевдоускорением функции ф£. Доказательство. Пусть а (е, i) — номер следующего набора инструкций: Пусть л;— аргумент. Положить п= О и перейти к шагу п. Шаг п = {и, v). Если х ^ v, то вычислять (ри (х) и ф^ (х) и выдать в качестве результата то, что вычислится первым. Если х > у, то проделать # шагов вычисления ф^ (т) для всех чисел тп из отрезка v ^. m <С х. Для каждого т, для которого ф^ (т) сходится за х шагов, проверить (i) Фи (т) > х. Если Фи (тп) ^ х, то проверить, верно ли, что (ii) фи (ти) =7^ Ф; (т) или (iii) Ot, (т, Фи (т)) < *&фе (т, Фи (го)) > Ф* (го). Если для любого числа го выполняются (i), (ii) или (iii), то перейти к шагу п + 1. В противном случае следует вычислять фи (х) и фг (л;) и выдать в качестве результата то, что вычислится первым. Положим р(х, е, i, n, у) = I Фо(е, d (х), если написанная выше программа заканчивает работу на шаге п = (и, v) и Фи(х) = у1 О в противном случае. Заметим, что р £ i?5- Действительно, программа работает по шагам и на каждом шаге можно эффективно решить, следует ли переходить к следующему шагу. Кроме того, если в процессе вычисления сделано п = (и, v) шагов и нет перехода к (п -f- 1)-му шагу и Фи (х) = г/, то Фо(е, i) (х) сходится. Положим ^ (#> у) — тах{р (х, е, i, п, у) \ х ^ тах{е, i, n}}. Очевидно, что h£R2. Чтобы доказать лемму, допустим, что числа е, i £ N удовлетворяют условию леммы. Пусть п = (/, v) — наименьшее из чисел, для которых <$j (x) = фг (х) при всех х ^ v и фе (х, Ф] (х)) ^ ^ Фг (х) при всех х ^ и. Тогда для любого достаточно большого числа х программа закончит работу на шаге п = (/, v). Следовательно, для почти всех х h (х, Ф] (х)) > р (х, е, i, п, Ф] (х)) = Фа(е, г) (х). Этим доказано соотношение (43). Соотношение (42) вытекает из того, что фа(е> 7) (х) = (pj (х) для почти всех х и (pj (х) = (pt (x) для всех х ^ v, a (41) — из того, что для любого х программа 10*
148 М. Блюм дойдет до такого шага п = {и, v ), на котором в качестве результата будет выдаваться число фи (х) или ф^ (х) (в зависимости от того, что вычислится первым), и из того, что по условию Фг — обще- рекурсивная функция. Пример. Для класса (ф^, Фг)^10 многоленточных машин Тьюринга функцию а можно определить так, что оо Чх [Ф0(е, i) (х) < СХЪ + (Ф; (х))2, С -- Const]. Неформальное доказательство. При больших числах х и т ^ х можно промоделировать х шагов вычисления для (pi (т), фи (т) и фе (т, Фи (т)) за с{х2 шагов, где с{ = = const. Следовательно, это моделирование можно проделать для всех чисел т ^ х за с^ шагов. Эти вычисления производятся за (у, и) этапов, поэтому при с = с{ (/, и) для этих вычислений достаточно сделать сх3 (машинных) шагов, чтобы дойти до момента начала моделирования функции ф7- (х). Для этого моделирования достаточно (Ф7- (х))2 шагов. Квадрат возникает из-за необходимости моделировать произвольные дополнительные ленты, которыми могла располагать функция фу по сравнению с функцией фа(б| *). Теорема 5. 3h, т£ R2 Ve £N (фе£ R2, Vx функция фе(#, у) мо- оо нотонно возрастает по у, V#Vz/ (ре(%, y)^h(x, у)), если функция f(:Ri такова, что все ее программы можно Ц)е-псевдоускорятъ, то Vi (Ф* = /) фт«?, i) обще рекурсивна, (44) фт(е, t) есть (ре-псевдоускорение функции ф£. (45) Доказательство. Пусть /г., а — функции из леммы. Положим т (е, i) = а (е', £), где фе> (л;, г/) = фе (л;, фе (а:, г/)). Так как любая программа для функции / фе-псевдоускоряется, то любая программа для функции / ф^-псевдоускоряется. Из (41) получаем (44). Чтобы доказать (45), заметим, что, согласно (42) и (43), оо Vxl[q>ue.i)(x) = q)i(x)]f сх и оо Чх[уе(х, фв(аг,Фу(ж)))<:Ф,(а:)].
Об эффективных процедурах для ускоряющих алгоритмов 149 В силу монотонности функции фе получаем отсюда, учитывая неравенство (ре > h, что со Ух (ре {X, Фх{е, i) (х)) < Ц)е (я, h (x, <&j (x))) < <(ре(х, (ре(х, Ф,- (#)))< Ф*(я). Открытый вопрос. Пусть г £ Д2. Пусть функция / £ Ri такова, что все ее программы можно ускорять в «г раз». Существует ли такая функция т £ Дь что Vi (ф; = /) 3/ [функция ф^ есть /'-ускорение функции Ф* и т (i) ^ /]? Другими словами, вопрос состоит в том, можно ли эффективно ограничить сложность программ, ускоряющих данное вычисление, с помощью некоторой общерекурсивной функции т. Неосуществимость такой функции т показала бы, что программы, ускоряющие фг-, фг = /, вообще практически нецелесообразны. С другой стороны, существование такой функции т говорит о возможности ограничить сложность более быстро работающих программ. В связи с этим интересно отметить, что такая функция т f i?t существует для любой функции /, получаемой в теореме 5 статьи [2]. Это означает, что для любой функции г существует соответствующая общерекурсивная функция т по крайней мере для некоторых, если не для всех, функций, программы которых r-ускоряются. Частичный ответ на этот вопрос получен в работе [7]. СПИСОК ЛИТЕРАТУРЫ 1. Hartmanis J., Stearns R. E., On the computational complexity of algorithms, Trans. A MS, 117, № 5 (1965), 285—306. (Русский перевод: Кибернетический сборник (повая серия), вып. 4, изд-во «Мир», М., 1967, стр. 57—85.) 2. Blum M., A machine-independent theory of the complexity of recursive functions, /. ACM, 14, № 2 (1967), 322—336. (Русский перевод: БлюмМ., Машинно-независимая теория сложности рекурсивных функций, «Проблемы математической логики», изд-во «Мир», М., 1970, стр. 401—422.) 3. Meyer A. R., Fischer P. С, On computational speed-up, Conf. Record 9 Annual IEEE Symp. Switch, and Automata Theory, 1968, pp. 351—355. 4. Young P. R., Speed-ups by changing the order in which sets are enumerated, ACM Symp. on Theory of Computing, 1969, pp. 89—92. 5. Rogers II., Jr., Godel numberings of partial recursive functions, /. Symb. Logic, 23, 3 (1958), 331-341. 6. Роджерс X., Теория рекурсивных функций и эффективная вычислимость, изд-во «Мир», М., 1972. 7. Young P. R., Helm J. P., On the size and efficiency of programs, Res. Rep. CDS TR43, Dep. of Computer Science, Purdue. Univ., Lafayette, Ind., 1969. 8. Ritchie D. M., Program structure and computational complexity, Ph. D. Thesis, Dep. of Math. Harvard Univ., Cambridge, Mass., 1968. 9. Young P. R., Towards a theory of enumerations, IEEE Conf. Record 9 Annual Symp. on Switching and Automata Theory, 1968, pp. 334—350.
СОПОСТАВЛЕНИЕ СЛОЖНОСТИ И ЭФФЕКТИВНОСТИ ПРОГРАММ, ДОПУСКАЮЩИХ УСКОРЕНИЕ х) Дж. Хелм, П. Янг Со времени публикации в 1967 г. двух статей Блюма [1, 2] в исследованиях сложности вычислений возрастающую роль начинают играть методы и результаты «чистой» теории рекурсивных функций, особенно теорема о рекурсии и методы приоритета. В настоящей работе приводится типичное применение теоремы о рекурсии с довольно запутанной диагонализацией для того, чтобы ответить на один вопрос Блюма, поставленный в работе [3]. Грубо говоря, мы доказываем существование функции, обладающей таким свойством: если мы располагаем программой вычисления этой функции и желаем перейти к программе, вычисляющей функцию гораздо эффективнее, то мы можем сделать это, только значительно увеличив программу: функция, описывающая необходимый рост сложности более эффективной программы, растет быстрее любой рекурсивной функции. Пусть %щь — стандартная нумерация всех частично рекурсивных функций. Блюм [1] определяет сигнализирующую Ф как последовательность функций ?иФг, удовлетворяющую следующим условиям: (1) для любого числа i области определения функций Фг- и фг совпадают; (2) отношение Фг (х) ^ у (как отношение трех переменных) разрешимо. Функцию Ф[ иногда называют временем вычисления функции <рг. (Например, Ф^ (х) может быть числом клеток ленты или числом команд (с учетом повторений), используемых i-m машиной Тьюринга, оперирующей с аргументом х.) Блюм доказал следующую теорему об ускорении: Для сколь угодно большой обще рекурсивно и функции Кху г (х, у) можно указать такую общерекурсивную функцию f {принимающую значения только 0 и 1), что если фг = /, то найдется такое число /, что ср7- = / и Ф( (х) > г (х, Ф7- (х)) для всех х, кроме конечного множества. (Иными словами, функция / так трудно вычисляется, что для любого метода i ее вычисления найдется гораздо лучший метод /. Очевидно, что если функция г достаточно велика, чтобы теорема была интересной, условие «для всех х, кроме конечного множества» существенно.) х) Helm J., Joung P., On size vs. efficiency for programs admitting speed- ups, /. of Symb. Logic, 36, № 1 (1971), 21—27.
Сопоставление сложности и эффективности программ 151 Блюм [3] показал, что справедлив в какой-то степени отрицательный результат. Если функция г (показатель ускорения) достаточно велика, то алгоритм, определяющий по данному методу более быстрый метод вычисления /, построить нельзя. Тем не менее Блюм заметил, что так как в его доказательстве [1] и в обобщении [4], где показатель ускорения г заменяемся на эффективный оператор, используется диагопализация, при которой различные номера испытываются только конечное число раз (и эти испытания можно —когда они удачны —эффективно ограничить), то по данному числу i можно указать конечное множество номеров D[, заведомо содержащее программу /', обеспечивающую ускорение программы i. Следовательно, сложность программы, ускоряющей данное вычисление, эффективно ограничена. В работе [3] Блюм ставит вопрос: всегда ли это верно, т. е. если функция / ускоряется с показателем ускорения г, то найдется ли рекурсивная функция, ограничивающая сложность программ, осуществляющих ускорение? В статье [5] Яиг приводит новые примеры ускорений для перечисления множеств, где ускорения получаются за счет полного изменения порядка, в котором перечисляются множества. По-видимому, метод приоритета, примененный в доказательстве, требует, чтобы некоторые номера испытывались бесконечно много раз. Нам не удалось простым образом ограничить сложность программ, осуществляющих ускорения, и это привело нас к предположению о том, что ответ па вопрос Блюма отрицателен. Хотя на самом деле в данной работе не получено полного ответа, по мы подошли к нему очень близко: мы доказали, что для любой общерекурсивной функции г можно указать такой эффективный оператор М, «чуть-чуть больший, чем г», и такую общерекурсивную функцию /, что она ускоряется с показателем ускорения М, но сложность программ, осуществляющих ускорение, растет быстрее любой рекурсивной функции. Следует подчеркнуть^ что это еще один отрицательный результат: вычисление функции / ускоряется, но нельзя эффективно найти ускоряющую программу, а если кто-то сумеет найти такую программу, то ее сложность окажется настолько большой, что она будет неуправляемой. Определение. Функцией сложности, \ |, называется любая общерекурсивпая функция, все множества уровня которой конечны. (Это определение слабее соответствующего определения в работе [2], где еще требуется, чтобы последовательность множеств уровня Ki {/ | |/| = i} была канонически перенумерована.). Теорема. Для любой общерекурсивной функции г (х, у), для которой г (х, у) ^ у, можно указать такую общерекурсивную функцию /, принимающую значения только О и 1, что
152 Дж. Хелм. П. Янг (1) функция f строго ускоряется с показателем ускорения г, т. е. если фг- = /, то найдется такое число /, что ф7- = / и <bi(n)>r(n+l, 2 Ф/И) для всех п, кроме конечного множества. Но (2) сложность ускорения нельзя эффективно ограничить, т. е. нет такой частично рекурсивной функции Ь, что при фг- = / значение Ъ (i) определено и существует такое /, что \ j | < Ь (£), Фг (п) > Ф, (л + 1) для почти всех п. Замечания. (1) Выражение «для почти всех х» будем сокращенно записывать как «п. в. х» или «п. в.». (2) Так как г(л + 1, 2 Oj(m))> 2 Oj{m)>Oj(n + l), то доказать в пункте (2) теоремы неосуществимость функции Ъ, удовлетворяющей условию Ф^ (п) ^ Ф7- (п + 1), труднее, чем неосуществимость функции Ъ, удовлетворяющей более естественному условию Ф|(и)>г(и+1, S Oj(m))n.B. (3) Теорема сохраняется, если неравенство в пункте (1) заменить неравенством Ф^ (п) > г (тг + 1, Ф7- (/г + 1)). Второе неравенство получает более естественную интерпретацию для программ, перечисляющих множества, чем для программ, вычисляющих функции; в первом случае интерпретация такова: «для того чтобы программе / породить п + 1 элементов множества, усилий требуется гораздо меньше, чем для того, чтобы программе i породить п элементов». Сформулируем сначала лемму, которая упростит и поможет понять доказательство. Лемма 1. Существует такая обще рекурсивная функция о, что для любого натурального числа р (1) функция (poipAh n) всюду определена, (2) для любого натурального числа i существует lim фа<р)(г» п), П-»оо (3) если функция фр является ограничивающей частично рекурсивной функцией в смысле пункта (2) теоремы, то из равенства фг- = / следует, что найдется такое натуральное число k ^ < lim (po(P)(h п), что (pk = f и Фг- (п) > Ф^ (п + i)J п. в. 71->оо
Сопоставление сложности и эффективности программ 153 Доказательство. Положим g (p, i, п) = шах {/ | существует такая последовательность натуральных чисел i = k0r ku . . ., ki-i, Jct = /, что kx+i < и, Фр {kx) < n и | kx+i | < ^ Фр (kx) для x < i} и g (p, i, n) = О, если таких последовательностей нет. Положим фа(р) (£, п) = g (p, i, n) и заметим, что пункт (1) очевиден, так как функция g всюду определена, а пункт (2) выполняется, так как для фиксированных чисел i и р имеется только конечное число последовательностей натуральных чисел i = = k0, ku . . ., kj, удовлетворяющих данному условию. Пункт (3) также просто доказывается, так как если фг- = /, то, очевидно, найдется такая последовательность натуральных чисел i = k0r &j, . . ., kt, что (рьх = f для всех х < i, | kx+i | < фр (кх) и Ф^ (?г) ^ Фй (и- + 1) п. в. для всех # < i. Поэтому Ot(n)=Oko(n)>Ohi(n + i) = Oj{n + j) п. в. и по построению /с;<Нтфа(р)(£, л). П->оо Чтобы доказать теорему, объясним, как вычислять некоторую обще рекурсивную функцию t (и, и, I). В качестве функции / в теореме достаточно будет взять функцию фе(о,о,г> при подходящем I. Наше доказательство полностью аналогично доказательству Блюма [1]. Определим нашу конструкцию, описав п-й шаг вычисления, на котором вычисляется tyt(u,v,i)(n): A. Если v<Lu, то Ц)циви, D=(Pt(u,u, Dt и следует вычислять B. Если и ^ и и (а) если п < у, то попытаемся вычислить ф^ (0), . . ., фг (7г). Если какое-нибудь из этих выражений не определено, то и ф*(и, v, I) (п) не определено. В противном случае найдем такое наименьшее число i (если такие числа есть), что i ^ n и или (1) Фь (п) ^ ф; (п — i) и i еще не было вычеркнуто, или (2) (3/<0[(3&<Ф(7(7) (г, я)) [& не вычеркнуто и Ф&(?г)< <Ф£(|г —0<Ф«(л — ОН- (3) Если такого i нет, то положим (pt(u,v,i)(n) = 0и перейдем к (п + 1)-му шагу. В противном случае обозначим через i0 наименьшее такое i.
154 Дж. Хелм, П. Янг (4) Если i0 удовлетворяет условию (1), то положим О, если фг0 (?г);>0, если Фг0 (Лг) = 0. Затем вычеркнем г0 и перейдем к (п + 1)-му шагу. (5) Если i0 удовлетворяет условию (2) и не удовлетворяет условию (1), то обозначим через к0 такое наименьшее число к, что к ^ cp0(j) (i0, п) для некоторого / ^ i0, к не вычеркнуто и Ф/i (7г) ^ Фго (П — ^о) ^ Фг (ft — ^о)- ПОЛОЖИМ 0, если Ф/*0(га)>0, _ ( 0, и*. ».»{*)-[ 1? если фйо(л) = о. Затем вычеркнем к0 и перейдем к (?г + 1)-му шагу. (б) Если n^v (>и), то попытаемся вычислить ф; (0), ... ... q)i(n— и). (Если какое-нибудь выражение не определено, то и Ф*<и, о, z> (га) не определено, но, как мы увидим, в противном случае Ф*<и,», z> (га) будет определено, что и доказывает лемму 2.) Если все выражения определены, то найдем такое наименьшее число i (если такие числа есть), что u^Ci^Cn и выполняется (1) и (2). Затем последовательно осуществляются пункты (3), (4) и (5). Этим завершается описание вычисления функции %(и> Vt d и, следовательно, функции t(u, v, I). Теперь приведем ряд лемм, показывающих, что требуемая функция / есть функция (рно> 0? г) при подходящем Z. Лемма 2. Пусть u^Lv. Если яг О, то ф/(и> 0, t) (m) определено тогда и только тогда, когда определены все Ф/(0), . . ., фг(/га). Если ra>i;, то Цци, v, ь(т) определено тогда и только тогда, когда определены все фг (0), .. ., q>i(m — и). Если функция фг всюду определена, то и функция ф^(и, v, d всюду определена для любых чисел и и v. Доказательство. Очевидно из конструкции. Лемма 3. Существует такая монотонная обще рекурсивная функция фг, что для всех u-^v (а) ц1(п—и + 1)>г(п, 2 Ф/cu.o. d{™)) п. в. /г, и потому (В) 4>i{x — ])>r(x + l, 2 ф/<Л-2,и. ь{т)) п. в. х. Доказательство. Применяя теорему о рекурсии, получаем такую функцию фг, что фг (0) = 0 и (у) фг(2 + 1) = тах{фг(г), max r(z + wf 2 ®t<u.v. i)(m))}.
Сопоставление сложности и эффективности программ 155 Предположение, что функция фг всюду определена, приводит к ее монотонности, а подстановка п — и вместо z (и, следовательно, а вместо и + z) в равенстве (у) дает неравенство (а). Аналогично подстановка х вместо п — 1 и / вместо и — 2 в неравенстве (а) дает неравенство (р). Чтобы показать, что функция фг всюду определена, предположим, что ф^ (0), . . ., фг (z) определены. Из равенства (у), учитывая условие u-^v-^z, получаем, что при m<C.z все Фг(0), ..., ф^ (т) определены, а по лемме 2 определены ф*(и, Vt d (m) и, значит, Ф*(и.и. !)(™<)- Если z^Cm^Cz -{-и, то т — ^<гиф;(0), . . ., фг(яг — а) определены, так что по лемме 2 определены ф/(и> у, Z) (m) и Ф*(и,и, ь(т)- Так как функция г всюду определена, то из равенства (у) вытекает, что q>i(z-\-l) определено, если Фг(0), ..., ф/(z) определены. Следовательно, функция фг всюду определена. Лемма 4. Для любого числа и найдется такое число и, что 4>Uu, v, I) = ф*<0, 0, D- Доказательство. Рассмотрим вычисление функции ф*(0>о, г>« Для любого i^u обозначим К (i) = {к | (3/< 0 [й<lim Фа(л (*, /г)]}. П-»-оо Вычисления ф^о, о, о и ф*<и, о, z> отличаются только в том, что для /г>у при вычислении (pt(u,v, о(^) мы не пытаемся вычеркивать г<лг, не вычеркиваются и элементы множества K(i) для i^iu. Но все эти числа образуют конечную совокупность конечных множеств. Кроме того, всякий номер вычеркивается не более одного раза. Поэтому если v — такой шаг вычисления ф*<о, о, *>> после которого никакое число i-^u и ни один из элементов множества K(i) для i-^u не претендуют на вычеркивание, то вычисления ф*<о.о. и и 4>t(u,v,D дадут одинаковые результаты. Замечание. При эффективном ограничении сложности программ, осуществляющих ускорение (см. [3]), в доказательствах теорем об ускорении в работах [1] и [4] существенно то, что для данного и мы не пытаемся вычеркивать i ^ и (множества К (0 при i ^ и не играют никакой роли в вычислении). Следовательно, производя конечное число угадываний, когда числа i < и вычеркиваются при вычислении ф^0| о, о» м°жно получить конечное множество программ, одна из которых моделирует вычисление функции ф4(г|| 0| Z), совпадающей с функцией фг(о, о, ц (см. приложение). Этот трюк не работает в нашем доказательстве, так как, несмотря на то, что множества К (£), содержащие номера, которые мы пытаемся вычеркнуть, конечны, нет способа по данному числу i вычислить оценку мощности множества К (i).
156 Дж. Хелм, П. Янг Лемма 5. Если ср^ = ц>цо, о, z)? mo Фг (п) > ф; (п — i) п. в. Доказательство. При вычислении ф^0| о, Z) на произвольном шаге п мы вычеркнем число £, если это число еще не вычеркнуто и Ф^ (п) ^ q>i {п — i), и если не вычеркивается какое- нибудь число V < i или какой-либо элемент множества К (/,') для V < i. (Множество К {V) определено при доказательстве леммы 4 и конечно.) Так как всякий номер вычеркивается не более одного раза и имеется только конечное число номеров, предотвращающих вычеркивание номера £, то если Ф; (п) ^ q>i (п — i) для бесконечно многих п, номер i когда-нибудь вычеркнется. Из конструкции очевидно, что если номер i вычеркивается, то фг Ф%а, о, /)• Как в доказательстве Блюма [1], леммы 3 — 5 гарантируют осуществимость ускорения, так как если фг=фг(о,о, п Для Z, выбранного по лемме 3, то ®i(n)><Pi{n — i)>r(n + l, 2 0>Ui+2,v.i)(™>)) п. в. тг, при этом фг(0> 0> D = (рщ+2, v, I) Для некоторого числа и, выбранного по лемме 4. Итак, пункт (1) теоремы доказан. Лемма 6. Для числа I, выбранного по лемме 3, можно указать бесконечно много таких чисел /', что Ф,/=Ф*<о,о, и и ®j{n)^C <(pi(n) п. в. Доказательство. Пусть фу = Ф/<о, о. z>- Как в доказательстве предыдущей леммы, найдем такое число /', что t$y = ф*<о, о, п и ®j{n)>q)l(n-j)>r{n+l, S Ф|'Н)> > 2 Oj'(w)>Oj'(ra) п. в. и. Здесь мы использовали, что г (х, у) ^ у для любых чисел х, у. Очевидно, что / ф-]', и в силу монотонности по лемме 3 функции Ф; имеем ф; (п) ^ Фу (п) п. в. Повторяя эту процедуру, получаем требуемое бесконечное множество номеров {/', /", у"", . . .}. Лемма 7. Для числа Z, выбранного по лемме 3, нет такой частично рекурсивной функции ф7-, что лгргг фг = ф/(0, о, d существует число &-< Нт фа(у) (j, ri), для которого ф& = фг(0, о, z> г/ Ф^ (п)^>Фк(п-\- i) п. в. (Следовательно, по лемме 1 сложность программ, ускоряющих вычисление ф*<о, о, г>> нельзя рекурсивно ограничить, что и утверждается в пункте (2) теоремы.)
Сопоставление сложности и эффективности программ 157 Доказательство. Предположим, что такая функция сосуществует. По предыдущей лемме найдется такое число £>/, что Ф*(о, о, г> = Фг и Фг-(га)-<фг (тг) п. в. Следовательно, Фг(п — j)< ^.q>i(n — i) п. в. По определению функции ф7- существует число 7ъ< lim (fou) (i, п), для которого щ = (рш, о, z> и Фг- (и) > Фк (п -f j) 71-*-со п. в., и потому Фл (лг) -^1 Фг (лг — i) п. в. Изучая пашу конструкцию для ф*(о, о, г>» видим, что если число щ настолько велико, что lim (pG(j) (i, n) = (pG(j) (i, щ), то номер к должен быть вычеркнут на щ-м шаге, если только не вычеркпется какое-нибудь число &'<л или какой-либо элемент конечного множества К(ъ) для i'^i. (Множество K(i') определено в доказательстве леммы 4.) Припоминая, что любой номер вычеркивается пе более одного раза, заключаем, что помер к когда-нибудь вычеркпется, а это приводит к противоречию, ф& ф ф^(0> о, z>- Замечание. Строгое неравенство с показателем ускорения г Ф«(л)>г(л+1, ^ ФД^)) можно рассматривать в операторной форме Ф;- [п)^М (Ф7) (п), где &(g)(n) = r(n + l, S g(m))- Может показаться, что наше доказательство проходит для любого оператора М, для которого М {g) (х) ^ g (х + 1). К сожалению, обычный метод доказательства теорем об ускорении состоит в получении ^-убывающей по сложности последовательности функций hipt, по которой ускоряются сигнализирующие функций. В нашем случае pt = Xntpi (n — i). Это дает нам мощный способ управления скоростью убывания последовательности, так как р0 (п) < pi (п + V) и вообще рг (п) < pi+i (n + 1), а с другой стороны, pt (n) ^ Pi+\ (ft) п. в. Мы использовали это обстоятельство только в доказательстве леммы 7, где из неравенства Ф* (п) ^ Ф/ (п) = Ро (п) выводилось, что Фг- (п — i) ^ р0 (п — 0^ ^ Р; (п). В общем случае, когда оператор М достаточно велик, мы не умеем управлять скоростью убывания соответствующей последовательности Xipi и потому не можем доказать лемму 7 для больших операторов. Кажется, что оценивать сложность программ, осуществляющих большие ускорения, труднее, чем сложность программ меньшего ускорения, и было бы неожиданным, если бы наша теорема не выполнялась для достаточно больших операторов. По той же причине мы не смогли доказать соответствующую теорему для обычного ускорения (Ф; (п) > г (п, Ф7- (п)) п. в.) для достаточно больших функций г, так как при нашем методе вычеркивания, если мы пытаемся вычеркнуть к, являющееся
158 Дж. Хел.м, II. Янг гораздо лучшим методом вычисления функции, чем метод z, то приходится применить тот же тест, что и для i, а именно Фк (п) ^ ^ ц>1 (п — i). Но такой тест на вычеркивание годится, только если Ф^ сравнительно эффективна относительно Xntpi (п — i). Так как в конструкции, очевидно, запрещается Фг- (п) ^ cpz (п —i), то приходится обосновывать Ф^ (п — i) ^ фг (п — i), так что ускорение должно быть достаточным, чтобы гарантировать Ф/г (и) < Фг- (п — i), а не только Фк (п) < Ф, {п). Приложение. Приведем более детальный набросок доказательства замечания Блюма. Доказательство не оригинально и принадлежит, по-видимому, Блюму. Мы предполагаем полное знакомство с конструкцией теоремы Блюма об ускорении в статье [1]. Для любого числа w, для которого Dw ^ {0, 1, ..., и}, определим функцию фг(и, ю, I) так же, как Блюм в [1] определяет функцию ф*<о. о,/)» с тем исключением, что при вычислении фго*, w, i){n) для достаточно больших п, когда все i £ Dw вычеркнуты, вычисляются только фг(и), .. ., (pi(n-u) и не испытываются на вычеркивание числа i^lu. В конструкции Блюма имеем: если DWv = = {i\i^.u и i вычеркпуто при вычислении ф^(о, о,/>} и Vu — наименьший шаг в вычислении Блюма функции ф*(о, о, о» Д° которого все элементы множества DWa уже вычеркнуты, то фГ(и, wu, 0== Ф^и, vu, l)~ ф/COfjO, I)* Кроме того, так как наша неформально описанная конструкция ФУНКЦИИ фг(и, Wu.Z) И блЮМОВСКая КОНСТРУКЦИЯ фуНКЦИИ ф/(ц,г?и, Z) почти одинаковы, то Ф*(й, *а, о «Ф*'(«, wM, о при Условии' что сигнализирующая Ф «разумно себя ведет». Так как Блюм доказал, что если <рг=ф,(0|0рП=/, то ®i(n)>r(n, Ol(i+liflj+1, 0(п)) п. в., отсюда следует, что если фг = /, то одна программа из множества {Г (* + 1, и;, /)!£„,£= {0, 1, . . ., i + Ц) должна почти r-ускорять программу i. Чтобы получить точное г-ускореиие программы i программой из заранее ограниченного множества при достаточно большой функции г, достаточно повторить ускорение и ограничение несколько раз, с тем чтобы компенсировать неточное равенство Фци, va,i) & Фг(м, wUi о* На самом деле этот метод работает и с произвольной сигнализирующей Ф, так как можно показать, что, хотя Фд«, »u, О и Фг(м, wu, I) не совпадают, их разность не зависит от функции г; поэтому повторение ускорения преодолеет любую такую разность, если функция г достаточно велика. С другой стороны, можно использовать тот факт, что сигнализирующие ФиФ' рекурсивно
Сопоставление сложности и эффективности программ 159 зависимы [1], а также рекурсивно зависимы сложности [2]. Поэтому если утверждение справедливо для достаточно больших г при некоторой известной сигнализирующей, то оно справедлива для достаточно больших г при произвольной другой сигнализирующей (т. е. по терминологии статьи [3] утверждение^ машинно- независимо) . СПИСОК ЛИТЕРАТУРЫ 1. Blum M., A machine-independent theory of the complexity of recursive functions, J. ACM, 14, № 2 (1967), 322—336. (Русский перевод: Блюм М.г Машинно-независимая теория сложности рекурсивных функций, «Проблемы математической логики», изд-во «Мир», М., 1970, стр. 401—422.) 2. BlumM., Onthesize of machines, Information and Control, 11, № 3 (1967), 257—265. (Русский перевод: Блюм М., Об объеме машин, «Проблемы математической логики», изд-во «Мир», М., 1970, стр. 423—431.) 3. М. Blum, On effective procedures for speeding-up algorithms, /. ACM, 18r № 2 (1971), 290—305. (Русский перевод: настоящий сборник, стр. 127—149). 4. Meyer A. R., Fischer Р. С, On computational speed-up, Conf. Rec. 9 Annual IEEE Symp. Switch, and Automata Theory, 1968, pp. 351—355. 5. Young P. R., Speed-ups by changing the order in which sets are enumerated, Math. Syst. Theory, 5, № 2 (1971), 148—156. (Русский перевод: настоящий сборник, стр. 160—171.)
УСКОРЕНИЯ ПОСРЕДСТВОМ ИЗМЕНЕНИЯ ПОРЯДКА, В КОТОРОМ ПЕРЕЧИСЛЯЮТСЯ МНОЖЕСТВА1) П. Янг Хотя эта статья логически предполагает знание лишь самых главных фактов рекурсивной теории, она не претендует на роль введения в применение теоретико-рекурсивных методов в теории сложности вычислений. Читателю, только что приступающему к изучению этих вопросов, мы советуем сначала прочитать статью [1] (по крайней мере доказательство теоремы об ускорении), первые две теоремы из статьи [2], а также хотя бы несколько теорем из работы [9] для знакомства с техникой перечисления, которую мы здесь используем. Читателю, не знакомому с методом приоритета, стоит сначала прочитать более простое доказательство с этим методом, например теорему 2.6 из работы [9]. Наконец, поскольку приведенное здесь доказательство обобщает два более ранних, для полного понимания мотивировки нашего доказательства читатель, вероятно, должен основательно ознакомиться с доказательством теоремы Блюма об ускорении, данном в статье [1], а также с доказательством ее обобщения в работе [5]. Мы дадим краткое представление о технике перечисления, полнее показанной в работе [9]. Пусть D0, Du D2, . . . —каноническое перечисление всех конечных подмножеств множества N неотрицательных целых чисел: для данного i можно эффективно выписать все элементы множества Dt и узнать, когда этот список будет завершен. Для удобства будем считать D0 пустым множеством. Общерекурсивная функция Е называется техникой перечисления, если для каждого рекурсивно перечислимого множества (р. п. м.) W найдется такое натуральное число е, что W= U DEie,n). Назовем е индексом множества W и обозначим через We множество (J DE(e,ny Мы будем предполагать, что получающаяся п в результате нумерация удовлетворяет не только теореме об универсальной машине Тьюринга, но также и ^-теореме для мно- х) Young P., Speed-ups by changing the order in which sets are enumerated, Math. Syst. Theory, 5, 2 (1971), 148—156.
Ускорения посредством изменения порядка 161 жеств (детали см. в [9]). Зададим функцию Е' (е, п) равенством Е>Е'(е, п) = U &Е(е, т)- Иногда мы будем использовать ^-обозначения для функций, т. е. если Е —функция двух переменных, то ХуЕ (х, у) для каждого фиксированного х будет функцией только второго переменного; в частности, Xhpj — фиксированное стандартное перечисление всех частично рекурсивных функций. Никаких специальных соотношений между нумерациями Xi^t и XiWt мы не предполагаем; в частности, W\ не обязано быть ни множеством значений, пи областью определения функции q^. Пусть, т —какое-нибудь эффективное взаимно однозначное отображение множества N X N на N; обозначим т (х, у) через (х, у). Пусть л4 (х, у) = х, л2 (#» У) = У- Для удобства будем считать, что jtt (0) = 0 = я2 (0). Определение. Каждой технике перечисления Е поставим в соответствие частично рекурсивную функцию Xi, n Ai(n), определенную равенством Ai{n)=(\iy)[\DE>(itV)\^n], где (fii/)[...] означает наименьшее число г/, при котором [...], a \De'(i, п)\ — число элементов множества DE'(i, П)- A i(n) можно понимать, например, как число шагов £-й машины Тьюринга, требующихся для перечисления по крайней мере п элементов, или как число клеток, используемых машиной для перечисления по крайней мере п элементов, или как длину самого длинного вывода, используемого i-ш системой Поста для перечисления не менее п элементов, или как число применений команд, нужное i-ш программе Алгола для выписывания по крайней мере п элементов, и т. д. Предикат At (x) < у является рекурсивным предикатом трех переменных. Мы хотим теперь поговорить о программах i и /, перечисляющих одно и то же множество в одном и том же порядке. Поскольку это нельзя определить рекурсивно, мы вынуждены ограничиться рядом рекурсивных аппроксимаций, дающих в пределе почти (по не совсем) следующее понятие: Определение. Будем говорить, что i и / перечисляют в одинаковом квазипорядке в течение п шагов *), и писать i appn /, 1) В оригинале «i appears to have the same order as / through n steps».— Прим. ред.
162 П. Я не если для х < п, у < п (и любого ад. — Ред.) [[m£DE'(i,x + i) — DE'{it x) & 7?г g De^-, y + i) — DE>(j, У)]=$ =^ [^Е'(*. ос) ^ -О^'О', ij+l)& As'(i, !/) — ^E'(i, л + 1)]] * Определение. Будем говорить, что i и / перечисляют в одинаковом квазипорядке, и писать i арр/, если I арр71/ для всех п. Будем говорить, что i и / перечисляют W в одинаковом порядке, если PF = Wt = Wj и i арр /. Предоставляем читателю самому убедиться в том, что это понятие интуитивно корректно (учитывая, что множество Ве\\,у+\) —DE'{i,y) может содержать более одного элемента (так что мы дали наиболее общую из возможных интерпретаций понятия перечислять в одинаковом порядке)), а также в том, что «не i appn /'» влечет «не i appn+1/'», множество {(i, /') | не i арр/} рекурсивно перечислимо, а множество {(i, /') | i арр/}, очевидно, не рекурсивно перечислимо. (1) Мы просим читателя отметить также, что i арр / тогда и только тогда, когда оба множества Wt и Wj бесконечны и i, / перечисляют одно и то же множество в одинаковом порядке, либо одно из множеств Wj, Wt является конечным подмножеством другого, но порядки невозможно различить исходя из перечисления. (Таким образом, отношение i арр /, ограниченное теми i и /', для которых Wi и Wj бесконечны, есть отношение эквивалентности. Если i0 — индекс пустого множества, то i0 арр / для любого /.) Мы хотели бы построить такую рекурсивную функцию s (/', п)у чтобы lim s (/', п) равнялся наименьшему индексу i, для которого п Wj = Wt и i арр /'. Мы не сможем достичь этого полностью. Однако условия (1) — (5) показывают, насколько близко мы подходим к определению такой функции s и отношения «i и / перечисляют одно и то же множество в одинаковом порядке». Свойства (1) — (5) вполне достаточны, поскольку лишь эти свойства отношения арр и функции s мы будем использовать в доказательстве нашего результата. Определение. Положим 5(0, п) = 0 для всех п, s(j + l,n) = (\ii)[i^j + l& iappn/ + 1 & (Vz</)[zappn/ + l=H^s(z n)]].
Ускорения посредством изменения порядка 163 Снова предоставляем читателю проверить простые утверждения относительно функции s: (2) s(y, n)^.j для всех у и п\ (3) lims(y, n) всегда существует (доказывается индукцией по у); п (4) lim s (7, п) = Iim 5 (£, тг) =Ф у арр г; п п (5) Если i — наименьший индекс, для которого Wt = Wj и i арр у, то lim5(у, n)^.i. п Наконец, для формулировки нашей теоремы вспомним еще одно Определение. Оператор ^~, преобразующий частично рекурсивные функции (ч. р. ф.) в частично рекурсивные функции, называется эффективным, если существует такая общерекурсивная функция g, что Jp (фс) = (pg(e) для всех е. Мы будем рассматривать лишь эффективные операторы, преобразующие общерекурсивные функции в общерекурсивные. Такими операторами являются, например, (i) оператор J^r, определенный равенством Jfr (cpt) x = г (х, фг (х)), где г (х, у) — общерекурсивная функция, и (ii) оператор самокомпозиции jFc, определенный равенством iFc (ф|) И = Фг (ф£ (*))• Теорема 1. Пусть Е —любая техника перечисления, а е? —любой эффективный оператор, преобразующий общерекурсивные функции в обще рекурсивные. Тогда существует такое бесконечное рекурсивно перечислимое множество W, что если Wt = W, то найдется такой индекс V, что Wf = W и для всякого у, пере- числяющего W в том же порядке, что и i, Aj(n)> ^ UiO (n) для почти всех п, т. е. для всех тг, кроме конечного множества. Обсуждение доказательства. Разъясним, как перечислять множества Wt(U, d по шагам и, следовательно, как вычислять некоторую общерекурсивную функцию t(u, V). Обозначим множество элементов, относимых к множеству Wt{Ut г) в конце п-то шага построения, через ТУ^и, iy Таким образом, Wi(Uil)=[)WZtl). п Вообще говоря, мы не предполагаем, что ТУ*$, i) = Ве'щц, о, п)> и фактически конструкция устроена так, что если функция ф; всюду определена, то |И^>г)|==и при п^и и множество W*flu9i) пусто при п<Си. 11*
164 П. Янг Как и в других доказательствах ускорения, Wt(u> г) зависит от параметра I следующим образом: ф/ — универсальная функция для р. п. последовательности функций р0, ри ..., определенная равенством kxpn(x) = kx<pi(n, х), где мы пока не упоминаем о параметре I слева; значение его всегда будет уточняться в контексте. При подходяще выбранном значении I множеством, которое мы ищем, будет Wi(0> 0. Это множество будет ^-ускоряемо, так как его моменты перечисления, т. е. множества {Ап \ Wn= Wt(0t Z)}, будут кофинальны в последовательности Кпрп, ^-убывающей в том смысле, что рп{™<)> > 3F (Pn+i) (т) Для всех п и почти всех т. На каждом шаге построения множества Wt(u> Z), которое мы собираемся описать, будет лишь конечное множество пар таких целых чисел (£, /), что i воздействует на / в (построении) Wt(u> /,. Начало такого воздействия заставит конечное число элементов из Wt отмечаться для Wt(u, ь- На каждом шаге построения число может быть отмеченным одновременно для нескольких дополнений большим числом воздействий. Отметки и воздействия множества Wt(U, Di начатые на шаге п, проносятся через следующие шаги построения множества Wt(Ui Z), если только на каком-нибудь из этих шагов не будет явных изменений. Благодарность. Хотя доказательство, которое мы собираемся изложить, близко к доказательству, данному в [10] и анонсированному в [И], оно значительно проще благодаря А. Мейеру. Это доказательство отличается от нашего первоначального и других более ранних доказательств теорем об ускорении в следующем важном отношении. Во всех таких доказательствах в построение функции t (и, I) явно вводится третий параметр и для необходимых конечных вариантов построения. По нескольким причинам (в том числе и потому, что наше построение функции t (и, I) явно связано с фактически интуитивно описанным построением t {ur, I) для и' фи) явное оперирование с необходимыми конечными вариантами с помощью дополнительного параметра v в нашей первоначальной конструкции было очень запутанным. Необходимость обращать внимание на эти детали крайне затрудняла следование основной линии в доказательстве. Благодаря Мейеру, оказывается возможным не вводить в построение функции t конечных вариантов с помощью параметра и, а ввести их явно только после построения t. За выявление этой возможности, за устранение ряда особенно «темных» мест в первоначальном доказательстве, а также и за другие предложения я ему очень признателен.
Ускорения посредством изменения порядка 165 Построение функции t. Шаг п(п^0) в построении множества W^u^i)- Если и>п, то множество WtQ, i) пусто, так что переходим к шагу п +1. В противном случае: (6) Пробуем, вычислять ри (и), ри (и + 1), pu+i (u + 1), ... ..., ри{п), ..., рп{п). Если одна из этих величин вычислилась, то построение завершается и W^u\)q) =W^u^i) = Wt^i) для всех д^О. Иначе (как должно быть в случае, когда функция ф^ всюду определена, поскольку ру (х) = q>i (г/, х)) вычисляем отметки и воздействия множества WtiU, Z), которые были активны в конце (п— 1)-го шага, и продолжаем их па шаге п, если только они не будут остановлены по (7) или (8). (7) Если i воздействует на / в Wt(u, Ь) на шаге п — 1, но s(i, п)Ф /, то это воздействие заканчивается и удаляются все отметки, вызванные этим воздействием. (8) Для любых и'', п'', для которых О^гг'^и/ <Сп, выполняем п шагов в вычислении W^J^i). (Эти шаги являются шагами в процессе, который мы сейчас описываем. Необходимость ограничения числа шагов возникает ввиду возможности незавершения вычислений величин ри>{п') для и' или п' <Си, указанной в (6).) (a) Для любого х, обнаруженного в Wtl2\i) за эти и шагов, стереть все отметки на х, сделанные на шагах п' + 1, п' + 2, ..., п— 1 при вычислении WUu, d, и (b) считать х защищенным от дальнейших отметок в вычислении WtiUt i). Заметим, что для любых и", и'"^п элементы, защищенные на шаге п в вычислениях Wt(U»9 /) и И^(М»/, о> совпадают. Заметим также, что в (8а) хотя мы и стираем отметки, но соответствующие воздействия не прекращаем. (9) Для каждого i <C п, если (a) s(i,n)^u (и, значит, u^.s(i, n)^Zi <w), (b) ни одно число j'^i в настоящий момент не воздействует на s(i, ri), (c) 4,(w(/i-l) + l)<pe(l.in)(w), то (d) мы относим s(i, n) под воздействие числа £, а именно (e) находим п(п—1) + 1 элементов множества Wu обнаруженных в (с), и отмечаем каждый из этих еще не защищенных по (8Ь) (при вычислении WUu, d) элементов для^Ц?1(и, t). Заметим, что шаг (9е) может заставить нас отметить некоторый элемент х из W\^ г) для Wtiu, г>. Однако если функция ф^ всюду определена, то отметка должна быть стерта либо в тот момент, когда мы выполняем (7), либо, разумеется, на некотором шаге тг',
166 Я. Янг где п' настолько велико, что можно найти £б^1(и, о за и' шагов при выполнении (8а). Заметим также, что если воздействие i на s{i, ri), начатое согласно (9d), продолжается далее, то отметки, введенные по (9е), могут быть стерты лишь согласно (8а). В этом случае из п(п— 1) + 1 элементов множества Wt, которые могут быть отмечены для Wt(u, d на этом шаге п, только те, которые принадлежат множеству WP*(u\0 Для некоторого u'^ri <С.п, могут быть защищены по (8Ь) или позднее стерты по (8а). Так как W^Jd^W^i) для п'<Сп и найдутся п значений и' <Сп, а также потому, что | W§u\\) \ = п— 1 для и' <in, можно утверждать, что существует не более п(п— 1) элементов, которые могут быть защищены или отметки которых могут быть стерты. Таким образом, из п(п —1) + 1 элементов множества Wt, которые могут быть отмечены для Wt(U, z>, но крайней мере один будет отмечен для WtiUt d на всех дальнейших ш.агах, если воздействие i на s(i, n) не сможет закончиться, и, как станет ясно, когда построение будет полностью описано, этот элемент не может принадлежать Wt(u, п- (10) Если и=п, то пусть И^, о будет множеством из п наименьших чисел, не отмеченных для Wt(u, ;>• Если и<Сп, положим И7/Си, I) = W^u, i] U {наименьшее целое, пока еще не отмеченное для WUu, D и не принадлежащее W^"*)}. (Таким образом, из того, что функция ф; всюду определена, следует, что множество WtiUt и бесконечно.) (11) Переходим к шагу ?г + 1 в перечислении множеств Wt(a, d- Это завершает описание того, как перечислять множества Wt(u, Z) и, следовательно, как вычислять функцию t(u, I). Нам надо теперь доказать, что можно осуществить построение, приводящее к нашей теореме. Сначала докажем, что справедлива (12) Лемма. Если функция фг всюду определена, то оба множества WUu+i, t) — Wt(u, d u Wt(u, t) — Wi(u+l, t) конечны. Доказательство. Согласно (9), а также в силу неравенства i^s(i, ri) для всех ri индекс i подходит для воздействия на / при вычислении Wt(U\ о на шаге ri, только если (a) ri >> i^s(i, ri) = j^ri. Таким образом, если /^и+1, то на всех шагах ri для воздействия на j в Wt(u, D и в Wt(u+ii Ь) подходят одни и те же индексы i. Поэтому, проверяя (9) и, в частности, (9с), мы видим, что при ]^и-\-\ индексы, действительно воздействующие на / в Wt(U, D и в Wt(u+i, i)^ совпадают на всех шагах. Более того,
Ускорения посредством изменения порядка 167 в "силу (а) воздействия встречаются на шагах п только для п'>и+1. Итак, по первому наблюдению, немедленно следующему за (8), каждый раз, когда на некотором шаге гь происходит воздействие на такой индекс /, элементы, защищенные в WUu, Z) и в Wt(u+i, d, совпадают. Как видно из (9е), если воздействия на j^u-\-l встречаются в WUllt г) и Wau+i, z>» то они совпадают и дают одинаковые отметки для Wnu, и и Wt(u+i, ь- Далее, если на шаге m к И^(и+1, Ь) (или к Wtiu, z>) добавляется элемент х, то он не может быть отмеченным при добавлении для дополнения множества W^u+i, d (или Wt(Ui L)). Поэтому он не может быть отмеченным для дополнения другого множества Wt(Ut г) (или Wt{u+iti)) при воздействии на некоторый индекс /^и + 1. Итак, пусть на шаге m к Wt(u+i, г) (или к Wnu, n) добавлен элемент х, а п выбрано настолько большим, что п>т, и + 1. Предположим, что мы можем установить за п шагов, что x^W™u+i, о (или x£W$u,i))' Тогда, заглядывая вперед на п шагов, мы видим из (8Ь) и (9е), что х защищен от того, чтоб быть отмеченным для Wnu, D и для WUu+i, D- Следовательно, на п шагов вперед, если элемент х был добавлен к Wi(u+l, г) на т-м шаге, он не может быть отмечен для Wtiu, /> на шаге п' при п"^п. (Аналогично, если х был добавлен к Wt(u, ь на тп-шаге, он не может быть отмечен для Wuu+i, d на шаге п'^п.) Согласно (10), единственный способ предохранить х от добавления к Wtiu, D (к WUu+it n) — это отмечать х для Wtiu, l} (для Wuu+t, п) на всех достаточно далеких шагах. Однако мы видели уже, что элемент, добавленный к Wt(u+i, d (к Wt(u, Z)) на m-шаге, может быть отмечен только при воздействиях на у<и + 1, причем эти воздействия должны начинаться на некотором шаге п' <jn. Итак, если х должен быть отмечен для Wt(u, d (для Wuu+t, ^), он должен быть отмечен при воздействии на некоторый индекс 7<и + 1, для которого это воздействие продолжается далее. Поэтому Wnu+i. i) — WUu, ь ^ {х\х отмечается для Wuu, d при воздействии на некоторый индекс j < и + 1, для которого воздействие никогда не заканчивается} и WUu,i) — WUu+i,h^ {x\x отмечается для WUu+t.i) при воздействии на некоторый индекс /<гг+1, для которого это воздействие никогда не заканчивается}. Но (9Ь) гарантирует, что, если / постоянно находится под воздействием, то воздействие па него оказывается лишь конечное
168 П. Янг число раз. Поскольку при каждом воздействии может быть отмечено лишь конечное множество элементов и поскольку существует лишь конечное множество индексов / ^ и, мы заключаем, что оба множества WUu+i. d — WUu, t) и WUUt t) — WHu+u h конечны. (На самом деле множество Wt(u, Ь) — Wt(u+it L) пусто, но нам этот факт не потребуется.) Теперь из общерекурсивной функции t (и, I) двух переменных мы определим новую общерекурсивную функцию трех переменных, которую мы также назовем t. Напомним, что Dz обозначает z-e каноническое перечислимое конечное множество, а я4 и п2 — обычные проекторы (т. е. я4 ((х, у)) = х и я2 ((х, у)) = у). Зададим функцию t трех переменных равенством Wt(u, v, i) = (Wt(U, i) U Atioo) — Dn2(V). Поскольку мы выбрали Д) = Ф и ni(0) = 0 = n2(0), легко видеть, что 1^(0, о, z)== И^(о, о- Кроме того, из леммы (12) немедленно следует (13) Лемма. Пусть ф — общерекурсивная функция. Тогда существует (возможно, неэффективная) последовательность 0 = = v0, vu v2, v3, . . ., для которой И^(0, 0, I) = Wt(\9 vU I) = W*(2, «2, I) = • • • Теперь докажем лемму (14). Доказательство взято почти без изменений из работы [5]. (14) Лемма. Существует такая общерекурсивная функция Ф/, что при всех i, v и всех т, для которых п (п — 1) < т ^ < (п + 1) и, Pi(n) = <pl((i, w))>max{^ (At{i+t, v, i))(™<), Фг «t+1, ^»} = = max{^ (AHi+it Vt i)) (m), pi+i (n)} для почти всех п. Доказательство. Зададим сначала эффективный оператор jF*, преобразующий обще рекурсивные функции в общерекурсивные функции: _Г * (Ф;)>) = max {& (ф,-) (т) | и (п— 1) < т< и (п + 1)}. Определим общерекурсивную функцию о соотношениями (Р) фа(/)«1, х))=0, если x<t или (3w<i) [ф; ((0, и» неопределима за *Сх шагов], + <p*«i+l, у»] в противном случае.
Ускорения посредством изменения порядка 169 С помощью теоремы о рекурсии найдем неподвижную точку 1У для которой ф^ = фг. Легко видеть, что для этой точки I лемма (14) верна, если функция срг общерекурсивиа. Кроме того, если функция Ххц)1 ((О, х)) (=Ро) общерекурсивиа, то обще реку рсивность Хх(р1 ((i, x)) (=Pt) влечет обще реку рсивность Xxcpi ((i + 1, х)) (=pi+l). Это позволяет доказать, что для такой точки /функция р0 общерекурсивиа. Предположим противное. Тогда из определения фг = фа(/> вытекает, что для всех достаточно больших i функции pt тождественно равны нулю. Этого достаточно, чтобы доказать, что для любого числа М из общерекурсивности всех функций рг при i > М следует общерекурсивность функции рм. Действительноу если бы это было не так, то pM = hxq>o(i)((M, х)), для некоторых х значение рм (х) должно, очевидно, находиться по второму из равенств (Р). Однако Xx(pL ((М + 1, х)) (=pM+i) — обще рекурсивная функция. По нашему построению множества ^t(M+i,0> для того чтобы в нем нашлось п элементов для всех п ^ М + 1, достаточно, чтобы были определены все значения Рдг+1(М + 1); рм+1(М + 2), Рм+2(М + 2); ...;pM+i(n), ..., рп(п). Наше предположение гарантирует это, а потому множество Wt(M+i,i) бесконечно. Так как для любого v множества W^at+i, о и Wt{M+i, и, I) отличаются только на конечные множества, то множество И^(м+1, t?f Z) также должно быть бесконечным, а потому Ацм-\-\, я, о и, следовательно, jp* (Ацм+1, v, о) должны быть общерекурсивными функциями. Исследование соотношений (р) показывает, таким образом, что hxtyod) {{М, х)) ( = рм) — общерекурсивная функция. Лемма доказана. Докажем теперь, что справедлива (15) Лемма. Пусть фг — функция, существование которой утверждается в лемме (14). Если Wi— Wt(o, о, о и i—наименьший индекс перечисления ТУдо, о, о в порядке, заданном i, то для любого /, для которого Wj= И^(о, о, i) и г'арр/, неравенство Aj(m)^> pi(n) выполняется для почти всех п и всех т, для которых п(п—1) <иг<(га+ 1) п. Доказательство. Предположим, что A j (m) ^ pt (n) для бесконечно многих п. Согласно (5), наше предположение об i и / гарантирует выполнение неравенства lim = s (/, п) ^ i. п Положим г = lim s (/, п) и рассмотрим достаточно далекие шаги п п, для которых s (/, п) = V. По лемме (14) рь (п) ^ р\> (п) для
170 П. Я кг всех достаточно больших п. Таким образом, если Aj (т) ^ pt (п) бесконечно много раз, то Aj (m) ^Рг (п) бесконечно много раз после того, как s (/, п) достигает своего предела V. Так как п (п — 1) + 1 ^ т, то Aj(n(n -1) + 1)<Л,Н. Aj(n(n -1) + 1)^рг(п). При этих условиях построения множества И^(о, z> пункт (9) обеспечивает воздействие / на i', если только i уже не находится под воздействием /" ^ /. Но после того, как функция s (/', п) достигла своего предела, / может оказать не больше одного воздействия, так что некоторое число /' ^ / начинает воздействовать па V и это воздействие никогда не закончится. Из (7) мы видим, что lim s (/', п) = V, а из построения в целом —что некоторый эле- п мент множества Wу навсегда удерживается us Wt(0t t). В силу (4) lims(/, n) = lims(j', n) влечет /арр/'. Мы уже п п отмечали, что Wt(o, о, о = Wt(o, />, а, согласно (10), множество И^(о, I) бесконечно. Так как по предположению Wj = W^o, о, о» т0 множество Wj бесконечно, а так как /'арр/, то в силу (1) Wj'^Wj. Но Wj> c£ Wt(o, i) = Wt(o, о, о» вопреки предположению о том, что Wj=Wt(o,o,i)- Итак, Aj(m)-^> pt{ri) для почти всех п. Теперь, следуя теореме об ускорении Блюма [1], мы можем объединить леммы (13) — (15) и получить следующую теорему: Пусть функция q^ выбрана согласно (14). Тогда в силу (15), если Wt — УУцо, о, i) и i — наименьший индекс перечисления Wt(o,o,i) в порядке, заданном £, и если Wj = W^o,o,i) и iapp/, то для почти всех п и всех т, для которых п(п—1) <^т^Сп(га-)- 1), Aj (т) > pi (п) > & (4t(i+if „, о) (т) для всех v и почти всех п (см. (14)). Таким образом, эта теорема получена в предположении г — = t(i-\-l, Vi+i, I), где Vi±i — элемент последовательности, существование которой утверждается в лемме (13). Итак, Wv = Wt(o, о, о и Aj (m) > jf (Ai>) (m) для почти всех т. В заключение отметим, что вид ускорения, описанный в теореме 1, является не единственным видом ускорения для перечисления множеств. В работе [4, стр. 27—39] доказано, что для всякой техники перечисления Е при заданном интуитивном описании перечисления множества можно получить такой индекс е, что XnDE(e> n) перечисляет это множество в том же порядке, который дан интуитивным описанием. Непосредственное применение к та- ;кой технике перечисления Е доказательства теоремы Блюма
Ускорения посредством изменения порядка 171 об ускорении в [1] или ее обобщения в [5] приводит к следующей го о реме. Теорема 2. Пусть $р —любой эффективный оператор, преобразующий общерекурсивную функцию в общерекурсивную функцию. Тогда существуют такое бесконечное рекурсивно перечислимое множество W и такой индекс i, что если Wj = W, то найдется индекс V, для которого Wt> = W и i app V, и Aj (n) ^ ^ jf (A i) для почти всех п. Теорему 2 можно без труда усилить, сделав множество W рекурсивным. Что же касается теоремы 1, то неясно, как можно приспособить ее доказательство для рекурсивного множества W. Вопрос о том, могут ли рекурсивные множества перечисляться с ускорением, описанным в теореме 1, остается открытым. СПИСОК ЛИТЕРАТУРЫ 1. Blum М., A machine-independent theory of the complexity of recursive functions, /. ACM, 14 (1967), 322—336. (Русский перевод: Блюм M., Машинно-независимая теория вычислительной сложности, сб. «Проблемы математической логики», изд-во «Мир», М., 1970, стр. 401—422.) 2. Blum M., On the size of machines, Inform, and Control, 11 (1967), 257 — 265. (Русский перевод: Блюм М., Об объеме машин, сб. «Проблемы математической логики», изд-во «Мир», М., 1970, стр. 423—431.) 3. Constable R. L., The operator gap, Proc. 10th IEEE Symp. on Switching and Automata Theory, 1969. 4. Helm J. P., Two topics in recursion theory: I Effective operators and II Order and difficulty of enumeration of sets, Ph. D. Thesis, Purdue Univ., 1970. 5. Meyer A. R., Fisher P. C, Computational speed-up by effective operators, /. Syrnb. Logic, 37, 1 (1972), 55-68. 6. McGreight E. M., Meyer A. R., Classes of computable functions defined by bounds on computation, Preliminary report, 1st ACM Symp. on Theory of Computing, 1969, pp. 79—88. 7. Роджерс X., Теория рекурсивных функций и эффективная вычислимость, изд-во «Мир», М., 1972. 8. R. W. Robinson, A dichotomy of the recursively enumerable sets, Z. Math. Logik Grundlagen Math., 14 (1968), 339—356. 9. Young P., Towards a theory of enumeration, /. Assoc. Comput. Mach., 16 (1969), 328—348. (Русский перевод: Янг П., К теории перечислений, Кибернетический сборник, новая серия, вып. 8, изд-во «Мир», М., 1971, стр. 201—231.) 10. Young P., Speed-ups by changing the order in which sets are enumerated, Purdue Computer Sciences Dept. Tech. Report TR-31, 1968. 11. Young P., Speed-ups by changing the order in which sets are enumerated, Preliminary abstract, 1st ACM Symp. on Theory of Computing, 1969, pp. 89— 92.
СОКРАЩЕНИЕ ДОКАЗАТЕЛЬСТВ ПРИ ДОБАВЛЕНИИ НОВЫХ АКСИОМ1? А. Эренфойхт, Я. Мыцелъский Цель этой заметки — уточнить и доказать следующее неформальное утверждение: если Т — теория, а а — такая новая аксиома, что Т + отрицание а является неразрешимой теорией,, то для некоторых теорем доказательства их в теории Т + ее окажутся значительно короче, чем соответствующие доказательства в теории Т. Заметим, что если Т — существенно неразрешимая теория, например такая, как арифметика, то это утверждение верно, когда предложение а не есть теорема из Тг так как тогда теория Т + отрицание а неразрешима. Пусть Т — формализованная теория, в число связок которой входят отрицание "1, импликация —>- и дизъюнкция V. Пусть а и т —переменные предложения, а а —фиксированное предложение, все три предложения сформулированы на языке теории 7\ Через га~1 обозначим гёделев номер предложения а, хотя здесь ! I может быть любым взаимно однозначным отображением множества предложений на множество натуральных чисел. Для каждой теоремы т теории Т обозначим через W (т) натуральное число, оценивающее некоторым образом длину кратчайшего доказательства теоремы тв f. Кроме того, пусть I I и ^ удовлетворяют следующим условиям: (i) Множество {2п (2гтЛ + 1) | т выводимо в Т и W(t)^u} рекурсивно. (ii) Существуют такие рекурсивные функции g и h, что для* всякого о W{a-+(a V ог)Х^(ГогП), k{ro~1) = ra V оП. Смысл условия (i) состоит в том, что существует алгоритм,, проверяющий, верно ли, что у т есть доказательство длины ^?г. Это условие влечет за собой рекурсивную перечислимость множества гёделевых номеров теорем из Т. Очевидно, что условия (i)' и (ii) на I I и W разумны. Лемма. Если теория Т + ~1 а неразрешима, т. е. множество {' ст ' | сх V о выводимо в Т} нерекурсивно, то не существует такой г) Ehrenfeucht A., Mycielski J., Abbreviating proofs by adding new axioms* Bull. Amer. Math. Soc, 17, № 3 (1971), 366—367.
Сокращение доказательств при добавлении новых аксиом 173 рекурсивной функции /, что W {%) < / (W (а -> т)) (1) 'для всякого предложения т, выводимого в Т» Доказательство. Предположим противное, т. е. что для некоторой рекурсивной функции / неравенство (1) выполняется. Без уменьшения общности можно считать, что функция / неубывающая. Тогда в силу условия (ii) W(ay o)^f(W(a-+(a\/ o)))^f(gfa^)). Следовательно, для проверки принадлежности данного [целого положительного числа к множеству {^"а^ | а V а ^выводимо в Т} достаточно вычислить /(#*(&)), h(k) и проверить, принадлежит ли 2mh)) (2h (к) + I) множеству {2п (2гтЛ + 1) | т выводимо в Т И W(T)<7l}. Согласно (i), это дает разрешающий метод для Т + П а, что противоречит условию леммы. Чтобы применить эту лемму к теории Т + а, нужно предположить, что функция W* (т), измеряющая длину кратчайшего „доказательства теоремы т в теории Т + а, такова, что (iii) существует такая рекурсивная функция г, что Ж* (т) <r (W(a-> т)) для каждого предложения т, выводимого в Г. Это опять-таки верно для любого а и достаточно разумно определенных W и VK*. Теорема. £с/ш теория Т + П а неразрешима, то не существует такой рекурсивной функции S, что W(x)^S (W* (т)) (2) -для каждой теоремы т теории Т. Доказательство. Предположим противное, т. е. что такая функция S существует. Без уменьшения общности можно считать, что функция S неубывающая. Тогда в силу условия (iii) W (т) <S (W(a-+ т))), что противоречит доказанной только что лемме. Замечание. См. книгу Arbib M. A., Theories of abstract automata, Prentice Hall, Inc., 1969, Chap. 7.4., pp. 261—267, где содержатся примыкающие результаты и соответствующая литература.
ДОПОЛНЕНИЕ 1 СИГНАЛИЗИРУЮЩИЕ ВЫЧИСЛИМЫХ ФУНКЦИЙ1) Л. А. Левин Результаты теории сложности вычислений имеют разную степень инвариантности. Наиболее общие из них (такие, как теоремы «сжимания» и «ускорения» Рабина и Блюма) формулируются для произвольного типа сигнализирующих, удовлетворяющих аксиомам Блюма. В начале настоящего дополнения мы рассмотрим подобные «инвариантные» вопросы, а в конце перейдем к проблемам, имеющим смысл только для более конкретных типов сигнализирующих (емкость памяти, время работы и пр.). 1. Инвариантные результаты теории сигнализирующих Некоторые замечания Для удобства изложения мы будем формулировать теоремы в терминах емкости памяти машин Тьюринга, по совершенно- ясно, как их переформулировать для любых типов сигнализирующих (поскольку любые типы сигнализирующих общерекурсивно выражаются друг через друга). При этом, разумеется, «точность до порядка» перейдет в точность до некоторой другой общерекурсивной функции. Мы будем рассматривать одноленточные машины Тьюринга с произвольным алфавитом на ленте, причем если мощность алфавита равна п, то входные и выходные слова записываются в ?г-ичной системе счисления. Емкостью рА (х) алгоритма А мы будем называть функцию, задающую размер использованной ленты в зависимости от входного слова х. Длину слова х будем обозначать I (х). Результат применения алгоритма А к слову х обозначим через А (х). Очевидно, что рА (х) > max (Z (х), I (А (х))). Очевидно также, что для всякой константы с, расширяя алфавит, всегда можно построить машину, вычисляющую ту же функцию,, но с емкостью, меньшей в с раз. Неравенство с точностью до поряд- !) Написано специально для данного сборника.— Прим. ред. © Издательство «Мир» 1974
Сигнализирующие вычислимых функций 175 ка мы будем записывать как / (х) =^ g (x). (Это значит, что существует такое число с, что / (х) ^c-g (x).) Равенство по порядку будем записывать как / (х) ж g {x). С каждой вычислимой функцией связан целый класс различных вычисляющих ее алгоритмов и соответствующий им класс емкостей. Цель этого раздела — выяснить, как устроены такие классы. В этом направлении уже получены существенные результаты (например, широко известные теоремы ускорения и сжимания). Прежде всего заметим, что не всякая вычислимая функция может вообще входить в какой-нибудь класс емкостей. Замечание. Частичная функция р (х) может быть емкостью какого-нибудь алгоритма тогда и только тогда, когда она сама вычислима с емкостью, не большей р (х). Такие функции мы впредь будем называть простыми. Это очень слабое свойство, так как все «обычные» элементарные функции р (х) вычислимы с емкостью I {р (х)) ж log p (х). Определение простой функции без изменений переносится на функции нескольких переменных. Для удобства будем считать, что в тех точках, в которых соответствующий алгоритм не определен, простая функция принимает значение оо, и в соответствии с этим будем впредь понимать неравенства с простыми функциями. Алгоритм, вычисляющий простую функцию, определенную как емкость некоторого другого алгоритма, будем называть простым алгоритмом. Условимся также считать, что алгоритм вычисляет функцию F (х), если он делает это всюду в пересечении своей области определения и области определения функции F (х). Формулировки теорем Теорема сжимания Рабипа [1] утверждает, что, какова бы пи была простая функция G (х), существует вычислимая функция F (х)щ которая может быть вычислена с емкостью р (х) тогда н только тогда, когда функция р (х) проста и р (х) % G (х). Мы докажем, что эту теорему можно распространить на случай произвольной вычислимой функции G (х). Теорема 1 (общая теорема сжимания). Пусть G (х) — произвольная обще рекурсивная функция. Тогда существует общерекурсивная функция F (х) (со значениями О и 1), вычислимая с емкостью р (х) тогда и только тогда, когда функция р (х) проста и р (х) ^= G (х). Теорема Рабина описывает ситуацию, характерную лишь для очень частного случая вычислимых функций. Блюм [2] показал, что существуют обще рекурсивные функции, не имеющие простой нижней границы емкости вычисления, о которой говорится в теореме Рабина. Однако сформулированное только что обобщение
176 Дополнение 1. Л. А. Левин теоремы Рабина описывает уже общий случай; это утверждается в следующей обратной теореме: Теорема 2 (о нижней грани). Для любой общерекурсивной функции F (х) существует такая обще рекурсивная функция G (х), что F (х) вычислима с емкостью р (х) тогда и только тогда, когда функция р проста и р (х) ^= G (х). Эта теорема показывает, что классы сигнализирующих для вычисления общерекурсивных функций устроены достаточно естественно и теорема об ускорении не так уж портит всю картину. Дело в том, что множество общерекурсивных функций намного богаче множества простых. И естественно, что сложность вычисления произвольной общерекурсивной функции не всегда может характеризоваться простой функцией, хотя всегда характеризуется некоторой общерекурсивной. Мы опишем свойства, которыми обладают классы сигнализирующих для вычислений произвольной общерекурсивной функции. Класс о% функций называется каноническим, если он обладает следующими свойствами: (1) Все функции из о/К простые, причем среди них есть хотя бы одна всюду определенная. (2) Если /, g, h — простые функции, /, g£oM и й^=тт(/, g), то h^aM. (3) Класс оЛ простых алгоритмов, задающих функции из оМ, принадлежит проективному типу 2* (т. е. задается в виде (р£ аЖ) <=>(3aVbR(a, Ъ, р), где R — разрешимый предикат). Теорема 3. Для того чтобы класс функций был классом всех емкостей, пригодных для вычисления некоторой общерекурсивной функции, необходимо и достаточно, чтобы он был каноническим. Из этой теоремы вытекает, в частности, справедливость одной гипотезы, выдвинутой А. Н. Колмогоровым. Гипотеза состоит в том, что для любой «достаточно хорошей» последовательности монотонных функций pi существует функция, вычислимая с теми и только теми емкостями, которые превышают какую-нибудь из функций pt. Эта гипотеза включает как частные случаи и теорему сжимания, и теорему ускорения. (Эта гипотеза также описывает общий случай сложности вычисления, как это явствует из приведенной ниже леммы 1 и теоремы 3.) Все сформулированные результаты можно обобщить па случай частично рекурсивных функций, определенных на произвольном перечислимом множестве.
Сигнализирующие вычислимых функций 111 Теорема 4. Пусть А — произвольное перечислимое множество. Теоремы 1 — 3 останутся справедливыми, если в их формулировках термин «общерекурсивная функция» всюду заменить на «частично рекурсивная функция с областью определения А», а неравенства вида «а (х) ^ Ъ (х)» заменить на «а (х) ^= Ъ (х) для х £ А». Дадим теперь доказательства всех этих результатов. Доказательства А-каноническим классом будем называть класс функций, удовлетворяющий условиям (1) — (3) с изменениями, указанными в теореме 4. Лемма 1. Для любого А-канонического класса существует частично рекурсивная функция g (k, х), монотонно убывающая по к и такая, что функция g (к, х) + I (к) проста, областью определения функции g (О, х) является множество А и для всякого простого р (p^)<=>(3kg(k, x)^p(x)). Доказательство. Пусть / (х) — функция из Л с областью определения А, существование которой гарантировано условием (1) определения 4-канопического класса, a R {а, Ъ, р) — разрешимый предикат, упоминаемый в условии (3). Легко заменить 7? другим предикатом R', вычислимым с емкостью, равной длине аргументов, и характеризующим то же семейство и//. Если R (а, Ъ, р) — емкость алгоритма, вычисляющего /?. то положим Я'(я, Ъ, p)<^>W<^b[(R(a, Ъ', p)^l(b))=>R(a, Ь', р)]. Очевидно, что R' — просто вычислимый предикат и (3a\fb IV {а, Ъ, р)) <=> (3aVb R (а, Ъ, р)) <=> {ре <М). Пусть oJf'hiX — конечное множество простых алгоритмов с такими номерами р^.к, что За^кУЬ^х R'(a, Ъ, р). Обозначим ^к, х=с^к, xU(Po}, где р0 — некоторый простой алгоритм, вычисляющий функцию /, причем g//o, зс = {ро}- Очевидно, что о/И = (J П <^н,х и o/Mk+i,xZD k х ZDQ?/kiX. Пусть, наконец, g(k, x) = min p (x). PS^Mh, х Предоставляем читателю проверить, что g (к, х) обладает всеми свойствами, требуемыми леммой 1.
178 Дополнение 1. Л. А. Левин Частично рекурсивную функцию G (х) будем называть полупростой, если для нее существует алгоритм А (х, п), вычислимый с емкостью п для п ^ I (х) и такой, что если G (х) ^ п, то G (х) = = А (х, п). Лемма 2. Для каждого А-канонического класса существует такая полупростая функция G (х) с областью определения А, что всякая простая функция р принадлежит о/К тогда и только тогда7 когда р (х) ^= G (х) для х £ А. Доказательство. Мы будем строить функцию g' (x) в виде g' (x) = g (r (х), х), где g — функция, существование которой утверждается в лемме 1. Для этого построим такое множество М пар (/с, х), что существует алгоритм с емкостью g (k, х) + / (к), выясняющий принадлежность (/с, х) множеству М. Затем положим г (х) = min к. Легко видеть, что при этом функция g' (x) будет полупростой. Окончательная функция G (х) будет просто сужением функции gr (x) на множество А. Наша конструкция будет использовать метод приоритета Мучника — Фридберга (см. [6]). Для того чтобы функция G (х) мажорировалась по порядку на множестве А любой функцией р £ оЛ, достаточно, чтобы для каждого к существовало лишь конечное число таких слов х 6 А, что (к, х) £ М. Тогда г (х) -> оо при х £ А, #->оо, а значит, g (х) меньше g (к, х) при всех х £А, начиная с некоторого. Вместе со свойством (б) из леммы 1 это дает требуемое. С другой стороны, конечные множества Bh = {х \ (к, х) £ М) должны быть достаточно велики, чтобы при всяком р <{о# существовало такое слово х£А, что р (х) <.G(x) = g(к, х), где (к, х)^М. Нам будет удобно строить М в виде [} Ма, где Ма — множество а тех пар (/с, х)£$, для которых g(k, x)<Ca. Одновременно будем строить множества ffia, состоящие из чисел /с, для которых существует такое слово х, что (к, х)^М и g (0, к)<Са (последнее условие нужно, чтобы гарантировать, что х£А). Перейдем к построению. Пусть Mq и а^0 будут пустыми множествами. Допустим, что мы уже определили Жа и 3*а. Тогда положим A+i=AU№ x)\a = g(k, x)>ph(x), к^х, к$3*а}, где ph — простой алгоритм с номером к; &a+i = {k\k^a, 3x[(k, x)e^a+Ag(0, x)^a]}. Как было сказано, по определению <#= U &*, r(x)= min к, g'(x) = g{r(x), x) (ft, х)ьйЛ
Сигнализирующие вычислимых функций 179 и G (х) — сужение функции g' на множество А. По построению множества М ясно, что свойство (/с, х)£М проверяется с емкостью g(k, x). Очевидно также, что если (/с, х§)^31, xq£A и l(xo)^>k, то значение g(0, x0) определено и превосходит к, а следовательно, &£<^#(о, *0)+i- Тогда по определению множества Ма пара (/с, #) может принадлежать М только при к (£ оРё^ Х) и, значит, только при g(k, x)<Cg(0, ^о)+1 (так как &*а возрастают по а). Таких х конечное число, поскольку g(k, x))^l(x), так как g(k, х)+ I (к) — простая функция. Таким образом, и второе из трех условий, которым должно удовлетворять множество М, выполнено. (В этом и состояла цель введения множеств <9V) Осталось показать, что для всякого р$оЖ и для всякой константы с существуют такие к и х, что х£А, (к, x)^Si, g(k, х)^>с-р(х) и, следовательно, G(x)^>c»p(x). Пусть к — номер некоторого простого алгоритма, вычисляющего с-р(х). Если к £ о^ = U oPa, то найдется такое слово х, что а g(0, x)^Za (и, значит, х£А в силу свойства (а) из леммы 1) и (к, х)^Ма+\- Следовательно, g(k, x)> рк (х) = с-р(х), что и требуется. Пусть теперь к (£ о^. Поскольку класс о/И Л-капонический, р$ оМ, a g(k, х) принадлежит <М как функция от х (по лемме 1), найдется такое слово х£А, х^к, что g(k, х) > с-р (х) = ph (x). Пусть a = g(k7 х) {а конечно, так как х 6 А и g(0, x)^g(k, x)). Тогда (/с, х) £ ffla по определению множества 31 и, следовательно, G(x) = g' (x)> g(k, x)> ph(x) = c-p(x), что и требуется. Таким образом, лемма 2 доказана. Лемма 3. Пусть G (х) — полупростая частично рекурсивная функция. Тогда существует частично рекурсивная функция F (х) с той же областью определения (и со значениями 0,1), вычислимая с емкостью р (х) тогда и только тогда, когда р (х) ^= G (х) для х £ А. Доказательство. Пусть р0(х)^ G (х) — простая функция с областью определения, как у G (х) (например, сигнализирующая для G (х)). Построим последовательность {Fa (x)}. Функция Fa (х) определена тогда и только тогда, когда G (х) ^ а, и принимает значение 0 или I, & FQ (х) принимает значение только 0. Пусть функция Fа (х) уже построена. Тогда для тех точек х, где Fa (x) определена, Fa+i (x) будет равна Fа (#), а в остальных точках ее значение определяется так: берется наименьший по номеру алгоритм А с емкостью рА (х) ^ а, номер которого меньше а и для которого А (у) = Fа (у) во всех точках г/, где р0 (у) ^ а и Ра(у) ^ а (если такого А нет, то Fa+i (х) = 0), и полагается Fa+\ (#) = 1> если А (х) = 0, и Fa+i (x) = 0 в противном случае. Мы будем говорить, что в точке х опровергается алгоритм А. 12*
180 Дополнение 1. Л. А. Левин Теперь можно определить искомую функцию. Пусть F (х) = = Fg(x){z)- Очевидно, что если р (х) $=£(#), то F (х) можно вычислить с емкостью р (х) (так как для вычисления F (х) достаточно знать значения функции G (х), а она полупроста). Обратно. Пусть А — такой алгоритм, что А (х) = F (х) в пересечении областей определения, причем существует бесконечно много х из этого пересечения, для которых рА (х) <<G (x). Пусть 35 — множество алгоритмов В с номерами, не большими чем у алгоритма А, для которых существует точка х, где В (х) и F (х) определены и В (х) Ф F (х). Пусть а — наименьшее число, большее номера алгоритма Л, и такое, что VB£33xp0(x)<a, pB(x)<a, Р{х)фВ(х). Тогда найдется такая точка х, что G (х) ^ а, рА (х) <<G (x). В этой точке должен опровергаться либо алгоритм А, либо какой- нибудь алгоритм с меньшим номером, не принадлежащий 3. Последнего быть не может по определению множества 2). Значит, А (х) Ф F (х), что и требовалось. Лемма доказана. Теперь все четыре теоремы становятся очевидными. В самом деле, легко убедиться, что класс емкостей произвольной вычислимой функции будет каноническим. По лемме 2 для него существует полупростая граница, что и дает теорему 2. Объединение лемм 2 и 3 дает теорему 3. Теорема 1 получается из теоремы 3, если заметить, что класс простых функций, больших по порядку заданной вычислимой функции F (х), будет каноническим. Теорема 4 обобщает предыдущие теоремы, но леммы 1—3 сформулированы сразу в виде, пригодном для этого обобщения. Таким образом, все теоремы доказаны. 2. О некоторых конкретных видах сигнализирующих Результаты разд. 1 сформулированы для емкости памяти машин Тьюринга. При этом мы всюду пренебрегали умножением на константу (что соответствовало изменению алфавита на ленте). Эти результаты, как оговаривалось, имеют инвариантный смысл и распространяются на любой другой тип сигнализирующих. Правда, при этом придется пренебрегать уже не умножением на константу, а применением другой, вообще говоря произвольной, общерекурсивной функции (разумеется, фиксированной при фиксированном типе сигнализирующих). Ясно, что это огрубление неизбежно, если мы хотим получать результаты, годные во всех случаях, когда выполняются аксиомы Блюма. Более тонкие проблемы обязательно будут иметь меньшую общность. Такова, например, проблема о соотношении необходимого объема памяти и времени работы алгоритмов. Эта проблема
Сигнализирующие вычислимых функций 181 действительно имеет смысл для любых естественных типов машин, но не для произвольных сигнализирующих. Это тоже высокая степень инвариантности (гораздо большая, чем, например, в задачах о «вычислимости в реальное время»). Для выделения задач такой степени инвариантности нужно формально описать используемые в них классы типов сигнализирующих (например, «емкость памяти любых естественных типов машин»). При этом чем более узок этот класс, тем больше точность описания. Например, результаты Гжегорчика [4] и Ричи [5] дают возможность аналитически описать класс «емкости памяти произвольных естественных типов машин» с точностью до мультипликативной константы. А. А. Мучник поставил вопрос о возможности такого описания для «времени работы произвольных естественных типов машин». Иными словами, нужно аналитически ввести класс сигнализирующих, каждая из которых с некоторой точностью совпадала бы с временем работы какой-нибудь «естественной» машины; при этом должно быть интуитивно убедительно, что исчерпываются все типы машин, которые можно признать «естественными». Важным при этом будет вопрос о точности этого описания. Например, легко заметить, что все обычные типы сигнализирующих переводятся друг в друга функциями, элементарными по Каль •* мару. Это значит, что если согласиться на грубую точность, при которой функции / (х) и 2fW считаются эквивалентными, то задача, поставленная Мучником, станет тривиальной (при такой точности не будет, в частности, различия между временем работы и емкостью памяти). Ниже приводится определение «времени работы» с точностью до мультипликативной константы и затем до асимптотики в показателе степени. Эта точность, с одной стороны, достаточна для формулировки таких вопросов, как проблема перебора, проблема о соотношении емкости памяти и времени работы, а с другой стороны, оставляет свободу, достаточную, чтобы абстрагироваться от свойств отдельных алгоритмических систем и дать общее определение. В работе [4] вводится и изучается класс функций Щ2. В работе [5] показано, что этот класс совпадает с классом функций / (х), для вычисления которых (например, на машине Тьюринга) достаточно емкости памяти с-1 (х). С этими результатами связана Теорема 1 (Джонс [8]). а) Функция р (х) проста (в смысле разд. 1) тогда и только тогда, когда р (х) ^= I (х) и отношение R (х, у) <=> (I (у) ^ р (х)) принадлежит классу g2. б) Функция F (х) вычислима с емкостью р(х) тогда и только тогда, когда р(х) — простая функция и существует такая функция g{x, у)£%\ что F(x) = g{x, 2P(X)). (Здесь фигурирует 2т\ потому что I (2Р(Х)) = р (х).)
182 Дополнение 1. Л. А. Левин Таким образом, эти результаты дают возможность определить сигнализирующую емкости памяти без обращения к конкретным типам машин. Это определение очень похоже на аксиоматическое определение Блюма для произвольного типа сигнализирующих, только вместо общерекурсивных функций берутся функции из g2. Оно придает величине емкости памяти, рассматриваемой с точностью до порядка, в определенной мере инвариантный смысл (в той мере, в которой мы признаем инвариантный смысл класса Ш2). Зададимся целью провести аналогичное построение для аналитического определения времени работы. Для этого придется аналитически задать некоторый класс функций, «вычислимых за малое (по сравнению с длиной аргумента) время», и использовать его вместо g2. Напомним определение ограниченной рекурсии, с помощью которой в работе [4] определялся класс %2. Функция / (х, у) получается ограниченной рекурсией из функций g, h, /, если она удовлетворяет условиям а) /(*, 0) = g(x), б) / (#, п + 1) = h (х, п, / (х, п)), в) / (х, п) < / (я, п). Определение. Если функция / (х, п) получается из g, h, у ограниченной рекурсией, то будем говорить, что функция Ф (#» У) = f (xi I (у)) получается из g, h, j слабой рекурсией. Определени е. (Кобхэм [7]): Классом <£Р элементарных функций назовем минимальный класс, замкнутый относительно слабой рекурсии и суперпозиции и содержащий функцию роста х1^ и базисные функции 1) х + г/, 2) х — г/, 3) [х/2], 4) х + 1, 5) х2, 6) [)/х]. Теорема 2 (Кобхэм [7]). В класс §Р входят те и только те функции, которые вычислимы на машине Тьюринга за время, полиномиально зависящее от длины входных слов. Аналогичную теорему можно, разумеется, доказать и для любого другого естественного типа машин (например, алгоритмов Колмогорова — Успенского, растущих автоматов Барздиня и пр.). Будем говорить, что функции / (х) и g (x) сравнимы, если отношение log / (x)/log g(x) ограничено сверху и снизу. Для удобства будем рассматривать только такие машины Тьюринга, количество операций которых всегда больше длины входного слова. Функцию р (х) назовем простой по времени, если ее можно вычислить, совершив количество операций, сравнимое с р (х). Теперь можно сформулировать аналог теоремы 1 для сигнализирующей времени.
Сигнализирующие вычислимых функций 183 Теорема 3. а) Функция р (х) ^ I (х) проста по времени тогда и только тогда, когда отношение R (х, у) <=> (I (у) ^ ^ Р (у)) принадлежит классу $>. б) Функция F (х) вычислима за время, сравнимое с р (х), тогда и только тогда, когда функция р (х) проста по времени и существует такая функция g (х, у) £ &, что F (х) = g (x, 2рМ). Из сказанного выше ясно, что понятие временной сложности вычисления функции молшо определить с точностью до возведения в ограничеипую степень, не связывая себя какими-нибудь специальными типами машин. Однако для постановки многих важных вопросов эта точность недостаточна. Такова, например, задача о временной сложности перемножения матриц. Мы покажем, как с помощью рассмотренного выше класса $> определить временную сложность с точностью до эквивалентности функций t (x) ~ t (x) -log111 (x). Для этого необходимо более тонко проанализировать свойства объектов (состояний памяти), с которыми работают машины. Для определения класса е? можно было ограничиться рассмотрением номеров объектов в любой естественной кодировке, так как все такие кодировки переводятся друг в друга функциями из <9*. Теперь этого мало, поскольку для перевода числа х, например, из двоичной кодировки в троичную необходимо время порядка 1(х), что намного больше приемлемой погрешности (logkl(x)). Для каждого типа машин существует набор функций ft (x) от состояния памяти х, вычислимых за малое время (сравнимое с log I (x)) и задаваемых программами i малой длины (также сравнимой с log I (x)). Для многих типов машин таблица значений таких функций полностью характеризует состояние памяти (для этого нужно, чтобы любое место в памяти х было достижимо за время, сравнимое с log I (x)). Таковы, например, алгоритмы Колмогорова — Успенского, реальные ЭВМ, а также машина Тьюринга со скачущей головкой (у которой головка за один шаг может из £-й клетки перейти не только в (i + 1)-ю и в (i — 1)-ю, но также в (2£)-ю и (£/2)-ю). Приводимые ниже конструкции описывают работу именно такого рода машин. Состояние х памяти таких машин описывается функцией / (i), которая числу i (программе) ставит в соответствие число ft (x). Перейдем к точным определениям. Мы будем рассматривать функции, определенные на конечных множествах натуральных чисел. Такие функции молшо задавать в виде таблицы, таблицу рассматривать как слово в соответствующем алфавите, а слово — как число в соответствующей системе счисления. Это число будем называть номером функции. Наложением функции Д на функцию /2 назовем функцию /3, которая равна /4 в области определе-
184 Дополнение 1. Л, А. Левин ния функции /i и равна /2 в остальных точках. Нормой I (/) функции / назовем максимальную длину двоичного кода чисел из области определения и множества значений функции /. Рассмотренные выше функции g (х{, . . ., хп) из класса SP задавались конечными схемами суперпозиции и слабой рекурсии из базисных функций. Если теперь к числу базисных функций формально добавить символы переменной функции / (i) и зависящей от / константы Cf = I (/), то такие схемы будут задавать функционалы gf(xl, . . ., хп), зависящие от функции / и чисел xt. Эти функционалы будут просто вычислимы относительно функции /, используемой как оракул. Такие функционалы будем называть элементарными и класс их обозначать через с9**. Очевидно, что длины значений такого функционала ограничены полиномом от чисел 1(f), 1{хг), . . ., I (хп). С каждым функционалом gf (x) свяжем оператор, который каждой функции / ставит в соответствие функцию /', представляющую собой наложение на / функции с номером gf (0). Операторы, соответствующие элементарным функционалам, назовем элементарными, а их класс обозначим через £Р. Через gk будем обозначать /с-кратную итерацию оператора g. Теорема 4. Оператор А вычислим алгоритмами Колмогорова — Успенского за время, эквивалентное (или меньшее) t (/) > > 2ZW, и с емкостью памяти, эквивалентной s (/), тогда и только тогда, когда это же выполнимо на машинах Тьюринга со скачущей головкой, и тогда и только тогда, когда функционал s (/) не превосходит или эквивалентен t (/) и существуют такие операторы go, gi, g2 6 $\ что [Л (/) = g1(gt0 <я (fo (/))); g\2 Ы/)) = й (/)+1fe (/)) и функционал max 2l^n<<f)) эквивалентен s (/). n В этой теореме под эквивалентностью функционалов t{ и t2 понимается соотношение Э к V/ [*, (/) < h (f)-log% (/) & t2 (/) <h (f).log\ (/)]. Разумеется, эту теорему можно распространить и на многие другие типы машин с «логарифмическим обращением к памяти». Такая же конструкция проходит и для машин с «параллельной работой всех элементов памяти». Для этого вместо класса элементарных операторов нужно рассмотреть класс параллельно- элементарных операторов. Они получаются из элементарных функционалов g}(x) и ставят в соответствие функции Д такук> функцию /2, что /2(га) = gfi (n), причем область определения и норма функции /2 задаются специальными функционалами gh И и ёп (°)-
Сигнализирующие вычислимых функций 185 В заключение отметим, что многие конструкции разд. 2 настоящей статьи подробно рассматривались в литературе; в частностиг результаты, связанные с теоремой 1, содержатся в [4, 5], класс <£Р- изучался в [7] и в дополнении А. А. Мучника, помещенном в сборнике переводов [3], некоторые результаты на эту же тему содержатся в [8]. Результаты разд. 1 формулировались автором в работе [9]. СПИСОК ЛИТЕРАТУРЫ 1. Rabin M. О., Degree of difficulty of computing a function and a partial ordering of recursive sets, Tech. Rep. No. 2, Hebrew u., Jerusalem, Israel, 1960. 2. Blum M., A machine-independent theory of the complexity of recursive functions, /. Assoc. Comput. Machinery, 14, 2 (1967), 322—336. (Русский перевод: Блюм М., Машинно-независимая теория сложности рекурсивных функций, сб. «Проблемы математической логики», изд-во «Мир», М.г 1970, стр. 401—422.) 3. Сб. «Проблемы математической логики», изд-во «Мир», М., 1970. 4. Grzegorczyk A., Some classes of recursive functions, Rozprawy Matemat., 4 (1953). (Русский перевод: Гжегорчик А., Некоторые классы рекурсивных функций, сб. «Проблемы математической логики», изд-во «Мир»,. М., 1970, стр. 9—49.) 5. Ritchie R. W., Classes of predictably computable functions, Trans. Amer. Math. Soc, 106 (1963), 139—173. (Русский перевод: Ричи Р. В., Классы предсказуемо вычислимых функций, сб. «Проблемы математической логики», изд-во «Мир», М., 1970, стр. 50—93.) 6. Роджерс X., Теория рекурсивных функций и эффективная вычислимость,, изд-во «Мир», М., 1972. 7. Cobham A., The intrinsic computational complexity of functions, Proc. 1964 International Congress of Logic, Methodology and Philosophy of Science, Amsterdam, 1965, pp. 24—30. 8. Jones N. D., Functions computable by space-bounded Turing machines (не опубликовано). 9. Левин Л. А., О емкости памяти алгоритмов, ДАН СССР, 212:4 (1973), 804-805.
ДОПОЛНЕНИЕ 2 ТЕОРЕМА ОБ УСКОРЕНИИ [В ФОРМАЛЬНЫХ СИСТЕМАХ1) М. И. Канович В данном дополнении мы хотели бы еще раз обратить внимание читателя на тесную связь теоремы Блюма об ускорении вычисления общерекурсивных функций и теорем о сокращении длины доказательства (сложности доказательства) в формальных системах. Еще в 1936 г. Гёдель [1] показал, что при расширении арифметики доказательство многих теорем арифметики существенно сокращается. По-видимому, именно Гёделем впервые была получена теорема об ускорении (в формальных системах). Эренфойхт и Мыцельский [2] дали весьма прозрачное доказательство аналогичного, но гораздо более общего утверждения. В работе [2] рассматривается теория Г и ее расширения Т + а, получаемые добавлением к списку аксиом произвольной формулы а. Пусть имеются критерии сложности доказательства в теории Т и ее расширениях, удовлетворяющие аксиомам типа аксиом Блюма для сигнализирующих [3] и некоторым естественным условиям. Тогда если теория Т + На неразрешима, то для любой общерекурсивной функции / найдется такая теорема т теории Г, что /(ТУ* (т)) < ТУ(т), где ТУ и ТУ* — критерии сложности доказательства в теориях Т и Т + а соответственно. Этот результат можно усилить, немного модифицируя доказательство Эренфойхта и Мыцельского [2]. Теорема 1. Если выполнены условия теоремы Эренфойхта— Мыцельского, то для произвольной общерекурсивной функции / и произвольной формулы а, для которой теория Т + ^а неразрешима, существует бесконечное множество таких теорем т теории Т, что /(ТУ* (т)) < ТУ(т). Мы будем рассматривать формальную арифметику Аг (см. [4]) и ее расширения Аг + а, получаемые при добавлении к списку аксиом произвольной формулы а. 1) Написано специально для данного сборника.— Прим. ред. © Издательство «Мир», 1974
Теорема об ускорении в формальных системах 187 Будем говорить, что алгоритм D есть последовательность критериев сложности доказательства (для Аг), если для произвольной формулы а выполняются следующие условия: (1) какова бы ни была формула Р, алгоритм D (применим и) перерабатывает пару сф в натуральное число тогда и только тогда, когда формула Р есть теорема в теории Аг -{- а; (2) существует алгоритм, по всякой формуле Р и по любому натуральному числу п определяющий, верно ли, что D (аР) ^ щ (3) существует такая общерекурсивная функция g *), что для любых формул Р (х) и у (х) со свободной переменной х D ((а&ух (р (х) = у (х))) у (k)) < g (D (ар (к))), если для данного натурального числа к формула Р (к) есть теорема в теории Аг + а. Условия (1) и (2) аналогичны аксиомам Блюма для сигнализирующих [3]. Условие (3) говорит о том, что сложность доказательства формул вида у (/с), эквивалентных данным формулам Р (/с), «не превышает» сложности доказательства формул Р (/с), если только к списку аксиом теории добавить аксиому об эквивалентности таких формул. Если арифметика непротиворечива, то в ней выразим любой общерекурсивный предикат [4]. Пусть формула Р (х) выражает общерекурсивный предикат Г (х), т. е. при Г (к) = 1 доказуема (в Аг) формула Р (/с), а при Г (к) = 0 доказуема формула Йр (к). Сложность доказательства формулы Р (к) (или ~ip (к)) можно рассматривать как сложность вычисления Г (к). Из теоремы Блюма [3] вытекает Следствие. Пусть D — последовательность критериев сложности доказательства. Тогда для произвольной общерекурсивной функции г (х, у), какова бы ни была формула а, для которой теория Аг + а непротиворечива, можно построить такую бесконечную вычислимую последовательность теорем ро, рь . . ., Рп, . . . (в теории Аг), что квазисуществу ет 2) такая формула у, что 1) для почти всех п г (п, D ((а&у) Р„)) < D (ар„); 2) если теория Аг ^-непротиворечива, то теория Аг + (а&у) непр отиворечива. 1) То есть имеется алгоритм, перерабатывающий формулу а в гёделев номер соответствующей функции я. Аналогично понимается «существует» в пункте (2). 2) То есть предположение о несуществовании такой формулы у ведет к противоречию (хотя, быть может, и не существует алгоритма, перерабатывающего тройку <D, г, сс> в соответствующую формулу у).
188 Дополнение 2. М. И. Канович Однако подобное следствие вытекает и из теоремы 1 (в качестве формулы у достаточно взять любую неразрешимую формулу для теории Аг + а и положить W (т) = D (ат), W* (т) = D ((а&т) т)). И в теореме 1 и в сформулированном следствии последовательность теорем с «ускоряемыми» доказательствами в принципе изменялась при переходе от одного расширения теории к другому (непротиворечивому) расширению теории. Оказывается, что можно для данного показателя ускорения — функции г — выбрать одну последовательность теорем, доказательства которых можно ускорять (почти все) в «г раз», отправляясь от любого непротиворечивого расширения Аг + а. Теорема 2. Пусть D — последовательность критериев сложности доказательства. Пусть г (х, у) — общерекурсивная функция двух переменных. Тогда можно построить такую вычислимую последовательность теорем (в Аг) ро, j}4, . . ., рп, . . ., что а) существует такая бескванторная формула р (х, у, t), что для любого п формула $п имеет вид 3 хр (х, п, 0) или 3 хр (х, п, 1). б) для любой формулы а, для которой теория Аг + а непротиворечива, квазисуществует такая формула у, что 1) для почти всех п r(n, D((a&y) рп))<Я(«Рп); 2) формула у имеет вид V#6(#), при этом для всякого натурального числа к формула б (к) выводима в Аг. Кроме того, существует алгоритм, перерабатывающий формулу а в конечный список формул, среди которых содержится формула у, обладающая свойствами 1) и 2). Рассмотрим следующий пример. Пусть D — последовательность критериев сложности доказательства и пусть г (х, у) = = х + 2у. Тогда существует такая последовательность теорем Ро, рь . . ., Рп, . . ., что квазисуществует такая формула уи что для почти всех п £(YiPn)<log2£(P„), квазисуществует такая формула у2, что для почти всех п D (у2Рп) < log2 D (Vlp„) < log2 log2 D (P„), квазисуществует такая формула у3, что для почти всех п £(Y3Pn)<l0ga£(Y2Pn), и т. д. Все формулы уи у2, у3, . . . содержатся в конечных списках формул, выдаваемых некоторым алгоритмом. Если теория Аг со- непротиворечива, то все расширения Аг -f- yt непротиворечивы.
Теорема об ускорении в формальных системах 189 Неравенства п < г (п, D (Tl PJ) < D (PJ показывают, что формулы рп нетривиально «различны», так как возрастает сложность их доказательства. Можно ли усилить теорему 2, так подобрав последовательность Ро» Pi» • • •» Рп» • • •» чтобы существовал алгоритм, перерабатывающий формулу а в соответствующую формулу у? Из результатов Блюма [5] можно вывести, что при достаточно большой функции г такое усиление невозможно. Если же последовательность теорем ро, . . ., Рп, ... строится только для данной формулы а (т. е. допускается, что для другой формулы а будет построена последовательность иных формул Р^), то такой алгоритм имеется: по данной формуле а, если теория Аг + а непротиворечива, можно эффективно построить неразрешимую для Аг + а формулу у, и по теореме 1 можно (для данной функции г) построить такую последовательность формул ро, . . ., Р7г, . . ., что для всех п выполняется неравенство Отметим, что теорема 2 остается справедливой, если функцию г заменить на вычислимый оператор, сохраняющий общерекурсив- пость (операторный аналог теоремы Блюма указан в [6]). СПИСОК ЛИТЕРАТУРЫ 1. Godel К., Ober die Langevon Beweigen, Ergeb. Math. Koll. Heft, 7 (1936), 23-24. 2. Ehrenl'eucht A., Mycielski J., Abbreviating proofs by adding new axioms, Bull. A MS, 17, № 3 (1971), 366—367. (Русский перевод см. настоящий сборник, стр. 172—173.) 3. Blum M., A machine-independent theory of the complexity of recursive functions, /. A CM, 14, № 2 (1967), 322—336. (Русский перевод: Блюм М., Машшшо-иезависимая теория сложности рекурсивных функций, сб. «Проблемы математической логики», изд-во «Мир», М., 1970, стр. 401 — 422.) 4. К лини С. К., Введение в метаматематику, ИЛ, М., 1954. 5. Blum M., On effective procedures for speeding-up algorithms, /. ACM, 18, ЛЬ 2 (1971), 290—305. (Русский перевод см. настоящий сборник, стр. 127—- 149.) 6. Fischer P. С, Meyer A. R., On computational speed-up, Conf. Record 9 Annual IEEE Symp. on Switch, and Automata Theory, 1968, pp. 351—355. 7. Слисенко А. О., Одно свойство перечислимых множеств, содержащих «сложно» выводимые формулы, Зап. научн. семинаров Ленингр. отдел, матем. ин-та, т. 20, изд-во «Наука», Л., 1971, стр. 243—262.
IV. СЛОЖНОСТЬ ВЫЧИСЛЕНИЙ НА МАШИНАХ ТЬЮРИНГА А>ЛЕНТОЧНОЕ МОДЕЛИРОВАНИЕ fc-ГОЛОВОЧНЫХ МАШИН ТЬЮРИНГА 1) Г.-Й. Штосе 1. Введение В ряде работ последних лет рассматривался вопрос, с какими издержками можно промоделировать машины Тьюринга с определенными параметрами памяти на машинах Тыорипга, память которых устроена иначе. Хартманис и Стирнз [1] показали, например, что для моделирования машин Тьюринга с к лентами на машинах Тьюринга только с одной лентой требуется не более квадрата первоначального времени вычислений. Как следует из работы Хеыни [2] для машин Тьюринга с одной или двумя лентами, этот результат в общем случае усилить нельзя. Согласно [1], квадратом первоначального времени можно обойтись также и тогда, когда машина Тьюринга с т-мерной памятью моделируется на машине Тьюринга с 2 лентами. Этот результат можно значительно улучшить (см. следующую статью настоящего сборника). По Хенни и Стирнзу [3] возможно такое моделирование /с-лен- точной машины Тьюринга на машине Тьюринга с 2 лентами, что время вычисления t увеличится не более чем в log t раз. Хотя имеется предположение, что эта оценка точная, все-таки оценка снизу не известна. Отсутствуют также и какие-либо утверждения о моделировании машин Тьюринга с к лентами на машинах Тьюринга с к — I лентами для /с > 3 и I < & — 2. В работе [1] содержится метод моделирования машин Тьюринга с к независимыми читающе-печатающими головками на одной ленте без увеличения времени вычисления на машинах Тьюринга, имеющих по одной головке на к + 1 лентах. В настоящей работе будет показано, что для этого нужно только к лент с одной головкой на каждой 2). Отсюда получается замечательный результат, х) Stop В.-J., /c-Band-Simulation von /c-Kopf-Turing-Maschinen,4 Com- pitting, 6 (1970), 309—317. 2) Дальнейшие результаты получены в работе Fischer P., Meyer A., Rosenberg A., Real-time simulation of multihead tape units, /. Assoc. С от put. Machinery, 19, 4 (1972), 590—607.— Прим. ред.
к-ленточное моделирование к-головочных машин Тьюринга 191 состоящий в том, что быстрота вычислений машин Тьюринга с линейными лентами зависит только от числа головок, но не от их распределения по отдельным лентам. 2. Предварительные рассмотрения Прежде всего опишем использующееся понятие машины Тьюринга. Машина Тьюринга с к головками на одной ленте, называемая к-головочной машиной, состоит из конечного автомата и одной ленты В, которая разделена на бесконечную в обе стороны последовательность ячеек. В каждую ячейку записан ровно один знак (Xja из конечного алфавита А ={а0, оц, . . ., ат} (т > 1), причем не более чем для конечного числа ячеек |х ф О (а0 — пустой знак). Лента связана с автоматом через к читающе-печатающих головок Кг (i = 1, . . ., к), каждая из которых находится ровно на одной ячейке ленты В. При этом на одной и той же ячейке могут находиться несколько головок. Автомат имеет z состояний q £ Q, среди которых q{ выделяется как начальное, a qz как заключительное. В каждом состоянии q 6 Q\{qz} ровно одна головка Kt активна и совершает следующее: либо (Ai) в зависимости от находящегося под Kt знака а автомат переходит в следующее состояние q' (считывание), либо (А2) Ki печатает знак а', и автомат переходит в состояние q" (печать), либо (А0) К% перемещается на одну ячейку вправо или влево, и автомат переходит в состояние q'" (сдвиг). При этом £, a', q", q'" определяются одним q, в то время как q' зависит от q и а. Мы будем рассматривать машины Тьюринга с к лентами Ви . . ., Bk, каждая из которых имеет одну читающе-печатающую головку Кв- Такие машины называются к-ленточиыми машинами. Они определяются аналогично, с одной лишь разницей, что головки теперь действуют не все вместе на одной ленте, а порознь па к лентах. Ячейки лент занумеруем целыми числами в их естественном порядке. Номер ячейки, находящейся под головкой Kt, обозначим через | Kt |, а стоящий в у'-й ячейке алфавитный знак — через (у ).
192 Г.-Й. Штосе Для /с-ленточных (й-головочных) машин введем следующие нормировки: Вначале пусть | Кв. | = i — 1 на Въ (| Kt | = i - 1 на В) для i = 1, 2, . . ., к. (1) Задание аргумента, т. е. знаков фа0, допускается вначале только в ячейках / ^ к ленты Вк (В). (2) При останове знаки фа0 встречаются в крайнем случае лишь на Bk, слева от | Кв | стоят только пустые знаки (ячейки | Kt \ (i = 1, . . ., к) и все, лежащие левее, несут только пустые знаки). (3) Замечание. Для моделирования /с-головочных машин Тьюринга на /с-ленточных машинах нормировка начальных положений головок необходима, так как взаимное расположение головок /с-головочной машины может означать косвенное задание аргумента. Так, Л-головочная машина может работать немного по-разному в зависимости от того, находятся ли вначале две головки на одной и той же ячейке или нет. Этому пет никакого аналога на Аг-лепточной машине. Время вычисления, производимого машиной Тьюринга, мы измеряем в шагах, т. е. подсчитываем, сколько раз машина Тьюринга совершает одно из действий (А0), (А^ или (А2). В дальнейшем мы будем моделировать машину Тьюринга М\ па машине Тьюринга М2, т. е. последовательно проигрывать шаги машины М\ на М2. Будем говорить, что М2 допускает моделирование с сохранением времени на машине Мь если с некоторой константой С для каждого п первые п шагов машины Mi будут промоделированы на М2 не более чем за С-п шагов. Это определение оправдывается результатом Хартманиса и Стирпза [1], согласно которому для каждой машины Тьюринга М2 и каждого вычислимого С > О существует машина Тьюринга М3 с такой же памятью, но, вообще говоря, в большем алфавите, которая каждые п шагов машины М2 моделирует за п/С шагов. 3. Моделирование Теорема 1. Для каждой к-головочной машины М{ существует к-ленточная машина М2, моделирующая Мх с сохранением времени. Для доказательства проведем сначала два редукционных шага. Лемма 1. к-головочная машина Мх допускает моделирование с сохранением времени на к-головочной машине М[, для головок К\
к-ленточное моделирование к-головочных машин Тьюринга 193 которой всегда выполняются неравенства "|я;|<|«;к--.<|к*1- (4) Доказательство. Согласно (1), вначале имеет место (4). На каждом шаге мы передвигаем не более одной головки. Поэтому для двух головок Кь и Kj (i </) может быть \ Kj \ < \ Kt \, только если до этого было | Кь \ = \ Kj |. В случае если из этого положения надо передвинуть Kt вправо или Kj влево, мы в дальнейшем меняем ролями Kt и Kj и тем самым получаем нужное упорядочение. Таблицу состояний машины М[ можно в соответствии с этой стратегией получить так: Выписываем таблицу состояний машины М4 к\ раз, причем каждому повторению соответствует своя перестановка номеров головок. Перед каждым сдвигом q вправо (влево) головки Kt проверяем, выполняется ли для некоторого / > £ (/ < i) равенство | Kt | = | Kj |, и в зависимости от этого переходим к q или к соответствующему сдвигу #', при котором номера i и j переставлены х). Эту проверку можно осуществить за Ък шагов, и только для этой проверки потребуются новые шаги машины М[. Поэтому М\ моделируют каждые п шагов М4 не более чем за (Ък + 1) п шагов. Jlje м м а 2. Каждая к-головочная машина М[ допускает моделирование с сохранением времени на k-головочной машине М\, для головок К'[ которой всегда выполняются неравенства \K\\<\K\\<...<\K'k\. (5) Доказательство. В силу леммы 1 можно предполагать, что М[ удовлетворяет (4). Согласно (1), вначале неравенства (5) выполняются. На первом шаге машины М[ мы сдвигаем головки Ml вправо, именно К) па у — 1 ячеек (у = к, к — 1, . . . . . ., 2). Это относительное смещенное положение головок К] будет в дальнейшем сохранено. Каждое считывание (А4) или печать (А2) головки К] мы заменяем на сдвинуть К1, . . ., К) на / — 1 ячеек влево, (6) осуществить (А4), соответственно (А2), головкой К], (7) сделать (6) в обратном направлении. (8) Благодаря этому головки,^ останутся отделенными и тогда, когда некоторые Щ находятся на одной и той же ячейке. Каждый MJ-mar обходится при этом не более чем в 3/с2 М^'-шагов. ]) Здесь отождествляются состояние q и определяемый им сдвиг.— Прим. ред.
194 Г.-П. Штосе После этой редукции мы в доказательстве теоремы 1 предполагаем относительно М{ еще и (5). Накопленную к какому-то моменту времени информацию на лепте В машины М\ можно представить себе разделенной к — 1 — X X X ?■ X У У У У I2 У У У .. .. > z z К* Z Z .... К„ *ы~ К-1 1С *.. z z z z ... Jk-\ Р и с. 1. линиями аь . . ., ok-i на к отрезков, так что головка Kj расположена над ячейкой /-го отрезка. Тогда /-й отрезок на В мы запоминаем на ленте Bj машины М2 и полагаем | /£Б. | = \ Kj \ (рис. 1). Записанные па Bt отрезки ограничиваются справа (кроме Bk) меткой р, слева (кроме 2?4) — меткой %. Пока все головки двигаются внутри своих отрезков, М2 может работать, как Ж1? причем каждое действие головки Kt берет на себя головка Кв.. Если же какая-то головка Kj переступает разделительную линию Gj (Oj-i) справа (слева) и, таким образом, Кв. передвигается в ячейку, помеченную меткой р (X), то Кв. должна обрабатывать содержимое ячейки на лепте Bj+i (Sj-i). В этом случае мы сдвигаем О/(oj-j) вправо (влево) и в то же время часть находящейся на Bj+i (#j-i) информации переписываем на Вг Чтобы это переписывание производить не слишком часто, новую разделительную линию установим как можно дальше от | Kj |. Но если при этом, например, о,- придвинется близко к Kj+U
к-ленточное моделирование к-головочных машин Тьюринга 195 то уже после небольшого числа сдвигов головки Kj+i влево а7- должна снова переместиться влево, причем часть ранее переписанного будет переписана обратно. Чтобы избежать и этого, целесообразно устанавливать Gj (Oj-i) где-то Bi 1*1 К* fD/c-l Вк- Н-1 By (*и посередине между Kj и Kj+i (Kj-i)- Опишем детали моделирования. Машина М2 использует алфавит {а0, . . .,am}(J {^,р}- На первом шаге машины М{ справа от начальных ячеек (см. (2)) на Ви . . ., Bh.{ ставится знак р, слева от начальных ячеек на В2, . . ., Bh — знак X (рис. 2). Машина М2 работает в порядке Mi-шагов. Если при этом, например, сдвинувшись вправо, головка Kj переступила разделительную линию, что становится известным в результате проверки равенства (| Кв. \) = р, то М2 действует по следующему предписанию (предписание для сдвига влево аналогично). Пусть | Х\ обозначает номер ячейки на Bj+i, помеченной X. Машина М2 переписывает ячейки ленты Bj+i с номерами Рис. 2. IM + 1, 1М+[- г \Кг Л/+1 \к\ на ленту Bj, причем ячейка | X \ + 1 ленты BJ+i переносится на ячейку ленты Bj, помеченную р. Переписанное на Bj справа ограничивается меткой р, оставшееся на Bj+i — меткой X. Это действие назовем организацией (рис. 3). Так как мы предположили, что выполняются неравенства (5), то всякий раз, когда требуется организация, \ Кв. | — | X | > > 2, поэтому хотя бы один знак переносится с одной ленты на другую.'До наступления следующего случая организации снова идет непосредственное моделирование машины МА. Чтобы выполнялось (3), перед остановом машина М2 должна еще стереть все метки р и X. Для оценки затрат на моделирование рассмотрим для произвольного / (1 </ ^ к — 1) перемещения сг,-, вызванные сдвигом вправо головки Kj или сдвигом влево головки Kj+i. 13*
196 Г.-Й. Штосе Введем обозначения: п (i) — номер Mi-шага, на котором в i-u раз требуется организация, s (i) — число М2-шагов, необходимых для i-ik организации, d (i) — расстояние между головками Kj и Кj+i к моменту времени п (i). Для сдвига вправо головки Kj описанную организацию можно осуществить с некоторой константой С\ не более чем за BJ X X X X Vi • 1 «0 л BJ X X X X 1 * я J к 1 * Начало организацш у\ у\ \у \у Bj+i • • Ч *о\ «о| л у\ у; У У |У * Kr. Я к 1 • Конец организации Я/ р и у' 4 С. ^1 + 1 3. У Сх (| Л:в | — | Я |) шагов. Но | KBj+l \— \k\=d (i), так что s(i) < Ci d(i), и это верно также и для сдвига влево. Для первой организации d(l)<l +»(!), а для последующих организации d (i + 1)< d (i) + п (i + 1) - п (i), (9) так как за шаг расстояние между двумя головками может увеличиться не более чем на 1. Далее, дли d(i) <2(»(i + 1) — и(0) + 1, (Ю)
к-ленточное моделирование к-головочных машин Тьюринга 197 так как после i-и организации головка Kj (Kj+i) должна пробежать не менее [d (i)/2] ячеек вправо (влево), чтобы достичь р (Я). Неравенства (9) и (10) вместе дают d (i + 1) < 3 (п (i + 1) - п (0) + 1. Так получаются издержки, необходимые для организаций вплоть •до 1-й: i 1 i=l г=1 <Ci{l + ii(l)-r-S(3(ii(i + l)-ii(0) + l)}< г=1 ^3Ci(n(l) + l)^C2n(l), где С2 = 6CV- Таким образом, для числа Sj (n) издержек на моделирование, связанных с передвижением о3 на п первых Л/i-niarax, выполняется неравенство Sj(n)^C2n (j = 1, . . ., к- 1). Пусть S (п) — общее число шагов машины М2, необходимых для моделирования п шагов машины Mi. Тогда n-i S (п) = п-\- 2 Sj(n)-\-r (n)^.n-\-(k— 1) СчП-^СъП^СкСп, ;=1 где С = max (С2, 1 + С3). При этом в величине г(п), меньшей чем С3 п, собраны М2-шаги, необходимые для расстановки вначале и стирания в конце меток и для проверки при каждом сдвиге, записана ли в обозреваемую ячейку метка (р или %). В силу (3) при останове машины М2 результат записан на Вк так, как он стоит на ленте В машины Mi. 4. Дополнения Сформулируем обращение теоремы 1. Теорема 2. Для каждой к-ленточной машины М2 существует к-головочная машина М\, которую М2 моделирует с сохранением времени. Доказательство. Если М2 работает над алфавитом Аг ={сьо, • • ., ат} (т ^ 1), то мы снабдим Mi алфавитом At = = А\. Тогда каждое а 6 А^ имеет вид а = (а,^, . . ., ад ). Условимся, что (/ ) = а для ячейки /' ленты В тогда и только
198 Г.-Й. Штосе тогда, когда (/) = а^. для каждого i = 1, . . ., /сна Bt. При этом соглашении, очевидно, возможно моделирование с сохранением времени. Чтобы при задании аргумента и выдаче результата не пришлось сначала предпринимать декодирование, заменим Ах эквивалентным алфавитом, причем а вида а = (а0, а0, • • •» а0, ад) заменяется на знак ад. Поэтому в виду (2) и (3) машине Mi для задания аргумента и выдачи результата нужны только знаки алфавита А2, a At играет роль внутреннего алфавита машины Mt. Обе теоремы вместе дают основной результат. Теорема 3. Пусть М{ — машина Тьюринга, которая наряду с, возможно, имеющейся памятью S (например, плоской памятью) имеет mi лент Bt, на которых распределены к головок по kt на ленте Bt (i = 1, . . ., т). Тогда для каждого другого распределения этих к головок на т2 ^ к лентах, например по lt на i-й ленте (i = 1, . . ., т2), существует машина Тьюринга М2, которая имеет память S и т2 лент Bt с lt головками на ленте Bt и моделирует Mi с сохранением времени. Доказательство. Прежде всего заменим Mi на машину М[, у которой ki головок на ленте Bi заменены на /q лент с одной головкой на каждой. Для этого необходимо моделировать головки ленты БА, как в доказательстве теоремы 1, а головки на S или остальных лентах моделировать тождественным образом. Оценка издержек моделирования при этом только улучшится. Многократным применением этого рассуждения можно показать, что Mi можно промоделировать с сохранением времени на машине Ml, у которой к головок действуют на к различных лентах. Эти к лент можно затем собрать в т2 групп по lt в каждой и по такому же принципу, как в теореме 2, построить машину М2. СПИСОК ЛИТЕРАТУРЫ 1. Hartmanis J., Stearns R. E., On the computational complexity of algorithms, Trans. Am. Math. Soc, 117 (1965), 285—306. (Русский перевод: Кибернетический сборник, новая серия, вып. 4, изд-во «Мир», М., 1967, стр. 57—85.) 2. Hennie F. С, One-tape, off-line Turing machine computations, Information and Control, 8, № 6 (1965), 553—578. (Русский перевод: Хенни Ф. К., Вычисления на одноленточной машине Тьюринга с записью на ленте, сб. «Проблемы математической логики», изд-во «Мир», М., 1970, стр. 223— 247.) 3. Hennie F. С, Stearns R. E., Two-tape simulation of multitape Turing machines, /. Assoc. Сотр. Mach., 13, № 4 (1966), 533 — 546. (Русский перевод: Хенни Ф. К., Стирнз Р. Е., Моделирование многоленточной машины Тьюринга на двуленточной, сб. «Проблемы математической логики», изд-во «Мир», М., 1970, стр. 194—212.)
ДВУЛЕИТОЧНОЕ МОДЕЛИРОВАНИЕ МАШИН ТЬЮРИНГА *) Г.-Й. Штосе 1. Введение Удобной мерой сложности вычислимой функции / является число шагов машины Тьюринга, необходимых для вычисления /. Это число, вообще говоря, зависит от положенного в основу понятия машины Тьюринга, особенно от ограничений на параметры памяти. Оценки, не зависящие от конкретной функции /, которые показывают, насколько самое большее может увеличиться это число шагов, если перейти от одного понятия машины Тьюринга к другому, получаются путем моделирования. В разд. 5 при доказательстве теорем 1 и 2 указан конструктивный метод моделирования, который дает такие оценки для перехода от машины Тьюринга с к рабочими головками и памятью размерности ^т (т = 1, 2, . . .) к машинам Тьюринга, имеющим две ленты и по одной рабочей головке на каждой ленте. Полученные Хешш и Стирнзом [2] оценки для моделирования А-лен- точных машин Тьюринга представляют собой частный случай нашего результата. В разд. 7 показано, что при этом методе моделирования полученные в теоремах 1 и 2 оценки не изменятся, если одну из двух лент заменить магазинной лентой. Имеется предположение, что при замене обеих лепт магазинами эти оценки становятся неверными 2). При переходе к машинам Тьюринга только с одной лентой и одной головкой они, как известно, не верны. Чтобы можно было провести строгие доказательства, в разд. 2 и 3 приводятся формальные определения понятий ттг-мерпой памяти и моделирования. 2. Понятие машины Тьюринга Рассматриваемые машины Тьюринга состоят из конечного автомата с множеством состояний Q и памяти S, в ячейки которой записаны символы из конечного, скажем, ^-элементного алфавита 1) Sto|3 H.-L, Zwei-Band Simulation von Turingmaschinen, Computing, 7 (1971), 222—235. 2) Гипотеза верна. В работе Г. С. Цейтина «Нижняя оценка числа шагов для обращающего нормального алгорифма и других аналогичных алгорифмов», Записки научи, семинаров Ленингр. отд. матем. ин-та, т. 20, изд-во «Наука», Л., 1971, стр. 243—262, доказано, что машина с двумя магазинами не может произвести обращение слова длины п быстрее, чем за сп2 шагов, тогда как двулеиточная машина Тьюринга может сделать это за сп шагов.— Прим. ред.
200 Г.-Й. Штосе А ={а0, аь . . ., ctn-i} (а0— пустой знак). Пусть память S построена из конечного числа конечномерных кусков памяти, например лент, плоских участков и т. д. Автомат связан с S посредством конечного числа, например к, читающе-печатающих головок. Каждая головка расположена в точности над одной ячейкой памяти S, причем над одной ячейкой могут быть несколько головок. Эти ячейки называются рабочими ячейками ft (i = 1, . . . . . ., к). Каждому состоянию q £ Q соответствует nh машинных операций, из которых в зависимости от А-кортежа знаков алфавита, находящихся в к рабочих ячейках, выполняется какая-то одна операция. Машинная операция заключается в замене символов в рабочих ячейках, передвижении рабочих ячеек и переходе в новое состояние. Передвинуть рабочую ячейку ft в соответствии с отображением {сдвигом) ф: S -> S (S понимается как множество ячеек s) означает перейти от ft к ср (/г). Мы говорили о конечномерных кусках памяти. Под этим мы понимаем следующее. Определение 1. Кусок памяти S называется т-мерным, если существует такая биекция \р: S -> Zm, что сдвигами кроме тождественного являются в точности те, которые задаются отображениями ср^: S -> S, s н-* г|)-1 (\\) (s) ± е^) (н. = 1, . . ., т), где е^ есть |х-й канонический единичный вектор в Z™ (т. е. сдвиг происходит только по одной координате яг-мерпой памяти). Обозначим через г|э (s) = (xp1 (s), . . ., г|)т (s)) набор координат ячейки s. Одномерную память в соответствии с обычными обозначениями мы будем называть лентой, \р+1 — сдвигом вправо, хр'1 — сдвигом влево. Если ячейку s' можно получить из s правым (левым) сдвигом, то мы будем говорить, что s' лежит справа (слева) от s. Здесь нам потребуется также понятие магазинной ленты. Речь идет о ленте, на которой слева от единственной рабочей ячейки всегда находятся только пустые знаки; в частности, перед каждым сдвигом вправо содержимое рабочей ячейки стирается х). Чтобы полиостью описать машину Тьюринга М", еще задают распределение к рабочих ячеек по, например, г имеющимся участкам памяти Sp размерностью тр. (По определению 1 рабочая ячейка не может покинуть свой участок памяти.) Это распределение описывается с помощью разложения множества к= {1, 2, . . ., к} 2) Следует заметить, что приведенное определение мага:шна (магазинной лепты) несколько шире, чем общепринятое. Автор не требует существования у магазина «дна». Это дает возможность записать на магазинную ленту в начальный момент бесконечную последовательность непустых символов. — Прим. ред.
Двуленточное моделирование машин Тьюринга 201 па непересекающиеся непустые подмножества /р, к = [} 1Рг p=i и интерпретируется как ft £ ^р для i £ Ip (i = 1, 2, . . ., к). Пусть W = {w: S -+ А} — множество описаний содержимого памяти S и F ={/ = (Д, . . ., /ft), /f £ 5Р для £ 6 /р} — множество положений рабочих ячеек. Зададим множество конфигураций машины Тьюринга как С = Q X W X F. Тогда машинными операциями однозначно определяется отображение Т: С ->■ С множества конфигураций в себя. Назовем Т функцией Тьюринга машины М. Путем повторного применения Т каждой конфигурации с £ С ставится в соответствие последовательность конфигураций с^(ГтС|т = 0, 1, ...)• (1) Каждый такой переход будем называть шагом. Заключительное состояние, т. е. такое, которое привело бы к обрыву последовательности (1), мы исключаем. Вместо этого допускается динамический останов Тс = с. Отрезок (ТТс | т = 0, 1, . . ., t) последовательности (1) назовем t-шаговым пробегом машины М. На памяти S, построенной из ягр-мерных участков Sp, .естественным образом задается расстояние между ячейками s £ Sp«, s' 6 Sp>: {oo, если р Ф p'; i 1Ч#(*)-1#(*')|, если p = p\ Затем определяется расстояние от s до рабочих ячеек /: ь б(/, 5) = min6(/i, s). Расстояние б (/, s) всегда конечно; оно показывает, какое наименьшее число шагов требуется, чтобы некоторую рабочую ячейку переместить в s. Если обозначить через / (t) положение рабочих ячеек в конфигурации Т1с последовательности (1), то для всех s, s' £ S, t, t' £ N | 6 (/(*), *)-6(/(0, s')\^\t-t'\ + h(s, s'). (2) 3. Моделирование машин Тьюринга Пусть Mt (i = 1, 2) — машины Тьюринга с множествами конфигураций Ct и функциями Тьюринга ТУ Для непустого подмножества С\ множества С{ назовем ^-шаговый пробег (Т\с{ | т = 0, 1,. . ., t) машины М4 Сформированным,. если ci £ С\.
202 Г.-Й. Штосе Пусть Р (С2) — степень (т. е. множество всех подмножеств) множества С2. Определение 2. Пусть 0=7^CJc=C1. Будем говорить, что машина М2 моделирует каждый С\-нормированный t-шаговый пробег машины М^ за V (t) шагов, если существуют такие отображения Т.С^\]Т1(С\)^Р{С2) v: CJxN-^N, что (О %{c)f)%(c') = 0 Для сфс', (ii) функция v(c, т) строго монотонна по т для всех c£C°v (iii) и (с, т)^7(т) для всех с^С\ и t£N, и для каждого Ci£C? существует такое Cz(i%{ci), что (iv) Т?си%2£х(Т[с1) для всех *£N. Поясним вкратце это определение. Пусть на время С\ = С4, а % (с) для каждого с содержит только •один элемент % (с). Мы интерпретируем % (с) как код конфигурации с £ Сх в машине Ма, которая согласно (i) может быть восстановлена единственным образом. Тогда по (iv) для каждого М^шага с[->Т1с1 существует v (с{1 1) М2-шагов, переводящих код с{ в код 7Vi- Однако для хороших методов моделирования эти временные предположения слишком «тесны». Необходимо допустить, чтобы Mi-конфигурация кодировалась в М2 по-разному в зависимости от обстоятельств. Поэтому мы требуем, чтобы % (с) £ Р (С2). Обычно употребляются такие нормировки: (i) C\ состоит ровно из одной конфигурации с = (q, w, f) € фиксированным начальным состоянием q0 £ <?, пустой памятью w (s) = а0 для всех s £ S и специальными рабочими ячейками с нулевыми координатами. Нормированный таким образом пробег будем называть пусто-нормированным. (ii) В случае когда М{ имеет магазин, данную выше нормировку можно расширить, допуская произвольную запись на магазинной ленте. Мы будем использовать обе эти нормировки. Последующие методы моделирования мы не будем строго формализовать. Однако в каждом случае формализация в смысле определения 2 не представляет труда.
Двуленточпое моделирование машин Тьюринга 203 4. Результаты Сформулируем полученные соотношения. Т ,е о р е м а 1. Для каждой машины Тьюринга М{ с к рабочими ячейками на не более чем т-мерных участках памяти (т ^ 2) существует машина Тьюринга М2, имеющая по одной рабочей ячейке на двух лентах, которая каждый пусто-нормированный {-шаговый пробег М^ моделирует за yt2~1/m log t + у' шагов 1). Из доказательства теоремы 1 простой модификацией получается доказательство следующей, по существу известной теоремы. Теорема 2. Для каждой машины Тьюринга Mi с к магазинными лентами существует машина Тьюринга М2, имеющая по одной рабочей ячейке на двух лентах, которая каждый пусто- нормированный t-шаговый пробег М{ моделирует за yt log t + у' шагов. В обеих теоремах у, у' — положительные величины, зависящие только от т и к. Дополнение 1. В теореме 2 можно допустить в качестве нормировки, что один магазин машины М\ вначале содержит любую (также и бесконечную) запись. Лишь его рабочая ячейка содержит а0. Эта запись без перекодировки переносится на ленту машины М2. Упомянутое во введении усиление результатов дает Дополнение 2. Для справедливости теорем 1, 2 и дополнения 1 достаточно, если М2 вместо двух лент будет иметь одну ленту и один магазин. В случае когда Mi вместо к магазинов имеет Ъ лент с одной рабочей ячейкой на каждой, получается теорема 2 Хеыыи и Стирн- за [2]. Так как магазины — это только ленты, с которыми обращаются специальным образом, а, с другой стороны, каждая машина с Ъ лентами с одной рабочей ячейкой на каждой без существенного изменения времени вычислений может быть промоделирована на машине с к = 2Ъ магазинами, причем каждые два магазина берут йа себя задачи одной ленты, то оба случая эквивалентны. Однако справедливо нечто большее. В работе [3] показано, что каждая машина Тьюринга с к рабочими ячейками, распределенными по г ^ к лентам, может быть промоделирована на машине с к лентами с одной рабочей ячейкой на каждой, причем время вычислений изменится не более чем на постоянный множитель. х) Все встречающиеся в работе логарифмы берутся по основанию 2.
204 Г.-Й. Штос с . Таким образом, имеет место Следствие. Из теоремы 2 вытекает утверждение теоремы 1 для т = 1. Заметим, что используемый далее метод моделирования конструктивен, т. е. существует машина Тьюринга Л/, которая, будучи примененной к гёделеву номеру машины М4, через конечное число шагов дает гёделев номер машины М2. Указанные в теоремах 1 и 2 границы завышены самое большее на множитель log t. Для т = 1 это тривиально. Для т > 1 Хенни [1] указал задачу, которая, будучи разрешимой с яг-мерной памятью за t шагов, на машине с произвольным числом лент требует не менее yt2~1/m шагов. 5. Моделирование для т > 1 5.1. Метод моделирования Снабдим М2 алфавитом А2 = А{ [}Аа \]AZ \] {Р}. При этом At есть Мгалфавит, Аа = {0, 1, +, —, ;, * }, Az ={z0, zA, ze}, ар — пустой знак для М2. Из двух лент В и В' машины М2 мы берем В для воспроизведения содержимого памяти S. Так как мы исходим из того, что вначале вся память S пуста, то после t Л/^-шагов символы фа0 могут содержаться только в тех ячейках памяти S, которые до этого бывали рабочими; всего их не более kt. Таким образом, во время моделирования достаточно хранить на В информацию только об этих ячейках. Для каждой такой ячейки s из участка памяти S0 мы занимаем на В некоторые ячейки, совокупность которых будем обозначать р (s) и называть индексом ячейки s. В них мы отмечаем стоящий в s символ w (s) £ Ai и адрес a (s) = p; ty1 (s);. . .; \\)mv (s) * , причем номер участка памяти р и координаты г|^ (s) мы представляем посредством Аа как двоичные числа. По причинам, которые станут понятны позднее, мы оставляем свободной еще одну ячейку, которую пометим, например, знаком *, и после каждого знака из Ai{]Aa вставляем р. Таким образом, на р (s) записывается * Р w(s) p a (s) Р, где a (s) — адрес, модифицированный посредством вставок р. * На В' мы отмечаем к адресов ячеек ft машины ik/4, являющихся в данный момент рабочими. Всегда в качестве начальной записи машины М2 мы помещаем па В' последовательно к адресов а (Д), . . ., a (/ft), па В — последовательно не более к рабочих индексов р (/г), а справа от них — граничный маркер ze. Остальные ячейки на обеих лентах пусть будут пустыми. Рабочие ячейки машины М2 вначале расположены непосредственно слева от a (ft) и р (f{) соответственно.
Двулент очное моделирование машин Тьюринга 205 Для каждого Mi-состояния q мы заводим в М2 подпрограмму OP (g), которая проигрывает возможные в состоянии q Мгопера- ции. OP (q) делает следующее: (i) Посредством стоящих на В' адресов a (ft) на В разыскиваются рабочие индексы р (ft) и читается их содержимое. В зависимости от него (ii) p (ft) переписываются заново, (Hi) ft сдвигаются, т. е. изменяются адреса на В', (iv) после определения нового состояния q выбирается подпрограмма OP {q) для моделирования следующего Жгшага. (v) Наконец, OP (q) проверяет, встречаются ли на В' адреса, для которых на В еще нет индекса, и если встречаются, то устраивает для этих адресов новые индексы на В непосредственно слева от уже имеющихся. Это происходит всегда, когда при непосредственно моделируемой Mi-операции рабочие ячейки ft передвигаются в ячейки, которые до этого еще не были рабочими. После осуществления t-ro ОР-пробега на В находится не более к (t + 1) индексов. Если мы ограничим свой метод моделирования тем, что для каждого М^состояния q создадим соответствующую подпрограмму OP (q) машины М2, т. е. каждый Л/^-шаг заменим соответствующим ОР-пробегом, то получим в качестве оценки для числа Л/2-шагов, необходимых для моделирования t М^шагов, только границу порядка t2k (t), где X (t) — средняя длина индексов, использованных после t Мгшагов. Для каждого т (1 ^ т ^ t) при т-м ОР-пробеге может случиться, что вся находящаяся в это время на В информация должна быть пересмотрена, а она может занимать к (т + 1) X (т) ячеек. Чтобы сократить это время поиска, мы с помощью подпрограммы ORG, выполняемой после каждого 6?Р-пробега, упорядочиваем содержимое лепты В. Так как порядок индексов не влияет на результаты работы ОР-программы (он может повлиять лишь на время поиска), мы получаем снова моделирование в смысле определения 2. ,j.2. Описание подпрограммы ORG Для натуральных чисел t = 0, 1, . . . положим {0 при £ = 0, [log ^ + 1 при t>0. Таким образом, I (t) для t >> 0 есть число ячеек, необходимых для представления t.
206 Г.-Й., Штосе Обозначим через тд (t) для jli > 0 и натурального t наименьший положительный остаток от деления t на 2^-1 и введем в рассмотрение множество ZV = {*IM*) = 0 и %т(1)ф0]. Пусть / (t) — положение рабочих ячеек машины М{ после t-vo Mi-шага. Определим подпрограмму ORG так, что после ее t-то пробега, т. е. после моделирования, t Mi-шагов расположенные на В индексы будут разделены на I (t) + 1 классов Pv (t), которые с помощью I (t) + 1 разделительных меток z^ £ Az будут упорядочены на В в ряд PozoPtZ1 ... z^-^kozW. (3) Допускаются пустые классы. Наша начальная конфигурация соответствует (3). Это разделение будет строиться программой ORG так: При t-м 6?i?G-npo6ere с t 6 Tv (v = 1, 2, . . .) стоящие слева от zv индексы вновь делятся на v + 1 классов Р^ (t) (jli = 0, 1, . . . . . ., v) согласно условиям Г б (/(*), s)<2, |ы = 0 Р (*) 6 ^(О^Ь^б (/(*), s)<2^\ l<|i<v (4> l2v<6(/(0, s), jli^v. Для v <<jli ^ I (t) в качестве Рд (t) берутся классы Рu (t — 1),. и все классы упорядочиваются согласно (3). Если t = 2.v_1, то I (t — 1) = v — 1, т. е. метка zv еще не появилась. В этом случае перед описанным делением непосред- ствепнб справа от последней метки z*('_1) ставится новая метка- zl(t) = zv. Так как способ работы подпрограммы ORG на t-м пробеге зависит от t, то t должно быть представлено на В. Подпрограмма ORG употребляет для меток z^ в (3) символы Az так, что при интерпретации z0 = 0, z1 = l1 ze = 1 после t-то 6?i?G-npo6era t представляется I (t) метками zV2 . . . z1{t) как двоичное число с разрядом единиц слева. Граничный маркер ze при этом всегда будет употребляться только для zl(t). Тогда t 6 Tv эквивалентно v = minjjLx ^ 1 | z& Ф z0}, откуда легко усматривается алгоритм. Значение z° играет роль только при первом 6?i?G-npo6ere. Все же мы всегда изменяем z°, чтобы получить более простое представление алгоритма.
Двуленточное моделирование машин Тьюринга 207 *>.#. Алгоритмическая схема подпрограммы ORG Если z0~-=Zq, to полагаем z° = z{. Пусть х — rain {|ы^0 | z^ Ф zj. Если zyi = z(?, то непосредственно справа от zx записываем ze в качестве zx+i и полагаем z^ = z0 для jli^x. Если zyi = z0, полагаем zK = z{ и z^ = z0 для jli<x. Пусть v=n\m{\i^0\zilz^=zQ}. Образуем согласно (4) из стоящих слева от zv индексов новые классы Рц (t) и упорядочиваем их согласно (3) с помощью только что построенных меток слева от zv. 6.4. Выводы После t ORG-щюбегов переупорядочение участка именно до метки zv происходит не более £2-(v~ } раз. (5) Это ясно по построению, — Для всех t (8(1(1), s)<2 при ц = 0, р(8)ер^)^{ 2^-т,(о<б(/(о, *)<2-и+1+ (о) { +vbi(0 при \i=--l, 2, ..., Z. Для t£Tv и всех [а=0, 1, ..., v Р,(0 s /V1 (*-1) U П С-1) U P'y+i (t-i). (7) При этом пусть P'„(l-\) = l\(t-A) (ц=1, ..., v), />'_1(*-l) = />;fi(*-l)=0, . ^(< — 1) = Р0(«— 1)U{р(/i(0). •••,р(/ьШ- Доказательство утверждения (6) проводится по индукции г). Заметим, что в начальный момент и после каждого переупорядочения, затрагивающего \i, неравенства 2^ — тд (t) ^ б (/ (f), 5) при Р (5) 6 ^ (0 и б (/ (*), s) <2^ + тй (0 при р (5) 6 Рй-1 (0 выполнены. Далее, при увеличении t на 1 величина тд (0 увеличивается на 1, а б (/ (t), s) изменяется не более чем на 1. Это продолжается 2^ шагов, после чего происходит повое переупорядочение, затрагивающее jlx- Из (6) следует, что при переупорядочении индекс может передвинуться только в соседний класс. А это и утверждается в (7). (5) и (7) являются существенными свойствами подпрограммы ORG, которые делают возможным моделировать так быстро, как было обещано. 1) Пунктуальное доказательство автора сокращено. Нумерация дальнейших формул соответствует оригиналу.— Прим. ред.
208 Г.-Й. Штосе (5) говорит, что большие отрезки на В только изредка упорядочиваются вновь. Однажды установленный порядок изменяется при каждом сдвиге рабочих ячеек. Однако (7) показывает, что беспорядок на В не может стать слишком большим, так что новое упорядочение происходит быстро. 5.5. Доказательство теоремы 1 Согласно нашей нормировке, вначале все рабочие ячейки имеют нулевые координаты. Поэтому для всех индексов, находящихся на В после t-vo Ж^-шага, координаты не превосходят но величине t. С подходящими константами у{ и у2 каждый из этих индексов занимает не более X(t) =yilogt + y2 (13) ячеек. Так как память S не более чем яг-мерна, существует такое число у3, что независимо от / для всех г > 0 самое большее у3гт ячеек s £ S удовлетворяют оценке б (/, s) ^ г. Из (3) и (6) следует, таким образом, что для каждого v > 0 после первых t Мгшагов перед zv стоит не более N(v, t) = mm{y32iv+2ym, *(*+!)} (14) индексов. Время пробега подпрограммы ОР пропорционально длине просматриваемых отрезков лент В и Вг. Здесь мы должны учитывать индексы из класса Р0, возможные вновь появляющиеся индексы и адреса на В'. В итоге для константы у4 осуществление первых t ОР-пробегов обходится самое большее в y^t X(t) М2-шагов. (15) В ряде случаев программа ORG вычисляет расстояния б (/, s) = = min б (fi, s) по расположенным на В и В' адресам a (s) и a (ft) соответственно. На В каждую вторую ячейку мы оставили свободной. Теперь мы используем эти ячейки; тем самым обе ленты используются практически полностью. Таким образом, б (/, 5) допускает вычисление за число М2-шагов, пропорциональное наибольшей длине участвующих адресов, т. е. для константы у5 во время первых t Мгшагов б(/, s) допускает вычисление за число М2-шагов, не превосходящее yb X(t). (1G) При изменении порядка программой ORG принимается во внимание (7). При первом прохождении метки расставляются заново, для каждого индекса р (s) из переупорядочиваемого класса
Двуленточное моделирование машин Тьюринга 209 Р'^{1 — 1) определяется 6 (/(£), s) и отмечается, какому из классов ^V-i(0, ЛЛ0 и ^V+i(0 принадлежит p(s). В зависимости от этого на еще не использованной первой ячейке индекса p(s) ставится — ? 0 или -\-. При втором прохождении мы с помощью В' строим новые классы, начиная с Po(t), рассортировывая установленные пометки в P^^t — 1), P^t — l) и P^+i(t — 1), соответствующие P^(t). Для этого упорядочиваемую часть ленты В нужно прочитать не более 3 раз. Для константы yG из (13), (14) и (16) следует, что t-& ORG-щюбет при t £ Tv обходится не более чем в yGAr(v, t)X(t) М2-шагов. (17) Итак, из (5), (15) и (17) получается оценка для полного времени вычислений, необходимого для моделирования пусто-нормированного ^-шагового пробега машины М^\ v(t)^y,tX(t) + J t2i'yyeN(v, *)Ч*Х <*M')(Yi + 2Yo2 2~vN(v, t)). (18) Для оценки суммы оценим iV(v, £) для малых v через объем шара Y32 \ а Для больших v — через максимальное возможное число k(t-\-l) имеющихся индексов. Для произвольного т^О имеем v=0 v=0 Если мы теперь выберем такое т, что 2тт = £, т. е. 2~r = t~i/m, то оба выражения будут почти равны, и мы получим с новыми константами оценку 2 2"v#(v, 0<Y7^1/m + Y8. v>0 Подставляя это неравенство в (18), учитывая (13), получаем ожидаемую оценку v(t)<^yt2-i/m\ogt + y'. 14-01321
210 Г.-Й. Штосе 6. Моделирование для т =■■ 1 6.1. Доказательство теоремы 2 Доказательство основано на той же идее, что и приведенное выше; детали будут другими. Память состоит из к магазинных лент Sp (р = 1, 2, . . ., к). Для ячеек s £ Sp устроим снова на В индексы р (s), на которых отметим только содержимое w (s) и номер участка памяти р. Для этого упорядочим индексы так, чтобы все р (s) с одинаковым р на В имели такое же взаимное расположение друг относительно друга, как и соответствующие ячейки s на Sp. Так как на магазинной ленте слева от рабочей ячейки всегда стоят только пустые знаки, то перед сдвигом/р вправо мы стираем индекс/? (/р). Поэтому для каждого р самый левый индекс на В с адресом р есть именно рабочий индекс р (/р), и для индекса р (s) с адресом р б (/, s) определяется как число индексов с адресом р слева от р (s). Дальше мы поступаем, как в 5.1. Подпрограммы ОР изменяются по смыслу, при этом в ORG нужно считать, что индексы с одинаковыми адресами никогда не переставляются. Здесь можно действовать, как в 5.2. Для оценки времени заметим, что существует такое число Я0, что независимо от t каждый индекс, расположенный на 5, занимает не более К0 ячеек. (19) V Для каждого v ;> 0 зона [} Р^ занимает не более 1Ы=0 N(v) = k2vl~2 (20) ячеек, а Р0 — даже не более 2к. Отсюда (с константой Yi) вытекает, что осуществление ОР-пробегов, соответствующих первым t Mi-шагам, обходится самое большее в y^kXot М2-шагов. (21) Время упорядочения пропорционально числу ячеек упорядочиваемого отрезка ленты В. Итак, с константой у2 переупорядочение до zv требует не более y2N (v) ^o = Т2^2^2А0 М2-шагов. (22) Заметим, что во время первых t М4-шагов употребляются только метки zvcv< log t + 1, поэтому в качестве оценки для полного М2-времени вычислений, необходимого для моделирования пусто-нормированного ^-шагового пробега машины М4, получаем с постоянными у, 7' logt+i v(t)<^yi2kl0t + 2 2i-vty2k2'9+\^ytlogt + y'. (23) v=0
Двулент очное моделирование машин Тьюринга 211 6.2. Доказательство дополнения 1 Пусть в начальный момент на ленте В записана последовательность а2а2а3 .... Прежде всего мы устанавливаем на ее левом конце рабочие индексы р (ft) и'индекс р{ для а1, т. е. запись на В будет иметь вид Р (/i) • • • Р (fk) PiZea2a3 .... Это частный случай упорядочения, изображенного в (3), Pqz^P^ . . . zl«)-iPl{t)zlWaaa .... Здесь а обозначают еще не использованную часть данных. Если на В задано только конечное число символов а 6 Л4, то мы интерпретируем расположенные справа от них М2-пустые знаки Р как а0, так что формально у нас всегда бесконечная запись. Вообще, мы поступаем, как в 6.1, но всякий раз, когда для t^=2x~ (v= 1, 2, . . .) впервые возникает класс Pv(t), мы образуем индексы вместо такого числа а, чтобы в Pv(t) оказался индекс p(s), для которого 8(f(t), s) = 2V+1 +2V_1 — 1 (это, согласно (G), наибольшее допустимое расстояние). Как и в 6.1, отсюда также следует оценка (23). 7. Доказательство дополнения 2 Будем считать, что В' — магазин, т. е. па В' перед каждым сдвигом рабочей ячейки вправо ее содержимое стирается. На примере вычисления б (/, s) мы хотим показать, что М2 можно построить так, чтобы полученные выше оценки были верны и для этого случая. Ради упрощения обозначим через а = р; г^1; . . .; г|)то* адресную часть стоящего на В индекса р (s), а через at = pf; г|)-; . . . • • ; 'ФГ* * (£ = 1, . . ., к) — стоящие-на В' адреса рабочих ячеек ft. Все встречающиеся при этом двоичные числа записываются с разрядом единиц слева (т. е. цифры расположены в обратном порядке); во всех индексах на В пусть, как и раньше, каждая вторая ячейка остается свободной как «вспомогательная ячейка». К началу вычисления величины б(/, s)=min{6(/i, s)\i£k} = то _ = min (2 I tyf — № | U" 6 к и pt = p) рабочая ячейка ленты В (В') «стоит» на первом знаке р (р4). Прежде всего с помощью В перепишем на В' список адресов а4, . . ., ак 14*
212 Г.-И. Штосе еще раз. Потом вычислим по порядку расстояния б (ft, s) для всех тех i, для которых pt = р, и запишем их во вспомогательные ячейки непосредственно слева от р или же непосредственно слева от уже вычисленных б (/ь s). Для вычисления 6(/z-,s) поступим так. Будем просматривать В' слева, пока не найдем номер участка памяти р7--=р. Затем на просмотренной части ленты построим 6(/7-, s)— 2 |^ — ^\ в виде двоичного числа с разрядом единиц справа (т. е. обычным образом): для каждого [1 = 1, . .., т0 запишем во вспомогательных ячейках справа от первого знака г|^ разность |г|)^ — г[^1|, перепишем ее на В' и прибавим к начальной сумме У] I г|з? — я|зи I. Это повторяется, пока не будут обработаны все at. Наконец, с помощью В' найдем минимум вычисленных расстояний и запишем его во вспомогательных ячейках слева от р. Во время этого вычисления один из двух адресных списков на В' разрушился. Другой же находится в нашем распоряжении для нового вычисления б (/, s). При этом после £-го Мгшага удваивание списка адресов обходится самое большее в 4ft K(t) М2-шагов, вычисление б (/,-, s)— самое большее в (2т (ft + 1) + 3) % (t) М2-шагов, нахождение минимума — не более чем в 7ft A(t) Л/2-шагов. Так как должны быть определены не более ft расстояний б (/ь s), то (16) справедливо и в этом случае, если взять у5 = (14 + 2га (ft + 1)) ft. Остальные оценки (15), (17) (соответственно (21), (22)) получаются подобным образом. СПИСОК ЛИТЕРАТУРЫ 1. Hennie F. С, On-line Turing machine computations, IEEE Trans. Electron. Comput., EC-15, № 1 (1966), 35—44. (Русский перевод: Хенни Ф. К., Вычисления на машинах Тьюринга со входом, сб. «Проблемы математической логики», изд-во «Мир», М., 1970, стр. 249—270.) 2. Hennie F. С, Stearns R. E., Two-tape simulation of multitape Turing machines, /. Accos. Сотр. Mach., 13, № 4 (1966), 533—546. (Русский перевод: Хенни Ф. К., Стирнз Р. Е., Моделирование многоленточной машины Тьюринга на двуленточной, сб. «Проблемы математической логики», изд-во «Мир», М., 1970, стр. 194—212.) 3. Stoss H.-J., /c-Band Simulation von /c-Kopi-Turiiig-Maschinen, Computing, 6 (1970), 309—317. (Русский перевод см. настоящий сборник, стр. 190—198.)
ОГРАНИЧЕНИЯ НА ЛЕНТУ ДЛЯ ОГРАНИЧЕННЫХ ВО ВРЕМЕНИ МАШИН ТЬЮРИНГА1) М. С. Патерсон 1. Введение Вычисление па машине Тьюринга можно представить с помощью двумерной диаграммы, показывающей последовательные ленточные конфигурации. Машина описана, когда такую диаграмму можно найти для каждого входного слова. Чтобы получить объявленную экономию ленты, надо делать повторяющиеся дихотомии как по ленте, так и по времени, и последовательно отыскивать результирующие меньшие поддиаграммы. Моделирование недетерминированных машин на детерминированных, описанное Савичем [1], использует последовательные дихотомии по времени; одновременная дихотомия по двум координатам введена в статье впервые. Полученный результат улучшает результаты Хопкрофта и Улмана [2], поскольку в работе [2] зона ограничивается для детерминированной машины; кроме того, улучшен результат (на множитель log Г), приведенный в статье [3], непосредственно предваряющей данную, хотя торопливый читатель может предпочесть более короткое и легкое описание. Было бы желательно знакомство с любой из статей [1—3]. 2. Определения Машина Тьюринга допускает слово w, переходя в специальное состояние qu и имеет временную сложность 2) Т (ленточную сложность £/), если для каждого допускаемого ею слова w длины п найдется допускающее вычисление, использующее не более Т (п) единиц времени (не более U (п) клеток ленты). Пусть М — недетерминированная машина Тьюринга, которая распознает L с временной сложностью Т (п) (^п2), имеет состояния q0, qi, . . ., qh и ленточные символы s0 (пустой), si, . . ., sp. Законченное вычисление на машине М можно описать с помощью двумерной матрицы символов в алфавите ^Palerson M. S., Tape bounds for time-bounded Turing machines, /. of Comput. and Syst. Set., 6 (1972), 116 — 124. 2) В литературе встречаются также другие определения временной и ленточной сложности. Варианты рассматриваются в заключении статьи.
214 М. С. Патерсон причем последовательные (сверху вниз) строки ее представляют последовательности конфигурации, а каждый столбец описывает историю конкретной клетки ленты. Переходы головки между двумя соседними столбцами могут быть эквивалентно описаны с помощью следа, который представляет собой строку в алфавите —>■ -«— {q.^ q. | j = 0, . . ., к), указывающую состояния и направления, при которых выполнялись переходы. Мы считаем, что на каждом шаге изменение состояния предше- Лента ствует сдвигу; поэтому след содер- *"" жит для каждого перехода новое В /?i состояние, а не старое. р . . . Определим диаграмму обобщенного вычисления в терминах тест-ма- Л jwz шины М' в духе, близком работе 12]. Машина М' моделирует многоголовочный вариант машины М следую- Rz щим образом. Начиная с произвольного числа головок, находящихся на р п с- *• конечном участке ленты, М' моделирует поведение машины М для каждой головки. На каждом шаге М' может ввести новую головку в любом состоянии на любом из концов участка ленты, и, конечно, головки на концах участка ленты могут в процессе вычисления исчезать. Мы рассматриваем только такие вычисления на М', для которых никакие две головки не пересекаются и не сталкиваются; поэтому диаграммы вычисления для М' и для М локально очень похожи. М-матрицей назовем прямоугольную матрицу символов в S для такого вычисления па машине М'. Периметром М-матрицы называют набор из следующих четырех строк: первой и последней строк матрицы и пары возможных следов налево от самого левого столбца и направо от самого правого столбца, например, Ль R2, Si, S2 соответственно (рис. 1). Ясно, что если М — детерминированная машина, то каждая М-матрица имеет единственный периметр. Набор из четырех строк Д1? R2, Si, S2 называется М-вычислимым (записывается Сотр (Ль R2, Si, S2)), если существует М-ма- трица, для которой этот набор является периметром. Предикат Bridge, который соответствует Сотр со строками из пустых символов нужной длины, определяется так: def Bridge (Su S2) <^> (3m) Comp (C, s?, S{, S2), где s™ обозначает строку из т пустых символов. Следующий предикат объединяет два специальных случая для Сотр, при которых не требуется для вычисления дополнительной рабочей зоны и которые содержат информацию о таблице
Ограничения на ленту 215 переходов машины М, необходимую для алгоритма, описанного ниже. def Triv(i?1, R2, Su S2)<^ [Comp (Д1? R2, St, S2), где М-матрица имеет только один столбец]. 3. Предварительное рассмотрение Без потери общности можно считать, что машина М начинает работать, находясь па клетке, расположенной непосредственно слева от входного слова, и сразу же переходит в состояние q0, сдвигаясь направо от самого левого символа. Мы можем предполагать, что М никогда не посещает снова начальной клетки, пока не допустит входного слова, стерев всю ленту и передвинувшись назад к начальной точке в состоянии д1# Если М допускает слово w, мы пишем Accept (w). Лемма 1. Accept (w) <=> (Зх) Comp (ws*, sN+x, q0qi, X), где | w | обозначает длину слова w, a X — пустую строку. Доказательство. Предположим, что выполняется правая часть. Соответствующее вычисление на машине М' начинается, когда на лепте нет ни одной головки, и впоследствии вводится только одна головка; поэтому его можно рассматривать как допускающее вычисление на машине М. Чтобы получить эффективный алгоритм просмотра М-матриц с данным периметром, нужно иметь возможность разбить программу на две подпрограммы. Это обеспечивается следующими формулами: формула А Accept (w)<=>(3m) (3S) [Comp (ws™, sN+m> Здь S) и Bridge (S, X)], формула В Bridge (Su S2) <=> (Зт) Comp (*J\ <\ Su S2) или (3S) [Bridge^, S) и Bridge (S, S2)], формула С Comp (i?4, R2, Su S2) <=> Triv (R{, R2, S{, S2) или (3R, S[, SI, S2, SI) [S[81 = St и S'2S'2 = S2 и Comp (Ri, R, S[, S2) и Comp (R, R2, S",, SI)] или (3S, R[, Щ, R2, R"2) [R[R"i = Ri и R2R; = R2 и Comp (R[, R2, 54, S) и Comp (i?;\ r;,s,s2)].
216 М. С. Патерсон Идею приведенной выше формулы С иллюстрируют рис. 2 и 3. Проверка импликаций =4> в формулах А, В, С тривиальна. Импликации ф=, вообще говоря, неверны для В и С; трудность заключается в ^-разрезах. Заинтересованный читатель мог бы легко построить контрпримеры. Проблема возникает в связи с тем, что след не содержит информации о временных интервалах между последовательными переходами через границу, и поэтому А/-матри- цы с подходящими следами не всегда можно объединить. Это относится только к многоголовочным вычислениям, которые мы ввели, н S," R 4 si Г^Г" *'г ~1Г| S *»' Р и с. 2. 7?-разрез. Р и с. 3. S-разрез. чтобы упростить формулы и доказательства. Указанную трудность можно преодолеть и формулы В и С сделать верными, если предположить, что М на каждом шаге имеет возможность «ничего не делать» (так что следующая конфигурация не отличается от предыдущей), вместо того чтобы выполнять обычный шаг в соответствии с таблицей переходов. Очевидно, что эту дополнительную возможность можно ввести без потери общности. 4. Алгоритм Из результатов предыдущего раздела следует, что формулы А, В и С дают недетерминированный алгоритм для вычисления предиката Accept в следующем смысле. Для данного слова w, для которого Accept(w;) верно, это можно установить эффективно применением конечное число раз приведенных выше формул с соответствующим выбором значений переменных, связанных кванторами существования, поскольку проверяемую М-матрицу можно делить на все более и более малые матрицы, используя R- п £-разрезы, до тех пор пока не станет возможным применить Triv. Если же Accept(w;) неверно, то никакая последовательность выборов не может привести к положительному ответу. Недетерминированное вычисление содержит аргументы предикатов, которые в данный момент вычисляются на (моделируемом) одностороннем магазинном стеке. Очевидно, что в случае, когда длиной
Ограничения на ленту 217 этих аргументов можно пренебречь, требуемая память будет другой. В следующем разделе мы покажем, что если слово длины п допускается машиной М за время Т (п), то существует такое допускающее вычисление, что общая длина всех этих аргументов не превосходит к-Т1^^) для некоторого фиксированного к. Детерминированный алгоритм временно располагает граничные маркеры на небольшом расстоянии друг от друга и, работая на этой зоне, пытается установить Accept{w), выполняя все возможные в этом случае выборы. Если это не удается, удваивается расстояние между граничными маркерами и делается новая попытка, и т. д. Поскольку мы не можем произвольно увеличивать внутренний алфавит алгоритма, мы должны показать, что существует детерминированная машина, работающая с ленточной сложностью Г1/2 (п), которая распознает исходный язык L. 5. Доказательство ограничения Пусть а — произвольная М-матрица с периметром я = = {/?ь Л2, S[, S2}- Введем обозначения для ее существенных параметров (| X | обозначает число символов в строке X): г -- | Ль | — | /?21 = ширина матрицы а, в = |й[ + |52|, t= (число строк в а) — 1 = время, соответствующее матрице а, £=г-[-*-Н1/2. Если а' — другая Л/-матрица, то для нее г', s', t', Q' определяются аналогично. Очевидно, что t — верхняя граница для суммы длин всех следов внутри а. Отсюда немедленно следует Лемм а 2 *). По крайней мере один из г/3 следов в средней трети матрицы а имеет длину ^3t/r. Такой след обеспечивает относительно эффективный 5-разрез. Для произвольной матрицы а с периметром я обозначим через С г^ С (а) наименьшую зону, требуемую для нашего алгоритма установления Сотр (л), ие содержащую зону, необходимую, чтобы запомнить начальное множество аргументов я. Пусть В = В (а) будет аналогичной зоной, соответствующей предикату Bridge. Для другой М-матрицы а' будем писать В' = В (а') жС = С (а'). х) Чтобы упростит!, изложение этого раздела, мы пренебрегаем разницей между действительным числом q и его рациональными приближениями [q] и U/] + . Аккуратный читатель может проверить, что это допущение несущественно.
218 М. С. Патерсон Лемма 3. С (а) ^ k^Q (а) для некоторого фиксированного числа hi. Доказательство. Доказательство проведем индукцией по Q. Если Q очень мало, то а достаточно мало, чтобы использовать Triv, поэтому рабочего места не нужно и С (а) = 0. В противном случае выбор стратегии таков: (i) если s больше чем г, делаем /?-разрез, чтобы уменьшить вполовину s, иначе (ii) если t1/* велико по сравнению с г и s, делаем Д-разрез, чтобы уменьшить вполовину t, иначе (iii) уменьшаем 7% делая iS-разрез, существование которого гарантируется леммой 2. Для того чтобы вычислить предикат Сотр, нужно обеспечить место для аргументов этого предиката на следующем, более низком уровне и место для наибольшего из двух соответствующих под- вычислений, скажем, Сотр (а'). (Конечно, эти вычисления будут выполняться не одновременно, а последовательно.) Таким образом, для трех случаев, перечисленных выше: (i) r<s С<С, 4г + s -f- С так как & + s есть сумма длин двух новых периметров, образованных с помощью Я-раз- реза, ^4r -j- s -f- kiQf по предположению индукции, ^ 4r -f- s -f- ki (r -f- s/2 -f £1/2) так как можно предположить, что r' = r, s' — s/2, t' ■< £, <&i<? если /q>10; <ii) r + g<7f*/2 C<4r + s + C ^Ar + s+kiQ' < 4r -I- s 4- k (r -I- s -I- (t/2)1^2) так как можпо предположить, < &1<? если fc4 > 56 (1 + (l/2)i/2); <Ш) s<r и 7^/2<r-l-g (так что 49f/r<4r) C<2r + s + 6*/r4-C так как (2r + s + 6*/r)-верхняя граница для суммы двух новых периметров, образованных с помощью ^-разреза,
Ограничения на ленту 219 <2r + s+6*/r + + /4 (2r/3 + (s -]- 3*/r) ~f jf^2) так как можно предположить, что г' <2r/3,s'<s + 3^/r, i' = i, Таким образом, если, например, ki = 100, то лемма доказана. Лемма 4. Для некоторого фиксированного к2, если матрица а такова, что для некоторого Т (i) 7ll/2<r<7\ (ii) s<G77r, (iii) /<Г, /no B(a)<^k27A/2-24T/r. Доказательство. Чтобы установить Bridge, мы должны или прямо вычислить Сотр, или применить ^-разрез и свести эту задачу к двум подзадачам. Рассмотрим два случая. (i) Если г<ЗГ1/2, то В ^_2r ~\- s -\~ С так как 2г + 3 есть длина периметра матрицы а, ^г + бТ/г + к^г + бТ/г + Т1'2) пз (и) и (ш), <6Г1/2 -|- 6Г1/2 + /ч (ЗГ1/2 + 6Г1/2 + Т1/2) так как Г1/2<г<ЗГ1/2, <Ск 7"1//2 2477?* Для Д0Стат0Ч11° большо- "^ 2 / г0 £^ (ii) Если г>ЗГ1/2, проведем доказательство индукцией по г, используя предыдущий случай как базис. Применяя 5-разрез, существование которого гарантировано леммой 2, видим, что для подматрицы а' (i)' Г1/2<г/3<г'<2г/3<7\ (ii)' s'<cls + 3£//'<977r<67>', (iii)' *'^*<T. Поэтому а' удовлетворяет условиям данной леммы и i?:<Cs -[- G71//' -|-5' так как s + 677?" есть верхняя граница для суммы длин новых аргументов, ^s + 6T/r + k2Ti/2-2/±Tlr' <с: к2Т1/2 — 2АТ/Г так как s < 6Г/г н г' < 2г/3. Лемма доказана.
220 М. С. Патерсон Теперь у нас есть все, чтобы доказать главную теорему. Пусть М допускает слово w\ тогда существует М-матрица а с периметром {ws%, 6,[)'Г|"ЬЛ:, qQqu А,} и можно предположить для а, что t ~ Т (| w | ) и х = Т (| w |). Рассуждая, как в доказательстве леммы 2, можно показать, что существуют такие m и S для формулы А, что (i) m<^/2, (ii) |5|<^/2. Следовательно, по лемме 3 предикат Сотр, входящий в состав формулы А, можно проверить на зоне, пропорциональной T1/2(\w\). Входящий в состав той же формулы предикат Bridge вызывает трудности, так как для первого набора аргументов предиката Bridge (появляющихся из формулы А) может быть | S \ > > GT/(T — m), хотя в последующих итерациях новые следы можно выбрать достаточно малыми. Однако эти первые аргументы предиката Bridge можно просто пропустить, до тех пор пока не потребуется вычисление предиката Сотр, так что достаточно сохранять только одну копию этого S и использовать специальный символ, например «£», чтобы отметить S в аргументах предиката Bridge. С помощью этого приема сразу получаем, что Accept (w) можно вычислить на зоне порядка Т1^ (\ w \). 6. Заключение Говорят, что машина М имеет строгую временную сложность Тг если она имеет временную сложность Т и для каждого слова и? существует вычисление, приводящее к останову машины и использующее время не больше Т (| w |). Строгая ленточная сложность определяется аналогично. Теорема 1. Если L распознается на недетерминированной одноленточной машине Тьюринга с временной сложностью (строгой временной сложностью) Т, причем Т (п) ^ тг2, mo L распознается на детерминированной одноленточной машине Тьюринга с ленточной сложностью (строгой ленточной сложностью) Доказательство. Чтобы доказать утверждение, связанное со строгой сложностью, надо в описанном выше алгоритме на каждом шаге искать как допускающее, так и отвергающее вычисления. Следуя [2], можно получить соответствующий результат для машин Тьюринга с записью на лепте (off-line), для которых входное слово находится па отдельной ленте, содержимое которой можно только читать, не изменяя. Понятие следа нужно обобщить и ввести расширенные следы, в которых каждый «символ»
Ограничения на ленту 221 теперь содержит не только информацию о состоянии и направлении, но также двоичное число, показывающее текущее положение головки на входной ленте. Таким образом, последовательность из к пересечений границы представляется с помощью строки дли- пой /v-log п, где п — длина входного слова. Мера, соответствующая Q в лемме 3, есть (г (log лг)1/2 + s (log n)~1^ + t1/2); предикат, который нужно проверить, имеет вид Bridge (<д0, 1 >(дь 1 >, X). Нетрудно доказать, что справедлива Теорема 2. Если L распознается на недетерминированной машине Тьюринга с записью на ленте с временной сложностью {строгой временной сложностью) Т (п) ^ /г, mo L распознается на детерминированной машине Тьюринга с записью на ленте с ленточной сложностью (строгой ленточной сложностью), равной (Т (/г).log п)Ч*. СПИСОК ЛИТЕРАТУРЫ 1. Savitch W. J., Relationships between nondeterministic and deterministic tape complexities, /. Comput. System. Sci., 4 (1970), 177—192. 2. Hopcroft J. E., Ullman J. D., Relations between time and tape complexities, /. Assoc. Comput. Mack., 15 (1968), 414—427. 3. Paterson M. S., Tape bounds lor time-bounded Turing machines, Conference Record of 11th IEEE Symposium on Switching and Automata Theory, 1970.
ЗАМЕТКА О СЛОЖНОСТИ ЯЗЫКОВ ПО ЧИСЛУ ПОВОРОТОВ НА ЛЕНТАХ1) Т. Камеда, Р. Волмар 1. Введение Первая попытка классифицировать вычисления по числу требуемых поворотов головок на лентах была сделана Трахтенбро- том [2]. Так называемая сложность по числу поворотов на лентах более детально была исследована в работах [4], [5], [8]. Фишер и Хартманис рассмотрели сложность по числу поворотов только для 1-ленточной машины Тьюринга. В этой статье сначала определяется поворотная сложность множества входных слов в терминах многоленточной двусторонней машины Тьюринга, а затем поворотные сложности 2-ленточной и 1-ленточной машин Тьюринга связываются с другими мерами сложности (теоремы 1 — 3). При этом свойства поворотной сложности для машин Тьюринга со стационарными движениями, вообще говоря, отличаются от свойств для машин Тьюринга без стационарных движений. В разд. 4 представлены верхние границы поворотных сложностей некоторых хорошо известных языков. Для того чтобы избавить читателя от необходимости вникать в точные определения и доказательства, мы излагаем материал довольно неформально, предоставляя читателю, если возникнет необходимость, самому разбираться в деталях. 2. Предварительные определения По определению k-ленточная машина Тьюринга М над конечным входным алфавитом 2 состоит из конечного управляющего устройства, которое может принимать состояния из конечного множества состояний S ={qo, Ч\, • • •, <7г}» п & лент, представляющих собой бесконечные в обе стороны цепочки ячеек. Конечное управляющее устройство связано с каждой лентой с помощью считывающе-записывающей головки (или просто головки), которая в каждый фиксированный момент времени находится над одной из ячеек. Машина М начинает работу в выделенном начальном состоянии q0, имея на входной ленте слово из множества 2* всех слов конечной длины над 2. Головка на этой ленте обозревает вначале самый левый символ входа; на всех остальных лентах вначале х) Kameda Т., Vollmar R., Note on tape reversal complexity of languages, Information and Control, 17, 2 (1970), 203—215.
Заметка о сложности языков 223 написаны только пустые символы В (В (J 2) и головка обозревает один из них. В соответствии с функцией перехода б управляющее устройство определяет (в зависимости от текущего состояния q £ S ж символа из алфавита ленты Г (Г zd 2 U {В}), расположенного под каждой головкой) движение, т. е. новое состояние, новый символ из Г —{В}, заменяющий старый под каждой головкой, и движение каждой головки. Движение каждой головки определяется значением d (d = —1, 0, 1), указывающим, что рассматриваемая головка сдвигается на d ячеек вправо. Состояния из F a S называются заключительными состояниями. Если М оказывается в конфигурации, для которой функция 6 не определена, то говорят, что М останавливается. Говорят, что входное слово допускается машиной М, если М останавливается в заключительном состоянии. Множество всех входных слов, допускаемых М, называется множеством, распознаваемым М. Машина Тьюринга М определяется как шестерка М = (S, 2, Г, б, qQ, F) и иногда называется /с-ленточной двусторонней машиной Тьюринга в отличие от односторонней машины Тьюринга, где входное слово записывается на отдельной входной ленте> которая имеет только читающую головку, движущуюся в одну сторону. В этой статье под /с-ленточной машиной Тьюринга мы будем понимать определенную выше й-ленточную двустороннюю машину Тьюринга. Пусть 2Г (к) — класс всех й-ленточных машин Тьюринга. Для дальнейших рассуждений нам потребуется подмножество &' (к) множества JT (к), состоящее из тех и только тех машин М, которые не имеют стационарных движений, т. е. d никогда не принимает значения 0. Говорят, что машина Тьюринга ограничена временем Т (п), если она останавливается на всех входах длины п не позднее чем через Т (п) движений. Говорят, что машина Тьюринга ограничена функцией поворотов R (п), если она останавливается на всех входах длины п, прежде чем суммарное число поворотов головки па всех лентах превысит R (п). Говорят, что машина Тьюринга М определяет время Т (п), если она ограничена временем Т (п) и для каждого п существует вход длины п, для которого М делает в точности Т (п) движений до остановки. Аналогично машина Тьюринга М определяет функцию поворотов R (тг), если она ограничена функцией поворотов R (п) и для каждого п существует вход длины п, для которого М делает до остановки в точности R (п) поворотов. В этой статье мы будем рассматривать только те машины Тьюринга, которые останавливаются для всех входов, или в терминах множеств, распознаваемых этими машинами,— только рекурсивные множества.
224 Т. Камеда, Р. Волмар Множество L а 2* называется Т (п)-временно-распознаваемым (R (п)-поворотно-распознаваемым), если существует машина Тьюринга, ограниченная временем Т (п) (функцией поворотов R (п)), которая распознает L. Иногда мы будем говорить, что множество, например, Т (п)-временно-распознаваемо на машине Тьюринга из класса £Г (к) или <Т' (к), смысл этого очевиден. Можно попытаться определить временную сложность, например, множества L а 2* как «минимальную» функцию Т (п), при которой L ле является Тх (^г)-времеттно-распозттаваемым пи для какой функции Т1(п), удовлетворяющей условию in! (T^(n)IT(n)) = гг-*оо = 0. Но эта попытка оказывается неудачной, так как можно построить множество L, для которого такой функции Т (и) не существует [3]. Поэтому под временной или поворотной сложностью мы будем неявно понимать свойство множества, которое проявляется во времени распознавания или в числе поворотов, требуемых для распознавания этого множества. 3. Основные результаты Наш первый результат связывает поворотную сложность па многоленточной машине Тьюринга с поворотной сложностью на 2-лепточной машине Тьюринга. Теорема 1. Множество входов, распознаваемое R (п)-пово- ротно-ограниченной машиной Тьюринга из класса S' (к), где к ^ 1, распознается GR (п)-поворотно-ограниченной машиной Тьюринга из класса 3"' (2). Доказательство. Случаи к = 1, 2 тривиальны. Предположим, что к ^ 3. Пусть М — данная R (^-поворотно-ограниченная машина Тьюринга из класса JT' (к). Опишем 6R (^-поворотно-ограниченную машину Тьюринга М' из класса У (2), моделирующую движения машины М. Пусть Ti и Т2 — две ленты машины М''. Каждая из них имеет к дорожек, соответствующих к лентам машины М. На ленте 7\ моделируются те ленты машины М, на которых головки движутся вправо, а па Т2 — на которых головки движутся влево. Предположим, не теряя общности, что головка на i-й (1 ^ / ^ ^ к) ленте машины М изменяет направление своего движения справа налево. Перед изменением направления 1-я лента моделировалась на 7\, а после изменения — на Т2. По для того, чтобы продолжить моделирование, на i-и дорожке лепты Т2 должно быть скопировано содержимое i-и дорожки ленты Т\. Для того чтобы сделать это, обозреваемые ячейки на 771 и Т2 помечаются и затем обе головки движутся все время вправо, пока обе не достигнут пустого содержимого лент. Затем обе головки движутся влево, и при этом содержимое i-й дорожки ленты Тх записывается
Заметка о сложности языков 225 на £-ю дорожку ленты Т2. После того как обе головки достигают пустого содержимого па левых концах лент, они возвращаются на отмеченные ячейки. Во время описанного процесса головка ленты Т\ совершает 2 поворота, а головка ленты Т2 — 4 поворота. Таким образом, шести поворотов оказывается достаточно для того, чтобы промоделировать поворот машины М. В настоящее время не известно, можно ли уменьшить коэффициент 6. Интересно сравнить этот результат с соответствующим результатом для временной сложности. Хеини и Стирнз [11] показали, что если множество распознаваемо за время Т (п), то оно распознаваемо Т (п) log T (тг)-временно-ограниченной машиной Тьюринга из класса ЗГ (2). Докажем теорему, указывающую связь между поворотной сложностью на 1-леыточной машине Тьюринга и временной сложностью. Сначала приведем один результат из работы [4]. Лемма 1. Если множество распознается R (п)-поворотно- ограниченной машиной Тьюринга из класса £Г (1), то оно распознается а/? (п)-поворотно-оераниченной машиной Тьюринга из класса .f (1) для любой константы а >> 0. Теорема 2. Любую Т (п)-временно-ограниченную машину Тьюринга из класса 3 (/с), к ^ 1, можно промоделировать Т (п)- поворотно-ограниченной машиной Тьюринга из класса 3'' (1). Доказательство. Пусть М — данная Т (^-временно- ограниченная машина Тьюринга. Построим Т (^-поворотно-ограниченную машину Тьюринга М' с одной лентой. Лента М' имеет по одной дорожке для каждой из лент машины М. Каждая дорожка разделена на два уровня; нижний уровень — для символов ленты машины М, верхний — для маркера. Маркер на каждой дорожке запоминает положение головки на соответствующей ленте машины М. Легко видеть, что каждое движение машины М можно промоделировать не более чем двумя поворотами машины М''. Следовательно, если машина М Т (тг)-временно-ограничеиа, то машина М' 2Т (тг)-поворотио-ограничена. Согласно лемме 1, можно построить Т (тг)-поворотно-ограниченную машину Тьюринга из класса ,f (1), моделирующую М'. Для доказательства теоремы 3 нам понадобится (см. [8]) Лемма 2. Пусть М принадлежит классу JT (1) и определяет время Т (п) и функцию поворотов R (п). Если Т (п) ^ с'п2 для некоторой константы с', то Т (п) и R (п) удовлетворяют соотношению Т (п) ^ R (п) ^ сТ (?г)1/2, где с — константа.
226 Т. Камеда, Р. Волмар Доказательство. Хартмапис [8] доказывает это для односторонних машин Тьюринга, но его доказательство применимо и здесь *). Теорема 3. Существует множество, для которого Т (п) поворотов в теореме 2 необходимы. Доказательство. Существуют множества, распознаваемые за время Т (п), которые для распознавания па 1-леиточ- ной машине Тьюринга требуют времени не менее с'Т2(п), где с' — некоторая константа. Примером такого множества будет множество L, ={и>*и>т |^е{0,1}*, П {0,1}}, где wT — зеркальное отображение для w [9]. Пусть L — такое множество. Предположим, что машина М из класса S' (1) распознает L. Пусть М определяет время 7\ (п) и функцию поворотов R (п). Тогда 7\ (п) ^ с'Т (п)2 для некоторой константы с''. Применяя лемму 2, получаем R (п) > cTi (n)V* > с {с'Т (п)2)У* = с"Т (п), где с" — константа. Независимо от того, как мы выбрали Му функция поворотов R (п), определяемая машиной М, должна удовлетворять указанному соотношению. В силу леммы 1 константа с" может быть сделана равной 1. Используя понятие следа [10], можно прямо показать, что множество Li, определенное выше, требует для своего распознавания на 1-лепточной машине Тьюринга по крайней мере сп поворотов, где с — некоторая константа. 4. Границы на поворотную сложность для некоторых языков В этом разделе мы попытаемся найти верхние границы на число поворотов, необходимых для распознавания языков из некоторых хорошо известных классов. Как и следовало ожидать, алгоритм, придуманный для минимизации времени распознавания, обычно требует сравнительно малого числа поворотов. Предположим, что язык обладает тем свойством, что если он R (дг)-поворотно-распозыаваем на машине Тьюринга из некоторого класса, то он также и aR (дг)-поворотно-распознаваем на машине Тьюринга из того же класса, причем а >> 0 — любая г) Если машина совершила t движении, то следующий поворот произойдет не позднее чем через t + сп движении, иначе машина не остановится.— Прим. ред.
Заметка о сложности языков 227 константа (лемма 1). Тогда мы будем говорить, что этот язык <~~R (п)-поворотно-распознаваем, а также что к распознаванию этого языка применимо «ускорение». Если никакая из известных теорем об «ускорении» не применима, то говорят, что язык cR(ri)- поворотно-распознаваем для некоторой константы с. 1. Регулярные (р.) языки: поворотов не требуется [13]. 2. Линейные контекстно-свободные (л. к.-с.) языки [6]: алгоритм Касами [12J требует только с'п (с — константа) поворотов на 1-ленточной односторонней (со входом) машине Тьюринга со стационарными движениями. Эту машину Тьюринга можно промоделировать па 1-ленточиой двусторонней машине Тьюринга с сп поворотами (с — константа) [4]. Применяя «ускорение» (лемма 1), получаем границу ~п. 3. Детерминированные контекстно-свободные (д. к.-с.) языки [6]: так как каждый д. к.-с. язык распознаваем за время 2п (см. [2J), то в силу теоремы 2 и леммы 1 он ~дг-поворотно-распо- зпаваем на 1-ленточной машине Тьюринга. 4. Контекстно-свободные (к.-с.) языки: алгоритмы, предложенные в работах 115] и [16], могут быть выполнены на машине Тьюринга без стационарных движений так, что потребуется лишь сп поворотов (с — константа). (См. добавление 1.) Таким образом, сп является также границей и для машины Тьюринга со стационарными движениями. 5. Языки двустороннего детерминированного автомата с магазинной памятью (2ДМП) [7]: алгоритм в [1] при реализации его на машине Тьюринга требует сп поворотов. Можно найти сп2-пово- ротпо-ограпичепную машину Тьюринга без стационарных движений, выполняющую ту же работу. (См. добавление 2.) 6. Языки двусторонних магазинных (2МП) автоматов [7]: алгоритм в [1] при реализации его на машине Тьюринга требует сп2 поворотов. Можно найти сдг3-поворотыо-ограничеыную машину Тьюринга без стационарных движений, выполняющую ту же работу. (См. добавление 2.) Все эти результаты собраны в табл. 1. Для сравнения приводим границы на число поворотов, необходимых для 1-ленточной машины Тьюринга. Они получены из соответствующих алгоритмов, упомянутых выше, и теоремы 2. В силу леммы 1 мы не отличаем распознавание на 1-ленточной машине Тьюринга со стационарными движениями от распознавания на 1-ленточной машине Тьюринга без стационарных движений. Множество Li, которое мы определили ранее, является д. к.-с. языком и в то же время л. к.-с. языком. Оно требует по крайней мере ~п поворотов па 1-ленточной машине Тьюринга. 1-леыточная машина Тьюринга, построенная в работе [14] с целью минимизации времени распознавания к.-с. языков, требует также ~п3 поворотов (см. табл. 1). Эти и некоторые другие 15*
228 Т. Камеда, Р. Волмар Таблица 1 Границы на число поворотов Языки Р- л. к.-с. д. к.-с. к.-с. 2ДМП 2МП Стационарные движения допускаются 0* ~ п ~ п с и с п с п2 Стационарные движения не допускаются 0* ~ п ~ п с п с п2 с п3 1-ленточная машина Тьюринга 0* ~ п * ~ п * ~7l3 ~ /?2 log п ~/i* Звездочкой отмечена точная граница, с — некоторая константа. примеры дают основание предполагать, что «минимальное» время и «минимальное» число поворотов можно получить на одной и той же машине. Верно это или нет — тема наших дальнейших исследований. Добавление 1 ДОКАЗАТЕЛЬСТВО ТОГО, ЧТО КАЖДЫЙ к.-С. ЯЗЫК С ^-ПОВОРОТНО- РАСПОЗНАВАЕМ НА МАШИНЕ ТЬЮРИНГА БЕЗ СТАЦИОНАРНЫХ ДВИЖЕНИЙ Пусть G = (V, 2, Р, а) — контекстно-свободная грамматика, V — множество терминальных и нетерминальных символов, 2 — множество терминальных символов, Р — множество правил вывода, а — начальный символ. Без потери общности можно предположить, что каждое правило вывода имеет вид X -ь YZ или X -+ а, где X, У, Z 6 V — 2 и а 6 2 (см. [6]). Пусть w = а{а2 . . . ап (at £ 2, I = 1, 2, . . ., п) — входное слово для нашей распознающей машины Тьюринга. Допустим, что к #! и ап привязаны граничные маркеры. Для чисел i и у, для которых 1 ^ i ^ j ^ п, положим N (i, ;) ={Х е V - 2 | X 4 atai+i . . . а,}, (1) так что w ^ L (G) тогда и только тогда, когда о £ N (I, п), где L (&) — язык, порождаемый грамматикой G. Алгоритм Янгера [16] использует соотношение N(i,j) = jj ш{хеу-2\х-+х{х2ер /\х^(г,г)к /\X*£N(t+l,])}, (2) где i </.
Заметка о сложности языков 229 Построим распознающую (п X п)-матрицу, (i, /)-м элементом которой (i ^/) будет N (i, /) (рис. 1,а). Все клетки под главной диагональю оставляются пустыми. Остальные клетки матрицы заполняем в порядке, указанном стрелками на рис. 1,а: сначала заполняются клетки главной диагонали, согласно формуле N (i, i) ={Х £ V — 2 | X -> at £ Р), а все другие клетки — согласно соотношению (2). Точнее, N (i, /) можно вычислить, обходя матрицу в двух направлениях, как указано на рис. 1,6. f 2 j л 12 [..... .. п Рис. 1. Распознающая матрица для к.-с. языков. Маленькие кружочки на концах стрелок указывают начальные положения. К тому времени, когда движение вдоль горизонтальной стрелки достигнет (£, /)-й клетки, значение N (i, j) уже будет вычислено и его можно поместить в эту клетку. Ио движение по пустым клеткам (по причинам, которые станут ясны, когда мы опишем реализацию алгоритма на машине Тьюринга) продолжается, пока не будут достигнуты головки стрелок. Заметим, что горизонтальные и вертикальные движения состоят из одного и того же числа клеток, и когда они закончены, мы готовы вычислить значение для новой клетки, а именно N (i + 1, j; + 1). Чтобы избежать некоторых технических трудностей при нечетном п, мы добавляем к распознающей матрице одну строку снизу и один столбец справа, так что размер п' матрицы всегда четный, т. е. п' = 2 \{п + 1)/2], где [ ] — целая часть. Теперь попытаемся построить машину Тьюринга М 6 3"' (3), выполняющую описанное выше вычисление. Перепишем матрицу на две ленты 7\ и Т2. Сначала разрежем матрицу по горизонтали и запишем первую строку (все п' клеток) на ленте 7\, за ней — вторую и т. д. Затем разрежем матрицу по вертикали и перепишем первый столбец (все п' клеток) сверху вниз на ленте Г2, за ним —
230 Т. Камеда, Р. Волмар второй и т. д. Каждую строку или столбец на Г4 или Г2 будем считать блоком. Для I = 1, 2 обозначим через Тх (г, j) ячейку, соответствующую (£, /)-элементу матрицы. Вначале входное слово записано на третьей ленте Г3, называемой входной лентой. Используя ее, машина отмечает п 12 ячеек от ее начала (ленты Г3). Это можно сделать, обходя и' ячеек (начав с ячейки, в которой записано а{) на Г3 и отмечая во время каждого обхода самую левую и самую правую неотмеченные ячейки на этом сегменте. Обозначим головки на Гь Г2 и Г3 через Hi, H2 и Н3 соответственно. Во время обходов Н3 изменяет направление движения п'/2 раз. Все это время Н{ и Н2 движутся синхронно с /73, изменяя направление только тогда, когда изменяет направление Н3. Таким образом, легко отметить п'/2 ячеек на Гх. Когда это сделано, все головки движутся влево, пока Н3 не окажется на первом входном символе а4. В это время Н{ и Н2 отмечают ячейки, на которых они находятся, и с этого момента они будут называться левыми концами лент Г4 и Г2 соответственно. Затем мы начинаем вычисление клеток распознающей матрицы. Ячейки на Г4 и Г2, соответствующие главной диагонали матрицы, заполняем, считывая символы с Г3 и используя соотношение N(i, i) ={Хе V-2 \X^at еР}. Сразу же заполняются Г4 (1, 1) и Г2 (1, 1), так как Н3 обозревает аь a Hi и Н2 находятся на 7\ (1, 1) и Г2 (1, 1) соответственно. Головки Hi и Н2 должны сдвинуться на п' + 1 ячеек вправо, чтобы оказаться на Тх (2, 2) и Г2 (2, 2) соответственно, что соответствует следующему элементу главной диагонали, а именно клетке (2, 2). В это время головка Н3 сдвигается на п' 12 + 1 ячеек вправо и возвращается на левый конец ленты Г3, где она снова меняет направление, так что она будет обозревать а2 точно в то время, когда Hi и Н2 окажутся на Г\ (2, 2) и Г2 (2, 2) соответственно. После того как таким образом вычислена первая половина диагональных элементов, Н3 работает только на правой половине входного слова. Когда все элементы главной диагонали вычислены, Н3 движется вправо, совсем не изменяя своего направления (М больше не использует Н3). До сих пор общее число поворотов головок было пропорционально п'. Теперь М сдвигает Hi и Н2 на левые концы лент Т^ и Г2 соответственно. С этого момента вычисления можно выполнять по некоторой системе. Они происходят как указано на рис. 1. Для £ = 1,2,. . ., п делаются следующие шаги: (A) В начале вычислений клеток на £-й диагонали головка Hi находится на Тх (1, 1), а Н2 — на Г2 (1, i). (B) Все клетки на любой диагонали вычисляются без поворотов головок. Вновь вычисленные клетки записываются только на ГА.
Заметка о сложности языков 231 (C) Когда (В) закончено, Н{ и Я2 изменяют свои направления и возвращаются в позиции, указанные в (А). Во время этого процесса вновь вычисленные клетки записываются в соответствующие ячейки на Т2. (D) Если i = n, вычисление заканчивается. В противном случае Н2 сдвигается вправо на Т2 (1, i + 1), а в это время Н{ сначала сдвигается вправо на (п'/2 + 1) ячеек, а затем возвращается на Г4(1, 1). Указанные четыре шага повторяются п — 1 раз, после чего вычисляется N (1, п) и вход допускается тогда и только тогда, когда а 6 N (.1, п). Заметим, что в (В), хотя Я2 «отстает» от Н{ на одну клетку, вычисления можно выполнять, как описано выше, запоминая содержимое последней ячейки, обозреваемой головкой Hi. Каждый из описанных выше шагов требует фиксированное число поворотов. Отсюда следует, что общее число поворотов ограничено величиной сп для некоторой константы с. Добавление 2 ДОКАЗАТЕЛЬСТВО ТОГО, ЧТО КАЖДЫЙ 2МП (2ДМП) ЯЗЫК С/г3(слг2)-ПОВОРОТНО-РАСПОЗНАВАЕМ НА МАШИНЕ ТЬЮРИНГА БЕЗ СТАЦИОНАРНЫХ ДВИЖЕНИЙ Чтобы избежать длинного описания алгоритма, приведенного в статье [1], будем считать, что читатель знаком с этой статьей, и будем использовать обозначения из нее, даже не определяя их. (Страницы, указанные в этом добавлении, относятся к соответствующим страницам статьи [1].) Здесь мы дадим лишь краткий набросок доказательства. Начнем с распознающей матрицы (стр. 192), но только сейчас будем считать, что каждый элемент главной диагонали отмечен до заполнения матрицы. Так же, как в [1], наша распознающая машина М имеет одну входную ленту и рабочие ленты. (Нам потребуются только две рабочие ленты, так как М может писать на входной ленте.) Роли этих лент почти те же, что и в [1], но распознающая матрица запоминается на двух рабочих лентах, 7\ и Г2, несколько иначе. Порядок, который мы примем, указан па рис. 2 стрелкой, выходящей из верхнего f Ч 1 \ ( \ ?. \ \ \ \ \ _ ^ -1- \ \ \ ■J ■ щ 1 \ -*г- \ л ^ 1 J \ \ \ ) \ \ л Рис. 2. Распознающая матрица для 2ДМП языков.
232 Т. Камеда, Р. Волмар левого угла|тматрицы. Как и в добавлении 1, каждая строка матрицы соответствует\6лощ на рабочей ленте. В последующем головки Hi и Н2 на лентах 7\ и Г2 соответственно обычно движутся синхронно в одном и том же направлении, так что их позиции по отношению к левым концам лент не изменяются. Иногда их относительные позиции изменяются, но тогда машина может прибегнуть к «восстанавливающей» операции, чтобы восстановить те же самые относительные позиции. Это можно сделать, сдвигая Hi и Н2 к левым концам лент Т\ и Т2 соответственно. Та головка, которая достигнет левого конца первой, остается внутри первого блока и ожидает другую головку, обходя первый блок в обоих направлениях. Когда другая головка достигнет левого конца своей ленты, первая головка также будет на левом конце. (Точнее, их относительные позиции могут отличаться на одну клетку, но эту трудность легко преодолеть, позволив при необходимости первой головке выйти из первого блока на одну клетку.) Перед выполнением алгоритма машина отмечает ячейки па Г4 и Т2, соответствующие главной диагонали распознающей матрицы. Это легко сделать, обходя входное слово п раз и сдвигая Hi и Н2 вправо: когда входная головка просматривает входное слово слева направо, отмечается самая левая неотмеченная ячейка. В то же время Hi и Н2 отмечают ячейки, на которых они находятся. Когда входная головка просматривает входное слово справа налево, отмечается самая левая неотмеченная ячейка, a Hi и Я2 делают отметки на своих лентах. Здесь снова входная головка, головки Hi и Н2 оказываются «не синхронизированными» на одну ячейку на каждый обход, но это легко преодолеть методом, подобным описанному в предыдущем абзаце. Когда все ячейки, соответствующие главной диагонали, отмечены, Н{ и Н2 снова «восстанавливаются». Следующие семь шагов соответствуют аналогичным шагам в статье [1, стр. 201—202]. 1. Этот шаг можно сделать в то время, когда отмечаются ячейки, соответствующие главной диагонали. 2. Этот шаг можно сделать, не изменяя направления головки Hi или Н2. Входная головка изменяет направление п раз. Когда шаг совершен, Hi и Н2 «восстанавливаются». 3. Этот шаг не требует поворотов головок Hi или Н2. Входная головка делает не более п поворотов в зависимости от положения первого элемента, имеющего вид [0, (р, Z, q)]. 4. Пусть на шаге 3 найден элемент r(i,j). Предположим, что d = 0. Тогда число блоков (I на рис. 2), которые должна пересечь головка Н2, чтобы прийти к /-у блоку, равно числу ячеек, которые должна пересечь головка Hi, прежде чем она достигнет ячейки (в этом блоке), соответствующей элементу г (£, i). (Эта
Заметка о сложности языков 233 ячейка была отмечена ранее.) Головка Hi остается внутри i-ro блока, обходя его с левого конца до правого несколько раз, каждый раз отмечая новую ячейку между ними и включая ячейки, соответствующие г (i, j) и г (i, i). Когда все эти ячейки будут отмечены, Н2 достигнет /-го блока. Теперь Н{ и Н2 можно сдвинуть в ячейки, соответствующие г (£, 1) и г(1,/). Число поворотов, которые совершает каждая головка, не превосходит п. Случаи d = ±1 можно выполнить, сдвигая Hi в следующий блок (влево или вправо в зависимости от величины d) и оставляя в то же время Н2 в /*-м блоке. Когда этот шаг закончен, Hi и Н2 «восстанавливаются». 5. Аналогично шагу 3. 6. Легко выполнить. 7. Возвратиться к шагу 3. Теперь подсчитаем общее число поворотов, требуемое для того, чтобы допустить или отвергнуть входное слово. Каждый из шагов 1—6 можно выполнить, совершив не более Citi поворотов (ci — константа), а шаг 7 вообще не требует поворотов. Если рассматривается язык 2ДМП, то шаги 3—7 повторяются самое большее с2п раз (с2 — константа) (стр. 198). Таким образом, наша машина Тьюринга с?г2-поворотно-ограничена (с — константа). Если рассматривается язык 2МП, то шаги 3—7 повторяются самое большее съпг раз (с3 — константа) (стр. 202). Следовательно, наша машина с?г3-поворотно-ограничена для некоторой константы с. СПИСОК ЛИТЕРАТУРЫ 1. Aho А. V., Hopcrofl J. E., Ullman J. D., Time and tape complexity\of pushdown automation languages, Information and Control, 13, 3 (1968), 186—206. (Русский перевод готовится к печати в сб. «Языки и автоматы», изд-во «Мир».) 2. BecvaF J., Real-time and complexity problems in automata theory, Kyber- netika, 6 (1965), 475—498. 3. Blum M., A machine-independent theory of the complexity of recursive functions, /. Assoc. Comput. Machinery, 14, 2 (1967), 322—336. (Русский перевод: Блюм М., Машинно-независимая теория сложности рекурсивных функций, сб. «Проблемы математической логики», изд-во «Мир», М., 1970, стр. 401—422.) 4. Fischer P. С, The reduction of tape reversals for off-line one-tape Turing machines, /. Comput. Syst. Sci., 2 (1968), 136—146. 5. Fischer P. C, Hartmanis J., Blum M., Tape reversal complexity hierarchies, IEEE Conf. Record of the 9-th Annual Symp. on Switching and Automata Theory, 1968, pp. 373—382. 6. Гинзбург С, Математическая теория контекстно-свободных языков, изд-во «Мир», М., 1970. 7. Gray J. N., Harrison M. A., Ibarra О., Two-way pushdown automata, Information and Control, 11 (1967), 30—70. 8. Hartmanis J., Tape-reversal bounded Turing machine computations, /. Comput. Syst. ScL, 2 (1968), 117 — 135.
234 Т. Камеда, Р. Волмар 9. Hartmanis J., Computational complexity of one-tape Turing machine computations, /, Assoc. Comput. Machinery, 15, 2 (1968), 325—339. (Русский перевод: Хартманис Дж., Сложность вычислении па одно- ленточных машинах Тьюринга, сб. «Проблемы математической логики», изд-во «Мир», М., 1970, стр. 282—300.) 10. Hennie F. С, 0пе tape off-line Turing machine computations, Information and Control, 8, 6 (1965), 553—578. (Русский перевод: Хенни Ф. К., Вычисления на одноленточиой машине Тьюринга с записью па лейте, сб. «Проблемы математической логики», изд-во «Мир», М., 1970, стр. 223—248.) 11. Hennie F. С, Stearns R. E., Two-tape simulation of multitape Turing machines, /. Assoc. Comput. Machinery, 13, 4 (1966), 533—546. (Русский перевод: Хенни Ф. К., Стирнз Р. Е., Моделирование многоленточной машины Тьюринга на двуленточной, сб. «Проблемы математической логики», изд-во «Мир», М., 1970, стр. 194—212.) 12. Kasami Т., A note on computing time for recognition of languages generated by linear grammars, Information and Control, 10, 2 (1967), 209 — 214. (Русский перевод: Касами Т., О времепи распознавания языков, порожденных линейными грамматиками, сб. «Проблемы математической логики», изд-во «Мир», М., 1970, стр. 363—368.) 13. Rabin M., Scott D., Finite automata and their decision problems, IBM J. Res. Develop., 3 (1959), 114—125. (Русский перевод: Рабин М. О., Скотт Д., Конечные автоматы и проблемы их разрешения, Кибсрпетиче- ской сборник, вып. 4, Р1Л, М., 1962.) 14. Taniguchi К., Kasami Т., A note on computing time for the recognition of context-free languages by a single-tape Turing machine, Information and Control, 14 (1969), 278—284. 15. Torii K., Kasami Т., Ozaki H., Recognition and syntax-analysis of context- free languages, Report of Inst. Elec. Comm. Engrs. of Japan, June, 1966. 16. Younger D., Recognition and parsing of context-free languages in time n3, Information and Control, 10, 2 (1967), 189—208. (Русский перевод: Янгер Д. X., Распознавание и анализ коптекстно-свободных языков за время п3, сб. «Проблемы математической логики», изд-во «Мир», М., 1970, стр. 344—362.)
ПРОБЛЕМЫ СЛОЖНОСТИ ЯЗЫКОВ, ВЫЧИСЛИМЫХ В РЕАЛЬНОЕ ВРЕМЯ !) В. А. Бёркхард, П. П. Варайя Введение Более ранние исследования сложности вычислений были связаны с конкретными мерами сложности и с аксиоматическим подходом (см., например, [3]). Относительно машин Тьюринга такие меры, как время, число перемен направления движения (поворотов) и число рабочих лент, рассматривались в [1—5]. Мы рассмотрим две меры сложности для детерминированных машин Тьюринга, работающих в реальное время, в связи с этим статья делится на два раздела. Первый раздел касается «.-ленточных машин Тьюринга, работающих в реальное время с ограниченным числом поворотов. В нем показывается, что существует двойная (по числу лент и поворотов) бесконечная иерархия % классов функций, вычислимых в реальное время. Каждый такой класс содержится в некотором классе иерархии Хомского [6]. Будет доказано, что не все функции, вычислимые в реальное время, содержатся в %. Во втором разделе мы рассмотрим устройство, состоящее из п детерминированных МП-автоматов, работающих в реальное время независимо и параллельно. Главный результат состоит в том, что увеличение числа МП-автоматов ведет к увеличению вычислительных возможностей. Показано также, что не все функции, вычислимые в реальное время, могут быть вычислены таким устройством. Обсуждаемые здесь результаты содержатся в диссертации [7] первого автора, написанной под руководством второго автора. Вычисления в реальное время с ограниченным числом поворотов Для машины Тьюринга, работающей в реальное время, мерой сложности вычислений может служить пара: число рабочих лент и число допустимых поворотов на этих лентах в процессе подачи входных символов. Обозначим через ?г-РВМТ детерминированную машину Тьюринга, работающую в реальное время, с п рабочими лентами и одной входной односторонней лентой (детали определения см. в [1]). Каждый момент времени в процессе вычислений, когда одна из головок рабочей ленты машины М изменяет 2) Burkhard W. A., Varaiya P.P., Complexity problems in real time languages. Inform. Sci., 3 (1971), 87—100.
236 В. А. Бёркхард, П. П. Варайя направление движения, называется поворотом. Наше понятие поворота согласовано с понятием поворота, данным в работе [2]. Будем говорить, что число поворотов машины М ограничено числом г, если для каждой входной последовательности число поворотов не превосходит г. Пусть оМ (п, г) — семейство всех тг-РВМТ, число поворотов которых ограничено числом г. Язык L распознается машиной М из Л (п, г), если М вычисляет характеристическую функцию множества L 1). Пусть %(п, г)^{Т(М) М6^(л,г)}, N — множество натуральных чисел и N+ — множество натуральных чисел без нуля. Сформулируем основной результат этого раздела. Его доказательство вытекает из изложенных ниже лемм. Теорема. Для п, п £ N+ и г, г' £ N %{щ г)=>%(п\ г') тогда и только тогда, когда п^> п' и г > г'. Этот результат можно сравнить с результатом Рабина [1] и Хартманиса [2]. Рабин показал, что существует язык в % (2,|1), который не может распознать никакая 1-РВМТ. Хартманис рассмотрел машину Тьюринга с одной рабочей лентой при условии работы в реальное время и получил иерархию, упорядоченную по числу поворотов, допустимых в процессе вычисления 2). В этом разделе будут использованы следующие языки. Для п £ N+ обозначим 2П = {1, 2, . . ., 2п, с). Зададим функцию л": I>n-+{2i— 1, 2*}*, 1<;<га, соотношениями x*->x, если х £ {2i— 1, 2i}, и х к-> Л, если х $ (£ {2i — 1, 2i). Мы будем рассматривать продолжение функции лТ1 (которое мы будем обозначать тем же символом): л?: Z*-*{2*-l, 2i}*. т. е. л^ —гомоморфизм относительно конкатенации. Для n£[N+ положим Ln = {усх 6 2£ {с} 2£ | 3i 3 х = л? (у)Т). х) Язык, распознаваемый машиной М, обозначается далее через Т (М).— Прим. ред. 2) См. также статью Камеды Т. и Волмара Р., Заметка о сложности языков по числу поворотов па лептах, стр. 222—234 настоящего сборпика.— Прим. ред.
Проблемы сложности языков 237 Здесь верхний индекс Т обозначает транспозицию, т. е. Л =Л, ат = а при а(Е2/п (ху)т = утхт. Наконец, следуя Рабину, для п, r£N+ положим г=1 где L'n=Ln{#} и # $2П. Докажем ряд лемм, из которых будет вытекать наша теорема. Так как машина Тьюринга, не совершающая поворотов, является конечным автоматом, то сразу получается Лемма 1. Для п £ N+ язык L принадлежит классу % (п, 0) тогда и только тогда, когда множество L регулярно. Язык L'n при п > 0 нерегулярен, так как правоинвариантное отношение эквивалентности, индуцируемое L'n на (Е7г [} {#})*, не имеет конечного ранга [8]1). Из очевидной конструкции можно заметить, что для n£N+ язык L'n принадлежит классу % (п, 1). Лемма 2. .Для щ г, т из N+ А (п, г)е% (и, г), А (и, г + 1) $ « (т, г). Доказательство. Соотношение А (п, г) £ % (п, г) следует сразу из построения. Соотношение А (п, г + 1) $ % (т, г) докажем по индукции. Слова из А (п, г + 1) представляют собой конкатенацию не более г + 1 слов, каждое из которых принадлежит L'n. Пусть х £ А (п, г + 1) и wt £ L'n для 1 < i < r + 1, причем х = w1w2 . . . wrwr+i. Предположим, что машина М' 6 оМ (т, г) распознает А (п, г + 1). Тогда найдется такое слово Wi в L'n, что для того, чтобы допустить его, машина М' должна сделать хотя бы один поворот. Так как wx принадлежит также и А (п, г + 1), то и?4 допустимо машиной М'. Предположим, что М' сделает не менее к поворотов {к ^ г), ЧТОбы ДОПУСТИТЬ СЛОВО WiW2 . . . Wk ИЗ (L'n)k d А (п, Г + 1). Тогда найдется такое слово wk+i в L'n, что М' сделает не менее к + 1 поворотов, чтобы допустить wxw2 . . . wkwk+i £ A (n,r + 1), поскольку отсутствие такого слова wh+i противоречит лемме 1. 1)См. также Рабин М. О., Скотт Д., Конечные автоматы и задачи их разрешения, Кибернетический сборник, вып. 4, ИЛ, М., 1962, стр. 58— 91.— Прим. перев.
238 В. А. Бёркхард, П. П. Варайя Таким образом, мы показали существование слов из (L'n)r+1, для распознавания которых машина М' должна совершить не менее г + 1 поворотов. По предположению число поворотов М' ограничено, так что М' не распознает А (п, г + 1). Следствие 1. Если г, г' £ N и п £ N+, то % (п, г) из zd % (п, г') тогда и только тогда, когда г > г'. Лемма 3 представляет самостоятельнй интерес, так как касается вопроса, аналогичного вопросу сравнения п и п + 1 лент в работе [1]. Лемма 3. Если n^N* и r£N, то L'n+iQV (п, г). Доказательство. Предположим, что существует я-РВМТ М\ которая распознает Ln+i и делает при этом не более г поворотов. Мы построим два слова во входном алфавите машины М', из которых только одно принадлежит Ь'п+1, и покажем, что машина М' либо допускает, либо отвергает одновременно оба построенных слова. Это и будет доказывать лемму. Предположим, что М' принадлежит S (п, г) и Т (М') = L'n+i. Обозначим через Q множество состояний, а через Г алфавит рабочих лент машины М'. Пусть s(y), h (у) и г (у) — соответственно состояние машины М', набор из п обозреваемых символов па п рабочих лентах и число поворотов в тот момент, когда машина М' закончила работу над входом у. Таким образом, s: ZX+1-*?, h: 2*+1->Гп, г: 2*^->iV. Положим Z = {у 6 2*+1 \г(у) = г (г/г/') У/у' €2*+1}. Очевидно, что множество Z не пусто и замкнуто относительно удлинения *). Можно найти такое слово у' в Z, что при подаче на вход любого его продолжения, не содержащего маркер с, каждая рабочая головка после каждого своего (нетривиального) движения обозревает пустую ячейку. Пусть Z' ={у £ Z \у' — начало слова у}; ясно, что Z zd Z\ Для завершения доказательства нам потребуются два слова (обозначим их у0 и у'0) из Z, для которых s(yo) = s(y'0), h(yo) = h{y'0), Существование таких слов легко доказать простым вычислением. Пусть У0={Уо, У о). 2) Множество X cz 2 * называется замкнутым относительно удлинения, если Xzd X2*.
Проблемы сложности языков 239 Теперь мы дадим центральное для нашего доказательства определение. Обозначим через tj (у) цепочку символов на у'-й рабочей ленте (пустые символы не учитываются), которая получилась в результате обработки входа у. Таким образом, ty. 2n+i -► Г* (без потери общности полагаем, что пустые символы никогда не печатаются). Пусть Y' а 2n+i и Y а 2Й+ь причем Y бесконечно. Элементы из Y занумеруем числами из N+: Y = {yuV2, •••}• Определение. Пусть у'ь 7*2» • • •» Jm — различные положительные числа, не превосходящие п. Говорят, что пара (Y', Y) обладает, свойством G (/i, 72> • • •» 7т)> если существуют такие числа L ^ О и 0 ^ /4 </2 < • • •» что Для любых А- £ iV + и y°eY' 1) I */ (*/°Ы \— \tj (у0) I > /й для всех у из {уь у2, . . ., ум}, 2) I tj (у0) | < Ц, О/0*/*) | < \tj (у") | + L для всех 1 < у < /г, не принадлежащих {]{, у2, . . ., ут}. Неформально, рабочие головки с индексами уь у2, . . ., ут для входных цепочек из Y'Y при обработке второй части входа, принадлежащей Y, могут неограниченно отклоняться, в то время как остальные головки сдвигаются не более чем на L ячеек. Так как М' имеет ограниченное число поворотов, можно построить пару бесконечных множеств У £ 2Г*+Ь обладающих свойством G (7i, 72> • • •» 7т) Для некоторых целых чисел уь /2, . . . ...,/„,. Так, например, пара (У, У0) обладает указанным свой- ством. Конструкция таких множеств получена. Обозначим через tj {yy')ltj (у) цепочку символов, находящихся па рабочей ленте у в результате подачи на вход слова уу'', не считая тех символов, которые были напечатаны на ленте у в результате действия входа у. У т в е р ж д е и и е 1: Для 1 ^ i^ n существуют (1) различные положительные целые числа у*, у'*, ..., ]гт не превосходящие п, (2) Yid{2i — l, 2i}* (Yi —бесконечное множество), (3) ?;€<?, (4) у*еги, (5) Wi(j)£T*, где l^j<C.n не принадлежит списку (1)г причем (1') (Y0Yi .. . Уг-i, Yt) обладает свойством, G(yj, у*, . . ., рт )г (2') для всякого yh £Yk, 0^k^.i, s (z/V ...yl) = qt, h (z/V • • • У1) = У1 и для всякого y(l^y^ra), не принадлежащего списку (1), *,(уУ ...yi)/h(u°y1yt---yi-1) = wi(j).
240 В. Л. Бёркхард, П. II. Варайя Доказательство. Доказательство проведем по индукции. Очевидно, что для i=l найдется такое бесконечное множество У из {1, 2}*, что (У0, У) обладает свойством G (/О для некоторого 1^/i^ra, ибо в противном случае мы пришли бы к выводу, что языки {у0усх 6 L;+i | у 6 У) и {yoycxeLn+i\yeY} регулярны. Пусть числа /J, j\, ..., /mi таковы, что пара (У0, У) обладает свойством G(]\, /J, ...,7mi)- Условие (2') проверим перебором аргументов. Разобьем У на конечное число классов эквивалентности следующим образом. Для г/, у' из У положим у ~ у', если существуют такие элементы q£Q, у6Гп и ш(у)^Г* для числа /, 1^/^?г, не принадлежащего {/}, j\, ..., Д,}, что для любого у°еУо s(y°y) = s(y°y')=q, h(y°y) = h(y°y') = y, tj(yQy)itj(yQ) = tj{yQy')ih{yQ) = ™{i) для числа ;, 1^/^^, не принадлежащего {7}, 7г» •••ч]т1}- Так как L, (J и Г конечны, один из классов в разбиении, определенном таким образом, должен иметь бесконечное число элементов. Этот класс обозначим У4 cz У. Следовательно, для i ■= 1 утверждение выполняется. Аналогично можно показать, что утверждение выполняется для t = 2, 3, .. ., п. Итак, множества У4, У2, . . ., Уп определены. Для i = \, 2, .. ., ?г и fc = 1, 2, .. ., п положим {1, если (У0У1 • • • Yk-u Yh) обладает свойством GtiHh •••> U ...,jhmk), 0 в противном случае. Пусть G = (git k) обозначает (п X ?г)-матрицу, состоящую из нулей и единиц. Рассмотрим два случая. Случай 1. Ранг матрицы G равен п. Неформально говоря, все рабочие головки могут совершать неограниченные отклонения при работе над входами из У0У1У2 ... Уп» причем делают это независимо. Пусть £=|i/0|, где уо£У0. Тогда существуют такие входные цепочки из У0У1 . . . Yn {с} 2£-и {#} (A) уоуУ . . . yncnlX\ (уоУ1 ... Уп)Т# и (B) адУ ... упспппХ\ (уоу1 ... ynfit,
Проблемы сложности языков 241 что для 1^/^тг |*Луоу1...ув)|-|^Ы1>£+1 И \ЫуУ ... уп)\-\Ш)\>Ъ+1. Эти неравенства выполняются, поскольку ранг матрицы G равен п. Когда машина М' обозревает с, на каждой рабочей ленте последовательности символов длины \ + 1 по обе стороны от рабочей головки будут совпадать для входов А ж В типов (А) и (В) соответственно. Поэтому машина М' будет находиться в одном и том же состоянии как для входа А, так и для входа В. Получили противоречиел поскольку А £ L'n+i, В ^ Lrn+i. Случай 2. Ранг матрицы G меньше или равен п — 1. Тогда ЛГ будет в некотором смысле работать хуже, чем ранее, так как для входных цепочек из Y0Yi . . . Yп рабочие головки не могут совершать независимые неограниченные отклонения. Пусть Gt — такой вектор-столбец в GF (2)n (GF (2) — поле из двух элементов: 0 и 1), что G = {GU G2, . . ., Gn). В GF (2) существуют коэффициенты аи не все одновременно равные нулю, такие, что п 2 a«Gi = 0(mod2). Пусть ах , #г0, ••••>aih — отличные от нуля коэффициенты иг/4 и у11'— две различные цепочки в Y^. Положим 1 = max {| лТН-1 (уоуЬ) |, | я£И (УоУ i') | }. Из утверждения 1 следует, что (Y0^i ••• ^й-ь YiJ обладает свойством G(j\l, ji*, ..., fmti). Тогда найдутся такие входные цепочки из Y0Yi • • • Y\ ... Yik вида а = уоУу ...j/V1+1 ...I/ift И что I^HI-IMm1 ...jA)i>i+i, ^т-туоу1 •••yiv)\>i+i для всех j £ {/V, ..., ]'щ). В этом случае неравенства также выполняются, поскольку ранг матрицы G не превосходит п — 1. Рассмотрим входные цепочки типов (A) acjil+i{af#
242 В. А. Бёркхард, П. П. Варайя И (В) рс4+1Ит#. Когда М' обозревает с, на каждой рабочей ленте последовательности символов длины \ + 1 по обе стороны от рабочей головки будут совпадать для входов А ж В типов (А) и (В) соответственно. Рабочие ленты с индексами, отличными от /{i, Д1, . . ., ]'£и, вообще говоря, будут различными, но на Н + 1 клетках рабочей ленты в любом из рассмотренных случаев будут одинаковыми. Отсюда следует, что машина М' по окончании работы над входами А и В будет находиться в одном и том же состоянии. Мы снова пришли к противоречию, так как только одна из двух цепочек принадлежит L'n+1. Лемма 3 доказана. Следствие 2. Для любых п, п' £ N+ и г £ N % (п, г) =э % (пг, г) при п > п'. Следствия 1 и 2 вместе доказывают пашу теорему. Классы % (п, г) расположены в лингвистической иерархии Хомского. Каждый язык, распознаваемый в реальное время, является контекстным языком. Из леммы 1 следует, что каждый регулярный язык принадлежит % (п, 0). По построению очевидно, что каждый язык из % (п, 1) контекстно-свободен. Для г ^ 2 класс % (п, г) содержит контекстные языки, например L ={0т1те0т \т 6 N). Наконец, рассмотрим иерархию ??. Как и следовало ожидать, не всякий язык, распознаваемый в реальное время, содержится в (ё. Таким языком, например, является контекстно-свободный язык L ={0mlm | т £iV}*. Параллельное вычисление в реальное время Число магазинных лент МП-автомата для машины можно рассматривать как меру сложности вычислений. Мы займемся сейчас детерминированными МП-автоматами с фиксированным числом лепт, работа на которых совершается независимо и параллельно, причем машины работают в реальное время. Пусть Л — семейство детерминированных МП-автоматовг работающих в реальное время (РВДМТ) без Л-переходов. Будем называть п-параллельной машиной (п-ПМ) (п + 1)-набор M=(Mi9 М2, . . ., Mn, F), п где Mt £ оМ, F — подмножество в Ц^, St — множество состоя- i=i ний машины Mt. Входная цепочка х £ 2 * допускается машиной Му если (st (х), s2(x)y . . ., sn (x)) £ F, где st (x) — состояние машины
Проблемы сложности языков 243 Mt, в которое она перешла по окончании работы над входом х\ в противном случае М отвергает х. Обозначим Т (М) ={х £ 2* \М допускает х) и &п ={Т (М) | М есть п-ШЛ). В рамках этих понятий сформулируем главный результат данного раздела. Теорем а. Если п, п' £N+, mo &п а §Рп> тогда и только тогда, когда п <Сп'. Наш результат можно сравнить с аналогичным результатом в работе [9], где показано существование бесконечной иерархии классов языков, представимых в виде пересечения фиксированного числа контекстно-свободных языков. Если п' ^ п, то очевидно, что с9\г d $>„>. Докажем, что включение 5\ с: £Pn+i строгое. Наш подход аналогичен методу доказательства в предыдущем разделе, но сейчас у пас пет ограничений на число поворотов. Зададим языки, которые нам понадобятся при доказательстве. Пусть с — символ, не являющийся числом. Для п £ N обозначим 2П ={1, 2, ...,«., с} и положим Tn = {lai2a2 ... Л*а'|1<1<л & a7l>0}. Будем доказывать методом от противного. Пусть М' есть ?г-ПМ, распознающая Tn+i. Сначала докажем лемму 4, касающуюся компонент машины М'. Рассмотрим обыкновенную РВДМТ М в машине М'', где М =(S, Г, 2n+1, 6,s0, Z, F). Зададим функцию I': 2Й+1 ->■ Г* х 2*+i равенством *'(*) = (ViY2 • • • Vm, ^a2 . . . ат), где Y1Y2 • • • Ут — последовательность символов на магазинной ленте с символом ут, обозреваемым машиной М' после обработки входа х. Символ at £ Sn+i обозревался машиной М\ когда цепочка символов, включающая yt, записывалась на магазинной ленте. Лемма 4. Существует такое бесконечное множество X а Sn-i-ь что (Р1) если 1 *2 2 . .. i l—начало цепочки из X, то I 42 2 . . . ia\ где а\ >a^ —также начало цепочки из X, 1^&^тг+1; (Р2) для 1^£^тг + 1 найдутся такие конечные множества Ли $?и %>i в Г*, что для всех х£Х существуют Ai^Jl\, 16*
244 В. А. Бёркхард, П. П. Варайя Bi^99u Ci$i%i и неотрицательные целые числа |3j, для которых f(x) = (AlB^iCi ... An+MXiCn+u у), где г/€{1}*{2}* . ..{тг+1}* и величина \AiBbCt\ равна числу вхождений i в у. Доказательство будет следовать из нескольких утверждений. Пусть /г, s и t определены, как в предыдущем разделе. Для 2 ^ i ^ п + 1 зададим функцию /г: N1'1 -> N так, чтобы fi(au a2, . . ., cti-i) было наименьшим из целых чисел /с, для которых IXlV* ... (i-l)a|-4*')|>Xlai2a2 ... (*-1)°НЛ)| при всех /с' ^ 0. Эта функция всюду определена при 2 ^ i ^ п + 1 в силу способа работы РВДМТ М. Пусть множество X cz S*+i имеет вид Множество X удовлетворяет условию (Р1) леммы 4. Мы покажем, что X удовлетворяет также условию (Р2). Утверждение 2. Пусть х £ 2£+1, i 6 271+1 и \ t{xih) | > ^ | t (х) | для любого k ^ 0. Определим для каждого п множество Кп = {к | тг + | t (x) | = | t {xik)\}. Тогда или (1) Кп конечно и непусто для любого п ^ 0, ил и (2) существует такое п, что Кп бесконечно. На этом утверждении, которое доказывается обычными методами, основаны дальнейшие рассуждения. Утверждение 3. Для 1 ^ i ^ п + 1 существуют такие конечные множества Jht, 981 и %t us Г*, что для х £ X найдутся целые числа [Зг, для которых V (х) = (Л4ЯР1С4 ... An+MTiCn+i, У), где Ai£ Jhu В%£ Я? и Ct^i и г/6{1}*{2}* ... {«,-(-1}*, причем величина \AiB\lCi\ равна числу вхождений i в цепочку у. Доказательство. Доказательство проведем индуктивным построением множеств Ли 981 и %{ для 1 ^ i ^ п + 1. Пусть i = l. Предположим, что выполняется (1), и пусть х = Л. Для любого п ^ 0 обозначим /cn = max {к \ к £ Кп}.
Проблемы сложности языков 245 Тогда для всех k ^ кп | t (1") | > \t (lft") | = и. Так как Q и Г конечны, то существуют такие числа п и /?г, яг > п, что Пусть ^ «. s (1Ял) = 5 (Гт), Л (Iй л) = h (lftm). = {*(1*)|0<й<Йт}, = {С1|*т<й<2йт-Лп^(1ь) = ^(1Лл)Д1С1}. Таким образом, если 0^.к<Скт, то t(lk) = Ai для некоторой цепочки ^! из Jk\. Если /с>/ст, то найдутся такие положительные целые числа р и 7(7<fcm — кп), что & = &п + р (кт — кп)-\- у и t{ih) = AiB\Ci для некоторых ЛА6^;, 546^1 и С^%\. Предположим, что выполняется (2) и х=А. Пусть п — наименьший номер, для которого множество Кп бесконечно, а | и р таковы, что \t(lk)\^n и q>l{q> p) для любого fc>£, так что Пусть s(lp) = s(lq), t(lp) = t(lq), \t(lp)\ = n. ^;={Л}, %\ = {С, | д<к < 2д- р, * (1*) = * (1р) Q. Таким образом, если 0^fc<Cg, то t(lk) = Ai для некоторой цепочки A^Jk\. Если fc>g, то существуют такие числа Р ит(Т<?-Р), что fc=p+P(g-p) + Y и i(lh) = <(lp)Ci = 4A для некоторых -4± 6«^i и Ci€^i- Обозначим А^=А\ U ^ .#!=.#; U^, <ё1=<ё[[}<ён1. Предположим, что ^#! и <6i замкнуты относительно укорачивания и Jk\ содержит pre^i)1). Так как Jk^ 58\ и ^ по определению конечны, то при нашем допущении множества Jh\ и ^ тем более конечны. Пусть множества Аи 98% и %% таковы, что утверждение верно для х.-{ ai ,-aj 2<Ь x) Если Xcz I*, торге (X) «= {у £ 2* | 3 z 6 2* Э ys 6 X}. Множество X замкнуто относительно укорачивания, если pre (X) cz X.
246 В. А. Бёркхард, П. /7. Варайя XJ+i = lai...(/ + l)^+1 ')• при i=l, 2, ...,/. Рассмотрим при i = jf-fl i«i /,-_l<^«I ah>fh^ •••'aft-i)l 2<А</ + 1 Если а7-+1^//+1(а!, . .., а^) + а = а' +а, то для каждого сс>0 |f(lai...0- + l)e'+«)|>U(lai ...(; +if) |. Это как раз та ситуация, которая уже обсуждалась нами при 1=1, но только теперь для одних входов из Xj{j — l}* выполняется случай 1, а для других — случай 2. Если же aji-i<.fj+i(oLi, . ..,a/) + cx» то множества «^и, 3? j+i и %j+i строим так же, как в предыдущем случае (детали см. в [7]). Очевидно, что Ли 981 и cet (l^i^n-\-1) — требуемые множества. Входные цепочки множества {1}* удовлетворяют лемме. Предположим, что лемме удовлетворяют входные цепочки множества Xj-i. Тогда для каждого х = lai ... jaj из Xj, где х = yja и а'=//(«!, . . ., ау_4), t(yja') — начало слова £(г/) и для любого а>0 U(Wa'+a)l>H(Wa')| по построению. Следовательно, t(ya'+a) = t(ya')AjBjCj для некоторых множеств Aj 6 ^-, #j 6 38 j, Cj £ $./ и неотрицательного целого числа р. По предположению индукции для l^&'^y — 1 множества Ли 38 и ^i замкнуты относительно укорачивания и 1{уГ) = А^С, ...Aj.^tiCM. Теперь легко видеть, что у имеет нужный вид. Таким же способом можно исследовать каждую компоненту машины М'. Для компоненты Mj(l^.j^n) машины М' положим Xj = X, Jii,j=^u 38ifj = 38i и <i$iti = <eu 1<1<и + 1, где множества X, Ли 38 и %i определены в лемме 4. Рассмотрим машину М'. Пусть х°= n xJt л\= и лиh т= и &tth «?=D «i.j. ;=1 ;=1 ;=1 i=l Так как X —конечное пересечение множеств, каждое из которых удовлетворяет условию (Р1) леммы 4, то Х° также удовлетворяет условию (Р1). Для каждой компоненты Мj машины М' положим tj = t, Sj = s и tj = t', j = 1, 2, . . ., я. Определение. Пусть х £ X°, 1^/^тг и 1 ^ i ^ ^ n + 1. Назовем (Зп + 3)-набор (4i, Bu Cu . . ., -<4n+i, #n+i» Cn+1)
Проблемы сложности языков 247 в J\ X 3&\ X %\ X . . . X Jn+i X &n+i X 'en+i фактором для ^-(я), если найдутся такие числа О^Р*, что tj (х) = ^i^i Ci .. . An+iBrl+iCn+i- Функция t] допускает факторизацию (разложение) на п-\-1 подмножеств вида Л\$\%\. Обозначим через Fj(x) множество всех факторов для tj(x). Из леммы 4 следует, что Fj(x)=^=0 для всех Определим классы эквивалентности входных слов. Разобьем множество Х° следующим образом. Если хи х2£Х°, то xi~x2 тогда и только тогда, когда для 1^£^тг + 1 и l^y^ra. (1) Fj(Xi)=Fj(x2) и существуют такие множества At, Bt, C% в Fj(Xi) и такие целые числа р*, Pi>0, что tJ(xi) = AiB*iiCi s..An+iBlXlCn+u tj\{x2) = AlB\1Ci , t. An+lBnXi Cn+i» и (2) s/lfo) = 5;- (j2). Очевидно, что ~ есть отношение эквивалентности па Х° конечного ранга. Покажем, что один из классов я, определенный отношением ~, обладает таким свойством: (Р1') если 1а12а& ... *ai —начало цепочки из я (2<^л<?г + 1), то существует такое счетное бесконечное множество {aj}, что a5>aj и lai2a? *.. iai — начало некоторой цепочки из я. Это свойство слабее чем свойство (Р1) из леммы 4. Так как существует очевидный гомоморфизм множества Х° на Nn+1, то мы будем доказывать наше утверждение в терминах множества Nn'+1. Пусть г £ N+. Зададим для 1 ^ i ^ r функцию х\: Nr + Nl соотношением (Щ, . . ., 72j, . . .| Пг) ^—> (714, . . ., fli). Определение. Бесконечное множество А из Nr называется r-выполняемым (r-good), если (1) г = 1 или (2) при i = 1, 2, . . ., г —1 для любого а из т* (А) найдется бесконечно много Ъ £ N и с 6 Nr~l~1, для которых (а, Ь, с) £ А.
248 В. А. Бёркхард, П. П. Варайя Лемма 5. Пусть г £ N+. В любом конечном разбиении г-выполняемого множества на классы эквивалентности есть класс, содержащий r-выполняемое множество. Доказательство. Доказательство проведем индукцией по г. Для г = 1 лемма верна по определению. Предположим, что для г = / лемма верна. Пусть A cz NJ+1 будет (/ + 1)-выполняемым множеством, а {яг}^ —его разбиением. Обозначим А' = %]+1 (А). Очевидно, что множество А' /-выполняемо. Зададим функцию Ф:4'->{1,2, . .., р} соотношением #i-> us [(х, п) £ ns для бесконечно многих п из N]. Функция ф разбивает А' на не более р классов эквивалентности. Положим X = jlis [ф-1 (s) содержит /-выполняемое множество]; заметим, что X существует по предположению индукции. Обозначим С = {(х, п) £ пх | ф (х) = X}. Ясно, что С d пх и С содержит (/ + 1)-выполыяемое множество. Будем говорить, что множество X' а Х° (п + \)-выполняемо (обладает свойством (Р1')), если его образ относительно очевидного гомоморфизма (п + 1)-выполняем. Так как множество Х° (п + 1)- выполняемо и отношением ~ разбивается на конечное число классов эквивалентности, то хотя бы один класс содержит подмножество X', которое (п + 1)-выполняемо. Тогда для каждого tj(x) = AitjBl*iCi9j ... 4+1A1,J'^i,i, причем множества Aitj, Bitj, Ci}j определяются однозначно. Зададим (п X п + 1)-матрицу G = (gj,t) формулой J0, ее. '•'"Ь в _ , если 3bt, j такие, что \AitjBi*'/CitJ\ < bitj V.r £ X', Sj» i — 1 A противном случаэ. Пусть k = \iq [V/, если gjtQ = 1, то 3 m > q Э gj<m = 1]. Исследование ранга матрицы £ показывает, что такое к существует. Положим Т = {/ | £ьт = О V/71 > /С}, Г+ = {/ | 1 </< л и /$ Г}. Тогда в X' существуют такие цепочки х=1а12а2 ... /vaM^-hl)aft+1 ... (/1 + 1)ал+1, x'=lai2a2 ... &"*(&+l)aft>1 . .. (rc+iyM-1,
Проблемы сложности языков 249 ЧТО (1) акфа^ (2) sj(x) = sj(x'), 1<;</г, (3) ti(x) = tj(x')>/jeT, (4) если tj (х) = у{у2 и tj (х') = у[у2 V / 6 У+, причем | у2 \ = \ у2 \ = = «л, то у2=у'2. Способ разбиения на классы эквивалентности снова дает нам требуемые цепочки. Рассмотрим входы (A) xckak и (B) х'ска\ Ясно, что Sj(xckah) = Sj(x'ckah) для l^/^n, но этого не может быть, так как A£Tn+i, B$Tn+i (А и В — цепочки типов (А) и (В) соответственно). Следовательно, такой п-ПМ М' не существует» 1Jтак, мы показали существование бесконечной иерархии $> классов функций, вычислимых в реальное время, когда вычисление на лентах ведется параллельно. Наконец, покажем, что существуют языки, распознаваемые 1-РВМТ в реальное время, но не принадлежащие £Р. Примером служит язык L = {lm\m = n\ n£N). Чтобы в этом убедиться, достаточно рассмотреть тождество и2 =2 (2Л-1); ь=1 1-РВМТ может обычным способом запоминать последовательность нечетных чисел, и это означает, что язык L нерегулярен. Пусть З)^ = {L | L —контекстно-свободный язык}. Для i £ N положим ^f = {^i-ifl^i}U{^MU^i}. Обозначим 3)=\]3)i. Пусть R — регулярный язык и £?'? = = {L П R | L 6 3)i}. Для i > 1 положим sf = {3)f-i[]3)f}U{3)i-i[}3)i}- Обозначим 3)R = U 3)f. По определению если язык принадлежит 3)R, то его можно представить в виде конечного числа объединений и пересечений контекстно-свободных языков, пересеченных с регулярным язы-
250 В. А. Бёркхард, П. П. Варайя ком R. Более того, 3Jt f| R cz 3>f в силу свойства дистрибутивности объединений и пересечений. Утверждение 4. L не принадлежит 3. Доказательство. Предположим, что L £ 3. Тогда найдется такое /с, что L £ 3k. Пусть R — регулярный язык {1}*. Очевидно, что L cz R. Тогда L = L [\ R принадлежит З'и П R cz 3k- Следовательно, L можно представить в виде конечного числа объединений и пересечений контекстно-свободных языков над однобуквенньтм алфавитом. Так как каждый контекстно-свободный язык над однобуквенньтм алфавитом регулярен и семейство регулярных языков замкнуто относительно конечного числа пересечений и объединений, то язык L регулярен. Это противоречит предыдущему замечанию, и, значит, L не принадлежит 3. Следствие. Язык L нельзя определить конечным числом детерминированных МП-автоматов, работающих в реальное время и параллельно. Заключение Изложенные здесь результаты в действительности являются только частичной попыткой к разрешению проблемы, поставленной в неявном виде Рабиыом [1]. Подобная проблема интересна в такой постановке для сравнения вычислительных возможностей п 1-РВМТ и п + 1 1-РВМТ, работающих в реальное время и параллельно. Доказательство типа использованного здесь будет труднее, если вообще будет проходить. Описание затронутых здесь проблем дано в работе [1], и там же отмечается, что для их решения необходима новая техника. СПИСОК ЛИТЕРАТУРЫ 1. Rabin М. О., Real time computation, Israel J. Math., 1 (1963), 203—211. (Русский перевод: Рабин M., Вычисления в реальное время, сб. «Проблемы математической логики», изд-во «Мир», М., 1970, 156—167.) 2. Hartmanis J., Tape-reversal bounded Turing machine computations, /. Computer System Sci., 2 (1968), 117—135. 3. Blum M., A machine-independent theory of the complexity of recursive functions, /. Assoc. Comput. Mack., 14 (1967), 322—336. (Русский перевод: Блюм М., Машинно-независимая теория сложности рекурсивных функций, сб. «Проблемы математической логики», изд-во «Мир», М., 1970, 401—422.) 4. Hartmanis J., Stearns R. E., On the computational complexity of algorithms, Trans. Amer. Math. Soc, 117 (1965), 285—306. (Русский перевод: Хартма- нис Дж., Стирнз Р. Е., О вычислительной сложности алгоритмов, Кибернетический сборник (новая серия), вып. 4, изд-во «Мир», М., 1967, стр. 57—85.)
Проблемы сложности языков 251 5. Stearns R. E., Hartmanis J., Lewis P. M., Hierarchies of memory limited computations, 1965 IEEE Conference Record on Switching Circuit Theory and Logical Design, pp. 179—190. (Русский перевод: Стирнз Р. Е., Харт- манис Дж., Лыоис П. М., Иерархии вычислений с ограниченной памятью, сб. «Проблемы математической логики», изд-во «Мир», М., 1970, стр. 301-319.) 6. Chomsky N., On certain formal properties of grammars, Information and Control, 2 (1959), 137—167. 7. Burkhard W. A., Complexity problems in real time languages, Ph. D. thesis, Department of Electrical Engineering and Computer Sciences, University of California, Berkeley, 1969. 8. Hopcroft J. E., Ullman J. D., Formal languages and their relation to automata theory, Addison-Wesley, Reading, Mass., 1969. 9. Liu L. Y., Weiner P., An infinite hierarchy of intersections of context-free languages, Computer Sciences Laboratory, TR-65, Princeton University, 1968.
НЕКОТОРЫЕ РЕЗУЛЬТАТЫ О МАШИНАХ ТЬЮРИНГА С ОГРАНИЧЕННОЙ ЛЕНТОЙ *) Дж. Хопкрофт, Дж. Улман 1. Введение Хартманис, Льюис и Стирнз [1,2] предложили классификацию языков по объему памяти, необходимой для их распознавания на машине Тьюринга. В [1] и [2] рассматриваются две модели машины Тьюринга. Каждая из моделей имеет входную ленту, которую можно только читать, и бесконечную рабочую ленту. Одна модель, двусторонняя машина Тьюринга (или машина с записью на ленте), имеет на входной лепте граничные маркеры и двустороннюю головку. Она принимает (допускает) или отвергает входное слово, приходя в одно из состояний, принадлежащих наборам выделенных допускающих или отвергающих состояний. Предполагается, что она не зацикливается. Другая модель, односторонняя машина Тьюринга (или машина со входом), имеет на входной ленте одностороннюю головку и должна прийти в некоторое допускающее или отвергающее состояние перед каждым сдвигом вправо по входной лепте. Предполагается, что эта модель также не зацикливается. Основной результат работы [1] состоит в доказательстве существования иерархии распознаваемых языков. Говорят, что некоторое множество Ь(п)-ленточно разрешимо па двусторонней или односторонней машине Тьюринга, если каждое слово длины п можно распознать, используя не более L (п) клеток рабочей ленты. Для двусторонней машины Тьюринга иерархия существует для L (n) • ^loglogra 2). Если не выполняется неравенство L (п) -^ •^ log log n, то двусторонняя машина Тьюринга допускает только регулярные множества; в действительности в этом случае L (п) — константа. Для односторонних машин Тьюринга иерархия существует для L (п) • ^ log п. А именно если L4 (п) и L2 (п) • ^ log log n (соответственно -^logn) и Li{n) •> L2(n), то существует язык, Z/i(п)-разрешимый на двусторонней (соответственно односторонней) машине Тьюринга, но не 1/2(^г)-разрешимый на двусторонней (соответственно односторонней) машине Тьюринга. х) Hopcroft J. E., Ullman J. D., Some results on tape-bounded Turing machines, /. o/ Assoc. Сотр. Mach., 16, № 1 (1969), 168—177. 2) Во всей этой статье мы будем писать Li(n) •>• Ь2{п), если sup {Li(n)/L2{n)) > 0, и Li(w)-> L2{n), если inf (L2(n)/Li(n)) = 0. Далее, 71->-оо П-+-00 так как постоянный множитель в функции Ь(п)у как показано в [1], не влияет на определяемый класс заданной сложности, мы будем писать log я, подра- ьумевая log?, n для некоторого Ъ.
Некоторые результаты о машинах Тьюринга 253 В этой статье мы расширим результаты Хартмаписа, Льюиса и Стирнза в двух направлениях. Во-первых, покажем, к чему приведет отказ от предположения, что машина Тьюринга останавливается па каждом входе. Во-вторых, распространим ряд результатов на недетерминированные машины Тьюринга, т. е. такие машины, которые могут иметь выбор возможных шагов в дайной конфигурации. Наши результаты касаются класса машин, в некоторых случаях более широкого, чем класс двусторонних или односторонних машин Тьюринга, хотя между этими классами существуют очевидные соотношения. В частности, мы не предполагаем, что машина останавливается на любом входном слове. Формально: определим недетерминированную машину Тьюринга (НМТ) М как шестерку (К, Т, I, б, q0, F), где К — конечное множество состояний; Т —конечное множество символов рабочей ленты; / —конечное множество символов входной ленты; <7о — элемент из К, начальное состояние; F — множество заключительных состояний, F ^ К\ б — отображение из К X / X Т в подмножества множества К х Т х {-1, 0, +1} х {-1, 0, +1}. Если четверка .(р, X, du d2) содержится в б (q, a, 7), ри q £ К, X и 7 £ Т, а £/, d4 и d2 6 {— 1, 0, +1}, то машина, находящаяся в состоянии q, воспринимающая входной символ а и рабочий символ Z, может на рабочей ленте заменить Z па X, перейти в состояние р и сдвинуть свои входную и рабочую головки соответственно на di и d2 клеток вправо (— 1 указывает на движение влево). Когда НМТ начинает работу над некоторым словом в алфавите входных символов, которое написано на входной ленте конечной длины, ее входная головка расположена на самом левом входном символе, машина находится в состоянии q0, во всех клетках рабочей ленты записан один и тот же особый рабочий символ (называемый «пустым»). Мы фиксируем для всех машин Тьюринга два входных символа, ф некоторые будут играть роль левого и правого граничных маркеров соответственно. НМТ М = (К, Т, /, б, q0, F) называется двусторонней недетерминированной машиной Тьюринга (2НМТ), если (1) / содержит ф и $ и (2) б (б/, ф, X) не содержит (р, У, —1, d) и б (q, $, X) не содержит (/;, Y, + 1, d) пи для каких р, q £ К; X, У 6 Т и d £ £ {—1, 0, +1} (М не может сдвигаться левее ф или правее $). Языком, определяемым 2НМТ М, называется множество таких слов w 6 (/ — {Ф, $})*? что М приходит в допускающее состояние, начав работу над словом §w$ на входной ленте.
254 Дж. Хопкрофт, Дж. Улман НМТ М = (К, Т, /, б, #0, F) называется односторонней недер- минированной машиной Тьюринга (1НМТ), если (1) / содержит %, (2) для любых q £ К и X 6 Т множество б (q, $, X) пустог (3) если (р, Y, dv, d2) принадлежит б (q, a, X) для любых q £ К, а £ / и X £ Т, то d4 ^= — 1 (М не может сдвигаться влево). Языком, определяемым 1НМТ М, называется множество таких слов w £ (/ —{$})*> что, начав работу над словом w $ на входной лепте, М приходит в допускающее состояние при сдвиге входной головки на $. НМТ М = (К, Т, /, б, q0, F) называется детерминированной, если ни для каких q £ К, а £ I, X £ Т множество б (q, a, X) не содержит более одного элемента. Односторонние и двусторонние детерминированные машины будут обозначаться 1ДМТ и 2ДМТ соответственно. Говорят, что машина Тьюринга имеет ленточную сложность L(ri), если для каждого входа длины п (не считая граничных маркеров) М использует при любом способе работы не более L(n) клеток рабочей ленты. Говорят, что язык имеет ленточную сложность L{n) для некоторого типа машин, если он определяется машиной Тьюринга соответствующего типа, имеющей ленточную сложность L{n). Недетерминированная машина Тьюринга называется останавливающейся, если для каждого входа существует ограничение па длину любой допустимой последовательности шагов. 2. Свойство остановки Заметим, что если односторонняя или двусторонняя машина Тьюринга является останавливающейся, то ее можно легко преобразовать в эквивалентную машину со входом или с записью на ленте. Естественно поинтересоваться, при каких условиях машина одного из определенных выше типов может быть преобразована в останавливающуюся без изменения определяемого машиной языка. Для односторонних машин ответ «всегда». ГГусть 1НМТ М имеет s состояний и t рабочих символов. Если М к некоторому моменту вычисления уже использовала к клеток рабочей ленты и делает более sktk движений, не используя при этом ни одной новой клетки рабочей лепты и не сдвигая входную головку, то какая-то конфигурация повторяется. Если такая машина М допускает вход, то существует более короткая последовательность шагов, приводящая к допустимости. Следовательно, М может остановиться, если сделает более sktk движений, не сдвигая при этом входной головки и не используя ни одной повой клетки рабочей ленты. Преобразуем М так, чтобы она на какой-нибудь дорожке рабочей ленты считала до Ък в Ь-ичной системе счисления, где
Некоторые результаты о машинах Тьюринга 255 Ъ = 1st 1). Каждый раз, когда М сдвигает входную головку или использует новую клетку рабочей ленты, в счетчик помещается нуль. Машина останавливается, если счетчик переполняется. Так как bk ^ sktk, то машина останавливается только в том случае, когда некоторая конфигурация повторилась. Построение для случая, когда М —двусторонняя машина, выполняется почти так же. Однако нам потребуется условие, что М не является 1/(7г)-ограпиченной, если log n •> L (п). Число конфигураций машины М с входом длины пик используемыми клетками рабочей ленты равно sk (n + 2) th. Новая машина считает в fc-ичиой системе счисления, где Ъ= 2st, до bh'^los Ь0Ч-)^ п в счетчик помещается пуль каждый раз, когда М использует новую клетку памяти. Этот счет требует самое большее L (п) + + log6 (п + 2) клеток. Так как не верно, что log п •> L (п)г то можно найти такие константы с и п0, что logb (п + 2) ^ cL (n) для всех п ^ п0. Новая машина распознает входные слова длиныг меньшей п0, используя конечную память своего управляющего устройства. Для более длинных входов она использует не более (1 + с) L (п) клеток памяти. По теореме 1 из работы [1] можно построить эквивалентную машину ленточпой сложности L (п). Таким образом, справедлива Теорема 1. Для любой из перечисленных ниже машин можно построить эквивалентную останавливающуюся машин]/ того же типа и того же класса сложности: (1) 1НМТ, (2) 1ДМТ, (3) 2ПМТ ленточной сложности L (п), если не выполняется неравенство log n •> L (/г), (4) 2ДМТ ленточной сложности L (п), если не выполняется неравенство log п •> L (п). Открытым остается вопрос, можно ли преобразовать в останавливающиеся машины 2НМТ или 2ДМТ ленточной сложности L (/г), если log n •>> L(n). Мы считаем, что нельзя, и предлагаем язык Sy (описанный ниже) как кандидат па такой язык, определяемый 2ДМТ ленточной сложности log log /2, но не определяемый никакой останавливающейся 2НМТ ленточной сложности х) Предполагается, что рабочая лента машины разбивается (за счет расширения рабочего алфавита) на «этажи», или дорожки. Можно построить машину так, что она работает по каждой из дорожек независимо. Эта техника используется многими авторами. См., например, Фишер М., Розепберг А., Решение задачи о пересечении начала координат в реальное- время, сб. «Проблемы математической логики», изд-во «Мир», М., 1970, стр. 372-379. В данном случае на одной дорожке машина производит счет до bh, а на другой — моделирует работу машины М,— Прим. ред.
256 Дж. Хопкрофт, Дж. Улман L(ri), если log n ->L(n). Доказательства мы, конечно, не имеем. Лучший путь задания Si — это описать его с помощью определяющей его машины М{ типа 2ДМТ. Язык Si состоит из слов вида XiCx2c . . . cxmccwlcw2c . . . cwk, где xh 1 ^ i ^ т, есть двоичное представление числа i (в котором отбрасываются незначащие нули в старших разрядах); Mi использует х{, х2, . . ., хт для того, чтобы отметить на рабочей ленте блок длины log m (см. в [2] объяснение того, как это делается); wi, Wo, . . . , wk — двоичные числа, не превосходящие т. Машина Мг делает следующее: (1) Переписывает Wi в отмеченный блок длины log m на рабочей ленте г) и переходит к пункту (2). { (2) Если в ее блоке на рабочей ленте записано слово wi и входная головка находится на wt, то она сдвигает свою входную головку вправо, отыскивая некоторое Wj, равное wt, i < j ^ т. Если к тому моменту, когда Мг достигает правого граничного маркера, такое слово не находится, то входное слово допускается Мх. Если Mi находит Wj = wt, то помещает Wj-i в блок па рабочей ленте и переходит к пункту (3). (3) Если у Mi в блоке на рабочей ленте записано слово ivt ж входная головка находится на wt, то Mi сдвигает свою входную головку влево, отыскивая некоторое Wj, равное wt, 1 ^ j <Z i. Если к моменту, когда М{ достигает ее, такое слово не находится, то Мi останавливается, отвергая входное слово. Если М4 находит Wj = Wf, то помещает Wj+i в блок на рабочей лепте и переходит к пункту (2). Заметим, что М{ может зациклиться и никогда не достичь ни одного из концов слова ccWiCiv^e . . . cwk. Нам кажется, что эти зацикливания нельзя распознать, если использовать для слов длины п только log log n клеток рабочей ленты. 3. Нижние границы роста ленты Покажем, что результаты, полученные в работе [1], касающиеся нижних границ скорости роста функций ленточной сложности, не зависят от предположений о детерминированности машин и о том, что машины останавливаются на всех входных словах. Сначала дадим несколько определений. Конфигурация памяти НМТ — это комбинация состояния, содержимого рабочей ленты и положения рабочей головки на лейте. Предположим, что, работая над входным словом w, 2HMT М использует к клеток памяти. Пусть г — число конфигураций х) Всякий раз, когда нужное слово wi не помещается в отмеченный блок, входное слово отвергается.— Прим. ред.
Некоторые результаты о машинах Тьюринга 257 памяти, использующих не более к клеток памяти. Допустим, что эти конфигурации перенумерованы от 1 до г. Тогда для машины Л/, слова w и каждого конца и слова w определим матрицу перехода Ти как (г х г)-матрицу с элементами 1и, 1 =<С i, j =<C r, обладающими следующими свойствами: (1) tn --= 00, 01,' 10 пли И. (2) tjj -= lx, x -= 0 или х = 1, если, начав работу в конфигурации памяти / с входной головкой, находящейся на самом левом символе ич машина М может достичь конфигурации памяти у, прежде чем входная головка покинет и. В противном случае tjj - Ох для некоторого х. (3) tij -^ xl, х — 0 или 1, если, начав работу так же, как в (2), М может достичь конфигурации памяти j сразу после сдвига входной головки влево с //, причем этому предшествует работа, в течение которой входная головка не покидает и. И противном случае //7- -- хО для некоторого х. Т е о р е м а 2. Пусть М — 2НМТ класса сложности L (п). Тогда если не существует такой константы с, что L (п) ^ с, то L (п) • 2^ log log п. Дока з а т е л ь с т в о. Предположим, что для некоторого к существует слово w = ^а{а2 . . . ап$ч которое является кратчайшим входом, заставляющим М использовать в точности к клеток памяти *). Так как М принадлежит классу сложности L (п) и нет константы, ограничивающей сверху длину используемой рабочей ленты, то существует бесконечно много таких w и к. Пусть /г/ --- Я/Я/+1 • • • ап$1 1 ^£ ' ^ n'i предположим, что Ти-; т' Т>rj для некоторых 1 ^ z <С j =<С п. Утверждается, что iv' — §а{а<> . . . a^lajUj+l . . . ап$ —более короткий вход, заставляющий машину М использовать в точности к клеток памяти. Для того чтобы убедиться в этом, заметим, что если Л/, находясь в некоторой конфигурации памяти, может сдвинуться вправо с (? — 1)-й позиции и вернуться обратно на (/ — 1)-ю позицию, то она может вернуться на (/ — 1)-ю позицию в той же самой конфигурации памяти независимо от того, что у нее па входе: w пли W*. Поэтому если под действием w машина М переходит в конфигурацию памяти, использующую к клеток, при которой входная головка находится па одном из первых i — 1 входных символов, то под действием w' машина сделает то же самое. Более того, если под действием w машина приходит в конфигурацию памяти, использующую к клеток, при которой входная головка воспринимает один из символов wh то под действием и/ она сделает г) То есть при некотором способе работы машина использует к клеток памяти. Далее этот способ распознавания считается фиксированным.— Прим. пер ев.
258 Дж. Хопкрофт, Дж. Улмаи то же самое, так как Tw. = TV. Таким образом, предположение. что Tw. = Tw., приводит к противоречию, поскольку слово и?\ 1 j при котором используется к клеток памяти, короче слова w, в то время как предполагалось, что w — самое короткое из таких слов. Следовательно, Tw. не равно Tw. ни для каких i и у; матрицы г j перехода должны быть различными для каждого из п концов слова w. Поэтому число возможных различных матриц перехода должно быть не меньше п. Если М имеет s состояний и t рабочих символов, то число г конфигураций памяти, использующих не более к клеток памяти, не превосходит skth. Поэтому число возможных матриц перехода для конечных подслов входного слова, использующего к клеток /Г2 i42k2t^ m /- /-> памяти, равно 4=4 . 1ребуется, чтобы выполнялось неравенство 4 >?г. Дважды логарифмируя, получаем 1+2 log2 s + 2 log2 к + 2к log2 t > log2 log2 n. (1) Так как к ^ 1 и log2 x ^ х для всех х, то левая часть неравенства (1) не превосходит к [2 log2 t + 2 log2 s + 3]. Поэтому к> log28^2 log2log2tt, откуда немедленно следует, что L (n) -^ log log п. Теорема 3. Если М есть 1НМТ и нет константы, ограничивающей сверху длину рабочей ленты, используемой для любого входа, а М принадлежит классу сложности L (п), то L (п) -^ • ^ log п. Доказательство. Доказательство по существу то жет что и в [1] для детерминированных машин Тьюринга со входом. Предположим, что w = а{а2 . . . ап % —самое короткое слово, заставляющее машину М использовать к клеток памяти 1). Конфигурация, использующая к клеток памяти, пе может быть достигнута машиной раньше, чем входная головка достигнет ап. Предположим, что для некоторых i и /, 1 ^ / < j < п, существует конфигурация памяти, в которую М приходит непосредственно перед сдвигом входной головки с ах на ai+i и с uj на aj+l. Тогда а{а2 . . . я,а7-+1я7-+2 • • • ап$ — более короткое слово, использующее к клеток памяти. Следовательно, должно быть п — 1 ^.skth, где s —число состояний, a t — число рабочих символов машины М. Логариф- г) См. предыдущее примечание.— Прим. перев.
Некоторые результаты о машинах Тьюринга 259 мируя, получаем logo (п — 1) < log2 s + logo k + k log2 t. (2) Так же, как в доказательстве теоремы 2, из (2) можно получить k> log^st log2(tt-l), откуда немедленно следует, что L (n) -S^logw. 4. Сравнение недетерминированных и детерминированных моделей Кажется правдоподобным, что недетерминированные машины являются, вообще говоря, более сильными, чем детерминированные машины той же ленточной сложности. Мы смогли доказать это только для некоторых односторонних классов; приведем наше доказательство. Если для некоторой 1НМТ длина используемой рабочей ленты ограничена, то допускаются только регулярные множества. В этом случае детерминированные и недетерминированные модели эквивалентны [3]. Если рабочая лента не ограничена, то по теореме 3 она должна расти по крайней мере как log п. Следующая теорема дает пример языка, который допускается 1НМТ ленточной сложности log n, по который не может допускаться никакой 1ДМТ, имеющей ленточную сложность, меньшую линейной. Теорема А1). Пусть S2 —язык {w{cw2 \ W[ и w2 6 {О, 1}*> и?, фи?2, W\ и w2 имеют одинаковую длину}. Тогда S2 допускается 1ГШТ ленточной сложности log п, но не допускается никакой 1ДМТ ленточной сложности L (п), если не выполняется неравенство L (п) ^ п. Д о к а з а т е л ь с т в о. 1НМТ М2, допускающая S2, работает следующим образолг: используя конечную память своего управляющего устройства, машина М2 проверяет, что входное слово содержит лишь одну букву с; используя одну дорожку на рабочей лепте как двоичный счетчик, М2 проверяет равенство длин слов W\ п w2; одновременно со счетом М2 выбирает наугад некоторую позицию внутри W\, записывает символ, находящийся в этой позиции, и расстояние от этой позиции до левого конца слова W\. Этот символ сравнивается с соответствующим символом г/'о. Если они не равны, то М2 допускает входное слово (при том, конечно, условии, что два других условия выполнены, т. е. если 2) В доказательстве теоремы 4, данном авторами, допущена ошибка. Здесь теорема 4 сформулирована иначе, чем у авторов, и она дает как раз тот результат, который авторы хотели получить.— Прим. ред. 17*
260 Дж. Хопкрофт, Дж. Улман входное слово имеет вид w^Wo, где w{ и w2 £ {0, 1}* и длины слов w{ и w2 равны). Легко видеть, что 1НМТ М1щ которую мы описали, имеет ленточную сложность log п. Теперь предположим, что существует 1ДМТ М, допускающая S2- Пусть М имеет s состояний и t рабочих символов и после прочтения р входных символов она использует не более L (р) клеток рабочей ленты. Рассмотрим входы вида w±c, где Wi 6 £ {0, 1}*. Каждому из этих входов должна соответствовать своя конфигурация памяти, в противном случае можно было бы выбрать w2 так, чтобы одно слово принадлежало £2, а другое пет, в то время как М либо допустит оба слова, либо пи одного. Пусть р = (п + 1)/2. Тогда sL (p) *L<") > 2""1 (число различных входов вида w^c, где длина слова w{ равна р — 1 и w{ £ 6 {0, 1}*, равно 2Р_1). Логарифмируя, получаем L (p) log2 t + log2 L (p) + log2 s > p — 1. Левая часть ограничена сверху с L(p), где с = 1 + log2 t + + log2 s. Следовательно, L (p) ^ c^p, где c^ — некоторая константа. Итак, L (n) -^ n. В двустороннем случае, если рабочая лента ограничена, то допускаются только регулярные множества. Таким образом, детерминированные и недетерминированные модели эквивалентны. Однако для двусторонних машин Тьюринга всех других классов сложности вопрос о том, эквивалентны ли детерминированные и недетерминированные модели, остается открытым. 5. Иерархия классов сложности ниже log n Если рассматривать классы сложности меньше log n, то «диагональное» доказательство плотности иерархии классов сложности, данное в [1], не проходит. Мы предлагаем доказательство существования такой иерархии в этой области не только для машин Тьюринга с записью па ленте, но и для классов 2НМТ и 2ДМТ, не обязательно останавливающихся на всех входах. Функцию L (п) называют конструируемой, если существует останавливающаяся 2ДМТ М, имеющая ленточную сложность L (п), причем ее ленточная сложность не меньше L (п) для любого п. Говорят также, что М конструирует L (п). Теорема 5. Если Ь(п) — конструируемая функция и L (n) ^ log2 (п/2) для всех п > 1, то существует такое множество S, что S допускается останавливающейся 2ДМТ ленточной сложности L (п), но не допускается никакой 2НМТ ленточной сложности Q (п), если L (п) •> Q (п). Доказательство. Пусть М конструирует L (п) и А — входной алфавит машины М. Пусть А' — алфавит, включающий
Некоторые результаты о машинах Тьюринга 261 для каждой буквы а £ А буквы аь, ас и ad. Для каждой буквы ах £ Л' пусть h{ (ах) = а и /г2 (a.r) = ж. Очевидным способом распространим гомоморфизмы hi и /г2 на слова в алфавите А'. Пусть S — язык, состоящий из тех слов w в А'', которые обладают следующим свойством: если и; имеет длину п и /^ (w) заставляет М использовать к клеток памяти, то h2 (w) имеет вид udn~2%+1u для некоторого слова и длины 2к в алфавите {Ь, с). Легко видеть, что S допускается останавливающейся 2ДМТ ленточной сложности L (п). Сначала машина отмечает к клеток на рабочей ленте, моделируя работу машины М над fe4 (w), затем проверят вид w (чтобы убедиться, что h2 (w) имеет правильную форму) и, наконец, сравнивает символ за символом начало, состоящее из букв /; и с, и конец слова, состоящий из букв Ъ и с, используя рабочую ленту для того, чтобы отмечать положение проверяемого символа внутри начального и конечного подслов из Ъ и с. Предположим, что S определяется 2НМТ ленточной сложности Q(n), где L (п) •> Q (п). Пусть N— машина Тьюринга с s состояниями и t рабочими символами, определяющая S. Число конфигураций памяти, достижимых для входов длины, не превосходящей п, пе более sQ(n)t^n\ Следовательно, существует не более 4tsQ('1^(v/(7,)J различных матриц перехода для слов в алфавите А' длины, не превосходящей п. Пусть у — такое слово длины п в алфавите А, что М при работе над ним использует точно L (п) клеток рабочей ленты. Теперь рассмотрим такие слова w из S, что h{ (w) = у. Таких слов w точно 22 . Для каждого из этих слов различные концы из букв b и с должны иметь различные матрицы перехода, так как иначе машина допустила бы некоторое слово, не принадлежащее S. Следовательно, 2ВД ^ ,[sQ(n)tQ(n)]2 Дважды логарифмируя, получаем /, (л) < 1 + 2 (log2 s + log2 Q(n)+Q (n) log2 t). Из сказанного выше немедленно следует, что существует такая константа к, что L (n) ^kQ(n). Но в этом случае неравенство L (п) •> Q (л) пе выполняется. Отсюда можно сделать вывод, что машины N не существует; этим доказано существование иерархии в рассматриваемой области как для детерминированных, так и для недетерминированных двусторонних машин Тьюринга. 6. Замкнутость относительно булевых операций Множества языков некоторых классов сложности для различных моделей иногда замкнуты относительно операций объединения, пересечения и дополнения. (В дальнейшем мы будем гово-
202 Дж. Хопкрофт, Дж. У л лит рить, что замкнуты классы сложности, а не множества языков, входящих в них.) Легко видеть, что классы сложности для недетерминированных моделей замкнуты относительно объединения. Для распознавания объединения строится машина, выбирающая наугад какую- нибудь из двух машин и моделирующая ее; машина допускает слово, если это слово допускается хотя бы одной из исходных машин. Для двусторонних машин Тьюринга замкнутость относительно объединения и пересечения можно показать, построив новую машину, моделирующую одновременно обе исходные машины. Новая машина допускает слово, если это слово допускается хотя бы одной или обеими исходными машинами соответственно. Для объединения, очевидно, надо потребовать, чтобы моделируемые машины останавливались. Легко показать, что класс сложности 2ДМТ, которые можно преобразовать в останавливающиеся, замкнут также и относительно дополнения. Односторонние классы можно преобразовать в останавливающиеся, и замкнутость относительно дополнения для 1ДМТ показывается легко. Классы для 1НМТ и 1ДМТ также замкнуты относительно объединения и пересечения. Строится машина, моделирующая две другие на двух дорожках рабочей ленты. Если обе исходные машины останавливающиеся, то их можно моделировать по очереди, останавливая для этого входную головку на каждом входном символе. Эти результаты суммируются в следующей теореме. Теорема 6. (а) Все классы сложности для 1ДМТ замкнуты относительно объединения, пересечения и дополнения. (б) Все классы сложности для 1НМТ и 2НМТ замкнуты относительно объединения и пересечения. (в) Все классы сложности для 2ДМТ замкнуты относительно пересечения. Класс сложности L (п) замкнут относительно объединения и дополнения, если не выполняется log n •> L (п) (возможно, что утверждение верно и без этого ограничения). Нет основания предполагать, что верпы более сильные, чем сформулированные в теореме 6, утверждения о замкнутости. Однако отрицательное утверждение мы смогли доказать только в одном простом случае. Теорема 7. Пусть S3 — язык {wcw \ w 6 {0, 1}*}. Тогда S3 = {0, 1, с}* — «У3 допускается 1НМТ ленточной сложности log n, но S3 не допускается никакой 1IIMT ленточной сложности L (/г), если для некоторой константы к не выполняется неравенство
Некоторые результаты о машинах Тьюринга 263 L (п) ^кп. Поэтому, если п •> L (п), но L(n) ^log n для всех л, то класс сложности L (п) для 1НМТ не замкнут относительно дополнения. Доказательство. Слово w из {0, 1, с}* принадлежит S3 по одной из следующих трех причин: (1) w не содержит точно одно с, (2) w имеет вид W\cw2, и)\ и w2 6 {О, 1}*> но wi и ^2 имеют разную длину, (3) w имеет вид ю^си)2, W[ и w2 6 {0, 1}*, и Wi и w2 имеют одинаковую ДЛИНУ, НО W\ ф W2. Можно построить 1IIMT М3 ленточной сложности log п, которая проверяет (1), используя конечную память своего управляющего устройства. Если w содержит одно с, машина М3 использует свою рабочую лепту как двоичный счетчик для проверки (2). Одновременно со счетом она выбирает наугад некоторую позицию внутри w{, записывает символ, находящийся в этой позиции, и расстояние от этой позиции до левого конца слова w^. Этот символ сравнивается с соответствующим символом w2. Если они не равны, то М 3 определяет, что (3) выполнено. Теперь предположим, что существует 1НМТ М, допускающая S3. Предположим далее, что существуют слова иу и и2 £ {0, .1}* и такая конфигурация памяти Q машины М, что если М находится в конфигурации памяти Q и иг% — остаток входного слова, то М допускает все входное слово (i = 1 и 2). Тогда или Q нельзя достичь из начальной конфигурации машины М ни для какого входного слова, или М допускает некоторое слово не из S3. Таким образом, для любой конфигурации памяти Q существует не более одного входного слова, переводящего машину из конфигурации Q в конфигурацию, в которой она допускает это слово. Более того, для любого слова и из {0, 1}* должна существовать некоторая конфигурация памяти, из которой, если и$ — остаток входного слова, М переходит в допускающее состояние. При этом конфигурация Q должна быть достижимой из начальной конфигурации машины М под действием ис — начала входного слова. Теперь можно сделать вывод, что число различных конфигураций памяти, достижимых из начального состояния под действием входных слов вида ис, где и 6 {О, 1}п, не меньше 2п. Если М имеет s состояний и t символов памяти, то s L{n) tL^ ^ 2n, или log2 s + log2 L (n) + L (n) log2 t > n. Отсюда немедленно следует, что существует такая константа /с, что L (n) ^ kn.
264 Дж. Хопкрофт, Дж. Улман 7. Заключение Мы получили следующие результаты, касающиеся машин Тьюринга с ограниченной лентой. (1) Нижние границы для ленточной сложности нерегулярных множеств, найденные в [1] для двусторонних и односторонних машин, не зависят от предположений об остановке машин па всех входных словах и о детерминированности машин. (2) Существуют плотные иерархии как детерминированных, так и недетерминированных двусторонних устройств в области между log* log n и log п. (3) Класс ленточной сложности L (п) для односторонних недетерминированных машин Тьюринга больше, чем класс сложности L (п) для односторонних детерминированных машин Тьюринга, если функция L (п) не ограничена сверху константой и растет с ростом п медленнее, чем линейная функция. (4) Класс ленточной сложности L (п) для 1НМТ не замкнут относительно дополнения, если L (n) ^ log п и п •> L (п). Осталось еще много открытых вопросов, содержащихся в приведенных в данной статье просто формулируемых теоремах. Например, такие: Можно ли 2IIMT и 2ДМТ, имеющие ленточную сложность между log n и log log n, преобразовать в останавливающиеся? Эквивалентны ли 2НМТ и 2ДМТ данного класса сложности? Замкнуты ли классы сложности 2IIMT относительно дополнения? Может возникнуть вопрос, почему для 1НМТ легко показать (3) и (4), в то время как решение последних двух из перечисленных нами вопросов наталкивается па большие трудности. Интуитивно чувствуется, что ответ связан с тем, что сейчас известен только один путь доказательства того, что некоторый язык не допускается никакой односторонней машиной ленточной сложности L (п). Этот путь связан с предположением, что величина L (п) мала. В этом случае можно показать, что объема памяти для такого запоминания начальной части входа, чтобы каждое начало входного слова имело однозначное представление в памяти, не хватает. Если язык определяется некоторым правилом, включающим сравнение начала и конца входного слова, то машина может оказаться неспособной распознать язык, потому что она не знает точно, каким было начало входного слова в момент, когда пришло время читать его конец. Этот аргумент перестает работать, если L (п) ^ п, так как тогда на рабочей лепте можно запомнить все входное слово. С помощью аналогичных доводов можно показать, что множество не допускается 2НМТ ленточной сложности L (/г), если log n ->L(n). Если log n ->L(n), то не все концы входных слов
Некоторые результаты, о машинах Тьюринга 2(35 могут иметь различные матрицы перехода. В этом случае допускающее устройство не всегда может определить конец входного слова и переттести информацию в начало входного слова. Этот довод не проходит, если не выполняется неравенство log n •> •>L (/2), так как тогда каждый конец может иметь свою собственную матрицу перехода. СПИСОК ЛИТЕРАТУРЫ 1. Stearns R. E., Ilartmanis J., Lewis P. M. II, Hierarchies of memory limited compulations, IEEE ConL Record, on Switching Circuit Theory and Logical Design, New York, 1905, pp. 179 — 190. (Русский перевод: Стирпз Р. E., Хартманнс Дж., Льюис II. М. II, Иерархии вычислений с ограниченной памятью, сб. «Проблемы математической логики», изд-во «Мир», М., 1970, стр.301—319.) 2. Lewis Р. М. II, Stearns R. E., Harlmanis J., Memory bounds lor the recognition of context-free and context-sensitive languages, там же, стр. 191 — 202. (Русский перевод: Лыоис П. М. И, Стирпз Р. Е., Хартманис Дж., Границы памяти для разрешения контекстно-свободных языков, сб. «Проблемы математической логики», изд-во «Мир», М., 1970, стр. 320— 338.) 3. Rabin M. О., Scott D., Finite automata and their decision problems, IBM J. Res. Develop., 3, 2 (1959), 115—125. (Русский перевод: Рабин М., Скотт Д., Конечные автоматы и задачи их разрешения, Кибернетический сборник, выи. 4, изд-во «Мир», М., 1962, стр. 58—91.)
V. ДРУГИЕ МОДЕЛИ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ ХАРАКТЕРИСТИКИ МАГАЗИННЫХ АВТОМАТОВ В ТЕРМИНАХ ВЫЧИСЛИТЕЛЕЙ, ОГРАНИЧЕННЫХ ВО ВРЕМЕНИ х) С. Кук 1. Введение В этой статье перед нами стоят две основные задачи: во-первых, предложить унифицированный способ обращения с некоторыми типами двусторонних магазинных и стековых автоматов, и, во- вторых, дать интересные характеристики вычислительной способности каждой из этих машин в терминах детерминированных машин Тьюринга с ограничениями на время. В разд. 2 мы вводим понятие вычислителя, ограниченного во времени. Это просто некоторая модель вычислителя, используемая для того, чтобы не заострять внимание на рассуждениях о лептах и головках машины Тьюринга. В разд. 3 мы вводим понятие магазинной машины с внешней памятью, которая представляет собой машину Тьюринга с ограниченной лентой, но имеет еще магазинную ленту, размер занятой части которой не учитывается, когда речь идет об ограничении памяти. Основная теорема (разд. 4) характеризует вычислительную способность магазинных машин с внешней памятью с ограничениями на память L (n) ^ log2 n в терминах вычислителей, ограниченных во времени. В ней утверждается, что для любой границы на память L (n) ^ log2 n детерминированные и недетерминированные модели имеют одинаковую вычислительную способность. Здесь п — длина входного слова. В теореме 2 в разд. 4 говорится, что вычислительные способности двусторонних многоголовочных магазинных машин, пишущих магазинных распознавателей и двусторонних стековых автоматов можно охарактеризовать в терминах магазинных машин с внешней памятью и, следовательно, в терминах вычислителей, ограниченных во времени. В частности, детерминированный двусторонний стековый автомат эквивалентен детерминированной машине Тьюринга с временем работы не более пп\ а недетерминированный двусторонний стековый автомат эквивалентен детер- l) Cook S. A., Characterizations of pushdown machines in terms of time- bounded computers, /. of Assoc. Сотр. Mach., 18, № 1 (1971), 4 — 18.
Характеристики магазинных автоматов 267 минированной машине Тьюринга с временем не более 2сп . Из теорем 1 и 2 выведен ряд следствий, некоторые из которых дают ответ на вопросы, поставленные в статьях, указанных в библиографии. 2. Вычислители, ограниченные во времени Машины Тьюринга различных типов являются общепринятыми моделями абстрактных вычислителей, используемыми в теории вычислительной сложности. Однако часто это не такие уж хорошие модели реальных вычислителей, так как работают не так, как машины со свободным доступом к памяти. Некоторые результаты показывают, что машины Тьюринга требуют много времени для распознавания простых множеств слов, и это связано с неэффективным построением памяти, состоящей из одной лепты и одной головки на ней,— все это не отражает никакого фундаментального свойства вычисления. Но, с другой стороны, многие результаты, справедливые для реальных вычислителей, справедливы и для машин Тьюринга. Результаты этой статьи как раз принадлежат к последнему типу. Для того чтобы подчеркнуть этот факт, мы будем формулировать наши результаты в терминах вычислителей, ограниченных во времени, а не в терминах машин Тьюринга. Неформально говоря, вычислитель, ограниченный во времени, представляет собой устройство, допускающее множество слов А за время Т (/г), при условии, что какая-то машина Тьюринга допускает А за время (Т {n))h для некоторого к. Наше формальное определение не будет характеризовать возможности таких средств, оно только даст понятие допустимости за ограниченное время. Определение. Пусть Т (п) — функция, отображающая множество положительных целых чисел в себя, и пусть А — множество слов в конечном алфавите Г. Говорят, что А допускается вычислителем, ограниченным во времени функцией Т (п), если существует простая детерминированная машина Тьюринга М (гл. 3), допускающая А за время (Т (n))h для некоторой константы А:. Примерами вычислителей, ограниченных во времени, служат простые машины Тьюринга, многоленточные машины Тьюринга, итеративные сети конечных автоматов [3], машины Шепердсона — Стургиса Ц4] и абстрактные машины со свободным доступом к памяти в смысле Эрли [5, стр. 102]. Доказательство в каждом случае проводится непосредственно; случай многоленточных машин Тьюринга, например, см. в работе [9]. Введение понятия вычислителя, ограниченного во времени, было продиктовано следующими соображениями: (1) желательно, чтобы способность каждой разумной модели вычислителя была
268 С. Кук не меньше способности простой машины Тьюринга (т. е. чтобы можно было сказать, что задачу можно выполнить за время Т (/г), если за это время ее можно выполнить на простой машине Тьюринга), (2) как сказано выше, большой класс моделей вычислителей содержится в понятии вычислителя, ограниченного во времени, в частности формальная модель машины со свободным доступом к памяти, и (3) в настоящее время трудно подобрать более убедительное понятие ограниченного вычислителя. В разд. 5 мы рассмотрим класс X* множеств слов, впервые определенный Кобхэмом [2] в терминах числовых функций, а не множеств слов. Определение. Множество А содержится в классе X* тогда и только тогда, когда А допускается вычислителем, ограниченным во времени функцией Р (п) для некоторого полинома Р (п). Класс X* — это наименьший класс, который можно охарактеризовать (разумным образом) в терминах вычислителей, ограниченных во времени. Как указано Кобхэмом 12], класс не изменится, если слово «вычислитель» в определении заменить па «машина со свободным доступом к памяти», «машина Тьюринга», «машина Шепердсона — Стургиса» или «итеративная сеть конечных автоматов». Мы увидим (в разд. 5), что X* имеет интересную характеристику в терминах многоголовочных магазинных машин. 3. Другие модели машин Под простой машиной Тьюринга мы понимаем устройство, состоящее из блока управления с конечным числом состояний, связанное с единственной головкой, которая может читать и писать и которая движется вдоль единственной бесконечной в обе стороны ленты. За один шаг машина может перейти в новое состояние, напечатать в обозреваемую клетку лепты один из конечного набора символов и сдвинуть головку на одну клетку вправо или влево либо оставить ее неподвижной. Действие, которое совершает машина на данном шаге, зависит от состояния блока управления и обозреваемого символа. Под многоленточной машиной Тьюринга мы понимаем устройство, состоящее пз блока управления с конечным числом состояний, связанное как с двусторонней только читающей входной головкой, движущейся вдоль входной ленты, так и с конечным числом читающих и пишущих рабочих головок, каждая из которых движется по своей бесконечной в обе стороны рабочей ленте. За один шаг машина может перейти в новое состояние, напечатать па каждой из своих рабочих лепт (по не па входной ленте) один из конечного набора символов (кроме пустого символа) и сдвинуть
Характеристики магазинных автоматов 269 некоторые из своих головок влево или вправо на одну клетку в любой комбинации. Совершаемое действие зависит от состояния и символов, обозреваемых всеми головками. Перед вычислением конечное входное слово помещается на входной ленте и ограничивается с каждой стороны пустыми символами. Блок управления устроен так, что входная головка во время вычисления никогда не покинет сегмент, состоящий из этого слова и двух ограничивающих его пустых символов. Магазинная маната с внешней памятью (ВПММ) — это многоленточная машина Тьюринга с дополнительной лентой, называемой магазинной лентой, которая работает некоторым специальным образом. Магазинный алфавит содержит выделенный символ s0, расположенный сначала на магазинной ленте. Машина устроена так, что магазинная головка никогда не сдвигается левее s0 и не заменяет sQ. Более того, если магазинная головка обозревает символ па ленте, то она не может сдвинуться влево, не стерев его предварительно (т. е. не напечатав на этом месте пустой символ), и не может сдвинуться с клетки вправо, не напечатав предварительно в этой клетке непустой символ. Вначале магазинная головка обозревает символ sQ, а все другие клетки па магазинной ленте пусты. Следовательно, во время вычислений все клетки на магазинной ленте пусты, за исключением не содержащего пустых символов сегмента, ограниченного слева s0, а справа магазинной головкой. Последним типом машин, который мы опишем здесь, будет двусторонний стековый автомат, введенный в [G]. Двусторонний стековый автомат, или кратко стековый автомат, состоит из блока управления с конечным числом состояний, связанного с входной лентой и стековой лентой. Входная лента такая же, как у многоленточной машины Тьюринга; она двусторонняя, только читаемая и ограниченная пустыми символами. Стековая лента такая же, как магазинная лепта у ВПММ, с той лишь разницей, что стековой головке разрешается читать информацию на стеке, находящуюся между символом sQ и самым правым непустым символом. В начале каждого вычисления стековая лента пуста, кроме одной клетки, содержащей символ sQ, и стековая головка обозревает эту клетку. На входной ленте вначале написано входное слово w (и только оно) и входная головка обозревает самый левый символ т. За один шаг машина, в зависимости от своего внутреннего состояния (т. е. состояния блока управления) и символов, обозреваемых входной и стековой головками, перейдет в новое состояние, сдвинет свою входную головку на одну или нуль клеток влево или вправо (но не за пустые символы, ограничивающие вход) и стековую головку на одну или нуль клеток влево или вправо (но не левее символа s0). Кроме того, стековая головка может перед сдвигом напечатать новый символ, если она
270 С. Кук обозревает самый левый пустой символ из расположенных справа от s0 на стековой ленте или если на предыдущем шаге стековая головка напечатала пустой символ и сдвинулась влево; все это при условии, что обозреваемый символ не есть s0 и стековая головка не печатает пустой символ, сдвигаясь при этом вправо. Эти меры предосторожности обеспечиваются за счет устройства блока управления и за счет использования расширенного алфавита символов стековой ленты. Иногда мы будем рассматривать недетерминированные ВПММ и стековые автоматы. Но если специально не оговорено противное, то все машины Тьюринга будут предполагаться детерминированными. Каждый из определенных выше типов машин имеет выделенные состояния, называемые допускающими состояниями, и единственное выделенное состояние д0, называемое начальным состоянием. Пусть М — одна из определенных выше машин (детерминированная или нет), и пусть Г — (конечное) подмножество множества символов, которые М может читать на входной ленте. Предположим, что Г не содержит пустого символа. Говорят, что машина М допускает слово w в алфавите Г, если существует ее вычисление, которое заканчивается в допускающем состоянии и в начале которого машина находилась в состоянии q0 и были пусты все ленты, кроме входной, содержавшей слово w с входной головкой, обозревающей самый левый символ w (и магазинной или стековой ленты, содержавшей символ s0). В случае ВПММ мы дополнительно потребуем, чтобы в конце допускающего вычисления магазинная головка обозревала символ s0 (т. е. магазинная память была пуста). Пусть Т (п) и L (п) — функции на множестве положительных целых чисел, и пусть А — множество слов в алфавите Г. Говорят, что машина М допускает множество А за время Т (п), если для любого w £ А она допускает w при некотором вычислении, состоящем из Т (| w |) или менее шагов, где \w\ — длина слова w, и если она не допускает слов w пе вя А. Говорят, что многоленточная машина Тьюринга (или ВПММ) М допускает А с памятью L (п), если для любого w £ А она допускает w при некотором вычислении, при котором ни на одной из рабочих лепт (не считая входную и магазинную ленты) не обозревается более L (| w \) различных клеток, и если она не допускает слов w не из А. 4. Основная теорема Т е-о рема 1 (основная теорема). Для любого множества А слов в алфавите Г и для любой функции L (п) ^ ^log2 n, заданной на множестве положительных целых чисел, следующие три условия эквивалентны:
Хара к т ер и с т и к и м агазинп ы х а в т ом а т о в 271 (а) А допускается некоторой детерминированной ВПММ с памятью L (п), (б) А допускается некоторой недетерминированной ВПММ с памятью L (п), (в) А допускается некоторым вычислителем, ограниченным во времени функцией Т (п) = 2cL(n) для некоторой константы с. Доказательство, (а) =ф (б). Очевидно. (б) =$ (в). Способ доказательства представляет собой обобщение метода, используемого в [1]. Предположим, что М{ — недетерминированная ВПММ, допускающая множество А с памятью L (п). Построим детерминированную многоленточную машину Тьюринга М2, допускающую А за время Т (п) = 2cL(n> для некоторой константы с. Зафиксируем слово w во входном алфавите Г. Пусть п = \ w \ и машина Mi имеет кроме входной и магазинной лент еще к рабочих лент. Тогда конфигурацией машины М^ с входом w будет слово Р — pqu± \ и^ * иг \ v2 * . . . * uk | vk * s, где р — двоичная запись числа, заключенного между 0 и п + 1, q — состояние машины Mi, м4, . . ., uk и у1? . . ., uh — слова в алфавите рабочей ленты, s — символ из алфавита магазинной ленты, | и * — новые символы. Говорят, что М\ с входом w находится в конфигурации Р, если на входной ленте у Л/\ записано слово w, ограниченное пустыми символами, входная головка обозревает символ, стоящий на р-и позиции слева (считая пустой символ, расположенный слева от w, символом с номером 0), М± находится в состоянии б/, па к рабочих лентах записаны слова и^и^, u2v2, . . . . . ., ukVb, рабочая головка i обозревает первый символ слова vt (i = 1, 2, . . ., А:), а символ s обозревается магазинной головкой (т. е. является вершиной магазинного списка). Ясно, что конфигурация полностью определяет мгновенное описание машины Мь неопределенными остаются только входное слово и содержимое магазинной ленты (кроме обозреваемого символа). Говорят, что пара (Р, Q) конфигураций машины М{ с входом w реализуема, если существует вычисление машины Мг с входом w, в начале которого машина находится в конфигурации Р и магазинная головка обозревает некоторую клетку с, а в конце — в конфигурации Q и магазинная головка обозревает ту же самую клетку с (хотя в с может быть записан уже другой символ), и, кроме того, во время этого вычисления магазинная головка никогда не сдвигается левее клетки с. Если Р0 соответствует начальной конфигурации, т. е. Р0 = lq0 \ Р * . . . * | Р$0 (где Р — пустой символ), то My допускает вход w тогда и только тогда, когда существует такая конфигурация Qa, символ состояния которой есть символ допускающего состояния, что пара (Р0, Qa) реализуема. Назовем такую пару допускающей.
272 С. К у к Мы заставим машину Тьюринга М2 строить список реализуемых пар (Р, Q) на одной из рабочих лент. Если М2 обнаружит допускающую пару (Р0, Qa), она остановится и допустит входное слово w. В противном случае М2 будет работать бесконечно долго. Так как предполагается, что машина М{ работает с памятью L (/г), то машина М2 должна просмотреть только конфигурации р = pqui \ Ui * . . . * uk | vk * 5, у которых слова utVi па рабочих лентах пе длиннее, чем L (п), где п = \ w \. Однако может оказаться, что функцию L трудно или даже невозможно вычислить, поэтому вместо того, чтобы вычислять значение L (п), машина М2 использует параметр Z, который запоминается на одной из рабочих лент и играет роль L (п). Сначала 1 = 1. После того как машина М2 нашла все реализуемые пары (Р, Q), у которых объем рабочей ленты не превосходит /, I увеличивается на 1, если никакая допускающая пара (Р0, Qa) еще не найдена. Процесс продолжается неограниченно. Список реализуемых пар (Р, Q), образуемый машиной Л/2, вначале пуст. После того как найдены все реализуемые пары для определенного значения Z, I увеличивается на 1 и список увеличивается следующим образом. Во-первых, к списку добавляются все пары (Р, Р) конфигураций, у которых рабочая память равна Z. Затем для каждых двух пар (Ри (^), (Р2, Q2), содержащихся в списке, добавляется такая пара (Р3, Q3), что (1) пары (Pi, Qi)i (P21 Q2) «производят» пару (Р3, Q3) в смысле, указанном ниже, (2) у конфигураций Р3, Q3 рабочая память не превосходит I и (3) пара (Р3, Q3) до этого не содержалась в списке. Этот последний шаг повторяется до тех пор, пока не будет найдена допускающая пара (Р0, Qa), и в этом случае М2 допускает w, или же никакой реализуемой пары не будет найдено, и в этом случае I увеличивается на 1 и процесс начинается сначала. Определение. Говорят, что две пары (Ри (>4) и (Р2, Q2) конфигураций производят пару (Р3, Q3), если Р{ = Р3 и либо (i) Qi = Р2 и Mi может перейти из конфигурации Q2 в конфигурацию Q3 за один шаг, не сдвигая магазинную головку, либо (ii) М\ может перейти из (?i в Р2 за один шаг, печатая символ s на магазинной ленте и сдвигая свою магазинную головку вправо, М^ может перейти из Q2 в Q3 за один шаг, сдвигая магазинную головку влево, и когда М4 находится в конфигурации Q3, ее магазинная головка обозревает этот символ 5. Ясно, что если (Pi, (?i) и (^2> $2) — реализуемые пары, производящие (Р3, Q3), то пара (Р3, Q3) реализуема. Верно и обратное: как показывает следующая лемма, описанная выше процедура для М2 действительно образует все реализуемые пары. Лемма 1. Каждую реализуемую пару (Р, Q) конфигураций рабочей ленты с памятью не более I можно получить из пар (Р, Р)
Характеристики магазинных автоматов 273 повторным применением операции производства, причем размер рабочей ленты всех появляющихся конфигураций не превосходит I. Доказательство. Предположим, что пара (Р, Q) реализуема и рабочая память конфигураций Р, Q не превосходит L Тогда существует вычисление машины М\ с входом w, начинающееся в конфигурации Р, заканчивающееся в конфигурации Q и такое, что магазинная головка удовлетворяет ограничениям, содержащимся в определении реализуемости. Пусть Р = Р1? Р2, ... . . ., Pt=Q — конфигурации, соответствующие последовательным шагам вычисления. Тогда рабочая память ни для одной из конфигураций Р\ не превосходит Z, поскольку во время вычисления память не может уменьшаться. Докажем индукцией по t, что (Р, Q) можно получить так, как утверждается в лемме. Если t — 1, то (Р, Q) — одна из исходных пар (Р, Р). Пусть £> 1. Возможны два случая: (i) Магазинная головка на шаге Pt-i, Pt не двигается. Тогда пара (Рь Pt-i) реализуема, и по предположению индукции ее можно получить так, как утверждается в лемме. Но (Р4, PJ и (Рь Pt-i) производят (Рь Pt). Следовательно, пару (Pl1 Pt) = = (Р, Q) можно получить так, как утверждается в лемме. (ii) Магазинная головка на шаге Pj_i, Pf сдвигается влево (она не может сдвигаться вправо по определению реализуемости) *). Пусть в последовательности Рь . . ., Pt_4 последней конфигурацией, в которой магазинная головка находится на той же клетке, что и в Рь будет Pt. Тогда.обе пары (Рь Рг) и (P^+i, Pt-i) реализуемы, и по предположению индукции их можно получить так, как утверждается в лемме. Ио пары (Рь Pt) и (Рг+1, Pt-i) производят (Рь Pt). Следовательно, пару (Рь Pt) = (P, Q) можно получить так, как утверждается в лемме. Осталось определить время, требуемое машине М2 для выполнения моделирования. Ясно, что существует такая константа с4 (не зависящая от w и п = \ w |), что для каждого значения I ^ ^ log2 п (напомним, что L (n) ^ log2 n) машина М2 требует не более с{1 + с{ клеток для представления любой пары (Р, Q) конфигураций па рабочей лепте, при условии что рабочие ленты, содержащиеся в Р и Q, не превосходят I. Следовательно, найдется такая константа у, что общее число возможных пар конфигураций с рабочими лептами, не превосходящими /, ограничено величиной yCii+clm Поэтому и число реализуемых пар конфигураций, появляющихся в списке на рабочей лепте машины М2, не более yci*+ci. Так как время, требуемое для добавления к списку одной пары, не превосходит некоторой (например, четвертой) степени этой границы и так как из допустимости машиной М{ слова w (с па- г) Эта часть доказательства изменена по сравнению с оригиналом, где допущена ошибка.— Прим. перев.
274 С. Кук мятью L (п)) следует допустимость машиной М2 слова w для некоторого I ^ L (п), то ясно, что найдется такая константа с7 что если Mi допускает w, то М2 допустит w за 2cL<n) шагов. (в) =ф (а). Предположим, что некоторый вычислитель, ограниченный во времени, допускает множество А за время Т (и) ~ = 2cL^n). Тогда по определению допустимости вычислителем, ограниченным во времени, существуют такая простая (детерминированная) машина Тьюринга S и такая константа d, что S допускает А за время 2dL<n). Преобразуем S в простую машину Тьюринга Mi, допускающую А за время 2c*L(n) для некоторой кои- стапты си головка которой работает следующим образом. Допустим, что вначале на лейте машины Mi написано входное слово w длины п, ограниченное пустыми символами, и головка обозревает самый левый его символ. Во время вычисления Mt печатает только непустые символы. Сначала головка сдвигается вправо на п шагов, пока не достигнет первой пустой клетки, находящейся справа от w. Затем головка печатает непустой символ и сдвигается влево на п + 1 шагов, пока не достигнет первой пустой клетки, находящейся слева от w. Головка печатает непустой символ, сдвигается вправо на п + 2 шагов, затем влево на п + 3 шагов и т. д. Одновременно М± моделирует S, выполняя па каждом проходе головки М{ (кроме, возможно, первого) одно или несколько печатаний, которые выполняет машина S при вычислении. На первом проходе вправо Мг моделирует S, пока S сдвигается вправо на одну клетку за шаг. Затем Mi отмечает эту клетку и продолжает моделирование, когда ее головка делает проход влево. Детали моделирования предоставляем установить самому читателю. Здесь важно то, что для каждого шага машины S машина Mi требует не более одного прохода и, следовательно, не более 2dL(n) Шагов. Поэтому если S допускает w, то Л/"4 допускает w за (Т (п))2 = 22dLW шагов. Построим теперь детерминированную ВПММ М2, которая будет косвенно моделировать Mt. Зафиксируем входное слово w длины п и рассмотрим тройку (t, q, s), где t —неотрицательное целое число, q — состояние машины Мь as — символ из алфавита ее ленты. Такая тройка называется реализуемой, если на шаге t вычислений машины М{ с входом w машина находится в состоянии q и обозревает символ s. Моделирующая машина М2, работая над входом w, составляет на своей магазинной лепте список всех реализуемых троек (t, q, s), определенным образом закодированных, и ищет среди них такую, у которой состояние q допускающее-. Заметим, что Mi допускает w тогда и только тогда, когда существует такая реализуемая тройка (t, q, s), что q — допускающее состояние. Если дана реализуемая тройка (£, q, s), то задача машины М2 состоит в вычислении реализуемой тройки (t + 1, q', s'), опнсы-
Характеристики магазинных автоматов 275 вающей Mi на (t + 1)-м шаге вычислений. Состояние д' легко определить, применяя функцию перехода состояний машины М1 к паре (q, s). Однако для возможности определения s' машина М2 должна иметь доступ к реализуемой тройке (£4, qu s4), описывающей Л/i в последний момент, когда она обозревала клетку, обозреваемую на (t + 1)-м шаге. Соотнесем эти три тройки следующим образом. Определение. Говорят, что тройки (t, q, s) и (tu qu sl) производят тройку (t -\- i, q', s'), если машина Ми находясь в состоянии q и обозревая символ s, переходит в состояние q' и либо (i) обозревает клетку впервые на (t + 1)-м шаге; в этом случае s' —символ, занимавший эту клетку вначале (пустой символ или символ слова w), либо (ii) t{ — наибольшее целое положительное число, меньшее t -\- 1 и такое, 4tq Мг обозревает одну и ту же клетку па шагах t{ и t + 1; в этом случае s' —символ, который должна печатать машина М^, находясь в состоянии q^ и обозревая символ s4. Ясно, что если отношение производства выполнено и обе тройки (2, q, s) и (tu qu sx) реализуемы, то тройка (i + 1, g',s'> также реализуема. Более того, на вопрос о том, удовлетворяют ли три тройки отношению производства, можно легко ответить для машины М[ — это связано со способом работы ее головки. Этот момент мы обсудим позднее. Опишем неформально работу машины М2. Предположим, что у М2 на рабочей ленте достаточно клеток, чтобы запомнить по крайней мере 4 тройки. Тогда М2 при вычислении реализуемых троек (t, q, s) для t^n, т. е. троек, описывающих первый проход головки машины Ми не испытывает затруднений. Теперь в качестве предположения индукции возьмем такое утверждение: для некоторого фиксированного числа t и любых т ^ t в вычислении машины М2 настанет такой момент, когда реализуемая тройка (т, qx, sT), описывающая М\ в момент т, будет записана одна па магазинной лепте машины М2. Допустим, что машина М2 записала реализуемую тройку (t, q, s) на свою магазинную лепту, а все остальные клетки этой ленты пусты. Пусть (Ui #ь Si) —такая реализуемая тройка, что (2, q, s) и (21? qu s{) производят (t -{- 1, q', s'). Далее М2 повторяет все вычисление с самого начала, только теперь (t, q, s) рассматривается как дно (левый конец) магазинной ленты и на этом этапе вычисления не затрагивается. По предположению индукции в некоторый момент вычисления тройка (t{, qu Si) окажется на магазинной ленте непосредственно справа от тройки (t, q, s). Машина М2 будет постоянно проверять (используя память рабочей ленты), могут ли две самые правые тройки, записанные на магазинной ленте, произвести третью тройку, и если да, то М2 заменит эти 18*
276 С. Кук две тройки на производимую ими. Следовательно, в некоторый момент вычислений реализуемая тройка (t + 1, q', s') окажется одна на магазинной ленте, и, таким образом, шаг индукции выполнен. Для того чтобы наши рассуждения были точными, необходимо указать программу для М2. Это сделано ниже. Заметим, что в процессе вычисления тройки (t, q, s) и размещения ее в левом конце магазинной ленты машина М2 вырабатывает на своей магазинной ленте списки троек, каждый из которых содержит максимум на одну тройку больше, чем число проходов, делаемых головкой машины М\ до шага t. Приведем теперь точный алгоритм работы машины М2. Предположим, что во время вычислений на ее магазинной ленте находится список троек. (Число t из (t, q, s) записывается в двоичном виде.) Вначале этот список пуст. Вершиной списка назовем самую правую запись в нем. Во время вычислений машина М2, конечно, имеет доступ к входному слову w. Алгоритм для М2 Р1 (ДОБАВИТЬ ПЕРВУЮ ТРОЙКУ). Добавить к вершине магазинного списка тройку (0, q0, s), где q0 —начальное состояние машины М{, as — самый левый символ слова w. Р2 (ДОПУСТИТЬ?). Если тройка (t, q, s), находящаяся па вершине, такова, что q — допускающее состояние машины М4, то вход w ДОПУСТИТЬ. В противном случае перейти к РЗ. РЗ (ПРИМЕНИТЬ ОПЕРАЦИЮ ПРОИЗВОДСТВА). Если список содержит по крайней мере две тройки, х и у — две тройки, находящиеся правее других в списке, х и у производят тройку z, то удалить из списка х и у и добавить z, затем перейти к Р2. В противном случае перейти к Р1. Для того чтобы доказать, что алгоритм работает (т. е. заставляет машину М2 допускать вход w тогда и только тогда, когда его допускает машина М^, достаточно формализовать неформальные рассуждения, приведенные выше. Заметим, что сначала дважды выполняется Р1 (состояние q0 не может быть заключительным, поскольку Т (п) ^ сп по условию теоремы), и в магазинном списке появляются два экземпляра тройки (0, qQ, s). Осталось вычислить размер внешней памяти (т. е. число клеток рабочей ленты), используемой машиной М2. Ограничимся рассмотрением только шага РЗ, так как он самый сложный. Основным при выполнении шага РЗ будет вычисление функции я (n,'t), значение которой есть позиция головки машины Mi на шаге t вычисления с входным словом длины п. Позицией мы
Характеристики магазинных автоматов 277 называем целое число, приписанное клетке, обозреваемой на шаге t. Целые числа приписываются клеткам на ленте следующим образом: клетке, содержащей самый левый символ входа w (в положении в начале вычисления), приписывается 0; клеткам, находящимся справа от клетки 0, приписываются последовательные положительные целые числа, а клеткам, находящимся слева от клетки 0, приписываются последовательные отрицательные целые числа. Если число t записано на рабочей ленте в двоичном виде, а п —длина входного слова, то М2 вычисляет я (п, t), моделируя на рабочей ленте движение головки машины Mt на первых t шагах и запоминая с помощью параметра р, записываемого в двоичном виде, положение головки во время моделирования *). Следовательно, число клеток рабочей ленты, требуемых для вычисления я (п, t), не превосходит d{ max (log2 n, log2 t) для некоторой небольшой константы d{. Если машина М{ допускает w, то она делает это не более чем за 2ciL(n> шагов. Таким образом, значения t, рассматриваемые машиной М2, никогда не превысят 2СЛП), и, значит, используемая память не превысит d{ max (log2 и.» CiL {n)) и, значит, d2 L(n) для некоторой константы do, поскольку L (n) ^ log2 п. Если М{ не допускает w, то нас не интересует память, требуемая для Мг. Для того чтобы выполнить шаг РЗ, машина М% переписывает две верхних тройки, если они существуют, с магазинной ленты (где они уничтожаются) на рабочую. Если магазинная лента содержит только одну тройку, то Мг снова запишет эту тройку па магазинной ленте и блок управления заставит ее сделать шаг Р1. В противном случае М2 определяет, производят ли две верхние тройки тройку z. Это легко сделать, вычисляя я (п, t + 1) и я (п, т) для последовательных значений т ^ t и запоминая наибольшее из значений т, для которых я (п, t) = я (п, t + 1), а также обращаясь к функции перехода машины М^ и к входу w. Если тройку z можно найти, то она добавляется к вершине магазинного списка и блок управления заставляет Д/2 перейти к шагу Р1. Как уже было сказано выше, если Мг допускает w, то значение t в тройках (t, q, s), рассматриваемых машиной М2, никогда не превосходит 2с^п\ и, следовательно, память, требуемая для запоминания одной тройки, не превосходит ds L(n) + ds для некоторой константы ds. Из этого и из ранее сказанного ясно, х) Фактически используются параметры р и i. В начальный момент р = 0. Если после некоторого шага t — 0, то результат вычисления зх равен /;; если р = 0, то i становится равным 1; если р = п + 1, то i становится равным —1 и к п прибавляется-1. На каждом шаге к р прибавляется i и из t вычитается 1. Если t = 0 и р равно 0 или п + 1, то позиция обозревается впервые.— Прим. ред.
278 С. Кук что внешняя память, используемая машиной М2, в том, конечно, случае, если М{ (а^ следовательно, и М2) допускает w, не превосходит d4 L(n) + db для некоторых констант d4, dr,. Применяя стандартную технику увеличения мощности алфавита рабочей ленты и числа состояний блока управления, константы dk и йъ можно сделать равными 1 и 0 соответственно. Значит, действительно можно найти машину ЛТ2, допускающую А с памятью L(n). 5. Применения основной теоремы В приведенной ниже теореме даются характеристики вычислительной способности некоторых типов магазинных машин в терминах вычислителей, ограниченных во времени. Кроме магазинных машин, описанных в разд. 3, в теореме рассматриваются две другие: пишущий магазинный распознаватель [13] и двусторонний многоголовочный магазинный автомат [8]. Пишущий магазинный распознаватель был определен в [13] как недетерминированный линейно ограниченный автомат, снабженный магазинной лентой; легко видеть, что он по вычислительной способности эквивалентен недетерминированной ВПММ с памятью, ограниченной величиной L (п) = п. Двусторонний многоголовочный магазинный автомат состоит из недетерминированного блока управления с конечным числом состояний, связанного с магазинной лентой и с несколькими только читающими входными головками, работающими на входной ленте с граничными маркерами. Теорема 2. Множество Л слов допускается машиной типа i (1 ^ i ^ 6) из первого столбца табл. 1 тогда и только тогда, Таблица 1 Тип машины 1. Двусторонний многоголовочный магазинный автомат 2. Детерминированный двусторонний многоголовочный магазипный автомат 3. Пишущий магазинный распознаватель 4. Детерминированный пишущий магазинный распознаватель 5. Детерминированный двусторонний стековый автомат 6. Недетерминированный двусторонний стековый автомат L (?г) для ВПММ log п log и п п п log п И2 Т (п) для детерминированной машины Тьюринга (с — константа) пс пс 2е п 2см псп 2c?i2
Характеристики магазинных автоматов 279 когда А допускается некоторой ВПММ {детерминированной или нет) с памятью L (п), указанной в i-й строке второго столбца, а также тогда и только тогда, когда А допускается вычислителем, ограниченным во времени Т (п), указанном в 1-й строке третьего столбца. Доказательство. Указанные эквивалентности между столбцами 2 и 3 таблицы следуют непосредственно из теоремы 1. Эквивалентности между столбцами 1 и 2, содержащиеся в строках 3 и 4, вытекают прямо из определения пишущих магазинных распознавателей [13], поскольку теорема 1 гарантирует, что детерминированный и недетерминированный варианты ВПММ € памятью, ограниченной величиной L (п) = п, имеют одинаковую вычислительную способность. Эквивалентность между двусторонними миогоголовочыыми магазинными автоматами и ВПММ € памятью, ограниченной величиной log п, следует из неопубликованного, но достаточно широко известного доказательства Кобхэма и других, показывающего, что двусторонний мыогоголо- вочный конечный автомат эквивалентен многоленточной машине Тьюринга с памятью, ограниченной величиной log n *). Осталось доказать эквивалентности между стековыми автоматами и ВПММ. Эти эквивалентности вытекают из следующих трех лемм. Лемма 2. Если множество слов А допускается детерминированным {или недетерминированным) стековым автоматом, то А допускается некоторой ВПММ с памятью п log n (или п2). Доказательство. Доказательство похоже на то, которое использовалось в [11] для модели-рования нестирающего стекового автомата на машине Тьюринга с ограниченной лентой. Предположим, что S — (стирающий) стековый автомат (детерминированный или нет), и пусть w — его вход. Пусть непустым содержимым стековой ленты в некоторый момент вычислений автомата S с входом w будет слово у. Следуя [11], сопоставим с каждой парой w, у матрицу перехода MWt у, определенную следующим образом. Пусть п — длина входа w, a N — множество целых чисел от 0 до п + 1. Тогда MWt у —это бинарное отношение на (Q X N) U {А}. Говорят, что для (р, i) и (q, /) выполняется х) Если конечный автомат имеет к головок, то машина Тьюринга, моделирующая этот автомат, на к рабочих лентах будет помнить местоположение всех к головок. Для этого, очевидно, хватит памяти log п, где п — длина входного слова. И обратно, машину Тьюринга с памятью log n, имеющую к рабочих лепт, можно промоделировать на (ЗА: + 1)-головочном двустороннем автомате. Для доказательства этого факта можно использовать технику, развитую в статье Козмидиади В. А. и Марченкова С. С, сб. Проблемы кибернетики, № 21, 1969, стр. 127—159.— Прим. перев.
280 С. Кук Mw>y, если существует вычисление автомата S, при котором вначале автомат находится в состоянии /?, входная головка обозревает на входе w символ с номером i (считая символом с номером 0 пустой символ, находящийся слева от w, и символом с номером п + 1 пустой символ, находящийся справа от w), у — непустое содержимое стековой ленты и стековая головка обозревает самый правый символ слова г/, а в конце входная головка обозревает позицию / на w и стековая головка обозревает пустой символ, находящийся справа от у. Кроме того, во время этого вычисления у не изменяется и, за исключением последнего шага, стековая головка никогда не должна покидать у. Говорят, что Mw,y выполняется для (/?, i) и А, если существует вычисление автомата S, удовлетворяющее тем же начальным условиям, что и выше, но заканчивающееся тем, что S допускает w до того, как стековая головка покидает у. Построим ВПММ X, которая будет моделировать S. Машина X будет детерминированной, если машина S детерминированная, и в некоторых случаях недетерминированной, если S недетерминированная. Предположим, что стековый автомат S находится в состоянии д, входная головка обозревает £-й символ входа w и у = Y{Y2 • • • Yk — непустое содержимое стековой ленты. Если стековая головка обозревает самый левый пустой символ на стековой ленте (справа от у), то будем говорить, что S находится в регулярной конфигурации. Эта регулярная конфигурация представлена в X парой (q, i) на рабочей ленте и информацией Yu MWtYi, Y2, MWtYiY2i • • ч Yk* Mw,y на магазинной ленте (где матрицы перехода MWtYi ... у- записаны в некотором особом виде). По данной регулярной конфигурации, в которой при своих вычислениях оказалась машина S, машина X находит следующую регулярную конфигурацию, а в случае, когда S недетерминированная, X недетерминированным образом выбирает возможную следующую регулярную конфигурацию для S. Прежде чем S оказывается в следующей регулярной конфигурации, непустое содержимое у стековой ленты либо (1) совсем не изменится, либо изменится одним из способов: (2) новый (непустой) символ Yk+l приписывается справа к у, в результате образуется yYk+l, (3) правый символ слова у заменяется на новый непустой символ Y£, в результате чего получается Y{Y2 - - - . . . Yk-iYk, или (4) правый символ слова у стирается, в результате чего получается Y^Y2 - • . Yh^. В случае (2) машина X должна вычислить матрицу перехода MWty у и приписать ее справа на свою магазинную ленту. Машина X легко может вычислить новую матрицу перехода, исходя из символа Yk+i и матрицы перехода MWiV, записанной
Характеристики магазинных автоматов 281 на магазинной ленте. Детально это изложено в [11]. В случае (3) машина X должна вычислить MWtYi ... у£. Новая матрица перехода вычисляется, исходя из Y'k и матрицы М Ш,У1 ... Yk, (записанной на магазинной ленте слева от Yk, Mw>y), с помощью того же самого метода, что и в случае (2). И, наконец, в случае (4) машина X должна только стереть со своей магазинной ленты пару Yk, Mw>y и поместить па одну из рабочих лент пару (q, i). В случаях (1) — (3) машина S, прежде чем оказывается в следующей регулярной конфигурации, может сдвигать свою стековую головку влево с самого правого непустого символа на стековой ленте. Тогда в связи с ограничениями, наложенными на стековую головку в определении, данном в разд. 3, стековая головка до тех пор не сможет изменить ни одного символа на стековой ленте, пока не окажется снова в регулярной конфигурации. Следовательно, X сможет найти следующую пару (q, i) (или возможные следующие пары в недетерминированном случае) машины S, обращаясь к матрице перехода, расположенной на правом конце магазинной ленты машины X. Разумеется, X легко определяет, может ли S допустить входное слово, прежде чем окажется в очередной регулярной конфигурации, и если да, то X допускает входное слово. Внешняя память (т. е. рабочая лента), требуемая машиной X для моделирования, есть константа, умноженная на число клеток, необходимое для запоминания самой большой матрицы перехода. В случае когда машина S детерминированная, для каждой матрицы перехода MWtV и каждой пары (р, i) существует не более одной пары (q, /), связанной с (р, i) отношением Mw>y. Следовательно, память, требуемая для записи всех пар ((р, /), (д, /)) или ((р, i), А), удовлетворяющих MWty, не превосходит en log n для некоторой константы с, где п —длина входа w. (Числа i и / запоминаются в двоичной записи.) В случае когда машина S недетерминированная, число возможностей для Мщ,у возрастает. Однако MWty всегда является подмножеством множества (Q X N) X ((Q X N) [J {А}), содержащего не более с^п2, элементов, где константа с^ зависит только от мощности множества Q (множества состояний блока управления). Так как множества из с^п2 элементов имеет 2cin2 подмножеств, то произвольное подмножество и, значит, всякую матрицу перехода MWfV можно с помощью эффективной кодировки записать на с(п2 клетках лепты. Детали можно найти в работе [11]. Кроме того, в [11] описан способ вычисления матрицы перехода Mw,yY из Mw,y и У, использующий не более с2п log n (если машина S детерминированная) или с2п2 (если машина S недетерминированная) клеток рабочей лепты. Константы с, q и с2 стандартными методами можно сделать равными 1.
282 С. Кук Лемма 3. Если множество слов А допускается некоторой ВПММ с памятью L (п) = п2, то А допускается и некоторым недетерминированным стековым автоматом. Доказательство. В доказательстве используется та же техника, что и в работе [11], где устанавливается, что недетерминированный нестирающий стековый автомат может моделировать недетерминированную машину Тьюринга с памятью, ограниченной величиной п2. Пусть X —детерминированная ВПММ, допускающая А с памятью L (п) = п2. Зафиксируем входное слово w для X. Сократим обозначение для конфигурации, данное в разд. 4 при доказательстве импликации (б) =#> (в), и будем писать Р = = (q, i, и, Y) вместо Р = iqui \ vl * и2 \ v2 * . . . * uk \ vkY, где и = и{ \ vi * . . . * uk | vk. Таким образом, машина X находится в конфигурации (q, г, и, У), если она находится в состоянии q, входная головка обозревает i-й символ слова w, рабочие ленты описываются с помощью и и магазинная головка обозревает символ Y. Покажем, как недетерминированный стековый автомат S моделирует X. Предположим, что в некоторый момент вычислений X находится в конфигурации (q, £, и, Yh) и на магазинной ленте записано слово у = YiY2 . . . Yh (т. е. это слово состоит из символов, расположенных между s0 и магазинной головкой, включая оба конца). Для каждого символа Yj на магазинной ленте обозначим через ср (у) конфигурацию, находясь в которой машина X в последний раз до настоящего момента обозревала клетку, в которой напечатан Yj. Тогда, независимо от Yu Y2, . . . . . ., Yj-t при / < к, машина X, находясь в конфигурации ф (у), напечатает Yj на магазинной ленте и будет работать так, что магазинная головка будет справа от этого символа Yj до тех пор, пока X не окажется в конфигурации (#, £, и, Yh)\ тогда на магазинной ленте справа от Yj будут записаны символы Yj+i . . . Yk. Более того, ф (к) = (q, i, и, Yh). Стековая лента автомата S кодирует вычисления машины X до настоящего момента следующим образом. Стековая лента делится на верхнюю и нижнюю дорожки. На верхней дорожке записывается последовательность конфигураций ф (1), ф (2), . . . . . ., ф (к) с некоторым количеством «добавок» между соседними членами. Добавки состоят из устаревших конфигураций, которые помечены знаком * и на которые машина не обращает внимания. На нижней дорожке под каждой конфигурацией ф (у) расположена конфигурация г|) (у), представляющая собой предположение, делаемое автоматом S о конфигурации, в которой будет находиться машина X, когда она будет в следующий раз обозревать клетку у <своей магазинной ленты.
Характеристики магазинных автоматов 283 Опишем теперь, как S изменяет свою ленту для каждого возможного шага машины X. Заметим, что просматривая (но не разрушая) верхнюю конфигурацию ф (к) на стековой ленте, S может определить, какой шаг сделает X в следующий момент. Индекс i в четверке (q, i, и, Yk) запоминается в унарной записи (i черточек), так что S может определить, какой символ входного слова обозревает X. (1) Допустим, что X печатает символ на магазинной ленте и сдвигает свою магазинную головку вправо (и, кроме того, выполняет различные операции с рабочими и входной головками). Тогда S вычислит новую конфигурацию ф {к + 1) = (qu iu ии (3) и запишет ее на верхней дорожке стековой ленты справа от <р (к). Метод, используемый автоматом S для того, чтобы получить ф (к + 1) справа от ф (/с), в точности совпадает с методом, описанным в [11] и позволяющим недетерминированному нести- рающему стековому автомату записать вслед за предыдущим следующее мгновенное описание машины Тьюринга с лентой, ограниченной величиной п2. Вырабатывая ф (к + 1), автомат S одновременно записывает на нижней дорожке под ф (к + 1) произвольную конфигурацию г|) (к + 1), которая выбирается недетерминированно и представляет предположение о конфигурации, в которой окажется машина X, когда в следующий раз будет обозревать клетку к + 1 магазинной ленты. (2) Пусть X печатает символ Y'h на своей магазинной ленте, но не сдвигает свою магазинную головку. Тогда S печатает * справа от ф (к), чтобы обозначить, что эта конфигурация устарела (добавок), и затем методом, изложенным в предыдущем пункте, начинает записывать новую конфигурацию Ф' (к) = (q', V, и', П) справа от ф (к) *. Одновременно S делает предположение о конфигурации г[/ (t) и записывает ее на нижней дорожке под ф' (к). (3) Пусть X печатает пустой символ на магазинной ленте и сдвигает магазинную головку влево. Тогда S движется влево по своей стековой ленте (не стирая), пока не находит самую правую конфигурацию ф (к — 1) из расположенных слева от ф (к) и не помеченных * (т. е. не устаревших). На нижней дорожке под ф (к — 1) расположена конфигурация. г|) (к — 1) = (q2, i2, u2, Y"), представляющая предположение, сделанное ранее S о нынешней конфигурации машины X. Стековый автомат S проверяет теперь, верно ли предположение о г|э (к — 1); сначала он проверяет, печатает ли X, находясь в конфигурации ф (к —1), символ Y" на магазинной ленте. Остальные члены конфигурации^ (к —1), т. е. д2, £2, и2-> проверяются с помощью самой правой конфигура-
284 С. Кук ции ф (к) на стеке. Метод проверки является точным обращением метода, используемого в пункте (1) для получения ф (к + 1) из ф (/с), и в то время как проверяется каждый символ из г|э (к — 1) (начиная с правого), соответствующий символ из ф (к) стирается. Если г|) (к —1) —неверное предположение, то вычисление автомата S заканчивается неудачей (напомним, что автомат S недетерминированный). Если предположение г|) (к —1) правильное, то все находящееся^ на стековой ленте справа от г|) (к — 1) стирается, пара $(&Zij обозначается * как устаревшая, г|э (к — 1) записывается в качестве ф' (к — 1) на верхней дорожке справа от ф (к — 1) и новое предположение г|/ (к — 1) записывается на нижней дорожке под ф' (к — 1). (4) Если X допускает вход w, то S допускает вход w. Лемма 4. Если множество слов А допускается некоторой детерминированной ВПММ с памятью L (п) = п log n, то А допускается детерминированным стековым автоматом. Доказательство." Доказательство такое же, как предыдущее, за двумя исключениями. Во-первых, когда моделирующий детерминированный стековый автомат S вырабатывает на своей стековой ленте конфигурацию ф (к + 1), следующую за ф (/с), он не может применить метод, используемый недетерминированным стековым автоматом в предыдущем доказательстве. Применяется метод, описанный в [11], с помощью которого детерминированный иестирающий стековый автомат перерабатывает мгновенное описание машины Тьюринга с памятью, ограниченной величиной п log п. Так как у моделируемой ВПММ рабочие ленты ограничены величиной п log п, то этот метод применить можно. Аналогично этот новый метод используется автоматом S для других операций переписывания и проверки на конфигурациях машины X, Второе отличие этого доказательства состоит в том, что детерминированный стековый автомат S не может недетерминированно делать предположения о конфигурациях я|э (к). Вместо этого S делает предположения систематично. Предположим, что возможные конфигурации ВПММ лексикографически упорядочены. Сначала S выбирает г|) (к) равной первой конфигурации в этом упорядочении и записывает ее на нижней дорожке под ф (к). Теперь опишем преобразование стековой лепты автомата S, соответствующее сдвигу магазинной головки машины X влево (см. пункт (3) в предыдущем доказательстве). Если самое последнее предположение if) (к —1) о новой конфигурации неверно, то S стирает всю информацию, находящуюся справа от пары $feZij, отмечает эту пару как устаревшую и переписывает ее справа от *, только я|э (к — 1) заменяется на конфигурацию, следующую за ней при лексикографическом упорядочении. Затем
Характеристики магазинных автоматов 285 моделирование машины X повторяется начиная с ф {к — 1). Рано или поздно конфигурация г|) {к — 1) будет выбрана правильно, и моделирование можно будет продолжить. Этим завершается доказательство леммы 4 и теоремы 2. Непосредственно из теоремы 2 и определения класса Кобхэма X* (см. разд. 2) вытекает Следствие 1. Множество А содержится в X* тогда и только тогда, когда А допускается двусторонним многоголовочным магазинным автоматом. С помощью второго следствия можно ответить на некоторые открытые вопросы, связанные с эффектом детермипизации. Следствие 2. Как в случае пишущих магазинных распознавателей, так и в случае двусторонних многоголовочных магазинных автоматов детерминированная и недетерминированная модели имеют одинаковую вычислительную способность. Для очередного следствия нам потребуется результат, полученный в [10]. Лемма 5 (X е н н и — С т и р н з). Если Т\ (п) — функция, вычислимая в реальное время, то существует множество слов А, которое допускается некоторой детерминированной многоленточной машиной Тьюринга за время Ti (n), но не допускается никакой машиной этого же типа за время Т2 (п) для любой функции Т2 (п), удовлетворяющей условию liminfMn^Ii^=0. П->оо М(Я) Следствие 3 дает ответ на вопрос, поставленный в [6]. Следствие 3. Класс множеств, допускаемых детерминированными двусторонними стековыми автоматами, строго содержится в классе множеств, допускаемых недетерминированными машинами того же типа. Аналогично классы^ определяемые машинами из строк 1, 3 а 5 табл. 1, образуют возрастающую последовательность со строгим вложением. Доказательство. Это легко следует из леммы 5 и теоремы 2. Например, если положить Т\ (п) = 2пЛ и Т2 (п) = = пп 1о^п, то Т2 (п) будет больше псп для любой констапты с и, следовательно, каждое множество А, допускаемое детерминированным стековым автоматом, допускается некоторой машиной Тьюринга за время Т2 (п). Но тогда по лемме 5 существует множество А, которое допускается машиной Тьюринга за время 7\ (п) и, следовательно, недетерминированным стековым автоматом, но
286 С. Кук не допускается никакой машиной Тьюринга за время Т2 (п) и, следовательно, не допускается никаким детерминированным стековым автоматом. Следствие 4 было впервые получено в [12] с помощью прямого, но сложного доказательства. Следствие 4 (Кнут — Бигелоу). Класс контекстных языков строго содержится в классе множеств, допускаемых детерминированными двусторонними стековыми автоматами. Доказательство. Все контекстные языки допускаются недетерминированными машинами Тьюринга, работающими с памятью, ограниченной функцией, линейно зависящей от длины входа. Но ясно, что эти машины являются частными случаями пишущих магазинных распознавателей (строка 3 табл. 1), и поэтому все контекстные языки допускаются пишущими магазинными распознавателями. Следствие 4 вытекает теперь из следствия 3. Следствия 5 и 6 утверждают, что для недетерминированных машин Тьюринга верны некоторые факты, очевидным образом верные для детерминированных машин Тьюринга. Следствие 5. Если множество слов А допускается недетерминированной машиной Тьюринга с памятью L (n) ^ log2 n, то оно допускается {детерминированным) вычислителем, ограниченным во времени Т (п) = 2cL(n> для некоторой константы с. Это прямо следует из теоремы 1, если убрать магазинную ленту из ВПММ. В частности, для случая L (п) = п имеем Следствие 6. Каждый контекстный язык допускается детерминированной машиной Тьюринга за время 2сп для некоторой константы с. Следствие 7. Класс множеств, допускаемых машиной каждого из типов, указанных в табл. 1, замкнут относительна объединения, пересечения и дополнения. Это следует из характеристик, указанных в столбце 3 таблицы. Так как каждая из указанных там функций вычислима в реальное время (т. е. достаточно легко вычислима), то можно так преобразовать «машину Тьюринга, допускающую множества из какого- либо класса, чтобы она останавливалась на всех входах. Отсюда легко вытекает следствие 7. 6. Заключение и открытые вопросы Основной открытый вопрос, касающийся этих результатов, состоит в том, действительно ли магазинная лепта увеличивает вычислительную способность ВПММ. Иными словами, мы не мо-
Характеристики магазинных автоматов 287 жем показать, что теорема 1 становится неверной, если в утверждениях (а) и (б) заменить «ВПММ» на «машину Тьюринга». Эта модификация теоремы 1 означала бы, что верно обращение следствия 5, т. е. множество допускается вычислителем, ограниченным во времени 2cL(n\ тогда и только тогда, когда оно допускается машиной Тьюринга с памятью L (п). Такая сильная эквивалентность между временем и памятью кажется неправдоподобной, но мы не располагаем доказательством того, что ее пет. Вторая группа вопросов, остающихся открытыми, касается двустороннего магазинного автомата, описанного в [7]. Это устройство легко описать как ВПММ, оперирующую с нулевой внешней памятью (т. е. без рабочих лент). Так как внешняя память меньше log2 n, то теорема 1 неприменима и такие вопросы, как 1) сильнее ли псдетермитгирования модель, чем детерминированная, и 2) замкнут ли класс множеств, допускаемых каждой из моделей, остаются без ответа. И, наконец, в области вычислительной сложности давно стоит проблема нахождения какого-нибудь интересного множества и доказательства того, что для его вычисления всякая разумная модель вычислителя потребует много времени. Более точно, не удается найти множество, не содержащееся в классе Кобхэма X* (не считая примеров, полученных с помощью диагональной процедуры). Однако легко указать па возможных кандидатов, например множество двоичных записей простых чисел. Мне кажется, что в связи с простотой многоголовочпых магазинных машин первым шагом к нахождению множества, не содержащегося в X*, могло бы быть следствие 1 в разд. 5. СПИСОК ЛИТЕРАТУРЫ 1. Alio А. V., Hopcroft J. E., Ullman J. D., Time and tape complexity of pushdown automation languages, Information and Control, 13, 3 (1968), 186—206. (Русский перевод готовится к печати в сб. «Языки и автоматы», изд-во «Мир».) 2. Cobham A., The intrinsic computational difficulty of functions, Proc. 1964 Internal. Congr. for Logic, Methodology and Philosophy of Science,, Nurth-Holland, Amsterdam, pp. 24—30. 3. Cole S. N., Real-time computation by w-dimensional iterative arrays of finite-state machines, IEEE Conf. Record of 1966 Seventh Annual Symp. on Switching and Automata Theory, Oct. 1966, pp. 53—77. 4. Cook S. A., Variations on pushdown machines, Conf. Record of ACM Symposium on the Theory of Computing, Marina del Rey, Calif., May 1969. 5. Earley J., An efficient context-free parsing algorithm, Comm. ACM, 13, 2 (1970), 94—102. (Русский перевод готовится к печати в сб. «Языки и автоматы», изд-во «Мир».) 6. Ginsburg S., Greibach S. A., Harrison M. A., Stack automata and compiling, /. Assoc. Comput. Machinery, 14, 1 (1967), 172—201. 7. Gray J., Harrison M. A., Ibarra О. Н., Two-way pushdown automata, Information and Control, 11, 1—2 (1967), 30—70.
288 С. Куп 8. Harrison M. A., Ibarra О. Н., Multitape and multihead pushdown automata, Information and Control, 13, 5 (1968), 433—470. . 9. Hartmanis J., Stearns R. E., On the computational complexity of algorithms, Trans. Amer. Math. Soc, 117 (1965), 285—306. (Русский перевод: Хартманис Дж., Стирнз Р. Е., О вычислительной сложности алгоритмов, Кибернетический сборник, вып. 4, изд-во «Мир», М., 1967, стр. 57—85.) 10. Hennie F. С., Stearns R. E., Two-tape simulation of multitape Turing machines, /. Assoc. Comput. Machinery, 13, 4 (1966), 533—546. (Русский перевод: Хенни Ф. К., Ст-ирнз Р. Е.э Моделирование многоленточной машины Тьюринга на двуленточной, сб. «Проблемы математической логики», пзд-во «Мир», М., 1970, стр. 194—212.) 11. Hopcroft J. E., Ullman J. D., Nonerasing stack automata, /. Comput. Syst. Sci., 1, 2 (1967), 166—186. 12. Knuth D. E., Bigelow R. H., Programming languages for automata, /. Assoc. Comput. Machinery, 14, 4 (1967), 615—635. 13. Mager G., Writing pushdown acceptors, /. Comput. Syst. Sci., 3, 3 (1969), 276—319. 14. Shepherdson J. C, Sturgis H. E., Computability of recursive functions, /. Assoc. Comput. Machinery, 10, 2 (1963), 217—255.
ДЕТЕРМИНИРОВАННЫЕ АВТОМАТЫ С МАГАЗИННОЙ ПАМЯТЬЮ И ВЫЧИСЛЕНИЯ В РЕАЛЬНОЕ ВРЕМЯ х) С. Roy л 1. Введение Автомат с магазинной памятью является известной моделью в области программирования и в теории вычислений. Он используется при разработке алгоритмов для компиляции алгебраических формул в операторы машинного языка, а также для синтаксического анализа в трансляторах. В теории вычислений детерминированный автомат с магазинной памятью (сокращенно ДМП-авто- мат) дает один из простейших примеров автомата, распознающего нерегулярное множество лент, например язык {а{ . . . апхап . . . . . . aY | п ^ 1}, где х, аи . . ., ап —буквы некоторого конечного алфавита, причем х не совпадает ни с одной из букв at. Известно, что множество лент, распознаваемое ДМП-автоматом, есть контекстно-свободный язык, и что обратное, вообще говоря, не верно. Это один из фактов, характеризующих вычислительные возможности ДМП-автоматов. Доказанные в настоящей статье теоремы указывают более точные границы этих возможностей. Основной результат — доказательство того, что каждый ДМП-автомат можно промоделировать на итеративном автомате подходящей размерности. В разд. 2 вводится понятие абстрактного компьютера, позволяющее с единых позиций сравнивать вычислительные возможности автоматов. В разд. 3 дается определение ДМП-автомата и рассматривается приведение произвольного ДМП-автомата к нормальной форме. Понятие нормальной формы непосредственно применяется в разд. 4 к доказательству того, что множество всех симметричных лент не распознается никаким ДМП-автоматом 2). В разд. 5 излагаются мотивы для рассмотрения проблемы сравнения ДМП-автоматов с итеративными автоматами. Сама же проблема изучается в разд. 6 и 7. Для того чтобы показать, что итеративные автоматы могут моделировать в реальное время ДМП-автоматы, мы вводим два промежуточных типа автоматов. Понятие табуляторного автомата, т. е. некоторого ДМП-автомата с возможностью ассоциативного поиска, вводится в разд. 6, где показано, что табуляторный автомат способен моделировать в реальное время ДМП-автомат. ^Cole S. N., Deterministic pushdown store machines and real-time computation, /. Assoc. Comput. Mach., 18, № 2 (1971), 306—328. 2) Это доказательство представляет улучшенную версию первоначального доказательства, данного в [1]. Другое доказательство приведено в работе [5]. 19-01321
290 С. Коул Изложение завершается в разд. 7, где описано сведение любого вычисления, совершаемого в реальное время па табуляторпом автомате, к вычислению на многомерном ДМП-автомате в полуреальное время, и затем показано, что «.-мерный итеративный автомат может моделировать в полуреальное время «-мерный ДМП-автомат. 2. Компьютеры Компьютер — это символьный процессор, который читает входные символы, претерпевает смену состояний и порождает выходные символы. Компьютер детерминирован, но вычисляет не обязательно в реальное время и может регулировать скорость считывания входных символов. Множество 2 входных символов и множество Г выходных символов конечны. Множество S состояний компьютера счетно. Функцией перехода состояний называется вычислимая функция М: S X 2 -> S, определяющая по текущему состоянию и текущему входу следующее состояние компьютера. Функцией считывания называется вычислимая функция /: S -> -> {ДА, НЕТ}, которая для текущего состояния указывает, следует считывать новый входной символ или нет. Функцией выходов называется вычислимая функция F: S -> Г U {Л} (Л — пустая лента), которая для текущего состояния указывает, следует порождать выходной символ или нет, и если выходной символ порождать следует, то функция указывает значение этого символа; значение Л говорит об отсутствии выхода. Если компьютер получает в состоянии s входной символ о% то он проходит последовательность состояний М (s, a) = su М (*!, а) = s2, . . ., М (sk-ir о) = sk. Эта последовательность заканчивается первым состоянием sk, для которого / (sk) = ДА; для выписанной выше последовательности / (*i) = / Ы =...=/ fo-i) = НЕТ, / (sh) = ДА. Так как не исключено, что последовательность может оказаться бесконечной, то на функции М и / необходимо наложить ограничения. Компьютер называется собственным, если для любого состояния s и любого входа а последовательность состояний конечна. Последовательность [s4, s2, . . ., sk] мы будем называть переходной последовательностью пары (s, а) и обозначать TS (s, a). Особый интерес представляют компьютеры с периодической функцией считывания. Если при некотором фиксированном к все переходные последовательности компьютера имеют длину Л, то говорят, что компьютер вычисляет в полуреальное время. В частности, если / (s) = ДА для всех s из S, то к = 1; в этом случае говорят, что компьютер вычисляет в реальное время.
Детерминированные автоматы с магазинной памятью 291 В процессе вычисления компьютер считывает строчку символов из 2 и печатает строчку символов из Г. Для каждого конечного множества Ф строчку символов а4 . . . от (аг- 6 Ф) будем называть лентой. Для произвольных лент т = а4 . . . ат и ф = = р1 ... рп положим тф = а! ... а^р! . . . рп, т = от . . . Gi, L (т) = m, где L (т) —длина ленты т. Лента ат определяется рекурсивно: go = Л и om+1 = aam. Если 4 и Б — произвольные множества лент, то А[}В = {х\х£А или т £ 5}, ля = {тф | т е 4, ф е 5}, Ат определяется рекурсивно: А0 = {Л}, Ат+1 = ААт7 оо А*= U ^m- т=0 Взаимно однозначная функция /: Ф -> Ф^ называется к-блочным кодированием алфавита Ф. Функция / имеет естественное продолжение до функции /: Ф* -> Ф*, которое можно определить рекурсивно: / (Л) = Л, / (ат) = / (а) / (т) (а 6 Ф*, т 6 Ф*). Наконец, / (А) для произвольного 4 cz Ф* обозначает множество {/(т) |т£Л}. Каждая входная лента т = о{ ... am из 2* и каждое состояние s определяют последовательность состояний TS (s, т) = [sA, ..., skv sftl+i,..., <^2, ..., sfem], где [sA, ..., shi] = TS (5, а4),[^1+1, ..., sfe2] = TS (skv a2) и т. д. Обобщенная функция перехода состояний — это такая функция М*: S X 2* -> 5, что М* (s, т) совпадает с последним состоянием последовательности TS (s, т). В вырожденном случае, когда т = Л, мы полагаем TS (s, Л) = [Л] и М* (s, Л) = s. Начальным состоянием компьютера называют некоторый выбранный элемент s0 множества S. Мы будем использовать сокращенную запись s (т) вместо М* (s0,t) —состояние компьютера после считывания ленты т, если в начале считывания компьютер находился в состоянии s0. Таким образом, TS (s0, т) = [si4 s2, • • • • • ., s (т)] есть полная «траектория» вычисления, совершаемого компьютером до момента считывания всей ленты т. Компьютер порождает выходную ленту F (s0) F (s^) ... F (s (т)). Итак, в самом общем смысле компьютер является преобразователем, осуществляющим отображение множества 2* в Y*. Мы пожертвуем некоторой общностью, сведя множество выходных 19*
292 С. Коул символов Г компьютера к алфавиту {0, 1} и предположив функции F и I такими, что F (s0) ^Ли, если / (s) = ДА, то F (s) Ф Ф Л. Если F (s (т)) = 1, то мы будем говорить, что лента т допущена компьютером, а если F (s (%)) = 0, то лента отвергнута. Таким образом, каждому собственному компьютеру Г соответствует множество лент, которые он допускает; это множество обозначается через Т (Г). Если А —класс компьютеров, то Т (А) обозначает класс {Т (Г) | Г 6 Л}- С помощью этого соответствия между множествами лент и собственными компьютерами можно сравнивать вычислительные возможности различных классов собственных компьютеров. Говорят, что класс собственных компьютеров А сильнее (мощнее) класса 38 (и пишут А > 98), если Т (A) zd T {38). Говорят, что класс S не слабее класса 98 (и пишут А ^ 98), если Т (А) з 3 Т (98). Класс А называют эквивалентным классу 98 (и обозначают А = 98), если Т (А) = Т (98). Наконец, классы Jk и 98 называют несравнимыми, если не выполняется ни Т (А) 3 Т (98), ни Т (98) з Т (А)- Эта терминология согласуется с интуитивными представлениями; например, если класс А не слабее класса 98, то для каждой вычислительной возможности любого компьютера из 98 можно найти подобную возможность (в тех же характеристиках «вход-выход») для некоторого компьютера из А. В тех случаях, когда возможны разночтения, мы будем снабжать обозначения функций данного компьютера его обозначением Г. Например, если рассматриваются два компьютера Г и Д, то TSr (s, а) обозначает переходную последовательность компьютера Г. 3. Детерминированные автоматы с магазинной памятью и их нормальная форма ДМП-автомат состоит из обрабатывающего устройства с конечным числом состояний, называемого головкой считывания-записи, и неограниченного носителя памяти, называемого магазином; магазин хранит элементы, называемые магазинными символами. Формально ДМП-автоматом называется набор из девяти компонент Г = (2, Л р0, <?, <70, 6i, б2, /, F). Внешний входной алфавит 2, множество Р магазинных символов и множество Q состояний головки все конечны. Множеством состояний ДМП-автомата называется множество ST = {pQ . . . Phq | р, £ Р (0 < i < /с), q e <?}• Направление слева направо в строчке р0 . . . ph соответствует направлению снизу вверх в магазине, так что ph — самый верхний
Детерминированные автоматы с магазинной памятью 293 символ, т. е. символ, обозреваемый головкой. Символ q обозначает текущее состояние головки. Переходы состояний ДМП-автомата определяются функциями изменения 8,: Р х Q х 2 -> PQ U <?, б2: Р х Q х 2 -> {-1, 0, 1}. Значение функции 82 указывает изменение длины магазина: если это значение равно 1, то к магазину добавляется еще один символ, если значение равно 0, то длина магазина не меняется, и если значение равно —1, то один символ стирается. Мы потребуем, чтобы было 8{ (р, q, о) 6 Q тогда и только тогда, когда б2(р, д, о)=—1. Функция перехода состояний ДМП-автомата определяется формулой М (р0 ... phq, о) = _ ( Ро ••• Pk-iPk&i(Pk q, or), если Ь2{Рп, q, cr)=l, — 1 ро ... Pk-A(Pk, 3, G) B противном случае. Для того чтобы воспрепятствовать полному очищению магазина, достаточно потребовать, чтобы самый нижний символ магазина был всегда одним и тем же символом р0 (р0 6 Р)- Это гарантируется выполнением следующего условия, наложенного на функции Si ил52: для любого q £ Q и любого а 6 2 либо б2 {р0, q, а) = 1' либо 6i (р0, с/, а) 6 {р0} Q. (Последнее влечет б2 (р0, 3, су) ^= —1.) Начальное состояние ДМП-автомата есть p0qo, где q0 £ <?• Функция считывания ДМП-автомата определяется функцией /: <?->{ДА, НЕТ}; выходная функция определяется функцией F: Q -> {0, 1, Л}. Для любого состояния s = р0 . . . pkq нз £г мы полагаем /г (s) = I (q) и FT (s) = F (q). Ясно, что множество состояний ДМП-автомата счетно, а его функция перехода состояний и функция считывания вычислимы. Следовательно, ДМП-автомат является компьютером. В этой статье мы будем рассматривать только собственные ДМП-автома- ты, причем слово «собственный» ради краткости будем опускать. Класс всех ДМП-автоматов обозначим через <£Р. В данном выше определении ДМП-автомата заключена определенная гибкость: на это определение можно наложить значительные ограничения, не сокращая в то же время вычислительную мощность. Первоначальное определение удобно для построения конкретных ДМП-автоматов, совершающих заданные вычисления; ограничения же удобны для выявления границ вычислительной мощности ДМП-автоматов. Именно для этого мы введем класс «нормальных» ДМП-автоматов и покажем, что этот класс эквивалентен классу всех ДМП-автоматов.
294 С. Коул Рассмотрим переходную последовательность TS (s, т) = = [s{, . . ., sk] какой-либо пары (s, т) некоторого ДМП-автомата. Пусть inf (s, т) обозначает кратчайшую из длин состояний переходной последовательности и состояния s: inf (s, т) = min {L (s), L (s4), . . ., L (sk)}. В частности, когда лента т состоит из одного символа а, определим первый минимизирующий индекс FM (s, а) и последний минимизирующий индекс LM (s,g) пары (s, а), положив {О, если L(s) = inf(s, a), mm {] [ L (s/) = inf (s, a)} в противном случае; (О, если {/ [ L (s, a) = = inf(s, a)} = 0, max{/|L(s;) = inf (s, а)} в противном случае. Переходная последовательность TS (s, a) называется нормальной, если (а) / = FM (s, a) > к - 2, (б) L (8) > L (в1) > . . . > L (*,), (в) L Ы < inf (s, a) + 1. ДМП-автомат называется нормальным, если нормальна переходная последовательность каждой тшры (s, a) (s £ Sr, a 6 2). Для облегчения ссылок на некоторые действия ДМП-автомата Г введем следующую терминологию. Рассмотрим упорядоченную пару (г, а), где а —входной символ и г —верхняя часть pt . . . . . . phq некоторого состояния s = р0 . . . pt . . . phq ДМП-автомата Г. Пара (г, а) может быть одного из трех типов, исключающих друг друга. (1) Пара (г, а) имеет Г-ттштг 1, еслирг- . . . ph =^=AhLM(s, a) = = 0. Другими словами, автомат Г начинает переходную последовательность TS (s, a), добавляя символ на верх магазина, и ни разу не возвращается к обозреванию символа ph во время прохождения всей последовательности TS (s, a). (2) Пара (г, а) имеет Т-тип 2, если pt . . . ph Ф Л и автомат Г удаляет самый нижний символ pt части г разве лишь па последнем шаге переходной последовательности; при этом если Г не удаляет Pi, то (г, а) не имеет Г-типа 1. (3) Пара (г, а) имеет Т-тип 3, если либо pt . . . /?71 — Л, либо автомат Г удаляет символ pt на некотором шаге, не являющемся последним шагом переходной последовательности TS (s, о). Другими словами, действия головки автомата Г на заключительных шагах переходной последовательности, вообще говоря, не могут быть однозначно определены информацией, содержащейся
Детерминированные автоматы с магазинной памятью 295 в (г, а), так как эти действия зависят от магазинных символов, лежащих ниже г. Ясно, что часть р0 . . . pi-i для выяснения типа пары (г, а) не существенна. Следовательно, данные выше определения типов корректны. Если пара (г, а) имеет Г-тип 1 или Г-тип 2, то последнее состояние sk в переходной последовательности TS (s, а) можно представить в виде р0 . . . р,-_4 . . . p7-pj+i . . . p'j+mq' (i —1</^Л). Другими словами, оставшаяся без изменения часть р0 . . . р^ . . . р7- включает в себя все символы магазина, лежащие ниже г. Определим Т-резулыпат Лг (г, а) пары (г, а), положив его равным Pi • • • PjPi+i • • • P'j+mq' (верхней части состояния М* (s, а)), если пара имеет Г-тип 1 или Г-тип 2; если же пара (г, о) имеет Г-тип 3, то в случае рг- ... ph = Л положим Rr (r, a) = g, ав случае pi ... р}1фА положим Rr(r, в) равным состоянию q', в которое переходит головка автомата Г сразу же после удаления символа pi. В дальнейшем будут полезны еще два определения. Если пара {г, а) имеет Г-тип 1, то очевидно, что Rr (г, а) = pi ... PhPh+i . . . p'h+mq', т. е. ни один из магазинных символов в г не изменен. Для пары (г, а), имеющей Г-тип 1, определим Т-остаток Z? (г, а), положив его равным p^_|_i . . . p'h+mq'. Пусть (г, а) имеет Г-тип 2 и TS(s, a) = [s1? . .., 5ft], d = LM(s, а). Тогда состояние sd представляется в виде р0 . . . рг-_4 . . . pj-q' (i — 1</^Л) либо в виде р0 . .. P*-i ••• PjP'j+iq\ т- е- ни один из магазинных символов в sd не изменен, за исключением, быть может, самого верхнего символа. Для пары (г, а), имеющей Г-тип 2, определим частичный Г-результат КГ (г, а), положив его равным верхней части состояния sd за вычетом р0 .. . р^, а. с. равным pi ... p7g' либо рг- ... PiPj+iq'. Заметим, что если Кг (г, о)фНГ(г, а), то пара (Кг (г, а), а) имеет Г-тип 1. Как и раньше, часть р0 . .. рг-1 не оказывает влияния ни на Г-резуль- тат, пи на Г-остаток, ни на частичный Г-результат. Следовательно, данные выше определения корректны. Теорема 1. Для каждого ДМП-автомата Г существует такой нормальный ДМП-автомат Д, что Т(Т)=Т(А). Доказательство. Пусть Г = (S, P, р0, Q, q0, 6t, б2, /, F). Рассмотрим множество всех пар (рд, а), имеющих Г-тип 1. Если это множество пусто, положим т = 2\ в противном случае положим ro = max{L(Zr(p<7, а))|р€Л ?€<?, о~€2}. Ясно, что т>2.
296 С. Коул Пусть А =(2, Р', р'0, Q, q0, 8[, б;, /, F), где Р', р'0, о[ и б; задаются следующим образом: Р' = Р [} Р2 [} . . . U Рт г), р'0 — строчка, состоящая из одного символа р0, и для любых П£Р'9 ?€<?, ^€2 {ZT(Uq, а), если (Uq, а) имеет Г-тип 1; Кг (Uq, а), если (Uq, а) имеет Г-тип 2; Rr (Uq, а), если (Пд, а) имеет Г-тип 3; {1, если (Uq, а) имеет Г-тип 1; О, если (Uq, а) имеет Г-тип 2 иЬ(Кг(Пд, а))>1; — 1 в остальных случаях. Нетрудно видеть, что Д есть ДМП-автомат, и он допускает те же ленты, что и Г. Осталось показать, что ДМП-автомат Д нормальный. Пусть s—любое состояние ДМП-автомата Д, последними двумя символами являются Uq, и пусть TS (s, о) = [su . . ., sh]. (1) Если б;(П, q, <т) = 1, то й=1. В самом деле, если б^П, q, o) = l, то пара (Uq, а) имеет Г-тип 1, и, следовательно, 6^ (П, q, a) = ZT(Uq, а). Пусть q'— последний символ строчкиZAUq, а). Тогда очевидно, что I^(s{) = = /(д') = ДА. (2) Если 6g(n, q, o) = 0, то к = \ или к = 2. При этом если к = 2, то o'2(IV,q', о) = 1, где Urqr — последние два символа состояния $!• В самом деле, если б2 (П, q, о) = 0, то Wq = ifr (Пд, а). Далее, если / (#') = ДА, то s4 — последнее состояние в переходной последовательности автомата Д, т. е. к = 1; в противном случае Кг (Uq, g) ФЯГ (Uq, а). Следовательно, пара (Кт (Uq, а), а) имеет Г-тип 1, и поэтому б2 (П', q', а) = 1. В силу (1) состояние s2 — последнее в переходной последовательности TS^ (s, о). (3) Для любой пары (s, о) переходная последовательность ТЯд (s, о) = [$!, . . ., sj нормальна. Если /с ^ 2, то автоматически / = FM^ (s, о) ^ к — 2. Если А > 2 и / < /с — 2, то в силу (1) и (2) при переходе от s7- к Sj+l *) Таким образом, магазинными символами автомата Д являются все непустые строчки символов из Р, имеющие длину <т. Нужно отличать строчку ЩЩ . . . Un символов из Р' от строчки, которая получается конкатенацией строчек 111, П2, . . ., Пп. В определении 6{ (П, q, о), например, Z (Uq, а) обозначает строчку из двух символов: некоторого символа из Р' и некоторого символа из Q. В то же время в паре (Uq, о) первая компонента Uq рассматривается как строчка символов из Р, к которой присоединен символ из Q.— Прим. перев.
Детерминированные автоматы с магазинной памятью 297 должно быть 6g = —1. Отсюда L (sj) > L {sj+i). Последнее неравенство противоречит тому, что / = FMA (s, а). Далее, если У = 0, то утверждение «L (s) > L (s^ > . . . > L (sj)» верно, так как оно бессодержательно. Если / > 0 и L (s) < L (s^, то в силу (1) и (2) к = 1 или к = 2 и L (s) ^ L (s^) < L (s2). Следовательно, /' = 0. Полученное противоречие доказывает, что L (s) > L (s^). Аналогично доказывается, что L (st) > L (si+l) для каждого i = = 1, . . ., / —1. Неравенство L (sk) ^ 1 + inf (s, а) непосредственно следует из (1) и (2). Итак, мы указали способ, позволяющий по любому данному ДМП-автомату Г строить нормальный ДМП-автомат А, допускающий то же множество лент, что и Г. Автомат А называется нормальной формой автомата Г. Следствие 1. Класс ДМП-автоматов эквивалентен классу нормальных J\MH-aemoMamoe. 4. Непредставимость в классе ДМП-автоматов Для того чтобы доказать, что данное множество лент допускается некоторым ДМП-автоматом, достаточно построить какой- либо конкретный ДМП-автомат, допускающий это множество лент. Однако если множество лент не допускается никаким ДМП-автоматом, то доказательство этого факта не будет, вообще говоря, столь непосредственным. Проблема непредставимости (т. е. доказательство того, что данное множество лент не может быть допущено ни одним автоматом из данного класса автоматов) отнюдь не специфична для ДМП-автоматов. Для доказательства регулярности данного множества лент достаточно построить конечный автомат, но требуется более тонкая техника, такая, как теорема Нероуда [8] и лемма о взаимозамещаемости [8], чтобы доказать, что данное множество лент не регулярно. Легко построить машину Тьюринга для вычислимой функции, но доказательство иевычислимости функции использует тонкое рассуждение [3]. Для того чтобы получить инструмент для доказательства пепредставимости в реальное время в классе «.-мерных итеративных автоматов, было доказано обобщение теоремы Нероуда 1). Другое обобщение этой теоремы, сформулированное в настоящем разделе, мы используем для решения проблемы непредставимости в классе ДМП-автоматов. Огден [7] показал, что обобщение леммы о взаимозамещаемости также дает мощный метод для решения проблемы непредставимости как в классе детерминированных, так и в классе недетерминированных автоматов с магазинной памятью. х) См. теорему 9 в [2, стр. 361].
298 С. Коул Состояние s ДМП-автомата Г назовем примитивным, если inf (s, т) > L (s) — 2 для любой ленты т. Очевидно, что состояния p0q и PoPiq примитивны. Лемма 1. Пусть дан произвольный нормальный J\MU-aemo- мат с входным алфавитом 2. Для любой ленты т £ 2 * существует такая лента ф £ 2*, что состояние s (тф) примитивно. Доказательство. Если состояние s (т) примитивно, то в качестве ф можно взять пустую ленту Л. В противном случае существует такая лента ty из 2*, что inf (s(t), г|>)<£ Мт)) -2. Пусть г|)! — лента наименьшей длины, обладающая этим свойством; другими словами, гр± = а4 ... ат и |w = inf (s (та4 . . . am-i), am) < L (s (t)) — 2. Но в силу нормальности L (s (тф4)) ^ |ы +1, и, следовательно, L ИтфОХ L (s (т)) -1. Если состояние s (x\pi) примитивно, то полагаем ф — г^. В противном случае можно найти подобным образом такую ленту г|ь, что L (5 (тф!1|>2)) ^ L (s (тф4)) - 1 < L (s (т)) - 2. Так как каждый раз мы получаем состояние меньшей длины и так как любое состояние вида p0piq примитивно, то мы в конце концов придем к такой ленте г^ . . . г|)г, что состояние s (тл^ . . . г|)г-) примитивно. Таким образом, в качестве ф можно взять я)^ . . . фг-. На множестве всех состояний ДМП-автомата зададим бинарное mm, ., отношение ~, положив s ~ s тогда и только тогда, когда либо (1) s = s', либо (2) s = Пр, s' = П'р и L (р) = т. Ясно, что для любого т отношение ~ есть отношение эквивалентности с конечным числом классов эквивалентности. з Лемма 2. Если состояния s и s' примитивны и s ~ s', mo M* (s, т) ~ Tkf* (s', т) для любой ленты т. Доказательство. Так как s и s' примитивны, то inf (s, т) > L (s) - 2, inf (s', т) > L (*') - 2. з Поэтому если s ~ s', то в течение TS (s, т) головка автомата ведет себя так же, как в течение TS (s', т). Следовательно, состояние головки в М* (s, т) совпадает с состоянием головки в М* (s', т). Пусть 2 —конечный алфавит, U —множество лент в 2* и Е: 2* -> 2* —произвольная функция. Бинарное отношение
Детерминированные автоматы с магазинной памятью 299 Е называется Е-конгруэнцией относительно £/, если оно задается такими парами (т, т'), rf 2*, т' f 2*, что для любой ленты г|) из 2* %Е{%) \\) 6 U тогда и только тогда, когда %'Е (т') я|? £ С/. Ясно, что ^-конгруэнция есть отношение эквивалентности. Если число классов эквивалентности конечно, то говорят, что Z?-koh- груэнция имеет конечный индекс. Теорема 21). Если множество лент U допускается ДМИ-автоматом с входным алфавитом 2, то существует такое отображение Е: 2*-> 2*, что Е-конгруэнция относительно U имеет конечный индекс. Доказательство. Согласно теореме 1, существует нормальный ДМП-автомат, допускающий множество U. Определим функцию Е так, чтобы для любой ленты т 6 2* состояние s (xE (т)) было примитивным. Существование такой функции следует из леммы 1. Пусть число классов эквивалентности по отношению^ равно п. Теорема будет доказана, если мы покажем, что существует не более п лент, из которых никакие две не ^-конгруэнтны. Предположим, что таких лент п + 1, а именно т4, т2, ... з « . ., тп+1. Так как классов эквивалентности по ~ всего п, то хотя бы два состояния из s (т{ Е(%{)), s (т2 £'(т2)), . . . . . ., s (тЛ+1 £(тп+1)) принадлежат одному классу эквивалентности. Пусть это будут состояния та и хъ. Таким образом, з s (%а E(xa)) ~ s (%ъ Е(хъ)) и оба эти состояния примитивны. В силу леммы 2 отсюда вытекает, что ленты та и ть ^-конгруэнтны. Это противоречие доказывает теорему. Обращение теоремы 2 является интересной гипотезой (впрочем, возможно, и ложной). Очень правдоподобно, что на функцию Е нужно наложить некоторые ограничения, например потребовать ее вычислимость. Лента т называется симметричной, если т = т. Множество всех симметричных лент дает простой пример контекстно-свободного языка, допускаемого в реальное время одномерным итеративным автоматом [2]. В работе [1] показано, что множество симметричных лент не допускается никаким ДМП-автоматом. Более простое доказательство вытекает из теоремы 2. х) Автор обязан Арнольду Розенбергу за совет придать этой теореме указанную форму.
300 С. Еоул Следствие 21). Множество симметричных лент в любом алфавите, содержащем не менее двух символов, не допускается никаким ДМП-автоматом. Доказательство. По теореме 2, если множество U симметричных лент допускается ДМП-автоматом, то существует такая функция Е: 2* -> 2*, что ^-конгруэнция относительно U имеет конечный индекс. Пусть п —число классов ^-конгруэнции. Так как алфавит 2 содержит хотя бы два символа, то найдутся различные ленты т4, т2, . . ., тп+1 одной и той же длины. Следовательно, существуют такие индексы а и Ъ, что ленты та и %ь Е-коп- груэнтны. Заметим теперь, что лента %аЕ (та) Е (та) та симметрична. В силу ^-конгруэнтности тогда и лента хъЕ (%ь) Е (та) та симметрична, а это противоречит тому, что та и ть различны. Следствие 3. Класс множеств лент, допускаемых ДМП-яв- томатами, является собственным подклассом класса контекстно- свободных языков. 5. Автоматы с магазинной памятью и п -мерные итеративные автоматы Одномерный итеративный автомат (сокращенно Ш-автомат) представляет собой бесконечную последовательность . . ., Г_2, Г_1, Г0, Гь Г2, ... конечных автоматов (ячеек), соединенных Внешний выход 1 1 -* _£._ ^ «« JL ^0 * ^ ri ^ ^ h Внешний вход Р и с. 1. Одномерный итеративный автомат. так, как показано на рис. 1. Все ячейки, кроме ячейки Г0, идентичны. 1И-автомат синхронизован, так что все переходы состояний всех ячеек совершаются одновременно. Следующее состояние ячейки Tt (i ф0) есть функция текущего ее состояния и текущих состояний ячеек Гг_4 и Гг+1. Следующее состояние ячейки Га есть функция внешнего входного сигнала и текущих состояний г) Первоначальное доказательство в [1] включало доказательство теоремы 2. Другое доказательство приведено в работе [5, стр. 640].
Детерминированные автоматы с магазинной памятью 301 ячеек Г_!, Г0 и Г4. Внешний выходной сигнал есть функция текущего состояния ячейки Г0. В число состояний этих ячеек входит особое состояние q (состояние покоя), обладающее следующим свойством: если ячейки Гг-_l9 Tt и Ti+i (i ф0) находятся в состоянии q, то следующее состояние ячейки Гг- будет также q. Начальное состояние каждой ячейки есть q. Ясно, что благодаря этому ограничению в 1И-автомате после получения любой конечной входной ленты только конечное число ячеек будет находиться в состояниях, отличных от q. Следовательно, если состоянием 1И-автомата считать совокупность состояний всех его ячеек, то число состояний 1И-автомата, достижимых из начального состояния (т. е. когда все ячейки находятся в состоянии q), счетно. Очевидно, что функция перехода состояний 1И-автомата вычислима. Функция считывания полагается постоянной функцией со значением ДА. Таким образом, 1И-автомат является компьютером. Обобщение приведенного выше определения на случай «.-мерной системы конечных автоматов («-мерный итеративный автомат, сокращенно тгИ-автомат) дано в [1] и [2]. Класс тгИ-автоматов обозначается через 3)п. Один из полученных ранее результатов заключается в том, что 3)п+1 > 3)п для любого п. Для доказательства этого мы строили такую последовательность множеств лент Хп, что Хп 6 Т {3)п+\) я Хп^Т (3)п)> Как мы увидим дальше, каждое множество Хп принадлежит также и Т (<^). Множество Х{ состоит из всех лент в алфавите {0, 1, с, d}*, имеющих вид TiCT2c . . . сх,ш(1с\' (1 ^ m << оо, 0 ^ J ^ m), гдет, 6{0, 1}*, %i фА (1 <*<т), т/ фА, хтЧ 6 {0, 1}* {?}. ДМП-автомат, допускающий множество Хи действует следующим образом. До тех пор пока не получен входной сигнал d, происходит запоминание входной последовательности в магазине. Для каждого полученного далее символа с из магазина удаляются символы, пока головка ДМП-автомата не обнаруживает символ с, который также удаляется. Наконец, поступающие входные символы сравниваются с символами магазина, и если они соответственно совпадают, то ДМП-автомат порождает выход 1. Ошибки формата во входной ленте заставляют головку входить в специальное состояние, выход которого есть 0 (примеры ошибок: получены подряд два символа с, прежде чем поступит символ d; более одного символа d появилось на входной ленте и т. п.). Множество Х2 —это простое обобщение множества Х4; оно состоит из всех лент в алфавите {0, 1, си с2, d}*, имеющих вид Ф1^2ф2^2 • • • C2(pmdc^c[i%' (1^7И< оо).
302 С. Коул Каждое фг есть непустая лента вида Ta^iT^i . . • CiT^., причем Л фхц 6 {0, 1}*. Пусть, в частности, фт-<7-2 = т^т^ч • • • ci^k- Тогда т/ Ф Л и Xh-h 6 {0, 1}* {t}- Пример ленты из Х2 показан на рис. 5. ДМП-автомат, допускающий множество Х2, действует следующим образом. До тех пор пока не получен символ d, происходит запоминание входной ленты в магазине. При поступлении далее каждого символа с2 из магазина удаляются символы, пока не обнаруживается символ с2, который также удаляется. После того как лента с{2 будет считана, из магазина будет удалено /2 символов с2 и головка ДМП-автомата будет обозревать последний символ /2-й строчки фт-;2 (считая сверху вниз в магазине от символа d). Для каждого полученного далее символа ci головка удаляет символы из магазина, пока не обнаруживается символ сь который также удаляется. После того как лента с{1 будет считана, из магазина будет удалено /i символов с{ и головка будет обозревать последний символ /гй строчки т^_;1 (считая сверху вниз от фт-7-2)- Наконец, получаемые далее входные символы сравниваются с символами магазина, и если они совпадают, то автомат порождает выход 1. Ошибки формата переводят головку в специальное состояние с выходом 0. Множество Хп для п > 2 определяется как непосредственное обобщение множеств Х\ и Х2. Подробно множества Хп описаны в работах [1] и [2]. Более компактно Хп можно описать как контекстно-свободный язык, порождаемый следующей грамматикой. Полный алфавит грамматики есть {S,Ai,Bu . . ., Вп, Du . . ., Dn, 0, 1, си . . ., сп, d}, причем 0, 1, Ci, . . ., сп, d —терминальные символы, a S — начальный символ. Список продукций грамматики таков: S -> BiS, S ->- BtCiS (i = 1, . . ., и), S-+0A0, S-+1A1, А-+0А0, 4->L41, A-+Du Dt-*- CiBiDiCt (i = 1, . . ., n), Di->Di+i (i = 1, . . ., n -1), Bt -> Bi-iCt-iBi (i = 2, . . ., n), Bt-^Bt-i (i = 2, . . ., и), B\ —> BiBi, B\ —>- 0, Вi —>- 1, Dn^d. Нетрудно видеть, что для каждого п существует такой ДМП- автомат Г, что Т (Г) = Хп. Это утверждение вместе с результатом,
Детерминированные автоматы с магазинной памятью 303- содержащимся в [2], можно сформулировать в виде следующей теоремы. Теорема 3. Для каждого целого числа п существует такое множество лепт Хп, что Хп £ Т (<2>n+i), Хп £ Т (#*), Хп $ Т (Э)п). Из теоремы 3 вытекает, что 3)п < & для каждого п. В то же время существует ?гИ-автомат, допускающий множество симметричных лент, так как S)n > 3V Таким образом, 3)п и оР несравнимы для каждого п. Естественно возникает вопрос: являются ли оо несравнимыми также и классы оР и U 3)п? Как мы увидим ниже, 71=1 ответ на этот вопрос довольно неожиданный: нет. На самом деле оо U 3)п > $*• Этот факт доказывается в следующих разделах. п=1 6. Вычисления в реальное время и табуляторные автоматы ДМП-автоматом, вычисляющим в реальное время, называется ДМП-автомат, у которого функция считывания постоянна п принимает значение ДА. Существенное ограничение состоит в том, что при получении очередного входного символа головка может совершать только один шаг вычисления. Нижними индексами г и s мы будем отмечать ограничения соответственно реальыога и полуреального времени. Ранее было доказано, что 3)\ > $Pr *). Из теоремы 3 вытекает, что $Р > SPr, так как Xi $ Т {3)х) и, следовательно, Xi $ Т {£РГ). Исследование структуры переходной последовательности нормального ДМП-автомата показывает, что если длина последовательности к больше 2, то на первых к — 2 шагах вычисления происходит стирание магазинных символов. Это обстоятельство наводит на мысль, что можно было бы ускорить работу ДМП-автомата, предусмотрев возможность стирания за один шаг произвольно больших кусков магазина. Место в магазине, до которого нужно произвести стирание, следует указывать маркером, связанным с магазинным символом. Установка за один шаг головки ДМП- автомата в нужную позицию напоминает установку каретки пишущей машинки при нажатии кнопки табулятора. Поэтому мы будем называть такого рода вычислительный автомат табу- ляторным автоматом. Табуляторный автомат имеет вместо последовательного поиска прямой доступ, который обеспечивается техникой ассоциативного поиска. Табуляторный автомат — это набор из 10 компонент Г = (2, Р, р0, <?, д0, А0, б1? 82, /, F). г) 1И-автомат может даже моделировать любой автомат с п магазинами,, вычисляющий в реальное время. См. [1, стр. 5-30 — 5-32].
304 С. Коул Входной алфавит 2, множество магазинных символов Р, множество Q состояний головки и множество тебов А0 конечны. Множество Л0 не пересекается с {—1, 0, 1}. Множеством S состояний табуляторного автомата является {(р0,Л0). . . (рй, Ak) q \Pt£P, AtczA0(l <*<&), g 6 <?, 0<&< oo}. Для любого состояния s из S, любого места j (0 ^ j^ L (s) — 2) в магазине и любого теба Ъ £ А0 обозначим через К (s, Ъ, j) место в магазине, где расположено самое верхнее, по не выше /, вхождение в s теба Ъ\ Ъ 6 АН8, ъ, j), Ъ 4 AU8t ъ, j)+i U • • • U Aj. В частности, если j = L (s) —2, то A, (s, Ъ, L (s) —2) будем записывать сокращенно X (s, Ъ). Так как самая нижняя позиция магазина всегда содержит множество тебов А0, то функция К всюду определена. Функция переходов табуляторного автомата определяется функциями изменения б4: Px2Aox<2x2-^(Px2Ao)<?U<?, б2: Px2Aox(?x2»4oU{-l, 0, 1}, где 2Ао —множество всех подмножеств множества А0. Мы потребуем, чтобы было б4 (р, A, q, о) £ Q тогда и только тогда, когда б2(р, A, q, о) еА0 U {-1}. Пусть s = (р0, Л о) • • • (р*п Лй) # —состояние табуляторного автомата Г, а —входной символ, г = 5t (/?&, ЛЛ, #> а) и Ъ = = б2 (р&, Лй, б/, а). Функция перехода состояний табуляторного автомата задается формулой {(р0, Л) ... (Рл, Ak)r, если 6 = 1; (Ро, Л0) ... (Pft-i, ЛЛ_4)г, если Ь6{ —1, 0}: (Ро, Л0) ... (Рм«,ь), ЛМ8|ь))г, если 66Л- Для того чтобы воспрепятствовать полному очищению магазина, достаточно потребовать, чтобы самая нижняя позиция магазина всегда содержала (р0, А0). Это гарантируется выполнением следующего условия: б2 (Ро» А о, б/, а) £ Л о U {1} либо 6i (р0, 40, д, а) £ {(р0, Л0)} £ для любого q ш Q и любого а из 2 и, значит, б2 (р0, AQ,q, а) =£ Начальное состояние табуляторного автомата есть (р0, А 0) б/0, где q0 £ (9. Функция считывания определяется функцией I: Q-+■ {ДА, НЕТ}, а функция выходов —функцией F: Q -> -> {0, 1, Л}. Для любого состояния s = (ро, А0) . . . (p7i, Л&) б/
Детерминированные автоматы с магазинной памятью 305 из Sv положим /г (s) = I (q) и Fv (s) = F (q). Ясно, что множество состояний табуляторного автомата счетно, а функция перехода его состояний вычислима. Поэтому табуляторпый автомат является компьютером. Мы ограничимся рассмотрением собственных табуляторных автоматов, опуская ради краткости слово «собственный». Класс табуляторных автоматов обозначим через J. Нетрудно видеть, что табуляторпый автомат (если не налагать никаких ограничений на время вычисления) может выполнять те же вычисления, что и ДМП-автомат. Однако если на оба типа автоматов наложить ограничение реального времени, то можно ожидать, что табуляторные автоматы будут иметь большую вычислительную мощность по сравнению с ДМП-автоматами. Это действительно так: Jr = ffi, т. е. добавление ограничения реального времени не уменьшает вычислительной мощности табуляторных автоматов. Для доказательства этого утверждения построим для каждого ДМП-автомата табуляторный автомат, моделирующий его в реальное время. Пусть задан произвольный ДМП-автомат Г = (2, Л р0, <?, д0ч б4, б2, /, F). Обозначим через А табуляторный автомат, который мы собираемся построить. В силу теоремы 1 можно предполагать, что Г — нормальный ДМП-автомат. В конструкции табуляторного автомата Д мы будем использовать то обстоятельство, что Г действует подобно конечному автомату, когда стирает магазинные символы: внешний входной символ остается неизменным, а магазин служит как бы входной лептой. Выходными символами конечного автомата являются два символа: (1) «продолжать стирание» и (2) «прекратить стирание». Кроме того, результат действия этого конечного автомата можно предсказать, так как символы магазина стираются в порядке, обратном тому, как они заносились в магазин, а распознавание обращенной входной ленты не составляет трудности для конечного автомата. Определим табуляторный автомат Д следующим образом: Д = (2, Р', р'0, <?', д0, А0, б;, 62', /', F'), где Q' ~ ({A} U P U Р2) Q, т. е. состояниями головки автомата Д служат состояния головки автомата Г вместе с 0, 1 или 2 магазинными символами автомата Г. Остальные компоненты автомата Д определены ниже. Для произвольного щ из Q' (я £ ({Л} U P 'U Р2), q£Q) положим /' (nq) = ДА и F' {щ) = F (q). Зададим А0 = {а0, . . . ,ат} как множество т + 1 элементов, отличных от —1, 0 и 1, где т равно произведению количеств элементов в Q и S. Обозначим через С функцию выбора, ставящую в соответствие каждому непустому подмножеству А множества Л0 элемент из А, имеющий
306 С. Roy л наименьший индекс. Например, С ({а4, аг, ai}) = аг- Множество Р' состоит из упорядоченных пар (t, £) функций t: Q X 2 -* А0 и £: Q X S -> @'. Эти функции используются так: пусть 5 — состояние автомата Д, г — состояние его головки и а — внешний входной символ. Головка автомата Д определяет сначала Г-тип пары (г, а). Если пара (г, а) имеет Г-тип 3, то Rv (г, а) есть некоторое состояние q из Q. В этом случае головка автомата Д передвигается в позицию X (s, t (q, а)), принимая состояние £ (д, а). Для того чтобы автомат Д правильно моделировал в этой ситуации автомат Г, нужно, чтобы позиция X (s, I (q, о)) совпадала с той позицией в магазине Г, где остановилась головка Гг закончив стирание магазинных символов, и чтобы £ (q, а) включало в себя состояние головки Г, магазинный символ в позиции, где остановилась головка, а также, возможно, магазинный символ, если он был дописан в конце переходной последовательности. Наибольшее число позиций остановки головки равно числу т различных упорядоченных пар (q, а). На каждую из этих позиций расходуется один теб и еще один теб используется для самой нижней позиции магазина. Положим р'0 = (t0, l0), где t0 (q, a) = = а0 (тождественно), a £0 (q, а) определяется уравнением #г (РоЯ, о) = polo (q, а). (Заметим, что £0 (г/, а) £ Q в силу нормальности автомата Г.) Рассмотрим ситуацию, когда автомат Г добавляет символ на верх своего магазина. Автомат Д моделирует эту ситуацию добавлением некоторого магазинного символа, представляющего собой пару, составленную из новых вариантов функций t и £. Пусть (t, l) и Ь обозначают соответственно магазинный символ и теб, записанные в самой верхней позиции магазина автомата Д. (За исключением самой нижней позиции, магазин автомата Д в каждой своей позиции содержит только один теб.) Пусть р — символ, добавляемый головкой автомата Г па верх магазина. Обозначим через (tf, ?') и Ъ' магазинный символ и теб, добавляемые па верх магазина автомата Д. Отображение «обновления» (/, £, Ъ, р)-^(£', £', Ъ'), обозначаемое через U, определяется формулами {Ъ, если (pq, о) имеет Г-тип 1 или Г-тип 2, t(Rr{pq, or), от), если (pq, о) имеет Г-тип 3; {Rr(pq, °~)> если (pq, а) имеет Г-тип 1 или Г-тип 2, l(Rr(PQj a)i а)> если (pq, о) имеет Г-тип 3; Ь' = С (А0\{ множество значений функции*'}).
Детерминированные автоматы с магазинной памятью 307 Заметим, что (1) Rr (pq, a) £ Q, когда пара (pq, а) имеет Г-тип 3; (2) Rr (pq, а) £ Q'•> поскольку автомат Г нормален; (3) множество А0\{множество значений функции t'} непусто, так как множество значений функции t' содержит не более т элементов. Таким образом, данные выше определения корректны. Опишем теперь подробно функции 6^ и б^. Пусть (t, |), A, r и о —произвольные элементы множеств Р', 2А«, Q' и S соответственно. Заметим, что так как автомат Г нормален и 1 ^ L (г) ^ 3, то 1 < L (Дг (г, а)) < 4. 1. Если L(RT(r, а)) =4, то Дг(г, о) = рг', где р£Р и r'^G'. Тогда положим ад, |), Л, г, а) = ((*', Г), {Ь'»г'> ад, £), Л, г, а) = 1, где (*', Г, b') = U(t, I, C(A),p). 2. Если L(Rr(r, сг))^3 и пара (г, а) не имеет Г-типа 3, ПОЛОЖИЛ! ад,|),Л, г, а) = ((*, £), Л)Лг(г, а), %((t,l),A, r, а) = 0. 3. Если пара (г, а) имеет Г-тип 3, положим ад, £), Л, г, а) = 6(Дг(г, а), а), б;'((*, |), Л, г, а) = *(Яг(г, а), а). Лемма 3. Пусть т — произвольная входная лента из 2'" и 5Г(т) = ро ••• Р/?#- Тогда 5д(т) представляется одной из последовательностей (я0, -40)(Я1, Л4) ... (л*, >lfe)g, (я0, ^o)(^i, Л4) ... (як_ь A-i)(£M), (ло, А0)(пи Ах) ... (я^_2, Ak-2)(Pk-iPkq), где Л0 = {а0, . ..,ят}, -4/ = {foj} с: Л0, яо = (to, Ео) (самый нижний символ магазина Д) а яг=(^, |г) удовлетворяют следующему условию: для любых q'dQ и о £2, любой из трех указанных выше последовательностей и любой позиции j в s RT(p0 . . . pjq', о)=р0 ... Pjlj(q', а), где i = X(s, tj(q', а), /). Доказательство легко провести индукцией по длине ленты т. Основные моменты, которые надо иметь в виду: (а) если (г, а) не имеет Г-типа 3, то Rr(Po ... Риг, о)=Ро ... phRr(r, a); 20*
308 С. Коул (б) если (г, сг) имеет Г-тип 3, то Rv(Ро ... РиТ, o) = Rv(po ... phRr (г, а), а). Теорема 4. <£Р = Jr. Доказательство. Из леммы 3 вытекает, что если *г (т) = Р#» то 5а (т) = 9'щ {щ 6 (?')• Отсюда Fr (8Г (т)) = F (q) = *" (я9) = ^л (*д (т)), и Т (Г) = Г (А). Заметим, что табуляторный автомат А использует ровно один теб в каждой позиции магазина, кроме самой нижней. Табуляторный автомат, использующий в каждой своей магазинной позиции, кроме самой нижней, не более одного теба, мы будем называть 1Т-автоматом. Ограничение IT мы будем обозначать верхним индексом 1. Следствие 4. & = J = Jr = Js = J1 = Л = Л Доказательство. Эквивалентности $* = Jr = Л следуют из теоремы 4 и приведенного выше замечания. Далее, $>>J, так как ДМП-автомат может моделировать табуляторный автомат. Кроме того, из J =э Js => J г вытекает J > Js^Jr- Поэтому &>J>Js>Jr = 8b и, следовательно, &> ==J ==J8 = Jr. Аналогично & = J1 = Л = л 7. Гнездовые табуляторные автоматы и п -мерные автоматы с магазинной памятью Установление эквивалентности между классом табуляторных автоматов, вычисляющих в реальное время, и классом ДМП-авто- матов является первым шагом в доказательстве того, что всякий ДМП-автомат моделируется подходящим яИ-автоматом. Хотя вычисления на ДМП-автомате можно свести к вычислениям в реальное время, все же табуляторный автомат мало похож на итеративный автомат. Для того чтобы перекинуть мостик между этими двумя понятиями, введем ограничения па использование тебов в магазине. Следствие 4 показывает, что ограничение IT не уменьшает вычислительной мощности табуляторного автомата. С другой стороны, если данный табуляторный автомат, вычисляющий в реальное время, в определенные моменты обязан устанавливать более одного теба, то его вычислительная мощность может оказаться меньшей. Например, если каждый теб должен быть использован в каждой позиции магазина, то табуляторный автомат,
Детерминированные автоматы с магазинной памятью 309 работающий в реальное время, сводится просто к ДМП-автоматут также работающему в реальное время. В этом разделе мы будем изучать табуляторные автоматы со следующим ограничением па использование тебов: существует такой линейный порядок в множестве тебов а{ <С . . . <С ап, что табуляторный автомат использует множества В0 = 0 (пустое множество) и Bt = {а | а < at или а = at} (1 ^ i ^ /г); другими словами, множества тебов имеют гнездовую структуру В0 cz с: В[ cz . . . cz Вп. Гнездовым табуляторным автоматом называется табуляторный автомат с указанным выше ограничением на использование тебов. Это ограничение мы будем отмечать верхним индексом v. Суффикс (п) будет обозначать «имеющий не более п тебов». Например, Jvs (3) — класс всех вычисляющих в полуреальное время гнездовых табуляторных автоматов, имеющих не более трех тебов. Теорема 5. Js (ri) = J\ (ri) = Jvs(ri) для любого п. Доказательство. Ясно, что Js (ri) ^ 3vs(ri). Поэтому достаточно показать, что J\ (ri) J^ Js (ri) и У\ (ri) ^ J] (тг). Конструкция табуляторного автомата А £ J] (п), моделирующего автомат Г £ Js (ri), подобна конструкции в доказательстве теоремы 4. Из каждой позиции магазина автомата Г головка автомата А, используя установку теба, может передвигаться за один шаг самое большое в п позиций. Для каждой из этих позиций соответствующая позиция магазина автомата А содержит самое верхнее вхождение некоторого теба и функции, связывающие значения тебов автомата А с действиями головки автомата Г. Пусть Г принадлежит классу Л (ri) и его множество тебов есть {аь . . ., ап). Моделирующий его автомат А из класса Js (ri) будет иметь то же самое множество тебов. Гнездовая структура А задается множествами В0 = 0 и 5? = {а{, . . ., at) (i = 1, . . ., ri). Для того чтобы тебы во время моделирования автомата Г использовались автоматом А в нужном порядке, последний автомат заводит так называемую справочную, которая формально определяется как перестановка (Ь{, Ь2, . . ., Ьп) всех п тебов г). Теб Ьх есть просто самый верхний теб, записанный к настоящему времени в магазине автомата Г, Ъ2 — самый верхний теб из оставшихся тебов (т. е. без Ъ\) и т. д. Когда автомат Г добавляет магазинный символ /; и теб а7- на верх своего магазина, автомат А запрашивает справочную, находит теб aj в позиции справочной т (aj = bm), добавляет на верх магазина символ р и множество тебов Вгп, а затем обновляет справочную. Обновлен- х) Здесь bt обозначает образ числа i при взаимно однозначном отображении множества {1, 2, . . ., п) на {aiy я2, . . ., ап).
310 С. Коул ная справочная —это {Ъ\, . . ., Ь'п), где b'i = bm = aj1 Ь\ = Ъ^{ (i = 2, . .., тга), bi = fc»i (i = m + l, ..., л). Если Г не добавляет в свой магазин никакого теба, то А свою справочную не обновляет, т. е. Ь\ = bt (i = 1, . . ., п). Когда автомат Г передвигает головку в позицию самого верхнего вхождения теба а$, автомат А моделирует это действие так: запрашивает справочную, находит теб а7- в позиции справочной т (dj = bm) и совершает т-ю последовательность обхода, которая предписывает следующие действия: (1) найти позицию самого верхнего вхождения теба ат (в магазине автомата А), (2) удалить все тебы из этой позиции, (3) найти позицию самого верхнего вхождения теба ат_и (4) удалить все тебы из этой позиции, (2т — 1) найти позицию самого верхнего вхождения теба а{ *). На рис. 2 показано для случая п = 3 соответствие между Использование тебов в автомате Г Li °2 °2 аз °Ъ °3 °2 °2 °1 °1 а1 аг а3 аг а, °2 аз °2 а. °з 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 Использование тебов и справочной в автомате А \вз Г» а2 °з В2 а2 °1 аз бо а2 а1 аз 81 °2 fll аз й3 аз а2 °\ в1 аз а2 а1 в1 °з а2 а! 6о аз а2 а! б2 °2 аз а\ в1 а2 °3 °1 В3 Q1 о2 аз 51 а1 о2 аз в, а. °2 а3 h а2 а1 аз 6з аз °2 fll в0 аз а2 а1 ^2 а2 аз а1 вз а1 а2 аз h Ч а1 аз йз аз а2 а1 б2 а2 аз а1 fii *2 аз Я1 я2 аз а2 а1 . . . I I I I I I I I ' I I I I I I I I I I I I I I 0 1 2 3 k 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 Рис. 2. Использование справочной и тебов. использованием тебов в автомате Г и использованием тебов и справочной в автомате А. В верхней части рисунка дана произвольная расстановка тебов в магазине автомата Г. В нижней части показана соответствующая расстановка для автомата А. На диаграмме х) Таким образом, шаг работы автомата Г, состоящий в передвижении головки в позицию самого верхнего вхождения теба а7-, моделируется т шагами работы автомата А, если теб aj паходился в га-й позиции справочной. Так как т не превосходит числа п всех тебов, то автомат Д легко модифицировать так, чтобы каждому шагу работы автомата Г соответствовало ровно п шагов работы автомата А. Следовательно, если Г вычисляет в полуреальное время, то А также будет вычислять в полуреальпое время.— Прим. перев.
Детерминированные автоматы с магазинной памятью 311 не изображены магазинные символы. Числа внизу каждого из списков обозначают позиции в магазинах, начиная от 0. В позиции 0 каждый магазин содержит множество В3 всех тебов. Начальное значение справочной автомата А не существенно и выбрано так, чтобы было bt = at. Пустые клетки в позициях 2, 7 и 15 указывают на отсутствие тебов в магазине автомата Г; соответствующие позиции в магазине автомата Л также не содержат тебов, т. е. содержат пустое множество В0. Заметим, что для каждого к справочная в позиции к получена из справочной в позиции к — 1с помощью правил, указанных выше. Использование последовательностей обхода иллюстрируется следующим примером. Относительно позиции 13 самые верхние вхождения тебов bi = а2, Ъ2 = ai и Ь3 = аг в магазине автомата Г находятся соответственно в местах 13, 12 и 6. Первая последовательность обхода (определение позиции теба а{) указывает, что головка Д должна остаться в позиции 13, так как там содержится множество тебов В2 и ai £ В2. Вторая последовательность обхода указывает следующие действия: (1) определить позицию а2 —остаться в позиции 13, так как а2 £ В2; (2) удалить все тебы — записать В0 в позицию 13; (3) определить позицию ai — передвинуть головку в позицию 12, так как а{ £ Bi. Третья последовательность обхода указывает действия: (1) определить позицию а3 —передвинуть головку в 10; (2) удалить все тебы — записать В0 в 10; (3) определить позицию а2 — передвинуть головку в 8; (4) удалить все тебы — записать В0 в 8; (5) определить позицию ау — передвинуть головку в 6. Заметим, что если в последовательности обхода совершается переход к тебу, находящемуся в позиции 0, причем этот переход совершается не па последнем шаге последовательности, то операция удаления тебов будет неправильной. Для того чтобы исправить это обстоятельство, автомат А употребляет специальный магазинный символ в позиции 0, который не может быть записан в других позициях магазина. Когда головка автомата А обозревает этот символ до завершения последовательности обхода, автомат сразу же обрывает эту последовательность. Правильность конструкции докажем по индукции. У т в е р ж д е н и е. Пусть (foj, . . ., Ь£) — справочная в позиции к. Тогда 1-я последовательность обхода (i = 1, . . ., п) (с той модификацией, которая касается позиции 0) предписывает головке А переход в позицию, совпадающую с позицией самого верхнего вхождения теба Ъ*\ в магазин автомата Г.
312 С. Roy л Это утверждение выполняется для к = О, так как действует специальное правило для позиции 0. Предположим, что утверждение верно для позиции к —1. Если Г не записывает никакого теба в позиции /г, то А записывает в к пустое множество тебов и копирует справочную с позиции к — 1 в позицию к. В этой ситуации i-я последовательность обхода указывает па тот же переход из позиции к, что и из позиции к —1 (г = 1, . . ., п). Этот переход правильный по предположению индукции. Если же Г записывает теб aj в позиции /с, то этот теб появляется где-то в {Ь^~ , . . ., Ьп~ }, скажем aj = 6m~~ . Тогда по определению автомат А записывает Вт в позиции к и определяет новую справочную: b\ = bm , $=$11 (i = 2, . . ., m), bi=b^~i (i = m + l, . .., л). Ясно, что первая последовательность обхода указывает головке автомата А на ту позицию, которая соответствует самому верхнему вхождению теба Ъкх в магазин автомата Г. Далее, для i = = 2, . . ., т первый шаг в £-й последовательности обхода оставляет головку автомата А в позиции /с, так как at £ Вт. После удаления всех тебов (второй шаг) остаток последовательности обхода совпадает с (£ — 1)-й последовательностью обхода, которая строилась бы так, как если бы автомат Г не записывал никакого теба в позиции к. Как мы видели раньше, это указывает па установку головки автомата А в позицию самого верхнего вхождения теба frfr/j. Так как hhjZ\ = bf, то головка автомата А установлена правильно. Наконец, i-я последовательность обхода для i = = т 4- 1, . . ., п предписывает ту же установку головки с позиции /с, что и с позиции к — 1, так как аг (£ Вт. По предположению индукции i-я последовательность обхода для позиции к —1 устанавливает головку автомата А в позиции самого верхнего вхождения теба Ь?™1. Поскольку b\~ = Ь\, головка автомата А установлена правильно. Одна небольшая техническая деталь заслуживает упоминания. Если автомат Г изменяет теб в самой верхней позиции магазина, то А в этой позиции не обладает достаточной информацией для возможности правильного изменения множества тебов и обновления справочной. Можно предложить несколько решений. Первое решение состоит в том, что автомат А в этой ситуации получает добавочное время, в течение которого он стирает символ, обращается к справочной в предыдущей позиции и записывает повое правильное содержимое в самую верхнюю позицию магазина. Другое решение: А заводит две справочные —текущую и преды-
Детерминированные автоматы с магазинной памятью 313 дущую. Третье решение: А ведет предыдущую справочную вместе с магазинным символом, который используется для обновления справочной, и т. п. Итак, теорема 5 полностью доказана. Следствие 5. ^=Js = JJ = Jev. В силу следствия 4 ffi==ys. Остальные эквивалентности вытекают из тождеств оо оо оо Js= U 3»(n), 3\= U 3\{n), J? = U 31 {п). п=1 п—\ п=\ Можно ли некоторые индексы s в эквивалентностях из теоремы 5 и следствия 5 заменить на индексы г? Очевидно, что Jr(n) =Jr(n). Однако не известно, верны ли эквивалентности 31(П) £= Э\ И, Jr (П) = Гг (П), X (П) = J», JVr = X , jl^X. Использование гнездовой структуры тебов приводит к разбиению магазина на информационные массивы (файлы), организованные гнездовым образом (см. снова рис. 2). Вхождение множества Въ в магазине автомата А мы рассматриваем как ограничитель между файлами. Эти файлы в свою очередь подразделены на подфайльт, для чего используется ограничитель В2- Аналогично вхождения Bi определяют новые подфайльт. В примере на рис. 2 мы имеем следующие разбиения: файл (0) — позиция 0, файл (1) —позиции 1—4, файл (2) — позиции 5—10, файл (3) —позиции 11—14, файл (4) —позиции 15—19 и т. д. Подфайльт файла (i) обозначаются через (£, 1), (/, 2), . . .: файл (1,1) —позиция 1, файл (1,2) —позиции 2—4, файл (2,1) —позиции Г)—8, файл (2,2) — позиции 9—10 и т. д. Подфайльт файла (2,1): файл (2,1,1) —позиция 5, файл (2,1,2) —позиция 6, файл (2,1,3) —позиции 7—8. Гнездовая структура файлов облегчает поиск информации в магазине. Рассмотрим пример, приведенный па рис. 3. Как и раньше, В0 =■ 0 и В; =~ {яь а2, ...,«/} (i = 1, 2, 3). Для того чтобы найти данные в файле (/, 1, 1) с максимальной быстротой, гнездовой табуляторпый автомат должен: (1) передвинуть головку па верх файла (i), стирая все тебьт тт определяя места вхождений теба а3 один или более раз,
314 С. Коул (2) передвинуть головку на верх файла (£, 1), стирая все тебы и определяя место вхождения теба а2 один раз, (3) передвинуть головку на верх файла (i, 1, 1), стирая все тебы и Определяя места вхождения теба а1 два раза. Гнездовая структура файла (i) подобна трехмерной структуре (рис. 4). Файл (i, 2) записан в верхней плоскости, а файл (г, 1) — в нижней. Головка автомата расположена в верхней позиции Фййл('[-\) Файл(1) Файл /2+JJ Файл (i, Z) ЛГ ^Г" Файл (i, 1,1) Файл (7,1,г) Файл (i,l,3) Файл (i, 2,1) Файл (i, 2,2) Тебы Данные Рис. 3. Гнездовая структура данных, порожденная гнездовой структурой тебов. файла (£), совпадающей с верхней позицией файла (£, 2), а также с верхней позицией файла (i, 2, 2). Файлы (£ —1), (i —2), . . . . . ., (0) на рис. 4 не показаны. Для завершения картины нужно Уфайл(1,1,*) У Файл (7,1,2) У Файл (/,1,1) /te используется Рис. 4. Гнездовая структура данных для трехмерного случая. вообразить эти файлы вложенными в качестве сегментов трехмерных гиперплоскостей в четырехмерное пространство. Помещение головки в верхней позиции файла (i) приводит к стиранию файлов с номерами, большими чем i. Аналогию между гнездовыми табуляторными автоматами и этой многомерной структурой можно
Детерминированные автоматы с магазинной памятью 315 продолжить дальше. Пусть головка способна выполнять любое из следующих действий: 1. Головка может стереть символ из файла (£, 2, 2), не затрагивая ни одного из файлов (£, 2, 1), (£, 1), (i —1), (i — 2), . . . . . ., (0). Это действие можно описать как сдвиг «ленты» (£, 2, 2) на один символ вправо и отрезание выдвинутого символа. Это соответствует удалению символа из магазина табуляторного автомата. 2. Головка может удалить весь файл (£, 2, 2), не затрагивая файлов (г, 1), (i — 1), (i —2), . . ., (0). Это действие можно описать как сдвиг плоскости (£, 2) на одну клетку вправо вверх и отрезание выдвинутой ленты. Это соответствует удалению всех тебов из самой верхней позиции магазина и передвижению головки табуляторного автомата в позицию самого верхнего вхождения теба av. 3 и 4. Аналогично определяются «многомерные» операции, соответствующие удалению всех тебов и переходу к аг и аъ. 5. Головка может добавлять один символ к файлу (£, 2, 2), не затрагивая файлы (i, 2, 1), (£, 1), (i —1), (i —2), . . ., (0). Это действие можно описать как сдвиг на одну клетку влево ленты (£, 2, 2) и вставку нового символа в освободившееся место. Это соответствует добавлению символа на верх магазина без добавления тебов. 6. Головка может открыть новый подфайл (£, 2, 3), не затрагивая файлов (i, 2, 1), (i, 1), (i — 1), (i —2), . . ., (0). Это действие можно описать как сдвиг на одну клетку влево вниз и вставку новой ленты (г, 2, 3), содержащей один символ. Это соответствует записыванию 5i = {#i} в самую верхнюю позицию магази а и затем добавлению магазинного символа без добавления тебов. 7 и 8. Аналогично определяются «многомерные» операции, соответствующие добавлению магазинного символа и записи множества В2 или В2 в предыдущей позиции магазина. 9. Головка может изменять значение обозреваемого символа. Это соответствует изменению значения самого верхнего символа магазина. Компьютер, способный выполнять эти операции, называется 4-мерным ДМП-автоматом. В общем глучае головка «.-мерного ДМП-автомата может совершать 2тг + 1 операций. Как и у обычных (одномерных) ДМП-автоматов, действие головки многомерного ДМП-автомата полностью определяется ее внутренним состоянием, обозреваемым символом и внешним входным символом. Кроме выполнения операций на w-мерном магазине, головка изменяет свое внутреннее состояние, может запрашивать входные символы и порождает выходные символы. Для того чтобы закончить описание действий головки иа магазине, необходимо ввести еще два правила:
316 С. Коул (а) Когда иг-мерный файл полностью стирается, головка переходит к самому верхнему символу следующего лежащего ниже яг-мерного файла. Например, если файл (/, 2, 2) на рис. 4 был бы стерт, то головка обозревала бы самый правый символ файла (г, 2, 1); если бы был стерт файл (£, 2), то головка обозревала бы самый верхний символ файла (£, 1), т. е. самый правый символ файла (/, 1, 3). (б) Самый нижний (п — 1)-мерпый файл состоит в точности из одного символа, который всегда полагается равным р0. Когда головка обозревает символ р0, она не может изменить его и не может применить ни одну из операций стирания. Таким образом, «.-мерный магазин никогда не может быть полностью стерт. Класс всех «-мерных ДМП-автоматов, вычисляющих в полуреальное время, мы будем обозначать через oPs(ri). Теорема 6. <9*s (п-\- 1) = Л (п) для любого п^О. Доказательство. Единственное усложнение связано с тем, что табуляторный автомат, моделирующий «-мерный ДМП-автомат, может требовать два шага вычисления на один шаг ДМП-автомата. Для того чтобы промоделировать открытие Файл 0) Файл (2) Файл (3) ItCjOIOHCj 1011 сг 1101 c10c2J011cl idc2c2ci 11010 Считывавшей в течение (разы загрузки -е cs ^ с^ 2: Э s: 5 •§! gs & §§ 1? Ю 5: so Рис. 5. Анализ ленты из Х2. нового файла, табуляторный автомат должен приписать к самому верхнему символу некоторое множество тебов и затем добавить символ на верх магазина. Для того чтобы промоделировать стирание яг-мерной гиперплоскости, табуляторный автомат должен стереть все тебы в самой верхней позиции магазина и затем установить головку в позиции самого верхнего вхождения теба ат. со Следствие 6. & = U &*{п). п=1
Детерминированные автоматы с магазинной памятью 317 Доказательство. Из теорем 5 и 6 вытекает, что оо оо оо Js= U Js(n)= U Л(П)= U &s(n). 71=0 71 = 0 71=1 В силу следствия 4 Э^ = Js. Лемма 4. Множество лент Хп распознается в реальное время (п + 1)-мерным ^МП-автоматом. Доказательство. Дадим доказательство для Х2. Доказательство для Хп (п ф2) проводится аналогично; подробно оно рассмотрено в работе [1, стр. 6-30—6-32]. 3-мерный ДМП-автомат Г, распознающий множество Х2, действует в трех фазах: в фазе загрузки, в фазе поиска и в фазе сравнения. Рассмотрим пример ленты, показанный на рис. 5. Фаза загрузки, являющаяся первой фазой, продолжается до тех пор, пока не будет получен на входе символ d. При получении далее каждого символа ct автомат Г начинает новый i-мерный файл. Так, для ленты на рис. 5 автомат Г создает три 2-мерных файла: первый файл содержит три одномерных подфайла, а второй и третий файлы содержат каждый по два одномерных подфайла. Следующая фаза — фаза поиска, которая продолжается, пока на вход поступают символы ct, при этом при получении очередного символа с?- автомат Г стирает i-мерный файл. В данном примере автомат сотрет два 2-мерных файла и затем 1-мерпый файл. После этого головка будет обозревать самый верхний символ второго подфайла нз первого файла. Наконец, во время фазы сравнения автомат сравнивает поочередно внешние входные символы с обозреваемыми символами (в обратном порядке). Если сравнение проведено успешно, автомат выдает выходной символ ДА. Входная лепта проверяется также на ошибки формата. Любая ошибка формата переводит головку автомата в специальное состояние с выходом 0, причем головка остается в этом состоянии независимо от того, какие входные символы поступают в дальнейшем. Теорема 7. £?n > ffis(n) для любого п. Д о к а з а т е л ь с т в о. Конструкция ?гИ-автомата, моделирующего в реальное время «.-мерный ДМП-автомат, рассмотрена в работе ft, стр. 6-32—6-48]. Такая же конструкция используется для моделирования /гР1-автоматом данного «-мерного ДМП-авто- мата Г, вычисляющего в полуреальное время. Каждый входной символ для Г повторяется к раз как входной символ для «И-авто- мата, где к — период функции /г. Таким образом, если / обозначает /г-блочтгоо кодирование (т. е. / (а) = aft), то / (X) £ Т (3)п) для любого множества лепт X £ Т (5\s(ra)). Отсюда следует, что X £ Т (&п) (см. [2, стр. 356-357]). Итак, 3)п > №8(п). С другой
318 С. Коул стороны, множество симметричных лент в {0, 1}* принадлежит Т (3)п) (см- [2]), но не принадлежит &s(ri). Следствие 7. &*8 (п-^ 1) ;> &s (n) для любого п. Доказательство. Ясно, что g7>s (тг+ l)^e^s (n). По теореме 3 Хп$Т (5$п), поэтому по теореме 7 Хп $ Т (ffis (n)). Однако в силу леммы 4 Хп G T(hs (п+1)). Таким образом, $>8(п + 1) > Говорят, что семейство классов компьютеров ^ ¥2, . . ., Ъп, ... образует иерархию, если ^ < %г <С .. . <С Чоп <L .... Две иерархии ^i, . . ., VSn, . . . и ^i, . . ., ^п, • • • эквивалентны, если Vn = с&'п для всех п. Теорема 8. Семейства {Js (п) | >г>0},' {J* (и) |>0}, [Jvs (п)\ п^О} и {ffis(ri)\n^l} образуют эквивалентные иерархии; при этом объединение каждого из этих семейств эквивалентно классу $*. Доказательство. В силу следствия 7 семейство {е7\>(/г) | п^1} образует иерархию. По теоремам 5 и 6 ys(n)~Jl(n)^yvs(n) = &s(n+l) (и>0). Таким образом, {Js (п) | тг>0}, {jl (n) \ ?г>0}, {J?(w)|h>0} и {(^s(^)|^^l} — эквивалентные иерархии. Объединение каждого из этих семейств эквивалентно классу <£Р в силу следствия 6. Теорема 9. (1) Классы £$т и qPs(h) несравнимы при т<Сп. (2) Классы 3)т и & несравнимы. Доказательство. Множество симметричных лепт принадлежит Т (3)т), но не принадлежит ни Т ($*), ни T($*s(n)). Множество Xn-i, наоборот, принадлежит T(oPs(n)), по не принадлежит Т{3)т). Теорема 10. Семейство {3)п \ п ^ 1} образует иерархию, и его объединение мощнее класса $>. Доказательство. По теореме 3 {3Jn \ п ^ 1} образует иерархию. По теореме 7 и следствию 6 оо со 0»== U ^«(»)< U 2>„. п=1 п=1 оо Класс U Э)п мощнее класса еР, так как множество симметрич- п=1 ных лент принадлежит Г (Si), но не принадлежит Т {$*) (сь\. следствие 2).
Детерминированные автоматы с магазинной памятью 319 8. Заключение Доказательство выполнимости па подходящем ?гИ-автомате любого вычисления, совершаемого на ДМП-автомате, использовало цепь эквивалеитностей, показанную на рис. 6. Последним этапом доказательства было моделирование в реальное время на ггИ-автомате многомерного ДМП-автомата, вычисляющего в полуреальное время, для чего была привлечена теорема о повышении скорости вычислений для ?гИ-автоматов (с полуреального времени на реальное время). Ослабление ограничения реального времени до полуреального для табуляторных автоматов было использовано в доказательстве эквивалеитностей между 1Т-авто- матами, гнездовыми табуляторными автоматами и многомерными ДМП-автоматами. Остаются ли эти классы эквивалентными при ограничении реального времени, пока не известно. Отношение вычислительной мощности между иерархией ггИ-автоматов и иерархией ДМП-автоматов показапо на рис. 7. Стрелка, проведенная от вершины Jt к вершине 98, указывает, что класс £ мощнее класса 98, т. е. класс языков Д содержит класс языков 98. Известно, что класс детерминированных контекстно-свободных языков, совпадающий с Т (&), является собственным подклассом класса всех контекстно-свободных языков; последний класс в свою очередь является собственным подклассом класса НС-языков (языков, порождаемых грамматиками непосредственно составляющих). Остальная часть рис. 7 иллюстрирует главные результаты настоящей работы. \ Штриховые линии между парами вершин указывают на несравнимость соответствующих классов. (На диаграмме показаны не все отношения несравнимости между классами, так как в противном случае диаграмма была бы трудночитаемой.) По теореме 9, если m < п, то класс ZPm не сравним с классом $>s{ri) и с клас- 00 сом $>. Несравнимость классов 3)п и U 3)п с классом контекстного 1 Щ\\-автоматы * 1 Нормальные ДМП-автоматы Вычисляющие в реальное время табуляториые автоматы с ограничением \Т Вычисляющие в полуреальное время табуляториые автоматы] с ограничением IT i i Вычисляющие в полуреальное время гнездовые табуляториые автоматы Вычисляющие в полуреальное время многомерные ДМП-автоматы Р и с. 6. Цепь эквивалеитностей.
320 С. Коул свободных языков доказана в [2]; если алфавит 21 не одпобуквеп- ный, то (1) множество лепт {тт | т £ 2*} принадлежит Т (i?„), но не является контекстно-свободным языком и (2) множество лент {тя | т £ 2*, я £ 2*, L (я) ^ 3, я симметрично} является контекстно-свободным языком, не принадлежащим Т \(33п)- Отношение между ?гИ-автоматами и классом контекстного НС-языки 77 п о- 0 КС-ЯЗЬШ °^-детерминированные КС-языки 0^(3)^^(2)^(2)^(2) ??И=^(1)=^1 (1)^/(1) °^(0=% Рис. 7. Соотношепия вычислительно!'! мощности. свободных языков не вполне выяснено. Было бы интересно узнать, верно ли, что Т (fPs(n)) = Т (£Р) П Т (£?„). На диаграмме не показаны 1Т-автоматы и гнездовые табуля- торпые автоматы. На самом деле они также образуют иерархию, когда количество тебов неограниченно растет. Однако ввиду того. что есть еще нерешенные вопросы (сформулированные после следствия 5), трудно было включить эти автоматы в диаграмму.
Детерминированные автоматы с магазинной памятью 321 СПИСОК ЛИТЕРАТУРЫ 1. Cole S. N., Real-time computation by iterative arrays of finite-state machines, Doctoral diss., Harvard Univ., Cambridge, Mass., 1964. 2. Cole S. N., Real-time computation by n-dimensional iterative arrays of finite-state machines, IEEE Trans., C-18, № 4 (1969), 349—365. 3. Davis M., Computability and unsolvability, New York, 1958. 4. Fischer P. C, Turing machines with restricted memory access, Information and Control, 9, № 4 (1966), 364—379. 5. Ginsburg S., Greibach S., Deterministic context-free languages, Information and Control, 9, № 6 (1966), 620—648. 6. Greibach S., A new normal form theorem for context-free phrase structure grammars, /. ACM, 12, № 1 (1965), 42—52. 7. Ogden W. F., Intercalation theorems for pushdown store and stack languages, Doctoral diss., Stanford Univ., Palo Alto, Calif., 1968. 8. Rabin M. 0., Scott D., Finite automata and their decision problems, IBM J. Res. Develop., 3 (1959), 114—125. (Русский перевод: Рабин М. О., Скотт Д., Конечные автоматы п проблемы их разрешения, Кибернетический сборник, вып. 4, ИЛ, М., 1962.) 9. Rabin M. О., Real-time computation and recursive functions not real-time computable, Israel J. Math. 1, № 4 (1963), 203—211. (Русский перевод: Рабин М. О., Вычисления в реальное время., сб. «Проблемы математической логики», изд-во «Мир», М., 1970.) 10. Stearns R. Е., A regularity test for pushdown Gtore machines, Information and Control, 11, № 3 (1967), 323—340. (Русский перевод: Стирнз Р. E., Проверка регулярности для магазинных автоматов, Кибернетический сборник, вып. 8, изд-во «Мир», М., 1971.)
ОГРАНИЧЕННЫЕ ВО ВРЕМЕНИ ГЕНЕРАТОРЫ ПОСЛЕДОВАТЕЛЬНОСТЕЙ *) П. К. Фишер, А. /7. Мейер, А. Л. Розенберг Введение В последние годы была проделана большая работа по исследованию сложности вычислений на машинах Тьюринга. Параллельно с этими исследованиями по машинам Тьюринга с временными и пространственными ограничениями мы рассмотрим здесь аналогичные ограничения для машин, имеющих вместо лент регистры, способные хранить целые числа, которые можно увеличивать или уменьшать па единицу, а также проверять на равенство нулю. Хотя счетчиковые машины (СМ) были введены как устройства намного более простые, чем машины Тьюринга (ТМ), неограниченные СМ, как было показано Минским [8], обладают теми же возможностями, что и ТМ. Счетчиковые машины, будучи чувствительными к формальному определению, использующему из математических понятий не только векторное сложение, в большей степени, чем машины Тьюринга, поддаются изучению, поэтому ряд вопросов, все еще открытых для ограниченных ТМ, решен в этой статье для СМ. Мы ограничимся рассмотрением машин, являющихся генераторами последовательностей. Главной темой статьи будет сравнение свойств ограниченных во времени ТМ- и СМ-геиераторов. В более ранней работе [4] мы провели такое же сравнение для распознавателей языков. Поскольку порождение последовательностей можно рассматривать как распознавание языков в однобук- венном алфавите, многие результаты этой статьи усиливают результаты работы [4]. Особое внимание мы уделим генераторам последовательностей, работающим в реальном времени, т. е. выдающим знаки последовательности на каждом шаге. В работах [5] и [2] показано, что генераторы, работающие в реальном времени, играют фундаментальную роль в изучении вопросов о времени, необходимом и в более общих вычислениях. Более того, как следует сразу из определения (разд. 1.1), последовательность, порождаемая с любыми вычислимыми ограничениями времени, является гомоморфным образом последовательности, порождаемой в реальное время. х) Fisher P., Meyer A., Rosenberg A., Time-restricted sequence generation, /. Сотр. Syst. Sci., 4, № 1 (1970), 50—73.
Ограниченные во времени генераторы последовательностей 323 Из этого замечания немедленно вытекает расширение ряда изложенных в данной статье результатов, которые для простоты сформулированы и доказаны только для генераторов, работающих в реальном времени. Неожиданное применение понятие порождаемости в реальное время нашло в доказательствах Кобхэма [1] некоторых специальных случаев следующего утверждения: Предположение (Хартманис, Стирнз). Пусть действительное число х таково, что О ^ х ^ 1. Если бесконечное двоичное разложение х порождаемо СМ в реальное время, то число х либо рационально, либо трансцендентно. Это предположение еще более стимулирует изучение генераторов последовательностей, работающих в реальном времени. 1. Предварительные сведения 1.1. Модели Рассмотрим п-счетчиковую машину (w-CM), состоящую из конечного устройства управления и п счетчиков, способных хранить любое целое число. Состояния устройства управления делятся на активные (выдающие выходные символы) и пассивные (не выдающие выходных символов). В начале вычисленрй п-СМ находится в выделенном начальном состоянии, а все счетчики обнулены. Каждый шаг СМ-вычисления однозначно определяется состоянием устройства управления и подмножеством счетчиков, содержащих нуль. Действие на каждом шаге заключается в прибавлении 0, +1 или —1 независимо к содержимому каждого счетчика и в изменении состояния устройства управления. Если состояние СМ активно, то на этом же шаге выдается выходной символ. Тогда последовательностью, порождаемой данной СМ, будет последовательность выходов, выдаваемых в процессе вычисления. Заметим, что СМ действует автономно. Таким образом, каждая СМ вычисляет единственную последовательность, и каждое вычисление бесконечно, поскольку не предусмотрен никакой механизм останова. Точнее, п-СМ М определяется (1) конечныммножеством Q состояний, причем Q = Qa + Qd, где Qa — множество активных состояний и Qd — множество пассивных состояний; (2) выделенным начальным состоянием q0 £ Q; (3) машинной функцией *) М: Q X {0, \}n-+Q х {-1, О 1}п; х) Для всякого множества S через Sn обозначается множество ?г-наборов элементов из S.
324 П. К. Фишер, А. П. Мейер, А. Л. Розенберг (4) выходной функцией со: Са-ЧО, 1}. Пусть Z обозначает множество целых чисел. Для z £ Z зададим функцию sg (z) равенствами {О, если z = О, 1 в противном случае. Распространим функцию sg на Zn: Sg ((хи . . ., Хп)) = (Sg (х{), . . ., Sg {Хп)). Для (^ . . ., хп) и (г/ь . . ., уп) в Zn положим (х{, . . ., хп) + (г/ь . . ., г/п) = (^ + уи . . ., я71 + уп). Конфигурацией машины п-СМ М назовем элемент из Q x Zn. Если С = (s, (#ь . . ., хп)) —конфигурация машины n-СШ, то ее состоянием в конфигурации С будет о (С) = s. Следующей за конфигурацией С будет конфигурация 2 (С) = (*', (уи .. ., I/,», где М Is, sg ((^i, . . ., хп))] = ($', (zlf . . ., zn» и (Уи • • -, Уп) = <*i, . . ., хп) + (zlf . . ., zn>. Вычислением машины п-СМ М называется (бесконечная) последовательность конфигураций С0, Сь С2, . . ., где С0 = = (<7<ь (0, . . ., 0)) и Сь = 2 (Cj-i) Для каждого i> 0. Последовательностью состояний, порождаемой машиной М, назовем последовательность s0, Si, . .., где st = а (С() для i ^ 0. Последовательностью, порождаемой машиной М, называется двоичная последовательность а = а0, аи аг, . . ., где аь определяется следующим образом. , Пусть q0, qi, ». . . —последовательность состояний, порождаемая М. (1) Положим t (0) = \ik [qh 6 QJ г). (2) Для ; > 0 положим t(j) = ]ik[k>t{j -i)&qheQl Тогда о,- = со (gt(j)) для всех / = 0,1, 2, . . .2). х). [х — оператор минимизации; ц.г/ [Р (у)] для каждого утверждения Р(х) равно наименьшему числу п, для которого выполнено Р (п), п не определено, если такого п нет. 2) Заметим, что последовательность а может быть пустой, конечной или бесконечной. Мы будем считать все порождаемые последовательности бесконечными.
Ограниченные во времени генераторы последовательностей 325 Пусть Т — возрастающая функция, отображающая множество неотрицательных целых чисел в себя. Будем говорить, что М работает в пределах времени Т, если t (к) ^ Т(к) для всех к; М работает с временем Т, если t (к) = Т (к) для всех к. Аналогичные определения можно ввести и для машин Тьюринга. Детально это сделано в работе Хартмаыиса и Стирнза [5]. Для каждой такой функции Т и натурального m обозначим через Сг (т) класс последовательностей, порождаемых некоторой /?г-СМ в пределах времени Г, а через Сг — объединение таких оо классов: Сг = U Ст (т). Аналогично через Тт (т) и Тг обошло значим соответствующие классы для ТМ. Особый интерес представляет случай Т (п) = п. Про автомат, который работает с временем Т (п) = п, говорят, что он работает в реальном времени, а про выдаваемую таким автоматом последовательность говорят, что она порождаема в реальное время. Очевидно, что автомат, работающий в реальном времени, не может иметь пассивных состояний. Два автомата назовем эквивалентными по времени, если они порождают одну и ту же последовательность и работают с одним и тем же временем. 1.2. Предварительные результаты Приведем без доказательства некоторые результаты из работы [4], которые нам понадобятся в дальнейшем. (а) Пространственная сложность Мы будем говорить, что яг-СМ (ттг-ТМ) работает с зоной S (S — неубывающая функция, отображающая множество неотрицательных целых чисел в себя), если S (п) — наибольшее (по абсолютной величине) целое значение, принимаемое каким-либо счетчиком (соответственно число посещаемых ячеек на ленте) до момента выдачи п-го элемента порождаемой последовательности. Предложение 1.1. Пусть М будет яг-СМ, работающей с зоной S. Тогда (i) найдется такая константа с, что М работает в пределах времени Т (п) ^ cnS{n)m\ (ii) для любого действительного числа г > 0 можно найти эквивалентную по времени СМ М', работающую с зоной S' (п) ^ х) Для любого действительного числа х > 0 через \х\ обозначается его целая часть.
326 П. К. Фишер, А. П. Мейер, А. Л. Розенберг (iii) можно найти эквивалентную 1-ТМ, работающую с зоной S' (п) < log S (п). (б) Варианты модели Полезно рассмотреть несколько вариантов нашей СМ-модели. Мы перечислим некоторые из них, не влияющие на время работы СМ. Предложение 1.2. Для всякой заданной т-СМ, способной изменять содержимое каждого из своих счетчиков за один шаг на любую целую величину, заключенную между +с и —с (для некоторой фиксированной константы с), можно эффективно найти эквивалентную ей по времени (обычную) т-СМ. Предложение 1.3. Для любой заданной т-СМ можно эффективно найти эквивалентную ей по времени т-СМ, которая (i) хранит на своих счетчиках только неотрицательные целые числа; (И) изменяет содержимое своих счетчиков не чаще, чем через каждые с шагов (для некоторого с > 0); (iii) изменяет за один шаг содержимое самое большее одного счетчика. Мы часто будем пользоваться предложением 1.3 (i), не оговаривая это особо. 1.3. Основные необходимые условия В этом разделе мы разработаем два метода, которые позволят доказывать, что некоторые последовательности не порождаемы в реальное время никакой т-СМ. Подобных методов для ТМ пока не известно. Пусть а = а0, а1? аг, . . . — (бесконечная) двоичная последовательность. Для каждого целого к > 0 назовем к-вырезкой из а подпоследовательность вида ah . . ., ai+k_{, т. е. подпоследовательность длины к, состоящую из смежных элементов. Лемма 1.1. Пусть а —последовательность, порождаемая m-CM M в реальное время. Тогда найдется такая константа с, что число различных к-вырезок из а не превышает скт. Доказательство. Предположим, что машина М имеет q состояний. Назовем две ее конфигурации к-жвывалентными, если они различаются только теми координатами, значения которых в обеих конфигурациях превышают к. Ясно, что если М начинает работу в каждой из двух /с-экви- валентиых конфигураций, .то следующие к шагов вычислений
Ограниченные во времени генераторы последовательностей 327 в обоих случаях будут неразличимы в терминах последовательности состояний, а следовательно, и в терминах выходной последовательности. Так как число различных ^-эквивалентных конфигураций не превышает q (к + 2)т, то лемма доказана. В качестве непосредственного приложения леммы получаем Следствие. Последовательность из подряд идущих натуральных чисел в двоичной записи не принадлежит классу С„. Очевидно, что эта последовательность имеет 2h различных fr-вырезок для каждого целого к. Условие леммы 1.1 не является достаточным для принадлежности классу Сп, даже если последовательность принадлежит Т„. Приведем одно полезное условие, предложенное Кобхэмом. Лемма 1.2. Пусть а —последовательность из Сп. Тогда найдется такое двоичное слово w, что а содержит сколь угодно длинные вырезки вида ww . . . w. Доказательство. Доказательство основано на следующем, легко проверяемом факте. Пусть М будет яг-СМ, обладающей тем свойством, что для некоторого фиксированного целого числа к на каждом шаге вычислений какой-то ее счетчик содержит целое число, не превышающее к. Тогда М можно заменить эффективно определяемой эквивалентной по времени (т — 1)-СМ. Таким образом, можно найти такое наименьшее целое число г, для которого существует r-СМ, порождающая а в реальное время. Если г = О, то все доказано. Если г > 0, то для всякого целого числа h найдется конфигурация, достигаемая М, в которой содержимое всех счетчиков превышает h; в противном случае М можно было бы заменить (г — 1)-СМ, работающей в реальном времени. Достигнув однажды такой конфигурации, машина в течение h последующих шагов будет вести себя как конечный автомат, т. е. начиная с некоторого момента будет повторять свои состояния. Так как h можно выбрать произвольно, то лемма доказана. Последовательность Туэ *) [И] не содержит вырезок вида www; отсюда получаем Следствие (Кобхэм). Последовательность Туэ не принадлежит классу Сп, Эта последовательность представляет особый интерес, поскольку она порождаема ТМ в реальное время и число ее различных /с-вырезок равномерно ограничено полиномом второй степени по к. 2) Имеется в виду последовательность а0 = 0, a4 = 1, и если ak = О, то a2jl ■= 0, a2]{+i = 1, в противном случае аг]1 = 1, я2/г+1 = 0, — Прим. ред.
328 П. К. Фишер, А. Л. Мейер, А. Л. Розенберг 2. Устойчивость классов сложности В этом разделе мы рассмотрим устойчивость классов сложности относительно возмущений временной функции, изменения числа лент или счетчиков и относительно операций над последовательностями. 2.1. Теоремы об ускорении, Первое основное различие между СМ и ТМ заключается в возможностях ускорения. Из работы Хартманиса и Стирнза [5] х) с учетом результатов Фишера [2] и Мейера, Розенберга и Фишера [7] вытекает Теорема 2.1. Пусть М будет т-ТМ, работающей в пределах времени Т (п), и е > О — действительное число, причем гТ (п) ^ п. Тогда можно эффективно найти (т + 3)-ТМ, эквивалентную М и работающую в пределах времени [гТ (п)]. Таким образом, Тг (т) ^ Т[ет] (т + 3). Неизвестно, являются ли эти три дополнительные ленты существенными. Следствие. Для всех с > 1 Тсп = 1п, ?п* е. для ТМ «линейное время» совпадает с реальным. Иная ситуация имеет место для СМ, как это утверждается теоремой об ускорении для СМ. Теорема 2.2. Пусть г > 0 — произвольное действительное число. Для заданной СМ М, работающей в пределах времени п + + Е (п), можно эффективно найти эквивалентную СМ М', работающую в пределах времени Т'(п) = п + [гЕ (п)]. Таким образом, Cn+Ein) = Cn+[8£:(n)]. Теорема 2.2 непосредственно вытекает из предложения 1.3 (ii). Докажем теорему, из которой будет следовать, что теорема 2.2 — наилучшая из возможных. Теорема 2.3 (Фишер 2)). Для любого & > 0 существует последовательность а, принадлежащая классу С(1+8)71 — Сп. Доказательство. Мы построим последовательность, удовлетворяющую условию теоремы, заботясь лишь о простоте изложения. 1) Теорема 2.1 не следует только пз [5], поскольку наши генераторы за один шаг могут выдавать самое большее одну двоичную цифру, а никак не целую последовательность. 2) Частное сообщение.
Ограниченные во времени генераторы последовательностей 329 (а) Порождение последовательности а Последовательность а строится путем подачи на выход двоичных записей натуральных чисел (согласно их естественному порядку), разделенных цепочками нулей. В частности, двоичному изображению каждого целого числа т предшествует цепочка пулей длины 2n°g2wi]+ie Мы опишем 5-СМ М, порождающую а. Работа машины М будет состоять из последовательных этапов; т-й этап для каждого целого т будет содержать 2т фаз. В табл. 1 приведены числа, которые содержат 5 счетчиков машины М в начале нулевой фазы m-го этапа. Таблица 1 Счетчик Л В с D Е Содержимое 2т-1 0 0 2т- i 0 (i) Используя счетчик Z), машина М выдает цепочку 2т нулей, по одному в единицу времени. Одновременно М на счетчиках С п Е накапливает значение 2т. Затем с помощью конечного устройства управления счетчики С и Е меняем ролями. (ii) Используя счетчики А и 5, машина М выдает двоичное изображение содержимого счетчика А (применяя последовательное деление на 2). Одновременно М загружает С начальным содержимым счетчика А. В конце этого процесса счетчики А и В обнулены, а счетчик С хранит число, которое вначале хранилось в А. Затем счетчики А и С меняем ролями. (ш) Содержимое счетчика А увеличивается на +1, а содержимое счетчика Е — на —1. Затем наступает следующая фаза. Числа, которые содержат 5 счетчиков машины М в начале /с-й фазы яг-го этапа, приведены в табл. 2. (iv) Используя счетчики С и D, машина М выдает цепочку пз 2т нулей, по одному в единицу времени. Затем С и D меняются ролями. Далее совершаются шаги (ii) и (iii), и очередная фаза завершается. Заметим, что появление нуля на счетчике Е понимается как сигнал для перехода к следующему этапу.
330 П. К. Фишер, А. П. Мейер, А. Л. Розепберг Таблица 2 Счетчик А В С D Е Содержимое 2771-1-|-fc 0 0 2771 2m — fc (б) а $ Сп Для всякого целого числа т последовательность а содержит 2т различных яг-вырезок. Согласно лемме 1.1, последовательность а не порождаема СМ в реальное время. (в) а 6 С3т (5) Во время каждой из 2т фаз т-то этапа машина М выдает m -f- 2W символов. Начальная цепочка из 2Ш пулей выдается в реальное время. Остальные m символов требуют менее 2m+1 шагов х). Каждая фаза m-то этапа, таким образом, требует менее 3-2т шагов. Чтобы пояснить это, предположим;, что символы а0, . . ., ат были порождены самое большее за Зг шагов и &т-\-1 — первый символ, выданный в /с-й фазе m-то этапа. Для каждого i £ {1, . . ., 2m} символ ar+i выдается на шаге Зг + i << 3 (г -\- i) или ранее. Далее, символ а 2Ш . для каждого / £ {1, . . ., т) выдается на шаге с номером, не более Зг + 2т + 2 2m~/4hl = Зг + 2т + 2т+1 ( 2 2"/l) < h=i /i=l <3(r + 2m)<3(r + 2m + 7). Таким образом, JM работает в пределах времени Т (п) = Ъп. Отсюда в силу теоремы 2.2 следует, что а £ С(1+8)71. Итак, для СМ-генераторов получается то же «частичное» ускорение, что и для СМ-распознавателей [4]. Для ТМ-гепера- торов в силу теоремы 2.1 возможно полное ускорение, в то время как для ТМ-распознавателей —лишь частичное (Розеыберг [10]). Однако и для СМ имеется важный частный случай, в котором достигается полное ускорение. Это непосредственно следует из предложения 1.3 (ii). ) Первое деление требует менее 2Ш шагов, второе — менее 2m_1, и т. д.
Ограниченные во времени генераторы последовательностей 331 Предложение 2.1. Для заданной СМ, которая выдает выходные символы не позднее чем через каждые с шагов (для некоторого с > 0), можно найти эквивалентную СМ, работающую в реальном времени. 2,2, Иерархия последовательностей, вычислимых в^реалъное время Рабин [9] доказал, что существуют языки, распознаваемые в реальное время на 2-ТМ, но не распознаваемые на 1-ТМ. В случае ТМ-геыераторов неизвестно, обладают ли работающие в реальном времени машины с любым числом лент большими возможностями, чем одноленточные. Открытая проблема. Существует ли число т > 1, для которого Тп (т) — Тп (1)Ф 0? Для счетчиковых машин ситуация изучена более полно. В работе [4] приведено простое доказательство того, что для любого m существует язык, распознаваемый на (т + 1)-СМ, но не распознаваемый на*яг-СМ. Сейчас мы распространим этот результат на случай генераторов (которые можно рассматривать как распознаватели языков в одыобуквениом алфавите). Теорема 2.4. Cn (m) а С7г (т + 1) для всякого целого числа т > 0, причем включение строгое. Доказательство. Заметим сначала, что С7г (1) = С7г (0) есть множество последовательностей, порождаемых машиной с конечным числом состояний. Так как каждая такая последовательность начиная с некоторого момента является периодической, то найти последовательность из класса Сп (2) — С71 (1) не составляет труда. Легко проверить, что такой будет, например, последовательность а = а0, аь . . ., в которой at = 1 тогда и только тогда, когда i — точный квадрат. Значительно сложнее случай т > 1. Построим для заданного целого числа т ^ 2 последовательность а £ Сп (т + 1) — С7г (т). Поскольку нестрогое включение классов очевидно, этот пример вместе с приведенными выше замечаниями и составит доказательство теоремы 2.4. (а) Порождение последовательности а х) Пусть М будет (т + 1)-СМ, работающей в реальном времени со счетчиками Л0, . . ., Ат. Ее вычисление составляется из чередующихся фаз, выходной фазы и фазы переработки. Сигналом *) При доказательстве мы возвращаемся к первоначальному определению СМ, допускающему отрицательные значения на счетчиках.
332 П. К. Фишер, А. П. Мейер, Л. Л. Розенберг для наступления выходной фазы служит 0 на счетчике Ай, а для фазы переработки — 0 на счетчике А1, (Одновременно оба случая невозможны.) На каждом шаге, за исключением тех, которые будут выделены особо, М выдает нули. (i) Предварительный этап. М прибавляет +1 к содержимому счетчика Ai и переходит к выходной фазе. (ii) Выходная фаза. М на каждом шаге увеличивает содержимое счетчика А0 на 1, одновременно уменьшая на 1 содержимое всех остальных счетчиков, до тех пор пока на Ai снова не появится 0, означающий наступление фазы переработки. При этом М выдает 1 на каждом из тех предыдущих шагов, на которых хотя бы один счетчик содержал 0. (Ш) Фаза переработки. Пусть/ — наибольшее целое, для которого Aj не содержит 0. Если j = 0, мы просто переходим к случаю / = 1. Сначала М добавляет +1 к содержимому счетчика Aj, а потом одновременно добавляет —1 к40и +1 к А{, . . . . . ., Aj, повторяя это до тех пор, пока содержимое счетчика А0 не обратится в 0. Затем снова наступает выходная фаза. (б) а 6 Сп (т + 1) По определению М порождает а в реальное время. (в) а $ Сп (т) Для того чтобы показать, что а (J Сп (т), мы должны проанализировать структуру последовательности а. (i) Предположим, что в начале выходной фазы счетчики содержали величины 0, Xi, . . ., Хт соответственно, где Х^ > 0 и Xi >• Xt для i 6 {2, . . ., т}. Во время этой фазы М выдает вырезку из а длины Хх + 1, содержащую 1 на местах 1, Х{ + 1, . . ., Хт + 1 *). По окончании этой фазы на счетчиках будут храниться значения Хь 0, Х2 — Xi, . . . , Хт — Xi соответственно. (ii) Теперь предположим, что в начале фазы переработки счетчики машины М хранят числа Хь 0, Х2 — Хь . . ., Хт — Хл соответственно, причем Xj — Xi Ф 0 для некоторого / и Xk = Х{ при к > /. Во время этой фазы М печатает вырезку из а длины Х{ + 1, целиком состоящую из нулей. Заканчивается фаза переработки со значениями на счетчиках 0, Xi, Х2, . . ., Xj-i, XJ+1, 0, . . . . . ., 0 соответственно. Заметим, что в действительности числа Х2, . . ., Хт можно рассматривать как изображение некоторого числа при основании г) Разумеется, некоторые числа Xt и Xj могут быть равны, так что некоторые из этих 771+1 позиций могут совпадать.
Ограниченные во времени генераторы последовательностей 333 Xi + 1, считая Х2 его старшей цифрой. Таким образом, возрастание этого числа влечет появление слева все новых значащих цифр. Множество чисел, имеющих запись длины т — 1 при основании Zi + 1, исчерпывается, когда Xi = Х2 — . . . = Хт. В этот момент Xi увеличивается и М начинает перечислять числа при основании Х{ + 2, состоящие из /п — 1 цифр. С помощью этой информации относительно структуры а можно обосновать наше утверждение. Для каждого целого к > 1 рассмотрим множество (к, т)-слов, т. е. двоичных слов длины к — 1, содержащих не более т — 1 единиц. Для любого к число (к, яг)-слов превышает величину биномиального коэффициента ((£:}). Более того, для каждого (к, т)-слова w в а найдется вырезка 0*4и?10ь х). Пусть теперь г > 2т — некоторое целое число, делящееся на 4, и пусть целое число к содержится в отрезке г/2 ^ к ^ Зг/4. Каждое (к, яг)-слово w появляется в г — к различных г-вырезках из а, а именно в вырезках 0*1и,10Г-*-1-* (i = 0, . . ., г - к - 1). Таким образом, число различных r-вырезок из а должно превышать Зг/4 k=r/2 что в свою очередь превышает Зг/4 =r/2 W.-1/ =7/2 1^-1/ ft=r/2 а это не меньше, чем (г/4) (г/4) (г/2 — т + 1)т-1 (т — 1)\ Последнее выражение представляет собой полином по г степени т + 1 с положительным старшим коэффициентом и, следовательно, превышает crm+1 для некоторого фиксированного с > 0. Так как для достаточно больших г rm+1 > drm при любом фиксированном d, то в силу леммы 1.1 доказательство закончено. х) Через 0h мы обозначаем цепочку из к нулей.
334 П. К. Фишер, А. П. Мейер, А. Л. Розенберг £.3. Операции над последовательностями В этом разделе мы рассмотрим отношение классов Тп (т} и Сп (т) к операциям над последовательностями. Это изучение- позволит выявить второе основное различие между ТМ и СМ. (а) Операции сжатия Пусть / будет функцией /: {0, 1}к ->- {0, 1} для некоторого к. Последовательность J3 = &0, b4, ... называется f-сжатием последовательности а = а0, аь . . ., если bt"= f (aitk, aiih+i, . . . . . ., di+i^-i) для каждого целого неотрицательного числа i. Теорема 2.5. Пусть а — последовательность из Сп (т) (соответственно из Тп (т)) для некоторого т. Тогда всякое ее f-сжатие также принадлежит классу Сп (т) (соответственно классу Тп (т)). Доказательство очевидно, поскольку для любого /-сжатия последовательности а легко найти генератор, который будет выдавать символы с постоянной скоростью. (б) Композиция последовательностей Пусть / снова будет произвольной функцией, отображающей {О, 1}^в {0, 1}. Последовательность J3 = &0, Ь4, . . . называется f-композицией к последовательностей at = aitQ, aiA, . . . (1 ^ i ^ ^ к), если bj = f (aitj, a2,j, . . ., aktj) для каждого целого числа / ^ 0. Следующий результат очевиден: Предложение 2.2. Если к последовательностей аь а2, ...» ctft принадлежат классу Сп (т) (соответственно классу Тп (т)) для некоторого т, то любая их f-композиция принадлежит классу Cn (km) (соответственно Тп (km)). Покажем, что для ТМ предложение 2.2 можно существенно улучшить, в то время как для СМ этого сделать нельзя. Теорема 2.6. Если к последовательностей аь . . ., а^ принадлежат классу Тп (т) для некоторого т, то всякая их f-композиция принадлежит классу Тп (т + 4). Доказательство. Согласно теореме 2.1, достаточна показать, что для некоторого целого числа с > 0 композиция последовательностей принадлежит классу Тсп (т + 1). Этим мы и займемся. Пусть для i = 1, 2, . . ., к последовательность at порождается в реальное время щ-ТМ М^. Мы построим (т + 1)-ТМ М, которая будет порождать/-композицию Р последовательностей аь . . - . . ., ак.
Ограниченные во времени генераторы последовательностей 335 (а) Структура машины М М будет иметь т + 1 лент Т0, Ти . . ., Гт, каждая из которых имеет к дорожек *). Лента Т0 будет использоваться для управления порождением последовательности j3, a i-e дорожки (i = 1, 2, . . ., к) лент 7\, . . ., Тш — для моделирования машины Мг-. (б) Работа машины М Работа машины М будет состоять из последовательных этапов, каждый из которых включает к + 1 фаз. Грубо говоря, во "время г-го этапа М будет порождать 2Г символов из каждой последовательности ctj, а следовательно, столько же символов из J3. Предположим, что в начале r-го этапа М располагает следующей информацией: (i) на ленте Т0 выделен сегмент длины 2Г~1; (ii) 1-е дорожки (i = 1, . . ., к) лент Ти . . ., Тт содержат информацию, которую содержали бы ленты машины Мг- после 2Г — 1 шагов вычислений, а ячейки, на которых находились бы головки машины Мг, отмечены; (ш) для j = 1, . . ., т головка на ленте Tj помещается в ячейке, занимаемой в начальный момент, который также отмечен. Протекает r-й этап следующим образом. Фаза 0. С помощью выделенного ранее сегмента длины 2Г-1 машина М использует ленты Т0 и Т1 для выделения сегмента длины 2Г на ленте Т0. Фаза i (1 ^ i <С.к). Машина М помещает головки 1, . . ., тп в ячейки, отмеченные на 1-й дорожке каждой ленты. Затем М моделирует 2Г шагов работы машины Мг-, записывая ее выходы на i-ik дорожке ленты Т0. Сигналом для окончания периода моделирования служит достижение головкой на Т0 конца выделенного сегмента длины 2Г. Далее головка на Т0 возвращается к началу сегмента, а остальные головки возвращаются к их начальным ячейкам. Наступает фаза i + 1. Фаза к. Фаза к почти такая же, как фаза к — 1, только М вместо записи выходных символов машины М^ комбинирует их с накопленными выходами в предыдущих фазах и выдает на выход следующую 2г-вырезку из J3. (в) Скорость работы машины М Оценим время, необходимое для выполнения r-го этапа, (i) Ясно, что фаза 1 требует 2Г шагов. х) Читатель, желающий получить четкое представление о дорожкахг может считать, что на лентах Tt записываются символы из алфавита, являющегося прямым произведением к малых алфавитов.
336 П. К. Фишер, А. П. Мейер, Л. Л. Розенберг (п) Поскольку в конце (г — 1)-го этапа были порождены 2Г-1 символов из каждой последовательности at, для установления головок машины М в каждой фазе потребуется самое большее 2Г— 1 шагов. Затем в течение 2Г шагов моделируется каждая машина Мг. Возвращаясь, головки проходят самое большее 2Г+1 ячеек. Таким образом, г-ж этап, во время которого порождается 2'-вырезка из Р, требует максимум (4/с + 1) 2Г шагов. Следовательно, М работает в пределах времени Т (n) = 8kn. (Дополнительный множитель 2 необходим, так как фазы с 0 по А: — 1 протекают без выходов.) Поскольку Р принадлежит T8fen (m + 1), теорема доказана. Читатель может легко проверить, что теоремы 2.5, 2.6 и предложение 2.2 остаются в силе, если конечную функцию / заменить отображением, реализуемым обобщенной последовательностной машиной. Покажем теперь, что классы сложности для СМ не замкнуты даже относительно таких простых операций над последовательностями, как дизъюнкция. Теорема 2.7. Для любых целых чисел k, m > 0 существует т таких последовательностей aiy . . ., am, принадлежащих т £п (к + 4), что последовательность Р = V ai не принадлежит классу Сп (km) *). Доказательство. Опишем (к + 4)-СМ Mt (i = 1, . . . • . ., иг), порождающие at в реальное время. Обратим внимание на специфику машин Мг-. Для каждого целого числа г через рТ обозначим г-е простое число, и пусть пг (х) для каждого целого х будет показателем при рг в разложении х по степеням простых чисел. (а) Общее описание последовательности at Машина М* будет порождать последовательность zilwlz2lw2 . .., где zQ для каждого целого q есть последовательность из 2kq нулей, ашд — двоичное слово длины q + 1, имеющее единицы на местах Я(е-1>ь+1 (?)> • • •» nih (?). (б) Порождение последовательности аг Машина Мг будет иметь /с + 4 счетчиков: два счетчика Р{ и Р2 управления процессом, два вычислительных счетчика Сх и С2 и к порождающих- счетчиков G1? . . ., Gh. Работа машины М; будет состоять из последовательных этапов, каждый из которых содержит фазу переработки и выходную х) р является поэлементной дизъюнкцией последовательностей at.
Ограниченные во времени генераторы последовательностей 337 фазу. Во время фазы переработки g-го этапа машина М; будет выдавать zgl; во время выходной фазы она будет выдавать wQ. Выполняется это следующим образом. В начале этапа q (q = 1, 2, . . .) счетчики Р{ и С± содержат q, а все остальные счетчики пусты. (i) Фаза переработки. На протяжении всей фазы переработки Mt выдает пули на каждом шаге. На каждом 2/с-м шаге фазы переработки Мг добавляет —1 к содержимому счетчика Рх и +1 к содержимому счетчика Р2. В тот момент, когда счетчик Р± станет пустым, М, вступает в выходную фазу и выдает символ 1. Во время этой же фазы переработки Мг накапливает целое число л<г-п u+j (q) па счетчике Gj для / = 1, 2, . . ., к. Совершается это последовательным делением q на Pa-Dk+i, • • •> Pik с использованием счетчиков С\ и С2. Поскольку вычисление я7- (q) требует менее Pjq/{pj — 1) ^ 2q шагов, все эти действия могут быть совершены быстрее, чем за 2kq шагов, т. е. в течение фазы переработки. (ii) Выходная фаза. К моменту начала выходной фазы счетчик Р{ пуст, а Р2 содержит q; один из счетчиков С4 и С2 пуст (будем считать, что это С4, в противном случае можно просто поменять ролями счетчики), а другой содержит целое число, меньшее q\ каждый счетчик Gj (j = 1, . . ., к) содержит величину я7- (q). На каждом шаге выходной фазы М^ добавляет +1 к содержимому счетчиков Рх и С{ и —1 к содержимому счетчика Р 2\ кроме того, Мг добавляет —1 к содержимому счетчика С2 до тех пор, пока он но станет пустым, и —1 к каждому счетчику Gj до обращения их содержимого в нуль. Па каждом шаге выдается выход. Этим выходом будет 1, если на предыдущем шаге какой-нибудь счетчик Gj стал пустым, и О в противном случае. Когда Р2 станет пустым, М^ добавит +1 к содержимому счетчиков Рх и С4, выдаст 0 и перейдет к (q + 1)-му этапу. (в) Последовательность 0 Для каждого целого числа s >/ 0 и каждого s-набора целых чисел {уи . . ., г/*), очевидно, найдется такое целое число х, что л,- (х) — yL для i — 1, . . ., s. Далее, последовательность Р имеет вид z^w^Awo . . ., где zq — последовательность из кя нулей, a wg — двоичное слово длины q + 1, содержащее единицы на местах щ (q), . . ., лкт (q). Поэтому последовательность Р должна содержать каждую вырезку вида ()qlwlOq, где w — двоичное слово длины не более q, содержащее самое большее km единиц. Доказательство теоремы теперь сводится к повторению рассуждений, использованных при доказательстве теоремы 2.4.
338 П. Я. Фишер, А. Л. Мейер, А. Л. Розенберг Путем более хитрого программирования константу 4 в теореме, несомненно, можно уменьшить, но положить ее равной 0, по-видимому, нельзя. 3. Функции, вычислимые в реальное время Ямада [12] ввел понятие функции, вычислимой в реальное время, как удобный способ описания последовательностей, порождаемых в реальное время/ Мы продолжим работу Ямады как в направлении обобщения его результатов, полученных для ТМ, па случай СМ, так и в направлении развития общей техники для нахождения и сравнения функций, вычислимых в реальное время. Каждая последовательность а = а0, яь . . ., содержащая бесконечно много единиц, определяет строго возрастающую рекурсивную функцию: /(0) = \ху [ау = 1], f(x + l)=\iy[y>f (х) &ау = 1]. Таким образом, а есть характеристическая последовательность для множества значений функции /. Если последовательность а порождаема в реальное время, то функция / называется вычислимой в реальное время, а генератор последовательности а называется вычислителем для /. Важно отметить, что вычислитель для / не вычисляет / в общепринятом смысле слова. Мы будем говорить, что п-СМ вычисляет функцию /, если, начиная с конфигурации, имеющей на первом счетчике число х и нули па всех остальных счетчиках, она приходит в выделенное заключительное состояние с / (х) на 7г-м счетчике и пустыми остальными счетчиками. Говорят, что п-СШ вычисляет / в пределах времени (соответственно с временем) Т, если для всякого х число шагов, совершаемых машиной от начального момента с х на счетчике 1 до момента прихода в заключительное состояние, не превосходит (соответственно в точности равно) Т (х). Таким образом, не следует путать функции, вычислимые в реальное время, с функциями, которые можно вычислять в пределах медленно растущей временной функции. В самом деле, всякая рекурсивная функция мажорируется некоторой функцией, вычислимой в реальное время, так что существуют сколь угодно большие функции, вычислимые в реальное время, по требующие сколь угодно длинных вычислений. (Время, требуемое для вычисления / (х), по определению не может быть меньше / (х).) Вычислимость функции в реальное время связана скорее со свойством быть вычислимой с временем, пропорциональным ее значению. Сейчас мы формализуем это свойство.
Ограниченные во времени генераторы последовательностей 339 Функция / (х) ^ х называется самовычислимой, если найдется такое целое число к > О, что для всех х функция / (х) вычислима в пределах времени kf (x). Определение вычислимости в реальное время приводит к следующему предложению. П р е д л о ж е н и е 3.1. Всякая функция, CM- (TM-)вычислимая в реальное время, самовычислима на СМ (соответственно на ТМ). Оставшаяся часть этого раздела посвящена доказательству частичного обращения предложения 3.1. Это обращение даст сильное средство для установления вычислимости функций в реальное время. Его можно будет использовать как для упрощения общеизвестных доказательств, так и для решения некоторых открытых вопросов. Сначала введем еще одно понятие. Будем говорить, что функция / (х) ^ х строго самовычислима, если найдется такое целое число к > 0, что для всех х функция / (х) вычислима с временем к / (х). Существенную роль для дальнейшего играет Лемма 3.1. Функция f (х) ^ х самовычислима на СМ (ТМ) тогда и только тогда, когда она строго самовычислима на СМ (соответственно на ТМ). Доказательство. Достаточность очевидна, докажем необходимость. Пусть М будет ?г-СМ, вычисляющей / в пределах времени kf (х) для некоторого к > 0. Рассмотрим (п + 2)-СМ N, которая работает следующим образом. Машина N начинает вычисления с х на счетчике 1 и с пустыми остальными счетчиками. (а) N моделирует М на первых п счетчиках, добавляя на каждом шаге вычисления 1 к содержимому (п + 1)-го счетчика. После некоторого числа t ^ kf (х) шагов, когда М остановится, N будет иметь такую конфигурацию: (i) счетчики 1, . . ., п — 1 пусты; (ii) счетчик п содержит / (х); (Hi) счетчик п + 1 содержит t ^ kf (x)\ (iv) счетчик п -\- 2 пуст. (б) Теперь N начинает уменьшать содержимое счетчика п, а со счетчиками п + 1 и п + 2 поступает следующим образом. При каждом уменьшении содержимого счетчика п к содержимому счетчика п + 2 добавляется 1, а из содержимого счетчика п + 1 вычитается к до тех пор, пока счетчик п не опустошится. В некоторый мкомепт содержимое счетчика п + 1 истощится и вычитание в нем заменится сложением (т. е. мы поступаем так, как если бы счетчик п + 1 содержал —t, а мы каждый раз добавляли бы к не-
340 П. К. Фишер, А. П. Мейер, А. Л. Розенберг му к). К концу этого процесса будет совершено t + kf (х) шагов, а N будет иметь такую конфигурацию: (i) счетчики 1, . . ., п пусты; (ii) счетчик п + 1 содержит kf (x) — t\ (in) счетчик п + 2 содержит / (х). (в) Наконец, N обнуляет счетчик п + 1 и останавливается в отмеченном состоянии. Д^аким образом, после kf (x) -\- t + + kf (x) — t = 2/c/ (#) шагов N приходит в конфигурацию: (i) счетчики 1, . . ., п + 1 пусты; (ii) счетчик ?г + 2 содержит / (х). Функция /, таким образом, строго самовычислима. Поскольку ленту ТМ можно без потери времени использовать как счетчик, лемма верна и для ТМ. Используя технику доказательства теоремы 2.2, нетрудно показать, что из предложения 1.3 (ii) вытекает Лемма 3.2. Пусть М будет т-СМ, вычисляющей функцию f с временем kf для некоторого целого к > 0. Тогда для любого целого числа с > 0 можно, исходя из М, эффективно найти т-СМ. N, работающую следующим образом. Для каждого целого числа х ^ 0 машина N, начиная работу с [х/с] на первом счетчике, с пустыми остальными счетчиками и имея х'— с [х/с] в конечной памяти, приходит в отмеченное состояние за [kf (x)/c] шагов, имея при этом [f (х)1с] в последнем счетчике, пустые остальные счетчики и f (x) — с [f (x)/c] в конечной памяти г). Будем обозначать функцию, которую вычисляет машина N, через /(';>. Пусть А/ (х) = f (х + 1) — / (х) для заданной функции /. Если / — возрастающая функция, то очевидно, что Д/ принимает 'только положительные значения. Теорема 3.1. Пусть f —*строго возрастающая функция. Если функция А/ самовычислима на СМ (ТМ), то функция f вычислима в реальное время на СМ (соответственно на ТМ). Доказательство. Доказательство для ТМ в принципе не отличается, от доказательства для СМ, поэтому мы рассмотрим только случай СМ. Пусть М будет т-СМ, вычисляющей А/ с временем /сА/ для некоторого целого к > 0. Согласно лемме 3.1, такая машина М существует. Более того, в силу леммы 3.2 можно, исходя из М, получить другую т-СМ N, вычисляющую функцию Afi2h). Сейчас мы построим (т + 2)-СМ Р, вычисляющую / в реальное время. г) Для всякого действительного числа х через [х] обозначается наименьшее целое п >- х.
Ограниченные во времени генераторы последовательностей 341 (а) Структура машины Р Машина Р будет иметь два счетчика Pi и Р2 для управления процессом вычисления функции /, а также счетчики Сь . . ., Ст для моделирования машины N. Кроме того, в конечной памяти будут находиться два ограниченных регистра, которые могут принимать любое целое значение, не превышающее 2/с. (б) Работа машины Р Работа машины Р будет состоять из последовательных этапов. Для каждого целого q в начале q-vo этапа Р будет иметь значения \qi2k] на счетчиках L\ и Сь 0 на всех остальных счетчиках ид — — 2/с [q/2k] в конечно памяти. Выдавая нули на каждом шаге, Р моделирует N на счетчиках С], . . ., Ст до тех пор, пока N не закончит всех вычислений. К этому моменту счетчики Pi и Р2 не изменились, Сь . . ., Ст-{ пусты, Ст содержит [A/ (q)/2k], а шагов затрачено [kAf (q)/2k] = = [Д/(<7)/2]. Теперь Р опустошает счетчик Ст, вычитая по единице через каждые к шагов, и одновременно переносит содержимое счетчика Р[ па счетчики Р« и С{. Нетрудно видеть, что когда Ст, наконец, станет пустым, Р сможет выдать 1 после дополнительной задержки, не превышающей к шагов, и сделать необходимые приготовления для следующего этапа работы. Мы предоставляем читателю самому разобраться в деталях работы машины Р. Таким образом, q-ш этап вычисления машины Р занимает в точности А/((/) шагов. Следовательно, по индукции, если машина Р выдает 1 в момент/ (q), то следующую единицу она выдаст в момент f(q) + Ы(Ч) =f(q + 1). Иными словами, Р вычисляет / в реальное время. Из теоремы 3.1 и предложения 3.1 вытекает С л е д с т в и е. Пусть / — возрастающая функция. Если функция А/ вычислима в реальное время, то такова же и функция /. Широкое применение имеет второе следствие из теоремы 3.1 и леммы 3.1. Следствие. Пусть / — такая возрастающая самовычислимая функция, что f (х + 1) ^ af (x) для некоторого действительного числа а ^ 2 и для всех целых х. Тогда f вычислима в реальное время. Доказательство. По условию / (х) вычислима в пределах времени kf (х) для некоторого целого к > 0. Таким образом, очевидный метод вычисления А/ (х), а именно вычисления сначала
342 П. К. Фишер, А. 11. Мейер, А. Л. Розеиберг / (х), затем / (х + 1) и, наконец, их разности, требует максимум 3kf (x + 1) шагов. Поскольку / (х + 1) ^ af (x), ясно, что Д/(*) = /(* + 1)-/(*)> >/(x+i)_i^±lL=^i/(eH.1), откуда /Or+ix-^-A/or). Итак, (i) функция Д/ (#) вычислима в пределах времени [(Зка/(а - 1))] Д/ (х) и (ii) Д/ (ж) >(а - 1) / (ж) > / (г) > ж. Поэтому Д/ — самовычислимая функция, и наше утверждение следует из леммы 3.1 и теоремы 3.1. Для того чтобы оценить значение предыдущих результатов, заметим, что многие обычные арифметические функции самовы- числимы (и даже вычислимы в реальное время па СМ). Например, вычислимы на СМ в реальное время все полиномы с неотрицательными целыми коэффициентами, а также функции / (х) = сх для любого натурального с и g (x) = х\. Исходя из таких обычных функций можно вывести самовычислимость и (или) вычислимость в реальное время других функций. Для этого надо учесть только Предложение 3.2. Если функции fug самовычислимы на СМ (ТМ), то также самовычислимы и функции К (х) = / (х) + g (х)\ /г2 (х) = / (х) - g (х); hs(x) = f(x)*M; M*) = /(*)!; hb(x) = f(g(x)); М*)=2/(0; г- О ы*)=Й/(о- г=0 Доказательство. Проверка вычислимости каждой из указанных функций в пределах времени, пропорционального ее значению, представляет собой несложное упражнение. Например, чтобы вычислить f{g{%)), надо (i) вычислить g (x) за k{g (x) шагов; (ii) вычислить / (g (x)) за k2f (g (x)) шагов. Таким образом, это вычисление потребует k2f (g (х)) + kYg (x) ^ ^ (ki + k2) f (g (x)) шагов, так что функция h5 самовычислима. Остальные доказательства предоставляются читателю.
Ограниченные во времени генераторы последовательностей 343 Техника, разработанная в этом разделе, дает сильное средство для установления вычислимости функций в реальное время. Действительно, она дает возможность показать, что функции, вычислимость которых в реальное время на ТМ установлена Ямадой в работе [12], па самом деле вычислимы в реальное время и па СМ. Однако не все функции, вычислимые в реальное время по Ямаде (т. е. на ТМ), вычислимы в реальное время и на СМ — это следует из лемм 1.1 и 1.2. В качестве последнего замечания отметим, что из леммы 3.2 следует довольно сильный результат об ускорении вычислений на СМ. С помощью этой леммы можно показать, что для последовательности а, в которой единицы «достаточно удалены» *), можно получить полное ускорение для СМ. Это дополнение составляет специальный случай предложения 2.1. 4. Моделирование одной машины на другой 4.1. Моделирование СМ на ТМ Сформулируем теорему, доказательство которой приведено в работе [4]. Теорема 4.1. Для всякого заданного к-СШ-распознавателя, работающего в пределах времени Т (п) и зоны S (п), можно эффективно найти для любого е > О эквивалентный ему 1-ТМ-распознаватель, работающий в пределах времени (1 + г) Т (п) и зоны log S (п). «Полное» ускорение для ТМ-генераторов (теорема 2.1) дает следующий усиленный вариант теоремы 4.1. Т е о р е м а 4.2. СГ(7?) (к) ^ Тг(71) (4) для любого целого числа к и любой вычислимой в реальное время функции Т. Иными словами, всякую /t-CM можно заменить эффективно находимой и эквивалентной ей 4-ТМ. Интересной открытой проблемой остается вопрос: можно ли число лепт в этом случае уменьшить, скажем, до одной? 4.2. Моделирование ТМ на СМ Начнем с установления верхней границы времени, необходимого для моделирования k-ТШ на т-СШ. Т е о р е м а 4.3. Пусть М будет к-ТМ с w рабочими символами, работающей с временем Т и зоной S. Тогда найдутся такие 1) Чтобы пояснить, что значит «достаточно удалены», обозначим через da О» У") расстояние между /-и и j-й единицами в последовательности а. Будем говорить, что" и а единицы «достаточно удалены», если da(n, п + 1) J> > (1 -|- е) da (н — 1, н) для некоторого е >> 0 и всех п.
344 П. К. Фишер, А. 77. Мейер, А. Л. Розепберг константы и > 1 гг и, что для каждого целого г > 0 можно эффективно найти эквивалентную ей (2г + 1) k-CM. N, работающую в пределах времени T'(n)^v.Y [T(i) — T(i—l)]irf8MM< < г;Г (л) w;[S(n)/r] < u[T(n)/r]^ Доказательство. Докажем эту теорему для случая к = Г; распространение доказательства на общий случай не составляет труда. (а) Структура машины N Машина N имеет 2г + 1 счетчиков: i?0, . . ., /?г-ь моделирующие правую сторону ленты машины М, L0, . . ., £r-i, моделирующие левую сторону ленты машины М, Л — вспомогательный счетчик. Кроме того, конечная память машины N имеет ограниченный регистр, способный принимать неотрицательные целые значения, меньшие w. (б) Соответствие между конфигурациями Пусть М имеет рабочий алфавит {£0, . . ., Sw-{}, SQ — пустой символ. Сопоставим с каждым символом St (0 ^ i <iw) его номер \st\ = и Предположим, что в некоторый момент вычислений непустая часть ленты машины М имеет вид арар.{ . . . a0cb0bi . . . bg, а ее пишуще-читающая головка расположена против символа с. В соответствующий момент вычислений счетчик Rd (О ^ d <?') машины N будет содержать число [<7/г] счетчик Le(0^.e <Сг) машины N будет содержать число 1я/г\ Уе= Г \air+e\w\ г=0 счетчик А будет содержать 0, а ограниченный регистр — число \с \. (в) Моделирование машины М на N Предположим, что М заменяет символ с на с и сдвигает головку влево, переходя в конфигурацию арар^ . . . а0с'Ъф{ .'. . bq,
Ограниченные во времени генераторы последовательностей - 345 а ее штшуще-читаюгцая головка расположена- против символа а0. Соответственно N выполняет следующие действия. (i) Используя конечное число состояний управления, N переименовывает каждый счетчик Rd в счетчик Rd+i (0 ^ d <r — 1). Затем переименовывает прежний счетчик i?r_4 в счетчик R0 и помещает число х = xrw + с' в новый счетчик i?0 (используя вспомогательный счетчик А). (ii) Аналогично N переименовывает счетчики Le в Le_{ (1 ^ ^ е ^ г — 1), а затем прежний счетчик L0 в Lr_4 и помещает число у = [yr-Jw] в новый счетчик Lr_4 (снова используя А). (iii) Наконец, N заменяет содержимое ограниченного регистра на Уг-i — w [yr-Jw] = | а0 |. (г) Оценки времени Нетрудно проверить, что моделирование на N одного шага машины М описанным выше методом требует не более 2w(w№+Wl + н;1«Н-1)/>-]) шагов. Далее, если* М работает с зоной S (п), то для Т (i) — Т (i — 1) шагов между (i — 1)-м и i-м выходами должно быть р + q + 3 ^ ^ S (i). Моделирование на N одного шага машины М в этом временном интервале требует, следовательно, не более 4и;Г,ад/г+21 шагов. Отсюда непосредственно следует доказываемый результат. Обычно встречающийся частный случай дает интересное Следе т в и е. Пусть М будет к-ТЫ с w рабочими символами, работающей с временем Т (п) и зоной S (п) = log T (п). Тогда для любого целого q > 0 можно найти эквивалентную ей (2д + 1) /t'-CM, работающую в пределах времени Т (?г) = = v [T (;г)1+<1о£ ">)/"] для некоторого v > 0. Это следствие в свою очередь приводит к такой проблеме: О т к рытая проблем а. Существует ли для заданной ТМ, работающей с временем Т (п), эквивалентная ей по времени ТМ, работающая с зоной S (п) = log T (п)? Теперь мы докажем лемму, которая позволит установить нижнюю границу времени, необходимого для моделирования ТМ на СМ. Если сформулированная выше открытая проблема решается утвердительно, то получается неплохая нижняя оценка, в противном случае оценка будет довольно слабой. Лемма 4.1. Пусть а — бесконечная двоичная последовательность, a f и g — функции, обладающие следующими свойствами. Для бесконечно многих п ^> 0 начальная / (п)-вырезка из а содержит по крайней мере g (n) различных п-вырезок. Если а порождается
346 П. К. Фишер, Л. 77. Мейер, А. Л. Розепберг машиной т-СМ в пределах времени Г, то "Т if Ш А SUP WwH-l/m>0- п->оо g (/г) Доказательство. Пусть М будет т-СМ с q состояниями, порождающей а в пределах времени Т. Пусть wt (i = = 1, . . ., g (n)) — различные /г-вырезки в начальной / (тг)-вырез- ке из a, a tt (i = 1, . . ., g (n)) — моменты времени, в которые появляется первый знак из wt при порождении а машиной М. Поскольку все wt различны, конфигурации машины М в моменты t[, . . ., tgin) также должны быть различны. Следовательно, найдется такое наименьшее целое число d > О, что более половины из этих g (n) различных конфигураций будут попарно d-неэкви- валептны. Так как число ^-неэквивалентных конфигураций машины М не может превышать qdm, то qdm > g (ri)/2, откуда d >> kg (n)]<m, где к = (2q)-Vm. Для i = 1, . . ., g (n) обозначим через ut момент времени, в который М подает на выход последний знак из wt. Назовем ut — tt временем, требуемым для wt. Заметим, что если М находится в ^-эквивалентных конфигурациях (для некоторого е >> 0) в моменты tt и tj Ф tt, то поскольку все wt различны, время, требуемое для каждой из вырезок wt и Wj, должно превышать е. Согласно определению числа d, по крайней мере половина конфигураций машины М в моменты t{, . . ., tgUl) будут (d— ^-эквивалентны некоторым другим конфигурациям из этой же половины. Таким образом, не менее половины /г-вырезок w.{, ... . . ., wgin) требуют каждая времени не менее d. Из этих g (п)12 вырезок, требующих не менее d единиц времени, по крайней мере g (п)12п попарно не пересекаются в a (wi и Wj попарно не пересекаются, если либо ut <Ctj, либо Uj < ^). Эти непересекающиеся вырезки потребуют, следовательно, по крайней мере dg (n)/2n шагов во время порождения машиной М начальной / (тг)-вырезки из а. Тогда Т (/ (и)) > dg (п)/2п > {kin) g (n)1+1/w где к = {2m+1q)~llm, и лемма доказана. Теорема 4.4. Последовательность двоичных изображений натуральных чисел порождаема 1-ТМ в реальное время, но любой т-СМ она может порождаться только в пределах времени Т, где log пТ (п) ,х ■ П->ос П Эта последовательность очевидным образом удовлетворяет условиям предыдущей леммы с /(/?) = 2п и g (n) = 2"/3.
О граничен тле во времени генераторы последовательностей 347 Из теоремы 4.4 вытекает следующий результат, который, впрочем, вполне очевидно доказывается и средствами разд. 1.3: Следствие 4.4. Тп (1) — Сп ф 0. 4,3. (т + 1)-СМ н ш-СМ В этом последнем разделе мы исследуем время, требуемое га-СМ для моделирования СМ с большим количеством счетчиков. Соответствующая проблема для ТМ обсуждалась в [5] и [6]. Сначала заметим, что 0-СМ и 1-СМ эквивалентны машинам с конечным числом состояний (рассматриваемым как генераторы последовательностей), так что мы займемся только машинами с т >2. Следующая теорема дает грубую верхнюю оценку, которая, к сожалению, не зависит от числа счетчиков моделируемой машины М. Теорема 4.5. Для заданной СМ М, работающей в пределах времени Т (п), можно эффективно найти г-СМ (г ^ 2), работаю- щую в пределах времени Т' (п) ^'сТ (?г)1+с//(Г_1) для некоторых положительных констант с и d. Доказательство. Поскольку М работает в пределах времени Т (п), она также работает и в пределах зоны Т (п). Согласно теореме 4.1, можно найти 1-ТМ N, эквивалентную М и работающую в пределах времени Т (п) и зоны log T (п). В силу следствия из теоремы 4.3 можно для любого q > О найти (2q + 1)-СМ, эквивалентную N и работающую в пределах времени с [Т (л)]1"' (|°£ и:Уч, где w — число символов в алфавите N, а с — константа. Полагая г = 2q -\- 1 и d = 2 log w, получаем утверждение теоремы. Другие результаты, касающиеся моделирования, приведены в работе [4]. С помощью леммы 4.1 можно найти нижнюю границу для времени, требуемого г-СМ для моделирования яг-СМ. Теорем а 4.6. Последовательность ап, которая, как было показано, принадлежит Сп (т + 1) — С7г (т), требует для всякой г-СМ (г ^ т) времени Г, где n"oo /?1+[™-H-i/("4-i)r] -^ Доказательство. Заметим, что для этой последовательности f(ii)=nmJrl и g(n)=a-f(n) при некотором а > 0. Таким
343 П. К. Фишер, А. П. Мейер, А. Л. Розенберг образом, Т (/ (п)) >k[f (п)]-"<т+Ъ [af (tt)]1+1/r- Отсюда непосредственно следует теорема. СПИСОК ЛИТЕРАТУРЫ 1. Cobham A., Functional equations for register machines, Proc. Hawaii International Conference of System Sciences, 1968, pp. 10—13. 2. Fisher P. C, Turing machines with schedule to keep, Iirfonnatlun and Control, 11 (1967), 138—146. 3. Fisher P. C, Meyer A. R., Rosenberg A. L., Real-lime counter machines, Proc. Eighth Ann. Symp. on Switching and Automata Theory, 1967, pp. 148—154. 4. Fisher P.,C, Meyer A. R., Rosenberg A. L., Counter machines and counter languages, Math. Syst. Theory, 2 (1968), 265—283. (Русский перевод: Фишер П., Мейер А., Розенберг А., Счетчиковые машины и счетчиковые языки, сб. «Проблемы математической логики», изд-во «Мир», М., 197»), стр. 380-400.) 5. Hartmanis J., Stearns R. E., On the computational complexity of algorithms, Trans. Amer. Math. Soc, 117 (1965), 285—306. (Русский перевод: Хартманис Дж., Стирпз Р. Е., О вычислительной сложности алгоритмов, Кибернетический сборник (новая серия), вып. 4, изд-во, «Мир», М.т 1967.) 6. Hennie F., Stearns R. E:, Two-tape simulation of multitape Turing machines, J. Assoc. Comput. Mach., 13 (1966), 533—546. (Русский перевод: Xeiiiiii Ф., Стирнз Р. Е., Моделирование многоленточной машины Тьюринга на двуленточной, сб. «Проблемы математической логики», изд-во «Мир», М., стр. 194—212.) 7. Meyer A., Rosenberg A., Fisher P., Turing machines with several read- write heads, Proc. Eighth Ann. Symp. on Switching and Automata Theory, 1967, pp. 117—127. 8. Minsky M., Recursive unsolvability of Post's problem of tag and other topics in the theory of Turing machines, Ann. Math., 74 (1961), 437—455. 9. Rabin M., Real-time computation, Israel J. Math., 1 (1963), 203—211. (Русский перевод: Рабин M., Вычисления в реальное время, сб. «Проблемы математической логики», изд-во «Мир», М., 1970, стр. 156—167.) 10. Rosenberg A., Real-time definable languages, J. Assoc. Comput. Mach., 14, 4 (1967), 645—662. (Русский перевод: Розенберг А., Языки, определимые в реальное время, сб. «Проблемы математической логики», изд-во «Мир»", М... 1970, стр. 168—193.) И. Thue A., "fiber die Gegenseitige Lage Gleicher Tcile Gewisser Zeichenreiben, Mat. Nat. Klasse, 1, Kristiana (1913). 12. Yamada IK, Real-time computation and recursive functions not real-time computable, IRE Trans. E.C., 11 (1962), 753—760. (Русский перевод: Яма да X., Рычнсления в реальное время и рекурсивные функции, не вычислимые в реальное время, сб. «Проблемы математической логики», изд-во «Мир», М., 1970, стр. 139 — 155.)
ВЫЧИСЛЕНИЕ С ОГРАНИЧЕННОЙ ГЛУБИНОЙ г) X. Р. Стронг 1. Введение Перед теорией сложности в настоящее время стоит задача классификации вычислений .методом, наиболее приспособленным как к дальнейшему теоретическому изучению, так и к приложениям в программировании и разработке машин. Требуемая классификация, очевидно, находится где-то между трактовкой каждого отдельного шага как самостоятельного вычисления, отличного от любого другого, и совместным рассмотрением всех вычислений, занимающих, например, определенное количество времени на некоторой фиксированной машине. Для измерения сложности вычислений вводилось большое число параметров. Можно надеяться, что изучение отношений между этими мерами создаст идеальную комбинацию для целей требуемой классификации. Блюм [1] указал ряд необходимых свойств для любой меры сложности вычислений. В частности, он потребовал, чтобы мера была конечна тогда и только тогда, когда вычислительный процесс сходится, и чтобы она была эффективно вычислимой. Однако одно из важных свойств меры глубины вычисления, введенной в настоящей статье, состоит в том, что она может быть определена и конечна даже для вычислительных процессов, которые не сходятся. Неизвестно, будет ли рассматриваемая мера эффективно вычислимой, по ее сужение на сходящиеся процессы является таковым. Машей целью было создание меры, отражающей естественные свойства программ, написанных на языке, допускающем максимальную степень распараллеливания. Соответствующий язык программирования (язык однородных рефлексивных структур, или сокращенно ОРС-язык), основанный на аксиоматической теории частично рекурсивных функций, введен в [2] и в дальнейшем изучался в [3]. Эта мера не является мерой распараллеливания как такового, но является величиной, ограничивающей (сверху) длину последовательности элементарных вычислений, каждое из которых приостановлено до исполнения предыдущего. Глубина вычисления может мыслиться как требование на способ запоминания. Это требование более сходно с «произведением числа состояний на число символов» для машин Тьюринга Л) Strong H. R., Depth-bounded computation, /. Сотр. Syst. Sci., 4, 1 (1970), 1 — 14.
350 X. Р. С трот и с мерами типа длины программы, чем с зоной или любой другой сигнализирующей [1]. Язык ОРС предлагается не как практический язык программирования, а скорее как инструмент для изучения распараллеливания. Однако его модификацию можно использовать в качестве языка программирования сравнительно низкого уровня, в котором можно выразить такие функциональные языки программирования, как ЛИСП. Язык ОРС включает в себя операторы, аналогичные операторам комбинаторной логики (для сравнения см. [4]). Вычисление в ОРС-языке состоит из последовательности дискретных изменений, приводящих к выражению, изображающему одновременно «программу» и «результат». В процессе большинства вычислений невозможно найти различия между ними. Получающееся здесь распараллеливание возникнет из-за того, что дискретные изменения можно провести независимо в различных частях выражения таким способом, что порядок их применения не изменит результат. Наше распараллеливание находится в таком же отношении к распараллеливанию, введенному в работе [5], в каком находятся функциональный язык программирования и язык блок-схем. Понятие ограниченной схемы из [5] соответствует здесь понятию индекса (т. е. программы), который имеет общую границу глубины для вычислений функции при различных аргументах. Однако многие аспекты распараллеливания в функциональных языках программирования не используются в ОРС-модели. Эта модель является детерминированной, так что вопросы детерминизации, исследовавшиеся в [5], здесь не встают. Более того, в то время как в [5] внимание концентрируется на проблемах разрешимости для схем, наша статья придает особое значение свойствам глубины как меры сложности вычислений частично рекурсивных функций. 2. Предварительные определения Основными операторами ОРС-языка являются А и Е (А Ф Е), удовлетворяющие следующим правилам применения к нормальным выражениям языка (которые будут определены ниже): (1) Axyz = xz (yz), Г х. если w = z, (2) Ewxyz = \ { у в противном случае. Заметим, что опущенные скобки понимаются поставленными в естественном порядке; так, Axyz — это сокращенная запись для ((Ах) у) z. Дополнительный оператор, необходимый и достаточный для вычисления частично рекурсивных функций па множестве натуральных чисел, обозначим через S. (3) Sx есть выражение в нормальной форме для х + 1, если х — выражение в нормальной форме для натурального числа; Sx = А в противном случае.
вычисление с ограниченной глубиной 351 Операторы В и / можно выразить через А и Е, но мы приведем их здесь для удобства: (4) Вху = х, (5) 1х = х'. Чтобы попять, как действуют эти операторы, быть может, будет полезно проверить, что I = А (ЕАЕ) (ЕЕЕЕ) и В = = Л (ЕЕ) I. Выражения в нормальной форме определим индуктивно: (а) А, Е, S, В и I — выражения в нормальной форме; (6) для каждого натурального числа п существует единственное выражение в нормальной форме п (А, Е, S, В и / не являются выражениями в нормальной форме для натуральных чисел); (в) если х, у и z — выражения в нормальной форме, то таковы же и Ах, Аху, Вх, Ex, Exy, Exyz. . Вычислением в ОРС-языке называется последовательность ,деревьев, где дерево определяется индуктивно: (а) если х — выражение в нормальной форме, то [х] — дерево; (б) если t и и — деревья, то [tu] — дерево. Двумерные и линеаризованные изображения деревьев для удобства*отождествляются; таким образом, дерево — это бинарное дерево в смысле теории графов с выражениями в нормальной форме в качестве листьев. Последовательность деревьев является вычислением, если каждое последующее дерево получается из предыдущего при помощи одного из следующих правил замещения (w, х, у и z — произвольные выражения в нормальной форме): (1) если Р — оператор А, Е или В, то [[Р] [х]] -> [Рх]; (2) если Р — оператор А или Е, то [[Рх] [у]] -> [Рху]; (3) ИАху] Ы] -> [[Ы Ы] Цу] [z]]]; (4) [[Exy] [z]]-+[Exyz]; [ Ы, если w = z, (5) HEwzy] [z]] -> f 1 (^ [у\ в противном случае; (G) [[S] [п]]-*[п + 1]; (7) [[S] [х]] -> [А], если х не является выражением в нормальной форме для натурального числа; (8) \[Вх] Гг/]]->Ы; (9) [Ш Ы1->Ы. Наиболее важные замещения показаны в двумерной форме на рис. 1. Вычисление называется завершаемым, если существует конечная последовательность деревьев, последнее из которых имеет единственный лист. Последовательность деревьев называется сокращенным вычислением, если каждое последующее дерево получается из предыдущего при помощи всех одновременно применимых правил, замещения.
352 X. Р. Стронг Пример завершаемого вычисления и соответствующего ему завершаемого сокращенного вычисления приведен на рис. 2. Аху Exyz ш (шфх) S п Рис. 1. Примеры правил замещения в ОРС-языке. MBS) 5 BS 5 5 5 5 5 5 A(BS)S 5 V V S V S 6 A(BS) S BS 5 S 5 5 A(BS)S 5 V V 5 6 P и с 2. Завершаемое вычисление и соответствующее ему завершаемое сокращенное вычисление. Вычисление (и сокращенное вычисление) называется полным, если его нельзя продолжить. 3. Деревья и глубина вычислений Теорема 1. Для любого дерева t существует единственное полное сокращенное вычисление, начинающееся с t. Более того, если завершаемое вычисление начинается деревом t, кончается деревом и и содержит точно п деревьев, то любое вычисление, начинающееся с t, можно продолжить до завершаемого вычисления, кончающегося деревом и и содержащего точно п деревьев. Глубиной дерева называется длина самой длинной его ветви; так, глубина дерева [[А] [В]] равна 1, а глубина дерева [А] равна 0. Теорема 1 доказывается индукцией по глубине дерева t. Доказательство предоставляется читателю. Глубиной последовательности деревьев называется максимальная глубина (возможно, бесконечная) ее элементов. Доказатель-
Вычисление с ограниченной глубиной 353 ство теоремы 1 можно легко продолжить до доказательства следующей теоремы. Теорема 2. Глубина полного вычисления однозначно определяется начальным деревом и равна глубине соответствующего полного сокращенного вычисления. - На рис. 3 приведен пример полного незавершаемого сокращенного вычисления глубины 2. Каждое полное вычисление глубины 1 завершаемо. Дерево t называется индексом частично рекурсивной функции / от п переменных, если для любых аь . . ., ап существует полное / All I АН АП АН \/ V/ All All \/ ~ v7 ч/ Р и с. 3. Полное незавершаемое сокращенное вычисление глубины 2. вычисление (называемое вычислением функции / (аь . . ., ап) при помощи t), начинающееся с [. . . [[t [aj] [а2]] . . . [ап]], которое завершается на I/ (с4, . . ., ап)], когда значение / (аи . . ., ап) определено, и не завершается в противном случае. Здесь / предполагается функцией, определенной на множестве натуральных чисел. Для других видов функций определение аналогично. Легко показать, что если функция / имеет индекс, то он имеет вид Ы, где х — выражение в нормальной форме. На рис. 2 дерево НА (BS)] IS]] является индексом для функции / (а). = а + 2; таково же дерево [A (BS) S]. Дерево t сходится к дереву и, если существует вычисление, начинающееся с t и кончающееся на ui Дерево t порождает дерево и, если существует вычисление, начинающееся с £и содержащее и. Сформулируем основной результат данной статьи *): х) Восходящая к Черчу (см. Kleene S. С, ^-definability and recursiveness, Duke Math. /., 2 (1936), 340—353) задача выражения рекурсивных функций или других алюритмичсскнх систем в терминах комбинаторной логики привлекла внимание многих авторов. Возможность такого представления в некоторых расширениях комбинаторной логики (отличных от ^-конверсии Чёрча) показана в статьях К earns .1. Т., Combinatory logi-c with discriminators, Journ. Sytnb. Logic, 34/4 (1969), 561—575 (для машин Тьюринга), Gilmore P. S., The lambda — gamma calculus: a language adequate lor delining recursive linielions, Inform. Sci., 2 (1970), 111—126 (для рекурсивных функций) и Шабунпн Л. В., Вариант комбинаторной логики с дискриминаторами, Вестник Моск. ун-та, матем., мсхан., 4 (1972), 53—58 (для нормальных алгоритмов). Представление рекурсивных функций в «чистой» комбинаторной логике анонсируется в заметке Curry H. В., The undecidability of ^-conversion, Found. Math., Berlin — Heidelberg — New York, 1969, pp. 10—14. 2^ — 01321
354 X. Р. С трот Теорема 3. У любой частично рекурсивной функции f есть такой индекс t, что глубины всех вычислений f при помощи t равномерно ограничены сверху конечным числом d (/). Следствие 1. Для любого положительного целого числами существует такое положительное целое число Dn, что каждая частично рекурсивная функция f от п переменных имеет такой индекс t, что все вычисления f при помощи t ограничены по глубине числом Dn. Доказательство теоремы 3 основано на нескольких леммах. Лемма 1. Пусть х — выражение в нормальной форме, не совпадающее с А, В и /. Пусть t (x) — дерево глубины dy в которое х может входить только как лист (не входит ни в какое другое выражение в нормальной форме). Тогда существует дерево axt (x) и выражение в нормальной форме Xxt (x), удовлетворяющие следующим условиям: (1) глубина дерева axt (x) не больше 2d + 1; (2) листьями дерева axt (x) являются А, В, I или листья дерева t(x), отличные от х, так что х не входит в axt (x), т. е. играет роль фиктивной переменной; , (3) axt (x) сходится к [Kxt (x)] с глубиной 2d + 1; (4) если у — выражение в нормальной форме, то [[Kxt (x)] [у]] порождает t (у) с глубиной d + 1, где t (у) — результат замещения всех вхождений х в дерево t (x) на у. Доказательство. Проведем индукцию по d. Случай 1. d = 0. Положим axt (х) = [/], если t (х) = [х]г и axt (х) = [[В] [w]], если t (х) = [w\ и w Ф х. Тогда Xxt (х) = I или Bw, а значит, axt (x) сходится к [kxt (x)] с глубиной 0 или 1 соответственно. Если у — выражение в нормальной форме, то [[Л [у]] сходится к [у] и [[Bw] [у]] сходится к [w] с глубиной 1. Подробные доказательства можно найти в работах: Hindley J. R., Lercher B.r Seldin J. P., Introduction to combinatory logic, Cambridge, 1972, Сшту Н. В., Feys R., Combinatory logic, II, Amsterdam, 1972; Шабунин Л. В., О норазре- ншмости некоторых формальных систем комбинаторной логики, Вестник Моск. ун-та (в печати); в [3] и в настоящей статье, которая интересна слож- ностными оценками. Интерес к комбинаторной логике в последние годы возрос в связи с попытками применить ее аппарат к описанию языков программирования. При таком описании существенна не только выразительная сила операторов, но и сложностные оценки. Становится все более распространенным представлять программу в виде дерева. Возможно, что указанный подход к описанию языков программирования окажет стимулирующее влияние и па исследование операторов несколько более общего вида, чем в комбинаторной логике.— Прим. ред.
Вычисление с ограниченной глубиной 355 Случай 2. Предположим, что лемма 1 верна для глубины меньше d, d> 0. Так как d >> 0, то t (x) = [и (х) и (х)], где и (х) и и (х) — деревья с глубиной меньше d и с х, входящим лишь в качестве листа. Положим axt (•*') = ШЛ] ахи (х)] axv (x)]. Тогда \xt (х) = Акхи (х) Kxv (x), и глубина вычисления от axt (x) до Ykxt (x)] равна наибольшему из чисел (2 + глубина вычисления от ахи (х) до [Ххи (х)]) и (1 + глубина вычисления от axv (x) до [kxv (х)]). Это. наибольшее число не больше 2 (d— 1) + 1 + + 2 = 2d + 1. Таким образом, глубина дерева axt (x) не больше 2d + 1. Если у —выражение в нормальной форме, то Wkxt (x)] [у]] порождает [[[Хта (х)] [у]] [Ykxv (x) [у]]] (с глубиной*2), а последнее порождает [и (у) и (у)] = t (у) с глубиной (d — 1) + 1 + 1* = = d + l. Лемма 1 доказана. Иллюстрация дана на рис. 4. £2 з tf£2) = £2 AI ВЗ А V Л' А1(ВЪ) IeV/ 1^А[АЦВЪ)) I -А(А1(ВЪ))1 =AEZt(EZ) А(А1(ВЪ))1 В №Zl(EZ) В I В ВЪ В А\(ВЪ) I В sB В 3 Р и с. 4. Применение доказательства леммы 1 к t (E2). Следствие 2 доказывается по индукции. Доказательство предоставляем читателю. 23*
356 X. Р. С трот Следствие 2. Пусть t (хи . . ., хп) — дерево глубины d с п (>1) выражениями в нормальной форме хи . . ., хп (не равными Л, В, I), которые могут входить в t (хи -. . ., хп) только в качестве листьев. Тогда существуют дерево aXn,...,xi t {xu . . ., хп) и выражение в нормальной форме Кх{ . . . xnt (х{1 . . ., «гп), удовлетворяющее следующим условиям: (1) глубина дерева аХп Xi t (х{, . . ., хп) не больше 2п (d + + i)-i; (2) листья дерева ос^д, ...>3C1 t (x^ . . ., хп) —это А, В, I или листья дерева t (х^, . . ., хп), отличные от х{, . . ., хп; (3) ахд,..., oci t (%1-> • • •-> хп) сходится к [Хх{ . . . xnt (х±, . . ., хп)] с глубиной 2п (d + 1) — 1; (4) если г/i, . . ., ут —выражения в нормальной форме (пг ^ ^ п), то [. . . ЦХх1 . . . xnt fa, . . ., хп) [г/J] . . . [ут]] порождает аХПу ..., Xm+i t {yu . . ., утхт+и . . ., хп) с глубиной 2й"1 (d + 1) + т — 1. Заметим, что axt (x) и %xt (x) не зависят от х. Таким образом, наличие таких символов, как х и г/, в выражениях в нормальной форме и наличие таких выражений в нормальной форме в деревьях не приведет к путанице. Мы будем называть результат замещения выражения в нормальной форме переменной в дереве или в выражении в нормальной форме соответственно деревом или выражением в нормальной форме. Это всего лишь способ избежать таких выражений, как «пусть х{, х2 и х3 — различные выражения в нормальной форме, не равные А, В и /». Следующая лемма устанавливает существование индекса для функции, находящей неподвижную точку v). Лемма 2. Существует такое выражение в нормальной форме р, что для любых выражений в нормальной форме х и у дерево [[р] \х]] сходится к дереву [щ] с глубиной 07 и дерево ffcp.r] [//]] порождает [[[х] [ух]] \у]] с глубиной 18. Доказательство. Пусть t (хц хъ х3) = [[[х{] [[х2] [хг]]] [х3]], U = CLX3tx2,Xit(Xi, Х2, Х3), P = CCX[[U[X]][U[X]]]. Тогда щ = %x3t (x, %x2x3t (хи х2, х3), х3), а р и щ обладают нужными свойствами. 2) В терминологии этой статьи неподвижная точка для функции — это индекс, который воспроизводит себя- в процессе вычисления как аргумент одного из своих аргументов (трактуемый как индекс) и делает возможной общую рекурсию.
Вычисление с ограниченной глубиной 357 Это проиллюстрировано на рис. 5. Стрелка между деревьями показывает, что левое дерево порождает правое с глубиной, ограниченной числом, написанным над стрелкой. Числа получены применением леммы 1 и ее следствия. Числа сами по себе не имеют значения, так что детали вычисления опущены. Важно, что р — индекс всюду определенной и х и х ^ р х 67 у у 33 /Лхга;31(х,х2,х3) Ax2x3t(x,xvx3) \ ' i ■ SX aX3t(xJxzx3t(x,x2,x5),x3)Zfx j 1 1 AZzX^tfaXfrXs) AX^X^XjX^^X^J J ^ y^t^X2X3t(X^fIg);l/)^V<^ У Д- УУ Рис. 5. Иллюстрация леммы 2; p — индекс функции, находящей неподвижную точку. функции одной переменной, глубина вычисления которой равномерно ограничена. Если х как индекс функции двух переменных имеет равномерно ограниченную глубину вычисления, то это же относится и к ф,г как индексу функции одной переменной. Функция / называется вычислимой с равномерно ограниченной глубиной, если у нее есть индекс с равномерно ограниченной глубиной вычисления (по всем ее аргументам). В доказательстве теоремы 3 «функция» означает «функция, отображающая множество натуральных чисел в множество натуральных чисел». Доказательство теоремы 3. Класс частично рекурсивных функций определяется [0] как наименьший класс функций, содержащий функции 5 (а) =~- а + 1, N (а) = 0, Щ (<7|, . . ., а1}) =-- at (1 ^ i ^ п) и замкнутый относительно композиции, примитивной рекурсии (всюду определенных функций) и минимизации (всюду определенных функций). Мы покажем, что класс функций, вычислимых с равномерно ограниченной глубиной, удовлетворяет этим требованиям (должно быть ясно, что любая функция, имеющая индекс, частично рекурсивна). Индексом для функции х + 1 является [S]. Его глубина равномерно ограничена числом 1. Индексом постоянной функции,
353 X. Р. Строиг равной 0, является [50]; его глубина также равпомерпо ограничена числом 1. Индексом для Щ является \*кхх . . . хп [#/]]; его глубина равномерно ограничена числом 2й"1 + п —1. Если функция / вычислима с равномерно ограниченной глубиной, то обозначим через d (/) наименьшую из границ. Таким образом, d (S) = 1, d (N) = 1 и d (Щ) не больше 2й"1 + п — 1. Композиция Предположим, что функция / от п переменных получается из функции g от т переменных и функций hu . . ., hm от п переменных при помощи композиции / («1» • • .» ап) = g (hi fai, • • •> ап), • • -, Кг (aii • • •» ап)) и границы глубины d (g), d(k1)^ . . ., d (hm) достигаются соответственно индексами и, vu . . ., ит. Дерево t (х,, . . ., хп), изображенное на рис. 6, имеет глубину df ^ max (d (g) + т, d (h^) + m, d (h2) + m — 1, . . ., d (hm) + i) и для любых а1? . . ., an вычисление, начинающееся с t (au . .., ап), d(g)+m c/(/]j)+m фт)+1 Р и с. 6. Композиция функции с индексом и и функции с индексами *>1> • • •» vm- имеет глубину, ограниченную числом dt. Если значение/(al7 ... ...,ап) определено, то t(du ..., ап) сходится к [/(я4, ...,а,;)]. Таким образом, [Ъ^ . . . xnt(xu . . ., хл)] — индекс для / и d(f)^. <^2n-i(dt + l) + n-l).
Вычисление с ограниченной глубиной 359 Примитивная рекурсия Предположим, что функция / от п + 1 переменных получается из всюду определенной функции g от п переменных и всюду определенной функции h от п + 2 переменных при помощи примитивной рекурсии /(О, аи . . •,a„)=g(al, . . .,ап), /(а-| 1, аи . . .,an) = h(a, /(а, а4, . . ., ап), аи . . .,а71) и границы глубины d (g) и d (h) достигаются соответственно индексами и и v. В дереве / (w, х{, . . ., хп, у, z, х), изображенном и г t(w,xt,...,in,y,z,:r) = фа) Хх t'(xfx1,...,xn) Р и с. 7. Построение примитивной рекурсии, примененной к всюду определенным функциям с индексами и и v, при помощи неподвижной точки фсо. на рис. 7, w играет роль неподвижной точки для искомой функции *), z —роль счетчика и у — роль накопителя. Дерево имеет глубину dt ^ d (h) + 5. Дерево tr (.г, х^, . . ., хп), изображенное па рис. 7, имеет глубину dv ^ d (g) -f- 3. Для любых а, <7Ь . . . 2) Вместо переменной и; дерева t подставляется запись оператора, вычисляющего «дерево» t но его переменным, в который вместо переменной w заранее подставлена его запись.— Прим. ред.
360 X. Р. Стронг . . ., an дерево t' (a, au • • .» йп) сходится к [/ (a, ab . . ., a77)], как показано на рис. 8. Таким образом, [%xxi . . . xnt' (х, хи . . . . . ., хп)\ — индекс для / и d (/) < шах (2П+3 (d (Л) + 6) + /г + 5, 2n (d (я) + 4) + и), что также показано на рис. 8. . г йп Zn(dt'+\)+n max(d(g)+3,^20,2n+5(cft+1)+n+3) '\/ " t'(a,at,...,an) "%цй,,...,оп,д(а^)Да) max(d(W+/7 +8, n+ZZ,2 л+3(dt+1) +л +3) a=0 g(alf...f(in) 4- ^2 t(ya;,oj,...tan,/7f0,g(o1,...,fln),fl1,...,on),T,a) и т.д. P и с. 8. Примитивная рекурсия. На рис. 7 и 8 через со обозначено Xwx{ . . . xnyzxt (и\ х[щ . . * . . ., хп, у, z, .г), а через со' обозначено Ххх\ . . . xnt' (.г, .гь . . . . . ., хл). Минимизация Предположим, что функция / от п переменных получается из всюду определенной функции g от п + 1 переменных при помощи минимизации / (аи . . ., an) = min a, # (a, я4, . . ., an) = 0, если такое число а существует, и граница глубины d (g) достигается индексом и. Деревья t (w, xu . . ., xn, z) и /' (xi4 . . ., хи). изображенные па рис. 9, играют ту же роль, что и па рис. 7. Они имеют глубину dt ^ шах (5, и + 3, d (g) + 2) и dv = n -f + 1. Если значение / (я, ап) определено, то t' (аи • • •> cin) сходится к [/ («!, . . ., ап)\, как показано па рис. 10. В этом случае [Ъ", . . . xut' (.г,, . . ., .т„)] —индекс для / и d (/) < max (2n+1 (d (g) + 3) + n + 1, л + 21).
Вычисление с ограниченной глубиной 301 Па рис. 9 и 10 со обозначает %wx[ . . . xnt (w, х1ч . . ., хп, z) и со' обозначает Хх^ . . . xnt' (x{, . . ., хп). Доказательство теоремы 3 закопчено. В z w х1 X х. v tr(xilt.»txn)- Y у Рис. 9. Построение минимизации всюду определенной функции с индексом и при помощи неподвижной точки фсо. U)' Of l q 2n-1Wt'-i-1)+n-1 2п+,(^1)+/7+1 тах(п+21,%)+2)/ f(<V--,a„) *UVw»ai an*°) / 0 г--—уд(о,оп-,оп)=о t((pu),aXl...1at]J\)J-< и т.д. Рис. 10. Минимизация. Следствие 1 легко получить, рассматривая универсальную функцию от п + 1 переменных. 4. Гёделевская нумерация и измерение сложности вычислений Гёделимциеи, или гёделевской нумерацией, частично рекурсивных функций называется отображение множества натуральных чисел на множество частично рекурсивных функций (одной перс1-
362 X. Р. Стронг менной), обладающее некоторыми свойствами «эффективности» *). Роджерс [7] показал, что любые две гёделизации рекурсивно изоморфны. Следовательно, любая гёделизация может быть «эффективно достигнута» из любой другой. Существует следующая гёделизация п. Пусть п — код рекурсивного происхождения функции /, т. е. код последовательности композиций, примитивных рекурсий, минимизаций и элементарных функций, которая является рекурсивным порождением функции /. Тогда я (п) = /. Следствие 3. Пусть я — гёделизация частично рекурсивных функций. Тогда существует такая общерекурсивная функция /, что f (п) ^ d (я (п)). Кроме того, существует такая общерекурсивная функция g, что g (n) ^ Dn. Аксиомы Блюма можно интерпретировать в контексте данной статьи как требования, чтобы мера была эффективно вычислимой (частичной) функцией, отображающей множество деревьев (или хотя бы множество пар индекс-аргумент) в множество натуральных чисел, которая определена на дереве тогда и только тогда, когда соответствующее вычисление сходится и множество пар (t, п), где п —мера сложности для t, вычислимо. Теорема 3 показывает, что глубина вычисления не может удовлетворять этим аксиомам. Следствие 3 относится к типу результатов, которые нельзя получить для мер сложности, удовлетворяющих этим аксиомам. Минимальная глубина вычисления (как функция индекса) ограничена общерекурсивной функцией. Неизвестно, вычислимо ли множество пар (t, п), где п —максимальная глубина вычисления, начинающегося с t. Известно, что функция h (n) = d (я (п)) в следствии 3 не рекурсивна. Теорема 4. Пусть я — гёделизация частично рекурсивных функций. Тогда h (п) = d (я (п)) —не рекурсивная функция. Доказательство. Доказательство основано ла теореме Раиса (см. [8]). Результат, который нам нужен, таков: если некоторое множество чисел есть прообраз множества частично рекурсивных функций при гёделизации я, то это множество чисел либо пусто, либо совпадает с натуральным рядом, либо нерекурсивно. Функция h (n) = d (я (п)) всюду определена, так что если бы она была рекурсивной, то множество чисел п, для которых h (лг) = 1, было бы рекурсивным. Это множество непусто и не совпадает с множеством натуральных чисел. В то же время это прообраз при отображении я множества частично рекурсивных функций, равномерно вычислимых с глубиной 1. Следовательно, функция h не может быть рекурсивной. 2) См. [1] или [7]. Предполагается, что читатель знаком со свойствами гёделизации.
Вычисление с ограниченной глубиной 363 5. Заключение Из всех мер, применяемых в машинах Тьюринга для измерения (сложности) частично рекурсивных функций, произведение числа состояний и числа символов в рабочем алфавите кажется наиболее близким к мере глубины вычисления. Оно обладает свойством, аналогичным следствию 3. Сравнение меры глубины вычисления с другими мерами сложности вычислений дает следующий список свойств, который можно использовать для классификации ме£ сложности: (1) мера конечна для любого вычисления; (2) мера не зависит от аргументов; (3) для любой частично рекурсивной функции существует индекс с общей минимальной мерой для всех аргументов; (4) любая частично рекурсивная функция имеет индекс с общей границей сложности вычислений; (5) максимум минимумов мер (сложности) вычислений частично рекурсивной функщиГот п переменных существует и как функция от п ограничен общерекурсивной функцией; (6) мера — эффективно вычислимая (частичная) функция; (7) множество троек (индекс, аргумент, мера) вычислимо; (8) мера определена тогда и только тогда, когда вычисление сходится. Мера глубины сложности обладает свойствами (4) и (5); относительно свойств (3), (()), (7) вопрос открыт. Произведение числа символов и числа состояний в рабочем алфавите обладает свойствами (1) — (7). Блюмовский подсчет шагов обладает свойствами (0) — (8) и не обладает свойствами (1) — (5). СПИСОК ЛИТЕРАТУРЫ 1. Blum M., A machine-independent theory of the complexity of recursive functions, /. Assoc. Comput. Machinery, 14, (1967), 322—336. (Русский перевод: Блюм М., Машинно-независимая теория сложности рекурсивных функций, сб. «Проблемы математической логики», нзд-во «Мир», М., 1970.) * 2. Wagner E. G., Uniformly reflexive structures: Towards an abstract theory of computability. Research Report RC 934, IBM Watson Research Center, Yorktown Heights, New York (1963), Doctoral Dissertation, Columbia University, 1903 (не опубликовано). 3. Strong II. R., Algebraically generalized recursive function theory, IBM J. Res. Develop., 12 (1968), 465—475. 4. Curry II. В., Feys R., Combinatory logic, Amsterdam, 1958. 5. Karp R. M., Miller R. E., Parallel program schemata, /. Comput. Syst. . Sci., 3 (1969), 147 — 195. 6. Davis M., Computability and unsolvability, New York, 1958. 7. Rogers H., Jr., Godel numberings of partial recursive functions, /. Symb. Logic, 23 (1958), 331-341. 8. Роджерс X., Теория рекурсивных функций и эффективная вычислимость, нзд-во «Мир», М., 1972.
VI. СЛОЖНОСТЬ И СЛУЧАЙНОСТЬ О ПОНЯТИИ СЛУЧАЙНОСТИ !) П. Мартии-Лёф Эта статья посвящена понятию случайности, изучавшемуся фон Мизесом, Вальдом и Чёрчем. Ради простоты будем рассматривать только бесконечные последовательности Х^Хо ... Х-^ • • • цифр 0 и 1, получающиеся в результате бросания идеальной монеты. Применительно к этому случаю формулировка Чёрча [1] мизесовского определения случайности такова: Во-первых, требуется, чтобы предельная частота была равна 1/2, т. е. где sn = Xi + х2 + . . . + хп. Во-вторых, это требуется не только для первоначальной последовательности, но и для каждой бесконечной последовательности %т%п2 • • •.» получающейся, если взять рекурсивную функцию /, определенную для всех конечных двоичных последовательностей и принимающую значения Он 1, и выбирать последовательно те индексы п, для которых / (х{х2 • • • хп-\) = 1- Последовательности, удовлетворяющие этому определению случайности, образуют множество вероятности 1 относительно меры и, при которой все координаты независимо принимают значения 0 и 1 с вероятностью 1/-2. Рекурсивная последовательность обязательно неслучайна. Серьезный недостаток этого определения был обнаружен Вил- лем [5]. Он показал, что существуют последовательности, удовлетворяющие этому определению, но тем не менее обладающие *) Martin-Lof P., On the notion of randomness, в. сб. Inluitionism and Proof Theory под. ред. Kino A., Myhill J., Vesley R. E., N.-J., 1908, pp. 73 — 78.
О понятии случайности 365 свойством - — >у для всех п, вероятность чего, очевидно, равна 0. Таким образом, мизесовское определение оказывается в значительной степени произвольным. Даже такое свойство, как колебательное поведение относительных частот, не обязательно выполняется для последовательностей, случайных в его смысле. В теории вероятностей дело обстоит следующим образом. Как только мы доказали, что определенное свойство, такое, как закон больших чисел, 1 • Sn 1 lim"7T=T' 1 V2 ' имеет вероятность 1, мы говорим, что это — свойство случайности. Однако, когда мы пытаемся в рамках классической математики определить последовательность как случайную, если она обладает всеми свойствами случайности, мы приходим к пустому понятию, потому что все дополнения одноточечных множеств имеют вероятность 1 и, следовательно, пересечение всех множеств вероятности 1 пусто. При таком определении никакая последовательность не была бы случайной. Чтобы избежать этого парадокса, порожденного классической концепцией совокупности всех множеств вероятности 1, ограничимся гиперарифметическими множествами или, что эквивалентно, свойствами, выразимыми в конструктивном инфинитарном пропозициональном исчислении. Это можно рассматривать как конструктивный вариант ограничения борелевскими множествами, которое обычно принимается в теории вероятностей. Действительно, конкретные борелевские множества, рассматриваемые там, всегда получаются применением борелевских операций к рекурсивным последовательностям ранее определенных множеств, что как раз и означает, что они являются гиперарифметическими. Наша главная цель — доказать следующую теорему. Теорема 1. Пересечение всех гиперарифметических множеств меры 1 есть ^-множество меры 1. Доказательство. Применяя неконструктивные методы доказательства, сразу видим, что пересечение всех гиперарифметических множеств меры 1 также имеет меру 1, потому что существует не более счетного числа таких множеств. Было бы жела- или закон повторного логарифма, ■р sn — l/2n hm — П-*оо V П l0£ log 71
366 П. Мартин-Леф тельно дать конструктивное доказательство, но для этого нужна коыструктивизация теории меры в применении к 2}- и Щ-миоже- ствам вообще. Мы удовлетворимся замечанием, что предложение, которое будет доказано, т. е. что мера определенного ^-множества равна 1, имеет кванториую форму 2J. Пусть 2}-множество А представлено рекурсивной монотонной суслинской схемой А — U П ^П1П2...По 1 = 1 1 где объединение распространяется па все свободно становящиеся последовательности натуральных чисел п^п^ . . . пг . . ., а множества Л П1П2... П/ разрешимы. Тогда утверждение \л (А) = 1 можно записать в 2}-форме: . Vu3^2...VZ(u.( U ... U -4т1...т,)>1-2-й). 7711=1 т/=1 Осталось показать, что пересечение всех гиперарифметических множеств меры 1 есть 2}-множество. Для этого представим его в виде хЧе (Р (е) AQ(e)-+ R (е, х)). Здесь Р обозначает П}-предикат, выражающий тот факт, что е — гёделев номер гиперарифметического множества, a Q обозначает такой П}-предикат, что если е — гёделев номер гиперарифметического множества, то Q (е) выражает, что мера этого множества равна 1. Наконец, R — такой 2}-предикат, что если е — гёделев номер гиперарифметического множества, то Я (е, х) выражает принадлежность х этому множеству. Чтобы построить предикат Р, удобно рассматривать гиперарифметическое множество как счетное дерево, с каждой вершиной которого связано атомарное множество, т. е. множество, определяемое условием вида хп = О или хп = 1, а с каждой точкой ветвления связан одий из знаков (J или f| • Точнее, мы определяем ветвь как синтаксическое выражение вида Q0niQin2 . . . Qi-inlQl, где nt для каждого i = 1, 2, . . ., I есть натуральное число, (?г-1 — один из знаков U или П и Qi — атомарное множество. Тогда гиперарифметическое множество можно определить как рекурсивно перечислимое множество ветвей, которое может быть получено повторным применением следующих двух индуктивных пунктов. Во-первых, рекурсивно перечислимое множество, единственный элемент которого есть атомарное множество, является гиперарифметическим. Во-вторых, если А^, А2, • • •, Ап, . . .— рекурсивная последовательность гиперарифметических множеств,
О понятии случайности 307 то рекурсивно перечислимое множество, состоящее из всех таких выражений U ^(?o72i • • • Qi~iniQh что Qoni • • • Qi-\niQi принадлежит Ап, является гиперарифметическим. Аналогично, если U заменить на П. Гиперарифметическое множество удовлетворяет следующему условию согласованности: если две ветви Р&тр\т2 • • • Pk-i^hPk и Qo?hQi^2 • • • Qi-iniQi принадлежат ему и mt = nt для i = 1, . . ., /, то Pt = Qt для i = 0, 1, ...,/. В частности, если / = min (к, Z), то к = I. Теперь ясно, что можно построить рекурсивную нумерацию всех рекурсивно перечислимых множеств ветвей, удовлетворяющих этому условию согласованности. Пусть Р (е) — высказывание, что для любой свободно становящейся последовательности натуральных чисел щщ . . . существует ветвь QonlQ1n2 . . . Ql_inlQl, принадлежащая множеству, гёделев номер которого в этой нумерации равен е. Тогда Р — это П*-предикат, и по теореме о запирании Р (е) верно тогда и только тогда, когда е — гёделев номер гиперарифметического множества. Что касается предиката Q, то достаточно заметить, что мера гиперарифметического множества есть гиперарифметическое число, и, следовательно, утверждение, что гиперарифметическое множество имеет меру 1, является гиперарифметическим, причем равномерно по рассматриваемым множествам. Поэтому предикат Q, обладающий свойством, что если верно Р (е), то Q (е) выражает, что гиперарифметическое множество с гёделевым номером е имеет меру 1, можно выбрать по нашему желанию в форме П\ или 2*. (Конечно, отсюда не следует, что существует гиперарифметический предикат Q с нужным свойством.) Нам понадобится предикат Q в форме П}. Аналогичное рассуждение показывает, что предикат R, обладающий свойством, что если верно Р (е), то R (е, х) выражает, что х принадлежит гиперарифметическому множеству с гёделевым номером е, можно взять в форме П} или 2}. Нам он нужен только в форме SJ. Этим завершается доказательство. Будем называть только что построенное SJ-множество множеством случайных последовательностей. Точнее, это множество последовательностей, обладающих всеми гиперарифметическими свойствами случайности. Теорема 2. Гиперарифметическая последовательность не случайна. Доказательство. Если последовательность гиперарифметическая, то одноточечное множество, определяемое этой последовательностью, есть гиперарифметическое множество вероятно-
368 Л. Map m и н-Лёф сти 0 и поэтому не пересекается с множеством случайных последовательностей. Теорема 3. Множество случайных последовательностей не является гиперарифметическим. Доказательство. Предположим, что оно гиперарифметическое. Так как это гиперарифметическое множество положительной меры (меры!), можно найти в нем гйперарифметическую точку, что противоречит теореме 2. Тот факт, что гиперарифметическое множество и вообще П|-множество положительной меры содержит гиперарифметическую точку, доказывается у Сакса [4]. В действительности множество случайных последовательностей не является даже П}-множеством, потому что иначе, будучи 2}-множеством, оно по теореме Суслина было бы гиперарифметическим, что противоречит теореме 3. Из теорем 1 и 2 следует существование в пространстве Бэра NN непустого Щ-множества, не содержащего гиперарифметических точек. Чтобы увидеть это, достаточно представить множество случайных последовательностей, которое является 2^-множеством в пространстве Кантора 2N, как проекцию JlJ-мпожества в 2N X X NN. Так как никакая гиперарифметическая последовательность не случайна, это Щ-множество не содержит гиперарифметических точек. Далее, это множество остается Щ-миожеством, если рассматривать его как подмножество пространства ATN X NN, а последнее обычным образом можно отождествить с NN. Первый пример множества этого рода, или, что эквивалентно, рекурсивного дерева, которое не обрываемо, хотя все его гиперарифмсти- ческне ветви конечны, дан Клини [2]. Так как множество последовательностей, удовлетворяющих мизесовскому определению случайности в форме Чёрча, является гиперарифметическим (и даже арифметическим) множеством меры 1, оно строго шире определенного нами множества случайных последовательностей. Те же рассуждения показывают, что настоящее определение сильнее, чем предложенное автором в статье [3], где случайными последовательностями были названы элементы некоторого Ед-множества вероятности 1. Вальд [6] уже предлагал уточнить мизесовское понятие случайности, назвав случайной последовательность, обладающую всеми свойствами вероятности 1, выразимыми в некоторой формализованной логике, такой, как Principia Mathematica. Но точно так же, как определенное здесь множество случайных последовательностей оказалось негиперарифметическим, следует ожидать, что идея Вальда ведет к множеству, не выразимому в языке, с которого мы начали. И если этот язык есть Principia Mathematica или теория множеств в том виде, как она формализована Цермело
О понятии случайности 369 и Френкелем, вызывает сомнение возможность когда-нибудь получить ясное представление о таком множестве случайных последовательностей. Основное усовершенствование настоящей статьи по сравнению с [6] состоит, во-первых, в выборе языка, а именно конструктивного иифинитарпого пропозиционального исчисления, который представляется особенно хорошо приспособленным для теории вероятностей, и, во-вторых, в том, что мы смогли доказать, что, хотя множество случайных последовательностей и вырывается из гиперарифметической иерархии, оно все же не ускользает от нас совсем, а принадлежит классу множеств, а именно классу 2|-множеств, который еще можно трактовать конструктивно. Однако это, естественно, требует более сильных абстракций, чем те, которые нужны на гиперарифметическом уровне. СПИСОК ЛИТЕРАТУРЫ 1. Church A., On the concept of a random sequence, Bull. Amer. Math. Soc, 46 (1940), 130—135. 2. Kleene S. C., Hierarchies of number theoretic predicates, Bull. Amer. Math. Soc, 61 (1955), 193—213. 3. Martin-Lof P., The definition of random sequences, Information and Control, 9 (1966), 602-619. 4. Sacks G. E., Measure theoretic uniformity in recursion theory and set theory, Trans. Amer. Math. Soc, 142 (1969), 381-420. 5. Ville J., Etude critique de la notion de collectif, Paris, 1939. 6. Wald A., Die Wiederspruchsfreiheit des Kollektivbegriffes, Actualites Sci. Indust., 735 (1938), 79—99. i 2 24-0 1321
ЕДИНЫЙ ПОДХОД К ОПРЕДЕЛЕНИЮ СЛУЧАЙНЫХ ПОСЛЕДОВАТЕЛЬНОСТЕЙ *> К. П Шнорр 1. Понятие теста. Пусть Х°° [X*] — множество всех бесконечных [конечных] двоичных последовательностей. Через Л 6 X* обозначается пустая последовательность, а через | х | — длина последовательности х'£ X*. Конкатенация последовательностей х и у записывается как произведение ху. Эта операция обычным образом определяет произведение AB<zlX*\]X°° множеств А а X* и 5с X* (J Х°°. Для последовательности х £ X* (J Х°° обозначим через х (п) ее начальный отрезок длины п (х (п) = х% если \х | <?г). Отображение ф: 2х* -> 2Х°° определим равенством Ф (А) = АХ°° (А а X*). На протяжении всей статьи \х будет обозначать меру на Х°° как на бесконечном произведении пространств X ={0, 1} с вероятностями V2 для 1 и 0. Прежде всего поясним интуитивную идею случайных последовательностей, которая будет здесь обсуждаться. Бесконечную последовательность будем называть случайной, если она выдерживает все конструктивные тесты на стохастичность. Наше главное предположение состоит в том, что любой тест на стохастичность можно выразить функцией F: X* ->■ R, показывающей, в какой степени последовательность х чувствительна к стохастическому тесту F (R — множество вещественных чисел). Естественно считать, что значение F (х) велико, если последовательность х чувствительна к тесту, и мало в противном случае. Но это не обязательно. Приведем несколько примеров. Рассмотрим функцию V: X* -> i?+, которая указывает капитал игрока, играющего с двоичной последовательностью (R+ — множество неотрицательных вещественных чисел). V (х) — капитал после | х |-й попытки, если последовательность, с которой происходит игра, имеет начальный отрезок х. В справедливой игре выигрыш игрока должен удовлетворять соотношению V(x) = 2-1(V(xl) + V(xO)). Естественно считать, что lim V (z (n)) <С оо, если z — случайная П-*оо последовательность. Таким образом, большие значения V (z (n)) означают, что последовательности z (n) чувствительны к тесту V. 2) Schnorr С. P., A unified approach to the definition of random sequences, Math. Syst. Theory, 5, № 3 (1971), 246—258.
Единый подход к определению случайных последовательностей 371 Игры такого рода были рассмотрены Биллем [15], который доказал, что для каждой функции V: X* -> R+, удовлетворяющей условию V(x) = 2-1(V(xO) + V(xl)), множество {zeX°°\limV(z(n)) = oo} n-*oo имеет меру нуль. Чтобы дать другой пример, определим множество U cz N X X* как последовательный тест, если множество С/г ={#6 X* | (i, х) £ £ С/} удовлетворяет следующим условиям: 1) Ut = t/(X*; 2) Ui+i c= С/ь . 3)ц<р(£/г)<2-\ Тогда для каждого множества 9t cz X°° меры нуль найдется такой последовательный тест С/, что 91 с П "ф(^*)- Относительно i£N последовательного теста U определяется функция критического уровня mv: X* -> N: ™и (х) = max{m I х £ Um). Таким образом, z выдерживает последовательный тест U тогда и только тогда, когда lim mv (z (п)) <С оо. П-*оо Итак, mv отражает наше интуитивное представление о тесте* Последовательный тест U называется рекурсивным, если множество U cz N X X* рекурсивно перечислимо (р. п.). Эти тесты были введены Мартин-Лёфом [6]. Последовательность z £ Х°° случайна в смысле Мартин-Л ёфа, если для каждого рекурсивного последовательного теста U Ч П <P(tf*). Чтобы обобщить приведенные примеры, определим функцию F: X* -> R как конструктивный тест, если она удовлетворяет следующим свойствам (мы их сформулируем неформально): (Т1) функция F должна быть конструктивной, т. е. должна задаваться алгоритмом; (Т2) имеется правило, связывающее с функцией F множество 9lF с: Х°° меры нуль — множество бесконечных последовательностей, не выдерживающих теста F. Верно ли, что z £ 9lF, должно зависеть только от последовательности (F (z (п)) \ п £ N). 24*
372 К. П. Шнорр Различные определения случайной последовательности, которые мы будем здесь обсуждать, отличаются только различными уточнениями формулировок указанных аксиом. По существу мы будем рассматривать в (Т2) только два различных правила: (а) WF={zeX~\li^F(z(?i)) = oo}, (б) Шр = {г 6 Х°° 1 lim F (г (п)) = оо}. П-*оо В силу (Т1) при любом фиксированном понятии теста множество всех тестов счетно. Отсюда следует, что относительно любого понятия теста, удовлетворяющего перечисленным выше аксиомам, справедлива Теорема 1.1. Множество случайных последовательностей имеет меру 1. При заданном фиксированном понятии теста тест F называется универсальным, если SkF zd 9iF. для любого другого теста Ft. 2. Случайные последовательности Мартин-Лёфа, характеризуемые мартингалом. Пусть Q — множество всех рациональных чисел. Определение 2.1. Всюду определенная функция F : X* —>■ R называется слабо вычислимой, если существует такая рекурсивная функция g: N X X* -> Q, что g{hx) ^g{i + \,x) . (i^n, хех*), lim g(i, х) = F (х) (х£ X*). г-*оо Функция F: X* -> R вычислима в обычном смысле, если F и —F слабо вычислимы. Говорят, что функция F: X* —>■ R обладает свойством мартингала относительно вероятностей V2 для 0 и 1, если она удовлетворяет условию (2.2) F(x) = \f(xO) + \f(x\) (xeX*). Такие функции называются мартингалами. Фактически это означает, что степень, в которой х выдерживает тест F, есть взвешенное среднее степеней, в которых хО и xl выдерживают тот же тест. Приведем лемму, доказанную Биллем [15]. Лемма 2.3. Если F: X* -> R+ удовлетворяет условию (2.2), то множество У1 ={z £ Х°° | lim F (z (n)) = оо} имеет меру нуль.
Единый подход к определению случайных последовательностей 373 Доказательство. Для k £ N положим • Fh={xeX*\F(x)>k}, Fh={xeFh \.x$FkXX*}. Ясно, что Fk [\FhXX* = 0. Множество Fk состоит из последовательностей, принадлежащих Fk и не имеющих начальных отрезков в Fh. Легко видеть, что xeFk В силу (2.2) ^(Л)> У F(x)2-\*\^k J г-И^А^ф^), так что (2.4) |хф (Fk) < > (Л) А-1. Так как 91 d П ф (^ь)» то это доказывает, что множество 91 имеет меру нуль. Теперь мы подготовлены к тому, чтобы рассмотреть наш первый пример понятия теста. Определение 2.5. Всюду определенная функция F: X* -> R+ называется (1)-тестом, если она' слабо вычислима и удовлетворяет условию (2.2). Множество бесконечных последовательностей, не выдерживающих (1)-теста F, определяется формулой ytF = {zeX°°\ Ihn~ F(z(n))= оо}. П-+оо Определение 2.5 оправдывается следующей теоремой. Теорема 2.6. Бесконечная последовательность выдерживает все (\)-тесты тогда и только тогда, когда она случайна в смысле Мартин-Лёфа. Сначала докажем, что выполняется Лемма 2.7. Для каждого р. п. множества 4 сР можно эффективно построить такое рекурсивное множество В а X*, что АХ°° = ВХ°° и В(]ВХХ* = 0, т. е. множество В беспре- фиксно. Доказательство. Пусть множество А задается такой рекурсивной функцией h: N -+■ X* (J {|}, что А = h (N) (}Х*. (Символ | должен использоваться, если А пусто.) Положим Ап= U h(i) П X* i<:n
374 К. П. Шнорр и обозначим через г (п) максимальную длину последовательностей из Ап; г (п) = О, если Ап — 0. Характеристическую функцию 1В: X* "->{0, 1} множества В зададим так: 1В (х) = 0 для всех х 6 X*, для которых | х | ф г (п) + п при всех п ^ N. Если | х | = = г (?г) + п, то /в (а:) определяется рекурсией. Для | х | = г (0) Г 1, если #=/г(0), ^S (Ж) = \ А I U в противном случае, для \х\ = г (п)-\-п, п^1 {1, если x£h(n)X* — An-iX*, 0 в противном случае. Из построения следует, что В — беспрефиксное множество. Кроме того, АпХ~ = (В(]{х\\х\^г(п) + п}) Х~, откуда АХ°° = ВХ°°. В доказательстве теоремы 2.6 мы будем предполагать, что рекурсивный последовательный тест U задается таким р. п. множеством V а N X X*, что vt n fzxx* = 0 и v*x* = ий (t е ло. Доказательство теоремы 2.6. (1) Пусть рекурсивный последовательный тест U задан р. п.'[множеством V cz N X X X*, как указано выше. Определим (1)-тест F: X* -> R+ равенством ?(*)=!>*( S 2-li/l+ V 1). n<|x| Легко проверить, что F удовлетворяет соотношению (2.2). Нужно рассматривать только те слагаемые, входящие в F (х), F (xO), F (xl), которые получаются из у 6 Vt. Так как Vt бес- префиксно, то F(A)= 21^(70- >iG2V Следовательно, F (Л) ограничено. Поэтому F есть' функция X* -> i?+. Из определения F вытекает, что она слабо вычислима. Предположим, что z 6 ф (Vt). Тогда существует такое число п, что z (n) £ Vt, откуда F (z (n)) ^ i и, значит, П <р(У,-)с:Ю„. i£2V
Единый подход к определению случайных последовательностей 375 (2) Пусть z — случайная последовательность в смысле Мартин- Лёфа, a F: X* -> R+ есть (1)-тест. Выберем k> F (Л) и определим множество V а N X X* равенством 7, ={*еХ* \F(x)>2%). Так как функция F слабо вычислима, то V — р. п. множество. В силу (2.4) jnq) (Vt) ^ 2_\ так что рекурсивный последовательный тест U можно определить равенством Ut = FjX*. Так как z $ [)(р (Ut), то z не выдерживает теста F. Интересно отметить, что существование универсального (^-теста следует из простого рассуждения. Пусть (Ft \ i £ N) — рекурсивный пересчет всех таких (1)-тестов, что Ft (Л) ^ 1. Тогда F — S 2~г/^ будет универсальным (1)-тестом. (см. стр. 387.— Ред.). Заметим, что в определении 5RF для (1)-теста F можно использовать как lim, так и lim Лемма 2.8. Пусть F — универсальный (1)-тест. Тогда для всех z 6 Х°° lim F (z (п)) я= оо <=f> lim F (z (n)) = oo. Доказательство. Пусть U a N X X* — универсальный рекурсивный последовательный тест, который задается р. п. множеством V с= N X X*, как в части (1) доказательства теоремы 2.6. Рассмотрим (1)-тест, определенный, как в части (1) доказательства теоремы 2.6. Достаточно доказать, что z £ f| Ф (Vi) влечет lim F (z (n)) = oo. 7l->oo Предположим, что z £ f] Ф (Vt). Тогда для i £ N найдется такое число п £ N, что z (n) £ Vt. Отсюда следует, что F (z (m)) ^ i для всех т^ п. Так как это верно для каждого i £ N, то лемма доказана. 3. Одно возражение против определения случайности по Мар- тин-Лёфу. Алгоритмическая структура (1)-теста F несимметрична. Нет никакой причины, по которой мартингал F должен быть слабо вычислимым, а —F нет. Приняв это во внимание, дадим Определение 3.1. Функция F: X* -> R+ называется (2)-тестом, если она удовлетворяет условию (2.2) и функция — F слабо вычислима. Множество последовательностей, не выдерживающих теста F, определяется формулой 3lF={zeX°°\ UmF(z(n))=oo}. П-+оо
376 К. П. Шнорр Исследуем вопрос о том, эквивалентна ли (1)-случайность (2)-случайности. Оказывается, что они не эквивалентны, так что одно из этих понятий, по-видимому, должно допускать возражения. Теорема 3.2. Существуют (2)-случайные последовательности, которые не (\)-случайны. Сначала докажем лемму. Лемма 3.3. Пусть F есть (2)-тест и а > 0 — рациональное число. Тогда существует такая рекурсивная последовательность z £ Х°°, что F (z (n)) <CF (А) + а (п £ N). Это означает, что z (£ %lF. Доказательство. Пусть (2)-тест F задается такой рекурсивной функцией g: N X X* -> Q, что g (£, х) ^ g (i + 1, х) и lim g (i, x) = F (х). Пусть Ъ — рациональное число, причем г-+оо F (А) — а/2 <Cb <C,F (А). Последовательность z будем строить рекурсивно следующим образом. Предположим, что последовательность z (п) построена так, что п F(z(n))^b + a^] 2-i-K ;=0 (Для п = О это допущение тривиально.) Следовательно, существует такое х £ X, что п F(z(7i)s)<fc + a2 2-'"-*. ;'=о Поэтому можно эффективно найти такие i и х, что п+1 g(i, z(7i)s)<b + a 2 2-i-K 3=0 Положим z (п + 1) = z (п) х. Из построения следует, что F (z (n)) ^b + a^F(A)+a (п £ N). ' Доказательство теоремы 3.2. Пусть (Ft \i 6 N)— перечисление всех (2)-тестов, для которых Ft (Л) ^ 1. Достаточно будет определить последовательность z, которая не (^-случайна и удовлетворяет условию lim Ft (z (n)) < оо для всех i £ N. П-*оо Пусть F — универсальный (1)-тест, т. е. Х°° — 91F состоит в точности из всех (1)-случайных последовательностей. Последовательность z £ Х°° будем определять индуктивно. Предположим,
Единый nod.ror) к определению случайных последовательностей 377 что z (/?/<), где щ £ N, уже определена так, что F (z (nh)) ^ к и >; 2-n'-1^(z(/))<S 2-<+* (/<пЛ). i=0 i=0 (Для к = О, д0 = 0 и f0 (Л)< 1 предположение индукции тривиально.) Чтобы сделать шаг индукции, рассмотрим Fk+i. Очевидно, что 2~nb~hFk+i (z (nk)) ^ 2~\ Это следует из неравенства Fh+i (Л) ^ ^ 1 и из свойства мартингала. Таким образом, существует такая рекурсивная последовательность у £ Х°°, что у (nk) = z (nk) и для каждого nk+i 7^ nh Это по существу вытекает из конструкции, использованной при доказательстве леммы 3.3. Так как последовательность у рекурсивна, то существует такое число ий+1 > nh, что F (г/ (rtfe+1)) >> /с + 1. Положим ^ (иа+i) = i/ (дгй+1). Из определения z следует, что z £ %lF. С другой стороны, оо П5Г11 2-nrI>,(z(/))^4 (*£#), так чго z (£ 91F. (&6-/V). Заметил!, что нетрудно доказать, что каждая (1)-случайная последовательность также и (2)-случайиа. (1)-случайность — понятие более узкое, чем (2)-случайность. Кажется удивительным, что для мартингала F важно, какую из функций F или —F мы выбираем слабо вычислимой. Теперь мы собираемся развить концепцию случайности, основанную па мартингалах, алгоритмическая структура которых симметрична. Опреде л е и и е 3.4. Мартингал F: X* —>■ R+ называется (3)-тестом, если существует такая рекурсивная функция g: N X X* -> Q, что lira g (i, х) = F (х) (x £ X*). Множество после- довательностей, не выдерживающих (З)-теста F, определяется формулой s)iF = {х е Х°° | lim F (z (n)) = оо}. П-*-со Мы докажем, что (З)-случайность значительно уже, чем (^-случайность. Очевидно, что каждый (1)-тест является также (З)-тес- 25 — 01321
378 К. П. Шнорр том. Поэтому каждая (З)-случайная последовательность (^-случайна. Чтобы доказать, что обратное неверно, рассмотрим кли- ниевскую иерархию множеств. Клиниевская иерархия предикатов разбивает «арифметические» множества на классы 2П, П7г (п = О, 1, . . .), определяемые следующим образом: Е7г — класс всех множеств А вида А ={а \ (QiXi) (Q2x2) • • • (QnXn) Р (а, хи х2, . . ., хп)}, где Р — рекурсивный предикат, Q2h+i — кванторы существования, Q2k — кванторы всеобщности; класс Пп определяется аналогично с той лишь разницей, что Q2u+i — кванторы всеобщности, a Q2k — кванторы существования. Известны следующие факты (см. [17]): 1. 20 = П0 = 2Х П П! — совокупность всех рекурсивных множеств. 2. А 6 2П <=> Ас £ П7г (Ас — дополнение множества .4). 3. Ел U П7г с: Еп+1 ПП7г+1 для всех п ^ О, причем для п > О включение строгое. 4. А £ 2д+1 <=> А рекурсивно перечислимо относительно некоторого множества В £ Пп. 5. А £ Еп+1ПП7г+1 <=f> А рекурсивно относительно некоторого множества В £ Пп. Класс Пп П Sn обычно обозначается Ап. Последовательность z £ Х°° принадлежит Еп [Пп], если {n \ zn = 1} принадлежит 2П [П71]. Лемма 3.5. Б классе А2 существуют (1)-случайные последовательности. Доказательство. Пусть F: X* -> /?+ — универсальный (1)-тест, задаваемый рекурсивной функцией g: N X X* ->■ (?. Предположим, что 7^(Л)<1. Тогда предикат Р: X*-v{0, 1}, определяемый равенством Р (х) = 1 <=> Vi 6 -^ g* (*, х) < 1, принадлежит П4. При заданном Р можно с помощью рекурсии построить z £ Х°°: Zj+1 = 1 <*>P(z(i)l) =1. Из приведенного выше утверждения 5 следует, что z принадлежит А2. Из построения вытекает, что z (J s]lF. Для завершения доказательства того, что (З)-случайность значительно уже, чем (1)-случайность, нам понадобится Теорема 3.6. В классе 22|jn2 нет (3)-случайных последовательностей. Доказательство. (I) Пусть z — последовательность из Е2. По определению это означает, что {п \ zn = 1} принадлежит 22. Тогда существует такой рекурсивный предикат Р: N3 ->{0, 1},
Единый подход к определению случайных последовательностей 379 что для всех п £ N zn = 1 <^> 3/ 6 N V* 6 N Р (/, 1, л) = 1. Зададим (З)-тест F, удовлетворяющий условию z £ 3lF, с помощью рекурсивной функции g: N X X* —>- (?. Обозначим / (i\ n) ={/ | Vr < i i> (у, г, /г) = 1; / < г}. Конечное множество f (i, х) можно построить эффективно. Функцию g (i, х) вычисляем так: g (i, Л) = 1 (i £ N). Если (/ (*, л) ^ 0 Л Уд = 1) V (/ (*, п) = 0 /\уп = 0), полагаем g (i, у (п)) = 2g (i, у (п - 1)) (у £ Г"). Если (/ («, л) Ф 0 Л У* = 0) V (/ (i, п) = 0 Л#п = 1), полагаем g (i, j/ (га)) =0 (у £ X00). Таким образом, (2limg(i, y(n — l)), если zn=yn, i-*«> I и, если zn=?± уп, так что F есть (З)-тест и Г 2П, если у (n) = z(n), Р(У(п))=\ 0j если y(w)^z(w). (II) Пусть z 6 П2. Это означает, что {п \ zn = 0} принадлежит 2о. Поэтому приведенное выше рассуждение показывает также, что последовательность z не (З)-случайна. 4. Случайные последовательности и понятие сложности минимальной программы. Мы докажем, что понятие случайности, предложенное Лавлендом [5], уже понятия случайности по Мартин-Л ёф у. Пусть А: X* X N-+X* будет частично рекурсивной (ч. р.) функцией, удовлетворяющей условию А (х, п) £ Хп для всех (х, п) из области ее определения. Колмогоров [4] определил относительную сложность КА (х | п) последовательности х при заданной ее длине п по алгоритму А: КЛ{х\п) = { оо, если А (у, п)фх для всех г/£Х*, min {| у 11 А (у, п) = х) в противном случае. Если А (у, п) = х, то у называется программой для вычисления последовательности х алгоритмом А. 25*
380 К. П. Шнорр Определение 4.1. Функция F: X -^ Q называется (i)-mecmoM, если существует ч. р. функция А: X* X N ->- X*, удовлетворяющая указанному выше условию и такая, что F (х) = = п — КА (х | п) для всех последовательностей # длины п. Множество ?flF = {z е Х°° | lim F (z (n)) < оо} п-юо образовано последовательностями, не выдерживающими (^-теста F. Это определение случайности было предложено Лавлендом [5] в терминах однородной (uniform) сложности. (4)-случайность означает, что для каждого алгоритма А существует бесконечно много начальных отрезков с высокой сложностью программ вычисления их алгоритмом А. Первоначальная идея состояла в том, что каждая случайная последовательность должна удовлетворять условию lim (п — КА (z (п) | п)) <С оо для каждого А. Однако Мартин- П->-00 Лёф [7] показал, что нет последовательностей, обладающих этим свойством. Мартин-Лёф [7] доказал, что 31F есть множество меры нуль для каждого (4)-теста F. Следовательно, функция F из определения 4.1 удовлетворяет нашим аксиомам теста (Т1) и (Т2). Более того, из [7] известно, что каждая (4)-случайная последовательность случайна в смысле Мартин-Лёфа. Докажем, что обратное неверно. Теорема 4.2. Существуют такая последовательность z £ Х°° и такая ч. р. функция А: X* X N -> X*, что lim (п — КА (z(n) \п)) = оо П-+оо и z — случайная по Мартин-Л сфу последовательность. Доказательство. Пусть F: X* -> R+ будет универсальным (1)-тестом, задаваемым рекурсивной функцией g\ N X X X* -> Q, причем F (Л) ^ 1. Рассмотрим (1)-случайпую последовательность z £ Д2, определяемую, как в доказательстве леммы 3.5. Пусть Р: Х*->{0, 1} обозначает предикат из Пь заданный соотношением Р (х) = 1 <^> V i £ N g (*, я)< 1. При заданном Р рекурсивно определяем z равенством zl+l =min{/eX \P(z(i)j) =1}. Последовательность z (1)-случайна, и мы строим ч. р. функцию А: X* X N -> X*, для которой lim (n — KA (z(n)\ n)) = oo. П-*-оо
Единый подход к определению случайных последовательностей 381 Обозначим через к: N -> N X X* X Q рекурсивную функцию, определенную так, что h(N) = {(i,x, q) \g(i, x) = q). Далее, существует такая ч. р. функция А: X* X N -> X*, что А (х, i + | х |) = г (£, х) х для всех х £ X*. При этом функция г (£, #) £ Хг определяется рекурсивно равенствами г (0, х) = Л (я 6 X*), r(i + l,x)=r (i, я) 5 (г, я), где s (i, ж) = min {j е X \ (h (т) = (i, r (i, я) /, q) Д Л"*< |* 1)=Ф9<1}- Здесь мы полагаем min 0=1. Используя эту конструкцию, легко доказать, что для каждого i £ TV найдется такое и^ € N, что для всех х 6 X* при \ х \ ^ ni А (х, i + | # |) = 2 (0 х. Следовательно, lim (п — КА (z (п) \ п)) = оо. 71->-со Очевидно, есть бесчисленное множество возможностей определить тест, удовлетворяющий условиям (Tl), (T2). Поэтому остается еще нерешенной одна проблема, которую мы будем обсуждать позднее. Она связана с вопросом о том, какое из всех возможных понятий теста является действительно «истинным» и существует ли такое понятие вообще. 5. Одно возражение против понятия (4)-случайности. Есть некоторые возражения против понятия (4)-случайности (хотя (4)-случайные последовательности и обладают всеми стандартными статистическими свойствами случайности, такими, как закон больших чисел и закон повторного логарифма), и сейчас мы сформулируем одно из них. Наше главное возражение будет обсуждаться позднее. Оно связано с нашим ощущением, что на ^-случайные последовательности налагаются свойства случайности, которые не имеют никакого физического смысла. Другая трудность возникает из того факта, что при рассмотрении (4)-тестов нет никакого аналога свойства мартингала (2.2). Из-за этого (4)-случайиая последовательность z имеет бесконечно много начальных отрезков z (n) с большими значениями F (z (n)) относительно универсального (4)-теста F (большие значения F (z (n)) означают низкую сложность z (n)). Это следует из рассуждения Мартип-Лёфа [7], которое в применении к ^-случайности показывает, что не существует бесконечной последовательности z, для которой lim F (z (n)) < оо. В силу леммы 2.8 в слу- 71->-со чае (1)-случайности этот эффект исключен.
К. П. Шнорр Представляется естественным определить иерархию бесконечных последовательностей по их сложности (в сходной манере это было сделано Лавлендом [5], который использовал меру однородной сложности). Пусть F — универсальный (4)-тест. Его существование доказывается в работах [4] и [14]. Для каждой неубывающей функции / обозначим (5.1) Cf ={zeX°° | lim (F (z (n)) - f (n)) <oo}. Если функция / ограничена, то Cf есть в точности множество всех (4)-случайыых последовательностей. Естественно ожидать, что для медленно растущей неограниченной функции / последовательности из Cf приблизительно случайны. Но последнее никоим образом не верно. Напротив, можно доказать следующую теорему, которая выполняется также и для (4)-случайных последовательностей, и для понятий случайности, основанных на безусловной (см. [4]) и однородной сложности. Теорема 5.2. Пусть /: N -> N — неубывающая неограниченная функция. Тогда в Cf найдется последовательность, не удовлетворяющая закону больших чисел. С точки зрения статистики закон больших чисел — это один из самых важных законов случайности. Известны очень простые статистические тесты, которые отвергают последовательности, не удовлетворяющие этому закону. Поэтому последовательности из Cf даже с очень медленно растущей неограниченной функцией / не могут рассматриваться как приблизительно случайные. Это и есть возражение против (4)-случайности. Заметим, что теорема 5.2 дает ответ на вопрос Лавлепда [5] о том, существует ли такая неубывающая неограниченная функция /, что Cf есть в точности множество всех случайных последовательностей. По теореме 5.2 такая функция существовать не может. Доказательство. Пусть /: N ->- N — неубывающая неограниченная функция, a F — универсальный (4)-тест. Определим z = z±zt . . . zt ... £ Х°° по индукции. Предположим, что отрезок z (nt) уже определен, и положим zk = 1 для nt <& ^ 2пь. Очевидно, найдется такая (4)-случайпая последовательность х, что начальный отрезок х (2nt) равен z (2nt). Тогда существует такое т>2пи что F (x (m)) </(яг), так как в противном случае последовательность х не была бы (4)-случайной. Положим z (m) = = х (т). Теперь берем т в качестве ni+l и действуем по индукции. Из конструкции очевидно следует, что z £ Cf, и в то же время п соотношение lim (1//г) 2 zi = 1/2 не может выполняться. П->-оо 1 = 1
Единый подход к определению случайных последовательностей 3S3 Замечание. Теорема 5.2 в этой же форме справедлива для понятия (1)-случайпости, т. е. если в (5.1) F — универсальный (1)-тест. По это еще не довод против такого понятия случайности. Действительно, поскольку в определении (1)-теста мы использовали lim, соответствующая иерархия последовательностей относительно (1)-случайпости должна определяться формулой (5.3) К} ={z 6 Х°° | Тип (F (z (п)) - f (п)) < оо}, ?1->оо где F — универсальный (1)-тест, а /: N -> N — неубывающая функция. Из одной теоремы Шнорра [11] следует, что все последовательности из Kf удовлетворяют закону больших чисел, если / (п) растет медленнее любой показательной функции ап (а > 1). С другой стороны, теорема 5.2 ничего не говорит об универсальном (4)-тесте F, если Cf заменить на Kf. Из рассуждения Мартин-Лёфа вытекает, что в этом случае множество Kf пусто для всех медленно оо растущих функций /. Например, если 2 2~f(n) = оо, то Kf = 0 (см. [7]). 6. Об истинном понятии случайности. Недостаток, присущий существовавшим ранее понятиям случайности, состоит, па наш взгляд, в том, что постулируемые свойства случайных последовательностей не имеют никакого отношения к статистике. К определению случайности было много неудовлетворительных подходов, пока Мартип-Лёф не предложил определение случайной последовательности, которое впервые включало все стандартные статистические свойства случайности. Однако теперь, по-видимому, нарушилось обратное отношение. Приемлемое определение случайных последовательностей не может быть никакой формулировкой теории рекурсивных функций, содержащей все существенные свойства случайности, но оно должно быть характеризацией всех свойств случайности, имеющих физический смысл. Интуитивно это те свойства, которые могут быть обнаружены статистическим опытом. Это означает, что последовательность не может быть случайной в этом смысле тогда и только тогда, когда существует эффективный процесс, в котором эта несостоятельность становится очевидной. С другой стороны, попятно, что если не существует эффективного процесса, в котором проявляется несостоятельность последовательности быть случайной, то эта последовательность ведет себя как случайная. Поэтому определение случайной последовательности должно быть таким, чтобы указанная последовательность оказалась случайной по определению. В ряде статей [9, 10, 11, 12] мы пытались придать ясность этому интуитивному пониманию случайности. Оказалось, что
384 К. П. Шиорр к этому понятию имеются довольно разные подходы, но все они ведут к эквивалентным определениям. Настоящая статья написана с целью изложить подход, связанный с тестами. С излагаемой здесь точки зрения последовательность считается случайной, если она выдерживает все эффективные тесты. Но как должны определяться эффективные тесты? Естественно постулировать, что эффективный тест F: X* -*■ R не просто конструктивен, а вычислим в обычном смысле. Определение 6.1. Функция F: X* -> R вычислима, если существует такая рекурсивная функция g: N X X* -> Q, что \g(n,x)—F (х) | < 2~п (х е X*, п е N). Наши рассмотрения в разд. 5 показывают, что разумное понятие теста должно включать свойство мартингала (2.2). Вычислимости и свойства мартингала достаточно для характеристики эффективных тестов. Но какие последовательности отвергаются эффективным тестом? По аналогии с (2.3) можно было бы считать, что последовательность z не выдерживает теста F тогда и только тогда, когда lim F (z (n)) = оо. Но если последовательность F (z (n)) П-*оо растет настолько медленно, что никто из работающих лишь эффективными методами не заметит ее роста, то последовательность z ведет себя так, как будто она выдерживает тест F. Определение множества %tF должно отражать этот факт. Иными словами, мы должны дать конструктивное истолкование утверждению lim F (z (n)) = оо. Определение 6.2. Пусть f: N -+N—некоторая функция. Будем писать A lim f(n)=oo, если существует 1акая неогра- ничейная монотонная рекурсивная функция g: N —> N, что li^(f(n)-g(n))>.0. Теперь сформулируем наше понятие эффективного теста [10]. Определение 6.3. Функция F: X* -> 7?* называется эффективным тестом, если она вычислима и обладает свойством мартингала. Множество последовательностей, не выдерживающих теста F, определяется как 9tF = {z е Х°° | к Ж F (z (п)) = оо}. ?г->оо Последовательность называется (0)-случайной, если она выдерживает все эффективные тесты. Наш тезис состоит в том, что (О)-случайность характеризует все существенные свойства случайных последовательностей. В подтверждение этого тезиса мы
Единый подход к определению случайных последовательностей 385 еще раз сформулируем некоторые результаты из более ранних статей. В [11] установлены две интересные классификации свойств случайных последовательностей. Закон стохастичности называется законом порядка / (/: N -*■ N — неубывающая функция), если существует такой эффективный тест F: X* -> i?+, что (0.4) Ii^(F(z(/z))//(7i))>0 П->оо для всех z £ Х°°, не удовлетворяющих этому закону. Степень роста функции / указывает па важность рассматриваемого закона. В [11] показано, что закон больших чисел имеет быстро растущую порядковую функцию. Это согласуется с тем фактом, что закон больших чисел, конечно, является одним из основных законов теории вероятностей. В [11] также показано, что класс законов, имеющих тот же порядок, что и закон больших чисел — это очень важный класс. Как и в случае некоторых других понятий случайности, множество рекурсивных последовательностей можно охарактеризовать в терминах тестов. Последовательность рекурсивна тогда и только тогда, когда она не удовлетворяет некоторому закону порядка / (п) = 2п (как доказывается в работе [16]). Приведенные выше результаты, касающиеся порядка закона, при подходящем выборе формулировок справедливы как для эффективных тестов, так и для (1)-тестов. Другая классификация тестов, основанная на их сложности (относительно количества времени и пространства, необходимых для их вычисления [3]), осмыслена только для эффективных тестов. Универсального эффективного теста не существует. Для каждого эффективного теста F можно построить рекурсивную последовательность, не принадлежащую 9iF. Для каждого эффективного теста F найдется эквивалентный ему рекурсивный эффективный тест F: X* -> Z (2) (Z (2) — множество всех конечных двоичных дробей из R+). Для данного фиксированного класса сложности (относительно количества времени или пространства) эффективных тестов F: X* -*■ Z (2) можно построить рекурсивные последовательности, которые будут выдерживать каждый эффективный тест из этого класса [11]. Бесконечная последовательность z имеет определенную степень (О)-случайпости, если она выдерживает все тесты из соответствующего класса сложности. Степень (О)-случайности дает классификацию рекурсивных последовательностей. Последовательности, имеющие определенную степень (О)-случайиости, обладают очень интересными свойствами [11], [12]. По мнению автора, эта классификация рекурсивных последовательностей по степени их (О)-случайности служит важным дово-
386 К. П. Шнорр дом в пользу понятия эффективного теста. Существование (^-случайных последовательностей, как и (О)-случайных, можно доказать только неконструктивными методами. Эти последовательности существуют лишь согласно аксиоме выбора. Однако можно конструктивными методами аппроксимировать поведение ((^-случайных последовательностей. Это неверно для (1)-случайных последовательностей. В силу теоремы 3.2 (1)-случайыость не эквивалентна (О)-случайности (см. также [9]). Другой важный довод в пользу нашего тезиса, предлагающего считать (О)-случайность «действительно истинным» понятием случайности, состоит в том, что несколько различных подходов ведут к эквивалентным определениям. В работе [10, часть I] доказывается, что последовательность (О)-случайна тогда и только тогда, когда она не содержится ни в каком множестве меры нуль в смысле Брауэра. Это понятие множества меры нуль распространено в конструктивном анализе (см., например, [1]) и восходит к интуиционистской формулировке Брауэра [2]. Приемлемая характеризация (О)-случайных последовательностей через сложность их программ содержится в работе [16]. Но удивительнее всего, что первоначальные идеи,, на которых фон Мизес основывал свое понятие коллектива, можно модифицировать так, что они будут характеризовать в точности (О)-случайные последовательности. В [10] показано, что последовательность z (О)-случайна тогда и только тогда, когда каждая последовательность г/, являющаяся ее образом при некотором конструктивном отображении Н: Х°° -> Х°°, сохраняющем меру, удовлетворяет закону больших чисел. Это означает, что понятие Stellenauswahl из [8] должно быть заменено понятием конструктивного отображения, сохраняющего меру. Все эти и некоторые другие результаты включены в работу [16]. СПИСОК ЛИТЕРАТУРЫ 1. Bischop E., Foundations of constructive analysis, New York, 1967. 2. Brouwer L. E. J., Begriindung der Mengenlehre unabhangig vom logischen Satz vom ausgeschlossenen Dritten, Zweiter Teil. Verh. Niederl. Akad. Wetensch. Ajdr Natuurk., Sect. I, 12 (1919), 7. 3. Hartmanis J., Stearns R. E., On the computational complexity of algorithms, Trans. Amer. Math. Soc, 117 (1965), 285—306. (Русский перевод: Кибернетический сборник, новая серия, вып. 4, нзд-во «Мир», М., 1967, 57-85.) 4. Колмогоров А. Н., Три подхода к определению понятия «количество информации», Проблемы передачи информации, 1 (1965), 3 —11. 5. Loveland D., On minimal program complexity measures, ACM Symposium on Theory of Computing, 1969, pp. 61—66. 6. Martin-Lof P., The definition of random sequences, Information and Control, 9 (1966), 602—619. 7. Martin-Lof P., Complexity oscillations in infinite binary sequences, Z. Wahrscheinlichkeitstheorie Verw. Gebiete, 19 (1971), 225—230.
Единый подход к определению случайных последовательностей 387 8. von Mises R., Grundlagen der Wahrscheinlichkeitstheorie, Math. Z., 5, (1919), 52-99. 9. Schnorr C. P., Eine Bemerkung zum Begriff der zufalligen Folge, Z. Wahr- scheinlichkeitstheorie Verw. Gebiete, 14 (1969), 27—35. 10. Schnorr С P., Uber die Definition von effektiven Zufallstests, I — II, Z. Wahrscheinlichkeitstheorie Verw. Gebiete, 15 (1970), 297—312; 313—328. 11. Schnorr C. P., Klassifikation der Zul'allsgesetze nach Komplexitat und Ordmmg, Z. Wahrscheinlichkeitstheorie Verw. Gebiete, 16 (1970), 1—21. 12. Schnorr C. P., Uber die Zufalligkeit und den Zufallsgrad von Folgen, Symposium on Formale Sprachen und Automatentheorie, Oberwolfach, 1969. 13. Specker E., Nicht konstruktiv beweisbare Satze der Analysis, /. Symb. Logic, 14 (1949), 145—158. 14. Soloraonoff R. L., A formal theory of inductive inference, I, Information and Control, 7 (19644 1—22. 15. Ville J., Etude critique de la notion de collectif, Paris, 1939. 16. Schnorr С. Р., Zufalligkeit und Wahrscheinlichkeit, Lecture Notes in Mathematics, № 218, 1971. 17. Davis M., Computability and unsolvability, New York, 1958. Примечание редактора перевода. Существование универсального (1)-теста следует из теоремы 2.6 и существования теста Мартин-Лёфа. Однако аргументация автора ошибочна. В самом деле, предположим, что пересчет, о котором говорит автор, возможен. Множество тех i, для которых Ft (Л) > 0, перечислимо. По каждому такому / строим общерекурсивную последовательность zt(n), состоящую из 0 и 1 и такую, что Ft (zt (l) zt (2) .. . ... zl (ii)) > 0 для каждого п. (Здесь существенно, что Ft (хО) >> 0 и Ft \х\) >> 0 при Ft (х) >> 0.) Для каждой общерекурсивной последовательности существует (1)-тест Ft, равный 0 вне ее; поэтому zt (n) совпадает с ней. Это дает рекурсивный пересчет всех общерекурсивных последовательностей нулей и единиц, что, разумеется, невозможно.
СОДЕРЖАНИЕ Предисловие редакторов перевода 5 I. КЛАССИФИКАЦИЯ РЕКУРСИВНЫХ ФУНКЦИЙ Г. Т. Херман. Эквивалентность различных иерархий элементарных функций. Перевод А. А. Мучника 7 Дж. П. Клив, Г. Э. Роуз, ^-арифметика. ПереводА . А . Мучника . * . 18 М. X. Лёб, С. С. Вайнер. Иерархии теоретико-числовых функций. Перевод Ю. Д. Стригина 33 С. С. Вайнер. Классификация ординально рекурсивных функций. Перевод Ю. Д. Стригина 65 II. КЛАССИФИКАЦИЯ ЯЗЫКОВ Ш. Грейбах. Одна бесконечная иерархия контекстно-свободных языков. Перевод А. А. Мучника 85 Т. Касаи. Об одной иерархии между контекстно-свободными и контекстно-связными языками. Перевод Э. Д. Стойкого 107 III. АКСИОМАТИЧЕСКОЕ ОПИСАНИЕ СЛОЖНОСТИ ВЫЧИСЛЕНИЙ И АЛГОРИТМОВ М. Блюм. Об эффективных процедурах для ускоряющих алгоритмов. Перевод М. И. Каиовича 127 Дж. Хелм, П. Янг. Сопоставление сложности и эффективности программ, допускающих ускорение. Перевод М. И. Кановича . . . 150 П. Янг. Ускорения посредством изменения порядка, в котором перечисляются множества. Перевод А. А. Мучника 160 А. Эренфойхт, Я. Мыцельский. Сокращение доказательств при добавлении новых аксиом. Перевод А. А. Мучника 172 Дополнение 1. Л. А. Левин. Сигнализирующие вычислимых функций 174 Дополнение 2. М. И. Канович. Теорема об ускорении в формальных системах 186 IV. СЛОЖНОСТЬ ВЫЧИСЛЕНИЙ НА МАШИНАХ ТЬЮРИНГА Г.-Й. Штосе, /с-ленточное моделирование /с-головочпых машин Тьюринга. Перевод В. Е. Плиско 190 Г.-Й. Штосе. Двуленточное моделирование машин Тьюринга. Перевод В. Е. Плиско 199 М. С. Патерсон. Ограничения на ленту для ограниченных во времени машин Тьюринга. Перевод В. А. Козмидиади 213 Т. Камеда, Р. Волмар. Заметка о сложности языков по числу поворотов на лентах. Перевод В. П.* Захарова 222
Содержание 389 В. Л. Бёркхард, П. П. Вараня. Проблемы сложности языков, вычислимых в реальное время. Перевод В. Л. Матросова 235 Дж. Хонкрофт, Дж. Улман. Некоторые результаты о машинах Тьюринга с ограниченной лептой. Перевод В. Н. Захарова .... 252 V. ДРУГИЕ МОДЕЛИ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ С. Кук. Характеристики магазинных автоматов в терминах вычислителей, ограниченных во времени. Перевод В. Н. Захарова . . . 266 С. Коул. Детермииированные автоматы с магазинной памятью и вычисления в реальное время. Перевод Г. С. Плесневича 289 П. К. Фишер, А. П. Мейер, А. Л. Розенберг. Ограниченные во времени генераторы последовательностей. Перевод И. А. Рахмату- лина 322 X. Р. Строиг. Вычисление с ограниченной глубиной. Перевод О. В. Симонова 349 VI. СЛОЖНОСТЬ И СЛУЧАЙНОСТЬ П. Мартин-Лёф. О понятии случайности. Перевод В. Е. Плиско . . . 364 К. П. Шпорр. Единый подход к определению случайных последовательностей. Перевод В Е. Плиско 370
УВАЖАЕМЫЙ ЧИТАТЕЛЬ! Ваши замечания о содержании книги, ее оформлении, качестве перевода и другие просим присылать по адресу: 129820, Москва, И-110, ГСП, 1-й Рижский пер., д. 2, издательство «Мир».
СЛОЖНОСТЬ ВЫЧИСЛЕНИЙ И АЛГОРИТМОВ Редактор Л. Б. Штейнпресс Художник А. Д. Смеляков Художественный редактор В. И. Шаповалов Технический редактор Л. П. Бирюкова Корректоры И. Алексеева и В. Киселева Сдано в набор 23/XI 1973 г. Подписано к печати 14/V 1974 г. Бумага тип. № 2 60x90i/i6=12,25 бум. л. 24,5 усл. печ. л. Уч.-изд. л. 22,44. Изд. № 1/7166 Цена 1 р. 96 к. Зак. 01321. ИЗДАТЕЛЬСТВО «МИР» Москва, 1-й Рижский пер., 2 Ордена Трудового Красного знамени Московская типография № 7 «Искра революции» Союзполиграфпрома при Государственном комитете Совета Министров СССР по делам издательств, полиграфии и книжной торговли Москва К-1, Трехпрудный пер., 9