Главная страница
Навигация по странице:

  • Не рассматривали ребра, входящие в V 1 и выходящие из

  • КР 3 Графы_11. Построим изображение графа


    Скачать 490.71 Kb.
    НазваниеПостроим изображение графа
    Дата25.11.2022
    Размер490.71 Kb.
    Формат файлаdocx
    Имя файлаКР 3 Графы_11.docx
    ТипДокументы
    #811769



    Построим изображение графа


    Видим, что из 6 вершины выходит стрелка только в 6. Значит, нельзя из 6 попасть в 1, например и граф не сильно связный. Далее видим, что из 4 вершины можно попасть во все, и из любой вершины кроме 6 можно попасть в 4 по стрелкам. Из 1,2,4,5 - по дуге, а из 3 по паре дуг

    . Значит, граф без 6 вершины сильно связный. У нас не менее 2 компонент связности и мы нашли эти 2 компоненты. Первая из 6 первых 5 вершин и вторая из 6.

    Их матрицы смежности:
















    1

    0

    0

    1

    1



    0

    1

    0

    1

    0



    1

    1

    1

    0

    1



    1

    1

    1

    1

    1



    0

    0

    0

    1

    0

    И








    1



    Изображения компонент сильной связности:








    Решение:

    Матрица весов дуг симметрична. То есть граф неориентированный, и можно просто ставить ребра без стрелок вместо двух дуг. Действуем жадным алгоритмом.

    Выбираем произвольным образом вершину. Пусть это будет . Выбираем ребро минимального веса с ней. Это ,веса 2). Получили подграф .

    Среди всех не взятых еще ребер, которые выходят из или , ищем ребро наименьшего веса. Это ребро весом 7. Его прибавление не добавляет циклов. Добавляем.

    Получаем на данном шаге пока подграф .

    Среди всех невыбранных ребер, с вершинами в выбранных вершинах ищем ребро минимального веса. Это ребро весом 3). Его прибавление не создает циклов, прибавляем. Получили пока поддерево .

    Среди всех невыбранных ребер, с вершинами в выбранных вершинах ищем ребро минимального веса. Это ребро весом 5 добавление не создает циклов, добавляем. Получили поддерево

    . Среди всех невыбранных ребер, с вершинами в выбранных вершинах ищем ребро минимального веса. Это ребро весом 6. Его прибавление не создает циклов.

    Прибавляем, получаем поддерево:




    В нём не хватает только 3 вершины. Чтобы не получить цикл для ускорения процесса сразу ищем самое легкое ребро из вершины 3 (потому что на данном этапе остальные вершины уже выбраны и следующее добавленное точно будет из вершины 3). Самое легкое такое ребро это ребро весом 8. Добавляем его и получаем требуемое остовное дерево:


    Считаем его вес

    .



    Решение:

    Используем алгоритм Дейкстры.

    Присваиваем вершинам временные метки из 1 строки таблицы

    Вершина













    метка

    2



    4



    5



    Рассматриваем первую смежную вершину ( первую попавшуюся, где метка не бесконечность).

    По 2 строке таблицы видим, что она смежна с вершинами , , (то есть из неё есть дуга в эти вершины)

    Считаем сумму расстояния до них и метки до вершины и сравниваем с текущими метками:

    , меняем метку ; ; не меняем метку ;

    , не меняем метку ; , не меняем метку ; получаем на данном шаге метки:

    Вершина













    метка

    2

    8

    4



    5

    10


    Рассматриваем следующую смежную вершину

    По 3 строке таблицы видим, что она смежна с вершинами 2,4,5,7( из не рассмотренных).

    Считаем сумму расстояния до них и метки вершины и сравниваем с текущими метками:

    не меняем метку 2 вершины.

    не меняем метку 4 вершины.

    меняем метку 5 вершины.

    не меняем метку 7 вершины. Получаем на данном шаге метки:

    Вершина













    метка

    2

    8

    4

    11

    5

    10


    Рассматриваем следующую смежную вершину

    По 4 строке таблицы видим, что она смежна с вершинами 2,3,5,7

    Считаем сумму расстояния до них и метки вершины и сравниваем с текущими метками:

    не меняем;

    не меняем;

    меняем метку 5 вершины.

    не меняем. Получаем на данном шаге метки:

    Вершина













    метка

    2

    8

    4

    8

    5

    10


    Рассматриваем следующую вершину ну

    По 5 строке таблицы видим, что она смежна с вершинами 3,4,6,7

    Считаем сумму расстояния до них и метки вершины и сравниваем с текущими метками:

    не меняем;

    не меняем;

    не меняем

    не меняем. Метки не изменились.

    Рассматриваем последнюю вершину ну

    По 6 строке таблицы видим, что она смежна с вершинами 2,4,5

    Считаем сумму расстояния до них и метки вершины и сравниваем с текущими метками:

    не меняем;

    не меняем;

    не меняем. Метки не изменились. По итоговой метке 7 вершины получаем, что кратчайший путь из в имеет длину 10. И имеет вид

    Не рассматривали ребра, входящие в V1 и выходящие из , так как если ходить по ним, путь из в будет, очевидно, не самым кратчайшим.



    Найти максимальный поток и минимальны разрез в транспортной сети:






























    12

    9

    3

    5





















    4

    6

    3

    7













    8



    5

    4





















    9





















    8

    10



    6



















    12





















    9

    14





















    5





















    8
























    Решение:

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


    Источник , сток .

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



    Берем путь

    из ненасыщенных дуг. Максимальный поток по нему равен

    , пускаем такой поток, уменьшаем пропускную способность каждой дуги на 6.


    Берем путь

    из ненасыщенных дуг. Максимальный поток по нему равен

    , пускаем такой поток, уменьшаем пропускную способность каждой дуги на 8


    Берем путь

    из ненасыщенных дуг. Максимальный поток по нему равен

    , пускаем такой поток, уменьшаем пропускную способность каждой дуги пути на 5



    Берем путь

    из ненасыщенных дуг. Максимальный поток по нему равен

    , пускаем такой поток, уменьшаем пропускную способность каждой дуги на 1



    Берем путь . Максимальный поток по нему равен

    , пускаем такой поток, уменьшаем пропускную способность каждой дуги на 1

    Наконец берем путь . Максимальный поток по нему равен

    , пускаем такой поток, уменьшаем пропускную способность каждой дуги на 1.


    Больше нет путей из в по ненасыщенным дугам. Процесс окончен.

    Максимальный поток равен сумме потоков на каждом шаге.

    .

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

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

    Ответ: максимальный поток равен 27.Он состоит из потоков:

    5 по ветке ; 6 по ветке ; 8 по ветке ;

    5 по ветке ; 1 по ветке ; 1 по ветке ;

    1 по ветке ; Минимальный разрез равен имеет пропускную способность 27 и состоит из вершин в одной доле и остальные вершины во второй

    .


    Решение:

    Граф содержит те и только те вершины и ребра, что содержит хотя бы один из исходных графов. Можно считать, что второй граф тоже на тех же 4 вершинах вершинах, просто в нём изолированная) Получаем:



    Добавили ребра 2-1 и 2-3. Ребра 3-1 и 3-2 и так уже были в . Именно эти ребра и будут в графе пересечения



    Задаем граф объединения списком ребер:

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



    Затем строим матрицу инцидентности. Для этого пронумеруем все ребра графа следующим образом:



    В матрице инцидентности будет 4 строки, соответствующих вершинам и 5 столбцов, соответствующих ребрам. В каждом столбце ставим -1 в строке вершины, из которой выходит соответствующее ребро, 1 – в которую входит и ноль в остальных строках. Получаем матрицу инцидентности:



    Определяем частичные полустепени исхода и захода вершин (сколько дуг выходит/входит).

    Вершина

    V1

    V2

    V3

    V4

    Полустепень исхода

    0

    3

    2

    0

    Полустепень захода

    2

    1

    1

    1


    Проверка: суммы в строках должны быть равны и равны количеству ребер. . Всё совпало.

    Строим какой-нибудь частичный граф: Для этого просто уберем часть ребер. К примеру, уберем только ребро . Получим частичный граф:


    Строим какой-нибудь подграф. Для этого, например, уберем вершину 1 и все ребра, которые в неё заходят или из неё выходят. Получим:



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





    Решение:

    Возьмем следующие графы






    Находим их прямое произведение. В нем будут вершины

    Смотрим , какие из них смежны.

    и ; и ; и (так как в смежны вершины 2 и 1).

    и ; и ; (так как в смежны вершины 1 и 2);

    и ; и ; (так как в смежны вершины 2 и 3);

    и ; и ; (так как в смежны вершины 3 и 1);

    Получаем произведение:


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



    написать администратору сайта