Теорема Фари — различия между версиями
Valery (обсуждение | вклад) |
Valery (обсуждение | вклад) |
||
Строка 21: | Строка 21: | ||
|proof= | |proof= | ||
− | Докажем теорему для плоской триангуляции графа <tex>G</tex>. Ее можно достичь, добавив в G необходимое количество ребер. Применим индукцию по числу вершин <tex>V</tex>. Предположим, что графы с числом вершин, меньшим <tex>V</tex>, мы можем нарисовать требуемым образом. | + | Докажем теорему для плоской триангуляции графа <tex>G</tex>. Ее можно достичь, добавив в <tex>G</tex> необходимое количество ребер. Применим индукцию по числу вершин <tex>V</tex>. Предположим, что графы с числом вершин, меньшим <tex>V</tex>, мы можем нарисовать требуемым образом. |
База: <tex>V=3</tex> {{---}} тривиально. | База: <tex>V=3</tex> {{---}} тривиально. | ||
Переход: <tex>V \geqslant 4</tex> | Переход: <tex>V \geqslant 4</tex> | ||
− | Рассмотрим ребро <tex>vw</tex>. Если в <tex>G</tex> нет разделяющих треугольников, то <tex>vw</tex> | + | Рассмотрим ребро <tex>vw</tex>. Если в <tex>G</tex> нет разделяющих треугольников, то <tex>vw</tex> {{---}} любое. Иначе <tex>vw</tex> {{---}} ребро, инцидентное вершине, находящейся внутри самого глубокого разделяющего треуголька в <tex>G</tex>. Тогда <tex>vw</tex> {{---}} граница двух граней <tex>vwp</tex> и <tex>vwq</tex>. |
[[File:Fary2.png|250px|Рисунок 2]] | [[File:Fary2.png|250px|Рисунок 2]] | ||
− | Если <tex>vw</tex> не в разделяющем треугольнике <tex>p</tex> и <tex>q</tex> | + | Если <tex>vw</tex> не в разделяющем треугольнике <tex>p</tex> и <tex>q</tex> {{---}} любые общие соседи <tex>v</tex> и <tex>w</tex>. |
Пусть <tex>(vp, vw, vq, vx_1, vx_2 ... vx_k)</tex> и <tex>(wq, wv, wp, wy_1, wy_2 ... wy_m)</tex> – обход по часовой стрелке ребер, исходящих соостветсвенно из <tex>v</tex> и <tex>w</tex>. | Пусть <tex>(vp, vw, vq, vx_1, vx_2 ... vx_k)</tex> и <tex>(wq, wv, wp, wy_1, wy_2 ... wy_m)</tex> – обход по часовой стрелке ребер, исходящих соостветсвенно из <tex>v</tex> и <tex>w</tex>. | ||
− | Пусть <tex>G'</tex> | + | Пусть <tex>G'</tex> {{---}} планарная триангуляция, полученная из G стягиванием ребра <tex>vw</tex> в вершину <tex>s</tex>. Заменим пары параллельных ребер <tex>vq</tex> и <tex>wq</tex> на <tex>sq</tex> и <tex>vp, wp</tex> на <tex>sp</tex>. Получим вершину <tex>s</tex>, из которой исходят ребра <tex>(sp, sy_1, sy_2 ... sy_m, sq, sx_1, sx_2 ... sx_k)</tex> {{---}} по часовой стрелке. |
[[File:Fary3.png|250px|Рисунок 3]] | [[File:Fary3.png|250px|Рисунок 3]] | ||
Мы получили граф <tex>G'</tex>, с меньшим числом вершин равно <tex>V - 1</tex> {{---}} то есть его можно уложить на плоскости требуемым образом: все ребра прямые (и сохранен обход по часовой стрелке ребер инцидентных <tex>s</tex>). | Мы получили граф <tex>G'</tex>, с меньшим числом вершин равно <tex>V - 1</tex> {{---}} то есть его можно уложить на плоскости требуемым образом: все ребра прямые (и сохранен обход по часовой стрелке ребер инцидентных <tex>s</tex>). | ||
− | Для любого <tex>\varepsilon > 0</tex> обозначим <tex>C_{\varepsilon}(s)</tex> | + | Для любого <tex>\varepsilon > 0</tex> обозначим <tex>C_{\varepsilon}(s)</tex> {{---}} круг радиуса <tex>\varepsilon</tex>, с вершиной <tex>s</tex> в центре. |
Для каждого соседа <tex>t</tex> вершины <tex>s</tex> в графе <tex>G'</tex> обозначим <tex>R_{\varepsilon}(t)</tex> область, содержащую множество всех окрытых отрезков от <tex>t</tex> до каждой точки из <tex>C_{\varepsilon}(s)</tex>. | Для каждого соседа <tex>t</tex> вершины <tex>s</tex> в графе <tex>G'</tex> обозначим <tex>R_{\varepsilon}(t)</tex> область, содержащую множество всех окрытых отрезков от <tex>t</tex> до каждой точки из <tex>C_{\varepsilon}(s)</tex>. | ||
Строка 48: | Строка 48: | ||
[[File:Fary4.png|250px|Рисунок 5]] | [[File:Fary4.png|250px|Рисунок 5]] | ||
− | Проведем линию <tex>L</tex> через вершину <tex>s</tex> так, чтобы вершина <tex>p</tex> лежала с одной ее стороны, а <tex>q</tex> | + | Проведем линию <tex>L</tex> через вершину <tex>s</tex> так, чтобы вершина <tex>p</tex> лежала с одной ее стороны, а <tex>q</tex> {{---}} с другой (иначе <tex>L</tex> наложится на ребра <tex>sp</tex> и <tex>sq</tex>) и никакое из ребер <tex>\{sx_i : 1 < i < k\}</tex> и <tex>\{sy_i : 1 < i < m\}</tex> не лежало на <tex>L</tex>. |
Ребра <tex>sq</tex> и <tex>sq</tex> разбивают <tex>C_{\varepsilon}(s)</tex> на две дуги: первая пересекает ребра <tex>\{sx_i : 1 < i < k\}</tex>, а вторая {{---}} ребра <tex>\{sy_i : 1 < i < m\}</tex>. | Ребра <tex>sq</tex> и <tex>sq</tex> разбивают <tex>C_{\varepsilon}(s)</tex> на две дуги: первая пересекает ребра <tex>\{sx_i : 1 < i < k\}</tex>, а вторая {{---}} ребра <tex>\{sy_i : 1 < i < m\}</tex>. | ||
<tex>L</tex> пересекает <tex>C_{\varepsilon}(s)</tex> в двух точках. Расположим <tex>v</tex> и <tex>w</tex> в этих точках: <tex>v</tex> на дуге, пересекающей <tex>\{sx_i : 1 < i < k\}</tex>, а <tex>w</tex> с другой стороны. | <tex>L</tex> пересекает <tex>C_{\varepsilon}(s)</tex> в двух точках. Расположим <tex>v</tex> и <tex>w</tex> в этих точках: <tex>v</tex> на дуге, пересекающей <tex>\{sx_i : 1 < i < k\}</tex>, а <tex>w</tex> с другой стороны. |
Версия 00:58, 12 ноября 2013
Теорема была независимо доказана Клаусом Вагнером в 1936 года, Иштваном Фари в 1948ом году и Штейном в 1951ом году.
Определение: |
Триангуляция графа — представление графа на плоскости в таком виде, что каждая его грань ограничена тремя ребрами (является треугольником). |
Определение: |
Разделяющий треугольник — цикл длины | в графе , внутри и снаружи которого находятся вершины графа.
Разделяющий треугольник изображён ниже.
Теорема (Фари): |
Любой планарный граф имеет представление на плоскости, в котором все его ребра будут прямыми. |
Доказательство: |
Докажем теорему для плоской триангуляции графа . Ее можно достичь, добавив в необходимое количество ребер. Применим индукцию по числу вершин . Предположим, что графы с числом вершин, меньшим , мы можем нарисовать требуемым образом.База: — тривиально.Переход: Рассмотрим ребро . Если в нет разделяющих треугольников, то — любое. Иначе — ребро, инцидентное вершине, находящейся внутри самого глубокого разделяющего треуголька в . Тогда — граница двух граней и .Если не в разделяющем треугольнике и — любые общие соседи и . Пусть и – обход по часовой стрелке ребер, исходящих соостветсвенно из и . Пусть — планарная триангуляция, полученная из G стягиванием ребра в вершину . Заменим пары параллельных ребер и на и на . Получим вершину , из которой исходят ребра — по часовой стрелке.Мы получили граф , с меньшим числом вершин равно — то есть его можно уложить на плоскости требуемым образом: все ребра прямые (и сохранен обход по часовой стрелке ребер инцидентных ). Для любого обозначим — круг радиуса , с вершиной в центре. Для каждого соседа вершины в графе обозначим область, содержащую множество всех окрытых отрезков от до каждой точки из .Возьмем равным минимуму из всех расстояний от вершины до инцидентных ей вершин и до отрезков, проходящих мимо нее.Тогда получим, что все соседи вершины находятся снаружи и только ребра , пересекающие , являются инцидентными .Проведем линию через вершину так, чтобы вершина лежала с одной ее стороны, а — с другой (иначе наложится на ребра и ) и никакое из ребер и не лежало на . Ребра и разбивают на две дуги: первая пересекает ребра , а вторая — ребра . пересекает в двух точках. Расположим и в этих точках: на дуге, пересекающей , а с другой стороны.Удалим и инцидентные ей ребра, нарисуем прямые ребра , инцидентные и .Получим, что Теперь мы можем удалить триангуляцию графа, оставив в графе лишь исходные (уже прямые) ребра. лежит на . Так как и лежат с разных сторон , ребра, инцидентные и , не пересекаются. По выбору , ребра, инцидентные и , не пересекают и другие ребра . Таким образом желаемая укладка графа достигнута. |