Факторизация графов — различия между версиями
(→2-факторизация) |
|||
Строка 26: | Строка 26: | ||
Начнём обход <tex>2</tex>-фактора с какой-то вершины. Пойдём по одному из её рёбер и попадаем в смежную ей вершину. Далее идём по рёбрам, по которым мы ещё не ходили. Мы входим в вершину по одному ребру и выходим по другому, так как степень каждой вершины равна <tex>2</tex>, пока не вернёмся в первую вершину. Это цикл, так как в каждой вершине мы были только один раз. Если есть вершины, которые мы не посетили, то снова начинаем обход с любой из таких вершин. В вершины прежних циклов попасть нельзя, так как мы уже проходили по рёбрам этих вершин. Значит, циклы не пересекаются по вершинам. | Начнём обход <tex>2</tex>-фактора с какой-то вершины. Пойдём по одному из её рёбер и попадаем в смежную ей вершину. Далее идём по рёбрам, по которым мы ещё не ходили. Мы входим в вершину по одному ребру и выходим по другому, так как степень каждой вершины равна <tex>2</tex>, пока не вернёмся в первую вершину. Это цикл, так как в каждой вершине мы были только один раз. Если есть вершины, которые мы не посетили, то снова начинаем обход с любой из таких вершин. В вершины прежних циклов попасть нельзя, так как мы уже проходили по рёбрам этих вершин. Значит, циклы не пересекаются по вершинам. | ||
}} | }} | ||
+ | |||
+ | {{Теорема | ||
+ | |id=regular2factor | ||
+ | |author=J. Petersen, 1981 | ||
+ | |about = О наличии <tex>2</tex>-фактора в регулярном графе чётной степени. | ||
+ | |statement = Пусть <tex>G</tex>{{---}}[[Основные определения теории графов#defRegularGraph |регулярный граф]] чётной степени. Тогда в <tex>G</tex> есть <tex>2</tex>-фактор. | ||
+ | |proof = | ||
+ | coming soon | ||
+ | }} | ||
+ | |||
Заметим, что если <tex>2</tex>-фактор связен, то он является [[Гамильтоновы графы|гамильтоновым циклом]]. | Заметим, что если <tex>2</tex>-фактор связен, то он является [[Гамильтоновы графы|гамильтоновым циклом]]. | ||
Строка 35: | Строка 45: | ||
[[Файл: Факторизация K7.png|thumb|360px|right|<tex>2</tex>-факторизация графа <tex>K_7</tex>. Рёбра, отмеченные пунктиром, не пересекают другие рёбра при правильной [[Укладка графа на плоскости|укладке графа]].]]Для того чтобы в графе <tex>K_{2n+1}</tex> построить <tex>n</tex> гамильтоновых циклов, непересекающихся по рёбрам, перенумеруем сначала его вершины <tex>v_1, v_2, \dots, v_{2n+1}</tex>. На множестве вершин <tex>v_1, v_2, \dots, v_{2n}</tex> зададим <tex>n</tex> непересекающихся простых цепей <tex>P_i=v_i v_{i-1} v_{i+1} v_{i-2} \dots v_{i+n-1}v_{i-n}</tex> следующим образом: <tex>j</tex>-ой вершине цепи <tex>P_i</tex> является вершина <tex>v_k</tex>, где <tex>k=i+(-1)^{j+1}\dfrac{j}{2}</tex>, все индексы приводятся к числам <tex>1, 2, \dots, 2n </tex> по модулю <tex>2n</tex>. Гамильтонов цикл <tex>Z_i</tex> можно получить, соединив вершину <tex>v_{2n+1}</tex> с концевыми вершинами цепи <tex>P_i</tex>. | [[Файл: Факторизация K7.png|thumb|360px|right|<tex>2</tex>-факторизация графа <tex>K_7</tex>. Рёбра, отмеченные пунктиром, не пересекают другие рёбра при правильной [[Укладка графа на плоскости|укладке графа]].]]Для того чтобы в графе <tex>K_{2n+1}</tex> построить <tex>n</tex> гамильтоновых циклов, непересекающихся по рёбрам, перенумеруем сначала его вершины <tex>v_1, v_2, \dots, v_{2n+1}</tex>. На множестве вершин <tex>v_1, v_2, \dots, v_{2n}</tex> зададим <tex>n</tex> непересекающихся простых цепей <tex>P_i=v_i v_{i-1} v_{i+1} v_{i-2} \dots v_{i+n-1}v_{i-n}</tex> следующим образом: <tex>j</tex>-ой вершине цепи <tex>P_i</tex> является вершина <tex>v_k</tex>, где <tex>k=i+(-1)^{j+1}\dfrac{j}{2}</tex>, все индексы приводятся к числам <tex>1, 2, \dots, 2n </tex> по модулю <tex>2n</tex>. Гамильтонов цикл <tex>Z_i</tex> можно получить, соединив вершину <tex>v_{2n+1}</tex> с концевыми вершинами цепи <tex>P_i</tex>. | ||
}} | }} | ||
+ | |||
== Замечания == | == Замечания == | ||
* Факторизация графов используется как один из способов построения покрывающих наборов, используемых при создании тестов для программ с большим количеством параметров. | * Факторизация графов используется как один из способов построения покрывающих наборов, используемых при создании тестов для программ с большим количеством параметров. |
Версия 21:51, 28 ноября 2017
Определение: |
Фактором (англ. factor) графа называется остовный подграф графа , имеющий хотя бы одно ребро. |
Определение: |
Граф | — сумма факторов , если графы не имеют попарно общих рёбер, а является их объединением. Такое разложение называется факторизацией (англ. factorization) графа .
Определение: |
регулярный остовный подграф степени . Если граф представляет собой сумму -факторов, то их объединение называется -факторизацией, а сам граф назыается -факторизуемым. | -фактор —
1-факторизация
Теорема: |
Полный граф -факторизуем. |
Доказательство: |
Нам нужно только указать разбиение множества рёбер графа на -фактора. Для этого обозначим вершины графа через и определим множества рёбер , , где каждый из индексов и является одним из чисел ; здесь сумма и разность берутся по модулю . Легко видеть, что набор даёт необходимое разбиение множества , а сумма подграфов , порождённых множествами , является -факторизацией графа . |
2-факторизация
Утверждение: |
Если граф циклов. -факторизуем, то каждый его фактор должен быть объединением непересекающихся (по вершинам) |
Начнём обход | -фактора с какой-то вершины. Пойдём по одному из её рёбер и попадаем в смежную ей вершину. Далее идём по рёбрам, по которым мы ещё не ходили. Мы входим в вершину по одному ребру и выходим по другому, так как степень каждой вершины равна , пока не вернёмся в первую вершину. Это цикл, так как в каждой вершине мы были только один раз. Если есть вершины, которые мы не посетили, то снова начинаем обход с любой из таких вершин. В вершины прежних циклов попасть нельзя, так как мы уже проходили по рёбрам этих вершин. Значит, циклы не пересекаются по вершинам.
Теорема (J. Petersen, 1981, О наличии | -фактора в регулярном графе чётной степени.):
Пусть регулярный граф чётной степени. Тогда в есть -фактор. — |
Доказательство: |
coming soon |
Заметим, что если -фактор связен, то он является гамильтоновым циклом.
Теорема: |
Граф можно представить в виде суммы гамильтоновых циклов. |
Доказательство: |
Для того чтобы в графе построить гамильтоновых циклов, непересекающихся по рёбрам, перенумеруем сначала его вершины . На множестве вершин зададим непересекающихся простых цепей следующим образом: -ой вершине цепи является вершина , где , все индексы приводятся к числам по модулю . Гамильтонов цикл можно получить, соединив вершину с концевыми вершинами цепи . |
Замечания
- Факторизация графов используется как один из способов построения покрывающих наборов, используемых при создании тестов для программ с большим количеством параметров.
- . -раскраской графа -факторизация -регулярного графа является рёберной
См. также
Источники информации
- Харари Фрэнк Теория графов Пер. с англ. и предисл. В. П. Козырева. Под ред. Г.П.Гаврилова. Изд. 2-е. — М.: Едиториал УРСС, 2003. — 296 с. — ISBN 5-354-00301-6
- Wikipedia — Graph factorization