Изменения

Перейти к: навигация, поиск
м
rollbackEdits.php mass rollback
 
==Теорема о существовании простого пути в случае существования пути==
[[Файл:Simple way.png|thumb|250px|center|Ориентированный граф. <font color=#ED1C24>Красным</font> выделен вершинно-простой путь. <font color=#3771c8ff>Синим</font> {{---}} реберно-простой путь.]]
{{Теорема
|statement=
|proof =
=== Конструктивное доказательство ===
 Возьмём любой из существующих путей между нужными нам вершинамиРассмотрим путь: <tex>v_0e_1v_1e_2v_2 \ldots e_nv_n</tex> между вершинами <tex>v_0</tex> и <tex>v_n</tex>, причём <tex>v_0 \neq v_n</tex>. Для вершины Возьмем <tex>v_i</tex> найдём момент её последнего вхождения в путь {{---}} <tex>v_j</tex>вершина на данном пути. Удалим отрезок Если она лежит на данном пути от более одного раза, то она принадлежит какому-то (не обязательно простому) циклу <tex>e_v_ie_{i+1}v_{i + 1}e_{i+2} \ldots v_jv_{j=i}</tex>, включительно. Удалим этот цикл. Получившаяся последовательность вершин и рёбер графа останется путём от <tex>v_0 \ldots v_n</tex>, и в нём вершина <tex>v_i</tex> но не будет содержаться ровно один разсодержать найденный цикл. Начнём процесс с вершины <tex>v_0</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|Ориентированный граф. statement = Данная теорема не верна для случая <font colortex>v_0 =#ED1C24>Краснымv_n</fonttex> выделен .|proof = В данном случае мы не сможем найти вершинно-простой путь, так как путь начинается и заканчивается в одной и той же вершине. <font color=#3771c8ff>Синим</font> {{---}} реберно-простой путь.]]
== Замечания ==
1632
правки

Навигация