Теорема о существовании простого пути в случае существования пути — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
Строка 1: Строка 1:
  
 +
==Теорема о существовании простого пути в случае существования пути==
  
==Теорема о существовании простого пути в случае существования пути==
 
 
{{Теорема
 
{{Теорема
 
|statement=
 
|statement=
 
Если между двумя [[Основные определения теории графов|вершинами графа]] существует [[Основные определения теории графов|путь]], то между ними существует [[Основные определения теории графов|вершинно-простой путь]].
 
Если между двумя [[Основные определения теории графов|вершинами графа]] существует [[Основные определения теории графов|путь]], то между ними существует [[Основные определения теории графов|вершинно-простой путь]].
|proof=
+
|proof =
 
 
[[Файл:Simple way.png|thumb|250px|right|Ориентированный граф. <font color=#ED1C24>Красным</font> выделен вершинно-простой путь. <font color=#3771c8ff>Синим</font> {{---}} реберно-простой путь.]]
 
 
 
 
=== Конструктивное доказательство ===
 
=== Конструктивное доказательство ===
  
Возьмём любой из существующих путей между нужными нам вершинами: <tex>v_0e_1v_1e_2v_2 ... e_nv_n</tex>.
+
Возьмём любой из существующих путей между нужными нам вершинами: <tex>v_0e_1v_1e_2v_2 \ldots e_nv_n</tex>. Для вершины <tex>v_i</tex> найдём момент её последнего вхождения в путь {{---}} <tex>v_j</tex>. Удалим отрезок пути от <tex>e_{i+1}v_{i + 1} \ldots v_j</tex>, включительно. Получившаяся последовательность вершин и рёбер графа останется путём от <tex>v_0 \ldots v_n</tex>, и в нём вершина <tex>v_i</tex> будет содержаться ровно один раз. Начнём процесс с вершины <tex>v_0</tex> и будем повторять его каждый раз  для следующей вершины нового пути, пока не дойдём до последней. По построению, получившийся путь будет содержать каждую из вершин графа не более одного раза, а значит, будет вершинно-простым.
 
 
* Алгоритм:
 
Для вершины <tex>v_i</tex> найдём момент её последнего вхождения в путь {{---}} <tex>v_j</tex>.
 
Удалим отрезок пути от <tex>e_{i+1}</tex> до <tex>v_j</tex>, включительно.
 
Получившаяся последовательность вершин и рёбер графа останется путём от <tex>v_0</tex> до <tex>v_n</tex>, и в нём вершина <tex>v_i</tex> будет содержаться ровно один раз.
 
Начнём процесс с вершины <tex>v_0</tex> и будем повторять его каждый раз  для следующей вершины нового пути, пока не дойдём до последней. По построению, получившийся путь будет содержать каждую из вершин графа не более одного раза, а значит, будет вершинно-простым.
 
  
 
=== Неконструктивное доказательство ===
 
=== Неконструктивное доказательство ===
 
Выберем из всех путей между данными вершинами путь наименьшей длины.
 
Выберем из всех путей между данными вершинами путь наименьшей длины.
  
*Предположение:
+
{{Утверждение
Пусть он не простой.
+
|statement = Допустим, что выбранный путь не является простым}}
 
Тогда в нём содержатся две одинаковые вершины <tex>v_i = v_j</tex>, <tex>i < j</tex>. Удалим из исходного пути отрезок от <tex>e_{i+1}</tex> до <tex>v_j</tex>, включительно. Конечная последовательность также будет путём от <tex>v_0</tex> до <tex>v_n</tex> и станет короче исходной. Получено противоречие с условием: взятый нами путь оказался не кратчайшим. Значит, предположение неверно, выбранный путь {{---}} простой.
 
Тогда в нём содержатся две одинаковые вершины <tex>v_i = v_j</tex>, <tex>i < j</tex>. Удалим из исходного пути отрезок от <tex>e_{i+1}</tex> до <tex>v_j</tex>, включительно. Конечная последовательность также будет путём от <tex>v_0</tex> до <tex>v_n</tex> и станет короче исходной. Получено противоречие с условием: взятый нами путь оказался не кратчайшим. Значит, предположение неверно, выбранный путь {{---}} простой.
 
}}
 
}}
 +
 +
[[Файл:Simple way.png|thumb|250px|right|Ориентированный граф. <font color=#ED1C24>Красным</font> выделен вершинно-простой путь. <font color=#3771c8ff>Синим</font> {{---}} реберно-простой путь.]]
  
 
== Замечания ==
 
== Замечания ==

Версия 19:11, 16 октября 2016

Теорема о существовании простого пути в случае существования пути

Теорема:
Если между двумя вершинами графа существует путь, то между ними существует вершинно-простой путь.
Доказательство:
[math]\triangleright[/math]

Конструктивное доказательство

Возьмём любой из существующих путей между нужными нам вершинами: [math]v_0e_1v_1e_2v_2 \ldots e_nv_n[/math]. Для вершины [math]v_i[/math] найдём момент её последнего вхождения в путь — [math]v_j[/math]. Удалим отрезок пути от [math]e_{i+1}v_{i + 1} \ldots v_j[/math], включительно. Получившаяся последовательность вершин и рёбер графа останется путём от [math]v_0 \ldots v_n[/math], и в нём вершина [math]v_i[/math] будет содержаться ровно один раз. Начнём процесс с вершины [math]v_0[/math] и будем повторять его каждый раз для следующей вершины нового пути, пока не дойдём до последней. По построению, получившийся путь будет содержать каждую из вершин графа не более одного раза, а значит, будет вершинно-простым.

Неконструктивное доказательство

Выберем из всех путей между данными вершинами путь наименьшей длины.

Утверждение:
Допустим, что выбранный путь не является простым
Тогда в нём содержатся две одинаковые вершины [math]v_i = v_j[/math], [math]i \lt j[/math]. Удалим из исходного пути отрезок от [math]e_{i+1}[/math] до [math]v_j[/math], включительно. Конечная последовательность также будет путём от [math]v_0[/math] до [math]v_n[/math] и станет короче исходной. Получено противоречие с условием: взятый нами путь оказался не кратчайшим. Значит, предположение неверно, выбранный путь — простой.
[math]\triangleleft[/math]
Ориентированный граф. Красным выделен вершинно-простой путь. Синим — реберно-простой путь.

Замечания

  • Так как вершинно-простой путь всегда является рёберно-простым, данная теорема справедлива и для рёберно-простого пути.
  • Теорема может быть сформулирована как для ориентированного, так и для неориентированного графа.

См. также