Факторизация графов — различия между версиями
(→2-факторизация) |
(→2-факторизация) |
||
Строка 35: | Строка 35: | ||
Пусть <tex>G</tex>{{---}}<tex>2k</tex>-регулярный граф, пусть <tex>G</tex> [[Отношение связности, компоненты связности#connected_graph | связен]]. | Пусть <tex>G</tex>{{---}}<tex>2k</tex>-регулярный граф, пусть <tex>G</tex> [[Отношение связности, компоненты связности#connected_graph | связен]]. | ||
− | Так как согласно [[Эйлеровость графов#eulerTheorem | критерию | + | Так как согласно [[Эйлеровость графов#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> | ||
Строка 47: | Строка 47: | ||
Объединим вершины <tex>v^-</tex> и <tex>v^+</tex> обратно в вершину <tex>v</tex>. Так как в графе <tex>H</tex> каждой вершине было инцидентно <tex>1</tex> ребро, то после объединения в графе <tex>G</tex> каждой вершине будет инцидентно <tex>2</tex> ребра. | Объединим вершины <tex>v^-</tex> и <tex>v^+</tex> обратно в вершину <tex>v</tex>. Так как в графе <tex>H</tex> каждой вершине было инцидентно <tex>1</tex> ребро, то после объединения в графе <tex>G</tex> каждой вершине будет инцидентно <tex>2</tex> ребра. | ||
+ | |||
+ | Если <tex>G</tex> несвязен, то аналогичные рассуждения можно провести для каждой его [[Отношение связности, компоненты связности#def | компоненты связности]], и, таким образом, найти <tex>2</tex>-фактор в каждой его компоненте связности. Тогда каждой вершине каждой его компоненты связности будет инцидентно <tex>2</tex> ребра, значит, каждой вершине <tex>G</tex> будет инцидентно <tex>2</tex> ребра, значит, в <tex>G</tex> существует <tex>2</tex>-фактор. | ||
}} | }} | ||
Версия 00:03, 29 ноября 2017
Определение: |
Фактором (англ. factor) графа называется остовный подграф графа , имеющий хотя бы одно ребро. |
Определение: |
Граф | — сумма факторов , если графы не имеют попарно общих рёбер, а является их объединением. Такое разложение называется факторизацией (англ. factorization) графа .
Определение: |
регулярный остовный подграф степени . Если граф представляет собой сумму -факторов, то их объединение называется -факторизацией, а сам граф назыается -факторизуемым. | -фактор —
1-факторизация
Теорема: |
Полный граф -факторизуем. |
Доказательство: |
Нам нужно только указать разбиение множества рёбер графа на -фактора. Для этого обозначим вершины графа через и определим множества рёбер , , где каждый из индексов и является одним из чисел ; здесь сумма и разность берутся по модулю . Легко видеть, что набор даёт необходимое разбиение множества , а сумма подграфов , порождённых множествами , является -факторизацией графа . |
2-факторизация
Утверждение: |
Если граф циклов. -факторизуем, то каждый его фактор должен быть объединением непересекающихся (по вершинам) |
Начнём обход | -фактора с какой-то вершины. Пойдём по одному из её рёбер и попадаем в смежную ей вершину. Далее идём по рёбрам, по которым мы ещё не ходили. Мы входим в вершину по одному ребру и выходим по другому, так как степень каждой вершины равна , пока не вернёмся в первую вершину. Это цикл, так как в каждой вершине мы были только один раз. Если есть вершины, которые мы не посетили, то снова начинаем обход с любой из таких вершин. В вершины прежних циклов попасть нельзя, так как мы уже проходили по рёбрам этих вершин. Значит, циклы не пересекаются по вершинам.
Теорема (J. Petersen, 1981, О наличии | -фактора в регулярном графе чётной степени.):
Пусть регулярный граф чётной степени. Тогда в есть -фактор. — |
Доказательство: |
Пусть связен. — -регулярный граф, пустьТак как согласно критерию эйлеровости граф имеет эйлеров цикл , где . Будем строить граф следующим образом: разделим каждую вершину графа на две, назовём их и . Заменим каждое ребро в эйлеровом обходе на ребро
Объединим вершины Если и обратно в вершину . Так как в графе каждой вершине было инцидентно ребро, то после объединения в графе каждой вершине будет инцидентно ребра. несвязен, то аналогичные рассуждения можно провести для каждой его компоненты связности, и, таким образом, найти -фактор в каждой его компоненте связности. Тогда каждой вершине каждой его компоненты связности будет инцидентно ребра, значит, каждой вершине будет инцидентно ребра, значит, в существует -фактор. |
Заметим, что если -фактор связен, то он является гамильтоновым циклом.
Теорема: |
Граф можно представить в виде суммы гамильтоновых циклов. |
Доказательство: |
Для того чтобы в графе построить гамильтоновых циклов, непересекающихся по рёбрам, перенумеруем сначала его вершины . На множестве вершин зададим непересекающихся простых цепей следующим образом: -ой вершине цепи является вершина , где , все индексы приводятся к числам по модулю . Гамильтонов цикл можно получить, соединив вершину с концевыми вершинами цепи . |
Замечания
- Факторизация графов используется как один из способов построения покрывающих наборов, используемых при создании тестов для программ с большим количеством параметров.
- . -раскраской графа -факторизация -регулярного графа является рёберной
См. также
Источники информации
- Харари Фрэнк Теория графов Пер. с англ. и предисл. В. П. Козырева. Под ред. Г.П.Гаврилова. Изд. 2-е. — М.: Едиториал УРСС, 2003. — 296 с. — ISBN 5-354-00301-6
- Wikipedia — Graph factorization