Произвольно вычерчиваемые из заданной вершины графы — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
м (rollbackEdits.php mass rollback)
 
(не показаны 23 промежуточные версии 5 участников)
Строка 1: Строка 1:
 
{{Определение
 
{{Определение
 
|definition=
 
|definition=
[[Основные определения теории графов|Граф]] называется '''произвольно вычерчиваемым из  вершины <tex>v</tex>''' (англ. '''Arbitrarily traceable graph'''), если любая цепь с началом в вершине <tex>v</tex> может быть продолжена до эйлерового цикла графа <tex>G</tex>. <br>Любой произвольно вычерчиваемый из вершины <tex>v</tex> граф является [[Эйлеров цикл, Эйлеров путь, Эйлеровы графы, Эйлеровость орграфов|эйлеровым графом]]. }}
+
[[Основные определения теории графов|Граф]] называется '''произвольно вычерчиваемым из  вершины <tex>v</tex>''' (англ. ''Arbitrarily traceable graph''), если любая цепь с началом в вершине <tex>v</tex> может быть продолжена до эйлерового цикла графа <tex>G</tex>. }}
 +
{{Утверждение
 +
|statement=Любой произвольно вычерчиваемый из вершины <tex>v</tex> граф является [[Эйлеров цикл, Эйлеров путь, Эйлеровы графы, Эйлеровость орграфов|эйлеровым графом]].
 +
}}
 +
 
 
{{Теорема
 
{{Теорема
 
|statement=
 
|statement=
Неодноэлементный [[Эйлеров цикл, Эйлеров путь, Эйлеровы графы, Эйлеровость орграфов|эйлеров граф]] <tex>G</tex> является произвольно вычерчиваемым из вершины <tex>v</tex> <tex>\Longleftrightarrow</tex> вершина <tex>v</tex> принадлежит всем циклам графа <tex>G</tex>.<br>
+
[[Эйлеров цикл, Эйлеров путь, Эйлеровы графы, Эйлеровость орграфов|Эйлеров граф]] <tex>G</tex>, содержащий хотя бы одно ребро, является произвольно вычерчиваемым из вершины <tex>v</tex> <tex>\Longleftrightarrow</tex> вершина <tex>v</tex> принадлежит всем циклам графа <tex>G</tex>.<br>
 
|proof=
 
|proof=
<tex>\Rightarrow</tex> Пусть в <tex>G</tex>  <tex>\exists</tex> цикл <tex>C, v \notin C</tex>.<br>
+
[[Файл:ATG_part1.jpg|200px|right]]
Рассмотрим <tex>G_1 = G/C</tex> (здесь и далее это означает удаление только ребер, не трогая вершины). Пусть <tex>H</tex> компонента связности <tex>G_1</tex>. <tex>H</tex> эйлеров граф, а значит содержит эйлеров цикл <tex>P</tex>. Будем считать началом и концом <tex>P</tex> вершину <tex>v</tex>. Тогда мы не сможем продложить <tex>P</tex> в <tex>G</tex>, так как <tex>v \notin C</tex>.
+
<tex>\Rightarrow</tex> <br>
<br>
+
Пусть в <tex>G</tex>  <tex>\exists</tex> цикл <tex>C, v \notin C</tex>.<br>
<tex>\Leftarrow</tex> Пусть дан эйлеров граф <tex>G</tex>, вершина <tex>v</tex> принадлежит всем его циклам.<br>
+
Рассмотрим <tex>G_1 = G/C</tex> (здесь и далее это означает удаление только ребер, не трогая вершины). При удалении цикла все степени вершин остались четными, потому что каждая вершина содержит четное количество ребер цикла, и следовательно <tex>G_1</tex> {{---}} эйлеров. Тогда в <tex>G_1</tex> <tex>\exists</tex> эйлеров цикл. Если начать обход по эйлерову циклу из <tex>v</tex>, то и закончится он в <tex>v</tex>. Если теперь вернуть цикл <tex>C</tex>, то мы никак не сможем его обойти, так как из вершины <tex>v</tex> больше нет не посещенных ребер <tex>\Rightarrow</tex> <tex>G</tex> не свободно вычерчиваемый из <tex>v</tex>.
Рассмотрим произвольную цепь <tex>P = (v,w)</tex>. Пусть <tex>G_1 = G/P</tex>. В <tex>G_1</tex> все степени вершин четные (если <tex>v = w</tex>) либо ровно 2 вершины имеют нечетную степень. Возьмем <tex>H_1</tex> <tex>-</tex> компонента связности из <tex>G_1</tex>, содержащая <tex>v</tex>. Все ребра <tex>G_1</tex> содержатся в <tex>H_1</tex>, иначе существует цикл, проходящий через какую либо вершину из <tex>P</tex> кроме <tex>v</tex> (следует из эйлеровости графа <tex>G</tex>) что невозможно по условию.<br>
+
[[Файл:ATG_part2.jpg|200px|right]]
<tex>H_1</tex> полуэйлеров граф содержащий все ребра <tex>G_1</tex>, значит в нем <tex>\exists</tex> эйлерова цепь <tex>Q=(w,v)</tex> также содержащая все ребра <tex>G_1</tex> <tex>\Rightarrow</tex> <tex>P+Q</tex> эйлеров цикл в графе <tex>G</tex>.
+
<tex>\Leftarrow</tex> <br>
}}
+
Пусть дан эйлеров граф <tex>G</tex>, вершина <tex>v</tex> принадлежит всем его циклам.<br>
 +
Рассмотрим произвольный путь <tex>P = v \leadsto w</tex>. Пусть <tex>G_1 = G/P</tex>. Возможны 2 случая:
 +
 
 +
# Если <tex>v = w</tex>, то <tex>P</tex> {{---}} цикл, значит степени всех вершин в <tex>G_1</tex> остались четными <tex>\Rightarrow</tex> <tex>G_1</tex> {{---}} эйлеров.<br>
 +
# Если <tex>v \neq w</tex>, то так как <tex>G</tex> эйлеров граф <tex>\exists</tex> эйлеров путь <tex>w \leadsto v \in G_1</tex>.
 +
 
 +
Покажем, что в обоих случаях эйлеров обход пройдет по всем ребрам <tex>G_1</tex>.
 +
 
 +
В <tex>G</tex> <tex>\exists</tex> единственная компонента связности, содержащая ребра. При удалении <tex>P</tex> их количество не могло увеличится, иначе должен быть цикл, не содержащий <tex>v</tex>(смотри рисунок). Значит в <tex>G_1</tex> <tex>\exists</tex> единственная компонента связности содержащая ребра, причем <tex>G_1</tex> либо полуэйлеров, либо эйлеров <tex>\Rightarrow</tex> в <tex>G_1</tex> <tex>\exists</tex> эйлерова цепь <tex>Q = w \leadsto v</tex> <tex>\Rightarrow</tex> <tex>P+Q</tex> эйлеров цикл в графе <tex>G</tex>.
 +
}}
  
 
== Строение ==
 
