Изменения

Перейти к: навигация, поиск
м
Теорема о существовании простого пути в случае существования пути
==Определения==
{{Определение
|definition=
'''Простой (вершинно-простой) путь''' между двумя вершинами графа {{---}} путь между ними, в котором каждая из вершин графа встречается не более одного раза.
}}
{{Определение
|definition=
'''Реберно-простой путь''' между двумя вершинами графа {{---}} путь между ними, в котором каждое из ребер графа встречается не более одного раза.
}}
[[Файл: Prostoy put.png|thumb|300px|left|Ориентированный граф<br><font color=#ED1C24>Красным</font> выделен вершинно-простой путь<br><font color=#22B14C>Зеленым</font> реберно-простой путь]]
 
{{Определение
|definition=
'''Длина пути''' {{---}} количество [[Основные определения теории графов|рёбер]], входящих в последовательность, задающую этот путь.
}}
 
==Теорема о существовании простого пути в случае существования пути==
[[Файл: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_ie_{i+1}v_{i+1}e_{i+2} \ldots v_{j=i}</tex>. Удалим этот цикл. Получившаяся последовательность вершин и рёбер графа останется путём <tex>v_0 \ldots v_n</tex>, но не будет содержать найденный цикл. Начнём процесс с вершины <tex>v_0</tex> и будем повторять его каждый раз для следующей вершины нового пути, пока не дойдём до последней. По построению, получившийся путь будет содержать каждую из вершин графа не более одного раза, а значит, будет вершинно-простым.
=== Доказательство построением === Возьмём любой из существующих путей между нужными нам вершинами: <tex>v_0e_1v_1e_2v_2 ... e_nv_n</tex>. * Алгоритм: 1. Для вершины <tex>v_i</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> и будем повторять его каждый раз для следующей вершины нового пути, пока не дойдём до последней. По построению, получившийся путь будет содержать каждую из вершин графа не более одного раза, а значит, будет простым. === Альтернативное Неконструктивное доказательство ===
Выберем из всех путей между данными вершинами путь наименьшей длины.
Предположение:{{Утверждение Пусть он |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> и станет короче исходной. Получено противоречие с условием: взятый нами путь оказался не кратчайшим. Значит, предположение неверно, выбранный путь {{---}} простой.
}}
{{Утверждение
|statement = Данная теорема не верна для случая <tex>v_0 = v_n</tex>.
|proof = В данном случае мы не сможем найти вершинно-простой путь, так как путь начинается и заканчивается в одной и той же вершине.
}}

Навигация