Научная статья на тему 'Исследование дискретных задач: алгоритмы, графы, вычислительная геометрия'

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

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

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

Статья дает представление о дискретных задачах, которые изучались в Институте математики, и о результатах этих исследований.

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

Похожие темы научных работ по математике , автор научной работы — Сарванов Владимир

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

The study of discrete problems: algorithms, graphs, computational geometry

The article gives an idea of discrete problems that were studied at the Institute of Mathematics, and the results of these studies.

Текст научной работы на тему «Исследование дискретных задач: алгоритмы, графы, вычислительная геометрия»

■ нвучна-првктичасий журнал

1ЛЭУКЭ

1/1 инновации

<

00

Невозможно избавиться от чувства, что математические формулы живут собственной

жизнью и обладают собственным разумом, что они умнее нас, умнее даже тех, кто их открыл, что мы получаем из этих формул больше, чем в них было изначально заложено.

Генрих Герц

Исследование дискретных задач:

алгоритмы, графы,

вычислительная

геометрия

I

Лискретная математика - раздел математики, занимающийся изучением свойств объ-_ ектов конечного харак-I тера и не связанный с понятиями бесконечности, предела и непрерывности. Такого рода объектами являются, например, конечные множества точек и соединяющих их линий, функции, заданные на конечных множествах, многоугольники на плоскости и многогранники в пространстве.

Возникающие в приложениях дискретные (комбинаторные) мо-

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

а также теоретико-сложностных и перечислительных аспектов комбинаторных задач.

Начало исследованиям дискретных задач в нашей республике положил академик Д.А. Супрунен-ков середине 1960-х. В Институте математики НАН Беларуси (как и в республике в целом) эти изыскания развиваются в трех основных взаимосвязанных направлениях: комбинаторная оптимизация, теория графов и комбинаторная вычислительная геометрия. Имеется немало задач, которые с равным основанием могут быть отнесены к каждому из них. Например, многие задачи комбинаторной вычислительной геометрии и теории графов допускают естественную комбинаторно-оптимизационную постановку, а язык и результаты теории графов широко используются в двух других указанных областях.

Оптимизация и алгоритмы. Комбинаторная оптимизация имеет дело с задачами, в которых требуется выбрать из конечного множества вариантов (так называемых допустимых решений) наилучший в некотором смысле (то есть оптимальное решение). Число вариантов для поиска обычно очень велико. Решить такую задачу - значит разработать эффективный алгоритм, который «быстро» осуществляет требуемый выбор, при том что предложить «какой-то» алгоритм в большинстве своем легко - можно, например, просто перебрать все варианты. Как правило, организация такого перехода от одного варианта к другому без пропусков и повторений не является сложной проблемой, а основная трудность заключается именно в чрезвычайно высоком количестве вариантов. Таким образом, прямой