== Строение ==
 
[[Файл:ATGexample.jpg|right|300px]]
 
[[Файл:ATGexample.jpg|right|300px]]
 
Опираясь на теорему опишем строение всех графов, произвольно вычерчиваемых из вершины <tex>v</tex>. <br>
 
Опираясь на теорему опишем строение всех графов, произвольно вычерчиваемых из вершины <tex>v</tex>. <br>
Возьмем произвольный [[Дерево, эквивалентные определения|лес]] <tex>H</tex>, не содержащий вершину <tex>v</tex>. Каждую вершину нечетной степени соединим некоторым нечетным числом кратных ребер с <tex>v</tex>, а каждую вершину четной степени <tex>-</tex> четным числом кратных ребер с <tex>v</tex> (не исключая 0), причем каждую изолированную вершину обязательно соединим с <tex>v</tex>.<br>
+
Возьмем произвольный [[Дерево, эквивалентные определения|лес]] <tex>H</tex>, не содержащий вершину <tex>v</tex>. Каждую вершину нечетной степени соединим некоторым нечетным числом кратных ребер с <tex>v</tex>, а каждую вершину четной степени <tex>-</tex> четным числом кратных ребер с <tex>v</tex> (не исключая <tex>0</tex>), причем каждую изолированную вершину обязательно соединим с <tex>v</tex>.<br>
 
Полученный граф <tex>G</tex>:
 
Полученный граф <tex>G</tex>:
* Связен;
+
* связен,
* Имеет только вершины четной степени;
+
* имеет только вершины четной степени,
* Является произвольно вычерчиваемым из <tex>v</tex>, как эйлеров граф, у которого <tex>v</tex> принадлежит всем циклам.
+
* является произвольно вычерчиваемым из <tex>v</tex>, как эйлеров граф, у которого <tex>v</tex> принадлежит всем циклам.
 +
Теперь докажем, почему таким образом можно получить все графы, произвольно вычерчиваемые из вершины <tex>v</tex>. Пусть какой-то такой граф нельзя получить методом описанным выше. Тогда уберем все ребра из вершины <tex>v</tex> и посмотрим на граф, который остался. Он не является лесом, иначе мы могли бы получить этот граф нашим методом. Но если он не является лесом, то в нем есть хотя бы один цикл, который не содержит <tex>v</tex>. А по теореме о произвольно вычерчиваемымых из вершины графах такого быть не может. Следовательно наше предположение ошибочно.
 +
 
 +
==См. также==
 +
* [[Покрытие рёбер графа путями]]
 +
* [[Алгоритм построения Эйлерова цикла]]
  
==Источники==
+
==Источники информации==
''Асанов М., Баранский В., Расин В.'' Дискретная математика: Графы, матроиды, алгоритмы. Ижевск: ННЦ "Регулярная и хаотическая динамика", 2001. — С. 36. — ISBN 5-93972-076-5
+
* Асанов М., Баранский В., Расин В. ''Дискретная математика: Графы, матроиды, алгоритмы.'', Ижевск: ННЦ "Регулярная и хаотическая динамика", 2001. ISBN 5-93972-076-5
  
 
[[Категория: Алгоритмы и структуры данных]]
 
