Моделирование оптимальных сетевых структур на базе графов кодовых пересечений при объединении произвольных сетей

Вестник МГТУ, том 14, №4, 2011 г.

стр.789-798

УДК 519.711 : 519.712

Моделирование оптимальных сетевых структур на базе графов кодовых пересечений при объединении произвольных сетей

1 2

Л.Ф. Борисова , Н.М. Путинцев

1 Судоводительский факультет МА МГТУ, кафедра радиотехники ирадиотелекоммуникационных систем

2 Технологический факультет МГТУ, кафедра химии

Аннотация. Предложена формулировка и способы решения задачи моделирования оптимальных сетевых структур на базе графов кодовых пересечений при объединении произвольного числа произвольных сетей. Разработанный подход позволяет существенно сократить алгоритмическую сложность оптимизационной задачи и требования к мощности вычислителя по сравнению с традиционным подходом.

Abstract. The definition and ways of decision for the problem of modeling of optimum network structures on the basis of code intersections' graphs at joining an arbitrary number of arbitrary networks have been proposed. The given approach allows to reduce essentially algorithmic complexity of the optimizing problem and the requirements to capacity of the calculator in comparison with the traditional approach.

Ключевые слова: граф кодовых пересечений, матрица пересечений номеров вершин графа, функция энтропии, систематическое приоритетное порождение, эвристический поиск, оптимизация

Key words: code intersections' graph, matrix of intersections of graph tops' numbers, entropy function, regular priority generation, heuristic search, optimization

1. Введение

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

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

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

2. Базовая математическая модель объединения произвольных графов в единый граф

Требования к единой сети при объединении произвольного числа произвольных сетей в наиболее общем случае могут быть сформулированы в следующем виде:

789

Борисова Л. Ф., Путинцев Н.М. Моделирование оптимальных сетевых структур...

1) Единая сеть (ассоциация) гибко включает в себя произвольное число произвольных сетей (автономных, локальных), имеющих различные топологии и связанные с ними различные физические параметры (скорости, физические среды, виды и размеры объектов перемещения (транспортных единиц), тарифные политики и др.).

2) Локальная (автономная) сеть, входящая в состав единой сети (ассоциации), работает автономно и независимо при транспортировке объектов перемещения в пределах этой сети.

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

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

В терминах теории графов базовая математическая модель объединения произвольного числа произвольных графов может быть сформулирована и решена с использованием понятий и определений графов кодовых пересечений (Борисова, 2006; 2007б). При этом каждой сетевой топологии ставится в соответствие некоторый граф с множеством вершин, соответствующим множеству узлов сети, и множеством дуг (ребер), соответствующим множеству линий (каналов, путей) сети. Задача объединения произвольного числа произвольных графов при использовании свойств графов кодовых пересечений сводится к построению единого связного надграфа, изоморфного заданным исходным произвольным графам, который является порожденным подграфом ГКП (1111 ГКП), и присвоению специальным образом вершинам исходных графов кодированных номеров из множества номеров вершин ПП ГКП. Впервые метод присвоения узлам, принадлежащим автономным подсетям, номеров узлов ГК1 применительно к системам связи был предложен автором в работе (Кузнецова, 1984). В дальнейшем метод был модифицирован и использован для информационно-графического отображения сетевых топологий при решении транспортных задач (Борисова, 2007а).

Формулируем центральное утверждение, которое лежит в основе формулировки и доказательства оптимизационных задач. Используем понятия и термины теории графов (Оре, 1980), теории матриц (Ланкастер, 1982) и теоретические положения графов кодовых пересечений,

разработанные в работе (Борисова, 2006). Пусть T автономных сетей с произвольными топологиями представлены в виде Т ориентированных графов G(Xt, Yt), имеющих множества вершин Xt, мощностями \Xt\ = pt, и множества дуг Yt мощностями |Yt|, t = 1, ..., T, и не имеющих истоков и стоков.

Утверждение. Для любых Т ориентированных графов G(Xt,Yt), t = 1, ..., T, можно построить связный изоморфный надграф G(A,V) с множеством вершин A = UtT= 1 Xt и множеством дуг V Е UtT= 1 Yt, являющийся порожденным подграфом ГКП(п, k, r) с параметрами: п - длиной кодовой комбинации номера вершины, k - основанием кода, r - мощностью пересечения кодовых комбинации номеров вершин, т. е.

