Федоров В.Н. - Введение в теорию графов (1023556), страница 14
Текст из файла (страница 14)
val(f) = f( ) – f(
) = 5 – 0 = 5 – максимальный поток в сети,
В результате выполнения алгоритма определены:
-
максимальный поток в сети, т.е. ее предельная пропускная способность;
-
минимальный разрез (разрез с минимальной пропускной способностью и, возможно, “узкое место сети”),
-
загрузка отдельных дуг, которая позволяет сделать, например, вывод о том, что дуги (a, c) и (b, d) не используются (имеют нулевой поток) и их можно удалить.
Задание. Провести исследование сети, в которой изменена ориентация дуги (d, b).
13.4. Контрольные вопросы
-
Сеть – что это такое? Чем она отличается от обычного графа?
-
Поясните понятия пропускной способности дуги и сети.
-
Как определяется поток через дугу и сеть?
-
Что такое насыщенная дуга и нулевая дуга в сети? Чем они похожи и чем различаются?
-
Есть ли различие между полным и максимальным потоками в сети?
-
Приведите алгоритм нахождения максимального потока в сети.
-
Какой разрез сети называется минимальным? Какую роль играет этот разрез в сети?
14. Примерные темы заданий
Пособие может быть использовано для самостоятельного изучения теории графов, выполнения курсовых и домашних работ, подготовки к проведению практических и лабораторных занятий. Вот примерные задания для проведения занятий:
-
Проиллюстрировать заданные термины и определения теории графов.
(номера терминов задаются по Приложению.)
-
Даны графы G1 и G2. Найти G1
G2, G1
G2, G1
G2. графы G1, G2 и результаты выполнения операций представить в матричной и векторной формах. Предложить алгоритмы выполнения указанных операций на ЭВМ.
-
Для заданного графа найти радиус, диаметр, средний диаметр, центральные и периферийные вершины.
-
В заданном графе найти все кратчайшие маршруты и циклы.
-
В заданном графе найти все кратчайшие маршруты и циклы с началом в заданной вершине.
-
В заданном графе найти внешне и внутренне устойчивые множества вершин.
-
Раскрасить вершины заданного графа минимальным числом красок (использовать соответствующий алгоритм).
-
Для заданного графа найти сильные компоненты.
-
Для заданного графа найти компоненты связности.
-
Для заданного графа найти матрицы фундаментальных циклов и фундаментальных разрезов.
-
Произвести покрытие заданного графа не пересекающимися по ребрам цепями.
-
Является ли заданный граф планарным? Построить плоское изображение графа.
-
Найти минимальное покрытие заданного двудольного графа.
-
Найти максимальное паросочетание для заданного двудольного графа.
-
Определить дефицит заданного двудольного графа.
-
Найти максимальный поток в заданной сети. Предложить реконструкцию сети для увеличения максимального потока.
Список литературы
-
Яблонский С.В. Введение в дискретную математику. – М.: Высшая школа, 2002. –384 с.
-
Горбатов В.А. Фундаментальные основы дискретной математики. Информационная математика. – М.: Наука, Физматгиз, 2000. –544 с.
-
Судоплатов С.В., Овчинникова Е.В. Элементы дискретной математики: Учебник. – М.: ИНФРА–М, Новосибирск: Издательство НГТУ, 2002. – 280 с.
-
Белоусов А.И., Ткачев С.Б. Дискретная математика: Учебник для вузов/ Под ред. В.С. Зарубина, А.П. Крищенко. – М.: Изд–во МГТУ им. Н.Э. Баумана, 2001. –744 с.
-
Москинова Г.И. Дискретная математика. Математика для менеджера в примерах и упражнениях: Учебное пособие. – М.: Логос, 2003. – 240 с.
-
Новиков Ф.А. Дискретная математика для программистов. – СПб.: Питер, 2002. –304 с.
-
Акимов О.Е. Дискретная математика: логика, группы, графы. – М.: Лаборатория базовых знаний, 2001. – 376 с.
-
Харари Ф. Теория графов. – М.: Едиториал УРИ, 2003. – 296 с.
-
Зыков А.А. Основы теории графов. М.: Вузовская книга, 2004.-664 с.
-
Овчинников В.А. Алгоритмизация комбинаторно–оптимизационных задач при проектировании ЭВМ и систем. – М.: Изд–во МГТУ им. Н.Э. Баумана, 2001. –288 с.
Приложение
Термины и определения теории графов
Приведенный ниже перечень охватывает только термины и определения, рассматриваемые в разделе Теория графов дисциплины Дискретная математика, и состоит из трех частей.
В первой части даются определения терминов, относящихся к элементам графов и сетей. Здесь даны определения собственно элементов, их свойств и отношений.
Вторая часть содержит определения структур графов, их задание в ЭВМ, свойства и числовые характеристики, отношения и операции над графами.
В третьей части приводятся основные понятия и определения частей графов и их характеристики.
Примечание. По электронному представлению перечня можно “путешествовать” с помощью гиперссылок, выделенных цветом и подчеркиванием. Двойной щелчок мышью по гиперссылке отправит Вас к определению нужного термина.
1. Элементы графов
-
Вершина (узел, точка) (vertex, node) – элемент множества вершин графа.
-
Ребро (дуга, линия, ветвь) (edge, link) – элемент множества ребер графа.
-
Дуга (arc) – ориентированное ребро [ребро ориентированного графа].
-
Инцидентность вершины и ребра (incident vertex and edge) – вершина графа v и некоторое его ребро e называются инцидентными, если e=(v,w) или e=(w,v), где w – некоторая другая вершина графа.
-
Смежность вершин (contiguous vertices) – две вершины графа называются смежными, если существует ребро, инцидентное обеим этим вершинам (т.е. существует ребро, которое соединяет эти вершины).
-
Петля (loop) – ребро графа, инцидентное единственной вершине.
-
Точка сочленения – вершина, удаление которой из графа увеличивает число компонент связности этого графа.
-
Исток (source) – вершина, являющаяся одним из полюсов ориентированного графа, которой инцидентны только исходящие дуги.
-
Сток (sink) – один из полюсов графа, которому инцидентны только заходящие дуги. Другое название – тупиковая вершина.
-
Корень (root) –вершина – начало дерева.
-
Висячая вершина – вершина, инцидентная единственному ребру.
-
Голая (изолированная) вершина – вершина, которая не имеет инцидентных ребер.
-
Центр (центральная вершина) – вершина, эксцентриситет которой равен радиусу.
-
Периферийная вершина – вершина, эксцентриситет которой равен диаметру.
-
Полюс – выделенная вершина графа. Обычно эти вершины являются истоками и стоками в двухполюсных и многополюсных сетях.
-
Степень вершины (degree) – число инцидентных [этой вершине] ребер, deg(х).
-
Полустепень исхода вершины (outdegree) – число инцидентных исходящих дуг, deg+(х).
-
Полустепень захода вершины (indegree) – число инцидентных заходящих дуг, deg–(х).
-
Вес вершины – число (действительное, целое или рациональное), поставленное в соответствие данной вершине (интерпретируется как стоимость, пропускная способность и т. д.).
-
Эксцентриситет вершины (eccentricity) х – максимальное расстояние от х до других вершин графа.
-
Удаление вершины. Из графа удаляется вершина вместе с инцидентными ребрами.
-
Добавление вершины. К заданному множеству вершин (х1, x2, ... , xk) добавляется новая вершина y, смежная с х1, x2, ... , xk.
-
Достижимость (соединимость, связность) вершин. Вершина у достижима из х, если существует маршрут из х в у.
-
Односторонняя связность вершин. Вершины х и у односторонне связны в орграфе G, если х достижима из у, а y из x нет, или наоборот.
-
Сильная связность вершин. Вершины х и у сильно связаны в орграфе G, если они взаимно достижимы.
-
Стягивание вершин. Заданное множество вершин объединяется в одну вершину, а полученные петли удаляются.
-
Две вершины s и t k–соединимы, если существует k независимых (s, t)–цепей.
-
Хорда – ребро графа, не принадлежащее остову.
-
Ветвь – ребро графа, принадлежащее остову, или просто ребро дерева.
-
Мост (перешеек) – ребро графа, удаление которого увеличивает число его компонент связности.
-
Висячее ребро – ребро, инцидентное висячей вершине.
-
Мультиребро – множество ребер, инцидентных одной и той же паре вершин.
-
Кратные ребра (duplicate, or parallel, or multiple edges) ребра, инцидентные одной и той же паре вершин.
-
Смежность ребер. Два ребра r1 и r2 смежны тогда и только тогда, когда существует, по крайней мере, одна вершина, инцидентная r1 и r2.
-
Степень ребра – сумма степеней вершин, инцидентных данному ребру минус два, или число смежных ребер.
-
Вес, длина ребра – число или несколько чисел, которые интерпретируются как длина, пропускная способность и т. д.
-
пропускная способность дуги (ребра) сети – максимальное количество некоторой субстанции, пропускаемое через дугу в единицу времени (обозначается как c(e)
0: e
E). Субстанцией может быть информация, некоторый груз, люди, автомобили и т.п.
-
Поток через дугу сети – реальное количество некоторой субстанции, пропускаемое через дугу в единицу времени (обозначается f(e)
0: e
E).
-
Насыщенная прямая дуга сети – дуга сети, имеющая направление от истока к стоку сети, в которой поток равен пропускной способности f(e) = c(e). В противном случае дуга не насыщенная. Для прямых дуг 0
f(e)
c(e).
-
Нулевая обратная дуга сети – дуга сети, имеющая направление от стока к истоку сети и в которой поток равен нулю f(e)=0. В противном случае дуга не нулевая. Для обратных дуг 0
f(e)
c(e)
-
Мощность мультиребра – число ребер в мультиребре.
-
Ориентация ребра. Пара вершин, инцидентная ребру, упорядочивается.
-
Удаление (ребра) дуги. В графе удаляется ребро без инцидентных вершин.
-
Добавление ребра (дуги). Для заданной пары вершин х, у добавляется ребро (х, у).
-
Стягивание ребра (дуги) – вершины х и у, инцидентные заданному ребру, стягиваются в одну вершину.
-
Подразбиение [или подразделение] ребра (дуги). Удаляется заданное ребро u=(х, у) и добавляется вершина z и цепь (x, u1, z, u2, у).
2. Структуры графов
-
Граф (graph) – пара G=(V, E), где V – множество объектов произвольной природы, называемых вершинами (vertices), а E – семейство пар ei=(vi1, vi2), vijV, называемых ребрами (edges). Соответственно, V называется множеством вершин (vertex set), а E – множеством ребер (edge set). Если порядок элементов, входящих в ei, имеет значение, то граф называется ориентированным (directed graph), сокращенно – орграф (digraph), иначе – неориентированным (undirected graph). В дальнейшем будем считать, что термин "граф", применяемый без уточнений "ориентированный" или "неориентированный", обозначает неориентированный граф.
-
Граф обыкновенный (simple graph) – граф, не содержащий петель и кратных ребер. Обыкновенные графы нередко называют просто графами; для того, чтобы отличить их от графов, содержащих кратные ребра, последние иногда называют мультиграфами.
-
(n, m)–граф – граф, имеющий в точности n вершин и m ребер. Обозначается G(n,m), например, G(5,7) – граф, имеющий 5 вершин и 7 ребер.
-
Мультиграф – граф, в котором имеются кратные ребра.
-
Псевдограф – граф, в котором имеются дуги, ребра, петли и все они могут быть кратными.
-
Граф полный (complete graph) – граф G=(V,E), в котором любая пара вершин инцидентна единственному ребру [т.е. это обыкновенный граф, в котором любая пара вершин смежна]. Обозначается Kn, где n=|V|, при этом |E|= m = n(n–1)/2.
-
Граф пустой (null graph) – граф G=(V, E), в котором E= [обозначение – Nn].
-
Граф тривиальный – пустой граф, у которого |V|=1.
-
Дерево (tree) – связный ациклический граф.
-
Лес (ациклический граф) (forest, acyclic graph) – обыкновенный граф без циклов (несколько деревьев).
-
Помеченный граф – граф с заданной нумерацией вершин и ребер или с заданными весами вершин и ребер.
-
p–хроматический (p–дольный) граф (p–chromatic graph) – граф G, у которого хроматическое число (G)=p.
-
Граф бихроматический (двудольный граф, граф Кенига) (bipartite graph) – 2–хроматический граф или граф, не содержащий нечетных циклов.
-
Граф двудольный полный (complete bipartite graph) – двудольный граф G=(V1, V2, E), у которого любая пара вершин хV1 и уV2 смежна. Обозначается Kn1,n2, где n1=|V1|, n2=|V2|, |E|=n1n2.
-
Веер (звезда) – двудольный полный граф K1,n (другое обозначение – Wn).
-
сеть (двуполюсная) – граф (орграф) с двумя выделенными вершинами (истоком и стоком) без петель.
-
Граф планарный (planar graph) – граф, укладываемый па плоскость без пересечения ребер.
-
Граф плоский (flat graph) – планарный граф, уложенный на плоскость.
-
Граф связный (connected graph) – граф, у которого любая пара вершин взаимодостижима.
-
Сильносвязный орграф (сильный орграф) (strongly connected graph) – орграф, у которого любые две вершины взаимно достижимы.
-
Односторонне связный орграф (односторонний орграф) – орграф, у которого любая пара вершин односторонне связна.
-
Слабосвязный орграф (слабый орграф) – орграф, который после дезориентации дуг будет связным.
-
Однородный [регулярный] (k–регулярный) граф (k–regular graph) – граф, все вершины которого имеют одну и ту же степень, равную k.
-
Сильнорегулярный граф – регулярный граф, каждая смежная (несмежная) пара вершин которого имеет одинаковое количество общих соседей.
-
Эйлеров граф (Eulerian graph) – связный граф, не содержащий вершин нечетной степени. В таком графе можно построить цикл или цепь, включающие каждое ребро один раз (Эйлеров_цикл).
-
Гамильтонов граф (Hamiltonian graph)– связный граф, в котором можно построить простой цикл или цепь, проходящие через каждую вершину один раз (Гамильтонов_цикл).
-
Матрица смежности (матрица смежности вершин, матрица смежности графа, матрица соседства) (adjacency matrix) – квадратная матрица, размерности n, A=||aij|| является матрицей смежности графа G, если при aij=l в графе G вершины xi и xj соединены l ребрами, при aij=0 вершины xi и xj в G не смежны.
Примечание: возможны другие варианты определения понятия матрицы смежности. Во–первых, иногда считают, что матрица смежности может содержать только элементы 0 и 1 (или False и True), где aij=1, если вершины xi и xj соединены любым количеством ребер, во–вторых, диагональные элементы могут считаться равными 0 или 1.