перебор определенно не может быть принят в качестве эффективного алгоритма. Общепринятая формализация интуитивного представления о быстром (эффективном) алгоритме - понятие полиномиального алгоритма. К этому классу относят алгоритмы, трудоемкость которых ограничена степенной функцией, зависящей от размера решаемой задачи. Под трудоемкостью здесь понимается число элементарных операций в процессе решения задачи. Таким образом, время выполнения полиномиального алгоритма на компьютере при решении задачи размера п не превосходит величины оп* для некоторых констант с и * и всех значений п. В этом случае говорят, что задача полиномиально разрешима и может быть решена за время О(п').

Указанная формализация, как и всякая другая, не лишена недостатков. Например, полиномиальный алгоритм, имеющий трудоемкость оп\ где, скажем, * = 100 и (или) с - огромное число, вряд ли можно назвать эффективным. Имеются и другие, не столь очевидные, патологии этой формализации. Тем не менее сам факт полиномиальной разрешимости задачи имеет принципиальное значение. После того как он установлен, дальнейшие усилия направляются на понижение степени полинома (то есть на уменьшение величины £). В большинстве случаев удается прийти к алгоритмам с оценками трудоемкости не выше чем О(п3). Какую трудоемкость алгоритма можно считать приемлемой для практических задач? На этот вопрос нельзя дать точный ответ вне контекста конкретной области приложений. С большой долей уверенности можно утверждать, что применение алгоритмов

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

Типичная задача комбинаторной оптимизации - знаменитая задача о коммивояжере, которой посвящены несколько монографий и сотни статей в серьезных научных журналах. Классическая ее версия формулируется следующим образом. Имеется п городов и заданы стоимости переезда из одного в другой для каждой пары этих городов. Коммивояжер должен, начиная с произвольно выбранного города, объехать все их так, чтобы посетить каждый город один раз и чтобы при этом суммарная стоимость всех переездов была минимальна. Поскольку выбор первого города не влияет на эту стоимость, то вариантами здесь являются всевозможные перестановки (п - 1) городов, задающие все возможные последовательности их посещения. Число данных вариантов равно (п - 1)!, и уже, скажем, при п = 40 решение задачи путем простого перебора всех вариантов невозможно даже с использованием самого современного компьютера, поскольку требуемое для этого время составит миллиарды лет. Между тем на практике приходится решать задачи с числом городов, измеряемым сотнями и даже тысячами. Например, поиск оптимального маршрута перемещения лазера при изготовлении современных микросхем приводит к задаче

коммивояжера, в которой число городов n превосходит 50 тыс.

Задача о коммивояжере обладает удивительной «универсальностью», возникая в очень многих разноплановых приложениях, внешне ничем не напоминающих ситуацию, в которой оказался мифический коммивояжер. Ей, как и большинству комбинаторных задач, присуще сочетание простой формулировки и трудного решения. Как уже было отмечено, алгоритм, состоящий в переборе всех вариантов, требует выполнения более чем (n - 1)! компьютерных (элементарных) операций и уже на интуитивном уровне не может считаться быстрым. Поскольку n! как функция от n не может быть ограничена никаким полиномом от n, то алгоритм полного перебора (n - 1)! перестановок не является полиномиальным. Более того, для задачи о коммивояжере не известно никакого полиномиального алгоритма решения и имеются веские, хоть и косвенные, доводы того, что построить подобный невозможно. Аналогичная ситуация - и со многими другими комбинаторными задачами, получившими название NP-трудных. Мнение о том, что для последних не существует полиномиальных алгоритмов, является общепринятым, однако сам этот факт до сих пор не доказан. Получение его доказательства (или опровержения) представляет собой одну из наиболее заметных нерешенных проблем современной математики. Составленный в 2000 г. Математическим институтом Клэя список из семи математических «проблем тысячелетия» (millenium problems) включает эту задачу. Отметим, что за решение каждой из указанных проблем объявлена награда в 1 млн долл.

На практике установление №Р-трудности задачи означает, что разработчику алгоритмов следует отказаться от попыток найти наилучшее решение. Альтернативой может послужить поиск «достаточно хорошего» решения (гарантированно или с большой вероятностью).

Графы и вычислительная геометрия. Граф, являющийся основным объектом исследований второго из названных направлений, можно представить себе (изобразить) как множество точек, называемых вершинами, и множество линий, называемых ребрами, которые соединяют некоторые пары этих точек. В теоретико-графовых терминах формулируется (моделируется) значительная часть прикладных задач, связанных с объектами дискретной природы. Наиболее естественно и без больших усилий теоретико-графовые модели строятся там, где сам моделируемый объект, по существу, уже является графом. Таковы, например, многие объекты, в названии которых фигурируют слова «сеть» или «схема». Это в первую очередь транспортные, телекоммуникационные сети (Интернет, мобильная связь), электрические и блок-схемы компьютерных программ. При проектировании и анализе такого рода объектов возникают задачи отыскания специального вида фрагментов (подграфов) в графах, выявления в графе «узких мест» и сильно насыщеных связями частей, построения оптимальных по различным критериям размещений (на прямой, на плоскости, в пространстве) и разбиений графов, а также перечисления графов с заданными свойствами.

Комбинаторная вычислительная геометрия как научное направ-

ление начала активно развиваться со второй половины 1970-х. Ее возникновение в наибольшей степени стимулировалось потребностями компьютерной графики и автоматизированного проектирования микросхем. Предметом исследований здесь являются геометрические объекты, имеющие конечное (дискретное) описание. Таковы, например, конечные наборы точек и отрезков, многоугольники на плоскости и многогранники в пространстве. Разработка и исследование алгоритмов и структур данных для эффективного оперирования объектами подобного рода - центральная задача комбинаторной вычислительной геометрии. Чтобы дать представление об этих задачах, приведем четыре из них, имеющие совершенно прозрачные постановки:

■ дано п точек на плоскости - найти две из них, расстояние между которыми минимально;

■ для заданного множества из п точек на плоскости построить его выпуклую оболочку, то есть минимальный выпуклый многоугольник, содержащий все эти точки;

■ для заданного множества из п отрезков на плоскости найти все пары пересекающихся отрезков;

■ разбить на треугольники заданный на плоскости многоугольник с п вершинами.

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

Скептически настроенному читателю подобные задачи могут показаться вовсе не сложными. Впечатление об их простоте и даже

тривиальности может сложиться из-за того, что при небольшом числе точек (отрезков) последние можно изобразить на плоскости и решить соответствующую задачу «визуально». Неприемлемость подобного «решения» связана в первую очередь с тем, что число n точек (отрезков) в реальных задачах чрезвычайно велико. В частности, при проектировании элементной базы современных компьютеров приходится иметь дело с миллионами точек, отрезков и других элементарных геометрических объектов. Такая же особенность характерна и для других прикладных областей. В этой ситуации непригодными оказываются и алгоритмы, основанные на бесхитростном переборе возможных вариантов. Например, для решения первой из указанных задач можно было бы вычислить расстояния между каждой из n(n - 1)/2 пар точек и выбрать пару с наименьшим расстоянием. Время работы (сложность, трудоемкость) такого алгоритма будет оцениваться величиной O(n2), то есть расти пропорционально квадрату числа точек. Заметим, что наилучший на сегодняшний день алгоритм решения рассматриваемой задачи имеет сложность O(n log log n), где символ log обозначает логарифм по основанию 2. Разница между n2 и n log log n становится огромной при достаточно большом n. Если, условно говоря, задачу со сравнительно невысоким числом точек n = 10000 алгоритм трудоемкости O(n log log n) решает за одну минуту, то алгоритму трудоемкости O(n2) понадобится около двух суток. Предполагается, конечно, что в обоих случаях будет использован один и тот же

язык программирования, а компьютеры - одинакового быстродействия.

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

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

Общая структура исследований.

Попытаемся дать представление о дискретных задачах, которые исследовались в Институте математики, и о результатах этих изысканий. Для большинства изучавшихся за-

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

Задача о коммивояжере. Из приведенной выше формулировки этой задачи ясно, что ее условие задается матрицей А = \\ац\\, где ау обозначает стоимость переезда из города I в город у. Проводились исследования, направленные на выявление классов матриц, для которых решение задачи можно найти за полиномиальное время. Первый из таких классов был найден еще в 1970 г. академиком Д. А. Супруненко. Он состоит из симметрических матриц, элементы которых возрастают с удалением от главной диагонали. В этом случае задача сводится к перебору маршрутов специального

вида (так называемых пирамидальных циклов). Существенно, что такой перебор можно выполнить полиномиальным алгоритмом, где степень полинома равна двум, то есть достаточно быстро. Этот результат имел принципиальный характер. Развитие метода его получения позволило добиться результатов подобного рода в других специальных случаях задачи о коммивояжере. В частности, дана полная ха-рактеризация матриц Монжа, для которых оптимум задачи о коммивояжере находится в множестве пирамидальных циклов; описан класс матриц, включающий пространство верхнетреугольных матриц, для которых задача о коммивояжере полиномиально разрешима; получены общие достаточные условия, сводящие решение этой задачи к поиску экстремума аддитивного функционала на множестве пирамидальных циклов.

Маршрут коммивояжера можно трактовать как подстановку из симметрической группы Бп, являющуюся полным циклом (то есть циклом длины п). Поэтому с задачей коммивояжера естественным образом связаны две комбинаторные структуры - множество полных циклов из Бп и многогранник (многогранник ЗК), являющийся выпуклой оболочкой матриц подстановок этого множества. Известная открытая проблема - полное описание данного многогранника. Под ним понимается список всех фасет многогранника, то есть граней максимальной размерности. Именно они представляют собой систему неравенств, определяющую многогранник.

В этом направлении исследований разработан метод построения в пространстве минимальной раз-

мерности различных релаксаций

многогранника задачи о коммивояжере на основе ее полиномиально разрешимых классов. Предложенный метод позволяет получать новые нижние оценки значений функционала задачи (то есть стоимости оптимального маршрута) и тем самым создает основу для разработки более эффективных алгоритмов частичного перебора типа «ветвей и границ». Кроме того, он предоставляет возможности для выделения новых классов фасет многогранника ЗК. Еще один класс фасет последнего выделен в линейной системе неравенств, описывающей многогранник регулярных подстановок симметрической группы. Изучался граф-остов многогранника ЗК и имеются результаты по описанию этого графа.

Поскольку матрицу задачи о коммивояжере, имеющую ранг г, можно представить в виде г матриц ранга 1, то случай, когда ранг матрицы задачи равен 1 представляет особый интерес как в определенном смысле не упрощаемый. Показано, что решение задачи о коммивояжере с матрицей ранга 1 можно получить «склеиванием» подци-клов решения задачи о назначениях. На этой основе разработан асимптотически точный алгоритм построения приближенного решения. Доказано, что даже при указанных упрощениях задача о коммивояжере остается ЛР-трудной этой задачи. Следует отметить, что вопрос о сложностном статусе этой упрощенной версии долгое время оставался открытым.

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

ность «отсеивать» экспоненциальное число вариантов за время работы, растущее как полином от размера входа задачи. Отметим, что хотя этот подход в стенах Института математики далее не разрабатывался, впоследствии он был основательно развит в значительном числе работ зарубежных авторов.

Помимо классической задачи о коммивояжере, исследовался минимаксный вариант последней. В минимаксной задаче требуется найти маршрут, у которого максимальная из стоимостей переездов принимает минимальное значение (минимум берется по всем маршрутам). Для этой задачи с метрической матрицей стоимости разработан приближенный алгоритм кубической сложности с неулучша-емой (если РфЛР) оценкой точности. Ключевую роль в нем играет процедура построения гамильто-нова цикла в квадрате 2-связного графа, представляющая самостоятельный интерес. Показано, что если Р^ЛР, то за полиномиальное время невозможно построить приближенное решение минимаксной задачи коммивояжера на плоскости с гарантированной относительной погрешностью, меньшей чем V-.

Гамильтоновы графы. Граф называется гамильтоновым, если он содержит простой цикл, проходящий через каждую его вершину. Сам этот цикл также называется гамильтоновым (как и простая цепь с таким свойством). Задача выяснить, содержит ли граф гамильтонов цикл, является ЛР-трудной как в общем случае, так и для большинства естественных классов графов. Эта задача тесно связана с задачей о коммивояжере, особенно с ее минимаксным

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

В этом направлении получены достаточные условия гамильтоново-сти планарных графов. Одно из них дает частичное подтверждение известной гипотезы Барнетта о га-мильтоновости двудольного простого 3-политопа, а другое связывает гамильтоновость графа с наличием в нем тотальных граней. Найдены достаточные условия га-мильтоновости графов с заданным локальным строением, в частности локально связных и е-локаль-но связных. Получены результаты по классификации и гамильтоново-сти графов с ограничениями на локальную структуру. Установлены свойства спектра матрицы смежности графа, которые обеспечивают его гамильтоновость.

Показано, что проблема гамиль-тоновости планарных кубических 3-связных графов сводится к такой же - для циклически 4-связ-ных графов.

Предложены быстрые полиномиальные алгоритмы нахождения числа гамильтонова пополнения для некоторых классов графов.

Специальные нумерации вершин графа. Под вершинной нумерацией f графа с п вершинами понимается приписывание каждой его вершине числа из множества {1, 2,. . ., п} так, чтобы все приписанные числа были различны. Ясно, что число неодинаковых нумераций будет равно и!, если смежным вершинам х и у при нумерации / приписаны числа /(х) и /(у) соответственно, то соединя-

ющему их ребру ху приписывается число (длина ребра) \/(х) - /(у)\, а самой нумерации / - число п>(/), равное наибольшему из чисел, приписанных ребрам. Это число называется шириной нумерации/ а минимальное среди всех нумераций значение п>(/) - шириной графа. Сама нумерация в данном случае именуется минимаксной.

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

Разработаны приближенные алгоритмы нахождения минимальных по ширине и профилю нумераций графа. Доказана полиномиальная разрешимость задачи о профиле деревьев (трудоемкость соответствующего алгоритма составляет 0(и2,3)).0тметим, что задача о профиле графа непосредственно связана с решением больших разреженных систем линейных уравнений. Для отыскания минимальной по фронту нумерации деревьев разработан эффективный алгоритм. Доказано, что уже для кубических графов задача о фронте является ЫР-трудной, то есть указанный результат в определенном смысле не улучшаем. Показано, что задачи о наибольшем независимом множестве, раскраске графа, максимальном разрезе и ряд других ЫР-трудных модельных задач полиномиально разрешимы в классе ^-фрон-

тальных графов с ограниченным фронтом.

Задачи построения «хороших» нумераций возникают при автоматизации проектирования интегральных схем на этапе размещения элементов схемы. Последние интерпретируются как вершины, а ее соединения - как ребра этого графа. Нетрудно понять, что всякой нумерации вершин целыми числами от 1 до и соответствует размещение вершин графа на прямой в позициях {1, 2,. . ., и}. Тогда минимаксной нумерации графа будет соответствовать такое размещение элементов схемы, при котором длина самого максимального по протяженности соединения принимает минимальное из возможных значений. Длины соединениям размещенной схемы приписываются так же, как выше - ребрам графа при нумерации /

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

Продолжение в №12

Владимир Сарванов,

завотделом комбинаторных моделей и алгоритмов Института математики НАН Беларуси,

кандидат физико-математических наук

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