UTt=1 G(Xt, Yt) UV ~ G(A, V) l ГКП(п, k, r),

где

V = V / UtT= 1 Yt

- дополнение, множество дуг, соединяющих вершины непересекающихся графов. Множество V может быть пустым. Элементы множества V в дальнейшем называются мостами.

Доказательство. Вводим понятия матриц специальных видов для представления ГКП - блочнодиагональных, БДМ, и матриц пересечений номеров, МЛН, которые имеют вид (Борисова, 2002; 20076):

БДМt =

МИН, =

A \2

a2 i A 22

Аг.. AV

...

A1 %Lt

где для Vt l T строки блоков А\ф 0, i = 1, ..., Lt матрицы БДМ, соответствуют вершинам из Atim, а столбцы соответствуют вершинам из Atmi t-го графа, A\m, Almi l Xt:

790

Вестник МГТУ, том 14, №4, 2011 г.

стр.789-798

Am = ли U-U+xtxU U-U+U-U+xtlU ... U U-U+...U-U+xtx,

Atm, = U+xtxU U+U-U+xtxU U+U-U+U-U+xtxU ... U U+U-U+.U-U+xtx,

u+Л, 11 = 0, pt- множество вершин, в которые входят дуги, исходящие из вершины Л графа G(Xt, Yt), U-x 1 1 = 0, ..., pt - множество вершин, из которых исходят дуги, направленные в вершину Л графа G(Xt, Yt), U+U- xt1 - множество вершин, в которые входят дуги, исходящие из множества вершин и~Л и т.д. По построению, Atim есть множество вершин, из которых исходят дуги, направленные только в вершины множества Atmi, а Atmi есть множество вершин, в которые входят дуги, направленные только из множества вершин Atim для Vi I [1,Lt]. Множества Atim и Atmi, i I [1,Lt] образуют непересекающиеся

множества вершин t-го графа. Элементы матрицы МПН AtiJ- = Atim I Atmj-, i, j = 1, Lt представляют собой

векторы, полученные пересечением множеств вершин Atim и Atmj.

Матрица пересечений номеров ГКП(п, k, r) МПНГКП есть квадратная матрица размером (k- r х k- r), элементами которой являются векторы, представляющие собой множества пересечений номеров вершин ГКП(п, k, r) вида

Bj = Bm П Bmj= {(i - 1) + (j - 1) k + % kn-r}, % = 0, 1, 2, ., k, ij = 1, ., L, причем |Bm П ULi=1 Bmj| = Bmj П UV: Bm| = k.

Основным свойством МПНГКП является то, что по ее структуре можно легко определить дуги, связывающие вершины в ГКП, и связанные с ними номера вершин. Номера вершин ГКП расположены в позициях МПНГКП так, что из любой вершины с номером b е Bj, j = 1, ..., L любого из множеств k-й строки исходят дуги, входящие в любую вершину с номером, который принадлежит любому множеству Bik i = 1, ..., L k-го столбца (рис. 1). Другое свойство МПН является следствием строгой формализованности ее структуры - она зависит только от параметров n, k, r ГКП и не зависит от наполнения позиций матрицы ненулевыми элементами. Если элементы, стоящие в позициях МПН, являются не одиночными, а векторными, характер связей между

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

В ходе доказательства утверждения разработан алгоритм построения связного надграфа G(A,V), изоморфного заданным графам, который является порожденным подграфом 1111 ГКП(п, k, r). Алгоритм включает следующую последовательность процедур:

1) Построение блочно-диагональных матриц БДМ G(Xt, Yt), t = 1, ..., T.

2) Построение матриц пересечений номеров вершин МПН G(Xt, Yt), t = 1, ..., T.

3) Построение объединенной матрицы пересечений номеров вершин МПН G(A, V).

4) Выбор процедуры нумерования вершин графов - совмещенное или раздельное.

5) Определение параметров n и r при заданном значении параметра k ПП ГКП(п, k, r).

6) Присвоение вершинам произвольных графов кодированных номеров вершин ГКП(п, k, r).

Подробное доказательство утверждения приведено в работе (Борисова, 2007а). Т.к.

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

Сформированная L х L - матрица МПН G(A, V) задает топологию изоморфного надграфа заданных произвольных графов, являющегося ПП ГКП(п, k, r), с параметрами п и r при заданном параметре k, равными

r = elogk max Amj |u + logk eLu, ij = 1, ., L,

