Нижегородский государственный университет им. Н.И.Лобачевского
Опубликован: 27.09.2006 | Доступ: свободный | Студентов: 3534 / 125 | Оценка: 4.44 / 4.11 | Длительность: 13:45:00
Специальности: Программист, Математик
Лекция 1:

Начальные понятия теории графов

Лекция 1: 12345 || Лекция 2 >
Аннотация: Начальные понятия теории графов. Определение графа. Графы и бинарные отношения. Откуда берутся графы. Число графов. Смежность, инцидентность, степени. Некоторые специальные графы. Графы и матрицы. Взвешенные графы. Изоморфизм. Инварианты. Операции над графами. Локальные операции. Подграфы. Алгебраические операции.
Ключевые слова: граф, минимум, длина, список, множества, вершин, ребер, ребро, соединяет, элементами, конечные, определение, ориентированным, началом, концом, неориентированным, концами, кратные ребра, мультиграфом, мультиграф, петлей, графы без петель, обыкновенными, Обыкновенным графом, вершинами, ребрами, слово, Ориентированный граф, орграфом, множество вершин, бинарным отношением, подмножество, граф отношения, отношение, рефлексивным, антирефлексивным, симметричным, антирефлексивность, сеть, блок-схема, вершина, прямой, правило произведения, смежны, инцидентно, инцидентна, окрестностью, списки смежности, степень, равенство, изолированной, регулярным, Набор степеней, пустой граф, полный граф, цепь, путь, цикл, матрицей смежности, матрица, матрица инцидентности, вершины графа, вес, весами, взвешенным графом, изоморфизм графов, изоморфными, отображение, изоморфизмом, изоморфизм, абстрактными графами, непомеченными, степень вершины, инвариантами, инвариант, операции, локальные, алгебраические, удаление ребра, добавление ребра, удалении вершины, добавлении вершины, изолированная вершина, стягивания ребра, подразбиения ребра, подграфом, подграф, остовным, порожденные, порожден множеством вершин, порожденный множеством ребер, объединение, пересечение, Дополнением, дополнительным графом, суммой, Соединением, полный двудольный граф, колесо, Произведение, прямоугольную решетку, цилиндрическую, тороидальная решетка

Начальные понятия теории графов

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

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

Определение графа

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


Рис. 1.1.

На таких диаграммах часто ни способ изображения элементов, ни форма или длина линий не имеют значения - важно лишь, какие именно пары элементов соединены линиями. Если посмотреть внимательно, то можно заметить, что рисунки 1.1а и 1.1 б изображают одну и ту же структуру связей между элементами A, B, C, D, E, F. Эту же структуру можно описать, не прибегая к графическому изображению, а просто перечислив пары связанных между собой элементов: (A,B), (A,D), (B,C), (B,E), (B,F), (C,F), (D,E). Таким образом, когда мы отвлекаемся от всех несущественных подробностей, у нас остаются два списка: список элементов и список пар элементов. Вместе они составляют то, что математики называют графом. Из этого примера видно, что понятие графа само по себе не связано напрямую с геометрией или графикой. Тем не менее, возможность нарисовать граф - одна из привлекательных черт этого математического объекта.

Термин "граф" неоднозначен, это легко заметить, сравнивая приводимые в разных книгах определения. Однако во всех этих определениях есть кое-что общее. В любом случае граф состоит из двух множеств - множества вершин и множества ребер, причем для каждого ребра указана пара вершин, которые это ребро соединяет. Вершины и ребра называются элементами графа. Здесь будут рассматриваться только конечные графы, то есть такие, у которых оба множества конечны. Чтобы получить законченное определение графа того или иного типа, необходимо уточнить еще три момента.

  1. Ориентированный или неориентированный?

    Прежде всего, нужно договориться, считаем ли мы пары \left(a,b\right) и \left(b,a\right) различными. Если да, то говорят, что рассматриваются упорядоченные пары (порядок элементов в паре важен), если нет - неупорядоченные. Если ребро e соединяет вершину a с вершиной b и пара \left(a,b\right) считается упорядоченной, то это ребро называется ориентированным, вершина a - его началом, вершина b - концом. Если же эта пара считается неупорядоченной, то ребро называется неориентированным, а обе вершины - его концами. Чаще всего рассматривают графы, в которых все ребра имеют один тип - либо ориентированные, либо неориентированные. Соответственно и весь граф называют ориентированным или неориентированным. На рисунках ориентацию ребра (направление от начала к концу) указывают стрелкой. На рис. 1.1 показаны неориентированные графы, а на рис. 1.2 - ориентированные.

  2. Кратные ребра.

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

  3. Петли.

    Ребро, которому поставлена в соответствие пара вида \left(a,a\right), то есть ребро, соединяющее вершину a с нею же самой, называется петлей. Если такие ребра не допускаются, то говорят, что рассматриваются графы без петель.


Рис. 1.2.

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

Определение. Обыкновенным графом называется пара G=\left(V,E\right), где V - конечное множество, E - множество неупорядоченных пар различных элементов из V. Элементы множества V называются вершинами графа, элементы множества E - его ребрами.

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

В дальнейшем термин "граф" мы будем употреблять в смысле "обыкновенный граф", а рассматривая другие типы графов, будем специально это оговаривать.

Множество вершин графа G будем обозначать через VG, множество ребер - EG, число вершин - n\left(G\right), число ребер - m\left(G\right).

Из определения видно, что для задания обыкновенного графа достаточно перечислить его вершины и ребра, причем каждое ребро должно быть парой вершин. Положим, например, VG = \{a, b, c, d, e, f\}, EG \!=\! \{(a, c), (a, f), (b, c), (c, d), (d, f)\}. Тем самым задан граф G с n(G)\!=\!6, m\left(G\right)=5. Если граф не слишком велик, то более наглядно представить его можно с помощью рисунка, на котором вершины изображаются кружками или иными значками, а ребра - линиями, соединяющими вершины. Заданный выше граф G показан на рисунке 1.3. Мы будем часто пользоваться именно этим способом представления графа, при этом обозначения вершин иногда будут помещаться внутри кружков, изображающих вершины, иногда рядом с ними, а иногда, когда имена вершин несущественны, и вовсе опускаться.


Рис. 1.3.
Лекция 1: 12345 || Лекция 2 >
Петр Петров
Петр Петров

произведение графов К(2)*О(4) фактически 4 отдельных графа К(2)?

Александр Лаврентьев
Александр Лаврентьев

много инструкций вида if - then - else

Например Procedure DFS(a) опишите каким образом следует понимать вложенность инструкций. Как в языке С ? 

т.е. следующее 

if (...) then (...)

if (...) then (...)

else(...)

 

раскрывается как 

if (...) then (...)

if (...) then (...)

         else(...)

или так :

if (...) then

 {  (...)

     if (...) then (...)

              else(...)

}

обьясните пожалуйста.

 

 

Дмитрий Крюков
Дмитрий Крюков
Россия, Москва
Андрей Посохов
Андрей Посохов
Россия, Санкт-Петербург