Теорема Кёнига (комбинаторика)



В теории графов теорема Кёнига (теорема Кёнига-Эгервари, венгерская теорема), доказанная Денешем Кёнигом в 1931, утверждает эквивалентность задач нахождения наибольшего паросочетания и наименьшего вершинного покрытия в двудольных графах. Независимо была открыта, в том же 1931, Йенё Эгервари в несколько более общем виде для случая взвешенных графов.

Определения

Граф называется двудольным, если его вершины можно разбить на два множества так, что у каждого ребра конечные вершины принадлежат разным множествам.

Вершинное покрытие графа — это множество вершин, такое, что любое ребро графа имеет хотя бы одну конечную вершину из этого множества. Вершинное покрытие называется наименьшим, если никакое другое вершинное покрытие не имеет меньшего числа вершин.

Паросочетанием в графе называется множество рёбер, не имеющих общих конечных вершин. Паросочетание называется наибольшим, если никакое другое паросочетание не содержит большего числа рёбер.

Утверждение теоремы

В любом двудольном графе число рёбер в наибольшем паросочетании равно числу вершин в наименьшем вершинном покрытии.

Пример

Двудольный граф на рисунке вверху имеет по 7 вершин в каждой из долей. Паросочетание с 6 рёбрами выделено синим цветом, а вершинное покрытие { x 2 , x 4 , x 5 , y 2 , y 4 , y 6 } {displaystyle {x_{2},x_{4},x_{5},y_{2},y_{4},y_{6}}} выделено красным. Это покрытие является наименьшим по размеру, поскольку любая вершина в покрытии должна включать по меньшей мере одну конечную вершину ребра паросочетания. Таким же образом, нет паросочетания большего размера, поскольку любое ребро паросочетания должно содержать по меньшей мере одну конечную вершину из вершинного покрытия, так что это паросочетание является наибольшим. Теорема Кёнига как раз и утверждает равенство размеров паросочетания и покрытия (в данном примере оба числа равны шести).

Доказательство

Пусть задан двудольный граф G = ( X , Y , E ) {displaystyle G=(X,Y,E)} , а M {displaystyle M} — наибольшее паросочетание в G {displaystyle G} .

Сначала рассмотрим случай, когда паросочетание M {displaystyle M} насыщает все вершины доли X {displaystyle X} , то есть размер паросочетания M {displaystyle M} равен | X | {displaystyle |X|} . Очевидно, что вся доля X {displaystyle X} является вершинным покрытием в графе G {displaystyle G} , следовательно, она является и наименьшим вершинным покрытием, и в этом случае утверждение теоремы выполняется.

