Факторизация графов — различия между версиями
(→2-факторизация) |
(→2-факторизация) |
||
| Строка 20: | Строка 20: | ||
}} | }} | ||
== 2-факторизация == | == 2-факторизация == | ||
| − | |||
{{Утверждение | {{Утверждение | ||
| Строка 33: | Строка 32: | ||
|author=J. Petersen, 1981 | |author=J. Petersen, 1981 | ||
|about = О наличии <tex>2</tex>-фактора в регулярном графе чётной степени. | |about = О наличии <tex>2</tex>-фактора в регулярном графе чётной степени. | ||
| − | |statement = Пусть <tex>G</tex>{{---}}[[Основные определения теории графов#defRegularGraph |регулярный граф]] чётной степени. Тогда в <tex>G</tex> есть <tex>2</tex>-фактор. | + | |statement = Пусть <tex>G</tex> {{---}} [[Основные определения теории графов#defRegularGraph |регулярный граф]] чётной степени. Тогда в <tex>G</tex> есть <tex>2</tex>-фактор. |
|proof = | |proof = | ||
| − | Пусть <tex>G</tex>{{---}}<tex>2k</tex>-регулярный граф, пусть <tex>G</tex> [[Отношение связности, компоненты связности#connected_graph | связен]]. | + | Пусть <tex>G</tex> {{---}} <tex>2k</tex>-регулярный граф, пусть <tex>G</tex> [[Отношение связности, компоненты связности#connected_graph | связен]]. |
| − | + | Согласно [[Эйлеровость графов#eulerTheorem | критерию эйлеровости]] граф <tex>G</tex> имеет эйлеров цикл <tex>v_0e_1 \cdots e_lv_l</tex>, где <tex>v_0 = v_l</tex>. | |
Будем строить граф <tex>H</tex> следующим образом: разделим каждую вершину графа <tex>G</tex> <tex>v</tex> на две, назовём их <tex>v^-</tex> и <tex>v^+</tex>. Заменим каждое ребро в эйлеровом обходе <tex>v_iv_{i+1}</tex> на ребро <tex>v_i^-v_{i+1}^+</tex> | Будем строить граф <tex>H</tex> следующим образом: разделим каждую вершину графа <tex>G</tex> <tex>v</tex> на две, назовём их <tex>v^-</tex> и <tex>v^+</tex>. Заменим каждое ребро в эйлеровом обходе <tex>v_iv_{i+1}</tex> на ребро <tex>v_i^-v_{i+1}^+</tex> | ||
| Строка 53: | Строка 52: | ||
}} | }} | ||
| + | [[Файл:Факторизация K7 разбиение.png|300px|thumb|left| Пример графа, имеющего <tex>3</tex> различных <tex>2</tex>-фактора, то есть разбиваемого на <tex>3</tex> рёберно непересекающихся [[Гамильтоновы графы#defCycle|гамильтоновых цикла]]]] | ||
Заметим, что если <tex>2</tex>-фактор связен, то он является [[Гамильтоновы графы|гамильтоновым циклом]]. | Заметим, что если <tex>2</tex>-фактор связен, то он является [[Гамильтоновы графы|гамильтоновым циклом]]. | ||
Версия 00:24, 30 ноября 2017
| Определение: |
| Фактором (англ. factor) графа называется остовный подграф графа , имеющий хотя бы одно ребро. |
| Определение: |
| Граф — сумма факторов , если графы не имеют попарно общих рёбер, а является их объединением. Такое разложение называется факторизацией (англ. factorization) графа . |
| Определение: |
| -фактор — регулярный остовный подграф степени . Если граф представляет собой сумму -факторов, то их объединение называется -факторизацией, а сам граф назыается -факторизуемым. |
1-факторизация
| Теорема: |
Полный граф -факторизуем. |
| Доказательство: |
| Нам нужно только указать разбиение множества рёбер графа на -фактора. Для этого обозначим вершины графа через и определим множества рёбер , , где каждый из индексов и является одним из чисел ; здесь сумма и разность берутся по модулю . Легко видеть, что набор даёт необходимое разбиение множества , а сумма подграфов , порождённых множествами , является -факторизацией графа . |
2-факторизация
| Утверждение: |
Если граф -факторизуем, то каждый его фактор должен быть объединением непересекающихся (по вершинам) циклов. |
| Начнём обход -фактора с какой-то вершины. Пойдём по одному из её рёбер и попадаем в смежную ей вершину. Далее идём по рёбрам, по которым мы ещё не ходили. Мы входим в вершину по одному ребру и выходим по другому, так как степень каждой вершины равна , пока не вернёмся в первую вершину. Это цикл, так как в каждой вершине мы были только один раз. Если есть вершины, которые мы не посетили, то снова начинаем обход с любой из таких вершин. В вершины прежних циклов попасть нельзя, так как мы уже проходили по рёбрам этих вершин. Значит, циклы не пересекаются по вершинам. |
| Теорема (J. Petersen, 1981, О наличии -фактора в регулярном графе чётной степени.): |
Пусть — регулярный граф чётной степени. Тогда в есть -фактор. |
| Доказательство: |
|
Пусть — -регулярный граф, пусть связен. Согласно критерию эйлеровости граф имеет эйлеров цикл , где . Будем строить граф следующим образом: разделим каждую вершину графа на две, назовём их и . Заменим каждое ребро в эйлеровом обходе на ребро
Объединим вершины и обратно в вершину . Так как в графе каждой вершине было инцидентно ребро, то после объединения в графе каждой вершине будет инцидентно ребра. Если несвязен, то аналогичные рассуждения можно провести для каждой его компоненты связности, и, таким образом, найти -фактор в каждой его компоненте связности. Тогда каждой вершине каждой его компоненты связности будет инцидентно ребра, значит, каждой вершине будет инцидентно ребра, значит, в существует -фактор. |
Пример графа, имеющего различных -фактора, то есть разбиваемого на рёберно непересекающихся гамильтоновых цикла
Заметим, что если -фактор связен, то он является гамильтоновым циклом.
| Теорема: |
Граф можно представить в виде суммы гамильтоновых циклов. |
| Доказательство: |
|
-факторизация графа . Рёбра, отмеченные пунктиром, не пересекают другие рёбра при правильной укладке графа. |
Замечания
- Факторизация графов используется как один из способов построения покрывающих наборов, используемых при создании тестов для программ с большим количеством параметров.
- -факторизация -регулярного графа является рёберной -раскраской графа.
См. также
Источники информации
- Харари Фрэнк Теория графов Пер. с англ. и предисл. В. П. Козырева. Под ред. Г.П.Гаврилова. Изд. 2-е. — М.: Едиториал УРСС, 2003. — 296 с. — ISBN 5-354-00301-6
- Wikipedia — Graph factorization
