Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Понятие и определения графа




Во многих случаях жизни привычка толкает нас рисовать на бумаге точки, изображающие населенные пункты, агрегаты, людей, химические вещества и т.д., и соединять эти точки линия-ми или стрелками, указывающими на связи между соответствующими объектами. Такие схемы встречаются всюду под разными названиями: карты дорог, технологические схемы предприя-тий, диаграммы организаций, электрические цепи, сети коммуникаций, блок-схемы алгоритмов, генеалогические деревья и пр. Хотя такого рода объекты изучались достаточно давно (начиная с Эйлера), немецкий математик Д. Кёниг был первым, кто предложил называть такие схемы «графами» и систематически изучать их свойства (в 1936 году).

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

Пример 1. На рис.1 приведен пример трёх графов. На первый взгляд эти графы различны. Однако на самом деле во всех трёх случаях изображен один и тот же граф. Действительно, во всех трех изображениях соединены между собой те же самые пары точек: {1, 2}, {1, 4}, {1, 5}, {2, 3}, {2, 4}, {2, 5}, {3, 4}, {4, 5}; никакие другие пары точек не соединены ■

Рис.1

В одних случаях при описании связей между объектами «направление» связи не имеет значения. Соответствующие точки в графе соединяются линией без стрелки (как на рис.1); граф в этом случае называется неориентированным. В других случаях важно не только то, что объек-ты связаны, но и то, как именно «направлена» эта связь. Соответствующие точки в графе соеди-няются линией со стрелкой; граф в этом случае называется ориентированным. С помощью нео-риентированных графов удобно представлять, например, карты дорог; технологические схемы естественно описывать с помощью ориентированных графов. Пример ориентированного графа (так называемая «сеть питания») показан на рис.2.

1.1. Формальное определение графов. Нам понадобятся введённые в разделе 3.5 понятия функции типа AB, инъективной функции, множеств отправления, прибытия, определения и значения функции, а также введённое в разделе 3.1 понятия кортежа (пары и тройки).

Рис.2

1.1.1. Определение неориентированных графов. Обозначим через X 1-2 множество всех одно- и двухэлементных подмножеств множества X. Дадим теперь необходимые формальные определения. Неориентированным графом G называется тройка á V, E, F ñ, где V – множество вершин графа, E – множество его рёбер, F – всюду определённая функция типа EV 1-2 (т.е. функция, у которой область определения совпадает с областью отправления). Это определение может показаться сложным и запутанным, особенно в сравнении с интуитивно ясным представ-лением о графе, данном в примере 1. Остановимся на этом подробнее.

Пример 2. Рассмотрим граф, показанный на рис.3. В этом графе множество рёбер E = { a, b, c, d, e, f, g }; множество вершин V = {1, 2, 3, 4}; V 1-2 = {{1}, {2}, {3}, {4}, {1, 2}, {1, 3}, {1, 4}, {2, 3}, {2, 4}, {3, 4}}. Рёбра a и b соединяют одни и те же вершины 1 и 3; рёбра c и d соединяют

одни и те же вершины 1 и 4; ребро e соединяет вершины 2 и 3; ребро f соединяет вершины 1 и 2; наконец, ребро g соединяет вершины 2 и 4. Именно такого рода соответствия формализуются с помощью функции F. В данном случае

F (a) = F (b) = {1, 3}, F (c) = F (d) = {1, 4}, F (f) = {1, 2}, F (e) = {1, 3}, F (g) = {2, 4}. (1)

Рёбра, соединяющие одну и ту же пару вершин, называются кратными. В рассматриваемом случае кратными являются рёбра a и b, а также c и d. Заметим, что концы определены для всех рёбер, что и означает, что функция F всюду определена. Другими словами, никаких «болтаю-щихся» концов у рёбер нет ■

В общем случае можно сказать, что значение функции F на произвольном ребре p, т.е. од-но- или двухэлементное множество вершин, как раз представляет собой множество концов дан-ного ребра p (сравните рис.3 и соотношения (1) и убедитесь в этом!). В примере 2 все эти мно-жества были двухэлементными, т.е. рёбра, у которых оба конца совпадают, в графе на рис.3 отсутствуют. Однако в общем случае такие рёбра могут присутствовать.

Пример 3. Рассмотрим граф, показанный на рис.4. В этом графе F (a) = {1}, F (b) = {1, 2}. Рёбра, у которых концы совпадают (с вершиной A), называются петлями при вершинах (вер-шине A). Вообще говоря, петель при одной и той же вершине (т.е. кратных петель) может быть несколько, как и рёбер, соединяющих одну и ту же пару разных вершин ■

Рис.3 Рис.4

Во многих случаях разным рёбрам графа соответствуют разные пары вершин (если они не являются петлями) и разные вершины (если они являются петлями). В этих случаях функция F является инъекцией (см. раздел 3-5), а соответствующий граф называется простым.

Напомним, что инъективной функцией, или инъекцией, называется функция F, такая, что

[ xy ] → [ F (x) ≠ F (y)] (2)

(определение импликации PQ см. в разделе 1.2).