Иначе возьмём все вершины доли X {displaystyle X} , не насыщенные паросочетанием M {displaystyle M} , и запустим из них обход в ширину по следующему правилу:

  • Слева направо переходим только по рёбрам, не входящим в M {displaystyle M} (будем называть их чёрными).
  • Справа налево переходим только по рёбрам, входящим в M {displaystyle M} (будем называть их голубыми).
  • Пусть X + {displaystyle X^{+}} и Y + {displaystyle Y^{+}} — подмножества вершин левой и правой доли, посещённых во время обхода, а X − {displaystyle X^{-}} и Y − {displaystyle Y^{-}} — соответственно, подмножества не посещённых вершин (см. рисунок справа).

    Между множествами X + {displaystyle X^{+}} и Y − {displaystyle Y^{-}} нет чёрных рёбер, поскольку иначе во время обхода мы бы посетили вершины из множества Y − {displaystyle Y^{-}} . По аналогичной причине, между множествами X − {displaystyle X^{-}} и Y + {displaystyle Y^{+}} нет голубых рёбер.

    Докажем, что между множествами X + {displaystyle X^{+}} и Y − {displaystyle Y^{-}} нет также и голубых рёбер. От противного, пусть такое ребро { x + , y − } {displaystyle {x^{+},y^{-}}} есть. Вершина x + {displaystyle x^{+}} не могла являться стартовой для обхода в ширину, поскольку она насыщена паросочетанием M {displaystyle M} . Следовательно, обход в ширину пришёл в x + {displaystyle x^{+}} из какой-то вершины y + {displaystyle y^{+}} по голубому ребру, что означает, что вершине x + {displaystyle x^{+}} инцидентны два голубых ребра { x + , y − } {displaystyle {x^{+},y^{-}}} и { x + , y + } {displaystyle {x^{+},y^{+}}} . Но это невозможно, поскольку голубые рёбра образуют паросочетание.

    Следовательно, любое ребро графа G инцидентно или вершине из X − {displaystyle X^{-}} или вершине из Y + {displaystyle Y^{+}} , то есть X − ∪ Y + {displaystyle X^{-}cup Y^{+}} является вершинным покрытием. Покажем, что все вершины в X − ∪ Y + {displaystyle X^{-}cup Y^{+}} насыщены паросочетанием M {displaystyle M} . Для вершин из X − {displaystyle X^{-}} это очевидно, поскольку все ненасыщенные вершины левой доли по построению лежат в X + {displaystyle X^{+}} . Если в Y + {displaystyle Y^{+}} есть ненасыщенная вершина, то существует M {displaystyle M} -чередующая цепь, заканчивающаяся в ней, что противоречит тому, что паросочетание M {displaystyle M} является наибольшим. Теперь осталось вспомнить, что между множествами X − {displaystyle X^{-}} и Y + {displaystyle Y^{+}} нет рёбер из M {displaystyle M} , то есть каждому ребру паросочетания инцидентна в точности одна вершина из вершинного покрытия X − ∪ Y + {displaystyle X^{-}cup Y^{+}} . Следовательно, | M | = | X − ∪ Y + | {displaystyle |M|=|X^{-}cup Y^{+}|} , и вершинное покрытие X − ∪ Y + {displaystyle X^{-}cup Y^{+}} является наименьшим.

    Следствие из теоремы Кёнига

    Пусть M {displaystyle M} и C {displaystyle C} — соответственно, наибольшее паросочетание и наименьшее вершинное покрытие в двудольном графе G {displaystyle G} . Тогда любое ребро из M {displaystyle M} инцидентно в точности одной вершине из C {displaystyle C} . И наоборот, любой вершине из C {displaystyle C} инцидентно в точности одно ребро из M {displaystyle M} . Другими словами, отношение инцидентности задаёт биекцию между множествами M {displaystyle M} и C {displaystyle C} .

    Заметим, что если бы граф G {displaystyle G} не являлся двудольным, то некоторым рёбрам M {displaystyle M} могли бы быть инцидентны сразу две вершины из C {displaystyle C} , а некоторые вершины из C {displaystyle C} могли бы не иметь инцидентных им рёбер из M {displaystyle M} .

    Алгоритм построения наименьшего вершинного покрытия в двудольном графе

    Описанный выше обход в ширину из доказательства теоремы строит наименьшее вершинное покрытие по заданному наибольшему паросочетанию. Данный алгоритм имеет сложность O ( | E | ) {displaystyle O(|E|)} . Наибольшее паросочетание в двудольном графе может быть найдено алгоритмом Хопкрофта–Карпа за время O ( | E | | V | ) {displaystyle O(|E|{sqrt {|V|}})} .

    Связь с совершенными графами

    Говорят, что граф совершенен, если для любого порождённого подграфа его хроматическое число равно размеру максимальной клики. Любой двудольный граф совершенен, поскольку любой его подграф является либо двудольным, либо независимым. В двудольном графе, не являющемся независимым, хроматическое число и размер максимальной клики равны двум, в то время как для независимого множества оба этих числа равны единице.

    Граф совершенен тогда и только тогда, когда его дополнение совершенно, и теорему Кёнига можно считать эквивалентом утверждения, что дополнение двудольного графа совершенно. Любые раскраски дополнения двудольного графа имеют размер максимум 2, а классы размера 2 образуют паросочетания. Клики в дополнении графа G — это независимое множество в G, и, как мы уже писали выше, независимое множество в двудольном графе G — это дополнение вершинного покрытия G. Таким образом, любое паросочетание M в двудольном графе G с n вершинами соответствует раскраске дополнения G с n-|M| цветами, что, ввиду совершенства дополнения двудольных графов, соответствует независимому множеству в G с n-|M| вершинами, что соответствует вершинному покрытию G |M| вершинами. Следовательно, теорема Кёнига доказывает совершенство дополнений двудольных графов, то есть результат, выраженный в более явной форме у Галлаи.

    Можно связать также теорему Кёнига о рёберной раскраске с другим классом совершенных графов, рёберными графами двудольных графов. Для графа G рёберный граф L(G) имеет вершины, соответствующие рёбрам графа G, и рёбра для каждой пары смежных рёбер в G. Таким образом, хроматическое число L(G) равно хроматическому индексу G. Если G — двудольный, клики в L(G) — это в точности множества рёбер в G, имеющих общую конечную вершину. Теперь теорема Кёнига о рёберной раскраске, утверждающая, что хроматический индекс равен максимальной степени вершин в двудольном графе, может быть интерпретирована как утверждение, что рёберный граф двудольного графа совершенен.

    Поскольку рёберные графы двудольных графов совершенны, дополнения рёберных графов двудольных графов тоже совершенны. Клика в дополнении рёберного графа для G — это просто паросочетание G. А раскраска дополнения рёберного графа для G, в случае, если G является двудольным, — это разбиение рёбер графа G на подмножества рёбер, имеющих общие вершины. Конечные вершины, являющиеся общими в этих подмножествах, образуют вершинное покрытие графа G. Таким образом, сама теорема Кёнига может быть также интерпретирована как утверждение, что дополнение рёберных графов двудольных графов совершенно.

    Дополнения

    • Для графов, не являющихся двудольными, ситуация с задачами о наибольшем паросочетании и наименьшем вершинном покрытии совсем другая — наибольшее паросочетание можно найти за полиномиальное время для любого графа, в то время как поиск наименьшего вершинного покрытия является NP-полной задачей. Дополнение вершинного покрытия для любого графа — это независимое множество, и поиск наибольшего независимого множества — это ещё одна NP-полная задача.
    • Теорема Кёнига эквивалентна массе других минимаксных теорем в теории графов и комбинаторике, таких как теорема Холла о свадьбах и теорема Дилуорса. Поскольку паросочетание в двудольных графах является частным случаем потока в сети, теорема Кёнига также вытекает из теоремы Форда — Фалкерсона.
    • В русскоязычном интернете и научной литературе распространена следующая формулировка теоремы: если прямоугольная матрица составлена из нулей и единиц, то минимальное число линий, содержащих все единицы, равно максимальному числу единиц, которые могут быть выбраны так, чтобы никакие две из них не лежали на одной и той же линии (термин «линия» обозначает либо строку, либо столбец в матрице).
    • Вопреки эквивалентности двух задач с точки зрения точного решения, они совершенно не эквивалентны для аппроксимационных алгоритмов. Задача о наибольшем паросочетании для двудольных графов может быть аппроксимирована с произвольной точностью за постоянное время с помощью распределённых алгоритмов, в противоположность задаче о наименьшем вершинном покрытии, требующей как минимум логарифмического времени.

    Замечания

  • ↑ Эвнин, 2005.
  • ↑ Kőnig, 1931.
  • ↑ Egerváry, 1931.
  • 1 2 Bondy, 1976, pp. 74-75.
  • ↑ Ловас, Пламмер, 1998, с. 567.
  • ↑ Gallai, 1958.
  • ↑ Ловас, Пламмер, 1998, с. 89.
  • ↑ Рыбников, 1972, с. 100.
  • ↑ Göös, 2012.