Дискретная математика: Учебное пособие. Часть 3 - Основы теории графов, страница 18

По матрицам ||l7|| и ||ni,j 7|| можно найти длину кратчайшего перехода между любой парой вершин исходного графа. Например, между вершинами х0 и х7 длина кратчайшего пути равна 18, а переход n07=(х03247), между вершинами х1 и х6 длина кратчайшего пути равна 8, а переход n16=(х126) и т.д.

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

3.4.4 Поиск максимального потока и его распределения в сети

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

Объем информации, энергии или вещества, передаваемый от узла xi к узлу xj, называют потоком и обозначают jij.

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

Наибольший поток, который может пропустить дуга (xi, xj), называют пропускной способностью дуги и обозначают сij.

Очевидно, что 0£jij£ сij.

В вершине-истоке х0 величина потока есть сумма потоков по всем дугам, исходящим из вершины х0, т.е. j=åij0i+.

В вершине-стоке хk величина потока есть сумма потоков по всем дугам, заходящим в вершину хk, т.е. j=åijik-.

Для любой промежуточной вершины хi сумма исходящих потоков равна сумме заходящих потоков, т.е. åjjij+kjik-.

На рис. 32 показана условная сеть, содержащая вершину-исток х0, вершину-сток хk и две промежуточные вершины хi и хj. На каждой дуге в круглых скобках приведены обозначения потока и пропускной способности соответствующей дуги. При этом поток, подводимый к сети равен j=(j0i+j0j), поток отводимый от сети равен  j=(jik+jjk), поток из вершины хi в вершину хj равен jij. Для вершины хi  имеем  j0i=(jij+jik), для вершину хj -  jjk=(j0j+jij).

Разрез       

пропускная способность дуги Сij

пропускная

способность

С0i

С0j

Сij

Сik

Сjk

разреза СAi

А1

1

1

0

0

0

С0i+ С0j

А2

0

1

1

1

0

С0jijik

А3

0

0

0

1

1

Сikjk

А4

1

0

1

0

1

С0iijjk

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

Например, для А1 имеем Х’={x0} и X\Х’={хi, хj, хk}, для А2: Х’={х0, хi} и X\Х’={хj, хk}, для А3: Х’={х0, хi, xj} и X\Х’={хk}, для А4: Х’={х0, хj} и X\Х’={xi, хk}.       Очевидно, что величина максимального потока ограничена минимальной пропускной способностью разреза, т.е. jmax=min{сAi}.

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