n = elogk max | AinnAmj |u + 2 logk eLu, ij = 1, ..., L,

i,j

L = maxTLt, ULt,=1 A*m = ULt,=l A‘m, = X, где exu - наименьшее целое, не меньшее х.

Выражения (2, 3) позволяют вычислять параметры ПП ГКП(п, k, r) для любого числа произвольных орграфов без непосредственного построения матриц БДМ и МПН. Структура ПП ГКП

Рис. 1. Схема определения связей вершин в ГКП по МПН

791

Борисова Л. Ф., Путинцев Н.М. Моделирование оптимальных сетевых структур...

полностью сохраняет структуры объединяемых МПН G(Xt, Yt), является гибкой в отношении добавления и исключения вершин, дуг, матриц, допускает варьирование своей структуры в целях оптимизации с сохранением структур входящих в нее подматриц и, наконец, является компактной и экономичной в отношении требуемой памяти ЭВМ.

Объединенная МПН получается путем объединения элементов Т матриц пересечения номеров исходных графов, находящихся в одинаковых позициях. Она используется для формирования структуры объединенного графа. Формирование топологии единой сети выполняем путем введения мостов, которые соединяют между собой исходные графы и могут быть сосредоточенными или рассредоточенными. Рассредоточенный мост при объединении двух графов представляет собой дугу, соединяющую две вершины, принадлежащие разным графам. В этом случае каждая вершина a I Aj, соединенная мостом, получает персональный кодированный номер из множества номеров 1111 ГКП(п, k, r): {(i - 1) + (j - 1) k + £ kn~r}, £ = 0, 1, 2, ..., k, ij = 1, ..., L. Эти номера соответствуют прямому зацеплению кодовых комбинаций номеров вершин ГКП (Борисова, 2006). Сосредоточенный мост представляет собой дугу, стянутую в точку (интегрированный пункт, узел), которая совмещает две или более вершины, принадлежащие разным графам. В этом случае единой (совмещенной, интегрированной) вершине, принадлежащей двум и более исходным графам, присваивается один и тот же кодированный номер.

Доказательство утверждения выполнено применительно к ориентированным графам. Используя наряду с прямым зацеплением кодовых комбинаций также обратное зацепление (Борисова, 2006), полученный результат можно распространить на случай неориентированных графов.

Объединенный граф может быть конструктивно построен. Однако его параметры n и r не обязательно являются минимально возможными для исходных графов, т. к. эти графы объединяются случайным образом. Оптимизация структуры объединенного ГКП представляет собой сложную вычислительную задачу, которая может быть выполнена с использованием методов динамического программирования.

3. Оптимизационная задача нелинейного программирования

Используем базовую математическую модель объединения произвольных графов, теорию и методы комбинаторного анализа (Рейнгольд и др., 1980) и теоретические положения графов кодовых пересечений (Борисова, 2006; 2007а;б). Пусть T ориентированных графов G(Xt, Yt), имеющих множества вершин Xt, мощностями |Xt|, и множества дуг Yt, мощностями |Yt|, t = 1, 2, ...T, и не имеющих истоков и стоков представлены своими Lt х Lt матрицами МПН Mt = AyH, причем вектор вершин Atij в ij-ой

позиции матрицы Mt определяется в соответствии с выражением (1).

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

При представлении ГКП в виде матрицы МПН мерой степени структурной однородности может служить функция энтропии:

H{pij} = £Ly=1 Pij lg(1 /p,j), i, j = 1, 2, 3, ...L,

где {pij} - вектор вероятностей появления вершин в непересекающихся множествах вершин при разбиении множества вершин произвольного графа на непересекающиеся множества вершин. Очевидно,

Pij = | A,j | / | A |, A = UTt=i X, i, j I [1, L],

где Aij = Ukt= Ati j, k I [1, T] - есть вектор вершин в ij-ой позиции L х L объединенной МПН ПП ГКП, полученный объединением одноименных векторов из МПН объединяемых графов.

Функция энтропии выбрана в качестве критерия оптимизации благодаря следующим ее свойствам:

1) она симметрична относительно pij, т.е. не зависит от взаимного расположения A, в МПН;

2) она достигает своего максимума на векторе с максимальной однородностью: pu = pkii = pmn = pL,L = 1/L2 при V k,l,m,n I [1, L];

