Эйлеровость графов — различия между версиями
(→Ориентированный граф) |
(→Критерий эйлеровости) |
||
Строка 44: | Строка 44: | ||
|proof= | |proof= | ||
+ | |||
+ | Докажем эту теорему, используя индукцию по числу вершин <tex>n</tex>. | ||
+ | |||
База индукции: <tex>n = 0</tex> цикл существует. | База индукции: <tex>n = 0</tex> цикл существует. | ||
− | |||
− | |||
− | + | Предположим что граф имеющий менее <tex>n</tex> вершин содержит эйлеров цикл. | |
+ | |||
+ | Рассмотрим граф <tex>G = (V, E) </tex> с <tex>n > 0</tex> вершинами, степени которых четны. | ||
+ | |||
+ | Допустим, что <tex>v1</tex> и <tex>v2</tex> - вершины графа. Поскольку граф связный, то существует путь из <tex>v1</tex> в <tex>v2</tex>. Поскольку степень <tex>v2</tex> - чётная, существует неиспользованное ребро, по которому можно продолжить путь. Поскольку граф конечный, то путь, в конце концов, должен вернуться в <tex>v1</tex>, и эйлеров цикл можно считать построенным. Если <tex>с1</tex> является эйлеровым циклом для <tex>G</tex>, тогда доказательство закончено. Если нет, то пусть <tex>G'</tex> - подграф графа <tex>G</tex>, полученный удалением всех рёбер, принадлежащих <tex>c1</tex>. Поскольку <tex>c1</tex> содержит чётное число рёбер, инцидентных каждой вершине, то каждая вершина подграфа <tex>G'</tex> имеет чётную степень. | ||
+ | |||
+ | Пусть <tex>e</tex> - ребро графа <tex>G'</tex>. Поскольку <tex>G'</tex> имеет менее, чем <tex>n</tex> вершин, и у каждой вершины графа <tex>G'</tex> чётная степень, граф <tex>G'</tex> имеет эйлеров цикл. Пусть это цикл <tex>c2</tex>. У <tex>c1</tex> и <tex>c2</tex> имеется общая вершина <tex>a</tex>, так как <tex>G</tex> cвязен. Теперь можно обойти эйлеров цикл, начиная его в <tex>а</tex>, обойти <tex>c1</tex> , вернуться в <tex>a</tex>, затем пройти <tex>c2</tex> и вернуться в <tex>a</tex>. Если новый эйлеров цикл не является эйлеровым циклом для <tex>G</tex>, продолжаем использовать этот процесс, расширяя наш эйлеров цикл, пока, в конце концов, не получим эйлеров цикл для <tex>G</tex>. | ||
+ | |||
}} | }} | ||
Версия 21:02, 10 декабря 2011
Содержание
Эйлеров путь
Определение: |
Эйлеровым путем в графе называется путь, который проходит по каждому ребру, причем ровно один раз. |
Эйлеров обход
Определение: |
Эйлеров обход - обход графа, посещающий эйлеров путь. |
Эйлеров цикл
Определение: |
Эйлеров цикл - замкнутый эйлеров путь. |
Эйлеров граф
Определение: |
Граф называется эйлеровым, если он содержит эйлеров цикл. Граф называется полуэйлеровым, если он содержит эйлеров путь, но не содержит эйлеров цикл. |
Критерий эйлеровости
Необходимое условия:
1. Количество вершин нечетной степени не превосходит двух.
2. Все компоненты связности кроме, может быть одной, не содержат ребер.
Доказательство:
1. Допустим в графе количество вершин нечетной степени больше двух. Заметим, что при попадании в вершину и при выходе из нее мы уменьшаем ее степень на два(помечаем уже пройденые ребра), если эта вершина не является стартовой или конечной. Следовательно вершин с нечетной степенью не может быть больше двух. Наше предположение неверно.
2. Если в графе существует более одной компоненты связности с ребрами, то очевидно, что нельзя пройти по их ребрам одним путем.
Теорема: |
В графе существует эйлеров цикл тогда и только тогда, когда:
1. Все вершины имеют четную степень. 2. Все компоненты связности кроме, может быть одной, не содержат ребер. |
Доказательство: |
Докажем эту теорему, используя индукцию по числу вершин .База индукции: цикл существует.Предположим что граф имеющий менее вершин содержит эйлеров цикл.Рассмотрим граф с вершинами, степени которых четны.Допустим, что Пусть и - вершины графа. Поскольку граф связный, то существует путь из в . Поскольку степень - чётная, существует неиспользованное ребро, по которому можно продолжить путь. Поскольку граф конечный, то путь, в конце концов, должен вернуться в , и эйлеров цикл можно считать построенным. Если является эйлеровым циклом для , тогда доказательство закончено. Если нет, то пусть - подграф графа , полученный удалением всех рёбер, принадлежащих . Поскольку содержит чётное число рёбер, инцидентных каждой вершине, то каждая вершина подграфа имеет чётную степень. - ребро графа . Поскольку имеет менее, чем вершин, и у каждой вершины графа чётная степень, граф имеет эйлеров цикл. Пусть это цикл . У и имеется общая вершина , так как cвязен. Теперь можно обойти эйлеров цикл, начиная его в , обойти , вернуться в , затем пройти и вернуться в . Если новый эйлеров цикл не является эйлеровым циклом для , продолжаем использовать этот процесс, расширяя наш эйлеров цикл, пока, в конце концов, не получим эйлеров цикл для . |
Следствие:
В графе
существует эйлеров путь тогда и только тогда, когда:1. Количество вершин с нечетной степенью меньше или равно двум.
2. Все компоненты связности кроме, может быть одной, не содержат ребер.
Доказательство:
Добавим ребро, соединяющее вершины с нечетной степенью. Теперь можно найти эйлеров цикл, после чего удалить добавленное ребро. Очевидно найденный цикл станет путем.
Ориентированный граф
Теорема: |
В ориентированном графе существует эйлеров цикл тогда и только тогда, когда:
1. Входная степень любой вершины равна ее выходной степени. 2. Все компоненты слабой связности кроме, может быть одной, не содержат ребер. |
Доказательство: |
Доказательство аналогично случаю неориентированного графа. |
Следствие:
В ориентированном графе
существует эйлеров путь если:1. Входная степень любой вершины равна ее выходной степени, кроме двух вершин графа, для одной из которых
, а для другой .2. Все компоненты слабой связности кроме, может быть одной, не содержат ребер.
Доказательство:
Соединим ориентированным ребром вершину с большей входящей степенью с вершиной с большей исходящей степенью. Теперь можно найти эйлеров цикл, после чего удалить добавленное ребро. Очевидно найденный цикл станет путем.
Полезные ссылки
- Ф.Харари Теория графов. глава 7. Обходы графов. Эйлеровы графы.
- Нахождение эйлерова пути
- Алгоритм построения Эйлерова цикла