Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шестакова.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
326.64 Кб
Скачать

1 Постановка задачи

Найти максимальный поток в графе методом Форда-Фалкерсона:

Рисунок 1 – Данный граф

2 Теоретический материал

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

Первые задачи теории графов были связаны с решением математических

развлекательных задач и головоломок (задача о Кенигсбергских мостах, задача о расстановке ферзей на шахматной доске и другие). Одним из первых результатов в теории графов явился критерий существования обхода всех ребер графа без повторе­ний, полученный Л. Эйлером при реше­нии задачи о Кенигсбергских мостах. Вот пересказ отрывка из письма Эйлера от 13 марта 1736 году: «Мне была предложена задача об острове, расположенном в городе Кенигсберге и окруженном рекой, через которую перекинуто 7 мостов. Спрашивается, может ли кто-нибудь непрерывно обойти их, проходя только однажды через каждый мост. И тут же мне было сообщено, что никто еще до сих пор не смог это проделать, но никто и не доказал, что это невозможно. Вопрос этот, хотя и банальный, показался мне, однако, достойным внимания тем, что для его решения недостаточны ни геометрия, ни алгебра, ни комбинаторное искусство. После долгих размышлений я нашел лёгкое правило, основанное на вполне убедительном доказательстве, с помощью которого можно во всех задачах такого рода тотчас же определить, может ли быть совершен такой обход через какое угодно число и как угодно расположенных мостов или не может». Кенигсбергские мосты схематически можно изобразить так:

Рисунок 2 – Схематическое изображение Кенигсбергских мостов

Правила Эйлера:

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

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

  3. В графе, имеющего более двух вершин с нечетной степенью, такого

обхода не существует.

1.2 Основные понятия теории графов

  1. Графом G(V,E) называется совокупность двух множеств – непустого множества V(множества вершин) и множества E двухэлементных подмножеств множества V(E – множество ребер).

  2. Ориентированным называется граф, в котором - множество упорядоченных пар вершин вида (x,y), где x называется началом, а y – концом дуги. Дугу (x, y) часто записывают как . Говорят также, что дуга ведет от вершины x к вершине y, а вершина y смежная с вершиной x.

  3. Если элементом множества E может быть пара одинаковых (не различных) элементов V, то такой элемент множества E называется петлей, а граф называется графом с петлями.

  4. Если E является не множеством, а набором, содержащим несколько одинаковых элементов, то эти элементы называются кратными ребрами, а граф называется мультиграфом.

  5. Если элементами множества E являются не обязательно двухэлементные, а любые подмножества множества V, то такие элементы множества E называются гипердугами, а граф называется гиперграфом.

  6. Если задана функция F : V → M и/или F : E → M, то множество M называется множеством пометок, а граф называется помеченным (или нагруженным). В качестве множества пометок обычно используются буквы или целые числа. Если функция F инъективна, то есть разные вершины (ребра)имеют разные пометки, то граф называют нумерованным.

  7. Подграфом называется граф G′(V′,E′), где и/или .

    1. Если V′ = V, то G′ называется остовным подграфом G.

    2. Если , то граф G′ называется собственным подграфом графа G.

    3. Подграф G′(V′,E′) называется правильным подграфом графа G(V,E), если G′ содержит все возможные рёбра G.

  8. Степень (валентность) вершины – это количество ребер, инцидентных этой вершине (количество смежных с ней вершин).

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

    1. Если , то маршрут замкнут, иначе открыт.

    2. Если все ребра различны, то маршрут называется цепью.

    3. Если все вершины (а значит, и ребра) различны, то маршрут называется простой цепью.

    4. Замкнутая цепь называется циклом.

    5. Замкнутая простая цепь называется простым циклом.

    6. Граф без циклов называется ациклическим.

    7. Для орграфов цепь называется путем, а цикл – контуром.

Рисунок 3 - Маршруты, цепи, циклы


  
Рисунок 4 - Граф со смежными вершинами
Рисунок 5 — Граф со смежными ребрами Граф называется взвешенным или сетью, если каждому его ребру поставлено в соответствие некоторое число (вес). Взвешенными графами могут быть схемы в электронике, электрические схемы, карты автомобильных и железных дорог и др. Например, на картах автодорог вершины являются населенными пунктами, ребра — дорогами, а весом — числа, равные расстоянию между населенными пунктами. Понятия-объекты и другие элементы предметной области могут быть графически изображены в виде вершин, а отношения между ними — в виде дуг, связывающих эти вершины.
Рисунок 6 - Взвешенный сетевой граф Сети получили широкое практическое применение потому, что они являются естественным и удобным способом изображения и дальнейшего анализа различных сложных систем. Одним из первых применений сетевого изображения было создание американскими учеными баллистических ракет для оснащения атомных подводных лодок военно-морского флота США. 1.3 Способы задания графа а. Графический метод б. Матричный метод: - матрица инцидентности Одна из форм представления графа, в которой указываются связи между инцидентными элементами графа (ребро(дуга) и вершина). Столбцы матрицы соответствуют ребрам, строки — вершинам. Ненулевое значение в ячейке матрицы указывает связь между вершиной и ребром (их инцидентность). В случае ориентированного графа каждому ребру (x, y) ставится в соответствие "-1" на позиции (x, y) и "1" на позиции (y, x); если связи между вершинами нет, то ставится в соответствие "0". Рисунок 7 - Матрица инцидентности - матрица смежности Матрица смежности графа G с конечным числом вершин n – это квадратная матрица A размера n, в которой значение аргумента aij равно числу ребер из i-й вершины графа в j-ю вершину. Иногда, особенно в случае неориентированного графа, петля (ребро из i-й вершины в саму себя) считается за два ребра, то есть значение диагонального элемента aii в этом случае равно удвоенному числу петель вокруг i-й вершины. Матрица смежности простого графа (не содержащего петель и кратных ребер) является бинарной матрицей и содержит нули на главной диагонали.

Рисунок 8 - Матрица смежности

1.2 Алгоритм Форда-Фалкерсона. Поток в сети

Дан граф   с пропускной способностью   и потоком   для ребер из u в v. Необходимо найти максимальный поток из источника s в сток t. На каждом шаге алгоритма действуют те же условия, что и для всех потоков:

  • . Поток из   в   не превосходит пропускной способности.

  • .

  •  для всех узлов  , кроме   и  . Поток не изменяется при прохождении через узел.

Остаточная сеть   — сеть с пропускной способностью   и без потока.

Вход Граф   с пропускной способностью  , источник   и сток  Выход Максимальный поток   из   в 

  1.  для всех ребер 

  2. Пока есть путь   из   в   в  , такой что   для всех ребер  :

    1. Найти 

    2. Для каждого ребра 

.