Основные определения теории графов — различия между версиями
Gfv (обсуждение | вклад) (→Матрица и списки смежности) |
Gfv (обсуждение | вклад) |
||
Строка 33: | Строка 33: | ||
|id = def1 | |id = def1 | ||
|definition = | |definition = | ||
− | '''Ориентированным графом''' <tex>G</tex> называется четверка <tex>G = (V, E, \operatorname{beg}, \operatorname{end})</tex> , где | + | '''Ориентированным графом''' <tex>G</tex> называется четверка <tex>G = (V, E, \operatorname{beg}, \operatorname{end})</tex> , где <tex>V</tex> и <tex>E</tex> {{---}} некоторые множества, а <tex>\operatorname{beg}, \operatorname{end} : E \rightarrow V</tex>. |
}} | }} | ||
− | Иногда граф, построенный таким образом, называют '''псевдографом''' ( | + | |
+ | Иногда граф, построенный таким образом, называют '''псевдографом''' (pseudograph). В псевдографе допускается соединять вершины более чем одним ребром. Такие ребра называются '''кратными''' (иначе {{---}} '''параллельные''', multi-edge, parallel edge). Псевдограф без петель принято называть '''мультиграфом'''. | ||
{|border="0" cellpadding="5" width=30% align=center | {|border="0" cellpadding="5" width=30% align=center | ||
|[[Файл: Graph_definition_1.png|thumb|210px|center|<font color=#ff2a2a>Красным</font> выделено кратное ребро (6, 2)<br><font color=#3771c8>Синим</font> обозначена петля (6, 6)]] | |[[Файл: Graph_definition_1.png|thumb|210px|center|<font color=#ff2a2a>Красным</font> выделено кратное ребро (6, 2)<br><font color=#3771c8>Синим</font> обозначена петля (6, 6)]] | ||
Строка 60: | Строка 61: | ||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
− | '''Цикл''' (integral cycle) {{---}} это класс эквивалентности циклических путей на отношении эквивалентности таком, что два пути эквивалентны, если <tex> \exists j \forall i : e_{(i \mod k)} = e'_{(i + j) \mod k}</tex>; где <tex>e</tex> и <tex>e'</tex> {{---}} это две последовательности ребер в циклическом пути. | + | '''Цикл''' (integral cycle) {{---}} это [[Отношение эквивалентности#Класс эквивалентности|класс эквивалентности]] циклических путей на отношении эквивалентности таком, что два пути эквивалентны, если <tex> \exists j \forall i : e_{(i \mod k)} = e'_{(i + j) \mod k}</tex>; где <tex>e</tex> и <tex>e'</tex> {{---}} это две последовательности ребер в циклическом пути. |
}} | }} | ||
Строка 66: | Строка 67: | ||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
− | '''Неориентированным графом''' (undirected graph) <tex>G</tex> называется пара <tex>G = (V, E)</tex>, где <tex>V</tex> {{---}} множество вершин, а <tex> E \subset | + | '''Неориентированным графом''' (undirected graph) <tex>G</tex> называется пара <tex>G = (V, E)</tex>, где <tex>V</tex> {{---}} множество вершин, а <tex> E \subset \{\{v, u\}: v, u \in V\}</tex> {{---}} множество рёбер. |
}} | }} | ||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
− | '''Ребром''' в неориентированном графе называют неупорядоченную пару вершин <tex> | + | '''Ребром''' в неориентированном графе называют неупорядоченную пару вершин <tex> \{v, u\} \in E </tex>. |
}} | }} | ||
[[Файл: Graph_definition_2.png|thumb|210px|center|Неориентированный граф<br>]] | [[Файл: Graph_definition_2.png|thumb|210px|center|Неориентированный граф<br>]] | ||
Строка 77: | Строка 78: | ||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
− | '''Неориентированным графом''' <tex>G</tex> называется тройка <tex>G = (V, E, \operatorname{ends})</tex> , где | + | '''Неориентированным графом''' <tex>G</tex> называется тройка <tex>G = (V, E, \operatorname{ends})</tex> , где <tex>V</tex> и <tex>E</tex> {{---}} некоторые множества, а <tex>\operatorname{ends} : e \mapsto \{u, v\}; e\in E; u, v \in V</tex>. |
}} | }} | ||
Две вершины называются '''смежными''' (adjacent), если между ними есть ребро. | Две вершины называются '''смежными''' (adjacent), если между ними есть ребро. | ||
− | '''Степенью''' (degree, valency) вершины <tex>\operatorname{deg} | + | '''Степенью''' (degree, valency) вершины <tex>\operatorname{deg} v_i</tex> в неориентированном графе называют число ребер, инцидентных <tex>v_i</tex>. Будем считать, что петли добавляют к степени вершины <tex>2</tex>. |
{{Определение | {{Определение | ||
Строка 98: | Строка 99: | ||
Для матрицы смежности существует [[Связь степени матрицы смежности и количества путей|теорема]], позволяющая связать степень матрицы и количество путей из вершины <tex>v</tex> в вершину <tex>u</tex>. | Для матрицы смежности существует [[Связь степени матрицы смежности и количества путей|теорема]], позволяющая связать степень матрицы и количество путей из вершины <tex>v</tex> в вершину <tex>u</tex>. | ||
− | Если граф разрежен (sparse graph, <tex>|E| | + | Если граф разрежен (sparse graph, <tex>|E| \ll |V^2|</tex>, то есть, неформально говоря, в нем не очень много ребер), его лучше представить в виде списков смежности, где список для вершины <tex>v</tex> будет содержать вершины <tex>u: (v, u) \in E</tex>. Данный способ позволит сэкономить память, т.к. не придется хранить много нулей. |
=== Матрица инцидентности === | === Матрица инцидентности === |
Версия 01:57, 20 декабря 2013
Содержание
Ориентированные графы
Определение: |
Ориентированным графом (directed graph) | называется пара , где — множество вершин (vertices), а — множество рёбер (edges, дуг (arcs), линий (lines)).
Определение: |
Конечным графом (finite graph) | называется граф, в котором множества и — конечны. Следует заметить, что большинство рассматриваевых нами графов — конечны.
Определение: |
Ребром (edge, дугой (arc), линией (line)) ориентированного графа называют упорядоченную пару вершин | .
В графе ребро, концы которого совпадают, то есть , называется петлей (loop).
Если имеется ребро
, то говорят:- — предок (direct predecessor) .
- и — смежные (adjacent)
- Вершина инцидентна ребру
- Вершина инцидентна ребру
Инцидентность — понятие, используемое только в отношении ребра и вершины. Две вершины или два ребра не могут быть инцидентны.
Граф с
вершинами и ребрами называют - графом. -граф называют тривиальным.Заметим, что по определению ориентированного графа, данному выше, любые две вершины
нельзя соединить более чем одним ребром . Поэтому часто используют другое определение.Определение: |
Ориентированным графом | называется четверка , где и — некоторые множества, а .
Иногда граф, построенный таким образом, называют псевдографом (pseudograph). В псевдографе допускается соединять вершины более чем одним ребром. Такие ребра называются кратными (иначе — параллельные, multi-edge, parallel edge). Псевдограф без петель принято называть мультиграфом.
Также для ориентированных графов определяют полустепень исхода вершины (outdegree)
и полустепень захода вершины (indegree) .Стоит отметить, что для ориентированного графа справедлива лемма о рукопожатиях, связывающая количество ребер с суммой степеней вершин.
Определение: |
Путём (маршрутом, path) в графе называется последовательность вида | , где ; — длина пути.
Определение: |
Циклическим путём (closed walk) называется путь, в котором | .
Определение: |
Цикл (integral cycle) — это класс эквивалентности циклических путей на отношении эквивалентности таком, что два пути эквивалентны, если ; где и — это две последовательности ребер в циклическом пути. |
Неориентированные графы
Определение: |
Неориентированным графом (undirected graph) | называется пара , где — множество вершин, а — множество рёбер.
Определение: |
Ребром в неориентированном графе называют неупорядоченную пару вершин | .
Иное определение:
Определение: |
Неориентированным графом | называется тройка , где и — некоторые множества, а .
Две вершины называются смежными (adjacent), если между ними есть ребро.
Степенью (degree, valency) вершины
в неориентированном графе называют число ребер, инцидентных . Будем считать, что петли добавляют к степени вершины .
Определение: |
Циклическим путём в неориентированном графе называется путь, в котором | , а так же .
Остальные определения в неориентированном графе совпадают с аналогичными определениями в ориентированном графе.
Представление графов
Матрица и списки смежности
Граф можно представить в виде матрицы смежности (adjacency matrix), где . Также в ячейке матрицы можно хранить вес ребра или их количество (если в графе разрешены паралелльные ребра). Для матрицы смежности существует теорема, позволяющая связать степень матрицы и количество путей из вершины в вершину .
Если граф разрежен (sparse graph,
, то есть, неформально говоря, в нем не очень много ребер), его лучше представить в виде списков смежности, где список для вершины будет содержать вершины . Данный способ позволит сэкономить память, т.к. не придется хранить много нулей.Матрица инцидентности
Имеет место и другое представление графа - матрица инцидентности, которая сопоставляет множество вершин множеству ребер. То есть:
- , в случае ориентированного графа.
- инцидентна ребру , в случае неориентированного графа.
- Во всех остальных случаях ячейки матрицы равны 0.
См. также
Литература
- Харари Фрэнк Теория графов = Graph theory/Пер. с англ. и предисл. В. П. Козырева. Под ред. Г.П.Гаврилова. Изд. 2-е. — М.: Едиториал УРСС, 2003. — 296 с. — ISBN 5-354-00301-6
- Асанов М. О., Баранский В. А., Расин В. В. Дискретная математика: графы, матроиды, алгоритмы — НИЦ РХД, 2001. — 288 с. — ISBN 5-93972-076-5
- Кормен, Томас Х., Лейзерсон, Чарльз И., Ривест, Рональд Л., Штайн Клиффорд Алгоритмы: построение и анализ, 2-е издание. Пер. с англ. — М.:Издательский дом "Вильямс", 2010. — 1296 с.: ил. — Парал. тит. англ. — ISBN 978-5-8459-0857-5 (рус.)