Книга
Книга
ВВЕДЕНИЕ
Род графа — это наименьший из родов ориентируемых поверхностей, на которые его можно уложить. Граф называется планарным, если он рода 0, и тороидальным, если он рода 1.
В этой работе описан эффективный алгоритм для определения того, является ли кубический граф тороидальным. Алгоритм строит укладку графа на торе, если она существует. Слово «эффективный» понимается в смысле Кука, Эдмондса и Соб- хема. Алгоритм считается «эффективным», если время его работы ограничено полиномом от длины входа (Ахо .и др. [1]). В нашем случае время работы алгоритма ограничено полиномом от числа ребер графа.
Алгоритмы установления планарности графов широко обсуждались в литературе. Наиболее важен с нашей точки зрения алгоритм, предложенный Демукроном и др. [5]. Он был улучшен Рубином [23]. В последующие годы большое внимание привлек линейный алгоритм Хопкрофта и Тарьяна [17], который иллюстрирует применение поиска в глубину, в чем эти два автора были первыми. Этот алгоритм обсуждается также в [6] и [20]. Другой линейный алгоритм был описан Бутом [3]. Обширный список работ по алгоритмам установления планарности содержится в работе [17], но в нем отсутствует алгоритм работы [5], который обсуждается Бонди и Мурти [2].
Алгоритмы определения рода графа развивались в связи с попытками решать проблемы комбинаторного представления топологических укладок графов. Комбинаторное представление укладок (называемых еще картами), которое мы используем здесь, было известно еще Хефтеру [16]. Затем оно было пере- открыто Эдмондсом [7, 8] и существенно обосновано в [9]. Среди авторов, обсуждавших различные аспекты этой методики,— Уолш и Леман [27], Рингель [21, 22] и Татт [26]. Этот список не является полным и не охватывает многих других
') Filotti I. S. Ап Algorithm for Imbedding Cubic Graphs in the Torus. — Journal of Computer and System Sciences, 20, № 2, 255—276 (1980).
аспектов топологической теории графов, которая является относительно старым разделом, но этой теории посвящена только монография [29]. Библиографии по топологической теории графов приведены в [25] и [30].
Обсуждаемое здесь комбинаторное представление — это представление, сопоставляющее каждой вершине графа циклическую ориентацию инцидентных ей ребер. Грани укладки являются орбитами некоторой группы, действующей естественным образом на множестве ребер. Род укладки можно вычислить, используя формулу Эйлера. Чтобы найти род графа, достаточно рассмотреть все возможные назначения вершинам циклических ориентаций. Этот алгоритм имеет сложность О (п"2) (где п — число вершин), и только он был известен.
Подходы к улучшению этого алгоритма не являются очевидными. Гросс и Такер [14] отмечают некоторые из имеющихся трудностей. Они пытались уменьшить род укладки с помощью изменения циклической ориентации для некоторой вершины. Существовала надежда, что можно найти такую последовательность вершин, что изменение их циклических ориентаций даст монотонное улучшение рода. К сожалению, этот подход не увенчался успехом.
Основная идея данной работы навеяна алгоритмом установления планарности Демукрона и др. [5] (обозначаемым далее ДМП). Алгоритм ДМП работает следующим образом. В графе G произвольным образом выбирается цикл С и укладывается на плоскости. В результате образуются две планарные области. Теперь задача — установить, можно ли эту укладку продолжить до всего графа G. Это частный случай задачи о продолжении: дана планарная укладка h подграфа Н графа G; определить, можно ли распространить h на весь граф G.
Одно особое обстоятельство делает решение задачи о планарном продолжении особенно легким. Будем говорить, что две части Р\ и Р^ из G—Н препятствуют друг другу относительно грани F укладки h (обозначим это Р1\рРа), если они не могут быть одновременно уложены в F без пересечения внутри грани F. Это топологическое понятие имеет следующий комбинаторный эквивалент: Pi|fP2 тогда и только тогда, когда они имеют либо три общих прикрепления к Г, либо две перекрещивающиеся цепи (см. предложение 5.3). Далее, если Pi |?,Рг и также Pi и Р2 укладываются в некоторую другую грань, то это одна и та же грань, скажем грань Fi, и Pi|f2P2- Последнее обстоятельство, названное нами «Теоремой о безразличии», является решающим.
Для решения задачи о продолжении необходимо выполнение двух условий: (1) каждая часть из G—Н должна укладываться по крайней мере в одну грань; (2) каждой части можно назначить инцидентную ей грань таким образом, чтобы никаким двум
частям не была одновременно назначена та грань, относительно которой они препятствуют друг другу. Если в задаче о продолжении существует часть, инцидентная только одной грани (назовем это вынужденным выбором), то мы должны назначить ей именно эту грань. Алгоритм ДМП всегда ищет вынужденный выбор и дает ему приоритет. Каждый раз, когда имеется вынужденный выбор, в соответствующей части произвольным образом выбирается цепь, и она укладывается в соответствующей грани.
Рассмотрим случай, когда все части имеют два выбора. Алгоритм ДМП выбирает произвольную цепь в одной из частей, укладывает ее в одной из возможных граней и продолжает работу таким же образом. Покажем, что эта процедура корректна и не требует возврата к предыдущим шагам. Положим Pi|P2, если Pi|fP2 для некоторой грани F.
Теорема о безразличии показывает, что все части транзитивного замыкания отношения | инцидентны одной и той же паре граней. Это отношение можно задать графом, если назначать вершину каждой части Р, и затем соединять две вершины Р и Q ребром, если ^IQ. Тогда совместимое назначение эквивалентно раскраске этого графа в два цвета. Однако очевидно, что любая раскраска в два цвета является подходящей. И если нет форсированных выборов, то это полностью обосновывает алгоритм ДМП. Этот алгоритм характеризуется квадратичным временем работы.
Представленный здесь алгоритм, если описать его кратко, работает следующим образом. В графе G произвольным образом выбираются два пересекающихся по сегменту цикла из базиса группы циклов G. Эти циклы дают укладку на торе, в которой они существенны и негомологичны. Затем предпринимается попытка расширить полученную укладку до квазипла- нарной, т. е. до укладки, в которой все замкнутые грани являются просто связными (эти грани не содержат ребер или вершин, повторяющихся на границе). Это сведение описывается в разд. 8, 7, 6. Квазипланарный случай обсуждается в разд. 5. Хотя теорема о безразличии больше не имеет места (необходимо дополнительное условие на укладку h), можно свести задачу о назначении к проблеме о 2-выполнимости формул, в конъюнктивной нормальной форме содержащих не более чем два литерала в дизъюнкте. Полиномиальные алгоритмы для решения последней задачи хорошо известны.
Предварительный вариант [12] этой работы содержит ошибку. Именно, теорема о безразличии как она сформулирована там, неверна, и, следовательно, квазипланарный случай в форме, в которой он там изложен, тоже неверен. Остальная часть работы верна. В данном варианте, кроме того, изложение существенно упрощено.
■ 2. ОБОЗНАЧЕНИЯ И ОПРЕДЕЛЕНИЯ .
Понятие граф имеет как комбинаторный, так и топологический смысл. Мы будем использовать оба смысла. Множество ребер (комбинаторного) графа будем обозначать через 5(G), а множество его вершин — через V(G). Мы будем рассматривать только простые графы, т. е. графы без петель и кратных ребер. Кроме того, все графы будут конечными, т. е. [5(G) ] и l^(G)| (через |Х| обозначена мощность множества X) конечны.
В топологическом смысле граф есть С^-комплекс размерности 1 (см., например, Массе [19, с. 190]). Тогда ребра топологического графа есть открытые подмножества, гомеоморфные открытому единичному интервалу вещественной прямой. Каждый комбинаторный граф имеет реализацию как топологический граф, и каждый топологический граф есть комбинаторный граф. Таким образом, существенной разницы между этими двумя понятиями нет, и мы не будем явно указывать, которое из них используется в каждом конкретном случае.
Подграф Н графа G— это просто его подкомплекс.
Граф называется регулярным, если все его вершины имеют одну и ту же степень, называемую степенью графа. Граф называется кубическим, если он регулярный степени 3. Вершина степени 1 называется листом. Цепь С, концами которой являются вершины х и у, обозначается С: х->-у.
Циклы графа G образуют группу, ранг которой есть цикло- матическое число и равен v(G) = |5(G)|— |V(G)|+p, где р— число компонент связности G. >
Два графа G и Н гомеоморфны, если они гомеоморфны как С ^-комплексы. Это топологическое понятие, но существует и чисто комбинаторное определение [2, с. 90].
Пусть Н — подграф G. Части) G относительно Н введены Бонди и Мурти в [2, с. 145], где они названы мостами.
Укладка g: G-*M графа G на поверхности М есть гомеоморфизм G в М. Компоненты М— ^(6) называются гранями или открытыми гранями данной укладки. Укладка называется 2-клеточной, если каждая грань гомеоморфна открытому кругу. 2-клеточную укладку можно описать комбинаторно, указывая для каждой грани последовательность (ориентированных) ребер на ее границе. В 2-клеточной укладке каждое ребро мо
*) Частями графа О относительно Н (частями G — Я) называются подграфы графа G— Е(Н), порожденные классами эквивалентности отношения ~ на 5(0) —Е(Н), определяемого следующим образом: 6] ~ ег, если существует маршрут W такой, что
жет появляться на границе грани не более чем дважды. Оно может появляться дважды на границе одной и той же грани. Важно делать различие между открытой и замкнутой гранями. Замкнутая грань получается из открытой грани присоединением к ней границы и добавлением к их объединению частичной топологии.
В дальнейшем под укладкой всегда будем понимать 2-клеточную укладку.
Мы будем часто идентифицировать грань F с ее границей 9F. Это полезно для проведения различия между границей открытой грани и границей замкнутой грани.
Рис. 1. Две укладки ((6) и (с)) графа Кад (а) иа тор. Ребра, помеченные одной и той же буквой, отождествлены.
Чтобы проиллюстрировать эти понятия, рассмотрим две укладки на рис. 1. Это укладки Кз.з (полного двудольного графа на двух множествах, в каждом из которых три элемента) на торе. Комбинаторный граф представлен на рис. 1а. Открытые грани укладки на рис. 16 не имеют повторяющихся ребер. На рис. 1с есть открытая грань, у которой границей является цепь ahefkdh~xbck~\ где ориентации ребрам присвоены произвольным образом. Замкнутая грань есть поверхность с краем, полученная отождествлением точек на ребрах h и k, дважды появляющихся в вышеуказанной цепи. В этом случае замкнутая грань есть гомеоморфизм проколотого тора, т. е. то; а, из которого удалена внутренность открытого круга.
Грань, граница которой не имеет повторяющихся ребер или вершин, имеет просто связное замыкание. Повторяющиеся ребра грани, у которой замыкание не является просто связным, будем называть внутренними. Все другие ребра назовем внешними. 2-клеточную укладку, все грани которой просто связны, будем называть квазипланарной.
Если h; Н->М является укладкой подграфа Н графа G, и Р является частью G—Н, все прикрепления ’) которой к Н находятся в одной грани I, то мы говорим, что часть Р инцидентна этой грани.
Следующую систему обозначений будем иногда использовать для 2-клеточной укладки g; G->M. ao(g)= У(О),а,^) = Е(О) и Ог(^) обозначает число граней g. Символ g будем опускать, когда ясно, какая укладка имеется в виду. Род укладки у(£) определяется по теореме Эйлера: «о — ai + a2=2— 2у.
Пусть g: G-*M есть укладка на поверхности М. Образ ^(С) цикла С в G называется существенным, если g(C) является нестягиваемой.
Замкнутая грань F, соответствующая открытой грани, есть многообразие с краем. Его род по определению равен роду замкнутой поверхности, полученной наклеиванием кругов на каждый цикл края. Допуская вольность терминологии, назовем это число родом F. Если у(Г) = 0, то будем говорить, что замкнутая грань просто связная.
Грань, не являющаяся просто связной, должна иметь внутренние вершины или ребра. Так как рассматриваются только кубические графы, то легко видеть, что нет изолированных внутренних вершин.
Хотя понятие укладки является топологическим, существуют и эквивалентные комбинаторные определения (см., например, Уайт [29, с. 61]).
Пусть g; G->M есть укладка на ориентированную поверхность М. Укладка g порождает циклическую перестановку л0 на окрестности У(и) каждой вершины и (окрестность У(и) вершины и состоит из тех вершин, которые смежны с и). А именно, пусть F—это грань, в которой встречаются ориентированные ребра (и, и) и (и, и'). Тогда л0(и)=и'. Например, в укладке на рис. 16 л0 задается циклом (Г, 3', 2').
Можно показать, что и, наоборот, множество циклических перестановок на окружениях вершин графа определяет укладку, у которой порожденные циклические перестановки совпадают с исходными. Схему доказательства см. в работе Уайта [29, с. 61].
Мы будем широко использовать это утверждение, так как оно позволяет нам решать задачу с комбинаторной точки зрения, в частности представлять укладки структурой данных. Всегда будет подразумеваться, что укладка представлена мно-
') Прикреплениями части Р к Н называются вершины из VfP) fl V^H).— Прим, перев.'
жеством таких циклических перестановок. Циклические перестановки иногда в литературе называются вращениями.
Для данной комбинаторной укладки этого типа можно немедленно найти грани укладки. Начнем с вершины у, смежной с и. Пусть По = u, ui = у. Положим и2 = ли (и) = л U1 (Ио). Тогда из — ПиЛи1) и т- Д- Этот процесс определяет перестановку на множестве вершин и перестановку на множестве ориентированных ребер. Гранями укладки являются циклы циклической декомпозиции второй перестановки. Тогда род можно вычислить по формуле Эйлера.
Ниже алгоритмы будут описываться неформально. Мы не будем придерживаться какой-либо конкретной модели вычислений. Получение наиболее эффективной реализации не является главной целью настоящей работы. Поэтому важные вопросы, связанные с выбором нанлучшей структуры данных или наилучшего способа реализации различных подпрограмм, здесь не рассматриваются.
Мы находим полезным использовать слово «угадывание» для систематического изучения всех возможностей данного множества. «Угадывание» не означает, что алгоритм не детерминирован, это просто удобный способ представления алгоритмов. Область «угадывания» обозначается помечиванием всех шагов внутри области той же группой символов как утверждение «угадывания». Таким образом, если «угадывание» имеет метку «аЬс», то утверждения в ее области будут помечаться «аЬс-а», «аЬс-Ь» и т. д.
ЗАДАЧИ ОБ ОБОБЩЕННОЙ РАСКРАСКЕ
Введем теперь- один класс задач, который будем называть задачами об обобщенной раскраске. Обычные задачи о раскраске графов являются частным случаем этих более общих задач.
Начнем с определения помеченного графа. Помеченный граф $ есть пара (G, L), состоящая из неориентированного графа G и определенной на V(G)U^(G) функции L, удовлетворяющей следующим условиям:
L приписывает конечное множество меток каждому элементу из его области определения;
для каждого ребра е=(и, у) графа G L(e)cz HjXVX XUyY
Определенную на V(G) функцию ф, такую, что ф(у)^£(у) Для любого yeV(GY будем называть назначением. Назначение ф называется допустимым, если для любого ребра е = (и, у) из С(ф(ц), ф(у))^ L^eY '
Задача об обобщенной раскраске состоит в определении того, имеет ли помеченный граф s допустимое назначение.
Легко видеть, что обычная задача о раскраске вершин графа G в к цветов таким образом, чтобы не было смежных вершин, получивших один и тот же цвет, есть частный случай нашей обобщенной задачи. А именно, достаточно взять L(y) = = (1, 2, ..., 6} и L^ = {(Z, i) | i = 1, 2, ..., А}. Получаемое допустимое назначение для графа, помеченного таким образом, есть обычная 6-раскраска.
Легко видеть, что общая задача определения того, имеет ли помеченный граф S допустимое назначение, NP-полна, так как она включает в себя обычную задачу о раскраске.
Однако задача об обобщенной раскраске для помеченных графов ^ = (G, L), имеющих не более чем две метки на одной вершине, полиномиально эквивалентна задаче о 2-выполнимости для пропозициональных формул в конъюнктивной нормальной форме.
Теорема 3.1. Задача об обобщенной раскраске для помеченных графов, имеющих не более чем две метки на одной вершине, и задача о выполнимости пропозиционных формул в конъюнктивной нормальной форме, имеющих не более чем два литерала на дизъюнкт, полиномиально эквивалентны.
Доказательство. Пусть S = (G, Ц—помеченный граф. Сопоставим S формулу ф следующим образом. Каждой вершине yeV(G) сопоставляется переменная, которую будем обозначать так же и. Предположим, что множества L^y) меток, сопоставленных вершинам, упорядочены. В результате L(y) = -щ, щ. где эти два элемента не обязательно различны.
Если у— пропозициональная переменная, то у обозначает ее отрицание. И пусть и0 = у и у1 = и.
Формула ф будет конъюнкцией дизъюнкций D, которые сопоставлены каждой метке (L^, ti) е L (е), где е = (и, у) — ребро G. А именно, D — u1-iVyx-i (i, j = 0, 1).
Легко видеть, что ф выполнима тогда и только тогда, когда 9 имеет допустимое назначение, и что ф можно получить из S за полиномиальное время.
И наоборот, пусть ф— формула, имеющая не более чем два литерала в дизъюнкте. Строим помеченный граф $ следующим образом: каждой переменной у из ф сопоставляется вершина G, и пусть L(y)= (0, 1}. Если С = и‘Уу( (i, j, =0,1) есть дизъюнкт Ф, то е = (и, у) будет ребром в G, и (1 — i, 1 — /) войдет в L(e). Формула ф, полученная таким образом, выполнима тогда и только тогда, когда G имеет допустимое назначение. Становится
ясным, что ф может быть получено из $ за время, ограниченное полиномом от длины ф.
Задача о выполнимости КНФ, имеющей не более чем два литерала на дизъюнкт, как легко видеть, разрешима за время, являющееся полиномом от длины формулы (схему соответствующего алгоритма см. в разд. 3.4). Действительно, известны алгоритмы, решающие ее за линейное время (ср. с работой Ивена и др. [10]). Анализируя доказательство теоремы 3.1, легко установить, что при выборе подходящего представления обе редукции линейны относительно длины представлений и ф соответственно. Поэтому задача об обобщенной 2-раскра- шиваемости, несомненно, разрешима за время, полиномиально зависящее от длины представлений помеченного графа. Более того, если это представление выбрать аккуратно, то задача об обобщенной 2-раскрашиваемости будет разрешимой за линейное время.
В приложениях задачи об обобщенной раскраске к задачам укладки полезно уметь строить допустимое назначение, когда оно существует.
Так как переход от раскраски к выполнимости довольно прост, то достаточно показать, как строить назначение, выполняющее КНФ, имеющую два литерала на дизъюнкт (если такое назначение существует).
Пусть ф — такая формула. Каждый дизъюнкт из ф имеет вид х V у или х, где х и у — это переменные с отрицаниями или без них. Метод для решения задачи о выполнимости состоит в применении правила сечений (еще известного как правило резолюций) к двум расходящимся *) дизъюнктам до тех пор, пока не перестанут получаться новые дизъюнкты. Первоначальная формула выполнима тогда и только тогда, когда не был получен пустой дизъюнкт. Правило сечений таково:
хvС XV о
Cv D ’
где х — переменная и С и D — две дизъюнкции. Два дизъюнкта называются расходящимися, если существует только один литерал, входящий в них как с отрицанием, так и без него.
Если имеется п переменных и дизъюнкты содержат не более двух литералов на дизъюнкт, то существует только // п \\
пф-21 g II различных дизъюнктов. Всякий раз, когда правило сечений применяется к двум коротким (т. е. содержащим один или два литерала) дизъюнктам, получается короткий
’) clashing. — Прим, перев.
дизъюнкт. Таким образом, имеем полиномиально ограниченный алгоритм для 2-выполнимости.
Назначение и, выполняющее ф, можно получить непосредственно из доказательства выполнимости ф. Пусть Р есть множество всех дизъюнктов, полученных во время доказательства. Выберем из Р однолитеральный дизъюнкт С. Так как Р замкнуто относительно правила сечений и пустой дизъюнкт не входит в Р, то и отрицание С не входит в Р. Положим в назначении и(х) = 0, если С = х, и у(х)=1, если С = х. Теперь вычеркнем из Р все дизъюнкты, содержащие С, и удалим С из всех оставшихся дизъюнктов. В результате получаем множество дизъюнктов Р', не содержащее переменной х, и оно, как легко показать, замкнуто относительно правила сечений. Далее все повторяется.
Подобный анализ может быть сделан для линейных алгоритмов, описанных Ивеном и др. [10].
ЗАДАЧА О ПРОДОЛЖЕНИИ И АЛГОРИТМ УКЛАДКИ
Пусть G— граф, уложенный на торе, и пусть Т есть фиксированное остовное дерево G. Т определяет базис для группы циклов. G. Элемент базиса — это простой цикл, образованный ребром в G—Т и единственной цепью в Т, соединяющей концы этого ребра. -
Предположим теперь, что G имеет 2-клеточную укладку g на торе. Первая группа гомологии этой укладки изоморфна первой группе гомологии тора и, следовательно, свободной абелевой группе ранга 2. Поэтому в базисе циклов должны существовать два цикла Сг и С2, укладки которых имеют классы гомологии, порождающие группу гомологии. Очевидно, такие циклы имеют непустое пересечение.
В алгоритме проводится последовательный перебор всех пар таких пересекающихся циклов, и они укладываются на торе так, чтобы была получена 2-клеточная укладка. Так как граф кубический, то подграф, состоящий из двух выбранных пересекающихся циклов, гомеоморфен графу, показанному на рис. 5. Вследствие очевидной симметрии этот граф, по существу, имеет только одну укладку, изображенную на рис. 6; в ней имеется только одна грань, не являющаяся просто связной.
Чтобы определить, имеет ли G укладку на торе, достаточно теперь определить, можно ли эту укладку продолжить на оставшуюся часть графа G.
Это приводит нас к введению следующего определения. Пусть к-. Н-*-М есть укладка подграфа Н графа G на поверхности М. Задача о продолжении для тройки (G, И, к) состоит в определении того, существует ли для к продолжение g; G^>-M.
Как и задача укладки, задача о продолжении допускает и полностью комбинаторную формулировку. А именно, для каждой вершины из G отыскиваются такие циклические перестановки, которые порождают для каждой вершины из Н циклн-
Рис. 2. «Цилиндрическая» грань.Рис. 2. «Цилиндрическая» грань.
Рис. 2. «Цилиндрическая» грань.
Рис. 2. «Цилиндрическая» грань.
ческие перестановки из h. Кроме того, род g должен быть равен роду h.
Для наших целей не требуется решать общую задачу о продолжении. Вначале необходимо рассмотреть грани типа, указанного на рис. 6 (случай 4 ниже). Но рассмотрения только
Рис. 3. Проколотые торы.Рис. 3. Проколотые торы.
Рис. 3. Проколотые торы.
Рис. 3. Проколотые торы.
этого типа граней будет недостаточно. Нам придется разбить типы граней на следующие категории:
просто связные грани;
'(b) грани, граница которых является полиномом вида ае-'Ь-'е, где цепи а и b не пересекаются. Такие грани назовем цилиндрическими (рис. 2). Они имеют только одну внутреннюю цепь и не являются просто связными, хотя их род равен 0;
грани с двумя внутренними цепями. Они могут быть двух типов: как на рис. За, т. е. иметь только внутренние цепи, или как на рис. 36 и Зс. Эти грани будем называть иногда «проколотыми торами»;
грани с тремя внутренними цепями. Как в случае (с), они могут либо иметь (рис. 46), либо не иметь внешних ребер (рис. 4а).
Соответственно в задаче о продолжении нужно рассмотреть четыре случая.
а •Ь
Рис. 4.
Случай 1. Квазипланарный случай, когда укладка h квази- планарна.
Случай 2. Все грани h типов (а) или (Ь).
Случай 3. Все грани h типов (а), (Ь) или (с).
Случай 4. Все грани h типов (а), (Ь), (с) или (d).
В разделах 5, 6, 7 и 8 будет доказана следующая теорема:
Теорема 4.1. Случаи 1—4 "задачи о продолжении разрешимы за время, ограниченное полиномом от ||/(G)|. Именно, время работы ограничено полиномом шестой степени от | V(G) |, коэффициенты которого ограничены числом 21<-8\ где /— линейная функция от числа s граней h, не являющихся просто связными,
Алгоритм укладки кубического графа на торе.
Ввод: кубический граф G, заданный его матрицей смежности.
Вывод: «нет», если граф нельзя уложить на торе. В противном случае укладка О, заданная указанием вращений в каждой вершине.■
Построение остовного дерева Т для G.
Угадывание (неупорядоченной) пары пересекающихся циклов, определенных Т и ребрами в G—Т. Если все такие пары исчерпаны, то граф не является тороидальным: выход «нет» и останов.
- (Ь, а) Для выбранной пары пересекающихся циклов выбирается укладка на тор, такая, что оба цикла существенны (т. е. негомологичны нулю). Если укладку нельзя продолжить, переходим к шагу (Ь). Если укладка может быть продолжена, то выдаем ее в качестве результата,
Ясно, что время работы этого алгоритма определяется временем работы алгоритма продолжения, используемого в шаге (Ь.а), и числом выборов, которые должны быть рассмотрены в шаге (Ь). Число выборов ограничено числом («1 — а0+ 1), так как ранг группы циклов G равен «1 — «о+ 1. Это число в свою очередь ограничено квадратичным полиномом от а0. Алгоритм продолжения в (Ь.а) полиномиален, так как только одна грань не является просто связной.
В [12] был использован незначительно отличающийся подход: первой работала модифицированная версия алгоритма установления планарности. Если граф непланарен,алгоритм возвращается к запрещенному подграфу Понтрягина — Куратов- ского, который может быть гомеоморфен только графу Кз.з, так как G — кубический граф. Граф Кз,з имеет только две укладки на торе. Одна из них квазипланарна, а другая — типа рассмотренного в случае 3 алгоритма продолжения. Таким образом, благодаря использованию более изощренной версии алгоритма установления планарности отпадает необходимость в рассмотрении случая 4 алгоритма продолжения. Мы предпочли метод, описанный здесь, по следующим причинам. Во-первых, отметим, что теорема Понтрягина — Куратовского не является необходимой для алгоритма укладки. Это хотя и не является решающим для укладки на торе, но жизненно важно для укладки на поверхности большого рода, для которых соответствующие обобщения теоремы Понтрягина — Куратовского неизвестны. Во-вторых, алгоритмы установления планарности, возвращающиеся к запрещенным подграфам Понтрягина — Куратовского, представляют и самостоятельный интерес. Мы обсудим их в отдельной работе. .
КВАЗИПЛАНАРНОСТЬ '
Грани квазипланарной укладки просто связны. Поэтому любая цепь, связывающая две точки на границе грани, может быть уложена на эту грань с точностью до гомологии только одним способом. Комбинаторно это означает, что существует только один способ так продолжить вращения в концевых точках цепи, чтобы в полученном продолжении эта грань расщепилась на две различные грани. Последнее значительно облегчает задачу построения эффективного алгоритма нахождения продолжения. Рассматриваемый алгоритм является обобщением алгоритма нахождения планарного продолжения, предложенного в [5]. '
Пусть Н есть подгомеоморф графа G и h; Н^»-М— квази- планарная укладка Н на поверхности М. В этом разделе будем предполагать, что граф G кубический и Н не имеет листьев
(т. е. вершин степени 1). Отсюда следует, что каждое прикрепление части G относительно Н отождествляется в G с внутренней точкой некоторого ребра из Н.
Прикрепления части Р к просто связной грани F в h определяют некоторое количество непересекающихся по ребрам цепей, называемых сегментами F, определенными Р. Говорят, что две части Pi и Р2, инцидентные одной и той же грани F, избегают друг друга, если все прикрепления одной части лежат в одном сегменте, определенном на F другой частью. Пусть при этих условиях g: G^»-M есть продолжение К. Тогда:
Теорема 5.1 [2, теорема 9.8]. Пусть Рх и Р2— две части G относительно Н, такие, что g(Px), g(P2)c F для некоторой просто связной грани F из h. Тогда Рх и Р2 избегают друг друга.
Доказательство. Доказательство Бонди и Мурти [2] приложимо дословно. Оно основано на том факте, что F просто связно. .
Предложение 5.2. Часть Р графа G относительно Н инцидентна не более чем двум граням h. '
Доказательство. Так как G — кубический граф, то каждое прикрепление Р отождествляется в G с внутренней точкой некоторого ребра из Н. Такая точка, однако, лежит на границе ровно двух граней h (так как h квазипланарна), и, следовательно, часть Р не может быть инцидентна более чем двум граням (напомним, что Р называется инцидентной грани F, если все ее прикрепления лежат на границе F).
Части, не избегающие друг друга относительно некоторой грани, называются препятствующими друг другу относительно этой грани. Это понятие имеет удобную комбинаторную характеризацию.
Говорят, что две части Рх и Р2, инцидентные просто связной грани F, перекрещены, если Рх имеет прикрепления oi, bx, а Р2 — прикрепления а2, Ь2, появляющиеся на F в следующем установленном порядке аха2ЬхЬ2.
Предложение 5.3 [2, теорема 9.6]. Если две части Рх и Р2 препятствуют друг другу относительно квазипланарной грани F, то они или перекрещены, или имеют три общих прикрепления к F.
Доказательство. Доказательство (см. [2]) воспроизводиться не будет. Оно опирается только на простую связность F.
Предложение 5.4 [2, теорема 9.7]. Если часть Р имеет прикрепления Уь и2, Уз к dF, то существуют вершина у0 и цепи рх- Uo-*vx, р2: Vo-*u2, рз: Уо~*-Уз такие, что любые две из нид пересекаются только в вершине уд, .
Мы теперь покажем, что квазипланарная задача о продолжении может быть сведена к задаче об обобщенной рас
краске из разд. 3.краске из разд. 3.Сопоставим тройке (G, Н, h) помеченный граф S* = (G*, Л*) следующим образом. Непомеченный граф G* имеет в качестве вершин части G—Н. Две части Р] и Р2 соединены ребром в G*, если они обе инцидентны одной и той же грани F из h и допускают укладку на F, но препятствуют друг другу относительно F. Пусть для вершины Р из G* L(P') есть множество граней F, на которые Р может быть уложена. Пусть для ребра е = ~(Р\, Р2) из G* выполняется равенство L^ = L\PX) Р^^ = {(Р, P)|Pi и Р2 препятствуют друг другу относительно Р}.
краске из разд. 3.
краске из разд. 3.
Пример. Н — Кз.з, a h есть укладка Кз,з на торе, изображенная на рис. 7, Части G относительно Н показаны на рис. 7
штриховыми линиями. Части, изображенные на рис. 7, уложены на грани h, давая тем самым продолжение h на G.
Граф совместимости показан на рис. 8. Отметим, что в нашем случае все метки ребер имеют вид (F, Г). Поэтому мы можем обозначать такую метку только номером одной из двух
компонент,
Две части могут допускать укладку на одно и то же множество граней, но быть несовместимыми только относительно некоторого подмножества этого множества. В этом примере Рз и Р4 обе допускают укладки на Р2 и Fa, но препятствуют друг другу только относительно Fa.
Предложение 5.5. Укладка Н имеет продолжение на G тогда и только тогда, когда помеченный граф $, сопоставленный тройке (G, Н, h), имеет допустимое назначение.
Алгоритм продолжения для квазипланарного случая.
Ввод; Кубический граф G, подграф Н графа G, не содержащий листьев, квазипланарная укладка Н; Н^М.
Алгоритм определяет, существует ли продолжение Н на G, и если существует, то строит его.
Находим все части G относительно Н.
Для каждой части Р определяем все грани, которым она инцидентна.
Для каждой грани Р, используя планарный алгоритм установления планарности, определяем грани, на которые укладывается Р. Для каждой такой грани строим укладку Р на этой грани. Если ни одной такой грани нет, останов: укладка Н не имеет продолжения.
Строим помеченный граф ^*, сопоставленный тройке z (G, Н, НУ■
Строим формулу в конъюнктивной нормальной форме, сопоставленную $*.
Определяем, выполнима или нет формула, и если она выполнима, то определяем назначение, выполняющее ее. Если формула невыполнима, то укладка не имеет продолжения.
Строим продолжение Н, используя назначение, построенное на шаге (f), и частичные укладки, построенные на шаге (с).
Мы установили случай 1 теоремы 4.1.
Квазипланарный алгоритм расширения может быть еще использован для случая произвольных укладок, не имеющих частей Н относительно G, прикрепленных к внешнему ребру укладки Н.
Рассмотрим укладку Н; Н^>-М с этим свойством и предположим, что Н может быть продолжена до укладки g; G->M. Пусть Р есть часть G относительно Н, и пусть g^P^c^F, где F есть грань, замыкание которой не является просто связным. Так как G — кубический граф, то все прикрепления Р есть точки, расположенные во внутренности ребра из подграфа Н, лежащего на границе замыкания грани F. Так как Р не имеет прикреплений к внутренним ребрам F, то существует замкнутая окрестность VcF объединения внутренних ребер F такая, что
Р с F— V. Окрестность V можно на самом деле выбрать так, что F — V будет гомеоморфно кругу. Это показывает, что суже- ние^наРесть планарная укладка Р и что поэтому можно предположить, что все грани в действительности просто связны.
Теорема 5.6. Задача о продолжении (G, Н, h), где tv. Н-*-М есть укладка, обладающая тем свойством, что не существует частей G относительно Н, прикрепленных к внутреннему ребру грани из h, разрешима за время, ограниченное полиномом от числа ребер в G— Н. Если же h имеет продолжение на G, то такое продолжение алгоритм будет подвергать дальнейшему анализу.
СЛУЧАЙ 2 ЗАДАЧИ ПРОДОЛЖЕНИЯ
Здесь мы имеем просто связные грани и еще грани, которые мы назвали цилиндрами. Цилиндры гомеоморфны грани, показанной на рис. 2, и будут иногда называться особыми гранями.
Этот случай не сводится прямо к 2-выполнимости пропозициональной формулы, как было в квазипланарном случае. Трудность в основном заключается в том обстоятельстве, что цепь,
Рис. 9.
инцидентная цилиндрической грани, может позволять четыре различные укладки на грани. Например, это имеет место для цепи, оба конца которой лежат на внутренней цепи е (рис. 9). Если цепь имеет только один конец на е, то имеются только две различные укладки.
Мы можем свести задачу продолжения в этом случае к задаче выполнимости пропозициональных формул. Однако, так как при прямом сведении мы не можем больше гарантировать, что в дизъюнкте не более двух литералов, нам не удается установить полиномиальность алгоритма. Покажем в этом разделе, как такое затруднение можно обойти. Задача будет сведена к ограниченному числу задач о 2-выполнимости.
Введем и будем пользоваться следующими понятиями. Всякий раз, когда рассматривается какая-либо особая грань, мы будем обозначать экстремальные цепи через а и b соответственно. Внутреннюю цепь всегда будем обозначать через е.
Две копии е на внутренней непн будем называть левой и правой внутренней цепью соответственно. Таким, образом, мы имеем рис. 2 в качестве модельного для введенных обозначений и понятий.
Части G— Н, прикрепленные к внутреннему ребру, будем называть особыми. Остальные — обыкновенными. Цепь, имеющая одно прикрепление на цепи х и другое на цепи у, будет называться (х—г/)-цепью. Укладку, соединяющую левую и правую внутренние цепи цилиндра, назовем укладкой поперек грани (например, укладки 3 и 4 на рис. 9). Если все прикрепления части находятся на правой (левой) внутренней цепи, укладку назовем правой (левой). Левая и правая укладки будут называться односторонними. Если часть является особой, то либо ее укладка односторонняя, либо часть содержит цепь, укладывающуюся поперек грани. В последнем случае будем говорить, что часть уложена поперек цилиндра.
Изучим теперь отношение «препятствования» для цилиндров. Две укладки частей на грань препятствуют друг другу, если они пересекаются. Как было показано в разд. 5.3, это топологическое понятие может быть охарактеризовано и комбинаторно. Препятствуют ли две укладки друг другу, зависит только от прикреплений частей к внутренним цепям.
Интересен случай обыкновенной части Р', прикрепленной только к одной из двух внешних цепей, и особой части Р". Если одна укладка Р" на цилиндр F препятствует укладке Р', то и все укладки Р" тоже. Это легко увидеть геометрически, заключив Р' в достаточно узкую полосу вдоль того ребра, к которому она прикреплена. Таким образом, в этом случае мы можем расширить понятие препятствования на части.
В продолжении g: G-*M укладки h цилиндры из h могут быть следующих двух видов:
односторонние, т. е. получившие только односторонние укладки;
) двусторонние, т. е. получившие по крайней мере одну часть, уложенную поперек цилиндра.
И наоборот, покажем теперь, что если предположить, что задана классификация цилиндров на односторонние и двусторонние, то за полиномиальное время проверяется, возможно ли продолжение h на G относительно этой классификации.
В продолжении h для частей G — Н существуют следующие выборы возможной укладки: -
Если часть обыкновенная, то она может быть уложена самое большее на одну из двух инцидентных ей граней. Однако такая часть не может быть уложена на двусторонний цилиндр, когда она прикреплена к обеим внешним цепям его.
Если часть особая и если она инцидентна одностороннему цилиндру, то она может получить как левую, так и правую укладку.
Если часть особая и если она инцидентна двустороннему цилиндру, то можно рассмотреть только один выбор, а именно укладку на этот цилиндр.
Пусть Р и Q — две части G— //, и пусть с — это выбор укладки для Р и d— выбор для Q. Мы будем говорить, что с и d препятствуют друг другу, если в заданной ими укладке Р и Q пересекаются. Как и раньше, это топологическое определение имеет комбинаторную характеризацию и основано только на прикреплениях частей. Предположим для примера, что Р — обыкновенная часть, инцидентная цилиндру F, и что Q— особая часть, инцидентная F. Тогда Р имеет выбор F и Q имеет выбор «правая». Чтобы определить, препятствуют ли друг другу выбор F и выбор «правая», достаточно определить, имеет ли Р два прикрепления, перекрещивающиеся с двумя прикреплениями Q к правой внешней цепи. Случай обыкновенной части, имеющей выбор типа (а), и особой части, имеющей выбор типа (с), обсуждался в конце предыдущего раздела. Аналогично могут быть рассмотрены и другие случаи.
Сопоставим задаче продолжения (G, Н, /г) (с заданной классификацией цилиндров h на односторонние и двусторонние) задачу об обобщенной раскраске ^=(G, L), рассмотренную в разд. 3. Положим V(G) = (P|P часть G — //}, Е(6) = = {(Р, Q)|P, Qg^(G)}. Тогда G— полный граф на частях G — Н. Для PsV(G) пусть множество выборов, допустимых для Р, есть L(P). Для (Р, Q)e£(G) пусть L(P, Q) = {(c, d) |с е е L(P), deL^QY выборы с для Р и d для Q препятствуют друг другу}.
Легко видеть, что если К. имеет продолжение на G относительно данной классификации цилиндров h, то задача раскраски 9 разрешима.
Строение S гарантирует, что L^P) имеет не более двух элементов. Поэтому задача об обобщенной раскраске разрешима за полиномиальное время (ср. с разд. 3). Кроме того, граф совместимости S может быть построен за полиномиальное время относительно длины записи G, Н и h.
Наоборот, предположим, что 3 допускает решение. Этого недостаточно для того, чтобы h ймела продолжение относительно Заданной классификации цилиндров, Необходимо еще проверит^
ных частейных частейРис. 10.Рис. 10.Вывод-. цательныйВывод-. цательный
ных частей
ных частей
Рис. 10.
Рис. 10.
Вывод-. цательный
Вывод-. цательный
что все особые части, инцидентные двусторонним цилиндрам, укладываются на них одновременно. Перейдем теперь к рассмотрению этой задачи.
Ясно, что можно предположить, что существует только один такой цилиндр р, все части G — Н инцидентны F и обыкновен- нет. Граница др грани F тогда гомеоморфна графу, представленному на рис. 10, и F гомеоморфна неограниченной области, определяемой планарной укладкой дР.
Любая укладка особых частей на F определяет планарную укладку G— Н. Наоборот, любая планарная укладка G определяет укладку h для Н и укладку особых частей в неограниченную область h. Таким образом, мы свели нашу задачу к задаче об установлении планарности G.
Алгоритм продолжения (случай 2).
Ввод; Кубический связный граф G, связный подграф Н графа G, укладка А: Н-^М только с просто связными гранями или гранями, гомеоморфными 2-клетке, граница которой есть полигон вида ае-'Ь-'е (рис. 2).
Лродолжение h на G, если оно существует, и отри- 1твет — в противном случае.
Находим части G — Н. Определяем h для каждой части грани, которым она инцидентна.
Разбиваем грани h на просто связные и цилиндры.
Угадываем классификацию цилиндров h на односторонние и двусторонние.
(с.а) Строим задачу об обобщенной раскраске для угадывания в (с).
(с.Ь) Определяем, имеет ли $ допустимое назначение ф. Если да, то строим его. Если нет, то переходим к (с).
(с.с) Определяем для каждой части Р, имеет ли она укладку типа ф(Р). Если нет, то переходим к (с). Иначе, строим для каждой части Р укладку типа ф(Р).
(c.d) Для каждого двустороннего цилиндра F определяем (используя алгоритм установления планарности) укладку на F подграфа, образованного всеми особыми частями, инцидентными F. Если для некоторой грани F это невозможно, то переходим к (с).
(с.е) Строим продолжение укладки h следующим образом:
Для каждой части Р, такой, что ф(Р) не является укладкой на. двусторонний цилиндр, продолжаем к, укладывая части как в (с.с). Продолжаем укладку для таких частей Р, что ф(Р)
есть укладка на двусторонний цилиндр, укладками, построенными в (c.d).
Оценка времени работы алгоритма
Все шаги этого алгоритма, за исключением шага (с), могут быть выполнены за О (и2) шагов, где и = ао(6). Шаг (с) требует О (2s) шагов, где s— число цилиндров. Таким образом, время работы ограничено pi (и) + ^SPAUV где pi и р2— квадратичные полиномы. Случай 2 теоремы 4.1 доказан.
СЛУЧАЙ 3 АЛГОРИТМА ПРОДОЛЖЕНИЯ
Терминология этого раздела аналогична терминологии разд. 6. Грани, гомеоморфные грани, представленной на рис. 3, будем называть особыми. Обыкновенные грани и части — это
грани и части, не являющиеся особыми. Всякий раз, когда рассматривается конкретная особая грань, будем использовать обозначения, приведенные на рис. 3. Не нарушая общности, можно предположить, что все особые грани имеют вид как на рис. За, поскольку грани на рис. 36— это частный случай.
Пусть F— особая грань. Две копии внутренней цепи е пометим е и е-1. Аналогично для внутренней цепи Д
Цепь, соединяющая две точки на одном и том же внутреннем ребре,
имеет четыре различных укладки на
особую грань (рис. 11). Две из них делят грань на два цилиндра. Будем говорить в этом случае, что цепь уложена поперек F.
Как и в разд. 6, пусть g; G-^M является продолжением h: Н-*М. Грань из h назовем расщепленной, если все ее подграни в g либо просто связны, либо являются цилиндрами.
Если особая грань F не является расщепленной, то она содержит подгрань g типа (с), определенной в разд. 3. Такая грань может быть расщеплена присоединением к G нового ребра, соединяющего две точки одного и того же внутреннего ребра, и укладкой его поперек F.
Будем говорить, что внутренние цепи еиг1 разделены, если не существует двух таких точек на е и е_|, принадлежащих одной и той же грани g. Легко Видеть, что е и е_| могут быть разделены одним из трех способов (рис. 11):
одна цепь С: х-^у, где х— точка на bfc и у — точка на d^a;
две цепи Cf. Хх-^ух, С2: х2->у2, Хх — точка на bfc, ух — на е, х2— на df~la и у2— на е~*;
две цепи Сх; Хх-^Ух, С: х2-*у2, где хх — точка на df~la, Ух — на е, х2 — на bfc и у2 — на е-1.
В случаях (ii) и (iii) будем говорить, что цепи Сх и С2 перекрываются (относительно е и е-1). Цепи Сх и С2 должны принадлежать особым частям, так как ух и у2 — это точки внутренней цепи.
Эти понятия могут быть распространены с цепей на пары точек. Пара точек (х, у) из др разделяет е и е-1, если цепь С: х-*у, уложенная на F, разделяет е и е-1. Аналогично две пары (xi.yi) и (х2 у2) разделяют е и е-1, если цепи Cf xi -> у\ и С2; х2 —>■ у2, уложенные на F, разделяют е и е-1.
Если особая грань F расщеплена, то либо е и е-1 разделены, либо разделены f и f-1. В алгоритме мы должны будем стремиться продолжить укладку h; Н-+М при ограничении, что некоторые грани расщеплены. Для этого нужно угадывать цепи, которые расщепляют грань. Число таких угадываний может быть слишком большим, так как число возможных цепей может быть экспоненциальным. И если бы алгоритм перебирал все эти возможности, то нельзя было бы гарантировать полиномиальное время его работы. К счастью, если цепь (или пара цепей) разделяет е и е-1, то их разделяет и любая другая цепь (или пара цепей), соединяющая те же самые прикрепления. Таким образом, вместо угадывания цепи (или пары цепей), разделяющих е и е-1, достаточно будет указать пару (или две пары) прикреплений, обладающих этим свойством и соединенных цепью (или двумя непересекающимися цепями) в G — Н. Теперь число угадываний ограничено величиной |V(G)|4, т. е. полиномом от | V(G) |. Однако необходимо еще проверить, что выбранная пара (или пара пар) может быть соединена цепью (или двумя непересекающимися цепями). Для последней задачи известно много эффективных алгоритмов (см., например, [2]).
Алгоритм продолжения
Ввод; Кубический граф G, подграф Н графа G, укладка h; Н-*М только с просто связными гранями, гомеоморфными 2-клетке, граница которой есть полигон вида ае-хЬ-1е (рис. 2), и гранями, гомеоморфными 2-клетке, граница которой есть полигон вида aebfce^df^ (рис. 3).
Вывод; Алгоритм устанавливает, существует ли продолжение h на G и строит его, если оно существует.
Находим части G относительно Н и определяем h для каждой части грани, которым она инцидентна.
Разбиваем грани на обыкновенные и особые.
Угадываем классификацию особых граней на расщепленные и нерасщепленные.
(с.а) Для каждой расщепленной грани F;
(с.аа) Угадываем пару прикреплений (и, и) или две пары прикреплений («ь ui) и (и2, иг), разделяющие е и е-1 или / и f-1.
(с.аа.а) Определяем, содержит ли G— Н цепь' С: и-* и или две непересекающиеся цепи Cf. ui-*ui и С2: «2->п2 (используем для этого стандартный алгоритм (см., например, [2])).
(с.аа.Ь) Укладываем С или Сх и С2 на F.
(с.Ь) Для каждой нерасщепленной грани:
(с.Ьа) Угадываем пару точек и и и на е и е_| соответственно. (с.Ьа.а) Присоединяем ребро С из и в и к G.
(c.ba.b) Укладываем С на F.
(с.с) Пусть Н' получен из Н присоединением всех новых це- цей из (с.аа.а) и (с.Ьа.а), и пусть /г' —укладка Н', определенная укладками в (с.аа.Ь) и (c.ba.b). Действуем для Н', К' и G, как в случае 2 алгоритма продолжения.
Время работы алгоритма
Время работы данного алгоритма определяется числом особых граней.
Шаги (а) и (Ь) требуют не более | V^G) |2 шагов. В шаге (с) осуществляется 2s угадываний. В шаге (с.а)—не более |V(G)|4 угадываний. Шаг (с.аа.а) требует не более |V(G)|2 шагов. В (с.Ь) основное время сосредоточено в шаге (с.Ьа), требующем 1 V(G) |2 угадываний. И наконец, шаг (с.с) вызывает использование случая 2 алгоритма продолжения. Это в свою очередь требует не более чем p(|V(G)|) шагов, где степень полинома р определяется числом цилиндров. Особая грань может дать самое большее два цилиндра, и, следовательно, в шаге (с.с) создается не более 2s новых цилиндров.
Общее время работы ограничено полиномом степени 6 по и. Коэффициенты этого полинома ограничены числом 2z(s), где Z(s) —линейная функция. Отметим, что s не встречается в показателе у и. Этим полностью доказывается случай 3 теоремы 4.1.
СЛУЧАЙ 4 АЛГОРИТМА ПРОДОЛЖЕНИЯ
Обсуждение этого случая почти дословно повторяет обсуждение случая 3.
Назовем особыми грани типа (d) разд. 4. Другие грани будем называть обыкновенными. Разделение двух внутренних цепей, скажем х и х-1, в точности., подобно приведенному выше. Единственный выбор в алгоритме появляется на шаге (с.аа),где нужно вместо прикреплений, разделяющих е и е~х или f и ^,
угадывать прикрепления, разделяющие х и х-1, у и у- или г и z-1. На шаге (с.с) заменяем случай 2 случаем 3.
ЗАКЛЮЧИТЕЛЬНЫЕ ЗАМЕЧАНИЯ
Данная работа наводит на мысль о многочисленных обобщениях. Во-первых, существует публикация, обобщающая предлагаемый алгоритм на произвольные графы и произвольные ориентируемые поверхности. Это было недавно сделано Филотти и Миллером в [13]. Хотя в противоположность некоторым ранним предположениям доказано, что задача укладки графа на поверхность заданного рода легко решаема, для задачи о продолжении это уже не так. Простое прямое рассуждение показывает NP-полноту общей задачи о продолжении (Рейф (не опубликовано))1). Тот же самый вывод был еще косвенным путем получен Миллером, показавшим, что задача о продолжении P-эквивалентна задаче о раскраске дуговых ребер графов пересечений. NP-полнота последней задачи показана Гэри и Папа- димитру (не опубликовано). С другой стороны, если требовать нахождения продолжения для фиксированного рода, то задача снова легко решаема (Филотти (не опубликовано)). Как и в данном случае, полином зависит от рода. Вопрос о нахождении полиномиального алгоритма определения рода остается еще открытым. Мы подозреваем, что это невозможно. Несомненно, методы этой статьи не могут дать такого результата, так как у нас нет достаточно высокой нижней оценки для рода (ср. Уайт [29], с. 58). Решение неориентированного случая кажется этому автору не представляющим серьезных трудностей.
Важная задача, на которую наводит мысль данная работа,— задача об установлении изоморфизма графов фиксированного рода. Очень эффективный алгоритм для установления изоморфизма планарных графов был дан Вейнбергом [28] и был в значительной степени улучшен Хопкрофтом и Тарьяном [18], использовавшими технику поиска в глубину. Задача об обобщении этих методов на другие поверхности была еще поставлена Фонте [11] и, вероятно, должна была привлечь внимание
') В статье комментируется ряд неопубликованных результатов. Из них к настоящему времени опубликованы только три:
многих исследователей. Недавно такой алгоритм был найден одновременно и независимо Филотти и Мейером (не опубликовано) и Миллером (не опубликовано)1).
Я очень признателен ряду коллег за полезные предложения. Джонотан Гросс предложил задачу, введшую меня в эту область, и оказывал мне всяческую помощь. Обсуждение работы с Гэри Миллером в конечном счете привело к обобщению этого алгоритма [13]. Идеи свести квазипланарный случай к 2-выполнимости и начать работу алгоритма с циклов в базисе циклов вместо использования алгоритма распознавания планарности были найдены независимо нами обоими. Давид Джонсон предложил ссылку [10]. Джек Мейер и Ласло Вабан сделали ряд важных замечаний.
ЛИТЕРАТУРА
Aho А. V., Hopcroft J. Е., Ullman J. Е. The Design and Analysis of Computer Algorithms, Addison-Wesley, Reading, Mass., 1974. [Имеется перевод: Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов. — М.: Мир, 1979.]
Bondy J. A., Murty U. S. R. Graph Theory with Applications, American Elsevier, New York, 1976.
Booth K. S. P-Q-Tree Algorithms, Ph. D. Thesis, University of California, Berkeley, 1975.
Chartrand G., Behzad M. Introduction to the Theory of Graphs, Allyn & Bacon, Boston, 1971.
Demoucron G., Malgrange Y., Pertuiset R. Graphes Planaires: Reconnaissance et Construction de Representations Planaires Topologiques, Rev, Francaise Informat. Recherche Operationnelle 8 (1964), 33—47.
Deo N. Note on Hopcroft and Tarjan planarity algorithm. J. Assoc. Com- put. Mach. 23 (1976), 74—75.
Edmonds J. A combinatorial representation for polyhedral surfaces, Notices Amer. Math. Soc. 7 (1960), 646.
Edmonds J. Symmetric imbeddings of complete graphs, Notices Amer, Math. Soc. 7 (1960), 948.
Edmonds J. On the surface duality of linear graphs, J. Res. Nat. Bur. Standards Sect. В 69 No. 1, 2, 121—123.
Even S., Itai A., Shamir A. On the complexity of timetable and multicomo- dity flow problems, SIAM J. Comput. 5 (1976), 691—703.
Fontet M. Automorphismes de Graphes et Planarite, Asterisque, 38—39 (1976), Societe Mathematique de France, 73—90.
Filotti I. S. An efficient algorithm for determining whether a cubic graph is toroidal, in Proceedings, Tenth Annual ACM Symposium on the Theory of Computing, pp. 133—142, Association for Computing Machinery, New York, N. Y„ 1978.
') Результат автора и Мейера, а также Миллера о полиномиальном решении проблемы изоморфизма для графов ограниченного рода был позднее обобщен в работах Миллера (Miller G. L. Isomorphism of A-contractible graphs A generolisation of bounded valence and bounded genus. Inf. and Contr., 1983, 56, № 1—2, p. 1—20) и Пономаренко (Пономаренко И. Н. Полиномиальный алгоритм изоморфизма для графов, не стягиваемых на As, g. —. Зап. науч, семинаров Ленингр. отд. Мат. ии-т АН СССР, 1984, 137, с. 99— 114). — Прим, ред.
Filotti I. S., Miller G., Reif J. On determining the genus of a graph in O(oOg) steps. Proc. 11th. Annu. ACM Symp. Theory Comput., 1979, 27— 37.
Gross J., Tucker T. Local Maxima in Graded Graphs, Ann. New York Acad. Sci. 13 (1979), 254—257.
Giblin P. J. Graphs, Surfaces and Homology: An Introduction to Algebraic Topology. Chapman and Hall, London, 1977.
Hefter L. Uber das Problem der Nachbargebiete, Math. Ann. 38 (1891), 477—508.
Hopcroft J. E., Tarjan R. E. Efficient planarity testing, J. Assoc. Comp. Mach. 21 (1974), 549—568.
Hopcroft J. E., Tarjan R. E. Isomorphism of planar graphs (working paper), in «Complexity of Computations» (Miller et al. Eds.), Plenum, New York, 1972.
Massey W. A. Algebraic Topology: An Introduction, Harcourt, Brace and World, New York, 1967.
Reingold E. M., Nievergelt J., Deo N. Combinatorial Algorithms: Theory and Practice Prentice-Hall Englewood Cliffs, N. J., 1977. [Имеется перевод: Рейнгольд Э., Нивергельт Ю., Део Н. Комбинаторные алгоритмы: теория и практика. — М.: Мир, 1980.]
Ringel G. Map Color Theorem, Springer-Verlag, Berlin, 1974. [Имеется перевод: Рингель Г. Теорема о раскраске карт. — М.: Мир, 1977.]
Ringel G. The combinatorial map color theorem, J. Graph Theory 1 (1977), 141—155.
Rubin F. An improved algorithm for testing the planarity ot a graph, IEEE Trans. Computers C-24, No. 2 (1975), 113—121.
Spanier E. Algebraic Topology, McGraw-Hill, New York, 1960.
Stahl S. The embeddings of a graph —A survey, J. Graph Theory 2 (1978), 275298.
Tutte W. T. A census of planar maps, Canad. J. Math. 15 (1963), 249—271.
Walsh T., Lehman A. Counting rooted maps by genus, (I) J. Combinatorial Theory В 13 (1972), (I) 192—218; (II) 122—141.
Weinberg L. A simple and efficient algorithm for determining isomorphism of planar triply connected graphs, IEEE Trans. Circuit Theory CT-13, No. 2 (1966), 142—148
White А.- T. Graphs, Groups and Surfaces, North-Holland/American Elsevier, New York, 1973.
White A. T„ Beinecke L. W. Topological graph theory, in Selected Topics in Graph Theory (L. W. Beinecke and R. J. Wilson, Eds.), Academic Press, New York, 1978.
Гипотеза Римана и способы проверкипростоты чисел9
Г. Л. Миллер)
В этой статье мы приводим два алгоритма проверки простоты целого числа. Первый алгоритм делает О(п1/7) шагов; второй делает Q(logn) шагов, однако при условии справедливости расширенной гипотезы Римана. Мы также показываем, что функции некоторого класса, включающего функцию Эйлера Ф, по сложности вычисления эквивалентны разложению целых чисел на множители.
ВВЕДЕНИЕ
Существуют две классические вычислительные проблемы нахождения эффективных алгоритмов: (1) для проверки простоты (определения, является ли целое число простым или составным); (2) для разложения целых чисел на множители. Наилучшие верхние оценки для числа шагов, требуемых алгоритмами для (1) или (2), принадлежат Полларду [14] ). Поллард доказывает верхнюю оценку О(/г1/8+Е) шагов для проверки! простоты и верхнюю оценку О(п1/4+) шагов для разложении на множители, где е — произвольная положительная постоянная. Мы даем алгоритм, который проверяет простоту числа и делает О^п^) шагов. Слегка модифицируя этот алгоритм и допуская,, что справедлива расширенная гипотеза Римана (РГР), получаем алгоритм, который проверяет простоту числа и делает О (log4/г) шагов. Таким образом, мы показываем, что простота, чисел проверяема за время, полиномиальное от длины двоичной записи числа п. Используя терминологию Кука [6] и Карпа [9], мы говорим, что простота числа проверяема за полиномиальное время при условии справедливости РГР.
*) Miller G. L. Riemann’s Hypothesis and tests for primality, Journal of Computer and System Sciences, 13, 300—317 (1976).
Одна из важных причин для нахождения быстрого алгоритма разложения чисел на множители заключается в том, что тогда многие другие вычислительные задачи можно быстро разрешить. Например, функцию Эйлера ф можно, очевидно, быстро вычислить, если задано разложение числа п на простые сомножители.
В качестве побочного результата работы по проверке простоты чисел мы показываем, что на самом деле верно и обратное, если допустить справедливость РГР. Таким образом, вычисление функции Эйлера ф по сложности эквивалентно разложению чисел на множители при условии, что справедлива РГР.
В последнем разделе мы обсуждаем соотношение между проблемами распознавания и вычислительными проблемами. Мы показываем, что некоторый класс функций, включающий разложение на простые сомножители и функцию Эйлера ф, обладает тем свойством, что график каждой функции этого класса распознаваем за полиномиальное время при условии, что справедлива РГР.
Способы проверки простоты чисел
Нашей основной целью в этом разделе является теорема 2, но сначала мы точно определим понятие проверки простоты числа за О (/(«)) шагов. "
Определение. Мы говорим, что алгоритм проверяет простоту за O(f(n)) шагов, если существует детерминированная машина Тьюринга, которая выполняет этот алгоритм, и эта машина точно указывает, является ли число п простым или составным за не более чем К^Цп) шагов при некоторой постоянной К.
Используя это определение, мы можем сформулировать теорему I:
Теорема 1. Существует алгоритм, который проверяет простоту числа п за O(n° XZi) шагов.
Если мы допустим, что справедлива расширенная гипотеза Римана (см. добавление), то теорема 1 может быть очень сильно улучшена. Так как время работы мало, то более удобно записывать его с помощью длины двоичной записи. Таким образом, пусть |и| обозначает длину двоичной записи п. При этом обозначении основная теорема такова:
Теорема 2 (РГР). Существует алгоритм, который проверяет простоту числа за О (| п 14log log | п |) шагов.
Трудная часть доказательства приведенных выше теорем заключается в том, чтобы показать, что существует «маленький»
квадратичный невычет. В теореме 1 мы обращаемся к работе Берджеса [3], который использует доказательство Вейля гипотезы Римана над конечными полями, в то время как в теореме 2 мы используем принадлежащее Энкени сведение оценки величины первого квадратичного невычета к расширенной гипотезе Римана.
В статье используются следующие соглашения или обозначения:
Обозначения. Мы будем считать, что число п, которое нужно разложить на множители или проверить на простоту, нечетное, так как случай четного п легко сводится к нечетному. Символы р и q будут означать нечетные простые числа, (а, 6) обозначает наибольший общий делитель а и Ь. Показатель, с которым 2 входит в разложение на простые сомножители п будет обозначаться #2(и), т. е. #2(л) = тах{К: 2К|п)
Нам будут нужны также следующие функции:
Определение. Пусть п = р”1 ... р0^ — разложение на простые сомножители нечетного числа п. Словами «разложение на простые сомножители» мы будем обозначать функцию, сопоставляющую натуральным числам запись их простых делителей вместе с показателями. Мы также рассмотрим следующие три функции:
(О ^ («) = рТ1' (Pi — 0 • • • Р^'ЧРт” о (функция Эйлера фу,
(Н) M^OHK^-'^-l)р^1^-1)} (Х"ФУНК*
ция Кармайкла);
(Hi) A'W-OHKtPi-l, pm-I).
Мотивировка доказательств■
Ферма доказал, что для простого числа р
ap~l = 1 mod р, если (а, р)=1.
Поэтому, если для некоторого а, I < а < п,
Qn-\ ^ J mod П)0)
то п должно быть составным. Далее, ammodn может быть вычислено за О( | пг!М( | п |)) шагов (гдеЛ1(|лП обозначает число шагов для умножения двух чисел длины 1л|) при использовании стандартной техники, описанной в [10]. Возможным способом для распознавания составных чисел может быть систематический поиск а, удовлетворяющих (1). Этот способ может оказаться неудачным для составных п по двум причинам:
2 Зак. 30
Может найтись составное п, которое удовлетворяет тождеству Ферма, т. е.
ап-! ==1 modп для всех (а, п)=\.
Первое а, удовлетворяющее (1), может быть очень большим, что приведет к неэффективному методу.
Остальная часть данного раздела будет посвящена изучению этих двух проблем. Для начала покажем, что в действительности некоторые составные числа удовлетворяют тождеству Ферма.
Теорема (Кармайкл [6]). п удовлетворяет сравнению Ферма тогда и только тогда, когда Х(«) |п— I.
Например, составное число 561 = 3-11-17 таково, что Х(п) = = ОНК^, 10, 16)—80, и 80 делит 560. Поэтому (а, 561)—1 влечет за собой равенство а560 = 1 mod 561 для всех натуральных чисел а. Таким образом, есть составные числа, удовлетворяющие сравнению Ферма. На первый взгляд кажется более трудным доказать, что эти числа составные. Но мы не только распознаем, что они составные, но и быстро найдем делитель. Может показаться, что очевидный подход состоит в использовании теста Ферма для распознавания тех составных п, что ЦгО^п — 1, и некоторых других тестов для тех п, что Х(п)|п— — 1. Вместо этого мы будем разбивать все составные числа на множества в соответствии с тем, что X' (п) ^ п — 1 или X' (п) | п — - 1.
Так как алгоритмы, используемые в теоремах 1 и 2, по сути, одинаковы, мы определим следующий класс алгоритмов:
Определение Af. Пусть [ — вычислимая функция на множестве натуральных чисел. Мы определяем алгоритм А; с вводом п следующим образом:
Проверить, является ли п степенью целого числа, т. е. п = ms, s ^ 2. Если п — степень, выдать «составное» и остановиться.
Проверить следующие ниже условия (1) — (ill) для каждого а ^((ц). Если какое-то из них будет выполнено, выдать «составное» и остановиться:
а\п,
а'1-1 ^ 1 mod п,
((a(n-1)/2femodra) — 1, «)=/=!, п для какого-нибудь к, 1<к<^п- 1).
Выдать «простое» и остановиться.
Замечание. Алгоритм А/, определенный выше, есть упрощенная версия алгоритма, необходимого для доказательства тео-
ремы 2. Af является алгоритмом проверки простоты за О(| га|5 log21 п |) шагов, при условии что справедлива РГР.
Прежде чем доказывать теоремы 1 и 2, мы должны развить технический аппарат для определения f и показать, что существует а ^ f (п), которое «работает».
Начнем с рассмотрения тех составных чисел п, для которых Х'^^п — Х. В следующей лемме мы даем характеристику тех а, которые удовлетворяют условию а"-1 ^ 1 mod га.
Лемма 1. Если Х'(п)^п—1, то существуют простые числа р и q, такие, что■
р \п, р — 1 Т п — 1, qm \р — 1, qm Т п — 1 для некоторого целого m ^ 1;
если а — любой невычет степени q по модулю р, то an-i 1 mo(j п..
(См. в добавлении определение невычета степени q по модулю р и определение индекса a mod р, который обозначается indp а; невычет степени q по модулю р рассматривается лишь прир|(р —I).).
Доказательство леммы I. Пусть рь ..., qn — различные простые делители п. Тогда из X' (га) = ОНК {^[ — 1, .... qn— 1}Т«— 1 следует, что qt — 1 Т п — 1 для некоторог, I. Полагая p = qb получим р\п и р — \^п— 1. Тал как р —1-fra—1, то существует простое q и целое m^l, такие, что qm\p— 1 и qm^ п — 1. Значит, р и q удовлетворяют условию (1). Покажем теперь, что р и q удовлетворяют условию (2).
Предположим, что лемма неверна, т. е. а"-1 = 1 mod га. Так как р\п, то'
а"-1 == 1 mod р.(2)
Пусть b— первообразный корень modp; тогда из (2) следует, что Ь^п4ра^п-П = 1 modp. Так как из bm = 1 modp следует, что р — 11 гаг, то мы имеем
р— 1| (indy а) (га— 1).(3)
Из того, что а есть невычет степени q, следует q Т indpa. Таким образом,
q Т indpa н qm\p — 1. .(4)
Применив (4) к (3), получим qmln— 1 и это противоречит выбору q.-.
Лемма 1 мотивирует следующее
Определение. Пусть N(р, q) равно наименьшему числу а, такому, что а есть невычет степени q по модулю р; оно определяется лишь при q\p— 1. Исйользуя рассуждения с индексами, нетрудно показать, что N(p,q)—простое число. '
Теорема (Энкени [1]) (РГР)
N (р. q) = O (| р|2).
Используя теорему Энкени и лемму 1, получаем, что если X'(п) ^ п—1, то существует а^О(|га|2), такое, что а1-1 ^ ^ 1 mod п.
Вернемся теперь к обсуждению составных чисел п, обладающих свойством Х'(п)^п—1. Пусть 71qm — различные простые делители п; тогда по определению X' мы знаем, что #,(ХДга)) = max(#2(<7i— 1),..., #2(7™— 1)). Поэтому при некотором I, 1 ^ I ^ т, Ф2ХХ'(п)) = ^2(71— 1). Мы теперь будем различать два типа чисел следующим образом.
Определение. Пусть qx, ..., Цт — различные простые делители п. Мы говорим, что п типа А, если при некотором /, 1 ^ ^ / ^ m, #2(V(n)) > #2(7/—О- С другой стороны, говорим, что п типа В, если *2 (V («)) = фДух — 1) = ... =#2(^m—1).
Отвлекаясь на время, чтобы мотивировать следующие три леммы, предположим, что у нас есть составное число n = pq. Предположим далее, что мы имеем число т, такое, что
т = 1 mod 7 и т= — Imodp.(5)
Первое из ограничений (5) влечет за собой q\m— 1, из второго следует tn ^ Imodn. Таким образом, q = (m—1,п). Если бы мы могли быстро вычислить некоторое т, удовлетворяющее сравнениям (5), то быстро нашли бы делитель п. В следующих леммах мы развиваем метод нахождения т, удовлетворяющего (5). Скажем, что у b есть нетривиальный НОД с п, если (6, п^Х, п.
Лемма 2А. Пусть п— составное число типа А, где, скажем, р и 7 делят п, и #2 (X' (п)) = #2 (р — 1) > #2 (7 — 1 )• Допустим далее, что 0 < а < п, такое, что (^ = — 1, где ^^ — символ Якоби (см. добавление); тогда или а, или (av (">/2 mod га)—I имеет нетривиальный НОД с п.
Доказательство. Допустим, что а имеет тривиальный НОД с п. Так как 1 < а < п, то должно быть (а,га)=1. Так как 7—l|V(ra) и #2(7—1 )< ^2(V(ra)), то 7 — 11 (V(ra)/2), откуда■
avwPs 1 mod 7.(1)
■ Поскольку (aVWif в 1 mod р, то avin№ = ± 1 mod р, Предположим, что а^'^г 1 modp, тогда р — 11 (indpa)(V(ra)/2), откуда следует, что indpa— четное число. С другой стороны, из
(.2.) = —1 следует, что indpa нечетен (см. добавление). Значит,
ах' w> = _ J mod р.(2)
По (1) q И^Чп№ mod л) — 1. По (2) р Т (av (я)/2 mod л) — 1, так как р нечетное простое. Следовательно,
((ах'(")/2 mod л) — 1, л) ^ 1, л.
Лемма 2В. Пусть л — составное число и имеет не менее чем два различных простых делителя, скажем р и q.'Далее предположим, что п типа В и 1 < а < п таково, что ( — ) = — 1. Тогда или а, или (ах (п)/2 mod л) — 1 имеет нетривиальный общий делитель СП."
Доказательство. Как и в доказательстве леммы 2А, мы предполагаем, что а имеет тривиальный НОД с п; тогда (а, л) = 1. Без ограничения общности мы предполагаем, что^^ = — 1 и (“) = 1. С помощью техники, подобной использованной выше, показываем, что ax'W2 = — 1 mod р и ау<n>,2= 1 mod^. Завершающие доводы следуют из предыдущего доказательства.
Лемма 3. Если р\п, X'(п}\пг, и k = #2 [т/Х' (л)] + 1, то оР/ЫМ s aml2k mo(j р
Доказательство. Так как аУ^п>= 1 modр, то av<n)/2=+l modp. Рассмотрим по отдельности два возможных значения а^^12:
Если aV(n>/2= 1 mod р, то am,2k = 1 mod р, так как в силу нашего выбора к и того, что X' (л)|/л, следует, что (Г(л)/2)|(щ/2*).;
Если, с другой стороны, ах'(п)/2 == — 1 modр, то мы замечаем, что
am!2k = др/ ЫУ2) т/р' Ы№к~Ч =
— (—l)m/(X'(n)26-l) mo(j pt
Так как т/А/(л)26-1 нечетно, то ат12к =— 1 mod р.
Используя леммы 2А и 3, мы видим, что если л — составное число типа А, Х'(л)|л—1 и а = М(р,2), то либо а|л, либо ((a(rt-l)/2fe mod л) — 1, л)^ 1, л, где 1^^^#2(л—1). Для чисел типа В нам необходимо следующее
Определение. Пусть N(pq) равно наименьшему а, такому, ЧТО ("^) ^Ь гДе (~) ~ символ Якоби, и N(pq) определено лишь для p^=q. Заметим снова, что N^pq) — простое число, .
Теорема (Энкени [1] (РГР).
jV(p9) = O(|p^P).
В действительности Энкени не рассматривал случая N(pq), одиако этот случай следует без каких-либо изменений из его рассуждений. Нужно только использовать более сильную форму теоремы 6 Сельберга [16], на которую есть ссылка в [1, лемма 2(c)], См. также в [12] утверждение и доказательство теоремы Энкени.
Доказательство теоремы 2 (слабая форма). По теоремам Энкени мы можем подобрать такое целое число с^1, что N^p, <7)^с|р|2 и N(pq) ^ с|рр|2. Рассмотрим А$, где f(«) = = с | п |2.1)
Анализ времени работы
Алгоритм Af сначала должен проверить, является ли п степенью целого числа, что занимает О(|п|4) шагов. Мы оставляем читателю проверку этой границы.
А] должен проверить (1), (11) и (ill) для [(п) различных а.
Проверка (1) занимает О( |«|2) шагов.■
Проверка (11) занимает О( | п1М( | п |)) шагов.
Проверка (ill) занимает О( (|п\М( |«|) +1п\2) |п\) шагов, так как НОД может быть вычислен за О(|и|)2 шагов, см. [10], и 1 <&<[«[. На умножение уходит не менее |и| шагов, так что на проверку (ill) уходит не более О( | п\ 2Л1( [га|)) шагов.
Таким образом, Af делает О( | п\ 4Л1( | п\)) шагов. Если мы используем алгоритм Шёнхаге — Штрассена [18] для умножения двоичных целых, то Л1(|«|) = O(|n|log|n loglog|ra|), и мы получаем O(|«|5log|«| log log\п|) шагов.
Доказательство корректности А;. Если п простое, А; укажет, что п простое, так что нам нужно лишь показать, что А; распознает составное п. Если п составное, п относится к одному из следующих трех случаев;
п — степень простого;
X' Wn- 1;
Х'(га) |га — 1 и п не есть степень простого.
Случай 1. Если «—степень простого, то в этом случае п есть степень целого числа, и тогда А/ установит, что п составное.
Случай 2. Если ХЦп^п — 1, то по лемме 1 найдутся р и q, такие, что если a = N(p,q), то а"-1 ^ 1 mod га. Таким образом,
’) Можно взять с = 70 (см. Math. Comput., v. 42, № 165, 1984, 297— 330),.
нужно лишь заметить, что N^p, q) ^Цп?); это следует из нашего выбора f.
Случай 3. Если V(n) \п— 1 и п не есть степень простого:
Предположим, что п типа А; тогда по леммам 2А и 3 можно выбрать р и к (к^#2(п—1)), так, что если а = = N(p,2), то либо а\п, либо ((а^-о/г6 modп) — 1, n) ^ 1, п. Так как N(p, 2)^ f(n), п будет опознано как составное на шаге (i) либо (iii).
Предположим, что п типа В. Тогда по леммам 2В, 3 и по предположению, что п не есть степень, можно выбрать р, q и к^^^п— 1) так, что если a = N^pqY то либо а\п, либо ((ain-i)/2*modп) — 1, п) =# 1, п. Поскольку N^pq^^Hny то А, обнаружит, что и составное.
Чтобы доказать теорему 1, нам потребуется следующий результат Берджеса.
Теорема [2—4]. Для любого е > О
N^p. q) = O (р^^Ч^
Доказательство теоремы 1. По теореме Берджеса можно подобрать такое целое число с ^ 1, что
N (j), q) < ср(*/4)/(2.71)1/2 и # (w) ^ с (р9)(1/4)/(2.71)1/2.
Положим / = 4(2.71 )1/2. Рассмотрим А;, где f(n) = |"cniz<z+^l^ ^ [с^аэз]. Так как А, делает О(А0134) шагов, нам нужно только показать, что Af проверяет простоту числа. Если п простое, то А, укажет, что п простое.
Предположим, что п составное. Тогда для п предоставляется по крайней мере один из следующих четырех случаев:
Случай 1. п степень простого.
Случай 2. п имеет делитель ^Цп.у
Случай 3. X'^-Vn — 1, у п нет делителя ^f(n).
По лемме 1 существуют такие простые числа р, q, что если a~N(p, qy то ап-1 ^ 1 mod п. Значит, нужно лишь показать, что а = N^p, q) ^ f (п). По предыдущему выполняется неравенство
a^cpx,t.(5)
Так как п составное и для всех а ^ f(n), аУп, То
р^пЩпУ т. е. p=^(l/c)nw+1).(6)
Подставив (6) в (5), получим
а^п'Л'+ч^/(п), так как с^1.
Случай 4. V(ra)|ra—1, у п нет делителя ^f(n), и га не является степенью простого.
Предположим, что п типа А. Тогда, как и в случае ЗА теоремы 1, нужно лишь показать, что а = N(p, 2)^ / (га), где р\п. Так как в этом случае (5) и (6) выполняются, получаем a^fW.
Пусть га типа В. Так как п не является степенью простого, то у га есть не менее двух различных простых делителей, скажем р и q. Нужно лишь показать, что N(pq)^. f(n)’, это будет выполнено, если мы покажем, что pq ^ п/[(п).
Утверждение, n^pq (см. [5]).
Предположим, что n = pq, где р < q. Тогда q—1|рр—1, так как V(n)|ra—1. Но отсюда следует, что q—1|р—1. Следовательно, q ^ р, что противоречит предположению р < q.
Согласно утверждению, n = pqr, где r=#V Так как г\п, то г ^ Нп?). Следовательно, pq ^ га//(га).
Модификация алгоритма Af
Прежде всего заметим, что а на шаге (2) А; не обязано пробегать все числа ^.Цп), а только простые числа ^/(га).Так как число простых ^Цп) равно O(f (и)/log f (и)) по закону распределения простых чисел, то для верхней границы в теореме 2 получаем О (| п |5 log log) п |) шагов.
Мы дополним А; следующим образом:
Если га есть степень, выдать «составное».
Вычислить рь ..., рт, где pi есть г-е простое число и гаг таково, что рт ^ /(«)< Pm-м- Вычислить такие Q, S, что га— 1 = = Q2S, Q нечетное. Положить г = 1 и перейти на (ii) (обозначив pi через а повсюду).
Если г < гаг, заменить I на г +1. Если i = m, выдать «составное» и остановиться.
Если а\п, то выдать «составное» и остановиться. Вычислить ayrr.oira, ay2modra, ..., aQzS mod n.
Если ay2Smodra^= 1, выдать «составное» и остановиться.
Если a°modra = l, вернуться на (i). Положить / = = max(/: а^1 mod га += 1).
Если aQ11 mod п = п — 1, вернуться на (i).
Выдать «составное» и остановиться.
Как и в доказательстве теоремы 2 (слабая форма), время работы алгоритма Af оценивается в основном временем шага (2), где f та же, что и прежде. По существу, А; должен вычислить следующее:
первые гаг простых, что составит О ((/(га))3/2 шагов по методу решета;
a”-1 (mod га), где а пробегает первые гаг простых, что составит О(гаг|га|Л4(|га|)) шагов. Таким образом, время работы At есть О(| га[4 log log|га|).
Чтобы доказать, что Aj проверяет простоту числа, нужно лишь вновь рассмотреть третий случай:
Случай 3; Х'(п) \п— 1 и га не есть степень простого.
Предположим, что га типа A, #2(V(«)) = ^Ар—О> >#2(9—1) и р, q\n. Положим a = N(p, 2) (таким образом, а простое). Тогда нужно лишь показать, что один из шагов (ii), (iii) или (vi) выдает «составное» для этого а. Пусть а^п и a"-1 si mod га. Покажем, что А; достигнет шага (vi). Если as = Imodp, то 2|S, поскольку ^-^-^ = —I и Р нечетно. Поскольку р\п, то aQ ^ 1 mod га. Значит, Af достигнет шага (v). По леммам 2А и 3 мы знаем, что существует такое к, что 0Q2* в J то^ q и aQik = _ i mo<i p. Допустим, что aQ2* = — 1 mod га, тогда aQ21 = — 1 modp и q. Далее a^ =a!^= — 1 modp, откуда k=J. С другой стороны, aQ2k = 1 mod q и aQ2z=^i mod q, откуда к>1. Из этого противоречия следует, что а*5^ =£—1 mod п. Значит, Af достигает шага (vi).
Допустим, что га типа В. Доказательство этого случая повторяет рассуждения в случае А.
Относительная вычислительная сложность
В этом разделе мы обсудим относительную вычислительную сложность некоторых функций теории чисел.
Для начала рассмотрим следующий пример: функция Эйлера ф^п) определяется равной числу целых чисел между 1 и га, взаимно простых с га. Вычисление «Цп^ по этому определению с проверкой каждого числа, меньшего п, на взаимную простоту с га требует не менее п шагов. Значит, этот метод требует экспоненциального относительно |га| числа шагов. При заданном разложении га на простые сомножители, скажем р”1 — р”^. мы можем вычислить ф(п\ с помощью произведения.
ф (га) = р"1-1 (р, - 1) ... р^-1 (pm - 1)
не более, чем за loggra умножений, т. е. не более, чем за полиномиальное от |га| время. Мы можем выразить формулу произведения в терминах сложности: если разложение п на простые сомножители может быть вычислено «быстро», то ф^ может быть вычислена «быстро». Мы теперь займемся формализацией предыдущего утверждения и докажем его обращение при усло- вцц справедливости РГР,
- Определения приводимости в кругу проблем распознавания (множеств) были введены многими авторами, см., в частности, работы Кука [6] и Карпа [9]. Так как мы в первую очередь занимаемся функциями, введем понятие функциональной приводимости.
Определение. Если заданы функции f и g, то мы скажем, что f за полиномиальное время приводима к g, обозначая это f^pg, если существует машина Тьюринга, которая при вводе п и g(п) вычисляет f(п) за О(|пр) шагов при некоторой постоянной к. Мы скажем, что / эквивалентна за полиномиальное время g, если f^Pg и g^pf, и обозначим это отношение f «eg-
. Данное определение приводимости за полиномиальное время очень сильное. В нем говорится, что если две функции эквивалентны за полиномиальное время, то верхние (нижние) границы времени для их вычисления различаются лишь добавлением многочлена. В последующих примерах мы дадим определение приводимости за полиномиальное время, которое требует лишь сохранения асимптотического времени работы.
Формализуем теперь наше утверждение о функции Эйлера.
' Лемма 4. Функции ф, X, X* за полиномиальное время приводимы к «разложению на простые сомножители», т. е. ф, X, X' ^Рф «разложение на простые сомножители».
Доказательство, ф ^р «разложение на простые сомножители» следует из нашего обсуждения в начале этого раздела. Чтобы показать, что X, X' приводимы к разложению на простые сомножители, отметим следующие два факта относительно функции наименьшего общего кратного ОНК:
ОНК (a, b^abRa, bY
ОНК (а, Ь, с) = ОНК (ОНК (а, 6), с).
По лемме 4 получаем, что если функция Эйлера ф не может быть вычислена за полиномиальное время, то и разлагать числа на множители за полиномиальное время нельзя. Но не исключено, что вычисление ф^п) может быть сделано быстро, в то время как разложение на множители является трудным. Следующая лемма показывает, что все функции из некоторого класса, который включает ф, не более легки для вычисления, чем разложение на простые сомножители, при условии что справедлива РГР.
Лемма 5 (РГР). Пусть g— любая функция, удовлетворяющая условиям1.
b'WWr.
[ ^ (")) = О (| п ]А) при некоторой постоянной к. Тогда «разложение на простые сомножители» ^Pg.
Доказательство. Рассмотрим следующую процедуру с п и пг. (I) Проверить, является ли п степенью целого числа.
Выполнить шаги (i) и (И) для каждого а^/(п) (где / та же, что и в доказательстве теоремы 1).
а\п,
(И) ((a™/26modц) — 1, п) #= 1 для некоторого 0^й^#?(щ).
Если X'fn^m, то рассуждениями, аналогичными использованным в случае 3 доказательства теоремы 2, получаем, что эта процедура выдаст делитель числа п, если п составное. Если положить т = g(n), то за О( |§(п) | |«|3Л1( |ц| )) шагов мы либо узнаем, что п простое, либо найдем п' некоторый делитель п. Если в приведенной выше процедуре мы заменим п на п', то Х'(п,‘) |g(n), поскольку п'\п влечет X'(п') |Х'(«). Тогда за О( |g(n) ||«' |3М (п')) шагов мы либо узнаем, что п' простое, либо что п" множитель п'. Итерируя эту процедуру не более чем | п | раз, мы найдем все простые делители п. Таким образом, мы найдем разложение п на простые сомножители за O(|g(/z) | |и|4М(|ц|)) шагов. Поскольку |g(n) | = О(|п|*), будет сделано О( |« | *+4Л1( | и])) шагов.'
Мы получили следующую теорему.■
Теорема 3 (РТР). Функции ф, X, X' и «разложение на простые сомножители-» эквивалентны за полиномиальное время, т. е. «разложение на простые сомножители» ~рф «РХ «РХ'.
Другая проблема, связанная с разложением чисел на множители, состоит в нахождении периода при разложении рационального числа в бесконечную дробь. Мы знаем, что такое разложение периодично при любой базе. Следовательно, функция «Период» (а, 6) = минимальный период \/а в базе Ь, корректно определена. Не представляется возможным доказать эквивалентность между «периодом» и «разложением на простые сомножители», используя предыдущее определение приводимости. Поэтому мы вводим более слабое определение приводимости, подобное приводимости по Тьюрингу из рекурсивной теории.
Определение. Если заданы функции f и g, мы скажем, что f приводима по Тьюрингу за полиномиальное время к g, обозначая это f^Pg, если существует машина Тьюринга со следующими свойствами:
машина имеет отдельную ленту, с которой она может извлекать значения g, причем для извлечения ^(/и) требуется |m| + |g(m) | шагов;
машина вычисляет Цп) за О(|п|х) шагов, где К—некоторая постоянная.
Мы скажем, что fug эквивалентны по Тьюрингу за полиномиальное время, если j^.p g и g^pr, обозначаем это / ^ pg*
В лемме 5 были введены некоторые ограничения на рост функции g. Требовалось, чтобы длина g росла не быстрее, чем многочлен от длины ее аргумента. Мы будем говорить, что такая функция имеет синтаксический полиномиальный рост.
Лемма 6. В классе функций с синтаксическим полиномиальным ростом отношения ^ р, ~р, ^р и «о обладают следующими свойствами:
^р и ^р — транзитивные отношения. Таким образом, ~р, и «р — транзитивные отношения.
Из f^pg следует, что f^pg.
Класс функций, вычислимых за полиномиальное время, образует класс эквивалентности по отношению «р и «р.
Используя наше второе определение приводимости, мы можем теперь доказать эквивалентность между периодом и разложением на простые сомножители.
Теорема 4 (РГР). «Период» эквивалентен по Тьюрингу за полиномиальное время «разложению на простые со множите ли», т. е. «период» «р «разложение на простые сомножители».
Доказательство. Стандартная теорема теории чисел (см. Харди и Райт [8]) гласит, что если а = ио, где (о, 6)=1 и и состоит только из простых чисел, делящих Ь, то «период» (a, b) = min{m: bm = lmody). Другими словами, «период» (а, 6) равен порядку b mod о.
Мы сначала покажем, что «период» ^р «разложение на простые сомножители». Предположим, что на вводе [а, 6]. Машина сначала вычисляет и и о, такие же, как прежде, посредством последовательного применения НОД. Для полноты мы приводим возможный способ. Рассмотрим последовательности и0, щ, ... и Уо, уь ..., определенные равенствами ио = 1, у0 = а, ицд = (уi, b^ut и yw = а/ц^ь Здесь a=UiXi и Ui состоит только из простых, делящих Ь. Если и, ф и, то 2щ ^ u,+i. Поэтому при t=|a|, и, = и и oi = o. Теперь машина извлекает разложение у на простые сомножители, по которому вычисляет Х(у). Далее она извлекает разложение Х(у) на простые сомножители, скажем рр ... р^т. Мы знаем из теоремы Кармайкла, см. [5], что порядок &mody делит Х(у). Значит, нужно лишь определить, какие из pt отбросить. Это может быть сделано посредством вычисления минимальных hi, удовлетворяющих сравнениям
. PV ••• pIL^pW+V ♦•• P^=lmody
для каждого I между 1 и пг. '
Очевидно, что порядок b mod и равен phxx ... р^.
Чтобы доказать, что «разложение на простые сомножители» ^р «период», возьмем в качестве / такую же функцию, как в доказательстве теоремы 2, и в качестве разлагаемого числа возьмем п. Предположим, что п не имеет делителей между 2 и f(n), иначе просто разделим на них.
Утверждение (РГР). Пусть h (п) = max («Период» (п, 2), .., ..., «Период»(и, ((и))}. Тогда /г(«)^Х(м) и Х/(м)|/г(м).
Так как «Период» (и,/)|Х(л) при 2^z^f(n), то h(n) |X(п); следовательно, ft(n) X (п). Пусть qm\X'^ny Тогда qm\p—1 при некотором р\п. Пусть а —наименьший q-й невычет по модулю р, т. е. а = N(р, qY Тогда получаем:
По расширенной гипотезе Римана а^((р). Значит, а ^/(и).
qm делит порядок a mod р, поскольку а есть невычет степени q по модулю р и qm\p — 1. Так как (о, м)=1. по (1), то qm делит порядок a mod и.
Из этих двух фактов следует, что qm\h^ny Утверждение доказано.
Поскольку h удовлетворяет условиям леммы 5, то «разложение на простые сомножители» ^ph. h^.p «период», так как можно определить машину, которая просто извлекает «Пе- риод»(п, 2)«Период»(п, ^п^ и вычисляет их ОПК. Эта машина работает за полиномиальное время, поскольку Цп) = = O(log2n). Наконец, по лемме 6 получаем, что «разложение на простые сомножители» «период».
Разложение на множители и Р — NP
Вероятно, самый интересный вопрос в теории вычислительной сложности есть вопрос Р—NP. Кук [6] и Карп [9] показали, что удивительное множество проблем распознавания являются NP-полными. Одна проблема распознавания, о которой неизвестно, является ли она NP-полной, есть множество составных чисел, {составные}. Пратт [15] показал, что множество простых чисел, {простые}, принадлежат NP. Поэтому кажется невероятным, что {составные} является NP-полным, поскольку отсюда следовало бы, что NP = NP, где NP состоит из тех множеств, чьи дополнения принадлежат NP. Далее из теоремы 2 следует, что {составные} е Р при условии справедливости РГР. Эти два факта в некотором смысле устанавливают отношение {составные} к Р—NP вопросу. Вопрос о сложности разложения на множители кажется более трудным.
В свете работ Пратта кажется естественным рассматривать разложение в терминах недетерминизма, не как проблему распознавания, а скорее как функцию, которая недетерминированно вычислима. В следующем определении мы вводим понятие детерминированной (недетерминированной) полиномиально вычислимой функции.
Определение. Пусть Р* обозначает множество функций от натуральных чисел, вычислимых за полиномиальное время. Мы скажем, что недетерминированная машина вычисляет f за Т шагов, если машина при вводе п проделывает некий путь, который заканчивается, и любой путь, который заканчивается, выдает f(n) за О(Т(п)) шагов. Используя это определение, мы будем обозначать NP* множество функций от натуральных чисел, вычислимых за недетерминированное полиномиальное время.
Как и в начале этого раздела, мы будем обозначать через P(NP) подмножества натуральных чисел, распознаваемые за детерминированное (недетерминированное) полиномиальное время. Очевидно, что множество составных чисел содержится в NP, т. е. (составные) eNP. Пратт доказал следующий удивительный результат.
Теорема [15]. (простые) е NP.
Приводимые ниже следствия получаются при использовании результатов Пратта.
Следствие 1. «.Разложение на простые сомножители» е NP*.
Доказательство. Машина просто угадывает разложение на простые сомножители, распознает простоту каждого из сомножителей и затем выдает «разложение на простые сомножители». Так как имеется не более чем log я сомножителей, машина работает за полиномиальное время.
Следствие 2. «Период», ф, X, X' е NP*.
Доказательство. Так как все четыре функции приводимы по Тьюрингу за полиномиальное время к функции «разложение на простые сомножители» и «разложение на простые сомножители» лежит в NP*, то нужно лишь доказать следующую лемму.
Лемма 7. Если f ^р g и gENP’, то feNP*.
Доказательство. Пусть М — машина, которая вычисляет f С помощью метода, заданного посредством f^pg. Пусть М' — машина, которая вычисляет g недетерминированно за полиномиальное время. Чтобы сделать машину, которая вычисляет [, мы просто заменим извлечение значений g в М вычислением
с помощью М'. Тогда новая машина будет работать за полиномиальное время, так как М извлекает не более чем полиномиальное количество значений g, каждое из которых может быть вычислено за полиномиальное время.
Сейчас мы введем две различные конструкции для получения посредством функций проблем распознавания и исследуем их свойства в свете результатов предыдущего раздела. Пусть <а, Ь) есть некоторое кодирование упорядоченной пары а, b натуральным числом, которое «эффективно», т. е. мы можем кодировать и декодировать за полиномиальное время.
Определение. Если f есть функция на множестве натуральных чисел, то мы полагаем график функции f равным
Gf = {(n, Цп^Хп натуральное число}
и проекцию f равной
Pf = {(n, m)\f(n)^m}.■
Используя эти два определения, получаем следующие леммы. (Мы обозначаем СПР множество функций с синтаксическим полиномиальным ростом, определенных в предыдущем разделе.)
Лемма 8. Если j е СПР, то следующие утверждения эквивалентны:
GfeNPHNP;
GfeNP:'
feNP*; _
. (4) Pf e NPf)NP.
Доказательство. Импликации (l)=>-(2)=>(3)=>(4) и (3)=> =>(1) очевидны. Мы докажем случай (4)=>-(3). Поскольку P/eNPflNP, то существует недетерминированная машина Тьюринга, которая вычисляет характеристическую функцию Pf за полиномиальное время. Так как f из СПР, то существуют постоянные к и с, такие, что |f(п) | ^ с\пр. Величина f(n) лежит между 0 и 2е1"' . Таким образом, используя двоичный поиск, нужно лишь вычислить с|п|* значений характеристической функции Pf..
Лемма 9. Если g, f е СПР, то выполнены следующие утверждения:
Pf е Р тогда и только тогда, когда f е Р*.
'(2) Если f « pg и Gg е Р, то Gf е Р.
■ Доказательство. (1) То, что из feP* следует Р; е Р, очевидно; из Pf е Р следует, что f е Р* по тем же соображениям,
которые использовались для доказательства, что из. P/eNPH NP следует f е NP*.
Рассмотрим следующую машину, скажем М, с вводом <п, т):
М декодирует <n, т> в п и /и и пытается вычислить g(n\ посредством алгоритма, заданного отношением g ^ pf с вводом пит. Если он останавливается с возможным значением g(n'), скажем к, то М переходит к шагу (ii). Если алгоритм использует больше чем c\n\ft шагов, то он отвергает (п, т), где с и к заданы приводимостью g к f.
М вычисляет <п, h') и проверяет включение (и, h^e Gg с помощью алгоритма, заданного посредством GgEP. Если <п, h}^ Gg, то М отвергает <п, т), в противном случае она переходит к (iit), и мы знаем h=g^nY
М вычисляет Цп), используя п, gU^, с помощью алгоритма, заданного j ^ pg. Если Цп^ = т, то М допускает <п, пф, иначе она отвергает <п, т').
Должно быть понятно, что М работает полиномиальное время и допускает в точности Gj.
Используя последние две леммы и приведения предыдущего раздела, получаем:
Теорема 5 (РГР). Графики ф, X, X' и «разложения на простые сомножители» распознаваемы за полиномиальное время.
Доказательство. По лемме 9 нужно лишь показать, что график «разложения на простые сомножители» принадлежит Р, так как по теореме 3 все четыре функции эквивалентны за полиномиальное время. Но график «разложения на простые сомножители» принадлежит Р по теореме 2.
Теорема 6. Проекции «периода» ф, X, X' и «разложения на простые сомножители» принадлежат NPf) NP, и если какая-либо из этих проекций принадлежит Р, то все эти функции принадлежат Р*.
Доказательство. Первая часть теоремы 6 вытекает из следствия 2 и леммы 8, а вторая часть следует из леммы 9, часть (I).
Эти результаты позволяют сделать различие между нашими двумя методами конструирования проблем распознавания с помощью функций. Теорема 5 показывает, что график функции может быть легко распознаваем, в то время как функция может быть сложно вычислима. Леммы 8 и 9 показывают, что проекция есть сохраняющее сложность естественное отображение функций в множество отношений. Теорема 6 выявляет возможные кандидаты для проблем распознавания из (NPflNP)—Р,
ДОБАВЛЕНИЕ
Пусть Z„ обозначает кольцо классов вычетов целых чисел по модулю п. Пусть Z* обозначает множество классов вычетов, взаимно простых с п, при умножении по модулю п. Z^ есть группа, и если р простое, то Z* — циклическая группа порядка р — 1. Таким образом, единственные решения уравнения х2 = = 1 mod р есть ±1. Мы можем выбрать образующую циклической группы Z*, скажем Ь; тогда определим indpa = = min{/n: bm =,а modp}. Заметим, что indpa зависит от нашего выбора образующей. Мы скажем, что а есть вычет степени q по модулю р, если существует такое Ь, что bq = a(modp).
Замечание. Если р, q простые и q\p — 1, то а есть 7-й вычет по модулю р тогда и только тогда, когда ^jindpa.
Определение. Символ Лежандра ^^ определяется так: (—) —L если а — квадратичный вычет по модулю р и (а, Р)= U
= —1, если а квадратичный невычет по модулю р и (а, р)=1; х
= 0, если (а, р) Ф 1.
Символ Якоби определяется так:■
u)-(f)(f)-
где (у) и — символы Лежандра. '
Эти два символа при фиксированных знаменателях определяют функции, относящиеся к общему классу функций, называемых характерами. Мы определим еще один характер следующим образом:
{
е (2л/ (indpa)/p), если (а, р)=1, 0, если (а, р) =/= 1, где q\p — 1 и е — показательная функция.
L-функция Дирихле определяется равенством
L(S, х) = § xWlnsп=1
где % — характер.
Расширенная гипотеза Римана. Нули L(S, х) в критической полосе 0 ^ (вещественная часть S) ^ 1 все лежат на прямой (вещественная часть S)=l/2, где х— один из трех приведенных выше характеров.
ЛИТЕРАТУРА■
Ankeny N. С. The least quadratic non-residue, Ann. of Math. 55 (1952) 65-72.
Burgess D. A. The distribution of quadratic residues and non-residues Ma- thematika 4 (1957) 106—112.
Burgess D. A. On character sums and primitive roots. Proc. London Math. Soc. 12. № 3 (1962) 193—206.
Burgess D. A. On character sums and L-series. Proc. London Math. Soc. 12, № 3 (1962) 193—206.
Carmichael R. D. On composite numbers p which satisfy the Fermat congruence af-1 = p. Amer. Math. Monthly 19 (1912) 22—27.
Cook S. A. The complexity of theorem-proving procedures. In: Conference Record of Third ACM Symposium on Theory of Computing, 1970, 151 —158.
Davenport H., Erdos P. The distribution of quadratic and higher residues. Publ. Math. Debrecen, 2 (1952) 252—265.
Hardy G., Wright E. An introduction to the theory of numbers, p. 111. Oxford Press, New York — London, 1968.
Karp R. M. Reducibility among combinatorial problems. In: Complexity Of Computer Computation (R. E. Miller, J. W. Thatcher, Eds.), pp. 85—103, • Plenum, New York, 1972.
Knuth D. The art of computer programming. Vol. 2: Seminumerical algorithms. Addison-Wesley, Reading, Mass., 1969. [Имеется перевод: Кнут Д. Искусство программирования для ЭВМ. Т. II Получисленные алгоритмы.— М.: Мир, 1977).
Miller G. L. Riemann’s hypothesis and tests for primality. In: Proceedings of Sevens Annual ACM Symposium on Theory of Computing, 1975, 234— 239.
Montgomery H. Topics in multiplicative number theory. Springer-Verlag Lecture Notes vol. 227, p. 120. Springer-Verlag, Berlin, 1971. [Имеется перевод: Монтгомери Г. Мультипликативная теория чисел. — М.: Мир, 1974.]
Pollard J. An algorithm for testing the primality of any integer. Bull. London Math. Soc. 3 (1971) 337—340.
Pollard J. Theorems on factorization and primality testing. Proc. Cambridge Philos. Soc. 76 (1974) 521—528.
Pratt V. Every prime has a succint certificate. SIAM J. Computing 4 (1975) 214—220.
Selberg A. Contributions to the theory of Dirichlets L-functions. Avh. Nor.
- Vidensk., Akad. Oslo, 1934.
. Shanks D Class number, a theory of factorization and genera. Proc. Symp. Pure Math. 20 (1969). Number Theory Institute American Mathematical Society, 1971, 415—440.
Schonhage, Strassen V. Schnelle Multiplikation Grosser Zahlen. Computing 7 (1971) 281-292.
Проверка чисел на простотус помощью вычислительных машин0
X. Уильямс)
ВВЕДЕНИЕ
Простые числа пленяли людей еще в античное время. В самом деле, похоже, что понятие простоты восходит к пифагорейской школе [24]. Несомненно, что во времена Евклида (III век до н. э.) оно было уже хорошо известно. Некоторые идеи древних о простых числах и разложении на простые множители до сих пор продолжают активно разрабатываться. /Мы обсудим их в начале настоящей статьи.
В большей части данной работы описан современный подход к проверке чисел на простоту. Хотя он всегда предполагает возможность использования вычислительных машин, не следует забывать, что истоки многих современных идей восходят к докомпьютерной эпохе. Первые исследователи простоты чисел часто располагали лишь электромеханической настольной счетной машиной, целеустремленностью и огромным энтузиазмом. Поэтому для них было жизненно важно найти какой-нибудь способ уменьшить утомительную работу, которой требовало тогда доказательство простоты даже 20—25-разрядного числа. Образ мыслей и энтузиазм этих ранних исследователей (а также многих современных) лучше всего описан в очаровательной работе Д. Лемера «Hunting big game in the theory of numbers» [48].
’ До недавнего времени работы по теории и практике проверки чисел на простоту не имели (и многие до сих пор не имеют) какой-либо другой цели, кроме удовлетворения чисто интеллек-. туальной любознательности. В самом деле, у них и не могло быть других мотивов, поскольку такая работа не имела никаких, практических приложений. Однако оказалось, что большие простые числа могут применяться в стратегически важной области— криптографии. Хотя это открытие привлекло значительный интерес к работам по проверке простоты чисел, но оно. также, по-видимому, вызвало растущую склонность жертвовать строгостью доказательства в некоторых новых способах проверки простоты.
•> Williams Н. С. Primality testing on a computer. Ars Combinatoria, 5 (1978) 127—185.
Поскольку задача определения простоты даже 65-разрядного числа посредством математически корректного алгоритма может в некоторых случаях оказаться крайне трудной, мы теперь становимся свидетелями разработки методов Монте-Карло для «решения» этой задачи. Такие методы не ставят вопрос о простоте данного целого числа; вместо этого они пытаются показать теоретико-вероятностными методами, что любое число, которое указанный метод объявил простым, с чрезвычайно малой вероятностью может оказаться на самом деле составным. Некоторые из таких методов мы описываем в настоящей работе.
Мы излагаем также подход, который можно рассматривать как промежуточный между методами Монте-Карло и математически строгими методами. Он зависит от истинности очень правдоподобной (но не доказанной) математической гипотезы. Если гипотеза верна, то число, признанное простым с помощью такого алгоритма, действительно просто.
Как было отмечено в начале этого раздела, проблема простых чисел и способов проверки простоты очень стара; поэтому соответствующая литература весьма обширна. Библиография к данной статье охватывает работы, опубликованные после 1915 г. Ссылки на более ранние источники можно найти в работе [16].
РЕШЕТО ЭРАТОСФЕНА
Первым зафиксированным письменно методом отыскания простых чисел является метод Эратосфена (около 250 г. до н. э.). Метод находит все нечетные простые числа, меньшие данного целого N, с помощью следующих правил:
Выписать все нечетные числа от 3 до N.
Вычеркнуть З2, а далее — каждое третье число; затем вычеркнуть 52 и далее каждое пятое число.
Продолжать этот процесс до тех пор, пока первое оставшееся число, следующее за тем, кратные которому были вычеркнуты последними, йе будет иметь квадрата, превосходящего N.
Те числа, которые не были вычеркнуты, суть все простые числа, не превосходящие N. См. ниже пример для М=101.
3
5
7
X
П
13
17
19
X
23
Я
X
29
31
37
У
41
43
Я
47
Я
У
53
у
59
61
Я
67
X
71
73
у
79
X
83
Я
89
91
93
97
101
Оставшиеся числа — все простые, меньшие или равные 101,
Эту весьма простую процедуру очень легко реализовать на ЭВМ. Фактически из-за его быстроты именно этот алгоритм большинство специалистов по вычислительной теории чисел применяют для порождения всех простых чисел, не превосходящих N. Время работы алгоритма имеет порядок N log log\N; однако для больших N такая оценка нереалистична, поскольку память вычислительной машины ограничена, и решето приходится строить состоящим из сегментов.
Бэйс и Хадсон [4] указали, как это можно сделать, и с помощью своего очень простого алгоритма смогли на IBM 370-168 найти все простые числа до 1012. Они привели таблицу л», с(х) для 6 = 24 и всех с, таких что 0 < с < 24 и (с, 24) = 1. Значения х в этой таблице суть х = 10", 2-10", ..., 1012. Здесь л», с(х) означает количество простых чисел в последовательности вида {bn-f-c}, я = 0, 1, 2, 3, ... . Полученные ими значения л(х) для х = 10", 1012 подтверждают значения л(х), которые получил Боман [5]. Результаты Бомана были вычислены по формуле, аналогичной формуле Майселя (1845) (см. также [44] и [52]). В приведенной ниже табл. 1 даны значения л(х) для х = 10” (п = 1, 2, 3, ..., 13).
Таблица 1
X
104
102
25
10
168
10
1 229
10’
9 592
10°
78 498
ю
664 579
10°
5 761 455
ю9
50 847 534
10'°
455 052 511
10"
4 118 054 813
ю12
37 607 912 018
ю13
346 065 535 898
простых чисел от 11 до 97. Это, по-видимому, первая таблица простых чисел, происхождение которой известно.
Поскольку составное N должно иметь хотя бы один простой делитель p^^N, то достаточно попробовать разделить N на все простые числа, не превосходящие л/N, чтобы определить, простое оно или нет. Ясно, что если у N 30 разрядов или больше, то этот метод доказательства простоты работает слишком медленно; однако в сочетании с другими методами метод пробного деления оказался весьма мощным.
Необходимо сразу заметить, что порождение всех простых чисел, меньших определенного числа, все равно требует времени и памяти, даже если используется решето. Ясно, что метод пробного деления работает быстрее всего, если список простых чисел доступен для машины. Сами эти числа в памяти не хранятся, поскольку это потребовало бы слишком много места; обычно запоминаются разности между последовательными простыми числами. Даже если применяется такой принцип, то требуемый объем памяти и время доступа могут оказаться весьма значительными, и во многих случаях проще организовать пробное деление на некоторые легко определимые целые числа, в которые входят и простые (например, на нечетные и на 2). Такой принцип описан в [99].
Пусть dx, di, ..., dm суть m = 5760 = ф (30030) положительных целых чисел, меньших 30030 =2-3-5-7-11•13 и взаимно простых с ним.
Если у N есть простой делитель, то он либо равен одному из чисел 2, 3, 5, 7, 11, 13, либо должен иметь вид
Цк, г) = 30030^ + ^.
Если положить А,- = dt+i-—di, то мы видим, что
'f(0, 1) = 1,
Цк, i+\) = f(k, Z) + A„f(^+l, l) = f(&, m) + 2.
Поэтому чтобы для числа N найти все его простые делители, меньшие заданного фиксированного В, достаточно осуществить пробное деление N на все Цк, i)<Z В. Такие методы называются методами колеса. Каждый раз, когда к увеличивается на 1, говорят, что колесо с 5760 спицами «повернулось».
" Вундерлих и Селфридж [99] приводят следующие данные о времени t работы их метода на IBM 360-67:’
для V < Ю20,В =10’,К^с,
для ^V < 1030,В = Ю7,/<70с.
Возрастание времени работы связано с тем, что использовались подпрограммы для арифметических действий с большими целыми числами (multi-precise routines). Во всех рассуждениях настоящей статьи будет предполагаться, что такие программы существуют. Они обычно меняются от машины к машине, поскольку они составлены на том или другом машинном языке и поэтому не являются универсальными. Хорошее описание всевозможных известных алгоритмов арифметики больших целых чисел имеется в книге Кнута [29]. Рассматривая такие операции, необходимо помнить, что время, которого требует деление одного числа на другое, на много больше времени, которого требует умножение тех же чисел. Далее, время умножения двух чисел гораздо больше времени их сложения или вычитания. Поэтому самое лучшее — попытаться минимизировать число умножений и особенно делений во всяком алгоритме, в котором применяются программы арифметических действий с большими целыми числами. '
СОВЕРШЕННЫЕ ЧИСЛА . ■
Понятие совершенного числа также было уже хорошо известно во времена Евклида. Оно на самом деле довольно курьезно для современного математика; тем не менее с ним связано много работ по проверке на простоту, и следовательно, краткое обсуждение здесь этой темы необходимо. '
Пусть
<rw= Е d (сумма всёх делителей числа N)d\N ■
И
a* (У) — а W — N (сумма всех собственных делителей числа N) Говорят, что N— совершенное число, если N = d* (N). Например,
6=1 + 24-3, 28=1+2 + 4 + 7+14.
Евклид показал, что если jV = 2"—1 (2П—1) и 2"—1 простое, то N совершенное число. Эйлер показал, что если N совершенно и четно, то оно должно иметь такой вид. До сих пор неизвестно, существуют ли нечетные совершенные числа. Если они существуют, то во всяком случае они должны превышать 1050 [21] и, возможно, 10200 [10].
Если Мп = 2П — 1 простое, то п должно быть простым. Эти числа называют числами Мерсенна. Проблема определения таких простых чисел возникла уже в 1644 г. Хорошие обзоры ранних работ на эту тему сделали Арчибальд [3] и Улер [84]. Ниже приведена таблица значений п, для которых Мп — простое число. Первая часть этой таблицы была получена в докомпьют терную эпоху, а вторая — после появления ЭВМ-
2
1
3
1
Известны
5
2
Никомаху.
7
3
(около 100 л до н. э.)
13
4
^1461
Codex Lat. Monac 24908
17
6
1603
Катальдн
19
6
1603
Катальди
31
10
1772
Эйлер
61
19
1883
Первушин■
89
27
1911
Пауэрс
107
33
1914
Пауэрс, Фокемберг
127
39
1876
Люка
Докомпьютерная эпоха
521
157
1952
Робинсон (SWAC) [42], [43], [70]
1279
386
2203
664
2281
687
Таблица 2. Список всех значений п>21 ООО, для которых Мл = 2”—1 простое число
Число разрядов
Дата
Автор или источник
3217
9691957Ризель (BESK) [65]
4253
4423
1^21961Гурвиц [25] (IBM 7090) 25
9689
9941
11213
2917
2993
3376
1963
Гиллис [18] (ILLIACII)
19937
6002
1971
Таккерман [83] (IBM 360/91)
Компьютерная эпоха
Легко видеть, что определение простоты столь огромного числа, как 219937— 1 (наибольшее известное к моменту написания настоящей статьи простое число)—это грандиозная задача, как интеллектуальная, так и вычислительная. В следующем разделе мы обсудим процедуру Люка — Лемера, с помощьк? которой проверяется простота чисел Мерсенна,
Следует также упомянуть дружественные числа, т. е. такие числа N и п(А), что N = о*(а*(У)). Например, 284 и 220 — дружественные числа. Наибольшие известные дружественные числа нашел Риле [63].
ЧИСЛА ФЕРМА
Уже в 1640 г. (см. Арчибальд [2]) Ферма предположил, что числа вида Fn = 22" + 1 всегда простые. С этого времени такие числа постоянно интересуют математиков. Красивый результат Гаусса о том, что правильный многоугольник с числом сторон Fn всегда можно построить с использованием лишь циркуля и линейки, несомненно, в значительной степени объясняет этот интерес. К сожалению, не известно ни одно простое число
Таблица 3. Делимость чисел Fm, 5<m<22
m
Простые множители
Год
Первооткрыватель
5
641
1729
Эйлер
5
6700417
1729
Эйлер
6
274177
1880
Лэндри
6
67280421310721
1880
Лэидри, Леласье, Жерардин
7
59649589127497217
1970
Моррисон, Бриллхарт [55]
7
5704689200685129054721
1970
Моррисон, Бриллхарт [55]
8
С
1909
Морхэд, Уэстерн
9
2424833
1903
Уэстери
9
С
1967
Бриллхарт 23]
10
45592577
1953
Селфридж 75]
10
6487031809
1962
Бриллхарт 7]
10
С
1967
Бриллхарт 23]
11
319489
1899
Каннингхэм
11
974849
1899
Каннингхэм
12
114689
1877
Люка, Первушин
12
26017793
1903
Уэстерн
12
63766529
1903
Уэстерн
12
190274191361
1974
Холлибёртон, Бриллхарт [23]
13
2710954639361
1974
Холлибёртон, Бриллхарт 23
14
С
1961
Селфридж, Гурвиц [76]
15
1214251009
1925
Крайчик [30]
16
17
825753601
1953
Селфридж [75]
18
13631489
1903
Уэстерн
19
70525124609
1962
Ризель [66]
19
646730219521
1963
Рэтхолл [98]
20
?
21
4485296422913
1963
Рэтхолл [98]
22
?
? = характер Fm неизвестен с = составное число
Ферма, кроме Fo, Fx, F2, F3 и F^. С тех пор, как Эйлер обнаружил, что Fs делится на 641, большая часть работ по числам Ферма была связана с опровержением их простоты. В самом деле, у некоторых математиков в настоящее время возникает искушение предположить, что числа Fn всегда составные при и > 4. Несмотря на это, числа Ферма стимулировали появление множества работ по проверке чисел на простоту. Существует также несложный критерий (тест Пепина) определения простоты Fn. Мы приводим ниже воспроизведенный из работы [23] перечень того, что известно о простоте и делителях чисел Ферма Fn для 5 и 22.
Таблица 4 пкт
ДатаОткрыватель
23525
254841329
2614316529
2714101530
3012758930
3014904132
32147934
36539
38265340
38341
392141
424348545
52411954
552957
589561
6269764
63967
66759169
7168373
73575
7742579
8127184
91142193
1177120
1255127
14417147
1501575157
2073209
226-15229
22829231
250403252
267177271
26821276
2847290
3167320
45227455
556127558
74417747
194551947
1878Первушин
1964Рэтхолл[98
1964Рэтхолл98-
1964Рэтхолл98
1964Рэтхолл98
1964Рэтхолл98
1964
1886Солхофф
1964Рэтхолл [98]
1903Каллен, Кэннингем, Уэстерн
1956Робинсон [71]
1964Рэтхолл 98
1964Рэтхолл 98
1956Робинсон [71]
1957Робинсон 73
1978Шиппн 80
1956Робинсон [71]
1978Шиппн [80]
1978Шиппи [80]
1906Морхед
1957Робинсон, Селфридж [73]
1957Робинсон, Селфридж [73]
1978Шиппн [80]
1956Робинсои 71
1956Робинсон 71
1956Робинсон 71
1956Робинсон 71
1956Робинсон 71
1956Робинсон [71
1956Робинсон 71]
1957Робинсон, Селфридж [73]
1957Робинсон, Селфридж [73]
1956Робинсон [71
1956Робинсои 71
1956Робинсои 71
1956Робинсон 71]
1977Мэттью, Уильямс [53]
1977Мэттью, Уильямс [53]
1957Робинсон [73]
Результат Люка (1878) о том, что если р— простой делитель Рп, то
р = к^А- 1,позволяет предложить метод отыскания составных чисел Ферма.Мы определяем простые числа вида
£2m + 1
и проверяем, не являются ли они делителями чисел Рп для п ^ m — 2. Эта идея была, по-видимому, впервые использована Первушиным при отыскании делителя 5-225-[-1 числа Р^. Первым автоматизировал эту процедуру Робинсон в 1956 г. На сегодня делители Рп известны для 37 значений п > 22. Эти результаты приведены в табл. 4.
Простой делитель 5 - 21947 4- 1 числа F1945— это число, содержащее 587 десятичных разрядов. Определение того, что столь большое число является простым, — довольно трудная задача. В нескольких следующих разделах мы покажем, как доказывается простота таких чисел.•
В заключение этого раздела заметим, что некоторые теоретические результаты о Рп можно найти в работах Кармайкла [12] и Робинсона [73]. Следует также упомянуть исследования Ри- зеля [68] чисел вида б2"-[* 1 и Ю2" + 1
РАЗЛОЖЕНИЕ НА МНОЖИТЕЛИ
Мы увидим, что проблемы разложения чисел на простые множители и определения простоты тесно связаны. Поскольку разложение чисел на множители не является предметом данной статьи, мы не будем обсуждать многочисленные доступные в Настоящее время алгоритмы этой процедуры. Прекрасный обзор по этим вопросам, снабженный обширной библиографией, написал Ги [20]. Рекомендуем также очень легко читаемый отчет Моррисона и Бриллхарта [57] о их мощном алгоритме разложения.
Самые эффективные из известных ныне методов разложения основаны на идеях, изложенных в [57]. Вундерлих (неопубли- ковано) эмпирически установил, что время, необходимое для разложения числа N с помощью этих методов, растет пропорционально №’15. Возможно, что этот показатель уменьшится для больших значений N. (Вундерлих в основном интересовался числами в диапазоне от 35 до 42 десятичных разрядов.)
Р. Шреппель (не опубликовано) внес некоторые изменения в метод Моррисона — Бриллхарта. При использовании его нового метода получается следующая приближенная оценка количества операций, необходимых для разложения числа N;
Райвест, Шамир и Эдлимен [69] составили на основании этой оценки следующую таблицу, которая позволяет в какой-то степени судить о том, сколько времени потребуется очень быстродействующей вычислительной машине (каждая операция занимает 1 мкс), чтобы разложить на множители данное число /V1).
Таблица 5.
Число цифр в N
Число операций
Время
50
1.4ХЮ19
3.9 ч
75
9.0X10’2
104 суток
100
2.3ХЮ’5
73 лет
200
1.2ХЮ23
3.8ХЮ9 лет
300
1.5ХЮ24
4.8X1015 лет
500
1.3ХЮ39
4.2ХЮ25 лет
Очевидно, что задача разложения на простые множители даже сегодня очень сложна и требует для своего решения чрезвычайно большого времени (и, вероятно, останется такой всегда). Естественно, что в любой процедуре определения простоты чисел следует стремиться минимизировать количество выполняемых разложений и даже постараться вовсе обойтись без них.
СТЕПЕННОЙ АЛГОРИТМ
В значительной части дальнейших рассуждений часто будет необходимо определять значение степенного вычета
г = bn (mod т)
для очень больших п, В этом кратком разделе мы опишем весьма простой способ делать это. Из книги Кнута [29] явствует, что можно разработать множество других приемов решения указанной задачи. Изложенное ниже знакомит с общей идеей, лежащей в основе всех этих методов.
Пусть п представлено в двоичной записи вида n = d^-Vdx2k-i-\-d22k-2-V ... +dk,
где d0 = 1, dj = 0, l(j^l). Заметим, что к = [login]. Тогда, если so = do = 1 и.
s/+1 = 2sz +1//+1,'
’) Здесь предполагается, что N не удается легко разложить каким-либо известным методом. '
видно, что sk = п. Если положить г, = bsi (mod m), то
r0 = b, rj+1^bsi+ = b2si+di+l^rbdi+l (mod m) ' и'
r = rk (modm).
Отсюда ясно, что для нахождения г достаточно на каждом из [log2n] шагов его вычисления выполнить одно возведение в квадрат и не более чем одно умножение на само Ь. Поскольку log2n намного меньше п, то этот метод очень быстрый.
ПСЕВДОПРОСТЫЕ ЧИСЛА'
Если N— простое число и N н b взаимно простые, то по теореме Ферма
bN~' = 1 (mod NY(8.1)
Если для некоторого N выбрать значение Ь, вычислить г = bN-1 (mod^) с помощью степенного алгоритма и при этом окажется, что г ^ 1 (mod N), то мы будем знать, что N не является простым. Это, к сожалению, вся информация, которую можно таким образом получить. Ничего о возможных делителях N мы не узнаем.
Хотя (8.1) должно выполняться для любого Ь, взаимно простого с N, если N— простое, отсюда не следует, что если (8.1) выполняется для некоторого Ь, то N обязательно простое. В самом деле, можно показать, что для любого b существует бесконечно много составных чисел А7, для которых выполняется (8.1). Мы будем называть любое целое N, удовлетворяющее (8.1), псевдопростым по основанию Ь, или 6-псп1). Существует обширная литература по составным псевдопростым числам; см., например, [74]..
Теорема (Чиполла (1904)). Существует бесконечно много составных 6-псп.
, Доказательство. Пусть
_ 62р — 1
Ур б2 — 1 ’
где р— такое нечетное простое число, что1) нод(р,62— 1) = 1. Тогда
_ Ьр-\ 6?+ 1
.Ур 6-1*64-1
является составным целым числом. Кроме того,
b2p = 1 (mod урУ
.62р—1.I i\ bp-Y — I
= 0(mod2p).
следовательно, б^Мб^^Ито^
и yp является 6-псп.
Если взять 6=2 и р = 5, мы получим ур = 341 = 11 -31 и 2340 = 1 (mod 341).
Мы видим, что для любого 6 существует бесконечно много составных 6-псевдопростых чисел. Может показаться, что если N 6-псевдопростое и составное, то оно не может быть псевдо- простым по основанию, отличному от 6. Однако существуют составные числа N, которые являются псевдопростыми для всякого 6, такого, что нод(6, N\=\. Такие числа называются
N
cp,w
CW
103
3
1
ю4
22
7
10s
78
16
10е
245
43
ю7
750
105
ю8
2057
255
109
5597
646
1010
14885
1547
Таблица 6.Таблица 6.числами Кармайкла или абсолютно псевдопростыми.
Таблица 6.
Таблица 6.
Кармайкл (1912) показал, что число N является числом Кармайкла, если и только если
N = РгР2Рз • • • Ри (^>3),
где рь р2, рз, .... Pt —различные простые числа, такие что
рг-1^-1(i = 1, 2, 3 ... куНапример, числа 561 и 1729являются числами Кармайкла.
Хотя Черник [13] дал метод получения чисел Кармайкла, до сих пор еще неизвестно, существует ли бесконечное множество
таких чисел.
Пусть CP2(N) — число составных 2-псп чисел, меньших или равных N, и пусть C^N) число чисел Кармайкла, меньших или равных N. Селфридж и Вогстофф (неопубликовано) получили следующую таблицу (см. табл. 6).
') Нод (а, 6, с, . л, z) означает наибольший общий делитель чисел а, 6,
с,.,. и Z. '
Если мы сравним эту таблицу с таблицей 1, мы увидим (см. Шенке [79, гл. 4]), что неравенство
CP2W< ^n(N).
справедливо для. N из всей этой области и отношение СР^^^^я (N) очень медленно уменьшается к концу таблицы Селфриджа и Вогстоффа. Однако не ясно, выполняется ли это неравенство для всех N. Эрдёш [17] высказал предположение, что даже (ДЛ^/М1-8 будет бесконечно возрастающим для всякого е > 0. Это утверждение кажется очень неожиданным ввиду имеющихся численных данных, но, по-видимому, Эрдёш имеет хорошие эвристические доводы в его пользу.-
ПРОВЕРКА НА ПРОСТОТУ С ПОМОЩЬЮ ОБРАТНОЙ
'ТЕОРЕМЫ ФЕРМА
’ Нельзя определить, является ли целое число N простым, с помощью прямого обращения теоремы Ферма; но можно использовать модифицированную версию обращения. Например, уже в 1876 г. (см. [50]) Люка получил следующий результат.
Теорема. Если ах = l(modjV) для x — N—1, но не для х, являющегося собственным делителем N—1, то N — простое.
Чтобы можно было применить эту теорему, мы, очевидно, должны иметь полное разложение числа N— 1 на простые множители. Однако, как мы отмечали в гл. 6, наша цель — свести к минимуму число разложений.
В 1918 г. Поклингтон [58] получил очень важный результат в теории определения простоты. Казалось, что его работа не имеет никакого практического значения, вплоть до 1927 г„ когда Лемер [32] улучшил и расширил его идеи. В течение нескольких последующих лет Лемер написал ряд статей [33, 34, 37, 40], в которых содержались следствия или обобщения результатов из [32]. В 1957 г. Робинсон также получил несколько результатов об обращении теоремы Ферма. Многие идеи, которые ранее рассматривались в этой книге, и несколько новых идей опубликованы в очень важной работе Бриллхарта, Лемера и Селфриджа [9]. Ниже в кратком обсуждении мы рассмотрим некоторые из методов, развитых в [9]. Нам понадобятся некоторые предварительные результаты.
Мы говорим, что число Ь, для которого нод(6, т)=1, принадлежит экспоненте t по модулю пг (или, в записи /=ordm(6)), если t — наименьшее положительное целое, такое что
b1 s= 1 (mod m)
То есть, t—порядок по b в группе приведенных вычетов по модулю пг.
Лемма. Если bn = 1 (mod m) и t = ordm(6), то l\n.
Следствие. Если / = ord (6) и р простое, то /|р — 1.
Используя эти простые идеи, мы можем теперь доказать следующую теорему Поклингтона.
Теорема 9.1. Пусть q— любое простое число, такое, что qa || m ■). Если
bm = 1 (mod N') и
нод (бт/^ — 1, N) = l,
тогда всякий простой делитель N должен иметь вид
1 + hqa.
Доказательство. Пусть п — любой простой делитель N и пусть Z = ordp(6). Тогда Цпг и t^m/q-, следовательно, qQ\t. Так как 1\р—1, мы видим, что
p=l-Vhqa.
В следующих разделах мы увидим, как этот простой результат может быть использован для получения мощных тестов на простоту.
НЕКОТОРЫЕ ТЕСТЫ НА ПРОСТОТУ .
Для дальнейшего обсуждения нам понадобятся некоторые Замечания.
Пусть N — любое нечетное целое число, которое проверяется на простоту. Запишем N—1 в виде произведения
N-\=FXRX
Где Fi — число, для которого мы знаем все простые делители (Fi полностью разложено на простые множители), а каждый простой делитель Rx должен быть больше числа Вь выбранной границы делителей. Мы можем получить такую информацию о Fi и Ri путем деления числа N— 1.
Для числа Ri мы получаем
Ri =8182 ... 8[,
где нод(5>, S/) = 1 (1 N= j) и каждый простой делитель превосходит некоторую границу делителей Вц. Мы дадим такой пример в разд. 11. Обычно мы имеем Sx = Rx и В\ = Вн.
Используя эти замечания, мы можем получить теперь следующие тесты на простоту.
*) Мы используем обозначение qa ]| ш, если q° | m и qa+1 -f пг.
I. Для каждого простого делителя q, числа F\ существует некоторое а,, такое, что
а^-1 = 1 (mod NV
нод (aiN-niqt — 1, N) = 1.
П. Для каждого S, существует некоторое bi, такое, чтоb"~' = l (mod N)
и
нод^-^-!, JV)=L
Теорема 10.1. Если выполнено I и р есть произвольный простой делитель числа N, то
р= 1 (mod Fy\
Доказательство. Пусть m
где все qt различны. Из теоремы 9.1 видно, что каждый q°tl является делителем р—1, следовательно, Fx\p—1.
Заметим, что если (I) справедливо и Fx>^/N, тогда, поскольку каждый простой делитель N должен превосходить Fx > л/N, N—простое. Приведем некоторые примеры.
Рассмотрим число
N = 156 ■ 5202 + 1.
Мы видим, что
13w"'sl(modA0 н
НОД (ISt^-'VS _ 1, W)=l;
таким образом, всякий простой делитель р числа N должен иметь вид
1 + к • 5202 > VN
Отсюда следует, что N — простое.
Пусть Fn = 22" + 1 (п > 1) и пусть к — любое целое, для которого символ Якоби (k/Fn')= — 1. (Например, к = 3,
fe<.Fn-^2 = _l^m04FnVfe<.Fn-^2 = _l^m04FnV(Ю.1)(Ю.1)
fe<.Fn-^2 = _l^m04FnV
fe<.Fn-^2 = _l^m04FnV
(Ю.1)
(Ю.1)
10 и т. д.). Для каждого значения к число Fn является простым, если и только если
Мы можем выразить это в виде алгоритма, полагая Tx = h и определяя Tr+X = T2r(modFn). Fn— простое, если и только если
^1^+1.
Доказательство. Очевидно, что для простого Fn условие
выполняется в силу критерия Эйлера. С другой стороны, если выполнено (10.1), всякий простой делитель р числа Fn должен превосходить 22"; следовательно, Fn— простое.
Этот тест для определения простоты чисел Ферма впервые предложил Пепин в 1877 г.
Легко видеть, что для N = Aqn + 1, где q простое и qn > А, мы можем получить тест на простоту тем же методом, каким был получен тест (I). Эта идея была использована Робинсоном [73] и Мэттью и Уильямсом [53] для нахождения простых делителей чисел Ферма. Таблица простых чисел вида &2т + 1 дана в [73] и [53]. Таблицу простых чисел вида 2ЛЗ” + 1 можно найти у Уильямса и Цернке [90].
Мы видели, как тест (I) может быть использован для проверки простоты. Теперь покажем ценность теста (II).
Теорема 10.2. Если выполнено (II) и р—некоторый простой делитель N, то
Р = 1 (modrv r2 г3 ... rt\
где п некоторые простые делители Si.
Доказательство. Пусть р|У и t = огдрУь); тогда
И$ДАГ- 1)/SZ и
W - D/Sz.
Отсюда видно, что иод(/, Si) > 1; поэтому существует некоторый простой делитель п числа Si, который делит t. Из того, что /|р—1 и нод(5/,S/) = 1, мы получаем утверждение теоремы.
Нам неизвестен набор rh гг, г3, ..., гь но мы знаем, что каждое п должно превосходить Ви и, следовательно, каждое простое р, которое делит N, должно превосходить
1 4" 511^12^13 • • • ^!Р
Этот результат обычно не очень полезен сам по себе, но используя его совместно с (I) и теоремой 10.1, мы получим очень полезную теорему.
Теорема 10.3. Если выполняются условия (I) и (II), то всякий простой делитель р числа N имеет вид
1 + kf\T2r3 ... rtFv
где п некоторый простой делитель St. Если (1+ВИВЙВЙ ... BxlFxf>N,
то N — простое.
Идея о том, что информацию относительно размера границ делителей, т. е. чисел ВхХ, В12, ВхзBxt (или только BJ можно действительно использовать в тесте на простоту, является одной из наиболее интересных и новых в [9].
ДАЛЬНЕЙШИЕ РЕЗУЛЬТАТЫ И ПРИМЕР
В работе [9] есть много других интересных идей, которые мы не излагаем из-за недостатка места. Однако приведем здесь простой результат, в неявном виде присутствующий в одной из теорем указанной работы.
Теорема 11.1. Если Rx = Л (mod Fx) (0 < Л < Е^ и выполняются (I) и (II), то N— простое, если
N<1ABUBX3 ... BuFl
Доказательство. Пусть р — произвольный простой делитель N. Поскольку N = ри и
N=p = \ (mod rxr2r3 ... rzF,),
то должно выполняться
о = 1 (mod rxr2r3 ... rtFxY
Поэтому р = 1 + mvFx, и = 1 + tn2Fь где тх. тз > BUB12BI3 ... ... Ви.
Поскольку Rv—^N — 1 VFv = tnx + т2 + Ехтхтз = тх + т2 (mod Bi), то тх + т3 = А + tFx для / ^ 0. Поэтому или тх, или пгз превосходит А/2, и-
N = ри > 2* ЛВцВ12 ... В1ХЕХ.
Покажем, как этот результат используется в следующем примере, взятом из работы Уильямса [95].
Рассмотрим числа вида У?(п) = (10п — 1) /9 во всех разрядах которых стоят одни единицы. Пусть N = /?(317). Получим
N— 1 = ю - (10158 + 1)(1079 + 1)(1079- 1)/9.
Теперь, взяв Дп = В^ = 108 и В13 =6000, получим .
(1079 - 1)/9 = 317-6163- 10271 -307 627-Si,
1079 + 1 = 1 1 • 1423 • S2,.
Ю158+ 1 = 101 • 5689 • S3,
где все числа Зь 5г и З3 — составные. Вагштаф и Лемер независимо нашли простой делитель
^ = 9 615 060 929
числа З3. Фактически, когда Лемер повысил верхнюю границу делителей для каждого из чисел Si, S2 и З3 до ЗХ Ю11, это оказался единственный простой делитель, найденный им. Кроме того, 65-разрядное число М
М = S2/q =
= 66443174541490579097997510158021076958392938976011506949065646573
является, как будет показано ниже, простым.'
Полностью разложив 10794-1 на простые множители, получаем fl>3,54X Ю101. Тесты (I) и (II) выполняются, и А оказывается превышающим 3,53 X Ю101. Поскольку
0,5ДДпВ13Г? >0,5 (3,53 X 10101)(108)(б000) (3,54 X Ю101)2 > > 1,32 X Ю3|6> N,
где N — простое число.■
Из дальнейшего станет ясно, что обычно не удается успешно применить какую-либо проверку на простоту к столь большому числу, как /?(317). В данном конкретном случае иам чрезвычайно повезло, что 1079 + 1 разложилось на множители столь удачным образом.
Весьма любопытно, что из четырех значений п ^ 1000, для которых R^ является простым, два вызвали споры. Дискуссию относительно /?(23) можно найти в работах Лемера [32,34] и Крайчика [31]; см. также работу Бриллхарта и Селфриджа [8], утверждения которой противоречат приведенным выше.
ФУНКЦИИ ЛЮКА
В последних трех разделах изучались методы проверки простоты, основанные на разложении числа N—1. В следующих трех разделах мы рассмотрим проблему проверки простоты числа N с использованием делителей числа N + 1. Для этого нужно сначала обсудить функции Люка.
Определим функции Люка формуламиК» (Л Q) = a"+p",Un(P, Q) = (a" — р")/(а — р).
где a, Р суть корни вспомогательного квадратного уравненияx2-Px + Q = 0,
а Р и Q— взаимно1) простые целые числа. Рассмотрим также дискриминант А = (a — Р)2 = Р2 — 4Q. Заметим, что если А = О, то
U„ (Р, Q) = Hm (a" - prt)/(a - р) = па»-'.
Р—>a
Функции Люка всегда целые при п ^ О и удовлетворяют большому числу интересных тождеств. Многие из них можно найти в работе Люка [49]. Приведем ниже лишь некоторые из них2).
Vn-^n = 4Qn.(12.1)
Ко = 2, f/0=l, VX = P, Ux = \,'
Vn^ = PVn-QVn_X1 Unvx = PUn-QUn_x, (12.2)
2Vn+x = PVn-V MJn, 2Un+l = Vn + PUn, (12.3)
V2n = Vn — 2Q№, U2n = UnVn,(12.4)
Vn+V^Un (P + V^V
Из (12.2) ясно, что если Р' = Р и Q' = Q(modM), то
V^P', Q'^V^P, Q) ■
U^P', Q'^LUP, Q) (mod ЛО-
Кроме того, если нод(9, М) = 1 и
QP' = p2 — 2Q (mod М),
( QnVn(P', Х^и.ДР, Q)
\ PQn"XU^ V^U^P.Q^modNY (
Теперь можно увидеть, как вычисляются t/n(P, Q)h Vn(P,Qj по модулю N при больших п. Мы применим алгоритм, аналогичный степенному алгоритму из разд. 7, но при этом нужно
.’) Хотя обычно мы требуем, чтобы нод(Р, Q) = 1, но если функции рассматриваются по модулю N, достаточно потребовать иод(У, N^ = 1. Это лек- ко получить из того факта, что если нод(У, N^ — 1, то всегда можно найти такое Р' для которого нод(Р' Q) = 1 н Р' s= P(mod W).
) Аргументы Р, Q функций ^«(Р, и IJntP, Q) часто опускаются, если 9то не приводит к путанице, . - . '
будет вычислять значения Vj и U]. Для любой пары значений V/, U; можно найти У2/, ^(mod/V) с помощью (12.4). Затем можно вычислить V2/+i, 1/2ж(т°с1 N) с помощью (12.3). Заметим, что в (12.3) умножение на 2_1(mod^) (N нечетное) никогда не бывает очень трудным при использовании машины, работающей в двоичном коде. Оно требует самое большее сложения с N (когда сомножитель нечетный) и сдвига. Кроме того, применение формул (12.6) позволяет избежать вычисления Q” в (12.4). Однако, несмотря на эти упрощения, следует заметить, что если время, необходимое для вычисления rn = bn (mod N) равно Т, то время, затраченное на вычисление Un(P, Q) (mod^), приблизительно равно 2Т.
Нам также потребуются некоторые арифметические свойства функций Люка. Их можно найти в [11] ив [9]. Заметим, что эти результаты вполне аналогичны приведенным выше. (Вряд ли можно было ожидать иного, поскольку функция 6"— 1 равна (6 — l)Un(b + 1, 6).)
Первый из них формулируется так: последовательность Люка
ПАР, Q). U^P. QV .... Un(P, Q) (12.7)
является последовательностью, сохраняющей свойство делимости. Это значит, что если п\г, то Un(P, Q) | Ur(P, QY Если ОДР, Q) есть первый член (12.7), делящийся на пг, мы назовем го цли ю(т) рангом появления пг в последовательности Люка {Uk(P, Q)}. (Эта идея, конечно, аналогична идее использования экспоненты, которой 6 принадлежит по модулю пг.)
Лемма. Если т\ип(Р,СГ) (n ^ 1) и го— ранг появления пг в последовательности Люка ^Un(.P, Q)}> то ю|п.
Теперь приведем результат, аналогичный теореме Ферма!
Теорема 12.1. Если р— простое число, такое, что нод (р, 2AQ)= 1, то.
p\U®w(P, QY
где Ф(р)=р— (А|р) и (А|р) символ Лежандра.
Следствие. Если р— простое число, такое что нод(р, 2AQ)=1 и если ю — ранг появления р, то ш | Ф (р).
Следующий результат можно теперь доказать так же, как теорему 9.1..
- Теорема. Пусть q— простое число, такое что q^m. Если нод(М, 2AQ) = 1,
U„AP, Q) = 0(mod/V)
и
HOR^miqkP.Q^ ^=\,
то любой простой делитель р числа N должен иметь вид Р = (А | р) + hqa, т. е.
Ф (р) = 0 (mod qa).
ПРОВЕРКА ЧИСЕЛ НА ПРОСТОТУ С ИСПОЛЬЗОВАНИЕМФУНКЦИЙ ЛЮКА
В этом разделе мы приведем некоторые тесты на простоту числа N из работы [9], в которых применяются делители числа ^ + 1. Определим
/У + 1=^2,-
где F2 полностью разложено и любой простой делитель Одолжен превышать Вг- Как и ранее, нод (р2,Ра^ = 1.
Имеем следующие тесты:
Для каждого делителя qt числа Р2 существует последовательность Люка {(/&} = Uk (Pit Q,)} с одним и тем же дискриминантом А, для которого (А |/V) = — 1, N\Un+h и НОД (аг, U\lN+iyq^= 1.
Для того, чтобы использовать (III), нам придется иногда менять значения Pi и Q,, сохраняя при этом А неизменным. Это, однако, обычно совсем нетрудно сделать, поскольку
A = p2-4Q/ = (P< + 2)2-4(P/4-Q/- 1).
Для некоторой последовательности Люка {U^ с Дискриминантом А, для которого (А| N) = — 1, мы имеем
Л№+1и-
нод (U(N+1 уя„ N) — I. Мы могли бы сделать этот тест столь же общим, как и (И), но для целей объяснения этот более простой вариант вполне достаточен.
Теперь можно привести следующую теорему.
Теорема 13.1 (Моррисон [56]). Если выполнено (III), то каждый простой делитель р числа N должен удовлетворять
Ф(р) = 0 (mod В2), г. е.
-р = ± I + hF^
Результат Моррисона действительно очень важен. Прежде никто не обнаружил, как найти результаты, позволяющие воспользоваться всеми известными делителями числа N + 1. Простая
идея сохранять дискриминант Д нескольких различных последовательностей Люка неизменным позволяет получить простой тест.
Теорема 13.2. Если выполнено (IV), то всякий простой делитель р числа N должен удовлетворять
Ф (р) = 0 (mod ^),'
где q — некоторый простой делитель R2.
Теорема 13.3. Если условия (III) и (IV) удовлетворяются для некоторого Д, тогда для всякого простого делителя р числа N
(D^ssOOnodt?/^), то есть
р = zb 1 4~ kqF2,
где q некоторый простой делитель R2. Если (B2F2—1)2>V, то N — простое.
Примеры.
С помощью результатов, полученных выше, можно легко показать, что число
V = 156 ■ 5202 - 1
является простым, поскольку
Vl^w+iO, 1) и нод({/(л/+1|/5(9, 1), W)=l.
Пара целых чисел 156-5202 ±1 является близнецовой парой 144 разрядных простых чисел. Наибольшую известную пару близнецовых чисел представили Кренделл и Пенк [14] Наибольшая пара, которую они дали, имеет 303 разряда. Следует также отметить, что Рабин [62] открыл пару 124-разрядных чисел, которые весьма вероятно являются парой близнецовых простых чисел.
Теорема. Пусть Mm = 2m—1, где пг есть нечётное простое. Если мы положим Si =4 и определим
где Мт будет простым, если и только если Mm|Sm-i.
Доказательство. Если мы положим Р = 2, Q =—2, то из- (12.6) мы получим, что
2лУ„(-4, 1)^Е2„(2, -2)(modN),
где N = Мт. Итак
^(-4, 1) = ^(-4. D-2;
следовательно,
5т-1^^+ом(—4, l)(mod^) и
Vw+1)/2 (2, -2) * 2("+1Я5„,-1 (mod ЫУ
Если N— простое, тов силу того, что Д =22— 4(—2)= = 12, мы имеем (A j /V) = — 1 и
^|^+1(2, -2) = ^+1)/2(2, -2)t/(W+1)/2(2, -2)
по (12.4) и теореме 12.1. Если 7V|U(N+\)/2(2, — 2), то из (12.1) мы получим
Н^+п/г = 4 l-2f+m - 8 (mod N),
а из (12.4)
^+1 = ^+о/2 * 2 Н>У™ = 8 + 4 = 12 (mod К).
Но из (12.5) мы видим, что
^+1 = 2 (1 + V^1 - 2 (1 + V3“) (1 + 3("-,)/2 V3") -
= 2(1 — 3) = — 4 (mod Ку,
Таким образом, N\V(w+d/2(2, — 2) и, следовательно, /V|Sm-i.
Если TVjSm—1, то 7V| И(^+1)/2. Из (12.1) мы видим, что нод(^, L/(^4.d/2) = 1 и из (12.4) мы имеем, что N\Unh« таким образом, всякий простой делитель р числа N должен иметь форму ± 1 + k2n > д/N- Отсюда следует, что N— простое.
Хотя Люка [49] знал, что вышеприведенный тест является достаточным для того, чтобы доказать простоту Мт, когда т= l(mod4), Лемер [35] был первым, кто дал доказательство необходимости и достаточности этого теста для всякого нечетного т. После работы Лемера [35] этот результат был получен и расширен еще в нескольких работах, в том числе в работах Уэстерна [86], Лемера [38], Капланского [28], Уорда [85] и Бревера [6].
В [35] Лемер также дал доказательство необходимости и достаточности условий простоты для чисел вида к2п—1(А<2”). (Тесты, основанные на (I), (II), (III) и (IV) дают только достаточные условия простоты.) Ризель [64], [67], Иикери [26] и Стечкин [82] также получили некоторые результаты для этих чисел, таблицы простых чисел этого вида можно найти в [64], [67], [87] и [27].
Необходимые и достаточные условия простоты чисел вида 63я — 1 (А < 3") и А2лЗт — 1 (А < 2лЗт) даны Уильямсом [89]
и [96]. Он также дал необходимые и достаточные условия для простоты некоторых чисел вида kqn—1 при простых q > 3 и при к < qn. Таблицы некоторых таких простых чисел можно найти в [100] и [90].
ОБЪЕДИНЕННАЯ ТЕОРЕМА И ПРИМЕР
Другая важная идея в [9] состоит в том, чтобы объединить тесты (I), (II), (Ш)и (IV) для получения доказательства простоты. Зачастую мы не имеем достаточно больших F\ или F2, чтобы доказать простоту N только лишь с помощью тестов (I), (II) или (III), (IV); однако мы можем доказать простоту N с помощью теоремы, подобной следующей.
Теорема 14.1. Если выполняются условия (I), (II), (III) и (IV) ((III) и (IV) для одного и того же А), тогда N— простое, если В — Bi = В2 превосходит
(2N/F2iF2y13 или (2NJFiF^xl3.
Заметим, что степень 1/2 из предыдущего результата можно теперь заменить на меньшую степень 1/3.
Иногда после того, как процесс пробного деления на множители, не превосходящие В завершен, оказывается, что Rx и R2 (или оба) сами являются псевдопростыми. Поэтому если бы мы могли доказать, что это псевдопростое число в действительности простое, то мы бы полностью разложили на простые множители N -f- 1 или N—1 и смогли бы затем сделать вывод о простоте N. (Если бы даже мы не смогли доказать, что это псевдопростое число — простое, мы скорее всего смогли бы получить, что любой простой делитель этого числа больше В, тем самым подняв границу простых делителей для Ri или R2y Реализацию этой идеи на вычислительной машине обсуждали более или менее подробно Селфридж и Вундерлих [78]. Мы покажем, как использование таких псевдопростых может помочь в определении простоты для следующего довольно яркого примера.
Пример. Рассмотрим 65-разрядное 13-псп число 3232
ЛГ= Г7?~*14Г7?"7'1
взятое из [95]. Мы будем сохранять В = Вх = 52 = 5ХЮ6 неизменными во время всех вычислений.
Сначала мы найдем, что
Е1 = 2-5-7, /?] составное, F2 = 2 • 2 • 2 • 3 • 8681, R2 13-псц
У нас нет достаточного количества делителей чисел N ± 1 для проверки простоты N, поэтому приходится работать с числом N' = r2 =
= 53330602806469642087658445220939461232918207921087773639323
Здесь мы получим
F" = 2, R' составное,
F'= 2 • 2 • 3 • 479, /?' 13-псп.
Теперь рассмотрим число
n"=r2=
=9278114614904252276906479683531569455970460668247698963
и найдем•
F" = 2 • 149, R" составное, ^ = 2-2.3.11, R" 13-псп.
Положим
N — R2 =
=70288747082607971794746058208572495878564095971573477, мы получим
F'" = 2 • 2 • 3 • 11 ■ 41 • 129 289, R\" 13-псп.
F'" = 2, R"' составное.
Окончательно, совместно с
N1 v = R'” = 100453815643791314164880257872831908736729257, мы имеем
F\v = 2 • 2 • 2 • 89 • 89 • 89 • 173
F‘v = 2 • 3 - 7 • 11 • 239 - 9041.
Используя объединенную теорему 14.1, мы можем доказать, что Nvv — простое. Таким образом, F'" полностью разложено и мы можем доказать, что N'"— простое. Продолжая действовать таким же образом, мы получим окончательно, что N — простое.
ФУНКЦИИ ЛЕМЕРА И ОБОБЩЕНИЯ
Как мы упоминали ранее, Лемер впервые получил тест, которой определяет простоту чисел Мерсенна. Он сделал это, расширив функции: Люка заменой целого Р в определении этих функций на д/R, где (R, Q)=l. В этом случае k = R— 4Q и теперь возможно (как хотел Лемер) получить Д=—l(mod4).
Результирующие функции Vn^R, Q) и Un^R, Q) уж не являются целыми для всех п ^ 0; они вместо этого теперь являются попеременно целыми числами и целыми, умноженными на x^R- После деления на_\/Р, всякий раз, когда он входит в V„ (i R, Q) или в U„ кА Q). мы бУдем иметь ФУНКЦИИ. которые обозначим VnkR>Q^ и Un^R.QY Эти функции имеют свойства, аналогичные свойствам функций Люка, но являются более общими.
Уильямс [91] обобщил идеи Лемера следующим образом. Предположим, что нам дан фиксированный многочлен с целыми коэффициентами степени v:
f(x) = xv-P1xv-' + P2xv-2- ... +(-l)VPv.
Также нам дано целое Q, такое что
нод(9, Рь Р2, Р3, .... Pv) = 1.
Наконец, потребуем для простоты, чтобы /(х) имел различные нули рь р2, Рз, . .., Pv
Если мы положим
О; -]- Pj = Рь О/Р; ^ Q (t = 1, 2, 2, 3, . • •, v), то
(?* - »*№• - к) ~ 2 и,. А
где Vi, п и U,,п (j = 0, 1, 2, ..., V—1) являются целыми для всякого п ^ 0. Мы имеем
1
1
°2
О? ...
of-1 «Г"1
д =
1
«V
«2 ...
«2V-1
1
Р.
РЬ--
02V-1
1
Pv
Р?--
РГ1
и А = (- ХУЕПЧУ^,
где
1
Pl
Р2 ...
pv-l 2
D =
= 1
Р2
Р2 •••
Рз""*
1
Pv
Pv
рГ
и E = F(2VQ)-f(-2VQ)-
Если v = 1, ясно, что
Ко,„ = И„(Рь(2)
ий.п=ипфх, н).
Если v=2, Pj =0, P2 = R, тогда Цх) = х2 — R и мы получаем функции Лемера, как показано в таблице ниже.
^O.n
V\.n
U»,n
UX.n
п четное
vn
0
0
Un
n нечетное
0
Vn
0
Как и следовало ожидать, существует большое количество тождеств, удовлетворяющих этим обобщенным функциям Лемера. Несколько таких тождеств можно найти в [91]. Для того, чтобы вычислить V/, п по модулю N (нод(@, N) = 1) для больших значений п, мы будем использовать мощную алгоритмическую схему, в которой это может быть сделано при помощи формулы, данной ниже.
Мы определим сначала целые S, М, так чтобы
QM = (- l)v+'PvS= 1 (mod AZ)
а затем определим
( S2Mml2Vh, m (tn четное)li^». m { SAf^+i^y,, m (m нечетное).
Тогда
^v-l, 2m+l = Wu, 2m+2 4" ^0. 2m
^h-1. 2m+i — (— l)V+lPv (^h, 2m+2 + ^h, 2m) +
+ (- VMP.-h ^v-l 2m+1 (mod N)
.(A=l,2v-l).
Итак, для h = 0, 1, 2v— 1
Wh,2m^Q Ё £ Wi,mWi,mZh, i+l — ^h, oS2(modAO (tn — четное), i-0 /-0
Wb 2m 53 Pv Xo Д Wi. mWI. mZh. ^t~^h. o^tmod N) (tn-нечетное).
Здесь dz/ — дельта-символ Кронекера, Zz; =6Z/ (0 ^/ < v), Z<, v = = (- l)v-f+'Pv-, и
Zi.n+V=t Pi (- iy+iz,, n+v-i.
1=1
Например, если v=3, мы получаем
11^2, 2m+l — Wo, 2m+2 + U^o, 2m
Wo, 2m+l =8 P3 (W1,2m+2 + W], 2m) + P2W2, 2m+l
w1( 2m 4-1 — P3(W2, 2m+2 + W 2, 2m) — P1H^2, 2тц-1 (mod N>
и для m нечетного
Го, 2m ^ Q ( И m + 2P3^L mW 2. m + PlP^lm) - 2S2
Г1, 2m = Q (2 Го. mWu m - 2P2Wi, rnW2, m + (P3 ~ P^) W2, m)
W2, 2m = Q (Wi, m + 2Го, mW2, m + 2Р1Г|, тП^2, m 4*
+ (pf-P2)r22.m) (mod AZ).
Для tn четного в этих трех формулах нужно Q заменить на Р3.
Если, как и в разд. 12, Т— время, необходимое для вычисления rn = 6"(mod N), то время, необходимое для вычисления W0.n, Wi,n> W2,n, ..., U^v-i,«, имеет порядок (v2 + 3v)7’/2. Эти функции намного более дорогие для вычислений по сравнению со степенными вычетами или с функциями Люка.
Нам понадобятся некоторые арифметические свойства функций
Дп = нод((70,„, Ubn, U2,n(/v_i.„) и
С„ = нод(|/1.п, V2, П’ 1^3.п> l^v-bn)-
Доказательство этих результатов можно найти в [91].
Во-первых, мы имеем, что обе последовательности {Лп} и {Сп} сохраняют свойство делимости. Также, если Аш—первый член последовательности
Др 42, Д3, ..., Ак, ...
который делит ш, мы говорим, что ю есть ранг появления m в обобщенной последовательности Лемера {Д*}.
Лемма. Если т|Дп и со есть ранг появления m в {Д*}. то со|п.
Эти результаты, конечно, аналогичны результатам разд. 12 относительно функций Люка. Однако, когда мы имеем дело с последовательностью {Ск), аналогичных результатов не суще-
ствует. Вместо ранга появления мы определим порядок появления.
Пусть пг — целое, такое, что нод (Q, m) = 1. Пусть СТо — первый член последовательности
С„ С2, С3С6(15.1)
который делит пг. Мы определим порядки появления пг в последовательности {Сп) как элементы возрастающей последовательности целых чисел
Tq, Т„ Т2, . . ., Тр . . .,
в которой числа определены по правилу, что Ст. будет первым членом (15.1), таким, что пг делит СТ/ и тг-Ут] для любых т< < Т/.
Теорема 15.1. Если Xj— любой порядок появления пг, то т/|2со, где со — ранг появления пг в обобщенной последовательности Лемера.
Предположим, что для любого простого р, такого что нод(р, 2DEQ)= 1, мы имеем
= ПфДх) (modp), 1 = 1
где ф,(х)—неприводимый и степени р, по модулю р, Определим
Ег = Чг (2VQ)<P. (-2VQ)-
et = (Ei\p') (символ Лежандра), и
Ф (?) = [р^1 - е„ р^ - е2, ..., р^ - ej.
Теперь мы можем сформулировать обобщенную теорему Ферма для последовательности {Дп}.
Теорема 15.2. Если р— простое, такое, что нод(р, 2DEQ) = 1, то р | Дф (р).
Следствие. Если со — ранг появления р в {Дп}, то со|Ф(р).
Теорема 15.3. Пусть q— простое, такое что qa\m. Если нод(П,2DEQ) = 1, Л7|Лт (или Ст) и нод(М, Дш/?) = 1 (или ноЦМ, Cm/q)= 1), то всякий простой делитель р числа N должен быть таким, что
Ф(р) = 0 (mod ^а),
ТЕСТЫ НА ПРОСТОТУ, ИСПОЛЬЗУЮЩИЕ ОБОБЩЕННЫЕПОСЛЕДОВАТЕЛЬНОСТИ ЛЕМЕРА
Уильямс и Джадд [92, 93] показали, как можно получить дальнейшие тесты на простоту с использованием обобщенных последовательностей Лемера с v = 2 и v = 3. По-видимому, соответствующие тесты для больших значений со, чем 3, настолько сложны и время их выполнения так велико, что нет смысла применять обобщенные последовательности Лемера с большими значениями.
Для v = 2 положим
^+1=Р4/?4, нод(Р4,/?4)=1,
а для v = 3 положим
N2 + N + 1 = F3R3, нод (F3, R3) = 1,
№ - N + 1 = F6R6, нод (F6, R6) = 1,
где, как и прежде, все Ft (z = 3, 4, 6) полностью разложены и каждый простой делитель числа R, (г = 3, 4, 6) должен быть больше соответствующей фиксированной границы Bi.
Трудность разработки тестов на простоту для v=2 и v = 3 заключается в попытке приписать различные значения для Рь Р3, Q (ПРИ v = 2) или Р\, Р3, Р3, Q (при v = 3) таким образом, чтобы Ф(р) осталось неизменным для всех специальных последовательностей {Сд}> которые могут быть сгенерированы при использовании этих значений Рх, Р2, Q (v = 2) или Pb Р2, Р3, Q (v = 3). Здесь р означает возможный простой делитель N — числа, которое мы проверяем. Другими словами, мы стремимся получить теоремы, аналогичные теореме Моррисона 13.1.
При v = 2 эти значения для РХ1 Р2, Q можно определить через два независимых параметра Hi и Ki (см. [92]). При v = 3 искомые значения величин Рх, Р^ Р3 и Q можно выразить через фиксированное предварительно выбранное значение G и три независимых параметра hi, hi, к (см. [93]). Подробности этих вычислений достаточно сложны, и поэтому рекомендуем читателю обращаться за дополнительной информацией к [92, 93]. Здесь достаточно отметить, что после того, как они проделаны, можно предложить следующие тесты:
v = 2
Для каждого простого qi, делящего р4, существует пара Ht, Ki, такая что для специальной последовательности {С^1} выполняется
VV | Cyv^+i и нод ^, (4^+1)/^= 1,
Существует пара Н, К, такая что для специальной по. следовательности {С„} выполняется
N\Cn41 И НОД (^, C(№+|)/i?<)= 1.
v = 3, (G|jV) = + l
Для каждого простого qi, делящего Гз, существует тройка hi, ki, h, такая что для специальной последовательности {с(га'} выполняется
M|C$+Jv+i и HOд(^, C^^+w+p/^J = 1.
Существует тройка h, k, I, такая что для специальной последовательности {(?„} выполняется
N\Cn4N+1 и НОД (N, С(мчн+1№)= 1-
v = 3, (G|1V) = —1
Для каждого простого qt, делящего Fe, существует тройка hi, hi, h, такая что для специальной последовательности {С^1} выполняется
М|С$_„+1 и н°Д (^> Ц^-н-нуч^ = 1.
Существует тройка h, h, I, такая что для специальной последовательности {Сп} выполняется
N\Cn2-N+v и НОД (^, C(№-^+l)/%) = 1.,
Если выбрать последовательности {Сп1} этим способом, то можно доказать теоремы, аналогичные теоремам 13.1, 13.2 и 13.3 для каждой из пар тестов: (V) и (VI), (VII) и (VIII), (IX) и (X). К сожалению, тесты (VI), (VIII) и (X) уже не столь полезны, как тесты (II) и (IV); однако иногда их можно с успехом применить (см. [93]). Кроме того, сам по себе любой из этих 6 тестов не очень полезен, но когда их применяют в сочетании друг с другом или с четырьмя описанными выше тестами, часто удается получить очень мощный алгоритм проверки чисел на простоту.
Сочетания этих тестов описаны в [93], а в применении к некоторым очень «трудным» числам — в [94]. На самом деле, взяв
К = ^РХР2Р4Р6,
обычно можно бывает установить для любого нечетного К < 10100, является ли N простым или нет, если N < 10 №.
Приведем теперь несколько примеров. Для каждого из них положим В = Вх = @2 = Вз = В4 = В^.
Для числа Л! из разд. 11 получаем при В = 2ХЮЬ
В, = 22 • 79,
В2 —2-3-61 • 157- 1992
Fa = 19 • 2671 ■ 2719
F4 = 2-5-29- 149-421 -541 -2137
F6 = 2-3- 13- 1411783
С использованием тестов, описанных выше, этого достаточно, чтобы показать, что Л! простое. Когда Яемер увеличил В до 4,2 X Ю9, он обнаружил, что изменилось лишь F^. Оно стало следующим:
В2 = 2 • 3 • 61 - 157 • 1992 ■ 20373173 ■ 2220165587 • 2746999987.
Эта информация позволяет доказать простоту М с использованием только тестов из разд. 13.
В следующих двух примерах фигурируют числа, простоту которых доказать очень трудно.
121-разрядное число
N — 2400 — 593 =
= 258224987808690858965591917200301187432970579282922351 283065935654047622016841194629645353280137831435903171972747492783 было обнаружено Рабином [62] и является наибольшим простым числом, не превосходящим 2400. Методы Рабина позволяют предполагать, что N простое, но недостаточны, чтобы это доказать. При В = 1,5X Ю8 имеем:
Fx = 2- 1384711,
F2 = 24-32-3023-23251903,
F3 = 7 • 2521 - 2213647 • 70792627,
F4 = 2-5- 13-298013, F6 = 3- 19-43.
Располагая этой информацией, методами работы [94] можно доказать, что N простое.
65-разрядный делитель
N = 19809950476703891759635852223863606381827838846342829232189869441
числа Люка L47o является самым неподдающимся анализу на простоту числом такого размера, известным автору. Положив В = 1,3 X Ю9, получаем,
F1 = 27-5- 19 - 37 - 47- 139,
В2 = 2-33-7,
В3= 13-31 -73-79,
F4 = 2,
F6 = 3.
Заметим, что большая часть информации об этом числе сосредоточена в размере числа В. Этой скудной информации достаточно, однако, чтобы доказать, что N простое [94]. Пытаясь увеличить размер всех или хотя бы некоторых делителей F\, F2, F3, Ft, Ft, Лемер провел пробное деление М± 1, №4- 1, А/2± ± N + 1 на ЭВМ 1LLIAC IV вплоть до границы делителей 3,8ХЮ10 (4,75 ч работы центрального процессора) и не обнаружил ни одного нового делителя.
ДАЛЬНЕЙШИЕ РЕЗУЛЬТАТЫ О ПСЕВДОПРОСТЫХ ЧИСЛАХ
В дальнейшем нам потребуются некоторые результаты о числах, псевдопростых в более сильном смысле, чем определенные в разд. 8.'
Сначала определим эйлеровы 6-псевдопростые числа (или эйлеровы 6-псп) как такие нечетные N, для которых
6^-1)^ = (61 A) (mod А)..
Здесь (6|М)—это символ Якоби. Если N простое и (6,М)=1, то N заведомо эйлерово 6-псп.
Селфридж (не опубликовано) определяет сильные Ь-псевдо- простые числа как такие нечетные N, для которых если
N — 1 = 2s/ (/ нечетно), то либо
b1 s 1 (mod А), либо
6<2Г=- 1 (mod А)
для некоторого неотрицательного г < s. Снова мы видим, что если N простое и (6, А) = 1, то N сильное 6-псп.
Наконец, мы будем говорить, что нечетное N удовлетворяет свойству А для данного 6, если
bN-' = 1 (mod А)
и
под (б^~Ч/2^ — 1, А) = 1,
где / — наименьшее целое число (если оно существует), такое что
bW-\№l^x (mod NY
Последняя идея была предложена в важной работе Миллера [54]. В ней также обсуждается разновидность тестов на простоту, которую с тех пор называют проверкой простоты с помощью гипотез. Мы обсудим эту идею более подробно в следующем разделе. Теперь же приведем следующий результат Селфриджа.
Теорема 17.1. Нечетное N удовлетворяет свойству А для данного b тогда и только тогда, когда оно является сильным 6-псп.
Доказательство. Пусть N удовлетворяет свойству А для данного 6. Если не существует такого значения /, для которого
bVN-i^1 ф 1 (mod NV
то 6's 1 (mod У). Если такое значение I существует, то 0< < I ^ S и
б*"-1’/2'-1 — 1 (mod N), т. е.
(б<^-п/2‘ — 1) (6<"-n/2z + 1) = о (mod NV
Поскольку нод (N, b^N~iV2t — 1) = 1,
т0b™-^1 = b2rt = - 1 (mod У),
где г = з — 1. Так как 0 ^ г < $, то N является сильным 6-псп.
Теперь предположим, что N— это сильное 6-псп. Если b* = 1 (mod N), то bN-t = 1 (mod У), и не существует такого /, что
b<N-\№= ф 1 (mod NV
Если 62^^—1 (mod У) для некоторого г, такого что 0^г< < S, то положим l = s — г. Поскольку
62Г+1'=1 (mod У),
то видно, что /—наименьшее целое число, для которого Ь<м-1№1 ф 1 (mod У).
Поскольку У делит Ым-1№1 + 1, то видно также, что нод (У, b(N-^1- 1) = 1.
Следовательно, У удовлетворяет свойству А для 6.
Так как определение сильного 6-псп не требует вычисления никаких наибольших общих делителей, то мы предпочитаем идею Селфриджа идее Миллера. Селфридж также показал, что сильное 6-псп является эйлеровым 6-псп.
Теорема 17.2. Если N является сильным 6-псп, то оно также является эйлеровым 6-псп.
Доказательство. Оно основано на идее Робинсона [72]. Для начала, если b‘ = 1 (mod У), то поскольку / нечетно,
p(p-i)/2=i (modp),
где р— любой простой делитель числа N. Отсюда следует, что (modtf).
Если Ь2'{ = — 1, то по теореме 9.1 мы получаем, что d|2r+1/ и d-V2rl, где d = ordp(6) и р—любой простой делитель N. Поэтому d равно 2r+1, умноженному на нечетное число, и р = = 2r+1A + 1- Теперь
bd'2 = — 1 (mod р) и
(&|p) = &(p-d/2 = (- 1)(р-1И (modp);
следовательно, (6|р) = (— l)(p-D/2r+l = (— i)6.
Пусть N = Пр“!> где pt (z = 1, 2m) — различные простые числа. Поскольку р,=2г+1^+1, то
N = 1 + 2'+' 2 а,^ (mod 22г+2);
тогда /2s-1 = (N — 1)/2 = 2'а^, (mod 2r+1),
/—i
2$-i-r= ^ а,^ (mod 2).
Так как
b^-^ * (_ ^zp-1-г = (_ p'-l (mod N}
И
m m£ 4^1
Ф\Ю = Щь\Раа‘ = (- I)'-1z-i
то теорема доказана.
Из-за растущей популярности малых вычислительных машин следует упомянуть методы проверки на простоту, пригодные для таких устройств. Некоторые идеи, аналогичные описанным в предыдущих разделах, предложены в работе [77]. Один весьма простой метод требует, однако, составления таблицы всех таких нечетных составных чисел п (не превосходящих некоторой границы В), что п делит 2”~’ — 1. Тогда, если проверяемое N меньше В, ^|2^_1 — 1 и N не содержится в указанной таблице, то N является простым. Эту идею, а также соответствующие таблицы'для В вплоть до 2Х 10я, предложил Лемер [39, 41]. Трудность реализации этой идеи состоит в том, что составление таблицы требует очень большого труда, а сама таблица очень велика.
Селфридж и Вагштаф (не опубликовано) справились с проблемой размера таблицы, использовав сильные псевдопростые числа. Они после долгих вычислений нашли, что
^1 = 2047 = 23 • 89 наименьшее сильное 6-псп для 6 = 2,
^2= 1373653 = 829-1657 „„„„6=2,3,
^ = 25326091 =2251 • 11251 „„„„6 = 2, 3,5,
^ = 3215031751 = 151-751-28351„„„6 = 2,3,5,7.
N^— это единственное сильное 6-псп для 6 = 2, 3, 5, 7, которое не превосходит 2,5 X Ю1'0. Это дает нам легкий тест на простоту для любого jV<2,5X1010. Достаточно определить, является ли N сильным 6-псп для 6 = 2, 3, 5, 7. Если это не так, то N составное; если это так и N^N^, то N должно быть простым. С использованием этой идеи мы в результате имеем таблицу всех простых чисел вплоть до 2,5 X Ю10, располагая вычислительной машиной не сложнее программируемого микрокалькулятора.
КРИПТОГРАФИЯ
В разд. 1 было отмечено, что новые достижения в области криптографии до некоторой степени стимулировали дальнейшую работу по проверке чисел на простоту. В настоящем разделе мы вкратце опишем эти новые достижения.
Начнем с понятия «открытой» системы шифрования, предложенной в работе [15]. В такой системе использующий ее не пытается скрыть процедуру шифрования Е, но хранит в тайне соответствующую процедуру дешифровки. Эти процедуры должны обладать следующими свойствами.
Если М — сообщение, го дешифровка зашифрованного сообщения Е(М) дает М. Это значит, что D(E(M)) = М.
Е и D легко вычисляются.
Обнародовав Е, пользователь дает мало (или никакой) информации о D.
Если сообщение М сначала дешифровать, а затем зашифровать, то получится М. Это значит, что Е(Д(Л1))= М.
Функция Е, определенная на множестве сообщений и удовлетворяющая условиям (1), (2) и (3), называется труднообра- (цаемой функцией. Если она к тому же удовлетворяет условию (4), то она называется труднообращаемой перестановкой.
Это условие (4) очень полезно, если нужно «подписать» сообщение в юридическом смысле. Пусть имеется система, состоящая из некоторого количества пользователей, в которой каждый из них (скажем, К) обнародовал свою систему зашифровки
Ек, но хранит в тайне соответствующую DK. Теперь предположим, что А и В — два таких пользователя, и А желает послать В «подписанное» сообщение М. Сначала, чтобы подписать свое сообщение, А вычисляет ВДМу, затем, используя принадлежащую В процедуру зашифровки Ев, он определяет М' = Eb(Da(M^\ Это сообщение М' он посылает В вместе с неформальным извещением, что он является отправителем. Чтобы убедиться, что отправителем действительно является А, и определить М, В вычисляет DB(M') = Da (М) и использует принадлежащую А процедуру зашифровки для отыскания М =Ea(Da(M)). Поскольку лишь А может использовать DA, этот процесс можно использовать в. качестве юридического подтверждения того, что М действительно исходит от А.
Определение функций, удовлетворяющих (1), (2), (3) и (4)—нелегкая задача, однако Райвест, Шамир и Эдлимэн [69] нашли одну такую функцию.
Сначала заметим, что любое сообщение М можно рассматривать как число. Например, мы можем просто заменить каждую букву от А до Z на соответствующее число от 01 до 26, а каждый пробел — на 00. Обозначим эту цифровую форму сообщения символом М. Теперь обнародуем два целых числа R и s, где R = pq, причем р и q— большие целые числа (хранящиеся в тайне), a s должно удовлетворять условию нод($,р—1)= = нод(s, q — 1 )= 1. Определим
E(M) = Ms(mod/?) (0 < D (М) < R).
Это, конечно, означает, что М <. R. Если М > R, то сообщение нужно разбить на части, каждая из которых не больше R. Ясно, что
D (М) = М* (mod/?) (0 < D (М) < R),
где ts = 1 (mod (р — 1) (q — 1)).
Итак, функция Е удовлетворяет (1) ив силу свойств степенного алгоритма из разд. 7 удовлетворяет (2). В [69] показано, что задача отыскания / (и тем самым процедуры дешифровки) эквивалентна задаче разложения числа R. Как было показано в разд. 6, для большого (скажем, 150-разрядного) числа эта задача очень трудна; поэтому Е является труднообра- щаемой функцией; более того, легко показать, что она также удовлетворяет условию (4).
Основная сложность использования этой процедуры возникает при" попытке найти много больших (65—75-разрядных или даже большего размера) р и q, чтобы все соответствующие значения R были надежными. Как мы видели, легко проверить, что р простое, если у нас есть достаточно делителей чисел р±1>
но это может оказаться чрезвычайно трудным делом, если делителей р± 1 у нас мало. Если у р± 1 есть только весьма малые простые делители, то возможно применение метода Полларда [60] или метода, упомянутого в [20], для разложения R на множители, а именно этого мы стремимся избежать. Поэтому хотелось бы иметь быстрый и эффективный метод проверки простоты р, когда р не имеет вида, допускающего быструю проверку методами, обсужденными выше. Это привело к разработке стохастических (или Монте-Карло) методов проверки чисел на простоту. Мы опишем их в следующем разделе.
МЕТОДЫ МОНТЕ-КАРЛО
Пусть N — любое нечетное число, и пусть R — приведенное множество вычетов (modW). Множество
G = ^beRlN есть эйлерово 6-псп}
является группой. Далее, если N составное, то G— собственная подгруппа группы R (см. [81, 47]). Поэтому
когда У составное. Равенство между |G| и |/?|/2 действительно имеет место для некоторых чисел Кармайкла, например для 1729. Поэтому если b является случайно выбранным числом из набора (1, 2, 3N—1} и N — эйлеровым 6-псп, то вероятность ошибочно решить, что N простое, меньше 1/2.
Теперь мы можем описать тест Соловея и Штрассена [81] на простоту. Выберем из набора {1, 2, ..., N — 1} к случайных значений b и проверим, что N является эйлеровым 6-псп для каждого из этих оснований. Если это не так, то N заведомо составное; если это так, то мы можем заявить, что N простое, с вероятностью при этом ошибиться -< 2~\ Это значит, что в 26 различных реализациях этого алгоритма мы можем ожидать самое большее одного неверного вывода о простоте N. При к = 30 вероятность ошибки становится меньше одной биллионной.
Рабин [62] показал, что если нечетное N составное и
S = (1 ^ 6 ^ N — 11 N не является сильным 6-псп1)},
то |S|>(3/4) (N — 1). (В [6] показано, что |S|>(1/2) (N — 1). Тест Рабина проводится так. Случайным образом выбираем из набора (1, 2, 3, ..., N— 1} к значений 6 и проверяем, является ли N сильным 6-псп для каждого из этих оснований. Если нет,
*) Рабин на самом деле пользуется здесь свойством А, ио му видела, ЧТО понятие сильного 6-псп удобнее.
то мы знаем, что N составное; если да, то можно утверждать, что N простое, с вероятностью ошибиться ^ 4~6. Кроме того, из теоремы 17.2 видим, что тест Соловея и Штрассена — это лишь более слабая версия теста Рабина.
Малм [51] использовал результат Лемера [45], чтобы получить весьма интересный стохастический тест на простоту.
Лемер показал, что если р— нечетное простое, а b и h— такие целые числа, что (6|р)= 1, (Л2 — 46|р)= 1, то
с2 = 6 (mod),
где 2с s Г(Р+1)/2(Л, 6). (Фактически эту идею определения квадратного корня из b по модулю р первоначально предложил Чиполла (1903).)
В тесте Малма нужно выбрать к случайных пар'(А, 6) из множества R2, таких что (6|^=1 и (А2— 46|М)=1, и определить, выполняется ли
VtN+1№(h,b) = 4b (mod IV).
Если это не так, то N составное; если же это выполняется, то можно сказать, что N простое, с вероятностью ошибки меньше 2-A(m-i)> где m — количество различных простых делителей числа N. Недостаток этого теста состоит в том, что он более трудоемок, чем предыдущие, но при этом вероятность ошибки не снижается. Однако численные результаты, приведенные Малмом, по-видимому, указывают на его большую силу.
Возвращаясь к тесту Рабина, мы видим, что если к <^ 30, то вероятность ошибки меньше 10-18, что безусловно очень мало. К тому же, увеличив значение к, мы можем сделать эту вероятность сколь угодно малой. Рабин замечает, что в среднем одна ошибка на 1018 тестов — это пренебрежимо мало по сравнению с частотой, с которой встречаются другие ошибки при практических вычислениях. Может оказаться, как он предполагает, что этот «тест» на простоту окажется достаточным «для всех практических целей». Действительно, при нормальном ходе вычислений большинство работающих в данной области считают число простым, если оно является 6-псп для одного предварительно выбранного значения b (обычно 2 или 13). (См. по этому поводу примечания к [8].) Например, работая с аликвотными последовательностями, Гу и Уильямс [19] считали число простым, если оно было 2-псп. Позднее они пытались доказать простоту этих чисел, и самым большим составным 2-псп, которое они обнаружили, было 2350141 = 31-47-1613.
Несмотря на все это, математик все же испытывает неловкость, встречаясь с этими нестрогими методами. В 1929 г. Край- чик [31] использовал нестрогий метод для установления «субъективной убежденности» в том, что число N простое. (См. об-
суждение в работе Лемера [36] и последующие результаты Холла [22].) Хотя он не анализировал свой метод столь же тщательно, как упомянутые здесь авторы анализировали свои, но основная мысль о том, что «мы считаем наши доводы в пользу простоты N достаточными» пронизывает всю эту работу. Остается надеяться, что существование этих методов Монте- Карло не заставит работающих в области проверки чисел на простоту отказаться от дальнейшего развития математически строгих алгоритмов.
МЕТОД ГИПОТЕЗ
В [54] Миллер предлагает следующий алгоритм проверки на простоту:
Определить, что N не является степенью какого-либо числа, т. е. N ф Ms для s = 2.
Проверить, что N является сильным 6-псп для всех b^fW.
Если (1) или (2) не верно, то N составное. Если (1) верно, а (2) верно для достаточно большого f(N), то N простое. Трудность возникает при попытке найти, каким должно быть f(N). Миллер показал, что f(N) = О(Д№134). Это лучше предыдущего результата Полларда [59], но хуже, чем О(М,/8+е); последний результат Поллард привел в [60].
Слегка модифицировав этот алгоритм и используя результат Анкени [1], Миллер изобрел метод проверки простоты N, требующий O((log^)4) операций. С этим алгоритмом связаны две трудности. Первая состоит в том, что результат Анкени, необходимый Миллеру, верен лишь в предположении истинности недоказанной обобщенной гипотезы Римана; вторая — вычислительная неэффективность алгоритма. Селфридж и Вайнбергер улучшили идею Миллера, и в разд. 21 мы изложим суть этой работы.
Сначала вкратце опишем обобщенную гипотезу Римана (О. Г. Р.).
Пусть G— произвольная группа. Комплекснозначная функция g, определенная на G, называется характером группы G, если
g (ab) — g(a)g (b)
для всех a, b е G, и g(с)=#0 для некоторого се G.
Пусть R — группа приведенных вычетов по модулю к. Для каждого характера g группы R определим функцию х = Xs следующим образом:х
Х(л) = 5(Л1) при nsm(mod^)
Х(п)=»0 при (п, к) =#= 1..
Назовем такую функцию % характером Дирихле по модулю к.
Хорошо известная и до сих пор недоказанная гипотеза Римана касается функции
$(s)= ^n~s -га-1
комплексной переменной s. Гипотеза утверждает, что ^(s)^0 для всех s, для которых Re (s) > -у •
Если % — характер Дирихле, определим L-функцию Дирихле комплексной переменной s формулой
L (s, х) = Е X (п)П-1
О. Г. Р. утверждает, что L(s, %) =7^ 0 для любого s, такого что Re(s) >у.
ПСЕВДОПРОСТЫЕ ЧИСЛА И ТЕКСТ НА ПРОСТОТУ
Для простого рк определим псевдоквадрат F(pk) как наименьшее положительное целое число, такое что символ Якоби
для всех простых pt ^ рк. Так, если N < F(pk) и N не является полным квадратом, то должно существовать некое pi ^ рк, для которого
(PzlW^l..
Гипотеза, о которой мы упоминали выше, вводя этот метод, относится к размеру F(pk). Приведем таблицу псевдоквадратов из работы [46] (см. с. 92).
Вайнбергер (не опубликовано) показал (предполагая истинность О. Г. Р.), что если существуют константы Ci, сч, с3, такие что
Ph > (Cl log N + с2 log log N + с3)2, то
N<F^p^.
В дальнейшем ему удалось получить не очень большие верхние границы для этих констант.
Нужно упомянуть здесь, что Човла (см. [1]) показал, что если р"—простое, то наименьший квадратичный невычет п(р) от р превышает cHogp, где с4 некоторая константа, бесконечно часто. Это означает, что существует константа С5, такая, что для бесконечного числа значений N мы имеем N^F(pk), когда
Таблица 7
Рк
F^
Рк
2
7
59, 61
6077111
3
23
67
98538359
5
71
71
120292879
7
311
73, 79
131486759
И
479
83
508095719
13
1559
89
2570169839
17-
5711
97
2570169839
19
10559
101
2570169839
23
18191
103
2570169839
29
31391
107
2570169839
31
307271
109
2570169839
37, 41
366791
113, 127
196265095009
43, 47, 53
2155919
Pt>CslogA^. Это легко увидеть, если предположить, что Р— простое, такое что n(P)> c4logP. Так как п(Р) простое, положим pt+1=n(P). Мы имеем (р(|Р)=1 для всех Pi^Pk, где рк — наибольшее простое, меньшее, чем рн-ь Так как 2р* > > Р*+ь то Рк > сь log F(pk), где с5 = с4/2. Следовательно, для Рк> Cslog Р мы имеем из определения Р(р*), что P^F(p*). Таким образом, возможно, что результат Вайнбергера близок к наилучшему.
Теперь мы представим тест на простоту Селфриджа и Вайнбергера. Пусть N — нечетное число, подлежащее проверке. -
Проверить, что N — не является степенью простого числа, т. е. М=£ра для некоторого простого р и некоторого а^ 2.
Попробовать разделить N на все простые числа, меньшие чем фиксированная граница делителей В.
Найти р^ такое что N/B < Р(ркУ
Для каждого простого р( ^ Рк проверить, что
р^-о/г^ -j. J (mod N^,
а также что по крайней мере для одного из этих pi, скажем, pi
p<N-v№—_x (modN).
(На практике это выполняется приблизительно для половины чисел р(.) Если все эти условия выполняются, то N — простое.
Доказательство. Предположим, что число N прошло все вышеперечисленные проверки, и что число N — составное. Тогда
N = <71<7г<7з • • • Ап
где qt (i = l, 2, 3, ..., /)—простые, которые не обязательно все различны, но не все равны. Пусть .
N — 1 = 2st (t нечетно) и
^f = l + 2s</( (/, нечетно) (/=1,2,3г).. .
Так как
pW-w = _ ] (mod q^,
из теоремы 9.1 мы видим, что s, ^ s для i = 1, 2, 3, ..., г. Теперь мы рассмотрим два случая.
Случай 1. st> s. В этом случае мы имеем qx < N/В и должно существовать некоторое простое, скажем, рх ^ рк, такое что (pi|<7i)^=l. Так как нод(рь ^)=l, мы имеем (pi|<?i) = = —1 и
р(»,-1)/2 = _ J (mod q^y
Отсюда следует, что если d = ord?1 (р^, то 2Л | d. Но так как pVN-x№ = ± 1 (mod qxy.
то d должно делить N— 1. Это невозможно, когда Si > s. Так как каждое s< ^ s, и никакое s, не может превысить s, то возможен лишь■
Случай 2. Si — s2 ■ »з = • • • = sr = s. В этом случае N должно быть произведением нечетного числа простых чисел; запишем для числа
^ = П (14-24).
Z-1
1 + 2s t = 1 + 2s П it (mod 2®+l)z—i
и
t = 2 Ц (mod 2).z-i
Так как t, /i, t», ..., tr все нечетные, то г тоже должно быть нечетно.
Если N составное, то г ^ 3 и по крайней мере два простых числа, которые делят N, должны быть различны. Обозначим их
q\ и q2. Теперь qxqi < N/B\ следовательно, существует некоторое простое число pi ^ Рк, такое, что
(Р? I <7i<?2) = — 1-
Предположим без уменьшения общности, что (0г|<71)=+1 и (рг| q^ =—1; кроме того, dx = ord,, (р2) и d2 = ord^,(p2).
Так как
^2-0/2= ](mod<?2),
мы имеем 2s|d2; таким образом, di^ (N— 1)/2 и " р(^-1)/2=1(moj<?2).
Так как•
pto-i)/2=i (modi?,),
то Й2|25~'/1 и так как
p(w-o/2 — ± J (mod <?,),
то также выполняется di^ — 1; следовательно, d1|(^—1)/2 и р^-*>0 = 1 (modi?,).■
Так как
р(^-1)/2 = 4- 1 (mod qxq^
мы не можем иметь одновременно
р^-0'2 = 1 (mode?,) и р*^-^2 = — 1 (mod<?2)
Следовательно, N— простое. Одна трудность в применении этого очень элегантного теста состоит в том, что для очень больших N, например, 100-разрядных, даже если В — 1010, нам все равно пришлось бы вычислять (даже с учетом результата Вайнбер- гера) больше чем л( (log 1089)2) = 4391 различных значений р^-№ по модулю N. Это большая работа, и может оказаться, как отмечалось выше, что дальнейшие улучшения не смогут существенно сократить объем вычислений. Тем не менее, метод по-прежнему не требует очень трудоемкого процесса разложения на множители, и это существенно говорит в его пользу.
ЗАКЛЮЧЕНИЕ
Мы видим, что было разработано три основных метода проверки чисел на простоту. Обсудим теперь вкратце достоинства и недостатки каждого из них.
Проверка на простоту с использованием специальных функций (степенных вычетов, функций Люка, функций Лемера, обобщенных функций Лемера).
Достоинства
Этими методами (если не учитывать ошибок вычислений) вопрос о простоте решается в строгом смысле.
При реализации на вычислительной машине вопрос о простоте числа часто удается решить очень быстро.
Недостатки
В конечном итоге эти методы требуют разложения на простые множители, что часто оказывается очень долгой и трудоемкой процедурой.
В некоторых случаях эти тесты весьма сложны, и поэтому их трудно реализовать. Даже когда эти более сложные тесты были реализованы, вероятность сбоя машины или ошибки программиста и оператора выше, чем для других тестов.
Методы Монте-Карло
Достоинства,
Эти методы не требуют разложения на простые множители.
Их легко реализовать на вычислительной машине.
Они работают очень быстро.
Недостаток
1) Эти методы не дают строгого математического доказательства простоты. '
Метод гипотез
Достоинства
Легкость реализации на вычислительной машине.
Все числа, объявленные «простыми» таким тестом, действительно будут простыми, если будет доказана соответствующая гипотеза относительно F(pk) (например, О. Г. Р.).
Недостатки
Эти методы не являются доказательствами простоты, пока не доказана соответствующая гипотеза. Если она окажется неверной, то придется начать все с начала.
Эти методы приводят к длительным вычислениям.
Как мы видим, в настоящее время исследования простоты больших чисел находятся на перепутье. Есть несколько различных направлений, по которым можно продвигаться, но ни одно из них не кажется вполне удовлетворительным. Остается надеяться, что недавний рост активности в этом уже обширном поле деятельности будет продолжать стимулировать дальней-
шие поиски по-настоящему эффективного и строгого алгоритма, если такой и в самом деле существует.
Автор глубокого признателен Джону Бриллхарту, Д. Г. и Эмме Лемер, Джону Селфриджу и Дэниэлу Шэнксу за советы и предложения, высказанные при подготовке настоящей статьи. Хочется особо поблагодарить Дэннэла Шэнкса за представление препринта гл. 4 из работы [79], на которой основана значительная часть разд. 8 и 17 нашей работы, и Джона Селфриджа за разрешение опубликовать некоторые из его ранее не опубликованных результатов. Наконец, хочется выразить признательность Д. Мальму, М. Рабину, Р. Ривесту и П. Вайнбергеру за предоставленную возможность ознакомиться с их неопубликованными работами.
ЛИТЕРАТУРА
Ankeny N. С. The least quadratic non-residue. Annals of Math. 55 (1952) 65—72.
Archibald R. C. Remarks on Klein’s ‘Famous Problems of Elementary Geometry. Amer. Math. Monthly, 21 (1914), 247—259.
Archibald R. C. Mersenne’s numbers. Scripts Mathematica, 3 (1935), 112— 119.
Bays C. and Hudson R. H. The segmented sieve of Eratosthenes and primes in arithmetic progressions to 1012, BIT, 17 (1977), 121—127.
Bohman J. On the number of primes less than a given limit, BIT, 12 (1972), 576-577.
Brewer B. W. Tests for primality, Duke Math. J., 18 (1951), 757—763.
Brillhart J. Some miscellaneous factorizations. Math. Comp., 17 (1963), 447—450.
Brillhart J. and Selfridge J. L. Some factorizations of 2" ± 1 and related results, Math. Comp., 21 (1967), 87—96; corrigendum, ibid. 751.
Brillhart J., Lehmer D. H. and Selfridge J. L. New primality criteria and factorizations of 2m ± 1. Math. Comp., 29 (1975), 620—647.
Buxton M. and Elmore S. An extension of lower bounds for odd perfect numbers, Abstract. Notices, AMS, 23 (1976), A-55.
Carmichael R. D. On the numerical factors of the arithmetic forms a” ± P", Annals of Math. (2), 15 (1913—14)^, 30—70.
Carmichael R. D. Fermat numbers Fn = 2' + 1, Amer. Math. Montly, 26 (1919), 137—146.
Chernick J. On Fermat’s simple theorem, Bull. Amer. Math Soc., 45 (1939), 269—274.
Crandall R. E. and Penk M. E. A search for large twin prime pairs, Math Comp., to appear.
Diffie W. and Hellman M. New directions in cryptography, IEEE Transactions on information theory, IT-22 (1976), 644—654.
Dickson L. E. History of the theory of numbers, Vol. I, Divisibility and primality, Carnegie Institution, Washington, 1918.
Erdos P. On pseudoprimes and Carmichael numbers, Publ. Math. Debrecen, 4 (1956), 201—206.
Gillies B. Donald. Three new Mersenne primes and a statistical theory, Math. Comp., 18 (1964), 93—95.
Guy Richard K. and Williams M. R. Aliquot sequences near 1012, Cong- ressus Numerantium XII, Proc. 4th Conf. Numerical Math., Winnipeg, 1974, 387—406.
Guy Richard K. How to factor a number. Congressus Numerantium XVI, Proc. Fifth Manitoba Conf, on Numerical Math., Winnipeg, 1976, 49—89.
Hagis Peter, Jr. A lower bound for the set of odd perfect numbers, Math.
Comp., 27 (1973), 951—953.
Hall Marshall. Quadratic residues in factorization, Bull. Amer. Math. Soc., 39 (1933), 758—759.
Hallyburton John C. and Brillhart John. Two new factors of Fermat numbers. Math. Comp., 29 (1975), 109—112; Corrigendum, ibid. 30 (1976), 198.
Heath Sir Thomas L. A Manual of Greek Mathematics, Dover Publications, New York, 1963.
Hurwitz Alexander. New Mersenne primes. Math. Comp., 16 (1962), 249— 251.
Inkeri K. Tests for primality. Annales Academiae Scientiarum Fennicae Series A, No. 279, 1960.
Jonsson Ingemar. On certain primes of Mersenne type, BIT, 12 (1972), 117—118.
Kaplansky Irving. Lucas’s tests for Mersenne numbers. Amer. Math. Monthly, 52 (1945), 188—190.
Knuth Donald E. The Art of Computer Programming, Vol. II, Seminume- rical Algorithms, Addison — Wesley, 1969, p. 388 ff. [Имеется перевод: Кнут Д. Искусство программирования для ЭВМ. — Т.П. Получислен- ные алгоритмы. — М.: Мир, 1977.]
Kraitchik М. Theorie des Nombres, Tome 2, Gauthier-Villars, Paris, 1926, p. 220.
Kraitchik M. Recherches sur la theorie des Nombres, Tome 2, Gauthier— Villars, Paris, 1929.•
Lehmer D. H. Tests for primality by the converse of Fermat’s theorem. ' Bull. Amer. Math. Soc., 33 (1927), 327—340.
Lehmer D. H. A further note on the converse of Fermat’s theorem. Ibid., 34 (1928), 54—56.
Lehmer D. H. On the number (1023—l)/9. Ibid., 35 (1929), 349—350.
Lehmer D. H. An extended tehory of Lucas’ functions. Annals of Math., (2) 31 (1930), 419—448.
Lehmer D. H. A falacious principle in the theory of numvers. Bull. Amer. Math. Soc., 36 (1930), 847—850.
Lehmer D. H. Some new factorizations of 2" ± 1. Bull. Amer. Math. Soc., 39 (1933), 105—108.
Lehmer D. H. On Lucas’s test for the primality of Mersenne’s numbers. J. London Math. Soc., 10 (1935), 162—165.
Lehmer D. H. On the converse of Fermat’s theorem. Amer. Math. Monthly, 43 (1936), 347—354.
Lehmer D. H. A factorization theorem applied to a test for primality. Bull. Amer. Math. Soc., 45 (1939), 132—137.
Lehmer D. H. On the converse of Fermat’s theorem II. Amer. Math. Monthly, 56 (1949), 300—309.
Lehmer D. H. Recent discoveries of large primes. MTAC, 6 (1952), 61, 205.
Lehmer D. H. Two new Mersenne primes. Ibid., 7 (1953), 72.
Lehmer D. H. On the exact number of primes less than a given limit. Illinois J. Math., 3 (1959), 381—388.
Lehmer D. H. Computer technology applied to the theory of numbers. In: W. J. LeVeque (ed.). Studies in number theory, M. A. A. Studies in Math., 6 (1969), 117—151.
Lehmer D. H., Lehmer Emma and Shanks D. Integer sequences having prescribed quadratic character. Math. Comp., 24 (1970), 433—451.
Lehmer D. H., Lehmer Emma and Shanks D. Strong Crmichael numbers. J. Aust. Math. Soc. A. 21 (1976), 508—510.
Lehmer D. H. Hunting big game in the theory of numbers. Scripta Math., 1 (1932—33), 229—235.
4 Зак. 30
Lucas Е. Theorie das fonctions numeriques simplement periodiques. Amer. J. Math., 1 (1878), 184—239, 289—321.
Lucas E. Tpeorie des Nombres. Tome 1, Librarie Blanchard, Paris, 1961.
Maim D. E. G. Monte Carlo tests for primality. unpublished.
Mapes D. C. Fast method for computing the number of primes less than a ginev limit. Math. Comp., 17 (1963), 179—185.
Matthew G. and Williams H. C. Some new primes of the form й-2'Ч- 1. Math. Comp., 31 (1977), 797—798.
Miller Gary L. Riemann’s hypothesis and tests for primality. Jour. Computer and System Sci., 13 (1976), 300—317.
Morrison Michael A. and Brillhart John. The factorization of F, Bull. Amer. Math. Soc., 77 (1971), 264.
Morrison Michael A. A note on primality testing using Lucas sequences. Math. Comp., 29 (1975), 181—182.
Morrison M. A. and Brillhart John. A method of factoring and the factorization of F, Math. Comp., 29 (1975), 183—205.
Pocklington H. C. The determination of the prime or composite nature of large numbers by Fermat’s theorem. Proc. Camb. Philos. Soc., 18 (1914—1916), 29—30.
Pollard J. M. An algorithm for testing the primality of any integer. Bull. London Math. Soc., 3 (1971), 337—340.
Pollard J. M. Theorems on factorization and primality testing. Proc. Cambridge Philos. Soc., 76 (1974), 521—528.
Rabin M. O. Probabilistic Algorithms, in J. F. Traub (ed.) Algorithmsand Complexity, Recent Results and New Direction. Academic Press, New York, 1976, 21—40.
Rabin M. O. Probabilistic algorithm for testing primality, unpublished.
Reile H. J. J. te. Four large amicable pairs, Math. Comp., 28 (1974), 309—312.
Riesel H. A note on the prime numbers of the forms N = (6a + -H^2"-1—1 and M = (6a— 1)22" — 1. Ark. Mat., 3 (1956), 253.
Riesel H. Mersenne Numbers, MTAC, 12 (1958), 207—213.
Riesel H. A factor of the Fermat number Fia, Math. Comp., 17 (1963), 458.
Riesel H. Lucasian criteria for the primality of M = h-2"—1. Ibid., 23 (1969), 869—875.
Riesel H. Some factors of the numbers Gn = 6> + 1 and Hn = 102 + 1. Ibid., 23 (1969), 413—415; Corrigenda, ibid., 24 (1970), 243.
Rivest Ronald, Shamit Adi and Adleman Len. A method for obtaining digital signatures and public-key cryptosystems, MIT Laboratory for Computer Science, Technical Memo LCS/TM82, 1977.
Robinson Raphael M. Mersenne and Fermat numbers, Proc. Amer. Math. Soc., 5 (1954), 842—846.
Robinson Raphael M. Factors of Fermat numbers, M. T. A. C. (Math. Comp.) 11 (1957), 21—22.
Robinson Raphael M. The converse of Fermat’s theorem, Amer. Math Mothly, 64 (1957), 707—710.
Robinson Raphael M. A report on primes of the form А-2'’ + l and on- factors of Fermat numbers, Proc. Amer. Math. Soc., 9 (1958), 673— 681.
Rotkiewicz A. Pseudoprime Numbers and their Generalizations. University of Novi Sad, Novi Sad, Yougoslavia, 1972.
Selfridge J. Factors of Fermat numbers. M. T. A. C. (Math. Comp.), 7 (1953), 274—275.
Selfridge J. and Hurwitz Alexander. Fermat numbers and Mersenne numbers, Math. Comp., 18 (1964), 146—148.
Selfridge J. and Guy Richard К. Primality testing with applications to small machines. Proc. Washington State Univ. Conf, on Number Theory, Pullman, 1971, 45—51.
Selfridge J. and Wunderlich M. C. An efficient algorithm for testing large numbers for primality. Congressus Numerantium XII, Proc, 4th Manitoba Conf, on Numerical Math., Winnipeg, 1974, 109—120.
Shanks D. Solved and Unsolved Problems in the Theory of Numbers. 2nd edition, Chelsea, New York, 1978.
Shippee D. E. Four new factors of Fermat numbers, Math. Comp., 32 (1978), to appear.
Solovay R. and Strassen V. A fast Monte-Carlo test for primality. SIAM J. on Computing, 6 (1977), 84—85.
Стечкни С. Б. Критерий Люка для простоты чисел вида N — h2n — 1. Мат. Заметки, 10 (1971).
Tuchkerman Bryant. The 24th Mersenne prime. Proc. Nat. Acad. Set. USA, 68 (1971), 2319—2320.
Uhler H. S. A brief history of the investigations on Mersenne’s numbers and the latest immense primes. Scripta Mathematica, 18 (1952), 122— 131.
Ward Morgan. Tests for primality based on Sylvester’s cyclotomic numbers. Pacific J. Math., 9 (1959), 1269—1272.
Western A. E. On Lucas’s and Pepin’s tests for the primeness of Mersenne’s numbers. Journal London Math. Soc., 7 (1932), 130—137.
Williams H. C. and Zarnke C. R. A report on prime numbers 6f the forms M = (6a+l)22m-‘ — 1 and M' = (6a— l)22m — 1, Math. Comp., 22 (1968), 420—422.
Williams H. C. and Zarnke C. R. An algorithm for determining certain large primes, Congressus Numerantium III, Proc, of the second Louisiana Conf, on Combinatorics, Graph Theory and Computing, Utilitas Mathematica, Winnipeg, 1971, 533—556.
Williams H. C. and Zarnke C. R. The primality of N = 2A3"—1, Can. Math. Bull., 15 (1972), 585—589.
Williams H. C. and Zarnke C. R. Some prime numbers of the form 2ДЗ” + 1 and 2ДЗ” — 1, Math. Comp., 26 (1972), 995—998.
Williams H. C. A generalization of Lehmer’s functions, Acta Arith., 29 (1976), 315—341.
Williams H. C. and Judd J. S. Determination of the primality of N by using factors of №±1, Math. Comp., 30 (1976), 157—172.
Williams H. C. and Judd J. S. Some algorithms for prime testing using generalized Lehmer functions, Math. Comp., 30 (1976), 867—886.
Williams H. C. and Holte R. Some observations on primality testing. Ibid., 32 (1978), to appear.
Williams H. C. Some primes with interesting digit patterns. Ibid., 32 (1978), to appear.
Williams H. C. Some properties of a special set of recurrence sequences, Pacific J. Math., to appear.
Williams H. C. The primality of certain integers of the form 2Arn—1, submitted for publication.
Wrathall Claude P. New factors of Fermat numbers, Math. Comp., 18 (1964), 324—325.
Wunderlich Marvin C. and Selfridge J. L. A design for a number theory package with an optimized trial division routine,. Comm. ACM, 17 (1974), 272—276..
Zarnke C. R. and Williams H. C. Computer determination of some large primes. Congressus Numerantium III, Proc, of the second Louisiana Conf, of Combinatorics, Graph. Theory and Computing, Utilitas Mathematica, Winnipeg, 1971, 563—570.'
Свойства решетки NP-множеств,зависящие от оракулов0
С. Хомеру, В. Маас3)
В предположении Р =# NP рассматриваются вопросы, касающиеся решетки NP-миожеств н ее подрешетки Р. Показывается, что две задачи, немного более сложные, чем известные задачи расщепления в этой решетке, ие могут быть решены средствами, поддающимися релятивизации. Эти две задачи состоят в следующем: каждое ли бесконечное NP-множество содержит бесконечное Р-подмножество и существуют ли простые Р-миожества. Мы строим несколько оракулов, каждый из которых дает Р ¥= NP (для релятивизированных Р, NP) и к тому же делает вышеупомянутые утверждения либо истинными, либо ложными. В частности, дается положительный ответ на вопрос Беннетта и Гилла [3]: существует ли такой оракул В, что Ря ^ NP® и каждое бесконечное множество в NPB содержит бесконечное подмножество из Ря? Построения оракулов проводятся с помощью метода приоритета с конечным числом предпочтений.
‘1. ВВЕДЕНИЕ
Известно очень немного свойств семейства NP-множеств. Центральные проблемы теории сложности связаны с NP, например, верно ли, что Р = NP или NP = co-NP, и ожидают еще своего решения. Наш подход, который дал ряд интересных результатов, направлен на изучение структуры класса NP в предположении, что P=/=NP. Такие результаты представляют интерес не только в силу широко распространенной уверенности в том, что P=#NP, но также потому, что рассмотрение следствий этой гипотезы может пролить некоторый свет на саму гипотезу.
В настоящей статье мы рассмотрим вопросы, относящиеся к решетке NP-множеств (где решеточными операциями являются объединение и пересечение множеств) и ее подрешетке Р в предположении Р =/= NP. Один аспект этой решетки уже изучался— это свойства расщепления (см. Лэднер [6]). Сильнейший результат, вероятно, принадлежит здесь Брейдбарту [4].
Он показал, что для каждого бесконечного и кобесконечного рекурсивного множества А существует распознаваемое в реальное время с логарифмической памятью множество В, которое расщепляет А (т. е. каждое из множеств A Q В, А П В, АЙ В, АП В бесконечно). Отсюда следует, что каждое бесконечное NP- или co-NP-множество можно расщепить на два бесконечных множества того же класса. Таким образом, в решетке NP-множеств, рассматриваемых по модулю конечных множеств, нет максимальных элементов.
Мы исследуем два других свойства NP-множеств: существуют ли в NP «простые» множества и каждое ли бесконечное NP-множество содержит бесконечное Р-подмножество? Как и в случае максимальных множеств, простыми NP-множествами являются те, дополнения которых в известном смысле малы1). Следовательно, коль скоро решен вопрос о максимальных множествах, естественно рассмотреть вопрос об NP-простых множествах. Мы покажем, что любой ответ на этот вопрос нельзя релятивизировать. А именно, мы построим оракулы, для которых Р ^ NP и для одних оракулов NP-простые множества существуют, а для других не существуют.
Р-иммунным называется бесконечное множество, которое не содержит бесконечных Р-подмножеств. Вопрос о существовании Р-иммунных множеств в NP представляет некоторый практический интерес, поскольку полезно иметь практически вычислимую аппроксимацию множеств из NP. В статье [3] Беннетт и Гилл показали, что с вероятностью 1 для оракула А существует бесконечное множество в NP4, не содержащее ни одного бесконечного подмножества из Рл. Затем они поставили вопрос: существует ли такой оракул В, что Ps ^ NPS и каждое бесконечное множество в NP5 содержит бесконечное подмножество в Рв? Мы дадим на него утвердительный ответ. Следовательно, всякое рассуждение, решающее в предположении Р =^ NP проблему: каждое ли бесконечное NP-множество содержит бесконечное подмножество из Р, не релятивизируется2).
Эти рассмотрения до некоторой степени аналогичны исследованию решеток рекурсивно перечислимых (р. п.)' и рекурсивных множеств. Это исследование привело к открытию новых важных конструкций в теории рекурсий. Задачи о решетке р.п. множеств, аналогичные тем, которые мы ставим для NP-мио- жеств, решаются легко. Из определений почти сразу следует, что всякое бесконечное рекурсивно перечислимое множество содержит бесконечное рекурсивное подмножество. Различные построения простых множеств повсеместно встречаются в теории рекурсий. (См. Соаре [7].)
Способы построения оракулов в нашей статье, вообще говоря, более сложны, чем те, что использовались раньше для этих целей (см. [1] или [2]). Эти построения (за исключением теоремы 3.1) основаны на приоритетных конструкциях с конечным числом предпочтений. Построенные в теоремах 3.1, 4.1 и 4.5 оракулы рекурсивны, а оракул из теоремы 3.2 является р. п. множеством.
Мы предполагаем, что, применяя более сложные построения чем построения оракулов настоящей статьи, можно показать, что даже в предположении Р ^ NP на некоторые непосредственные вопросы о P-степенях в NP нельзя дать ответы с помощью релятивизируемых рассуждений (например, доказательств из теорем рекурсий ’)).
В следующем разделе мы представим основные определения и обозначения. Раздел 3 содержит построение такого оракула А, что NPл=co-NPл и некоторое бесконечное множество в NPA не содержит бесконечных подмножеств из РА, и такого оракула А, что существует НРл-простое множество. В разд. 4 строится такой оракул В, что Р5 =А NP5, и каждое бесконечное множество в NP5 содержит бесконечное подмножество в Р5. Наконец, тот же метод применяется для построения такого оракула В с P5^=NP5, что не существует НР5-простых множеств. В разд. 5 мы показываем, что предыдущие аргументы можно применить для установления независимости утверждения: «В NP существует P-универсальное множество» от утверждения Р 5^= NP (в том же, что и выше, смысле).
ОПРЕДЕЛЕНИЯ
Рассмотрим вычисления на машинах Тьюринга с оракулом. Без уменьшения общности предположим, что ленточный алфавит наших машин есть 2 = {0, 1}. Наши языки будут подмножествами 2* = {конечные слова в алфавите 2} ).
■) См. добавление.
Фиксируем перечисления {PJteN и VN^ngn (N обозначает натуральный ряд) соответственно детерминированных и недетерминированных машин Тьюринга с оракулом и полиномиально ограниченным временем вычисления. Можно предположить, что pi(n) — i + п1 является строгой верхней границей длины всякого вычисления машины Pi или Ni с любым оракулом X на входах длины п. Pi и Nx обозначают машины Тьюринга с оракулом X. Через Pt обозначим множество [а ^ 2 | машина Р^ допускает а (т. е. машина Pt дает выход 0 на входе а)}. Аналогично обозначаем через Nx множество {а е 2 | М^ допускает а}. Рх обозначает семейство всех множеств Рх, t е N, a NPX обозначает семейство всех множеств Nx> ieN. Более полный перечень этих определений читатель найдет в [5].
Для любой цепочки s через sn обозначим слово s, повторенное п раз. Выражение | • | применяется для обозначения как длины слова, так и мощности множества в зависимости от контекста. Наконец, используется рекурсивная спаривающая функция <•, •) на множестве натуральных чисел. Потребуем, чтобы спаривающая функция была взаимно однозначной и при фиксированном первом аргументе строго монотонной по второму аргументу.
ОРАКУЛЫ, ОТНОСИТЕЛЬНО КОТОРЫХ СУЩЕСТВУЮТР-ИММУННЫЕ И NP ПРОСТЫЕ МНОЖЕСТВА
Беннетт и Гилл [3] уже показали, что с вероятностью 1 для случайного оракула А существует бесконечное множество в NPA, которое не содержит бесконечных подмножеств из РА, и NPA Ф Ф co-NPA.
Мы здесь показываем, что можно также прямо построить такой рекурсивный оракул А, что некоторое множество в NPA не содержит бесконечных подмножеств из Р4. Соответствующие требования Rt не пропускают в А много элементов (вообще говоря, бесконечно много для некоторого Ri). Поэтому наиболее интересной является конструкция, которая комбинирует эти требования с другими, обеспечивающими NPA = co-NPA и вынуждающими отнесение большого количества элементов к А. В этом построении нет изменений условий.
Теорема 3.1. Существует такой рекурсивный оракул А, что некоторое бесконечное множество в NP4 не содержит бесконечных подмножеств из РА, и NPA = co-NP4.
Доказательство. Для построения такого А, что некоторое множество из NPA не содержит бесконечных подмножеств из РЛ,
достаточно сделать множество М = (0* | к е N& (Э« е 2*) (| а | = = &Ла^Д)} бесконечным и обеспечить для каждого i, чтобы имело место
Ri" Pi П {0fe I & е N} бесконечно -> Pi $ М
(очевидно, что М s NPл).
Согласно работе Бэйкера, Гилла и Соловая [1], для NP4 = = co-NP4 достаточно, чтобы дополнение множества К(Д) = = {<i, а, 0л> | некоторое вычисление машины Ni допускает слово а меньше чем за п шагов} лежало в NP4 (множество К^А) полиномиально полно в NP^1).
Построение
Шаг к. Пусть А к обозначает множество элементов, уже имеющихся в А в начале шага й.
Для каждого z^(l/8)-&, такого, что рД&)<26/8, в 4 не пропускаются все слова длины ^ к, которые не принадлежат Ак и которые запрашиваются при вычислении машины Р^к на входе 0к. Затем, если для одного из этих i требование Ri не рассматривалось и Р^к допускает слово 0к, то в 4 не пропускаются все слова длины к (что обеспечивает 0*^Л4). Мы говорим тогда, что требование Ri рассматривается на шаге к.
Наконец, для каждого слова а^К(Ак), такого, что существует такая цепочка р длины к, что р продолжает слово а, р не пропущена в А, 2|а|<|р|^4|а| и в р на месте |а|+1 стоит 1, а на местах |а| + 2, ..., 2|а| стоит 0, мы помещаем цепочку Р в Д. (Тогда мы снова можем получить а из кода р, беря первую половину слова р и отбрасывая 1 и все буквы 0 после первой половины слова.)
Заметим сначала, что существует такое к0) что для всех к ^ ку самое большее 26/4 слов длины к не пропущены в 4 по первому условию. Результат этого условия состоит в том, что когда некоторая машина Pi допускает бесконечно много слов вида О6, то существует бесконечно много таких к, что Р(к допускает 0*. Поэтому условие R, рассматривается на некотором шаге, и, таким образом, оказывается, что Р* <$ М.
Дальше легкое вычисление доказывает, что для всякого слова а имеет место а^Л(Д) тогда и только тогда, когда в А существует некоторое р, находящееся в таком отношении к а, как указано в построении. Здесь используется то обстоятельство, что в не более чем к/В шагов из первых к шагов построения все слова длины к помещаются в А в силу второго условия. Поэтому 2* — K(AyeNPV
Заметим, что в этом построении мы не всегда могли поместить код р длины 2|а| слова аеК(А) в множество А, как в [1], ввиду сильного удерживающего воздействия условий Ri.
Теорема 3.2. Существует такой оракул А, для которого существует NPA-npocioe множество.
Доказательство. Для всякого оракула А множество М = = {0z | / е М&За г 2* (| а | = /Да е Л)}, очевидно, принадлежит классу NPA.
Мы построим А таким образом, что для каждого i е N и каждого n е N выполняются условия
Rt". Nt П {0z 11 e N} бесконечно -> Nt П M 5^ 0 и
S„: {/'|Л не содержит слов длины Z'}|^n-
Это немедленно повлечет за собой то, что множество S = M(J (J {а е 2‘ | (у/г N) (а =Д 0z)} является NP ’-простым. •
Имеют место очевидные конфликты между требованиями Ri, стремящимися добавить элементы к множеству А, и требованиями Sn, «стремящимися не впускать» элементы в множество А. Эти конфликты разрешаются приписыванием всем требованиям приоритетов. Мы позволяем только, чтобы R, нарушало S„ (изменением множества первых п длин V, таких, что ни одно слово длины V не принадлежит Л), если i < п, т. е. если Ri имеет более высокий приоритет, чем Sn.
Построение. Будем говорить, что требование R, выполняется в начале k-vo шага, если найдется шаг k' < k такой, что R, рассматривалось на шаге к', и ни одна цепочка, не пропущенная в Л по Ri на шаге к', не была до сих пор помещена в А.
Обозначим через Ак множество элементов, взятых в Л к началу шага к.
Шаг к. Проверяем, существует ли такое i ^ к, что условие Ri не выполнено, и существуют / ^ к, а е 2* с |«| = Z и допускающее вычисление N^k на входе 0z, такие, что слово а не запрашивалось в этом вычислении и не было задержано относительно А по некоторому Ry с V < i и | {/' </|Л^ не содержит цепочек длины /'} | ^ i. Если такие I, I, а существуют, выберем среди них минимальное i и для этого i—минимальное </, а>. Будем говорить, что Ri рассматривается на шаге к. Помещаем а в Л и не пропускаем в А, согласно Ri, все слова из 2* — Ак, которые запрашивались в некотором канонически выбираемом допускающем вычислении машины N^h на входе 0Z> в котором не запрашивалось а.
Тривиальной индукцией по i доказывается, что каждое требование Ri рассматривается только на конечном числе шагов (заметим, что Ri может рассматриваться на шагах ki и &2, где Ai <. ^2, если только существует некоторое I' < i, такое, что Rv рассматривается на некотором шаге к' с к\ <.к' <Zko). Отсюда уже следует, что выполняется каждое требование 8п, поскольку Sn может быть исправлено на шаге к, если только на шаге к рассматривается некоторое условие Ri с i <_ п. Таким образом, множество {0z|/eW}—М бесконечно.
Лемма 3.3. Для каждого i е N
Nt П {0z 1I е N} бесконечно -> Nf f) М Ф 0.
Доказательство. Пусть множество N* f] {0Z1I е М) бесконечно. Выберем такое 0г е Nf, что
|{/'</|Л не содержит слов длины Г^^!,
ни одно слово длины / не задерживается относительно А по условию Rv с i' < i, и некоторое допускающее вычисление машины Nt на входе О1 не запрашивает никакую цепочку длины I (последнее имеет место, когда р,(/) < 2').
Возьмем такое ко, что ни одно условие Rv с V ^ i не рассматривается на шаге ^к0. Тогда требование Ri постоянно выполняется, начиная с шага ко, поскольку в противном случае существование I с вышеупомянутыми свойствами гарантирует, что Ri рассматривается после шага ко. Таким образом,
ОРАКУЛЫ, ОТНОСИТЕЛЬНО КОТОРЫХ НЕ СУЩЕСТВУЮТНИ Р-ИММУННЫЕ, НИ NP-ПРОСТЫЕ МНОЖЕСТВА
Теорема 4.1. Существует оракул В, такой, что PB^NPB и такой, что каждое бесконечное множество в NPB имеет бесконечное подмножество из Рв.
Доказательство. Мы построим оракул В и для каждого i е N детерминированную машину Тьюринга Qi с оракулом, такую, что'
Q® г N®&N® бесконечно ->Q? бесконечно.
Определим Q? = {а е 2* | ti, а е В}, где ti, а е 2 является «проверочным словом»,связанным с а равенством ti,a = а10Ч0п, где п = | а | +I + 2 -f- pi (| а |) (р< есть полином, ограничивающий время работы Ni).
Очевидно, что для каждого is N существует детерминированная машина Тьюринга, работающая за полиномиальное вре-
мя и дающая на входе а выход /(, а. Поэтому Q® е Рв для всякого В ^ S .
Проверочные слова ti, а выбираются так, что недетерминированная машина Ni не может запрашивать оракул о цепочке ti, а на протяжении всего вычисления на входе а (так как \ti, а|> > Pidal). Далее, функция <а, Г)-* ti, а является взаимно однозначной. Заметим наконец, что для каждого / е N множество Fi = {0 eS*| |0| = 1& последние [//2] элементов слова 0 не все суть нули} не содержит цепочек вида ti, а. Далее, Fi содержит не менее чем (21Z/21 — 1) элементов и, таким образом, функция /-*|В(| мажорирует каждый полином, начиная с некоторого момента.
Зададим множество М е NP8 посредством
M = {Oz|/e=N&fz П В=/= 0).
Для каждого j е N имеется условие
Sf. М«£РВ. .
Если выполнены все условия S/, то М ^ Р8.
Кроме того, для всех I ^ 0, п > О должны быть выполнены требования
Ri, п. N? бесконечно -> I Qf | ^ п.
Припишем приоритет </, 0) требованию S/ и приоритет <t, п> требованию Ri, п. Следуя обычному соглашению, будем говорить, что требование Т' имеет более высокий приоритет, чем требование Т, если (приоритет Т') < (приоритет Т\
В дальнейшем построении оракула В мы время от времени пытаемся удовлетворить требованию S/ на некотором шаге построения, а затем видим, что должны пожертвовать этой попыткой, чтобы выполнить требование с более высоким приоритетом, чем у S/. Тем не менее мы в состоянии удовлетворить каждое требование Sj, поскольку оно может быть отвергнуто только конечное число раз (не больше чем по одному разу для каждого условия Ri,n с более высоким приоритетом, чем у Sy). Таким образом, нам надо быть достаточно настойчивыми в попытках выполнить условие 8/.
Очевидно, что построенный оракул В рекурсивен, так как мы перечисляем слова в В в порядке возрастания их длины.
Построение. Будем говорить, что условие S/ выполнено в начале й-го шага (AeN), если найдется шаг к' < к, на котором рассматривалось условие S/ и такой, что ни одно слово, не пропущенное в В на шаге к' по условию S/, не было отнесено к В До к-го шага.
Будем говорить, что условие Ri, п выполнено в начале А-го шага, если найдется шаг к' < к, на котором рассматривалось условие Ri, п.
Шаг к. Пусть В* обозначает множество элементов, уже отнесенных к 5 в начале шага к. Определим /А = max [{&}U {длины всех цепочек из В* или не пропущенных в 5 на предыдущих шагах}]+1. Возьмем такое минимальное /, что условие S/ не выполнено и р, (/) < | Ftk |.
Случай 1. Существуют не выполняющееся требование Ri, п с более высоким приоритетом, чем у Sj, и такая цепочка а, что а е ^*, Ht, а|^^> слово ti,a не было задержано относительно В по требованию с более высоким приоритетом, чем Ri, п, и |Д а| > тах{| 0| 10 е BJ.
Выберем Ri, п и а с такими свойствами, что Ri, п имеет наибольший возможный приоритет, и отнесем ti, а к В. Скажем, что условие Ri, п рассматривалось на шаге к.
Случай 2. Все остальное.
В этом случае S, рассматривается на шаге к. Не пропускаются в В по требованию S/ все слова, о которых запрашивался оракул в течение вычисления Р^ на входе 0z&. Далее, если Р®к не допускает 0z*> отнесем к В первую в алфавитном порядке цепочку 0 е Ft такую, которая не задерживается относительно В по требованию Sp Если Р®к допускает 0z*> все слова из Fik ие пропускаются в В по требованию Sp
Лемма 4.2. М = {0'| 1г N & Ft А В Ф 0}^ рв
Доказательство. Заметим сначала, что каждое требование Ri, п рассматривается самое большее один раз за все построение. Дальше условие S/ может рассматриваться только на шагах kt) к2 с ^i < к2, если некоторое условие Ri, „ с <i, п> < </, 0> рассматривается на некотором шаге к' с к\ < к' < к2. Поэтому каждое требование S/ рассматривается во всем построении лишь конечное число раз.
Фиксируем некоторое / г N. Для доказательства М ч= Pf рассмотрим достаточно далекий шаг к такой, что ни одно требование с приоритетом ^</, 0> не будет рассмотрено на шагах ^к и такой, что рДЬХ |Pzfe|- Тогда S/ выполнено в начале шага к, потому что иначе некоторое условие с приоритетом ^</, 0> рассматривалось бы на шаге к. Таким образом, найдется шаг к' <. к, на котором рассматривается S, и такой, что ни одно слово, не пропущенное в В на шаге к' по условию S/, не отнесено к В в начале шага к. По выбору к ни одно из этих on nan\t/ouuLrv лттгчп ттл гтгхмлтттаатла n R иа пш^тт тттага to ****» Ъ
(так как ни одно условие Ri, п с приоритетом,большим чему Sj, не рассматривается на шагах й ^^). Это влечет, что Р® допускает 01,е тогда и только тогда, когда Р°А' допускает О'А'> чт0 равносильно О'' М.
Лемма 4.3. Для каждого i е N
Qi^Ni и (Nt бесконечно)(Qf бесконечно).
Доказательство. Цепочка /z, а помещается в 5 на шаге к, если только некоторое условие Ri, п рассматривается на шаге к. В этом случае мы имеем а е N^11, и поэтому ае N® так как лишь слова длины ^ | ti, «| > рД |а |) относятся к В на шагах ^к, и машина Nt не может запрашивать свой оракул о таких длинных словах за все время вычисления на входе а. Таким образом, q” Е N®.
Предположим, что множество N® бесконечно. Мы покажем, что для каждого п е N условие Ri, п будет рассматриваться на некотором шаге. Отсюда следует, что множество Q® бесконечно, так как на каждом шаге, на котором рассматривается требование, мы помещаем в Q® новый элемент. Итак, фиксируем некоторый элемент neN. Выберем такое aeNi> что лишь слова длины меньшей, чем pz, а|, удерживались от В по требованиям с приоритетом ^<z, а> за время всего построения, и такое, что на первом шаге к, на котором цепочка длины ^ р/, «| относится к В, рассматривается требование с приоритетом ^<z, п). Поскольку для этого к только элементы длины ^ pz, а| > pi (|а |) помещаются в В на шагах ^к, то а е N°k. Далее, ввиду того что некоторая цепочка длины ^pz, «| помещается в В на шаге к, мы имеем pz, «|^ к. Поэтому Ri, п рассматривается на этом шаге к, если оно не рассматривалось ни на одном предыдущем шаге.
Следствие 4.4. Аргументов, которые допускают релятивизацию ‘), недостаточно для доказательства того, что
Р =# NP -+ каждое бесконечное множества в NP содержит неко-торое бесконечное подмножество из Р или
Р =^ NP -> не каждое бесконечное множество в NP содержит бесконечное подмножество из Р.
Доказательство. Для доказательства первого утверждения рассмотрим оракул теоремы 3.1, а для второго утверждения — оракул теоремы 4.1.
Теорема 4.5. Существует оракул В, такой, что NPB=/= #=co-NPB и каждое бесконечное множество в NPBUco-NPB содержит бесконечное подмножество из Рв.
Доказательство. Построение требуемого оракула является несущественным расширением конструкции в доказательстве теоремы 4.1. Нам надо обеспечить, чтобы множество М = = {0'|/eN и FiHB#=0} не принадлежало классу co-NPB. Таким образом, если условие S/ рассматривается на шаге к, то мы делаем Fife(\B =/= 0 тогда и только тогда, когда 0Zfee N®k. Если 0Zfe е N®6, не пропускаем в В по условию Sj все слова, которые запрашивались в наикратчайшем допускающем вычислении N®k на входе 0Zfe. С другой стороны, если 0ZfcEN®6> не пропустим в В все цепочки, запрашиваемые при каком-либо вычислении машины N® на входе 0Zfe. '
Помимо множеств Q® ^ N® строятся бесконечные подмножества Qf из Рв для каждого бесконечного множества (2 — — N®) из co-NP8. Возьмем «проверочные слова» ?t, а> отличные от tv. а' и положим Q8 = {а | h, а s В}.
Если условие Rt,n' 2 — N® бесконечно-> | Q? | ^ п рассматривается на шаге к, помещаем некоторое ?,, а в В с а ^ N°k. Как и прежде, имеем а ^ N^ поскольку лишь слова длины ^ | | > pi (| а |) попадают в В на шагах "^к.
Следствие 4.6. Аргументы, допускающие релятивизацию, недостаточны для того, чтобы доказать, что Р =# NP -»■ в решетке NP-множеств существует NP-простое множество или В =/=№->- в решетке NP-множеств не существует NP-простых множеств.
Доказательство. Для первого утверждения рассмотрим оракул теоремы 4.5, а для второго — оракул теоремы 3.2.
Р-УНИВЕРСАЛЬНЫЕ МНОЖЕСТВА В NP
Технику предыдущих параграфов можно применить к изучению других вопросов. Назовем множество U Рл-универсаль- ным, если
Рл = {{а е 2* | (у, а) е U} | у г 2*}.
Вопрос о существовании в NP P-универсального множества О является открытым. Существование такого множества означало бы, что, используя недетерминизм в вычислениях с полиномиальным временем, можно было бы разрешать все множества из Р с фиксированной полиномиальной оценкой времени распозна-
вания U в NP. Аналогия с рекурсивной теорией внушает мысль о существовании P-универсального множества в NP. Многие специалисты полагают, что верно противоположное утверждение.
Метод теоремы 3.1 можно использовать для доказательства следующей теоремы.
Теорема 5.1. Существует такой рекурсивный оракул А, что РА =/= р)рл и в NPЛ существует РА-универсальное множество.
С другой стороны, имеет место следующая
Теорема 5.2. Существует рекурсивный оракул В, такой, что Рв ф NPS и в NP6 не существует Рв-универсального множества.
Доказательство. Построение здесь аналогично построению из доказательства теоремы 4.1. Помимо обычного множества М, которое свидетельствует, что NPfl=/=Ps, для каждого множества N® в NPS строится такое множество Q® из Ps, что VY3a ^.a^Nt^a^Q^.
Добавление переводчика
„О релятивизацииисложности вычислений"
NP-ПРОБЛЕМА
Статья касается наиболее злободневной и интригующей ?
проблемы сложности вычислений P = NP или проблемы перебора. Впервые вопрос о неизбежности перебора в решении некоторых алгоритмических задач (а именно, минимизации контактных схем) был поставлен в [8*], где была сделана попытка уточнения проблемы и установления неизбежности перебора. Общепринятое в настоящее время определение проблемы перебора как NP-полной проблемы появилось в разных вариантах в начале 70-х гг., и была доказана NP-полнота ряда важных комбинаторных задач логики и кибернетики [9*, 10*, 11*]. Число таких задач быстро росло, что вместе с обманчивой простотой формулировки и реальной трудностью и важностью вопроса привлекло к этой проблеме внимание многих исследователей [12*, 12а*, гл. 10, 11]. Бросалась в глаза аналогия с рекурсивной теорией, при которой NP-множества и предикаты соответствуют рекурсивно перечислимым (р.п.) (а Р-множества — рекурсивным) множествам, но квантор существования для
NP-предикатов берется по словам длины, ограниченной некоторым полиномом от длины входного слова *).
Универсальному р. п. множеству соответствует NP-полное множество слов U, которое определяется в алфавите {О, I,#} как множество слов вида хфу, где х, уе{0, 1}*, (вычислимо) кодирует программу ГБ недетерминированной машины Тьюринга Мх, которая, работая время Б(г/)^ р(|х|, |г/|) (р — фиксированный полином), допускает слово у. Доказывается, что всякое NP-множество многозначно P-сводится (т. е. детерминированно вычислимой за полиномиальное время функцией [) к U. Так же, т. е. Р-многозначно, обычно удавалось сводить этот NP-полный предикат к конкретному NP-полному предикату, например, к SAT-предикату выполнимости формул классического исчисления высказываний. Однако диагональную процедуру доказательства того, что универсальное р. п. множество не является рекурсивным (см. [13*, 14*]) не удается перенести на NP-полные множества. Более того, не удается доказать аналог теоремы Поста о том, что р. п. множество является рекурсивным, если его дополнение также р.п. В [1] было доказано, что для вычислений даже с рекурсивными оракулами возможно как NP4 = Р4, так и Рл NP4 (в зависимости от оракула А). Это дает*основание полагать, что обычный диагональный метод, как известно, поддающийся релятивизации, [14*, §§ 9.1—9.4] не достаточен для решения NP-проблемы2). Это напоминает ситуацию с независимыми утверждениями в теории множеств (ZF), арифметике Пеано (РА), евклидовой геометрии без аксиомы о параллельных (абсолютной геометрии) и других неполных теориях, допускающих существенно разные модели.
Были сделаны некоторые попытки такого рода (см. 15*, 15а*, 15b*], где приведена библиография. Однако независимость устанавливалась либо в очень слабых подсистемах РА и при дополнительных ограничениях, либо зависела не от сути задач, а от их специфического представления. Впрочем, даже если бы была ?
доказана независимость Р = NP, например в РА, остался бы открытым наиболее важный для приложений вопрос об истинности Р = NP (в стандартной модели РА), которую можно пытаться доказывать в более сильных, чем РА системах.
’) В дальнейшем эта аналогия была продолжена, когда в [63а*] была определена полиномиальная иерархия предикатов с полиномиально ограниченными чередующимися кванторами у и 3, соответствующая арифметической иерархии [14*, гл. 14, 15]. К тому же оказалось, что NP(^) = S^+lj что подтверждало эту аналогию. Здесь P(Q)(NP(Q)) обозначают классы (недетерминированно) вычислимых за полиномиальное время предикатов с оракулами из класса Q. В некоторых работах полиномиальную вычислимость даже рассматривают как рекурсивность в конечных моделях [12с*].
г) См., однако, статью [114]. — Прим, перед.
Было бы очень интересно дать точное определение того, что определенное доказательство не использует (или использует) тот или иной метод, скажем, диагональную конструкцию, или метод приоритета [17], применяемый в статье Хомера и Мааса, или форсинг, поскольку тот или иной метод может неявно использоваться в решении задачи, как это имеет место, например, с диагональным методом в теореме о неподвижной точке, иначе называемой второй теоремой о рекурсии (см. [13*, гл. 11]), или с форсингом в доказательствах независимости континуумгипо- тезы с помощью булевозначных моделей. В этом смысле представляет интерес статья [16*], где рассматривается устранение или упрощение приоритетных конструкций [17*] при исследовании степеней неразрешимости сложностными методами.
Импульс к релятивизации нерешенных сложностных проблем был дан тем обстоятельством, что большинство теорем (но не все!) рекурсивной теории допускали релятивизацию1). Что касается теории сложности, то здесь релятивизация проходит для абстрактной теории сложности в духе М. Блюма (см. [13*, гл. 12 и 109*]), т. е. там, где имеется инвариантность относительно любых рекурсивных преобразований информации, но вообще говоря, не для полиномиальной инвариантности. Проблема ?
перебора (в узком смысле) или (Р = NP)-пpoблeмa состоит в получении «достаточно близких» нижней и верхней оценок на машине Тьюринга NP-полного предиката Q(z). В настоящее время верхние оценки (полученные из оцененных по времени предложенных алгоритмов) имеют вид cexp(|z|“) с разными для разных задач показателями а > 0 и с > 0, и приблизительно равны объему перебора в конкретной задаче, а нижние оценки — полиномиальны от |z|. Если NP = P, то существуют и полиномиальные верхние оценки. Важность NP-проблемы со-
стоит еще и в том, что полиномиальная вычислимость инвариантна относительно большинства вычислительных моделей, во всяком случае всех моделей с не более чем полиномиальным ростом окрестности каждой ячейки вычисления). Моделирование одного шага вычисления одного такого устройства на другом не превосходит c-sa шагов, где s— величина используемой в этот момент памяти 1-го устройства, а, с > 0, — константы, зависящие от обоих устройств и связанные с перекодировкой информации при моделировании. Отсюда следует, что время вычисления Тг^ для входа х на втором устройстве не превосходит р(Г1(х)), где Г1(х)—время вычисления для х на 1-ом устройстве, а р— некоторый полином.
Конкретная («неблюмовская») теория сложности вычислений, не является рекурсивно инвариантной, а часто не является и полиномиально инвариантной (см. обзоры [20*, 21*]), и в основном не поддается релятивизации, как это видно, например, ?
из различных решений проблемы Рл = КРЛ для разных оракулов Д).
КЛАССЫ СЛОЖНОСТИ ВЫЧИСЛЕНИЙ
Наряду с классами Р и NP исследовались и другие слож- ностные классы вычисления предикатов и функций, связанные как с ограничениями некоторой меры сложности (времени, памяти, числа поворотов головки, длины или типа задающей формулы и т. д.), так и способа обращения к памяти (магазину, стеку, очереди и т. д.) [23*]. Каждому детерминированному классу сложности обычно соответствует некоторый недетерминированный класс сложности (изредка они совпадают как в случае конечных автоматов или машин Кука [23*], чаще же Det Class $ Non Det Class, как для p. п. или контекстно свобод?
иых языков, в ряде случаев вроде P = NP вопрос открыт), а в последнее время также альтернирующий [24*, 25*, 26*] и вероятностные классы [27*, 28, 60а] сложности, также связанные с
различными комбинаторными задачами [28а*]. В указанных работах много внимания уделяется также соотношениям между разными классами сложности. Для этих классов определяются «полные» или «универсальные» или «труднейшие» проблемы относительно той или иной сводимости [29*]. Примеры характеризаций Р, NP и других классов сложности средствами логики можно найти в [30*, 31*, 32*, 32а*], а средствами теории рекурсий— в [37*]. В ряде работ исследуются классы (в том числе и релятивизированные), определяемые одновременными ограничениями разных мер сложности [33*, 34*, 40*].
Вернемся, однако, к временным классам сложности. При фиксации типа устройств или задач иногда удается дать более тонкие (чем полиномиально инвариантные) оценки времени вычисления. Так для к ленточных 1-мерных детерминированных машин Тьюринга (6^2) совсем небольшое увеличение времени работы (большее чем log*/ — функция обратная к «сверхэкспоненте») дает расширения класса вычислимых предикатов [35*]1). Для недетерминированных машин Тьюринга мне известен результат С. Кука [36*] о том, что при любом степенном увеличении времени от Т к Та, а > 1, класс сложности возрастает (впрочем, см. [39*, 39*а]).
NP-проблема является частным случаем проблемы детерми- низации для временных, а более общо, любых классов сложности вычисления. Другой знаменитой проблемой такого рода является соотношение классов Det SPACE (п) и NDet SPACE(n), известная в теории формальных языков как LBA-проблема Куроды [38*] (NDet SPACE(n)—класс контекстных языков). Лучшим результатом до сих пор остается [38*а]:
Det SPACE (s (n)) = NDet SPACE (s (n)) = Det SPACE (s (n))2 для s(n)^log/7.
Проблема отделения недетерминированных классов сложности от детерминированных обсуждается в [41*]. До последнего времени эта проблема оставалась открытой. Лишь недавно в [42*] было доказано, что для машин Тьюринга с к одномерными лентами (6^2) класс DTIME(n) ^NTIME(п). Это делается с помощью включения TIME (f) с 2^ (f/log*/), где f/log’f^n (здесь всюду f = f(n)), а 2? (Т(п))— класс предикатов, выразимых с полиномиально ограниченной кванторной приставкой 3V3V перед предикатами из класса DTIME(T(n)). Метод доказательства— широко известная игра в камешки на графах [43*].Хотя
это и не даёт еще решения «Р = NP», но является значительным
шагом к Р =/= NP. Что же означает Рл = NP4 для некоторых рекурсивных оракулов А? Обычно А выбирается PSPACE-полным, т. е. из класса, для которого NPSPACE = PSPACE, и тогда оказывается даже Рл = PSPACE4 (см. [71*]).
В доказательствах, где А таков, что P4#=NP4, в недетерминированном дереве вычисления NPл-пoлнoгo предиката делается «много» недетерминированных шагов и обращений к оракулу.
В [71] доказано, что если суммарное число обращений к оракулу А по всем путям недетерминированных вычислений ограничено полиномом от длины входа, то NP4 = Рл <=> NP = Р. При некотором способе применения оракулов за полиномиальное время распознается в точности NPQco-NP [71а]. Поэтому представляло интерес исследование класса NP4(^P4) с ограничением как числа недетерминированных шагов, так и числа обращений к оракулу. Такие исследования обнаружили существование внутри NP4 (при подходящих оракулах А) тонких иерархий по этим параметрам [44*, 45*]. В [46*] доказано, что (V^ ^ 1) (3 рекурсивное А <= {0, 1}*) (зА1 е Р^ (nsAli e^-i) (All cz M и Afi бесконечно), где P^ = {A | L G (0, 1} распознается недетерминированной машиной Тьюринга за полиномиальное время с не более чем п‘недетерминированными шагами на входах длины п}.
Некоторые результаты о решетке P-степеней NPл-мнoжecтв, связанные со статьей Хомера — Мааса и полученные утонченными диагональными и приоритетными конструкциями, содержатся в [47*, 48*, 49*]. Интересные усиления диагональных построений применяются к исследованию большинства «разумных» классов (не только временной) сложности в [50*].
Рассмотрение релятивизированных сложностных проблем сохранит интерес даже после решения NP-проблемы, поскольку некоторые комбинаторные проблемы логики и дискретной математики являются полными в классах, больших чем NP. Кроме того, если, как ожидается, NP#=P, то исследование Р-степеней NP-множеств приобретает особый интерес, так как решение NP-полной задачи с помощью оракулов из NP соответствует разбиению NP-полной задачи на ряд NP-задач с отношением (со Подчинения, а это часто играет организующую роль в решении «большой» исходной NP-задачи и, хотя не дает убыстрения на всех аргументах, но облегчает ход решения для ограниченного множества аргументов, а переборные задачи практически решаются лишь для таких множеств.
Хартманне в [66*] доказывает эквивалентность утверждений: 1) SAT ПК [log п, п2] еР, 2) NEXPTIME = EXPTIME и 3) В NP\P нет «разреженных» (т. е. небольшой плотности в натуральном ряде) множеств. Здесь K[m(n), /(п)] есть класс слов, (обобщенная) колмогоровская сложность которых не превосходит m(n) (п — длина слова), а время получения их из
программы ^/(п). Затем эти результаты обобщаются на классы емкостной сложности. Для оракулов имеем следствия: (1) Р = NP<^(VД s A[log«, п2]) (Рл = NP4).
Для «редких» случайных оракулов А из A[logn, п2) с вероятностью 1 верно Рл #= NPЛ.
Ранее Беннет и Гилл доказали, что с вероятностью 1 NP4 #= Рл для случайного оракула А и формально описали «допустимые» утверждения о классах релятивизированной (с параметром А — оракулом), сложности, (причем Рл ^ NP4 «допустимое» утверждение) и сформулировали гипотезу: если «допустимое» утверждение £л истинно для случайного А с вероятностью 1, то истинно нерелятивизированное утверждение S0. Однако в [51*] эта гипотеза опровергается, и предлагается искать другое определение «допустимых» утверждений.
Укажем ряд «полных» проблем классов емкостной сложности.
Проблемы выполнимости в Н, S4, программных и некоторых других неклассических логиках PSPACE-полны [52*, 24*]. (PSPACE=NPSPACE есть класс предикатов,, вычислимых с полиномиальной памятью (зоной, емкостью, лентой) при Р-сводимости (т. е. сводимости с полиномиальным временем)).
Проблема заполнения графов камешками (pebbling) и проблемы выигрыша в игре Нех (обобщение игры Шеннона) PSPACE-полны [53*. 54*, 55*].
Ряд проблем (выполнимость пропозициональных формул с двумя литерами в элементарных дизъюнкциях, разрешимость системы линейных неравенств с двумя слагаемыми в каждом, эквивалентность обобщенных автоматов с заключительными состояниями, разрешимость LL (6) и LR (А) -условий для контекстно-свободных грамматик) полны в NLOGSPACE (классе множеств слов, недетерминированно распознаваемых с памятью ~logn) относительно DLOGSPACE-сводимости [56*, 56а*].
Некоторые проблемы выполнимости для разрешимых фрагментов УИП (узкого исчисления предикатов) и некоторые проблемы разрешения комбинаторных игр полны в EXPSPACE [57*].
Новая характеризация класса PSPACE в терминах теории оптимизации и принятия решений, а также ряд PSPACE-полных задач из этой области приводятся в [55а].
Условия возрастания сложностных классов емкостной иерархии давно даны в [58*]. Дальнейшие результаты см. в [59*].
ДРУГИЕ ПЕРЕБОРНЫЕ ЗАДАЧИ
Наряду с NP рассматривались другие типы проблем переборного характера: (#Р) подсчет числа вычислений (путей в графе) длины, ограниченной полиномом от входа (такова проблема вычисления перманента [60*], (РР)-проблемы вероятностных вычислений полиномиальной длины, проблема нахож-
дения gt/ii/KpdxDQ {у, х), где р,у— «наименьший у...» или обращение полиномиально ограниченной полиномиально вычислимой функции y = f(x'), проблема униформнзации Q(y, x),Q е Р, состоящая в нахождении для каждого х такого у, |у|^р(|х|) (если он существует), где р— фиксированный полином, что Q(y, х)1) проблемы вычисления предикатов из Р с кванторами, ограниченными полиномами от длины входа. Последние образуют уже упоминавшуюся полиномиальную ирерахию Мейера — Стокмейгера, аналогичную арифметической иерархии рекурсивной теории [14, гл. 14, 15]. Мы дадим ее другое (эквивалентное) определение для произвольного оракула X:
^•х =np.x = ^p.x = p^, 2^ = NP(2?’X),
П?+! = co-2^f, A?+f = Р (S? Х).
где X—оракул, P(Q) и NP(Q) обозначают классы предикатов, детерминированно (недетерминированно) вычислимых за полиномиальное время с оракулами из класса Q, a co-Q— обозначает класс дополнений к предикатам из класса Q. Очевидны включения:
2?’Х U Пр S Ар Е 2р П Пр (Z > 1)
Обычные нерелятивизированные классы получаются, если Х = 0, т. е. 2? = 2?’0 и т. д., NP = 2f, co-NP = nf. (В [62*] определяется также экспоненциально-временная иерархия).
Некоторые комбинаторные задачи естественно формулируются как полные относительно Р-сводимости в классах полиномиальной иерархии. Так, проблема существования единственного оптимального решения задачи коммивояжера Др-полна [63*] (в рекурсивной теории [14*] в классах Д, не может быть полных множеств!). Неизвестно, конечно, вырождена ли полиномиальная иерархия. Лишь совсем недавно (1985 г.) и только для подходящих оракулов X был получен результат о том, что эта иерархия (относительно X) не вырождена, а значит, строго содержится в PSPACEX [69*]. С этой теоремой контрастирует работа [67*], где установлено, что существуют оракулы X и У, такие, что NPX £ Д£" х = 2^х и Д2Р’г £ 2g'Y = П2Р> Y. Там утвер-
ждается (§ 4) также, что для «большинства» рекурсивных оракулов ^'х N= Пз' х.
Представляется правдоподобным, что для любого тривиально ■ неопровержимого включения классов P-иерархии существует оракул, относительно которого это включение имеет место. Все < Перечисленные проблемы переборного типа характеризуются ;тем, что выполняются на полиномиальной зоне, т. е. принадле- ■ жат PSPACE, причем вычисление в них естественно разбивается Дна ехрр(п) однородных блоков (где р— полином) полиноми- | альной длины, а передаваемая от блока к блоку информация j «невелика», т. е. умещается на полиномиальной зоне. (Произвольное вычисление длины ехр р(п) могло бы потребовать памяти порядка ехрр(п). Можно ли соответствующий предикат из класса DTIME(exp р(п)) вычислить на полиномиальной зоне, неизвестно, и кажется маловероятным. О соотношении времени и памяти будет сказано ниже). Между проблемами переборного типа имеются некоторые очевидные и неочевидные отношения включения и сводимостей [28*, 60*, 60а]. Иные из иных установлены лишь для оракулов [68*], и иногда, как мы видели, контрастируют друг с другом при разных оракулах. Некоторые остаются открытыми даже в релятивизированной версии.
До последнего времени для полных (в своем классе) переборных проблем (с перебором порядка ехрр(и)) не было известно ни одной верхней оценки сложности, существенно меньшей, чем перебор, вплоть до работы [65*], в которой в качестве побочного результата исследования о полиномиальных псевдослучайных последовательностях была доказано дизъюнкция:
проблема «порогового подсчета» или проблема обращения функции (неизвестно какая именно!) решается быстрее, чем за время exp(V^)> тогда как время перебора здесь ^ехр(п).
При сведении проблемы А к В из простоты проблемы В вытекает «простота» проблемы А, т. е. зависимость А от В прямая. В [65*] зависимость между «сложностями» проблем выглядит сегодня обратной!
Среди переборных проблем выше была упомянута проблема униформизации. В ней требовалось по х найти у, если он существует, такой, что условие Q(x,у) «просто» проверяется. Важно, что если такого у не существует, алгоритм не обязан давать ответ. Такой (если «простоту» Q понимать как рекурсив- ность) является проблема поиска вывода («у») формулы (слова) х в логических исчислениях, формальных грамматиках и т.д. В [9*] для подобных задач был предложен оптимальный (для алгоритмов Колмогорова даже мультипликативно оптимальный) алгоритм. Неизвестно, правда, сколько времени он требует! Е^др же для Q из субрекурсивного класса, скажем Р,
потребовать, чтобы при отсутствии нужного у алгоритм давал ответ «нет», то удается лишь для некоторых Q доказать существование алгоритма, оптимального в существенно более слабом смысле [69*], и строится такой оракул, что для релятивизации этой задачи нельзя снять ограничения оптимальности из-за эффекта «ускорения» [13*, гл. 9] и [37*, с. 401—431] ’).
СООТНОШЕНИЕ ВРЕМЕНИ И ПАМЯТИ.СХЕМНАЯ СЛОЖНОСТЬ И СВОДИМОСТЬ
В работах [71*, 72*, 39а*] исследуются качественные и количественные ограничения на машины с оракулами, которые обеспечивают совпадение исходной и релятивизированной версий для отношений включения разных классов сложности (в том числе временной и емкостной).
Вопрос о соотношении времени и памяти вычисления играет огромную роль в теории сложности. Для достаточно общих вычислительных моделей, например, многоленточных одномерных машин Тьюринга, лучшим сегодня является результат Хопкроф- та, Пауля и Вальянта [73*], полученный методом игры в камешки: всякое вычисление с временем Т(п) может быть промоделировано с памятью T(n)/log Т(п) (но с большим временем. Затем в [74*] несколько ослабленные утверждения такого рода были доказаны для машин с произвольным доступом к памяти — с логарифмической стоимостью операций (от длины ячейки) и машин Тьюринга с многомерными лентами. Результат Хопкроф- та с соавторами (HPV-теорема) был затем получен совершенно другим методом — методом перекрытий слов [75] 2), который наряду с игрой в камешки и методом перевода (см. |37, стр. 213—222] и [76]) является одним из главных инструмен-
') В свое время теоремы об ускорении поразили специалистов как своей общностью, так н содержанием: оказалось, что для произвольной меры сложности вычисления существуют функции и предикаты, сложность вычисления которых невозможно удовлетворительно оценить снизу [13, гл. 12], [37, с. 401—431] и [109]. Зато при тех же слабых аксиомах сложности вычислений Блюма была доказана теорема «наименования»: объединение вычислимой последовательности классов сложности само является классом сложности, т. е. классом функций, определяемых верхней оценкой сложности вычисления «почти всюду». (Отсюда вытекало довольно странное утверждение: класс примитивно рекурсивных функций является классом сложности для времени, памяти и многих других мер сложности). Двойственный к этой теореме результат [70*, теорема 2] о существовании общерекурснвной нижней оценки, однозначно определяющей класс всех сигнализирующих вычислений (= функций сложности вычисления для выбранной меры сложности) данной общерекурсивной функции, и характеризация классов сигнализирующих [70*, теорема 3], восстановили гармонию в теории сложности вычислений, нарушенную обескураживающими поначалу теоремами Блюма.
Это говорит в пользу того, что результат Хопкрофта с соавторами блидок к оптимальному.
тов исследования в теории сложности. Было бы интересно проанализировать доказательства [73] и [75] на предмет установления связи первыми двумя методами.
Приведенные результаты сразу породили вопрос о компромиссе (trade-off) между временем и памятью, который часто возникает и в решении конкретных сложностных задач (см. [77], где приведен список литературы по этому вопросу). Ряд соотношений «время—память» удается получить сегодня только для вычислений с подходящими рекурсивными оракулами [73] В. Савич [78] решил проблему Лэднера — Линч, доказав существование такого рекурсивного оракула D, что
$D = pD ^ N^D = NpDt
где 3?(N3?) классы предикатов, вычислимые детерминированно (недетерминированно) с логарифмической памятью. В [80] построены оракулы для машин Тьюринга с вспомогательным магазином (машин Кука) и установлены для них соотношения между классами сложности вычислений, которые контрастируют с результатом Кука для машин без оракулов: DTIME(2C,S<">) = = NAUXSPACE(s(n)) = DAUX SPACE (s(n)), где AUXSPA- CE(s(n)) — класс предикатов, вычислимых на машинах Кука с основной памятью s(n) [23].
Упомянем еще об одном направлении, устанавливающем связь между схемной сложностью последовательностей булевых функций и сложностью вычисления предикатов, задающих эти последовательности1). При моделировании тьюринговых вычис-
лений конечных функций схемам времени вычисления соответствует глубина схемы, а памяти — ширина схемы. Это соответствие сохраняется и при моделировании схем тьюринговыми вычислениями с оракулами зависящими от числа п булевых переменных [85, 85а]. Если для последовательности схем существует просто вычислимый алгоритм построения булевой схемы для каждого п, то говорят о равномерной схемной сложности. Такие последовательности схем реализуются в устройствах параллельного действия, для которых хорошей моделью являются альтернирующие машины Тьюринга (АМТ). При этом объем схемы соответствует AHSPACE, а глубина — AltTIME [88*]. Схемы полиномиального от п объема и глубины poly log п характеризуются АМТ с ограниченными деревьями альтернации.
Рассматриваются и другие способы моделирования схем и машинных вычислений с другими соответствиями сложностных оценок [86*, 87*, 89а, 113].
Особый интерес в этом контексте привлекают схемы ограниченной глубины, но с элементами «V» и «А» с произвольным числом входов. В ряде работ получены нетривиальные (сверхполиномиальные) нижние оценки сложности таких схем, реализующих известные булевы функции (четности, умножения и транзитивного замыкания). Для получения этих результатов в :[89, 89а] было введено понятие сводимости схем («схемная релятивизация»), в частности сводимости полиномиального объема и постоянной глубины. Было доказано также, что из нижней «оценки схем для функции чётности порядка Q (про1у 1os ") следует невырожденность полиномиальной иерархии для некоторого оракула А. В вышеупомянутой работе [64*] получена именно такая оценка. Об оценках схем постоянной глубины для других задач и связи упомянутой сводимости с рекурсивными ■сводимостями см. [90*, 91*]. В статье [92*] рассматриваются неравномерные условия на равномерные классы схем, и строится новая иерархия 2,/poly, П,/ро1у, А,/ро1у, связанная с полиномиальной иерархией {27, П?} импликацией:
S;/poly = nz/poly=>2?+2 = nf+2 (z= 1, 2, 3, ...)
Ряд результатов изложен в обзоре [20, гл. 3, §§ 1,2].
■ Вальянт определил понятие алгебраической сложности вычисления и сводимости предикатов, аналогичное схемной сложности и сводимости [92а*].
Практическое применение оракулов для ускорения и упрощения вычислений состоит в обращении к таблицам и подпрограммам, другим процессорам, словом в использовании ранее построенных алгоритмов и результатов уже проведенных вычислений и измерений. Сложность сведения = сложности реляти-
визированного вычисления (СРВ) ^ сложности исходного вычисления (СВ). Часто СРВ «: СВ. Однако иногда СРВ = СВ. Не всегда алгоритм решения даже «родственной» задачи может сколько-нибудь помочь (послужить эффективным оракулом) в решении другой задачи. Так в [81] доказано, что умножение матриц не ускоряется с помощью (независимо от) вычисления транзитивного замыкания графа, ранга матрицы, множества линейно независимых строк и столбцов матрицы и т. д.
ОБОБЩЕННАЯ ВЫЧИСЛИМОСТЬ
Нельзя не сказать еще об одной области, где применяются вычисления с оракулами — вычислимости на множествах объектов произвольной природы. Эта область привлекала и продолжает привлекать к себе внимание исследователей [93*,98*, 101*].
Представляется неслучайным то обстоятельство, что определения вычислимости («абсолютной») и относительной вычислимости (т. е. с оракулами) были одновременно даны А. Тьюрингом с помощью идеализированных вычислительных устройств. В самом деле, любое определение универсальных алгоритмов, по-видимому, должно предполагать некоторую структуру их программ, выделение взаимодействующих блоков. Но при этом одни блоки по отношению к другим играют роль оракулов. Кроме того, реализация любых алгоритмов или процедур, встречавшихся в человеческой практике, состоит в выполнении определенных «элементарных» операций, и предполагается, что их можно эффективно провести. Так в школьных геометрических построениях считаются эффективно выполнимыми простые построения циркулем и линейкой, с помощью которых осуществляются более сложные построения. В арифметике считаются элементарными операции прибавления единицы и рекурсивные построения и т. д. При этом кроме осуществимости прибавления единицы принимается еще гипотеза потенциальной осуществимости сколь угодно длинных, но конечных построений и объектов. Таким образом, всякие алгоритмы оказываются релятивизированными к некоторым элементарным операциям над объектами из своей области, и к гипотезе потенциальной бесконечности. Утрируя, некоторые математики склонны считать все алгоритмы (даже в арифметике) относительными. Однако, математическая практика все-таки заставляет выделять «абсолютные» алгоритмы в областях конструктивных объектов, считая, скажем, операцию прибавления единицы «абсолютно» осуществимой. (Я не хочу касаться здесь парадоксов «кучи» и теорий достижимости в натуральном ряде [94, 95]).
Можно двумя способами определять вычислимость на множествах объектов произвольной природы. Один из них, основанный
на нумерациях, даже в принципе применим лишь для счетных множеств. Он является более распространенным [13, гл. 3, § 6], [19, ч. I, §§ 14, 15 и ч. II, §§ 4, 5], но имеет ряд недостатков. Будем различать множества объектов, имеющих внутреннюю структуру (которая может быть связана со структурой всего множества и даже определять ее, т. е. функции и предикаты на этом множестве), скажем слова, графы и т. д., и множества бесструктурных объектов, но имеющие структуру, т. е. определенные на них функции и отношения. Эти множества со своей структурой обычно называются алгебраическими системами. Нумерационный подход в принципе всегда годится для множеств конструктивных объектов первого типа, хотя и здесь удобнее и естественнее оказываются такие вычислительные модели (алгоритмов), которые ориентированы на их структуру. Так алгоритмы в форме Тьюринга, Поста или Маркова приспособлены к словарной природе объектов, алгоритмы Колмогорова работают с комплексами или графами, ЛИСП — со списками и массивами и т. д. Наиболее интересными (выразительными) представляются такие алгоритмические языки, на которые проще транслировать имеющиеся алгоритмические системы и в которых сами программы и их вычисления выглядят наиболее просто и «естественно». Пальма первенства здесь сегодня принадлежит алгоритмическим языкам аппликативного типа (моделям Х-исчис- ления), построенным в работах Д. Скотта и Ю. Л. Ершова [196*, 98*, 97*]. Конструктивными объектами тут являются функции, определенные на конечных множествах ранее построенных объектов, построение ведется индуктивно вместе с отношением частичного порядка по определенности. В [97*] внутренними средствами определяются понятия перечислимости и вычислимости на множествах таких объектов, и демонстрируется большая выразительность этого языка, связанная с простотой трансляций на него и относительной краткостью программ и вычислений. Этот язык удобен еще и тем, что допускает предельный переход к бесконечным объектам с сохранением структуры, аналогичный построению вещественного континуума. Идея оракулов пронизывает языки такого типа, поскольку значение каждой функции по определению вычисляется путем обращения к оракулам, роль которых играют функции-аргументы. Имеются и типовые (иерархические) варианты таких моделей (см. [98*, приложение А.З.].
Вернемся к нумерационному подходу. Естественное требование к нему состоит в согласованности, т. е. частично рекурсивная функция, на номерах объектов, задающая алгоритм, должна быть одновременно определена на любых двух разных номерах одного и того же объекта и давать (быть может, разные) номера одного и того же объекта — результата работы
алгоритма. Кроме того, при наличии структуры на множестве объектов крайне желательно, чтобы ее базисные функции и отношения выражались частично рекурсивными функциями и предикатами на множестве номеров. Последнему требованию далеко не всегда удается удовлетворить. Так любая нестандартная модель арифметики неконструктивизируема [19, с. 279—280]. Однако, это не мешает определить «внутренним» образом вычислимые функции в каждой такой модели, считая сложение и умножение в ней элементарно вычислимым, хотя бы с помощью гёделевского метода, и не умаляет значение таких моделей.
Это обстоятельство подсказывает другой более универсальный способ определения вычислимости в произвольных областях, основанный на использовании структур, имеющихся на них. В [99*] дается изложение этого способа и хороший обзор работ по этой теме. (См. также [100*, 105*]). При этом подходе не обязательно ограничиваться счетными областями. Так С. Клини определил иерархию вычислимых функционалов на объектах всех конечных типов — т. е. функций, функций от функций и т. д., естественно интерпретируемых с помощью машин с оракулами [14*, § 16.5], впрочем так же хорошо описываемых системами рекурсивных уравнений. (Это другой вариант относительной вычислимости — относительная рекурсивность).
Интересны случаи, когда оба подхода дают одинаковый результат (из примера с нестандартной арифметикой видно, что это имеет место не всегда), т. е. приводят к одному и тому же классу вычислимых функций в рассматриваемой области. Именно так обстоит дело с алгоритмическими («нумерационными») операторами на частично рекурсивных и, как показал Г. С. Цей- тин [101*], даже на общерекурсивных функциях (и на конструктивных вещественных числах). В областях своего определения эти операторы совпадают с частично рекурсивными операторами, т. е. являются непрерывными в бэровской топологии (соответственно, в конструктивном континууме) [19, § 14, с. 207]. Первый результат обобщается на частично рекурсивные функционалы высших типов [102].
Замечательными свойствами обладают общерекурсивные (т. е. определенные на всех функциях типа: М-*-№) функционалы и операторы (типа 2). Ю. Д. Стригин построил иерархии таких функционалов и операторов по конструктивной системе О обозначений для ординалов [14*, §§ 11.7, 11.8 и упражнения 11.46—63], связанные с числом и объемом обращений к оракулу [103*]. В теории множеств и теории рекурсивных функций давно известны иерархии по ординалам, например, борелевская и гиперарифметическая (по обозначениям ординалов) [14*, гл. 15, 16, особенно § 16.8]. Они основаны на сложности построения множеств — числе операций предельного перехода.
Гиперарифметическая иерархия обладает свойствами полноты, невырожденности и однозначности (разным обозначением одного ординала а соответствует один и тот же класс). Делались попытки классифицировать все общерекурсивные функции по ординалам в соответствии с их «сложностью» (в силу диагональных соображений натуральных чисел не хватает). Однако эти иерархии оказывались либо неполными, либо вырожденными (часто па уровне со2) (см. [37, Добавление редактора] и [70*, Раздел I]). Иерархии Стригина занимают промежуточное положение: они полны, невырождены, но неоднозначны (и тоже на уровне сог). Насчет общерекурсивных функционалов типа выше второго мало что известно. В теории рекурсий высших типов рассматриваются оракулы, дающие ответы, связанные с бесконечным перебором, например 2£, соответствующий квантору Эх по N. На этих идеях в [104] строится обобщенно-конструктивный анализ, более гибкий и приспособленный к потребностям практической математики, чем обычный конструктивный анализ, и одновременно сохраняющий подход теории вычислимости.
Построены теории вычислимости на ординалах, и даже с трансфинитными оценками сложности вычислений ([100*, 102*, 105*] )1). В теории вычислимых функций на ординалах к элементарным вычислимым операциям арифметики добавляется операция предельного перехода. Возможны и трактовки на основе машин Тьюринга с трансфинитными лентами и временем.
Значение обобщенных теорий вычислимости помимо того, что они описывают практические ситуации с операциями над неконструктивными объектами, вроде аналоговых устройств с программным управлением состоит на наш взгляд в том, что они позволяют по-новому взглянуть на обычную теорию алгоритмов и теоретическое программирование, и часто подсказывают интересные идеи (скажем, «смешанные» вычисления в программировании, см. также [106*]) и пути решения старых проблем (как нестандартные модели арифметики и анализа помогают в решении проблем «стандартной» математики).
В данном добавлении рассматривались в основном работы, опубликованные в последние годы. Более ранние результаты см. в сборниках [37*. 70*, 21*, 107*], обзорах [20*, 21*. 108*, 109*].
Надеюсь, что этот краткий и весьма неполный обзор с библиографией все-таки поможет читателю ориентироваться в увлекательной области, переживающей сейчас бурный период, полный загадок, неожиданных открытий и остроумных решений.
•> В связи с вычислимостью на ординалах остается открытым вопрос, поставленный автором в 1979 г.: Описать класс функций на ординалах < оь или хотя бы Сео®, определимых с помощью «согласованных» частично рекурсивных функций на О, соответственно фрагмента О до <о“- Такне «вычислимые» функции как «сложение» +о и «умножение» X» входят в этот класс, .
ЛИТЕРАТУРА
?
Baker Т., Gill J. and Solovay R. Relativizations of the P = NP question. SIAM J. Comput. 4 (4) (1975) 431—442.
Baker T. and Selman A. A second step toward the polynomial hierarchy. Proc. 17th IEEE Symp. on the Foundations of Computer Science (1976) 71—75. См. также Theoret. Comput. Science 8, № 1 (1979) 177—187.
Bennet С. H. and Gill J. Relative to random oracle A.P^^NP^^co-NP^ with probability one. SIAM J. Comput. 10 (1) (1981) 96—113.
Breidbard S. On splitting sets. J. CSS (1978) 56—64.
Hopcroft J. and Ulman A. Introduction to Automata Theory. Languages and Computations (Addison — Wesley, Reading, MA, 1979).
Ladner R. On the structure of polynomial tive reducibility. J. Assoc. Comput. Mach. 22 (1975) 155—171.
Soare R. I. Recursively enumerable sets degrees. Bull. Amer. Math. Soc. 84 (1978) 1149—1181.
Яблонский С. B. — В кн. Проблемы кибернетики. Вып. 2. 1959, Физматгиз, М., 75—121.
Левин Л. А. Проблемы передачи информации. 1973, т. 9, № 3, 115—116.
Cook S. A. Proc. 3d Ann. ACM STOC, 1971, 151—159 (Имеется перевод: Кук С. А. — В ки. Киберн. сб., вып. 12, 1975, Мир, М., 5—15).
Karp R. М. — In: Complexity of computer computations, 1972, 85—104 (Имеется перевод: Карп Р. М. — В кн.: Киберн. сб., вып. 12, -1975, Мир, М., 16—38).
Garey М. R., Johnson D. S Computers and Intractability, 1979 (Имеется перевод: Гэри М. Р., Джонсон Д. С. Вычислительные машины и трудно- решимые задачи. 1982, Мир, М.).
12а. Ахо А., Хопкрофт Д., Ульман Д. Построение и анализ вычислительных алгоритмов. Пер. с англ. — М.: Мир, 1979.
Cutland N. Computability. Ап introduction to recursive function theory. 1980 (Имеется перевод. Катленд H. Вычислимость. Введение в теорию рекурсивных функций. 1983, Мир, М., гл. 4 и 9).
Rogers Н. Theory of recursive functions and effective computability. 1967, N. Y. (Имеется перевод: Роджерс X. Теория рекурсивных функций и эффективная вычислимость. 1972, Мир, М., гл. 5—10).
Hartmanis J. Inform. Proc. Letters. 1985, 20, № 5, 241—248.
15a. Joseph D. J. Comp. Syst. Sci., 1983, 26, Ns 3, 311—338.
15b. Sazonov V. Y. Leet. Not. Comput. Sci., 1980, № 88, 562—575.
15c. Sazonov V. Y. EIK, 1980, 16, № 7, 319—323.
Daley R. J. Symb. Logic, 1981, 46, № 3, 460—474.
Шэнь A. X. Доклады АН СССР, 1979, 248, № 6, 1309—1313.
Goodman N. D. J. Symb. Logic, 1978, 43, 497—501.
18a. Непейвода H. H. Программирование, 1979, № 1, 15—22.
Успенский В. А., Семенов А. Л. Теория алгоритмов. — В ки.: Алогритмы в современной математике и ее приложениях, ч. I. 1982, Новосибирск, 99—342.
Слисенко А. О. Сложностные задачи теории вычислений. Усп. мат. наук, 1981, т. 36, в. 6, 21—103.
20а. Адельсон-Вельский Г. М., Слисенко А. О. — В кн.: Алгоритмы в современной математике и ее приложениях, ч. II. 1982, Новосибирск, 93—123.
Бельтюков А. П. — В кн.: Теория сложности вычислений. I. Зап. науч, семин. ЛОМИ, т. 118, 1982, Наука, Л., 4—24.
Ко К. I. Theor. Comp. Sci., 1984, 31, № 1—2, 101—124.
22а. Hausman, Korte В. Discrete Math., 1978, 24, 261—276.
Cook S. A. J. Ass. Comp. Mach., 1971, 18, № 1, 4—18 (Имеется перевод: Кук С. — В кн.: Сложность вычислений и алгоритмов, 1974, Мир, М., 266—288).
Мучник А. А.— В кн.: Кнберн. сб. вып. 20, 1983, 141—158.
Ladner R. Е., Lipton R. J., Stockmeyer L. J. SIAM J. Comp. 1984, 13, N I, 135—155.
Ladner R. E., Stockmeyer L. J., Lipton R. J. Inform. Contr., 1984, 62, Nl, 93—108.
Фрейвалд P. В. Известия ВУЗ. Сер. математика, 1981, №5 (288), 26—34.
27а. Freivalds R. In: Information Processing 83 (Proc. IFIP Congress 83), Amsterdam, 1983, 157—162.
Ruzzo W. L., Simon J., Tompa M. J. Comp. Syst. Sci., 1984, 28, N 2, 216—230.
28a.Manber U., Tompa M. J. Ass. Comp. Mach., 1985, 32 № 3, 720—732.
Дехтярь M. И. Сводимость с ограниченной сложностью. — В кн.: Актуальные проблемы математической логики и теории множеств. 1975, МГПИ нм. Ленина, М., 88—104.
Volger Н. Societe Mathem. de France. 2° ser., mem., № 16, 1984, 41—51.
Ливчак А. Б. Программирование 1985, № 1, 59—65.
Grandiean Et. Math. Syst. Theory, 1985, 18, № 2, 171—180.
32a. Fagin R. — In: Complexity of Computation. SIAM—AMS, 1974, 43—74.
Book R., Wilson Ch. Xu M. Relativizing time and space. «22nd Annu. Symp. FOCS. Oct. 198b, N. Y„ 1981, 254—259.
Meinhardt D. Mathem. Research, 1984, 20, 338—344.
Paul W. J. Comp. Syst. Sci. 1979, 19, 197—202 (имеется перевод: Пауль В. — В кн.: Киберн. сб. вып. 18, 1981, 46—54).
Cook S. A. J. Comp. Syst. Sci., 1973, 7, N 4, 343—353.
Сб. «Проблемы математической логики» 1970, Мир, М., 9—49, 123—138.
Hartmanis J., Hunt Н. В. III. — In: Complexity of Computation. SIAM — AMS, 1974, 1-26.
38a. Savitch W. J. Comp. Syst. Sci., 1970, 4, 177—192.
Seiferas J. J., Fischer M. J., Meyer A. R. J. Ass. Comp. Mach., 1978, 25, N 1, 146-167.
39a. Rackoff Ch. W, Seiferas J. SIAM J. on Comp., 1981, 10, № 4, 742—745.
Pippenger N. Proc. 20th Annu. Symp. FOCS, Oct. 1979, 307—311.
Kannan R. Math Syst. Theory, 1984, 17, N 1, 29-45.
Paul W., Pippenger N, Szemeredy E., Trotter W. «24th Annu. Symp. FOCS, Nov. 1983», 1983, 429—438.
Paul W. J., Reischuk R. On alternation II. Acta Inform., 1980, 14, 391— 403 (имеется перевод: Пауль В., Райшук Р. Об альтернировании II.— В ки.: Киберн. сб вып. 20, 1983, 123—140).
Schoning U., Book R. SIAM J. Comp., 1984, 13, N 2, 329—337.
Xu M., Doner J., Book R. J Ass. Comp. Mach., 1983, 30, N 3, 677—685.
Li Xiang. Intern. J. Comp. Mach., 1985, 17, 15!—153.
Ambos-Spies K- Leet. Not. Comp. Sci., 1984, 166, 198—208.
Ambos-Spies K- Leet Not. Comp. Sci., 1984, 171; 1—23.
Schoning U. Theor. Comp. Sci., 1984, 31, N 1, 41—48.
Schmidt D. Leet. Not. Comp. Sci., 1984, 171, 77—87.
Stuart A. Inform. Contr., 1983, 57, N 1, 40—47.
Statman R. Theor. Comp. Sci., 1979, 9, N 1, 67—72.
Gilbert J. R. et al. SIAM J. Comp., 1980, 9, N 3, 513—524.
Paul W., Tarjan R. Acta Inform., 1978, 10, 111—115 (имеется перевод: Пауль В., Тарджен Р. — В кн.: Киберн. сб. вып. 21, 1984, 133—138).
Even S., Tarjan R. J. Ass. Comp. Mach., 1976, 23, N 4, 710—719,
55a. Papadimitriou Ch. H. Games against nature. J. Comp. Syst. Sci., 1985, 31, 288—301.
Jones N. D. et al Math. Syst. Theory, 1976, 10, № 1, 1 — 17.
56a. Kasai T., Iwata S. Math. Syst. Theory, 1985, 18, 153—170.
Robson J. M. Leet. Not. Comp. Sci., 1984, 176, 498—506.
Стирнз P., Хартманне Дж., Льюис П. М. — В сб.:'Проблемы математической логики, 1970, Мир, М., 301—338.
Seiferas J. J. Comp. Syst. Sci., 1977, 14, № 1, 73—129.
РЖ математика, 1983, 4В 1358.
60а. Hinman Р. G., Zachos St. Probabilistic machines, oracles, and quantifiers. In Leet. Notes in Math., 1985, 1141, 159—192."
Reif J. H. J. Ass. Como. Mach., 1984, 31, № 2, 401—421.
Heller H. SIAM J. Comp., 1984, 13, № 4, 717—725.
Papadimitriou Ch. H. J. Ass. Comp. Mach., 1984, 31, № 2, 392—400.
63a. Stockmeyer L. J. Theor. Comp. Sci., 1977, 3 № I, I—22.
Yao A. C. — C. Separating the polynomial — time hierarchy by oracles: Part I, 1985, Comp. Sci. Dept. Stanford Univ, (preprint).
Blum M., Micali S. SIAM J. Comp., 1984, 13, № 4, 850—864.
Hartmanis J. Generalized kolmogorov complexity and the structure of feasible computations. Bull. Europ. Ass. for Theor. Comp. Sci., 1984, № 24, 73—78.
Heller H. Math. Syst. Theory, 1984, 17, № 1, 71—84.
Rackoff Ch. J. Ass. Comp. Mach., 1982, 29, № 1, 261—268.
Айзенштейн M. X. О существовании оптимальных алгоритмов для комбинаторных задач и языков. УМН, 1980, 35, № 5, 221—222 и Изв. ВУЗов (Математика), 1985, № 5, 7—15.
Сб. Сложность вычислений и алгоритмов. 1974, Мир. М., 174—185.
Book R., Long Т., Selman A. SIAM J. Comp., 1984, 13, № 3, 461—487.
71a. Schoning U. Theor. Comp. Sei., 1985, 40, № 1, 57—66..
Book R., Long T„ Selman A. J. Comp. Syst. Sci., 1985, 30, 395—413.
Hopcroft J., Paul W., Valiant L. J. Ass. Comp. Mach., 1977, 24, № 2, 332337
Paul W., Reischuk R. J. Conip. Syst. Sci., 1981, 22, 312—327.
74a. Dymond P. W., Tompa M. J. Comp. Syst. Sci., 1985, 30, 149—161.-
Adleman L., Loui M. Math. Syst. Theory, 1981, 14, № 3, 215—222. Имеет. ся русский перевод: Эдлимэн Л., Луи М. В кн.: Кибернетический сб., вып. 22, 1985, 102—111.
Monien В. Acta Inform. 1976, 6 № 1, 95—108.
Ja’Ja’Joseph. J. Ass. Comp. Mach., 1983, 30, № 3, 657—667.
Savitch W. J. Math. Syst. Theory, 1983, 16, № 4, 229—236.
Book R. V., Wilson Ch., Xu M. SIAM J. Comp., 1982, 11. 571—581.
Angluin D. Math. Syst. Theory, 1980, 13, 283—299.
Ibarra О. H., Moran Sh. Intern. J. Comput. Math., 1985, v. 17, 113— 122.■
Meyer A. R. Inform. Control, 1972, 21, № 4, 382—394.
Агафонов В. H. Сложность алгоритмов и вычислений. Ч. II. Новосибирск, 1975..
83а. Daley R. Р. Inform. Contr., 1973, 23, № 4, 301—312.
83b. Daley R. P. J. Ass. Comp. Mach., 1973, 20, № 4, 687—695.
Бургин M. С. Докл. АН СССР, 1982. 264, № 1. 19—23.
Schnorr С. P. Acta Inform., 1976, 7, N 1, 95—107.
85a. Ко К. L, Schoning. SIAM J. Comput., 1985, 14, № 1, 41—51.
Stockmeyer L., Vishkin U. SIAM J. Comp., 1984, 13, № 2, 409—422.
Fischer M., Pippenger N. J. Ass. Comp. Mach., 1979, 26 № 2, 361— 381
87a. Skyum S., Valiant L. J. Ass. Comp. Mach., 1985, 32, № 2, 484—501.
Ruzzo W. L. J. Comp. Syst. Sci., 1981, 22, 365—383.
Furst M., Saxe J., Sipser M. Math. Syst. Theoiy, 1984, 17, № 1, 13—27. 89a. Wilson Chr. B. J. Comp. Syst. Sci. 1985, 31, № 2, 169—181.
Chandra A. K., Stockmeyer L, Vishkin U. SIAM J. Comp., 1984, 13, №2, 423 139.
Gurevich Y., Lewis H. R. Inform. Conrt., 1984, 61, № 1, 65—74.
Yap Ch. K. Theor. Comp. Sci., 1983, 26, 287—300.
92a. Valiant L. Proc. 11th Annu, Conf. — ACM FOCS, 1979, 259—271.
Клини С. К Алгоритмы в различных смыслах. — В кн.: Алгоритмы в современной математике и ее приложениях. Ч. II. 1982, Новосибирск. 139— 148.
Рашевский П. К. Усп. мат. наук, 1973, т. 28, № 4, 243—246.
Гавриленко Ю. В Докл. АН СССР, 1984, 276. № 1, 18—22.
Scott D. — In: Proc. 4th Annu. Princeton Conf, on Inform. Sci. a. Syst., 1970, 169—176 (Имеется перевод: Скотт Д. — В кн.: Кибери. сб., вып. 14, 1977, 105—121).
Сазонов В. Ю. Сибир. мат. ж. 1976, XVII, № 3, 648—672.
Барендрегт X. Ламбда-исчислеиие. 1985, Мир, М., гл. 5, 18, 19.
Ершов А. П. — В кн.: Алгоритмы в современной математике и ее приложениях. Ч. II. 1982, Новосибирск, 194—229.
Fenstad J. Е. General recursion theory: an axiomatic approach. 1980. Springer — Verlag.
Цейтин Г. С. — Труды МИАН им. Стеклова, 1962, т. 67, 295—361.
Ершов Ю. Л. Алгебра и логика. 1972, т. II, 367—437.
Стригин Ю. Д. Докл. АН СССР, 1973, 210, № 3, 537—540.
Ганов В. А. Сибир. мат. ж. 1973, 14, № 5, 1235—1259.
Справочная книга по математической логике. Т. I, гл. 7, 235—288 и т. 3, гл. 5, 134—165, 1982, Наука, М.
Ершов Ю. Л. Докл. АН СССР, 1983, 273, № 5, 1045—1048.
Сб.: Языки и автоматы. 1975, Мир, М.
Марченков С. С., Матросов В. Л. — В кн.: Теория вероятн., матем. стат., теор. кибернетика. Т. 16 (Итоги науки и техники), 1978, 103—149.
Hartmanis J., Hopcroft J. J. Assoc. Computer Mach. 1971, 18, № 3, 444— 475.
Лупаиов О. Б. Асимптотические оценки сложности управляющих систем. Изд. МГУ, 1984.
Храпченко В. М. Нижиие оценки сложности схем из функциональных элементов. — В кн.: Кибернетический сб., вып. 21, 1984, 3—54.
Мучник Ан. А. Докл. АН СССР, 1985, 285, № 2, 280—283.
Johnson D. S. Journ. Algorithms, 1986, June, v. 7.
Hartmanis J. Bilil. Europ. Assoc. Theor. Comp. Sci., 1985, 27, 40—49.
Добавлено при корректуре. В журнале Journal of Algorithms ежеквартально помещаются обзоры Д. Джонсона: The NP-completeness column: An ongoing guide, посвященные последним достижениям в данной области, Последний обзор см. [113].
Группы ранга 3и сильно регулярные графы1’
М. Д. Хестенс, Д. Г. Хагман
Эта статья содержит первые разделы общей теории групп подстановок ранга 3, имеющих четный порядок, которая была заложена в [4]. Изложение основано на рассмотрении сильно регулярных графов, связанных с такими группами. Там, где это возможно, мы изучаем сильно регулярные графы без каких- либо предположений об их группах автоморфизмов. Основной причиной такого подхода является то, что возникновение этих графов связано с группами большего ранга. Цель статьи состоит в том, чтобы (а) дать удобное и замкнутое в себе изложение основных фактов, используемых в теоретических и вычислительных работах по группам ранга 3, (б) изложить в § 5 результаты, развивающие предложенную Симсом в [14] идею изучения четырех вершинных подграфов и (в) привести иное доказательство (см. § 6) классификации сильно регулярных графов с минимальным собственным значением, равным —2, которая опубликована Дж. А. Сайделем в [12].
ГРАФЫ И ГРУППЫ ПОДСТАНОВОК
С отношением f е X X X на множестве X Ф 0 связан граф §1=(Х, f), имеющий X в качестве множества вершин и f в качестве множества ребер. Под графом мы всегда будем понимать граф такого типа. Мы будем называть граф ориентированным либо обычным в зависимости от того, является ли / строго анти- рефлексивным и строго антисимметричным, либо строго анти- рефлексивным и симметричным. В случае обычного графа мы отождествляем (х, у) и (у, х). Под подграфом мы понимаем некоторое подмножество вершин вместе со всеми ребрами, соединяющими вершины из этого подмножества. t-Вершинный подграф— это подграф, содержащий в точности / вершин. Матрица Af = (a*,ff), строки и столбцы которой помечены элементами из X, причем а*. 9 = 1, если (х, y)^f и а*, 9 = 0, если (х, y^f, называется матрицей отношения f или матрицей смежности гра-
■) М. D. Hestens, D. G. Higman, Rank 3 groups and strongly regular graphs, SIAM—AMS Proceedings, vol, 4, Providence, 1971, 141—159.
5*
фа $f. Дополнительным графом к графу из Sf называется граф Sf=$b где } = ХХХ-ОП. 1 = ^х, х)|хеХ].
Граф ^f является связным, если существует путь (длины nV из любой вершины х в любую другую вершину у, т. е. такая конечная последовательность хо = х, Хь ..., хп = у вершин, что .(/i, х^е f для i = 0, 1, ..., п — 1.
Для заданной вершины х число вершин в множестве
ZW = {z/l(x, yV^n
вершин, смежных с х, называется валентностью х. Граф называется регулярным, если все его вершины имеют одну и ту же валентность; это в точности означает, что матрица Af имеет постоянные строковые суммы.
m-Клика в обычном графе это m-вершинный подграф, в котором любые две вершины смежны, а т-лапа это (/и 4-^-вершинный подграф, в котором одна из вершин смежна со всеми остальными, которые между собой попарно несмежны.
Пусть G— транзитивная группа подстановок на множестве X. Обозначим действие G на X следующим образом: х->-х8, хеХ, geG. Число G-орбит на множестве XXX (относительно покомпонентного действия), число С^-орбит1) на X для фиксированного элемента хеХ и число (G*, G,)-двойных смежных классом в G равны между собой. Это следует из того, что для каждой G-орбиты Д на множестве XXX и каждого элемента х^Х отображения Д->-Д(х)->-{ge G|x8e Д(х)} являются биекциями2). Назовем G-орбиты на множестве XXX орбиталями, а их число — рангом G.
Если Д орбиталь, то Д(х)8 = Д(х8) для всех хеХ и всех g^G. Более того, обращение Д^ = {(у, х) | (х, у)еД} орбитали Д также является орбиталью, поэтому Д-^Д^ —спаривание на множестве орбиталей [15, § 16]. Каждая орбиталь является либо симметричной (Д = Д^), либо строго антисимметричной (Д1)Д^ = 0)- Отметим, что Д^ (х)-> {g е G] х8"1 е еД(х)}, поэтому (Gx, Gx) — двойной смежный класс, соответствующий Д^ является обратным к двойному смежному классу, соответствующему Д.
[15, с. 45] G обладает симметричной орбиталью, отличной от I тогда и только тогда, когда | G | — четное число.
Доказательство. Выберем хеХ. G имеет симметричную орбиталь, неравную / тогда и только тогда, когда GxgGx = = Gxg-xG* для некоторого g^Gx, а это возможно в точности тогда, когда | G| четен.
h Gx = ^g\g е G, Xе = хУ — Прим, перев.
а] д(х) = Vg | У е X, (х, у) е Д}. — Прим, перев.
Как хорошо известно (см. [15]), справедливо следующее утверждение.
Матрицы Лд составляют базис кольца централизаторов подстановочного представления.
В частности, ранг G равен размерности соответствующего кольца централизаторов, а поэтому и длине (р, р) подстановочного характера р. 1
Каждая орбиталь Д ^ / строго антирефлексивна и, как отмечено выше, либо симметрична, либо строго антисимметрична. Следовательно, граф ^д является либо обычным, либо ориентированным.
[5, с. 26] G является примитивной тогда и только тогда, когда граф ^д связен для всех ^ =# I. *
Доказательство. Пусть Д — орбиталь, отличная от /. Для хеХ положим 5д(х) = {у е Х| в ^д существует путь из х в у). Тогда 2д(х) — Ед (х8) для всех хеХ и oeG, а для уеЕд (х) имеет место Ед(у)е Ед(х), поэтому Ед(у) = Ед(х). Следовательно Ед(х)— блок импримитивности, а если G примитивна, то Ед(х) = Х и граф ^д связен. С другой стороны, если G импри- митивна и 5 — нетривиальный блок импримитивности, то для хеЕ множество 5 = (х) + Д(х) + ... является объединением Gx-орбит, причем встретится хотя бы одна орбиталь Д, отличная от /. Если уеД(х), то у = х8 для некоторого g^G и Д(у) = = Д(х8) = Д(х)8 s S8 = 2. Следовательно 2д(х)е2 и ^д не является связным.
ГРУППЫ РАНГА 3 И СИЛЬНО РЕГУЛЯРНЫЕ ГРАФЫ
Пусть G — группа подстановок ранга 3 на множестве X с орбиталями /, Д и Г. Для хеХ Gx-орбиты на X— это /(х) = = {х), Д(х) и Г(х). Числа 1 =|/(х) |, £=|Д(х)| и / = |Г(х)| называются подстепенями G, а п = 1 4- к 4-I, где « = |Х|,— степенью G. Предположим, что |G| четен, при этом хотя бы одна, а значит и обе орбитали Д, Г являются симметричными. Обычный граф ^д является регулярным и каждая его вершина имеет валентность к. Числа пересечений X, ц группы G [4] определяются следующим образом:
( X, если уеД (х), | Д (х) П Д (у) 1 = 1 ( 1 если уеГ(х).
неребра соответственно. Это означает, что ^д й Зр—пара дополнительных сильно регулярных графов [1]. Такие графы будут детально рассмотрены в §§ 4—6.
Сильно регулярный граф, возникающий таким образом из группы подстановок ранга 3, т. е. сильно регулярный граф, группа автоморфизмов которого имеет ранг 3 при действии на вершинах будет называться графом ранга 3.
ТЕОРЕМЫ ИЗ ТЕОРИИ МАТРИЦ
В этом разделе мы приведем некоторые результаты о матрицах, которые будут играть важную роль в нашем обсуждении сильно регулярных графов.
Пусть А—действительная симметричная матрица порядка п со спектром Xi ^ Xi ^ ... ^ Хл. Хорошо известно, что
Если В — главная подматрица в А, то
спектр В содержится в [Хь Хл] и
если Xj, j = 1 или п является собственным значением В, у — собственный вектор В с собственным значением Xj, а 2 — собственный вектор А с собственным значением, отличным от Xj, то у перпендикулярен проекции 2 на подпространство, соответствующее В.
Под спектром графа 3 мы понимаем спектр его матрицы смежности А. Если ^ обычный граф, то А симметрично, поэтому из (3.1) непосредственно следует
Пусть 3— обычный граф. Предположим, что 3 регулярен и каждая вершина имеет валентность k > 0 и пусть Х{ — минимальное собственное значение 3. Если Зо— подграф 3, то спектр Зо содержится в [Хь&]. Если Xi является собственным значением Зо, то любой собственный вектор Зо с собственным значением Xi имеет нулевую сумму координат.
3-Лапа [Р; Qi, Qz, Qs] — это граф
Используя (3.2), А. Дж. Хоффман [8] доказал
Если обычный граф 3, имеющий минимальное собственное значение равное —2, содержит 3-лапу [Р; Qi, Q2, Q3], то каждая вершина R^P, смежная с Qi и Q2, смежна с Р, но не смежна с Qs.
Последний результат этого раздела в определенном смысле двойствен к (3.1), Пусть снова А—действительная симметрия-
ная матрица порядка п со спектром Xi ^ Х2 ^ ... ^ Хл. Для заданного разбиения {1, 2, ..., и} = Ai + Л2 + • • • +AW, такого что |А,| = л(>0, рассмотрим разложение матрицы Л на блоки: Л = (Л1;), где Л,/— niX^i блок. Пусть ец— сумма элементов в блоке Ац и положим А = (ец/п^. Как указал Симс, рассуждения, аналогичные стандартному доказательству утверждения (3.1), позволяют получить следующее:
(а) Спектр матрицы Л содержится в [Хь Хл] и
если Xi—собственное значение Л, у — собственный вектор Л с собственным значением Xi и z— собственный вектор А m
с собственным значением, большим, чем Хь то У У zalh = 0. 1-1 а = д.
Этот результат будет применяться к матрице смежности обычного графа 3 в случае, когда Ai, ..., Am — разбиение множества вершин. При этом ец — число ориентированных ребер из А; В А/.
СИЛЬНО РЕГУЛЯРНЫЕ ГРАФЫ
Сильно регулярный граф [1] — это обычный граф 3 с п вершинами, такой, что
3 регулярный валентности к, 0 •< к < п— 1,
число X 3-клик (т. е. треугольников) в 3, содержащих заданное ребро, не зависит от выбора ребра, и
число ц 2-лап, содержащих заданное неребро, не зависит от выбора неребра.
Пусть 3— сильно регулярный граф, А — множество ребер 3, а Г — множество его неребер. Тогда 3 = 3 Д, 3 = 3 г, А(х) — множество вершин, смежных с х, т. е. | A(x) | = ^ и Г(х)—множество вершин, отличных от х и несмежных с х. Положим / = = |Г(х) |, так что п = 1 4- к + I. Из определений следует
О^Х<Й- 1, 0<ц^й и к— ц</- 1.
Матрицы смежности А = АД графа 3 и В = Вг дополнения графа 3 удовлетворяют следующим соотношениям:
(1)/4-Л + В = Л.
(И) А имеет строковую сумму к, а В имеет строковою
сумму I и
(ПР А1 — (X — ц) А — (к — ц) / = ц/, где 1 обозначает матрицу, состоящую целиком из единиц.
Доказательство. Первые два утверждения следуют непосредственно из определений. Поскольку (х, у)-элемент матрицы Л2
равен числу путей длины 2 в графе S’ из х в у, мы имеем Д2 = = ХА + рВ + к! и соотношение (iii) следует из (i) и (и).
Нетрудно заметить, что (0, 1)-матрица со строковой суммой к, О^к^п—1, имеющая на диагонали одни нули и удовле-, творяющая равенству (iii) для 0<^Х^к—1 и О^рсй является матрицей смежности сильно регулярного графа.
Из определений следует
3 связен тогда и только тогда, "когда р ^ 0 к
дополнительный граф 3 сильно регулярен, причем
п=п, k=l, l = k, X=l — й + ^ - 1 и ■.
р = / —- к Д- X Д- 1.■
Число ребер в 3 равно nk/l, следовательно
По крайней мере одно из чисел k, I является четным.
Число треугольников с заданной вершиной равно кХ/^, а общее число треугольников — пМ/6, поэтому
2 | ^Х и 3 ] п^Х и, двойственно,^ \1Х и 3|nZX.
Число 2-лап, содержащих заданное ребро (х, у), равно к — X—1, а число 2-лап, содержащих заданно^ неребро (х,г), равно р. Следовательно, общее число 2-лап, содержащих х, - равно
. (4.7)k(k-X~ l) = pZ..
Из (4.6) и (4.7) следует
21 pZ и 2 | pfe.
Из (4.3), (4.4) и (4.7) получаем
3 связен тогда и только тогда, когда р #= к.
Мы будем говорить, что 3 примитивный, если 3 и 3 являются связными.
3 примитивен тогда и только тогда, когда р ф 0, к.
В силу (4.7) имеем
Если 3 примитивен, то (к, П ^ С
Из (4.2) следует, что А удовлетворяет многочлену
(х — к) (х2 — (X — р) х — (k — р)) = 0.
Таким образом, спектр 3 состоит из к и двух собственных значений
( Г )1 _ „ . лЦ2
(SJ = —
Собственные значения {С} = (л — ц — 2 ± d112)^ графа 3 связаны с собственными значениями 3 соотношениями
r4-s = s4-r = —1,
что можно заметить либо из явных формул, либо путем одновременной диагонализации А и В.
Если 3 связен, то А неприводима, и поэтому к имеет кратность 1 по теореме Перрона — Фробениуса. Если же ^ несвязен, то {'} = {_*}• Собственные значения г и s различны и имеют соответственно кратности / и g (при подходящей интерпретации в случае, когда 3 несвязен), которые в силу соотношений
п = 1 + f + g>
О = к 4- rf 4- sg (след А = 0) равны
+(л-1)г + ^
/'S — Г6Г — S
То есть
(4 16) У 1+ 0 (X — ц) + 26 =F d'i2 (k + /)
T2d1/2'
Отметим, что f = g и g = f это, соответственно, кратности г и s как собственных значений 3.
Мы будем называть девятку (л, к, I, X, р, г, s, f, g) набором параметров, описывающих 3.
Матрица С = В — А (так называемая (—1, 1, 0)-матрица смежности, см. [11]) имеет собственные значения ро = /—к (строковая и столбцовая сумма), р, = — (2г 4-1) и р2 = = — (2s 4-1) с кратностями 1, / и g, соответственно. Из равенств
д = _1(В-Л)-1/4-1Л 5 = {(В-Д)-|/4-тА
Л2=(Х-р)Д4-(£-р)/4-рУ, в2=(р-Х-2)В4-(^-Л-1)/ + й/ и
АВ = -2(к-Х- 1)Д-2(&-р)В, мы получаем,что
О2 — (Pi + Рг)С 4" Р1Р2^ ~ (л — 1 4" Р1Рг)^-
Поскольку / и g положительные целые, мы получаем из (4.16) следующее:
(4, Лемма 7] Имеет место одно из следующих утверждений:
к = I = 2ц = 2(Х + 1), или
d = (X— ц)2 + 4(£— ц) является квадратом и
если п четно, то dx/2 делит 2k + (Х — ц) (к + О» 8 то время как 2d1/2 не делит и
(п) если п нечетно, то 2dx,2 делит 2&+(Х —ц)(& + /). Если f = g» т° имеет место случай (I). В случае (II) собственные значения 3 целые. Случаи (I) и (II) не являются взаимно исключающими. 3 относится к случаю (I) или (II) в зависимости от того, относится лиЗ к случаю (I) или (II).
В случае (I)
п=1+4ц, d^n12, |^ j = —- ^"— и f = g=k.
Единственными известными нам такими сильно регулярными графами являются графы ранга 3 зингерова типа [7], а также три примера, имеющие п = 72, 232 и 472 соответственно, которые связаны с исключительными разрешимыми группами ранга 3. Дж. Я. Сайдел получил следующий полезный результат
Если 3— сильно регулярный граф, для которого k = = / = 2ц = 2(Х + 1), то п является суммой двух квадратов.
Доказательство. Положим.
где / = (1,1, .... 1) и С = В — А. В силу (4.17), D2 = nl. Поскольку D — симметричная, рациональная матрица порядка, сравнимого с 2 по модулю 4, отсюда теория рациональных конгруэнтностей дает нам, что п — сумма двух квадратов.
Предположим, что 3 связный и импримитивный, так что ц=£иХ=&— I— 1. Тогда
г) ( О ■)
ииI — (/+ 1)1
и
и
nZ
Z+1
/ + 1
В частности,
Если 9 импримитивен, то / 4" 11 & или & + 1R 6 зависимости от того, связан S или нет.
По-другому мы можем получить (4.20), заметив, что если 9 несвязан, то компоненты связности — это множества {х}4- 4-Г(х). Если G— импримитивная группа ранга 3 (и, следовательно, с необходимостью четного порядка), причем, скажем, Sr несвязен, то имеется единственное импримитивное разложение S и блоками являются множества (х}+Г(х). G дважды транзитивна на множестве блоков, а стабилизатор блока дважды транзитивен на этом блоке.
Если 9 примитивный и п=#5, то г ^ 1 и s ^ —2.
Доказательство. В силу (4.18) г ^ 1 и f ^ 1, следовательно, s —2 по равенству (4.14).
Выберем вершину х и пусть Ai = {х}, Аг = Л(х) и Аз = Г(х^ и пусть
elt — число ориентированных ребер из Az в Л/.
ТогдаТогдаГ оГ о(ez/) = к(ez/) = к00к 0 - кХ 6(6-Х-1) ц/ (& —р)/ .к 0 - кХ 6(6-Х-1) ц/ (& —р)/ .
Тогда
Тогда
Г о
Г о
(ez/) = к
(ez/) = к
0
0
к 0 - кХ 6(6-Х-1) ц/ (& —р)/ .
к 0 - кХ 6(6-Х-1) ц/ (& —р)/ .
Матрица Д(х)=(е,7/п1), п,=|А/| называется матрицей пересечений графа S. Мы видим, что
гО кгО кД(х) =Д(х) =1 X.0 р1 X.0 р° 1к-X- 1 к — ц .° 1к-X- 1 к — ц .
гО к
гО к
Д(х) =
Д(х) =
1 X
.0 р
1 X
.0 р
° 1
к-X- 1 к — ц .
° 1
к-X- 1 к — ц .
не зависит от выбора х и имеет те же собственные значения, к, г, s, что и А.
Более того,
Для 0 е ^к, г, s} вектор ^к, 0, р)т, где 92-Х9-к _ ц9 р — б-л-1 ~ e-fe + g
является собственным вектором А(х) с собственным значением 0.
Образуя 5(х) и В относительно того же разбиения вершин, таким образом, что 5(х)—матрица пересечений графа S, мы получаем 14-Д (х)+ S(x) = 1, где каждая строка матрицы Т
равна (1, к, Г). Из общей теории матриц пересечений ([5] и [6]) известно, что {/, Л, В} и {/, Д(х), В(х)}—базисы изоморфных матричных алгебр.
ВЕРШИННЫЕ ПОДГРАФЫ
Пусть S — обычный граф. Скажем, что два подграфа в S имеют один и тот же тип относительно пары (х,у) различных вершин, если оба содержат и х, и у, а кроме того существует изоморфизм одного подграфа на другой, обладающий тем свойством, что х переходит в х, а у—в у. Например, если (х, у)— ребро, то возможные типы 3-вершинных подграфов в 9 относительно (х,у) исчерпываются следующими:
7 Tv 7k
Ясно, что графы ранга 3 удовлетворяют следующему условию (которое мы будем называть t-вершинным условием) для всех /^2. Число /-вершинных подграфов заданного типа относительно заданной пары (х, у) различных вершин зависит лишь от того, является (х, у) ребром или нет.
Если S удовлетворяют /-вершинному условию для некоторого /, то ему удовлетворяет и S. /-Вершинное условие бессодержательно при / = 1 и автоматически выполнено для / = 2 в любом обычном графе. Если $ не является ни полным графом, ни его дополнением, то 3-вершинное условие выполнено для § тогда и только тогда, когда $ сильно регулярен; в этом случае число 3-вершинных подграфов может быть получено из матриц пересечений для S и S. Следуя методу Симса, мы будем интересоваться 4-вершинными подграфами в сильно регулярном графе. В частности, утверждения (5.21), (5.22) и (5.23), а также метод применения утверждения (3.4) принадлежат Симсу.
Предполагая, что S сильно регулярен, выберем ребро (х, у) и определим Ду = Д,(х, у) по следующему правилу:
Д1 = {х), Д2 = {у}, Дз = Д (х) П А(у)>
Д4 = Д (х) f] Г (у), Д5 = Д(у)ПГ(х) н Д6 = Г (х) П Г (у).
Количества вершин в этих множествах следующие:
п, — п2 = 1, n^ — X, п^ = п5 = к — X — 1 и пъ = ц.
Как и в разд. 3 положим ец = вц^х, у) равным числу ориентированных ребер из Дг в Ду. При этом
О^ец-е^п^-бц)
и
бц = е15 = 616 — ^22= е24 = е23 = О, е12 = 1> ец = е2з = Х и в14 = е25 = А — X—1.
Положим а = а(х,у) равным числу 4-клик в 3, содержащих х и у. При этом е33=2а, и мы можем вычислить оставшиеся е</ в терминах к, X, р, р и а.
Для проведения вычислений положим e(S, Г) равным числу ориентированных ребер из S в 7 для произвольных двух множеств вершин S и Т. Тогда ец = е^1, Д/) и можно заметить, что
Для г е Д,-
i = 1,1 = 2, 3 или 4, z = 5 или 6;z = 2,i = 1; 3 или 5, z = 4 или 6.i = 1,1 = 2, 3 или 4, z = 5 или 6;z = 2,i = 1; 3 или 5, z = 4 или 6.e(z, Д(х)) = /? и e(z, Г(х)) = 0,
i = 1,
1 = 2, 3 или 4, z = 5 или 6;
z = 2,
i = 1; 3 или 5, z = 4 или 6.
i = 1,
1 = 2, 3 или 4, z = 5 или 6;
z = 2,
i = 1; 3 или 5, z = 4 или 6.
= Х,=£-^,-1,
= И,= к — р,
и e(z, Д (у)) = к и e(z, Г (у)) = О,
= Х,= к—Х — 1,
= р,= к — р,
Далее,
Для ze ^i
nte^z, Д(х)) = ег2 + е,-3 + е<4 и n^tz, Г (х)) = е<5 + е<6,
п;е(2, Д (у)) = 6ii + e/3+e/5 и nte (z, Г (у)) = еИ + ei6.
Комбинируя (5.1) с учетом (5.4), получаем
вэз = 2а,.'
е34 = е33 = X (X — 1) —■ 2а,
е3б = е44 = ess = X (й — 2Х) 4- 2а,
е45 = (р- 1) (А — X — 1) — X (X — 1)4-2а,
б4б 636 (к — X — р) (к — X — 1) 4* X (X — 1) — 2а,
е66 = р (^ — р) — (k — X — р) (k — X — 1) — X (X — 1) 4- 2а.
Мы видим, что любая из величин е,/ при z ^ 3, / ^ 3 определяет все остальные. Более того, число 4-вершинных подграфов любого заданного типа относительно (х, у) определяет все такие ец и определяется по любому из них. Следовательно, (5.6) Если число 4-вершинных подграфов в S некоторого одного типа относительно (,х,у^ не зависит от выбора ребра (х,у), то также не зависит от этого выбора число 4-вершинных подграфов каждого типа относительно (х,у\.
Заметим, что.
Число 3-лап■
в S равно
у{(6-Х - 1)(6-2Х-2)4-Х(Х - 1)-2а}, поскольку это у {п4 (п4 — 1) — е^.
Предположим теперь, что S примитивен и что X ф 0, т. е. что все щ отличны от нуля. В виду (4.22), (5.3) и (5.4) мы заключаем, что для 6 e{r, s} матрица
Л(х, y^keqln^
имеет (6, 6, 6, 6, ф, р)г и (6, к ,6, р, 6, р)г в качестве собственных векторов с собственным значением 0, где р то же, что и в (4.22).
Поскольку таким образом мы получаем четыре линейно независимых вектора, то и г, и s имеют как собственные значения А(х, у) кратность по меньшей мере 2. Так как к является собственным значением с кратностью 1 как строковая сумма, мы получаем,что
/ = trace А (х, у) — (А 4- 2) (г 4- $))
является собственным значением Л(х,у). В силу (5.2) и (5.5)
.г-, х 2а . о Л (Л — 1) — 2а .
trace А (х, у)=-у 4- 2Х — 2 - —Н
_р £ _ ц (6 — Ц — X) (6 — X — 1) + (X (X — 1) — 2а) ,
Воспользовавшись равенствами ук = I(к — р) и г 4- s = X — ц, мы получаем
/с о\ / о f J ।26 ц t I кХ (Н — 2Л 2) — 2цХ
I — f (6_х_ 1)(6-ц)J ' (6-Х-1)(6-ц) ■
Теперь мы повторим изложенную выше процедуру, начиная в этот раз с неребра (а, 6)еГ и рассматривая множества Г( = Г|(а, 6), определяемые следующим образом:
Г, = {а}, Г, = {&}, Г3 = А (а) П А (6),
Г4 = Д(а)ПГ(&), Г5 = Г(а)(1Л(6) и Г6 = Г (а) П Г (Z>), которые содержат mt = тг = 1, zn3 = p,, mt = m^ = k — ц и пгб = Х вершин соответственно. Положим
f4 = hAa, /О = е(Г„ ГД
Тогда
0 < fit = tit < mt МП] — 6Z/)
и
fn = f12 = fi5 = fie = f22 = ^24 = /26 = 0, /13 “ /2З “ P U fu = f25 — ^ — P-
Далее положим p = p(a, b)— число подграфов в ^ вида
тогда /зз = 2р. Вычислим теперь все оставшиеся fz/ в терминах к, X, X, ц и р. Метод тот же, что и для ец, поэтому мы опускаем . детали. Результат следующий
/зз —2р,
/з4 — /зз — рХ — 2р,
/зб — Р (^ — 2Х — 2) + 2р,
(5.П) fu — fib^t^ — Р) ^— рХ + 2р,
/45 = (£ —Р)Р —РА + 2Р»
f№ = f56 = ^ — цНк — X — р — I) + ИХ — 2р,
f№ = (k - 2р) X + р (k - 2Х - 2) + 2р.
Здесь мы снова замечаем, что любая из fz/ при i ^ 3, / ^ 3 определяет все остальные. Поскольку число 4-вершинных подграфов каждого типа относительно (а,6) определяет одно из этих /у и наоборот, мы получаем
Если число 4-вершинных подграфов в 9 некоторого одного типа относительно (а, Ь) не зависит от выбора неребра (а,Ь), тогда от этого выбора не зависит число 4-вершинных Подграфов каждого типа относительно (а, 6).
Комбинируя (5.6) и (5.12), мы видим, что
Если eti^x.y^ не зависит от выбора (х,у)еД для некоторых i ^ 3, /^ 3 и fPq(a,b) не зависит от выбора (а, 6)еГ для некоторых р^З, q ^ 3, то 3 удовлетворяет 4-вершинному условию.
Отметим, что число 3-лап
9 ^ — это ^ = ^к — 2Х — 2 )+ 2р,
Из (5.7), (5.13) и (5.14) получаем'
Следующие утверждения эквивалентны*.
9 не содержит 3-лап;
Цх, у) = |{(£-Х-1)(£-2Х-2) + Л(Л-1)} для всех (х, у)^^;
р(а, 6) = — jlM^- 2Л — 2)} для всех (а, 6)еГ;
9 удовлетворяет 4-вершинному условию, причем аир принимают значения, заданные в (б) и (в).
Предположим снова, что 9 примитивный и пусть теперь Х^О. Тогда все mi отличны от нуля. Используя те же рассуждения, что и выше, мы замечаем, что
и = trace А (а, 6) — (к + 2 (г + $)).
является собственным значением
A (a, Ь^^т^.
В силу (5.10) и (5.11) имеем
trace А (а, Ь) = ^ + 2Х - 2 цХ—^- + к - 2ц + 1*^-^-2) + 2Р. цА — цX
Следовательно,
и = 2Н 4-1 р—- 4- l-llrL^L2!,
. ln(fe — ц) X J м А — цX
Предполагая, что 9 примитивный и X =# 0, мы выбираем ребро (х,У)еА, т. е. неребро в 9, и рассматриваем соответствующее разбиение Аь ..., А6. Тогда
trace Л (х, у) = к + 2 (г + s) + I.
Но это в точности то разбиение, из которого мы вычислили й для неребра (х, у) в 9. Это означает, что если S(x, у)—матрица, получаемая из S с использованием этого разбиения, то
trace В (х, у) = I + 2 (г + s) + й,
где й соответствует и и задается равенством (5.16), где над соответствующими параметрами следует поставить черту и учесть, что Х = Х. Поскольку Z-J-А (х, у)+ В(х, у)=], где каждая строка в 7 равна (zii, п^ns), то, взяв след, мы видим, что
/ + й = -1.
Из § 3 мы знаем, что s^t и s^il. Следовательно,
^5.18) s^t^ г в случае, когда 9 примитивный и X Ф 0,"
Аналогично мы видим, что
и-\-1 =— 1 us^u^re случае, когда 9 примитивный и X =# 0.
Подсчитывая двумя способами общее число подграфов вида
в графе 9, мы получаем уравнение
У [«4(«4— 1) — е44<х, y^ = ^ Ма, Ь). ' (*. #)еД(а, Ь)е Г
которое сводится к следующему
Z а^’ У)= 2 ₽(*> ^'
(х, у)еД(х, })еГ
В частности,
Если 9 удовлетворяет 4-вершинному условию, то
Аналогичный подсчет общего числа 4-вершинных подграфов других типов дает тот же результат (5.21).
Общее число 4-клик в 9, содержащих вершину х, равно 1 У «(х, у), а общее число 4-клик равно Лг У, «(х, у). В Зу е Д (х)(х, у)еД
Частности,
Если 9 удовлетворяет 4-вершинному условию, то 3|&а и 4|п£а и, двойственно, 3|/а и 4|п/а.
Поскольку в этом случае относительные числа 4-клик равны &а/3 и п^а/12. Пусть, как обычно, черта означает соответствующий параметр для 9, т. е. а (а, 6) = ( £ ) — fee («> 6)/2 для (а, 6) е Г и Р (х, у) —(“) —еее(х, у)/2.
Из (5.1) нам известно, что O^a^Q). Предположим, что a = (j), г. е. что 0 = 0. Тогда для заданной вершины х множества {у} + (А(х)П А(у)) для уеА(х) являются (X + ^-кликами, осуществляющими разбиение А(х). Более того, множества
■{х, у} + (А (х) Л А (у)), (х, у)ед
являются (Z + 2)-кликами и каждое ребро содержится ровно в одной из таких клик. Поэтому их общее число равно
„6 A + 2y*__ nfe
2 к 2 У ~ (Х+ 1)(Л + 2) 1
Отсюда
Если 3 удовлетворяет 4-вершинному условию и а = 0 го Л + 1 |^ и к + 2|nk.
В заключение мы отметим, что с использованием (5.21) равенство (5.8) сводится к следующему.
Если 3 примитивный, к^О иЗ удовлетворяет 4-вершинному условию, то
- _ 2а _ м 2 ) „ . Лц
6. СИЛЬНО РЕГУЛЯРНЫЕ ГРАФЫ
С МИНИМАЛЬНЫМ СОБСТВЕННЫМ ЗНАЧЕНИЕМ —2
С целью иллюстрации методов разд. 4 и 5 мы дадим иное доказательство следующего результата (Сайдел [12]).
Если 3— сильно регулярный граф с минимальным собственным значением —2, го имеет место один из следующих случаев:
n=2m,k — p, = 2(m—1),(т ^2).
п — т2,k = 2(tn— I),ц = 2,(т^З).
(Ш) п = (з),^ = 2(щ —2),ц = 4,(т>5).
(IV) п = 10,k — З, ц=1,
(V)n = 16,6=10, ц = 6,
(VI) n = 27,6=16, ц = 8.
Все графы с такими параметрами известны.
Случай (I). 3 изоморфен дополнению к лестничному графу (см. [И]).
Случай (II). Решетчатый граф 2?-AhV} порядка tn является единственным при m =^= 4, а при m = 4 существует ровно один граф, неизоморфный 2’2(4), [13]. Этот граф содержит 3-лапу, не удовлетворяет 4-вершинному условию и не обладает транзитивной группой автоморфизмов.
Случай (III). Треугольный граф T^m^ порядка пг является единственным для т^^ При т=3 существуют в точности
три исключительных графа ([2], [3] и [8]), все они обладают интранзитивными группами автоморфизмов.
Случай (IV). Единственный граф, так называемый граф Петерсена [9], который является дополнительным к У(5).
Случай (V). Единственный граф, граф Клебиш, соответствующий 16 прямым на поверхности 4-го порядка Клебша [12, с. 295]. Этот граф допускает группу автоморфизма ранга 3.
Случай (VI). Единственный граф, граф Шлефли, соответствующий 27 прямым на кубической поверхности [12, с. 296]. Этот граф допускает СМ^^О^—1,2) в качестве группы автоморфизмов ранга 3.
Наше доказательство существенно отличается от доказательства Сайдела [12], в котором рассматривается более широкий класс сильных графов. Доказательство утверждения (6.1) с точностью до конечного числа исключений и опирающееся на характеризацию реберных графов, которую получил Рей-Чоудхури [10], было дано Симсом в работе [14].
Доказательство (6.1). Пусть 9— сильно регулярный граф, у которого s =—2. В силу (4.13) имеем
fe — 2Х -— ц -ф 4 и т=! X — ц -ф 2,
Если ц = 0, то ввиду (1) и (4.7), ^ = 2Л-]-4=Х-]-1, что невозможно. Следовательно,
р>0и/ = &(Х — р + 3)/ц,
а по (4.15)
f = fe(2X-p + 6)/p(X-p + 4)..
Формулами (1), (2) и (3) мы ниже будем широко пользоваться без явных ссылок..
Поскольку/—k = kVX— 2р + 3)/ц, то
k^l, если и только если 2ц^Я, + 3.
Если 9 импримитивный, то ц = & в силу (4.10), поэтому р = Х + 2и/=1. Следовательно, п четно в силу (4.20), поэтому
Если 9 импримитивный, то выполнено (I).
Если ц= 1, то f = (2X + 3)(2Z, + 5)/(Z, + 3), откуда следует, что X = 0, поэтому имеем
Если ц=1, то имеет место (IV).
С этого места мы предполагаем, что 9 примитивный и что ц ^ 2. Полагая m = X -ф 2, мы замечаем, что
Если ц = 2 или 4, то имеет место (II) или (III) соответственно.
Следующий наш шаг состоит в доказательстве такого утверждения:■
Если S содержит 3-лапу, го выполнено либо (II) при т=4, либо (III) при т = 8.
Доказательство. Пусть [Р; Qi, Q2, Q3]—некоторая 3-лапа. Из (3.3) мы знаем, что каждая из ц— 1 вершин, отличных от Р и смежных с двумя из вершин Qi, смежна с Р, но несмежна с третьей из Qi. В сумме получаем 3 + 3(р—1) вершин, смежных с Р. Из них 2(р— I) смежны также с Qi, поэтому 2(р— — 1)^Х. Оставшиеся X—2(р—1) вершины смежны с Qi и с Р, но не смежны пи с Qi, ни с Q3. Аналогичное утверждение справедливо для любой подстановки индексов (1, 2, 3}. Следовательно мы пишем по меньшей мере
3 + 3(р — 1) 4- 3{Л — 2(ц — 1)} = 3 (Л — ц) 4-6
вершин, смежных с Р, т. е. &^3(Х— р)+6. Следовательно, О ^ &— 3(Х— р)— 6 = 2(р—1)—X, тем самым Х^2(р—1)и поэтому Х = 2(р—1). Отсюда & = 3р и из / = 3(3р + 2)/(р + + 2) следует р = 2, 4 или 10.
Первые два случая как раз и соответствуют списку (8). В третьем случае мы получаем n=64, к = 30, X = 18, р = 10, г = 10 и s = —2. В силу (4.17) матрица С = В— А удовлетворяет уравнению С2—I8C4-63 = 0 и при подходящем упорядочении строк и столбцов, матрица ЕСЕ, где
рГ'310 I
L 0 - /33 J’ имеет вид
l/г р} / = 0D
и удовлетворяет тому же уравнению. Следовательно, Р2—18Р+ + 63 = —У, а так как D имеет строковую сумму —18, то это влечет существование сильно регулярного графа с параметрами п = 63, к = 40, X = 28, р = 20, г = 10 и s = —2. Такой граф не содержит 3-лап и поэтому удовлетворяет 4-вершинному условию вместе со своим дополнением. Для дополнения мы имеем к =22, X = 1 и р = 11, поэтому в силу (5.21), а = р =0, а в силу (5.16) й =—2 + 99/14 >1, противоречие с тем, что г=1 и с неравенством (5.19).
С этого места мы предполагаем, что 3 не содержит 3-лап. При этом в силу (5.16)
S удовлетворяет 4-вершинному условию, причем■
а = |((&-Х- 1) (^ — 2Х — 2) + Х(Х — 1) и р = - 4р(&-2Х-2).
Пусть Р и Q — несмежные вершины. Тогда Д (Р) = Д + Л, где Д = Д (Р) П Д (Q) и Л = Д (Р) П Г (Q). Пусть т — число вершин, смежных с Р, Q и X для некоторой вершины ХеД. Так как в графе отсутствуют 3-лапы, каждая из к— 2 вершин, отличных от Р, Q и смежных с X, является смежной либо с Р, либо с Q. Следовательно, к — 2 = т4-2(Х— /и) = 2Х— т и, тем самым, m = р— 2, т. е.
Для каждой вершины ХеД существует единственная ХеД, такая что X несмежна с X. В частности у четно.
Теперь выберем X е Д и А е Л. Так как нет 3-лап, А должна быть смежна с одной из вершин Х,_Х. С другой стороны Р, Q иц — 2 вершш!, отличных от X, X из множества Д, которые смежны с X и X, дают в сумме р вершин, смежных одновременно и с X и с X. Следовательно,
Каждая вершина А еЛ смежна ровно с одной из вершин X, X для X е Д.
Если k> I, то либо к = 2р, либо X = 0. ■
Доказательство. Предположим, что k> I и X =# 0. Подграф с множеством вершин Г(Р)ПГ(У), где Р и Q — несмежные вершины, содержит X вершин и является регулярным с валентностью к — 2р. Если в Г(Р)ПГ(9) найдется пара несмежных вершин, то из отсутствия 3-лап следует, что все р вершин, смежных с каждой из них, находятся в r(P)nr(Q). Следовательно, в этом случае р < к — 2р или 2р < X + 2, что противоречит (4). Это означает, что наш подграф является кликой, т. е. к — 2р = = X — 1. Так что, в силу (4.7), р(4Х — 5р + 10) = ЦХ — р + 3), отсюда (Х + 3 — 2р) (2Х + 4 — Зр) = 0, т. е. (X + 3— 2р) (k— — 2р) = 0. Следовательно, & = 2р, в силу (4).
Если к = 2у, то имеет место случай (II), (III) или (VI).
Доказательство. Если &=2р, мы имеем Зр = 2(Х + 2) и из f = 8 (р + 1) / (р + 4) получаем, что р = 2, 4, 8 или 20. В первых двух случаях имеет место соответственно (II) и (III), а в третьем — (VI). В последнем случае параметры следующие п = 63, & = 40, Х = 28, р = 20. Невозможность этого случая была показана в доказательстве утверждения (8).
Если X —0, то выполнено (II), (III) или (V).
Доказательство. Если Х = 0, то подграф на Г(Р) является кликой и, следовательно, A = T(Q) — {Р}, где Q не смежна с Р, и мы можем пользоваться обозначениями из (10) и (11). Для А еЛ множество Д(А)П Д(Р) состоит из р/2 вершин, лежащих в Д по (10) и / — 2 вершин, отличных от А в множестве Л.
Следовательно, Х = /— 2 + р/2=2Х— Зр/2 4-З, откуда Зр = = 2X4-6. Тем самым & = 2р"—2 и
'/ = 8(И—1)/(и-Ь2).
Поэтому р = 2, 4, 6, 10 или 20. В первых трех случаях выполнено (II), (III) и (V) соответственно. Используя (9) и (5.8J для последних двух случаев, мы имеем
п к К |i at
2818121046—10/3 ’
64423022325—22/3
что противоречит (5.18).
Для завершения доказательства (6.1) мы покажем, что
Если X ^ 0 и к ^ I, то выполнено (II) или (III).
Доказательство. В силу (7) и (11), достаточно показать, что р^4. Для заданной вершины Q подграф ^0 на множестве F(Q) регулярен валентности к — р. Поскольку X ^ 0, подграф ^о не является кликой, а из отсутствия в S 3-лап следует, что все р путей длины 2, соединяющих несмежные вершины в F(Q), содержатся в F(Q). Пусть Р и Л—смежные вершины в F(Q), так что А е Л = A(P)f) F(Q). В силу (11) в точности р/2 из X вершин, смежных и с Р и с А, лежат в множестве А = А(Р)П П A(Q), поэтому ровно X — р/2 таких вершин лежат в F(Q). Это означает, что So является сильно регулярным графом с параметрами ко = к — р, /о = X, Хо — X — р/2 и ро = р. Так как ко = = 2Хо — Ро + 4, —2— это собственное значение ^0, и, в силу (3)', кратность другого собственного значения, отличного от ко, равна
f0 = 8(X-p4-2)(X-p + 3)/(2X-3p4-8).
Предположим, что р > 4 и пусть р = 2/ + 4, / >0. Тогда f0 = 2 (X - 2/ - 2) (X - 2/ - 1)/(/ 4- 2) (X - 3/ - 2), откуда мы получаем, что (X — 3/ —2|/(/4-1) либо 2/(/4-1). в зависимости от того, четно или нечетно t. С другой стороны, f = 2(Х —/) (X — /4" 0/(^ + 2) (X —2/), поэтому X —2/|/(/4-1) или 2/(/4” 1) в зависимости от того, четно или нечетно t. Так как (X —2/, X —3/ —2)|/4-2 и (/4-2, /(/4-1))|2, получаем, что в любом случае (X — 2/) (X— 3/— 2)|2/(/-|-1).
С другой стороны, поскольку к ^ /, мы имеем 2р ^ X 4- 3, в силу (4), т. е. X > 4/4-5, — противоречие. Этим завершается доказательство (15), а следовательно и (6.1),
,(6.2) Пусть 8 — сильно регулярный граф с параметрами, такими же как в случаях (II) или (III) утверждения (6.1), где т^2 или т^З, соответственно. Тогда следующие условия эквивалентны'
8 удовлетворяет 4-вершинному условию.
8 не содержит 3-лап.
8 изоморфен решетчатому графу S’l^m) порядка m для некоторого т^ 2, либо треугольному графу для 3.
Доказательство. (а)=>(б). В силу утверждения (8) возможность для существования 3-лап— это случай (II) при m = 4 и (III) при m = 8. В первом из этих случаев с учетом (5.21) мы находим а = 1, поэтому из (5.15) следует отсутствие 3-клик. Во втором случае мы находим, что а = 0, 5, 10 или 15. В силу (5.23), а #=15, а из (5.8) мы получаем 1 =—12 или —16/3 в случаях а = 0 и 5, соответственно. Следовательно, а = 10, в силу (5.18), и из (5.15) вытекает, что 3-лап нет.
(в)=>(а) вытекает из того, что графы 2?Дт^ и^-(т) допускают группы автоморфизмов ранга 3.
(б)=>(в). Предполагая несуществование 3-лап, мы покажем, что каждая клика из множества 2 клик, состоящих из &/2 + 1 вершин, имеет те же свойства, что (I*) каждая вершина лежит ровно в двух членах множества 2, и (II*) каждое ребро лежит ровно в одном члене из 2. Для заданной вершины Р пусть Q — вершина, несмежная с Р. Положим Д = Д(Р)ЛА(О), Л = = А(Р)Г|Г(У) и для ХеД обозначим через X единственную вершину в А, несмежную с X. Это отвечает обозначениям утверждения (10), которое применимо в силу отсутствия 3-лап. Из отсутствия 3-лап следует, что А(Х)ПЛ является кликой, а Л — объединение двух непересекающихся клик Д(Х)ПЛ и Д(Х)ПЛ, каждая из которых содержит (&— ц) /2 вершин. Для УеД—(X, X} имеем, что Д(У)ПЛ = А(Х)ПЛ или Д(Х)ЛЛ. В противном случае существуют А е А(У)ПА(Х)ПЛ и Be е А(У)П A(X)f] Л, откуда следует существование трех попарно смежных вершин Р, А и У в множестве Д(Х)ПД(В), что противоречит (10), поскольку р ^ 4. Теперь зафиксируем Хе А и положим Ki = (Р) ЩА(Х)ЛA)U (Уе Д|Д(У)ПЛ = Д(Х)ПЛ), а Кг— то же, что и Ki, но с X вместо X. Тогда Ki и Кг— клики, состоящие из &/2 + 1 вершин каждая, причем Ki(JK2={P} + + Д(Р) и К1ПКг=(Р}. Если К — третья клика, отличная от Кь Кг, включающая Р и содержащая, по меньшей мере, &/2 + 1 вершин, то можно предполагать, что | К П Ki | > &/4 + 1 и КП Кг содержит вершину А, отличную от Р. Тогда Д(Р)ПА(Л)' содержит по меньшей мере k/4 вершин, отличных от Р, которые лежат в КПК1 и все &/2 —1 вершин, отличных от Р, А в Кг, так что X ^ 3^/4, что невозможно в случаях (II) или (III).
Поэтому в множестве S всех клик, содержащих А/2 + 1 вершин, каждая, любая клика обладает свойствами (I*) и (II*). Следовательно, по теореме (6.2) из статьи Боуза [1] S’ является графом частичной геометрии с параметрами (2, пг, 1) или (2, m— 1, 2) в соответствии с тем, имеет место случай (II) или (III). Известно (и легко проверяется), что частичные геометрии с такими параметрами определяются однозначно.
ЛИТЕРАТУРА
Bose R. С. Strongly regular graphs, partial geometries and partially balanced designs. Pacific J. Math. 13 (1963), 389—419. MR 28 * 1137.
Chang L. C. The uniqueness and nonuniqueness of the triangular association scheme. Sci. Record 3 (1959), 604—613. MR 22 #7950.
Chang L. C. Association schemes of partially balanced block designs with parameters о = 28, «[=12, n2= 15 and p^ = 4. Sci. Record 4 (1960), 12—18. MR 22 # 7951.
Higman D. G. Finite permutation groups of rank 3. Math. Z. 86 (1964), 145—156. MR 32 # 4182.
Б. Higman D. G. Intersection matrices for finite permutation groups. J. Algebra 6 (1967), 22—42. MR 35 # 244.
Higman D. G. Coherent configurations. I. Rend. Sem. Mat. Univ. Padova 44 (1970), 1—26.
Higman D. G. Solvability of a class of rank 3 permutation groups. Nagoya Math. J. 41 (1970).
Hoffman A. J. On the uniqueness of the triangular association scheme. Ann. Math. Statist. 31 (1960), 492—497. MR 22 # 7949.
Hoffman A. J. and Singleton R. R. On Moore graphs with diameters 2 and 3. IBM J. Res. Develop. 4 (1960), 497—504. MR 25 # 3857.
Ray-Chaudhuri D. K. Characterization of line graphs. J. Combinatorial Theory 3 (1967), 201—214. MR 35 # 4119.
Seidel J. J. Strongly regular graphs of Z.2-type and of triangular type. Ne- derl. Akad. Wetensch. Proc. Ser. A 70 = Indag. Math. 29 (1967), 188—196. MR 35 # 88.
Seidel J. J. Strongly regular graphs with (—1, 1, 0) adjacency matrix having eigenvalue 3. Linear Algebra Appl. 1 (1968), 281—298. MR 38 # 3175.
Shrjkhande S. S. The uniqueness of the L2 association scheme. Ann. Math. Statist. 30 (1959), 781—798.
Sims С. C. On graphs with rank 3 automorphism groups. J. Combinatorial Theory (to appear).
Wielandt H. Finite permutation groups. Lectures. University of Tubingen, 1954/55; English transl., Academic Press. New York. 1964, MR 32 # 1252.
коды *)коды *)Двоичные дизъюнктивные
коды *)
коды *)
В. Кауц, Р. Синглтон
Двоичный дизъюнктивный код состоит из множества кодовых слов, обладающих тем свойством, что их поразрядные булевы суммы (1 + 1=1) удовлетворяют предписанному уровню различимости. Такие коды находят применение главным образом при представлении атрибутов документов в информационнопоисковых системах, а также при распределении каналов для облегчения разгрузки сильно загруженных линий связи. В работе устанавливаются некоторые основные свойства кодов такого типа и выводятся формулы и границы, связывающие их основные параметры. Наконец, здесь описано несколько семейств кодов, основанных на (1) обыкновенных </-ичных кодах, исправляющих ошибки, (2) комбинаторных конфигурациях вроде блок-схем и латинских квадратов, (3) графических конструкциях, и (4) проверочных матрицах стандартных двоичных кодов, исправляющих ошибки.
ВВЕДЕНИЕ
Опишем две задачи из области теории кодирования, связанные с представлением и обработкой данных в информационнопоисковых системах некоторых типов. Будем называть дизъюнкцией двух «-разрядных двоичных слов их поразрядную булеву сумму; например, 011001 V 010010 = 011011. Требуется найти код, состоящий из достаточно большого числа N кодовых слов, такой чтобы для заданного натурального m всевозможные дизъюнкции, составленные из не более, чем пг различных кодовых слов, были различны (задача 1), или не покрывали кодовых слов, отличных от тех, из которых составлена данная дизъюнкция (задача 2). Вскоре будет установлено, что эти две задачи внутренне взаимосвязаны. По этой причине они рассматриваются в данной статье совместно.
Коды, удовлетворяющие условию задачи 1, будем называть кодами с однозначным декодированием порядка m (uniquely
decipherable) сокращенно 1/£)т-кодами. Название этих кодов непосредственно связано с их определением, которое гарантирует, что любое слово, представляющее собой дизъюнкцию не более, чем m кодовых слов UDm-кода, может быть разложено в дизъюнкцию слов этого кода лишь единственным образом. Например, рассмотрим следующий список из восьми 7-разряд- ных кодовых слов
1100000
1010000
0 10 0 10 0
0011000
0001100
0010010
0000101
0000011
Если этот список, не содержащий повторяющихся слов, пополнить всеми (2) = 28 попарными дизъюнкциями входящих в него слов, то полученный список также не будет содержать повторений. (Этот факт легко проверить, выписывая всевозможные попарные дизъюнкции; или, что проще, проверяя по отдельности, каким образом могут возникать дизъюнкции, содержащие три или четыре единичных разряда.) Таким образом, указанное множество из восьми кодовых слов составляет UD2-kor.
Код, слова которого удовлетворяют условию задачи 2, будем называть кодом с отсутствием ложных соответствий (zero-false- drop) порядка m., сокращенно ZFDm-кодом. Это название связано с применениями таких кодов в задачах поиска информации, о которых будет рассказано в следующем разделе.
Следующий код из трех 3-разрядных слов, содержащих по одному единичному разряду, а именно 100, 010, 001, является, очевидно, 2РО2-кодом, ибо ни одна из попарных дизъюнкций его слов (скажем, НО), не покрывает оставшегося слова (001). Более того, в некотором роде тривиальным образом этот код является 2ЕОз-кодом. Отметим также, что он одновременно является UD2- и UDyкодом.
В разд. II описаны причины, в силу которых возникла потребность в дизъюнктивных кодах и некоторые их применения, которые могут быть допущены читателем, интересующимся лишь самими кодами как таковыми. Основные свойства этих кодов и границы их мощности N в терминах порядка пг и длины кодовых слов п излагаются в разд. III и IV. Некоторые семейства кодов произвольно большой мощности и порядка описываются в разд. III—VII.
ПРИМЕНЕНИЯ
А. Поисковые массивы
Дизъюнктивный код, такой, как ZFD-kojx, можно использовать для поиска в информационном массиве [1] — [3]. До стадии кодирования, поисковый массив состоит из длинного списка заголовков, по одному на каждый документ, входящий в информационный массив. Каждый заголовок содержит идентифицирующий номер (адрес) документа (для последующего физического поиска), и короткий список атрибутов, называемых дескрипторами, которые выбираются из словаря дескрипторов с целью описания содержания рассматриваемого документа. Типичный словарь может содержать число N дескрипторов в пределах от 103 до 104, а наибольшее число дескрипторов, приходящееся на один документ данного массива, колеблется от 5 до 15. Размеры самого массива по существу неограниченны.
Запрос к такому массиву имеет вид предписания, содержащего список запрашиваемых дескрипторов и указания, требующего установить, либо (а) наличие, либо (б) список тех документов информационного массива, которые содержат в своих заголовках все дескрипторы из запрашиваемого списка. Таким образом, для автоматизации процесса поиска требуется, чтобы все документированные данные были закодированы таким образом, чтобы описанная проверка осуществлялась быстро и с использованием минимума оборудования.
Известны методы, которые позволяют эффективно кодировать адреса документов и определять соответствие документов имеющемуся запросу (шаг (б)) [4], если имеются средства для того, чтобы определять лишь наличие или отсутствие запрашиваемых документов (шаг (а)). Для этой цели предлагается использовать ZFDm-коды, при помощи которых можно кодировать дескрипторные части заголовков документов, составляющих поисковый массив.
Пусть каждому из N дескрипторов, входящих в словарь, сопоставлено одно из «-разрядных кодовых слов некоторого ZFDm-кода. Списку дескрипторов, связанному с каждым документом, сопоставляется новое «-разрядное двоичное слово, представляющее собой поразрядную булеву сумму кодовых слов, соответствующих всем дескрипторам, входящим в рассматриваемый список. Из кодовых слов, соответствующих запрашиваемым дескрипторам, аналогичным образом формулируется «запросное» слово. Непосредственно из определения ZFDm-кодов следует, что коль скоро с каждым документом связано не более m дескрипторов, запросное слово покрывается каким-либо документным словом тогда и только тогда, когда
все запрашиваемые дескрипторы содержатся среди дескрипторов, связанных с этим документом. Если при запросе описанная проверка окажется успешной хотя бы для одного из документных слов массива, то можно извлечь из массива нужную информацию; в противном случае нужная информация в массиве отсутствует.
Известны различные электрические и механические устройства, в которых реализуется описанный тип поискового массива [[5—7]; некоторые из подобных устройств имеются в продаже. Например, при использовании карт с краевой перфорацией каждый документ представлен картой, несущей на себе двоичное слово, нанесенное в виде набора вырезов, сделанных на местах п возможных позиций, располагающихся на одном или нескольких краях карты — скажем, на нижнем крае. Чтобы осуществить запрос, колоду таких карт помещают на множество небольших стерженьков, размещенных под колодой; часть стерженьков приподнимают в соответствии с позициями вырезов, соответствующих единицам запрашиваемого кодового слова. Все те карты, у которых имеются вырезы во всех указанных позициях, будут неподвижны, в то время как ненужные карты окажутся приподнятыми, и могут быть отделены от искомых.
Коды, используемые в настоящее время в подобных поисковых массивах порождаются путем случайного отбора [1—3]. Каждое дескрипторное кодовое слово формируется путем случайного размещения небольшого числа единиц (обычно трех-четырех) в «-разрядном двоичном блоке. Подходящее значение разрядности п случайного дизъюнктивного кода можно определить путем статистического анализа, сводящего к предусмотренному минимуму вероятность ошибочного извлечения не относящегося к делу документа [8—12]. Подобное «ложное соответствие» может возникнуть, если рассматриваемая дизъюнкция кодовых слов покрывает какие-либо кодовые слова, отличные от тех, из которых она составлена.
Хотя пользователь массива легко может справиться с небольшим числом ложных соответствий, они, тем не менее, составляют предмет беспокойства и вряд ли могут считаться переносимыми, когда их число становится чересчур большим. Поскольку даже самый лучший статистический анализ случайных дизъюнктивных кодов опирается на ряд упрощающих предположений (равное использование дескрипторов, неограниченный размер словаря, независимый выбор дескрипторов), невозможно гарантировать желаемый минимальный уровень вероятности ложных соответствий, без использования весьма консервативных конструкций. Однако даже тогда случайный код всегда будет давать отклонения от средних значений. Так, всегда можно подозревать, что в конкретном новом коде имеется
небольшое число плохих комбинаций кодовых слов, и всегда есть шанс, что новый код будет иметь плохие рабочие характеристики. Наконец, еще один недостаток случайных кодов состоит в том, что поиск, пренебрегающий одним или несколькими дескрипторами, не может быть осуществлен без риска «ложных промахов» — т. е., когда желаемые вхождения отвергаются. ZFD-коды свободны от этих недостатков.
Новое семейство дизъюнктивных кодов было введено и изучено в первую очередь с целью преодоления указанных недостатков. Точно так, как в случае обычных кодов, исправляющих ошибки, они позволяют полностью гарантировать отсутствие ошибок вплоть до некоторого уровня активности. Аналогичным образом, случайные дизъюнктивные коды соответствуют обычным случайным кодам, вроде тех, которые были изучены Шенноном [13] и Элайесом [14].
В отношении случайно порожденных дизъюнктивных кодов верно также то, что как только дизъюнкция кодовых слов сформирована — в соответствии с кодируемым документом, по этой дизъюнкции, вообще говоря, уже невозможно непосредственно определить, какие именно дескрипторы в нее вошли. Иначе говоря, декодирование слов вообще говоря, не является однозначным. С другой стороны, как будет показано в следующем разделе, любой ZFDm-кол автоматически является UDm-кодом, так что дизъюнкции кодовых слов кодов нового семейства автоматически обладают свойством однозначности декодирования.
Б. Передача данных
Некоторые загруженные линии связи, такие, как любительский диапазон, общие телефонные линии и некоторые военные радиодиапазоны, характеризуются ограниченным числом п каналов при большем числе N пользователей низкого уровня. В таких случаях невозможно отдать каждому пользователю по каналу на все времена, и следует ввести в действие какую-либо процедуру, позволяющую варьировать распределение каналов по мере требования. Обычная практика состоит в привлечении главного блока управления, переключающего центра, или «оператора», для хранения информации о доступных каналах и распределения их по мере необходимости. В любительских диапазонах централизованным управлением пренебрегают в пользу менее надежной практики, позволяя каждому пользователю самому искать себе свободный канал наилучшим доступным ему способом.
Если можно быть уверенным, что не более m пользователей будут одновременно нуждаться в доступе к линии, то каждому по тткялпятр пто можно нянгагпя ппипиоять пас)мнажрстнп
каналов, которыми ему разрешено пользоваться (передавать и/или слушать одновременно).
Если такое приписывание осуществить в соответствии с некоторым ZFDm-KojxoM, то пользователь может быть уверен, что указанное ему множество каналов ни в какой момент не будет полностью занято никаким другим пользователем, или группой пользователей. Таким образом, ои сможет осуществлять связь в любой момент, не запрашивая главный блок управления и, подчиняясь лишь существующему ограничению на наибольшее число m одновременно работающих пользователей. Если для какой-либо конкретной системы такой предел не установлен статистикой ее использования, разумно позаботиться о наличии простейшего блока управления, который только сообщает всем пользователям о достижении предела заполнения линии.
Использование широкополосных методов для облегчения тесноты в загруженных линиях связи обосновывалось Костасом [15]. Предложенное применение 2Е2)т-кодов может дать нужные средства, в то время как практичность широкополосной философии еще нуждается в проверке1)2).
ТЕОРЕТИЧЕСКИЕ РЕЗУЛЬТАТЫ
В этом разделе дается математическое определение ZFDin- и 1Фт-кодов и устанавливается взаимосвязь между этими двумя понятиями.
Дизъюнкция z =х V у двух двоичных векторов
х = (х', х2х") и у = ^4 у2, ..., у”) размерности п определяется следующим образом:
(0, если х1 = у1 = 0,.
( 1 в противном случае.
t = 1, ..., п (до сих пор мы называли ее поразрядной дизъюнкцией). Будем говорить, что вектор х покрывается вектором у, если х V у = у.
Пусть дан код Сь представляющий собой совокупность N двоичных векторов размерности л; эти векторы носят название кодовых слов. Для каждого /г = 2, 3, ..., N построим ^-е множество дизъюнкций С^, образуя всевозможные дизъюнкции ко
*) Другое применив двоичных дизъюнктивных кодов к проблемам связи было предложено Коном и Гормэном [16], и касается использования предложенного семейства кодов, обладающих ограниченными дизъюнктивными свойствами для селективного обращения к станциям в сети связи.
’) Последний подраздел В разд. II под названием «магнитные запоминающие устройства», почти не содержащий сведений о дизъюнктивных кодах, при переводе опущен. — Прим, перев,
довых слов из Ci, каждая из которых составляется в точности из к различных кодовых слов. Таким образом, множество Ск содержит (д) векторов, причем при к > 1 эти векторы не обязательно различны. При рассмотрении последовательности множеств Сь С2, ..., Ск, ... нас интересует, в частности, то значение к, при котором впервые появляются повторения векторов, встречающиеся или в самом множестве С*, или же в Ск и каком-либо из предшествующих множеств. Для этой цели устанавливается следующая теорема и следствие из нее.
Теорема 1. Если множества Сь С2, ..., Cm+i попарно не пересекаются, то множество Ст содержит в точности (^) различных векторов.
Доказательство. Допустим, что два из (^) векторов, входящих в Ст, одинаковы:
Xi V х2 V ... v хт = ух v у2 V ... V ут, ,
где Xi, х2, .... хт и ух, у2, ..., ут— кодовые слова из Ср Тогда
у, V Хх v Х2 V . • • V хт = Хх V х2 V . • • V Хт
для каждого /=1, 2, ..., т. Но поскольку пересечение множеств Ст+1 И Ст пусто, КЗЖД0е ИЗ КОДОВЫХ СЛОВ Z/1, . . . , Ут должно принадлежать множеству кодовых слов (хь .... хт}. Таким образом, множество Ст не содержит повторений, и все (т) входящих в него векторов различны.
Следствие. Если множества Сх, С2, .... Cm+i попарно не пересекаются, то каждое из множеств Ск содержит в точности (&) Различных векторов, k= 1, ..., т.
Эта теорема и следствие из нее используются далее для установления связи между ZFD- и CD-кодами.
Если попарно не пересекаются лишь множества Сх, С2, ... ..., Ст, то Ст не обязательно содержит (") элементов. Например, для кода Ci, состоящего из семи циклических сдвигов вектора (1101000), множества Сь С2 и С3 попарно не пересекаются, однако С3 содержит лишь восемь элементов, в то время как (0 = 35.
Далее, если Сь С2, ..., Ст попарно не пересекаются, и при этом Ст содержит (^) элементов, то множества Сь С2, ..., Cm+i не обязательно являются попарно непересекающимися. Например, для кода Ci, состоящего из векторов а =(1100), Ь = = (001Ц и с = (0110), имеем для С2 дизъюнкции а\/b =
= (1111), а V с = ( 1110), и b V с = (0111), а для С3 единственный элемент <t V Z> V с = (1111); множества Ci и С2 не пересекаются, С2 содержит Q) = 3 элемента, а пересечение С2 и С3 непусто.
ZFDm-код определяется как такое множество С[ кодовых слов, для которого никакая дизъюнкция ухХ/ УчХ/ ... V Уь со* ставленная из j ^ m кодовых слов, не покрывается никакой другой дизъюнкцией xxV х2 ... Vxk, составленной из Д^т кодовых слов, если только все у\, у^, • • •, У) не принадлежат множеству кодовых слов хь ..., хк. Очевидно, что всякий ZFDm-код, является одновременно /^О^-кодом для любого k из промежутка 1 ^ к < т. Эквивалентное, но несколько менее интуитивно ясное определение извлекается из следующей теоремы.
Теорема 2. Множество двоичных векторов является ZFDm- кодом тогда и только тогда, когда никакая дизъюнкция x,Vx2V ... X/Хк, составленная из к ^ m кодовых слов, не покрывает иных кодовых слов, кроме тех, из которых она составлена.
Доказательство. Достаточность следует прямо из определения. С другой стороны, если дизъюнкция Х\ V х2 V ... V х^ составленная из к ^ m кодовых слов, не покрывает иных кодовых слов, кроме хь ..., х^ то она не может покрывать и дизъюнкций, в состав которых входят кодовые слова, отличные от Х1хк.
В терминах последовательности множеств Сь С2, ..., Ск, ... имеем следующую теорему.
Теорема 3. Множество Cv является ZFDm-кодом тогда и только тогда, когда множества Сь С2, ..., Cm+I попарно не пересекаются.
Доказательство. 1) Пусть множества Сь С2, ..., Cm+I попарно не пересекаются, тогда кодовое слово ух может покрываться дизъюнкцией Xi V ... V Хк, к ^ т, лишь в том случае, когда у\ совпадает с одним из слов хь ..., х*; стало быть, Ct есть ZFDm-код.
Пусть С] есть ZFDm-код, и пусть при этом С,- и С к для 1 ^ j < к ^ т + 1 имеют общий элемент Xi V х2 V, ... V х/ = = yiVy2V ... V у к- Тогда каждый вектор у, совпадает с одним из векторов Хь ..., X/, а поскольку и те и другие попарно различны, неравенство / < к невозможно; стало быть, Сь С2, ..., Cm+I попарно не пересекаются.
UDm-код определяется как множество Ct кодовых слов, такое, что равенство любых двух дизъюнкций, каждая из которых
составлена из не более, чем m кодовых слов, влечет за собой совпадение множеств кодовых слов, из которых эти дизъюнкции составлены. Отсюда следует теорема 4.
Теорема 4. Множество С, является UDm-кодом тогда и только тогда, когда множества Сь С2, ..., Ст попарно не пересекаются, и при этом Cm содержит (^) различных векторов.
Доказательство. 1) Предположим, что множества CiCm попарно не пересекаются, и что Ст содержит (") различных элементов. Тогда каждое из множеств Ck, 1 ^ к ^ т, содержит (&) различных элементов.
Стало быть, две дизъюнкции, каждая из которых составлена из не более, чем т кодовых слов, не могут оказаться равными, если соответствующие множества слов не совпадают, без того, чтобы возникло противоречие или с тем, что множества Сь ... ..., Ст попарно не пересекаются, или с тем, что для любого 1 ^ & ^ m множество Ск содержит (^) различных элементов.
Предположим, что Ct есть {7От-код. Поскольку равенство двух дизъюнкций, составленных из не более, чем т кодовых слов, влечет совпадение двух соответствующих множеств кодовых слов, множества Сь С2, ..., Ст попарно не пересекаются и Ст содержит (^) различных элементов. Существование взаимной связи между ZFD- и t/D-кодами вытекает непосредственно из теорем 3 и 4, и может быть изображено следующим образом:
ZFDm => UDm => ZFDm-i => UDm_x => ... ^ZFDX => UDX.
Кроме того, как показывают контрпримеры изложенные выше в терминах множеств Се, обратные импликации, вообще говоря, места не имеют:
ZFDm4>UDm^> ZFDm и т. д.
Рассмотрим матрицу А размеров NX^, в строках которой расположены кодовые слова, составляющие множество Сх.
Справедлива следующая теорема.
Теорема 5. Множество Сх является ZFDm-кодом тогда и только тогда, когда для любых m 4- 1 строк матрицы А можно указать m -f- 1 столбцов так, чтобы на их пересечении стояла единичная подматрица.
Доказательство. Свойство множества Сх быть ZFDm-кодом равносильно требованию, чтобы для любых m 4- 1 строк матрицы А ни одна из этих строк не покрывалась дизъюнкцией m остальных. Так оно и будет, если, и только если, для каждой
6 Зак, 30
из строк этой (т 4- 1 )-строчной подматрицы найдется столбец, на пересечении с которым эта строка содержит ' единицу, а остальные строки—нули. Обратно, если любые m + 1 строк содержат единичную подматрицу порядка m + 1, то ни одна из этих строк не может быть покрыта дизъюнкцией остальных; стало быть, С] является ZFDm-кодом.
ГРАНИЦЫ
Слабая верхняя' граница для мощности N «-разрядного (7От-кода может быть получена путем простого подсчета общего числа различных векторов, входящих в множества Сь ... ..., Ст, и указания на то, что это число не может превосходить числа всех ненулевых «-разрядных двоичных наборов:
(О
Лучшие границы получаются при использовании некоторых промежуточных параметров. Число единиц, входящих в кодовое слово х, называется весом Wi этого кодового слова; перекрытием Хц двух кодовых слов х, и X; называется их скалярное произведение, т. е. число общих единичных разрядов. Удобно обозначать через romln = minwf наименьший вес, а через Xmax = max Хц— наибольшее перекрытие кодовых слов, где I, i: 1 + i
минимум и максимум берутся по всем N словам рассматриваемого кода..
■ Пусть рассматриваемый код имеет наибольшее перекрытие Хтах- Если фиксировать любые Xmax + 1 разрядов, то самое большее одно кодовое слово может содержать единицы во всех указанных позициях. Общее число возможностей, при выборе указанных разрядов из общего числа п есть в точности (х " + i)’ а i-му кодовому слову соответствует в точности ( , °\ , ) возможностей. Таким образом, суммируя по всем N кодовым словам, имеем
принимает видпринимает видNNЕсли веса всех кодовых слов одинаковы и равны w, эта граница
принимает вид
принимает вид
N
N
п X // га^max “Ь 1 / / \ ^тах 4" 1
Далее, если Wi ^ mXmax + 1, то i-e кодовое слово не может быть покрыто дизъюнкцией каких-либо m из остальных кодовых слов, поскольку оно перекрывается с каждым из остальных кодовых слов не более, чем по ХШах позициям. Поэтому любой код, имеющий наименьший вес iymin и наибольшее перекрытие Хтах, заведомо является ЯГОт-кодом для всех значений /и вплоть до некоторого, удовлетворяющего границе
^ ^ [(^mln ” O/^maxL (4)
где квадратные скобки обозначают целую часть числа.
Рассматривая матрицу А можно легко заметить, что величины Хц являются внедиагональными элементами N X N-матрицы
А = АА‘,
в то время как величины Wi стоят на главной диагонали этой матрицы: Wi = Xa. Поэтому отыскание «-разрядного ZFDm-кода Сх мощности N, для которого нижняя граница (4) для наибольшего порядка m оказывается максимальной, равносильно отысканию матрицы А размеров N Хп, для которой в матрице Л оказывается максимальным отношение наименьшего диагонального элемента (уменьшенного на единицу) к наибольшему внедиагональному элементу.
Следующая теорема дает условие, при выполнении которого порядок m ZFDm-кода достигает границы (4).
Теорема 6. Если при любом выборе Хтах разрядов в коде имеется не менее двух кодовых слов, содержащих во всех этих разрядах единицы, то этот код является ZFDm-кодом, и не является ZFDmwKodoM, где '
L *тах
Доказательство. В силу границы (4) рассматриваемый код является по меньшей мере ZFDm-кодом. С другой стороны, так как каждый набор из Хтах единиц встречается не менее, чем в двух кодовых словах, то любое кодовое слово имеющее вес Wi ^ (/и + 1 )Хтах можно покрыть дизъюнкцией некоторых m + 1 кодовых слов из числа оставшихся. Поэтому рассматриваемый код не может быть ЯГОт+ркодом.
Если некоторый код является ZFDm-кодом при значениях пг, превосходящих тот минимум, который обеспечивает граница (4), многочисленные возможности перекрытия все же исключаются при наличии кодовых слов, имеющих вес, меньший /иХтах+1. Следующая теорема показывает это для случая слов, имеющих вес, не превосходящий пг.
Теорема 7. Если вес какого-либо слова ZFDm-кода не превосходит tn, то в этом слове есть такая позиция, занятая единицей, в которой все остальные кодовые слова содержат нуль.
Доказательство. В противном случае указанное кодовое слово оказалось бы покрытым дизъюнкцией некоторых пг кодовых слов из числа остальных, и код не был бы ZF Dm-кодом.
Отсюда видно, что если все кодовые слова некоторого ZFDm- кода имеют веса w, ^ пг, то N ^ п, т. е. в этом случае мощность кода не превосходит длины кодового слова. Равенство N = п достигается лишь в том случае, когда все кодовые слова имеют вес 1.1)
Если лишь часть кодовых слов ZFDm-кода имеет веса, не превосходящие пг — скажем, w, ^ пг для i = l, 2Nx, то число N кодовых слов удовлетворяет границе
X ^тах\ ^тах Ч" 1 х ^тах Ч* 1 /
представляющей собой улучшенный вариант границы (2). Здесь принят во внимание тот факт, что по меньшей мере Nx из п разрядов используются в рассматриваемом коде лишь по одному разу. На самом деле, если вес какого-либо кодового слова не превосходит пг, то можно уменьшить этот вес до единицы без уменьшения порядка пг самого кода, ибо в таком кодовом слове есть позиция, занятая единицей, в которой все остальные слова содержат нуль. Аналогично, если вес какого- либо кодового слова превышает mXmax + L его можно уменьшить до указанной величины с сохранением порядка пг рассматриваемого кода, вычеркнув произвольным образом нужное число единиц. Если в результате такого вычеркивания значение Хтах уменьшится, описанный процесс можно повторить. Поэтому, если дан какой-либо ZFDm-код, то может быть построен другой, возможно отличный от исходного, ZFDm-код с теми же значениями параметров п, N и пг, и у которого вес к.’, любого кодового слова или равен 1, или удовлетворяет неравенствам пг + 1 Wl^ mXmax 4т 1-
Ясно, что при одновременном исключении из ZFDm-KOn,a любого кодового слова веса 1 вместе с соответствующим ему разрядом значения параметров п и N, отвечающие рассматриваемому коду, уменьшается на 1 при сохранении его порядка пг. Аналогичным образом любой ZFDm-код может быть пополнен любым числом кодовых слов веса 1 при одновременном увели-
') Вместе с тем, как будет показано в разд. VI, С/Ри-коды веса со = пг И мощности N >» п существуют.
(6)(6)(7)(7)(8)(8)
(6)
(6)
(7)
(7)
(8)
(8)
чении п и N на одну и ту же величину и сохранении порядка m рассматриваемого кода. Описанный процесс «линейного» уменьшения или увеличения может быть полезен при построении кодов заданной мощности с использованием других известных кодов; в то же время его неэффективность указывает на то, что при поиске более совершенных кодов следует исключать кодовые слова веса,1, допуская лишь веса из промежутка
т + 1 < wt < tnXmax + 1.
Если все кодовые слова имеют одинаковый вес w, то полученные выше границы (2) и (4) принимают вид
m>[(ty— 1)Дтах].
Благодаря Джонсону граница (5) допускает некоторые уточнения. В нашей записи она имеет вид
ГД Г п — 1 Г п — 2 Г Гп — Атах IL tt> L Ю — 1 1 Ш — 2 L' " ' L ® — Amax J
N ^К0ГДЗ > ^т»*
L Ф «Атах J
Далее, меняя ролями нули и единицы, имеем
N ^п, w, Атах) = N (п, п — w, n — 2w + Атах).
В том случае, когда Атах = 1, описанный выше процесс редукции весов приводит к получению весов, равных 1 и Атах + + 1=/п4-1, при отсутствии каких-либо других. «Линейное» исключение слов веса 1 приводит к получению равновесного кода, достигающего нижней границы (6): т = w— 1. Эти коды детально обсуждаются в разд. V.
Наконец, для равновесного 1/Дт-кода граница (1) может быть уточнена:
сумма, стоящая в правой части выражает число всевозможных «-разрядных двоичных векторов, веса которых лежат между w и mw. В общем случае для произвольного UDm-кода имеем границу .
чтобы убедиться в справедливости этого неравенства достаточно сравнить его правую часть с (1), и показать, что оно скорее выполняется при наличии кодовых слов веса wt < m, чем при их отсутствии.
ПОСТРОЕНИЕZFD-КОДОВ
Коды, основанные на обыкновенных двоичных кодах,исправляющих ошибки
Наш подход к проблеме построения ZFD-кодов состоит в том, чтобы искать среди известных семейств обыкновенных кодов с исправлением ошибок такие, которые нли обладают желаемыми свойствами, или могут быть модифицированы для придания им этих свойств. Этот поиск привел к нахождению ряда потенциально полезных семейств кодов произвольного порядка и произвольно большой мощности и длины. Несомненно, дальнейшие исследования приведут к построению еще лучших кодов, поскольку описываемые здесь коды по большей части допускают пополнение посредством дополнительных кодовых слов (величина N возрастает) без уменьшения величин пит.
При заданных пищ, описанный в разд. IV «линейный» процесс пополнения показывает, что максимальная мощность ZFD-кодд, Nmax(n, т), является строго возрастающей функцией от п, ибо '
А^тах(». т)>АГтах(п—1, /и)4-1.
Поэтому можно строить коды любой наперед заданной мощности или длины, отправляясь от ближайших к ним кодов, входящих в состав семейств, описываемых в данном разделе, и имеющих меньшие значения параметров. Аналогичным образом, нужные коды могут быть получены путем вычеркивания разрядов и кодовых слов из больших кодов. Кроме того,
Nmax (п, m)^Nmax(n, in'),
если т' tn.
Список «-разрядных двоичных векторов веса 1 (т. е. код, отвечающий единичной матрице Л=/ размеров «Хп) доставляет тривиальный пример ZFDm-кода с параметрами N = n = = т, не допускающего пополнения до кода большей мощности с сохранением длины и порядка. Для этих кодов достигается граница (1); они будут использоваться позднее для построения больших кодов методами каскадной композиции.
Один из обширных классов известных двоичных кодов — двоичные групповые коды [20], не могут быть использованы непосредственно в качестве дизъюнктивных кодов. Действи-
тельно, поскольку такие коды содержат нулевой вектор, оии не являются даже ZFDi-кодами; а лишь [//^-кодами. Более того, и после выкалывания нулевого вектора они в большинстве случаев не становятся ZFDj-KOflaMH,— они как правило, одновременно содержат векторы большого веса (наподобие 11 ... 1), и покрываемые ими векторы малых весов. Вместе с тем, если веса всех кодовых слов ZFDm-кода одинаковы, то величина перекрытия Хтах связана с величиной d, обозначающей наименьшее число разрядов, в которых могут различаться два кодовых слова, соотношением
С? = 2 (w ^max)'
Это позволяет переписать границу (6) в виде
m ^ [(да — 1 )/(да — d/2)].
Величина d— это минимальное расстояние, характеризующее корректирующие свойства групповых (и вообще любых) двоичных кодов, исправляющих ошибки. Поэтому для нахождения равновесных ZFDm-'^O№b с весом слов w нужно искать обыкновенные равновесные коды с исправлением ошибок, имеющие минимальное расстояние
2® (m — 1) + 2m "
Простой способ построения равновесных кодов, исправляющих ошибки, состоит в извлечении всех слов требуемого веса да из произвольного кода, исправляющего ошибки. Такая операция заведомо не уменьшает расстояния. В действительности, если минимальное расстояние исходного кода нечетно, то у полученного кода оно возрастет до ближайшего четного числа, поскольку два кодовых слова одинакового веса могут различаться лишь в четном числе разрядов. Рассмотрим пример. Известно, что число слов веса да в коде Хэмминга, исправляющем единичную ошибку (d = 3) при длине кодовых слов п = 2V—1, где v = 2, 3, 4совпадает с коэффициентом при хю в многочлене [21]
Р(х)=-^((1+х)"-Н(1 ~х)(1 -х2)""^^
— 1 I п^п-У^ , , п(п- 1)(д-3) 4 ,1 Т g24л Т .. ..
Стало быть, имеется N = п^п—1)/6 кодовых слов веса да =3, и все они могут быть использованы для построения ZFDm-KOna длины п. На деле минимальное расстояние d рассматриваемой равновесной части указанного кода равно 4, и в силу (10) построенный код имеет по меньшей мере порядок m = 2.
К сожалению, групповые коды по большей части не подходят для построения ZFDm-кодов, так как в силу известного свойства величина минимального расстояния группового кода совпадает с наименьшим весом ненулевых кодовых слов и, стало быть, d ^ w. Если указанный вес — четный, то (10) дает (при ty > 1)
m^[(w— l)/(ty — ty/2)] = [2 — 2/ty] = 1, а если он нечетный, то имеем
tn ^ [(ш — l)/(ty — (w + l)/2)j = 2.
Поскольку это единственные известные границы для величины tn, можно ожидать, что даваемая ими величина порядка близка к действительной, кроме тех случаев, когда число N слов веса w существенно меньше величины, которую дает граница (3).
Таким образом, для построения равновесных ZFD-кодов большого порядка следует или обратиться к небольшому числу известных несистематических кодов, или, избрав иной способ построения, отказаться от выбора подмножеств классических двоичных кодов, исправляющих ошибки. ZfD-коды, о которых пойдет речь ниже, строятся на основе ^-ичных кодов, исправляющих ошибки и комбинаторных блок-схем.
Б. Коды, основанные на ^-ичных кодах
Разряды кодовых слов ^-ичного кода, исправляющего ошибки, содержат символы, принадлежащие основному алфавиту из q символов [20]. При ^ = 2 имеем двоичный код — обычно используются символы 0 и 1. В данном разделе нас главным образом будут интересовать значения q, большие 2. Известно множество ^-ичных кодов с различными значениями длин nq и расстояний dq различной величины (dq—наименьшее число разрядов, в которых могут различаться два ^-ичных кодовых слова) [20,22].
Мы будем строить двоичные дизъюнктивные коды, отправляясь от ^-ичных кодов, путем замены каждого ^-ичного символа определенным двоичным набором. Чтобы упростить обсуждение, примем для начала, что каждый из этих q двоичных наборов имеет единичный вес при длине q. Таким образом, ^-ичные символы 0, 1, .... q—1 будут заменяться ^-разрядными двоичными векторами 100 ... 0, 010 ... 0, 000 ... 1, соответственно. (Обобщение на случай других двоичных наборов будет описано в следующем подразделе.) При этом ^-ичный код длины пч преобразуется в двоичный код длины
n = qnq, (11)
имеющий минимальное расстояние d = 2dq, вдвое превосходящее расстояние исходного ^-ичного кода. Мощность кода N = Nq остается той же самой. Поскольку полученный двоичный код будет равновесным веса w = nq (на каждый ^-ичный разряд приходится по единице), его порядок, как ZFD-кода дается границей (10), и равен
m > [(и, — 1)/(п„ — d,^.
В целях максимизации величины m при фиксированной длине nq и мощности Nq, будем искать ^-ичные коды с возможно большим расстоянием. Исследование ^-ичных кодов с достижимым максимальным расстоянием (ДМР) привело к открытию нескольких семейств таких кодов. В числе некоторых интересных свойств кодов ДМР было установлено, что такие коды являются систематическими — т. е. все nq разрядов могут быть разделены на kq (независимых) информационных разрядов и rq=n.q — kq (зависимых) проверочных разрядов.
Эти результаты изложены в работе [22].
В частности, установленная там граница для минимального расстояния
dq^fq-V 1
показывает, что для q-ичных кодов ДМР, удовлетворяющих границе dq = rq + 1, наибольший порядок равен
т = [(^—1)/(^ —1)1-(12)
Равенство в этом выражении есть непосредственное следствие теоремы 6 и того факта, что любой набор из Xmax = kq— 1 разрядов повторяется в кодовых словах в точности q раз. Вместе с тем, наличие kq независимых разрядов дает
Nq-N-q^(13)
кодовых слов. Указанные соотношения (11), (12) и (13) связывают параметры q, kq и nq ^-ичных кодов ДМР с параметрами п, N и т соответствующих им двоичных дизъюнктивных кодов.
Как известно, существование ^-ичных кодов МДР установлено для нескольких областей изменения параметров [22]; для нашей цели лучше всего подходит семейство кодов, для которых q есть степень простого числа, не меньшая 3, а значения kq и nq удовлетворяют неравенствам
А + 1 >nq^kq+ 1>3.(14)
Преобразуя такие коды в ZFD-ko№, можно заметить, что в силу (12) для предписанного значения т и любых конкретных значений q и kq, использование длины nq большей, чем 1 4* m^kq — 1) приводит лишь к увеличению величины п, в то
время как N и m остаются постоянными. С учетом указанного наименьшего значения nq, параметры описываемого семейства ZFD-кодов принимают вид (прн kq ^ 2):
/г = 9(1+т(^+1)),
,,5>
где q — степень простого числа, причем q ^ tn (kq — 1)^3. (При этом неравенство (14) выполняется автоматически.) Таким образом, установлено существование ZFD-кодов произвольно большой мощности и порядка, причем их мощность N экспоненциально растет с ростом длины п при фиксированном порядке пг.
Имеющееся здесь ограничение на величину q оказывает влияние на минимальные размеры построенных ZFD-кодов; например, если kq = 5, то q 4m, и при этом
n>4m(l 4-4т),
^X4m)5,
так что соответствующие двоичные коды при kq ^ 5 оказываются чрезвычайно длинными — заведомо, чересчур длинными, чтобы представлять значительный интерес для применений того типа, которые обсуждались в разделе II. Даже при kq = 4 коды разумных размеров существуют лишь при малых значениях наи- большого порядка m (2 или 3). В остальных случаях имеем: kq = 2kq = 3
■n = q(l+m)п = q (1 + 2m)'
N = q2N = q3
q^mq^2m
Для случая kq = 2 известны коды, для которых q уже не обязано быть степенью простого числа, однако величина nq должна лежать в более узком по сравнению с (14), промежутке
L (q) -|- 2 ^ nq ^ 3,
где L^q) обозначает число попарно ортогональных латинских квадратов порядка q. Снова, используя наименьшее значение nq, получаем те же выражения для п и N, а величина q должна теперь выбираться настолько большой, чтобы выполнялось неравенство
L(q)^m — 1.
Известно, что величина L(q') не превосходит q—1, и не меньше, чем уменьшенный на единицу наименьший делитель q, имеющий вид степени простого числа [23]; например, А(12)= = LI22-3)^2 Lfl2)^ 11. Если само а есть степень простого.
эти единицы совпадают и получается оценка, упомянутая выше: q ^ т.
Если kq = 2 и т = 2, то nq = 3 и нужен лишь один латинский квадрат; любое значение q ^ 3 подходит для построения соответствующего ZFDi-кода, имеющего вес 3, длину n = 3q и мощность N = q2.
Построение ^-ичных кодов МДР описано в работе Синглтона [22]. Здесь достаточно отметить, .что указанное семейство кодов включает в себя в качестве частных случаев ^-ичные коды Рида — Соломона [24] (nq = q—1), ^-ичные коды «с проверкой на четность» (г, = 1), простые коды с повторением (kq = 1), часть семейства ^-ичных кодов Голея [25], исправляющих единичную ошибку (г, —2, nq = q2—1), и несколько кодов, связанных с ортогональными латинскими квадратами ^кч=2\ [26].
Все описанные ЯЕО-коды, основанные на ^-ичных кодах, определенно являются малоэффективными в том отношении, что все они представляют собой коды с разбиением на подблоки, т. е. каждое двоичное кодовое слово, или блок, оказывается разбитым на секции (длины всех секций одинаковы), так что каждая секция кодируется сама по себе. Каждая из w секций имеет длину riq и содержит одну-единственную единицу.
В общем случае такой код допускает пополнение без уменьшения его минимального расстояния (а стало быть, и порядка), путем добавления к нему слов, содержащих в каждой из секций более одной единицы. Например, ZFDritoR, основанный на тер-
парном коде с параметрами kq = 2,
nq = 3 содержит N = q2 = 9
кодовых слов
0 0 10 0 1
0 0 1
0 0 10 10
1 0 0
0 0 110 0
0 1 0
0 1 00 0 1
1 0 0
0 100 10
0 1 0
0 1010 0
0 0 1
1 0 00 0 1
0 1 0
1 0 00 10
0 0 1
10 010 0
1 0 0
Без увеличения длины п = ^q =9, или уменьшения т, можно добавить еще три кодовых слова
111000000
ООО111ООО
ООО 000111
так, что получится ZFDi-код мощности N = 12.
Коды, основанные на каскадной композициис 9-ичными кодами
В предыдущем разд. УБ предполагалось, что каждый из символов ^-ичного кода представляется двоичным набором длины q единичного веса. Однако нет причин, которые могли бы помешать использованию более общих представлений q символов исходного алфавита — достаточно потребовать, чтобы множество используемых двоичных наборов само являлось /^От-кодом. Таким образом, можно допустить использование любых q слов произвольного ZFDm-кода, мощность которого превосходит q. Поскольку длина такого кода может оказаться меньшей q разрядность п слов полученного таким образом двоичного каскадного кода может оказаться существенно меньшей qr<», т. е. длины кодов, рассмотренных ранее.
Описанный способ представления ^-ичных символов может быть с успехом использован для каскадной композиции, при которой небольшой ZFD-коц с параметрами nQ, No и т0, преобразуется в больший ZFD-код. с параметрами п\, N\, m\ с использованием поразрядного ^-ичного кода, имеющего kq информационных разрядов. Эти параметры связаны между собой следующими соотношениями, обобщающими (11), (12) и (13);
гц = nQnq,
Nx = qk<,
m, = min (m0, mq\
где q— степень простого числа, удовлетворяющая неравенствам nq — 1 q Nq, а
^ = [(п,-1Ж-1)].
При выборе значения nq достаточно потребовать выполнения условия mo ^ mq = т\ = т, откуда получаем
причемпричем(16)(16)Л1 = п0(1 + m(kq — 1)),Nt-qS
причем
причем
(16)
(16)
mAkq— X^q^No-
Если в качестве меньшего ZFD-кода выбирается равновесный код веса 1, то n0 = No = то = q, и мы приходим к семейству кодов (15), рассмотренному в разд. У.Б.
Отправляясь от простого равновесного кода веса 1, можно итерировать каскадные композиции, сохраняя порядок tn, для построения произвольно больших ZFD-кодов.1)
На различных стадиях итерации могут использоваться различные <7-ичные коды.
При использовании однотипных <7-ичных кодов (различающихся лишь величиной q, которая заменяется на q' = Nx, вторая итерация кода (16) дает код с параметрами
n2 = n0(l + m(kq — I))2,'
м2 = А причем
■ m^kq— l)^q = Nx = qkq. ■
(Очевидно, если q— степень простого числа, то q' = qkq — также степень простого.) После осуществления с итераций каскадной композиции над исходным равновесным кодом веса 1, имеем
пс = </(! + m(kq — 1))с,-
причем, как и ранее, q— степень простого, удовлетворяющая неравенству q> m^kq — 1).
Число итераций с можно оптимизировать по отношению к q и qq, заметив, что замена с на с—1 может быть компенсирована заменой q на qkq при сохранении величины Nc постоянной. Эта замена изменяет длину кода до величины qkq (1 + тХ X^kq — 1))с-1, позволяя увеличивать ее (если с слишком мало) или уменьшать (если с слишком велико), в соответствии с тем, оказывается ли величина qkq-xK\ + m (kq — 1)) большей или меньшей 1. Таким образом, для заданных значений m и N, при выборе </ можно опираться не только на нижнюю, но и на верхнюю оценку
1 + tn <kq - 1)< qkq~' <\+m(kq- lfq.
При kq = 2 эти оценки имеют вид
'1 + tn ^ q ^ (1 + inf,
а при kq = 3
(1 -V2tny,2<qC^ ШЖ-
(В последнем случае нижняя граница выполняется автоматически, поскольку q 2tn.)
При ^ = 2 описанный метод сохраняет свою силу даже в том случае, когда q не является степенью простого числа, если только как и ранее L(q)^ пг—1. Справедливость этого утверждения вытекает непосредственно из того факта, что Л(</2)^ ^ /-(</). Последнее неравенство без труда обосновывается следующей конструкцией). Пусть Sb ..., S^, .... Sl— множество L попарно ортогональных латинских квадратов порядка q, записанных в виде матриц с элементами 0, 1, 2q—1 и s$- общий элемент матриц. Тогда можно построить множество Ть ..., Тк, ..., TL, состоящее из L попарно ортогональных латинских квадратов порядка q2, каждый из которых имеет вид
Т* =
где Т^ — матрица размеров q^q, имеющая вид ^^S^qs^J,
где, наконец, 1—матрица размеров q^q, сплошь состоящая из единиц.
Г. Коды, основанные на блок-схемах
Комбинаторные блок-схемы, используемые в статистике, представляют собой многопараметрическое семейство комбинаторных конфигураций. Блок-схемы удобно изображать при помощи матриц из нулей и единиц.
Матрица инцидентности S, изображающая сбалансированную неполную блок-схему (BIB) с параметрами (и, k, b, г, X), имеет b строк и и столбцов; в каждой строке содержится ровно к единиц, а в каждом столбце — ровно г единиц, причем скалярное произведение любой пары различных столбцов в точности равно X.
Как известно, при этом должны выполняться соотношения
ur = bk и к (г — 1) = X (и — 1).
При построении равновесного кода роль кодовых слов играют либо строки, либо столбцы матрицы S. Если роль кодовых слов играют столбцы матрицы S, то матрицей кода будет
Д = $'
— матрица, транспонированная к S, так что
n = b, N = и, w = r, \м = X = Хтах.
Поскольку для В/В-схемы и ^ ft, то, стало быть, N ^ п—получается неинтересное семейство дизъюнктивных кодов.
Если роль кодовых слов выполняют строки матрицы S, то
Л = 5, так что
n = v, N = b, w = k, Xz/^pmax, где |imax — наибольшее скалярное произведение пар строк матрицы S. Стало быть,
/7? ^ [(ш О/М^ах] = К^ О/Ншах]-
К сожалению, в общем случае для В/В-схем не известны простые соотношения, связывающие величины Хтах и Цтах. Если X = 1, то, как нетрудно убедиться *) pmax = 1, так что
tn = w — 1 = к — 1;
в то же время, если Х> 1, то в общем случае можно лишь утверждать, ЧТО 2 ^ Цтах к.
Теория блок-схем далеко не закончена, хотя известны конструкции ряда семейств и отдельных схем [27], [28]. К сожалению, значения параметров, представляющие практический интерес для построения дизъюнктивных кодов по большей части выходят за рамки значений, найденных в табулированных для статистических применений. Исключение, в основном, составляет случай X = 1, для которого известны схемы с параметрами
(V, к, г, b, ^=(п, w, M =1);
'' к ® — 1w (w — 1)) *
а также случаи
к = 3: у=1 или 3(mod6), ft = г (2г 4-1)/3, г = (и — 1)/2, так что w = 3, п—\ или 3(mod6),
jV = n(n—1)/6, tn = 2;
и
к = 4: и = Зг — 1, b = ти/4, г = степени простого числа, так что [у = 4, (/г — 1)/3 = степени простого,
N = n(n—1)/12, щ = 3.
■) Равенство и максимальность этого значения гп вытекают непосред* (твеннно из теоремы Q.
Отметим, что указанные коды достигают границы (5), и поэтому не могут быть пополнены с сохранением длины и веса. (На самом деле можно показать, что любой ZFDm-код., достигающий указанной границы эквивалентен некоторой В/В-схеме.) Семейство блок-схем случая А = 3 носит название систем троек Штейнера [27], и имеет многочисленные приложения в теории кодирования [26].
ПОСТРОЕНИЕ UD-КОДОВ
СТО-коды, основанные на проверочных матрицах
Разумеется, UD-коды могут быть получены из ZfD-кодов того же порядка (теоремы 3 и 4), но в то же время имеется преимущество, дающее возможность воспользоваться менее ограничительными условиями, сформулированными в теореме 4 для построения (70-кодов, превосходящих по мощности ZFD-ko- ды того же порядка и длины. Ниже описаны три различных перехода к построению ОО-кодов небольших порядков. Некоторые из них оказываются довольно эффективными.
Как известно, матрица Н1, транспонированная к проверочной матрице Н обыкновенного двоичного кода, исправляющего е ошибок, обладает тем свойством, что любое подмножество ее строк и всевозможные их суммы, содержащие не более е слагаемых, не содержат повторений [29]. Это — почти в точности то самое свойство, которому должна удовлетворять матрица А UDc-kom, с той только разницей, что здесь фигурирует сложение по модулю 2, в то время как для определения дизъюнктивных кодов фигурирует булево сложение, т. е. дизъюнкция. По этой причине матрица Н1 не может быть прямо использована в качестве матрицы А дизъюнктивного кода порядка m = е, но может оказаться небесполезным поискать такой способ модификации матрицы Н(, чтобы свойство разнозначности сумм сохранялось и в случае булева суммирования.
Ниже мы указываем такие модификации для случаев е=2 и е = 3, получая соответственно семейства UD^ и (7О3-кодов.
Для случая е = 2 каждый разряд матрицы Н‘ дополняется в той же строке его дополнением по правилу■
0-*01, 1->10.
Эта подстановка может быть осуществлена, например, посредством введения матрицы
где R1 представляет собой инверсию матрицы Н\ Сравним таблицы суммирования элементов матриц Н1 и А:
ф
0
1
V
01
10
0
0
1
01
01
11
1
1
0
10
11
10
Очевидно, булева сумма двух любых строк матрицы А однозначно преобразуется в соответствующую сумму строк матрицы Н1 по правилу
00-^0, 10—*0, 11-И.
Аналогично, любая строка матрицы А однозначно преобразуется в строку матрицы Н1 по правилу 0 1 ->-0, 1 0-> 1.
Двойственная интерпретация сочетания 10 не приводит к каким-либо коллизиям, поскольку всегда можно отличить строку матрицы А от дизъюнкции строк — действительно, строки А не содержат сочетаний 11, в то время как дизъюнкции строк непременно содержат сочетания 11, возникающие по той причине, что различные строки всегда различаются хотя бы в одном разряде.
Таким образом, если матрица Н* отвечает проверочной матрице кода, исправляющего 2 ошибки, то строки соответствующей матрицы А образуют 1/£)2-код.
Коды, входящие в семейство кодов Боуза — Чоудхури [30] при е = 2 и любом натуральном ц ^ 2 имеют не более 2ц проверочных разрядов при длине 2Ц— 1. Соответствующая матрица Н* имеет 2^ — 1 строк и не более 2ц столбцов. Поскольку А содержит вдвое больше столбцов, имеем п ^ 4ц и ^ = 2^—1. Таким образом, для любого значения п, кратного 4, существует UDi-код. мощности N =2п/4— 1. Экспоненциальный рост мощности этих кодов показывает, что при достаточно больших п они оказываются мощнее всех найденных ранее /ГОг-кодов (а стало быть и (У£)2-кодов).
Для случая е = 3 нужно каким-то образом отразить в матрице А соотношения, связывающие столбцы матрицы Н1, так как любая простая подстановка вроде 0-*а, 1->0 уже не может адекватно описать различие между двойными и тройными суммами, поскольку
0 ф 0 ф 1 = 1, а 0 ф 1 ф 1 = 0, в то время как
aVaVp = aVpVp, 1 ф 1 = 0, а 1 ф 1 ф 1 = 1, в то время как 0V0 = 0V0V0-
Можно показать, что в том случае, когда каждая пара столбцов матрицы Н* представляется в матрице А в соответствии
с правиломс правилом00100001-^0100
с правилом
с правилом
10-^ 0010
110001
и матрица Н1 соответствует коду, исправляющему три ошибки, то строки полученной описанным образом матрицы Л образуют UD3-koд.
Кодам Боуза — Чоудхури [30] при е = 3и любом натуральном ц>3 соответствует матрица Н1, имеющая 2^—1 строк и не более Зц столбцов. Стало быть, пары столбцов матрицы Н* могут быть выбраны не более, чем (3^) способами, и число столбцов матрицы А равняется
/ Зр. \
'2 J = 6H(3p — 1),
а число строк есть
N = ^- 1.
Этот код оказывается малоэффективным, если значения п и N относительно невелики, поскольку N > п лишь при ц 13 (когда «^ 2964), но является привлекательным с асимптотической точки зрения:
N > £лбщ8.
Примерно такая же скорость роста наблюдается для ^-ичных 2гО3-кодов, получаемых при помощи итерированной каскадной композиции при kq = 2 и q = 1 -f- m = 4, для которых
N = 2^.
Б. Коды веса 2, основанные на графических конструкциях
В силу теоремы 6 наилучшие равновесные коды веса w = 2 не могут быть 2ГО2-кодами, но могут быть 1Л)2-кодами. Ниже мы описываем два семейства таких кодов, и показываем, что их мощность N растет асимптотически как п3/2.
Рассмотрим сначала случай кодов с разбиением на подблоки, у которых каждая единица располагается в своей секции «-разрядного кодового слова. Пусть данное кодовое слово содержит свои две единицы соответственно в t-м разряде левой секции, и в /-м разряде правой секции. Тогда весь код удобно изображать при помощи двоичной матрицы G с общим элемец-
том gih который равен 1 в том и только том случае, когда в рассматриваемый код входит кодовое слово, содержащее единицы в t-м разряде левой и /-м разряде правой секций соответственно. Очевидно, мощность N рассматриваемого кода равна общему числу единиц в матрице G.
Чтобы удовлетворялось условие UD^, никакие две единицы в матрице G не должны занимать той же пары строк и столбцов, какие занимают другие пары единиц. Иначе говоря, никакие две строки матрицы G не могут содержать пар единиц в одних и тех же столбцах. Таким образом, мы будем искать такие двоичные матрицы G, которые при фиксированном полупериметре л содержат наибольшее число N единиц, при условии, что скалярные произведения любых двух различных строк не превосходит единицы.
Этому условию удовлетворяет матрица В/В-схемы [27] с параметрами (и, k, b, г, X), для которой п = и + b, N = кг, X = 1. В пределах существования этих схем, величина N должна быть максимизирована при постоянном значении п и значении и/b = = к,т по возможности близком к 1. Поэтому для достижения полной регулярности G должна быть матрицей симметричной В/В-схемы:
и = b и к = г, откуда п = 2и и N = к2.
Такие симметричные блок-схемы, как известно, существуют при значениях к, для которых к—1 является степенью простого числа [27]. Соотношения, связывающие параметры блок-схем дают
/г = 2(62-& + 1),
N = k(k2-k +1). . ■
Таким образом для указанных значений к существуют равновесные с ^£>2-коды с разбиением на подблоки, имеющие вес 2 и мощность
W = |(l +V^T).
Асимптотически,
Рассмотрим теперь случай, когда обе единицы не обязательно должны располагаться в предписанных секциях кодового слова. Пусть каждому из п разрядов кодового слова отвечает вершина некоторого «-вершинного графа. Тогда каждому кодовому слову соответствует (неориентированное) ребро, соединяющее пару вершин, отвечающих положению единиц в этом
кодовом слове. В этих терминах требуется расположить в «-вершинном графе наибольшее число N ребер так, чтобы выполнялось следующее условие, соответствующее условию UD^: никакая пара ребер не должна быть инцидентна тому же множеству вершин, которому инцидентна какая-либо другая пара ребер.
Рис. 1Рис. 1
Рис. 1
Рис. 1
Это означает, что не должно быть подграфов, изображенных на рис. 1. Стало быть, исключаются циклы длины 4 и 3, а циклы длины 2 (повторяющиеся кодовые слова) и циклы длины 1 (кодовые слова веса 1) исключены из рассмотрения с самого начала. Таким образом, мы ищем максимальные «-вершинные графы, не содержащие циклов длины меньшей 5. Достаточность
аа
а
а
этого условия очевидна: любой n-вершннный граф, у которого длина кратчайшего цикла не меньше 5, порождает UDi-код, веса 2.
Вполне регулярные графы рассматриваемого типа ранее изучались А. Хоффманом и Р. Синглтоном [31], и были названы «графами Мура диаметра 2». Для степени t таких графов — т. е. числа ребер, инцидентных каждой вершине, должны выполняться некоторые соотношения, которые исключают все возможности, кроме четырех следующих:
/ = 2,
п = 5,
М = 5,
/ = 3,
п = 10,
N = 15,
/ = 7,
п = 50,
N = 175,
/=*57,
п = 3250,
М = 92 625.
Первые два из указанных графов изображены на рис. 2, третий приводится в работе Хоффмана, а четвертый случай остается неопределенным. Параметры кода связаны со степенью графа соотношением п=1+/2, Л/= и//2 =/(1 +/2)/2, так что N = п л^п — 11*2. Для промежуточных значений п, лежащих между указанными, ближайший вполне регулярный граф может быть уменьшен путем отбрасывания вершин вместе с инцидентными им ребрами, так, чтобы на каждом шаге отбрасывалось
Таблица 1
п
N
п
N
5
5
30
70
10
15
35
95
15
25
40
120
20
35
45
145
25
50
50
175
как можно меньшее число ребер. Параметры некоторых из полученных таким образом промежуточных кодов приведены в табл. 1. В любом случае, имеем асимптотический рост
— это немного лучше, чем для соответствующих ^О2-кодов с разделением на подблоки, но намного меньше, чем для UD2- кодов, основанных на проверочных матрицах обыкновенных кодов, исправляющих 2 ошибки, описанных в предыдущем разделе. Коды табл. 1 также немного слабее простейших «у-ичных и блок-схемных /ГОг-кодов разд. V.
Попарная каскадная композиция 1/Д2-кодов
В разд. V было показано, как из известного Х/^Ог-кода может быть получен трехсекционный ZFD2-koh с разделением на подблоки, имеющий утроенную длину. Кодовые слова трехсекционного кода имеют вид
(ai)(6i)(cn), (Ог)(62)(Си) и т. д.,
причем две первых секции — подслова ai, а2, ...и 6Ь Ь2, ... выбираются независимым образом из числа слов меньшего кода. Третьи секции — подслова сп, с22, ... выбираются из того же кода в соответствии с некоторым латинским квадратом, причем строки квадрата соответствуют первым секциям кодовых слов, а столбцы — вторым. Таким образом, из данного «-разрядного ZFD2-Kon.a, содержащего N слов можно получить новый ZFD2- код, имеющий Зи разрядов и № слов.
Покажем теперь, что большие UD2-ko№ можно аналогичным образом строить из меньших (УУ)2-кодов, с той только разницей, что длина третьего подблока может быть сделана существенно меньшей, чем требуется в случае ZFDi-кодов. Таким образом могут быть построены УУО2-коды, чья мощность N намного превосходит мощность /ГОг-кодов той же длины.
Если подслова, стоящие в двух первых секциях, а\, аг, ... и 61, 62, • • • взяты из (УОг-кода, то первый и второй подблоки дизъюнкции вида
(#1 V ^г) (6[ V 62)(Сц V ^22)
можно по отдельности декодировать и определить их составляющие.
При этом однако возникают две интерпретации
(«J (6j) (Сц) (ai)(62)(C|2)MtW И (a2)(6|)(c2i).
которые невозможно отличить друг от друга без участия третьего подблока, устроенного подходящим образом. Поэтому потребуем выполнения условия Си V С22 =# С12 V с2ь Это условие можно выразить естественным образом, располагая все множество подслов, отвечающих третьим секциям, в матрицу С размеров N X N, точно так, как это делалось для латинского квадрата. Индексы строк и столбцов отвечают выбору соответствующих подслов а, и 6/. Таким образом, каждый из элементов матрицы С представляет собой третью секцию одного из У2 кодовых слов, полученных описанным способом.
Указанное выше условие можно записать в виде c^V сы#1 си V Ckj, i =# к, j /; оно должно выполняться для любой четверки элементов, образующих в рассматриваемой матрице прямоугольную подматрицу. Иными словами, для любой 2X2- подматрицы матрицы С, диагональные дизъюнкции должны быть различны.
Если ct! сводится к одному двоичному разряду, то наибольшая матрица С, удовлетворяющая этому условию, как легко видеть, есть единичная матрица размеров 3X3:
/Ю0\
С, =| 010\100/
Отправляясь от 3-разрядного равновесного кода веса 1 (это, разумеется, (/Ог-код), содержащего три кодовых слова
00 1
О 1 0
100
и матрицы З2 — 9 слов
Сь получаем 7-разрядный U Da-код, содержащий
0 0 10 0 11
0 0 Г0 100
0011000
0100010
0 100 101
0 1010 00
'1 0 00 0 10
1 0 00 1 00
1001001
Теперь требуется найти 9 X 9-матрицу С2, чьи элементы удовлетворяли бы указанному выше диагональному ограничению на подматрицы. В общем случае, требуется преобразовывать 3" X Зр-матрицу Ср в Зр+* X Зр+1-матрицу Ср+1, р = 1, 2, ..., таким образом, чтобы СР+1 удовлетворяла нужному ограничению на подматрицы, если ему удовлетворяет матрица Ср.
С этой целью предположим, что дана матрица Ср, удовлетворяющая требуемому ограничению и такая, что для нее существует разбиение на 9 частей вида
/X Y Z\
Ср = | Z X У ,kr z х)
где X, У и Z представляют собой Зр-1 X Зр-’-подматрицы с векторными элементами. Матрица Сь очевидно, обладает таким строением. Пусть IX обозначает матрицу, которая получается из матрицы X путем приписывания ко всем ее векторным элементам (скажем, к их левым концам) дополнительного разряда, содержащего двоичную 1; аналогично определяются ОХ, 1 У, ОУ, YZ и 0Z. Покажем теперь, что матрица
■ ИХ ЮУ
ioz; ЮУ1, их1
00Х 01У 00Z
00Z 00Х 01У
!ООХ ООУ
01Z"
ООУ
ООХ
10Z
ЮУ
их 10Z
{01Z
! ооу
ООХ
01Z
01У
00Z
ООХ
00Х 00У
oiz [
их
ЮУ
10Z
|оох
01У
00Z
Ср+1 —
01Z
ООХ
ооу!
10Z
их
ЮУ
!ooz
ООХ
01У
00У
01Z
00Х]
ЮУ
10Z
их
;oiy ooz
ООХ
ООХ
01У
00Z 1
ООХ
ООУ 01Z
1 ИХ
ЮУ
10Z
00Z
ООХ
01У'
01Z
ООХ ООУ
; ioz
их
ЮУ
_01У
00Z
оох;
00У 01Z ООХ
;юу
10Z
их.
имеющая такое же строение, как матрица Ср, также удовлетворяет диагональному ограничению на подматрицы.
Прежде всего отметим, что внутри каждой из девяти частей, на которые разбивается матрица Ср+А все двоичные векторы сц имеют одинаковые части, отвечающие подматрицам X, У и Z. Поэтому любая 2 X 2-подматрица, которая целиком попадает в какую-либо из указанных девяти частей, заведомо удовлетворяет требуемому ограничению. Больше того, любая 2 X 2-подматрица, чьи углы попадают в различные части, будет также удовлетворять этому ограничению — и по той же причине, кроме, разве что тех случаев, когда какая-нибудь горизонтальная или вертикальная пара ее углов попадает в соответственные строки или столбцы различных частей. Однако в таком случае добавленные разряды обеспечивают выполнение требуемого ограничения, создавая в соответствующих позициях точно такое же расположение разрядов, какое имелось в матрице Сь Первый из добавленных разрядов обслуживает тот случай, когда все четыре угла подматрицы попадают в соответственные позиции четырех разных частей. Второй из добавленных разрядов обслуживает тот случай, когда подматрица целиком лежит внутри трех смежных частей, располагающихся вдоль одной линии, а левая и правая пары ее углов (или верхняя и нижняя пары углов) попадают в соответственные столбцы (или строки, соответственно) этих трех частей. .
Таким образом, все подматрицы удовлетворяют диагональному ограничению, и, стало быть, Ср+А— подходящая матрица для 1/£>2-кода.
Всякий раз, когда р увеличивается на единицу, к сц добавляется два двоичных разряда, стало быть, элементы Ср содержат 2р— 1 двоичных разрядов. Таким образом, для каждого натурального р описанная итерация каскадных композиций порождает код (7£>2-код мощности N и длины п(р), дающихся выражениями
М = /, п{р) = 2п(р-\) + (2р-\),или га(р) = 6-2р — (2р + 3). При этом асимптотически
N ~ Зп/6.
Аналогичное применение итеративной каскадной композиции дает ZFDi-коды, мощность которых также равна N = ^, но при длине п(р) = 3п(р—1), так что п(р) = Зр+*, Таким образом, для соответствующих значений р имеем
^31/2.™^ 2,
что намного меньше соответствующего значения для UDa-кодов,
Обсуждение
В разд. I—III мы показали, как новый класс кодов — двоичные дизъюнктивные коды могут быть использованы в системах хранения информации и связи, исследовали некоторые свойства этих кодов и описали ряд способов их построения, охватывающих широкий круг значений параметров. При этом первоначальном исследовании ZFD- и UD-кодов остались незатронутыми проблемы, связанные с их реализацией посредством кодирующих и декодирующих логических схем, и с построением по настоящему оптимальных кодов. Было бы также полезно уметь использовать часть кодового расстояния этих кодов для защиты от возможных ошибок, даже если бы ради этого пришлось уменьшить порядок кода, и изучить соотношения между степенью обнаружения ошибок и порядком кода.
В области теории было бы желательно иметь лучшие верхние границы для величины N как функции пит, как, впрочем, и лучшее понимание внутренней взаимосвязи ZFD- и t/D-кодов.
Сравнение известных ZFDkoaob показывает, что среди коротких кодов наибольшими являются те, которые основаны на блок-схемах, а среди более длинных наибольшие — те, которые основаны на ^-ичных кодах, исправляющих ошибки. Поскольку все коды, основанные на блок-схемах, равновесны, эти результаты позволяют предположить, что коды большого веса, основанные на блок-схемах, если такие существуют и могут быть найдены, должны оказаться лучше прочих. Разумеется, тот факт, что каскадные коды, основанные на ^-ичных кодах, являются кодами с разделением на подблоки и почти во всех случаях допускают пополнение, указывает на их малую эффективность, которая может быть преодолена путем более равномерного распределения единиц внутри кодового слова, так, как это имеет место для кодов, связанных с блок-схемами.
Сравнение ZFD- и UD-kojlob с вероятностными дизъюнктивными кодами наталкивается на те же трудности, с которыми приходится иметь дело при сравнении обычных детерминированных и вероятностных кодов, исправляющих ошибки. Следовало бы, приняв некоторый тип статистики канала (здесь — статистики использования дескрипторов), приписать многочисленным сочетаниям ошибок различных типов (здесь, возможным несовпадениям запрашиваемых дескрипторов с дескрипторами документов) соответствующие вероятности ошибки (ложного соответствия). При рассмотрении дизъюнктивных кодов ситуация еще больше осложняется тем, что для действительного осуществления подобного сравнения — путем аналитических вычислений или моделирования, необходимо учесть влияние других параметров — размеров информационного массива и соот-
ношения между числом запрашиваемых и документальных дескрипторов. Кроме того, в применениях, связанных с информационным поиском, на осмысленность результата весьма критическим образом влияют некоторые предположения, которые вовсе не соответствуют практике (одинаковое использование дескрипторов и отсутствие внутренних зависимостей между ними).
Авторы глубоко признательны д-ру Бернарду Элспасу, чей давний интерес и усилия, направленные на изучение класса кодов, предположенного в данной работе, составили существенный вклад в осуществленные исследования. Он также оказал прямую помощь при получении некоторых доказательств и результатов, касающихся равновесных и ^-ичных кодов.
ЛИТЕРАТУРА
Schultz С. К. An application of random codes for literature searching, in «Punched Cards, Their Applications to Science and Industry», Casey R. S., et al., Eds., Reinhold Publishing Corp., New York, N. Y., ch. 10, seo also chs. 18 and 23; 1958.
Mooers C. N. The Application of Simple Pattern Inclusion Selection to Large-Scale Information Retrieval Systems. Rome Air Development Center, Rome, N. Y., Rept. No. RADC-TN-59-157, Zator Technical Bulletin No. 131; April, 1959. See Bulletin No. 120 for additional references to Zatocoding.
Taube M. Superimposed Coding for Data Storage. Documentation. Inc., Washington, D. C., Tech. Rept. No. 15; September, 1956.
Frei E. H. and Goldberg J. A method for resolving multiple responses in a parallel search file. IRE Trans, on Electronic Computers, vol. ES-10, pp. 178—722; December, 1961.
Brenner C. W. and Mooers C. N. A case history of a Zatocoding information retrieval system, in «Punched Cards, Their Application to Science and Industry», Casey R. S., et al., Eds., Reinhold Publishing Corp., New York, N. Y., ch. 15; 1958.
Goldberg J., et al., Multiple Instantaneous Response File. Stanford Research Institute, Menlo Park, Calif., Final Rept., SRI Project 3101, Rept. No. RADC-TR-61-233; August, 1961.
Rosen S. A. An approach to a distributed memory. Proc. 1961 Symp. on the Principle of Self-Organizing Mathines, Pergamon Press, Inc., New York, N. Y„ pp. 425—444; 1962..
Singleton R. C. Random Selection Rates for Single-Field Superimposed Coding. Stanford Research Institute, Menlo Park, Calif., Suppl. A to Quarterly Rept. 4, Contract AF 30 (602) —2142; November, 1960.
Wise C. S. Mathematical analysis of coding systems, in «Punched Cards, Their Application to Science and Industry», Casey G. S., et al, Eds., Reinhold Publishing Corp., New York, N. Y., ch. 21; 1958.
Mooers C. N. The Exact Distribution of the Number of Positions Marked in a Zatocoding Field, Zator Co., Boston, Mass., Zator Technical Bulletin No. 73; 1952.
Orosz C. and Takacs L. Some probability problems concerning the marking of codes into the superposition field. /. Documentation, vol. 12, pp. 231—234; December, 1956.
Stiassny S. Mathematical Analysis of Various Superimposed Coding Methods. IBM Research Center, Yorlrtown Heights, N. Y., IBM Res. Rept. No. RC-103; April, 1959.
[13][14][15][16][17][18][19][13][14][15][16][17][18][19][20][21] [22][23][24][25][26][27][28]29'зоЗГ[32*][33*][34*][20][21] [22][23][24][25][26][27][28]29'зоЗГ[32*][33*][34*]Shannon С. Е. and Weaver W. Mathematical Theory of Communications. University of Illinois Press, Urbana; 1949.
[13]
[14]
[15]
[16]
[17]
[18]
[19]
[13]
[14]
[15]
[16]
[17]
[18]
[19]
[20]
[21] [22]
[23]
[24]
[25]
[26]
[27]
[28]
29'зоЗГ
[32*]
[33*]
[34*]
[20]
[21] [22]
[23]
[24]
[25]
[26]
[27]
[28]
29'зоЗГ
[32*]
[33*]
[34*]
Elias P. Error-free coding. IRE Trans, on Information Theory, vol. IT-4, pp. 29—35; September, 1954.
Costas J. Poisson, Shannon, and the radio amateur. PROC. IRE, vol. 47, pp. 2058—2068; December, 1959.
Cohn D. L. and Gorman J. M. A code separation property. IRE Trans, on Information theory (Correspondence), vol. IT-8, pp. 382—383; October, 1962.
Minnick R. C. and Ashenfurst R. L. Multiple-coincidence magnetic storage systems. I. Appl. Phys., vol 26, pp. 575—579; May, 1955.
Minnick R. C. Simultaneous matrix storage systems. Proc. International Symp. on the Theory of Smitching, Harvard University Press, Cambridge, Mass., pt. II, pp. 144—148; April, 1957.
Singleton R. C. Load sharing core switches based on block designs. IRE Trans, on Electronic Computers, vol. EC-11, pp. 346—352; June, 1962. Minnick R. C. Magnetic core access switches. IRE Trans, on Electronic Computers, vol. ES-ll, pp. 352—368; June, 1962. Neumann P. G. On the logical design of noiseless load-sharing matrix switches. IRE Trans, on Electronic Computers, vol. EC-11, pp. 369—374; June, 1962. See also the references and bibliographies of Singleton, Minnick, and Neumann.
Peterson W. W. Error-Correcting Codes. Mass. Inst. Tech. Press, Cambridge, Mass., and John Wiley and Sons, Inc., New York, N. Y., p. 30 ff; 1961.
Ibid., pp. 67—70.
Singleton R. C. Maximum distance <?-nary codes. IEEE Trans, on Information Theory, vol. IT-10, pp. 116—118; April, 1964.
Mann H. B. Analysis and Design of Experiments. Dover Publications, Inc., New York, N Y., chs. 7, 8; 1949.
Reed I. S. and Solomon G. Polynomial codes over certain finite fields. J. Soc. Indus. Appt. Math., vol. 8, pp. 300—304; June, 1960.
Golay M. J. E. Notes on digital coding. PROC. IRE (Correspondence), vol. 37, p. 657; June, 1949.
Kautz W. H. and Elspas B. Single-error-correcting codes for constantweight data words, submitted to IEEE Trans, on Information Theory. Hall M., Jr., A survey of combinatorial analysis, in «Some Aspects of Analysis of Probability», Kaplansky I., et. al., John Wiley and Sons, Inc., New York, N. Y., 1958.
Cochran W. G. and Cox G. M. Experimental Design. John Wiley and Sons, New York, N. Y., 1957, Peterson, op. cit., p. 33.
Peterson, op. cit., p. 162 ff.
Hoffman A. J. and Singleton R. R. On Moore graphs with diameters 2 and 3. IBM J. Res. and Develop., vol. 4, pp. 497—504; November, 1960. Малютов M. Б. Математические модели и результаты в теории отсеивающих экспериментов, в сб. Вопросы кибернетики, вып. 35, М., «Советское радио», 1977, 5—69.
Дьячков А. Г., Рыков В. В. Об одной модели для суммирующего канала с интенсивным доступом. Проблемы передачи информации, т. 17, вып. 2 (1982), 26—38.
Дьячков А. Г., Рыков В. В. Границы длины дизъюнктивных кодов. Проблемы передачи информации, т. 18, вып. 3 (1983), 7—13.
содержание
И. С. ФИЛОТТИ. Один алгоритм укладки кубического графа на торе.
Перевод С. В. Юшманова 5
Г. Л. МИЛЛЕР. Гипотеза Римаиа и способы проверки простоты чисел.
Перевод О. Н. Василенко31
X. УИЛЬЯМС. Проверка чисел на простоту с помощью вычислительных машин. Перевод С. В. Чудова ................. 51
С. ХОМЕР, В. МААС. Свойства решетки NP-миожеств. зависящие от оракулов. Перевод и добавление А. А. Мучника . . . 100
М. Д. ХЕСТЕНС, Д. Г. ХИГМАН. Группы ранга 3 и сильно регулярные графы. Перевод А. А. Иванова 131
В. КАУЦ, Р. СИНГЛТОН. Двоичные дизъюнктивные коды. Перевод О. М. Касим-Заде 153
УВАЖАЕМЫЙ ЧИТАТЕЛЬ!
Ваши замечания о содержании книги, ее оформлении, качестве перевода и другие просим присылать по адресу: 129820, Москва, И-110, ГСП, 1-й Рижский пер., 2, издательство «Мир».
Научное издание
КИБЕРНЕТИЧЕСКИЙ СБОРНИК
Ст. научный редактор А. А. БряндинскаяМл. научный редактор Т. А. ДенисоваХудожник Н. К. СапожниковХудожественный редактор В. И. ШаповаловТехнический редактор В. П. СизоваКорректоры Л. Д. Панова, Т. П. Подгорная, А. Ф. Рыбальченко
ИБ № 5941
Сдано в набор 03.01.86. Подписано к печати 01.07.83. Формат 6ЭХ93'/|«. Бумага кн.-жур- нальная имп. Печать высокая. Гарнитура литературная. Объем 6 бум. л.
Усл. печ. л. 12. Усл. кр.-отт. 12. Уч.-изд. л. 11,23. Изд. № 1/4928. Тираж 2700 экз.Зак. 30. Цена 2 р. 10 к.
ИЗДАТЕЛЬСТВО «МИР» 129820, ГСП, Москва, И-110, 1-й Рижский пер., 2.
Ленинградская типография № 2 головное предприятие ордена Трудового Красного Зиа-меин Ленинградского объединения «Техническая книга» им. Евгении Соколовой Союв-полиграфпрома при Государственном комитете СССР по делам издательств, полиграфиии книжной торговли. 198052, г. Ленинград, Л-52, Измайловский проспект, 29.
А. Саломаа
ЖЕМЧУЖИНЫ ТЕОРИИ ФОРМАЛЬНЫХ языков
Пер. с англ., 1986, 9 л., 70 к.
Книга содержит ряд замечательных результатов теории формальных языков. Она отличается методическими достоинствами, большим числом задач и примеров, постановкой новых проблем. Автор книги — профессор Университета г. Турку (Финляндия), президент Европейской ассоциации вычислительных наук — успешно решил поставленные им две основные задачи: дать замкнутое введение в теорию для начинающих, изложить некоторые блестящие и порой сложные результаты, интересные для спепиалистов.
«Выход книги на русском языке будет полезен в двух отношениях, которые представляются одинаково важными. Во-первых, она содержит материал, не излагавшийся до этого в монографической литературе иа русском языке, — звездная высота, DOL-системы и др. Во-вторых, мы надеемся, что она будет содействовать поддержанию высокого стандарта в математических исследованиях и публикациях. И в том и в другом отношении книга окажется полезной всем, занимающимся вычислительными науками, — от студентов (автор этих строк использовал ее в семинаре для первокурсников МГУ) до профессиональных математиков и программистов» (из предисловия редактора перевода)..
Оглавление: 1. Повторения. 2. Регулярность; характеризации. 3. Регулярность; интересные проблемы. 4. Коды и множества совпадения. 5. Разрешимость и неразрешимость. 6. Представления посредством морфизмов. 7. Семейства языков.
Эту книгу Вы можете приобрести в магазинах книготоргов, распространяющих научно-техническую литературу. Если в ближайшем от Вас магазине ее не окажется, заказ можно направить по адресу:
121019 Москва, просп. Калинина, 26, п/я 42, магазин № 200 «Московский Дом книги»
103050 Москва, ул. Петровка, 15, магазин № 8 «Техническая книга»
117334 Москва, Ленинский проспект, 40, магазин № 115 «Дом научнотехнической книги»
191040 Ленинград, Пушкинская ул., 2, магазин № 5 «Техническая книга» Книга будет выслана наложенным платежом (без задатка).
2. Garey M. R., Johnson D. S., Miller G. L. Papadimitriou С. H. The complexity of coloring circular arcs and chords. SIAM J. Algebraic Discrete Methods, 1980, 1, № 1, 216—227.
3. Miller G. L. Isomorphism testing for graphs of bounded genus. Proc. 12 th, Annu. ASM Symp. Theory Comput., 1980, 225—235,
— Прин., перед.
Rumely R. S., On distinguishing prime numbers from composite numbers.—1
Ann. Math., 117 (1983), 173—206). — Прим. ped.
в опубликованной работе отметил, что для определения про
стоты числа N достаточно^ попробовать разделить его на числа,
в алгоритме решета Эратосфена. Он также привел таблицу
что число составное. Некоторые видные авторы предлагают использовать дру
гой термин для произвольных N, удовлетворяющих (8.1), и сохранить назва
ние «6-псевдопростое» лишь для составных значений N, удовлетворяющих
(8.1). Большинство исследователей в области проверки чисел на простоту
согласны, что в принципе это было бы гораздо разумней, но в то же время
опасаются, что принятая ныне терминология настолько укоренилась, что из
менить ее окажется слишком трудно. .
’) Homer S., Maass W. Oracle-dependent properties of the lattice of NP sets. Theor. Comp. Sci., 1983, 24, № 3, 279—289. ••
2) Department of Mathematics, Boston University, Boston, MA 02215, USA., ,
3) Department of Mathematics, University of California, Berkeley, CA 94720, USA.
4) Часто этот метод называют методом приоритета с конечным числом нарушений. — Прим, перее,
© 1983, Elsevier Science Publishers В. V. (North-Holland)
© перевод иа русский язык, «Мир», '1986
*) Возможно, первые работы по сложности вычислений и алгоритмов относятся как раз к исследованию схемной сложности булевых функций [ПО, 111], начатому К. Шэнноном еще в 40-х годах. Схемы н формулы можно рассматривать как программы алгоритмов вычисления функций в конечной области, причем необходимые элементарные операции и в какой-то мере их последовательность непосредственно обозначены в программе. Отсюда вытекает прямая зависимость между длиной записи таких алгоритмов и длиной и памятью их вычислений. Для алгоритмов более широких классов часто имеет место как раз обратная зависимость: ускорение вычисления достигается усложнением алгоритма в смысле увеличения длины его записи, в смысле расширения выразительности языка, на котором он сформулирован (см. результаты об ускорении и объеме машин [37*, предисловие и с. 423—431]), а также [82]). В более широком языке строятся последовательности, сложные или «случайные» относительно класса алгоритмов более узкого языка, т. е. более узкого класса вычислимых функций [83, 83а]. С другой стороны, в более широком языке часто удается дать более компактную запись алгоритмов. (Конечно, желательно, чтобы алгоритмический язык сочетал большую выразительность с простотой н естественностью семантики). Теория сложности алгоритмов при ограниченных ресурсах вычисления, в частности, теория оптимальных алгоритмов с ограниченными ресурсами значительно менее развита, чем обычная теория сложности алгоритмов [83Ь].
Возникает проблема компромисса (trade-off) «сложность алгоритма — сложность вычисления» (См. [84*, 83b*]).
*) Kautz W. Н., Singleton R. C.; Nonrandom binary superimposed codes, IEEE Trans, on Info. Theory, v. IT-10, No 4 (1964), 363-377.
* Звездочкой отмечены работы, добавленные переводчиком, содержащие сведения о полученных в последнее время результатах теории дизъюнктивных кодов.
Кибернетическийсборник
НОВАЯ СЕРИЯ
■ ВЫПУСК
23
Сборник переводов
под редакцией
О. Б. ЛУПАНОВА
МОСКВА «МИР» 1989
ББК 32.81
К 38
УДК 519.95
Кибернетический сборник. Новая серия. Вып. 23. Сб. стаК 38 тей: Пер. с англ. — М.: Мир, 1986, 190 с., ил.
Продолжение серии, начатой издательством «Мир» в 1965 г. В выпуске содержатся обзорные статьи и оригинальные работы известных зарубежных ученых по наиболее актуальным проблемам теоретической кибернетики. Большой интерес представляют статьи X. Уильямса, Г. Миллера и др. (США) по вопросам тестирования простоты чисел, И. Филотти (США) по алгоритмической теории графов.
Для научных работников, инженеров-исследователей, аспирантов и студентов, занимающихся и интересующихся теоретической кибернетикой и ее приложениями. -
„ 1502000000 353 . --।RRK Я9Я1
К "041(00=86- °4-8®’ Ч- 1ББК 82,81
Редакция литературы по математическим наукам
@ состав, перевод на русский язык, «Мир», 1986
Один алгоритм укладкикубического графа на торе9
И. С. Филотти)