Глава 6. Сетевые модели.
Моделирование сетевых структур является важной сферой для практических приложений, поскольку системы, имеющие сетевые структуры, очень широко распространены в современном мире. Достаточно упомянуть о таких жизненно важных объектах, как Интернет, сотовая связь и телефонные линии, автомобильные, железные и другие дороги, сети тепло-, водоснабжения, канализация, т. п., нефте- и газопроводы и т. д. Формализованное математическое описание систем подобного рода относится к области сетевого моделирования и основывается на теории графов.
Основу научной дисциплины, называемой теорией графов, составляет совокупность методов и представлений, сформировавшихся за последние двести лет. Они включают в себя решения самых разнообразных задач таких, как движение транспорта по маршрутам, раскраска разными цветами топографических карт, нанесенных на сферу, и т. п. С тех пор, в особенности в последние два десятилетия, вследствие чрезвычайно общего характера представлений теории графов, её основные концепции нашли широчайшую сферу применения для формализованной постановки множества задач.
6.1 Сетевые структуры.
Задание сетевых структур тесно связано с частными реляционными системами, определяющимися общим выражением: g = < X, U > U X2, где X – сигнатура, которая состоит из бинарного или/и N-унарного отношения, называемая графом. Носитель графа Х (рис. 6.1.1,а) обычно называют множеством вершин. Сигнатуру U называют множеством дуг. Соответствующая реляционная система имеет вид:
[{х1, х2, ..., х5}, {(х1, х2), (х1, х5), (х2, х5), (х4, х5), (х2, х3), (х3, х4)}].
Вершинам Vi и дугам Uj графа g = [V, U] могут быть соответственно сопоставлены (не обязательно попарно) различные элементы множеств Р и W, которые играют роль весов вершин и дуг. При этом получается взвешенный граф g = [(V, P), (U, W)] (рис. 6.1.1,б).
Взвешенный граф может выступать в качестве основы для моделирования, например, системы нефтепроводов. В данном случае вершины будут представлять собой потребителей или производителей нефти, а дуги – нефтепроводы. Веса будут указывать, соответственно, на скорость потребления нефти и пропускную способность участков нефтепровода. В данном случае вес дуг графа задается расстоянием между вершинами, которые эти дуги соединяют.
Если в системе имеет значение только факт связи между вершинами, то понятие дуги заменяется понятием ребра, которое геометрически изображается линией без ориентации. Без специальной оговорки под графом обычно понимается неориентированный невзвешенный граф, который также задается своими ребрами Uj и вершинами Vi,. Если граф ориентирован, то он называется ориентированным, или орграфом. При моделировании сетевых структур, также как в теории Марковских цепей и процессов, чаще всего имеют дело с орграфами, причем в последнем случае речь идет о дугах.
Рис. 6.1.1 а) ориентированный граф; (б) взвешенный граф
Дуга (ребро) графа Uj инцидентно (принадлежит) вершине Vi, а вершина Vi конинцидентна дуге (ребру) Uj, если Vi Î Uj. Вершины Vi и Vj графа g = [V, U] смежны, если {Vi, Vj} Î U. Для задания орграфов существует несколько классов матриц, основными из которых являются класс матриц инциденций и класс матриц смежности. Если орграф g содержит n вершин и m дуг, то матрица инциденций B(g) = [bij] m´n определяется как
ì 1, если вершина Vj является началом дуги Ui;
bij = í –1, если вершина Vj является концом дуги Ui;
î 0, если вершина Vj некоинцидентна дуге Ui;
Допустим, имеется следующий ориентированный граф:
Для дуг этого графа матрица инциденций имеет вид
.
Для ребер этого графа матрица инциденций следующая:
.
Иногда орграф содержит петли, то есть дуги вида (Vi, Vi); в этом случае некоторые элементы матрицы В одновременно будут равны и 1 и –1, что приводит к неоднозначности элементов матрицы В.
Для
задания орграфа с петлями можно разложить
матрицу В
на две матрицы: В+
= [bij+]m´n,
где bij+
=
и
В–
= [bij–]m´n,
где bij–
=
Если
орграф составлен без петель, то В
=
В+
– В–.
Матрицы
В+
и В–
описывают орграф без учета весов вершин
и дуг. Вес вершин орграфа g
задается в виде матрицы-столбца:
,
а веса дуг в виде диагональной матрицы порядка m:
Матрицы В+, В-, Р, W, полностью описывает взвешенный граф. Если имеется следующий орграф:
то матрица смежности для этого графа имеет вид
.
Матрицы A, P, W полностью описывают взвешенный орграф. Матрицы этих классов задают графы с точностью до изоморфизма. Графы g = < V, U > и g' = < V', U' > называются изоморфными, если существует такое взаимнооднозначное соответствие j между их вершинами V и V', что (Vi, Vj) Î U в том и только в том случае, если [j (Vi), j (Vj)] Î U, Vi' = j (Vi), Vj' = j (Vj).
Моделируя сетевые структуры, полезно иметь понятия о различных частях графа и их некоторых свойствах. Так, вершина является самой меньшей частью графа (рис.6.1.2). Степень вершины есть число рёбер, инцидентных этой вершине:
Deg(Xi) = |{Uj
|
Uj
Xi}|.
Вершины орграфа вместо одной этой характеристики имеют две другие, а именно: полустепень исхода od(Xi) = | {Uj, | (Xi, Xk) = Uj}| и полустепень захода id(Xi) = |{Uj, | (Xk, Xi) = Uj}|. Окрестностью вершины Xi в графе g = <Х, U> (рис. 6.1.2) называется множество {Xj| (Xi, Xj) U}.
Подграфом графа g = <Х, U> (рис. 6.1.2, б) называется такой граф g' = <X', U'>, в котором Х' Х и U' U . Порождённым подграфом g' = <X', U'> графа g = <X, U> называется в том случае, когда любое ребро u U, обе инцидентные вершины которого принадлежат Х' и U' (рис.6.1.2, в).
Также следует различать некоторые разновидности графов с экстремальными характеристиками. Простой цепью (6.1.3,а) называется граф, у которого только две вершины имеют степень, равную единице, а остальные – степень, равную двум. Цикл (6.1.3,б) есть граф, все вершины которого имеют степень, равную двум. Число вершин в цикле называется его длиной.
Рис. 6.1.3. Цепь (а) и цикл (б) в ориентированном графе.
Цикл и цепь задаются последовательностью вершин и рёбер, входящих в них. Граф, все вершины которого попарно смежные, называется полным. Граф, все вершины которого попарно несмежные, называется пустым. Граф называется связным, если для любых вершин Xi, Xj существует цепь, которой принадлежат вершины Xi и Xj .
Граф может быть несвязным (а), его компонентом связности графа является подграф (б):
Связный граф на n вершинах с минимальным числом рёбер называется деревом.
Деревья являются важной разновидностью графов и широко применяются при моделировании и построении самых различных производственных и технических систем, в том числе и вычислительных. Кроме того, построение одного особого вида дерева - дерева целей - служит одним из методов упрощения сложной системы или процесса путем их структуризации по уровням сложности.
При построении дерева целей определяются функции системы, которые детализируются и конкретизируются последовательно от самой общей их формулировки до отдельного элемента системы. Такая конкретизация в графическом виде представляет собой несколько уровней сложности, каждому из которых принадлежат структурные элементы (элементы разных уровней, детализирующих какую-либо функцию системы, образуют отдельную ветвь, отсюда и название – дерево целей). При этом элементы более низких уровней обеспечивают выполнение функций на более высоких уровнях, в свою очередь, являясь целями для элементов более низкого уровня.
Десагрегирование системы по уровням сложности на подсистемы производится до тех пор, пока не достигается требуемый уровень детализации. Одна из основных задач построения дерева целей – установление полного набора элементов на каждом уровне десагрегирования и определение взаимосвязей, существующих между ними. При построении дерева целей последовательно определяются: 1) принцип построения; 2) принципы детализации элементов на каждом уровне дерева; 3) глубина детализации; 4) полный набор элементов всех уровней, начиная с верхнего уровня; 5) все взаимосвязи между элементами.
Дерево целей формируется на эвристической основе, при этом должны соблюдаться условия: 1) соподчиненности (элементы нижнего уровня подчиняются элементам более высокого уровня, вытекают из них, обеспечивают их реализацию); 2) сопоставимости (на каждом уровне дерева рассматриваются элементы, равноценные по своему масштабу и значимости, полученные в результате детализации, произведенной по какому-то принципу); 3) полноты (на каждом уровне представлены без пропусков все элементы); 4) определенности (формулировка целей и других элементов дает возможность оценить степень их достижения в количественной или порядковой форме); 5) возможности внесения корректировки, как при изменении самих целей, так и возможностей их реализации.
В основу построения дерева целей могут быть положены два принципа: 1) целевой; 2) последовательного дезагрегирования системы. В соответствии с первым принципом на всех уровнях дерева целей представлены элементы одного и того же типа, но сформулированные с разной степенью детальности. В качестве объекта детализации в этом случае могут выступать разные уровни сложности рассматриваемой системы.
При использовании второго принципа в состав дерева целей на каждом уровне включаются элементы, последовательно детализирующие и конкретизирующие функции системы, реализующиеся на первых целевых уровнях. Оба подхода к построению дерева целей не противоречат друг другу и применяются в зависимости от целей моделирования.
При решении задач моделирования оба принципа могут совмещаться, например, некоторый уровень дерева целей, построенного по второму принципу, может быть подразделен на несколько подуровней, детализирующих его по целевому принципу. В зависимости от того, детализирует или нет каждый рассматриваемый элемент один или несколько элементов более высокого уровня, можно выделить три типа дерева целей. Первый тип – это дерево с прямыми связями:
I
II
1
2
3
4
5
Второй тип дерева – это дерево с перекрестными связями. При перекрестных связях один и тот же элемент какого-либо уровня оказывает влияние или составляет часть сразу нескольких элементов более высокого уровня.
I
II
1
2
3
Дерево с перекрестными связями может быть перестроено в дерево целей с прямыми связями путем повторения одних и тех же элементов одного уровня, детализирующих разные элементы более высокого уровня. Однако для выявления полного набора элементов каждого уровня вначале лучше построить дерево с прямыми связями, а затем, если это необходимо, перейти к структуре с перекрестными связями.
Помимо деревьев с прямыми связями и с перекрестными связями возможно существование деревьев со связями смешанного типа.
Возможны различные принципы детализации элементов дерева целей: 1) по принципу адресности, когда тот или иной элемент конкретизируется по месту расположения в системе; 2) по объектовому принципу, когда конкретизация происходит по типу элемента; 3) по временному принципу, когда конкретизация происходит по принципу нахождения на том или ином этапе моделируемого процесса; 4) по функциональному принципу, когда конкретизация происходит согласно той или иной функции системы.
Для правильного определения набора элементов, характеризующих систему, необходимо тщательно исследовать условия, в которых она функционирует, т. е. всевозможные аспекты её взаимодействия с окружающей средой. При этом, чем больше информации собрано о системе, тем лучше, естественно, при том условии, что большое количество информации не переходит в её плохое качество.
Если при построении дерева целей выяснятся, что из двух соседних элементов одного уровня один служит средством достижения другого, то соответствующий элемент переводится на более низкий уровень. Если выясняется, что элементы верхних уровней не полностью отражают все системные аспекты, то вносятся дополнительные уточнения. В некоторых случаях необходимость введения дополнительного элемента на данном уровне дерева целей выявляется в процессе определения набора элементов более низкого уровня дерева.
Глубина детализации (число уровней сложности системы) в основном определяется целями моделирования. Число уровней дерева зависит также от числа элементов, получаемых на отдельных уровнях. Если какой-либо элемент более высокого уровня детализируется более чем на 8-10 элементов, целесообразно, по возможности введение между этими уровнями промежуточного уровня, который агрегирует элементы более низкого уровня в меньшее количество обобщенных элементов. Такой подход в дальнейшем снижает трудности одновременной оценки большего числа элементов.
Если цели моделирования не могут быть полностью выполнены в соответствии с их приоритетами с помощью выбранных способов их реализации, то должно производиться уточнение целей и путей их реализации. Например, для того, чтобы отдать предпочтение той или иной из предлагаемых технических систем, помимо общих технико-экономических характеристик системы надо знать степень её разработанности, технологичности, дефицитности, а также иметь дополнительную информацию о входящих в её состав подсистем. Предпочтительность той или иной системы определяется с учетом её влияния на элементы более высоких уровней дерева целей (оценка сверху вниз) и исходя из оценок составляющих её подсистем (оценка снизу вверх).