[[Категория: Алгоритмы и структуры данных]]
 
[[Категория: Обходы графов]]
 
[[Категория: Обходы графов]]
 +
[[Категория: Эйлеровы графы]]

Текущая версия на 19:38, 4 сентября 2022

Определение:
Граф называется произвольно вычерчиваемым из вершины [math]v[/math] (англ. Arbitrarily traceable graph), если любая цепь с началом в вершине [math]v[/math] может быть продолжена до эйлерового цикла графа [math]G[/math].
Утверждение:
Любой произвольно вычерчиваемый из вершины [math]v[/math] граф является эйлеровым графом.
Теорема:
Эйлеров граф [math]G[/math], содержащий хотя бы одно ребро, является произвольно вычерчиваемым из вершины [math]v[/math] [math]\Longleftrightarrow[/math] вершина [math]v[/math] принадлежит всем циклам графа [math]G[/math].
Доказательство:
[math]\triangleright[/math]
ATG part1.jpg

[math]\Rightarrow[/math]
Пусть в [math]G[/math] [math]\exists[/math] цикл [math]C, v \notin C[/math].
Рассмотрим [math]G_1 = G/C[/math] (здесь и далее это означает удаление только ребер, не трогая вершины). При удалении цикла все степени вершин остались четными, потому что каждая вершина содержит четное количество ребер цикла, и следовательно [math]G_1[/math] — эйлеров. Тогда в [math]G_1[/math] [math]\exists[/math] эйлеров цикл. Если начать обход по эйлерову циклу из [math]v[/math], то и закончится он в [math]v[/math]. Если теперь вернуть цикл [math]C[/math], то мы никак не сможем его обойти, так как из вершины [math]v[/math] больше нет не посещенных ребер [math]\Rightarrow[/math] [math]G[/math] не свободно вычерчиваемый из [math]v[/math].

ATG part2.jpg

[math]\Leftarrow[/math]
Пусть дан эйлеров граф [math]G[/math], вершина [math]v[/math] принадлежит всем его циклам.
Рассмотрим произвольный путь [math]P = v \leadsto w[/math]. Пусть [math]G_1 = G/P[/math]. Возможны 2 случая:

  1. Если [math]v = w[/math], то [math]P[/math] — цикл, значит степени всех вершин в [math]G_1[/math] остались четными [math]\Rightarrow[/math] [math]G_1[/math] — эйлеров.
  2. Если [math]v \neq w[/math], то так как [math]G[/math] эйлеров граф [math]\exists[/math] эйлеров путь [math]w \leadsto v \in G_1[/math].

Покажем, что в обоих случаях эйлеров обход пройдет по всем ребрам [math]G_1[/math].

В [math]G[/math] [math]\exists[/math] единственная компонента связности, содержащая ребра. При удалении [math]P[/math] их количество не могло увеличится, иначе должен быть цикл, не содержащий [math]v[/math](смотри рисунок). Значит в [math]G_1[/math] [math]\exists[/math] единственная компонента связности содержащая ребра, причем [math]G_1[/math] либо полуэйлеров, либо эйлеров [math]\Rightarrow[/math] в [math]G_1[/math] [math]\exists[/math] эйлерова цепь [math]Q = w \leadsto v[/math] [math]\Rightarrow[/math] [math]P+Q[/math] эйлеров цикл в графе [math]G[/math].
[math]\triangleleft[/math]

Строение

ATGexample.jpg

Опираясь на теорему опишем строение всех графов, произвольно вычерчиваемых из вершины [math]v[/math].
Возьмем произвольный лес [math]H[/math], не содержащий вершину [math]v[/math]. Каждую вершину нечетной степени соединим некоторым нечетным числом кратных ребер с [math]v[/math], а каждую вершину четной степени [math]-[/math] четным числом кратных ребер с [math]v[/math] (не исключая [math]0[/math]), причем каждую изолированную вершину обязательно соединим с [math]v[/math].
Полученный граф [math]G[/math]:

  • связен,
  • имеет только вершины четной степени,
  • является произвольно вычерчиваемым из [math]v[/math], как эйлеров граф, у которого [math]v[/math] принадлежит всем циклам.

Теперь докажем, почему таким образом можно получить все графы, произвольно вычерчиваемые из вершины [math]v[/math]. Пусть какой-то такой граф нельзя получить методом описанным выше. Тогда уберем все ребра из вершины [math]v[/math] и посмотрим на граф, который остался. Он не является лесом, иначе мы могли бы получить этот граф нашим методом. Но если он не является лесом, то в нем есть хотя бы один цикл, который не содержит [math]v[/math]. А по теореме о произвольно вычерчиваемымых из вершины графах такого быть не может. Следовательно наше предположение ошибочно.

См. также

Источники информации

  • Асанов М., Баранский В., Расин В. Дискретная математика: Графы, матроиды, алгоритмы., Ижевск: ННЦ "Регулярная и хаотическая динамика", 2001. ISBN 5-93972-076-5