Поскольку каждое ребро простого графа однозначно определяется своими концами, то та-кое ребро можно однозначно задать двухэлементным или одноэлементным (для петли) множес-твом его концов. Таким образом, можно дать следующее формальное определение. Неориенти-рованным простым графом G называется пара á V, E ñ, где V – множество вершин графа, E V 1-2 – множество его рёбер. Здесь одноэлементное множество из V, т.е. множество вида { i }, означает ребро – петлю при вершине i, а двухэлементное множество { i, j } означает ребро с концами i и j. Заметим также, что иногда в литературе простые графы называются графами, а графы, содержа-щие кратные рёбра – мультиграфами.

Пример 4. Рассмотрим граф, показанный на рис.4. Этот граф является простым. Поэтому его можно задать парой множеств á V, E ñ, где V = {1, 2} – множество вершин графа, E = {{1}, {1, 2}} – множество его рёбер ■

Пример 5. Граф, показанный на рис.1, является простым графом без петель. Он задаётся парой множеств á V, E ñ, где V = {1, 2, 3, 4, 5} – множество его вершин, E = {{1, 2}, {1, 4}, {1, 5}, {2, 3}, {2, 4}, {2, 5}, {3, 4}, {4, 5}} – множество его рёбер ■

Поскольку простой граф – частный случай графа, то введённое выше задание графа в виде тройки á V, E, F ñ является более общим и может быть использовано во всех случаях, в том числе и для простых графов. В то же время задание парой á V, E ñ, которое применимо ко всем простым парам, не может использоваться в общем случае: если несколько рёбер имеют общие концы i и j, то их, конечно, нельзя задать одним и тем же двухэлементным множеством { i, j }. Следует сказать, что задание парой проще, чем задание тройкой. Поэтому во всех случаях, когда это возможно, т.е. для простых графов, будем использовать задание парой á V, E ñ.

Резюмируем рассмотренные примеры 1 – 5.

Граф на рис.1 задаётся парой á V, E ñ, где V = {1, 2, 3, 4, 5}, E = {{1, 2}, {1, 4}, {1, 5}, {2, 3}, {2, 4}, {2, 5}, {3, 4}, {4, 5}}.

Граф на рис.3 задаётся тройкой á V, E, F ñ, где V = {1, 2, 3, 4}, E ={ a, b, c, d, e, f, g }, F (a) = F (b) = {1, 3}, F (c) = F (d) = {1, 4}, F (f) = {1, 2}, F (e) = {1, 3}, F (g) = {2, 4}.

Граф на рис.4 может быть задан как парой á V, E ñ, где V = {1, 2}, E = {{1}, {1, 2}}, так и тройкой á V, E, F ñ, где V = {1, 2}, E ={ a, b }, F (a) = {1}, F (b) = {1, 2}.

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

1) по заданному формальному описанию (в виде тройки или пары) нарисовать граф;

2) по заданному изображению дать формальное описание графа в виде пары á V, E ñ(если граф простой) или тройки á V, E, F ñ (в противном случае). Если номера вершин и / или имена рёбер на рисунке не указаны, дать их самостоятельно.

Конечно, существует много других способов формального задания графов, один из кото-рых описан далее, в разделе 4.1. В основном выбор формального задания графа (структуры дан-ных) определяется эффективностью алгоритма, при программной реализации которого этот вид задания используется. Подробнее эти вопросы рассматриваются в других курсах (например, в курсе «Структуры и алгоритмы обработки данных»).

1.1.2. Определение ориентированных графов. Оно во многом схоже с определением не-ориентированных графов. Ориентированным графом G называется тройка á V, A, F ñ, где V – множество вершин графа, А – множество его дуг, F – всюду определённая функция типа АV 2 (напомним, что через V 2 обозначается прямое произведение (см. раздел 1-3.2) множества вер-шин V на себя или V × V, т.е. множество всех упорядоченных пар á x, y ñ, где x, y Î V). В отличие от двухэлементных множеств { x, y }, в которых по самому смыслу слова «двухэлементный» x и y не совпадают, в паре á x, y ñ компоненты могут совпадать. Это определение близко по смыслу к определению неориентированных графов. Именно, F (a) = á i, j ñ означает, что дуга a выходит из вершины i и входит в вершину j; если же i = j, то это означает, что данная дуга является петлёй при вершине i. Как и в неориентированном случае, если функция F инъективна, то соответству-ющий граф называется простым; при этом для каждой пары вершин á i, j ñ существует не более одной дуги с началом i и концом j. Поэтому здесь также можно задавать любую дугу упорядо-ченной парой á i, j ñ, состоящей из её начала i и конца j, и представлять граф G в виде пары á V, A ñ, где множество дуг A V 2. Обратим внимание на то, что дуги á i, j ñ и á j, i ñ являются разными.

Для сокращения записи иногда (если это не вызовет недоразумений) неориентированные графы будем называть просто графами, а ориентированные – орграфами.

Пример 6. Граф на рис.2 является простым орграфом без петель. Занумеруем его верши-ны так: Лисы – 1; Насекомые – 2; Трава – 3; Олени – 4; Птицы – 5. Тогда G = á V, A ñ, где V = {1, 2, 3, 4, 5}, А = {á1, 2ñ, á1, 5ñ, á2, 3ñ, á4, 3ñ, á5, 2ñ, á5, 3ñ} ■

 





Поделиться с друзьями:


Дата добавления: 2016-10-07; Мы поможем в написании ваших работ!; просмотров: 1070 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Если вы думаете, что на что-то способны, вы правы; если думаете, что у вас ничего не получится - вы тоже правы. © Генри Форд
==> читать все изречения...

2260 - | 2182 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.