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

Материал из Викиконспекты
Перейти к: навигация, поиск
Строка 17: Строка 17:
 
=== Доказательство построением ===
 
=== Доказательство построением ===
  
Возьмём любой из существующих путей между нужными нам вершинами: <tex>V_0E_1V_1E_2V_2 ... E_nV_n</tex>.
+
Возьмём любой из существующих путей между нужными нам вершинами: <tex>v_0e_1v_1e_2v_2 ... e_nv_n</tex>.
  
 
* Алгоритм:
 
* Алгоритм:
  1. Для вершины <tex>V_i</tex> найдём момент её последнего вхождения в путь – <tex>V_j</tex>.
+
  1. Для вершины <tex>v_i</tex> найдём момент её последнего вхождения в путь – <tex>v_j</tex>.
  2. Удалим отрезок пути от <tex>E_{i+1}</tex> до <tex>V_j</tex>, включительно.
+
  2. Удалим отрезок пути от <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> до <tex>v_n</tex>, и в нём вершина <tex>v_i</tex> будет содержаться ровно один раз.
Начнём процесс с вершины <tex>V_0</tex> и будем повторять его каждый раз  для следующей вершины нового пути, пока не дойдём до последней. По построению, получившийся путь будет содержать каждую из вершин графа не более одного раза, а значит, будет простым.
+
Начнём процесс с вершины <tex>v_0</tex> и будем повторять его каждый раз  для следующей вершины нового пути, пока не дойдём до последней. По построению, получившийся путь будет содержать каждую из вершин графа не более одного раза, а значит, будет простым.
  
 
=== Альтернативное ===
 
=== Альтернативное ===
Строка 30: Строка 30:
 
Предположение:
 
Предположение:
 
  Пусть он не простой.
 
  Пусть он не простой.
Тогда в нём содержатся две одинаковые вершины <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> и станет короче исходной. Получено противоречие с условием: взятый нами путь оказался не кратчайшим. Значит, предположение неверно, выбранный путь – простой.
 
}}
 
}}
  

Версия 00:36, 14 октября 2010

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

Для доказательства этой теоремы введём два определения.


Определение:
Простой (вершинно-простой) путь между двумя вершинами графа – путь между ними, в котором каждая из вершин графа встречается не более одного раза.


Определение:
Длина пути – количество рёбер, входящих в последовательность, задающую этот путь.


Доказательство построением

Возьмём любой из существующих путей между нужными нам вершинами: [math]v_0e_1v_1e_2v_2 ... e_nv_n[/math].

  • Алгоритм:
1. Для вершины [math]v_i[/math] найдём момент её последнего вхождения в путь – [math]v_j[/math].
2. Удалим отрезок пути от [math]e_{i+1}[/math] до [math]v_j[/math], включительно.
Получившаяся последовательность вершин и рёбер графа останется путём от [math]v_0[/math] до [math]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]

Замечания

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

См. также