По матрицам ||l7|| и ||ni,j 7|| можно найти длину кратчайшего перехода между любой парой вершин исходного графа. Например, между вершинами х0 и х7 длина кратчайшего пути равна 18, а переход n07=(х0;х3;х2;х4;х7), между вершинами х1 и х6 длина кратчайшего пути равна 8, а переход n16=(х1;х2;х6) и т.д.
При решении практических задач возникает необходимость поиска нескольких путей, частично - упорядоченных по возрастанию относительно кратчайшего. Такие задачи возникают при временной загруженности канала на определенном участке или неисправности узла. Для решения подобных задач разработаны обобщенные алгоритмы Флойда.
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 |
С0j+Сij+Сik |
А3 |
0 |
0 |
0 |
1 |
1 |
Сik+Сjk |
А4 |
1 |
0 |
1 |
0 |
1 |
С0i+Сij+Сjk |
Если множество вершин графа разбить на два непересекающихся подмножества, одно из которых содержит вершину-исток, а другое - вершину-сток, то множество дуг, соединяющих эти два множества, формируют разрез А, пропускная способность которого равна сумме пропускных способностей дуг. Таких разрезов может быть несколько.
Например, для А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}.
Итак, максимальный поток в сети с заданными пропускными способностями дуг графа можно находить, вычисляя пропускные способности всех дуг и выбирая среди них - минимальное. Однако при таком решении задачи остается неизвестным распределение потока по дугам графа.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.