Россия, Москва, МГУПИ |
Предварительные сведения
Графы
Мы часто сталкиваемся с задачами, в условиях которых заданы некоторые объекты и между некоторыми их парами имеются определенные связи. Если объекты изобразить точками ( вершинами ), а связи - линиями ( ребрами ), соединяющими соответствующие пары точек, то получится рисунок, называемый графом. Приведем основные определения.
Граф (ориентированный) - это пара
, где
- конечное множество вершин (узлов, точек) графа, а
- некоторое множество пар вершин, т.е. подмножество множества
или бинарное отношение на
. Элементы
называют ребрами (дугами, стрелками, связями). Для ребра
вершина
называется началом
, а вершина
- концом
, говорят, что ребро
ведет из
в
.
В графе полустепень исхода вершины - это число исходящих из нее ребер, а полустепень захода - это число входящих в данную вершину ребер.
Заметим, что в графе может быть ребро вида , называемое петлей.
Пример 1.3. На рис. 1.1 приведен пример графа .
Здесь
,
В графе
ребро
является петлей,
полустепень исхода вершины
равна 2, а полустепень захода для нее
равна 1.
Во многих приложениях с вершинами и ребрами графов связывается некоторая дополнительная информация. Обычно она представляется с помощью функций разметки вершин и ребер.
Определение 1.6.
Размеченный граф - это граф
, снабженный одной или двумя функциями разметки вида:
и
, где
и
- множества меток вершин и ребер, соответственно.
Упорядоченный граф - это размеченный граф
, в котором ребра, выходящие из каждой вершины
, упорядочены, т.е. помечены номерами
, где
- полустепень исхода
, т.е.
.
Упорядоченный граф с полустепенью исхода вершин
называется бинарным.
В качестве множества меток ребер часто выступают числа,
задающие "веса", "длины", "стоимости" ребер. Графы с такой разметкой
часто называют взвешенными.
Часто на одном множестве объектов определено несколько различных бинарных отношений. Для представления такой ситуации служат мультиграфы.
Определение 1.7. Мультиграф состоит из
конечного множества вершин
и мультимножества ребер
, состоящего из пар вершин
, в которое эти пары могут входить по
нескольку раз.
Обычно несколько ребер, соединяющих одну и ту же пару вершин, различаются метками - именами соответствующих бинарных отношений. В лекциях 4-6 мультиграфы будут использоваться для представления диаграмм конечных автоматов.
Во многих случаях естественно не различать графы, отличающиеся лишь именами (порядком) вершин.
Определение 1.8. Изоморфизм графов. Два графа
и
называются изоморфными, если между их вершинами существует взаимно однозначное соответствие
такое, что для любой пары вершин
из
ребро
ребро
.
Для изоморфизма размеченных графов требуется также совпадение меток соответствующих вершин:
и/или ребер:
.
Многие приложения графов связаны с изучением путей между их вершинами.
Определение 1.9.
Путь в ( мульти ) графе - это последовательность ребер вида
. Этот путь ведет из начальной вершины
в конечную вершину
и имеет длину
. В этом случае будем говорить, что
достижима из
. Будем считать, что каждая вершина достижима сама из себя путем длины 0. Путь в графе (не мультиграфе!) можно также определять как соответствующую последовательность вершин:
, где
при
.
Путь назывется простым, если все ребра и все вершины на нем, кроме, быть может, первой и последней, различны.
Циклом в графе называется путь, в котором начальная вершина совпадает с конечной и который содержит хотя бы одно ребро. Цикл
называется простым, если в нем нет одинаковых вершин, кроме первой и последней, т.е. если все вершины
различны.
Следующее утверждение непосредственно следует из определений.
Лемма 1.1.Если в графе
имеется путь из вершины
в вершину
, то в нем имеется и простой путь из
в
.