3) она достигает своего минимума, равного нулю, на векторе с минимальной однородностью: p1,1 = 1,p1,2 = pk,i = pm,n = pll = 0, при V k, l, m, n I [1, L];

4) она монотонно возрастет от точки минимума до точки максимума: если а изменяется от 0 до 1/L2, H[1 - (L2 - 1) а, а, ..., а], монотонно возрастет.

792

Вестник МГТУ, том 14, №4, 2011 г.

стр.789-798

Тогда задача построения объединенного связного надграфа G(A, V) с множеством вершин A = UTt=1 Xt и множеством дуг V Е UTt=1 Yt, изоморфного произвольным исходным графам, заключается в построении оптимальной в смысле максимальной однородности (в функции энтропии) объединенной МПН M = \AijW ПП ГКП. Такому графу соответствует ПП ГКП(п, k, r) с минимальными по величине структурными параметрами n и r при заданном параметре к. Оптимизационную задачу формулируем в следующем виде.

Задача нелинейного программирования. Построить для Т неоднородных и несоразмерных Lt х Lt матриц Mt = \\ A*j \\, i, j = 1, 2, ...Lt, вида МПН, элементами которых являются векторы Atij, t I Т, объединенную L х L матрицу МПН

M = | | A 1]t \ | = U т= i M, A j = U/j, L = к Л (nopt - ropt),

tlT

^opt ~ gk max |A pt lu + £logk loptu, nopt = ropt + elogk loptu,

i,j = 1,.,lopt

которая соответствует псевдографу кодовых пересечений ПП ГКП (n, к, r) c параметрами nopt и ropt при заданном параметре k и удовлетворяет условию

max H {pij} = max dji pip log(1/p,ij), pj = \ Ap \ / \ A \,

maX \ A \ = X t=1 X i,j=1 \ Aijt L lopt = imax = jmax 1 max H {pij},

где A - множество значений l, полученных при различных вариантах объединения Т графов, ехи -наименьшее целое, не меньшее х, "Л" - операция возведения в степень.

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

4. Выбор и обоснование стратегии поиска оптимального решения

Сформулированная нелинейная оптимизационная задача достаточно сложна как для анализа, так и для программной реализации. Решение ее в общем случае требует порождения и исследования множества комбинаторных объектов. Объектами исследования в рассматриваемой задаче являются графы, представленные в виде матриц МПН. Учитывая структурные свойства МПН, на каждом шаге процедуры порождения новая объединенная матрица МПН без потери информации о структурах исходных графов может быть получена путем сдвига одной из составляющих ее локальных матриц МПН, которая соответствует некоторому графу, вдоль главной диагонали общей рабочей матрицы с последующим объединением в /j-вектор элементов локальных матриц, расположенных в одинаковых позициях i и j объединенной рабочей матрицы МПН. Размеры рабочей матрицы МПН могут быть фиксированными или динамически изменяться.

Возможны два различных подхода к реализации процедуры порождения - систематическое порождение всех возможных конфигураций векторных объектов и порождение равномерно распределенных случайных конфигураций. Если считать, что цель систематического и случайного порождения состоит в задании определенного соответствия между локальными МПН 1, МПН 2,..., МПН Т и конечной объединенной МПН, то различие в подходах можно свести к следующему.

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

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

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

793

Борисова Л. Ф., Путинцев Н.М. Моделирование оптимальных сетевых структур...

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

«Vo А\-Т = oVo (Т!/(Т - 5)!) - Т

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

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

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

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

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

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

Типичным эвристическим методом в задачах оптимизации является поиск решений, которые в некотором смысле оптимальны локально, а не глобально. При этом ожидается, что проигрыш в стоимости найденных (квазиоптимальных) решений будет умеренным. Лучше всего рассматривать эвристику в качестве некоторого правила влияния, которое, хотя и не гарантирует глобального оптимума (как детерминированный алгоритм или процедура принятия решения), но позволяет быстро найти удовлетворительный локальный оптимум.

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

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

794

Вестник МГТУ, том 14, №4, 2011 г.

стр.789-798

Эти свойства позволяют при порождении новых матриц МПН использовать пошаговый сдвиг t-ой (t I T) локальной МПН, вдоль главной диагонали рабочей матрицы, а подсчет результатов вести только в пределах локальной рабочей зоны [(Lt + 1) х (Lt + 1)], Lt I l, ограниченной размерами сдвигаемой матрицы, что существенно сокращает время, необходимое для отыскания оптимального результата.

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

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

