Книга
Книга
. 1. ВВЕДЕНИЕ . ■ > .
Вычислительная геометрия, как она представляется сегодня занимается исследованием вычислительной сложности решения геометрических задач в рамках теории анализа алгоритмов. Однако словосочетание «вычислительная геометрия» использовалось, по крайней мере дважды, в смысле, отличном от указанного выше. В работах [47, 146, 299] изучались вопросы мо-
') Lee D. Т., Preparata Franco Р. Computational geometry — A survey.— IEEE Transactions on Computers, 1984, v. C-33, No. 12, p. 1072—1101.
делирования геометрических объектов (кривых и поверхностей) с помошью сплайнов. По своему содержанию эта область исследований, названная Форрестом «Вычислительная геометрия», ближе к численным методам, чем к геометрии. Минский и Пей- перт [264] в своей книге, озаглавленной «Персептроны», рассматривают сложность предикатов, распознающих некоторые геометрические свойства, такие, как выпуклость1). Цель их работы состоит в определении возможности больших ячеистых структур, составленных из простых цепей, для решения задач распознавания образов.
Мы сосредоточим внимание на вычислительной геометрии в современном понимании этого термина, которая в наши дни стала самостоятельной дисциплиной в области анализа и разработки алгоритмов. Большой ряд прикладных областей, таких, как распознавание образов [328], машинная графика [268], обработка изображений [286], исследование операций, статистика [41, 314], машинное проектирование, робототехника и т. д., явились благодатной средой, в которой сформировалась эта дисциплина, по мере того как в них появлялись геометрические по сути задачи, требовавшие для решения разработки эффективных алгоритмов. К числу таких задач относятся евклидова задача о коммивояжере, задача о минимальном остов- ном дереве, задача линейного программирования и множество других. Алгоритмические исследования этих и других задач появлялись в научной литературе на протяжении двух последних десятилетий с нарастающей интенсивностью. К этой области исследований, названной в статье Шамоса [313], появившейся в 1975 г., «Вычислительная геометрия», было привлечено внимание постоянно возрастающего числа специалистов. Учитывая, что результаты, полученные в этой области исследований, разбросаны по литературе, представляется своевременным и необходимым дать их достаточно подробный обзор. Библиография, представленная в работе Эделсбруннера и ван Леувена [139], довольно хорошо отражает работы, относящиеся к данной области исследований и появившиеся до лета 1982 г. Более полное и подробное изложение вычислительной геометрии должно появиться в ближайшем будущем в виде книги [295].
В соответствии с природой рассматриваемых геометрических объектов можно выделить пять основных категорий, на основании которых может быть удобным образом классифицирована вся совокупность геометрических задач. А именно: выпуклость, пересечение, геометрический поиск, близость и оптимизация. В то же время для методов решения задач на сегодняшний
') В издании на английском языке книга имеет подзаголовок «Введение в вычислительную геометрию». — Прим, перев. ■.
день можно определить семь главных парадигм: итерационное конструирование, заметание плоскости, геометрическое место точек, разделяй и властвуй, геометрические преобразования, поиск с отсечением и динамизация. Мы в общих чертах продемонстрируем на примерах каждую из этих парадигм. Но, прежде чем перейти к обсуждению, следует подробно рассмотреть используемую модель вычислений и меры сложности алгоритмов.
Модели вычислений. В качестве модели вычислений обычно используется машина с произвольным доступом к памяти (РАМ), аналогичная описанной в (1) с добавлением возможности выполнения арифметических операций над действительными числами. Это значит, что в такой машине каждая ячейка памяти может содержать действительное число, а каждая арифметическая операция, такая, как сложение, умножение и деление, может быть выполнена за единицу времени. В зависимости от решаемой задачи машина имеет некоторые другие примитивные операции, подобные вычислению пересечения двух отрезков прямых или вычислению расстояния между двумя точками. При этом предполагается, что все эти примитивные операции выполняются за постоянное время.
В общем случае геометрические задачи можно отнести к одному из двух типов, условно называемых задачами «на построение» (конструирование) и «на проверку» (распознавание). В задаче на построение требуется построить некоторый геометрический объект, удовлетворяющий заданному свойству, в то время как в задаче на проверку необходимо проверить, удовлетворяет или нет геометрический объект заданному свойству. Почти в каждом конкретном случае задача на построение может быть преобразована в соответствующую конкретную задачу на проверку, а нижняя оценка сложности для задачи на проверку может быть использована для установления нижней оценки сложности для задачи на построение. (См. разд. IH-F, где более подробно обсуждаются преобразования задач и нижние оценки сложности.) Таким образом, мы можем ограничить наше обсуждение соответствующей вычислительной моделью для задач на проверку, другими словами, так называемым алгебраическим деревом решений (проверки) [26, 108, 296, 298]. В этой статье, если не оговорено иное, мы будем использовать эту модель для установления нижней оценки времени вычислений задач на проверку и соответствующих им задач на построение. ‘
Алгебраическое дерево вычислений [26] на множестве пере-' менных V = {х(, х2, . . . , Хп}, где х, Е R, - бинарное дерево Т, размеченное следующим образом. '
Каждой вершине и, имеющей в точности одного сына (простая вершина), приписывается операция вида fv := fv, * f0„ или f0:=c#fD„ или fc := л/fo,, где Ot (г = 1, 2) — предок вершины и в дереве Т, или fvt е У, # е {+, —, X, /}, а се R является константой.
Каждой вершине и, имеющей двух сыновей (вершина ветвления), приписывается операция сравнения вида fD| > О, или к < О, или fCl = О, где О; — предок вершины и в дереве Т, или fD, е V.
Каждому листу дерева приписывается одно из значений ДА или НЕТ.
Пусть № S R«— произвольное множество. Задача о принадлежности (являющаяся задачей на проверку) для множества W заключается в определении того, принадлежит или нет множеству W точка х = (х1е х2, ..., хп)е R". Для каждой заданной точки х программа прокладывает в дереве Т путь Р(х), начинающийся в корне дерева. При прохождении каждой простой вершины выполняется арифметическая операция, приписанная этой вершине, а в каждой вершине ветвления происходит ветвление в соответствии с результатом сравнения, приписанного вершине. При достижении листа дерева возвращается ответ ДА или НЕТ. Предполагается, что всякий раз, когда встречается вершина и, а приписанная ей операция является делением, то делитель отличен от нуля, и что в случае операции извлечения квадратного корня операнд неотрицателен. Считается, что дерево вычислений Т решает задачу о принадлежности, если возвращаемый ответ является верным для каждой исходной точки xeR". Сложность дерева Т, обозначаемая через С(7), определяется как максимум величины cost(x, Т) по всем значениям х, где cost(x, 7)— число вершин, проходимых путем Р(х) в дереве 7. Сложность задачи на проверку принадлежности точки множеству №, обозначаемая через С(№), есть минимум С(7) по всем алгебраическим деревьям вычислений 7, решающих задачу о принадлежности.
Разновидностью алгебраического дерева вычислений является так называемое (алгебраическое) дерево решений порядка d [324] для определения справедливости отношения принадлежности х Е № s R". Дерево решений порядка d— это дерево, каждой вершине которого соответствует сравнение вида f(x)?O, где f имеет полиномиальную сложность относительно входных данных с показателем степени не более d и ?е «,>, = }. В случае когда d равно 1, получается линейное дерево решений, с использованием которого получены доказа-
тельства ряда нижних оценок сложности [99, 107, 108, 298, 349, 352].
Временная и емкостная сложности. Время и объем памяти, используемые алгоритмом, являются двумя главными мерами эффективности конкретного алгоритма. Обычно мы подсчитываем лишь число ключевых операций, например сравнений, выполняемых алгоритмом, и представляем его в виде функции от размера входных данных. Поступая таким образом, мы должны гарантировать, чтобы число неучитываемых при подсчете операций было пропорционально числу ключевых операций, так что время выполнения алгоритма отличалось бы от полученной при таком подсчете оценки лишь постоянным множителем. Что касается объема памяти, требуемого при выполнении алгоритма, то мы подсчитываем максимальный объем памяти, который может потребоваться в какой-либо момент выполнения алгоритма. Эта величина также представляется в виде функции от размера входных данных. Ниже приводится стандартная форма обозначений, предложенная Кнутом [204].
О (f (п))—множество всех функций g(n), таких, что существуют положительные константы С и п0 и при этом |g(n)|^
Cf(n) для всех п п0.
Q(f(n))—множество всех функций g(n), таких, что существуют положительные константы С и по и при этом g^^
Cf(n) для всех п nQ.
Q(f(n))— множество всех функций g^, таких, что существуют положительные константы С, С' и nQ и при этом Q(n)^ ^ gW^i С'Цп') для всех п ^ п0.
°UW^ —множество всех функций g^, таких, что для всех положительных констант С существует такое м0’и для всех п^п0 имеет место gW^ Cf(n).
Анализ сложности алгоритма может быть двух типов: анализ в худшем случае и анализ в среднем случае. При анализе худшего случая мы ищем максимальное количество времени (памяти), необходимого алгоритму по всем возможным входным данным. При анализе среднего случая мы обычно предполагаем, что входные данные распределены в соответствии с некоторой функцией распределения вероятностей, и изучаем поведение алгоритма для каждого набора входных данных, взятого из распределения. Обычно мы интересуемся асимптотическим поведением алгоритма (асимптотический анализ), т. е. поведением алгоритма, когда размер входных данных приближается к бесконечности. Так как анализ сложности алгоритма в среднем случае обычно очень труден и, кроме того, предположение о распределении вероятностей входных данных иногда трудно проверить, то в данной работе основное внимание будет
сосредоточено на анализе сложности алгоритмов в худшем случае. Мы будем рассматривать анализ сложности алгоритмов только в худшем случае, если не оговорено что-либо иное.
'11. МЕТОДЫ РЕШЕНИЯ ЗАДАЧ
Теперь мы дадим примеры для каждого из семи основных методов решения задач, упоминавшихся выше.
А Построение последовательным добавлением элементов
Это простейший и наиболее интуитивный метод решения задач, известный также как итеративный жадный метод. Основная идея состоит в том, что мы конструируем или вычисляем
решение методом итераций. Аналогом этого метода является хорошо известный метод сортировки вставками [203], в котором упорядоченный список получается путем вставки элементов один за одним в частично упорядоченный список. Далее приведены конкретные примеры.
Рассмотрим задачу вычисления расположения прямых на плоскости. Пусть задано множество Н из п прямых на плоскости. Необходимо вычислить (построить) разбиение плоскости, порождаемое множеством Н. Очевидный метод решения состоит в конструировании разбиения путем последовательной обработки один за одним элементов множества и построения искомого разбиения итерационным способом [86, 133]. Так в случае, показанном на рис. 1, когда добавляется прямая i, необходимо просмотреть все области, которые рассекает эта прямая, при этом строится новое разбиение. Как оказывается, такой подход требует времени О(п2) и является асимптотически оптимальным в том смысле, что полное время построения решения пропор-
ционально объему памяти, необходимой для представления разбиения. Более того, этот подход обобщается на случай пространств более высокой размерности [133]. Так как этот метод является довольно самоочевидным, то мы опускаем описание алгоритма и формулируем результат в виде теоремы.
Теорема 1. Задача вычисления расположения п прямых на плоскости может быть решена за время О(п2) методом последовательного добавления элементов.
В качестве другого примера задачи, для которой с успехом может быть применен метод последовательного конструирования, который, как может быть показано, является оптимальным, рассмотрим задачу построения выпуклой оболочки множества точек на плоскости (см. разд. П-D). Мы просто последовательно просматриваем точки и сразу же строим выпуклую оболочку для просмотренных точек. Если очередная точка лежит внутри уже построенной выпуклой оболочки, то ничего делать не надо, н эта точка просто игнорируется. В противном случае она является граничной точкой выпуклой оболочки и текущая выпуклая оболочка должна быть изменена, для чего необходимо определить две опорные прямые, проходящие через эту новую точку. Оптимальная реализация этого подхода содержится в работах [21, 221, 291]. Хотя два приведенных примера показывают, что метод построения решения последовательным добавлением элементов позволяет получать оптимальные решения, как правило, это не имеет места для большинства задач, рассмотренных в литературе.
--ЦТ ---(, ■ J- н Л..1Ь
Заметание плоскости-,
Как следует из названия, предлагаемая схема прежде всего применима к задачам в случае двумерного пространства. Тем не менее ее обобщение на случай пространств большей размерности довольно очевидно и может быть найдено, например, в [50]. Этот метод известен в машинной графике также под названием метода линейного сканирования [268] и используется в различных приложениях, таких, как, в частности, затенение, заполнение многоугольных областей [58, 215, 286]. Для наглядности мы опишем схему этого метода в связи с ее применением к конкретному примеру и укажем основные её особенности.
Рассмотрим задачу обнаружения всех пересекающихся пар среди множества горизонтальных и вертикальных отрезков прямых. Пусть S — множество отрезков, S ={si, $2$4-так
что s, — либо горизонтальный, либо вертикальный отрезок. Если Si—горизонтальный отрезок, то он задается как (хд, хц; yi).
а если ^< — вертикальный отрезок, то он задается как (^; ул, у.2), где х и у — координаты концов каждого отрезка. (Для простоты считается, что никакая пара отрезков не коллинеарна.) Предположим, что мы «заметаем» плоскость вертикальной прямой, двигая ее слева направо (или горизонтальной прямой сверху вниз) и сообщаем о наличии пары пересекающихся отрезков, как только точка их пересечения оказывается на заметающей прямой. Очевидно, что в интервале х-координат между конечными точками отрезков никаких новых пересекающихся пар отрезков не будет обнаружено. Другими словами, х-координаты отрезков определяют совокупность положений, в которых возможно пересечение отрезков, и они называются «критическими точками» [269, 295].
Заметим также, что заметающая прямая с абсциссой х разбивает множество отрезков на три подмножества Si, S2 и S3, где Si — множество отрезков, лежащих целиком слева от заметающей прямой, S2 — множество отрезков, пересекающих заметающую прямую, и S3 — множество отрезков, лежащих целиком справа от заметающей линии. Множество отрезков Si не будет играть никакой роли в «будущем» при движении заметающей прямой слева направо, т. е. для заметающих прямых с абсциссой х' > х; множество S2 содержит «активные» отрезки, которые могут войти в ответ, т. е. могут в дальнейшем пересечь отрезки из множества S3; S3 — множество отрезков, не играющих никакой роли в текущий момент времени. Суть этого метода состоит в поддержании «адекватной» информации о множестве активных отрезков в каждой критической точке. Как только некоторый отрезок становится активным, он добавляется как составной элемент к этой адекватной информации, а когда заметающая прямая проходит отрезок, он удаляется.
В нашем примере адекватная информация — это последовательность ординат всех активных отрезков, представленная в виде сбалансированного по высоте дерева [1]. Если следующая критическая точка соответствует вертикальному отрезку, то этот отрезок используется для просмотра текущего состояния структуры данных, и все горизонтальные отрезки, у-координаты которых лежат в интервале, определяемом вертикальным отрезком, регистрируются как пересекающиеся с этим отрезком. Если следующая критическая точка соответствует левому концу горизонтальною отрезка, то этот отрезок становится активным и вставляется в дерево; в противном случае эта критическая точка является правым концом горизонтального отрезка, который ввиду этого должен быть удален из дерева. Корректность этого алгоритма может быть легко установлена. С точки зрения выполнения алгоритма полное время его работы равно О (гг log п -|- k), где к — число обнаруженных пересечений, так
как в каждой критической точке необходимо выполнить либо операцию вставки элемента в дерево, либо операцию исключения элемента из дерева, каждая из которых требует времени O(logn), либо сообщить об обнаруженном пересечении. Имеет место следующая теорема.
Теорема 2. Задача обнаружения всех k пар пересекающихся отрезков в множестве из п горизонтальных и вертикальных отрезков может быть решена за время О (п log п + к^ методом заметания плоскости.
В заключение отметим, что имеются две основные структуры данных, связанные с методом заметания плоскости, а именно: (1) список критических точек, представляющий последовательность абсцисс, упорядоченных в порядке прохождения слева направо, и (ii) статус заметающей прямой, представляющий соответствующее описание необходимой информации относительно геометрических объектов, находящихся на заметающей прямой. Заметим, что эти структуры данных в различных ситуациях могут быть разными, а список критических точек может динамически изменяться в процессе выполнения алгоритма. Так, в рассмотренном выше примере список критических точек является фиксированным упорядоченным списком, а статус заметающей прямой реализован как сбалансированное по высоте дерево. Случаи использования метода заметания плоскости, в которых список критических точек динамически изменяется, обсуждаются в работах [38, 63, 229, 269]; в этом случае обычно используется одна из форм очереди с приоритетами [1].
Геометрическое место точек
Этот метод связан, главным образом, с задачами геометрического поиска в так называемом режиме с повторением (произвольно длинная последовательность запросов к фиксированному файлу), когда необходимо эффективно обрабатывать однотипные запросы [278]. Например, мы хотим сделать предобработку некоторого множества точек на плоскости с тем, чтобы ответ на запрос, известный как запрос на интервальный поиск, используемый для обнаружения точек множества S, лежащих внутри некоторого прямоугольного окна, мог быть получен как можно быстрее. Используя этот метод, нам хотелось бы разбить пространство запросов на «клетки» таким образом, чтобы все точки из данной клетки порождали бы один и тот же ответ на запрос. Более формально, мы разбиваем пространство на ряд Массов «эквивалентности» на основе отношения, зависящего непосредственно от задачи. Рассмотрим, например, двумерную задачу о доминировании, которая приводится ниже.
Двумерная задача о доминировании. На плоскости задано множество S из п точек р\, ргрп. Допускается предобработка. Необходимо найти число точек множества S, над которыми доминирует заданная точка q. (Считается, что точка q доминирует над точкой р, если как х-координата, так и у-коор- дината точки р не превосходят соответствующих координат точки q.)
Мы покажем, как метод геометрического места точек позволяет отвечать на запросы за время 0(logn), что является оптимальным. Сначала определим отношение Г в R2 таким образом, что для пары точек (р, q) в R2 имеет место отношение Т, если подмножества множества S, над которыми доминируют точки р и q соответственно, совпадают. Отношение Т, являясь отношением эквивалентности, порождает разбиение плоскости в общем случае на (п + I)2 классов эквивалентности. Геометрически это можно представить так. Если мы проведем вертикальные и горизонтальные прямые через каждую точку множества S, то п этих вертикальных и горизонтальных линий разделят плоскость на (и-М)2 клеток,- Каждая такая клетка представляет класс эквивалентности, так как для любых двух точек в клетке подмножества множества S, над которыми доминируют эти две точки, идентичны. Таким образом, наша задача становится по сути задачей определения положения точки, т. е. определения того, какой из клеток принадлежит точка из запроса, и та клетка, в которую попадает точка из запроса, и будет содержать решение исходной задачи (некоторое целое число). Так как двукратное применение процедуры двоичного поиска позволяет определить, какой из О(п2) клеток, определенных ранее, принадлежит точка из запроса, то мы имеем следующую теорему.
Теорема 3. Двумерная задача о доминировании может быть решена за время O(logn) методом геометрического места точек с использованием предобработки, требующей 6 (и2) затрат по времени и по памяти.
К числу других задач, к которым применим метод геометрического места точек, относятся задачи поиска ближайшего соседа [147, 157, 354], задача нахождения наикратчайшего пути при наличии препятствий [229, 327] и т. д.
Д' D. «Разделяй и властвуй»
Это классический метод решения задач, оказавшийся также ценным и для геометрических задач [30, 40, 42, 83, 172, 174, 198, 205, 220, 228, 293, 315]. Применение этого метода обычно заключается в разбиении исходной задачи на несколько подзадач, рекурсивном решении каждой подзадачи и последующем
объединении полученных решений подзадач с целью получения решения исходной задачи. Хорошо известным примером применения этого метода является задача построения выпуклой оболочки. А именно, пусть задано множество S из п точек на плоскости. Необходимо построить выпуклую оболочку множества точек S (наименьшее выпуклое множество, содержащее S). Ниже приведен алгоритм вычисления выпуклой оболочки множества S методом «разделяй и властвуй». Здесь предполагается, что исходные данные представлены совокупностью точек, заданных своими координатами, а результатом работы алгоритма язляется последовательность точек, принадлежащих выпуклой оЗолочке. Заметим, что выпуклая оболочка множества точек на плоскости является выпуклым многоугольником. Поэтому результатом работы алгоритма является последовательность вершин этого выпуклого многоугольника, перечисляемых, например, в порядке обхода по часовой стрелке.
Алгоритм Выпуклая оболочка (S).,(..,(
If |S |^2 then return (S) else begin
разбить S на S, и S2 таким образом, что . у. / IS] |= L 1/2 J | S | и S,US2 = S; ' . ?
,' S':= ВЫПУКЛАЯ ОБОЛОЧКА (SJ; ' /
s" := ВЫПУКЛАЯ ОБОЛОЧКА (S2);/
T := ОБЪЕДИНИТЬ (S', S");, . . ' ,y,, ■
‘ return (?)e. . ,L(I i0..;
r, endr|, ,;j.. ■
Здесь ОБЪЕДИНИТЬ (S', S") реализует шаг «властвуй». Это процедура, которая соединяет две выпуклые оболочки в одну, т. е. вычисляет выпуклую оболочку их объединения. В работах [293, 313, 316] было показано, что это объединение может быть найдено за время O(|S'| + |S"|) (см. задачу 3.1.2 в разд. III). Анализ алгоритма «разделяй и властвуй» относительно прост. Обозначим через L(T) время, требуемое для выполнения алгоритма Выпуклая оболочка, где п — |S|. Предположим далее, что п— степень числа 2. Тогда имеем следующее рекуррентное соотношение:1■
r.q
Г(1) = const,<31 .:
Т (п) = 27 (п!^ + М (п^, п^,"‘
где М (s, О — время, необходимое для вычисления выпуклой оболочки объединения двух выпуклых многоугольников с s и t вершинами соответственно. Так как А4 (п/2, ц/2) = О (п), то Т(п) = О(п log п). Таким образом, имеет место следующая теорема. -. ■ ■ ,•■,....
Теорема 4. Задача нахождения выпуклой оболочки множества из п точек на плоскости может быть решена методом «разделяй и властвуй» за время Okn logn).
Геометрические преобразования
Применение подходящих преобразований к геометрическим объектам часто может быть вызвано стремлением преобразовать исходную задачу к некоторой эквивалентной ей задаче. В одних случаях точки d-мерного пространства отображаются в точки этого же пространства, в других случаях преобразование отображает /г-мерные многообразия в (d — 1 — k)-мерные многообразия. Имеется важный класс преобразований последнего типа, известных под названием полярное или двойственное преобразования, которые в последнее время с большим успехом были использованы в ряде приложений. Главная причина этого успеха состоит в том, что преобразованная задача более непосредственно воздействует на интуицию и, следовательно, в большей степени способствует созданию эффективного алгоритма.
Приведем конкретный пример, иллюстрирующий это положение. Рассмотрим задачу о пересечении п полуплоскостей (на плоскости). А именно, пусть даны п полуплоскостей, каждая из которых определяется линейным неравенством вида у ^ atx + + bi или у ^ aix ф- bi. Необходимо найти их пересечение. Так как пересечение является выпуклым многоугольником, который может быть, а может и не быть ограниченным, эта задача может быть решена методом «разделяй и властвуй», при этом шаг объединения решений подзадач заключается в нахождении пересечения двух выпуклых многоугольников. Так как пересечение двух выпуклых многоугольников может быть выполнено за линейное время, то время выполнения алгоритма «разделяй и властвуй» равно O.(rtlogn) [313, 317]. Однако для решения этой задачи мы воспользуемся методом геометрического преобразования, имеющим ту же оценку сложности, которая является оптимальной [315] с точностью до постоянного множителя в рамках модели вычислений, допускающей аналитические функции от входных параметров [155] или в рамках модели алгебраических деревьев вычислений Бен-Ора [26].
Прежде всего будем считать, что ни одна из заданных прямых, определяющих полуплоскости, не является вертикальной. (Это всегда может быть достигнуто в результате поворота системы координат.) Будем называть полуплоскость нижней полуплоскостью, если ограничивающая ее прямая расположена над открытой полуплоскостью. В противном случае полуплоскость называется верхней полуплоскостью. Таким образом, нижняя полуплоскость определяется неравенством вида у
^ atx + bi, а верхняя полуплоскость — неравенством вида у 5? aix + bi.
Используемое нами геометрическое преобразование отображает точки в прямые линии и известно под названием полярность. Полярность в случае плоскости (и с очевидным обобщением в случае пространств произвольной размерности) связана с коническими кривыми второго порядка. Эти кривые могут быть выбраны множеством различных удобных способов. Если, например, мы выбираем в качестве конической кривой параболу у = х2/2, то точка (а, Ь) отображается в прямую у = = ах — b и наоборот (полярность всегда является инволютивным преобразованием). Если (а, Ь) является внешней по отношению к параболе точкой, то ее образ, называемый полярой, есть прямая, проходящая через точки касания опорных прямых к параболе, проведенных из точки (а.Ь). Это преобразование сохраняет инцидентность, т. е. если точка (с, d) лежит на прямой у = ех — f, то же самое справедливо и для двойственных к ним элементов: точка (е, f) лежит на прямой у ~ сх — d.
Рассмотрим теперь задачу нахождения пересечения нижних полуплоскостей. Заметим, что нижняя полуплоскость к является несущественной тогда и только тогда, когда существуют две нижние полуплоскости i и j, такие, что
ограничивающая прямая Lk расположена выше точки р пересечения прямых Li и Lj, ограничивающих полуплоскости I и / соответственно, и
(И) угол наклона прямой Lk находится между углами наклона прямых Lt и Lj.
Соответствующие утверждения имеют место и в двойственной плоскости. Заметим, что мы отображаем прямые, определяющие полуплоскости, в точки в двойственной плоскости. Точка рк в двойственной плоскости, представляющая образ прямой Lk, является несущественной тогда и только тогда, когда существуют две точки pi и pj, такие, что
Рк находится ниже прямой Lp, представляющей образ точки пересечения прямых Li и Lj, и
х-координата точки рк находится между х-координатами точек pi и pg.
Другими словами, точка в двойственной плоскости является несущественной тогда и только тогда, когда она находится непосредственно под отрезком, определяемым двумя другими точками. С учетом сказанного можно показать [61], что существенные верхние полуплоскости соответствуют вершинам ломаной, ограничивающей снизу выпуклую оболочку точек в двойственной плоскости. Так как выпуклая оболочка может быть построена за время О (n log и), то пересечение п верхних полуплоскостей может быть найдено за время O(«logn). Аналогия-
но пересечение п нижних полуплоскостей также может быть найдено за время O(nlogn). Если уже найдены пересечения верхних полуплоскостей и нижних полуплоскостей, то пересечение двух неограниченных многоугольников может быть найдено за линейное время, например, методом заметания плоскости, так как ребра, определяющие пересечения, упорядочены. Таким образом, имеет место следующая теорема.
Теорема 5. Пересечение п полуплоскостей может быть найдено за время О (ц log/г) методом геометрического преобразования.
Заметим, что данный метод преобразования легко может быть расширен на случай пространств большей размерности. В частности, пересечение п полупространств может быть найдено за время О (л log л) путем построения нижней части выпуклой оболочки точек в двойственном пространстве с помощью алгоритма, разработанного Препаратой и Хонгом [293]. Описание общих схем нахождения пересечения п произвольных полупространств за время О (л log п) можно найти в [294] (см. также [117]). Более подробное обсуждение геометрических преобразований и их применения можно найти, например, в [61, 62, 71, 86, 132, 133, 265, 295].
Ь ' V ? . * tт : ? «г М, [ tJ s
Поиск с отсечением ’ '
Этот подход, использованный Меджиддо [257—259] и Дайером [118], первоначально применялся для решения оптимизационных задач и, как было показано, является мощным средством, позволяющим создавать эффективные алгоритмы для решения ряда геометрических оптимизационных задач, одной из которых является хорошо известная задача линейного программирования. Блестящий полиномиальный алгоритм, разработанный несколько лет назад Хачияном (см. [195, 28*, 38*]), представляет главным образом теоретический интерес, так как он не может конкурировать с более практическим симплекс-методом [96]. Совсем недавно Меджиддо и Дайер независимо предложили новый метод многомерного поиска, который мы классифицируем как метод поиска с отсечением, с целью получить линейный по времени алгоритм для задачи линейного программирования в случае, когда размерность пространства фиксирована [257, 259].
Заметим, однако, что временная сложность является дважды экспоненциальной относительно размерности пространства. Использование этого метода позволяет эффективно решать некоторые геометрические оптимизационные задачи. В частности, укажем следующие: задача линейной отделимости, т. е. заданы
п точек в Rd, сгруппированные в два непересекающихся множества, и требуется найти гиперплоскость, если она существует, которая разделяет эти два множества; задача Чебышева о регрессии, а именно: заданы п точек pi=(xn, хц, ..., X(d)eRd, i = 1, 2, ..., п, требуется найти линейную функцию . ■
f (Хь Х2xd)=^ ajXj-Vaa.
минимизирующую.
i = 1, 2, ..., пг;i = 1, 2, ..., пг;/■ d—I' ‘!
i = 1, 2, ..., пг;
i = 1, 2, ..., пг;
шах < £ atxM + ad — xld
задача об охватывающей гиперсфере, а именно: заданы п точек в Rd, требуется найти наименьшую гиперсферу, содержащую все эти точки. Все эти задачи могут быть решены за время О(п) при условии, что d фиксировано. Метод может быть обобщен для решения оптимизационных задач квадратичного программирования. Обсуждение подробностей такого расширения и других связанных с этим задач, решаемых указанным или аналогичным ему методом, может быть найдено в [257].
Теперь мы дадим небольшой набросок этого замечательного метода для случая двумерного пространства. Задача линейного программирования формулируется следующим образом:.
минимизировать ах -V by
при условии а{х + bty + с,^ О, Z= 1, 2, ..., п.
Рассматриваемый метод отбрасывает не только несущественные ограничения, но также и те ограничения, которые гарантированно не содержат вершину области возможных решений, минимизирующей функционал. Сначала мы реализуем линейное преобразование точек плоскости так, что функционал станет равным одной из двух координат, например ординате. Тогда исходная задача сводится к нахождению экстремума кусочно-линейной выпуклой функции, зависящей от абсциссы. Ключевой момент состоит в том, что так как все, что нам требуется, — это определить абсциссу точки экстремума, то нет необходимости явно строить эту выпуклую функцию, которая остается неявно определенной множеством линейных ограничений
Прежде всего положим Y = ах -V by, X = х. Предполагая без потери общности, что b + 0, получаем
минимизировать Y. у, у
при условии а£Х + ^{Y + с( ^ 0, /=1, 2, ..., п, •+•• ^
где
а, = (а, — (а/6) 6,), 0z = 6z/6.
В такой новой форме мы должны вычислить наименьшее значение У для вершин выпуклого многоугольника Р (область возможных решений), определяемого этими ограничениями (рис. 2). В зависимости от того, является ли 0, равным нулю, отрицательным или положительным числом, п ограничений распадаются на три класса /о, /-, /+• Множество /0 определяет интервал [ui, u2] значений X, в котором необходимо искать решение, в то время как множества /_ и /+ определяют в неявном
Рис. 2. Пример области возможных решений, определяемой множеством линейных ограничений.
виде соответственно выпуклую вниз и выпуклую вверх кусочнолинейные функции РДХ') и РДХ), определяющие границу области возможных решений. Таким образом, исходная задача преобразуется в следующую: . . . .
минимизировать F_ (X) " Л
при условии F_ (X) ^ F+(X), M^X^Hj-
Значения РДХ) и F+(X) для произвольного X могут быть вычислены за время О (.ri'). Это относится и к величине наклона функций. Таким образом, в рамках указанного ограничения по времени для каждой точки X' e[ui,u2] может быть получен один из следующих результатов: (i) значение X' недопустимо и задача не имеет решения; (ii) значение X' недопустимо и нам известно, с какой стороны от X' (слева или справа) может находиться некоторое допустимое значение X; (iii) значение X’ допустимо и нам известно, с какой стороны от X' находится точка минимума F-^X^ и (iv) значение X' соответствует мини-
муму функции F_^XV Случаи (1) и (iv) дают окончательные решения.
Чтобы выбрать X', мы разбиваем как /+, так и /_ на пары ограничений (прямых линий) и определяем абсциссу Xi, их пересечения. Если Хцё= [щ, «2], то одно из ограничений может быть немедленно отброшено как несущественное. Для множества значений Xi, е [ui, «2] за время O(n) [1, 111, 306] мы находим их медиану X" и оцениваем Е+(Х") и Е_(Х"). Затем, согласно приведенным выше соображениям, половина значений Xi, лежит в области, не содержащей значения, на котором достигается минимальное значение, так что одно ограничение пары может быть исключено. Таким способом при каждом вычислении F+^X) и F-(X') некоторая фиксированная часть а оставшихся на текущий момент ограничений может быть удалена. Это приводит к заключению, что за logi/d-a)n шагов размер множества оставшихся ограничений станет достаточно малым для поиска решения прямым способом. Так как требуемое время равно
Сп + Сап + Са?п 4- ... = 0 (п),■
где С — некоторая константа, то имеем следующий результат.
Теорема 6. Двумерная задача линейного программирования с п ограничениями может быть решена за время О(п).
Метод динамизации
Эти методы разработаны для задач, база данных которых изменяется со временем (время изменяется дискретно). Идея состоит в том, чтобы использовать хорошие структуры данных для статической (фиксированной) базы данных и дополнить их механизмами динамизации таким образом, чтобы операции с базой данных (вставки и исключения элементов) можно было выполнять эффективно.
Как и ранее, опишем общий подход на примере. Пример относится к классу задач геометрического поиска. Типичной задачей поиска является задача о принадлежности, а именно задано множество объектов F и необходимо определить, принадлежит ли х множеству Е? Если F—множество вещественных чисел, то может представлять интерес вопрос о ближайшем соседе х, т. е. таком элементе F, который наиболее близок к х. В литературе эта задача известна под названием задачи о наиболее подходящем элементе [64, 156] или задачи поиска ближайшего соседа [147, 157, 171, 354]. Более формально, в общем случае запрос к базе данных представляет некоторый вопрос, содержащий переменную типа 7’1 и относящийся к множеству,
состоящему из элементов типа 72, а ответ на вопрос — значение типа ТЗ. В запросе о принадлежности 71 и 72 совпадают, а ТЗ— логический тип; в запросе о ближайшем соседе типы 71, 72 и 73 одинаковы — вещественные числа. Запрос Q можно рассматривать как отображение из 71 и множества подмножеств 72 в 73, т. е. Q: 71 X 2Г2-* 73 [39, 304].
Далее определен класс задач, называемых задачами поиска, допускающими декомпозицию, к которым применимы методы динамизации.
Определение [29]. Задача поиска с операцией запроса Q допускает декомпозицию, если существует эффективно вычислимый бинарный оператор @ (ассоциативный и коммутативный), удовлетворяющий условию
Q(x, Лив) = @№(х, Л), Q(x, В)).
Легко видеть, что оба приведенных выше примера допускают декомпозицию.
В задаче поиска мы имеем некоторую структуру данных для множества элементов, среди которых производится поиск. Существуют три меры затрат ресурсов, связанные с некоторой структурой данных Л, а именно:
Pa(N) — время предобработки, необходимое для построения структуры Л,
Qa (А/) — время, необходимое для поиска в структуре Л по запросу,'
Sa^N') —объем памяти, необходимый для хранения структуры А.
Здесь N — число элементов множества, для представления которого используется структура А.
Процедура динамизации включает в себя преобразование некоторого вида, которое преобразует статическую структуру данных в динамическую, допускающую вставку и исключение элементов. Рассмотрим задачу поиска ближайшего соседа на плоскости. Пусть на плоскости задано множество из п точек и требуется найти ближайшего соседа некоторой запрашиваемой точки х. Для статического варианта этой задачи имеем следующие меры затрат ресурсов:
PAW = O 'n\ogn\ QA(n) = O (log/г) и SAW = 0 (_п\
где А, например, одна из структур данных, рассматриваемых в работах Липтона и Тарьяна [242], Киркпатрика [197] или Эделсбруннера и др. [128]. Теперь рассмотрим, как можно преобразовать структуру данных А в динамическую структуру данных D, чтобы иметь возможность выполнять операции вставки, исключения и поиска по запросам. Существует целый ряд ме-
тодов динамизации [121, 164, 166, 248, 262, 263, 276, 279, 280, 282, 304, 339, 340, 341], известных в литературе, но здесь мы опишем метод, разработанный ван Леувеном и Вудом [341], который воплощает все существенные черты этого подхода.
Общий принцип состоит в том, чтобы организовать файл в виде совокупности отдельных структур данных таким образом, чтобы каждая корректировка данных затрагивала одну из них (или, возможно, небольшое фиксированное число). Однако, чтобы избежать переноса центра тяжести задачи на обработку запросов, следует воздерживаться от чрезмерной фрагментации, так как обычно запросы охватывают всю совокупность данных. Вооружившись этой общей идеей, рассмотрим следующий пример. Пусть {х*}*>1 — возрастающая последовательность целых чисел, называемых точками переключения, где х6 делится на 6 и Xh+\IVk + 1) > Xk)k. Положим Хо = 0, yk = Xk/k и пусть п— текущий размер множества точек. Множество точек разбивается на совокупность подмножеств, каждое из которых представляется отдельной статической структурой данных. Для заданного целого числа к, называемого уровнем, динамическая структура данных D состоит из (А + 1) структур одного и того же типа А-, к из них, называемые блоками, имеют размер в диапазоне от ук до ук+х, в то время как одна, называемая кучей, имеет размер от 0 до ^ук+\— 1) Каждая такая структура В снабжена счетчиком s(5), определяющим ее статус — «мало», «частично» или «полностью» в зависимости от того, имеет место s(S) = ук, Ук < s(B) < ук+\ или s(B) = ук+\ соответственно.
Как отмечалось ранее, запрос охватывает все (А + 1) структур с полным временем ответа на запрос O(kQA (z/ft+i)), так как укА-х является границей для их размеров. Более тонкой является обработка корректировок, где, для того чтобы контролировать расход ресурсов, необходимо контролировать максимальный размер структур данных. Вставки являются более простыми операциями, так как все они могут быть отнесены к куче. Исключения же элементов могут возникнуть, где угодно, и может оказаться необходимым сочетать исключение элемента в блоке с перемещением из другого блока (особенно из блока со статусом «частично», если исключение имеет место в блоке со статусом «мало»).
Разумеется, статическая структура данных должна быть снабжена словарем [1] размера п для того, чтобы за время С(п) можно было определить блок, из которого удаляется элемент. Во всех случаях затраты на коррекцию данных составляют О (Ua (z/t+i) + С(п)), так как yk+\ — максимальный размер статических структур. Отметим, что значительные изменения п сопровождаются более смеренными изменениями параметра к. Действительно, когда все блоки на уровне к заполнены, мы
переключаемся на уровень А + 1 в тот момент, когда размер кучи также достигает уь+ь Это делается путем включения кучи в совокупность блоков (число блоков доводится до & + 1), изменения их статуса с «полностью» на «мало» и инициализации новой кучи с числом элементов, равным 0. Заметим, что когда мы переключаемся с уровня к на уровень к + 1, то имеем в точности (k + l)i/fe+i = xfc+v точек в множестве. С другой стороны, когда размер множества изменяется с хк до хк — 1, мы аналогичным образом переключаемся с уровня к на уровень к — 1, при этом блок превращается в кучу. Можно показать [341], что переключение между уровнями может быть корректно выполнено за время 0(1). Следующая теорема подводит итог предыдущему обсуждению.
Теорема 7. Любая статическая структура данных Л, используемая при решении задачи поиска, допускающей декомпозицию, может быть преобразована в динамическую структуру данных D для той же самой задачи со следующими характеристиками. Если Хк ^ п < x*+i, то время Qn(n) ответа на запрос для D есть QD(n) = 0(kQA(yk+4) ■ Время корректировки данных UD(n) (вставка или удаление элемента) для D есть Uo(n) = = О(С(п) 4- СМуыл)) • Необходимый объем памяти равен 3d (п) = О (кЗд (yk+i)) •
Если, например, выбирать в качестве точек переключения такие целые числа, что хк— первое число, кратное к, большее или равное 2*, то к примерно равно Iog2 п и ук примерно равно «/log2«. Так как для задачи поиска ближайшего соседа имеется структура данных Л, такая, что
- Qn(n) = O(logn) и UА (л) = РА (п) = О (п log п) .
[197, 242], то имеет место приводимое ниже следствие.
Следствие 1. Задача поиска ближайшего соседа на плоскости может быть решена таким образом, что время ответа на запрос будет O(log2n), а время корректировки структуры будет О(п). (Отметим, что в нашем случае С(п) = О (log п).)
Существует несколько других схем динамизации с разными соотношениями (время ответа на запрос)/(требуемая память) и (время ответа на запрос)/(время на перестройку). Например, если в рассмотренной схеме выбрать иную последовательность точек переключения, тО получатся и другие время ответа на запрос и время корректировки. Читателя, интересующегося деталями, мы отсылаем к упоминавшимся выше работам.
КЛАССЫ ЗАДАЧ
В этом разделе мы дадим обзор каждого из классов задач, о которых было сказано в введении.
А. Выпуклые оболочки
Задача построения выпуклой оболочки не только оказывается центральной для практических приложений, но является также основой для решения ряда других важных вопросов вычислительной геометрии.
Задача 3.1.1. Выпуклая оболочка. Задано множество S из п точек в d-мерном пространстве. Требуется найти выпуклую оболочку этого множества. (Выпуклая оболочка множества — это наименьшее выпуклое множество, содержащее заданное множество; граница выпуклой оболочки S обозначается CH(S).)
Задача построения выпуклой оболочки, в частности для множества точек на плоскости, интенсивно изучалась и имеет разнообразные приложения в распознавании образов [5, 115], обработке изображений [301] и других областях [152]. В разд. II-D мы уже видели, что эта задача может быть решена методом «разделяй и властвуй» за время O(nlogn). Имеется длинный список статей, содержащих результаты о выпуклой оболочке множества точек на плоскости [3, 4, 6, 7, 31, 32, 42, 66, 68, 120, 167, 184, 293, 310, 313]. Время работы предлагаемых алгоритмов равно либо O(nlogn), либо О(пН), где Н — число точек на границе выпуклой оболочки. Исключение составляют работы [68, 310], в которых рассматривается построение выпуклой оболочки в пространствах более высокой размерности.
Отметим здесь, что результатом решения задачи построения выпуклой оболочки на плоскости является упорядоченный список вершин, лежащих на границе выпуклой оболочки. Следовательно, время О (п log п) является необходимым и достаточным для построения выпуклой оболочки (см. лемму 3.6.2).
Мы начнем с краткого обзора двух ранних подходов к решению этой задачи, известных под названиями: метод сканирования Грэхэма [167] и метод обхода Джарвиса [184]. Обе эти схемы содержат много плодотворных для данной темы идей. В связи с этим следует обратить внимание на работу [333], в которой приоритет на разработку первого алгоритма построения выпуклой оболочки приписывается Бэссу и Шуберту [25].
Метод сканирования Грэхэма. Грэхэм в одной из первых работ, посвященных задачам вычислительной геометрии [167], предложил алгоритм со сложностью O(nlogn) для вычисления выпуклой оболочки п точек на плоскости. Этот алгоритм работает следующим образом. Во-первых, произвольным образом
выбирается некоторая внутренняя точка О, например геометрический центр масс трех из заданных точек. Во-вторых, точки множества упорядочиваются в соответствии с их углом поворота относительно точки О. Затем выбирается точка, про которую заведомо известно, что она лежит на выпуклой оболочке, например точка у0 с минимальной у-координатой (и максимальной х-координатой, если таких точек несколько). Предположим, что множество точек представлено упорядоченным списком Уо, Уь ..., Ул-1, в котором точки перечислены в порядке обхода против часовой стрелки относительно выбранной ранее точки О, и при этом у, = СЛЕДУЮЩИЙ (y<-i), / = 1, 2, ..., п, и иП = Уо. Указатель ПРЕДЫДУЩИЙ соответствует обходу в обратном порядке по часовой стрелке. Теперь просмотрим все точки, обрабатывая на каждом шаге по три точки. Будем говорить, что три точки I, и, и образуют левый поворот, если точка у расположена строго слева от направленной прямой, идущей от t к и. Просмотр точек выполняется следующим образом.
begin у := у0;
• while СЛЕДУЮЩИЙ(у) ^ у0 do чэг. ,И у,СЛЕДУЮЩИЙ(у), СЛЕДУЮЩИЙ
' 1(СЛЕДУЮЩИЙ(у)) образуют левый поворот
'thenу :=СЛЕДУЮЩИЙ(у)
" 'elsebegin
"'УДАЛИТЬ СЛЕДУЮЩИЙ(у);
■ '.if и ^ у0, then у := ПРЕДЫДУЩИЙ(у)
- ’' i end
end ? г м
Всякий раз, когда последовательная тройка вершин образует левый поворот, мы продвигаемся дальше. В противном случае средняя точка СЛЕДУЮЩИЙ (у) не принадлежит выпуклой оболочке и должна быть удалена (и больше никогда не просматриваться вновь). При удалении вершины мы возвращаемся назад для того, чтобы проверить, что точка у по-прежнему принадлежит выпуклой оболочке. Таким образом, мы либо продвигаемся вперед по списку вершин, либо возвращаемся назад по списку вершин, отнесенных предварительно к выпуклой оболочке. Так как на выполнение каждого шага требуется постоянный квант времени, то весь просмотр списка осуществляется за линейное время. Поэтому полное время выполнения алгоритма равно О (и logo), так хак определяющим является шаг сортировки.
Метод обхода Джарвиса. Указав на то, что независимо от окончательной выпуклой оболочки алгоритм Грэхэма всегда
выполняется за время O(nlogn), Джарвис предложил альтернативное решение задачи построения выпуклой оболочки, требующее времени О(пН), где Н — число вершин выпуклой оболочки [184]. Следовательно, если W = o(logn), то алгоритм Джарвиса лучше, чем алгоритм Грэхэма. Подход, выбранный Джарвисом, соблазнителен идеей «заворачивания подарка в бумагу», также применимой к методу [68] Начиная с точки и, про которую известно, что она принадлежит выпуклой оболочке (как и в методе Грэхэма), за линейное время мы находим следующую точку и, такую, что ребро и, о входит в выпуклую оболочку, т. е. все остальные точки лежат по одну сторону от ориентированной прямой, содержащей ребро и, и. После того как вершина и найдена, тот же самый метод применяется для выявления следующей точки w, такой, что у, w является ребром выпуклой оболочки, и так далее до тех пор, пока мы не «обернем» снова начальную точку и. Легко видеть, что число необходимых итераций в точности равно числу вершин выпуклой оболочки, так что полное время равно О(пН), так как каждая итерация требует времени О (л).
Другой интересный подход, допускающий обобщение на случай трехмерного пространства, основан на методе «разделяй и властвуй» [293, 315]. После разбиения исходного множества точек на два примерно равных подмножества и рекурсивного построения их выпуклой оболочки шаг соединения получившихся решений выполняется на основе решения следующей задачи.
Задача 3.1.2. Объединение двух непересекающихся выпуклых многоугольников. Заданы два непересекающихся выпуклых многоугольника Р и Q с р и q вершинами соответственно. Требуется найти их выпуклую оболочку.
Эта задача решена в работе [293] путем нахождения общих опорных прямых к Р и Q, где опорная прямая к многоугольнику Р — это прямая линия, имеющая по крайней мере одну общую точку с Р, и все вершины Р расположены по одну сторону от этой линии. Так как по предположению Р и Q не пересекаются, то Р и Q имеют две опорные прямые, такие, что Р и Q находятся по одну сторону. Такие прямые могут быть найдены за время О(р + q).
Стягивая Q до одной точки, получаем непосредственно решение следующей дополнительной задачи.
Задача 3.1.3. Опорные прямые к выпуклому многоугольнику. Задан выпуклый многоуольник Реп вершинами и внешняя по отношению к Р точка и. Требуется найти две опорные прямые к Р, проходящие через точку и. Mt&
Эка задача, тривиальная без использования предобработки, становится более интересной в режиме многократного использования и может быть решена за время О (log/г) путем очевидной адаптации процедуры бинарного поиска [316].
Некоторые из представленных выше идей были элегантно соединены в новом интересном методе построения выпуклой оболочки, разработанном недавно Киркпатриком и Сейделом [198]. Их метод представляет комбинацию подходов разделяй и властвуй и поиска с отсечением и для его выполнения требуется время О(п log//), что является асимптотически оптимальным [199]. Алгоритм раздельно строит верхнюю и нижнюю части оболочки, а именно две цепочки вершин оболочки, разделенные самой левой и самой правой вершинами. С учетом симметричности построения рассматривается построение только верхней части оболочки. Сначала множество точек S разбивается на два подмножества примерно равного размера. Далее вместо рекурсивного построения верхней части оболочки двух половин и вычисления их общей опорной прямой (называемой верхним соединением) сначала строится это соединение, а затем раздельно верхние оболочки множеств, соответственно слева и справа от самой левой и самой правой конечных точек соединения (точек соединения).
Ключевым моментом метода является эффективный способ построения соединения, который будет обсужден ниже. Сначала Мы дадим не совсем формальное описание схемы алгоритма. Если Mi и М2—индексы точек множества S, имеющих самую маленькую и самую большую абсциссы (для простоты считается, что абсциссы всех точек различны), то верхняя часть оболочки строится в результате обращения СОЕДИНИТЬ (Мь М2;5) к следующей процедуре:\
Procedure СОЕДИНИТЬ (min, max; Л)'
begin, а ,
Найти вертикальную прямую х = /г^ р^е^би^ю А на две половины.'"
2. (t, /):= СОЕДИНЕНИЕМ, т)/ > ,lt
' (Comment: I и / — индексы точек соединения р^ И рд, . расположенных соответственно слева Ж|Р§пддва <$ .^, вертикальной прямой.)'
Пусть Л, = (ре Л, х(р)<х(р,)};
Пусть Л2 = {ре Л, х(р)>х(р/)}u
'4. If z = min then печатать(/)■ : , ,
else СОЕДИНИТЬ(тт, V- ^,1;
f^ jf / = max then печатать(/):
9Й: .else СОЕДИНИТЬ!/, max; AJ’
end•■*
Время выполнения процедуры СОЕДИНИТЬ зависит от времени выполнения функции СОЕДИНЕНИЕ. Последняя, однако, как легко видеть, представляет задачу линейного программирования для двух переменных и п ограничений. Действительно, соединение принадлежит прямой L*, такой, что каждая точка S находится ниже L*, и ордината пересечения которой с прямой х = т минимальна. Таким образом, положив L: у = = ах + Ь, имеем
минимизировать (та + Ь)■:
при условии Х]-а + b^у^ j = 1, 2п.
Используя метод поиска с отсечением из работ [118, 257], коротко рассмотренный в разд. II-F, эту задачу можно решить за время 6(п). Отмечая, что нахождение медианы на шаге 1 выполнения процедуры СОЕДИНИТЬ также требует времени 6 (п), и обозначая через h число ребер верхней части оболочки, находим, что время выполнения Т (п, h) СОЕДИНИТЬ удовлетворяет следующему рекуррентному соотношению:.
Т (п, h) = cn, если Л=1,'
Т (п, h) = cn + тахА1+А2-л У (п/2, h^ + Т (п/2, Л2)), ч если h> 1, с —некоторая константа.
Нетрудно заметить, что Т^п, h) равно O(n log/i). Таким образом, за время О (n log h) мы можем получить верхнюю часть выпуклой оболочки. Аналогичным образом вычисляется нижняя часть выпуклой оболочки, так что легко устанавливается верхняя оценка O(n\ogH') времени построения полной оболочки. Обращаем внимание также на работу [254], в которой дана модификация алгоритма из работы [198], обладающая лучшим поведением в среднем.
При размерности пространства d ^ 3 имеем следующие результаты. В работе [8] приведен алгоритм построения выпуклой оболочки в трехмерном пространстве без анализа временной сложности алгоритма. В [185] дан алгоритм со сложностью О (nF), где F— число граней трехмерной выпуклой оболочки, разработанный на основе подхода, аналогичного рассмотренному в [184]. В работе [293] дан оптимальный (O(nlogn)) алгоритм на основе метода «разделяй и властвуй» для построения выпуклой оболочки в пространствах размерности 2 и 3. В работах [68] и [310] дан алгоритм решения задачи построения выпуклой оболочки в случае пространств размерности d ^ 3. Алгоритм в работе [185] является частным случаем для d = 3 метода, рассмотренного в [68], а алгоритм в работе [310] является оптимальным для пространств четной размерности,.
В работе [42] дан алгоритм с линейной сложностью в среднем для задачи построения выпуклой оболочки на плоскости. (См. также работу [97], содержащую обзор алгоритмов построения выпуклой оболочки с линейной сложностью в среднем.)
Мы завершаем этот раздел обзором нескольких дополнительных задач, имеющих отношение к понятию выпуклой оболочки.
Задача 3.1.4. Выпуклая оболочка простого многоугольника. На плоскости задан простой многоугольник с п вершинами. Требуется найти его выпуклую оболочку.
Тот факт, что точки заданы в виде некоторой последовательности вершин простого многоугольника, позволяет решить эту задачу за линейное время [48, 168, 214, 249, 334].
Задача 3.1.5. Принадлежность выпуклому многоугольнику. Задан выпуклый многоугольник Реп вершинами. При условии что допускается предобработка, определить, находится ли некоторая пробная точка и внутри Р.
Эта задача может быть решена очень легко. Возомем произвольную внутреннюю точку О многоугольника Р в качестве начала. Представим вершины многоугольника Р в виде бинарного дерева поиска (это можно сделать, так как вершины Р упорядочены в порядке обхода при движении вокруг точки О). Выполняя бинарный поиск, определим сектор, в котором находится пробная точка. (Сектор—это область плоскости, определяемая точкой О и двумя последовательными вершинами многоугольника Р.) Если сектор уже определен, достаточно выполнить единственное сравнение, чтобы определить, с какой стороны от ребра многоугольника Р находится точка, т. е. определить, находится ли она внутри Р.
Задача 3.1.6. Последовательное построение выпуклой оболочки. Задано множество из п точек р\, р2, ..., рл, поступающих последовательно по одной точке за раз. Требуется найти выпуклую оболочку множества (pi, р2pj после поступления точки pi.
Прямой подход непосредственного построения выпуклой оболочки каждый раз, когда поступает новая точка, является вполне корректным, но при этом время вычислений равно ■
f Н < i
Е О и log /) = О (п2 log /г).Ч
Вопрос состоит в том, можно ли сделать это лучшим образом. Оказывается, что, используя свойство выпуклости, можно раз-
работать алгоритм со сложностью О (л log л), при этом время, достаточное для конструирования новой выпуклой оболочки для каждой вновь поступившей точки, составляет О (log л) [291]. Основная идея состоит в том, чтобы организовать вершины текущей выпуклой оболочки в виде бинарного дерева определенного вида и для каждой новой точки р, прежде всего определить, находится ли она внутри текущей выпуклой оболочки. Если это так. то точка игнорируется. В противоположном случае ищутся две опорные прямые из точки р, к текущей выпуклой оболочке. Затем выпуклая оболочка изменяется путем удаления соответствующего множества вершин, заключенных между опорными прямыми, и включения точки р, в качестве новой вершины. Проверка принадлежности точки к внутренности выпуклой оболочки, определение опорных прямых и удаление вершин, не принадлежащих выпуклой оболочке, могут быть выполнены за время O(logz). Детальное обсуждение см. в работе [291]. Более простой альтернативный метод может быть найден в работах [21, 221].
Естественный вопрос, который может быть задан в этом месте, состоит в том, а что же произойдет, если разрешить удалять точки. В этом случае мы больше не можем уничтожать те точки, о которых стало известно, что они не находятся на выпуклой оболочке, так как они могут вновь стать вершинами выпуклой оболочки после удаления некоторой точки выпуклой оболочки. Таким образом, мы имеем следующую задачу.
Задача 3.1.7. Поддержание выпуклой оболочки. Задана последовательность точек pi, pi, . .., рп, часть из которых соответствует исключаемым точкам, а часть — добавляемым. Необходимо поддерживать выпуклую оболочку этого множества точек.
Эта задача была элегантно решена Овермарсом и ван Леу- веном [281]. Они показали, что выпуклую оболочку можно поддерживать, затрачивая на операции добавления и исключения точек время, равное О (log2 и).
Задача 3.1.8. Глубина и выпуклые слои множества. Задано множество S из и точек на плоскости. Требуется найти последовательность (CH(S,) \i= 1, 2, ..., д'), где So = S и S,= = S,-I - I/(CH(S.--1)), z = l, 2, ..., d. Здесь V(CH(T)) обо значает множество вершин СН(Т'), a Sd = E(CH(Sd)). Глубина множества точек равна d, т. е. числу выпуклых слоев, полученных в результате указанной процедуры.
Эта задача возникает при статистическом оценивании, где «наблюдения» (точки) на внешних слоях выпуклых оболочек представляют «шум» и должны быть исключены из числа ис-
пользуемых для оценивания. Модифицируя алгоритм Джарвиса, легко получить алгоритм со сложностью О (и2). При использовании алгоритма Овермарса и ван Леувена [281] граница для худшего случая может быть улучшена до O(niog2n). Недавно Чазелле получил для этой задачи оптимальный алгоритм со сложностью О (и log п). Этот результат имеет применение в задаче полупланарного интервального поиска и при вычислении глубины произвольной заданной точки. (Глубина некоторой пробной точки в множестве точек S определяется как число выпуклых слоев множества S, охватывающих эту точку.) С помощью предобработки выпуклых слоев глубина пробной точки может быть определена в результате вычисления, в какую из областей между последовательными слоями она попадает (ср. с задачей 3.3.10).
Эффективный алгоритм, отличный от тривиального, для вычисления выпуклых слоев множества точек в пространствах размерности d 3, неизвестен.
Пересечения '
Задачи пересечения и их вариации возникают во многих областях науки и практики, таких, как проектирование в архитектуре, машинная графика, распознавание образов и т. д. При архитектурном проектировании нельзя поместить два непроницаемых объекта в одно и то же место в пространстве. При отображении объектов на двумерном поле скрытые части (или пересекающиеся части) должны быть удалены, чтобы усилить ощущение реальности. Это — давняя задача, известная как задача удаления скрытых (невидимых) линий или поверхностей [268].
При проектировании интегральных схем два различных элемента должны быть удалены друг от друга на определенное расстояние, и обнаружение того, выполняется или нет это условие, по сути дела является задачей пересечения. Так как конкретная задача может содержать тысячи объектов, то необходимы быстрые алгоритмы для обнаружения пересечения или сигнализации о наличии пересечения перекрывающихся объектов. Другой повод для изучения сложности алгоритмов для задач пересечения состоит в том, что это может пролить свет на присущую геометрическим задачам сложность. Например, насколько сложной является процедура определения, является ли заданный многоугольник с п вершинами простым (проверка простоты), или как много времени необходимо для определения, имеются ли среди п объектов на плоскости, таких, как многоугольники, отрезки и т. д., два пересекающихся (обнаружение пересечения)? Обе задачи решаются за время O(nlog/i)
. Этот результат является оптимальным в рамках модели алгебраических деревьев вычислений (с некоторым набором примитивных операций) [26] для последней задачи, в то время как для первой задачи остается открытым вопрос о том, является ли Q(n log м) нижней оценкой.
Среди множества задач о пересечении объектов можно выделить два основных типа: задачи на построение и задачи на обнаружение пересечения. В задачах первого типа требуется явно вычислить пересечение, в то время как задачи второго типа относятся к категории задач на проверку (в которой требуется определить, какие два объекта пересекаются, если пересечение вообще имеет место). Очевидно, что задача обнаружения пересечения легче задачи построения пересечения объектов, и убедительное доказательство этого приведено в работе [82]. Теперь мы обсудим класс важных задач о пересечении объектов. В дальнейшем мы предполагаем, что если задан простой многоугольник Р, то стандартной формой определения многоугольника является последовательность вершин, т. е. Р = (ио, иь • •. ..., ип-\), и (и/, игн) является ребром для i = 0, 1, ..., п— 1, а ил = и0- При этом внутренняя область многоугольника оказывается расположенной слева при прохождении ребер в указанном порядке.
Задача 3.2.1. Пересечение выпуклых многоугольников. Заданы два выпуклых многоугольника Р и Q, имеющие тип вершин соответственно Требуется построить их пересечение. Эта задача может быть решена оптимальным образом за время СЦт-\-п) [317] методом заметания плоскости. Очевидно, что пересечение каждого многоугольника с вертикальной полосой, расположенной между двумя последовательными критическими точками, является в общем случае трапецоидом (возможно, пустым или выродившимся в треугольник). Учитывая, что пересечение двух трапецоидов может быть найдено за время 0(1), получаем указанный результат (рис. 3). Альтернативный метод был предложен в работе [273].
Задача 3.2.2. Пересечение звездных многоугольников. Заданы два звездных многоугольника с т и п вершинами соответственно. Требуется найти их пересечение. (Многоугольник Р называется звездным, если существует по крайней мере одна точка у внутри Р, такая, что каждая точка многоугольника Р видна из у. т е. отрезок, соединяющий у и произвольную точку многоугольника Р, целиком лежит внутри Р.)
Для решения этой задачи, однако, требуется время Q(mn), так как пересечение может состоять из 0(тп) отдельных компонент. Таким образом, общая задача пересечения многоугольников имеет квадратичную сложность решения в худшем случае.
2 Зак 469
Задача 3.2.3. Обнаружение пересечения отрезков. На плоскости заданы п отрезков. Определить, имеется ли хотя бы одна пара пересекающихся отрезков.
Эта задача может быть решена за время O(nlogn) методом заметания плоскости [317]. Алгоритм основан на следующей идее. Рассмотрим вертикальную заметающую прямую L, которая пересекает некоторое подмножество из заданных отрезков, и эти пересечения образуют полностью упорядоченное множество. Этот порядок сохраняется в каждой вертикальной полосе, ие содержащей пересечений или конечных точек отрезков. Если два отрезка пересекаются, то они должны быть смежными друг
Рис. 3. Вертикальные полосы, определяемые вершинами двух выпуклых многоугольников.
с другом в ходе процесса заметания плоскости. Таким образом, как только отрезок становится активным, он проверяется на пересечение с двумя его соседями, а как только отрезок заканчивается, производится проверка на пересечение двух его соседей (они теперь стали смежными друг с другом). Так как мы выполняем не более п вставок и п исключений, а каждая из этих операций может быть проделана за время O(Iogn) (прочерка пересечения выполняется за время 0(1)), то полное время равно O(nlogn), что является оптимальным (ср. с леммой 3.6.4). Отсюда следует, что задача проверки простоты, т. е. определение того, что заданный многоугольник является простым, может быть решена за время O(nlogn), и задача определения того, пересекаются ли какие-либо две из п заданных окружностей, также может быть решена за время О (п log п).
Задача 3.2.4. Обнаружение пересечения многоугольников Заданы два простых многоугольника Р и Q, имеющие тип вершин соответственно. Определить, пересекаются ли они.
Два многоугольника пересекаются, если либо некоторое ребро одного многоугольника пересекает ребро другого многоугольника, либо один многоугольник целиком содержится внутри
другого многоугольника. Первый случай может быть обнаружен за время O^N log TV), где N = m + п, а второй требует для своего решения времени О(т + л). Последнюю проверку можно выполнить, выбирая произвольную вершину многоугольника Р и Q и проверяя ее принадлежность другому многоугольнику, так как если многоугольник Р содержит многоугольник Q, то он должен содержать и любую вершину многоугольника Q. Таким образом, полное время равно O^N log^).
^Задача об охвате точки, т. е. определение того, принадлежит ли точка р многоугольнику Q, может рассматриваться как задача о пересечении, т. е. проверка справедливости равенства {р} A Q = 0, и может быть решена за линейное время [313].) Отметим, что если как Р, так и Q являются выпуклыми, то задача может быть решена за время O(logAf) [82].
Задача 3.2.5. Перечисление пересечений отрезков. Заданы п отрезков прямых. Найти все пересекающиеся пары отрезков.
Это типичная задача на перечисление пересечений. Метод заметания плоскости работает здесь так же хорошо, как и ранее. В работе [38] можно найти алгоритм, имеющий временную и емкостную сложности О ((п + A) log п) и О(п + А) соответственно, где к — число пересекающихся пар, о которых сообщит алгоритм. Браун [63] показал, что с помощью более тщательной реализации списка критических точек, который изменяется со временем, необходимый объем памяти может быть уменьшен до О(п). Недавно Чазелле [76] получил алгоритм с временной сложностью О(п log2 n/loglogn + к") и емкостной сложностью O(n+ k). Это первое из известных решений общей задачи, имеющее сложность, пропорциональную размеру выходных данных к.
Задача 3.2.6. Подсчет числа пересечений. Заданы п отрезков. Найти число пересекающихся пар отрезков.
Эта задача отличается от задачи 3.2.5 тем, что необходимо лишь подсчитать число пересекающихся пар, а не перечислять каждое пересечение. Очевидно, что любой алгоритм, строящий точки пересечения, может быть использован для решения соответствующей задачи на подсчет пересечений. Но, так как параметр к, который определяет размер выходных данных алгоритма, может быть довольно большим (О(п2) в нашем случае), то это может оказаться неэффективным. Чазелле в той же работе [76] ссылается на ранее полученный алгоритм с временной сложностью О^1'695) и емкостной сложностью О(п).
Задача 3.2.7. Построение пересечения п полуплоскостей На плоскости заданы п полуплоскостей. Построить пересечение всех заданных полуплоскостей. ■ ■
Можно показать, что пересечение п полуплоскостей может быть найдено за время O(nlogn) методом «разделяй и властвуй», так как шаг соединения решений по своей сути есть не что иное, как задача 3.2.1, которая может быть решена за линейное время. Эта оценка является оптимальной (см. разд. II1-F).
Задача 3.2.8. Ядро многоугольника. Задан простой многоугольник с п вершинами. Найти его ядро. (Ядро многоугольника— это пересечение п полуплоскостей, каждая из которых расположена слева от прямой линии, содержащей ребро многоугольника и ориентированной в соответствии с прохождением ребра в стандартном представлении многоугольника.)
Очевидно, что ядро может быть найдено за время О(п logn) простым применением алгоритма для вычисления пересечения полуплоскостей. Однако учет того факта, что эти п полуплоскостей не являются произвольными, а определяются ребрами простого многоугольника, позволяет получить алгоритм со сложностью 0(м) [227].
Задача 3.2.9. Построение пересечения выпуклых многогранников. Заданы два выпуклых многогранника Р и Q, имеющие тип вершин соответственно. Найти их пересечение.
Эта задача является еще одним примером, для которого может быть с успехом применен метод геометрического преобразования, известного как двойственность. Маллер и Препарата [265] получили для этой задачи алгоритм со сложностью O(N log N), где N = m + n. Дайер также разработал алгоритм решения этой задачи, имеющий сложность O(N\ogN) [117]. Недавно для решения этой задачи был предложен совершенно другой элегантный алгоритм, использующий метод заметания пространства [176].
Задача 3.2.10. Обнаружение пересечения выпуклых многогранников. Заданы два выпуклых многогранника Р и Q, имеющие тип вершин соответственно. Определить, пересекаются ли они.
Очевидно, алгоритм решения соответствующей задачи построения пересечения работает и в этом случае. Однако так как нам необходимо лишь засвидетельствовать наличие пересечения (точка в пересечении), если многогранники действительно пересекаются, то мы вправе ожидать более быстрого решения. Добкин и Киркпатрик в работе [104] дают для этой задачи алгоритм со сложностью О(п). В этой же работе они указывают на алгоритм, разработанный независимо Дайером и имеющий также линейную временную сложность. Если выполнить предобработку многогранников, то может быть получено решение, сложность которого есть некоторый полином от логарифма раз-
мера задачи [82, 103, 105]. Аналогичные утверждения могут быть сделаны и относительно задачи обнаружения пересечения выпуклых многоугольников. В работах [2, 57] приведены другие методы обнаружения пересечения между твердыми телами.
Задача 3.2.11. Построение пересечения полупространств. В трехмерном пространстве заданы п полупространств. Найти их пересечение.
Эта задача со всей очевидностью может быть решена методом «разделяй и властвуй» за время О (л log2 л), так как шаг соединения решений по сути есть задача 3.2.9, которая может быть решена за время О (л log л). Препарата и Маллер [294] использовали метод геометрического преобразования и алгоритм отделяющей полуплоскости (см. задачу 3.5.2) для получения оптимального алгоритма решения этой задачи, имеющего сложность О (л log л).
Задача 3.2.12. Перечисление пересечений прямоугольников. Заданы л изотетичных прямоугольников, т. е. прямоугольников, стороны которых параллельны осям координат. Найти все к пар пересекающихся прямоугольников.
Эта задача возникает при проектировании СБИС. Каждый прямоугольник используется для моделирования компоненты цепи и при этом необходимо придерживаться определенных правил конструирования [24, 35, 46, 126, 207, 250, 251, 320]. Оптимальный по времени алгоритм, имеющий временную сложность O(лlogл-(-^) и емкостную сложность О (л), был независимо получен Мак-Крейтом [250] и Эделсбруннером [123]. Оба они использовали метод заметания плоскости в сочетании с новой структурой данных, называемой деревом интервалов, для поддержания статуса заметающей прямой. Те же самые оценки по времени и памяти могут быть достигнуты при использовании метода «разделяй и властвуй» [174, 220]. Используя дерево отрезков [28, 292], Чазелле и Инчерпи [87] также разработали алгоритм, имеющий те же оценки сложности. Более того, метод, называемый методом распутывания деревьев отрезков, рассмотренный в работе [87], может быть обобщен на случай пространств более высокой размерности, как об этом говорится ниже. Методом преобразования этой задачи в пакет запросов, вставок и удалений Эделсбруннер и Овермарс [136] также получили аналогичные результаты.
Задача 3.2.13. Перечисление пересечений d-мерных параллелепипедов. Заданы л изотетичных d-мерных параллелепипедов в d-мерном пространстве, d > 2. Найти все к пар пересекающихся d-мерных параллелепипедов.
Сикс и Вуд получили алгоритм, имеющий временную и емкостную сложности О (n logd_| п + А) и О(п logd-,n) соответственно [321]. Позднее Эделсбруннер улучшил временную оценку этого алгоритма до O(nlogd~2n) [126]. В пределах той же оценки времени выполнения алгоритма Чазелле и Инчерпи [187] и Эделсбруннер и Овермарс [136] снизили емкостную сложность алгоритма до О(п), что Является оптимальным.
Задача 3.2.14. Подсчет числа пересечений d-мерных параллелепипедов. Заданы п изотетичных d-мерных параллелепипедов в d-мерном пространстве, d ^ 1. Найти число пересекающихся пар.
В отличие от задачи подсчета числа пересечений отрезков эта задача может быть решена за время O(/zlogd-ln) при объеме памяти О(п logd~2п) путем незначительного изменения алгоритма решения задачи перечисления пересечений [321]. Отметим, что алгоритм, приведенный в работе [87], не может быть приспособлен для эффективного решения задачи подсчета числа пересечений.
Задача 3.2.15. Перечисление включений прямоугольников. Заданы п изотетичных прямоугольников. Найти все к пар прямоугольников, таких, что один включает другой.
Впервые эта задача была изучена в работе [336], в которой сообщалось об алгоритме, имеющем временную и емкостную сложности О (п log2 п -|- k) и O(nlog2n) соответственно. Ли и Вонг [234] и независимо от них Эделсбруннер [122] получили тот же самый результат, используя геометрическое преобразование, которое отображает задачу для d-мерного случая в задачу для 2d-MepHoro случая при d ^ 1. Позднее Ли и Препарата [228] использовали метод «разделяй и властвуй», что позволило улучшить оценку требуемой памяти до О(м). Было показано, что эта задача эквивалентна четырехмерной задаче о доминировании [135, 228] (ср. разд. П-С).
Задача 3.2.16. Обнаружение включения многоугольника. Заданы два многоугольника Р и Q, имеющие тип вершин соответственно. При условии что допускается перенос и вращение многоугольников, определить, включает ли многоугольник Q многоугольник Р.
Чазелле [71] разработал несколько алгоритмов решения этой задачи для случая многоугольников общего вида, выпуклых многоугольников и т. д. Если как Р, так и Q являются многоугольниками общего вида, то задача может быть решена за время O(m3n3(m + n)log(/n + п)), а в случае, когда Q — выпуклый многоугольник, задача может быть решена за время О (тп2). . ■ ■
Задача 3.2.17. Видимость многоугольника из точки. На плоскости заданы множество непересекающихся многоугольников и некоторая точка q. Найти участки границы многоугольников, видимые из точки q.
Это по сути дела задача удаления невидимых линий, возникающая в машинной графике. Задача удаления невидимых линий или невидимых поверхностей интенсивно изучалась в целом ряде работ [65, 152, 153, 159, 326]. Если множество состоит из единственного простого многоугольника, то для этого случая известны по крайней мере два алгоритма, имеющие линейную временную сложность [143, 218]. Используемый при этом метод аналогичен методу сканирования Грэхэма в том плане, что сначала определяется некоторая точка, видимая из q, а затем при помощи свойства простоты многоугольника организуется просмотр вершин многоугольника Р и при этом те участки границы Р, которые не видны из q, удаляются. В случае когда множество состоит из пг непересекающихся выпуклых многоугольников с общим числом ребер, равным п, эта задача может быть решена за время О ^m log п 4- F), где F— размер выходных данных [221]. В работе Эделсбруннера и др. [138] также изучается эта задача. В этой же работе обсуждается задача видимости многоугольников и в случае, когда допускается добавление или исключение многоугольников, а также вопрос изменения видимой части границы многоугольников при изменении направления взгляда или когда допускается перемещение точки зрения (наблюдения).
Задача 3.2.18. Видимость многоугольника с ребра. Заданы простой многоугольник Р с п вершинами и некоторое ребро многоугольника Р. Найти часть границы многоугольника Р, видимую с ребра е. (Точка q, принадлежащая Р, считается видимой с ребра е, если существует точка г, лежащая на ребре е, такая, что отрезок q, г не пересекает границу многоугольника Р.)
Задача видимости с ребра впервые была изучена Ави и Туссеном [22]. Они предложили алгоритм со сложностью О(ц) для определения видимости многоугольника Р с ребра е (в [22] для этого используется термин слабая видимость). В работе [22] показано, что граница многоугольника Р видима с ребра е тогда и только тогда, когда внутреняя часть Р видима с ребра е, и вместе с тем задача определения видимости многоугольника за время О (я) отмечена как открытая. Алгоритм со сложностью O(nlogn) был независимо предложен Эль Гинди [142] и Ли и Лином [223]. Чазелле и Гуибас [85], используя теорему о разрезании многоугольника [70], также получили алгоритм, имеющий временную сложность O(n logn).
Имеется ряд других задач, связанных с вычислением пло-
щади, периметра, нахождением контура или числа связных компонент объединения изотетичных прямоугольников или других объектов, таких, как квадраты или круги [87, 134, 172, 178, 179, 182, 183, 239—241, 323, 342]. Однако исследования пересечений между множествами объектов не получили должного внимания. Например, пусть заданы два множества отрезков и требуется найти все пары пересекающихся отрезков, таких, что оба отрезка не принадлежат одному и тому же множеству. Недавняя статья Мэрсона и Столфи [246] содержит оптимальный алгоритм решения этой задачи, имеющий временную и емкостную сложности О (n log и + &) и О(п) соответственно, в предположении, что никакая пара отрезков, принадлежащих одному и тому же множеству, не пересекается. Таким образом, отсюда следует [246], что пересечение двух простых многоугольников может быть найдено за время О(п log и + Л).
Геометрические задачи поиска
В этом разделе мы представим ряд геометрических задач поиска. Задача поиска определяется запросом, к некоторой базе данных и процедурой выбора ответа в базе данных. База данных представляет набор геометрических объектов определенного вида и обычно организована в виде некоторой структуры, чтобы облегчить процесс поиска. В соответствии с классификацией, предложенной в [295|, имеются два типа запросов: однократные и многократные. В зависимости от того, является ли база данных фиксированной или изменяется на протяжении времени работы с ней, мы имеем два типа организации базы данных: статическую и динамическую соответственно. Однократные запросы менее интересны, чем многократные. Мы имеем четыре меры стоимости, зависящие от размера базы данных п и размера ответа на запрос F.
Время ответа Q(n, F)—время, необходимое для ответа на запрос.
Объем памяти S(n)—объем памяти, необходимой для представления структурированной базы данных.
Время предобработки Р(п) —время, необходимое для организации базы данных в форме, наиболее удобной для поиска.
Время перестройки — время, необходимое для вставки /(и) и удаления О(ч) элементов. Эти меры имеют смысл только для динамических баз данных. Если /(п) = 9(D(л)), то мы полагаем, что время перестройки есть Е/(п)= О(/(п)) = = О(О(м)).
Рассматриваемые далее задачи формулируются для случая двумерного пространства. При необходимости будут упоминать-
ся обобщения на случай d-мерных пространств. В этом случае указанные меры стоимости будут иметь индекс d.
Задача 3.3.1. Интервальный поиск с подсчетом. На плоскости заданы п точек. Найти число точек, расположенных в заданном (в запросе) прямоугольнике, определяемом как декартово произведение интервалов (щ, а2)Х(6ь 62). Это значит, что необходимо найти число и точек р = ^х,у^, таких, что а, ^ х ^ ^ а2, 61 ^ у ^ 62. (Отметим, что размер ответа на запрос F определяется единственным целым числом.)
Эта задача может быть решена методом геометрического места точек, обсуждавшимся в разд. П-В. Положим, что вершины А, В, С и D заданного в запросе прямоугольника имеют координаты (ai,62), (01,61), (а2,61) и (а2, 62) соответственно, и обозначим через Dom(y) число точек, над которыми доминирует точка q. Так как число точек, попадающих в заданный прямоугольник, равно Dom(D)—Dom(X)—Dom(C) + Dom(B), то для решения задачи достаточно четыре раза выполнить процедуру поиска с тем, чтобы определить положение каждой, из вершин прямоугольника среди О (га2) клеток, на которые разбивается плоскость исходными точками. (Положение точки на плоскости определяется в результате двукратного выполнения процедуры бинарного поиска: один раз для определения вертикальной полосы, в которой находится точка, и второй раз для определения горизонтальной полосы.) Таким образом, мы имеем Q (га) = О (log п), S (га) = Р (га) = О (п2). В d-мерном пространстве метод геометрического места точек, или метод разбиения на клетки, может быть естественным образом обобщен, что дает следующий результат:
Qd (п) = О (log га) и Sd (га) = Pd (га) = О (nd).
Для решения задачи интервального поиска Бентли ввел структуру данных, названную деревом интервалов. Используя эту структуру, Люкер и Виллард [244, 344, 347], Ли и Вонг [233] и Бентли и Шамос [41] сумели получить следующий результат для задачи подсчета числа точек при интервальном поиске в случае d-мерного пространства: d ^ 2, Qd(n)= O(logd га), Ра(п)= Sd(n)= О^п logd-‘ га). Структура дерева интервалов будет описана ниже.
Задача 3.3.2. Перечисление точек при интервальном поиске. На плоскости заданы п точек. Перечислить все точки, попадающие в заданный (в запросе) прямоугольник. (Запрос делается в такой же форме, что и в задаче 3.3.1.)
Эта задача имеет очевидное приложение к системам баз данных. В базе данных, содержащей записи о служащих неко-
торой компании, каждая запись может иметь несколько атрибутов, таких, как возраст, жалованье и т. д., и может рассматриваться как точка в d-мерном пространстве, в котором каждый атрибут соответствует измерению, а число измерений пространства d равно числу атрибутов. Типичная задача интервального поиска для двух измерений заключается в выявлении всех служащих, чьи возраст и жалованье находятся в заданных интервалах. В этой области выполнен большой ряд исследований. В работе Бентли и Фридмена [34], содержащей обзор алгоритмов и структур данных для интервального поиска, описывается состояние дел на 1979 г. Решение этой задачи, а также ее варианта, касающегося подсчета числа точек, полученное Виллардом [346], основано на использовании дерева интервалов; имеем следующие характеристики:
. Qd {п, П = О (log^~ ^ п + F^ Рй W = Sd W = (Цп log^1 п\
Другие методы, имеющие те же самые оценки, приведены в работе [158]. Позднее оценка необходимого объема памяти была улучшена Чазелле на множитель log log/г [74]. Однако это улучшение имеет место только для задачи перечисления точек.
Дерево интервалов по своей форме напоминает «пирамиду», и обычно о нем говорят как о дереве деревьев. Мы начнем со структуры для одномерного случая, а затем рекурсивно определим деревья для случая d-мерных пространств, основываясь при этом на (d— 1)-мерном случае. Одномерное дерево интервалов— это упорядоченный массив, т. е. массив или список записей, упорядоченный в порядке возрастания значений первой координаты. Дерево интервалов для двумерного случая — это обычное сбалансированное дерево бинарного поиска, организованное в соответствии со второй координатой каждой записи. Каждому листу дерева соответствует одна запись, а каждому узлу — записи в его поддереве. Кроме того, к каждому узлу присоединено одномерное дерево интервалов, организующее записи, соответствующие узлу, в зависимости от их первой координаты. Отсюда видно, что п записей на уровне I примерно равномерно распределены между 2' узлами. Это распределение распространяется примерно на log2 п уровней и подходящим образом заканчивается, когда множество записей становится настолько маленьким, что все они могут быть без затруднений просмотрены методом «грубой силы». Эта же идея обобщается на случай пространств более высокой размерности, так что в случае d-мерного пространства мы имеем сбалансированное дерево бинарного поиска по координате с номером d, а каждый узел связан с (d—1)-мерным деревом интервалов для (d— 1)-мерных записей, соответствующих узлу.
- Алгоритм поиска по дереву интервалов является рекурсив-
ным, и без потери общности мы опишем его для случая двух измерений. Каждый узел в дереве представляет некоторый интервал по (/-координате. При прохождении узла мы прежде всего сравниваем (/-интервал запроса с (/-интервалом узла. Если (/-интервал узла целиком попадает в (/-интервал запроса, то мы осуществляем поиск в упорядоченном массиве, запоминаемом в узле, для обнаружения всех точек, попадающих в х-интервал запроса. Если (/-интервал запроса целиком находится ниже величины, с которой производится сравнение в узле, то мы рекурсивно проходим левое поддерево. Если (/-интервал запроса целиком находится выше величины, с которой производится сравнение в узле, то мы рекурсивно проходим правое поддерево. В противном случае ((/-интервал запроса содержит величину, с которой производится сравнение) мы проходим оба поддерева.
Анализ планарного дерева интервалов довольно сложен. Так как имеются log2 п уровней и каждый уровень содержит п точек, то суммарный объем требуемой памяти составляет О (га log га). (Предобработка также может быть выполнена за время О (га log га). Что касается времени ответа, то анализ показывает, что на каждом уровне дерева производится поиск не более чем в двух упорядоченных массивах, на что в каждом случае тратится время О (log га), поэтому суммарные затраты составляют О (log2 га) плюс время на выборку ответа. Таким образом, мы имеем
Р (га) = S (га) = О (га log га) и Q(ra, Е) = О (log2 га + Е).
Обобщая приведенные выше аргументы, для d-мерной задачи перечисления точек при интервальном поиске получаем следующее:
Pd (га) = Sd (га) = О (п logd~1 га) и Qd (га, Е) = О (logd га + Е).
Тщательное исследование позволяет улучшить время ответа на запрос на множитель log га. Обращаясь вновь к двумерному случаю, легко сообразить, что имеется существенная избыточность при поиске в упорядоченных массивах для х-координат, так как множество каждого узла является подмножеством множеств его предков. Имея в виду это соображение, массивы всех узлов, кроме корня, заменяются списками. Интервальный поиск по х-координате выполняется исключительно в одномерной структуре, связанной с корнем дерева, а положение в каждом потомке задается указателями. При таком способе организации может быть получена следующая оценка времени ответа на запрос: Qd Vn, F^ = О. (logd-* га + F) [344, 346, 347].
Описание других структур данных, используемых для решения задачи перечисления точек при интервальном поиске, может быть найдено в работах [27, 37, 43, 231]. .
Отметим, что структуры данных, обсуждавшиеся выше, не позволяют делать вставки и исключения записей. Однако, используя метод динамизации (ср. разд. II-G), дерево интервалов можно адаптировать для работы в динамических условиях, так как задачи интервального поиска допускают декомпозицию в смысле Бентли [29]. Если допускаются только вставки, начиная с пустой базы данных, то, как показано в работах [39, 304], могут быть достигнуты следующие характеристики:
РДга) = О (га logd га), Sd(ra) = О (га logd-1 га) и ' .
■ Qd(n, f) = O(logd+'« + f),
где га — текущее количество выполненных вставок. Люкер и Виллард [244] улучшили время ответа на запрос на множитель log га, сохранив неизменными две другие меры даже в том случае, когда допускаются исключения записей. В работе [347] показано, как можно обеспечить быстрое выполнение каждой отдельной операции по перестройке структуры, а не только последовательности таких операций. В частности, могут быть по-' лучены следующие характеристики: Qd(n, F) = O(logd п 4- F), Sd(n)= O(n\ogd''п), а время вставки и исключения записей при этом равны ld(n) = O(logd п) и Dd(га) = ld(га)/log п соответственно [283]. Увеличив время операции исключения на множитель log п, Эделсбруннеру удалось уменьшить время ответа на запрос на множитель log га [125].
С использованием метода динамизации были получены и некоторые другие результаты с иными показателями (время ответа на запрос)/(требуемая память) или (время ответа на запрос)/(время на перестройку). (Соответствующие ссылки приведены в разд. II-G.) Фридмен на некоторой ограниченной модели показал, что Q(ralogdra) является нижней оценкой сложности выполнения последовательности из га операций перестройки структуры базы данных или выбора ответа на запрос [151]. Болоур описал метод хеширования [52], который он использовал вместо поиска по древовидным структурам в задаче интервального поиска. Применение этого метода позволило получить довольно быстрые в среднем решения задачи интервального поиска при условии, что область запросов находится в заранее определенных границах.
Задача 3.3.3. Перечисление точек в многоугольнике. На плоскости заданы п точек. Найти все точки, находящиеся в заданном в запросе многоугольнике с k сторонами. Допускается предобработка.
Это довольно общая задача поиска. Виллард [345] разработал структуру данных, названную деревом многоугольников;-
и показал, что данная задача может быть решена за время Q(n, F) = O(kn°-77 + F) и P(n) = О (га2) в худшем случае (время предобработки можно уменьшить до Р(га) = О (га log2 га) в среднем случае). Необходимая при этом память 3(га) = О(га). В случае поиска с подсчетом числа точек время, достаточное для ответа на запрос, равно OV?n0/77y При использовании новой структуры данных, названной деревом соединений [141], эти результаты были улучшены до Q^n, F) = О (/era0-695 + F) и О (га0-695) для задач перечисления и подсчета соответственно.
Интересное упрощение данной задачи представляет задача перечисления точек в полуплоскости [140], в которой многоугольник вырождается в полуплоскость. Среди результатов, полученных для этой задачи, следует отметить следующие: S(ra)=O(ra3), Q(n, F) = O(logra +F) [131], S(ra) = O(ra), Q(n) = O(ra° 695 + F) [141] и, конечно, результат, полученный в работе [345]. Самый последний результат [86], основанный на сочетании идеи геометрических преобразований и выпуклых слоев (задача 3.1.8), показывает, что задача может быть решена за оптимальное время Q(n) = О (log га + F) cS(n) = О (л) и Р (га) = О (га log п). Однако метод, примененный в [86], не может быть использован для решения соответствующей задачи подсчета числа точек с сохранением тех же самых оценок. Этот вопрос остается открытым. Используя дерево октантов, Яо [353] получил для задачи перечисления точек в полуплоскости решение с S (га) = О (га) и Q (га, F) = О (га°93 + F). Позднее время ответа на запрос улучшили до О (га0,916) Добкин и Эделсбруннер [101]. При объеме памяти О(га4) задача может быть решена за время O(logra4-F) [95]. В действительности Коул и Яп [95] показали, что при объеме пространства O^dn2<1 *) время О (2d log га) оказывается достаточным. '
Задача 3.3.4. Перечисление точек в круге фиксированного радиуса. На плоскости заданы п точек. Найти все точки, попадающие в круг, радиус которого фиксирован, а положение центра может быть произвольным. Допускается предобработка.
Эта задача известна так же, как задача поиска соседей в пределах фиксированного радиуса. Используя метод геометрического места точек, Бентли и Маурер [36] разработали алгоритм со следующими характеристиками: Q (п, F) = О (log га + F), Р(га) = 3(га) = О(п3). Чазелле [73] улучшил как время предобработки, так и требуемый объем памяти, получив для них оценку О(га2log га). Оценка необходимого объема памяти была впоследствии улучшена до О(га2) [128]. Совсем недавно Чазелле и Эделсбруннер [84] сообщили о разработке оптимального (по памяти О (га) и времени О (log га + F)) алгоритма решения данной задачи, при этом время предобработки составляет О (га2).
Задача 3.3.5. Перечисление точек в круге переменного радиуса. На плоскости заданы п точек. Найти все точки, попадающие в круг произвольного радиуса и с произвольным расположением центра. Допускается предобработка.
Яо разработал алгоритм с временем ответа на запрос, равным О(п0 98 + /:’), линейной оценкой требуемой памяти и временем предобработки О(п4) [353] —первый алгоритм, имеющий сложность о(п) в худшем случае. Коул и Яп [95] получили алгоритм с оценками требуемого объема памяти и времени выполнения O(nlog3n) и О (log п + F) соответственно. Оценка для объема памяти была улучшена до О (га (log/г log га)2) [80].
В рассмотренной выше задаче интервального поиска объекты в базе данных представляли точки пространства. Интересные задачи интервального поиска возникают в случае, когда объекты имеют более сложную природу, как, например, прямые отрезки или многоугольники. Ниже мы рассмотрим эти важные обобщения.
Задача 3.3.6. Интервальный поиск с перечислением в множестве отрезков. На плоскости задано множество из п отрезков. Найти все отрезки, имеющие непустое пересечение с заданным прямоугольником.
В машинной графике эта задача известна под названием обрезания по окну [268]. Овермарс [277] и Эделсбруннер с соавторами [137] получили элегантное решение этой задачи, разрешив при этом даже перестройку базы данных. Решение имеет следующие характеристики:
Q(n, F) = O (\og2n-\-F), U (ц) = О (log2п) и S (п) = О (п log п).
Если окно двигается в некотором фиксированном направлении, параллельном одной из координатных осей, то отрезки, статус которых по отношению к окну изменился, могут быть определены за время Q (п, й) = О (log2 п + й), где k — суммарное число таких отрезков.
Задача 3.3.7. Поиск пересечения ортогональных объектов. На плоскости задано множество из п ортогональных объектов. Найти все объекты, пересекающие заданный ортогональный объект. (Ортогональный объект размерности d представляет собой декартово произведение d интервалов, каждый из которых может вырождаться в точку. Например, точка, изотетичный прямоугольник и вертикальный или горизонтальный отрезок являются ортогональными объектами.)
Этот класс задач поиска включает задачи 3.3.1 и 3.3.2. Обратный интервальный поиск, или задача об охвате точки, также принадлежит этому классу. В этой задаче требуется в заданном
множестве из п изотетичных прямоугольников найти все прямоугольники, охватывающие заданную (в запросе) точку. Вайшнави [335] предлагает структуру данных, позволяющую осуществлять поиск с временем ответа на запрос О (log га-И/7) и с P(n)= S(n) = О(п log2 п). Чазелле [74] дает оптимальный алгоритм решения этой задачи, требующий О (га) памяти, время ответа на запрос которого равно О (log га + г). Овермарс и ван Леувен [279, 282], используя метод динамизации, показали, что динамическая задача об охвате точки может быть решена за время
Q(ra, F) = O(\o^n-VF)
с / (га) = О (log3 га), О (га) = О (log2 га) и S (га) = О (га log2 га).
Задача поиска пересечений ортогональных отрезков, в которой требуется найти все отрезки из заданного множества, содержащего п горизонтальных и вертикальных отрезков, пересекающие заданный ортогональный отрезок, исследовалась Вайшнави и Вудом [337]. Они предложили алгоритм со временем ответа на запрос О (log п + F) и временем предобработки и памятью О (га log га). Оценка для памяти может быть уменьшена до О (га) [74]. Для случая когда множество различных значений координат имеет мощность О (га) и допускается добавление и исключение отрезков. Мак-Крейт [251] предложил динамическую структуру данных, использование которой для решения данной задачи требует О (га) памяти и при этом
Q^n, F) = О (log2n + F) и U (п) = О (log2n).
Липский и Пападимитриу [239] разработали алгоритм, имеющий
Q (га, F) = О (log га log log га + F),i/(ra).= O(lograloglogra) и S (га) = О (га log га).
Для общей динамической задачи Эделсбруннер [124] дал алгоритм с
Q^n, F) = O(log2n + F), U (п) = О (log2 п) и S (га) = О (га log га). Задача поиска пересечений прямоугольников касается изотетичных прямоугольников и рассматривается в работах Ли и Вонга [234] и Эделсбруннера [122, 123]. Преобразуя эту задачу для случая d-мерного пространства в задачу интервального поиска с перечислением в 2с!-мерном пространстве, Ли и Вонг [234] разработали алгоритм, имеющий
QM F) = О (logs-1"1 га + Л, pd(n) = Sd(n)=z O^log^-'ra).
Эделсбруннер [122, 123] обобщил свои результаты о перечислении всех пар пересекающихся прямоугольников (ср. с за-
дачей 3.2.12) на случай d-мерного пространства и улучшил оценки для времени предобработки и требуемой памяти, полученные в работе [234], получив
PdW = О (п logdn) и Sd(ra) = O (ralogd-lra).
Совсем недавно Эделсбруннер и Маурер [129] объединили все предыдущие подходы к решению этого класса задач поиска пересечений и получили следующие результаты. Для статического варианта задачи имеется структура данных, использование которой позволяет достичь следующих характеристик:
Qd кп, F) = O (logd-‘ п н- F) и Pd (п) = Sd кп) = (Дп logd п\
Оценка требуемой памяти улучшена до О^п logd-1 га/log log га) [85]. Для динамического варианта задачи имеется динамическая структура данных, позволяющая достичь следующих характеристик:
Qdkn, F) = О (logdn + F),Sd (га) = О (га logdra) и Ud (п) = О (logdn).
Более подробное обсуждение содержится также в работах [124, 158].
Задача 3.3.8. Нахождение множества объектов и нахождение числа объектов. В пространстве задано множество, состоящее из га объектов, и некоторый запрашиваемый объект — объект, входящий в запрос. Необходимо перечислить множество объектов, пересекающих запрашиваемый объект (нахождение множества), или просто найти мощность этого множества (нахождение числа объектов) [173].
Выбор такого экзотического названия ') связан с двумерным вариантом задачи, когда объекты (например, многоугольники) лежат в плоскости, а запрашиваемый объект является точкой, ассоциируемой с «иглой», перпендикулярной плоскости. Если объекты ортогональны, то мы вновь приходим к задачам перечисления пересечений и подсчета пересечений ортогональных объектов соответственно. В работе [131] даны общие решения задач нахождения множества объектов и нахождения числа объектов, для которых Q{n, F)= О (log га + F) и Q(ra) = = О (log га) соответственно. Но при этом стоимость и время предобработки оказались очень большими. В одномерном пространстве, когда объекты — интервалы, а запрашиваемый объект — точка, были получены оптимальные решения, время ответа на запрос для которых равно О (log п + F) в случае за-
') В оригинале используется термин stabbing — накалывание, переведенный как «нахождение», — Прим, перев.
дачи нахождения множества объектов [74, 122, 250] и О (log га) в случае задачи нахождения числа объектов [129, 164].
Некоторые свойства этой задачи в настоящее время продолжают исследоваться. Например, задача нахождения числа объектов для множества из га многоугольников, стороны которых имеют конечное постоянное множество направлений ориентации, может быть решена с временем ответа на вопрос, равным О (log га), и оценкой О (га log га) для времени предобработки и необходимой памяти [173]. Эделсбруннер с соавторами [132] разработали алгоритм нахождения трансверсальной прямой, которая пересекает каждый из га заданных отрезков. Алгоритм имеет сложность О (га log га) и требует О (га) памяти. В работе также приведен алгоритм определения, является ли некоторая заданная прямая трансверсальной, имеющий сложность О (log га). Задачи нахождения того, какие отрезки или сколько отрезков пересекают заданный отрезок, и задача нахождения того, какие или сколько многоугольников с ограниченным числом сторон содержат заданную точку, могут быть решены за время О (га0 695) [102]. В работе [74] представлен алгоритм' перечисления отрезков, пересекающих заданный отрезок, имеющий следующие характеристики:
Р (га) = О (п2 log га), S (га) = О (га2) и Q(n, F) — O(log га + F).
Задача 3.3.9. Поиск пересечений многоугольников. Задано множество простых многоугольников, каждый из которых имеет ограниченное число ребер. Найти многоугольники, имеющие непустое пересечение с некоторым запрашиваемым многоугольником того же типа.
Это наиболее общая задача поиска пересечений, для которой большинство из приведенных ранее задач на плоскости являются частными случаями. Эта задача путем применения подходящих преобразований [131] может быть сведена к трем подзадачам, каждая из которых является обобщением своего двойника в задаче поиска пересечений ортогональных объектов (задача 3.3.7), т. е. обратной задачи интервального поиска, задачи поиска пересечений ортогональных отрезков и задачи интервального поиска.
Эти три подзадачи следующие: (1) задана некоторая точка; требуется найти множество многоугольников, охватывающих эту точку; (11) задан отрезок и требуется найти множество пересекающихся с ним отрезков и (ill) задан многоугольник и требуется найти все точки, попадающие в него. Задача (1) может быть решена методом определения положения точки (ср. с задачей 3.3.10, приведенной ниже), задача (11) — методом геометрического преобразования, а задача (ill)—в результате ответа на ограниченное число запросов относительно принадлеж-
ности точки некоторому треугольнику. В целом на это требуется время O(logn + /7). При этом стоимость предобработки и необходимой памяти может доходить до О(ц7) (131). Недавно Добкин и Эделсбруннер [102], изучив эту задачу, получили почти линейный алгоритм.
Задача 3.3.10. Положение точки. Задано разбиение плоскости, содержащее п ребер. Найти область разбиения, содержащую заданную точку. (Разбиение плоскости можно рассматривать как совокупность многоугольников, и мы ищем многоугольник, имеющий непустое пересечение с заданной точкой.)
Эту задачу следует рассматривать как одну из фундаментальных задач поиска в области вычислительной геометрии. Она возникает во многих областях науки. Так, например, при классификации образов желательно соотнести заданный образ с одним из классов некоторой конечной совокупности классов. Образы отображаются в точки некоторого пространства, которое разбито на области, каждая из которых соответствует конкретному классу. Классификация осуществляется путем определения области, которой принадлежит классифицируемый образ, и название соответствующего класса и будет ответом.
Добкин и Липтон [106] были, по-видимому, первыми, кто предложил алгоритм со сложностью O(logn) для определения положения точки в разбиении многомерного пространства на области [297]. Их метод основан на идее разбиения пространства на слои (так называемый метод слоев), в двумерном случае это будут полосы; наиболее хорошо он описан для двумерного случая (см. также [295, 315]). Обобщение метода Добкина— Липтона [106] содержится в работе [78]. Предположим, что имеется разбиение плоскости, каждое ребро которого является отрезком прямой. Получившийся граф называется плоским прямолинейным графом или сокращенно ППГ [295]. Предположим для простоты, что никакие две вершины графа не имеют одинаковых значений у-координаты, и проведем через каждую вершину горизонтальную прямую. Две такие последовательные прямые образуют полосу (слой), внутри которой никакие два ребра ППГ не пересекаются (рис. 4). Заметим, что внутри каждой полосы множество ребер является полностью упорядоченным. Задача определения положения точки может быть решена в результате двукратного применения процедуры бинарного поиска — один раз для определения полосы, которой принадлежит заданная точка, и второй раз для определения положения точки внутри полосы. Полное время поиска равно О (log га). Каждая полоса представляется с помощью бинарного дерева поиска с общим объемом памяти О(ц2). Предобработка также может быть выполнена за время О(ц2) [295]. Обобщение
этого метода на случай пространств более высокой размерности очевидно.
Рис. 4. Внутри полосы никакие два отрезка не пересекаются.Рис. 4. Внутри полосы никакие два отрезка не пересекаются.Однако, учитывая довольно большую стоимость предобработки и используемой памяти, впоследствии предложили несколько улучшений метода. Метод цепей, разработанный Ли и Препаратой [225], имеет время выполнения Q(n) = О (log2 га) и при этом Р(га) = О(га log га) и S(n) = O(ra). Липтон и Тарьян [242] предложили чрезвычайно искусно разработанный алгоритм, основанный на теореме о планарной отделимости и достигающий оптимальных характеристик, т. е.
Рис. 4. Внутри полосы никакие два отрезка не пересекаются.
Рис. 4. Внутри полосы никакие два отрезка не пересекаются.
Q(n) = О (log га),•
Р (га) = О (га log га),
3(га)=О(га).'
К сожалению, метод Липтона—Тарьяна представляет только теоретический интерес. Позднее Препарата [292] предложил новую схему, известную теперь как метод трапе
цоидов, управляемый медианой, который решает эту задачу, давая оптимальное время ответа на запрос, т. е. О (log га), но при этом требуется Р(п) — 3 (га) = О(п log га).
Киркпатрик [197] использовал триангуляции для получения иерархического представления ППГ с О (log га)-уровнями триангуляций, каждый из которых является уточнением другого уровня. Это позволило получить более практичный оптимальный алгоритм со временем ответа на запрос О (log га), временем предобработки О (га log га) и объемом необходимой памяти О (га). Все приведенные выше методы, за исключением метода Киркпатрика, могут обрабатывать планарные разбиения с криволинейными ребрами определенного вида. Другой алгоритм с аналогичными возможностями был предложен Эделсбруннером и Маурером [130] и имеет следующие характеристики:
Q (га) = О (log3 га), Р(п) = О (га log га) и 3(га)=О(га).
Недавнее сообщение Эдахиро и др. [119] содержит всестороннее сравнение, включая действительные времена выполнения рассмотренных выше алгоритмов определения положения точки. Недавно был предложен новый оптимальный метод [128], возможно самый практичный из имеющихся на сегодня. Ключевая идея метода состоит в адаптации философии выделения слоев [346] с улучшенной оценкой используемой памяти О (га) [74]
к методу цепей Ли — Препараты [225]. Чазелле получил алгоритм определения положения точки в трехмерном комплексе с О (и) вершинами, имеющий временную сложность O(log2n) и требующий О(п) памяти.
Близость и связанные задачи - ' ''
.■ Геометрические объекты, такие, как точки и окружности, используются для моделирования физических объектов реального мира. В некоторых случаях нам хотелось бы иметь доступ к соответствующим соседям этих объектов. Например, при управлении движением самолетов мы хотим следить за двумя наиболее близкими друг к другу самолетами. При моделировании самолетов движущимися в пространстве точками мы хотим в каждый конкретный момент времени находить пару наиболее близких друг к другу точек. Сначала перечислим ряд задач, причем некоторые из них могут показаться не относящимися к делу, а затем опишем некоторую геометрическую конструкцию, называемую диаграммой Вороного, которая может быть использована для решения этих задач в пределах временных затрат, имеющих тот же самый порядок, что и затраты на построение диаграммы. Далее приведены некоторые задачи, связанные с близостью.
ОСНОВНЫЕ ЗАДАЧИ, СВЯЗАННЫЕ С БЛИЗОСТЬЮ
Задача 3.4.1. Ближайшая пара. На плоскости заданы п точек. Найти две наиболее близкие друг к другу точки.
Очевидно, что задача, являющаяся обобщением этой задачи на fe-мерный случай, к ^ 1, может быть решена за время О (fen2) путем сравнения расстояний между каждой парой точек. В одномерном случае мы можем решить эту задачу проще за время O(nlogn), упорядочив предварительно заданные точки. Оказывается, что сортировку нельзя обобщить на случай пространств более высокой размерности. Используя метод «разделяй и властвуй», Бентли и Шамос [40] показали, что для решения этой задачи в fe-мерном случае (fe ^ 1) время O(n logn) является достаточным, а указанная оценка оптимальна (см. разд. III-F). В работе [45] приведено исследование этой задачи в среднем случае, а также проиллюстрирован оптимальный в среднем случае алгоритм Другие относящиеся к данной задаче результаты содержатся в работах [93, 158, 189].
Задача 3.4.2. Все ближайшие соседи. На плоскости заданы п точек. Требуется для каждой точки найти ближайшего соседа (отличного от самой этой точки). ■ ■ .
Задача 3.4.3. Евклидово минимальное остовное дерево — ЕМОД. На плоскости заданы п точек. Требуется найти дерево, которое соединяет все заданные точки и имеет минимальную сумму длин ребер.
Эта задача имеет очевидное приложение к созданию сетей ЭВМ, когда мы хотим соединить между собой все ЭВМ, получив при этом сеть минимальной стоимости. Однако при такой формулировке задачи запрещается вводить дополнительные точки. Если же допускается вводить дополнительные точки, которые называются точками Штейнера, то данная задача превращается в задачу построения дерева Штейнера минимальной длины, которая, как показано, является NP-трудной [160]. Заметим также, что задачу построения ЕМОД можно рассматривать как задачу теории графов, в которой вес ребра определяется как расстояние между точками, соединяемыми этим ребром. В работе [90] проиллюстрировано несколько алгоритмов построения минимального остовного дерева. В общем случае при решении задачи о минимальном остовном дереве с п вершинами требуется время й(п2) для определения ребра, имеющего минимальный вес и входящего в дерево, а входные данные представлены набором из О(п2) независимых весов ребер. Однако можно воспользоваться свойствами евклидовой метрики, что позволит решить задачу построения ЕМОД за время 0(и log и).
Задача 3.4.4. Триангуляция. На плоскости заданы п точек. Требуется построить планарный граф с вершинами в заданных точках, такой, что каждая грань внутри выпуклой оболочки является треугольником.
Эта задача возникает при интерполяции функции от двух переменных, ^согда значения функции известны в некоторых нерегулярно расположенных в плоскости точках [208—210, 253, 289], и при применении метода конечных элементов [67]. Триангуляция этих п точек может быть использована для оценки значения функции в некоторой новой точке путем интерполяции по значениям функции в точках, являющихся вершинами треугольника, содержащего эту новую точку.
Задача 3.4.5. Поиск ближайшего соседа. На плоскости заданы п точек. Требуется найти ближайшего соседа для некоторой запрашиваемой точки.
Эта задача, известная также как «задача о почтовом отделении», возникает при классификации образов [115], когда используется правило классификации по ближайшему соседу, когда новый образец соотносится с классом, которому принадлежит его ближайший сосед, а также при выборке информации из
базы данных, когда в качестве ответа на запрос выдается запись, наилучшим образом сопоставимая с запросом [64, 156]. См. также работы [264] и [116], в которых рассматриваются другие меры «расстояния» при решении задач поиска ближайшего соседа.
Задача 3.4.6. Поиск к ближайших соседей. Эта задача аналогична задаче 3.4.5, за тем исключением, что ищутся к ближайших соседей точки.
ДИАГРАММА ВОРОНОГО
Предыдущие задачи могут быть решены с использованием метода геометрического места точек, упоминавшегося в разд. П-С. Пусть задано множество S из п точек (рь р^, ... ..., рп}. Построим диаграмму Вороного множества S [300], обозначаемую Vor(S), которая разбивает плоскость на п классов «эквивалентности», причем каждый из них соответствует некоторой заданной точке. В частности, класс эквивалентности, соответствующий точке р,, — это многоугольник Вороного V(pi'), определяемый как
V(рд = (г |г s R2, d (г, Pi)^d(г, р^, i =N /}•
Другими словами, V(p,)—это геометрическое место точек, таких, что они расположены ближе к точке р;, чем к любой другой точке множества S, и этот многоугольник может быть также определен как пересечение полуплоскостей П ^ kPo Pb> гДе i ф /
Н(pi, р^—полуплоскость, определяемая прямой, перпендикулярной отрезку pip}, делящей его пополам и содержащей точку pi. Таким образом, диаграмма Вороного множества из п точек представляет совокупность п выпуклых многоугольников Вороного, каждый из которых соответствует точке множества. Диаграмма Вороного известна также под названием многоугольников Тиссена [59].
Далее приведен список свойств диаграммы Вороного (см. [211, 212, 316]), которые могут быть получены, если принять упрощающее предположение о том, что никакие четыре точки из заданного множества не лежат на одной окружности. (На рис. 5 приведен пример диаграммы Вороного множества из 16 точек.) (1) Каждая вершина диаграммы Вороного, называемая точкой Вороного, имеет степень три. (п) Каждый ближайший сосед pi каждой точки р, определяет ребро многоугольника V^p^, которое является частью прямой, перпендикулярной отрезку pip; и делящей его пополам, (iii) V^pi) является неограниченным многоугольником тогда и только тогда, когда точка Pi лежит на границе выпуклой оболочки множества S.
(iv) Граф, двойственный диаграмме Вороного, ребра которого являются прямолинейными отрезками, является триангуляцией множества точек S. Эта триангуляция известна также под названиями триангуляции Делоне и ячейки Дирихле [55]. (v) Для числа ребер и вершин в диаграмме Вороного Vor(S) имеет место оценка О (п), где п = | S |.
Построение диаграммы Вороного. Диаграмма Вороного множества S из и точек на плоскости может быть построена методом «разделяй и властвуй» за время О (п log п). Сначала мы разделяем множество S на две половины Si и Sa, отделенные друг
Рис. 5. Диаграмма Вороного для множества из 16 точек.Рис. 5. Диаграмма Вороного для множества из 16 точек.пополам. Так как выпуклые не пересекаются, то две ихпополам. Так как выпуклые не пересекаются, то две ихот друга вертикальной прямой L. При этом Si располагается слева от L, a S2 — справа от нее. Затем мы рекурсивно строим диаграммы Вороного для этих двух подмножеств точек и завершаем вычисления, объединяя две эти диграммы в окончательную диаграмму Вороного. Используя свойство (Ш), можно показать, что каждое неограниченное ребро диаграммы Вороного принадлежит прямой, перпендикулярной некоторому ребру выпуклой оболочки и делящей это ребро оболочки множеств Si и S2
Рис. 5. Диаграмма Вороного для множества из 16 точек.
Рис. 5. Диаграмма Вороного для множества из 16 точек.
пополам. Так как выпуклые не пересекаются, то две их
пополам. Так как выпуклые не пересекаются, то две их
общие опорные прямые (см. задачу 3.1.3) соответствуют двум неограниченным ребрам диаграммы Вороного Vor(S). Эти два ребра гТринадлежат ломаной а, называемой разделяющей цепью, которая играет решающую роль на шаге объединения решений. Действительно, а разбивает плоскость на две (неограниченные) области Дх и Ra, расположенные соответственно сле
ва и справа от ст. Можно показать, что
Vor (S) = (Vor (St) П AD U (Vor (S2) П R^
и тем самым обеспечить метод соединения решений. Построение ломаной осуществляется последовательным вычислением ее ребер, начиная с одного из неограниченных ребер. В этом процессе решающим образом используется свойство выпуклости многоугольников Вороного, чтобы показать, что каждое ребро Vor (Si)U Vor(S2) просматривается не более чем фиксированное число раз. Это позволяет получить алгоритм соединения решений, время работы которого пропорционально суммарному чис-
лу ребер диаграмм, т. е. 0( |Si | + |5г|) = 0(п) [196, 211, 212]. Поэтому полное время, необходимое для построения диаграммы Вороного множества S из и точек, равно O(nlogn), что является оптимальным (см. разд. III-F).
Браун продемонстрировал интересную связь между диаграммами Вороного и выпуклыми оболочками. В работах [61, 62] он представил альтернативный алгоритм построения диаграммы Вороного, имеющий сложность О (и log п), методом преобразования задачи построения планарной диаграммы Вороного множества из п точек в задачу построения выпуклой оболочки п точек в трехмерном пространстве с помощью геометрического преобразования, известного как инверсия. Этот метод является общим для пространств произвольной размерности, т. е. диаграмма Вороного в ^-мерном пространстве может быть получена из выпуклой оболочки в (k + 1)-мерном пространстве (подробности см. в работе [61]).
Если имеется диаграмма Вороного, то задачи нахождения пары ближайших точек, нахождения всех ближайших соседей и триангуляции могут быть решены за время О (и) следующим образом. Просматривая каждое ребро диаграммы Вороного, построить прямолинейный двойственный граф. Так как двойственный граф является триангуляцией, а полное число ребер в Vor(S) равно О (п) (согласно свойствам (iv) и (v)), то этот процесс может быть выполнен за время О (и). Согласно свойству (ii), мы также имеем, что пара ближайших точек определяется ребром триангуляции и аналогично ближайший сосед каждой точки задается ребром триангуляции. Поэтому обе задачи могут быть решены за время О(п). В работе [316] было показано, что ЕМОД является подграфом триангуляции Делоне. Таким образом, задача построения ЕМОД может быть также решена с дополнительными затратами времени О(п) алгоритмом Черитона и Тарьяна [90]. Как и для задачи поиска ближайшего соседа, все, что необходимо сделать, — это найти многоугольник Вороного, в котором располагается новая точка. Поэтому поиск является задачей о положении точки, как это обсуждалось в разд. Ш-С, и может быть выполнен за время O(logn) (см. задачу 3.3.10).
Расширения диаграммы Вороного. Был предложен ряд расширений и обобщении диаграммы Вороного. Диаграмма Вороного, обсуждавшаяся выше, связана с евклидовой метрикой (т. е. с так называемой £2-метрикой в формулировке Минковского). Определение диаграммы Вороного может быть легко расширено на случай £р-метрики, где 1 ^ р ^ оо [212], а диаграмма по-прежнему может быть построена за время О(/г log и), если мы допускаем, что корень р-й степени может быть вычис-
лен за постоянное время. Понятие остовного дерева также может быть расширено на случай Lp-метрики [177, 232]. Отметим, что при использовании Li-метрики диаграмма Вороного не является однозначной, и как следствие ее двойственный граф не является триангуляцией Делоне. Триангуляция Делоне — это (единственная) триангуляция, такая, что окружность, описанная вокруг каждого треугольника, не содержит внутри ни одной другой точки. Таким образом, для построения триангуляции Делоне в случае Т|-метрики мы не можем воспользоваться диаграммой Вороного и требуется прямой метод. Алгоритм построения триангуляции Делоне прямым методом, имеющий сложность О (и log и), приведен в работе [230].
Второе расширение диаграммы Вороного состоит в том, что вместо множества точек рассматривается множество объектов. В работах [211, 222] рассмотрена диаграмма Вороного для множества прямоугольных отрезков или окружностей и даны алгоритмы ее построения, имеющие сложность О (п log2 п). Позднее Киркпатрик улучшил оценку временной сложности до О(п logn) [196]. Срединная ось простого многоугольника, известная как скелетон, как оказывается, является частью диаграммы Вороного для простого многоугольника [217, 290]. Диаграмма Вороного множества прямолинейных отрезков или окружностей в случае £г-метрики состоит из ребер, которые в общем случае не являются прямолинейными отрезками. (Они могут включать дуги как парабол, так и гипербол.) Однако недавний результат [183] (и независимо [16]) показывает, что диаграмма Вороного множества из п окружностей в геометрии Лагерра состоит из прямолинейных ребер и вычислима за время O(nlogn). Эта частная диаграмма полезна для вычисления связных компонент множества кругов, вычисления контура объединения множества кругов и проверки принадлежности точки этому объединению.
Третье расширение фокусирует внимание на том факте, что в обсуждавшейся до сих пор диаграмме Вороного каждый многоугольник представляет геометрическое место точек, близких к одной точке. Чтобы быть более точными, такую диаграмму следовало бы называть диаграммой Вороного ближайших соседей. Шамос и Хой [316] рассмотрели диаграмму Вороного порядка ft множества точек, в которой каждый многоугольник диаграммы связан с к точками, к "^ 1, тем свойством, что для каждой точки внутри этого многоугольника ее к ближайших соседей в точности совпадают с соответствующими к точками. С использованием диаграммы порядка к задача поиска к ближайших соседей может быть решена за время О (log n + k). В этом выражении первое слагаемое учитывает затраты на определение положения точки, а второе слагаемое — затраты на
перечисление точек в ответе. Свойства диаграммы Вороного порядка к и метод ее построения можно найти в работах [133, 216, 316]. На другом конце спектра (начиная с диаграммы Вороного ближайших соседей) находится диаграмма Вороного самого дальнего соседа, которая в действительности является диаграммой Вороного порядка (и— 1). Диаграмма Вороного самого дальнего соседа может быть построена за время О(/г log /г) [213, 315] и использована для решения задачи о диаметре (см. ниже) и задачи об 1-центре за время О(п).
Четвертое расширение состоит в том, чтобы связать с каждой точкой некоторое положительное число — вес этой точки, что приводит к «взвешенной» диаграмме Вороного [53]. Взвешенная диаграмма Вороного состоит из п «областей», каждая из которых представляет геометрическое место точек, для которых взвешенное расстояние до некоторой заданной точки является минимальным. В работе [17] показано, что эти «области», связанные с каждой точкой, могут быть несвязными и диаграмма в действительности может содержать 6 (л2) ребер и вершин. Алгоритм построения такой взвешенной диаграммы за время О(п2) можно найти в работе [17].
Последнее расширение заключается в обобщении диаграммы или триангуляции на пространства более высокой размерности. Некоторые результаты, касающиеся этого вопроса, можно найти в работах [20, 51, 60, 200, 311, 343]. Используя связь между диаграммой Вороного в d-мерном пространстве и выпуклой оболочкой в (d + 1)-мерном пространстве [61] и алгоритм построения выпуклой оболочки, данный Сейделом в работе [310], можно получить эффективное решение задачи построения диаграммы Вороного в пространствах высших размерностей. Задача построения минимального остовного дерева в пространствах высших размерностей также рассматривалась в ряде работ (см. [33, 98, 158, 192, 267, 351]), но остается отдельным предметом исследований.
ДРУГИЕ ЗАДАЧИ О БЛИЗОСТИ
Задача 3.4.7. Ближайшая пара вершин выпуклого многоугольника. На плоскости задан выпуклый многоугольник. Найти две ближайшие друг к другу вершины многоугольника.
Задача 3.4.8. Все ближайшие соседи для выпуклого многоугольника. На плоскости задан выпуклый многоугольник. Найти ближайшего соседа для каждой вершины многоугольника.
Используя выпуклость многоугольника, Ли и Препарата разработали алгоритм решения этой задачи, имеющий линейную сложность по времени [226, 348]. Однако вопрос о том, можно ли найти пару ближайших вершин простого многоугольника с
п вершинами за время O(nlogn), остается открытым. Известное доказательство нижней оценки (см. лемму 3.6.5) неприменимо в данном случае, так как вершины заданы в известном порядке.
Задача 3.4.9. Самая удаленная пара или задача о диаметре. На плоскости заданы п точек. Найти две из них, самые удаленные друг от друга.
Эта задача возникает при кластеризации [175] и обработке изображений [322]. Так как пара наиболее удаленных точек должна принадлежать границе выпуклой оболочки, то эта задача может быть решена за время О (л) в одномерном случае и О (л log л) в двумерном случае [295, 313]. Оба этих результата являются оптимальными (см. разд. III-F). В двумерном случае метод заключается в построении за время O(nlogn) выпуклой оболочки п точек и последующего поиска за время О (л) двух наиболее удаленных друг от друга точек путем вращения двух параллельных опорных прямых, как это описано в [316, 330]. Заметим, что для решения задачи о паре ближайших точек требуется время й (п log п) для любой размерности пространства d ^ 1. Для задачи о паре наиболее удаленных точек в пространствах высоких размерностей, d ^ 3, Яо [351] получил алгоритм со сложностью о (л2). В частности, временная оценка равна
Т (л, d) = О (n2~a(d)(log n)1-0(d)), где a(d) = 2-(d+l>.
Для d = 3 эта оценка может быть улучшена до О ((л log л) *-8). Можно ли уменьшить разрыв между Т (п, d) и й(л log л), является открытым вопросом.
Задача 3^4.10. Задача о диаметре для простого многоугольника. Задан простой многоугольник с п вершинами. Найти две наиболее удаленные из них.
Эта задача может быть решена за время О (л), так как выпуклая оболочка простого многоугольника может быть построена за время О (л), а пара наиболее удаленных вершин выпуклого многоугольника может быть найдена за линейное время. Таким образом, выпуклость и здесь играет важную роль. Но сможет ли это помочь также в случае трехмерного пространства, остается неясным. В частности, неизвестен алгоритм нахождения диаметра выпуклого многогранника за время, меньшее, чем О ((л log л)18) [351]. Заметим, что задача нахождения пары наиболее удаленных вершин простого многоугольника является более простой (по крайней мере не сложнее), чем задача нахождения пары наиболее близких вершин простого многоугольника. - \ ■
Следующие задачи несколько отличаются от рассмотренных выше в том плане, что в них речь идет о расстоянии между двумя множествами точек. Расстояние между двумя множествами точек А и В обычно определяется как минимум расстояния между точкой множества А и точкой множества В, а именно:
d (Л, В) = min min d (a, b), a b ' . - .
где аеД и 6еВ, a d— евклидово расстояние. При таком определении d^A, В) — d^B, А). Другая мера, представляющая интерес, — это расстояние Хаусдорфа [170], которое не является симметричным. Расстояние Хаусдсрфа между множествами А и В определяется как
max min d (а, 6)а 6
и расстояние Хаусдорфа между множествами Д и В равно max{d(A, В), d^B, Д)}.
Задача 3.4.11. Ближайшая пара точек между множествами. Заданы два множества Д и В (имеющие тип точек соответственно, если А и В — конечные множества). Найти две точки, по одной из каждого множества, такие, что они являются наиболее близкими друг к другу.
Если А и В — оба конечные множества, то с помощью диаграммы Вороного эта задача может быть решена за время О (A log А), где N = m-р п. А именно, определяется положение каждой точки ае.А в диаграмме Vor(B) и каждой точки 6еВв диаграмме Уог(Д), что приводит к суммарным затратам времени О(т log п + п log т) после того, как построены диаграммы Вороного обоих множеств точек. Отметим, что эта оценка времени является оптимальной (см. лемму 3.6.11).
Когда точки являются вершинами либо простого многоугольника, либо выпуклого многоугольника, можно ожидать получить более быстрое решение. В работе [41] обсуждается вычисление расстояния по Хаусдорфу между двумя выпуклыми многоугольниками и приводится алгоритм со сложностью O^nY В работе [49] приведен алгоритм со сложностью О(п log п) вычисления пары наиболее удаленных точек двух множеств и алгоритм со сложностью О(п) решения этой же задачи для случая, когда точки каждого из множеств образуют выпуклые многоугольники. В работе [308] рассматривается задача нахождения пары наиболее близких точек двух выпуклых многоугольников (два бесконечных множества) и приводится алгоритм со сложностью
O(log2n). Этот результат был впоследствии улучшен до О (log м) [91, 127]. Для нахождения пары наиболее близких вершин двух выпуклых многоугольников время О (и) является необходимым и достаточным [92, 252, 331].
Задача 3.4.12. Ближайшие соседи в окрестности фиксированного радиуса. На плоскости заданы п точек и некоторая константа d > 0. Для каждой точки найти соседей, удаленных от нее на расстояние не более d.
Эта задача возникает в молекулярной графике, кластерном анализе и при передаче данных [44]. Используя метод геометрического места точек, Бентли с соавторами [44] показал, что в случае £»-метрики и при некотором предположении о плотности точек, а именно что гиперсфера диаметром d содержит не более некоторого постоянного числа с точек, эта задача может быть решена за время O(3*efen(logn + с)), где k — размерность пространства. Если предположение о плотности распределения точек не выполняется, то они показали, что полное число вычислений расстояния равно 3kF, где F — полное число пар соседей, т. е. размер выходных данных решения задачи.
Задача 3.4.13. Задача о кратчайшем пути с ограничениями. На плоскости заданы п геометрических объектов (называемых «препятствиями») и две точки s и /. Найти кратчайший путь между s и t, не пересекающий внутренность ни одного из препятствий.
В работе [229] были изучены два варианта этой задачи, каждый из которых может быть решен за время О (п log п). В первом случае препятствиями являются ребра, ограничивающие некоторый простой многоугольник, содержащий как s, так и t. Во втором случае s и t— это произвольные точки плоскости, а ограничения представляют совокупность параллельных отрезков. В работе [224] представлен алгоритм со сложностью О (и2 log и) решения этой задачи для случая, когда ограничения представлены п кругами. Томпа [327] изучал эту задачу в связи с проблемой прокладки проводников. Другие результаты в этом направлении см. в [206, 243, 309, 318].
ЗАДАЧИ О РАЗБИЕНИИ МНОГОУГОЛЬНИКОВ
Задачи о разбиении многоугольников имеют приложения в распознавании образов. Чтобы облегчить процесс распознавания формы объектов, часто применяется стратегия разбиения объекта на простые части («примитивы») и их сравнение с некоторым набором образцов, имеющихся в библиотеке, с использованием некоторой меры сходства [274]. Часто набор примитивов ограничивается объектами определенных типов, таких.
как выпуклые многоугольники, звездные многоугольники и т. д. Туссен [328] называет этот класс задач декомпозиции ориентированным на составляющие (см. работы [328, 329], содержащие соответствующие ссылки). Заметим также, что задача о «триангуляции» принадлежит к этому классу задач. Бывают ситуации, когда некоторые вычисления трудно выполнить для многоугольников общего вида, но они могут быть легко выполнены для выпуклых многоугольников. В этом случае можно извлечь определенную выгоду, разбив многоугольник общего вида на выпуклые части и выполнив вычисления для каждой части в отдельности. Именно такой подход был выбран в работе [2] для обнаружения взаимодействий или столкновений между многоугольниками.
В основном имеются два типа декомпозиции: разбиение, при котором не допускается перекрытие компонент (составляющих частей), и покрытие, при котором допускается перекрытие частей. Иногда можно вводить дополнительные вершины, называемые точками Штейнера, для получения декомпозиций с минимальным числом частей. В недавнем обзоре Кейла и Сэка [194] с большими подробностями обсуждаются минимальные декомпозиции.
Задача 3.4.14. Триангуляция простого многоугольника. Задан простой многоугольник Реп ребрами. Выполнить декомпозицию внутренней области многоугольника на треугольники.
Пионерская работа в этой области была выполнена Гэри с соавторами [162], предложившими алгоритм со сложностью О (и log и). Выполнение этого алгоритма состоит из двух этапов. На первом этапе за время О (и log п) многоугольник Р разбивается на ряд монотонных многоугольников. (Многоугольник Q является монотонным, если существует прямая L, такая, что граница многоугольника Q может быть разделена на две цепи ребер и каждая цепь пересекается не более одного раза с каждой прямой, ортогональной Л.) На втором этапе с помощью линейного по времени алгоритма каждый монотонный многоугольник разбивается на треугольники. Другие алгоритмы триангуляции, имеющие сложность O(nlogn), описаны в работах [70, 334]. Недавно Чазелле и Инчерпи ввели полезное понятие, названное извилистостью многоугольника Р [88], т. е. число перемен направления движения относительно некоторой точки при круговом движении по границе многоугольника за один оборот. Используя метод разделяй и властвуй, они получили алгоритм триангуляции простого многоугольника Р за время О (и logs), где s— извилистость многоугольника Р. Можно ли выполнить триангуляцию простого многоугольника за время О(«), остается открытой проблемой. Если допускаются
дыры, то, как было показано, время, необходимое для решения, равно Q(n log и) [12].
Задача 3.4.15. Триангуляция звездного многоугольника. Задан звездный многоугольник с п ребрами. Выполнить декомпозицию внутренней области многоугольника на треугольники.
Шоне и ван Леувен [307] предложили алгоритм решения этой задачи со сложностью О^пу В действительности имеет место более общий факт, что любой Л-выпуклый многоугольник может быть разбит на треугольники за линейное время [144].
Задача 3.4.16. Разбиение изотетичного многоугольника на четырехугольники. Задан изотетичный многоугольник с п ребрами. Выполнить декомпозицию внутренней области многоугольника на выпуклые четырехугольники.
Простой многоугольник не всегда допускает разбиение на четырехугольники, но изотетичный многоугольник всегда может быть разбит на четырехугольники [188]. Сэк [302] показал, что любой изотетичный многоугольник с п ребрами может быть разбит на четырехугольники за время О(n log и). Остается открытым вопрос, можно ли сделать это за время о (и log и). Если узотетичный многоугольник является монотонным или звездным, то его можно разбить на четырехугольники за линейное время [303].
Задача 3.4.17. Декомпозиция простого многоугольника на звездные многоугольники. Задан простой многоугольник Реп ребрами. Выполнить декомпозицию внутренней области многоугольника на звездные многоугольники.
Ави и Туссен предложили алгоритм решения этой задачи со сложностьюхО (и log п) [23]. Сначала они ищут триангуляцию многоугольника Р, а затем выполняют 3-раскрашивание вершин многоугольника Р таким образом, чтобы никакие две смежные в триангуляции вершины не были бы раскрашены в один цвет. Основываясь на этой раскраске, они удаляют все диагонали, инцидентные вершинам заданного цвета, получая, таким образом, разбиение на звездные многоугольники. Если ищется минимальное разбиение, как в работе Кейла [193], то использование метода динамического программирования дает алгоритм со сложностью О ^n5N2 log п), где N — число рефлексных вершин, т. е. вершин, внутренний угол которых больше 180°.
Задача 3.4.18. Декомпозиция простого многоугольника на выпуклые части. Задан простой многоугольник Реп ребрами. Найти декомпозицию его внутренней области на выпуклые многоугольники. - . .
Чазелле [69] предложил алгоритм со сложностью О^п + N2 log(n/N)), где N— число рефлексных вершин; алгоритм получен в предположении, что допускается введение точек Штейнера. Чазелле и Добкин [81] также представили алгоритм со сложностью О (и6) для нахождения минимального разбиения многоугольника Р на выпуклые части. Этот результат был впоследствии улучшен до О(/?-]-№) [69]. Для трехмерного случая в работе [79] представлен алгоритм со сложностью О (nN3), порождающий О(№) выпуклых частей и, как было показано, являющийся оптимальным при анализе худшего случая. Асано и Асано [9] получили алгоритм со сложностью О (и3) для разбиения Р на минимальное число трапецоидов с двумя горизонтальными сторонами. Эта оценка была улучшена до О (и2) [10]. При условии что допускаются точки Штейнера, Фенг и Павли- дис [145] описали алгоритм со сложностью О(п№), а Грин [169] предложил алгоритм со сложностью O(nlogn) для разбиения Р на выпуклые части (при этом разбиение не обязательно является минимальным). Однако если ищется минимальное разбиение, то для этого имеются два алгоритма, сложность которых равна O(n2/V2) [169] и 0(№п log и) [193].
Существуют варианты декомпозиции с иными целевыми функциями. Например, задача нахождения за полиномиальное время минимальной взвешенной триангуляции, т. е. триангуляции с минимальной полной длиной ребер множества из п точек на плоскости, по-прежнему остается открытой [161]. При этом довольно интересен тот факт, что минимальная взвешенная триангуляция простого многоугольника может быть выполнена за время О(п3) [163, 202] Другие результаты, связанные с этим направлением исследований, можно найти в работе [193] и обзоре [194].
Задача 3.4.19 Декомпозиция изотетичного многоугольника на прямоугольники Задан изотетичный многоугольник RP с п сторонами. Выполнить декомпозицию его внутренней области на прямоугольники.
Задача минимального разбиения элегантно решена Липским [237], что позволило создать алгоритм со сложностью О(п3/2 log/? loglogn) с использованием точек Штейнера. Имаи и Асано решили независимо эту же задачу, создав алгоритм со сложностью О^п3,г log /?) [180, 181]. В обоих алгоритмах используется максимальное соответствие двудольного графа пересечений множества вертикальных и горизонтальных отрезков, а требуемый объем памяти составляет О(п log/?).
Задача 3.4.20. Декомпозиция многоугольников с дырами. Задан простой многоугольник, имеющий внутри дыры. Выполнить декомпозицию его внутренней области на более простые
части. (Дыра сама является простым многоугольником и не может содержать дыр.)
Оказывается, что многоугольники с дырами являются более трудными объектами для декомпозиции на более простые составляющие, такие, как выпуклые, звездные или монотонные многоугольники. Если допускается использование точек Штейнера, то задачи разбиения простого многоугольника с дырами на минимальное число треугольников или выпуклых частей [236] или на минимальное число трапецоидов с двумя горизонтальными сторонами [9] являются NP-трудными. Для разбиения простого многоугольника с п вершинами и h дырами на минимальное число трапецоидов с двумя горизонтальными сторонами был получен алгоритм со сложностью O(n2+h) [10]. При использовании точек Штейнера задача построения минимального покрытия простого многоугольника выпуклыми составляющими, звездными или спиральными составляющими является NP-трудной [274]. Отметим, что, как известно, ни задача о минимальном покрытии, ни задача о минимальном разбиении не принадлежат классу NP. Однако, как было показано, обе эти задачи являются разрешимыми [72, 271]. Без использования точек Штейнера и задача о минимальном покрытии, и задача о минимальном разбиении простого многоугольника с дырами на выпуклые, звездные или спиральные составляющие являются NP-трудными [193, 236, 274].
Задача 8.4.21. Декомпозиция изотетичных многоугольников с дырами на прямоугольники. Задан изотетичный многоугольник с изотетичными дырами. Выполнить декомпозицию его внутренней области на прямоугольники.
Вариант этой задачи, касающийся минимального покрытия, является NR-трудной задачей [247]. Однако задача поиска минимального разбиения может быть решена за время О(и5/2) [238, 270] методами максимального двудольного соответствия. В работе [181] Имаи и Асано дали для решения этой задачи алгоритм со сложностью О («3/2 log п). Если дыры могут вырождаться в точки, то задача о минимальном разбиении становится NP-трудной [236].
Так как большинство задач о минимальной декомпозиции или минимальном разбиении на сегодняшний день являются трудно разрешимыми, то представляют интерес хорошие эвристические методы решения этих задач. Имеется лишь небольшое число результатов с известными оценками поведения [9-11].
Задача 3.4.22. Декомпозиция Делоне простых многоугольников. Задан простой многоугольник Реп вершинами. Найти де-
3 Зак. 469
композицию этого многоугольника, основанную на триангуляции Делоне, а именно обладающую тем свойством, что окружность, описанная вокруг каждого треугольника, не содержит ни одной другой вершины многоугольника Р, видимой хотя бы из одной вершины этого треугольника.
Эта задача является обобщением задачи о триангуляции Делоне множества точек на плоскости, обсуждавшейся в разд. III-D.2. В работе [211] дан алгоритм со сложностью О(л2), основанный на понятии графа видимости VG(P) множества вершин многоугольника Р. Граф VG(P) имеет то же самое множество вершин, что и Р, а вершины соединены ребром, если прямолинейный отрезок, определяемый этими двумя вершинами, не пересекает границу многоугольника Р.
Задачи геометрической оптимизации
' Этот раздел покрывает комбинаторные геометрические задачи, которые также часто рассматриваются в контексте теории графов или теории оптимизации. Так, например, задача об евклидовом минимальном остовном дереве (задача 3.4.2) является одной из таких задач, теоретико-графовый вариант которой лучше известен. По мере развития вычислительной геометрии изучались метрические свойства таких оптимальных задач в расчете получить более эффективные алгоритмы. Однако имеются задачи, геометрическая сущность которых, по-видимому, не дает каких-либо преимуществ. Евклидова задача о коммивояжере, задача о минимальном дереве Штейнера представляют два известных примера таких задач (обе они остаются NP-трудными [160, 284]). Далее приведен список оптимизации геометрических задач, которым в последнее десятилетие было уделено значительное внимание. Очевидно, при этом ряд оптимальных задач оказался неотраженным в этом списке.
Задача 3.5.1. Линейное программирование. Заданы п полупространств в d-мерном пространстве и некоторый вектор х = = (хь х2^d). Найти точку у = (щ, п2, • ■•, ^d), принадлежащую пересечению этих полуплоскостей и максимизирующую целевую функцию xtVi + ^Оз + • • • + №
Это одна из самых известных задач в исследовании операций, имеющая длинную историю [96]. Двумерный вариант этой задачи может быть легко решен за время O(nlogn) [313, 317] в результате нахождения пересечения п полуплоскостей (задача 3.2.7). Оптимальный алгоритм решения этой задачи за время О (и) был получен с помощью элегантного метода Дайером [118] и Меджиддо [257], который мы в некоторых деталях описали в разд. II-F. Для пространств более высокой размерности эта задача также может быть решена за время О(п) при уело-
вии, что размерность пространства фиксирована [259]. Добкин с соавторами показали [109], что задача линейного программирования является Log-space трудной для Р. Добкин и Рейсс [112] недавно ввели понятие LP-полноты, а именно задача считается LP-полной тогда и только тогда, когда ее можно преобразовать за полиномиальное время в задачу линейного программирования и наоборот, и описали класс LP-полных задач.
Задача 3.5.2. Двумерная линейная отделимость. На плоскости заданы два множества точек Р и Q, содержащие соответственно m и п точек. Определить, существует ли прямая, отделяющая друг от друга эти два множества.
Эта задача имеет приложения в статистике и распознавании образов [115]. Обратив внимание на тот факт, что Р и Q линейно отделимы тогда и только тогда, когда пересечение выпуклых оболочек множеств Р и Q пусто, Шамос [313] предложил алгоритм со сложностью O(,N log^), где N = m + «, основанный на вычислении двух выпуклых оболочек в двумерном случае и проверке пустоты их пересечения. Тот же самый подход может быть использован и в трехмерном случае, при этом указанная оценка сложности сохраняется [293]. Для случая когда два множества точек образуют выпуклые многогранники, Маллер и Препарата [265], а позднее Добкин и Киркпатрик [104] получили линейные алгоритмы нахождения отделяющей плоскости для двух выпуклых многогранников, если она существует. Однако метод Дайера [118] и Меджиддо [257] может быть использован для нахождения отделяющей прямой и плоскости для любых двух множеств Р и Q в двумерном и трехмерном случаях за время O(/V). В общем случае отделяющая гиперплоскость может быть найдена за время O^N) для любого фиксированного числа измерений [259]. В работе [187] приведен рекурсивный метод нахождения отделяющей гиперплоскости.
Задача 3.5.3. Наименьшая охватывающая окружность. На плоскости заданы п точек. Найти наименьшую окружность, охватывающую все эти точки.
В теории расположения объектов [148] эта задача известна как задача об 1-центре. Эта задача может быть легко решена за время O(nlogn) [316] с использованием диаграммы Вороного самого дальнего соседа для п точек (см. разд. III-D). Используя метод поиска с отсечением, Меджиддо [257] получил алгоритм нахождения наименьшей охватывающей гиперсферы, имеющий сложность О(»). . г
Задача 3.5.4. Наименыййй О^вй
На плоскости задано множество из п тойек. НЙЙ1Й ЙанМеЙ^ШаД
3е
по площади прямоугольник, охватывающий точки множества.
Эта задача может быть решена за время О (и log и) методом, основанным на факте, отмеченном Фрименом и Шапира [154], заключающемся в том, что минимальный прямоугольник должен иметь сторону, параллельную ребру выпуклой оболочки множества S. После того как за время O(nlogn) построена выпуклая оболочка, минимальный прямоугольник может быть найден за время О(п) при помощи метода последовательного просмотра ребер выпуклой оболочки [313, 330]. Для этой задачи алгоритм со сложностью o(nlogn) неизвестен. Заметим, что эта задача связана с евклидовой задачей о 1-линейном центре и заключается в следующем. На плоскости задано множество S из п точек и требуется найти прямую L, для которой максимальное евклидово расстояние от точек множества S—L минимально. Сходство этих задач заключается в том, что прямая L должна быть параллельна некоторому ребру выпуклой оболочки множества S. В работе [235] показано, что время О (и log п) является необходимым и достаточным для решения задачи о 1-линейном центре.
Задача 3.5.5. Наименьший охватывающий треугольник. На плоскости задано множество S из п точек. Найти наименьший по площади треугольник, охватывающий точки множества.
Недавно Кли и Ласковский [201] изучали задачу нахождения всех локальных минимумов среди всех треугольников, охватывающих выпуклый многоугольник с п вершинами, и предложили алгоритм со сложностью О (и log2 и). (Треугольник Т является локальным минимумом, если существует с > 0, такое, что площадь треугольника Т' не меньше площади Т для каждого охватывающего треугольника Т', хаусдорфово расстояние которого от Т меньше с (см. разд. Ш-D).) Позднее О’Раурке с соавторами предложили оптимальный алгоритм нахождения наименьшего охватывающего треугольника для выпуклых многоугольников с п вершинами, имеющий сложность 0(п) [272].
Задача 3.5.6. Наибольшая пустая окружность. На плоскости задано множество S из п точек. Найти наибольшую окружность, центр которой находится внутри выпуклой оболочки множества S и которая не содержит внутри ни одной точки множества S.
Эта задача имеет приложение к размещению объектов, когда желательно разместить, например, мусоросборник в жилом районе таким образом, чтобы минимальное расстояние от него до жилых домов было максимально. Эта задача может быть решена оптимальным способом за время 0(nlogn) при помощи диаграммы Вороного для множества S [313, 332]. Задача о наибольшем пустом (изотетичном) квадрате также может быть ре-
щена за время 0(nlogn) при помощи диаграммы Вороного с метрикой Loo [212, 232].
Задача 3.5.7. Наибольший пустой прямоугольник. Задано множество S из п точек, расположенных в некотором прямоугольнике. Найти наибольший по площади прямоугольник, сходный с заданным прямоугольником и не содержащий ни одной точки множества S.
Эта задача впервые изучена в работе [266], в которой дан алгоритм, имеющий сложность О(п2) в худшем случае, и алгоритм, имеющий сложность O(nlog2n) в среднем случае. В ра: боте [83] с помощью метода разделяй и властвуй и модифицированного варианта диаграммы Вороного оценка для худшего случая была улучшена до О(n log3 и). Задача нахождения наибольшего прямоугольника с произвольной ориентацией представляется значительно более сложной.
Имеются некоторые другие результаты для аналогичных оптимизационных геометрических задач. Добкин с соавторами [100] обсуждают, среди прочих, задачу о А-угольнике с наименьшим периметром, т. е. задачу нахождения многоугольника с к вершинами, выбранными из заданного множества точек, имеющего минимальный периметр, и показывают, что эта задача NP-трудна, если к есть Q(ne). Для фиксированного к задача может быть решена за время O(nlogn). Заметим, что, когда к равно 2, задача превращается в задачу о ближайшей паре точек (задача 3.4.1). В работе [56] приведены алгоритм со сложностью O(nlogn) для нахождения треугольника с максимальным периметром и алгоритм со сложностью О (кп log п + + п log2 п) для нахождения ^-угольника с максимальным периметром или площадью для произвольных значений к. Треугольник и четырехугольник с наименьшей площадью с вершинами, выбранными из числа вершин некоторого выпуклого многоугольника, могут быть найдены за линейное время [113, 315]. Треугольник наименьшей площади с вершинами, выбранными из заданного множества из п точек, может быть найден за время О (п2 log2 п) [ПО]. Позже эта оценка была улучшена до О (и2) [86, 133]. Задача нахождения наименьшего охватывающего эллипса составляет предмет исследований, проводимых в настоящее время Силверманом и Титтерингтоном [319] и Постом [287, 288].
Далее мы рассмотрим две общие задачи о расположении — задачу о р-центре и задачу о р-медиане— которые более известны в теоретико-графовой интерпретации и которые, как было показано, являются NP-трудными [190, 191]. Евклидова задача о p-центре формально определяется следующим образом. На плоскости задано множество S точек (рц рз, ,,., рД, ка-
ждой из которых приписан некоторый вес wi. Найти множество F, содержащее р точек, называемых центрами, такое, что максимальное «расстояние» между множествами S и F минимально, т. е. минимизировать
max rnin wtd ^рь qj^,
где pt^S и qj^F, a d(fi,q/)—евклидово расстояние между точками pi и q(. Напротив, в задаче о р-медиане минимизируется сумма, а не максимум расстояний между множествами 8 н F. Евклидова задача о р-центре является стандартной минимаксной задачей, а задача о наименьшей охватывающей окружности есть не что иное, как задача о невзвешенном 1-центре. Как было замечено ранее, доказать, что геометрическая задача является NP-трудной, значительно труднее, чем сделать то же самое для ее теоретико-графового двойника [160, 284]. Тем не менее недавно было показано, что эти две задачи также являются NP-трудными [260]. В действительности даже поиск приближенного решения евклидовой задачи о р-центре остается NP- трудной задачей и аналогичное утверждение справедливо для задачи об изотетичном р-центре [260]. Следующая задача также является NP-полной [260].
Задача 3.5.8. Покрытие кругами. На плоскости заданы п точек и р кругов с одинаковым радиусом г. Определить, существует ли такое расположение этих р кругов, что они покрывают все точки, т. е. каждая заданная точка находится внутри по крайней мере одного круга.
Как следствие задача определения минимального числа кругов одинакового радиуса г, которыми можно покрыть п заданных точек, также является NP-трудной. Пападимитриу показал, что евклидова задача о р-медиане, в которой на множество F наложено ограничение — оно должно быть подмножеством множества S, является NP-трудной [285]. Отметим, что задача о р-центре в одномерном случае может быть решена за время О(п log м) [149], а задача о р-медиане — за время О(п2р) [261].
Мы завершаем этот раздел обсуждением некоторых вариантов предыдущих задач о расположении. Задача о наименьшей бомбе [315, 325], т. е. задача о нахождении наименьшего круга, который покрывает по крайней мере к из п заданных точек, может быть решена за время O(fe2nlogn) [216]. Алгоритм, дающий приближенное решение этой задачи и допускающий обобщение на случай пространств более высокой размерности, приведен в работе [325]. Задача о размещении бомбы фиксированного размера, т. е. поиск такого расположения заданного круга на плоскости, при котором число (или суммарный вес)
точек, покрываемых этим кругом, был бы максимальным, может быть решена за время О(п2) [89], что является улучшением по сравнению с более ранним алгоритмом [114], время выполнения которого было O(n2logn).
Если круги заменить прямоугольниками, то получается задача о расположении прямоугольника фиксированного размера, которая может быть решена оптимальным способом за время 0(nlogn) в случае двумерного пространства [179] и за время O(nd-1) в d-мерном пространстве, d>2 [219]. Задача о взвешенном 1-центре на плоскости может быть решена за время O(nlog2n) [255]. Более эффективные алгоритмы можно получить для Li-метрики [256]. Недавно Коул [94] показал, что задача о взвешенном 1-центре может быть решена за время O(nlogn). Представляет интерес вопрос о том, является ли эта оценка лучшей из возможных для этой задачи. (Напомним, что задача о невзвешенном 1-центре может быть решена за время О(м) [257].) Изучались также и другие комбинаторные оптимизационные задачи, такие, как установление соответствия между 2п точками на плоскости. В обзоре, выполненном Ави [19], довольно подробно обсуждаются эвристики, используемые при решении задачи об установлении соответствия.
Преобразования задач и нижиие оценки сложности алгоритмов
В этом разделе мы подведем итог, дав небольшое число результатов относительно сложности алгоритмов, которые были установлены либо прямым доказательством по высоте дерева вычислений/решений, либо путем преобразований задач (будет определено ниже). Сначала мы без доказательства сформулируем несколько основных результатов.
Факт 1. Принадлежность. Дано множество S, содержащее п объектов. Для того чтобы определить, принадлежит ли конкретный объект множеству S, требуется по крайней мере riog2 пЛ проверок в худшем случае. Это так называемая теоретико-информационная оценка для любой задачи о принадлежности [54]. |
Факт 2. Сортировка. Даны п элементов из полностью упорядоченного множества. Решение задачи сортировки этих п элементов в соответствии с порядком требует по крайней мере Q(nlogn) сравнений в рамках любой основанной на сравнении или на дереве решений модели вычислений (коротко ДРМ) [1]. Это оценку можно рассматривать как теоретико-информационную, так как мы ищем конкретную перестановку в множестве
из п\ возможных перестановок этих п элементов, a [log2 nll= = fi(n logn).
Факт 3. Закрепление размерности. Если задача в d-мерном случае требует времени f(n), то задача в ^-мерном случае, где k>- d, также требует времени ^п^ (см., например, [18]).
Определение. Даны две задачи А и В. Задача А называется f (п)-сводимой к В, если каждая индивидуальная задача А может быть сведена (преобразована) к некоторой индивидуальной задаче В, а решение индивидуальной задачи В может быть преобразовано обратно в решение индивидуальной задачи А за время О (f (п)), где п— размер задачи А.
Лемма 3.6.1 [315]. Предположим, что задача А является g(n)-сводимой к задаче В. Если известно, что в рамках конкретной модели вычислений для решения задачи А требуется время f(n), то для решения задачи В требуется время по крайней мере f(n)—cg(n), где с>0 — некоторая константа. Если В может быть решена за время f(x), то А может быть решена за время f (п)-\-с'g (п), где с'> О— некоторая константа.
Как упоминалось ранее, мы будем использовать алгебраическое дерево вычислений (коротко АДВ), введенное Бен-Ором [26] в качестве нашей основной модели вычислений, возможно, дополнив ее рядом примитивных операций, таких, как проверка того, с какой стороны от направленной прямой лежит точка, в предположении, что все они выполняются за постоянное время. АДВ первого порядка называется линейным деревом вычислений (ЛДВ). Можно показать, что следующие задачи требуют для своего решения время й(п logn) в рамках АДВ-модели вычислений [26]..
Проверка единственности элементов [108]. Даны п чисел. Определить, все ли они различные.
Проверка равенства и включения множеств [298]. Даны два множества A={xb х2, ..., хя} и В=^ух, у2, ..., упУ Определить, имеет ли место А = В или А г В.
Проверка пересечения множеств [298]. Даны два множества Д={м, х2, ..., х,^ и В = ^у\, у2у^. Определить, имеет ли место А П В = 0.
Проверка точек на значимость [324, 350]. Даны п точек на плоскости. Все ли п точек являются вершинами выпуклой оболочки? .
■ Проверка е-близости [150]. Даны п действительных чисел. Определись, находятся ли какие-либо два из них в е-окрестно- сти друг друга, где е — некоторый фиксированный параметр задачи-' ". • - у - .. . •. .
Объединение интервалов [150]. На действительной прямой даны п интервалов. Вычислить объединение этих п интервалов. (Справедливость утверждения для этой задачи следует из того факта, что задача проверки 8-близости О (/г)-сводима к ней.)
Проверка связности объединения интервалов [305]. На действительной прямой даны п интервалов. Определить, является ли объединение этих п интервалов само интервалом.
Следующая задача требует для решения времени Q(nlogn) в рамках ЛДВ-модели вычислений.
Проверка равномерности распределения [245]. Даны п чисел и фиксированный параметр с > 0. Определить, является ли распределение этих точек равномерным с шагом с. (Множество вещественных чисел (xi, х2, •-•, хД называется равномерно распределенным с шагом с, если существует перестановка р чисел {1, 2, ..., п}, такая, что хрц) ^ хр<2) ^ ... ^ хр(л) и 0 ^ хр(1+1) — xP(i) ^ с для i = 1, 2, ..., п — 1.)■
Теперь мы воспользуемся леммой 3.6.1, чтобы дать набросок доказательства некоторых дополнительных нижних оценок. Сейдел [312] приводит несколько результатов, касающихся нижних оценок, для задач, в которых некоторая дополнительная информация, предоставляемая входными данными, не приводит к более эффективным решениям.
Лемма 3.6.2 [315, 316]. Для построения выпуклой оболочки п точек на плоскости требуется время Q(nlogn) в рамках АДВ-модели вычислений.
Доказательство. С помощью О (п) -сведения задачи сортировки. Преобразование выполняется следующим образом. Даны п положительных чисел хь х2, ..., хп. Мы отображаем каждое число в точку на параболе у = х2, а именно х,- отображается в точку'pz = (^. хД. Так как вершины выпуклой оболочки точек pi, ргрп могут быть перечислены в порядке, начиная1 с вершины, имеющей наименьшую х-координату, то любой алгоритм построения выпуклой оболочки может быть использован для сортировки (рис. 6(a)).
Лемма 3.6.3 [317]. Для построения пересечения п полуплоскостей требуется время Q (п log п) в рамках АДВ-модели вычислений.
Доказательство. С помощью О (п) -сведения задачи сортировки. Заданы п вещественных чисел хц х2, ..., хп. Отображаем каждое число х, в полуплоскость Hi, содержащую начало координат и определяемую касательной к параболе у = х2 в точке xi, тангенс угла наклона которой равен 4x1, т. е. число х< отображается в полуплоскость z/^2x,x —х? (рис. 6(b)). Так как пересечение полуплоскостей является выпуклым много-
угольником, последовательные ребра которого упорядочены в соответствии с углом наклона, то любой алгоритм построения пересечения полуплоскостей может быть использован для сортировки.
Лемма 3.6.4 [317]. Для обнаружения пересечения п интервалов на действительной оси требуется время О (л log п) в рамках АДВ-модели вычислений.
Доказательство. С помощью О (п) -сведения задачи проверки единственности элементов. Действительно, каждое число в исходных данных для задачи проверки единственности элементов можно рассматривать как вырожденный интервал.
Рис. 6. Отображения чисел X/ в точки, лежащие на параболе у = х2, или в полуплоскости, ограничивающие прямые которых являются касательными к параболе.Рис. 6. Отображения чисел X/ в точки, лежащие на параболе у = х2, или в полуплоскости, ограничивающие прямые которых являются касательными к параболе.
Рис. 6. Отображения чисел X/ в точки, лежащие на параболе у = х2, или в полуплоскости, ограничивающие прямые которых являются касательными к параболе.
Рис. 6. Отображения чисел X/ в точки, лежащие на параболе у = х2, или в полуплоскости, ограничивающие прямые которых являются касательными к параболе.
Лемма 3.6.5. [316]. Для определения ближайшей пары точек среди п точек на действительной оси требуется время Q(nlogn) в рамках АДВ-модели вычислений.
Доказательство. С помощью О (и)-сведения задачи проверки единственности элементов. Даже если заранее известно, что точки, задаваемые в задаче различны, для решения задачи по- прежнему требуется время О (л log п), что может быть установлено с помощью О (п) -сведения задачи проверки 8-близости.
Лемма 3.6.6) [61]. Для определения диаметра множества из точек на плоскости требуется время Q(nlogn) в рамках АДВ-модели вычислений.
Доказательство. С помощью О (п)-сведения задачи проверки пересечения множеств. Даны два множества Д={хь х2, ... ..., Хи} и В={уь у2, ..., уп}, где числа х( и у, находятся в интервале (0, 1). Отображаем эти числа на единичную окружность
с центром в начале координат следующим образом. Сначала рассмотрим множества точек S =VPi\pt = Щ, 1)} и Т = = {<7i|<7< =(—у<, —1)} Для i = 1, 2, .... п. Затем применим преобразование, отображающее каждую точку (х, у) множеств S и Т в точку (x/V^2 + У2, t//Vx2 + y2) на единичной окружности (рис. 7). Это преобразование эффективно отображает число из множества А в точку первого квадранта, лежащую на единичной окружности, и число из множества В в точку третьего квадранта. Отсюда немедленно следует, что диаметр множества точек на окружности равен 2 тогда и только тогда, когда множества А и В имеют непустое пересечение.
Рис. 7. Отображение чисел в точки единичной окружности х* + у* = 1.
Лемма 3.6.7. [235]. Для решения дискретной задачи о \-цент- ре для п точек, когда для заданных п точек требуется найти точку ^центр^, максимальное расстояние от которой до оставшихся п— 1 точек минимально, требуется время Щи logo) в рамках АДВ-модели вычислений.
Доказательство. С помощью О (и)-сведения задачи проверки равенства множеств. Рассмотрим отображение двух множеств А и В, содержащих по п чисел из интервала (0, 1), как описано в доказательстве предыдущей леммы. Так как расстояние между центром и его самым дальним соседом равно 2 в том и только том случае, если множества А и В равны, то отсюда следует доказываемое утверждение.
Лемма 3.6.8 [313]. Для построения евклидова минимального остовного дерева ^ЕМОД^ для п точек на плоскости требуется время Q(n iog и) в рамках АДВ-модели вычислений.
Доказательство. С помощью О (и)-сведения задачи сортировки. Заданы п чисел хь х2, ■ • •, хп, которые требуется отсортировать. Отобразим число Xt в точку pt = (х<, 0) на оси х, t = l, 2, ..., и. Перечисление вершин ЕМОД этих п точек дает упорядоченную последовательность заданных точек, откуда еле-
дует, что каждый алгоритм построения ЕМОД может быть использован для сортировки.
Замечание. Задача о паре ближайших точек также О(пУ сводима к задаче построения ЕМОД, так как ребро между двумя ближайшими точками должно принадлежать дереву. Следовательно, это дает альтернативное доказательство того, что Q(nlogn) является нижней оценкой для задачи построения ЕМОД.
Лемма 3.6.9 [313]. Для построения триангуляции п точек на плоскости требуется время Q(nlogn) в рамках АДВ-модели вычислений.
Доказательство. С помощью О (м)-сведения задачи сортировки. Даны п чисел. Отобразим их в п точек оси х, как при доказательстве леммы 3.6.8. Добавив к множеству из п точек некоторую точку, не лежащую на оси х, мы получаем множество, триангуляция которого может быть перечислена таким образом, чтобы получить упорядоченную последовательность х-ко- ординат точек, лежащих на оси х. Следовательно, каждый алгоритм триангуляции может быть использован для сортировки.
Лемма 3.6.10 [205, 338]. Для нахождения всех максимумов точёк на плоскости требуется время Q(nlogn) в рамках ДРМ. (Точка плоскости р=(хгу) является максимумом, если не существует ни одной другой точки q—(s,t), такой, что x^s и У ^ О
Доказательство. С помощью О (п) -сведения задачи сортировки. Даны п различных чисел Xi, х2, . .., хп. Отобразим их в точки прямой L с уравнением х + у = с, где с — некоторая константа, а именно число х, отображается в точку pt на прямой L с. координатами (х/, у^. Заметим, что каждая точка р, является максимумом. Для того чтобы определить, что pi является максимумом, алгоритм должен иметь возможность проверить, что не существует точки р/, / ф I, такой, что х, < х/ и у, < у,. Это эквивалентно тому, что для всех / =# i либо х,< х/, либо xt > > Xj, т. е. для каждой пары х< и х/ алгоритм должен определить их порядок.
Лемма 3.6.11. Для определения минимального расстояния между двумя линейно отделимыми множествами точек, содержащими по п точек каждое, требуется время Q(nlogn) в рамках АДВ-модели вычислений.
Доказательство. С помощью О (п) -сведения задачи проверки пересечения множеств. Даны два множества действительных чисел A={ai, агап} и В ={6^ Ь2, ..., Ьпу Отобразим эти числа на два линейно отделимых множества точек следующим
образом. Пусть числа из множества А отображаются в точки множества Р = {(«,, 0) ]i — 1, 2, ..., и}, и пусть числа из множества В отображаются в точки множества Q ={(&(, l)|i = = 1, 2, ..., п). Легко видно, что множества Л и В имеют общий элемент тогда и только тогда, когда расстояние между множествами Р и Q равно 1.
Лемма 3.6.12 [305]. Для определения того, имеются ли среди п горизонтальных отрезков хотя бы два взаимно видимых отрезка, требуется время Q(nlogn) в рамках АДВ-модели вычислений. (Два горизонтальных отрезка называются взаимно видимыми, если существует вертикальный отрезок, соединяющий две точки этих отрезков и не пересекающий ни одного другого отрезка.)
Доказательство. С помощью О (/г)-сведения задачи проверки связности объединения интервалов. Даны п интервалов /ь /2, ..., 1п. Отобразим каждый интервал I; в горизонтальный отрезок Hj той же самой длины, имеющий ординату j. Затем добавим к этому множеству отрезков два новых горизонтальных отрезка, длина которых равна расстоянию между самым правым и самым левым концами интервалов и имеющих ординаты у = 0 и у = п -j- 1 соответственно. Тогда эти два новых горизонтальных отрезка являются взаимно видимыми тогда и только тогда, когда объединение интервалов не является интервалом.
Лемма 3.6.13. Для определения того, имеется ли среди п заданных точек хотя бы одна, лежащая на какой-нибудь из п заданных прямых, требуется время Q(nlogn) в рамках АДВ-модели вычислений').
Доказательство. С помощью О (п)-сведения задачи проверки пересечения множеств. Даны два множества Л={хь х2, ... ..., хп) и S ={</!, у2, .... уп}, где Xi и yt— числа из интервала (0, 1). Отобразим их на единичную окружность, как при доказательстве леммы 3.6.6. Затем превратим множество точек, соответствующих множеству В, в множество из п прямых, проходящих через начало координат и соответствующую этой прямой точку. Очевидно, что задача о принадлежности точки прямой имеет ответ ДА тогда и только тогда, когда множества А и В пересекаются.
Лемма 3.6.14. Для определения того, имеется ли среди заданных точек на плоскости хотя бы одна тройка коллинеарных точек, требуется время Q (и log п) в рамках АДВ-модели вычислений. . . . .
*) Частное сообщение Хопкрофта.
Доказательство. С помощью О («)-сведения задачи проверки пересечения множеств. Даны два множества А и В, содержащие по п чисел из интервала (0, 1). Выполним отображение так же, как и при доказательстве предыдущей леммы, и добавим к множеству точек начало координат. Результирующее множество, содержащее 2n 4- 1 точек, имеет три коллинеарные точки тогда и только тогда, когда множества А и В пересекаются.
Лемма 3.6.15. [245, 295]. Для нахождения максимального окна, определяемого двумя последовательными точками из п заданных точек, требуется время Q(nlogn) в рамках ЛДВ-мо- дели вычислений.
Доказательство. С помощью О (п) -сведения задачи проверки равномерности распределения. Действительно, можно сравнить длину окна с параметром с в задаче проверки равномерности распределения за постоянное время.
Замечание. Наша модель вычислений исключает использование функции, вычисляющей целую часть числа, в качестве одной из примитивных функций. Отметим, что Гонсалес получил с помощью функции вычисления целой части числа алгоритм решения данной задачи, имеющий сложность О (и) ([165], см. также [295]).
Лемма 3.6.16. Для нахождения закрытой полуокружности, содержащей максимальное число точек из п, заданых на окружности, требуется время Q(nlogn) в рамках АДВ-модели вычислений.
Доказательство. С помощью О (п)-сведения задачи проверки единственности элементов. Даны п чисел х^ х2, ..., х„. Отобразим число х, в две точки (1/у^ х^у^ и (— \,уь — х^у^, где yt = д/1 4- ^ • Заданные числа являются различными тогда и только тогда, когда искомая закрытая полуокружность содержит в точности «4-1 точку.
Лемма 3.6.17 [313, 315]. Для построения диаграммы Вороного множества из п точек на плоскости требуется время Q(« log п) в рамках АДВ-модели вычислений.
Доказательство. Мы можем свести к этой задаче целый ряд задач. Для примера возьмем задачу о ближайшей паре точек. Так как две ближайшие точки должны определять ребро в диаграмме Вороного, то мы можем использовать диаграмму Вороного для решения задачи о ближайшей паре точек.
Лемма 3.6.18. Для решения задачи о максимальной пустой окружности, состоящей в построении наибольшей окружности, центр которой принадлежит выпуклой оболочке заданного мно-
жества из п точек на плоскости и внутри которой не содержится ни одна из заданных точек, требуется время Q (n log и) в рамках ЛДВ-модели вычислений.
Доказательство. Данная задача является задачей о максимальном окне для двумерного случая (см. задачу 3.6.15).
IV. ЗАКЛЮЧЕНИЕ
Мы дали обзор современного состояния недавно возникшей области исследований, известной как вычислительная геометрия. Предполагалось сделать этот обзор по возможности более широким, хотя имеется целый ряд исследовательских находок, которые не включены в данную работу. Проблемные области и используемые методы не описаны с учетом всех мельчайших деталей, но вместе с тем описание выполнено по возможности более точно.
В вычислительной геометрии имеется ряд открытых проблем, большинство из которых были упомянуты в статье. Концепция динамической вычислительной геометрии [15, 275], когда рассматриваемые объекты перемещаются с течением (непрерывным изменением) времени, например, является одним из направлений исследований, заслуживающих дальнейшего изучения. В настоящее время главное внимание в вычислительной геометрии уделяется получению асимптотических оценок поведения алгоритмов. Чтобы ускорить начавшийся уже процесс переноса развитой в вычислительной геометрии технологии в другие области, следует больше уделять внимания неасимптотическому поведению алгоритмов, т. е. поведению алгоритмов на задачах «небольших» размеров. Более чем необходимо проводить сравнения временных характеристик различных алгоритмов, для которых имеется лишь асимптотическая оценка сложности, представленная с помощью О-большое нотации. Эти сравнения должны проводиться для таких значений размеров исходных данных, какие встречаются в практических задачах.
Авторы благодарны К. К. Вонгу, побуждавшему их написать этот обзор, и выражают глубокую признательность Т. Асано, Б. Чазелле, X. Эделсбрунне- ру и Г. Туссену за их замечания и тщательное чтение начального варианта этого обзора.
ЛИТЕРАТУРА
Aho А. V., Hopcroft J. Е., Ullman J. D. The Design and Analysis of Computer Algorithms. — Reading, MA. — Addison-Wesley, 1974. [Имеется перевод: Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов.—М.: Мир, 1979.]
Ahuja N., Chien R. Т., Yen R., Birdwell N. Interference detection and collision avoidance among three-dimensional obejects. — In: Proc. 1st Annu. Nat. Conf. Artifical Intell. — Palo Alto, CA, 1980,p . 44—48.
Aki S. G Two remarks on a convex hull algorithm. — Inform. Processing Lett, 1979, v. 8, p. 108—109,
Aki S. G., Toussaint G. Т. A fast convex hull algorithm. — Inform. Processing Lett., 1978, v. 7, p. 219—222.
Aki S. G., Toussaint G. T. Efficient convex hull algorithms for pattern recognition applications. — In: Proc. 4th Int. Joint Conf. Pattern Recognition.— Kyoto, Japan, 1978, p. 483—487.
Anderson K. R. A reevaluation of an efficient algorithm for determining the convex hull of a finite planar set. — Inform. Processing Lett., 1978. v. 7, p. 53—55.
Andrew A. M. Another efficient algorithm for convex hulls in two dimensions.— Inform. Processing Lett., 1979, v. 9, p. 216—219.
Appel A., Will P. M. Determining the three-dimensional convex hull of a polyhedron. — IBM J. Res. Develop., 1976, p. 590—601.
Asano T., Asano T. Minimum partition of polygonal regions into trapezoids. — In: Proc. 24th IEEE Annu. Symp. Foundations Comput. ScL, Nov. 1983, p. 233—241.
Asano T., Asano T., Imai H. Partitioning a polygonal region into trapezoids.— Dep. Math. Eng. Instrum. Phys., Univ. Tokyo, Tokyo, Japan, Res. Memo. RMI84-03, 1984.
Asano T., Asano T., Ohsuga Y. Partitioning polygonal regions into triangles.— Papers of Tech. Groups of IECE, CAS 83-98, 1983. p. 31—36.
Asano T., Asano T., Pinter R. Y. Polygon triangulation: Efficiency and minimality (представлено к публикации, 1984).
Asano T., Edahiro M., Imai H., Iri M., Murota К. Practical use of bucketing techniques in computational geometry. — In: Computational Geometry, G. T. Toussaint, Ed. — New York: North-Holland, 1985.
Atallah M. J. A linear time algorithm for the Hausdorff distance between convex polygons. — Inform. Processing Lett., Nov. 1983, v. 8, p. 207—209.
Atallan M. J. Dynamic computational geometry. — In: Proc. 24th IEEE Annu. Symp. Foundations Comput. Sci., 1983, p. 92—99.
Aurenhammer F. Power diagrams: Properties, algorithms and applications.— IIG, Tech. Univ. Graz, Graz, Austria, Rep. F120, 1983.
Aurenhammer F., Edelsbrunner H. An optimal algorithm for constructing the weighted Voronoi diagrams in the plane. — Pattern Recognition, 1984, v. 17, No. 2, p. 251—257.
Avis D. Lower bounds for geometric problems. — In: Proc. 18th Allerton Conf. Commun., Contr., Comput., 1980, p. 35—40.
Avis D. A survey of heuristics for the weighted matching problem. — Networks, 1983, v. 13, p. 475—493.
Avis D., Bhattacharya В. K. Algorithms for computing the d-dimensional Voronoi diagrams and their duals. — In: Advances in Computing Research, vol. 1, F. P. Preparata (ed.), JAI Press, 1983. p. 159—180.
Avis D., El Gindy H., Seidel R. Simple on-line algorithms for convex polygons. — In: Computational Geometry. G. T. Toussaint (ed). — New York: North-Holland, 1985.
Avis D., Toussaint G. T. An optimal algorithm for determining the visibility of a polygon from an edge. — IEEE Trans. Comput., Dec. 1981, v. C-30, p 910—914.
Avis D., Toussaint G. T. An efficient algorithm for decomposing a polygon into star-shaped polygons. — Pattern Recognition, 1981, v. 13, p. 395—398.
Baird H. S. Fast algorithms for LSI artwork analysis. — J. Design Automat. Fault-Tolerant Computing, 1978, v. 2, No. 2, p. 179—209.
Bass L. J., Schubert S. R. On finding the disc of minimum radius containing a given set of points. — Math. Comput., 1967, v. 12, p. 712—724.
Ben-Or M. Lower bounds for algebraic computation trees. — In: Proc. 15th ACM Annu. Symp. Theory Comput., Apr. 1983, p. 80—86.
Bentley J. L. Multidimensional binary search trees used for associative searching. — Commun. Ass. Comput. Mach., Sept. 1975. v. 18, p. 509—517,
Bentley J. L. Solutions to Klee’s rectangle problems. — Carnegie-Mellon Univ. Pittsburgh, PA, 1977 (не опубликовано).
Bentley J L. Decomposable searching problems. — Inform. Processing Lett., 1979, v. 8, p. 244—251.
Bentley J. L. Multidimensional divide and conquer. — Commun. Ass. Com- put. Mach., Apr. 1980, v. 23, p. 214—229.
Bentley J. L. Notes on a taxonomy of planar convex hull algorithms.— Dep. Comput. Sci., Carnegie-Mellon Univ., Pittsburg, PA, manuscript, 1980.
Bentley J. L„ Faust G. M., Preparata F. P. Approximation algorithms for convex hulls. — Commun. Ass. Comput. Mach., 1982, v. 25, p. 64—68.
Bentley J. L., Friedman J. H. Fast algorithms for constructing minimal spanning trees in coordinate spaces. — IEEE Trans. Comput., Feb. 1978, v. C-27, p. 97—105.
Bentley J. L., Friedman J. H. Data structures for range searching.— Comput. Surveys, 1979, v. 11, p. 397—409.
Bentley J. L„ Haken D., Hon R. Fast geometric algorithms for VLSI tasks. — In: Proc. Comput. Conf., 1981, p. 88—92.
Bentley J. L„ Maurer H. A. A note on Euclidean near neighbor searching in the plane. — Inform. Processing Lett., 1979, v. 8, p. 133—136.
Bentley J. L., Maurer H. A. Efficient worst-case data structures for range searching. — Acta Inform., 1980, v. 13, p. 155—168.
Bentley J. L., Ottmann T. Algorithms for reporting and counting geometric intersections. — IEEE Trans. Comput., Sept. 1979, v. C-28, p. 643— 647.
Bentley J. L., Saxe J. B. Decomposable searching problems. I. Static-to- dynamic transformation. — J. Algorithms, 301—358, 1980, v. 1, p. 301— 358.
Bentley J. L., Shamos M. J. Divide-and-conquer in multidimensional space. — In: Proc. Sth ACM Annu. Symp. Theory Comput., 1976, p. 220— 230.
Bentley J. L., Shamos M. I. A problem in multivariate statistics: Algorithms, data structure and applications. — In: Proc. 15th Allerton Conf. Commun., Contr., Comput, 1977, p. 193—201.
Bentley J. L., Shamos M. I. Divide and conquer for linear expected time. — Inform. Processing Lett., 1978, v. 7, p. 87—91.
Bentley J. L., Stanat D. F. Analysis of range searches in quad trees.— flnform. Processing Lett., 1975, v. 3, p. 170—173.
Bentley J. L., Stanat D. F., Williams E. H., Jr. The complexity of finding fixed-radius near neighbors. — Inform. Processing Lett., 1977, v. 6, p. 209—212.
Bentley J. L., Weide B., Yao A. C. Optimal expected time algorithms for closest-point problems. — ACM Trans. Math. Software, 1980, v. 6, No. 4, p. 563—579.
Bentley J. L., Wood D. An optimal worst-case algorithm for reporting intersections of rectangles. — IEEE Trans. Comput., July 1980, v. C-29, p. 571—577.
Bezier P. Numerical Control — Mathematics and Applications, A. R. Forrest, Transl. — New York: Wiley, 1972.
Bhattacharya В. K., El Gindy H. A new linear convex hull algorithm for simple polygons.— IEEE Trans. Inform. Theory, Jan. 1984, v. IT-30, p. 85—88.
Bhattacharya В. K., Toussaint G. T. Efficient algorithms for computing maximum distance between two finite planar sets.— J. Algorithms, June 1983, v. 4, p. 121 — 126.
Bieri H., Nef W. A recursive plane-sweep algorithm, determining all cells ' pf a finite division of R'', — Computing, 1982, v. 28, p, 189—198.
Boissonnat J. D., Faugeras О. D., Triangulation of 3D objects. — In: Proc. 7th Int. Joint Conf. Artificial Intell. — Vancouver, В. C., Canada, 1981, p. 658—660.
Bolour A. Optimal retrieval algorithms for small region queries. — SIAM J. Comput, 1981, v. 10, p. 721—741.
Boots B. N. Weighting Thiessen polygons. — Econ. Geogr., 1979, p. 248— 259.
Borodin A. B. Computational complexity — Theory and practice. — In: Currents in the Theory of Computing. A. V. Aho (ed.).— Englewood Cliffs, NJ: Prentice-Hall, 1973, 1. 35—89.
Bowyer A. Computing Dirichlet tessellations. — Comput. J., 1981, v. 24, p. 162—166.
Boyce J. E., Dobkin D. P., Drysdale R. L., Ill, Guibas L. J. Finding extermal polygons. — In: Proc. 14th ACM Annu. Symp. Theory Comput., 1982, p. 282—289.
Boyse J. W. Interference detection among solids and surfaces. — Com- mun. Ass. Comput. Mach., vol. 21, pp. 3—9, 1979, v. 21, p. 3—9.
Brassel К. E., Fegeas R. An algorithm for shading of regions on vector display devices. — Comput. Graphics, 1979, v. 13, p. 126—133.
Brassel К. E., Reif D. A procedure to generate Thiessen polygons. — Geogr. Anal., 1979, v. 11.
Brostow W., Dussault J.-P., Fox B. L. Construction of Voronoi poly- hedra. — J. Comput. Phys., 1978, v. 29, p. 81—92.
Brown K. Q. Geometric transformations for fast geometric algorithms.— Ph. D. dissertation, Dep. Comput. Sci., Carnegie-Mellon Univ., Pittsburgh, PA, Dec. 1979.
Brown K. Q. Voronoi diagrams from convex hulls. — Inform. Processing Lett., 1979, v. 9, p. 223—228.
Brown K. Q. Comments on ’Algorithms for reporting and counting geometric intersections*. — IEEE Trans. Comput., Feb. 1981, v. C-30, p. 147— 148.
Burkhard W. A., Keller R. M. Some approaches to best match file searching.— Commun. Ass. Comput. Mach., 1973, v. 16, p. 230—236.
Burton R. P., Smith D. R. A hidden-line algorithm for hyperspace. — SIAM J. Comput., 1982, v. 11.
Bykat A. Convex hull of a finite set of points in two dimensions. — Inform. Processing Lett., 1978, v. 7, p. 296—298.
Cavendish J. C. Automatic triangulation of arbitrary planar domains for the finite element method. — Int. J. Numer. Methods Eng., 1974, v. 8, p. 679—696.
Chand D. R., Kapur S. S. An algorithm for convex polytopes. — J. ACM, Jan. 1970, v. 17. p. 78—86.
Chazelle В. M. Computational geometry and convexity. — Ph. D. dissertation, Yale Univ., New Haven, СТ; см. также: Carnegie-Mellon Univ., Pittsburgh, PA, Tech. Rep. CMU-CS-80-150, 1980.
Chazelle В. M. A theorem on polygon cutting with applications. — In: Proc. 23rd IEEE Annu. Symp. Found. Comput. Sci., 1982, p. 339—349.
Chazelle В. M. The polygon containment problem.— In: Advances of Computing Research, vol. I. F. P. Preparata (ed.). —JAI Press, 1983, p. 1—33.
Chazelle В. M. A decision procedure for optimal polyhedron partitioning.— Inform. Processing Lett., 1983, v. 16, p. 75—78.
] Chazelle В. M. An improved algorithm for the fixed-radius neighol problem. — Inform. Processing Lett., 1983, v. 16, p. 193—198.
Chazelle В. M. Filtering search: a new approach to query-answering.— In: Proc. 24th IEEE Annu. Symp. Found. Comput. Set, Nov. 1983. p. 122-132.
Chazelle В. М. Optimal algorithms for computing depths and layers. In: Proc. 2st Allerton Conf. Commun. Control Comput, Oct. 1983, p. 427—436.
Chazelle В. M. Intersecting is easier than sorting. — In: Proc. 16th ACM Annu. Symp. Theory Comput., 1984, p. 125—134.
Chazelle В. M. How to search in history. — In: Proc. Conf. Found. Comput. Theory. — New York: Springer-Verlag, Aug. 1983, p. 52—63.
Chazelle В. M. Fast searching in a real algebraic manifold with applications to geometric complexity. — Dep. Comput. Set, Brown Univ., Providence, RI, Tech. Rep. TR-CS-84-13, June 1984.
Chazelle В. M. Convex partitions of polyhedra: A lower bound and worst-case optimal algorithm. — SIAM J. Comput., Aug. 1984, v. 13, p. 488—507.
Chazelle В. M., Cole R., Preparata F. P., Yap С. K. New upper bounds for neighbor searching (будет опубликовано).
Chazelle В M., Dobkin D. P. Decomposing a polygon into its convex parts. — In: Proc. 11th ACM Annu. Symp. Theory Comput., 1979, p. 38— 48.
Chazelle В. M., Dobkin D. P. Detection is easier than computation. — In: Proc. 12th ACM Annu. Symp. Theory Comput., May 1980, p. 146— 153.
Chazelle В. M., Drysdale R. L. Ill, Lee D. T. Computing the largest empty rectangle. — In: Proc. Symp. Theoretic Aspects Comput. Sci., Paris, France, Apr. 1984.•
Chazelle В. M„ Edelsbrunner H. Optimal solutions for a class of point petrieval problems. — Technische Univ. Graz., Austria, Tech. Rep. IIG (будет опубликовано).
Chazelle В. M., Guibas L. J. Fractional cascading: A data structuring technique with geometric applications. — Manuscript, 1984.
Chazelle В. M., Guibas L. J., Lee D. T. The power of geometric duality.— In: Proc. 24th IEEE Annu. Symp. Found. Comput. Sci., Nov. 1983, p. 217—225
Chazelle В. M., Incerpi J. Unraveling the segment tree. — Dep. Comput Sci., Brown Univ. Providence, RI. Tech. Rep. CS-83-15, June 1983.
Chazelle В. M., Incerpi J. Triangulating a polygon by divide-and-con- quer.— In: Proc. 21st Allerton Conf. Commun. Control Comput., Oct. 1983, p. 447—456.
Chazelle В. M., Lee D. T. On a circle placement problem. — In: Proc. ''Conf. Inform. Syst. Sci., Princeton, NJ, 1984.
Cheriton D., Tarjan R. E. Finding minimum spanning trees. — SIAM J. Comput., Dec. 1976, p. 724—742.
Chin F., Wang C. A. Optimal algorithms for the intersection and the minimum distance problems between planar polygons.— IEEE Trans. Comput., Dec. 1983, v. C-32, p. 1203—1207.
Chin F., Wang C. A. Minimum vertex distance between separable convex polygons. — Inform. Processing Lett., Jan. 1984, v. 18, p. 41—45.
Clarkson K. L. Fast algorithms for the all nearest neighbors problems. — In: Proc. 24th IEEE Annu. Symp. Found. Comput. Sci., Nov. 1983, p. 226—232.
Cole R. Slowing down sorting networks to obtain faster sorting algorithms. — In: Proc. 25th IEEE Annu. Symp. Found. Comput. Sci., Oct 1984, p. 255—260.
Cole R., Yap С. K. Geometric retrieval problems. — In: Proc. 24th IEEE Annu. Symp. Found Comput. Sci., Nov. 1983, p. 112—121.
Dantzig G. B. Linear Programming and Extensions. — Princeton, NJ: Princeton Univ. Press, 1963. [Имеется перевод: Данциг Д. Б. Линейное программирование, его применения и обобщения. — М.: Прогресс, 1966.]
Devroye' L, Toussaint G. Т. A note on linear expected time algorithms for finding convex hulls. — Computing, 1981, v. 26, p. 361—366.
Dewdney A. K. Complexity of nearest neighbor searching in three and higher dimensions. — Univ. Western Ontario, Tech. Rep. 28, London, Ont., Canada, 1977.
Dobkin D. P. A nonlinear lowei bound on linear search tree programs for solving knapsack problems. — J. Comput. Syst. Sci., 1976, v. 13, p. 69—73.
Dobkin D. P., Drysdale R. L. Ill, Guibas L. J. Finding smallest polygons.— In: Advances in Computing Research, vol. 1, F. P. Preparata (ed.).— JAI Press, 1983, p. 181—214.
Dobkin D P., Edelsbrunner H. Organizing points in two and three dimensions.— IIG. Technische Univ. Graz, Austria, Rep. 130, Feb. 1984.
Dobkin D. P., Edelsbrunner H. Space searching for intersecting objects (manuscript).
Dobkin D. P., Kirkpatrick D. G. Fast detection of polyhedral intersection.— Theoret. Comput. Sci., 1983, v. 27, p. 241—253.
Dobkin D. P., Kirkpatrick D. G. A linear algorithm for determining the separation of convex polyhedra.—J. Algorith. (будет опубликовано).
Dobkin D. P., Kirkpatrick D. G. Fast algorithms for preprocessed polyhedral intersection detection.
Dobkin D. P., Lipton R. J. Multidimensional searching problems.— SIAM J. Comput., 1976, v. 5, No. 2, p. 181 —186.
Dobkin D. P., Lipton R. J. A lower bound of l/2n2 on linear search programs for the knapsack problem. — J. Comput. Syst. Sci., 1978, v. 16, p. 413—417.
Dobkin D. P., Lipton R. J. On the complexity of computations under varying sets of primitives. — J. Comput. Syst. Sci., 1979, v, 18, p. 86—91.
Dobkin D. P.,LiptonR. J., Reiss S, Linearprogramming is log-space
hard for P. —Inform.Processing Lett., Feb.1979, v. 8, p. 96—97.
Dobkin D. P.,MunroJ. I. Efficient use ofthe past. — In: Proc.21st
IEEE Annu. Symp. Found Comput. Sci., Oct.1980, p. 200—206.
Dobkin D. P, Munro J. I. Optimal time minimal space selections algorithm.— J. ACM, July 1981, v. 28, No. 3, p. 454—461.
Dobkin D. P., Reiss S. P. The complexity of linear programming.— Theoret. Comput. Sci., 1980, v. 11, p. 1—18.
Dobkin D. P., Snyder L. On a general method for maximizing and minimizing among certain geometric problems. — In: Proc. 20th IEEE Annu. Symp. Found Comput. Sci., 1979, p. 9—17.
Drezner Z. On a modified 1-center problem. — Manag. Sci., 1981, v. 27, p. 838—851.
Duda R. O., Hart P. E. Pattern Classification and Scene Analysis.— New York: Wiley, 1973. [Имеется перевод: Дуда P., Харт П. Распознавание образов и анализ сцен. — М.: Мир, 1976.]
Dunlavey М. R. Query performance of a many-dimensional best-match algorithm — In: Proc. 19th Allerton Conf. Commun. Control Comput., 1981, p. 389—396.
Dyer M. E. A simplified O(n log n) algorithm for the intersection of 3-polyhedra. — Dep. Math., Middlesbrough, UK Tech Rep. TPMR 80-5, 1980.
Dyer M. E. Linear time algorithms for two- and three-variable linear programs. — SIAM J. Comput., Feb. 1984, v. 13, No. 1, p. 31—45.
Edahiro M„ Kokubo L, Asano T. A new point-location algorithm and its practical efficiency — Comparison with existing algorithms. — Dep. Math. Eng. Instrumen. Phys. Univ. Tokyo, Tokyo, Japan, Res. Memo. RMI 83-04, Oct. 1983,
f 120] Eddy W. A new convex hull algorithm for planar sets. — ACM Trans. Math. Software., vol. 3, N 4, pp. 398—403, Dec. 1977.
Edelsbrunner H. Optimizing the dynamization of decomposable searching problems. — IIG, Technische Univ. Graz., Austria, Rep. 35, Sept. 1979.
Edelsbrunnner H. A new approach to rectangle intersections. Part I. — Int. J. Comput. Math., 1983, v. 13, p. 209—219.
Edelsbrunner H. A new approach to rectangle intersections. Part II.— . Int. J. Comput. Math., 1983, v. 13, p. 221—229.
Edelsbrunner H. Dynamic data structures for orthogonal intersection que- • ries. — IIG, Technische Univ. Graz., Austria, Rep. 59, Oct. 1980.
Edelsbrunner H. A note on dynamic range searching.— Bull. EATCS, 1981, v. 15, p. 34—40.
Edelsbrunner H. Intersection problems in computational geometry.— Ph. D. dissertation, IIG, Technische Univ. Graz, Austria, Rep. 93, 1982.
Edelsbrunner H. On computing the extreme distances between two convex polygons. — IIG, Technische Univ. Graz, Austria, Rep. 96, 1982.
Edelsbrunner H., Guibas L. J., Stolfi J. Optimal point location in a monotone subdivision. — SIAM J. Comput. (будут опубликовано).
Edelsbrunner H., Maurer H. A. On the intersection of orthogonal objects.— Inform. Processing Lett., 1981, v. 13, p. 177—181.
Edelsbrunner H., Maurer H. A. A space-optimal solution of general re. gion location. — Theoret. Comput. Sci., 1981, v. 16, p. 329—336.
Edelsbrunner H., Maurer H. A., Kirkpatrick D. G. Polygonal intersection searching. — Inform. Processing Lett., 1982, v. 14, p. 74—79.
Edelsbrunner H., Maurer H. A., Preparata F. P., Rosenberg A. L., Welzl E., Wood D. Stabbing line segments. — BIT, 1982, v. 22, p. 274— 281.
Edelsbrunner H., O’Rourke J., Seidel R. Constructing arrangements of lines and hyperplanes with applications. — In: Proc. IEEE Annu. Symp. Found. Comput. Sci., Nov. 1983; p. 83—91; см. также: IIG, Technische Univ. Graz, Austria, Tech. Rep. F123, Sept. 1983.
Edelsbrunner H., Ottmann T., van Leeuwen J., Wood D. Connected components of orthogonal geometric objects. — Unit for Comput. Sci., McMaster Univ., Hamilton. Ont., Canada, Rep. 81-CS-04, 1981.
Edelsbrunner H., Overmars M. H. On the equivalence of some rectangle problems. — Inform. Processing Lett., May 1982, v. 14, No. 3, p. 124—127.
Edelsbrunner H„ Overmars M H. Batched dynamic solutions to decomposable searching problems. — J. Algorith. (будет опубликовано).
Edelsbrunner H., Overmars M. H., Seidel R. Some methods of computational geometry applied to computer graphics. — IIG, Technische Univ. Graz, Austria, Tech. Rep. Fl 17, June 1983.
Edelsbrunner H., Overmars M. H., Wood D. Graphics in flatland: A case study. — In: Advances in Computing Research, vol. 1, F. P. Preparata (ed ). — JAI Press, 1983. p. 35—59.
Edelsbrunner H., van Leeuwen J. Multidimensional data structures and algorithms, A bibliography. — IIG, Technische Univ. Graz, Austria, Rep. 104, 1983.
Edelsbrunner H., Welzl E. Halfplanar range estimation. — IIG Technische Univ. Graz, Austria, Rep. 98, 1982.
Edelsbrunner H., Welzl E. Halfplanar range search in linear space and O(n°6S5) query time. — IIG, Technische Univ. Graz, Austria, Rep. Ill, 1983.
El Gindy H. An efficient algorithm for computing the weak visibility polygon from an edge in simple polygons, Jan. 1984.
El Gindy H., Avis D. A linear algorithm for computing the visibility polygon from a point.—J. Algorith., June 1981, v. 2, No. 2, p. 186—197.
Ei Gindy H., Avis D„ Toussaint G. T. Applications of a two dimensional
hidden-line algorithm to other geometric problems. — Computing, 1983, v. 31, p. 191—202.
Feng H.-Y. F., Pavlidis T. Decomposition of polygons into simpler components: Feature generation for syntactic pattern recognition. — IEEE Trans. Comput., 1975, v. C-24, p. 636—650.
Forrest A. R. Computational geometry — Achievements and problems.— In: Computer Aided Geometric Design, R. E. Barnhill and R. F. Riesen- feld (eds.). — New York: Academic, 1974, p. 17—44.
Fortune S., Hopcroft J. A note on Rabin’s nearest-neighbor algorithm.— Inform. Processing Lett., Jan. 1979, v. 8, No. 1, p. 20—23.
Francis R. L., White J. A. Facility Layout and Location.— Englewood Cliffs, NJ: Prentice-Hall, 1974.
Frederickson G. N., Johnson D. B. Finding 6th paths and p-centers by generating and searching good data structures. — J. Algorith., 1983, v. 4, p. 61—80
Fredman M. L., Weide B. On the complexity of computing the measure of U[ai, 6<]. — Commun. ACM, 1978, v. 21, No. 7, p. 540—544.
Fredman M. L. A lower bound of the complexity of orthogonal range queries. — J. ACM., 1981, v. 28, p. 696—705.
Freeman H. Computer processing of line-drawing images. — Comput. Surveys, 1974, v. 6, p. 57—93.
Freeman H., Loutrel P. P. An algorithm for the two dimensional hidden line problem. — IEEE Trans. Electron. Comput., 1967, v. EC-16, p. 784— 790.
Freeman H., Shapira R. Determining the minimum-ares encasing rectangle for an arbitrary closed curve. — Commun. ACM, July 1975, v. 18, p. 409—413.■
Friedman N. Some results on the effect of arithmetics on comparison problems.— In: Proc. 13th IEEE Annu. Symp. Switching and Automata Theory 1972, p. 139—143.
Friedman J. H., Bentley J. L., Finkel R. A. An algorithm for finding best match in logarithmic expected time. — ACM Trans. Math. Software, 1977, v. 3, No. 3, p. 209—226.
Friedman J. H., Baskett F., Shustek J. An algorithm for finding nearest neighbors. — IEEE Trans. Comput., 1975, v. C-24, p. 1000—1006.
Gabow H. N., Bentley J. L, Tarjan R. E. Scaling and related techniques for geometry problems. — Proc. 16th ACM Annu. Symp. Theory Comput, Apr 1984, p 135—143.
Gallmberti R., Montanari U. An Algorithm for hidden-line elimination.— Commun. ACM, 1969, v. 12, p. 206—211.
Garey M., Graham R. L., Johnson D. S. Some NP-complete problems.— In: Proc. Sth ACM Annu. Symp. Theory Comput., May 1976, p. 10—22.
Garey M. R., Johnson D. S. Computers and Intractability: A Guide to the Theory of NP-Completeness. — San Francisco, CA: Freeman, 1979. [Имеется перевод: Гэри M., Джонсон Д. Вычислительные машины и труднорешаемые задачи. — М.: Мир, 1982.]
Garey М., Jonhson D. S., Preparata F. Р., Tarjan R. E. Triangulating a simple polygon. — Inform. Processing Lett., 1978, v. 7, No. 4, p. 175— 180.
Gilbert P. D. New results on planar triangulations. — Coord. Sci. Lab. Univ. Illinois. — Urbana. IL. Tech. Rep. ACT-15, July 1979.
Gonnet G. H., Munro J. L, Wood D. Direct dynamic structure for some line segment problems. — Comput. Vision, Graphics and Image Processing, 1983, v. 23, p 178—186.
Gonzalez T. Algorithms on sets and related problems. — Dep. Comput. Sci. Univ. Oklahoma. Tech. Rep., 1975.
Gowda I. G„ Kirkpatrick D. G., Lee D. T., Naamad A. Dynamic Voronoi
diagrams. — IEEE Trans. Inform. Theory Sept. 1983, v. ГТ-29. No. 5, p. 724—731.
Graham R. L. An efficient algorithm for determining the convex hull of a finite planar set. — Inform. Processing Lett., 1972, v. 1, p. 132—133.
Graham R. L., Yao F. F. Finding the convex hull of a simple polygon.— Stanford Univ., Stanford, CA, Tech. Rep. STAN-CS-81-877, 1981; см. также: J. Algorith., Dec. 1983, v. 4, No. 4, p. 324—331.
Greene D. H. The decomposition of polygons into convex parts. — Advances in Computing Research, vol. 1, F. P. Preparata (ed.).— JAI Press, 1983, p. 235—259.
Grtinbaum B. Convex Polytopes. — New York: Wiley Interscience, 1967.
Guibas L. J., Stolfi J. On computing all north-east nearest neighbors in the Lt-metric. — Inform Processing Lett., Nov. 1983, v. 17, p. 219—223.
Giiting R. H. Optimal divide-and-conquer to compute measure anz contour for a set of iso-rectangles. — Lehrstuhl Informatik vi. Univ. Dortmund, Tech. Rep., 1982.
Giiting R. H. Stabbing c-oriented polygons. — Inform. Processing Lett., Jan. 1983, v. 16, p. 35—40.
Giiting R. H., Wood D. Finding rectangle intersections by divide-and-conquer. — Univ. Waterloo., Waterloo, Ont., Canada, Tech. Rep. CS-83-03, 1983.
Hartigan J. A. Clustering Algorithms. — New York: Wiley, 1975..
Hertel S., Mehlhorn K., Mantyla M., Nievergelt J. — Space sweep solves intersection ot two convex polyhedra elegantly. — Acta Informatica (будет опубликовано).
Hwang F. K. An O(n log n) algorithm for rectilinear minimal spanning tree. —J. ACM, 1979, v. 26, p. 177—182.
Imai H. Finding connected components on an intersection graph of squares in the Euclidean plane. — Inform. Processing Lett., Oct. 1982, v. 15, No. 3, p. 125—128.
Imai H., Asano T. Finding the connected components and a maximum clique of an intersectoin graph of rectangle in the plane. — J. Algorith., Dec. 1983, v. 4, No. 4, p. 310—323.
Imai H., Asano T. An efficient algorithm for finding a maximum matching of an intersection graph of horizontal and vertical line segments.— In: Papers IECE Tech. Group Circuits and Systems, CAS 83-143.
Imai H., Asano T. Efficient algorithms for geometric graph search problems. — Dep. Math. Eng. Instrumen. Phys. Univ. Tokyo, Tokyo. Japan. Res. Memo. RMI 83-05, Oct. 1983.
Imai H., Asano T. Dynimic orthogonal segment intersection search. — Dep. Math. Eng. Instrumen. Phys. Univ. Tokyo. — Tokyo, Japan, Res. Memo, RMI 84-02, Feb. 1984.
Imai H., Iri M., Murota K. Voronoi diagram in the Laguerre geometry and its applications. — SIAM J. Comput. (будет опубликовано).
Jarvis R. A. On the identification of the convex hull of a finite set of points in the plane. — Inform. Processing Lett., 1973, v. 2, p. 18—21.
Johansen G. H., Gram C. A simple algorithm for building the 3-D convex hull. —BIT, 1983, v. 23, p. 146—160.
Johnson D. S., Preparata F. P. The densest hemisphere problem. — Theo- ret. Comput. Sci., 1978, v. 6, p. 93—107.
Jozwik A. A recursive method for the investigation of the linear separability of two sets. — Pattern Recog., 1983, v. 11, No. 4, p. 429—431.
Kahn J., Klawe M., Kleitman D. Traditional galleries require fewer watchman.— SIAM J. Algorith. Disc. Method, 1980, v. 4, No. 2, p. 194—206.
Kalantari L, McDonald G. A data structure and an algorithm for nearest point problem. —IEEE Trans. Software Eng., 1983, v. SE-9, No. 5, p. 631—634.
Kariv О., Hakimi S. L. An algorithmic approach to network location problems, Part I: the centers. — SIAM J. Appl. Math., 1979, v. 37, p. 513—538.
Kariv O., Hakimi S. L. An algorithmic approach to netwoork location problems. Pirt II: p-medians. — SIAM J. Appl. Math., 1979, v. 37, p. 539—560.
Katajainen J. On the worst case of a minimal spanning tree algorithm for Euclidean space. — BIT, 1983, v. 23, p. 2—8.
Keil J. M. Decomposing polygons into simpler components. — Ph. D. dissertation. Dep. Comput. Sci.. Univ. Toronto, Toronto, Ont., Canada, 1983.
Keil J. M., Sack J. R. Minimum decompositions of polygonal objects. — In: Computational Geometry. G. T. Toussaint (ed.). — Amsterdam, The Netherlands: North-Holland, 1985.
Khachian L. G. A polynomial algorithm in linear programming. — Sov. Math. Dokl., 1979, v. 20, p. 191—194.
Kirkpatrick D. G. Efficient computation of continuous skeletons. — In: Proc. 20th IEEE Annu. Symp. Found. Comput. Sci., Oct. 1979, p. 18—27.
Kirkpatrick D. G. Optimal search in planar subdivisions. — SIAM J. Comput., Feb. 1983, v. 12, No. 1, p. 28—35.
Kirkpatrick D. G., Seidel R. The ultimate planar convex hull algorithm?— In: Proc. 20th Allerton Conf. Commun. Control Comput, 1982, p. 35—42.'
Kirkpatrick D. G., Seidel R. The ultimate planar convex hull algorithm? — Dep. Comput. Sci., Cornell Univ., Ithaca, NY, Tech. Rep. 83-577, Oct. 1983.
Klee V. On the complexity of d-dimensional Voronoi diagrams. — Archiv der Mathematik, 1980, v. 34, p. 75—80.'
Klee V., Laskowski M. C. Finding smallest triangles containing a given convex polygon. — J. Algorith. (будет опубликовано).
Klincsek G. T. Minimal triangulations of polygonal domains. — Ann. Discrete Math., 1980, v. 9, p. 121—123.
Knuth D. E. The Art of Computer Programming: Sorting and Searching. Vol. 3.— Reading, MA: Addison-Wesley, 1973. [Имеется перевод: КнутД. Искусство программирования для ЭВМ. Сортировка и поиск. Том 3. — М.: Мир, 1978.]
Knuth D. Е. Big omicron and big omega and big theta. — SIGACT News, Apr. — June 1976, v. 8.2, p. 18—24.
Kung H. T., Luccio F., Preparata F. R. On finding the maxima of a set of vectors.— J. ACM, 1975, v. 22, p. 469—476.
Larson R. C., Li V. О. K. Finding minimum rectilinear distance paths in the presence of barriers. — Networks, vol. 11, N 3, pp. 285—304, 1981, v. 11, No. 3, p. 285—304.
Lauther L. 4-dimensional binary search tress as a means to speed up associative searches in design rule verification of integrated circuits. — J. Design Automat. Fault-Tolerant Computing, 1978, v. 2, p. 241—247.
Lawson C. L. C*-compatible interpolation over a triangle. — Jet Propulsion Lab., Tech. Memo, 33-770, May 1976.
Lawson C. L. Integrals of a C*-compatible triangular surface element. — Jet Propulsion Lab., Tech. Memo. 33-808, Dec. 1976.
Lawson C. L. Software for C* surface interpolation, — Jet Propulsion Lab., pub. 77-30, Aug. 1977.
Lee D. T. Proximity and reachability in the plane. — Coord. Sci. Lab., Univ. Illinois, Urbana, IL, Tech. Rep. R-831, 1978.
Lee D. T. Two dimensional Voronoi diagram in the Lp-metric.— J. ACM, Oct. 1980, p. 604—618.
Lee D. T. Farthest neighbor Voronoi diagrams and applications. — Dep.
Elec. Eng. Comput. Sci., Northwestern Univ., Evanston, IL, Tech. Rep, :80-11-FC-04, 1980-
Lee D. Т. On finding the convex hull of a simple polygon. — Dep. Elec. Eng. Comput. Set, Northwestern Univ., Evanston, IL, Tech. Rep. 80-03- FC-01, 1980; см. также: Int. J. Comput. Inform. Sci., Apr. 1983, v. 12, No. 2, p. 87—98.
Lee D. T. Shading of regions on vector display devices. — Comput. Graphics, Aug. 1981, v. 15, No. 3, p. 37—44.
Lee D. T. On fe-nearest neighbor Voronoi diagrams in the plane. — IEEE Trans. Comput., June 1982, v. C-31, p. 478—487.
Lee D. T. Medial axis transformation of a planar shape. — IEEE Trans. Pattern Anal. Machine Intel!., July 1982, v. PAMI-4, No. 4, p. 363— .369.
Lee D. T. Visibility of a simple polygon. — Comput. Vision, Graphics and Image Processing, 1983, v. 22. p. 207—221.
Lee D. T. Maximum clique problem of rectangle graphs. — In: Advances in Computing Research, vol. 1, F. P. Preparata (ed.).— JAI Press, 1983, p. 91—107.
Lee D. T. An optimal time and minimal space algorithm for rectangle intersection problems. — Int. J. Comput. Inform. Sci. (будет опубликовано).
Lee D. T., Chen I. M. Display of visible edges of a set of convex polygons.— In: Computational Geometry, G. T. Toussaint (ed.). — Amsterdam, The Netherlands: North-Holland, 1985.
Lee D. T., Drysdale R. L. III. Generalized Voronoi diagram is .the plane. — SIAM J. Comput., Feb. 1981, v. 10, No. 1, p. 73—87.
Lee D. T., Lin A. Computing visibility polygon from an edge.— Dep. Elec. Eng. Comput. Sci., Northwestern Univ., Evanston, IL, Tech. Rep. 84-02-FC-01, Jan. 1984.
Lee D. T., Megiddo N. Routing around circles (manuscript, Oct. 1983).
Lee D. T., Preparata F. P. Location of a point in a planar subdivision and its applications. — SIAM J. Comput., Sept. 1977, v. 6. No. 3, p. 594— 606.
Lee D. T., Preparata F. P. The all nearest neighbor problem for convex polygons. — Inform. Processing Lett., June 1978, p. 189—192.
Lee D. T., Preparata F. P. An optimal algorithm for finding the kernel of a polygon. — J. ACM. July 1979, p. 415—421.
Lee D. T., Preparata F. P. An improved algorithm for the rectangle enclosure problem. — J. Algorith., Sept. 1982, v. 3, No. 3, p. 218—224.
Lee D. T., Preparata F. P. Euclidean shortest paths in the presence of rectilinear barriers. — Networks, 1984, v. 14, p. 393—410.
Lee D T., Schachter B. Two algorithms for constructing Delaunay triangulations — Int. J. Comput. Inform. Sci., June 1980, v. 9, No. 3, p. 219-242
Lee D. T., Wong С. K. Worst case analysis for region and partial region searches in multidimensional binary search trees and balanced quad trees. — Acfa Informatica, 1977, v. 9, p. 23—29.
Lee D. T., Wong С. K. Voronoi diagrams in Тг(Тх-) metrics with 2-dimensional storage applications. — SIAM J. Comput., Feb. 1980, v. 9, No. 1, p. 200-211.
Lee D. T„ Wong С. K. Quintary trees: A file structure for multidimensional database systems. — ACM Trans. Database Syst,, Sept. 1980, v. 1, No. 3, p. 339—353.
Lee D T., Wong С. K. Finding intersection of rectangles by range search. — J. Algorith., 1981, v. 2, p. 337—347.
Lee D. T., Wu Y. F. Efficient algorithms for Euclidean 1-llne center and problems. — In: Proc. ISOLDE III, Boston, MA, 1984.
Lingas A. The power of non-rectilinear holes. — In: Proc. 9th Colloq, Automata, Lang. Programming. — Aarhus, Denmark, 1982.''
Lipski W., Jr. Finding a Manhattan path and problems. — Networks, 1983. v. 13, p. 399—409.
Lipski W„ Jr., Lodi E., Luccio F., Mugnai C., Pagli L. On two dimensional data organization II. — Fundamenta Informaticae, p. 245—260, 1979, v. 2, p. 245—260.
Lipski W, Jr., Papadimitriou С. H. A fast algorithm for testing for safety and detection deadlocks in locked transaction systems. — J. Algorith., 1981, v. 2, p. 211—226.
Lipski W., Jr., Preparata F. P. Finding the contour of a union of isooriented rectangles. — J. Algorith., 1980, v. 1, p. 235—246; J. Algorith., 1980, v. 3, p. 301.
Lipski W., Jr., Preparata F. P. Segments, rectangles, contours. — J. Algorith., 1981, v. 2, p. 63—76.
Lipton R. J., Tarjan R. E. Applications of a planar separator theorem. — In: Proc. 18th IEEE Annu. Symp. Found. Comput. Sci., 1977, pp. 162— 170; см. также: SIAM J. Comput, Aug. 1980, v. 9, No. 3, p. 615—627.
Lozano-Perez T., Wesley M. A. An algorithm for planning collision free paths among polyhedral obstacles. — Commun. ACM, Oct. 1979, v. 22, No. 10, p. 560—570.
Lueker G. S., Willard D. E. A data structure for dynamic range queries.— Inform. Processing Lett., Dec. 1982, v. 15, No. 5, p. 209—213.
Manber U., Tompa M. Probabilistic, nondeterministic and alternating decision trees. — Univ. Washington, Tech. Rep. 82-03-01, 1982.
Mairson H. G., Stolfi J. Reporting and counting line segment intersections. — Dep. Comput. Sci., Stanford Univ., Stanford, CA, Extended Abstract, 1984.
Masek W. J. Some NP-complete set covering problems. — Unpublished manuscript, Apr. 1979.
Maurer H. A., Ottmann T. Dynamic solutions of decomposable searching problems. — In: Discrete Structures and Algorithms, U. Pape (ed.).— Hanser, 1979, p. 17—24.
McCallum D., Avis D. A linear algorithm for finding the convex hull of a simple polygon. — Inform. Processing Lett., 1979, v. 9, p. 201—206.
McCreight E. M. Efficient algorithms for enumerating intersecting intervals and rectangles. — Xerox Palo Alto Res. Cen., Palo Alto, CA, Tech. Rep. PARC CSL-80-9, 1980.
McCreight E. M. Priority search trees. — Xerox Palo Alto Res. Cen., Palo Alto, CA, Tech. Rep. PARC CSL-81-5, 1981.
McKenna M., Toussaint G. T. Finding the minimum vertex distance between two disjoint convex polygons in linear time. — School Comput. Sci., McGill Univ., Montreal, P. Q., Canada, Tech. Rep. SOCS-8306, Apr. 1983.
McLain D. H. Two-dimensional interpolation from random data. — Comput. J., 1976, v. 19, p. 178—181.
McQueen M. M., Toussaint G. T. On the ultimate convex hull algorithm in practice. — Pattern Recog. Lett, (будет опубликовано).
Megiddo N. The weighted Euclidean 1-center problem. — Dep. Statist., Tel Aviv Univ., Tel Aviv, Israel, 1981.
Megiddo N. On some planar location problems. — Dep. Statist. Tel Aviv Univ., Tel Aviv, Israel, Oct. 1981.
Megiddo N. Linear time algorithm for linear programming in R$ and related problems. — SIAM J. Comput., Nov. 1983, v. 12, No. 4, p. 759— 776.
Megiddo N. Applying parallel computation algorithms in the design of serial algorithms. — J. ACM, Oct. 1983, v. 30, No. 4, p. 852—865.
Megiddo N. Linear programming in linear time when the dimension is fixed.—J. ACM, Jan. 1984, v. 31, No. 1, p. 114—127.
Megiddo N., Supowit K, J. On the complexity of some common geomet-
ric location problems. — SIAM J. Comput., Feb. 1984, v. 13, No. 1, p. 182—196.
Megiddo N., Zemel E., Hakimi S. L. The maximum coverage location problem. — Cen. Math. Stud. Econ. Management Sci., Northwestern Univ., Evanston, IL, Discuss. Paper 490, Aug. 1981.
Mehlhorn K. Lower bounds on the efficiency of static to dynamic transforms of data structures. — Math. Syst. Theory, 1981, v. 15, p. 1—16.
Mehlhorn K., Overmars M. H. Optimal dynamization of decomposable searching problems.— Inform. Processing Lett, Apr. 1981, v. 12, No. 2, p. 93—98.
Minsky M. L., Papert S. Perceptron. — Cambridge, MA: M. I. T. Press, 1966. [Имеется перевод: Минский M., Пейперт С. Персептроны. — М.: Мир, 1971.]
Muller D. Е., Preparata F. Р. Finding the intersection of two convex polyhedra. — Theoret. Comput. Sci., 1978, v. 7, p. 217—236. [Имеется перевод: Маллер Д., Препарата Ф. Нахождение перечисления двух выпуклых многогранинков. — В ки.: Кибернетический сборник, 20. — М.: Мир, 1983, с. 5—29.1
Naamad A., Hsu W. L., Lee D. Т. On maximum empty rectangle problem.— Discrete Appl. Math., 1984, v. 8, p. 267—277.
Nevalaninen O., Ernvall J., Katajainen J. Finding minimal spanning trees in a Euclidean coordinate space. — BIT, 1981, v. 21, p. 46—54.
Newman W. M., Sproull R. F. Principles of Interactive Computer Graphics.— New York: McGraw-Hill, 1979. [Имеется перевод: Ньюмен У. М., Спруэлл Р. Ф. Основы интерактивной машинной графики.—М.: Мир, 1976.]
Nievergelt J., Preparata F. Р. Plane-sweeping algorithms for intersecting geometric figures. — Commun. ACM., 1982, v. 25, No. 10, p. 739—747.
Ohtsuki T., Sato M., Tachibana M., Torii S. Minimum partitioning of rectilinear regions. — Trans. Inform. Processing Soc. Japan, 1983.
O’Rourke J. The complexity of computing minimum convex covers for polygons. — In: Proc. 20th Allerton Conf. Commun. Control Comput, Oct. 1982, p. 75—84.
O’Rourke J., Aggarwal A., Maddila S., Baldwin M. An optimal algorithm for finding minimal enclosing triangles. — Dep. Elec. Eng. Comput. Sci., Johns Hopkins Univ., Baltimore, MD, 1984, Tech. Rep. JHU/EECS-84/08, . May 1984.
O’Rourke J., Chien C-В., Olson T., Naddor D. A new linear algorithm for intersecting convex polygons. — Comput. Graph. Image Processing, 1982, v. 19, p. 384—391.■
O’Rourke J., Supowit K. J. Some NP-hard polygon decomposition problems.— IEEE Trans. Inform. Theory. Mar. 1983, v. IT-29, No. 2, p. 181— 190.
Ottmann T., Wood D. Dynamic sets of points. — Dep. Comput. Sci., Univ. Waterloo, Waterloo, Ont., Canada, Tech. Rep. CS-82-56, Nov. 1982.
Overmars M. H. Dynamization of order decomposable set problems. — J. Algorith., Sept. 1981, v. 2, p. 245—260; см. также: J. Algorith., Sept. 1983, v. 4, p. 301.
Overmars M. H. Range searching in a set of line segments. — Univ. Utrecht, Utrecht, The Netherlands, Tech. Rep. RUU-CS-83-6, Feb. 1983.
Overmars M. H. The locus approach. — Univ. Utrecht, Utrecht, The Netherlands, Tech. Rep. RUU-CS-83-12, 1983.
Overmars M. H., van Leeuwen J. Two general methods for dynamizing decomposable searching problems. — Computing; 1981, v. 26, p. 155—166.
Overmars M. H., van Leeuwen J. Some principles for dynamizing decomposable searching problems, — Inform. Processing Lett., 1981, v, 12, p. 49—54.
Overmars М. Н., van Leeuwen J. Maintenance of configurations in the plane. — J Comput. Syst. Sci., 1981, v. 23, p. 166—204.
Overmars M. H., van Leeuwen J. Dynamization of decomposable searching problems yielding good worst-case bounds. — Lecture Notes in Computer Science 104. — New York: Springer-Verlag, 1981, p. 224—233.
Overmars M. H., van Leeuwen J. Worst-case insertion and deletion methods for decomposable searching problems. — Inform. Processing Lett., 1981, v. 12, p. 168—173.
Papadimitriou С. H. The Euclidean traveling salesman problem is NP- complete. — Theoret. Comput. Sci., 1977, v. 4, p. 237—244.
Papadimitriou С. H. Worst-case and probabilistic analysis of a geometric location problem. —SIAM J. Comput., 1981, v. 10, p. 54 2—557.
Pavlidis T. Algorithms for Graphics and Image Processing. — Berlin: Springer-Verlag, 1982.
Post M. J. A minimum spannnig ellipse algorithm. — In: Proc. 22nd IEEE Annu. Symp. Found. Comput. Sci., Oct. 1981, p. 115—122.
Post M. J. Minimum spanning ellipsoids.— In: Proc. 16th Symp. Theory Comput., Apr. 1984, p. 108—116.
Powell M. J. D., Sabin M. A. Pairwise quadratic approximation on triangles.— ACM Trans. Math. Software, 1977, v. 3, No. 4, p. 316—325.
Preparata F. P. The medial axis of a simple polygon. — In: Proc. 6th Symp. Math. Found. Comput. Sci., Lecture Notes in Computer Science 53. — New York: Springer-Verlag, 1977, p. 443—450.
Preparata F. P. An optimal real time algorithm for planar convex hulls. — Commun. ACM, 1979, v. 22, p. 402—405.
Preparata F. P. A new approach to planar point location. — SIAM J. Comput., Aug. 1981, v. 10, No. 3, p. 473—482.•
Preparata F. P„ Hong S. J. Convex Hulls of infinite sets of points in two and three dimensions.—Commun. ACM. Feb. 1977, v. 20, No. 2, p. 87—93.
Preparata F. P., Muller D. E. Finding the intersection of a set of V halfspaces in time О(V log N). — Theoret. Comput. Sci., 1979, v. 8, p. 45—55. [Имеется перевод: Препарата Ф., Маллер Д. Нахождение пересечения полупространств за время O(n log п).— В кн.: Кибернетический сборник, 21, —М.: Мир, 1984, с. 55—68.]
Preparata F. Р., Shamos М. J. Computational Geometry. — New York: Springer-Verlag, 1985. [В издательстве «Мир» готовится перевод книги.]
Rabin М. О. Proving simultaneous positivity о linear forms. — J. Comput. Syst. Sci., 1972, v. 6, p. 639—650.
Raghavan V., Yu C. Y. A note on a multidimensional searching problem. — Inform. Processing Lett., Aug. 1977, v. 6, No. 4, p. 133—135.
Reingold E. M. On the optimality of some set algorithms.—J. ACM, Oct. 1972, v. 19, No. 4, p. 649—659.
Riesenfeld R. Applications of b-spline approximation to geometric problems of computer-aided design. — Dep. Comput. Sci., Univ. Utah. Salt Lake City, UT, Tech. Rep. UTEC-CSc-73-126, 1973.
Roger C. A. Packing and Covering. — Cambridge, England: Cambridge University Press, 1964. [Имеется перевод: Роджерс К. Укладки и покрытия. — М.: Мир, 1968.]
Rosenfeld A. Picture Processing by Computers. — New York: Academic, 1969. [Имеется перевод: Розенфельд А. Распознавание и обработка изображений с помощью вычислительных машин. — М.: Мир, 1972.]
Sack J. R. An О(п log п) algorithm for decomposing simple rectilinear polygons into convex quadrilaterals. — In: Proc. 2th Allerton Conf. Commun. Control Comput., 1982, p. 64—74.
Sack J. R., Toussaint G. T. A linear time algorithm for decomposing rectilinear star-shaped polygons into convex quadrilaterals. — In: Proc.
'• ' 19th Allerton Conf. Commun. Control Comput, 1981, p. 21—30,
Saxe J. В., Bentley J. L. Transforming static data structures into dynamic structures. — In: Proc. 20th IEEE Annu. Symp. Found. Comput. SeL, Oct. 1979, p. 148—168.
Schlag M., Luccio F., Maestrini P., Lee D. T., Wong С. K. A visibility problem in VLSI layout compaction. — Advances in Computing Research, vol. 2, F. P. Preparata (ed.).— JAI Press (будет опубликовано).
Schonhage A., Paterson M., Pippenger N. Finding the median. — J. Comput. Syst. Sci., 1976, v. 13, p. 184—199.
Schoone A A. van Leeuwen J. Triangulating a star-shaped polygon. — Univ. Utrecht, Utrecht, The Netherlands, Tech. Rep. RUV-CS-80-3, Apr. 1980.
Schwartz J. T. Finding the minimum distance between two convex polygons.— Inform. Processing Lett, 1981, v. 13, No. 4, p. 168—170.
Schwartz J. T., Sharir M. On the piano movers problem. — Dep. Comput. Set, Courant Inst. Math. Sci., New York Univ., New York, NY, Tech, Rep. 41, Feb. 1982.
[ЗЮ] Seidel R. A convex hull algorithm optimal for points in even dimensions.— M. S. thesis. Dep. Comput. Sci., Univ. British Columbia, Vancouver, В. C., Canada, Tech. Rep. 81-14, 1981.
Seidel R. The complexity of Voronoi diagrams in higher dimensions. — In: Proc. 20th Allerton Conf. Commun. Control and Comput., 1982, p. 94—95; см. также: Technische Univ. Graz, Graz, Austria, Tech. Rep. F94, July 1982..
Seidel R. A method for lower bounds for certain geometric problems.— Dep. Comput. Set, Cornell Univ., Ithaca, NY, Tech. Rep. 84-592, Feb. 1984.
Shamos M. I. Geometric complexity. — In: Proc. 7th ACM Annu. Symp. Theory Comput, May 1975, p. 224—233.
Shamos M. I. Geometry and statistics: Problems at the interface. — In: Algorithms and Complexity, J. F. Traub (ed.). — New York: Academic, 1976, p. 251—280.
Shamos M. I. Computational geometry. — Ph. D. dissertation, Dep. Comput. Sci., Yale Univ., New Haven, CT, 1978.
Shamos M. I., Hoey D. Closest-point problems. — In: Proc. 16th IEEE Annu. Symp. Found. Comput. Sci., Oct. 1975, p. 151—162.
Shamos M. I, Hoey D. Geometric intersection problems. — In: Proc. 17th IEEE Annu. Symp. Found Comput. Sci., Oct. 1976, p. 208—215.
] Sharir M., Schorr A. On shortest paths in polyhedral spaces. — In: Proc, 16th ACM Annu. Symp. Theory Comput., Apr. 1984, p. 144—153.
Silverman B. W., Titterington D. M. Minimum covering ellipses. — SIAM J. Sci. Statist. Comput., Dec. 1980, v. 1, No. 4, p. 401—409.
Six H. W., Wood D. The rectangle intersection problem revisited. — BIT, 1980, v. 20, p. 426—433.
Six H. W., Wood D. Counting and reporting untersections of d-ranges.— IEEE Trans. Comput., 1982, v. C-31, p. 181—187.
Snyder W. E.. Tang D. A. Finding the extrema of a region.— IEEE Trans. Pattern Recog. Mach. Intell., May 1980, v. PAMI-2, p. 266—269; см. также: IEEE Trans. Pattern Recog. Mach. Intel!., May 1982, v. PAMI-4, p 309.
Soisalon-Soininen E., Wood D. An optimal algorithm to compute the closure of a set of iso-rectangles. — J. Algorith., June 1984, v. 5, No. 2, p. 199—214.
Steele J. M., Yao A. C. Lower bounds for algebraic decision trees. — J. Algorith., 1982, v. 3, p. 1—8.
Supowit K. J. Grid heuristics for some geometric covering problems. — In: Advances in Computing Research, vol. 1, F, P. Preparata (ed.). — JAI Press, pp, 215—233, 1983, p. 216—233....
Sutherland I., Sproull R., Schumacker R. A characterizition of ten hidden-surface algorithms. — Comput. Surveys, 1974, v. 6, No. 1, p. 1—55.
Tompa T. An optimal solution to a wire-routing problem. — J. Comput. Syst. Sci., 1981, v. 23, p. 127—150.
Toussaint G. T. Pattern recognition and geometrical complexity. — In: Proc. 5th Conf. Pattern Recog., Dec. 1980, p. 1324—1347.
Toussaint G. T. Computational geometric problems in pattern recognition.—In: Pattern Recognition Theory and Applications, J. Hitter (ed.).— Oxford, England: Nato ASI, Apr. 1981.
Toussaint G. T. Solving geometric problems with the rotating calipers. — In: Proc. IEEE MELECON’83, Athens, Greece, May 1983.
Toussaint G. T. An optimal algorithm for computing the minimum vertex distance between two crossing convex polygons. — In: Proc. 21st Allerton Conf. Commun. Control and Comput., Oct. 1983, p. 457—458.
Toussaint G. T. Computing largest empty circle with location constraints.— Int. J. Comput. Inform. Sci., Oct. 1983, v. 12, No. 5, p. 347— 358.
Toussaint G. T. A historical note on convex hull finding algorithms.— Pattern Recog. Lett, (будет опубликовано).
Toussaint G. T., Avis D. On a convex hull algorithm for polygons and its applications to triangulation problems. — Pattern Recog., 1982, v. 15, p. 23—29.
Vaishnavi V. Computing point enclosures. — IEEE Trans. Comput., Jan. 1982, v. C-31, p. 22—29.
Vaishnavi V., Wood D. Data structures for the rectangle containment and enclosure problems. — Comput. Graph. Image Processing, 1980, v. 13, p. 372—384.
Vaishnavi V., Wood D. Rectilinear line segment intersection, layered segment trees, and dynamization. — J. Algorith., 1982, v. 3, p. 160—176.
van Emde Boas P. On the Q(nlogn) lower bound for convex hull and maximal vector determination.— Inform. Processing Lett., 1980, v. 10, p. 132—136.
van Leeuwen J., Maurer H. A. Dynamic systems of static data structures.— Technische Univ. Graz, Graz, Austria, Rep. 42, 1980.
van Leeuwen J., Overmars M. H. The art of dynamizing. — In: Mathematical Foundations of Computer Science, Lecture Notes in Computer Science, v. 118, J. Gruska and M. Chytil (eds.).— Heidelberg, Germany: Springer-Verlag, 1981, p. 121—131.■
van Leeuwen J., Wood D. Dynamization of decomposable searching problems.— Inform. Processing Lett., 1980, v. 10, p. 51—56.
van Leeuwen J., Wood D. The measure problem for rectangular ranges in d-space. — J. Algorith., 1981, v. 2, p. 282—300.
Watson D. F. Computing the n-dimensional Delaunay tessellation with applications to Voronoi Polytopes. — Comput. J., v. 24, No. 2, p. 167— 172.
Willard D. E. Predicate-oriented database search algorithms. — Ph. D. dissertation, Harvard Univ., Cambridge, MA, 1978.
Willard D. E. Polygon retrieval. — SIAM J. Comput., 1982, v. 11, p. 149— 165.
Willard D. E. New data structures for orthogonal queries. — SIAM J. Comput. (будет опубликовано).
Willard D. E., Lueker G. S. Adding range restriction capability to dynamic data structures. — J. ACM (будет опубликовано).
Yang С. C., Lee D. T. A note on all nearest neighbor problem for convex polygons. — Inform. Processing Lett., Apr. 1979, v. 8, p. 193—194.
Yao A. C. On the complexity of comparison problems using linear functions,— In; Proc, 16th Annu. Symp. Theory Comput., 1975, p. 85—89,
Yao А. С. A lower bound to finding convex hulls.—J. ACM, 1981, v. 28, p. 780—787.
Yao A. C On constructing minimum spanning tree in й-dimensional space and related problems. — SIAM J. Comput., 1982, v. 11, No. 4, p. 721—736.
Yao A. C., Rivest R. L. On the polyhedral decision problem. — SIAM J. Comput., 1980, v. 9, p. 343—347.
Yao F. F. A 3-space partition and its applications. — In: Proc. 15th ACM Annu. Symp. Theory Comput., Apr. 1983, p. 258—263.
Yuval G Finding nearest neighbours. — Inform. Processing Lett, 1976, v. 5, No. 3, p. 63—65.
ЛИТЕРАТУРА, ДОБАВЛЕННАЯ ПРИ ПЕРЕВОДЕ
Абрайтис Л. Б. Автоматизация проектирования топологии цифровых интегральных микросхем. — М.: Радио и связь, 1985.
Акимова И. Я. Задача оптимального размещения и обобщения одной теоремы Фейеша Тота. — Изв. АН СССР. Техн, кибернет., 1982, № 2.
Акимова И. Я. Применение диаграмм Вороного в комбинаторных задачах. Обзор. — Изв. АН СССР. Техн, кибернет., 1984, № 2.
Александров А. Д. Выпуклые многогранники. — М. — Л.: Гостехиздат, 1950..
Басакер Р., Саати Т. Конечные графы и сети. — М.: Наука, 1974.
[
6*1Бахман Ф., Шмидт Э. п-угольники. — М.: Мир, 1973.
Болтянский В. Г., Гохберг И. Ц. Теоремы и задачи комбинаторной геометрии.— М.: Наука, 1965.
Болтянский В. Г., Солтан П. С. Комбинаторная геометрия различных классов выпуклых множеств. — Кишинев: Штиинца, 1978.
Буснюк Н. Н„ Сарванов В. И. О графах разбиения многоугольников. I. — Изв. АН БССР, сер. физ.-мат. наук, 1985, № 6.
Буснюк Н. Н„ Сарванов В. И. О графах разбиения многоугольников. 2. — Изв. АН БССР, сер. физ.-мат. наук, 1986, № 5.
Вейль Г. Элементарная теория выпуклых многогранников. — В ки.$ Матричные игры. — М.: Физматгиз, 1961.
[12*1 Берже М. Геометрия. Т. 1, 2. — М.: Мир, 1984.
Вороной Г. Ф. Собрание сочинений.— Киев: Изд-во АН УССР, 1952, т. 2.
Гильберт Д„ Кои-Фоссен С. Наглядная геометрия. — М.: Наука, 1981.
Грюнбаум Б. Этюды по комбинаторной геометрии и теории выпуклых тел. — М.. Наука, 1971.
Делоне Б. Н., Долбилии Н. П., Рыжков С. С., Штогрин М. И. Новое построение теории решетчатых покрытий n-мерного пространства равными шарами. — Изв. АН СССР, сер. матем., 1970, т. 34.
Делоне Б. Н., Долбилии Н. П., Штогрин М. И. Комбинаторная и метрическая теория планигонов. — Тр. Матем. ии-та. — Л.: Наука, 1978, т. 148.
Делоне Б. Н., Сандакова Н. Н. Теория стереоэдров. — Тр. Матем. ин-та. — М.: Изд-во АН СССР, 1961, т. 64.
Донеддю А. Евклидова планиметрия. — М.: Наука, 1978.
Дорошко К. М. Задачи о магистралях на плоскости. — ДАН БССР, 1985, т. 29, № 10.
Корнеенко Н. М. Поиск трансверсальных прямых для множеств выпуклых фигур на плоскости. — Изв. АН БССР, сер. физ,-мат. наук, 1986, № 5.
Корнеенко Н. М., Матвеев Г. В., Метельский Н. Н., Тышкевич Р. И. О разбиениях многоугольников. — Изв. АН БССР, сер. физ.-мат. наук, 1978, т. 23, № 1.
Ломакина 3. Д. Полиэдр Вороного П(п) при п = 5 и максимальные группы целочисленных 5 X 5-матриц. — Тр. Матем. ин-та. — М.: Наука, 1980, т. 152.■
Метельский Н. Н. Метод вычисления расстояний между множествами точек иа плоскости. — Изв. АН БССР, сер. физ.-мат. наук, 1985, № 3.
Минковский Г. Общие теоремы о выпуклых многогранниках. — Успехи матем. наук, 1936, вып. 1, 2.
Муртаф Б. Современное линейное программирование. — М.: Мир, 1984.
Никайдо X. Выпуклые структуры и математическая экономика. — М.: Мир, 1972.
Пападимитриу X., Стайглиц К. Комбинаторная оптимизация. Алгоритмы и сложность. — М.: Мир, 1985.
Петренко А. И., Тетельбаум А. Я., Забалуев Н. Н. Топологические алгоритмы трасировки многослойных печатных плат. — М.: Радио и связь, 1983.
Рейнгольд Э„ Нивергельт Ю., Део Н. Комбинаторные алгоритмы. Тео' рия и практика. — М.: Мир, 1980.
Рыжков С. С., Барановский Е. П. С-типы n-мериых решеток и пятимерные примитивные параллелоэдры (с приложением к теории покрытий).—Тр. Матем. ин-та. — М., Наука, 1976, т. 137.
Саати Т. Целочисленные методы оптимизации и связанные с ними экстремальные проблемы. — М.: Мир, 1973.
Солтан П. С. Экстремальные задачи на выпуклых множествах. — Кишинев: Шгиинца, 1976.
Фейеш Тот Л. Расположения иа плоскости, на сфере и в пространстве. — М.: Физматгиз, 1958.
Фокс А., Пратт М. Вычислительная геометрия. Применение в проектировании и на производстве. — М.: Мир, 1982.
Фоли Дж., вэи Дэм А. Основы интерактивной машинной графики. Т. 1, 2. — М.: Мир, 1985.
Хадвигер Г., Дебреннер Г. Комбинаторная геометрия плоскости. — М.: Наука, 1965.
Хачиян Л. Г. Полиномиальные алгоритмы в линейном программировании. — ЖВМ и МФ, 1980, № 1.
Ху Т. Целочисленное программирование и потоки в сетях. — М.: Мир, 1974.
Чарнн В. С. Линейные преобразования н выпуклые множества. — Киев: Вица школа, 1978.
Шкляревский Д. О., Ченцов Н Н., Яглом И. М. Геометрические оценки и задачи из комбинаторной геометрии —М.: Наука, 1974.
Штрогин М. И. Правильные разбиения Дирихле—Вороного для второй триклинной группы.— Тр. Матем. ин-та. — М.: Наука, 1973, т. 123.
Яглом И. М. О комбинаторной геометрии. — М.: Знание, 1971.
Яглом И. М., Болтянский В. Г. Выпуклые фигуры. — М. — Л.: Гостех- издат, 1951.
Rosenfeld A. Picture processing: 1985. Survey.—Computer vision, graphics and image processing, 1986, v. 34, No. 2.
Простые монотонные формулыдля функции голосования *)
Л. Вэльянт).
Показано, что сложность реализации монотонных симметрических функций от п переменных монотонными формулами ограничена сверху величиной О(п5-).
ВВЕДЕНИЕ
Пусть X=(xi%„} — множество булевых переменных, причем п = 2пг. По определению функция с порогом к (от переменных из X) равна 1 тогда и только тогда, когда к или более ее переменных принимают значение 1 [2]. Ограничимся рассмотрением функции голосования MAJ (majority), которая является функцией с порогом m (от переменных из X). Легко видеть, что любая пороговая функция от п переменных может быть получена подстановкой констант вместо переменных из функции голосования, зависящей не более чем от 2п переменных.
Пользуясь техникой динамического программирования, для функции MAJ легко получить формулу, имеющую сложность ехр(О(logп)2). При этом не используются тождества булевой алгебры: (i) х2 = х; (и) ху + х = х, и, следовательно, то же самое справедливо для монотонной арифметической модели. Шамир и Снир [7] доказали, что в последней модели любая формула для соответствующей функции действительно имеет сложность exp(Q(log п)2).
В булевой алгебре формула полиномиальной сложности впервые получена в работе [3]. Работы [4—6] привели к наилучшей известной сейчас верхней оценке О(п3-37)3). Все эти конструкции используют отрицание. Из недавнего результата
*) Valiant L. G. Short monotone formulae for the majority function.—Journal of Algorithms. 1984, v. 5, p. 363—366.
Айтаи, Комлоша и Семереди [1] о существовании сортирующих схем глубины О (log п) вытекает полиномиальная сложность монотонной булевой формулы для функции голосования, однако этот полином имеет очень высокую степень.
Цель данной статьи — доказать существование для функции голосования монотонной булевой формулы сложности О(п53). Достоинство данной конструкции не только в том, что она уменьшает показатель степени по крайней мере на порядок, но и в ее исключительной простоте. Она показывает удивительную вычислительную мощь монотонной булевой алгебры.
РЕЗУЛЬТАТЫ
Мы определим сейчас последовательность Ао, Аь • •., At, ... распределений вероятностей для монотонных булевых формул над множеством переменных X. Все формулы из А, с ненулевыми вероятностями будут иметь сложность не больше 22'. Мы покажем, что при достаточно большом / формула, случайным образом выбранная из А/, в подавляющем большинстве случаев реализует MAJ.
Распределение А, определяется с помощью следующей вероятностной конструкции (зависящей от параметра а) для формул F е Аг
Если 1=0, то F — либо одна из переменных, либо нуль. Вероятность того, что F есть хд, при любом / равна 2а/(2m— 1). Вероятность того, что F есть 0, равна 1 — (2ал)/(2т —- 1).
Если z > 0, то из At_v независимо выбирают формулы G1, G2, G3, G4 и полагают F = (G1 V G2) (G3 V G4).
Теорема. Пусть а = (3 — Vs)/2^0.38 и / = log2n(l + logY2), где у — любое число, удовлетворяющее условию; у < 4а. Тогда при достаточно большом п = 2m справедливы следующие утверждения;
Пусть х0 — набор значений переменных из X, содержащий не более m — 1 единиц, а х, — набор значений переменных из X, содержащий не менее m единиц. Тогда для формулы F, выбранной случайным образом из At, выполняются неравенства
Prob (Г (х0) = 1Х2"""1, Prob(E(x1) = 0)<2-n"1.
' (ii) Для формулы F, выбранной случайным образом из At, выполняется неравенство
. Prob (E = MAJ)> 1/2.
Доказательство. Вторая часть непосредственно следует из первой, так как вероятность того, что F отличается от MAJ, не
превосходит величины'•.
£ Prob <F (х) MAJ (х)),/‘1
где суммирование ведется по всем 2" наборам значений х переменных из X; а ведь из (i) вытекает, что каждое слагаемое не превосходит 2~п-! и, таким образом, вся сумма не превосходит 1/2.
Для доказательства первой части положим /;=Prob(F(xo)=l) и ht = Prob (F (xt) = 0) при условии, что формула F случайным образом выбрана из А,. Из рекуррентной конструкции для F немедленно следует, что при z 1,
fz = i-(i-f<_l)22 = ^1-4fL1 + ^_„ (О
А, = 1 — (1 — Д?_1)2= — Д?_, + 2A?_l(2)
В промежутке (0, 1) эти рекуррентные соотношения имеют только по одной неподвижной точке: ^ = а, /ц = 1 — а. Отметим, кроме того, что производная функции fi по fi—i в точке, а равна 4а и производная функции hi по ht_x в точке 1 — а тоже равна 4а.
Идея конструкции состоит в следующем. Мы выбираем Ао так, чтобы fo = а — Щгг1) и До = 1—а— Щп-1) соответственно. Соотношения (1) и (2) показывают, что до тех пор, пока ft < а — fi(1) и hi < 1 — а — fi(1), их сдвиги от а и 1 — а на каждом шаге являются величинами первого порядка, а после этого их отклонения от нуля являются величинами второго порядка. Это служит гарантией того, что достаточно взять t = = O(logn).
Более точно заметим, что fo = Prob(F(x0) = 1) при условии, что F выбрана из Ао- Поэтому
f0^ 2a(m — l)/(2m—1) = a — a/(n — 1)..(3)
Аналогично Ло = Prob (F (X|) = 0) и
Ло ^ 1 — 2am/(2m — 1) = 1 — a — a/(n — 1).(4)
Чтобы убедиться в том, что начальные сдвиги являются величинами первого порядка, заметим следующее: если f£_t = = a —е, то f( = а — е^ (а) + О (е2). Таким образом, если у< < /^(а) = 4а, то существует такое е0, что при всех е < е0
fi^ = a-e=^fi < а —- уе.(5)
При этом же условииа
ht_v = 1 — а — е =^ hi < 1 — а — уе.(6)
Из (3) — (6) следует, что.
.fi < а — е0 и hi < 1 — а — е0,-. -
если только i удовлетворяет неравенству («_|)у'^е0 (т. е./ = = (log2 п + log2 e0)/log2 у).
За 0(1) следующих шагов обе величины ^ и к, могут быть уменьшены до любой константы, например до 2-5 ').
Наконец, заметим, что h < 8pi-\ и hi < 2Л?_ 1. Отсюда следует, что при к = <2.1-1
^Tlk, если f/ = 2"\
Таким образом, I— / = logs п следующих итераций достаточно, чтобы уменьшить /; = 2~5 до /т < 2~п-1, как и требовалось. То же верно для hi.
Итак, (log2 n)/(log2 у) + О (1) итераций достаточно, чтобы уменьшить f< и /г, до а — Q (1) и 1 — а — Q (1); О (1) последующих итераций достаточно, чтобы уменьшить их до 2-5, и logs п последних итераций достаточно, чтобы уменьшить их до 2-п-1. Сложность полученной формулы равна O(n2^1+logv2))=О(п5,3). □
ЛИТЕРАТУРА
Ajtai М., Komlos J., Szemeredi Е. An O(nlogn) sorting network. — In: Proc. 15th ACM Symp. of Theory of Computing, 1983, p. 1—9.
Хасин Л. С. Оценки сложности реализации монотонных симметрических функций формулами в базисе V &, Т — ДАН СССР, 1969, т. 189, № 4, с. 752—755.
Храпченко В. М. О сложности реализации симметрических функций формулами. — Матем. заметки, 1972, т. 11, № 1, с. 109—120.
Paterson М. S. New bounds on formula size. — Lecture Notes in Computer Science, 1977, No. 48, p. 17—26.
Peterson G. L. An upper bound on the size of formulae for symmetric Boolean functions. — Dept, of Computer Science Tech. Report 78-03-01, University of Washington, Seattle, 1978.
Pippenger N. Short formulae for symmetric functions. — IBM Research Report RC-5143, Yorktown Heights, N. Y., 1974,
Shamir E., Snir M. On the depth complexity of formulas. — Math. Systems Theory, 1980, v. 13, No. 2, p. 301—322. [Имеется перевод: Шамир Э., Снир М. О глубине формул. — В кн.: Кибернетический сборник, вып. 19.— М.: Мир, 1983, с. 71-96.]
*) В промежутке [2 5, а — ед] величина f, — [,-_) = ff_, — 4[,_,+ + 4f2_| — [(-1 принимает наибольшее значение на одном из концов. Поэтому найдется такое 6 > 0, что — f(_[ < —6. Но тогда достаточно (а — е» — 2-5) шагов, чтобы уменьшить ft от а — eQ до 2~5. — Прим, перев. '
Проверка чисел на простоту_ и суммы Якоби 1}
X. Коэн, X Ленстра, мл. '
Приводится теоретически и алгоритмически упрощенная версия алгоритма проверки простоты чисел, недавно полученного Адлеманом и Румели. Новый алгоритм хорошо работает на практике. Это первый существующий тест проверки простоты, который без труда исследует числа с сотнями десятичных цифр.
' 1. ВВЕДЕНИЕ
Большинство современных методов проверки, является ли данное число п простым, основано на теореме Ферма и ее обобщениях. Эта теорема утверждает, что
Если п простое, то
ап ^ a mod п для всех а е Z. '
Таким образом, чтобы доказать, что число составное, достаточно найти единственное целое а, для которого ап Ф a mod л; здесь ап mod п может быть эффективно вычислено повторными возведениями в квадрат и умножениями по модулю п. Однако для доказательства того что п простое, нам нужно обращение (1.1). В связи с этим возникают две проблемы. Первая заключается в том, что прямое обращение (1.1) неверно: составные чйсла
« = 561 =3 ■ 11 • 17, п = 1105 = 5 • 13 . 17,
п = 1729 = 7 • 13 • 19, п = 2465 = 5 • 17 • 19 .
также обладают тем свойством, что ап г a mod п для всех aeZ. Такие составные числа называются числами Кармайкла, и, вероятно, их бесконечно много.
Вторая проблема состоит в том, что даже если бы обращение (1.1) было верно, это не очень помогло бы, поскольку проверка всех целых a(mod/i) вычислительно неосуществима даже для сравнительно небольших п.
') Cohen Н., Lenstra Н. W., Jr. Primary Testing and Jacobi Sums. — Mathematics of Computation, 1984, v. 42, No. 165. p. 297—330.
© 1984 American Mathematical Society
.© перевод на русский язык, «Мир», 1987
Для решения первой проблемы мы заменяем (1.1) более сильным утверждением. Обсудим два способа для этого.
Первый зависит от символа Якоби (--р), который определен для a, heZ, п положительное, НОД(2а,п) — 1; см. [5, разд. 9] *). Он может быть эффективно вычислен с помощью квадратичного закона взаимности. Из определения (-2-) следует
Если п нечетное простое, то
ti(n-i)/2 == (57) = ± 1 mod п для всех ceZ, НОД (а, п)=1. Обращение (1.2) также верно [14, 23]. Точнее, если п нечетное и составное, п > 1, то сравнение (1.2) выполняется не более чем для половины всех a(modn), НОД(а,п)=1.
Другое усиление теоремы Ферма, которое допускает обращение, таково:
Если п простое, то для любого коммутативного кольца R имеем (а + b^^a’1 + bn mod nR для всех a, beR.
Здесь nR обозначает идеал {х -ф х + • • • + х (п членов): х g R} в R. Для доказательства (1.3) нужно только заметить, что биномиальные коэффициенты ("), 0 < i < п, делятся на п, если п простое. При R = Z мы получаем (1.1) из (1.3), полагая b = 1 и используя индукцию по а.
Можно показать, что обращение (1.3) также верно: если n> 1 и сравнение в (1.3) верно для всех коммутативных колец R и всех a, b е R, то п простое. Фактически достаточно взять R = ZVXV а = Х, Ь=\.
Тест проверки простоты, который мы опишем в этой статье, комбинирует (1.2) и (1.3): сравнения, на которых основан наш тест, получаются из (1.3) и обобщают (1.2).
Перед нами все еще стоит вторая проблема: вычислительно невозможно ни проверить сравнение в (1.2) для всех a(modn), НОД (а. п) = 1, ни проверить сравнение в (1.3) для всех R, а, Ь. Чтобы обойти эту трудность, было предложено несколько методов. Первый должен пожертвовать уверенностью: если п проходит тест в (1.2) для 100 случайно выбранных значений ае е{1, 2, ..., п — 1}, то почти наверняка п простое. Более сильный тест этого типа, принадлежащий Миллеру и Рабину, читатель может найти в [19, 21, 8].
' Второй метод связан с будущим развитием аналитической теории чисел: если обобщенная гипотеза Римана верна и п не
’) См. также: Виноградов И. М. Основы теории чисел.— М.: 1977.—Прим, перев.
четное целое >1, которое проходит тест в (1.2) для всех простых а, не делящих п, а ^ 70(log п)2, то п— простое число (ср. [19, 24]). Но даже если бы обобщенная гипотеза Римана была доказана, практическое значение этого метода находилось бы под вопросом. Для обычных 100-разрядных чисел этот метод примерно в 500 раз медленнее, чем алгоритм, описанный в данной статье; хотя асимптотически он быстрее.
Предлагаемый метод в настоящее время единственный, который ведет к строгим доказательствам простоты. Он состоит в испытании числа п серией тестов, подобных (1.2) и (1.3), со следующими двумя свойствами. Во-первых, если п простое, оно проходит все тесты. Во-вторых, если л проходит тесты, то накапливается информация о возможных делителях п. Эта информация непосредственно ведет к заключению, что 1 и и — единственные делители п, так что п простое.
Для описания типа получаемой информации обозначим через Н группу и через ф отображение из множества делителей п в Н с тем свойством, что ф(гг') = ф(г)ф(/)> если гг' делит п. Если п проходит тесты, то отсюда вытекает, что при подходящем выборе Я и ф имеем
ф(г) есть степень ф(п) для каждого делителя г числа п.
Поэтому оказывается, что мы пытаемся доказать простоту п с помощью следующего тривиального критерия простоты:
Целое число п > 1 простое тогда и только тогда, когда все делители п есть степени п.
Приведенное выше общее описание алгоритма применимо, р частности, к тестам Лукаса и Лемера, улучшенным Бриллхар- том, Лемером и Селфриджем [2] и обобщенным Уильямсом (см. ссылки в [26]). В этих тестах полагают W = (Z/sZ)*, группу обратимых элементов в Z/sZ, где s— целое число, которое строится из известных простых делителей п‘ — 1 для / = 1, 2, 3, 4, 6, и полагают ф(г) = (г mods) для г, делящих п. Если (1.4) верно при этом выборе Н и ф и s достаточно велико, например s > п1/2, то легко найти все делители п и, в частности, решить, является ли п простым. В [16, разд. 8] показано, как могут быть использованы большие значения t. Обсуждение этих тестов с точки зрения теории алгебраических чисел читатель может найти в [17]; здесь Н возникает как группа Галуа подходящего расширения поля рациональных чисел Q и ф есть символ Артина.
Тест простоты, который был недавно изобретен Адлеманом и Румели [1, разд. 4], также подходит под приведенное выше описание, хотя это может быть неясно из того вида, в котором
он сформулирован в [1J. В этом алгоритме проверяю! набор сравнений, включающих суммы Якоби в круговых полях. Используя высшие законы взаимности из теории алгебраических чисел, показывают, что любое п, удовлетворяющее всем этим сравнениям, также удовлетворяет (1.4) при Н = (Z / sZ)*, ф(г) = (г mods) с некоторым вспомогательным числом s, взаимно простым с п. Это число s есть свободное от квадратов целое, большее п1/2, и выбирается таким образом, что -
а1 = 1 mod s для всех а е Z, НОД(а, s) = 1, , .
где t — сравнительно малое свободное от квадратов положительное целое число.
В этой статье мы даем теоретически и алгоритмически упрощенную версию теста Адлемана и Румелч. Теоретическое упрощение достигнуто, как и в [16], рассмотрением сумм Гаусса вместо сумм Якоби. Это позволяет нам пройти мимо высших законов взаимности, которые были использованы в [1]. Наш подход имеет дополнительное преимущество, заключающееся в работе также и с не свободными от квадратов числами t и s.
С алгоритмической точки зрения суммы Гаусса, появляющиеся в нашем тесте, состоят в подчиненном отношении к суммам Якоби из [1], поскольку последние принадлежат к значительно меньшим кольцам. По этой причине важно переформулировать наш тест посредством сумм Якоби. Это делается с помощью техники, которая известна из теории круговых полей. Переформулировка заключается в сравнениях, включающих суммы Якоби, проверить которые легче, чем сравнения, возникающие в [1].
Далее будет видно, что утверждения вида (1.4) играют важную роль в этой статье. Выбор // = (Z/sZ)*, ф (г) = (г mod s) был уже упомянут. Далее мы рассмотрим Н = С*, мультипликативную группу ненулевых комплексных чисел, и ф, равное характеру, определенному в разд. 6. Наконец, для нескольких малых простых чисел р мы возьмем Н = ZP, группу р-адиче- ских единиц, рассматриваемую в разд. 5; в этом случае ф определяется равенством ф(г)= rp-V
В. Дюбюк запрограммировал тест Адлемана и Румели для компьютера DECKL-10 в Массачусетском технологическом институте. Он использовал его для доказательства простоты 62-цифрового числа в течение 6 ч. Это неудачное сравнение с предыдущими тестами, описанными Уильямсом [26]. Фактически Уильямсу никогда не встречалось простое число такого размера, которое заняло бы более 20 мин для доказательства простоты на компьютере Amdahl 470-V7. С другой стороны, прежние тесты для достаточно больших п. Следует
также принять во внимание, что алгоритм Дюбюка использует стандартные программы большой точности из Маклиспа, что, конечно, не самое эффективное возможное средство.
Наш алгоритм был выполнен на вычислительной системе CDC Cyber 170-750 в вычислительном центре SARA в Амстердаме. Были написаны две программы, одна на Паскале, другая на Фортране; обе программы использовали программы большой точности в Компассе. Программа на Паскале является первой существующей программой проверки простоты, которая легко может работать с числами до 100 десятичных разрядов и делает это примерно в пределах 45 с. Программа на Фортране может работать с числами, содержащими в записи до 200 цифр, и делает это примерно в пределах 10 мин.
Алгоритм этой статьи был предназначен для достижения наибольшей эффективности на практике. Однако трудно установить строгую верхнюю оценку для времени работы. Время работы алгоритма из [1, разд. 4] было проанализировано По- мерансом и Одлизко (см. [1, теорема 1, 3]). Они доказали, что для каждого п > ее алгоритм заканчивает работу в пределах О(й(log л)с log log log ”) шагов с вероятностью не менее 1—2” 6 для каждого k ^ 1; здесь с — абсолютная эффективно вычислимая постоянная. Можно показать, что та же верхняя оценка верна для подходящей версии нашего алгоритма, ср. (11.6)(Ь). Для другой версии верхняя оценка О( (log пу log 10g log Д может быть строго доказана при допущении справедливости расширенной гипотезы Римана. Мы не входим в детали этого анализа, поскольку существует иной алгоритм, для которого эта верхняя оценка может быть доказана без каких-либо недоказанных допущений. Этот алгоритм, также принадлежащий Адлеману и Сумели, описан в [1, разд. 5], а его упрощенная версия — в [16, разд 5]. Однако это не имеет практического значения.
Данная статья черпает некоторое количество технических приемов из алгебры и теории чисел, которые не использовались традиционно в тестах простоты. Мы поэтому попытались сделать изложение по возможности более целостным. Содержание статьи состоит в следующем.
Краткое описание нашего алгоритма в трех стадиях дано в разд. 2; разд. 3 посвящен последней стадии, разд. 4 — первой. Центральная стадия описана в разд. 5—11. В разд. 5 и 6 мы собрали свойства р-адических чисел и характеров, которые нам необходимы. В разд. 7 мы показали, как суммы Гаусса можно использовать для обобщения теста в (1.2). Переформулировка посредством сумм Якоби описана в разд. 8 и 9. В разд. 10 мы увидим, как алгоритмы, связанные с конечными полями, ведут к дополнительным улучшениям при некоторых условиях. Наконец,, в разд. Ц описывается центральная стадия алгоритма про-
верки простоты. Детальное описание всего алгоритма с вычислительной точки зрения содержится в разд. 12. Проведенное на практике осуществление обсуждается в разд. 13.
Мы обозначим через Z, Zp, Q, С кольцо целых чисел, кольцо целых р-адических чисел (см. разд. 5), поле рациональных чисел и поле комплексных чисел соответственно. Кратность вхождения простого числа р в m обозначается через ур(т) для me Z, т?^0 (ср разд. 5). Под г\пг мы подразумеваем, что г делитель т, т. е. положительное целое, делящее т. Кольца подразумеваются коммутативными с 1, и подкольца имеют ту же 1. Группа обратимых элементов кольца R обозначается через R*. Обозначения £л, Um, Ox, G см. в разд. 7.
ОБЩАЯ СХЕМА АЛГОРИТМА
Мы даем краткое описание трех стадий нашего алгоритма проверки простоты. Пусть п—целое число, простоту которого надо проверить, и предположим, что п > 1.
Стадия 1. Выбрать два положительных целых числа t и s со следующими свойствами:"
/ мало (см. разд. 4),.
s > п‘/2 (или s > п|/3, см. разд. 3),■'
a1 s 1 mod s для всех a eZ, НОД(а, s)= 1,
’ полное разложение 1 и s на простые сомножители известно.
См. в разд. 4 подробности относительно выбора / и s.
Продолжая стадию 1, проверить, что НОД ($/, п) = 1, используя алгоритм Евклида; если НОД (st, n) + 1, то простой множитель п находят по (2.4), и алгоритм останавливается.
Стадия 2. Подвергнуть п серии тестов, подобных тесту в (1.2). Если оно не проходит какой-либо из этих тестов, то п составное и алгоритм останавливается. В противном случае пытаться доказать следующее утверждение, используя информацию, полученную из тестов:
для каждого делителя г числа п существует ■
ie{0, 1t —- 1), такое, что г = п1’mod s.
Существует теоретическая возможность того, что эта попытка окажется безуспешной по причине нехватки времени. В этом случае можно указать алгоритму остановиться с выдачей сообщения о том, что он оказался неспособен решить, является п простым или нет..
Более детальное описание стадии 2 см. в разд. 11..л
Стадия 3. Если (2.5) доказано, использовать (2.5) и (2.2) для полного разложения п и, следовательно, решить, простое п или нет. В разд. 3 мы увидим, как это можно сделать.
Замечание. Из описания стадии 3 не должно создаться впечатление, что алгоритм полезен при разложении п на множители, если п составное, поскольку практически все составные числа будут исключены на стадии 1 или 2.
ФИНАЛЬНАЯ СТАДИЯ АЛГОРИТМА
Предположим, что (2.5) доказано и что s > п|/2. Чтобы полностью разложить п, достаточно найти все делители г ^ пх,г числа п. Такой делитель удовлетворяет неравенству г < s и, согласно (2.5), сравним с «'mods при некотором ie{0, 1, ... ./—1). Следовательно, если мы определим г, из н = = п* mod s, 0 п < s, 0 i < t, и проверим, какие из п делят п, то получим полное разложение на простые сомножители числа п..
Допустим далее, что кроме (2.5) известна лишь более слабая версия s > п1/3 в (2.2). Тогда разложение п на простые сомножители находят применением следующего результата к d = п, I = 0, 1, ..., t — 1; заметим, что НОД (г,, s)= 1, поскольку на стадии 1 мы проверили, что НОД($/, п^ = 1.
Теорема. Пусть d, s, п — положительные целые числа, удовлетворяющие условиям НОД(й, s)= 1 и s > п|/3. Тогда существует не более 11 делителей числа п, которые сравнимы с d по модулю s, и существует эффективный алгоритм, определяющий все эти делители..
Доказательство этой теоремы и описание алгоритма читатель найдет в [15]. Время работы алгоритма, измеренное в битовых операциях, есть O((logn)3), если d < s < п. Его практическое значение пока не исследовано.
f4. ВЫБОР ВСПОМОГАТЕЛЬНЫХ ЧИСЕЛ
v. TH,.' - ■
Для положительного целого числа / определим (., .■<>г
' ‘ е (/) = 2, если / нечетно,1,1; ’
е(0—2 П <7D,7(t>+1, если / четно, -;।
q простоеq-\ \t
где UqU) определено в введении. Напомним, что для вспомогательных чисел / и s должно выполняться условие
. а1 =1 mods для всех а е Z, НОД (а, s)=l..
Предложение. Пусть t и s — положительные целые числа. Условие (2.3) выполняется тогда и только тогда, когда s делит e(t).
Доказательство. Для нечетных / это доказывается взятием а = — 1 в (2.3). Пусть теперь / четно. Мы можем, очевидно, предположить, что $ равно степени простого числа: s — qm, q простое и m ^ 1. В этом случае предложение легко выводится из следующего хорошо известного результата [5, разд. 5]. Если q нечетное или m ^ 2, то (Z/(?mZ)* — циклическая группа порядка (q — l)^"1-*; если m ^ 3, то (Z/2mZ)* — прямая сумма группы порядка 2 и циклической группы порядка 2"1-2. Это доказывает предложение (4.1).
Мы сейчас опишем выбор t и s на стадии 1.
Сначала выбирают положительное целое число t, для которого е(/)>п|/2 или е(/)>п|/3, в зависимости от того, какой алгоритм используется на стадии 3. Теоретически это можно сделать последовательным испытанием /— 1, 2, 3 .... На практике удобнее использовать таблицу, вычисленную раз и навсегда, которая дает значения е(/) для некоторых удачно выбранных целых t. Примером служит табл. 1; значения е^ в ее нижней части округлены. Из табл. 1 видно, что при п <_ 10100 можно взять t = 5040, если на стадии 3 используется безыскусственный алгоритм, в то время как достаточно t = 1680, если используется алгоритм из (3.1).
Для значения t, которое выбрано, мы выписываем полное разложение е(/) на простые сомножители. Это делается выписыванием всех простых q, для которых q—1 делит I, вместе с показателем m(g) числа q в е(0; этот показатель может быть прочитан из определения е(1). Удобно гакже выписать разложения на простые сомножители чисел q— 1, поскольку они нужны на стадии 2. Для = 5040 = 24 32-5-7 все это сделано в табл. 2. Эта таблица, конечно, является побочным продуктом вычислений, ведущих к табл. 1.
Теперь мы должны выбрать s. Один способ сделать это состоит в следующем. Сначала положим $ = е(/). Если s имеет множителем степень простого числа qmW, для которой s/qm^ все еще больше п|/2 (или л|/3 в зависимости от стадии 3), то мы выбираем такое q'nW с наибольшим возможным q и заменяем s на s/qmW. Это повторяется до тех пор, пока не станет невозможным.
Опишем лучший способ выбора $. Запишем е (/)=Ц» е eq"" 'Д Мы ограничиваемся делителями s числа е^ формы s = = П«ез<7'п(',), где SclE. Как мы увидим в разд. 11, каждое q е S приводит к некоторому объему работы на стадии 2 ал-
Значения е (t)
Таблица 1
t
е (0
2
24
12 = 22 • 3
65 520
60 = 22 • 3 - 5
6.814- 10е
180 = 22 - З2 - 5
2.631 • 1015
х 840 = 23 • 3 - 5 • 7
8.644 • 1024
1260 = 22 - 3" -5.7
1.147 - 1031
1683 = 24 - 3 - 5 -7
2.697 • 1033
2520 = 23 • З2 • 5 • 7
4.866 ■ 1040
■ 5040 = 2* • З2 • 5 • 7
1.532 - 1052
15120 = 24 • З3 • 5 • 7
2.254 • 1079
55440 = 24 • З2 • 5 • 7 • 11
4.Э20 • Ю308
110880 = 25 • З2 • 5 - 7 • 11
2.109- 10137
72 0720 = 24 • З2 • 5 • 7 • 11-13
2.599 • 10237
1441440 = 25 •З2•5 • 7■ 11 - 13
1.669 - 10301
4324320 = 25 - 33 - 5 - 7- 11-13
7.928 • 10455
24504480 = 25 • З2 • 5 ■ 7 • 11 - 13 • 17
4.795 • 10858
735 1 3440 = 25 • З3 • 5 • 7 • 11 ■ 13-17
7.082 - Ю988
367567200 = 25 • З3 • 52 ■ 7 - 11 • 13 • 17
6.208 - 101501
1396755360 = 25 • Зэ • 5 • 7 • 11 ■ 13 • 17 • 19
4.016 - 101913
6983776800 = 25 • З3 • 52 - 7 - 11 - 13 • 17 - 19
7.471 • 103010
Таблица 2
Разложение на простые сомножители е (5040), 5040 = 24 • З2 • 5 ■ 7
qm (4)
4-1
qm (4)
4-1
q™ (4)
4-1
26
1
31
2-3-5
181
22 - 32-5' '
З3
2
37
22 • З2
211
2-3-5-7
52
22
41
23 • 5
241
24 - 3 ■ 5
72
2-3
43
2-3-7
281
23-5-7
11
2-5
61
22 • 3 • 5
337
24-3-7■ ■ О
13
22 • 3
71
2-5-7
421
22-3-5-7
17
24
73
23 • З2
631
2-32-5-7 ■ -
19
2 • З2
113
24 • 7
1009
24 - 32 - 7■
29
22 • 7
127
2 - З2 • 7
2521
23 - З2 ■ 5 • 7,
горитма. Время, требуемое на эту работу, пропорционально числу w^, зависящему от q. Числа w^ зависят от выполнения стадии 2 и лучше всего определяются эмпирически. Для некоторого безыскусственного выполнения хорошее приближение к w^ дается суммой
р простое
Р I Р-'
где ф — функция Эйлера [4, разд. 5.5]. Для того чтобы минимизировать время работы, мы должны теперь выбрать S так, чтобы ^IqeS' w (q) была столь малой, насколько возможно, при ограничении s > п|/2 или п1/3. Полагая S'=E—S, мы видим, что следует максимизировать £9es'ffii(<7) при условии
£ log(<7m«0< log (е(0) —или y)logn. q eS'
Это пример проблемы рюкзака. Хорошо известный метод приближенного решения этой проблемы приводит к следующему способу выбора $. Сначала положим s = e(,ty Если s имеет множителем степень простого числа qmW, для которой s/qm^ все еще больше, чем п1/2 или п1/3, то мы выбираем такое число qm№c максимально возможной величиной w ^/\о^Ят1дЛ и заменяем s на s/qmW. Это повторяется до тех пор, пока возможно. Более тонкие методы решения проблемы рюкзака см. в [18].
Конечное значение s есть делитель е(/), так что, согласно предложению (4.1), условие (2.3) выполнено. Условия (2.2) и (2.4) также выполнены, и ниже мы увидим, какое содержание имеет (2.1). Этим заканчивается описание алгоритма (4.2).
Мы сейчас обсудим, насколько малым может быть взято значение t, чтобы выполнялось е(/)> п|/2 или п1/3. Из
е(/)<2/П(^+1)
и элементарных оценок функции делителя [4, теорема 317] мы получаем следующую нижнюю оценку:
/ > (log ny l-E)(log log log n)/2
для всех е >0 и всех п, больших некоторой границы, зависящей от е. Следующая теорема показывает, что этот результат наилучший возможный, за исключением величины константы в показателе.
Теорема. Существует эффективно вычислимая положительная постоянная с, такая, что для всех п> ее найдется
положительное целое число t, удовлетворяющее неравенствам, t < (log п)с 108 log logn, e^>n'i2.
Это уточнение результата Прахара [20], принадлежащее Померансу и Одлизко. Доказательство см. в [1, разд. 6]. Померане и Одлизко доказали, что / может быть выбрано даже свободным от квадратов; это было необходимо для теста Адлемана и Румели [1].
р-АДИЧЕСКИЕ ЧИСЛА ’
Пусть р — простое число. В этом разделе мы напомним без доказательств несколько основных свойств р-адических читал. Более полное описание см. в [22, гл. 2] и [6].
р-адическое целое число есть последовательность г '
(az mod р')^, (az mod р1') е Z/p‘Z,
такая, что a1+i = a, modр1 для всех z^l. Множество целых р-адических чисел образует кольцо, обозначаемое через Zp, с покоординатным сложением и умножением. Мы рассматриваем Z как подкольцо Zp, отождествляя aeZ с (amodp‘)°°=1 eZp.
Пусть meZ, mZ^\. Отображение Zp->Z[pmZ, которое переводит (azmodp97=1 в (а,„ mod pm), есть сюръективный кольцевой гомоморфизм с ядром, равным pmZp. Это показывает, что Zp/pmZp ~ Z/pmZ, поэтому р-адические целые числа, взятые по модулю рт, образуют обычные целые числа по модулю рт.
Пусть Е—конечная абелева группа порядка, равного степени р. Для а = (az mod р‘У°=1 gZ^kIe Е элемент £°т группы' Е цё зависит от m при достаточно больших т, и мы обозначаем его £°. Эта операция из Zp над Е удовлетворяет известным правилам
№ = £аП°, ^а+ь = ^ь,
при £, ц g Е, a, be Zp, поэтому она превращает Е в модуль над Z„; см. [10, гл. III, разд. 1].
Целое р-адическое число а есть обратимый элемент Zp тогда и только тогда, когда а ^ 0 mod р; следовательно, Z* = Zp — pZp. Каждое ненулевое р-адическое целое число а может быть единственным способом записано в виде а — рти, meZ, т^О, ueZ*^ в этом случае запишем иДа)=т, и пусть ур(0) = оо. Это обобщает функцию иР, которая была определена в ведении на Z —{0}.
Множество l+pZp={aeZ : а=1 modp) есть подгруппа в Z*. Пусть а = (а;)“=1 е 1 + pZp. Тогда каждое аг имеет порядок, равный степени р в (Z/p‘Z)*; поэтому для х е Zp мы можем определить ах = (а^)”_г Это превращает I + pZp в Zp-модуль. Обозначая az₽ = {ах: х е Zp), мы имеем
аЛр=\ A-pmZp при m = yp(a—1)
при условии, что m ^ 1 и m ^ 2 в случае р = 2.
Имеют место следующие изоморфизмы групп:
Z;~(Z/(p-I)Z)X(l+pZp)~
~(Z/(p—l)Z)XZp при р>3,
Z;=l + 2Za~{l, -1} Х(1 + 4Z2) ~(Z/2Z) xZ2;
cm. [22, разд. IL 3], [6, гл. 15, разд. 7].
ХАРАКТЕРЫ
Пусть q— простое число. Характер х по модулю q есть групповой гомоморфизм из (Z/^Z)* в С*. Расширим такой характер до отображения Z/qZ— С, полагая %(0 mod ^) = 0, и положим х(о) = х(°m°d 9) Для aeZ. Множество всех характеров по модулю q образует группу по умножению. Обозначим эту группу Xq.
Хорошо известно, что (Z/^Z)* — циклическая группа порядка q— 1. Пусть образующий элемент g выбран. Отображая X в х(^)> получаем изоморфизм между Xq и группой корней Vq— 1)-й степени из единицы. Отсюда легко следует
Если х, ye^ZlqZY таковы, что х(*) = Х(у) Для всех Хе^, то х = у.
Пусть q — 1 — Цр простое р*1р| — разложение q — 1 на простые сомножители, k (р) = ор \q — 1). Для каждого простого р, такого, что £(р)^1, мы выбираем характер xp,q = Xq порядка pfew; этот характер получают, полагая хр, q (g) = *рк^р) равным примитивному корню степени pfeW из единицы Запишем
Yq = ^xp,q- Р простое, р\q — 1).-,
Легко видеть, что Yq порождает группу Xq,
Теорема. Пусть t и s — положительные целые числа, удовлетворяющие (2.3), и пусть п — целое число, п > 1,
НОД (п, st) = 1. Обозначим. .- . .;.
Ys= U Yq, ''
q I s, q простое
где Yq определяются no (6.2). Допустим, что любое простое число p\t удовлетворяет следующему условию;
Для каждого простого делителя г числа п существует 1Р (г) е Zp, такое, что гр~{ = кпр~')1р ^ в группе 1 + pZp-
Допустим, более того, что каждый х^ Ys удовлетворяет следующему условию;
Для каждого простого делителя г числа п % И = = % (п)1р<г), где 1р(г) то же, что в (6.4), и р такое, что порядок х есть степень р.
Тогда выполнено (2.5), т. е. для каждого делителя г числа п существует 1еД 1t — 1}, такое, что г = п‘ mod s. •
Замечание. Заметим, что /р(г) в (6.4) однозначно определено, если оно существует, по (5.2), (5.3). В самом деле, мы имеем 1р(г)= logP r/logp п, где logp обозначает р-адический логарифм [25, разд. 5.1]. В (6.5) имеет смысл говорить о /Р(г), ибо при X = Хр. ч число р делит t по (4.1).
Доказательство. Согласно (2.3), п* = 1 mods; поэтому достаточно рассмотреть простые делители г числа п. Фиксируем такое г, и пусть Дг)—неотрицательное целое число, удовлетворяющее сравнениям Дг) s /p(r)mod ph{p>l для каждого простого p\t; здесь 1Др) обозначает положительное целое число, которое выбирается достаточно большим, чтобы последующие доводы имели смысл. В частности, мы предполагаем, что порядок каждого хр, q g Ys делит р^. Тогда по (6.5) мы имеем
Хр. q Д) = Хр. q W” <Г) = Хр, q k^ = Xp. q ^
для каждого Xp.q^Ys. Пусть теперь q |s — фиксированное простое число. Тогда характеры xP.q порождают Xq, поэтому ХД) = Х(^1{п) Д-ля всех x~Xq. Согласно (6.1), это означает, что г = nl{r} mod q. Положим тД) = «дД). Мы утверждаем, что' (6.6) г = nl'r' mod q"1^.
При mkq) = 1 это было только что доказано. Допустим поэтому, что т(^)^2. Тогда, согласно (4.1) и определению еД), q делит t, поэтому (6.4) выполнено для р = q. Отсюда следует
здесь h.VU предполагается столь большим, что {n4~v)qhw= I mod q^^.
Теперь мы знаем, что р-адическое целое число а = гп-'^ удовлетворяет сравнениям
a=lmod<7, aq-1 = 1 mod qm w.
Из последнего сравнения следует, что мультипликативный порядок числа а по модулю рт<») делит q— 1, а из первого, что он равен степени q. Значит, этот порядок равен 1, т. е. as = 1 mod qm№. Это доказывает (6.6).
Поскольку (6.6) выполняется для любого простого числа q, делящего s, то мы можем заключить, что г = п1^ mod s. Здесь /(г) может быть приведено по модулю t, поскольку п4 s s I mod s в силу (2.3). Это доказывает теорему (6.3).
Замечание. Если (6.4) выполнено, то, очевидно, для любого делителя г числа п существует /р(г)е Zp, такое, что гр-х = =Цпр-хУри\ и мы имеем
/р(г1Г2) = /р(Г1) +/р(г2) для г/г, делящего п,1р(п)=1.
СУММЫ ГАУССА
Для каждого положительного целого числа m обозначим через Um группу корней m-й степени из единицы в С и через £т примитивный корень m-й степени из единицы; т. е. £т порождает Um.
В этом разделе мы фиксируем простое число q, простое число р и положительное целое k, такое, что pfe делит q — 1. Далее, п — целое число, п > 1, и НОД (га, pq) = 1.
Мы полагаем Л = Z [£р£, С^], кольцо, порожденное Сра и £ , и К = Q ^,рк, t,^, поле дробей из Л. Пусть В — подкольцо Л[1/р] в К. Каждый элемент К имеет единственное представление вида
2ар£р«=^
o^i<(p—l)p”, о</<»-1
с ар е Q (см. [10, гл. VIII, разд. 3]). Для умножения двух таких выражений используют правила
р-29-2
мр-1)р*~1==— у ирУ-1 тч-'=— У Н
Ограничивая коэффициенты ар кольцом Z, получаем кольцо А. Элемент ИЗ К принадлежит В тогда и только тогда, когда зна-
менатели всех его коэффициентов ац. есть степени q; он принадлежит главному идеалу пВ в В тогда и только тогда, когда, кроме того, числители этих коэффициентов делятся на п.
Для xeZ, x^Omodp обозначим через ах автоморфизм поля К, для которого ах (g^) = (£pfc)* и а,(^)=^ (см. [10, гл. VIII, разд. 3]). Пусть
G = {ах: 1 ^ х ^ pk, х ^ 0 mod pY
Это группа Галуа К над Q(^). Она изоморфна (Z/^Z)* при изоморфизме, отображающем ах в (xrnodp6). Обозначим через Z[G] групповую алгебру G над Z (см. [10, гл. V, разд. 1]). Для и е В* и а = Soе сПаО е Z [G] определим м“ е В* равенством.'
Ua— п a<ufa. . ■...
ое G.,
Эта операция из Z [G] на В удовлетворяет правилам (ЫУ)“ = иау\ Ца+е = Ыа . Ы@,- '
U“P = (UX и' = и
для и, иеВ", a, 0eZ[G], l=o1eZ[G]; поэтому она превращает В* в модуль над Z[G].
Пусть х — характер по модулю q порядка рк. Сумма Гаусса т(х). ассоциированная с х, есть элемент А, определенный равенством.■ ■
(7.Dт(х)=£х«£..
Мы имеем'.
(7^2)т(х)т(х-1) = х(—1)9' 'L
(см. [25, лемма 6.1(b)], [7, гл. 5, предложение 7]); поэтому т(х)-1 = Х(— l)t(X-1)/9 G В- Отсюда следует, что т(х)еВ‘, поэтому выражение т (х)"—"" имеет смысл в следующей лемме.
Лемма. Если п простое, то ■,- с-,
Пх)"-0" — xYrrn mod пВ. ' ''
Доказательство. Из (1.3) мы получаем *'.
Х(«)пт(х)"= Е X^x^^modnS^ г '' ;'
..:>! = ^ х^Г ^чкй y = nxmodq) = x(x)an, -
.»-1
и лемма следует из деления этого сравнения на обратимый элемент X (л)" т (х)а". Это доказывает (7.3).
Эта лемма приводит к тестам, которые были упомянуты в разд. 2, стадия 2. Чтобы увидеть связь с (1.2), рассмотрим случай, когда х квадратичный, т. е. имеет порядок рк = 2. Тогда q— нечетное простое число, х — символ Лежандра: х(*) = (у). Из (7.2) видим, что т(х)2 = а, где a = (^-)q. Автоморфизм On тождественный, поэтому сравнение леммы эквивалентно a'-n-bi'2 = (—) mod п. Это то же самое, что (1.2), поскольку Q^ = ^E^ в силу квадратичного закона взаимности, который фактически может быть доказан таким способом.
Вернемся к общему случаю. Мы будем выяснять, что, наоборот, может быть сказано относительно п, если известно, что сравнение в (7.3) выполнено. Для практических целей важно ввести некоторые дополнительные степени свободы, что выражено в следствии.
Следствие. Если п простое, то
т(х/п-°п^ 8 = X ("Г^ mod п
для любого 0 е Z [G) и любого идеала п в В, такого, что х е п.
Доказательство. Возведем сравнение в (7.3) в степень 0; это допустимо, поскольку о\пВ\ = пВ для всех о е G. Далее воспользуемся тем, что пВ а п. Это доказывает (7.5).
Мы будем делать следующие допущения относительно 0 и п:
^^1,
и (] Z = nZ, о„ (и) = и..
Читатель может думать, что 0 = 1 и П = п5. Если 0 = = 2^ ^л^х G Z [G], то (7.6) эквивалентно'
2 пхх ^ 0 mod р...■
Отображение, переводящее £ в £₽, есть автоморфизм группы Uри, если выполнено (7.6). Условие (7.7) будет исследовано в разд. 10.
Теорема. Пусть х — характер по модулю q порядка рк, и предположим, что
т (х)^"—°"^8 — ? m(>d и при некотором £ е Upk некотором 0eZ[G], удовлетворяющем (7.6), и некотором идеале п в В, удовлетворяющем (7,7).
Допустим далее, что выполнено условие (6.4). Тогда % удовлетворяет (6.5), т. е. % (г) = х (п)1р (г) для каждого делителя г числа п с 1Р[г), как в (6.4) и в (6.7).
Замечание. При заданных р и п сравнение (7.9) верно для по крайней мере одного £ е Up, это следует из (7.17).
Доказательство. По (7.6) и НОД (л, р)=1 мы можем записать £ = ^-"Р для некоторого т] е U рк. Пусть i е Z, t 0. Возведем обе части сравнения-
т(х)^-°п^1 = ti-"P mod п . . . '■
в степень ^Дп""'-^5^ это допустимо, поскольку од(п) = П. Пользуясь тем, что■'
(л —<тп) Ё я'-|""/(^ = /г< —(Т^,Т]°" = Т]",
и полагая и = т^, находим
u^-0-1 = т]""1^ mod п -.
для каждого igZ, Z ^ 0. При i = ^р — \ )pk получаем .•
w"^'^-1 = ! modn.’ '
Пусть теперь г — простой делитель п. Тогда мы знаем из (7.5), что (7.10) выполнено с п, т), п, замененными на г, х(г), гВ, поэтому то же выполняется для (7.11). Полагая i = р — 1, ми получаем
р-1р-',, р—
и -Ог =хН Р~ 6 mod г В.
Скомбинируем (7.11) и (7.13) по модулю идеала t = гВ -|- п, который содержит и гВ, и п.
Согласно (6.4), имеем г9-х = (п9~хУрГ' для некоторогоlp(г)s е Zp. Выберем meZ, m">Q, такое, что
m = 1Р (г) mod рк.. ' .
Из■■',;с-Л’
rp-i _R<H)m = ^H^v)-m_ ^hi*. ...,
следует, что■' *
Ур(го_,-/1,р",)'п)>ор((пр-,)р6-1),' ■ ■
и, в частности, поскольку правая часть больше к,'.
rp-1^n,p-1)mmodp\ оГх = ^т.
Применим (7.11) к i=(p — l)m и поделим его на (7.13); это допустимо, поскольку обе части (7.13) обратимы в В. Используя (7.16), находим тогда, что
ип^-^т-АР-Ь = (Х(г) л-т)(р-1) ГР-Ip mo(j t- .
Положим а равным наибольшему делителю числа п.^-^рк—1, который не делится на р. Если мы возведем сравнение в степень а, то по (7.15) показатель слева будет делиться на и(р-1)р*_ 1, поэтому по (7.12) получим
I ^ (% (г) г]-"t)(^—*>rP—lpa mod г.
Предположим теперь, что справедлива следующая лемма.
Лемма. Если ^гирь удовлетворяет сравнению £ = = 1 mod t, то ^ = 1.
Тогда мы находим
(%(г) Tj-"t)<p—^ гР~хва = 1.
Из (р — 1) гр~'а ^ 0 mod р и (7.6) следует теперь, что X (г) = и"** поэтому х(г) — П<р<г> согласно (7.14). Это доказано для простых делителей г числа п. По мультипликативности (ср. (6.7)) это выполняется для любого делителя г числа п. В частности, поскольку /р(н)=1, мы получаем x(n) = Tb откуда х(г) = х<лУр<г) для всех г, делящих п. Это доказывает (7.8).
Доказательство леммы (7.17). Справедливо равенство многочленов
рк-\
П(^-:) = (^ — 1)/(х— 1)= z х‘, С¥-1Г-0
причем произведение пробегает по всем ^eUph, Сэ6 I. Подставляя 1 вместо X, находим
Поэтому, если лемма неверна, то рк е г = гВ + и, откуда pfe = rx-Yy при некоторых хе В, yen. При умножении на п(г это даст ркп/геп, поэтому pkn[renZ согласно (7.7). Но г — простое число, делящее п, а р— простое число, не делящее п, значит, это невозможно. Это доказывает (7.17).
Мы сейчас разовьем несколько методов, которые могут быть использованы для доказательства того, что условие (6.4), которое встречается в (6.3) и (7.8), выполняется. Иной способ, как сделать это, можно найти в разд. 10 (см. (10.7)). В первых двух наших методах требуется, чтобы р ^ 3.
Предложение. Если р^З и пр~х ^Imodp2, го условие (6.4) выполняется.
Доказательство. Согласно (5.1), из условия следует, что (np-')ZP = 1 + pZp. Поскольку rp-'e\-\-pZp для всех делителей г числа п, то (6.4) выполнено. Это доказывает (7.18).
Теорема. Пусть х — характер по модулю q порядка ph, и предположим, что р ^ 3. Допустим, что (7.9) выполнено для примитивного корня £ степени pk из единицы. Тогда р удовлетворяет условию (6.4).
Доказательство. Как и в доказательстве (7.8), обозначим ^ = T]-n@; T\eUpfe. Поскольку £— примитивный корень степени р6 из единицы, то же верно для т]. Пусть и = т(х)р- Применяя (7.11) к i =(р — Пр*-1, находим, что
W1^"^ '"'^TiP^'Pmodn.
Пусть г — простое число, делящее п. Заменяя п, т|, п на г, %(г), гВ, как в доказательстве (7.8), мы получаем
и^""^~{ = ^(r)pk 'р mod гВ.
Комбинируем (7.20) и (7.21) по модулю т = гВ + п. Пусть и обозначает порядок (umodt) в группе (В/г)*. Так как т]— примитивный корень степени рк из единицы, то из (7.6) и (7.17) следует, что T)'’6-^ ^ Imodr. Поэтому из (7.20) следует, что и не делит пУп-х'рк-х — 1, но делит р (хпХр-г'рк~х — 1). Следовательно, мы имеем
Ур(®) = 1 + ир(пХр-^рк"' — 1).'-
Из (7.21) мы видим, что м делит р (г^-^ ^~Х — |), значит
ур (со) ^ 1 + Ур (rlp-1)pft-1 — 1).
Следовательно,■ ■,
Ур^-’1^-1 — 1)> Ур^Р-йр^1 — 1).<У
Заметим, что равенство имеет место тогда и ТОЛЬКО тргда, когда х(г)₽ х/= •• .•■'' '
■ Из (7.22), (5.1) и неравенства р ^ 3 получаем ' ^p-Dp»-1 = ^Р-ПРк-1у
при некотором /gZ,. Поскольку, согласно (5.2), Z* не содержит элементов порядка р, отсюда непосредственно следует, что г”-' = (п”-ху. Это доказывает (7.19).
В оставшейся части этого раздела мы положим р = 2, и, следовательно, п нечетное. В этом случае важную роль играют квадратичные характеры. Для таких характеров удобно заменить условие (7.9), если £— примитивный корень второй степени из единицы (т. е. £ = —1), на условие вида а'-п-х^2 = — I mod п (ср- (7.14)).
Лемма. Пусть а s Z, и предположим, что а^^12 s = —I mod п. Тогда для любого делителя г числа п мы имеем и2у — 1) ^ и2(п — 1), и равенство справедливо тогда и только тогда, когда (т")^- *• частности, (v) = — 1-
Доказательство. Нетрудно видеть, что достаточно рассмотреть простые делители г числа п. Поэтому пусть г — простое число, делящее п, и пусть со— порядок (a mod г) в группе (Z/г^у. Из а^-Ч/г = —] mod г следует, что «Дю) = у2(/г — 1), и, поскольку (о делит г — 1, отсюда вытекает, что сДг — 1)^ ^ о2(п— 1). Неравенство строгое тогда и только тогда, когда со делит (г— 1)/2, т. е тогда и только тогда, когда а*'-1’/2 = = 1 mod г, что эквивалентно (у-)=1. Это доказывает (7.23). (7.24) Предложение. Предположим, что п = 1 mod 4 и что существует ае7,, для которого сб’1-1^2 = —Imodn. Тогда условие (6.4) выполняется для р = 2.
Доказательство. Пусть г\п— простое число. По (7.23) мы имеем у2(г — 1) ^ у2(п — 1) и у2(н —1)^2 в силу предположения. Из (5.1) теперь следует гепь", что и требовалось доказать. Это доказывает (7.24).
Предложение. Предположим, что п = 3 mod 8 и что 2<«-1)/2 = ] mo(j п Тогда условие (6.4) выполнено для р = 2.
Доказательство. Пусть г |п — простое число. По (7.23) либо г = 1 mod 4 и (4) = 1 > либо г = 3 mod 4 и (у) = — 1. Поскольку (у) = 1 для г = ± 1 mod 8 и (у) = — 1 для г = ± 3 mod 8, то либо r=lmod8, либо r = 3 = nmod8. Поэтому одно из чисел у2 (г — 1) и иДт"1 — 1) больше или равно 3. Но 3 = и2 (п2 — 1), поэтому из (5,1) следует, что г или гн-' принадлежит (n2)z\
Следовательно, г принадлежит п-71 U п'*17-1 = пг‘, что и требовалось доказать. Это доказывает (7.25).
Замечание. Если n = 3mod8 и 2ln-,V2^ — 1 mod п, то п, очевидно, не простое в силу (1.2).
Случай п = 7 mod 8, который не охвачен (7.24) или (7.25), наиболее удобно рассматривать с помощью предложения (10.8). В качестве альтернативы можно использовать следующую теорему, являющуюся аналогом (7.19). Мы пользуемся обозначениями, введенными в начале этого раздела.
Теорема. Пусть х— характер по модулю q порядка рк с р = 2 и й ^ 2. Предположим, что (ТД) выполнено для примитивного корня £ степени 2к из единицы, а также, что qt^V1 = = — 1 mod п. Тогда условие (6.4) выполнено для р = 2.
Замечание. Допустим, что п простое и что (7.9) выполняется для примитивного корня £ степени 2к из единицы. Мы утверждаем, что тогда выполнено дополнительное условие ^("-Ч/2 = = — 1 mod и. Чтобы доказать это, заметим сначала, что £ = = х(^)-,,е по (7.5) и (7.17), так что х(«) есть примитивный корень степени 2Л из единицы и xW2k-V =— 1- Пусть ф— квадратичный характер х2*~'- Тогда ф(н)=—1 и ф(—1) = = Х(—О26-1 = 1, поэтому по ч (7.2) и (7.3) имеем д^-О/2 = = т(фр-1 = ф (и) = — 1 mod п, что и требовалось доказать.
Следовательно, п составное, если оно не проходит дополнительный тест ^(п-1)/2 = — 1 mod п.
Доказательство (7.26). В случае п= 1 mod 4 теорема непосредственно следует из (7.24). Предположим поэтому, что п = = 3mod4. Как и в предыдущем замечании, положим ф = Х2б~11 Пусть г — простой делитель п. Рассуждая так же, как в доказательстве (7.1), находим, что
v2(r2k~' - 1)>о2(п2*“’ - 1)
(ср. (7.22)), причем знак равенства имеет место тогда и только тогда, когда ф(л) = — 1. Поскольку k ^ 2, имеемо2(п2*~1—1)^3; тогда, согласно (5.1), получаем r-k-x = n2k~l1 для некоторого le Z2. По (5.3) единственные корни из единицы в Z2 есть ±1, поэтому г = ±п'. Замечание о знаке равенства в (7.27) влечет за собой, что / нечетно тогда и только тогда, когда ф(г) =—1. Это также может быть сформулировано в виде ф(г) = (—1)4
Заметим, что Ф(г) = (-/), применяя (7.4) с ф, г в роли %, и и используя го, что ф(—1) = 1. Итак, из дополнительного уело-
вия ^(л-1>/2 = —1 mod п и леммы (7.23) следует, что изкг — *)^ ^ иг^п— 1), причем равенство выполняется тогда и только тогда, когда ф(г) =—1. Поскольку л = 3 mod 4, это также может быть сформулировано как г = ф(г)тоб 4. Из г = ф(г) = = ( — l)z=z?zmod4 следует теперь, что в равенстве г = ±nz должен быть знак плюс. Это доказывает (7.26).
Замечание. Усложнения, которые возникают в случае р = 2, исчезают, если для р = 2 мы ограничиваемся равенством к = 1, т. е. квадратичными характерами. В этом случае (6.4) можно заменить более простым условием из (г — 1)^ из^п — 1) для всех г\п (ср. [16, разд. 2J). Из рассмотрения только квадратичных характеров вытекает, что вспомогательное число t, выбранное на стадии 1 алгоритма (см. разд. 2 и 4), должно удовлетворять дополнительному условию / ^ 0 mod 4.
8. СУММЫ ЯКОБИ ДЛЯ НЕЧЕТНЫХ рV
Пусть q, р, к, п, %, В, G, т(х) такие же, как в предыдущем разделе; мы сохраняем обозначения £m, Um, Ох- Наша цель состоит в переформулировке условия (7.9) таким образом, чтобы оно относилось только к элементам подкольца Z [gpfe] в В.
Пусть а и b — два целых числа. Сумма Якоби Цха'Х?^> ас" социированная с характерами хО/^ Хь> есть элемент Z^*], определенный по формуле•
<7-1..-
/(rAx^Xffxj^l-x).
х=0.
В В мы имеем -*.
/(Xя, X6) = т (х“) т (xd)/T (ха+ь),'
если а + b Ф 0 mod рк, где сумма Гаусса определена в (7.1). Доказательство (8.2) см. в [25, лемма 6.2(d)] или в [7, гл. 5, предложение 9]. Если ab {а + Ь) Ф 0 mod р, то (8.2) можно записать в виде
/(Х°, х',) = т(Х)°<-+а»-0<«+».
Заметим, что из условия ab ^а + 6) Ф 0 mod р вытекает нечетность р.
В дальнейшем мы обозначаем через [t/J наибольшее целое число, не превосходящее у, если у — вещественное число. При р ^ 3 полагаем■
М = (х е Z: 1 ^х <,.р\ x^Omodp}. \■
Теорема. Предположим, что р ^ 3. Пусть а, b — целые числа, удовлетворяющие соотношениям
(а + b)p ^ ар + bp mod р2, ab (а + Ь) Ф 0 mod р, и пусть ш — идеал в Z[£pt], для которого' ■ ’
mriZ = nZ, on(m) = m.'
Определим а е Z [G] выражением
-WK ' . - <
хеМL р J.
Если при этих обозначениях-■ ■ . •
/(х°, хТ s S mod m при некотором t.eUph, 4:
то (7.9) выполняется. Если (8.8) не выполняется, то п составное.
Замечания, (а) Заметим, что 7(xa.Xft)“ принадлежит Z[^pt], поскольку коэффициенты а неотрицательны.
В доказательстве мы увидим, что если (8.8) выполняется, то (7.9) верно с тем же £. Это важно для (7.19).
Если 3^р<6-109, р^{1093, 3511}, то условие (8.6) выполнено для а = b = 1 по [ 13]. Из (р — 1)р р — 1 mod р2 следует, что в любом случае (8.6) имеет место при некотором а ^ р — 2 с b = 1
Примером идеала m в Z[£p*], удовлетворяющего (8.7), служит m = nZ[^p*j. В разд. 10 мы обсудим различные способы выбора ш.
^Доказательство (8.5). Пусть п — идеал в В, порожденный ю. Из
( /»-2\1
» = I Ь W a, s m (0 < / < < — ^,. dsZ
I Х/-04)
и НОД(р, п)= 1 нетрудно получить, что ■ .
nnZ|^p6] = m./ .
Из (8.7) следует теперь, что п удовлетворяет (7.7).'
Определим р е= Z [G] выражением'.
(8JI)
о X и» (8.4). Ниже будет доказана следующая лемма.
Лемма. Пусть a,b^Z удовлетворяют (8.6), и пусть a, peZ[G] определены в (8 5) и (8.11). Тогда мы имеем
(п — ап^ = (аа + оь — аа+ь) а
в Z[G], и р удовлетворяет условию (7.6): ^#=1.
Пользуясь этой леммой, мы видим из (8.3), что .
/ ^, ^ = т ^а^ъ-%^ * = т (х)!"-^) 3, поэтому по (8.10) сравнение (8.8) эквивалентно'
т(х)^-”"^Р = ^ mod и при некотором ЕеУрь
Поскольку рип удовлетворяют (7.6) и (7.7), теперь непосредственно видно, что (8.8) влечет за собой (7.9). Второе утверждение теоремы очевидно из (7.5). Это доказывает (8.5).
. Доказательство (8.12). Определим 0eZ[Gj: ... , ; ■
■6= X хо;1,■
■хе.И‘
причем М из (8.4). Пусть meZ, тч^Отойр. Полагая х = ту mod pk, мы видим, что,.
<тт6= I' г (ту) в~\
где г(ту)—элемент М, сравнимый с ту по модулю р*. Иа г(ту) = ту — \my]pk\pk следует теперь, что ..
(m_<,je = p* £ f^]",-1-
ye М L Р J'
Применяя это к т = п, а, Ь, а + Ь, мы находим, что (п — ап) 6 = pka,
(оо + о» — оа+6)6 = ((а + b — аа+6) — (а — оа) — -(Ь-оь))0 = р^,-"
и поэтому
pk(n — оп)р = (аа + а6-оа4.ь)(п — Оп)6='.
= рк^а + Ofa — Ga + b)a.-'■
Поделив на рк, мы получаем первое утверждение (8.12). Второе утверждение эквивалентно
(3.15)
Здесь мы рассматриваем выражение слева как элемент Zp, чтобы придать х-1 смысл; то же относится к подобным выраже-
ниям ниже. Чтобы доказать (8.15), покажем сначала, что
vp(^x'"p) = A:" L
Значения, принимаемые выражением (x^Pmodp4) при х е М, есть в точности элементы Н = (t/ е (ZjpkZy". у = 1 mod р}, каждое берется р — 1 раз. Это верно, поскольку Н есть подгруппа индекса р— 1 в циклической группе (Z/p^Z)*. Поэтому имеем
У х*~Р = (р—1) У У mod pk = хеМдеН, ,
.= (р~ l)^"1^-^/^"1 - l))modp\ .
откуда следует (8.16).
Если х, у е Z сравнимы по модулю рк, то хр = ур modpk+i по биномиальной теореме. Отсюда следует, что существует кольцевой гомоморфизм Z [G]-> Z/pt+1Z, отображающий ах в (xPmodp^1) при хеМ. Применяя этот кольцевой гомоморфизм к (8.14), получаем сравнение.
(а” + Ьр - (а + 6)р) £ х'-р =-.
хеМ
По (8.6) и (8.16) показатель р в выражении слева в точности равен к. Следовательно, это также верно для выражения справа, поэтому'
Поскольку х~р = х-1 mod р, это то же самое, что (8.15). Это завершает доказательство (8.12).
Альтернативное доказательство (8.15) исходит из сравнения У Г-^1 ^~‘ = m^p-^P6""1 — V)^pk mod рк,
которое справедливо для любого meZ, m^Omodp. Это сравнение доказывают, вычисляя Ц тх двумя различными хеМ
способами.1
Замечание. Элементы 6, PeZ[G], которые мы использовали в этом разделе, есть известные операторы из теории круговых полей. См., например, [11, гл. IV, разд. 4], [25, разд. 6.2], где они встречаются в связи с теоремой Стикельбергера о разложении на множители сумм Гаусса и Якоби,
СУММЫ ЯКОБИ ДЛЯ р = 2
В этом разделе мы проделаем для р = 2 то, что сделали в предыдущем разделе для р ^ 3. Обозначения не меняются; в частности, наше предположение НОД (л, pq) = 1 влечет за собой, что п нечетно при р = 2. Мы различаем случаи к = 1, к =2, к >3.
Теорема. Пусть р = ^ и к = 1. Если в этом случае мы имеем'
qtn-xya ф mod п при некотором £е{1, — 1), тогда (7.9) выполняется. Если (9.2) не выполнено, то п составное.
Доказательство. Первое утверждение следует из т(х)2 = = Х(—1)9 (см- (7.2)) при Р = 1 и п = пВ в (7.9). Второе утверждение следует из (7.5). Это доказывает (9.1).
Теорема. Пусть р = 2, к = 2 и n=lmod4. Пусть ш — идеал в Z[£4], для которого mf]Z = nZ. Если в этом случае мы имеем
/(%, хУп-1№ q^n-w = С mod m при некотором ^e(Jt,
то (7.9) выполняется. Если (9.4) не выполнено, то п составное.
Доказательство. Пусть п—идеал в В, порожденный ш. Как и в доказательстве теоремы (8.5), мы имеем п П Z [^4] = ш. Из п= 1 mod 4 следует, что ал— тождественный автоморфизм, поэтому п удовлетворяет (7.7).
По (8.2) и (7.2) мы имеем
7 (х, х) = т (х)7т (х2), т (х2)2 = х2 (—1) q = q, и поэтому
т(хГ""-т(хГ,=/(х. xr™V~w.
Следовательно, (9.4) есть то же самое, что (7.9) с р = 1 и п таким, как выше. Второе утверждение теоремы снова следует из (7.5). Это доказывает (9.3).
Теорема. Пусть р = 2, к =2 и n = 3mod4. Если в этол! случае мы имеем
/ (х, x)('i+l)/2<7|,i-3|/4 = £ mod nZ [£4] для некоторого £ е U4,
то (7.9) выполняется. Если (9.6) не выполнено, то п составное.
Замечание. Нет необходимости рассматривать произвольные идеалы m в Z[£4], удовлетворяющие (8.7) в этой теореме, поскольку из (10.5) следует, что единственный такой ш есть nZ\U....
Доказательство (9.5). По (7.2) имеем т(%)т(х-1) = Х(—1)<7, т(х2)2 = </,
и поэтому в силу (8.2)
тМ" O,t = T(x)n+'/(T(x)T(x ')) =
= 7(Х, xY^W^W^-^q^
= x(-i)/(x,= x(-i)/(x,^У^+ 1)/2 ^(п—3)/4^У^+ 1)/2 ^(п—3)/4
= x(-i)/(x,
= x(-i)/(x,
^У^+ 1)/2 ^(п—3)/4
^У^+ 1)/2 ^(п—3)/4
Следовательно, (9.6) есть то же самое, что (7.9) с р = 1, п = пВ и с £, замененным на %(—1)£. Это влечет за собой (9.5).
В оставшейся части этого раздела мы предполагаем, что р = 2 и 6 5? 3. Тройная сумма Якоби /(х, Х>Х) есть элемент Z [^2/:], определенный по формуле
/ (х, X, X) = 1 (Х> X) 1 (X, X2).
Чтобы пояснить обозначение, отметим, что
7 (X, X, X) —£ xtox(n)x(z) „
х, ц, г е Zlq7„ х+у+г = 1
(см. [7, гл. 5, разд. 4]), но это не будет нужно в дальнейшем. Из (9.7) и (8.2) мы видим, что
Z(x, X, X) = т (х)3/т (х3) = т (х)3-0’.'
Пусть‘
М = {х е Z: 1 х 2\ x=i или 3mod 8}.
Заметим, что М, взятое по модулю 26, есть подгруппа в (Z/2*Z)*. Квадратные скобки [ ] такие же, как в разд. 8.
Теорема. Пусть р = 2, k ^ 3 и п = \ или 3 mod 8. Пусть ш— идеале Z[^], для которого.
mnZ = nZ, o„(m) = m,'■‘■
Определим a G Z [G]:
“-ЕЙ’.'-'
Если при этих обозначениях мы имеем
/(х, X, x)a = ^modm при некотором ^г.и1к, ■ . , '
то (7.9) выполняется Если (9.11) не выполнено, то п составное
Доказательство. Определим 0 е Z [G]:'
0= У [-^-lor1
х е М L J!-‘.. -К - .-
с М из (9.9). Ниже мы докажем, что'
(л — aJ0 = (3 — a3)a
для п = 1 или 3mod8 и что 0 удовлетворяет условию (7.6):
(—1)9^1.
Допуская это, мы доказываем георему точно так же, как доказали теорему (8.5) из (8.12). Единственное отличие состоит в том, что (8.3) заменено на (9.8).
Чтобы доказать (9.13), мы определим 9 е Z [G];
Имеем" .•
P.I5) (m-»„)e-2* £ [Х1„7..
для m е Z, m = 1 или 3 mod 8
по тем же соображениям, которые использовались для доказательства (8.13). Применяя это к пг = п и m = 3, находим, что (9.16) (л —an) 9 = 2fca, (3-а3)9 = 260;
это влечет за собой (9.13). Чтобы доказать (9.14), применим к (9.16) кольцевой гомоморфизм Z[G]->Z, который отображает каждое о, е G в 1. Это ведет к. \
2 £ х = 2* £ [ДЬ .''
хеМX еМ L J-
поэтому.■;
р.|») Z [т]-2*"”-1-
Это — нечетное число, и, следовательно (—1)₽= — 1, что и требовалось доказать. Это завершает доказательство (9.10).’
Теорема. Пусть р = 2, к^З и л^5 или 7mod8. Пусть m — идеал в ZJg^], для которого
mnZ = nZ, o„[m] = m.
Определим a^Z [GJ:' ’ '
и положим ф = %2*-3. Если при этих обозначениях мы имеем (9.20) J (х, X, Х)“7(ф, Ф3)3 —£modin при некотором £ е G^, то (7.9) выполняется. Если (9.20) не выполнено, то п составное.
Доказательство. Пусть 0 определено по формуле (9.12). Ниже мы докажем, что
т(Х)(п-а")р = х(-1)/(Х, X, Х)“/(Ф, Ф3Л
Из этого равенства теорема (9.19) вытекает по тем же соображениям, которые были использованы в доказательстве теоремы (8.5). Заметим, что по (9.14) 0 удовлетворяет условию (7-6).
Чтобы доказать (9.21), применим (9.15) к пг = —п\ это допустимо, поскольку —п = 1 или 3 mod 8. Мы находим, что
Xх е М ).
Комбинирование с (9.16) приводит к
(п + а_„)0=(3 — аз)(а+ X оЛ =
X хеМ ). ,, .
=(3 —ах)а + 2 X Ox, ':-
поэтому."
T(x)("+°-,I)S=/(%> %, х)ат(х)2^. - V- ■
По (7.2) и (9.18) имеем'
T(x)(^+0-n)S = (x(-lV = x(-^^
Поделив, получаем15
Т (х/"’^ Р = X (-1) / (X, X. Х)а Т (xJ^-Al^x/^*-?-!,-. •
Чтобы доказать (9.21), достаточно показать, что 1; •
т(х)22хеЛ1°* =/~2~7(ф, Ф3)2-*'
Это, как легко видеть, является следствием соотношений Хассе— Давенпорта (см. [12, гл. 2, теорема 10.1]). Мы даем прямое доказательство, применяя индукцию по А. При А = 3 имеем X = ф, поэтому по (8.2), (7.2) и ф4(—1)=1 находим, что
qj (ф, ф3)2 = q (т (ф) т (ф3))2/т (Ф4)2 = (т (ф)т (ф3))2,
и это же самое, что (9.22). Пусть теперь к > 3. Положим ф = = ср4 = Х2^-1 ;это квадратичный характер по модулю q. Из 812А—’
б Зак. 469,.
следует, что xt = X* Для некоторого уеМ. Поэтому имеем ■ т (Х)22х е м°х = (т (X) т (х, Ф))Х* е м°х.
Допустим на время, что
^ (х) т(хФ) — X (4) 1 т (ф) т (%2)."'
Применяя ^LxgMox и используя то, что ф = ф* для хеМ, находим’ ■
%(xf^XGM°x = x^r2^XGMX^fk-2^x2^x^ ;
Согласно (9.17), первый множитель в правой части равен 1. Поскольку ф квадратичный и ф(—1)= 1, мы видим из (7.2), что второй множитель равен q2k~3. Третий множитель может быть записан какт^2)2^*6^'0*, где
М'=Цх: l^x^2fc-1, xsl или 3mod8},
и по индуктивному предположению это равно q2*1-3-11 (ф, ф8)2, что завершает шаг индукции.
Тождество в (9.23) есть частный случай соотношений Хассе— Давенпорта; оно может быть непосредственно доказано следующим образом [5, разд. 20.4]. Имеем
<7-1
Цх, х) = 2 xWxU — х)—-
х-0-*
-= 2х(*2-*) = 2 x(y)m(y),
х=0у eZfqZ
где пг^ —количество элементов xs ZlqZ, для которых у = = х — х2; это 0, 1 или 2 в соответствии с тем, что дискриминант 1 — 4t/ полинома X2 — X -]- у не есть квадрат, есть 0 или ненулевой квадрат в ZlqZ, поэтому во всех случаях /n(i/)= 14+ ((1 — 4у)/q) = 1 + ф (1 — 4t/). Следовательно,
Их. Х) = 2 Х(#)0 + ^(1 — 4у)) =.
yeZ/yZ’■•
= 2 Х(</)+ 2 Х(г/4)Ф(1 — z) — г.
.' yeZ/yZzeZ/yZ.yp,, •" .
=o + x(4)-' I х(1)Ф(1-8)-х(4Г,/^«^ < ; i VZeZ/t/Z
По (8.2) это то же самое, что. чь. ^ iVp
<ф ■ , т(х)2/т(х2) = х(4)-1т(х)т(ф)/т(хф),-
e^hlttofla вытекает (9.23). Это завершает док#аатедьстВв (9.19).
Замечания, (а) Из доказательства теорем в этом разделе мы видим, что если (9.2), (9.4), (9.6), (9.11) или (9.20) выполнено для некоторого ^ е t/2», то (7.9) верно с £, замененным на ±£. Заметим, что для к ^ 2 корень степени 2* из единицы ±5 примитивен тогда и только тогда, когда £ примитивен. Это важно для (7.26).
(Ь) Число %(—1)е{1, —1}, появляющееся во многих формулах этого раздела, равно — 1 тогда и только тогда, когда к = = Vi{q — 1), что часто имеет место в приложениях.
ВЫБОР ИДЕАЛА
В этом разделе р обозначает простое число, к — положительное целое число, ^ — примитивный корень степени рк из единицы в С и п — целое число, п > 1, n^Omodp. Через f мы обозначаем порядок элемента (n mod рк) в группе (Z/p*Z)* и полагаем ап равным автоморфизму кольца Z [£р*], для которого а" (&)= ^>рк"
В разд. 11 мы увидим, что в нашем алгоритме простоты мы должны проверить (8.8), (9.2), (9.4), (9.6), (9.11) и (9.20) для нескольких выборов р, к, q. Каждый раз это требует вычисления по модулю некоторого идеала m в Z [Ср*]» удовлетворяющего соотношениям
mf|Z = nZ, on[in] = m.
Это вычисление легче проделать, если кольцо Z [£р*]/т меньше, значит, если m больше. В этом разделе мы увидим, как выбрать m настолько большим, насколько возможно. Методы, которые мы опишем, обычно успешны, если п просто, даже если мй еще не имеем доказательства того, что п простое. Однако если п составное, то эти методы вряд ли работают. Поэтому целесообразно использовать их, если только п, вероятно, простое, в том смысле, что оно прошло несколько тестов типа (1.2).
Первый метод взят из [1, разд. 4, А.5]. Применяем алгоритм Берлекэмпа [8, разд. 4.6.2] для нахождения многочлена he Z [7"] степени f со старшим коэффициентом 1, такого, что (к mod п) делит ^“J т‘рк~х в (Z/nZ) [7"]. Если п простое, то такой многочлен к существует и (h mod п) неприводим (ср. [25, гл. 2]). Теперь мы полагаем m равным идеалу в Z [£р*], порожденному пик (£р*). Тогда Z [5^ ]/т может быть отождествлено с множеством всех выражений: .
Ё аД1, ateZ(nZ ^^i<hr
* z=o * .
где g = (gp*modm) есть нуль многочлена (ft mod п). Это кольцо имеет п) элементов, и, если п простое, оно является полем Fhf. Имеем m f| Z = nZ, поскольку это ядро естественного отображения Z->Z[^pA]/m. Можно показать, что условие on[m] = ni должно выполняться автоматически, если ft получено с помощью алгоритма Берлекэмпа; однако это в любом случае можно легко определить проверкой, является ли £" нулем (ft mod/г). Отметим, что если п простое, то условие о„[т] = ш выполнено для всех идеалов т в Z [£р*], содержащих п. Чтобы увидеть это, используем (1.3) для того, чтобы показать, что оя(а)^ = а" mod ш для всех aeZ[gpft]; тогда а„ [ш] с: ш, и равенство справедливо, поскольку оп имеет конечный порядок.
Если f = (р — 1)р6-1, то описанный выше метод приводит к m = nZ^pfey и из (10.5) следует, что это на самом деле единственный идеал в Z [£р&], удовлетворяющий (10.1). Методы, описанные в этом разделе, полезны поэтому только при f < <(р —1)р6-1. Это случается, например, если р = 2 и к ^ 3, поскольку в этом случае (Z/p*Z)* не циклична.
Если f<(p — 1)р6-1, то коэффициенты ft обычно довольно велики. Это превращает на практике деление на ft в сложную операцию, и то же самое справедливо поэтому для умножения в кольце Z [^/]/щ, по крайней мере для f ^ 1. Второй способ построения го не имеет этого недостатка. Он заключается в следующем.
Сначала строят кольцо Fen) элементами, которое содержит Z/nZ в качестве подкольца, причем F— поле, если п простое. Например, можно взять
F^MTMnZ) [Г],
где g— многочлен степени / в (Z/nZ)^] со старшим коэффициентом 1, который неприводим, если п простое; последнее свойство может быть проверено с помощью теста неприводимости, описанного в [8, упр. 4.6.2.16]. Обозначая через g образ I в F, имеем .
( f-t )
^ = 1 X ai^- а1 Z[nZ (0 < i < Л ( ■ I /=о )
c gr(£) = 0. Чтобы облегчить умножение в F, следует выбрать g таким, чтобы его коэффициенты были «невелики», и это обычно может быть сделано на практике.
Важно, что F конструируется так, что мы можем распознавать, принадлежит ли данный элемент F группе обратимых элементов Р, В приведенном примере мы можем сделать это
путем вычисления НОД с g в (Z/nZ) [7] при помощи алгоритма Евклида; это может не получиться лишь в том случае, если на некоторой стадии найдется нетривиальный общий делитель числа п и некоторого старшего коэффициента; в этом случае п разлагается на множители [1, разд. 5].
После того как F получено, конструируют кольцевой гомо- мэрфизм р: F ^ F, такой, что если п простое, то р(а)= а" для всех ае Е Для F, описанного выше, это делают, проверяя, что g(^n) = 0, и полагая ,
. \,=о / i=o . , . : ■ • - .
если g(£")=/= 0, то п составное. ■
Далее выбирают элемент ₽ е F, 0=/=О, такой, что p("f-0/p =^ 1. Нахождение такого элемента не должно быть трудным делом, поскольку если п простое, то случайное 0 s е F— {0} обладает этим свойством с вероятностью (р—1)/р.
Если п простое, то
0«/"I = l, р^-ОД- 1 еГ, р(р) = р".
Теперь проверяют, что 0 в самом деле обладает этими свойствами, и вычисляют ^ = р^^-^/р*. Тогда £ является нулем многочлена
' Р^х^ = (ХРк_<ХР^_Х), . "
поэтому мы можем определить кольцевой гомоморфизм X: Z^a]-*/7, полагая A(gp6) = £. Имеем р (£) = £", и поэтому X о Оп = р о X.
Наконец, мы полагаем nt равным ядру гомоморфизма X. Поскольку Z[nZ a F, имеем ntf)Z = nZ. Мы доказываем, что crn[m] = nt. Для a ent имеем Л (о„ (а)) = р (Л (а)) = р (0) — 0, поэтому оп(а)ЕШ. Следовательно, ап [ш] с ш, и равенство получается так же, как и прежде. Мы заключаем, что го удовлетворяет (10.1). Из (10.5) (см. ниже) вытекает, что X сюръективно, так что Z [Cpfc]/m ~ F.
Этим заканчивается описание второго метода построения от. Для явного нахождения образующих от потребовалась бы некоторая дополнительная работа, но на самом деле они не нужны: чтобы проверить сравнение по модулю от, достаточно применить X и проверить соответствующее равенство в F.
Если / = 1, то во втором методе можно просто взять F = = Z/nZ и р равным тождественному отображению. Заметим,'
что f = 1 тогда и только тогда, когда п = 1 mod pfe. Это не есть редкий случай, поскольку на практике рк мало.
Если один из наших двух методов успешно конструирует идеал го, удовлетворяющий (10.1), то го в самом деле максимально возможный, даже если п не простое. Это непосредственно вытекает из следующего предложения.
Предложение. Пусть ш.— идеал в Z [£pfe], удовлетворяющий (10.1). Тогда число элементов Z [^fe]/m не меньше п?.
Доказательство. Из m f] Z = nZ следует, что Z/nZ с Z [g fe]/m. Обозначим £ = (£pftmodm). Достаточно показать, что отображение (Z^nZV —> Z [£рй]/т, переводящее (aJfZo в 2z=oa^i, инъективно. Предположим поэтому, что ^=00^ = 0. Изстп[т] = т мы видим, что ап индуцирует автоморфизм Z[^fe]/m, который отображает 5 в £". Применяя повторно этот автоморфизм, находим ■
f-i _ / ' "
X =0 Для 0</< f. . - . 1=0 • г *
Из тождества П*=7‘ С1 ~ ^ph) = Рк в Доказательстве (7.17) и из НОД (р, n) = 1 следует, что 1 — £х <= (Z [?pfe]/m)* для всех xeZ, х ^s 0 mod/Л Поэтому определитель Вандермонда
обратим в Z[^fe]/m, и по (10.6) следует, что а,=0 для 0 ^
i < Д Это доказывает (10.5).
Привлекательной чертой нашего второго метода построения го является то, что он дает нам легкий способ проверки условия (6.4).
Предложение. Пусть F — кольцо с nJ элементами, которое содержит Z/nZ в качестве подкольца. Допустим, что F содержит элемент 0, удовлетворяющий (10.4) для некоторого кольцевого гомоморфизма р: F-*-F. При р = 2 и п = 3 mod 4 предположим, что к ^2. Тогда р удовлетворяет условию (6.4).
Доказательство. Положим t, = 0 р . Из доказательства (10.5), мы видим, что det (р'(£%<<_/<f е Е', и, следовательно, 1, С, £2, •••, Г-1 — базис F над Z/nZ. Таким образом, по терминологии [16, разд. 8] F есть расширение Галуа ранга f над
ЦпХ с группой <р>. Мы можем теперь применить [16, теорема 8.4] с s, равным наибольшей степени р, делящей nf — 1, и а = p(nf-I)/s. Тогда мы находим, что для каждого г\п существует t е Z, такое, что r==/z‘mods; следовательно, по (5.1) rn~l s 1 + sZp =(nf)zp и (6.4) вытекает непосредственно. Это доказывает (10.7).
Для вывода последнего результата этого раздела мы предположим, что п = 3mod4. Пусть mZjnZ выбрано так, что ц2 + 4 е (ZJnZy, и пусть F— кольцо:
(Z/nZ) \TW -иТ- 1).
Обозначим £ класс вычетов Т, и пусть р — автоморфизм F, р(g) = и — g. Заметим, что р(Е) = — g-1.
Если п простое и (z? + 4)/n= — 1, то F — поле, в котором g и р(^) сопряжены, поэтому р(|)=£л по теории конечных полей и £"+* = —1. Следующее предложение показывает нам, что можно сказать, если £n+I = —1. Читатель, интересующийся функциями Лукаса [26], должен заметить, что £"+I = —1 эквивалентно ^л+1>/2 -|- p(g)<n+I>/2 = о, поскольку п = 3 mod 4.
Предложение. Допустим, что /г г 3 mod 4 и что в предыдущих обозначениях § 4I = — 1. Тогда р — 2 удовлетворяет условию (6.4).
Доказательство. Это непосредственное оледствие (10.7) с 6 = 2, / = 2иР = |и доказывает (10.8).
Мы оставляем читателю вывод (10.8) прямо из свойств функции Лукаса и доказательство того, что допущения (10.8) также влекут за собой, что (и2 + 4)/п = — 1. .
ЦЕНТРАЛЬНАЯ СТАДИЯ АЛГОРИТМА : 'с »»
В этом разделе мы дадим более детальное описание второй стадии нашего теста простоты, чем то, которое было дано в разд. 2.
Пусть п— целое число, которое надо проверить на простоту, n > 1, и пусть t и s — целые числа, удовлетворяющие (2.1) — (2.4), и НОД($/, п)= 1. Мы описываем алгоритм, который ведет либо к доказательству того, что п составное, либо к доказательству того, что выполняется (2.5).
Сначала для каждой степени простого числа pfe, делящей t, выбирают идеал m = mp, k в Z^y], удовлетворяющий (10.1). Это делают, либо полагая m = nZ[^j, либо используя один из методов, описанных в разд. 10. » . . , -
Далее полагают У$ таким, как в (6.3), и проверяют, что каждый х — Хр, о е ^ удовлетворяет (7.9). Если р нечетное, то это делают, выбирая а, Ь, как в (8.6), вычисляя сумму Якоби 7(Х°, X6) и проверяя, что выполнено (8.8); если (8.8) не выполнено для некоторой пары р, q, то п составное по (8.5), и алгоритм останавливается. Если р = 2, то продолжают подобным образом, заменяя (8.8) на то из утверждений (9.2), (9.4), (9.6), (9.11) или (9.20), которое применимо.
Наконец, проверяют, что каждое простое р, делящее t, удовлетворяет условию (6.4). Процедура, с помощью которой это делается, описана в (11.2) для нечетных р и в (11.5) для р = 2. Если это было сделано, то из (7.8) вытекает, что каждый хеУ удовлетворяет (6.5). Из теоремы (6.3) можно теперь вывести желаемое заключение, что (2.5) выполняется. Это конец второй стадии.
Пусть п, t, s такие, как в (11.1), и пусть р нечетное простое, делящее t. Мы описываем процедуру, которая приводит либо к доказательству того, что п составное, либо к доказательству того, что р удовлетворяет условию (6.4).
Если в (11.1) (а) использовался алгоритм (10.3) для построения ш, то достаточно применять (10.7). В противном случае можно поступить следующим образом.
Сначала проверяют, что np-1 ^ 1 mod р2. Если это выполнено, то (6.4) удовлетворяется в силу (7.18) и процедура Останавливается.
Далее проверяют, существует ли простое q, делящее s, с q—1, делящимся на р, такое, что х = Хр, » удовлетворяет (7.9) с примитивным корнем £ степени рк из единицы; здесь k = Vp(q — 1). Вычисления, которые необходимы для проверки этого, уже были выполнены на стадии (Ь) алгоритма (11.1) (ср. замечание (8.9) (Ь)). Если такое простое q действительно существует, то (6.4) выполняется по (7.19) и процедура останавливается.
Допустим теперь, что (а) и (Ь) оказались неспособными установить (6.4). Тогда сначала проверяют, является ли п р-й степенью целого числа. Если это имеет место, то, очевидно, п составное и процедура останавливается.
Далее определяют простое число q (не обязательно делящее s), для которого
<7=1 mod р, /г(<7-|)/р 1 mod р.
Такое простое число q может быть найдено испытанием всех простых чисел последовательно (ср. замечание (11.4) (а) ниже).
(е) Теперь, если q делит s, мы объявляем, что п составное (см. (11.4) (Ь)) и процедура останавливается. Допустим, нако-
нец, что q не делит s. Тогда сначала проверяют, что q не делит п. Далее полагают % равным характеру по модулю q порядка р и проверяют, используя (8.5), выполняется ли (7.9) с примитивным £ е Up. Если это имеет место, то (6.4) удовлетворяется но (7.19), а если нет, то мы объявляем, что п составное (см. (11.4)(Ь)). Во всех случаях процедура останавливается.
Замечания, (а) Если п не есть p-я степень, то плотность множества простых q, удовлетворяющих (11.3), есть 1/р. Чтобы увидеть это, заметим, что для простого q, не делящего п, условие (11.3) эквивалентно условию, что q полностью расщепляется bQ(£p), но не в Q(£p, «|/р); далее можно применить хорошо известную теорему о том, что плотность множества полностью расщепляющихся простых в нормальном числовом поле степени d над Q равна \,d (см. [11, гл. VIII]).
Отсюда следует, что простое q = 1 mod р удовлетворяет (11.3) с вероятностью (р — 1)/р. Поэтому желаемое q нетрудно найти. Если предположить справедливость обобщенной гипотезы Римана, то можно доказать, что наименьшее простое q, удовлетворяющее (11.3), не превосходит величины ср2 (log р + log пУ при некоторой абсолютной эффективно вычислимой постоянной с согласно [9, следствие 1.3]. Без недоказанных гипотез удовлетворительная верхняя оценка для q неизвестна. Следовательно, мы не можем дать удовлетворительной верхней границы для времени работы части (d) процедуры (11.2).
Чтобы оправдать утверждения, сделанные в (11.2) (е), предположим, что п простое и что q простое, удовлетворяющее (11.3), q не делит п. Пусть % такой, как в (11.2)(е), если q не делит s, и х = Хр, д, если q делит s. Обозначим порядок х через рк. Тогда из (11.3) следует, что х(«) —примитивный корень степени пк из единицы, поэтому из (7.5) вытекает, что х удовлетворяет (7.9) с примитивным £ е Uy.
Следовательно, если обнаруживается, что (7.9) не выполнено с примитивным £, то можно заключить, что п составное. Это применяется, в частности, если q делит s, поскольку в этом случае в (11.2) (Ь) было обнаружено, что х = Хр, q не удовлетворяет (7.9) с примитивным £. Это доказывает утверждения в (П.2) (е).
Процедура (11.2) вполне эффективна на практике, несмотря на теоретические трудности, упомянутые в (11.4) (а). В действительности редко случается, что части (с), (d) и (е) процедуры необходимы. Это случается, например, если п — простое число, которое сравнимо с р-н степенью по модулю p2s. Если п с большой вероятностью должно быть простым, то про-
цедуру можно ускорить за счет пропуска части (с) и ограничения поиска в (d) по простым q, не делящим s.
Пусть п, t, s такие, как в (11.1), и предположим, что / четное. Мы описываем процедуру, которая либо доказывает, что р=2 удовлетворяет (6.4), либо доказывает, что п составное.
Сначала предположим, что п = lmod4. В этом случае определяют целое число а, удовлетворяющее (-£■) = — 1, испытывая простые числа 2, 3, 5, ... последовательно, и проверяют, будет ли выполнено сравнение a^-W2 = — 1 modn; если это имеет место, то р = 2 удовлетворяет (6.4) по (7.24); в противном случае п составное по (1.2). Если трудно найти целое a, (v) = — 1» то проверяют, является ли п квадратом.
Далее предположим, что n s 3 mod 4. В этом случае определяют целое и, удовлетворяющее равенству (и2 + 4)/п = — 1, испытанием и = 1, 2, 3, ... (ср. (11.6) (а)). Далее полагают
£ = (Т mod Т2 - иТ - 1) е (Z/nZ) [7]/(72 - иТ - 1), как и было определено в (10.8), и проверяют, выполняется ли равенство g"+1 = — 1; если оно имеет место, то р = 2 удовлетворяет (6.4) по (10.8); в противном случае п составное по замечанию, предшествующему (10.8).
Это завершает описание процедуры. Альтернативно можно использовать (7.25) или (7.26).
(П.6) Замечания, (а) Замечания, сделанные в (11.4) (а) о существовании и величине q, также применимы к числу а, которое появляется в описанной выше процедуре для п s 1 mod 4.
Допустим, что п s 3mod4. Мы доказываем, что существует ugZ с (u2 + 4)/n=—1. Пусть г — простой делитель числа п с нечетным у,(и), и пусть а — наименьшее положительное целое число, для которого (у-) =—1. В силу минимальности а существуе и, у2 в а — 1 mod г, и тогда (у2 + 1)/г = —1. Пусть теперь ueZ, такое, что и = 2у mod г, и такое, что и делится на все другие простые числа, которые делят п. Тогда легко проверить, что (и2 + 4)//г = —1, как и требовалось.
Если верна обобщенная гипотеза Римана, то существует абсолютная эффективно вычислимая постоянная с со следующим свойством: если п — положительное нечетное целое число, не являющееся квадратом, и п не имеет простого делителя ^ с2(log/г)4, то наименьшее положительное целое и, (и2 + 4)/п = — 1, удовлетворяет неравенству и ^ c(logn)2. Это можно доказать, комбинируя [9, следствие 1.3] с [3, ле^ма 1]. Мы признательны А. М. Одлизко за это наблюдение.
(Ь) Поиск q в (11.2) (d) и поиск а и и в (11.5) суть единственные места в нашем алгоритме проверки простоты, которые
мешают нам доказать для худшего случая оценку времени работы вида (log пУ108 '°8108 п. Из (11.4)(а) и (11.6)(а) следует, что справедливость обобщенной гипотезы Римана влечет за собой такую границу для алгоритма; мы должны тогда выбрать m = nZ[^p6] в (11.1) (а). Если мы хотим, чтобы результат По- меранса и Одлизко, упомянутый в разд. 1, имел место для нашего алгоритма, мы должны использовать алгоритм (10.3) в (11.1) (а) и применить (10.7) для проверки (6.4). Условие 6^2 в (10.7) для р = 2 и и = 3 mod 4 не является серьезным ограничением (ср. (7.28)).
ДЕТАЛЬНОЕ ОПИСАНИЕ АЛГОРИТМА
Пусть N— некоторое большое целое число. Мы описываем с вычислительной точки зрения алгоритм для определения, является ли целое число п, 1 < п ^ N, простым.
Шаг 1. Подготовка таблиц. Эти таблицы зависят только от N и могут быть составлены раз и навсегда.
Выбрать положительное целое число t, e^^N^ (ср. разд. 4, табл. 1).
Выполнить шаги (Ы) и (Ь2) для каждого нечетного простого р|е(/).
(Ы) Найти методом проб и ошибок примитивный корень g по модулю q, т. е. целое g ^ 0 mod q, такое, что g^-'Up ^ Ф 1 mod q для каждого простого p\q — 1. Составить таблицу для функции f: {1, 2, ..., q — 2}->{1, 2, ..., q — 2}, определенной из сравнения 1 — gx = gtw mod q.
(Ь2) Выполнить шаги (Ь2а), (Ь2Ь), (Ь2с), (b2d), (Ь2е), (b2f) для каждого простого p\q — 1.
(Ь2а) Положить k = vPVq— 1); это число делителей р в g*- 1.
(Ь2Ь) Если рк N= 2, вычислить
Здесь элемент £o«<(p-d nk~l а&1 к из Z[gpfe] с a,eZ должен быть представлен как вектор (.di\)Ci^p_nрк-\ (ср. разд. 7). (Заметим, что Jp-^Hx, %) Для Х = ХР./, см. 8.1).)
(Ь2с) Если р =# 2, проделать следующее. Пусть ' \
:M = UeZ: 1^х:Ср\ x^Omodp},/
д*Щ H! 6=2jXOx s Z [G],..№-хеМ, r; - a ,y. q,
где \у\ —наибольшее целое ^г/, а о* и G такие, как в разд. 7. Вычислить
I Г® I га (о)■
J0’ р, q JP>q> J v-рэ q J Рэ q
для каждого и е М как элементы Z [£pfc] (см. определение действия Z[G] в разд. 7). Числа J0,p,q для и е {0} U М должны быть табулированы.
(b2d) Бела р = 2, 6=1, положить /0,2, q = q, J112, q=t и табулировать эти значения.
(Ь2е) Если р = 2, 6 = 2, сделать следующее. Вычислить
Л). 2, q = A. q * q е Z [g4]
И ПОЛОЖИТЬ /1.2.(7=1, А,2, q = A, q. ЧИСЛО lP11,q ДЛЯ 0 = 0, 1,3 нужно табулировать.
(b2f) Если р = 2, 6^3, сделать следующее. Вычислить <7-2/ <?-2\2
■,* г V T-2*+f(x)7# ( V 7-3X + 1W1
<7 = ■'2. <7 Zj Ъ к ,2, <7 — £ У I
* = 1 2\Х=1/
как элементы Z [С2&], где Сз = ^ 3- (Заметим, что A, ц==Цх, х, %) и 7^<7 = /(ф, ф3)2 с ф = х2 , как в разд. 9.) Пусть .,
.£ = {xeZ: l^x^2ft, х нечетно}, .;
'М = {х е L-. х=1 или 3mod8},•-
.- 0= I XO^eZIG],
zeAf,; ... , ■ ,
«^)= £ [^r]^'eZ[GJ■ 1,
хеМ.. , .
для ое Ц вычислим.
A.Z q = Uz q^ 1А.1. q — U'Z, q^ ' Для V М,
' J^.q = UkqYWltqДЛЯ О S £ М.
Числа/v> 2, <7 для о е{0) U £ нужно табулировать.’
Шаг 2. Предварительные тесты. Пусть теперь задано целое число п, 1 < п ^ N, которое нужно проверить на простоту, (с) В зависимости от информации об п, которая уже имеется, уместно испытать п на наличие малых делителей или подвергнуть п тесту Миллера и Рабина [см. [8]).
Проверить, что НОД Це (I), п) = 1, используя алгоритм Евклида. Если это не так, то получен простой делитель числа п,
поскольку /е(0 полностью разложено на множители, и мы останавливаемся.
Выбрать делитель s числа e(Z) cs> п1/2 (ср. разд. 4). Заменить t на наименьшее t', для которого s делит е(О- (Заметим, что новое t есть показатель группы (Z/sZ)* и поэтому делит старое Л)
Шаг 3. Тесты псевдопростоты с суммами Якоби. Выполнить шаги (f), (g), (h) для каждого простого р, делящего /.
Ввести булеву переменную Хр говорящую нам, было ли проверено (6.4)). Положить ХР = «истинно», если р нечетное и пр-1 Ф 1 mod р2, и Хр = «ложно» в противном случае.
Для каждого целого числа /г ^ 1, pk\t, определить целые числа Uk, vk, такие, что п = ukpk + Uk и 0 ^ Uk < pk.
Выполнить шаги (hl), (h2), (h3) для каждого простого <7|s, р|<7 — 1.
(hl) Положить к = ир (q — 1) и и = uk, и = ик, как в (g). Вычислить
■fo. р. V». р., mod nZ ^рЦ-
путем повторных возведений в квадрат и умножений по модулю nZ [£pfe]; здесь класс вычетов' ■
( Z a^modnZ^A .
cazeZ должен быть представлен как вектор Ф iX^i<p_xx рь-\» где Ь{ е {0, 1, ..., п— 1), 6z = azmodn. Если не существует Ле {О, 1рк — 1), такого, что
/о, р, qjp, р, q = Ср^ mod nZ [Ср^]>.’
то п составное и алгоритм останавливается. (Это тест (8.8) с а = 6 = 1, если р нечетное; тест (9.2), если р* = 2; тест (9.4) или (9.6), если р*=4; тест (9.11) или (9.20), если р = 2, к ^ 3.) Предположим теперь, что h существует.
(h2) Если /i ^ 0 mod р и либо рк = 2, п = 1 mod 4, либо р нечетно, положить Хр — «истинно». (Это комбинирует (7.24) и (7.19).)
(h3) Если 6^0 mod 2, р=2, к^2 и Хг =«ложно», проделать следующее. Проверить, справедливо ли сравнение р^-ч/2 = = —1 mod п. Если оно не справедливо, то п составное и алгоритм останавливается. Если оно справедливо, то положить Хг = «истинно». (Это (7.26).)
Шаг 4. Дополнительные тесты. Выполнить шаги (1) и (j) для каждого простого р, делящего t, для которого Хр = «ложно».
Выбрать малое простое число q, не делящее s, такое, что q = I mod р,
- ;<7=1 mod4, если р = 2 и n@3mod4, _
n(<7-i)/p _^ । mod<7.'
Если такое простое q не может быть найдено в разумных пределах, проделать следующее. Проверить, является ли п р-н степенью. Если это так, объявить п составным и остановиться. В противном случае остановиться с выдачей сообщения, что алгоритм оказался неспособен доказать, что п простое. Предположим теперь, что q найдено. Остановиться, если n^Omodp.
Положить k = 2, если р = 2 и п = 3 mod 4, и А = 1 в про тивном случае. Определить целые числа Uk, Ок, как в (g). Вычислить /0> р, q, как в (Ы), (Ь2с), (b2d), (Ь2е), но только для у е {0, Уд}. Проверить, справедливо ли сравнение
Jq^p, а^к’ о- q” V m°d nZ [Spft]
для некоторого й s Z, 0 ^ h < pk, h ^ 0 mod p. Если это не так, то п составное и алгоритм останавливается. (Чтобы убедиться в справедливости этого, см. (11.4) (Ь).) В противном случае выполнить шаги (h2) и (ЬЗ).
Шаг 5. Финальные пробные деления. (Маловероятно, что на этом шаге будет обнаружено, что п составное, ср. замечание в конце разд. 2.)
Положить г0 = 1.
Выполнить шаги (И), (12), (13) для z = 1, 2, .... I.
) Определить rt из г< = nrt_\ mod s, 0 ^ r< < s.
) Если г,=1, объявить, что п простое, и остановиться.
) Если п\п и п <. п, объявить, что п составное, и остановиться.
(Заметим, что либо (12), либо (13) применяется для некоторого z ^ /, поскольку п1 = 1 mods.) Этим заканчивается описание алгоритма.
Замечания, (а) Поскольку мы использовали а = Ъ = X в (8.8) (см. шаг (hl)), правильность теста гарантирована, если только 2р ^ 2modр2 для всех простых p\t (ср. 8.6)). Это условие удовлетворяется для всех р < 1093 (см. (8.9) (с)). На практике мы обычно имеем р < 20 (см. разд. 4, табл. 1).
(Ь) В предыдущее описание не были включены некоторые улучшения. Во-первых, не использовались результаты разд. 10. Во-вторых, не был включен алгоритм (3.1). В-третьих, была отвергнута возможность комбинировать тест с предыдущими тестами, описанными в [26] (см. [16, разд. 8]),
РЕАЛИЗАЦИЯ
Алгоритм, описанный в разд. 12, был реализован авторами на вычислительной системе CDC Cyber в вычислительном центре SARA в Амстердаме. В этом разделе мы обсуждаем главные особенности этой реализации; подробности читатель найдет в статье Коэна и Ленстры, которая будет опубликована позже.
Были написаны две программы, одна на Паскале, другая на Фортране. Обе программы используют стандартные подпрограммы многократной точности, которые были написаны Уинтером на собирательном языке Компас и сделаны доступными Математическим центром в Амстердаме.
Вспомогательноо число t было выбрано равным 5040 для программы на Паскале и 55 440 для программы на Фортране. Мы имеем е(5040)> 1.5-1052 и е(55440)> 4.9-10106, так что программа на Паскале может работать с числами до 104 десятичных цифр, а программа на Фортране — с числами до 213 десятичных цифр.
Эти программы включают следующие улучшения, которые не входят в алгоритм разд. 12. Использовались результаты разд. 10, но только в тех случаях, когда целое число f, определенное в начале этого раздела, равно 1. Мы также строим кольцо F из п2 элементов, являющееся полем, если п простое. Это кольцо позволило иам комбинировать наш алгоритм с тестом, основанным на известных простых делителях п2 — 1 (см. [16, разд. 8]).
Программа на Фортране не пользуется подготовленными таблицами, как списано на шаге 1 алгоритма в разд. 12, поскольку такие таблицы потребовали бы слишком много пространства памяти. Вместо этого необходимые фрагменты таблиц вычислялись заново для каждого п.
Для каждой степени рк простого числа, делящей t, были написаны специальные подпрограммы для выполнения умножения в Z [^pfe]/nZ [Cpfe]» или> эквивалентно, для умножения многочленов степени, меньшей чем т = (р— 1)р*-1, с коэффициентами в /(п/ по модулю р^-го многочлена деления круга
У, Х1р . В дополнение к т необходимым приведениям по мо- i-0 дулю п прямой способ проделать одно такое умножение занимает т2 умножений целых чисел. Важно уменьшить это число. Теоретически в силу теоремы Винограда (см. [8]) достаточно 2m — 1 умножений целых чисел; но метод Винограда совершенно непрактичен, поскольку включает очень большое число сложений и умножений на малые постоянные. Мы использовали специальные формулы для каждого рк. Например, для рк = 16
мы используем 27 умножений целых чисел вместо 64, чтобы выполнить одно умножение в Z [£i6]/nZ [Cie], и только 18, чтобы возвести один раз в квадрат. Возможно, что по этим направлениям возможны дальнейшие улучшения.
Таблица 3
'Время работы программы на Паскале в секундах '.
(см. текст).
Число цифр
Среднее
Стандартное отклонение
Максимум
Минимум
Г»
50
6.437
1.687
10.030
4.525
60
8.634
2.554
15.168
5.009
70
12.074
2.289
15.214
7.032
80
16.224
3.897
23.800
8.006
90
25.572
5.870
35.752
15.810
100
32.349
9.103
47.689
17.891
Таблица 4
Время работы программы на Фортране в секундах (см. текст)
Число Цифр
Среднее
Стандартное отклонение
Максимум
Минимум
100
50.442
15.203
75.416
26.031
120
97.797
28.274
147.259
51.077
140
156.429
43.122
210.756
77.316
' 160
246.204
44.144
298.144
111.888
180
359.728
55.833
436.039
259.021
200
495.748
80.025
614.254
258.859
В табл. 3 и 4 приводятся данные о времени работы программ на Паскале и Фортране соответственно. Для каждого числа d в первом столбце мы испытывали 20 простых чисел с d десятичными цифрами. Каждое простое выбиралось путем извлечения случайного числа с d цифрами и использования программы для определения наименьшего простого числа, большего, чем полученное число. Второй столбец дает среднее время работы (= (S *=i ^)/20, третий — пробное стандартное отклонение S?=i (^ ~ 02/1Э)1/2> четвертый — максимальное время работы, пятый — минимальное время работы. Время дано в секундах. Время, потраченное на составные числа, не подсчитано.
Две программы проверяли одно и то же множество из 20 стоцифровых простых чисел. Таблицы показывают, что для этих чисел программа на Фортране работает медленнее, чем программа на Паскале. Это в основном вызвано тем, что каждая программа работает в заданной точности, которая в два раза больше для программы на Фортране, чем на Паскале. Лишь небольшая часть разницы во времени связана с использованием программой на Паскале подготовленных таблиц.
Мы проводим скорость работы используемых подпрограмм многократной точности. Обозначим через 0-tnbm числа, состоящие из m слов, каждое слово содержит 47 битов. Тогда вычисление
^8^8>а16^16,(а16 mod 6g) = а16 — [а1б/^в] 6g,
(а32 mod 616) = а32 — [a32/^ie] &i6
занимает в среднем меньше, чем 7-Ю-5, 2.1-10-4, 2-Ю-4 и 4.7-10—4 секунд соответственно.
Мы выражаем благодарность Д. Т. Уинтеру за написание программ многократной точности и А. К. Ленстре за его огромную помощь в реализации алгоритма и выполнении всех тестов, о которых сообщалось в этом разделе.
ЛИТЕРАТУРА
Adleman L. М., Pomerance С., Rumely R. S. On distinguishing prime numbers from composite numbers. — Ann. Math., 1983, v. 117, p. 173—206.
Brillhart J., Lehmer D. H., Selfridge J. L. New primality criteria and factorization of 2m±l.— Math. Comp.. 1975, v. 29, p. 620—647.
Burgess D. A. On the quadratic character of a polynomial. — J. London Math. Soc., 1967, v. 42, p. 73—80.
Hardy G. H., Wright E. M. An Introduction to the Theory of Numbers, 5th ed.— Oxford: Oxford Univ. Press, 1979.
Hasse H. Vorlesungen iiber Zahlentheorie, 2nd ed. — Berlin: Springer-Ver- lag, 1964.
Hasse H. Zahlentheorie, 3rd ed. — Berlin: Akademie-Verlag, 1969; англ, перевод: Number Theory. — Berlin: Springer-Verlag, 1980.
Joly J. R. Equations et varietes algebriques sur un corps fini. — Enseign. Math., 1973, v. 19, p. 1—117.
Knuth D. E. The Art of Computer Programming, ”ol. 2. Seminumerical Algorithms, 2nd ed. — Reading, Mass.: Addison-Wesley, 1981. [Имеется перевод издания 1969 г.: Кнут Д. Искусство программирования для ЭВМ. Т. 2. Получисленные алгоритмы. — М.: Мир, 1977.]
Lagarias J. С., Montgomery Н. L., Odlizko А. М. A bound for the least prime ideal in the Chebotarev density theorem. — Invent. Math., v. 54, 1979, p. 271—296.
Lang S. Algebra. — Reading, Mass.: Addison-Wesley, 1965. [Имеется перевод: Ленг С. Алгебра. — М.: Мир, 1968.]
Lang S. Algebraic Number Theory. — Reading, Mass.: Addison-Wesley, 1970.
(
121 Lang S. Cyclotomic Fields. — New York: Springer-Verlag, 1978.
Lehmer D. H. On Fermat’s quotient, base two. — Math. Comp., 1981, v. 36, p. 289—290.
Lehmer D. Н. Strong Carmichael numbers. — J. Austral. Math. Soc., Ser. A, 1976, v. 21, p. 508—510.
Lenstra H. W., Jr. Divisors in residue classes. — Math. Comp., 1984, v. 42, p. 331—340.
Lenstra H. W., Jr. Primality Testing Algorithms (after Adleman, Rumely and Williams), Sem. Bourbaki, vol. 33, 1980/1981, Expose 576, p. 243— 257. — In: Lecture Notes in Math. vol. 901. — Berlin: Springer-Verlag, 1981.
Lenstra H. W., Jr. Primality testing with Artin symbols. — In: Koblitz N. (ed.), Number Theory Related to Fermat’s Last Theorem. — Progress in Mathematics, vol. 26. — Boston: Birkhauser, 1982, p. 341—347.
Martello S., Toth P. The 0-1 knapsack problem, Ch. 9. — In: Christo- fides N., Mingotti A., Toth P., Sandi S. (eds.) Combinatorial Optimization. — New York: Wiley, 1979.
Miller G. L. Riemann's hypothesis and tests tor primality. — J. Comput. System Sci., 1976, v. 13, p. 300—317.
Prachar K. Uber die Anzahl der Teller einer natiirlichen Zahl, welche die Form p— 1 haben. — Monatsh. Math., 1955, v, 59, p. 91—97.
Rabin M. O. Probabilistic algorithms for testing primality. — J. Number Theory, 1980, v. 12, p. 128—138.
Serre,J.-P. Cours d’Arithmetique — Paris: Presses Universitaires de France, Paris, 1970; англ, перевод: A Course in Arithmetic. — New York: Springer-Verlag, 1973. [Имеется перевод: Cepp Ж-П. Курс арифметики. — M.: Мир, 1972.]
Solovay R.. Strassen V. A fast Monte-Carlo test lor primality. — SIAM J. Comput., 1977, v. 6, p. 84—85; erratum, ibid., 1978, v. 7, p. 118.
Vein J. Tests for primality under the Riemann hypothesis. — SIGACT News, 1978, v. 10, p. 58—59.
Washington L. C. Introduction to Cyclotomic Fields. — New York: Springer-Verlag, 1982.
Williams H. C. Primality testing on a comouter. — Ars. Combin., 1978, v. 5, p. 127—185.,..•
Делители в классах вычетов ')
X. Ленстра, мл.
В этой статье доказывается следующий результат. Пусть г, s и п — целые числа, удовлетворяющие неравенствам 0 ^ г < s < п, s>nl/3, НОД (г, s) = l. Тогда существует не более 11 положительных делителей п, сравнимых с г по модулю s. Более того, имеется эффективный алгоритм для определения всех этих делителей. Граница 11 получена с помощью комбинаторной модели, связанной с теорией кодирования. Не известно, является ли 11 наилучшей возможной границей; в любом случае оно не может быть заменено на 5. Также не известно, справедливы ли подобные результаты для значительно меиьших значений log s/log п. Алгоритм, применяемый в данной статье, имеет приложения в вычислительной теории чисел. '
В данной статье мы доказываем следующую теорему.
Теорема. Пусть г, s и п— целые числа, удовлетворяющие условиям
0<r<s<n, s>n^, НОД(г, s)=l.
Тогда существует не более 11 положительных делителей п, сравнимых с г по модулю s, и существует полиномиальный алгоритм для определения всех этих делителей.
Алгоритм, о котором говорится в теореме, описывается в разд. 1. Он полиномиален в том смысле, что число битовых операций, требуемых алгоритму, ограничено полиномиальной функцией от двоичной длины числа п. Точнее, мы увидим, что число битовых операций есть O((logn)3). Используя технику быстрого умножения, мы можем улучшить эту границу до О ((log п)2+е) для любого е > 0.
Упомянем о двух приложениях алгоритма. В некоторых алгоритмах проверки простоты (см. [3, 7]) число п, которое должно быть проверено, подвергается набору тестов «псевдопростоты». Если п не проходит все тесты, то оно составное. Если п проходит все тесты, то оказывается, что каждый делитель числа п лежит в небольшом и точно известном множестве классов
*) Lenstra Н. W., Jr. Divisors in Residue Classes. — Mathematics of Computation, Jan. 1984, v. 42, No. 165, p. 331—340.
S
1984 American Mathematical Society
перевод на русский язык, «Мир», 1987
вычетов по модулю вспомогательного числа s. В последнем случае все делители п могут быть легко найдены, если s удовлетворяет условию s > п1/2. Наш алгоритм показывает, что то же самое может быть сделано, если s удовлетворяет более слабому условию s > л1/3. В частных случаях это наблюдение уже было сделано в [2, теоремы 5 и 17].
Второе применение относится к близкой задаче разложения п на множители. Выбирая в качестве s подходящее целое число, большее п1/3, и применяя наш алгоритм ко всем классам вычетов г mods, мы получаем алгоритм, который раскладывает п на множители за время O^nSX№+t^ для каждого е > 0. Та же граница была достигнута Леманом [6] и предположительна Пинтером [9] с помощью методов, аналогичных по духу. Существуют лучшие методы разложения как в теории, так и на практике (см. [7]), однако это приложение показывает по крайней мере, что может оказаться сложно распространить алгоритм на существенно меньшие значения s.
Для целей этих двух приложений ограничительное условие НОД(г, s)=l, очевидно, не является существенным ограничением. Однако в теореме это условие не может быть опущено. Чтобы увидеть это, замечаем, что для нечетных п делители п2, сравнимые с п по модулю 2п, находятся во взаимно однозначном соответствии с делителями числа п. Их число не ограничено 11 и даже полиномиальной функцией от log(n2) согласно {4, теорема 317]; поэтому они не могут быть определены с помощью полиномиального алгоритма.
В разд. 2 мы обсуждаем комбинаторную задачу, которая связана с теорией кодирования. Используя результаты разд. 2, мы завершаем доказательство вышеприведенной теоремы в разд. 3. Более общо, доказывается, что для любого вещественного числа а> 1/4 существует число с (а) со следующим свойством: если г, s, п— положительные целые числа, удовлетворяющие условиям НОД(г, s) = 1, s > ла, то число положительных делителей п, равных г mod s, есть не более чем с (а). Мне не известно, справедлив ли этот результат для любого положительного а.
Число 11 в теореме наилучшее, которое можно получить с помощью нашего метода доказательства, однако не известно, является ли оно наилучшим возможным. Мы знаем лишь, что оно не может быть заменено на 5, как это показано в разд. 3 на примерах.
Мы выражаем благодарность X. Коэну, П. Эрдёшу, Б. Лаге- вегу, А. Ленстре, А Одлизко, К. Померансу, Д. Загиру и X. Зан- теме, которые тем или иным образом внесли свой вклад в содержание этой статьи,
АЛГОРИТМ
Пусть г, s и п такие, как в теореме. Прежде чем мы опишем алгоритм, упоминаемый в теореме, вкратце очертим основную идею. Мы ищем делители п вида xs + г, поэтому должны решить уравьение
(xs + г) (ys + г') = п
в неотрицательных целых числах х, у, здесь г' таково, что гг' = = п mod s. Рассматривая (1.1) по модулю s2, получаем сравнение для хт' + ут по модулю s. Это сравнение можно использовать для получения последовательности сравнений вида
ха, + ybt = с, mod s.
Пользуясь тем, что s > п1/3, доказывают, что для некоторого I число ха, + ybi столь мало, что остается лишь несколько возможных значений для xai + ybt. Для каждого фиксированного значения i неизвестные х или у можно исключить из (1.1) и полученное квадратное уравнение решить.
Алгоритм. При заданных г, s и п, таких, как в теореме, этот алгоритм определяет все положительные делители п, сравнимые с г по модулю s.
Во-первых, с помощью алгоритма Евклида вычислить целое число г*, удовлетворяющее сравнению r*r=lmods (см. [5]), и определить целое число /:.
r'^r'nmods, O^r'<s. ;-.
Во-вторых, для z = 0, 1, 2, ... проделать следующее. Вычислить (it, bi, Ci по формулам.
a0 = s, Ьо = О, со = О,: :'
а1 = г'г* mod s, 0 < ^ ^s,■■1 \ .
^ = 1,■
n — rr г* mod s ,
я при /^2 по формулам ...... х \..
а^а^г —qittt.!, _ -'
' Ь1 = Ь1_2 — Qibi-i, ■;. . л , т.
Ci ^= bi„2 QiCi—] mod s,
где ф — однозначно определенное целое число, для которого. ....'
. , 0^ai <a,_h если i четно, .,-.,
0<ai^a<_1, если i нечетно. , ; ,-■ -
Далее, для каждого целого числа с, удовлетворяющего условиям (1.3) c = Cjmods,■
|с | < s, если i четно, ■'
2аД ^ с ^ -^- + atbb если i нечетно, решить систему уравнений' .
(L4){(L4){xat + ybt = с,,’
(L4){
(L4){
(xs + г) (ys + г') = п..
(см. (1.5)), и если х и у окажутся неотрицательными целыми числами, то добавить xs + г к списку делителей числа л, равных г mods. Если а< = 0, то алгоритм останавливается в этом месте; в противном случае он продолжает работу со следующим значением L
Этим заканчивается описание алгоритма (1.2). Корректность его будет доказана ниже (см. (1.7)).
Нетрудно видеть, что система (1.4) может быть сведена к одному квадратному уравнению от одной переменной. В самом деле, если положить
и = a, (xs + г), у = bi (ys + И,.~
то•'
uv = albln, и + у = cs + atr 4- Ь/^:.
так что и, у — нули многочлена
Т2 —■ (cs + atr + btr') Т + aibtn. ' ■ j •
Заметим, что числа ab bi, появляющиеся в алгоритме, вычисляются с помощью расширенного алгоритма Евклида (см. [5]), примененного к s, аь Поэтому условие окончания а, = 0 выполняется при некотором значении I; обозначая эту величину через t, получаем / = O(logs) по [5]. Поскольку а, > 0 для нечетных I, число / четно.
Следующие свойства ai, bi легко проверяются по индукции:
(ab bt) е Z>0 X Z>3 для i нечетного, 0 <i < t,
. ■ (ab 6,)е(2>о XZ^o) —{(0, 0)} для i четного, 0<.i^t, bH1ai — ai+ibi = (—\y s для 0^i<L
Прежде чем мы докажем корректность алгоритма, рассмотрим лемму.
Лемма. Пусть ab bb / такие же, как выше, и пусть х, yeR>o, ygR». Тогда существует i е (0, 1, ..., /), такое.
ЧТО, ; /.
—ys < ха, + yb, < ys, если i четно,.
2уа,Ь, ^ ха, + yb, ^ у~{ху + уа,Ь,, если i нечетно.
Доказательство. Сначала рассмотрим числа xai + yb, для, четных значений I. Из Ьо = 0, at = 0 следует, что
xa^-Vyb^O, ха, + ybt^O."'
Поэтому найдется четный индекс I, такой, что,'
xa,-Vybi>0, ха,+2 + yb,+2 < 0.
Если одно из этих чисел по абсолютной величине меньше ys, то все доказано. Допустим поэтому, что первое ^ys и второе ^—ys. Тогда
(xaz + yb,)/y>s = b,+xa, — a,*xb,>b,+xab '
так что х>у6,+1, и■'
(ха<+2 + yb,+2)/y ^—s = Ь1л.2аих — а,^,*, ^ b,+a^1U -
так что у^уа,+х. Следовательно, имеем.
xaux-\-yb,+x>2yal+xbl+x,'/
и из (х — yb,+x)(y — уа,+1)>0 следует, что
ха,+х + yb1+x<y~1xy4-ya,+ xb,+l. 1.
Поскольку i + 1 нечетно, это завершает доказательство леммы.
Предложение. При заданных г, s и п, таких, как в теореме, алгоритм (1.2) правильно определяет все положительные делители числа п, сравнимые с г по модулю s. Число битовых операций, необходимых алгоритму, равно O((logn)3) и равно O((logn)2+e) для любого е > 0, если используются методы быстрого умножения.
Доказательство. Сначала мы докажем корректность алгоритма. Пусть xs + г есть положительный делитель п, сравнимый с г по модулю s. Тогда х е Z>0 и (xs + r)d = п для некоторого d е Z». Умножая на г*, мы видим, что d в r*n = г* mod s, поэтому можем записать d = ys + г* с yeZ>3. Рассматривая (xs + г) (ys + г') = п по модулю s2,
хт' + yrs. (п — rr'^s mod s;
заметим, что правая часть есть целое чйЫЮ. Умножая на г* Н8г ходим, что‘‘
хгг+^в——г mod^. ,..„,
Это в точности случай г = 1 в последовательности сравнений
xat + ybi = ct mod s (O^z^Z).
Для z — О это сравнение выполняется тривиально, а для z ^ 2 оно получается с помощью тривиальных индуктивных рассуждений из определения at, bi, ci.
Применяя лемму (1.6) с у = 1, находим, что существует z е (0, 1, ..., /}, такое, что
| xat + ybi\< s, если z четно,
^atbi ^ xat + ybt ^ xy + atbu если z нечетно.
Фиксируем такое значение z и положим с = ха, + yb,. Из (1.8), только что доказанного неравенства и неравенства
. ху ^ (XS + г) (z/S + r'ys2 = ns2
следует тогда, что с удовлетворяет (1.3). Поскольку х, у удовлетворяют (1.4), отсюда следует, что делитель xs г в самом деле обнаруживается алгоритмом. Это доказывает корректность.
Далее мы оцениваем число битовых операций. Число г* может быть найдено за O((logn)2) битовых операций (см. [5, упр. 4.5.2.30]). Из n/s2 < s и а,Ь, > 0 для нечетных z следует, что для каждого z'e{0, 1, ..., Д найдется не более двух значений с, удовлетворяющих (1.3). Следовательно, для каждого z алгоритм делает лишь ограниченное число сложений, вычитаний, умножений, делений и извлечений квадратного корня. Эти операции выполняются с целыми числами, двоичная длина которых равна О (log и); поэтому каждая из них может быть сделана за О ((log и)2) битовых операций или за O((logn)I+e) с помощью техники быстрого умножения (см. [1]). Поскольку число значений для z равно t + 1 = О (log п), это доказывает предложение.
Замечания, (а) Доказательство показывает, что алгоритм также полиномиален, если s/n113 ограничено снизу.
Мы применяли лемму (1.6) только с у = 1. Может оказаться, что иной выбор у приводит на практике к более быстрому алгоритму.
Если s много больше, чем п1/3, то число квадратных уравнений, которые следует решить, может быть сильно сокращено. Например, если s "> п1/2, то ху ^ n/s2 < 1, так что нам нужно лишь рассмотреть случаи х = 0 и у = 0. Если s "> п2/6, можно использовать тот факт, что a2 -f- b2 ^ (4/3)1/2s для некоторого z (см. [5, упр. 3.3.4.5; 9]); для этого значения z число xat + ybt лежит в интервале длины, не превосходящей некото-
рой постоянной, умноженной на s, кроме случая ху = 0, поэтому лишь ограниченное число квадратных уравнений должно быть решено. Более общо, если $>ла с а>1/3, то алгоритм может быть модифицирован таким образом, что число квадратных уравнений, которые должны быть решены, будет ограничено постоянной, зависящей лишь от а. Это наблюдение сделано X. Зантемой.
'Л-2. КОМБИНАТОРНАЯ МОДЕЛЬ
Мы обозначаем через — и А теоретико-множественную разность и симметрическую разность соответственно: ХАУ = = (Х — У)ЩУ- X). Мощность множества X. обозначается ФХ.
Весовая функция на конечном множестве V есть функция ш, сопоставляющая неотрицательное вещественное число каждому подмножеству множества V таким образом, что w(XU^) = = гу(Х)+йу(У) для любых двух непересекающихся подмножеств X, У в V.
Предложение. Пусть V— конечное множество, w— весовая функция на V, w(V)>0 и oeR, а > 1/4. Пусть далее 3) — система подмножеств множества V, такая, что
max ^w(D — П'У w (D'— D)} aw (V)
для всех D, D'e®, D^D'. Тогда Ф3)^с(ау где с (а) — постоянная, зависящая только от а. .
Замечание. Утверждение (2.1) не выполняется для а ^1/4. Чтобы увидеть это, возьмем в качестве V векторное пространство над двухэлементным полем р2 и обозначим через ^SD множество гиперплоскостей в V. Положим w(X.') = ФX для X cz V. Тогда w(D — D')=l/^Ф V "^ aw^ для любых двух D, D'g®, D=#D', но ФФ = ФУ стремится к бесконечности с ростом размерности векторного пространства.
Доказательство (2.1). Зафиксируем е, 0 < е < 2<х—1/2 и положим ц = 4а — 1 — 2е, так что г] >■ 0. Запишем
^ = {йе® 0w(V)<®(S))<(0+e)ai(V)) .- ;
для 0 е R, 0 s^ 01- Ниже мы докажем, что • у-.;■
#^<1 + 7]"-,
для всех 0. Поскольку
®-,Ц®^.■.< V»; .S
то-‘
#0<([1/е]+ЩЦ-тТ1), „ /7' ,7
что и требовалось доказать.
Далее доказываем (2.3). Пусть D, D'e®^ D^D'. Тогда разность между шф) и уиф') не превосходит по модулю ew(V). Вычитая 1у(ОПО/), мы видим, что разность между ф(Ь— D'^ и фф'— ф также не превосходит ew(V). Кроме того, наибольшее из шф — D'), фф'— D) не меньше, чем aw(V) по предположению. Следовательно, наименьшее из этих чисел не меньше, чем (a — e)w(V), и
- фф AD') = w(D —О')-[-фф'— D)~^pi
.Х2а — e)ty(V) = V2 (1 + r])t«(K). г ' ‘;
. Обозначим 3)у=фгDm}, пг = ФФ^. Из только что доказанного неравенства следует, что, ,.
Е ф(О, A7)<1+пЬ(П-
С другой стороны, имеем
Е фФ,ао,) =1
1<<</<т1
■= X #№ /): l<z</</n, х е D{ A D^ ф ({х}) = ;
VxeV
= Е # {(t, /): 1 ^ z ^ m, 1 С / С т, хе Db
.xeV••
..,!tii х^ОДф^х}}—
• ■= Z mx(m — mx)®(W),
«eV‘. .
где mx = # {z: 1 < i < m, x e D^. Из mx (tn — пф < Ч4т2 MU видим теперь, что* f
Е w (Di A Dj)^ m2 E w({x))=-4"J2®(V). l<Z</<m4 xeV
В сочетании с прежним неравенством это дает‘
- То"! 9 )(1 +п)®(Ю<7m2w(V), _.
(m—t)(t 4-t|)<m, /п< 1 4-vi"1,
что и требовалось. Это доказывает (2.3) и (2.1).' ,.
Замечание. Отметим сходство приведенного выше предложения с границей Плоткина в теории кодирования, (см. [8, гл. 2, разд. 21).~
Предложение. Пусть V, w, 2), а удовлетворяют всем условиям предложения (2.1), и предположим далее, что а > > 1/3. Тогда ФФ 11.'
Замечание. Это предложение наилучшее возможное в том смысле, что для а 1/3 должно выполняться неравенство #2)^12. Чтобы увидеть это, положим ФУ = 6 и возьмем в качестве 2) систему подмножеств, характеристические функции которых заданы в столбцах следующей матрицы:
. . , 0 10 0 11 0 0 11 0 1.-
" ' '010000111101Л
f г 001010101011. . **'
‘.0 0 1 0 0 1 0 1 1 0 1 1 •'''.
~0001100101 11 t \ Л .
000101100111-'‘
В этом примере мы полагаем w^X^ — ФХ для всех X cz V. Прежде чем доказывать (2.4), рассмотрим две леммы.'
Лемма. Пусть Vi, У2 ..., Vi с V и teZ. Тогда
4-/a+i)w и^< + Z мС^ПУ/)^ 2>(vj.
'2XZ—1 / l<i«Z1-1
Доказательство. Для каждого у е Z мы, очевидно, имеем *Л(У ~ О (У— (^ + 1))^ 0, что эквивалентно '-
4-^+о+4-у(у—^>ty-. .
Применим это к-
У = пх = # {г: 1 < i < I, х е У J ''"
для xs J L Vv Умножая получившееся неравенство на w({x}) и суммируя по х е J {=1 VI, получаем в точности требуемое неравенство. Это доказывает (2.6).
Лемма. Пусть предположения такие же, как в (2.1), и пусть Уь У2, .... Vi е 2) удовлетворяют неравенствам
w^V.)w^V.)w(V2)^...^w(Vt), V^Vf (1</</<0-
w^V.)
w^V.)
Тогда числа yt = w{Vi)/w{V) удовлетворяют для каждого teZ неравенству-
^У1 + ( ^+1)Уг + • • • + (—/ + ^—1)У1+.
.Г т. . :. - +-г/^+1)>4/(/-1>°-
Доказательство. Это непосредственно следует из предыдущей леммы, если воспользоваться тем, что.
/ z \• -
. , w I U 7ZI ^ ® (V),,.■ -
\i=i /- ■
■ ty^n^/Xty^-aty^), 1<Z</<Z;' ■ ,
последнее неравенство следует из условий на Ф в (2.1). Это доказывает (2.7).
Доказательство (2.4). Предположим, что #^^12, и выберем Dx, D2, ..., Dx2 g Ф, такие, что
wkj)^ ^ w (О2) ^ .. . ^ w(D12), Di ^ D/(\ <z < j ^ 12).
Обозначим Xi = wk.DiMwkyY Применяя (2.7) к {Уь V2) = = \Pv D^, / = 0 и к {Vi, V^ = VDXX, Dx^, /=1, находим, что x2 a, %ц ^ 1 a. При {VjVz) = {.O2, D3, D^, Dg, D6, D-Д, t — 2 мы получаем
—2x2 — *з “F X5 -j- 2x§ -{- 3x7 -j- 3 ^s 15a,
а {У^ ..., УД--^О6, D7, Da, D9, Dxq, £>h), t = 3 приводит к
—Зх6 — 2x7 — x8 + x10 + 2xH + 6 ^ 15a.
' Складывая последние два неравенства и пользуясь тем, что х3 ^ х2 25? а, Хю ^ *п ^ 1 — а, находим, что
—За + х5 — х6 + х7 — х8 + 3 (1 — а) + 9 ^ 30а...
Поскольку Х5 ^ х6 и х7 ^ х8, это дает 12 ^ 36а, что противоречит условию. Это доказывает (2.4).-
Для целого числа к 25? 2 обозначим через а(А) наибольшее значение а, для которого могут выполняться условия (2.1) с ФФ = к. Нетрудно видеть, что а(&) существует и что для заданного к оно может быть вычислено путем решения задачи линейного программирования с 26 + 1 переменными.
Из (2.4) и (25) мы видим, что а(12)=1/3. В табл. 1 даны значения а(/г) для 2 ^ к ^ 12. Эта таблица была получена следующим образом. Тот факт, что табулированные значения являются верхними границами для а (/г), был получен с помощью методов линейного программирования; мы признательны Б. Лагевегу за оказанную при этом помощь. Во всех случаях, Кроме к = 9, неравенства из (2.7) оказались достаточны для получения этих верхних границ. Тот факт, что табулированные значения являются нижними границами для а (/г), был затем доказан X. Зантемой, который привел примеры, подобные (2.5).
Если а-> а(й), то в (2.1) мы можем взять с^=к—1. Из (2.1) и (2.2) следует, что а (А) стремится к 1/4 при к, стре-
Таблица 1
a (ft)
к-
a (ft)
2
1 = 1.000000
8
4/11 =0.363636
3
1/2 = 0.500000
" 9
13/37 = 0.351351
<4
1/2 = 0.500000
10 • -
9/26 = 0.346154■
5
2/5 = 0.400000
11
31/92 = 0.336957
6
2/5 = 0.400000
12.
1/3 = 0.333333
7
3/8 = 0.375000
мящемся к бесконечности. Доказательство (2.1) показывает, что мы можем взять с(а) = О ((а — 1/4)-2) для 1/4 < а ^1; поэтому a(k) = 1/4 + О (А-1''2), однако мне не известно, такова ли в действительности скорость сходимости.
ДОКАЗАТЕЛЬСТВО ТЕОРЕМЫ-
Для положительного целого числа к мы обозначаем
V(k^ = \pt*. Р простое, IeZ, />1, р* делит А}, ‘ например, У(12) = {2, 4, 3). Определим весовую функцию w на каждом V^, полагая w ({/?})= log р. Простые вычисления показывают что ш (!/(&))= log А.
Доказательство теоремы. Поскольку последнее утверждение теоремы было доказано в разд. 1, достаточно доказать первое утверждение.
Мы применяем (2.4) к V = V(n) с тем же w, что и ранее. Имеем да(Ю>0 при и >■ 1, что, очевидно, можно допустить. Пусть■
2) = {V (d\. d делит п, d > 0, d = r mod s}.
Пусть d, d' — два различных положительных делителя числа п, сравнимых с г по модулю s. Поскольку s делит d — d' и взаимно просто с d, наибольший общий делитель чисел d и d' делит (d— d')/s. Следовательно,
НОД (d, d^ < 1 d -d'1 < max d'A■1
так что
'у log и < max{log(^//HOД(d, d'^, log(^/7HOД (d, <^))|/
Поскольку У(НОД(б/, d')) = V (d) Q V (d'y это приводит к
^sW (V) < max {ay (V (d) — V (ДУ, w (V Д') — V (d))}. ■ -
Следовательно, мы можем выбрать а >1/3, так что правая часть >aw(V) для всех пар d, d'. Тогда все условия (2.4) выполнены, и поэтому #2>^Н. Это завершает доказательство теоремы.
1) Предложение. Для любого aeR, а > 1/4, существует постоянная с (а) со следующим свойством. Если г, s, п — целые числа, удовлетворяющие условиям п > 0, s > па, НОД (г, s) = = 1, то число положительных делителей п, сравнимых с г по модулю s, не превосходит с (а).
Доказательство аналогично только что приведенному с заменой (2.4) на (2.1). Это доказывает (3.1).
Если а>а(&), а(&) такое же, как в (2.8), то мы можем взять с(а) = & — 1 в предложении (3.1). Мне не известно, можно ли условие а > 1/4 в (3.1) заменить на а > 0.
Число 11 в теореме не может быть заменено на 5. На самом деле Коэн доказал, что существует бесконечно много положительных целых чисел п, которые имеют не менее шести положительных делителей в одном и том же взаимно простом классе вычетов по модулю некоторого вспомогательного числа s > п''3. Первые десять значений п выписаны в табл. 2 вместе
Таблица 2
n
s
r
n
s
r
245 784
65
1, 19
1 755 600
131
2, 100
288 288
71
1,28
1 796 760
137
3,93
320 320
69
1,22
2 066 400
143
2, 25
480 480
83
5,66
2 511 600
149
7,8
911 064
115
1,34
2 841 696
175
2,23
с классами вычетов г mod s, которые содержат шесть делителей п. Таблица была составлена Ленстрой с помощью компьютера VAX 11-780 в Математическом центре в Амстердаме. Другие примеры с п<3-106 неизвестны, и не было обнаружено ни одного примера с семью делителями в одном и том же классе вычетов.
ЛИТЕРАТУРА
Alt Н. Square rooting is as difficult as multiplication. — Computing, 1979, v. 21, p. 221—232.
Brillhart J., Lehmer D. H., Selfridge J. L. New primality criteria and factorizations of 2m±l.— Math. Comp., 1975, v. 29, p. 620—647; p. 112— 139. — In: Selected Papers of D. H. Lehmer, vol. 1, Charles Babbage Research Centre, St. Pierre, Manitoba, 1981,
Cohen Н., Lenstra Н., Jr. Primality testing and Jacobi sums. — Math. Comp., 1984, v. 42. p. 297—330. [Имеется перевод в настоящем сборнике, с. 101—146.]
Hardy G. Н., Wright Е. М. An Introduction to the Theory of Numbers, Sth ed—Oxford: Oxford University Press, 1979.
Knuth D. E The Art of Computer Programming. Vol. 2. Seminumerical Algorithms 2nd ed. —Reading Mass., Addison-Wesley, 1981. [Имеется перевод 1-го изд.: Кнут Д. Искусство программирования для ЭВМ. Т. 2.— М.: Мир, 1977.]
Lehman R. S. Factoring large integers. — Math. Comp., 1974, v. 28, p. 637—646.
Lenstra H. W., Jr., Tijdeman R. (eds.) Computational Methods in Number Theory. — Amsterdam: Mathematical Centre Tracts 154/155, 1982.
MacWilliams F. J., Sloane N. J. A. The Theory of Error-Correcting Codes. — Amsterdam: North-Holland, 1978.
Pinter R. Y. Using Hyperbolic Tangents in Integer Factoring. — Thesis, M. I. T., Cambridge, Mass., 1980...
Сильно регулярные графы!)
'' К. Юбо^ ' - ’
В этой статье мы попытались собрать известные результаты о сильно регулярных графах. В статью включены как теоретико-групповые, так и комбинаторные аспекты обсуждаемой теории. Мы приводим список всех известных ко времени написания статьи сильно регулярных графов, а также обширную библиографию по рассматриваемому предмету.
. О. ВВЕДЕНИЕ
Теорию сильно регулярных графов (с. р. графов) начал развивать Боуз [7] в 1963 г. в связи с частичными геометриями и схемами отношений с двумя классами. Годом позже Хигман [34] начал изучать группы подстановок ранга 3 с использованием сильно регулярных графов. В последние годы развивались как комбинаторный, так и теоретико-групповой аспекты теории сильно регулярных графов. Кроме того, интерес к сильно регулярным графам стимулировался открытием новых простых групп. В этой статье мы попытались собрать основные результаты по этой тематике, а также включить ряд новых результатов. Мы также приводим обширную библиографию по с. р. графам.
На протяжении всей статьи мы используем обозначения, введенные Сейделом [65] при изучении равноугольных прямых (см. ван Линт и Сейдел [80]). Эти обозначения очень удобны для обсуждения понятий дополнения и дополнительного графа. В первом разделе мы укажем связь наших обозначений с обозначениями, введенными Боузом и Хигманом в связи с изучением схем отношений с «-классами и централизаторных колец.
В качестве приложения мы приводим таблицу всех известных нам с. р. графов, связанных с классическими группами, спорадическими группами, а также возникающих из различных комбинаторных конструкций.
*) Hubaut Xavier L. Strongly regular graphs —Discrete Mathematics, 1975, v. 13, p. 357—381.
2) Free University of Brussels, Brussels, Belgium. Частичная финансовая поддержка этому исследованию оказана ONR Contract N00014-67-A-0232- 0016 (OSURF-3430A1). .
• © North-Holland Publishing Company, . ’ 1975
© перевод иа русский язык, «Мир», 1987
Автор глубоко признателен Д. Раю-Чаудхури за плодотворные обсуждения, а также В. Кантору, Д. Пэрроту и И. Сейделу за полезную информацию.
ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ И ОБОЗНАЧЕНИЯ
Все рассматриваемые здесь графы неориентированы, без петель и кратных ребер.
Пусть 9—такой граф и у— число его вершин. Граф S называется регулярным, если каждая его вершина смежна с одним и тем же числом к вершин. При этом к называется валентностью графа 9. Граф 9 называется сильным, если
для любых двух заданных смежных вершин х, у сумма числа вершин, смежных как с х, так и с у, и числа вершин, не смежных ни с х, ни с у, постоянна;
для любых двух заданных несмежных вершин эта сумма также постоянна.
Граф 9 является сильно регулярным, если он одновременно сильный и регулярный. Это означает, что
число вершин, смежных с обоими концами ребра, постоянно и равно, скажем, X;
число вершин, смежных с двумя несмежными вершинами, постоянно и равно, скажем, ц.
Через А(р) (соответственно Г(р)) будем обозначать множество вершин, смежных (соответственно несмежных) с вершиной р.
Пусть ^ — граф, дополнительный к 3. Множество вершин графа ^ то же, что и у графа ^; две вершины в ^ смежны, если и только если они несмежны в графе S. Если 9 регулярен, то 9 также регулярен и его валентность равна / = у — к — 1. Более того, если ^ сильный, то § также сильный.
Пусть J^i U 5^2 — разбиение графа 3. Граф 3", получаемый посредством переключения относительно {^1,5^2}, — это граф, множество вершин которого то же, что у графа ^, причем внутри 3^1 и 5^2 все ребра те же, что в ^; вершина из Xi смежна с вершиной из 5^2, если и только если эти вершины в графе 3 несмежны.
С каждым графом мы будем связывать его матрицу смежности А. Пусть вершины графа ^ занумерованы числами 1, 2, ..., у. Тогда А —матрица размера уХу и ее элементы определяются следующим образом:'
, (леи ' Оц = а. если i = j,. л)
ам=$, если < и / смежны,;Н;
а(/ = у, если / и / несмежны.-
Если 9 — сильно регулярный граф, то, как легко показать, матричная алгебра, порожденная матрицами Д, /, / (матрица, целиком состоящая из единиц), имеет размерность 3. Прямые вычисления показывают, что
А2 = [2(а-у) + (Л-р)(0-у)М +
+ [* (0 - Y)2 + X (Y - а) (Р - Y) + Р (а - Р) (Р - V) - (« - Y)2] / + + [fey (2р - Y) + /V2 - ^Y(P - Y) + РР (Р - ^) + Y2] h
AI = (а + ^Р + /у)
В частности, если а = 0, 0 = —1, у = 1, то это (0,-1,1)- матрица смежности графа ^, удовлетворяющая соотношениям
А2+ 2 (А — ц+ 1)Л-(4й — 2А — 2ц — 1)/ =
= (0 —4& + 2А + 2ц)У, ь
' ai-o-m
Собственные значения матрицы Д—числа ро = /— к и pi, рг, причем последние являются корнями квадратного уравнения х2 + 2 (А — р + 1) х — (4fe — 2А — 2р — 1) = О (р, > 0 > р2).
Кратности mi, m2 собственных значений pi, р2 равны соответственно
[—Ро —Р2(о— 1)1 (Pi — Р2Г1, [Ро + Pi (« - 1)1 (Pi — РгГ1-
Анализируя эти кратности, можно вывести условия, необходимые для существования сильно регулярного графа, которые состоят в том, что либо
к = I, р = А + 1 = Ч2к, либо
d = (X — ц)2 + 4 (к— ц) является квадратом и V^ делит 2k + (А — ц)(о — 1). Более того, 2V^ не делит указанную величину, если о четно, и делит, если о нечетно.
Во втором случае собственные значения рь р2 являются нечетными целыми числами. В первом же случае р0 = О, Р1 = —P2=V° и известно, что необходимым условием существования таких графов является то, что о = а2 + Ь2, где а и b— целые числа различной четности. Графы этого типа были построены для всех значений о = р™, где р простое, и для некоторых других значений о.
Отметим, что (0,—1, 1)-матрица смежности А сильного графа удовлетворяет соотношению
(А - Р1/)(А - р2/) = (о - 1 + Р1р2)/,
Если у — 1 + Р1Р2 #= 0, то, как показал Сейдел [65], такой граф является сильно регулярным.
Переключение по отношению к (З^ь З^г} преобразует матрицу Д в матрицу Д' следующим образом:
o^z = az/, если i и / содержатся в 36, или 36
а'ц = — atj, если I и / содержатся в различных 36 к.
Матрица смежности Д дополнительного графа S' графа 3 равна (—Д), и справедливы следующие соотношения:
у = у, k = l, l — k, X = 1 — к + ц — 1, ц — I — к + X + 1,
Ро + Ро = Pl + р2 = Р2 + Р| = 0.
Другие используемые обозначения
Хигман [34] рассматривает (О, 1)-матрицу смежности графа, определяемую тем, что а = 0, р = 1, у = 0. Эта матрица удовлетворяет уравнениям
Д2 — (X — ц) Д — (k — ц) / = ц/ и AJ = kJ.
Ее собственные числа s и / связаны с pi и р2 равенствами р, = = — (2s + 1), р2 = — (2/ + 1).
По терминологии схем отношений с двумя классами (см. [7]) две вершины находятся в первом (соответственно во втором) отношении, если они смежны (соответственно несмежны). Соответствие между обозначениями следующее: к = П\, 1 = п2, Х = p\v p. = p\v
ЧАСТИЧНЫЕ ГЕОМЕТРИИ.
Частичная геометрии— это множество элементов, называемых точками, и набор его подмножеств, называемых прямыми, такой, что
каждая пара точек лежит не более чем на одной прямой,
каждая прямая содержит К точек, К ^ 2,
■ (ш) каждая точка лежит на R прямых, R ^ 2,
(iv) для любой заданной неинцидентной пары точка — прямая (р, L) имеется ровно Т прямых, проходящих через р, которые содержат точки, инцидентные L, К ^ Т ^ 1.
По каждой частичной геометрии может быть построен некоторый сильно регулярный граф ^. При этом вершины графа 9 — это точки рассматриваемой геометрии; две вершины смежны тогда и только тогда, когда соответствующие точки лежат на одной прямой. Другими словами, S — точечный граф рассматриваемой геометрии. Параметры графа 9 могут быть вы-
‘Аб*
числены, исходя из параметров (У?, Л, Г) частичной геометрии, Имеют место равенства
v = KT"4(R-^(К- 1) + Г], ■,
k = R (К—1),'
/ = (Л -!)(/?- 1)(Л-Ш-1,' .
X = K-2 + lR-W-V),"
И = RT.
Очевидно, все эти числа целые, поэтому Т делит K^R — 1) (R — 1). Более того, поскольку граф ^ сильно регулярный, из необходимых условий существования с. р. графа следует, что T(R + К — Т — 1) делит RR^R — 1) (R — 1).
Граф ^, обладающий таким набором параметров (и, k, I, X, ц), что для некоторых целых чисел (R, К, Т) выполнены приведенные выше соотношения, называется псевдогеометрическим. Такой граф называется геометрическим, если существует соответствующая частичная геометрия.
Псевдогеометрические графы не всегда возникают из частичных геометрий. Например, существует граф с параметрами о = 16, к = 6, X = 2, что соответствует набору R = 2, К = 4, Т = 1, причем этот граф не изоморфен точечному графу единственной частичной геометрии с параметрами (2,4, 1).
Теорема Боуза [7] содержит достаточное условие того, что псевдогеометрический граф геометрический: в ^ существует множество 2 клик (полных подграфов), такое, что (1) две смежные вершины содержатся в единственной клике из 2; (2) каждая вершина принадлежит ровно R кликам из 2; (3) число К, равное мощности каждой клики из 2, больше чем R. Другой результат Боуза состоит в том, что псевдогеометрический граф *§ является геометрическим в случае, когда
R>xkVR(R-\') + T(R+\HR2-2R + 2^.
Для заданной частичной геометрии с параметрами (R, К, Г) двойственная геометрия, т. е. геометрия, у которой точками являются прямые, а прямыми — точки исходной геометрии, также является частичной геометрией с параметрами (R,R,T). Такие частичные геометрии исследовались Боузом [7], Симсом [73], Хигманом [41], а также Аренсом и Секересом [1].
/СХЕМЫ И СИММЕТРИЧЕСКИЕ 2-СХЕМЫ
t-схема Sx^t, к, о) —это множество из о точек и набор fe-элементных подмножеств множества точек, называемых блоками, такой, что любые t различных точек содержатся ровно в X блоках. При этом число b блоков задается равенством6 =ХГ? М^\
Если / = 2, то может оказаться, что число блоков равно числу точек. В этом случае Х(и— l)=fe(fe— 1). Простейшими примерами являются проективные пространства, при этом блоки суть гиперплоскости. Заметим, что в симметрической 2-схеме два блока имеют X общих точек и для каждой точки имеется к блоков, ее содержащих.
В некоторых частных случаях симметрическую схему удается построить, исходя из сильно регулярного графа.
Если X = щ то выберем в качестве блоков множества А(р) для всех вершин р графа ^. Это приводит к симметрической схеме Si(2, к, и).
Если X = ц — 2, то, взяв в качестве блоков множества (p}UA(p) для всех вершин р графа 3, мы получим симметрическую схему 5ц(2, к + 1, и). _
Заметим, что если Х = р— 2, то в дополнительном графе ^ выполнено равенство X = ц и симметрическая схема является дополнительной к схеме, получаемой, исходя из дополнительного графа. .
В случае (А), т. е. когда X = ц, необходимые условия существования сильно регулярного графа сводятся к тому, что 4(,k — X')=d является квадратом и a] d делит ^к. Отсюда к — X = т2 и т делит к. Это означает, что т делит X. Следовательно, для заданного X существует лишь конечное число сильно регулярных графов, таких, что X = щ
Такие графы, которые иногда называют (и, к, Х)-графами, изучались в работах [10, 62, 83]. Рудвалис [62] доказал, что существование (и, к, X)-графа эквивалентно существованию симметрической схемы 51(2, к, и), допускающей полярность без абсолютных точек. Необходимым (но не достаточным) условием существования таких графов (или схем) является то, что •
(и, к, X) = (s [(s + а)2 — 1]/а, s Is + а), sa),
где а делит s(s2— 1), причем, если а четно, то s и s(s2— 1)/а должны быть нечетными целыми.
Отмеченная связь между (и, к, X)-графами и некоторыми симметрическими схемами изучалась в работах Холла и др. [30] и Юбо [49].
РАВНОУГОЛЬНЫЕ ПРЯМЫЕ
Множество из и прямых (проходящих через одну точку) в r-мерном евклидовом пространстве называется набором равноугольных прямых, если угол между любыми двумя прямыми один и тот же. Интересной является проблема определения максимального числа и (г) таких прямых в r-мерном пространстве.
Сейдел [67] показал, что, исходя из симметричной (0,—1,1)- матрицы А размером и X v, можно построить набор равноугольных прямых в некотором r-мерном пространстве. Если р—наименьшее собственное значение (обязательно отрицательное) с кратностью и — г, то матрицу (А — р/)/р можно интерпретировать как матрицу Грама набора из и векторов в r-мерном пространстве, причем угол а между любыми двумя прямыми удовлетворяет равенству cos а = 1/р. В случае сильно регулярных и сильных графов кратность наименьшего собственного значения обычно очень большая, и поэтому число и равноугольных прямых велико по сравнению с г. Кроме того, имеется связь между такими наборами прямых и регулярными многоугольниками, благодаря которой для некоторых наборов равноугольных прямых группа автоморфизмов соответствующего графа оказывается очень большой. Более подробно эта тематика изложена в [52].
ГРАФЫ РАНГА 3
Пусть G— транзитивная группа подстановок на множестве й. Если подгруппа Gp группы G, состоящая из всех подстановок, фиксирующих точку ре Й, имеет г орбит, то говорят, что G является группой ранга г. Пусть г = 3 и соответствующие 3 орбиты суть {р}, А(р), Г(р). Очевидно, что q е Д(д)=> р е е А(р) тогда и только тогда, когда порядок G четный. В этом случае по группе G удается построить сильно регулярный граф S, множество вершин которого есть Й и две вершины р и q смежные в 9, если реА(р).
Хигман [34—42] развил теорию групп ранга 3. Эти группы являются группами автоморфизмов сильно регулярных графов, причем они действуют транзитивно как на множество вершин, так и на множество ребер.
Бесконечные классы сильно регулярных графов возникают из рассмотрения представлений классических групп, в особенности простых. Большинство из них обладают представлениями ранга 3 и являются нормальными подгруппами в группах Aut(^). В некоторых случаях представления имеют больший ранг, но может оказаться, что и они приводят к сильно регулярным графам.
Результат Зейтца [68] содержит важную информацию о представлениях ранга 3 групп Шевалле. А именно для каждого класса G (q^ групп Шевалле существует такое число N, что если q">N, то представлением ранга 3 группы G^1) может быть лишь представление на смежных классах по параболической подгруппе. (В действительности результат Зейтца применим к любым рангам.) Такие представления ранга 3 не возникают
для групп G2(^), Ет^, E8(q), F4(q) и для скрученных групп E'^qY F'^q) и D" (q).
Большинство таких представлений было найдено геометрическими методами. Следует упомянуть работы [58, 59] по ортогональным группам, [8, 12, 13] по унитарным группам, [43] по симплектическим и унитарным группам, а также серию статей [19, 23, 85, 86, 87, 88] по классическим группам.
Исключительные представления групп PO2n+i (3) были открыты Рудвалисом [62]. Другие исключительные графы и схемы, связанные с группой V2n • 0^(2), были комбинаторно построены Манном [54], а также Дельсартом и Гёталсом [20] в связи с задачами теории кодирования. Тейлор [76] построил сильные графы, для которых PSUn(<72) являются группами автоморфизмов. Относительно спорадических групп, имеющих представления ранга 3, см. статью Титса [78].
НЕКОТОРЫЕ РЕЗУЛЬТАТЫ О ГРАФАХ РАНГА 3
- 6.1. Общие результаты
Фоулзер [24] и Дорнхофф [21] описали примитивные разрешимые группы ранга 3. Соответствующие графы имеют следующие параметры:
(и,/г, X) = (n2,g(n-1), (g-l)(g-2)+n-2), т. е. это графы типа Z,g(n)(K.l). Допустимыми являются лишь значения (n,gy. (32,4), (13,6), (17,6), (19,8), (33,4), (29,6), (31, 8) (47, 24) или (З2, 4), (72, 10).
(И) (и, к, Х) = (64, 27, 10).
Кроме того, существуют еще два случая — когда G является подгруппой аффинной группы прямой или когда G действует на векторном пространстве V, таком, что V = Ei Ф У2 и Ki U К2 — блок импримитивности группы G.
Каллахер [51] и Либлер [53] доказали, что если группа ранга 3 действует на аффинной плоскости, то это трансляционная плоскость.
Если группа ранга 3 допускает нормальную регулярную подгруппу, то она изоморфна некоторой подгруппе в полной группе автоморфизмов аффинного пространства AG (n,g), содержащей все трансляции.
Характеризация посредством составляющих
Тсудзуку [79] описал все примитивные расширения ранга 3 симметрической группы Sym(fe), действующей естественным образом на к точках. В случае когда к > 1, возникают лишь следующие расширения: . ., . , , . ,
6* ■ 1
к = 2, и =5 и G ~ D5— диэдральная группа порядка 10, (и) к = 3, и = 10, 9 — граф Петерсена и G~Sym(5), (iii) к = 5, и = 16, 9 — граф Клебша и G^24.Sym(5), (iv) к = 7, и = 50, *§— граф Хоффмана — Синглтона и
G~ PSU;(52).
Ивасаки [50] доказал, что тот же результат справедлив и в случае, когда G0|д = Alt (fe) —знакопеременная группа в естественном представлении. Монтаг [57] доказал несуществование большинства расширений групп PSL2(<?), PSU3(<72), R(^), Sz(<?) в их естественных представлениях на к точках, где к = q + 1, <73+1> <73 + 1, <73+L причем |А|=/г, |Г|= '/2(к(к — 1)). Единственными исключениями являются случаи
PSL2(3) cs? Sym(3): расширением является граф Петерсена;
PSL2(4)~ Alt (5) расширяется до графа Клебша;
PSL2(9) приводит к группе PSL3(4), действующей на графе с параметрами (56, 10, 0) (S.1).
Если группы С0| д и Go । г являются 2-транзитивными на А и Г, то граф изоморфен либо циклу длины 5, либо объединению двух полных графов порядка п = и/2. В последнем случае нормальная подгруппа, фиксирующая каждую компоненту, должна действовать 3-транзитивно на Кп.
Баннаи [3] доказал, что если Со । д ^ PSL„ (2f) в естественном представлении, то п =2 и либо f = 1, либо [ = 2. Оба этих случая охвачены результатом Монтага. В другой статье Баннаи [4] изучал случай, когда Сод является 4-транзитивной. Он показал, что | А | = 5, 7 и Со । д с^ Sym (5), Sym (7) или Alt (7).
Характеризация посредством подстепеней
В некоторых случаях знание подстепеней к и I в совокупности с предположением о том, что рассматривается граф ранга 3, оказывается достаточным для классификации графов. Хигман [39] доказал следующее:
Если и = т2, к = 2 (/тг — 1), т ^ 2, то G ~ Sym (щ) г Sym (2) и граф S имеет тип А2(/тг).
Если и = (^), к = 2(т.— 2), т^5, то либо G является 4-транзитивной подгруппой в Sym(m) и S— граф типа Т'(т), либо
G~PrL2(8) и S—граф типа Т(8),, .
и = 6, т = 9, 17, 27, 57,. Д? " .е/Д';и/Д
. (с) ц = 7, m = 51,■
ц = 8, щ = 28, 36, 325, 903, 8128.;. . .::
Единственный известный случай — это действие группы G2(2) на 36 точках (S.9).
(Ш) Если v = QnQn_xIQ1, k = qQ2, где Qn = (qn — 1)/(^ — 1), то либо G — подгруппа в группе РГЕт(</), которая при действии на прямых в Pm-i^ транзитивна на 4-симплексах, либо т = 4, 5 или /и = 2а + 1 и 17 ^ т. ^ 7, где р #=(<?+ I)2- Аналогичный результат был получен Еномото [22]. Если и = т? и к = 3 (m — 1), то ц = 6, за исключением случая у. = 4, т = 14 или 352. Кроме того, если предположить, что рассматривается граф ранга 3 при т > 23, за исключением двух указанных случаев, то G является группой автоморфизмов некоторого графа типа L$(п), где n = 2Е
Отметим, что эти результаты получены без предположения о том, что ранг равен трем.
Другой результат Хигмана [35] относится к графам с X = О, р = 1, т. е. для и = к? + 1, и состоит в том, что к должно быть равно 2, 3, 7, 57. Такие графы существуют и имеют ранг 3 при к = 2, 3, 7. Ашбахер [2] доказал, что в случае к = 57 не существует графа ранга 3.'
Если Х = 0 и у ф 2, 4, 6, то при фиксированном р существует лишь конечное число графов [6].
Хигман [41] изучал также псевдогеометрические графы с Т = 1 и и < 100. Кроме того, он доказал несуществование графов ранга 3 с параметрами (76,21,2) и (96,20,4), а также единственность графа ранга 3 с параметрами (64,18,2).
Уэлс [81] доказал, что знание С0|д и Go । г однозначно определяет граф ^, если известны некоторые подстепени.
..6.4. Характеризация с. р. графов посредством ■
их собственных значений
Сейдел [66] описал все с. р. графы с наименьшим собственным значением р2 = —3. Эти графы следующие:1 '
UW," '
Т^,■
негеометрический граф с и = 16, к = 6, X = 2,
’(iv)три графаЧанга[14],Sii■
'(v)графыПетерсена, Клебша и Шлэфли.
Интересно отметить, что последние три графа образуют башню ранга 3. Симс [73] доказал, используя результат Рая-Чауд- хури [59] относительно реберных графов, что граф ранга 3 с наименьшим собственным значением р2 = — 3 является графом типа (1), (11) или (ill). Более того, он высказал гипотезу о том, что если имеется бесконечно много графов ранга 3 с наименьшим собственным значением р2, то р2 = 2<? + 1 ^q = pa'), и за
конечным числом исключений такие графы исчерпываются графами типа С.1 и С.11. В другой формулировке эта гипотеза состоит в том, что параметр р ограничен некоторой функцией от наименьшего собственного значения. Эта гипотеза доказана с использованием результата Хоффмана.
БАШНИ РАНГА 3
Пусть ^ — граф ранга 3 и А(р), Г(р)—две нетривиальные орбиты группы Gp. Может оказаться, что СР|д также является представлением ранга 3 для некоторой группы. Такая ситуация может повторяться несколько раз и привести к так называемой башне ранга 3. Группы, составляющие известные башни, — это в основном спорадические группы и некоторые другие «исключительные» простые группы. Параметры известных башен приведены в табл. 1. Относительно первых четырех башен дальнейшие пояснения можно найти в статье Титса [77]. Заметим, что в последнем случае на первом графе подорбита Г(р) тоже является ортогональной башней.
СИЛЬНО РЕГУЛЯРНЫЕ ГРАФЫ, СВЯЗАННЫЕС ГРУППАМИ ШЕВАЛЛЕ1)
PSLn(^) (An-i(^)), действующая на прямых пространства PG(n — 1, р), п ^ 4; смежные вершины — пересекающиеся прямые.
PQ2n+i(^) (Вп(<?)), действующая на точках квадрики в PG(2n, д'); смежные вершины — точки на образующей.
PS рт^д') (Сп(д)), действующая на точках квадрики PG(2n —1, д') с симплектической полярностью; смежные вершины— сопряженные точки.
4+. PQ^ (д) (Dn (<?)), действующая на точках гиперболической квадрики пространства PG(2n —1, д'); смежные вершины — точки на образующей.
4“. PQ^ (д') ('Dre (t?2))» действующая на точках эллиптической квадрики пространства PG(2n — 1, д'); смежные вершины — точки на образующей.
PSUntg2) (‘An-^g2)), действующая на точках эрмитова многообразия в пространстве PG(n — 1, g2); смежные вершины— точки на образующей.
Еб(<7). действующая на точках 26-мерного проективного представления; смежные вершины — точки на образующей. .
') Полная группа автоморфизмов рассматриваемых графов обычно совпадает с группой автоморфизмов соответствующего пространства, за некотопы-^ ми исключениями, которые имеют место при малых q и п. . . , „
О
к
х1
Л
U
О
Go
Башня
77
60
16
47
45
24Лв
Хигмана—
100
77
22
60
56
HS
Симса
Башня
162
105
56
72
60
PSU4 (3)
PSL3(4)
/Лаклафли-
275
162
112
105
81
Met
PSU4(3)
на
Башня
36
14
21
4
6
Gz (2) ~ PSU3 (З2)
PSL3(2)~PSL2(7)
Судзуки
100
36
63
14
12
HJ
G2 (2)
416
100
315
36
20
G2 (4)
HJ
1 782
416
1 365
100
96
Suz
G, (4)
Башня
693
180
512
51
45
PSUe (22)
29 • PSU4 (22)
Фишера
3 510
693
2816
180
126
Fi22
PSU6 (22)
31 671
3510
28 160
693
351
Fi23
Fi22
306 936
31 671
275 263
3510
3240
Fi24
F123
Башня
1 408
840
567
488
520
PSU„ (22)
PSU4 (32)
Конвея
2 300
1 408
891
840
896
Co-2
2 • PSU6 (22)
Башня
1 288
792
495
476
504
M24
2-Мц
Матье
2 048
1 288
759
792
840
2H -M24
M24
Ортогональные башии
22п 22п+1±2п-1
г2"
22п-1 ±2П-1 —1
22п ± 2" _ 2
22П-2-Р2П-1
22м—1 ^-2П-1
22п—2 -p2n —I 22п-1
22n-o* (2)
Q$i+2 (2)
O?„ (2) 22"-O,„ (2)
Таблица I
Сильно регулярнее графы
PQw(9), действующая на одном семействе изотропных 4-плоскостей гиперболической квадрики в PG(9, 9); смежные вершины — 4-плоскости, пересекающиеся по 2-плоскости.
PSU5(92), действующая на прямых эрмитова многообразия в пространстве PG(4, ^2); смежные вершины — пересекающиеся прямые.
Замечание; то же представление группы PSU^2) на прямых эрмитова многообразия приводит к графу, описанному в п. (4_) при п = 3.
. PQ^i(2), действующая на точках квадрики в пространстве PG(2n— 1, 2); смежные вершины — точки на касательной.
10*. PQ2n+i (3), действующая на точках внутри (соответственно вне) квадрики в пространстве PG(2n, 3); смежные вершины— точки на прямой, не пересекающей квадрику.
Другие графы, связанные с классическими группами
Стабилизатор копрямой в PG(n, 9), и ^ 3, действующий на прямых, не пересекающих эту копрямую; смежные вершины— пересекающиеся прямые.
12*. Ут (<?) • 0$, (<7), действующая на точках евклидова пространства (Vin(q')') с квадратичной формой; смежные вершины— точки на изотропной прямой.
Подгруппа х'= а2х-\-b аффинной прямой над GF(y), где q = l(mod4), действующая на точках; смежные вершины — точки, координаты которых отличаются на квадрат.
Замечание; п. 11, 12±, 13 являются представлениями ранга 3.
PSUn(<72) ('Ап-Д^2)), действующая на точках эрмитова многообразия в пространстве PG(n— 1, q2y, смежные вершины— точки на касательной.
Группа автоморфизмов пространства AG(n,^), действующая на прямых; смежные вершины — пересекающиеся прямые (представление ранга 4).
Группа автоморфизмов AG(3, q2) с выделенной бэров- ской подплоскостью на бесконечности; смежные вершины — точки на «изотропной» прямой (представление ранга 3).
Группа автоморфизмов AG(3,2r) с полной коникой в бесконечности (объединение коники и ее узла), действующая на точках; смежные вершины — точки на «изотропной прямой» (представление ранга 4, за исключением случая г = 2, когда ранг равен 3).
Та же группа, действующая на изотропных прямых; смежные вершины — пересекающиеся прямые (интранзитивное
представление, за исключением случая г = 2, когда ранг равен 4).
Подгруппа автоморфизмов пространства AG (2, 9), сохраняющих т изотропных направлений, действующая на точках; смежные вершины—точки на изотропной прямой.
Группа автоморфизмов эрмитовой параболы Р в пространстве AG(2, 92) (</ нечетно). Если уравнение для Р имеет вид хх + (у + у) = 0, то две вершины смежны тогда и только тогда, когда для соответствующих точек с координатами (xi, z/i) и (х2, z/г) выражение Х|Х2 + Ух + Уч является квадратом (соответственно неквадратом) в GF(y) при —l^GFx2(y) (соответственно при —1 е GF*2(y)).
S. Сильно регулярные графы,связанные со спорадическими группами
Р5Ьз(4), действующая на орбите из 56 полных коник в пространстве PG(2, 4); смежные вершины — непересекающиеся коники (см. [25, 26, 57]). Представление ранга 3 группы PSL3(4) по подгруппе Alt (6). ’
М22, действующая на 77 блоках системы 5(3,6,22); смежные вершины — непересекающиеся блоки. Представление ранга 3 группы М22 на смежных классах по подгруппе 24-Alt(6).
PSU3(52), действующая на подмножествах самосопряженных треугольников в пространстве PG(2, 52) с эрмитовой коникой. Простое описание можно получить следующим образом. Пусть р = А?, А (у)—множество из 7 подгрупп А6 в группе Ат (стабилизаторы точек). Пусть Г(р)—множество из 7X6 подгрупп А5, содержащихся в Аб и действующих транзитивно на 6 точках. Две точки из Г(р) смежны, если соответствующие подгруппы As пересекаются по подгруппе D5 (см. [5, 48, 64]). Представление ранга 3 группы PSU3(52) на смежных классах по подгруппе Alt (7).
PSL3(4), действующая на 105 флагах пространства PG(2, 4). Две вершины смежны, если соответствующие флаги имеют различные центры и оси, причем центр одного флага лежит на оси другого (см. [26, 67]). Представление ранга 6.
PSL3(4), действующая на орбите из 120 бэровских подплоскостей в пространстве PG(2, 4); смежные вершины — плоскости, пересекающиеся по единственной точке (см. [26]). Представление ранга 5.
М23, действующая на 253 блоках системы 5(4,7,23); смежные вершины — блоки, пересекающиеся по единственной точке. Представление рэнга 3 группы М23 на смежных классах по подгруппе 24-Alt (7).
М22, действующая на 176 блоках системы 5(4,7,23), не проходящих через фиксированную точку; смежные вершины —
блоки, пересекающиеся по единственной точке [26]. Представление ранга 3 группы М22 на смежных классах по Alt (7).
PSU3(52), действующая на 175 ребрах графа Хоффмана— Синглтона (S.3). Другое описание можно получить, исходя из графа 7, а именно в последнем надо выбрать вершину р, рассмотреть подграф A(p)U Г(р) и осуществить переключения относительно {А(р),Г(р)}. Представление ранга 4 группы PSU3(52) по подгруппе Alt (6)-2.
Представление ранга 3 группы G2(2) на 36 точках [68].
Представление ранга 3 группы HS на 100 точках [42, 78, 26].
Представление ранга 3 группы HJ на 100 точках [30, 77, 78].
Представление ранга 3 группы PSU4(3) на 162 точках [78].
13. Представление ранга 3 группы McL на 275 точках. Простое описание может быть получено с использованием графа 6. Для заданной точки системы 5(4,7,23) 253 блока последней распадаются на два класса Х|, Ж2, а именно блоки, проходящие через эту точку (77), и оставшиеся блоки (176). Теперь осуществим переключение графа 6 относительно {ХьХ2}, возьмем дополнение Xi к подграфу Xi и добавим оставшиеся 22 точки системы 5(4,7,23) со следующим отношением смежности: точка смежна с каждым блоком из 36\, которому она неинцидентна, и с каждым блоком из Ж2, которому она инцидентна (см. [ 17], а также [55, 78]).
Представление ранга 3 группы G2(4) на 416 точках [78].
Представление ранга 3 группы Suz на 1782 точках [78, 79, 81].
Представление ранга 3 группы Fi22 на 3510 точках [78]. 17. Представление ранга 3 группы Fi23 на 31671 точках [78]. 18. Представление ранга 3 группы Fi24 на 306 936 точках [78].
Представление ранга 3 группы 2Н-М24 на 2048 точках. Соответствующий граф связан с кодом Голея (см. [26]).
Представление ранга 3 группы М24 на смежных классах по подгруппе Mi2-2; 1288 вершин графа — это 1288 разбиений 24 точек системы 5(5,8,24) на два подмножества, каждое мощностью 12 (такие подмножества называют додекадами), на которых М12 действуют неэквивалентным образом. Две вершины смежны, если две пары додекад пересекаются в (4, 8, 4, 8) точках.
Представление ранга 3 группы СО-2 на смежных классах по подгруппе PSU6(2)-2. Выберем в решетке Лича две точки на расстоянии 4^2 и две сферы с центрами в этих точках
подходящего радиуса. Группа Со-2 действует на 2300 парах противоположных точек решетки Лича, лежащих на пересечении сфер (см. [ 17]).
Представление ранга 3 группы PSU6(2) на смежных классах по подгруппе PSU4(3). Рассмотрим снова решетку Лича и выберем треугольник типа 222. Стабилизатор вершин этого треугольника действует на 408 точках, дополняющих треугольник до тетраэдра типа 222222.
Представление ранга 3 группы Рудвалиса на смежных классах по подгруппе Т4(2) (см. [18]). ■
КОМБИНАТОРНЫЕ СИЛЬНО РЕГУЛЯРНЫЕ ГРАФЫ
Комбинаторная точка зрения также приводит к некоторым интересным классам с. р. графов. Более того, некоторые графы характеризуются лишь своими комбинаторными свойствами. Мы уже упоминали результат Сейдела [66] относительно графов, для которых —3 является наименьшим собственным значением. В его доказательстве использовался более ранний результат Чанга [14] (а также результат Коннора [16]), результат Хоффмана [46], относящийся к треугольным схемам отношений Т(т), и результат Шрикханде [69], касающийся £2-схем отношений Li^nY В действительности рассматриваемые параметры определяют указанные два класса графов и два исключительных примера. Для v = 28, fe = 12, X = 6, кроме T(8Y существуют еще три неизоморфных графа [15], получаемых из Т(8) путем переключения [65]. Для и = 16, к = 6, Х = 2 существует негеометрический граф с теми же параметрами. На этом пути Буссемакер и Сейдел [11] доказали существование более чем 80 неизоморфных графов типа L2(6) и более чем 23 графов типа NU^Y Другие классы с. р. графов были построены различными способами.
Меснер [56], используя результат Рая-Чаудхури [60], построил два класса (в действительности только один) с. р. графов, являющихся графами типа отрицательных латинских квадратов (т. е. имеющих те же параметры, что и L_g(n)).
Боуз и Шрикханде [10] построили большое число с. р. графов с X = ц, являющихся графами типа L2(2rY NL2(2r), и с параметрами (и, к, Х) = (4г2—1, 2г2, г2). Кроме того, Валлис [83, 84] изучал графы с X = ц и построил графы других типов, используя аффинные разрешимые схемы. Он также доказал существование по крайней мере двух неизоморфных графов с параметрами (п2 (и + 2), п (и + 1), м) Для п = ра.
Эти графы были впервые построены Холлом [29] при р = 2 и Аренсом и Секересом [1] в общем случае. Из построения Аренса и Секереса получается еще один класс с.р. графов (КЗ).
Если р=т^2, это построение тесно связано с построением графа на эрмитовой параболе в аффинной плоскости.
Другие построения с помощью матриц Адамара можно найти у Холла [28] и у Гёталса и Сейдела [26]. В последней статье построены также некоторые другие интересные графы, связанные с квазисимметричными схемами (схемы, у которых лишь два типа пересечений блоков). В частности, там содержится очень аккуратное исследование схемы S(5, 8, 24) и связанных с ней графов. Отметим, что высказанная там гипотеза о существовании с. р. графа с и = 1288 (см. [26]) верна (см. башни ранга 3).
К. Комбинаторные сильно регулярные графы
Графы латинских квадратов Lg^nY Пусть заданы g — 2 ортогональных латинских квадратов порядка п. Граф строится на и2 клетках квадрата. Две вершины смежны, если клетки находятся либо в одной строке, либо в одном столбце, либо они содержат одинаковые символы.
Треугольные графы. Они отвечают представлению ранга 3 группы Sym(fe) на парах точек. Две вершины смежны, если пары содержат общую точку (см. также С.1).
Точечный граф частичной геометрии типа (X + 2, X, 1), X = ра (см. Аренс и Секерес [1]).
Граф прямых той же геометрии.
Графы отрицательных латинских квадратов (см. [56, 10])'.
Граф прямых схемы 5(2, К, и); смежные вершины — пересекающиеся блоки.
приложение
Г
к
Z
X
и
Р1
Р1
S.1
56
10
45
0
2
7
-5
8.2
77
16
60
0
4
И
-5
S.3
50
7
42
0
1
5
-5
8.4
105
32
72
4
12
19
-5
S.5
120
42
77
8
18
23
-5
S.6
253
112
140
36
60
51
-5
8.7
176
70
105
18
34
35
-5
■ S.8
175
72
102
20
36
35
-5
- S.9
36
14
21
4
6
7
-5
- зло
100
22
77
0
6
15
-5
8.11
100
36
63
14
12
7
-13
. 8.12
162
56
105
10
24
31
—5
8.13
275
112
162
30
56
55
—5
8.14
416
100
315
36
20
7
—41
V
к
1
Л
и
01
Ol
S.15
1 782
416
1 365
100
96
31
-41
S.16
3510
693
2 816
180
126
17
— 127
S.17
31 671
3 510
28 160
693
351
17
—703
S.18
306 936
31 671
275 264
3510
3 240
161
—703
S.19
2 048
759
1 288
310
264
17
-111
S.20
1 288
495
792
206
180
17
-71
S.21
2 300
891
1 408
378
324
17
— 127
S.22
1 408
567
840
246
216
17
-79
S.23
4 060
1 755
2 304
730
780
129
-31
к
Z
К.1.
п2
g(n —1)
(П - g + 1) (П - 1)
К.2.
G)
2 (и — 2)
(+)
К.З.
93
(q- 1)(<7 + 2)
(g-1)2 (9+0
К.4.
q2 (q + 2)
9(9 + 1)
(g + O2 (9 — 1)
К.5.
п2
g (л + 1)
(м —g — 1)(п+ 1)
К.6.
у (у — 1)
r v — к
к- 1
(у — £) (у — к2 + к — 1)
к(к- 1)
ki,k-\^
X
ц
ip,. p=)
К+
(g^l)(g-2)+«-2
g (g - о
2g — 1, 2g — 2zz — 1
К.2.
п — 2
4
2n — 7, — 3
К.З.
9-2
9+2
2? + 3, З — 29
К.4.
q
q
2q - 1, -29 — 1
К.5.
(g + O(g + 2) —n —2
g(g + D
— 2g + l,-2g + 2n-l
К.6.
(к - I)2 + -—-2 к — 1
к2
2k — 1, 2k—\—2^—— к- 1
к
Z
C.l.
— 1) (9 + l)(9 -I)2
qJ^VWZL=A q — 1
94(9n-'-l)(9"-2-l) (9+ 1)(9~ I)2
0
к
С.2.3.
92"-1
_ q^"1 - 1
-2n-l
q — 1
q q — x
4
СА*
kqn Ч- \ W~X ± 1)
9(9"-1Tl)(9n-2±l)
q<ln-l
q — 1
q — i
С .5.*
kqn-X T OU" ± 1)
92 (gn""3Ti)(g'1-2±i)
qln-5
92 ~ 1
92~ 1
С.6.
kq^_ 1)(l?9_ i)
9(9’-D(93 + D
q8 (96-l)(<74 + l)
(q*~ 1)(9- 1)
q — 1
q — I
С.7.
(9s — 1) (93 + 1)
q ^ - X^q2 + 1)
<7® Vqb- 1)
q — i
<7 — 1
<7 — 1
С.8.
(95 + 1) (93 + 1)
q3 (q2 + 1)
qs
с.д^
22n-l ± 2n-l
22n-2 _ ]
2in-^ ± г"-1
С. 10.
3n (3"± 1) 2
j^Zli^l+Jl
2
32"-1 ±3n-'.2-l
С.11.
92""2
(9 + D^-'-i)
H^"1-!)^"2-!)
С.12.*
92"
(qn4 l)^-1 ± 1)
qn-xkq- 1)(<7ПТ 1)
С.13.
4a + 1 = q
2a
2a
С.14.»
<rn—1 (9" ± 0
<74-1
(9"-i T i)(^"-2± 1)
qn"4qn-' + 1)X
X (q2 - q - 1)
q + 1
С. 15.
q""1 (qn - 0
^^-'-l)
q^n-X^q^'-X^,
<7- 1
q — 1
q~X'
+ <7 — 1
С. 16.
qe
(<y + I) (<7= _ 1)
9(^2_ 1)(93_ 1)
С. 17.
23r
22<- + 2r - 2
(22r- 1) (2r — 1)
С. 18.
22r (2r + 1)
2r (2f + 1)
(22r- l)(2r+ 1)
С. 19.
92
m (q — 1)
{q + 1 — m) (9 — 1)
С.20.
(<7-l)(<72+l)
(9 + 1)(92- 1)
q3
2
2
* Верхний знак отвечает нечетным значениям п, а нижний—четным
X
14
(Pi. Pi}
2? + 1,
С.1.
ЛL а. да _ 2
<7-1
(<7 + I)2
а"-1 - 1
2 ^ _ ]+ 2i? + 3
С.2.3.
д2п-2-\ о
<7-1
дгп~г - 1
<7 — 1
г^-' + Ь -29'1-1 + 1
,(ГМ(Г2±<?) ,
kqn"x =F ОС?"-2 ± 1)
±29п-2+ 1,
С.4.
<7-1+
<7 — 1
T2qn"A + X
+ <7 — *
С.5.
(<7"—3 =F 1) (<7"—2 ± 1)
± 2qn-2+ 1,
92-1 "+
<72-1
=F29n-3+ 1
+ <72- 1
С.6.
<7-1
(<74 ~1)(<73+1)
<7— 1
2<73 + 1, _2^Lz2L+1
+ <7-1
<7 - 1
С.7.
д2 (<73 — !)(<? + 1) 1,
<7-1™
(<73 — 1) (<72 + 1)
<7 — 1
2<72+1, — 2<73 (у3 — 1)
<7-1+
С.8
93-1
<72 + 1
2q2 + 1, - 2<у3 + 1
С.9+
22п-3_ 2
22П-3 -р 2«-2
1 ± 2"-1, - 1 + 2П
З"-1 (З"-1 + 1)
3'-1(3'-1 =р ,)
З"-1 - 2— 1,
С. 10.
2
2
- 3" 1 • 2 — 1
С.11.
q^^ + g^-g-i
<7(<7 + 1)
2^ + 1, -2qn-1+2q+l
слг.*
q {qn~^ Т 1) Vgn-1 ± 0+
qn-\^n-t ± 1)
±2qn^, + l,
+ <7-2
±2qn 1 + 2qn + 1
С. 13.
а — 1
а
V7, — V7
С.14*
<72"-5(9 + 1)±
±9п-2(<7-1)-<7
дп"3(д + i)(?n-2±i)
±<7n'2+l.
+ 2дп-^^ - <7-l)+l
С. 15.
пп — 1
<-1 + <72 2q 1
д2
2q — 1, an — 1
2 ,-l +!,+1
С. 16.
9з + <72_9_2
<7 (<? + !)
29 + 1, -2q3 + 2<? + 1
С.17.
2Г — 2
2Г + 2
2r-1 +3, — 2r-1 + 3
С. 18.
2Г
2Г
2r-1 - 1, - 2r-' - 1
С. 19.
(т — 1) (т — 2) + q — 2
т (т — 1)
2m — 1, 2m — 2q — 1
(<7 — I)3,
(q- 1W+ 1)
С.20.
4"1
4
q. я
* Верхний знак отвечает нечетным значениям п, а нижний —четным.
ЗАМЕЧАНИЯ ПРИ КОРРЕКТУРЕ
С 1973 г. были получены новые результаты. Мы хотели бы включить большинство из них.
К разд. 2. Частичные геометрии. Дж. Тас (Simon Stevin, 1973, v. 46, р. 95—98) построил частичные геометрии, которые несбалансированы и не являются сетями.
К п. 6.2. Характеризация посредством составляющих. Автор описал расширение групп Sym(n) и Alt (и), действующих на (") неупорядоченных парах элементов множества мощностью п. Исключительные расширения ранга 3 возникают лишь при п = 5 и п = 8. В этих двух случаях (у, к, Х) = (16, 10,5) и (64,28,35); в остальных случаях получается треугольный граф Т(п + 2).
П. Камерон (Proc. London Math. Soc. 1972, v. 25, p. 427—440) показал, что если С0|д является /-транзитивной группой (/^ 3), то имеет место одно из следующих соотношений: (i) | Г [ = = Ч^к^к-\^, (ii) |Г| = А?(А?—1) или (iii) и = (а + 1)2(а + 4)2, к = (а + 1) (а2 + 5а + 5), ц = (а + 1) (а + 2) (единственный известный пример в случае (iii)—это граф Хигмана — Симса, S.10).
Ф. Бюкенхаут и К. Юбо описали все расширения в случае, когда Go । д содержит классическую группу PSp, PQ или PSU в естественном представлении ранга 3. Расширения ранга 3 — это (i) С. 12^ что является расширением графов из СД* при q = 2; (ii) С.Э^ что является расширением С.2 при q = 2; (iii) (у, k, Х) = (35, 16, 6); (176,40, 12), (275, 112,30), (126, 25, 8), (126,45,12) и (3510,693,180), причем группы автоморфизмов изоморфны Alt(8), PSU5(4), Alt (10), McL, PQ^ (3) и Fi22 (в печати). '
К п. 6.3. Характеризация посредством подстепеней. Если
3 — граф ранга 3, где
то при некоторых предположениях 9 есть граф типа С.З. Этот сильнейший результат был получен В. Кантором (характеризация классических геометрий как графов ранга 3) при г 6. Другие результаты при дополнительных предположениях можно найти в [34] и статье А. Янушки (характеризация симплекти- ческих групп PSp(2m, q) как групп подстановок ранга 3).
Относительно расширений ранга 3 упомянем результат М. С. Смит (Bull. London Math. Soc., 1974, v. 6, p. 1—3), который состоит в том, что если дан граф 3 ранга 3, то при неко-
торых предположениях относительно характеров рассматриваемого представления существуют самое большее 4 расширений ранга 3 ^' графа ^. На комбинаторном языке сформулированные условия эквивалентны тому, что $' и ? имеют общее собственное значение.
К разд. 7. Башни ранга 3. Две бесконечные башни возникают из представлений ортогональных групп над полем GF(3). Эти группы следующие: PQf (3) cz PQs(3) cz Рй* (3) cz Рй?(3). .. в представлениях, описанных в С. 10', а графы являются дополнительными к C.ICP (С.10' см. ниже).
Унитарные группы над полем GF(4) также приводят к бесконечной башне; соответствующие графы — это дополнительные графы к графам С.14 при q = 2.
К разд. 8. С. Р. графы. Добавим следующие серии: С.10'*. РЙ^(З), действующая на блоках импримитивности точек, лежащих вне квадрики в пространстве PG(2n— 1, 3); смежные вершины — точки на прямой, не пересекающей квадрику, - ^ = зп-1 ^1^1,/==32,г"2—1,
.X = 3n-2 3"-~±1 , Р = 3'1"1.
С. 11. Vio(<?)1 PSL(5, q), действующая на кососимметрических тензорах; смежные вершины — тензоры, разность которых является бивектором,
v = 910, ^ = (^5 — 1) (<72 + 1), l = q4q3 — l)^ — 1),X = q(q-\- 1)(93 — 2)4-9 — 2, р = 92(924"1).
П. Камерон (сообщила М. С. Смит). S.24.2n'M24, действующая на смежных классах по М24. Вершины множества А— это 276 неупорядоченных пар точек системы S(5, 8, 24), вершины из множества Г — это 1771 специальное разбиение множества точек на 6 четверок. Пара смежна с набором из 6 четверок тогда и только тогда, когда она целиком лежит в одной четверке. Для заданного набора из 6 четверок имеется 240 других наборов, таких, что одна четверка из исходного набора имеет пересечение (3,1) с двумя четверками из другого набора.
и = 2048, £ = 276, /=1771, X = 44, ц = 36,;(:*
.Р] = — 41, р2 = 23.-_
(Дж. Конвей и М. Смит).1
Автор хотел бы поблагодарить рецензента за улучшение рукописи.
ЛИТЕРАТУРА
Ahrens R. W., Szekeres G. On a combinatorial generalization of 27 lines associated with a cubic surface.— J. Austral. Math. Soc., 1964, v. 10, p. 485—492.
Ashbacher M. The non existence of rank three permutation group of degree 3250 and subdegrees 57, 3192. — J. Algebra, 1971, v. 19, p. 538— 540.
Bannai E. Primitive extensions of rank 3 of the finite projective special linear groups PSL(n, q), q = 2f.— Osaka J. Math., 1972, v. 3, p. 75—94.
Bannai E. On rank 3 graphs with a multiply transitive constituent. — J. Math. Soc. Japan, 1972, v. 24, p. 252—254.
Benson С. T., Losey N. E. On a graph of Hoffman and Singleton. — J. Combin. Theory, 1971, v. 11, p. 67—79.
Biggs N. Finite Groups of Automorphisms. — London Math. Soc. Lecture Note Series. — Cambridge, 1971.
Bose R. C Strongly regular graphs, partial geometries and partially balanced designs. — Pacific J. Math., 1963, v. 13, p. 389—419.
Bose R. C., Chakravarti I. M. Hermitian varieties in a finite space PG(M, g2). —Can. J. Math., 1966, v. 18, p. 1161—1182.
Bose R. C„ Shimamoto T. Classification and analysis of partially balanced incomplete block designs with two associate classes. — J. Amer. Statist. Assoc., 1952, v. 47, p. 151—184.
Bose R. C., Shrikhande S. S. Graphs in which each pair of vertices is adjacent to the same number d of other vertices. — Studia Sci Math. Hungar., 1970, v. 5, p. 181—195.
Busenmaker F. C., Seidel J. J. Symmetric Hadamard matrices of order 36. — Techn. Univ. Eindhoven, 1970.
Chakravarti 1. M. Strongly regular graphs (two class association schemes) and block design from Hermitian varieties in a finite projective space PG(3, q2Y— Proc. 2nd Chapel Hill Conf, on Combinatorial Mathematics and its Applications. — Univ, of N. Carolina, Chapel Hill, N. C., 1970, p. 58—66.
Chakravarti I. M. Some properties and applications of Hermitian varieties in a finite projective space PG(M, q2^ in the construction of strongly regular graphs (two-class association schemes) and blocks-designs.—J. Combin. Theory, 1971, v. 11, p. 268—283.
Chang L. C. The uniqueness and nonuniqueness of triangular association chemes. — Sci. Record, 1949, v. 3, p. 604—613.
Chang L. C. Association schemes of partially balanced block designs with parameters u = 28, «[ = 12, re2 = 15 and pf| = 4, — Sci. Record, 1950, a, 4, p. 12-18.
Connor W. S. The uniqueness of the triangular association scheme.— Ann. Math. Statist., 1958, v. 29, p. 262—266.
Conway J. H. A group of order 8, 315, 553, 613, 086. 720, 000, — Bull. London Math. Soc., 1969, v. 1, p. 79—88.
Conway. H„ Wales D. The construction of the Rudvalis simple group J. order 145, 926, 144, 000.— J. Algebra. 1973, v. 27, p. 538—548.
Dai Zong-Duo, Feng Xu-Ning. Studies in finite geometries and the construction of incomplete block designs IV. Some «Anzahb theorems in orthogonal geometry over finite fields of characteristic ¥= 2. — Acta Math. Sinica, 1965, v. 15, p. 545—558.
Delsarte P., Goethals J M. Tri-weight codes and generalized Hadamard matrices. — Information and Control, 1969, v. 15, p. 196—206.
Dornhoff L. The rank of primitive solvable permutation gropus. — Math. Z„ 1969, v 109, p. 205—210.
Enomoto H. Strongly regular graphs and finite permutation groups of
rank 3. — J. Math. Kyoto Univ., 1971, v. 11(3), p. 381—397.
Feng Xu-Ning, Dai Zong-Duo. Studies in finite geometries and the construction of incomplete block designs V. Some «Anzahl» theorems in orthogonal geometries over finite fields of characteristic 2.— Acta Math. Si- nica, 1965, v. 15, p. 664—682.
Foulser D. A. Solvable primitive permutation groups of low rank. — Trans. Amer. Math. Soc., 1969, v 143, p. 1—54.
Gewirtz A. The uniqueness of G(2, 2, 10, 56). — Trans. New York Acad. Sci., 1969, v. 31,p . 656—675.
Goethals J. M„ Seidel J. J. Quasi-symmetric block designs. — Proc. Calgary Int. Conf. Calgary. Alta, 1969, p. Ill—116.
Goethals J. M„ Seidel J. J. Strongly regular graphs derived from combinatorial designs. — Can. J. Math., 1970, v. 22, p. 597—614.
Hall M. Automorphisms of Hadamard matrices. — SIAM J. Appl. Math., 1969, v. 17(6), p 1094—1101.
Hall M., Jr. Affine Generalized Quadrilaterals. — Studies in Pure Math.— New York: Academic Press, 1971, p. 113—116.
Hall M., Lane R., Wales D. Designs derived from permutation groups.— J. Combin Theory, 1970, v. 8, p. 12—22.
Hall M., Wales D. The simple group of order 604,800. — J. Algebra, 1968, v. 9, p. 417—450.
Hestenes M. D. Rank 3 graphs. — Proc. Conf. West Mich. Univ., Kalamazoo, Mich.. 1968. — Berlin. Springer, 1969, p. 191—192.■
Hestenes M. D., Higman D. G. Rank 3 groups and strongly regular graphs. — SIAM-Ans Proc. Computers in Algebra and Number Theory, 1971, v. IV, p. 141—159. [Имеется перевод: Кибернет. сб., 1986, вып. 23, с. 131—152.]
Higman D. G. Finite permutation groups of rank 3. — Math. Z., 1964, v. 86 p. 145—156.
Higman D. G. Primitive rank 3 groups with a prime subdegree. — Math. Z„ 1966, v. 91. p. 70—86.
Higman D. G. Intersection matrices for finite permutation groups. — J. Algebra, 1967. v. 6, p. 22—42.
Higman D G. On finite affine planes of rank 3. — Math. Z., 1968, v. 104, p. 147—149.
Higman D. G. A survey of some questions and results about rank 3 permutation groups. — Actes, Congres Int. Math. Rome, 1970, v. 1, p. 361— < 365.
Higman D. G. Characterization of families of rank 3 permutation groups by the subdegrees I, II. — Arch. Math., 1970, v. 21, p. 151—156; 353—361.
Higman D. G. Coherent configurations. — Rend. Sem. Mat. Univ. Padova, 1970, v. 44, p. 1—26.
Higman D. G. Partial geometries, generalized quadrangles and strongly regular graphs. — Att. del Conv. di Geom. Comb, e sue Appliq., Perugia, 1971, p. 263—294.
Higman D. G. Solvability of a class of rank 3 permutation groups.— Nagoya Math. J., 1971, v. 41, p. 89—96.
Higman D. G., MacLaughlin J. E. Rank 3 subgraphs of finite symplectic and unitary groups. — J. Reine Angew. Math., 1965, v. 218, p. 174—189.
Higman D. G., Sims S. A simple group of order 44,352,000. — Math. Z. 1968, v. 105, p. 110—113.
Higman G. On the simple group of D. G. Higman and С. C. Sims. — Illinois J. Math., 1969, v. 13, p. 74—80.
Hoffman A. J. On the uniqueness of the triangular association scheme.— Ann. Math. Statist., 1960, v. 31, p. 492—497.
Hoffman A. J., Ray-Chaudhuri D. K. On the line graph of a finite affine plane, — Can. J. Math., 1965, v. 17, p. 687—694.
Hoffman A. J., Singleton R. R. On Moore graphs with diameter 2 and 3.— IBM J. Res. Develop., 1960, v. 4, p. 497—504.
Hubaut X. L. Designs et graphes de Schlafli.— Acid. Roy. Belg. Bull. Cl. Sci., 1972, v. 58, p. 622—624.
Iwasaki S. A note on primitive extension of rank 3 of alternating groups.— J. Cac. Sci. Hokkaido Univ, Ser. I, 1970, v. 21, p. 125—128.
Kallaher M. J. On finite affine planes of rank 3. — J. Algebra, 1969, v. 3, p. 544—553.
Lemmens P. W. H., Seidel J. J. Equiangular Lines. — J. Algebra, 1973, v. 24, p. 494—512.
Lieber R. A. Finite affine planes of rank 3 are translation planes. — Math. Z., 1970, v. 116, p. 89—93.
Mann H. B. Addition Theorems. — New York: Interscience, 1965.
MacLaughlin J. A simple group of order 898,128,000. — In: Theory of Finite Groups. — New York: Benjamin, 1969, p. 109—111.
Mesner D. M. A new family of partially balanced incomplete block designs with some Latin square design properties. — Ann. Math. Statist, 1967, v. 38, p. 571—581.
Montague S. On rank 3 groups with a multiply transitive constituent. — J. Algebra, 1970, v. 14, p. 506—522.
Primrose E. J. F. Quadratics in finite geometries. — Proc. Cambridge Philos. Soc., 1951, v. 47, p. 294—304.
Ray-Chaudhuri D. K. Characterization of line graphs. — J. Combin. Theory, 1967,v. 3, p. 201—214.
Ray-Chaudhuri D. K. On the application of the geometry of quadratics to the construction of partially balanced incomplete block design and error correcting codes. — Inst. Stat. Mimeo. Ser. no. 230, Univ, of N. Carolina, 1959.
Ray-Chaudhuri D. K. Some results on quadratics in finite geometry.— Can. J. Math., 1962, v. 14, p. 120—130.
Rudvalis А. (и, к, X)-graphs and polarities of (и, к, X) designs. — Math. Z„ 1971, v. 120, p. 224—230.
Shult E. The graph extension theorem. — Proc. Amer. Math. Soc., 1972, v. 33, p. 278—284.
Shult E. Supplement to «The graph extension theorem.». — Univ, of Florida, Gainesville, Fla. (mimeographied notes), 1972.
Seidel J. J. Strongly regular graphs of Ls-type and of triangular type. — Indag. Math., 1967, v. 29, p. 188—196.
Seidel J. J. Strongly regular graphs with (—1, 1, 0) adjacency matrix having eigenvalue 3 —Linear Algebra and AppL, 1968, v. 1, p. 281—298.
Seidel J. J. Strongly regular graphs. — Proc. 3rd Waterloo Conf, on Combinatorics.— New York: Academic Press. 1969, p. 185—198.
Seitz G. Small rank permutation representations of finite Chevalley groups. — J. Algebra, 1974, v. 28, p. 508—517.
Shrikhande S. S. The uniqueness of the L2 association scheme. — Ann. Math. Statist., 1959, v. 30, p. 781—798.
Shrikhande S. S., Bath V. N. Non isomorphic solution of pseudo (3, 5, 2) and pseudo (3, 6.3) graphs. — Ann. New York Acad. Sci., 1970, v. 175, p. 331—350.
Sims С. C. Graphs and finite permutation groups. — Math. Z., 1967, v. 95, p. 76—86.
Sims С. C. On the isomorphism of two groups of order 44,352,000, — In: Theory of Finite Groups. — New York: Benjamin, 1969.
Sims С. C. On graphs with rank 3 automorphism groups (не опубликовано).
Smith M. On a plass of rank three permutation groups. — J. Algebra,1975, v. 33, p. 22—42.
Suzuki М. A simple group of order 448, 345, 497, 600. — In: Theory of Finite Groups. — New York: Benjamin, 1969, p. 113—119.
Taylor D. E. Some topics in the theory of finite groups. — Ph. D. Thesis, Oxford, 1971.
Tits J. Le groupe de Janko d’ordre 604, 800. — In: Theory of Finite Groups. — New York: Benjamin, 1969, p. 91—96.
Tits J. Groupes finis sporadiques. — Sem. Bourbaki No. 375, 1970.
Tsuzuku T. On primitive extensions of rank 3 of symmetric groups. — Nagoya Math. J., 1966, v. 27, p. 171—178.
van Lint J. H., Seidel J. J. Equilateral point sets in elliptic geometry. — Indag. Math., 1966, v. 28, p. 335—348.
Wales D. Uniqueness of the graph of a rank 3 group. — Proc. J. Math., 1969, v. 30, p. 271—276.
Wallis W. D. Some non isomorphic graphs. — J. Comb. Th.. 1970, v. 8, p. 448—449.
Wallis W. D. A non-existence theorem for (v, 6, X)-graphs. — J. Aust. Math. Soc„ 1970, v. 11, p. 381—383.
Wallis W. D. Construction of strongly regular graphs using affine designs.— Null. Austr. Math. Soc., 1971, v. 4, p. 41—49.
Wan Zhe-Xian. Studies in finite geometries and the construction of incomplete block designs, I, II. Some «Anzahl» theorems in symplectic geometry over finite fields. — Acta. Math. Sin., 1965, v. 15, p. 354—361; 362—371.
Wan Zhe-Xian. Yang Ben-Fu. Studies in finite geometries and the construction of incomplete block designs, III. Some «Anzahl» theorems in unitary geometry over finite fields and their applications. — Acta. Math. Sin., 1965, v. 15, p. 533—544.
Yang Ben-Fu. Studies in finite geometries and the construction of incomplete block designs, VII. An association scheme with many associate classes constructed from maximal completely isotropic subspaces in symplectic geometry over finite fields.—Acta. Math. Sin., 1965, v. 15, p. 812— 825.
Yang Ben-Fu. Studies in finite geometry and the construction of incomplete block designs, VIII. An association scheme with many associate classes constructed from maximal completely isotropic subspaces in unitary geometry over finite fields, — Acta. Math, Sin., 1965, v, 15, p. 825— 841.. - .1- ......;
V■. it- ' jM ц; .., ।<>ь- л' .:.; >.-.
Сильно регулярные графыи частичные геометрии!)
А. Е. Браувер, И. X. ван Линт
Приводится обзор недавних результатов, касающихся построения, единственности и несуществования сильно регулярных графов и частичных геометрий. В основном мы ограничиваемся изложением результатов, не нашедших отражения в хорошо известных ранее вышедших обзорах.
.1. ВВЕДЕНИЕ
С тех пор как Боузом [4] были введены сильно регулярные графы и частичные геометрии, появилось несколько обзоров по теории таких графов и их построениям. По теории сильно регулярных графов самый последний обзор—это обзор Сейдела [631. Относительно построений обычно ссылаются на обзор Юбо [45]. Большая часть теории содержится также в статье Камерона [10] и книге Камерона и ван Линта [14]. Обзор по частичным геометриям, отражающий состояние дел на 1976 г., был написан Тасом [70]. Основная цель предлагаемой статьи состоит в кратком описании того, что было сделано после выхода этих обзоров.
Мы предполагаем, что читатель знаком с теорией сильно регулярных графов и более ранними обзорами, однако в целях достижения полноты приведем в этом введении несколько определений и теорем. Подробности читатель может найти в литературе.
Пусть X — конечное множество. Схема отношений с d классами есть пара (X, {/?о, /?ь/?<}), такая, что
{/?0, Ri, ..., Rd)— разбиение множества XXX,
Яп = {(*, х^хеХ),
/?, = /?[ (г = 0, 1d\
(iv) существуют числа р^, (называемые числами пересечений схемы), такие, что для любой пары (х, y)^Rk справедливо
равенство p^ = |{z|(x, z) е Rt и (z, у) s /?zj |. Назовем ut:=p°it валентностью Rt и положим и:=\Х\=^,п1.
Сильно регулярный граф — это схема отношений с двумя классами. Точки из X суть вершины графа, а {х, у} —его ребро, если (х, у)^ RY. Мы будем использовать обозначение
srg (у, k, X, ц), где и = | Л" |, к = п1, ^ = р[Р ц = р|г
Граф, дополнительный к srg (у, к, X, ц),— это
srg (у, / := у — к — 1, у — 2k + ц — 2, и — 2k + X).
(О, 1)-матрица смежности srg определяется следующим образом: А (х, у) := 1, если {х, у} — ребро, и Л (х, у) := 0 в противном случае. По определению имеем
AJ = kJ, Л2 + (ц — X) Л + (ц — k)I = nJ.
Большинство необходимых условий существования сильна регулярных графов было найдено при изучении собственных значений матрицы А и свойств трехмерной алгебры А линейных комбинаций матриц /, / и Л (алгебра Боуза— Меснера рассматриваемого srg).
Пусть Д,(0^/^2)—базис алгебры А, состоящий из минимальных идемпотентов. Рассматриваемая алгебра замкнута относительно покомпонентного умножения (обозначаемого через о). Определим числа у^ следующим образом:.
2
.E.aEj = u-v ^q^.
Отметим, что Дельсарт [26] ввел понятие двойственности для схем отношений (а следовательно, и для srg). Достаточным условием существования двойственного srg является наличие регулярной абелевой группы автоморфизмов. (Если srg имеет у вершин, валентности к и I и кратности f и g, то двойственный граф, если он существует, имеет у вершин, валентности f и g и кратности к и /.) Некоторые из упомянутых ниже сильна регулярных графов были найдены с использованием двойственности.;- >
Необходимые условия•’
Выпишем некоторые необходимые условия существования сильно регулярного графа srg(у, к, X, ц). Мы исключаем из рассмотрения тривиальные графы (несвязные графы и их дополнения), т. е. мы предполагаем, что 0<p<fe<y— 1. Из рассмотрения параметров дополнительного графа мы видим, что для существования srg необходимо выполнение неравенства
и — 2/г + ц — 2 ^ 0. Это условие исключает, например, параметры (у, кД, р) = (273, 256, 240, 240).
Условие целочисленности '
Матрица А обладает собственным значением к с кратностью 1 и еще двумя собственными значениями г, s{r> s), удовлетворяющими уравнению х2 + (ц — Х)х + (ц — k) = 0. Кратность этих собственных значений равна
f _ ^-ms^hh^-s), 2±±2HizLZl " ' ' (k + rs) (r — s) ® (k + rs) (r — s) ’ '
и ясно, что они должны быть целыми. В действительности если / Ф g, то г и s должны быть целыми. Другую ситуацию (т. е. когда f — g) называют половинным случаем.
Частичным обращением сформулированного выше условия на собственные значения является следующая полезная теорема.
Теорема. Регулярный связный граф является сильно регулярным в случае, если его матрица смежности имеет три собственных значения.
Мы будем говорить, что набор параметров (у, к, X, ц) реализуем, если для него выполнены сформулированные выше условия.
ЧАСТИЧНЫЕ ГЕОМЕТРИИ
Частичная геометрия pg(K, R,T)—это частичное линейное пространство (X, L) с постоянным размером прямой, равным К (т. е. |£| = К для AeL), причем каждая точка пространства лежит на R прямых и для заданных прямой L и точки х ^ L имеется ровно Т прямых, проходящих через х, которые пересекают прямую L. (Тас [70] использует обозначения s + 1 = К, t + 1 = R, а. = Т.') Если ,ге А, у е L, то мы пишем х ~ у и говорим, что эти точки коллинеарны. Точечный граф частичной геометрии имеет точки в качестве вершин, и пара {х, у} является ребром, если х ~ у. Точечный граф геометрии pg(K, R, Т) является сильно регулярным графом (быть может тривиальным) с параметрами
y = K(l + ^-^(Я-В у k = R(K-V),
X==^-2H(.R-^(T-1), p = RT, r = K-\-T, s=-R. Отсюда следует, что из необходимых условий существования srg следуют необходимые условия существования pg.
Если srg обладает такими параметрами, что он мог бы быть точечным графом некоторой pg, то такой srg называется псевдогеометрическим; если он действительно является точечным графом некоторой pg, то говорят, что граф геометрический. Мы увидим, что псевдогеометрпческий srg не обязательно является геометрическим. Боуз [4] доказал следующую теорему.
Теорема. Пусть srg псевдогеометрический и соответствует геометрии pg (Л, R, Ту Если при этом
2К. > R (R — V)-}-Т (R + V) (R2 — 2R-}-2},
то граф геометрический. (В действительности отсюда следует, что либо Т = R, либо Т = R — 1.)
Частичные геометрии можно разделить на четыре класса:
Pg с Т = К (двойственно Т = R) является 2-(у, К, 1У схемой (двойственной к ней схемой}.
Pg с Т = R — 1 (двойственно Т = К — 1) является сетью (трансверсальной схемой}.
Pg с Т = 1 называется обобщенным четырехугольником.
Если 1 < Т < min{/( — 1, R — 1}, то pg называется собственной.
Нас интересуют лишь обобщенные четырехугольники (обозначаемые через pg (Л, R, 1) = GQ(/<■ — 1, R — 1)) и собственные частичные геометрии.
Обобщенные четырехугольники GQ(s, t) известны для параметров (s, /), равных соответственно (q, 1), (q, q}, (q,q2}, (q2,q3}, (q—1, ^4-1), и для двойственных наборов (q — степень некоторого простого числа). Собственные pg, описанные Тасом [70], имеют параметры
K = 2h — 2т + \, R = 2h— 2h~m +1, П
.<•Г = (2m — 1) (2h-m — 1), 0<m<h,‘.
соответственноJ
K = 2h, R = 2k+m— 2k+ 2т, Т = 2т — 1.
Несколько новых построений описано в разд. 11.
В приведенной ниже таблице выписаны параметры возможных частичных геометрий с у < 100 (за исключением схем, сетей и двойственных к ним); из пары двойственных наборов параметров мы приводим тот, для которого к ^ R.
О
fe
X
ц
К
К
т
15
6
1
3
3
3
1
GQ(2, 2), граф 7(6)*
27
10
1
5
3
5
1
GQ(2, 4), граф Шлэфли
28
15
6
10
4
5
2
pg не существует, см. разд. НА
40
12
2
4
4
4
1
GQ(3, 3)
45
28
15
21
5
7
3
pg известна, см. разд. 11В
64
18
2
6
4
6
1
GQ(3, 5)
66
45
28
36
6
9
4
pg не существует, см. разд. 11В
70
42
23
28
7
7
4
pg неизвестна, но известно несколько графов
75
32
10
16
5
8
2
Граф неизвестен, см. разд. ПН
76
21
2
7
4
7
1
GQ(3, 6) не существует, см. разд. 11С
81
30
9
12
6
6
2
Спорадическая, см разд. 11D
85
20
3
5
5
5
1
GQ(4. 4)
91
66
45
55
7
11
5
pg неизвестна, граф 7(14)*, см. разд. ИВ
95
40
12
20
5
10
2
Граф неизвестен
96
35
10
14
6
7
2
Граф неизвестен
96
50
22
30
6
10
3
Граф неизвестен
3. РЕЗУЛЬТАТЫ ОТНОСИТЕЛЬНО НЕСУЩЕСТВОВАНИЯ
Следующие шесть необходимых условий существования исключают несколько возможных наборов параметров. В каждом случае мы приводим набор, который исключается этим условием, но не исключается никаким другим из приведенных условий. Это указывает на независимость всех шести условий.
Половинный случай (конференц-матрицы)
Если f = g, то мы имеем и = 4ц + 1, к = 2ц, Х = ц—1. Если существует такой srg, то имеется конференц-матрица С порядка и + 1 (см. разд. 7В). Известно (см. [1, 51]), что такая матрица С существует лишь в случае, если и—сумма двух квадратов. Это условие исключает, например, набор (и, к, X, ц) = (21, 10, 4, 5).
Условия Крейна
Нетрудно показать, что все числа q^ должны быть неотрицательными (хотя не обязательно целыми). Путем непосредственного вычисления этих чисел мы получаем четыре так на-
зываемых условия Крейна [50, 60, 39, 26]). Два из этих условий всегда выполнены, а два нетривиальных ограничения следующие:
Крейн 1: ^ = ^-(1 +-^- + -Цг^)>0, Крейн 2: ^2 = ^(1 + -^~ + ^1^)^0.
Эти условия могут быть записаны в следующем виде:
(r+l)(fe + r + 2rS)<(fe + r)(s+l)2,(S + 1)(А ч- S ч- 2rs)^ (fe + s)(r + I)2.
Они исключают, например, (у, к, X, ц) = (184, 48, 2, 16).
Абсолютная граница
Подходящая линейная комбинация матриц 1, А и J является матрицей Грама скалярных произведений набора векторов с двумя типами попарных расстояний, лежащих на сфере в RL Поскольку такое множество может содержать самое большее 'АШ + З) векторов (см. [49, 27, 63]), мы получаем у^ '/гШ + З) и аналогично и ^ */?£(£ +3). Это исключает, например, (у, к, X, ц) = (50, 21, 4, 12).
Эту границу усилил следующим образом Ноймайер [58]: у^*^(/+1) при Ч\х N= 0. (Графы, для которых <А = 0или t^ = 0, называются графами Смит.) Эта граница исключает, например, (у, к, X, ц) = (841, 200, 87, 35).
Граница, возникающая из рассмотрения лап
Боуз [4] первым изучал связь между сильно регулярными графами и частичными геометриями. При этом он вывел неравенство, которое мы упоминали в разд. 2. Эта идея была развита Ноймайером [57], а затем после улучшения, сделанного Браувером, приняла следующий вид:
Если р s2, p^s(s+l), то 2(г + 1) ^s(s + 1)(ц + 1).
Идея состоит в том, чтобы показать, что если г достаточно велико, то srg — точечный граф некоторой частичной геометрии, а затем применить абсолютную границу и условия Крейна к графу прямых этой частичной геометрии. Условие исключает, например, (у, к, X, ц) = (2058, 242, 91, 20).
Случай ц = 1 '
Как было замечено Боузом и Доулингом [5], если ц = 1, то множество соседей каждой точки является объединением (X + 1)-клик. Следовательно, (Х + 1)|А. Это исключает, например, набор (и, к, X, ц) = (726, 29, 4, I). Общее число (X + 2)-клик равно vk/(X -(- 1) (X + 2), что должно быть целым. Это исключает, например, (и, к, X, ц) = (209, 16, 3, 1).
Случай ц = 2 .
Браувер и Ноймайер [8] заметили, что при ц = 2 соседи каждой точки обладают структурой частичного линейного пространства с обхватом по меньшей мере 5. Отсюда следует, что если А < */гХ(Х + 3), то (Х-(-1)|А. Это исключает, например, (и, к, X, ц) = (736, 42, 8, 2). Удается получить некоторую дополнительную информацию, которая также исключает набор (и, к, X, р.) = (1944, 67, 10, 2). Кроме приведенных выше шести необходимых условий мы упомянем еще несколько результатов.
Ограничение на ц
Комбинируя различные ограничения, Ноймайер [57] доказал, что ц ^ $3(2$ + 3), причем равенство достигается тогда и только тогда, когда o = */2f(f + 3). Это очень удобное ограничение, но, поскольку оно следует из упомянутых выше ограничений, с его помощью нельзя получить новых результатов о несуществовании.
Спорадические результаты несуществования
Для двух указанных ниже графов несуществование было доказано с помощью некоторых специальных рассуждений. Первый из них имеет параметры (и, к, X, ц) = (49, 16, 3, 6) (см. [9]), и в этом случае частично использовались результаты вычисления на ЭВМ. Второй набор —это (и, к, X, ц) — (57, 14, 1,4) (см. [73]). Доказательство основано на подсчете определенных подграфов. Более конкретно, показано, что как предположение о существовании 15-коклик в графе, так и обратное предположение приводят к противоречию. Эти два набора параметров были минимальными, для которых вопрос о существовании графа не мог быть решен с помощью других условий. В настоящее время первым открытым случаем является набор параметров (и, к, X, ц) = (65, 32, 15, 16), отвечающий конференц-матрице порядка 66. .
ОГРАНИЧЕНИЕ НА ПОДМНОЖЕСТВА
Хотя нас в первую очередь интересуют построения, нам представится возможность воспользоваться результатами более теоретического характера. Прежде всего мы имеем так называемые границы Хоффмана на размер клик и коклик в графе.
Теорема 1. Пусть С — клика в сильно регулярном графе с параметрами (и, k, X, р, г, $). Тогда
\C\^i+k/(-s),''
причем равенство достигается тогда и только тогда, когда каждая вершина вне С смежна ровно с р/(—s) вершинами из С.
Следствие. Предполагаем, что рассматривается псевдогео- метрический граф с параметрами (K,R,T). Если мы найдем клики размера К(= I + А/(—$)), такие, что каждое ребро лежит ровно в одной такой клике, то граф геометрический (иГ=ц/Н)).•
Теорема 2. Пусть С — коклика в сильно регулярном графе с параметрами (и, к, X, ц, г, s). Тогда
IС1 ^ у (—$)/(& —s), причем равенство достигается тогда и только тогда, когда каждая вершина вне С смежна ровно с —$ вершинами С.
В некоторых случаях граница Цветковича оказывается более ТОЧНОЙ.■
Теорема 3. Размер каждой коклики С в произвольном графе G не может превышать числа неотрицательных (неположительных) собственных значений G.
Теорема 4 [36]. Предположим, что для коклики С в сильно регулярном графе G достигаются обе приведенные выше границы, т. е.■ ;--'Г;'
\c\=g=v(-s)Kk-s).'.
Тогда подграф в G, порожденный дополнением к С, сильно регулярный.
Вторая группа результатов относится к случаям достижения равенства в условии абсолютной границы и в условии Крейна, Приведем лишь одну теорему.
Теорема 5. Пусть G— сильно регулярный граф, для которого <7^ = 0 или ^ — Q, Тогда для каждой вершины х подграф соседей Г(х) k=ky\y ~ }) и подграф несоседей \{х} {={у\у =/= х, М*^ являются сильно регулярными графами.
РЕЗУЛЬТАТЫ, КАСАЮЩИЕСЯ ЕДИНСТВЕННОСТИ ')
Треугольные графы
Треугольными графами Т(п) называют графы, вершины которых составляют пары элементов из множества {1, 2, ..., п}; две вершины смежны, если они имеют общий элемент. Эти графы имеют следующие параметры: у = ("), & = 2(n —2), Х = = п — 2, р = 4. Графы с такими параметрами единственны, если п #= 8. При п = 8 кроме Т (8) существуют еще ровно 3 графа с теми же параметрами — так называемые графы Чанга. Все четыре графа переключательно эквивалентны (см. [16, 17, 22, 42,63]).
Решетчатые графы
Решетчатый граф Е(п) имеет в качестве вершин точки (х, t/)e{l, 2пу, две вершины соединены ребром, если совпадают первая или вторая координаты. Такие графы имеют параметры у = п2, k = 2(п — 1), X = п — 2, р = 2. Если и #= 4, то графы с такими параметрами единственны. Для п = 4 кроме £(4) существует еще один граф — так называемый граф Шрик- ханде. Эти два графа переключательно эквивалентны (см. [65]).
Графы с малым числом вершин ..
Все графы с числом вершин у < 25 однозначно определяются своими параметрами, за исключением набора параметров (16,6,2,2), упомянутых выше. Кроме треугольных и решетчатых графов (и их дополнений) это множество включает графы Пэли порядка 5, 9, 13 и 17, а также граф Клебша с параметрами (у, к, X, р) = (16, 5, 0, 2).,“
Спорадические графы
Для следующих наборов параметров известно, что существует единственный граф.
fe
А
ц
Г
S
f
g
Имя
Единственность доказали
5
0
2
1
—3
10
5
Граф Клебша
Сейдел [61]
Клэтуорси [18]
10
1
5
1
-5
20
6
Граф Шлэфли (GQ(2, 4))
Сейдел [611'
7
0
1
2
—3
28
21
ГрафХоффмана —
Синглтона
Хоффман и Синглтон [43]
10
0
2
2
—4
35
20
Граф Симса — Гевирт- иа
Гевиртц [31, 32].
16
0
4
2
-6
55
21
Граф иесоседей в HS (S(3, 6, 22))
Браувер [6]
22
0
6
2
-8
77
22
Граф Хигмана — Симса (HS)
Гевирти [32]
30
2
10
2
-10
90
21
Граф соседей McL (GQ (3, 9))
Камерон, Гёталс и Сейдел [11]
56
10
24
2
-16
140
21
Граф несоседей McL
Камерон, Гёталс и Сейдел [И]
112
30
56
2
—28
252
22
Граф Маклафлина McL
Гёталс и Сейдел [34]
Геометрические графы
Камерон, Гёталс и Сейдел [11] показали, что псевдогеомет- рический граф, соответствующий GQ(<y, </2), всегда геометрический. Это позволяет обосновывать единственность графа в случае, когда известно, что обобщенный четырехугольник единственный.
Регулярные два-графы
Два-граф есть "набор й троек из множества X, такой, что каждое 4-подмножество из X содержит четное число троек из й. Относительно тесной связи между srg и два-графами, а также теории переключения см. статью Сейдела [62]. Регулярные два- графы на 16, 28 и 276 вершинах единственны [69, 34], и все они обладают транзитивной группой автоморфизмов. Изолируя точку путем переключения, а затем удаляя ее, мы получаем, что графы Шлэфли и Маклафлина единственны. Это также показывает, что все графы с параметрами (уДД. р) = (16,6,2,2), (28,12,6,4), (276,135,78,54) переключательно эквивалентны. Для у = 16 см. разд. 5В, для у =28 см. разд. 5А, для у = 276 известен единственный граф.
СИЛЬНО РЕГУЛЯРНЫЕ ГРАФЫ, НАЙДЕННЫЕ ПОСРЕДСТВОМ ■ СКЛЕЙКИ КЛАССОВ В СХЕМАХ ОТНОШЕНИЙ )
Схема Джонсона
В схеме Джонсона (") скажем, что две тройки смежны, если они имеют ровно одну общую точку. Если п = 7 или п = = 10, отношение смежности определяет srg. (При /г = 7 это граф прямых пространства PG(3, 2), а для п = 10 граф имеет параметры и = 120, к = 63, X = 30, ц = 36.)
В схеме Джонсона (") скажем, что две четверки смежны, если они имеют либо три общие точки, либо ни одной общей точки. При /1=9 и п = 11 это определяет srg. Параметры графов следующие: и = 126, к = 25, X = 8, ц = 4 и и = 330, к = = 63, X = 24, ц = 9 соответственно. В схеме Джонсона ( *4) назовем две четверки смежными, если они имеют либо две общие точки, либо ни одной общей точки. Это приводит к srg(495, 238, 109, 119). Эти графы были найдены Мэтоном [55а] 2).)
Схемы Хэмминга
В схеме Хэмминга 4" назовем два вектора смежными, если расстояние между ними четно. Это приводит к srg с параметрами у = 22п, к = 22"-1 + е2л—', X = ц = 22п~2 + 82"-*, где е=(—I)"-1, Если п четно, этот граф имеет те же параметры, что граф прямых ортогонального массива (или трансверсальной схемы) ОА(2Л, 2Л~1), однако при п > 2 эти графы неизоморфны. В любом случае они имеют параметры графов в серии Юбо С12.
В схеме Хэмминга 3” скажем, что два различных вектора находятся в i-м отношении, если расстояние между ними сравнимо с i по модулю 3 (t = 1, 2, 3). Это приводит к схеме отношений с 3-классами. Если п четно, то склейка любых двух из этих классов приводит к srg. Параметры следующие: пусть п = 2/п, тогда у = 32т.
Вершины смежны в точности тогда, когда расстояние сравнимо с нулем по модулю 3 (но не равно нулю):
^ = 32m-l + (-If- 2- З"1-1 — 1;„
X = 32m~2 + (—l)m • 2 • 3m-1 — 2;-
^ = 32^-2+ (_1)m. з"-1.
Вершины смежны в точности тогда, когда расстояние сравнимо с 1 по модулю 3 (соответственно вершины смежны в точности тогда, когда расстояние сравнимо с 2 по модулю 3):
,^ = 32"*-1-(-!)"*. 3m~l;
'X = 32m"2;‘
pi = 4 • 32m-2 + (—l)m • 3m-1 — 2,
(смг [46]).
Доказательство этого факта, более простое, чем приведенное в [46], может быть получено с использованием того, что собственные значения схемы Хэмминга вычисляются через многочлены Кравчука. Из хорошо известных соотношений для этих многочленов следует, что указанная склейка приводит к ситуации, когда имеются лишь три различных собственных значения, и поэтому может быть применена теорема из разд. 1. (Вес вектора, взятый по модулю 3, равен значению квадратичной формы Q(x)= У, Хь Отсюда сразу видно, что два графа в случае (Ь) изоморфны и что в случае (а) граф изоморфен графу из серии С|2 в каталоге Юбо1).)
Циклотомическая схема-
Пусть q = р^-1^, тогда р— простое число, t—четное число, е — простое число, большее 2, причем р примитивно по модулю е. Скажем, что два элемента х и у из поля 0% находятся в /\м отношении (0</^е), если х — у = ael+I для некоторого I, где а — фиксированный примитивный элемент поля F?. Тогда каждое отношение в этой схеме отношений является сильно регулярным графом (более того, графом ранга 3) типа отрицательных латинских квадратов, а объединение и классов является srg с параметрами
v = q, к = и,‘
■ К = (и2? — Зме + и2 — (е — и) (е — 2и) 91/2)/е2, .ц = (и2? — ие + и2 + и (е — 2и) q^e2,
r = (—I -ф qxi^u[e, s=r — q'f2,-
f = кА — О (e — u^e, g = k '
(cm. [52]).
Более общо, можно выбрать число q, являющееся степенью некоторого простого числа, делитель е числа q — I и сказать, что два элемента х и у из (Р9 находятся в /-м отношении (О < / ^ е), если х — у = aei+1 для некоторого I. В некоторых случаях объединение классов приводит к srg. Это имеет место в следующих примерах:
9 = 81, е = 8, у = 81, /? = 30, Л = 9, ц=12 [52,56],
графов), получаемых склеиванием классов в схемах Хэмминга 3" и 4", проведено В. А. Устименко-Бакумовским в статье, указанной в сноске на стр. 186, а также в статьях: Устименко-Бакумовский В. А. Сильно регулярные графы, инвариантные относительно групп [®п)@т при п ^ 3.— В сб.: Вычисления в алгебре и комбинаторике. — Киев: ИК АН УССР, 1978, с. 101 — 113 и Устименко-Бакумовский В. А. О группах автоморфизмов сильно регулярных графов, инвариантных относительно экспоненцироваиия симметрических групп. — В сб.: Вычисления в алгебре, теории чисел и комбинаторике. — Киев: ИК АН УССР, 1980, с. 59—72. Им получены все серии сильно регулярных графов, представленные в этом разделе, и доказано, что нельзя получить никаких схем путем склеивания классов в схеме Хэмминга п" при п ^ 5.
В диссертации В. А. Зайченко (Алгоритмический подход к синтезу комбинаторных объектов и вычислениям в группах подстановок иа основе метода инвариантных отношений. — Канд. дисс. М., /МФТИ, 1981) найдены все схемы, получаемые склеиванием классов в схемах Хэмминга 2т при m ^ 16. На основе этих результатов В. А. Зайченко и В. А. Устименко описали пять бесконечных серий таких схем. Наконец, М. Е. Музычук дал полное описание всех схем (в том числе srg), получаемых склеиванием классов в схемах Хэмминга 2т (Музычук М. Е. Подсхемы схемы Хэмминга. — В сб.: Исследования по алгебраической теории комбинаторных объектов. — М.: ВНИИСИ, 1985, с. 49—65.1. — Прим, персе.
q = 243, е = 11, и =243, к = 22, к = 1, ц = 2 [3],
у = 243, к = 110, X = 37, ц = 60 [2] (граф — двойственный к предыдущему),
^ = 256, е = 15, у = 256, к = 68, X = 12, р = 20 (Браувер, неопубликовано).; ■
Другие примеры
Пусть «/ — степень двойки. Группа PSL(2, ^) действует как группа ранга x/iq на множестве из 'Д^^ —1) прямых вне гиперовала в PG(2, </). Соответствующая схема отношений имеет валентности no=l, nt = q + 1 (1 ^ i-^ ‘Л^ ~ О- Под действием большей группы PSL(2, q) некоторые из классов склеиваются, и Холлман [44] заметил, что при q = 16 получается схема отношений с 3-классами и с валентностями 1, 17, 34, 68, причем склейка отношений Ri и R2 приводит к srg с параметрами у = 120, к = 51, X = 18, ц = 24. (Очень похоже, что этот граф изоморфен члену, отвечающему ^ = 4 в серии, построенной Метцом и рассмотренной в разд. 7 А ).)-
Группа РГЦ2, 8) действует 2-транзитивно на 28 точках унитали Ри с параметрами 5(2,4,28), При этом PSL(2,8) действует как группа ранга 4 и определяет схему отношений с параметрами у = 28, «1 = П2 = «з = 9,.
/ 010Ох
1 12421
0423’ Р^ = Р‘^.^ Для с {1.2,3}.
\0234/
Здесь сложение по модулю 3. Униталь — это набор 4-подмно- жеётв с собственной раскраской, т. е. в каждый цвет окрашены два ребра, не имеющие общих вершин. Вторая схема отношений с теми же параметрами может быть получена из предыдущей путем переключения относительно блока в унитали; ее группа автоморфизмов — элементарная абелева группа порядка 8. Это единственные схемы с такими параметрами [44]. Собственные
значения у этой схемы следующие:
1 9 91 Х| Х21 Хд ^11 Х2 Ху1 9 91 Х| Х21 Хд ^11 Х2 Ху
1 9 9
1 Х| Х2
1 Хд ^1
1 Х2 Ху
1 9 9
1 Х| Х2
1 Хд ^1
1 Х2 Ху
где Ki — корни уравнения X3 + X2 — 9Х — 1 = 0 [53].
Рассмотрим теперь прямое произведение этих двух схем. Получим схему отношений с 15-классами. При этом отношения задаются правилом
Rq = {(хх', у/) |(х, у) е Rt и (х', у') е R^ '
и имеют в качестве собственных значений числа ц<, р/, где щ (соответственно р/) пробегают множество собственных значений отношения Ri (соответственно Ri'). Можно проверить, что Rii U ^?22 U Rm имеет собственные значения
3n2 = 243, (X. + Х9 + X,) = — 9, Х2 + Х2 + Х2=19 и
Х1Х2 4“ Х,Х3 4“ Х2Х3 == — 9,
т. е. мы нашли сильно регулярный граф.
Аналогично /?ц U R22II Кзз U #ю11 R20 U Кзо обладает собственными значениями 270, 18 и — 10, а /?н (J R22 U Rio U Rio U Rzo И U/?3o U Roi U Ro2 U Roa имеет сообственные значения 297, 17 и — 11.
Таким образом, мы нашли сильно регулярные графы со следующими параметрами:
У
X
И
г
S
f
g
784
243
82
72
19
-9
243
540
784
270
98
90
18
-10
270
513
784
297
116
НО
17
-11
297
486
Это построение провел Мэтон (частное сообщение), н оно применимо к более общему классу псевдоциклических схем отношений с 3-классами. Получаемые графы имеют параметры графов латинских квадратов; причем параметры новые лишь в случае, когда v не является степенью простого числа.
Положим ^*, = (1 t — r — 8—1 sr) и п.; = 1. Тогда каждая псевдоциклическая схема отношений SPC(r, s, /) на и = 3/ 4- 1 точках порождает три сильно регулярных графа на у1 точках с параметрами k=3t2A-3it, r = 2t-V\ — l, s =—t — i (i = = 0, 1, 2). Холлманн построил SPC(50, 58, 165) на 496 точках
(см. [44]), поэтому мы получаем новые графы на 246 016 вершинах).
Симметрическая группа S9 действует как группа ранга 5 на 280 разбиениях девятиэлементного множества на три тройки (валентности 1, 27, 36, 54 и 162). Граф (X, R^ является сильно регулярным с параметрами (280, 162, 96, 90) [55b] ).
СИЛЬНО РЕГУЛЯРНЫЕ ГРАФЫ, НАЙДЕННЫЕ ИСХОДЯ - - ИЗ КЛАССИЧЕСКИХ ГРУПП И ГЕОМЕТРИЙ
Конструкция Метца
Пусть Q— невырожденная эллиптическая квадрика в PG(5, q). Пусть р— точка, а П — гиперплоскость, такие, что р не лежит ни на Q, ни на П. Пусть V : = {х е П|рх пересекает Q в двух точках}, L : = {/]/ — прямая в П, такая, что плоскость <_р, Г) пересекается с Q по двум пересекающимся прямым}, I :={(х, /) |х е IY Тогда (V, L,/)—получастичная геометрия с параметрами $ + I = q, /+1 = ^24-1, а = 2, p = 2q(q — 1). (Определение получастичной геометрии см. в [25].) Точечный граф этой геометрии является сильно регулярным с параметрами
и = кч^^-\у fc = (<7-D(<72+l), X = ^q- 1)^ + 2),
ц = 2^(^—I), r = q — l, s = — (q — I)2,
,/ = 2_(^_2)(<?+1)(^2 4-1), g = l <7(^+1).
Приведенное выше описание принадлежит, по-видимому, Хиршфелду и Тасу; Метц предложил следующее описание (от
носительно обсуждения изоморфизма между этими описаниями см, статью [24]). Пусть Q— невырожденная квадрика в PG(4, q). Пусть V— множество гиперплоскостей, пересекающих Q по эллиптической квадрике. Если х, у е V, то положим х ~ у, если соответствующие эллиптические квадрики касаются друг друга. (При этом прямые можно определить как пучки попарно касающихся квадрик.) Это представление группы Q(5, q) является представлением ранга 3 при q = 4, 8.
Вариация, предложенная Браувером и Вильбринком
Пусть Q— невырожденная квадрика в PG(4, q), и пусть V — множество гиперплоскостей, пересекающихся с Q по гиперболической квадрике. Если х, у е V, то положим х ~ у, если соответствующие гиперболические квадрики касаются друг друга (т. е. если х Г1У П Q состоит из двух пересекающихся прямых).. Это определяет сильно регулярный граф с параметрами о=^2(<72+1), /г = (у + 1) (у2 — 1),
X = (<7 — 1) (3<7+2), ц^г^^+П,гад^-г^—1, s = — q — 1, f=jq<q-V 1)*,' ^=1(^-2)^+ W+D- '
Снова имеются прямые (пучки попарно касающихся квадрик) и s + 1 = q, / + 1 — (^ Д I)2. Здесь мы получаем не полу- частичную геометрию, а структуру, в которой для заданных точки р и прямой I, таких, что р ^ I, имеются 0, 2 или q точек на /, соединенных с р. Для нечетных q дополнительный граф является псевдогеометрическим и отвечает pgCAC?2 + 1), q^q — 2), x/z{q — I)2 — 1). В этом графе действительно удается найти клики размера 1/2(^2 + 0- Пусть Е— эллиптическая прямая (т. е. E(\Q = 0'). Положим Се := {х е V] Е1 с: х или Есх}. Тогда Се — клика размера */2(^2 + 1)- Число таких эллиптических прямых Е равно ‘/з*?3^ — 1) (у2 + 1), и для q > 3 каждая СЕ определяет Е однозначно, так что мы получаем для частичной геометрии слишком много клик, и оказывается, что невозможно выбрать подходящее подсемейство. Однако при q = 3 каждая СЕ принадлежит 10 различным прямым Е, и мы находим 27 наборов Се, что приводит к частичной геометрии pg(5,3, 1). Это, конечно же, хорошо известный обобщенный четырехугольник GQ(4, 2), что иллюстрирует спорадический изоморфизм PSU (4, 2) ~ Q (5, 3). ■,
Обобщение предыдущих двух конструкций
Вильбринк заметил, что описанные выше два построения в действительности работают во всех размерностях. Итак, пусть Q — невырожденная квадрика в PG(2m, ^). Пусть V— множество гиперплоскостей, пересекающих Q по гиперболической (эллиптической) квадрике. Пусть е = +1(—1). Пусть х, у е V, тогда х ~ у, если соответствующие квадрики касаются друг друга (т. е. если пересечение Q f| х П у вырождено). Этим определяется сильно регулярный граф с параметрами
У = ^- qm (ym + e), fe = (^m —■ е) (^"l-1 4" в),
X = 2 (^2m-2 -1)4- eqm-1 (q — 1),
ц = 2^m-1 (^m-1 4" e),
r, s = — еут~' — 1 и eq"1-' (q — 2) — 1.
Другое построение Вильбринка.
Пусть Q— невырожденная квадрика в PG(2m, 5). Пусть V— множество неизотропных точек х, таких, что х-1- пересекает Q по гиперболической (эллиптической) квадрике. Пусть е = ±1, и пусть х, у е V, тогда х ~ у, если х _L у. Этим определяется сильно регулярный граф с параметрами
O=|5m(5m4-e), A=45m-'(5'n-e),
А = ^-5"1-1 (б"1*1 4-е), ц = 15т-1(5,п-1-в),
г, s = 2e5m-1, — e5m-1...
Конструкция Тейлора
' Пусть Н — эрмитова форма на проективной плоскости PG(2, ^2), где q — степень нечетного простого числа, и U = = {х|//(х, х) = 0}—соответствующая униталь. Тогда |(/| = = ^34-1. Мы можем определить на U два-граф, выбрав те тройки {х, у, г}, для которых Н(х, у)Н(у, z)H(z, х) является в GF(^2) квадратом, если q = 3(mod4), и неквадратом, если q = = l(mod4). Изолировав точку оо посредством переключения, а затем удалив ее, мы получим сильно регулярный граф с пapa^ метрами
У==^, : к = 2р. = -^(у — l)(q2 + 1), А = 4(<7 — If 1*
г = у(<7—1), s = — 4(92+0»- <
f = (q—l) (q2 4-D. g = qti-V).
(Это серия С2о в каталоге Юбо.) Отметим, что коллинеарные тройки унитали содержатся в два-графе, поэтому после переключения для каждой прямой /, проходящей через оо, множество /\{оо} становится кликой. Следовательно, наш граф допускает разбиение на клики размера q (при этом достигается граница Хоффмана), такие, что каждая вершина вне клики смежна в точности с '/"Ля— О вершинами из этой клики. Следовательно, если мы возьмем объединение любых '/s^ + l) таких клик, то получим регулярный подграф степени 1/4(^ — 1)(92 + 3). Тогда добавление новой точки Q и переключение приводят к сильно регулярному графу с параметрами
v = ^3+l, fe = ^(^24-l),
Х^^^-П^+З), ц-!^!)^!),
r=4(Q-l), s^-l^+l), f = (.7-1)^+1),g = q2 — q + i.
Мыслимо существование другого srg в переключательном классе рассматриваемого регулярного два-графа. Он бы имел параметры
к=^яЧя-х\ х = 1(^+1)(9-3), n—^-W-D.
Для q =3 такого графа не существует (для него нарушается условие абсолютной границы). При ^ = 5 такой граф был построен Гёталсом (см. разд. 10В, посвященный графу Хоффмана— Синглтона). Для больших q такие графы неизвестны. Отметим, что при q = 32"+1 дважды транзитивное представление на 93 + 1 точках имеют группы Ри. Это представление приводит к регулярному два-графу с теми же параметрами, что и два-граф, связанный с группой РГЩЗ, q2) и обсуждавшийся выше. Этот два-граф вновь приводит к srg на q3 вершинах (а быть может, и на q3 + 1 вершинах).
Конструкция Кантора
Пусть V— векторное пространство над GF(9), снабженное симплектической, ортогональной или унитарной геометрией. Накрытие пространства V— это семейство 2 максимальных вполне изотропных или сингулярных пространств, которые образуют разбиение множества Р вполне изотропных или сингулярных точек.
Построим граф, выбрав за вершины множество й всех гиперплоскостей, составленных из элементов множества 2; две различные вершины X, У соединим ребром, если АД У1 =# 0. Этот граф сильно регулярен и имеет те же параметры, что и граф, вершины которого составляют точки из Р, а ребра — пары перпендикулярных точек. Это построение и его вариации приводят к большому количеству неизоморфных сильно регулярных графов [46].
-8. КОМБИНАТОРНЫЕ КОНСТРУКЦИИ‘
Конструкция Хэмерса
Пусть q = 2n, и пусть К — гиперовал в PG(2, q) (рассматриваемый как гиперплоскость в бесконечности пространства AG(3, ^)). Пусть V—множество прямых в AG(3, ^), для которых точка на К является точкой на бесконечности. Для х, у е V положим х ~ у, если х и у пересекаются (как аффинные точки). Это определяет сильно регулярный граф с параметрами
о = ^(^4-2), k = q^q-VV\ K = \x = q,
r = q, s — — q, f = (y<z+1)(<72—1), g =-5 <7 (<7 + 02.
(Это семейство Ci8 в каталоге Юбо.) В действительности если построить геометрию, в которой роль прямых играют пучки прямых исходного пространства, то это будет геометрия GQ(^+ 1, q— 1). Теперь <7 + 2 классов параллельных прямых разобьем произвольным образом на ’/2?+! пар: к = U <=V Vui> yiL Переопределим смежность таким образом, что для каждого I две прямые в направлении и, (соответственно »<) смежны тогда и только тогда, когда плоскость, ими порожденная, проходит через точку и, (соответственно Ui). Смежность между остальными вершинами мы сохраним. Это приводит к новому сильно регулярному графу с параметрами
v = q2 lq + 2), k = q2 + q — L X = q — 2, y = q, , .
• r = q— 1, s = —(^+1), f = y(^ + 2Hq2 + q — 1).
g = ^q^q2+q—XY
, о ' .' Ho;
Конструкция Мэтона!
Симметрическая конференц-матрица порядка п — это матрица С с нулевой диагональю и элементами ± 1 вне диагонали, причем С = Ст и ССГ = (п — 1) Z. Необходимым условием существования такой матрицы является выполнение сравнения
n = 2(mod4). Сильно регулярный граф, параметры которого отвечают половинному случаю (и — l = 2fe = 4p), существует тогда и только тогда, когда существует симметрическая кон- фереиц-матрица порядка и + 1. (Если дана такая матрица, то следует нормализовать ее таким образом, что первая строка и первый столбец содержат только 0 и +1, а затем удалить эти строку и столбец. Если обозначить полученную матрицу через В, то А := ’/г (В + / — /) будет матрицей смежности некоторого srg, причем этот процесс можно осуществить в обратном порядке.) Известно существование симметрической конференц-матрицы порядка п в следующих случаях (см. дополнение С [72]):
п = ^+1, гДе Я— степень простого числа и q = = 1 (mod 4);
п ={h — I)2 + 1, где Л — порядок кососимметричной матрицы Адамара;
' (iii) n=(m—1)° + 1, где m — порядок некоторой симметрической конференц-матрицы, а — произвольное неотрицательное целое число.
Мэтон предложил новую рекурсивную конструкцию для симметрических конференц-матриц, доказав, что если q = M— 1 — степень простого числа и существует симметрическая конференц-матрица порядка q + 3, то существует симметрическая конференц-матрица порядка ^2(^ + 2)+1 (см. [54] или [64]). На этом пути, в частности, получается srg(45, 22, 10, 11).
Конструкция Гёталса и Сейдела
Пусть N — матрица инцидентности некоторой системы Штейнера S(2, К, V) размера V на В. Пусть Н — матрица Адамара порядка R + 1- Нормализуем матрицу Н таким образом, чтобы первый столбец содержал только единицы, и отбросим этот столбец. Обозначим через L полученную матрицу размера R + 1 на R (при этом /L=0). Пусть Р— матрица размера (/?4-1)Е на В, полученная из N заменой каждой строки на R 4* 1 строк по следующему правилу: все R единиц в каждой строке заменяются на R столбцов матрицы L, а нули — на нулевые столбцы. Пусть РРТ = RI + А. Тогда
(А +/?/)И - (V + ^- l)Z) = 0, AJ = — RJ
(см. [61]). Отсюда следует, что 1/2Ц — 1 — А')—матрица смежности некоторого srg с параметрами
y^^+DV, h = l^_ 1 +/?), х = 1(/?-1)(У + К + 2),
И = |(/?+ 1Ж + Ю, r = 4(^—IK « = -у(У + Ю,
■■ f = t)-i-gi g = B==RV/K.
(Это параметры псевдогеометрического графа, отвечающего pg(/? + 1, '/2(V + К), 'Л(Я + О), однако pg(4, 5, 2) не существует, поэтому такие графы не могут быть всегда геометрическими.)
Регулярные симметрические матрицы Адамара с постоянной диагональю-
Предположим, что Н — регулярная симметрическая матрица Адамара порядка п с постоянной диагональю, т. е.
HHT = nI, Н = Н\ HJ = aJ, Л(/е{±1), hu = e !
(!</,/< я).‘
(Тогда ясно, что п = а2.) При этом 7 z U — I — Н + е/) — матрица смежности некоторого srg с параметрами
у = п, fe = у (п — 1 — я + в), 1 = -^ (я — 2я) — (1—в),
^=1^ — 2я).~
Очевидно, заменяя в случае необходимости Н на —Н, мы можем считать, что я > 0. Кроме того, если я > 1, то 41 п, и поэтому можно записать я = 2/. Это приводит к следующим параметрам:
Если е = + 1, то v = 4/2, к = 2t2 — t, X = ц = t2 — t, -
'r,s = ± t, f = 2/2 — t, g = 2/2 + / — 1.
(Это параметры графа псевдолатинского квадрата £<(20-)
. Если в = — 1, то у = Al2, k = 2t2 — t — 1, X = t2 — t — 2,'
'■ ц = /2 — t, r = t — 1, s = — t— 1,
f = 2/2 + /, g = 2f-t—\.
(Это параметры графа отрицательного латинского квадрата NLr(20-) Верно и обратное, а именно граф с этими параметрами приводит к симметрической матрице Адамара с постоянной диагональю. Ввиду сказанного выше нас интересует множество пар (я, е), для которых существует такая матрица (с положительной суммой элементов в строке). Назовем такое множество RSHCD. Тогда имеется следующая рекуррентная конструкция:
(т, 6), (я, в) е RSHCD ->(ягя, de) е RSHCD. .■
Кроме того, известны следующие прямые построения:
(4, ± 1), (36, ± 1)е RSHCD.
Если существует матрица Адамара порядка иг, то (т2, 1)е е RSHCD.
Если и а—1, и а + 1 — нечетные простые числа, то (а2, 1)е RSHCD.
Если а + 1 —степень простого числа и существует симметрическая конференц-матрица порядка а, то (а2, 1)е RSHCD.
Если существует набор из t — 2 попарно ортогональных латинских квадратов порядка 2/ (т. е. трансверсальная схема T\t; 2/]), то (4/2, 1)е RSHCD.
Предположим, что имеется система Штейнера S(2, К, V), где V = Кк^К—1). Если мы рассмотрим граф на множестве блоков и добавим изолированную точку, то получим граф, который содержится в переключательном классе некоторого регулярного два-графа. Соответствующая матрица Адамара является симметрической с постоянной диагональю, однако не регулярна (как утверждается в [72, стр. 454]). Если, кроме того, рассматриваемая система Штейнера инвариантна относительно некоторой регулярной абелевой группы автоморфизмов (эта группа имеет на множестве блоков орбиты длин V и 2К —1), то, проводя переключение относительно орбиты на множестве блоков размера V, мы получаем srg с параметрами
v = 4№, k=V = K^K - 1), Х = ц = А(А-1).
Отсюда следует, что (4№, 1)е RSHCD. Система Штейнера S(2, К, Кк^К— Ь) известна для К — 3, 5, 6, 7 или 2', однако только для К = 2, 3, 5, 7 известно, что такие системы обладают регулярными абелевыми группами автоморфизмов. Таким образом, (196, 1)е RSHCD. (В случае, когда схема разрешима, в качестве требуемого множества для переключения можно выбрать К параллельных классов. Разрешимые схемы известны лишь для К=3, 2'.)
Большинство конструкций, описанных в этом разделе, принадлежит Гёталсу и Сейделу [33]; более подробно см. [72, разд. 5.3].
9. ПРЕДСТАВЛЕНИЯ РАНГА 3 ДЛЯ КОНЕЧНЫХ ГРУПП
Представления ранга 3 конечных классических групп описаны Кантором и Либлером [48]. Их основной результат формируется следующим образом (мы цитируем):
Теорема 1. Пусть М — одна из групп Sp(2m— 2, q), Q*(2m, q), Q(2m—1,^) или SU (m, q) для пг^З и q— степень простого числа. Пусть M^\G, где G]Z {М) Aut (M/Z (.44)). Предположим, что G действует как примитивная группа подстановок ранга 3 на множестве X смежных классов по подгруппе
К в G. Тогда с точностью до сопряженности в группе Aut(M/Z(Al)) выполнено {по крайней мере) одно из следующих положений:
X— некоторая орбита группы М на множестве сингулярных {или изотропных) точек.
X — некоторая орбита группы М на множестве максимальных вполне сингулярных (или изотропных) подпространств и M = Sp^,q), SU (4, q), SU (5, q), Q"(6, q), Q+ (8, q) или Q+(10, q).
X — некоторая орбита группы M на множестве несингулярных точек и М = SU (т, 2), Q* (2m, 2), Q* (2m, 3) или Q (2m - 1,3).
X—либо орбита группы М = Q (2m —1,4), либо Q (2m —1,8) (где в последнем случае G = ГО(2т—1,8)) на множестве не
сингулярных гиперплоскостей.сингулярных гиперплоскостей.M = SU(3, 3),М= SU(3, 5),M==SU(4, 3),M = Sp (6, 2),M — Q (7, 3),M = SU (6, 2),M = SU(3, 3),М= SU(3, 5),M==SU(4, 3),M = Sp (6, 2),M — Q (7, 3),M = SU (6, 2),Kf|M = PSL(3, 2).OM = 3.A7.KnM = 4.PSL(3, 4).K = G2{2).KRM = G2{3).KnM = 3.PSU(4, 3),2.Kf|M = PSL(3, 2).OM = 3.A7.KnM = 4.PSL(3, 4).K = G2{2).KRM = G2{3).KnM = 3.PSU(4, 3),2.
сингулярных гиперплоскостей.
сингулярных гиперплоскостей.
M = SU(3, 3),
М= SU(3, 5),
M==SU(4, 3),
M = Sp (6, 2),
M — Q (7, 3),
M = SU (6, 2),
M = SU(3, 3),
М= SU(3, 5),
M==SU(4, 3),
M = Sp (6, 2),
M — Q (7, 3),
M = SU (6, 2),
Kf|M = PSL(3, 2).
OM = 3.A7.
KnM = 4.PSL(3, 4).
K = G2{2).
KRM = G2{3).
KnM = 3.PSU(4, 3),2.
Kf|M = PSL(3, 2).
OM = 3.A7.
KnM = 4.PSL(3, 4).
K = G2{2).
KRM = G2{3).
KnM = 3.PSU(4, 3),2.
Теорема 2. Пусть M = PSL {n, q) ^ G ^ Aut M. Предположим, что G действует как примитивная группа подстановок ранга 3 на множестве X смежных классов некоторой подгруппы К в G. Тогда с точностью до сопряженности в AutM выполнено {по крайней мере) одно из следующих положений;
X — множество прямых для М, га ^ 4.'-
М —PSL(2, 4)~PSL(2, 5), |Х| = (®),/У5.-,/:"• '
' M = PSL(2,9)~A6, |X| = Q,'
- G-PSL (4, 2) ~Д8, | Х| = («), или '
/ О = РГЕ(2,8), |X| = Q..
. (iii) М —PSL (3, 4), М П А —А6.’
(iv) М = PSL(4, 3), Mf|A = PSp(4, 3).''■
Мы предупреждаем читателя, что изоморфизмы между различными группами и автоморфизмы групп позволяют смотреть на некоторые из случаев с различных точек зрения. В особенности изоморфизмы PSp (4, q) ~ Й (5, q), PSU(4, q) ~PQ"(6, q), PSL (4, q) ~ PQ+ (6, q) и PSU (4, 2) ~ PSp (4, 3) ппиводят к многочисленным представлениям в случае теоремы l(i). Аналогично тройственный автоморфизм группы PQ+(8, q) можно применить в случае 1 (iii), а в случае 2(i) можно применить полярность. ’. ._(
Не все из этих подстановочных представлений упомянуты в обзоре Юбо, однако представляется, что новых графов не возникло. (О параметрах графов в случае 1 (iv) для произвольного q см. разд. 7С— конструкция Вильбринка.)
Ф. Зара [75] любезно предоставил нам параметры двух представлений ранга 3 групп Фишера, которые не упомянуты в каталоге Юбо:
и
A-
/
Л
u
X
Ц
G
G„
14 080
10 920
3 159
8 408
8 680
918
648
Fi22
O+ (7,3)
137 632
109 200
28 431
86 600
86 800
6 030
5 832
F>23
(О+(8,3)У- Sa
(Здесь О+(п, 3)—подгруппа ортогональной группы, порожденная отражениями х^-х + (х, а)а, где (а, а)= 1.) ')
НЕКОТОРЫЕ СПОРАДИЧЕСКИЕ ГРАФЫ
А. Семейство Хигмана — Симса
Почти все спорадические графы построены тем или иным способом, исходя из системы Штейнера 5(5,6,12) или 5(5,8,24) либо исходя из бинарного или тернарного кода Го-
*) В самое последнее время по модулю классификации конечных простых групп получено полное описание групп (и графов) ранга 3. А именно хорошо известно, что если G — примитивная группа ранга 3 и степени п, то верно одно из следующих положений:
Г X Т < G ^ToeZ2, где Го — 2-транзнтивная группа степени п0, минимальный делитель Т группы То является простой группой и п = п^;
G — аффинная группа, т. е. G обладает регулярной элементарной абелевой нормальной подгруппой и п— степень простого числа;
минимальный нормальный делитель L группы G является простой группой.
Описание групп в случае (i) можно получить, исходя нз классификации 2-транзитивных групп подстановок; их список приведен, например, в статье: Cameron Р. J. Finite permutation groups and finite simple groups. — Bull. London Math. Soc., 1981, v. 13, p. 1—22.
Полное описание групп ранга 3 из п. (ii) получено в работе. Liebeck М. W. The affine permutation groups of rank three. — Preprint, Univ. Cambridge, 1984.
В случае (iii), если L— знакопеременная группа, го описание получено в статье: Bannai Е. Maximal subgroups of low rank of finite symmetric and alternative groups. — J. Fac. Sci. Univ. Tokyo, 1972, v. 18, p. 475—486; представление ранга 3 для классических групп получено в цитируемой выше статье Кантора и Либлера; наконец, случай, когда L — исключительная группа типа Ли или спорадическая группа, полностью разобран в работе: Liebeck М. W.. Saxl J. The finite primitive permutation groups of rank three. — Preorint, Univ. Cambridge. 1986. — Прим, перед.
лея. (Другими словами, все графы, описанные в этом разделе, можно так или иначе найти в решетке Лича.) Начнем с графов, получаемых из системы Штейнера 8(3,6,22).
(и, k. X, ц) = (77, 16,0, 4).
В качестве вершин следует взять блоки (единственной) системы 8(3,6,22) и соединить две вершины ребром в случае, когда блоки не пересекаются. Это приводит к сильно регулярному графу с указанными выше параметрами. (Этот граф единственный [6].)
(и, к, X, ц) = (56,10, 0, 2)—граф Гевиртца.
Предыдущий граф содержит коклику размера 21 (т. е. на ней достигаются и граница Хоффмана, и граница Цветковича), а именно все блоки, содержащие фиксированную точку. Удаление этой коклики приводит к сильно регулярному графу с приведенными выше параметрами. Впервые этот граф был найден Симсом (неопубликовано), а его единственность была доказана Гевиртцем [31]. Добавление единичной матрицы к матрице смежности этого графа приводит к 2—(56, 11, 2)-схеме (биплоскости). Эта конструкция работает всегда, когда ц = X + 2; при ц = X сам граф уже является симметричной блок-схемой. Вскоре мы встретимся с примером, когда граф строится, исходя из блок-схемы (допускающей полярность).
(Ш) (и, к, X, ц) = (100, 22, 0, 6) — граф Хигмана — Симса.
Возьмем символ оо, 22 точки и 77 блоков системы 8(3, 6, 22). Соединим оо с 22 точками, точку с блоками, ее содержащими, и два блока, если они не пересекаются. Это приводит к графу с указанными выше параметрами. Его единственность доказана Гевиртцем [32]. Простая группа Хигмана — Симса является подгруппой индекса два в группе автоморфизмов описанного графа.
(v, к, X, ц) = (231, 30, 9, 3) — граф Камерона.
Возьмем в качестве вершин Q2) = 231 неупорядоченную пару точек системы 8(3,6,22). Соединим две вершины ребром, если соответствующие пары не пересекаются, а их объединение содержится в некотором блоке. Это приводит к графу с указанными параметрами (см. [11]). Можно ввести прямые как тройки попарно пересекающихся пар, таких, что их объединение является блоком рассматриваемой схемы. Полученная таким образом геометрия является, по терминологии Хигмана, гамма- пространством, т. е. если х — точка вне прямой L, то х соединена с 0, 1 или со всеми точками из L (как это было замечено
в [8а] и [10а|).'
(и, кД, ц) = (176, 49, 12, 14).
(Может быть, этот граф не относится к настоящему разделу — например, для него 2 не является собственным значением.) Пусть х0 и Xi — две фиксированные точки из множества точек системы 5(5, 8, 24). Построим симметрическую схему, точками которой являются блоки, содержащие хо, но не содержащие хь а в качестве блоков — блоки, содержащие хь но не содержащие х0. Точка В инцидентна блоку В' тогда и только тогда, когда | В 0 В' | е {0, 4). Прямая проверка показывает, что в результате получается 2— (176,50, 14)-схема. Эта схема была впервые построена Хигманом [40]; приведенная конструкция принадлежит Маргарет Смит [67]. Эта схема имеет в точности две полярности, одна с 176 и одна с 80 фиксированными точками [66,7]. Используя полярность первого типа, можно записать матрицу инцидентности А как симметрическую матрицу с постоянной диагональю. Тогда Л—/ является матрицей смежности требуемого сильно регулярного графа. Для этого графа S8 является группой автоморфизмов. Вопрос единственности не решен. Детальное обсуждение геометрии Хигмана и ее связь с графом Хоффмана — Синглтона см. в статье [5а].
Семейство Хоффмана — Синглтона
Мур показал, что граф валентности к и обхвата 2d 4- 1 может иметь самое большее 1 + к + к ^к — 1) + ... + к (к — 1) d~l вершин. (Аналогичную границу можно получить и в случае четного обхвата.) Графы, для которых достигается эта граница, называются графами Мура. При d = 2 мы получаем и ^ к? 4- 1, и непосредственно видно, что если достигается равенство, то граф является сильно регулярным (с X = 0 и ц = 1). Набор параметров (А2 4* 1, к, 0, 1) допустим только для к = 2, 3, 7 и 57, и мы получаем для к = 2 пятиугольник, для к = 3 — граф Петерсена 7(5)*, для к = 7— граф Хоффмана — Синглтона, обсуждаемый ниже, а случай к = 57 пока остается открытым.
(и, к, X, ц) = (50, 7, 0, 1) — граф Хоффмана — Синглтона.
Пусть X={oo}UP|JB — множество вершин графа Хигмана— Симса, описанного выше. Пусть Во—блок, не содержащий точку Q в системе 5(4,7,23) с множеством точек PU{H), причем исходная схема (Р, В) является производной схемой по точке Q. Тогда Во индуцирует следующее разбиение множества
пх =
15, Пг = 42, п3 = 35, п4 =
= 7,
0 15 0 0 0
0 0 42 0
0
1 0 14 0 0
0 14 0 28
0
•
■ г ■ -
0 5 0 10 0
- та-
1 0 35 0
6
0 0 12 0 3
0 12 0 30
0
0 0 0 15 0
0 0 36 0
6
0 0 0 35 0
0 0 0 0 7
0 08 20 7
0 0 0 7 0
№ =
0 10 0 25 0
0 0 6 0 1
1 0 30 0 4
0 3 0 4 0
0 15 0 20 0
1 0 6 0 0
115
42357
1
156
2
21
1 - 15
42 -357
1
- 10
7 -7
в =
10
-302
, Q =
1
1 - 4
1
15
2 -5 -3
1
- 10
33
1 -5
25-3
1
116
3 -9
Эта схема
импримитивна
граф (X,
В4) есть объединение
ответственно) со следующими параметрами: и = 100, n0 = 1,
двух непересекающихся графов Хоффмана — Синглтона. Граф
(X, Bi) является регулярным тонким почти октагоном и одно-
вершин графа Хигмана — Симса:X = ({oo}UB0U{SeB||B ne0|=l})U(P\S0UU {В е В || В П Во | = 3}).Можно проверить, что.Подграф, индуцированный каждым подмножеством из разбиения X, изоморфен графу Хоффмана — Синглтона.Любое разбиение графа Хигмана — Симса на два графа Хоффмана — Синглтона может быть получено таким образом. (Граф Хоффмана — Синглтона был впервые построен Хоффманом и Синглтоном [43]; они же доказали его единственность. Го, что граф Хигмана — Симса содержит две копии графа Хоффмана — Синглтона, по-видимому, впервые было замечено Симсом [66].)Обратно, можно следующим образом определить граф Хигмана— Симса в терминах графа Хоффмана — Синглтона. Граф Хоффмана — Синглтона содержит 100 коклик размера 15. Две такие коклики пересекаются по 0, 3, 5, 8 или 15 точкам. Это определяет схему отношений с 4-классами (отношения: Во- — диагональ, Bi, Ва, Вз, В4— пересечение мощности 8, 5, 3, 0 совершин графа Хигмана — Симса:X = ({oo}UB0U{SeB||B ne0|=l})U(P\S0UU {В е В || В П Во | = 3}).Можно проверить, что.Подграф, индуцированный каждым подмножеством из разбиения X, изоморфен графу Хоффмана — Синглтона.Любое разбиение графа Хигмана — Симса на два графа Хоффмана — Синглтона может быть получено таким образом. (Граф Хоффмана — Синглтона был впервые построен Хоффманом и Синглтоном [43]; они же доказали его единственность. Го, что граф Хигмана — Симса содержит две копии графа Хоффмана — Синглтона, по-видимому, впервые было замечено Симсом [66].)Обратно, можно следующим образом определить граф Хигмана— Симса в терминах графа Хоффмана — Синглтона. Граф Хоффмана — Синглтона содержит 100 коклик размера 15. Две такие коклики пересекаются по 0, 3, 5, 8 или 15 точкам. Это определяет схему отношений с 4-классами (отношения: Во- — диагональ, Bi, Ва, Вз, В4— пересечение мощности 8, 5, 3, 0 со
вершин графа Хигмана — Симса:
X = ({oo}UB0U{SeB||B ne0|=l})U(P\S0U
U {В е В || В П Во | = 3}).
Можно проверить, что.
Подграф, индуцированный каждым подмножеством из разбиения X, изоморфен графу Хоффмана — Синглтона.
Любое разбиение графа Хигмана — Симса на два графа Хоффмана — Синглтона может быть получено таким образом. (Граф Хоффмана — Синглтона был впервые построен Хоффманом и Синглтоном [43]; они же доказали его единственность. Го, что граф Хигмана — Симса содержит две копии графа Хоффмана — Синглтона, по-видимому, впервые было замечено Симсом [66].)
Обратно, можно следующим образом определить граф Хигмана— Симса в терминах графа Хоффмана — Синглтона. Граф Хоффмана — Синглтона содержит 100 коклик размера 15. Две такие коклики пересекаются по 0, 3, 5, 8 или 15 точкам. Это определяет схему отношений с 4-классами (отношения: Во- — диагональ, Bi, Ва, Вз, В4— пересечение мощности 8, 5, 3, 0 со
вершин графа Хигмана — Симса:
X = ({oo}UB0U{SeB||B ne0|=l})U(P\S0U
U {В е В || В П Во | = 3}).
Можно проверить, что.
Подграф, индуцированный каждым подмножеством из разбиения X, изоморфен графу Хоффмана — Синглтона.
Любое разбиение графа Хигмана — Симса на два графа Хоффмана — Синглтона может быть получено таким образом. (Граф Хоффмана — Синглтона был впервые построен Хоффманом и Синглтоном [43]; они же доказали его единственность. Го, что граф Хигмана — Симса содержит две копии графа Хоффмана — Синглтона, по-видимому, впервые было замечено Симсом [66].)
Обратно, можно следующим образом определить граф Хигмана— Симса в терминах графа Хоффмана — Синглтона. Граф Хоффмана — Синглтона содержит 100 коклик размера 15. Две такие коклики пересекаются по 0, 3, 5, 8 или 15 точкам. Это определяет схему отношений с 4-классами (отношения: Во- — диагональ, Bi, Ва, Вз, В4— пересечение мощности 8, 5, 3, 0 со
значно определяется свеими параметрами. Поскольку (X, Rx J R^ имеет только три собственных значения, этот граф является сильно регулярным и мы вновь приходим к графу Хиг- мана — Симса. Можно построить систему из трех «сцепленных» графов Хоффмана — Синглтона на 150 вершинах, взяв вершины и каждое из двух множеств по 50 коклик; соединим вершины очевидным способом. Тогда каждое из трех множеств по 100 точек в этом графе индуцирует граф Хигмана — Симса.
Для дальнейших целей упомянем две другие конструкции графа Хоффмана — Синглтона.
Первая конструкция принадлежит Робертсону [59]. Пусть Ра (аер5)—пять пятиугольников, a Qp (Ре IPs) — пять пятиконечных звезд. Занумеруем точки в Ра и Qg элементами поля Ре таким образом, что точки в Ра смежны тогда и только тогда, когда их разность равна 1, а в Qp — тогда и только тогда, когда эта разность равна 2. Проведем ребро между точкой i из Ра и точкой / из Qp в случае, если / = t + оф. Это приводит к графу Хоффмана — Синглтона.
Следствие. Множество точек графа Хоффмана — Синглтона можно расщепить на две половины таким образом, что подграф, индуцированный на каждой половине, есть объединение пяти пятиугольников. Объединение двух пятиугольников из разных половин индуцирует ровно одно такое расщепление, поэтому имеется 126 таких расщеплений. Каждое такое расщепление определяет 25 подграфов Петерсена, и любые два расщепления однозначно определяют единственный общий подграф Петерсена. Это приводит к 2— (126,6, 1)-схеме, для которой точки — это подграфы Петерсена, а блоки — всевозможные расщепления. Оказывается, что эта схема является классической уни- талью в пространстве PG(2, 52), что позволяет отождествлять группу автоморфизмов графа Хоффмана — Синглтона с группой PXU(3, 52) [2]. Половины двух расщеплений пересекаются по 10 или 15 вершинам. Зафиксируем вершину х и построим граф, вершины которого составляют расщепления, и два расщепления соединены ребром, если те их половины, которые содержат х, пересекаются по 10 вершинам исходного графа. Полученный граф является srg с параметрами (и, к, X, р) = (126, 50, 13, 24). Другая конструкция этого графа приведена в п. (vii).
Вторая конструкция использует хорошо известный факт, что прямые PG(3,2) можно отождествлять с тройками из фиксированного семиэлементного множества таким образом, что пересекающимся прямым отвечают тройки, имеющие ровно один общий элемент.
Пусть С — множество точек, a D — множество прямых в PG(3, 2). Тогда |С|= 15 и |О| = 35. Соединим ребрами прямую с точками, лежащими на ней, и две прямые, если соответствующие тройки не пересекаются. Это приводит к графу Хоффмана — Синглтона.
(iv) (и, к, X, р.) = (175, 72, 20, 36) и новая частичная геомет
рия.
На 175 ребрах графа Хоффмана — Синглтона (сокращенно Но — Si) имеется схема отношений с тремя классами (отношения: Ro — диагональ, Rx— пересечение, Ra — вместе лежат в пятиугольнике, R3 — остальные), причем группа Aut(Ho— Si) действует на этом множестве ребер как группа ранга 4. Параметры следующие:
0 0 72 00 0 72 00 4 36 320 4 36 320 0 0 90
0 0 72 0
0 0 72 0
0 4 36 32
0 4 36 32
0 0 30 60
0 5 45 40
1 8 32 49
Граф, отвечающий отношению Ri, является дистанционнО-ТрЯН- зитивным диаметра 3 с диаграммой
5566
5
5
6
6
и собственными значениями 121, 728, 221, (—2)125; это есть реберный граф графа Хоффмана — Синглтона. (В действительности таковым является любой дистанционный регулярный граф с параметрами I (12,6,5; 1, 1,4). Это следует из того, что, поскольку ц = 1, каждое ребро содержится в единственной 7-клике; всего имеется 50 таких 7-клик, и непосредственно проверяется, что граф на этих 7-кликах изоморфен графу Но — Si.)
Граф, отвечающий отношению R2, является сильно регулярным с параметрами (и, к, X, ц) = (175, 72, 20, 36) и собственными значениями 721, 2153, (—18)21.
Хэмерс [36] заметил, что этот граф обладает структурой частичной геометрии pg(5, 18, 2). Нам надо найти 630 прямых размера 5, т. е. 630 клик мощности 5. Одиако 5-клика — это набор из 5 ребер в графе Но — Si, которые попарно лежат в
одном пятиугольнике. Такие 5 ребер индуцируют в Но — Si подграф Петерсена. Граф Но — Si содержит 525 подграфов Петерсена, в то же время граф Петерсена содержит 6 паросочета- ний, 1. е. граф Но — Si содержит 3150 5-клик, и мы должны выбрать из них пятую часть таким образом, чтобы каждый пятиугольник определял единственный специальный граф Петерсена. Чтобы сделать это, обозначим через С 15-коклику в Но — Si и рассмотрим множество вершин графа Но — Si как объединение С U О. Заметим следующее:
Каждая из 35 вершин, содержащихся в D, имеет три соседа в С, и мы можем рассматривать С и D как точки и прямые проективного пространства PG(3, 2), как это описано выше.
Из 1260 пятиугольников имеется 630, которые содержат одну вершину из С, и 630, которые содержат две такие вершины. Положим Р,-= {пятиугольники, содержащие i вершин из множества С} (i = 1, 2).
Стабилизатор множества С в группе Aut(Ho— Si) изоморфен Ai и действует транзитивно на каждом множестве из 630 пятиугольников.
Имеется взаимно однозначное отображение П из Р2 В Рь инвариантное относительно действия указанной выше группы, такое, что Рг U ПР2 индуцирует граф Петерсена Р, такой, что три вершины из РИС имеют единственного соседа. (Действительно, если Р2 П С= ^х, у}, то прямая L = xyz является вершиной из Р2, поэтому Рг вместе с ребром Lz определяет подграф Петерсена Р. Теперь Р П С = {х, у, 2}<= Г(Т).)
Имеется 105 таких специальных графов Петерсена, причем каждый может быть представлен в виде Pi U Р2 шестью способами. Каждый из графов Петерсена содержит 6 паросо- четаний, и, таким образом, мы находим требуемые 630 прямых.
Построенная таким образом частичная геометрия допускает Ai в качестве группы автоморфизмов.
(щАД,ц)==(630,85,20, 10). . "
Из доказанного выше существования pg(5, 18, 2) в силу двойственности следует существование pg(18, 5, 2). Точечный граф последний и обладает указанными параметрами.
(и, кД, ^ = (176, 70, 18, 24) и (и, к, к, ц) = (176, 90, 38,54).
Для графа, построенного в п. (iv), выполнено равенство к = 2ц, поэтому добавление к нему изолированной вершины приводит к некоторому регулярному два-графу на 176 вершинах. В переключательном классе этого два-графа содержатся сильно ре-
гулярные графы с приведенными наборами параметров. Для того чтобы построить эти графы, мы должны указать подходящие множества, по которым производится переключение. В нашем случае — это регулярные подграфы в графе на 175 вершинах, имеющие 70 (соответственно 90) вершин и валентность 18 (соответственно 38). В первом случае выбор такого подграфа производят естественным образом: в представлении графа Но— Si в виде CUO> которое использовалось выше, на множестве D имеется 70 ребер, а /?2 в этом множестве из 70 ребер имеет валентность 18. Во втором случае Хэмерс указал следующую возможность. Рассмотрим множество из 18 попарно пересекающихся 5-клик. Поскольку на этих кликах достигается граница Хоффмана, каждая вершина вне клики смежна ровно с двумя вершинами внутри клики. Отсюда это объединение клик имеет валентность 44- 17-2 = 38. Такие непересекающиеся 5-клики действительно существуют, поскольку из представления графа Но — Si, предложенного Робертсоном, непосредственно следует существование 25 попарно непересекающихся 5-клик.
(и, к, X, р) = (126, 50, 13, 24).
Если мы удалим из графа Но — Si вершину х и всех ее соседей, то получим граф, имеющий 42 вершины и 126 ребер. Гёталс заметил, что если в графе на 175 вершинах, описанном в п. (iv), рассмотреть подграф, индуцированный этими 126 ребрами, то получится сильно регулярный граф с приведенными выше параметрами. Непосредственная проверка этого является весьма утомительной — легче показать, что такой граф имеет лишь три собственных значения. В завершение мы приведем несколько полезных теорем из работы [35].
Теорема. Пусть г'
' Iд/Al Л12\,< , .
" ■\ А12 Л 22 /
—-эрмитова матрица порядка п. Предположим, что А имеет ровно два собственных значения, так что
Хх^=...=Х, (Л) > Хж (Л) = ... = Хп (Л)
для некоторого f, 1 ^ f < п. Пусть п\ и пг— порядки матриц Ли и Л22 соответственно. Тогда
Х^ (Л22) ==,
/ Х[ (Л) 4-Х„(Л) — Х/-.(1ц (Ли) для max {1, f 4- 1 — п^ < ^ J ^ min {/, п<\,
. X! (Л).‘ . для 1 С ‘• ^ f 4- I ~ nv *
■-Х„(Л}для I < 1^11).:
Эту теорему можно применить к (—1, + 1, 0)-матрицам смежности сильных графов, содержащихся в переключательном классе некоторого регулярного два-графа (т. е. к матрицам, удовлетворяющим равенству (Л — pi/) (Л — р2/) = 0).
Следствие. Предположим, что некоторый сильный граф, содержащийся в переключательном классе регулярного два-графа с и вершинами, собственными значениями pi, р2 (pi > р2) и кратностями щ, р2, имеет подграф с u ^ pi вершинами и собственными значениями Xi, ..., Xu, где Xi = pi, Х2=...=ХИ1. Тогда подграф, индуцированный оставшимися и — и вершинами, является сильным графом с двумя собственными значениями: pi + Рг ~ ^2 с кратностью щ — 1 и р2 с кратностью и — и — Ц1 + 1-
Приложение. Добавим изолированную вершину к графу иа 175 вершинах и произведем переключение относительно семи ребер, проходящих через х. Тогда получим граф, содержащий Но— Si в качестве подграфа. Собственные значения (—1, 4*1, 0)- матрицы смежности для этого два-графа равны pi = 35 и р2 = = —5 (с кратностями pi = 22 и р2 = 154), а для графа Но — Si р0 = 35, pi = 5 и р2 = —5 с кратностями 1, 21 и 28, поэтому из сформулированного выше следствия вытекает существование сильно регулярного графа на 126 вершинах. Замечая, что этот граф регулярен валентности 50, мы заключаем, что это и есть требуемый граф.
Семейство Маклафлина
(и, к, X, р) = (275, 112, 30, 56) — граф Маклафлина.
Рассмотрим 23 точки и 253 блока (единственной) системы Штейнера (X, В) с параметрами 5(4,7,23). Определим граф на этих 276 вершинах таким образом, что X является кокликой, точка соединена с блоками, содержащими ее, а два блока соединены, если они пересекаются по одной точке. Полученный таким образом граф содержится в переключательном классе некоторого регулярного два-графа на 276 точках. (Матричное рассмотрение этого два-графа см. в статье Сейдела [62]; интерпретация в терминах равноугольных прямых в решетке Лича приведена в статье Тейлора [69].) Группа автоморфизмов этого два-графа есть группа Конвея. 3. Изолировав вершину посредством переключения, а затем удалив ее, мы получим граф ранга 3 на 275 вершинах, для которого группой автоморфизмов является простая группа Маклафлина. Описанный граф и два- граф единственные [34].
Из приведенного описания видно, что построенный выше граф на 276 вершинах содержит в качестве подграфа граф Хиг- мана — Симса (переключенный относительно одной вершины).
Собственные значения (—1,+L 0)-матрицы смежности два-гра- фа равны pi = 55 и р2 = —5 с кратностями щ = 23 и ц2 = 253, а графа Хигмана — Симса р0 = 55, pi = 15, р2 = —5 с кратностями 1, 22, 77 (соответственно), поэтому (в силу следствия из п. В (vii) мы нашли сильно регулярный граф на 176 вершинах, для которого вершинами являются блоки остаточной схемы S(4, 7, 23)\S(3, 6, 22), а ребрами — пары блоков, пересекающиеся по одной точке. Параметры такого графа суть (и, к, X, р) = (176, 70, 18, 24) те же, что и у графа, найденного выше, в п. В (vi).
Теперь уже непосредственно видно, что группой автоморфизмов этого графа является простая группа Хигмана — Симса. Граф Маклафлина экстремален в следующих смыслах: для него g = 22 и поэтому достигается равенство в условии абсолютной границы; для него <7^ = 0, т. е. достигается равенство в условии Крейна; для его дополнения s = —3 и р = 81, следовательно, достигается равенство в р-условии.
(п) (и, к, X, р) = (162, 56, 10, 21) и (и, к, X, р) = (112, 30, 2, 10). Камерон, Гёталс и Сейдел [11] доказали, что из равенства ^22 ^ ^ следует, что и подграф соседей, и подграф несоседей вершины являются сильно регулярными графами. Применив это утверждение к предыдущему графу, мы и получим графы с указанными выше параметрами.
Приведем прямое описание этих графов. Подплоскости Фано в проективной плоскости PG (2,4) под действием группы PSL(3, 4) разбиваются на три орбиты. Возьмем в качестве вершин точки, прямые и одну из этих орбит на плоскостях Фано. Тогда и = 21 + 21 + 120 = 162. Пусть точки и прямые будут двумя 2-кокликами; соединим точку с прямой, если они инцидентны, точку с плоскостью Фано, если они пересекаются по трем точкам, наконец, две плоскости Фано, если они пересекаются по одной точке. Это приводит к единственному srg (162, 56, 10, 24).
Пусть х0 и xi — две фиксированные точки из множества точек системы 5(4,7,23). Возьмем в качестве вершин все блоки этой системы, которые содержат ровно одну из указанных точек. Соединим два блока, если они содержат одну и ту же фиксированную точку, и это единственная их общая точка. Это приводит к единственному srg(l 12, 30, 2, 10), являющемуся точечным графом обобщенного четырехугольника GQ(3, 9). Из приведенной конструкции видно, что множество вершин этого графа можно расщепить на две половины таким образом, что граф, индуцированный иа каждой из половин, изоморфен графу Ге- виртца. Так же, как это было сделано для графа Хоффмана —
Синглтона, можно построить систему из трех сцепленных графов Гевиртца на 168 вершинах. Для этого следует рассмотреть три точки Хо, х, и х2 в системе 5(5,8,24), взять в качестве вершин те из блоков, которые содержат ровно две из указанных точек, и соединить блоки В и В' тогда и только тогда, когда
|ВПВ'1 + 2|5ПВ'П{х0. хь х2}| = 6.
Тогда любые два графа Гевиртца будут индуцировать точечный граф GQ(3, 9), а весь граф —это точечный граф частичного линейного пространства, у которого размер прямой равен 6.
(и, к, X, р) = (276, 140, 58, 84). .
Гёталс и Сейдел [34] показали (явно указав множество для переключения), что в переключательном классе описанного выше два-графа на 276 вершинах содержится сильно регулярный граф с приведенными выше параметрами. Вопрос о его единственности не решен.
(и, к, X, ц) = (243, 110, 37, 60) — граф Дельсарта.
В процессе доказательства единственности регулярного два-графа на 276 вершинах Гёталс и Сейдел обнаружили в его переключательном классе граф, содержащий индуцированный подграф, изоморфный 11 Кз (объединение 11 непересекающихся треугольников), такой, что каждая из оставшихся вершин смежна ровно с одной вершиной в каждом треугольнике. Из теоремы, сформулированной в п. B(vii), мы заключаем что для графа на оставшихся 243 вершинах собственные значения (—1, 4-1, 0)-матрицы смежности суть 4922, 221, (—5) 220, поэтому это и есть требуемый граф. Он впервые был построен Дельсар- том, исходя из тернарного кода Голея (см. ниже).
Код Голея и шапка Хилла
(и, к, X, ц) = (243, 22, 1, 2) — граф Берлекэмпа — ван Линта — Сейдела.
В [3] предложены три конструкции этого графа (по одному на каждого из авторов). Наиболее проста следующая конструкция: возьмем в качестве вершин З5 = 243 смежных класса по совершенному тернарному коду Голея и соединим две вершины ребром, если соответствующие классы содержат представители, отличающиеся на вектор веса 1. Этот граф обладает двойственным в смысле Дельсарта (поскольку он обладает регулярной абелевой группой автоморфизмов). Этот двойственный граф имеет параметры (и, к, X, ц) = (243, 110, 37, 60). Как мы видели раньше, он является подграфом в регулярном два-графе на 276 точках. - ■ .
^v.kA, ц) = (2048, 276, 44, 36) и (и, к, к, и) = (2048, 759, 310,264).
Возьмем 2й =2048 смежных классов четной длины расширенного бинарного кода Голея в качестве вершин и соединим два смежных класса ребром, если они содержат представителей, отличающихся на вектор веса 2. Это приводит к srg (2048, 276, 44, 36). (Эквивалентное, но более сложное описание можно найти в обзоре Юбо [45]. Этот граф впервые построили Дж. Конвей и М. Смит. Рассматривая все 212 смежных классов и соединяя два класса ребром, если между ними расстояние один, мы получим регулярный тонкий почти восьмиугольник на 4096 вершинах, в котором описанный выше сильно регулярный граф является графом путей длиной 2 на каждой из двудольных половин.) Двойственный к нему граф в смысле Дельсарта является srg(2048, 759, 310, 264). Последний был впервые построен Гёталсом и Сейделом, которые описали его следующим образом. Рассмотрим 211 =2048 смежных классов по подпространству, состоящему из двух тождественных векторов 0 и 1 в расширенном бинарном коде Голея, и соединим два смежных класса ребром в случае, когда расстояние Хэмминга между ними равно 8.
(и, к, к, ц) = (1288, 792, 476, 504).
Граф, дополнительный ко второму из графов в п. (ii), является srg (2048, 1288, 792, 840). Его граф соседей и есть граф с требуемыми параметрами.
(iv) (и, к, %, р) = (729, 112, 1, 20) — граф Гэймса.
В пространстве PG(5,3) имеется единственная 56-шапка (т. е. такой набор из 56 точек, что каждая прямая пересекается с этим наббром самое большее по двум точкам), см. [41]. Гэймс заметил, что если рассмотреть в качестве вершин точки пространства AG (6,3) и соединить две вершины ребром в случае, если прямая, проходящая через эти точки, пересекает гиперплоскость, лежащую на бесконечности, в точке, которая содержится в упомянутой шляпе, то получится srg(729, 112, 1,20) (см. [9а, 30]).
■11. НЕДАВНИЕ РЕЗУЛЬТАТЫ ПО ЧАСТИЧНЫМ ГЕОМЕТРИЯМ. '
. A. Pg(4, 5, 2) не существует-
В [19] де Клерк классифицировал псевдогеометрические графы, соответствующие геометриям с условием Т = К — 2. Интересным результатом является несуществование pg(4,5,2). В п. 5А мы видели, что существуют ровно четыре неизоморфных srg(28, 15,6, 10) —дополнение к треугольному графу и гра-
фы Чанга. Для каждого из них можно предположить, что сильно регулярный граф является геометрическим; это приводит к противоречию. Для треугольного графа доказательство выглядит следующим образом.
Пусть вершинами являются неупорядоченные пары (х, у) из множества {1,2, ..., 8}. Прямыми являются разбиения множества {1, 2, ..., 8}. Без ограничения общности мы можем считать в качестве прямой разбиение (12)(34)(56)(78), и в действительности, не ограничивая общности, мы можем выбрать все прямые, проходящие через точку (12). В этом остаются две возможности для прямых, проходящих через (13) и (24), и оказывается, что невозможно выбрать оставшиеся прямые, проходящие через (13). В остальных случаях доказательства проводятся аналогично.
Частичные геометрии, возникающие из Т(л)*
Если п четно, то
//п\ /п —2\ ( п — А\( п — 3\\Srg(GM 2 И 2 Д 2
псевдогеометрический и соответствует pgC/zn, л— 3, */2n— 2). Как мы видели выше, при п = 8 вопрос о существовании этих геометрий удается решить вручную. При п = 10 мы получаем pg(5, 7,3), которая известна. Ее можно построить следующим образом. Рассмотрим гиперовал 2 в пространстве PG(2,8). Возьмем 45 секантов в 2 как новые точки, а точки вне 2 — как новые прямые. Эти новые точки и прямые образуют указанную частичную геометрию. Если занумеровать точки в 2 от 1 до 10, то пять секантов, проходящих через точку вне 2, порождают разбиение множества {1, 210}, которое и от
вечает нашему первоначальному представлению.
Как было показано Мэтоном [55], не существует других pg(5, 7, 3) (см. также [29а]). В настоящее время Лэм ведет исчерпывающий поиск с помощью ЭВМ следующей частичной геометрии, т. е. pg(6,9,4). Если эта частичная геометрия не существует, то возможная проективная плоскость порядка 10 не содержит гиперовалов и, следовательно, не имеет расширений.
Дополнение при корректуре. После 183 дней вычислений на ЭВМ исчерпывающий поиск был закончен и частичная геометрия не найдена [50а]. Таким образом, в предположении правильности использованной программы ' не существует ни pg(6, 9, 4), ни 8(3, 12, 112).
pg(4, 7, 1) не существует
Не известно, существует ли srg(76, 21, 2, 7), однако Диксмер и Зара [28, 29] показали, что pg (4, 7, 1) не может существовать. Мы приведем незначительную модификацию их доказательства. Предположим, что такая частичная геометрия существует.
(О Пусть Х'/'у. Положим tr (х, у) := (z| г ~ х, г ~ у}, А(х, у) := (z| гф х,г* у}. Тогда | tr (х, у) 1 = 7, | А(х, у) | = 39.
(и) Для i = О, 1, ..., 7 обозначим через Ki подмножество в А(х, у), состоящее из точек, которые коллинеарны с i точками в tr (х, у), и пусть п,:: = | Ki |.
(Ш) Элементарный подсчет показывает, что £ /^ = 39, 1^=105, !(')«,= 105.
(iv) Пусть р и q— коллинеарные точки в А, такие, что прямая L, проходящая через р и q, не пересекается с tr(x, у'). Тогда для двух других точек а и Ь, лежащих на L, имеет место х ~ а, у ~ Ь, и прямые, проходящие через х и а, соответственно через у и Ь, пересекают tr(x, у) в различных точках. Поэтому если peKi, то q е KS-i. Отсюда мы находим, что (7— i)ni = = (2 4- i) ris-t и, следовательно, п6=0. Из п. (iii) мы при этом получаем п0 = п5 = п7 = 0, п.\ = 4, п2 = 12, Пз = 15, п4 = 8.
(v) Пусть ре.К\, и пусть р ~ zstr(x, у). Из (iv) следует, что оставшиеся точки на прямой рг содержатся в Кд. Имеется шесть прямых, проходящих через р и не пересекающихся с tr(x,z/), а в силу п. (iv) на каждой из них лежит точка, содержащаяся в Кд. Поскольку п4 = 8, мы видим, что каждая точка из Ki смежна со всеми точками из Кд. Это противоречит том^у, что ц = 7.
Спорадическая геометрия pg(6, 6, 2)
В [52] ван Линт и Шрейвер описали частичную геометрию с параметрами K = R = 6, Т = 2, которая является одной из двух спорадических частичных геометрий. Соответствующий сильно регулярный граф принадлежит семейству графов, описанных в п. 5С. Самое раннее его описание следующее: 81 вершина— это кодовые слова (5, 4)-линейного кода С над Рз, где (1, 1, 1, 1, 1) — вектор проверки на четность. Две вершины соединяются ребром, если расстояние между ними = 2(mod3). Шесть кодовых слов (0, 0, 0, 0, 0), (1, 2, 2,2, 2), ..., (2, 2, 2, 2, 1) образуют клику, которую мы выбираем в качестве прямой S. Оставшиеся прямые получаются с помощью сдвигов S + с, где се С. Недавно Камерон и ван Линт [15] показали, что группа ортоморфизмов этой геометрии изоморфна прлупрямому произ-
ведению группы трансляций и группы S6. Их доказательство использует следующее элегантное описание.
Пусть С — код из постоянных векторов длиной 6. Сумма координат любого вектора в смежном классе по С постоянна, и мы назовем ее типом этого кода. Пусть А,— множество смежных классов типа I. Определим двудольный граф Г, соединив смежный класс С+и со смежным классом С+ у 4-ш для всех векторов w длины 1. Тогда каждый вектор в А, имеет шесть соседей в A1+i и шесть в А,+2. Если рассмотреть любое множество А^ в качестве множества точек, a A,+i как множество прямых и определить инцидентность посредством смежности, то получаем pg(6, 6, 2). В действительности мы имеем три сцепленные копии этой геометрии.
Интересно отметить, что Г является подграфом в srg(243, 22, 1,2), построенном Берлекэмпом и др. (п. 10D(i)).
Е. Новая бесконечная серия pg (22"-1, 22n“’, -f-1, 22"-2)
Коэн [21] дал первое описание pg(8, 9, 4). Эта геометрия была (а может быть, и будет) спорадической. (Дополнение при корректуре. Недавно Тончев [71а] доказал изоморфизм между этой частичной геометрией и двойственной к частичной геометрией, описанной ниже.) Затем Хэмерс и ван Линт [37] предложили следующее более простое описание pg(9, 8, 4).
Возьмем в качестве вершины слова весом 4 или 8 в (Рг)9 и соединим две такие вершины ребром, если расстояние между ними сравнимо с двумя по модулю 4. Среди клик размера 9 имеются множества, отвечающие строкам матриц (/ — /)9,
О £ J \ Д /3 0\ И и-П< 0 и I 0 /3 /3 , и о (J-nJ Ьз О J3)
а также получаемым из них с помощью перестановок. Из этих клик выбираются 1 4- 63 4- 2-28 = 120, которые считаются прямыми. Чтобы сделать это «естественным» образом, 9 позиций отождествляются с точками в PG(1,8) и используется действие группы PSL(2, 8). С деталями можно ознакомиться в [37].
Эти примеры привели де Клерк, Дай и Тас к третьей конструкции, а затем и к открытию новой бесконечной серии, а именно серии pg(22n~1, 22”-1 4- 1, 22”-2). Конструкция следующая. Пусть Q+ — гиперболическая квадрика в PG(4n— 1, 2). Множество максимальных вполне изотропных пространств в Q+ разбивается на два пересекающихся семейства D\ и D^. Если Н — проективное пространство размерности п — 2 в Q+, то в Q+
содержатся два максимальных вполне изотропных подпространства, проходящих через Н, по одному для каждого семейства. Вместе они определяют 2п-мерное пространство, которое содержит единственную гиперплоскость М^Н), проходящую через Н и не лежащую в Q+. Мы замечаем, что Л1(Л)\Л содержит 22"-1 точек, не лежащих на Q+. Пусть V — покрытие Q+, состоящее из элементов семейства D^. Положим Х:={точки не на Q+}; Ь:={все пространства М^Н), где Н— гиперплоскость, являющаяся элементом некоторого покрытия V}.
Мы называем элементы из L прямыми и выбираем естественное отношение инцидентности. Тогда (X, L) является pg(22n_1, 22n-1 + 1, 22n~2). С доказательством можно ознакомиться в [20].
Эта идея использовать покрытия для определения сильно регулярного графа и частичной геометрии была обобщена Кантором (см. п. 6Е). Он также доказал, что pg(8, 9, 4) из описанной бесконечной серии изоморфна геометрии, двойственной той, которую построили Хэмерс и ван Линт. Для них Д9 является группой автоморфизмов. ■
F. Возможная бесконечная серия pg(32A+ , 32А+* + 1, 2 • 32А)
В [71] Тас обобщил конструкцию, описанную выше в п. НЕ, используя квадратики в PG(4Zi-|-3, 3). И в этом случае построение опирается на существование покрытий. Только при h = 0 и при h = 1 известно существование таких покрытий. Случай /г = 0 приводит к тривиальной геометрии, а при й = 1 получается новая частичная геометрия pg(27, 28, 18). Пока это спорадический пример.
6. Спорадическая геометрия pg(5, 18, 2)
Замечательная спорадическая частичная геометрия была построена Хэме.рсом в [35] с использованием графа Хоффмана — Синглтона. Этот граф содержит 525 графов Петерсена в качестве индуцированных подграфов. Определяется специальный класс из 105.таких графов. Пусть ребра графа Хоффмана — Синглтона будут точками геометрии и определим прямые как 1-факторы в специальных подграфах Петерсена. Более подробно см. п. 10В.
Ь Н. Некоторые интересные открытые случаи
В п. 11В мы упомянули, что pg(6, 9, 4) связана с проективной плоскостью порядка 10. Ожидалось, что к концу 1982 г. будет известно, существует ли такая pg. (Теперь известно, что ее нет.) ,
В списке блок-схем, приведенном в книге Холла [38], первая неизвестная схема — это схема № 35: 2-(46, 6, 1). Если такая схема существует, то она приводит к pg(9, 6, 6) и к srg(69, 20, 7, 5), которые неизвестны.
Следующий открытый случай — это pg(5, 8, 2), отвечающая неизвестному srg(75, 32, 10, 16). Поскольку в этой геометрии через точку проходят восемь прямых, а общее число прямых такое же, как и в pg(9, 8, 4), можно надеяться, что искомую схему можно найти, удалив подходящие 60 точек из pg(9, 8, 4). Однако в [37] показано, что эта идея не работает..
ЛИТЕРАТУРА'
Belevitch V. Theory of 2n-terminal networks with application to conference telephony. — Elect. Commun., 1950, v. 27, p. 231—244.
Benson С. T., Losey N. E. on a graph of Hoffman and Singleton. — J.
' Comb Th., 1971, v. 11, p. 67—79.
Berlekamp E. R., van Lint J. H., Seidel J. J. A strongly regular graph derived from the perfect ternary Golay code. — In: A Survey of Combinatorial Theory. J. N. Srivastava e. a. (eds.). — North-Holland, 1973, p. 25—30.
Bose R. C. Strongly regular graphs, partial geometries, and partially balanced designs. — Pacific J. Math., 1963, v. 13, p. 389—419.
Bose R. C., Dowling T. A. A generalization of Moore graphs of diameter two. —J. Comb. Th. (B),1971, v. 11, p. 213—226.
[5a] Broue M. Enguehard M. La g^ometrie de Graham Higman invariante par le group d’Higman — Sims. — Expose au Seminaire Claude Chevalfey, Avril — Mai 1974.
Brouwer A. E. The uniqueness of the strongly regular graph on 77 points. — Math. Centrum Report ZW 147/80, Amsterdam, 1980.
Brouwer A E. Polarities of G. Higman’s symmetric design and a strongly regular graph on 176 vertices. — Math. Centrum Report ZW 158/81, Amsterdam, 1981.
Brouwer A. E., Neumaier A. Strongly regular graphs where ц = 2 and X is large. — Math. Centrum Report 151/81, Amsterdam, 1981.
[8a] Brouwer A. E., Schrijver A., Wilbrink H. А. Частное сообщение.
Bussemaker F. C., Haemers W. H., Mathon R., Wilbrink H. А. Частное сообщение.
[9a] Cameron P. J. Partial quadrangles. — Quart. J. Math. Oxford, 1975, v. 26, p. 61-73.
Cameron P. J. Strongly regular graphs. — In: Selected topics in graph theory, L. W. Beineke and R. J. Wilson (eds.). — Academic Press, 1978, p. 337—360.
[10a] Cameron P. J. Частное сообщение.
Cameron P. J., Goethals J.-M., Seidel J. J. Strongly regular graphs having strongly regular subconstituents. — J. Algebra, 1978, v. 55, p. 257— 280.
Cameron P. J., Goethals J.-M., Seidel J. J. The Krein condition, spherical designs, Norton algebras and permutation groups. — Proc. KNAW A81 ( = Indag. Math., v. 40). 1978. p. 196—206.
Cameron P. J., Goethals J.-M., Seidel J. J., Shult E. E. Line graphs, root systems and elliptic geometry. — J. Algebra, 1976, v. 43, p. 305—327.
Cameron P. J., van Lint J. H. Graphs, Codes and Designs. — London Math. Soc. Lecture Note Series, v, 43, Cambridge, 1980. [Имеется пере-
вод: Камерон П., ван Линт Дж. Теория графов, теория кодирования и блок-схемы. — М.: Наука, 1980J
Cameron Р. J., van Lint J. Н. On the partial geometry pg(6, 6, 2).— J. Comb. Th (A) 1982, v. 32, p. 252—255.
Chang L. C. The uniqueness and nonuniqueness of triangular association schemes. — Sci. Record, 1949, v. 3, p. 604—613.
Chang L C Association schemes of partially balanced block designs with parameters и = 28, n, = 12, n2 — 15 and рц = 4. — Sci. Record, 1950, v. 4, p. 12—18.
Clatworthy W. H. Partially balanced incomplete block designs with two associate classes and two treatments per block. — J. Res. Nat. Bur. Standards 1955, v. 54, p. 177—190.
Clerck F. de. Partial Geometries. — Thesis University of Ghent. 1978.
Clerck F. de. Dye R. H., Thas J. A. An infinite class of partial geometries associated with the hyperbolic quadric in PG(4n—1, 2).— Eur. J. Combinatorics, 1980, v. 1, p. 323—326.
Cohen A. M. A new partial geometry with parameters (s, t, a) = = (7, 8, 4). —J. Geometry, 1981, v. 16, p. 181 — 186.
Connor W. S. The uniqueness of the triangular association scheme. — Ann. Math. Stat., 1958, v. 29, p. 262—266.
Cvetkovii D. M., Doob M., Sachs H. Spactra of Graphs. — Theory and Application New York etc.: Academic Press, 1980. [Имеется перевод: Цветкович Д„ Дуб М., Захе X. Спектры графов. Теория и применение. — Наукова думка, Киев, 1984.]
Debroey I. Semi parti61e meetkunden. — Thesis, University of Ghent, 1978.
Debroey 1. Thas J. A. On semi partial geometries. — J. Comb. Th. (A), 1978, v. 25 p. 242—250.
Delsarte P An Algebraic approach to the association schemes of coding theory. — Philips Res. Repts. Suppl., 1973, v. 10. [Имеется перевод: Дель- сарт Ф. Алгебраический подход к схемам отношений теории кодирования. — М.: Мир, 1976.]
Delsarte Р., Goethals J.-M., Seidel J. J. Bounds for systems of lines and Jacobi polynomials. — Philips Res. Repts., 1975, v. 30, p. 91*—105*.
Dixmier S., Zara F. Essai d’une methode d’6tude de certains graphes H6s aux groupes classiques. — C. R. Acad. Sc. Paris, v. 282, Serie A, p. 259— 262.
[29/Dixmier S., Zara F. Etude d’un quadrangle gen6ralis6 autour deux de ses points non lies (препринт).
] Faima G., Cecconi G. A finite Buekenhout oval which is not projective. — Simon Stevin, 1982, v. 56. p. 121—127.
Games R. Частное сообщение.
Gewirtz A. The uniqueness of g(2, 2, 10, 56). —Trans. New York Acad. Sci., 1969. v. 31, p. 656—675.
Gewirtz A. Graphs with maximal even girth.— Can. J. Math., 1970, v. 21, p. 915—934.
Goethals J.-M., Seidel J. J. Strongly regular graphs derived from combinatorial designs. - Can. J. Math., 1970, v. 22, p. 597-614.
Goethals J.-M. Seidel J. J. The regular two-graph on 276 vertices.— Discrete Math., 1975, v. 12, p. 143—158.
Haemers W. H. Eigenvalue techniques in design and graph theory.— Thesis (Eindhoven) 1979 = Math. Centre Tract, v. 121, Amsterdam, 1980.
Haemers W. H. A new partial geometry consturcted from the Hoffman — Singleton graph. — In: Finite Geometries and Designs, P. J Cameron, J. W. P. Hirschfeld and D. R. Huges (eds.). — London Math. Soc. Lecture Note Series v. 49. Cambridge 1981, p. 119—127
Haemers W. Н., van Lint J. Н. A partial geometry pg(9, 8, 4). — Annals of Discr. Math.. 1982, v. 15, p. 205—212.
Hall M., Jr. Combinatorial Theory. — Blaisdell, 1967. [Имеется перевод: Холл M. Комбинаторика. — М.: Мир, 1970.]
Higman D. G. Invariant relations, coherent configurations and generalized polygons. — In: Combinatorics, M. Hall, Jr. and J. H. van Lint (eds.). — Math Centre Tracts 57, Amsterdam, 1974, p. 27—43.
Higman G On the simple group of D. G. Higman and С. C. Sims. — Illinois J. Math., 1969, v. 13, p. 74—80.
Hill R. Caps and codes. — Discrete Math., 1978, v. 22, p. Ill—137.
Hoffman A. J. On the uniqueness of the triangular association scheme. — Ann. Math. Stat., 1960, v. 31, p. 492—497.
Hoffman A. J., Singleton R. R. On Moore graphs with diameter 2 and 3. — IBM J. Res. Develop., I960, v. 4, p. 497—504.
Hollman H. D. L. Association schemes. — Master’s thesis, Eindhoven University of Technology, 1982.
Hubaut X L. Strongly regular graphs. — Discrete Math., 1975, v. 13, p. 357—381. [Имеется перевод: настоящий сборник, с. 160—185.]
Kageyama S., Saha G. M., Das A. D. Reduction of the number of association classes of hypercubic association schemes. — Ann. Inst. Stat. Math., 1978, v. 30, p. 115—123.
Kantor W. M. Strongly regular graphs defined by spreads.—Isr. J. Math., 1982, v. 41 p. 298—312.
Kantor W. M., Liebier R. A. The rank three representations of the finite classical groups. — Trans. Amer. Math. Soc., 1982, v. 271, p. 1—71.
Koornwinder T. H. A note on the absolute bound for systems of lines. — Proc. KNAW A79 ( = Indag. Math., v. 38), 1976, p. 152—153.
Крейн M. Г. Эрмитово-положительные ядра на однородных пространствах II. — Укр. матем. ж., 1950, № 1, с. 10—59.
[50а] Lam С. W Н. Thiel L., Swiercz S., McKay J. The nonexistence of ovals in a projective plane of order 10. — Discr. Math., 1983, v. 45, p. 319—321.
van Lint J. H., Seidel J. J. Equilateral point sets in elliptic geometry.— Proc. KNAW A69 ( = Indag. Math., v. 28), 1969. p. 335—348.
van Lint J H., Schrijver A. Construction of strongly regular graphs, two-weight codes and partial geometries by finite fields. — Combinatorica, 1981, v. 1, 63—73.
Mathon R. Three-class association schemes. — In: Proc. Conf, on Algebraic Aspects of Combinatorics, Toronto, 1975, p. 123—155.
Mathon R. Symmetric conference matrices of order p<72+L —Can. J. Math., 1978, v. 30, p. 321—331.
Mathon R. The partial geometries pg(5, 7, 3). — Congressus Numeran- tium, 1981, v. 31, p. 129—139.
[55a] Mathon R. Частное сообщение.
[55b] Mathon R., Rosa A. A new strongly regular graph.— J. Comb. Th. (A), 1985, v. 38, p. 84—86.
Mesner D. M. A new family of partially balanced incomplete block designs with some Latin square properties. — Ann. Math. Stat., 1967, v. 38, p. 571—581.
Neumaier A. Strongly regular graphs with smallest eigenvalue —m. — Arch. Math., 1979, v. 33, p. 392—400.
Neumaier A. New inequalities for the parameters of an association scheme. — Combinatorics and Graph Theory, Springer Lectire Notes, 1981, v. 885, p. 365—367.
{
59] Robertson N. Частное сообщение.
Scott L. L. A condition on Higman’s parameters. — Notices Amer. Math. Soc., 1973, 701-20-45 (page A-97).
Seidel J. J. Strongly regular graphs with (—1, 1, 0) adjacency matrix
having eigenvalue 3. — Lin. Algebra and Appl., 1968, v. 1, p. 281— 298.
Seidel J. J. A survey of two-graphs. — In: Proc. Intern. Colloq. Theorie Combinatorie (Roma 1973), tomo I, Accad. Naz. Lincei, 1976, p. 481 — 511.
Seidel J. J. Strongly regular graphs. — In: Surveys in Combinatorics, Proc. 7th Brit. Comb Conf, B. Bollobas (ed.), London Math. Soc. Lecture Note Series, v. 38, Cambridge, 1979, p. 157—180.
Seidel J. J.. Taylor D. E. Two-graphs, a second survey. — In: Proc. Intern. Colloq. Algebraic Methods in Graph Theory, Szeged, 1978, Coll. Math. Soc. Bolyai, v. 25, p. 689—711.
Shrikhande S. S. The uniqueness of the L2 association scheme. — Ann. Math. Stat.. 1959, v. 30, p. 781—798.
Sims С. C. On the isomorphism of two groups of order 44, 352, 000. — In: Theory of Finite Groups, Brauer and Sah (eds.), Benjamin, 1969.
Smith M. S. On the isomorphism of two simple groups of order 44, 352, 000, —J. Algebra, 1976, v. 41, p. 172—174.
Taylor D. E. Graphs and block designs associated with three-dimensional unitary groups.— In: Combinatorial Mathematics, Proc. 2nd Austr. Conf., D. A. Holton (ed.), Springer Lecture Notes, v. 403, Berlin etc. 1974, p. 128—131.
Taylor D. E. Regular 2-graphs. — Proc. London Math. Soc., 1977, v. 35, p. 257—274..
Thas J. A Combinatorics of partial geometries and generalized quadrangles.— In: Higher Combinatorics, M. Aigner (ed.). — Dordrecht: Reidel, 1977, p. 183—199. [Имеется перевод: Проблемы комбинаторного анализа. - М.: Мир, 1980, с. 82—100.]
Thas J. A. Some results on quadrics and a new partial geometries.— Simon Stevin, 1981, v. 55, p. 129—139.
[71a] Tonchev V. D. The isomorphism of Cohen. Haemers — van Linst and De Clerck — Dye — Thas partial geometries. — Discr. Math., 1984, v. 49, p. 213—217.
Wallis W. D„ Street A. P., Wallis J. Seberry Combinatorics: room squares, sum-free sets, Hadamard matrices. — Springer Lecture Notes, v. 292, Berlin etc., 1972.
Wilbrink H. A., Brouwer A. E. A(57, 14, 1) strongly regular graph does not exist. —KNAW A86 (= Indag. Math., v. 45), 1983. p. 117—121.
Wilbrink H. А. Частное сообщение.
Zara F. Частное сообщение.
Содержание
Д. ЛИ, Ф. ПРЕПАРАТА. Вычислительная геометрия. Обзор. Перевод
М. М. Комарова5
Л. ВЭЛЬЯНТ. Простые монотонные формулы для функции голосования.
Перевод В. М. Храпченко97
X. КОЭН, X. ЛЕНСТРА, мл. Проверка чисел иа простоту и суммы Якоби.
Перевод О. Н. Василенко101
X. ЛЕНСТРА. мл. Делители в классах вычетов. Перевод О. Н. Василенко
К. ЮБО. Сильно регулярные графы. Перевод А. А. Иванова160
А. Е. БРАУВЕР, И. X. ВАН ЛИНТ. Сильно регулярные графы и частичные геомерии. Перевод А. А. Иванова ............. 186
■ УВАЖАЕМЫЙ ЧИТАТЕЛЬ!
Ваши замечания о содержании книги, ее оформлении, качестве перевода и другие просим присылать по адресу: 129820, Москва, И-110, ГСП, 1-й Рижский пер., 2, издательство «Мир».
Научное издание
КИБЕРНЕТИЧЕСКИЙ СБОРНИК ВЫП 24
Сборник статей
Старший научи, ред. П. Я. Корсоюцкая
Младший научи, ред. Н. С Полякова Художественный редактор В. И. Шаповалов Художник Н. К. Сапожников Технический редактор Л. В. Козлова Корректор В. С. Соколов
ИБ № 6335
Сдано в набор 3.02.87г. Подписано к печати 13.07.87 г. Формат 60X 90/16. Бумага типографская № 1. Печать высокая. Гарнитура литературная. Объем 7.25 бум. л. Усл. печ. л. 14.50. Усл. кр.-отт. 14.50. Уч.-изд. л. 14.40. Изд. № 1/5531. Тираж 3500 эка. Зак. № зиб» Цена 2 р. 60 коп.
ИЗДАТЕЛЬСТВО «МИР» 129820, ГСП, Москва. И ИЗ, 1-й Рижский пер., 2
Отпечатано с матриц Ленинградской типографии № 2 головного предприятия ордена Трудового Красного Знамени Ленинградского объединения «Техническая книга» им. Евгении Соколовой Союзполиграфпрома при Государственном комитете СССР по делам издательств, полиграфии и книжной торговли. 198052, Ленинград, Л-52, Измайловский проспект, 29 в Ленинградской типографии № 4 ордена Трудового Красного Знамени Ленинградского объединения «Техническая книга» нм. Евгении Соколовой Союзполиграфпрома при Государственном комитете СССР по делам издательств, полиграфии и книжной торговли. 191126, Ленинград, Социалистическав ул., 14.
3) Fellow, IEEE, Coordinated Science Laboratory, University of Illinois, Urbana,
ЙНЛ’ :*»чг r; ■• •г-"© 1984 IEEE. Translated, with permis
4 Зак. 469
*) Схемы отношений (в частности, сильно регулярные графы), возникающие путем склепки классов в тех или иных схемах отношений, систематически изучались в работах советских математиков. См. обзоры: Клин М. X., Фарад- жев И. А. Метод У-колец в теории групп подстановок и его комбинаторные применения. — В кн.: Исследования по прикладной теории графов. — ВЦ СО АН СССР, Новосибирск, 1986, с. 59—97; Иванов А. А., Клин М. X., Фарад- жев И. А. Соответствие Галуа между группами подстановок и клеточными кольцами (схемами отношений). — В кн.: Баннаи Э., Ито Т. Алгебраическая комбинаторика. Схема отношений. — М.: Мир, 1987, с. 331—367. — Прим, перев.
представления неабелевых простых групп порядка меньше 10е. Ч. 2 (Пре
принт).— М.: ВНИИСИ, 1984) приведены результаты систематического исследования схем, получаемых склеиванием классов в схемах отношений, возникающих из примитивных представлений неабелевых простых групп порядка меньше 10е. Там, в частности, построено шесть новых сильно регулярных гра
фов с параметрами (и, к, X, ц), равными (144, 39, 6, 12), (231, 30, 9, 3),
(280, 36, 8, 4), (280, 117, 44,52),(280, 135, 70, 60), (506, 208. 72, 80), которые связаны с группами PSL(3, 3), Мм, 1г, А9, Л, Sz(8). При этом второй граф независимо построен Камероном (см. разд. 10А), а четвертый граф — дополнительный к упомянутому выше графу, построенному Мэтоном и Розой. — Прим, перев.. . . .. . . .
7 Зак. 469,..
Кибернетическийсборник
""—
НОВАЯ СЕРИЯ
выпуск
Сборник статей
Перевод с английского
ПОД РЕДАКЦИЕЙО. Б. ЛУПАНОВА
"»' МОСКВА «МИР» 1987
ББК 32.81
К 38 УДК 519.95
К38 Кибернетический сборник. Новая серия Вып. 24 Сб. статей: Пер. с англ. — М.: Мир, 1987.— 232 с., ил.
Продолжение серии, начатой изда1ельством «Мир» в 1965 г. В данном выпуске большой интерес представляет обзор Д. Ли и Ф. Препараты (США) основных результатов по вычислительной геометрии. Специалистов по комбинаторике, теории кодирования, дискретного анализа, алгебры и др. заинтересует цикл ста. тей но сильно регулярным графам и частичным геометриям, написанных К. Юбо (Бельгия), А. Браувером и Й. ван Линтом (США). Включены гакже небольшие статьи Л Вэльяита, X. Коэна и X. Леистры (США) по теории сложности и теории графов.
Для научных работников, инженеров-исследователей, аспирантов и студентов, занимающихся и интересующихся теоретической кибернетикой и ее приложениями.
кк1702070000—463041(01)—871702070000—463041(01)—874-87, ч. 14-87, ч. 1ББК 32.81ББК 32.81
к
к
1702070000—463
041(01)—87
1702070000—463
041(01)—87
4-87, ч. 1
4-87, ч. 1
ББК 32.81
ББК 32.81
Редакция литературы по математическим наукам
© состав, перевод на русский язык, «Мир», 1987
Вычислительная геометрия.
Обзор ')* ■
■ Л Ли), Ф. Нрепарато ‘\ ■
.пут .
Дается обзор исследований в области вычислительной геометрии — дисциплины, предметом исследований которой является сложность решения геометрических задач в рамках теории анализа алгоритмов. Эта недавно возникшая область исследований уже нашла многочисленные приложения в различных других областях, таких, как машинное проектирование, машинная графика, исследование операций, распознавание образов, робототехника и статистика. Обсуждаются пять главных направлений исследований: выпуклые оболочки, пересечения, поиск, близость и комбинаторная оптимизация. На примерах демонстрируются семь методов разработки алгоритмов: итерационное конструирование, заметание плоскости, геометрическое место точек, «разделяй и властвуй», геометрическое преобразование, поиск с отсечением и динамизация. Также включен набор преобразований задач, позволяющих получать нижние оценки сложности решения геометрических задач в рамках модели построения/проверки.
Ключевые слова и фразы. Алгебраическое дерево вычислений, анализ алгоритмов, комбинаторная оптимизация, вычислительная сложность, вычислительная геометрия, выпуклая оболочка, метод «разделяй и властвуй», метод динамизации, метод геометрического преобразования, метод заметания плоскости, близость. .
' h-.! :, . f«,J“.i - :• 1 4 ’V «>. Щ