Обсуждение:Факторизация графов — различия между версиями
|  (→Задача о поиске произвольного f-фактора) | Cczy (обсуждение | вклад)  | ||
| Строка 12: | Строка 12: | ||
| # Для каждого ребра <tex>(u,w)\in E(G)</tex> добавим в граф <tex>G^*</tex> две новых вершины <tex>e(u)</tex> и <tex>e(w)</tex>, соответствующие <tex>u</tex> и <tex>w</tex>, и соединим их ребром. В результате каждой вершине <tex>v \in V(G)</tex> будет соответствовать множество <tex>S(v) \subset V(G_f^*)</tex> такое что <tex>|S(v)|=deg(v)</tex>; Каждому ребру <tex>(u,w) \in E(G)</tex> соответствует ребро <tex>(e(u),e(w))</tex>, причем ни для каких двух ребер из <tex>E(G)</tex> концы соответствующих им ребер в <tex>G^*</tex> не пересекаются. | # Для каждого ребра <tex>(u,w)\in E(G)</tex> добавим в граф <tex>G^*</tex> две новых вершины <tex>e(u)</tex> и <tex>e(w)</tex>, соответствующие <tex>u</tex> и <tex>w</tex>, и соединим их ребром. В результате каждой вершине <tex>v \in V(G)</tex> будет соответствовать множество <tex>S(v) \subset V(G_f^*)</tex> такое что <tex>|S(v)|=deg(v)</tex>; Каждому ребру <tex>(u,w) \in E(G)</tex> соответствует ребро <tex>(e(u),e(w))</tex>, причем ни для каких двух ребер из <tex>E(G)</tex> концы соответствующих им ребер в <tex>G^*</tex> не пересекаются. | ||
| # Для каждой вершины <tex>v\in V(G)</tex> добавим в <tex>G^*</tex> новые <tex>deg(v)-f(v)</tex> вершин, образующие множество <tex>T(v)</tex>. Каждую вершину из <tex>T(v)</tex> свяжем ребром с каждой вершиной из <tex>S(v)</tex>. В результате для каждой вершины <tex>v \in V(G)</tex> Множество <tex>S(v)\cup T(v)</tex> образует полный двудольный граф.   | # Для каждой вершины <tex>v\in V(G)</tex> добавим в <tex>G^*</tex> новые <tex>deg(v)-f(v)</tex> вершин, образующие множество <tex>T(v)</tex>. Каждую вершину из <tex>T(v)</tex> свяжем ребром с каждой вершиной из <tex>S(v)</tex>. В результате для каждой вершины <tex>v \in V(G)</tex> Множество <tex>S(v)\cup T(v)</tex> образует полный двудольный граф.   | ||
| + | |||
| + | [[Файл:A-general-graph-G-with-an-f-factor-and-the-corresponding-simple-graph-G-with-a.png|700px|thumb|centre| Граф <tex>G</tex> и соответствующий ему граф <tex>G^*</tex>]] | ||
| {{Теорема | {{Теорема | ||
Версия 18:48, 28 декабря 2019
| Определение: | 
| -фактор — регулярный остовный подграф степени . Если граф представляет собой сумму -факторов, то их объединение называется -факторизацией, а сам граф назыается -факторизуемым. | 
| Определение: | 
| Пусть задана функция , такая что . Тогда остовный подграф в котором степень каждой вершины равна называется -фактором. | 
Задача о поиске произвольного -фактора
Пусть дан граф и функция . Построим граф следующим образом.
- Для каждого ребра добавим в граф две новых вершины и , соответствующие и , и соединим их ребром. В результате каждой вершине будет соответствовать множество такое что ; Каждому ребру соответствует ребро , причем ни для каких двух ребер из концы соответствующих им ребер в не пересекаются.
- Для каждой вершины добавим в новые вершин, образующие множество . Каждую вершину из свяжем ребром с каждой вершиной из . В результате для каждой вершины Множество образует полный двудольный граф.
| Теорема: | 
| Граф  имеет -фактор тогда и только тогда, когда соответствующий данным графу и функции граф  имеет совершенное паросочетание. | 
| Доказательство: | 
| 
 Пусть граф имеет -фактор . Построим паросочетание для графа следующим образом: 
 В результате каждая вершина в покрыта , следовательно является совершенным паросочетанием. Пусть имеет совершенное паросочетание . Для каждой вершины является независимым множеством и полностью покрыто , следовательно множество покрыто ребрами, концы которых лежат в , а значит каждая вершина из покрыта ребром, второй конец которого принадлежит , причем . Поэтому если мы добавим в все ребра соответствующие ребрам из покрывающим , то есть все ребра из концы которых лежат в множествах , то степень каждой вершины будет равна , а значит будет являться -фактором. | 
Из доказательства напрямую следует, что задача о поиске произвольного -фактора графа сводится к поиску совершенного паросочетания в графе . Т.к. в общем случае не является двудольным, для решения этой задачи можно воспользваться Алгоритмом Эдмондса для поиска наибольшего паросочетания.