Основной алгоритм, реализующий идею "восхождения на гору", можно сформулировать следующим образом.

(1) Находясь в данной точке пространства состояний, применить правила порождения нового множества возможных решений.

(2) Если одно из новых состояний является решением проблемы, прекратить процесс. В противном случае перейти в то состояние, которое характеризуется наивысшим значением оценочной функции. Вернуться к шагу (1).

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

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

Ускорить получение локального оптимума можно, если в процедуре порождения локальные МПН в процессе выбора для сдвига считать неравноправными и выбор сдвигаемой МПН производить на приоритетной основе, например, ранжируя локальные МПН по размеру.

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

(1) выбор локальной матрицы для сдвига, сдвиг локальной матрицы на одну позицию вдоль главной диагонали рабочей матрицы;

(2) порождение - формирование новой матрицы МПН путем объединения элементов в каждой позиции рабочей матрицы в вектор, определение параметров ПП ГКП(и, k, r);

(3) определение значения оценочной функции и его анализ - значение оценочной функции удовлетворяет критерию оптимальности?: ДА ^ 5, НЕТ ^ 4;

(4) отбрасывание решения, ^ 1;

795

Борисова Л. Ф., Путинцев Н.М. Моделирование оптимальных сетевых структур...

(5) принятие решения, прекращение процесса.

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

5. Оптимизационная задача линейного программирования и методы ее решения

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

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

В нашем случае основной проблемой, определяющей сложность поставленной задачи, является необходимость работы с трехмерными объектами. Упростить оптимизационную задачу можно, модифицировав структуры используемых математических объектов так, чтобы понизить их размерность. Для этого каждый вектор Atp = {xt/p}, расположенный в p-ой позиции t-ой МПН Mt = || Atp ||, i, j = 1, 2, ..., Lt, t e [1, T], заменяем его мощностью wtp = | A\p | и определяем соответствующий идентификатор мощности. Такая замена существенно упрощает структуры массивов данных и снижает размерность оптимизационной задачи в целом. В результате трехмерные двоичные массивы МПН заменяются двумерными массивами с произвольными значениями элементов - матрицами мощностей пересечений (ММП) кодовых комбинаций номеров вершин графов Mt = || wtip ||, элементами которых являются wtij = | Atp | (рис. 2).

Щ

Щ Wy

Рис. 2. Схема преобразования МПН в ММП: а - исходная МПН; б - преобразованная ММП

Aspt = {4>, t€T

>

j

Операция объединения трехмерных объектов заменяется операцией суммирования двумерных объектов:

В результирующей объединенной I х I матрице по идентификатору мощности восстанавливаются векторы вершин исходных графов. Заметим, что при этом wp = | Ajt |, где Apt -множество векторов A^, te T, расположенных в /p-ой позиции объединенной МПН.

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

Мерой структурной однородности единой ММП может служить выполнение для любого ее элемента ограничения

V wp < W,

при котором функция энтропии достигает своего максимума в заданном окне поиска W.

С учетом введенных замен и принятых требований к оптимальности формулируем оптимизационную задачу в следующем виде.

796

Вестник МГТУ, том 14, №4, 2011 г.

стр.789-798

Задача линейного программирования. Построить для заданного множества Т неоднородных и несоразмерных квадратных Lt x Lt матриц Mt = iWlI, i, j = 1, 2, ...Lt, t = 1, 2, ...T, объединенную квадратную L x L матрицу вида ММП

wj = ^te T ^i, je [1, l] w ip

L = k {n0pt — ropt),

ropt = I logk Wopt I + I logk lopt I , nopt = ropt + I logk ^opt I ,

которая соответствует псевдографу кодовых пересечений 1111 ГКП(п, k, r) с параметрами n иг при заданном параметре k и удовлетворяет критерию оптимальности

Wopt = max Wij < Wo,

,VK 11

lopt = max l < Loo,

le3

где 3 - множество значений l, полученных при различных вариантах объединения Т графов, ехи -наименьшее целое, не меньшее х, "Л" - операция возведения в степень, { W0, L0} - окно поиска.

Размеры окна поиска определяются величинами оптимальных параметров n и г при заданном параметре k, поэтому окно должно быть как можно меньшим. Минимальные размеры окна поиска определяются в соответствии с выражениями:

W0 = k Л е logk max Wj и, ije [1, Lt]

L0 = k л е logk max Lt u.

teT

Варьируя размеры окна поиска, можно изменять величины параметров n иг при заданном параметре k.

В соответствии с принятой стратегией оптимизации алгоритм решения сформулированной оптимизационной задачи должен обеспечить выбор способа объединения локальных матриц в единую рабочую матрицу и выбор способа поиска оптимума в рабочей матрице. Возможны два варианта решения:

1) вначале все локальные матрицы объединяются в единую рабочую матрицу, а затем на каждом шаге процедуры оптимизации выполняется комбинаторное изменение рабочей матрицы и проверка условий оптимальности в новой конфигурации ММП;

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

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

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

