ИЗВЕСТИЯ
ТОМСКОГО ОРДЕНА ОКТЯБРЬСКОЙ РЕВОЛЮЦИИ И ОРДЕНА ТРУДОВОГО КРАСНОГО ЗНАМЕНИ ПОЛИТЕХНИЧЕСКОГО ИНСТИТУТА им. С. М КИРОВА
Том 223 1972
ОБ ОДНОМ АЛГОРИТМЕ УКРУПНЕНИЯ ГРАФА
Ю. Н. ЕФИМОВ, В. И. КИЗЕВ, /В. И. НЕВРАЕВ/, П. А. СЕДЕЛЬНИКОВ
(Представлена научным семинаром УВЛ)
Непрерывный технический прогресс неизбежно выдвигает ряд новых задач и требований ко всем отраслям науки и техники, вызывает к жизни новые научные направления.
Актуальной проблемой нашего времени является задача управления большими системами со сложными взаимосвязями. Разнообразие и сложность функций, свойственных большим системам, выдвигает специфические условия подхода ¡к их анализу и синтезу.
В ряде случаев для анализа больших систем может быть успешно применена теория графов, которая в настоящее время (находит широкое применение при решении самых разнообразных задач.
В некоторых случаях неудобно пользоваться графами с большой размерностью, потому возникает задача преобразования (укрупнения) заданного графа в граф с меньшей размерностью, сохраняющий основные взаимосвязи и параметры исходного. Известные алгоритмы такого преобразования [1, 2], используемые в системах СПУ, предполагают предварительное разбиение сетевой модели на отдельные фрагменты или блоки. В условиях функционирования системы оперативного планирования и управления предприятием с дискретным производством сетевая модель составляется по общей или угловым спецификациям. При этом часть полной номенклатуры изделия в силу различий в конструкторской и технологической документации может оказаться не контролируемой и должна быть исключена из анализируемой модели. В этом случае возникает задача укрупнения графа то заданному списку исключаемых вершин. При этом необходимо произвести эквивалентное преобразование его методики.
В данной работе предлагается алгоритм решения этой задачи. Пусть исходный граф задан 'множеством вершин / и их прямым или обратным отображением Г/ .
0= (7,Г).
Также задано подмножество подлежащих исключению вершин Г = {/'} множества I,
Будем считать, что метрика г .графа относится к дугам. В случае, если метрика г отнесена к вершине, то без нарушения общности можно считать, что она относится ко всем дугам, входящим в данную вершину. Однако в дальнейшем для простоты изложения индексация метрики будет производиться по вершинам графа г. Укрупнение графа произво-
дится путем ряда последовательных преобразований во времени просмотров исходного графа и его фрагментов.
При первом просмотре топологии графа из нее выбираются «кусты»: вершины г и их отображения Гг с относящейся к ним метрикой г{ , для которых а на их место в топологию записываются нули. В результате этого будут выделены «кусты», представленные следующим образом:
После этого производится укрупнение «кустов». Для этой цели в памяти машины выделяется два поля. Выбранные «кусты» находятся в-первом поле. Процесс укрупнения 'начинается с просмотра первого поля и записи результата укрупнения во второе поле, затем производится просмотр второго поля и результат укрупнения записывается в первое поле и т. д.
При 'первом просмотре «кустов» выбираются такие вершины которые входят в отображение ГгА некоторой вершины 1'ь * Элементы отображения найденных вершин ГУ включаются в отображение вершины ¿/г, а из отображения этой вершины выбрасываются те его элементы, которые образуют пересечения с остальными вершинами. Таким образом, «куст» после первого просмотра будет записан во второе поле в следующем виде:
¿л(гьк и 1>\г/; п 0/(г/; П П Ф 0.
При этом производится эквивалентное преобразование метрики:
где Я— символ произвольной операции.
Аналогичные операции производятся над всеми вершинами «кустов». Затем первое поле очищается и описанная выше процедура производится над «кустами» 'второго поля. Процесс заканчивается тогда, когда
В худшем случае требуется <ртах(0 + 2 просмотров «кустов», где ф (/) — порядковая функция вершин графа [3].
По окончании процесса укрупнения «кустов» они вставляются в исходную топологию вместо отображений исключаемых вершин, после чего «кусты» топологии будут иметь вид
Н (П* и Гг \Г,4 П к )/(Г/ П ПФ0.
14 -Лк
При этом также производится преобразование метрики
(пкЯп>)/(т1/г ПО^0.
Таким образом в результате работы алгоритма происходит укрупнение топологии графа с эквивалентным преобразованием метрики. В предельном случае рассмотренный алгоритм позволяет в исходном графе исключить все вершины, кроме источников и стоков, что может быть использовано при получении самой общей модели производства изделия.
Алгоритм инвариантен по отношению к способу задания исходного графа, т. е. граф может быть задан в форме
б = (/, Гг) или С = ГГ1).
Предложенный алгоритм не требует предварительного упорядочения исходного графа ¡по возрастанию порядковой функции его вершины.
На основании вышеизложенного алгоритма была составлена программа для ЭЦВМ «Урал-11Б». Программа состоит из ряда последовательно работающих блоков.
Блок 1 осуществляет выборку «кустов» из исходной топологии графа по описку исключаемых вершин. Блок 2 осуществляет укрупнение кустов с преобразованием метрики. Блок 3 компонует результат укрупнения «кустов» и исходную топологию графа.
Программа содержит 450 команд. Время работы .программы для графа с 4000 вершин, коэффициентом сложности 5 и количеством подлежащих исключению вершин, равном 400, составило 3,5 мин.
ЛИТЕРАТУРА
1. С. И. 3 у х о в и д к и й, И. А. Р а д ч и к. Математические методы сетевого планирования. М., Изд-во «Наука», 1965.
2. Ю. Н. Ефимов. Временной анализ крупных сетевых графиков блочной струк* туры. Изв. ТПИ, т. 203. Изд-во ТГУ (в печати).
3. К. Б е р ж. Теория графов и ее применение. М., изд-во ИЛ, 1962.
2. Заказ 7462*