W grafach dwudzielnych jest łatwiej
Cztery parametry. Tym, co najczęściej robi się w grafach dwudzielnych, jest znajdowanie najliczniejszego skojarzenia. Można jednak rozważać aż cztery – parami dualne – parametry powiązane z najliczniejszym skojarzeniem...
Najliczniejszy zbiór niezależny krawędzi (nk) to najliczniejszy podzbiór krawędzi, w którym żadne dwie nie są incydentne, czyli właśnie najliczniejsze skojarzenie w grafie.
Najmniejsze pokrycie krawędziowe (pk) to najmniej liczny podzbiór krawędzi, taki, że każdy wierzchołek jest incydentny z co najmniej jedną z nich.
Najliczniejszy zbiór niezależny wierzchołków (nw) to najliczniejszy podzbiór wierzchołków, w którym żadne dwa nie są sąsiednie, czyli żadne dwa nie są połączone krawędzią.
Najmniejsze pokrycie wierzchołkowe (pw) to najmniej liczny podzbiór wierzchołków, taki, że każda krawędź jest incydentna z co najmniej jednym z nich.
Jak łatwo zauważyć, powyższe definicje można również odnieść do zupełnie dowolnego grafu, a nie tylko do grafu dwudzielnego. Jednak w przypadku grafów dwudzielnych związki między podanymi pojęciami okażą się o wiele bardziej widoczne.
Oznaczmy przez łączną liczbę wierzchołków w grafie. Odtąd założymy, że w grafie nie występują wierzchołki izolowane, czyli wierzchołki nieincydentne z żadną krawędzią. Wówczas zachodzą następujące równości, wiążące rozważane parametry w pary. Są to tzw. równości Gallaia. Są one prawdziwe w dowolnym grafie, jednak Czytelnikowi może być łatwiej je sobie wyobrazić w kontekście grafu dwudzielnego.
Niech oznacza dowolne pokrycie wierzchołkowe w grafie. Rozważmy zbiór Wówczas żadne dwa wierzchołki ze zbioru nie mogą być połączone krawędzią, gdyż byłaby to krawędź niepokryta przez wierzchołki ze zbioru Stąd zbiór jest zbiorem niezależnym wierzchołków (patrz też rysunki powyżej). Przyjmując jako najmniejsze pokrycie wierzchołkowe, otrzymujemy nierówność
Podobnie widzimy, że jeśli jest dowolnym zbiorem niezależnym wierzchołków, to jest pokryciem wierzchołkowym w grafie. Stąd Z połączenia otrzymanych nierówności uzyskujemy żądaną równość.
Znów wykażemy tak naprawdę dwie nierówności. Zacznijmy od nierówności Niech oznacza najliczniejsze skojarzenie w grafie, o liczności Będziemy chcieli dołożyć pewne krawędzie do tak aby otrzymać pokrycie krawędziowe Skojarzenie pokrywa wierzchołków, do pokrycia pozostaje więc wierzchołków. Każdy z nich jest incydentny z jakąś krawędzią – dodajmy zatem do po jednej takiej krawędzi na każdy z tych wierzchołków (wcześniejsze rysunki stanowią tego dobrą ilustrację). Łącznie skąd
Uzasadnimy teraz nierówność Niech oznacza najmniejsze pokrycie krawędziowe w grafie. Wówczas graf jest lasem, czyli grafem acyklicznym. Faktycznie, gdyby jakieś krawędzie w tworzyły cykl, to po usunięciu dowolnej z nich wciąż byłoby pokryciem krawędziowym, tyle że mniej licznym. Znanym faktem jest, że las o wierzchołkach i krawędziach składa się z spójnych składowych. Tak więc graf składa się z spójnych składowych, z których każda zawiera co najmniej jedną krawędź (inaczej nie pokrywałoby wszystkich wierzchołków). Z każdej ze spójnych składowych możemy teraz wybrać po jednej krawędzi. Otrzymany zbiór krawędzi na pewno będzie skojarzeniem, gdyż każda z krawędzi pochodzi z innej spójnej składowej. Stąd Obie nierówności dają łącznie równość, którą chcieliśmy uzyskać.
Dotychczasowe równości zachodziły w dowolnych grafach. Poniższa równość, znana także pod nazwą twierdzenia Königa, jest jedną z najlepiej znanych własności grafów dwudzielnych.
W tym przypadku nierówność otrzymujemy za darmo – wszak aby pokryć krawędzie z najliczniejszego skojarzenia, trzeba na każdej z nich wybrać jakiś wierzchołek. Natomiast dużo ciekawsze jest uzasadnienie, że taka liczba wierzchołków zawsze wystarczy. Przeprowadzimy je, podając algorytm wyboru wierzchołków do pokrycia. Dowód przez algorytm – to w sumie ciekawe!
Algorytm działa na zasadzie wymuszeń. Do konstruowanego pokrycia możemy wziąć tylko wierzchołków, możemy więc wybierać jedynie wierzchołki będące końcami krawędzi z pewnego najliczniejszego skojarzenia. Jeśli więc jakaś krawędź w grafie prowadzi do wierzchołka nieskojarzonego, to jej drugi koniec – będący z pewnością wierzchołkiem skojarzonym – musimy wybrać do pokrycia.
W ten sposób wybierzemy do pokrycia pewien zbiór wierzchołków skojarzonych. Niech będzie jednym z tych wierzchołków i niech będzie wierzchołkiem, który jest połączony z krawędzią ze skojarzenia. Jeśli z wychodzi jakaś krawędź do innego wierzchołka który jeszcze nie jest w pokryciu, to wiemy, że musimy umieścić w pokryciu. Dokładamy zatem do pokrycia. W wyniku tego sąsiad wierzchołka w skojarzeniu może spowodować kolejne wymuszenia itd.
Warto zastanowić się nad tym, jak może skończyć się ta sekwencja wymuszeń. Na pewno byłoby źle, gdyby w pokryciu znalazł się jakiś wierzchołek nieskojarzony, jak w przypadku (a), lub para wierzchołków skojarzonych, jak w przypadku (b). Przypadki te zostały zilustrowane na marginesie. W każdym z nich mamy do czynienia ze ścieżką, której końcami są wierzchołki nieskojarzone (puste kółka) i w której naprzemiennie występują krawędzie ze skojarzenia i spoza skojarzenia. Jest to tzw. ścieżka powiększająca; pojęcie to pojawiło się już w artykule Tomasza Idziaszka. Jeśli zamienić w takiej ścieżce krawędzie skojarzone na nieskojarzone i odwrotnie (sytuacja (c)), otrzyma się skojarzenie liczniejsze od obecnego, co nie jest możliwe, ponieważ zaczęliśmy od skojarzenia najliczniejszego.
Wiemy zatem, że w wyniku wymuszeń z każdej pary wierzchołków skojarzonych wybierzemy do pokrycia wierzchołkowego co najwyżej jeden oraz że w pokryciu nie będzie żadnych innych wierzchołków. A co z pozostałymi krawędziami ze skojarzenia – tymi, z których nie został wybrany żaden wierzchołek? Czy możemy w każdej z nich po prostu wybrać do pokrycia po jednym, dowolnym wierzchołku? Niestety nie, co pokazuje rysunek na marginesie. Możemy jednak w każdej parze wybrać wierzchołek po tej samej stronie grafu dwudzielnego. Wówczas już otrzymamy poprawne pokrycie wierzchołkowe, czego nietrudne sprawdzenie pozostawiamy Czytelnikowi. To koniec dowodu twierdzenia Königa – nasz algorytm poprawnie konstruuje pokrycie wierzchołkowe o liczności
Z połączenia wszystkich równości, jakie otrzymaliśmy po drodze, uzyskujemy jeszcze jedną do kompletu: Oto pełny diagram:
Zadanie (Na deser). Zadanie na deser. Kliką dwudzielną nazywamy podzbiór wierzchołków grafu dwudzielnego, w którym każde dwa wierzchołki leżące po różnych stronach grafu są połączone krawędzią. Jak znaleźć najliczniejszą klikę dwudzielną w danym grafie dwudzielnym?