6. Заключение

1. Доказана возможность формирования на базе графов кодовых пересечений (ГКП) ассоциативной сетевой системы, состоящей из отдельных локальных сетей, сохраняющей их специфические свойства и имеющей единое для всех сетей информационное бизнес-пространство.

2. Разработана базовая аналитическая топологическая модель объединенной сети. Предложен способ и разработан алгоритм построения для произвольного числа произвольных графов единого изоморфного надграфа, являющегося порожденным подграфом ГКП. Алгоритм позволяет формировать структуру ассоциативной сети, а также допускает ее "мягкую" реконфигурацию и расширение в неограниченных пределах путем введения (выведения) в общую ассоциацию новых узлов, путей (каналов) и локальных сетей.

3. Предложены варианты кодирования узлов транспортных сетей, которые позволяют определять в ассоциативной сети оптимальные места размещения интегрированных узлов (пунктов) и мостов -

797

Борисова Л. Ф., Путинцев Н.М. Моделирование оптимальных сетевых структур...

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

4. Развит математический аппарат теории графов кодовых пересечений. Получены аналитические выражения для определения минимальных по величине структурных параметров n и г, при заданном значении параметра к изоморфного надграфа произвольного числа произвольных графов, являющегося порожденным подграфом ГКП(п, к, г).

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

6. Сформулирована оптимизационная задача линейного программирования, позволяющая существенно упростить решение и сократить требования к ресурсам вычислителя при объединении произвольного числа произвольных графов в единый изоморфный надграф, являющийся порожденным подграфом ГКП. Выбрана и обоснована стратегия поиска оптимального решения, удовлетворяющая критерию локальной оптимальности при заданных ограничениях окна поиска сетевой конфигурации.

Литература

Борисова Л.Ф. Вопросы теории графов кодовых пересечений в приложении к сетевым задачам. Мат. V Междун. НПК "Наука и образование - 2007" (Днепропетровск, 3-15 января 2007), Днепропетровск: Наука и образование, т.11, с.12-16, 2007б.

Борисова Л.Ф. Метод информационно-графического отображения сетевых топологий для решения транспортных задач. Вестник МГТУ, т.10, № 4, с.581-589, 2007а.

Борисова Л.Ф. Повышение эффективности функционирования локальных вычислительных сетей при использовании логических свойств их структур. Вестник МГТУ, т.3, № 1, с.45-54, 2000а.

Борисова Л.Ф. Построение виртуальных частных сетей на основе графов кодовых пересечений. Мат. Междун. НТК "Информационно-компьютерные технологии в решении проблем промышленности, строительства, коммунального хозяйства и экологии" (Пенза, 22-23 июня 2000г.), Пенза, с.28-30, 2000б. Борисова Л.Ф. Прикладные вопросы теории графов кодовых пересечений. Вестник МГТУ, т.9, № 2, с.291-300, 2006.

Борисова Л.Ф. Регулярные топологии в микропроцессорных системах и сетях ЭВМ. Вестник МГТУ, т.5, № 2, с.223-232, 2002.

Кузнецова Л.Ф. Метод нумерации узлов, принадлежащих отдельным подсетям. Ленинград, ЛЭИС.

Сети, узлы и распределение информации: Сб. науч. тр. учеб. институтов связи, с.85-91, 1984. Ланкастер П. Теория матриц. М., Наука, 336 с., 1982.

Оре О. Теория графов. М., Наука, 336 с., 1980.

Пойа Д. Комбинаторные вычисления для групп, графов и химических соединений. Перечислительные задачи комбинаторного анализа: сб. переводов. М., Мир, с.36-136, 1979.

Рейнгольд Э., Нивергельт Ю., Део Н. Комбинаторные алгоритмы. Теория и практика. М., Мир, 476 с., 1980.

798