Matematyka dyskretna 2/Wykład 1: Zagadnienia Mini-Maksowe w grafach

Z Studia Informatyczne
Wersja z dnia 22:58, 21 sie 2006 autorstwa Arek (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Poznane już Twierdzenie Forda--Fulkersona orzeka, że w sieciach wartość maksymalnego przepływu i przepustowości minimalnego przekroju są sobie równe. Przyjrzymy się teraz dokładniej związkom tego typu, tzn. takim, w których maksymalizacja pewnej wartości jest równoważna minimalizacji innej. Związki takie są użyteczne, gdyż poszukiwanie jednej można zastąpić poszukiwaniem drugiej, co w praktyce może okazać się łatwiejsze. Zaczniemy od bliższego przyjrzenia się skojarzeniom i bardzo mocno z nimi związanym pokryciom grafu: wierzchołkowym i krawędziowym.

Skojarzenie w grafie 𝐆=(V,E) to taki zbiór krawędzi ME, w którym żadne dwie nie są incydentne z tym samym wierzchołkiem.

Skojarzenie maksymalne to skojarzenie o maksymalnej liczności.
Liczność maksymalnego skojarzenia w grafie 𝐆 oznaczamy przez ν(𝐆).

Skojarzenie doskonałe to skojarzenie wykorzystujące wszystkie wierzchołki grafu.

[!h]

{minmax_matching} {Skojarzenie niemaksymalne (a),maksymalne ale niedoskonałe (b) i skojarzenie doskonałe (c) [Rysunek z pliku: minmaxmatching.eps]}

Pokrycie krawędziowe grafu 𝐆=(V,E) to taki podzbiór jego krawędzi E0E, że każdy wierzchołek grafu 𝐆 jest incydentny z co najmniej jedną krawędzią w E0.

Minimalne pokrycie krawędziowe to pokrycie krawędziowe wykorzystujące najmniejszą możliwą liczbę krawędzi. Liczbę krawędzi w minimalnym pokryciu krawędziowym oznaczamy przez ρ(𝐆).

[!h]

{minmax_edge_covering} {Krawędzie nie pokrywające grafu (a), nieminimalne pokrycie krawędziowe (b) oraz minimalne pokrycie krawędziowe (c) [Rysunek z pliku: minmaxedgecovering.eps]}

Pokrycie wierzchołkowe grafu 𝐆=(V,E) to taki podzbiór jego wierzchołków V0V, że każda krawędź grafu 𝐆 jest incydentna z co najmniej jednym wierzchołkiem z V0.

Minimalne pokrycie wierzchołkowe to najmniej liczne pokrycie wierzchołkowe. Liczność minimalnego pokrycia wierzchołkowego grafu 𝐆 oznaczamy przez τ(𝐆).

[!h]

{minmax_vertex_covering} {Zbiór wierzchołków nie pokrywający grafu (a), nieminimalne pokrycie wierzchołkowe (b) oraz minimalne pokrycie wierzchołkowe (c) [Rysunek z pliku: minmaxvertexcovering.eps]}

Zbiór niezależny w grafie 𝐆=(V,E) to taki zbiór wierzchołków I, że graf indukowany 𝐆|I jest antykliką, tzn. Parser nie mógł rozpoznać (błąd składni): {\displaystyle {\sf E}\!\left(G|_I\right)=\emptyset} . Innymi słowy, zbiór niezależny składa się z wierzchołków niepołączonych.

Maksymalny zbiór niezależny to najbardziej liczny zbiór niezależny. Jego moc oznaczamy przez α(𝐆).

[!h]

{minmax_independent} {Zbiór wierzchołków nie będący niezależnym (a), niemaksymalny zbiór niezależny (b) oraz maksymalny zbiór niezależny (c) [Rysunek z pliku: minmaxindependent.eps]}

Twierdzenie T. Gallai 1959

Dla grafu 𝐆 zachodzą:

  • Parser nie mógł rozpoznać (błąd składni): {\displaystyle \alpha\left( \mathbf{G} \right)+\tau\left( \mathbf{G} \right)=\left\vert {\sf V}\!\left(\mathbf{G}\right) \right\vert} ,
  • Parser nie mógł rozpoznać (błąd składni): {\displaystyle \nu\left( \mathbf{G} \right)+\rho\left( \mathbf{G} \right)=\left\vert {\sf V}\!\left(\mathbf{G}\right) \right\vert} ,

o ile graf 𝐆 nie posiada punktów izolowanych.

Dowód

Dla dowodu punktu pierwszego niech Cv będzie minimalnym pokryciem wierzchołkowym. Gdyby w zbiorze Parser nie mógł rozpoznać (błąd składni): {\displaystyle {\sf V}\!\left(\mathbf{G}\right)- C_v} istniały wierzchołki u,v połączone krawędzią, to taka krawędź uv nie byłaby incydentna z żadnym wierzchołkiem z Cv, co przeczy temu, że Cv jest pokryciem. A zatem zbiór Parser nie mógł rozpoznać (błąd składni): {\displaystyle {\sf V}\!\left(\mathbf{G}\right)- C_v} jest niezależny i można go więc oszacować

Parser nie mógł rozpoznać (błąd składni): {\displaystyle \left\vert {\sf V}\!\left(\mathbf{G}\right) \right\vert-\tau\left( \mathbf{G} \right)=\left\vert {\sf V}\!\left(\mathbf{G}\right)- C_v \right\vert\leq \alpha\left( \mathbf{G} \right), }

co daje Parser nie mógł rozpoznać (błąd składni): {\displaystyle \left\vert {\sf V}\!\left(\mathbf{G}\right) \right\vert\leq\tau\left( \mathbf{G} \right)+ \alpha\left( \mathbf{G} \right). } Z drugiej strony, jeśli I jest maksymalnym zbiorem niezależnym, to Parser nie mógł rozpoznać (błąd składni): {\displaystyle {\sf V}\!\left(\mathbf{G}\right) - I} jest pokryciem wierzchołkowym. Tak więc

Parser nie mógł rozpoznać (błąd składni): {\displaystyle \tau\left( \mathbf{G} \right)\leq\left\vert {\sf V}\!\left(\mathbf{G}\right) - I \right\vert=\left\vert {\sf V}\!\left(\mathbf{G}\right) \right\vert-\alpha\left( \mathbf{G} \right) }

i w konsekwencji Parser nie mógł rozpoznać (błąd składni): {\displaystyle \tau\left( \mathbf{G} \right)+ \alpha\left( \mathbf{G} \right)\leq\left\vert {\sf V}\!\left(\mathbf{G}\right) \right\vert. }

Dla dowodu punktu drugiego niech Ce będzie minimalnym pokryciem krawędziowym grafu 𝐆. Bez trudu można zauważyć, że pokrycie takie jest lasem (bo z każdego cyklu można usunąć jakąś krawędź i reszta dalej będzie pokryciem), w którym każda składowa spójna jest gwiazdą (bo z każdej ścieżki o długości co najmniej 3 można usunąć jedną wewnętrzna krawędź). Niech więc Ce składa się z s gwiazd. Wybierzmy z każdej gwiazdy po jednej krawędzi, konstruując w ten sposób jakieś skojarzenie M o mocy s. Każda gwiazda ma o jeden więcej wierzchołków niż krawędzi, tak więc Parser nie mógł rozpoznać (błąd składni): {\displaystyle \left\vert {\sf V}\!\left(\mathbf{G}\right) \right\vert=\left\vert C_e \right\vert+s} , skąd natychmiast

Parser nie mógł rozpoznać (błąd składni): {\displaystyle \left\vert {\sf V}\!\left(\mathbf{G}\right) \right\vert=\left\vert C_e \right\vert+s=\left\vert C_e \right\vert+\left\vert M \right\vert\leq\rho\left( \mathbf{G} \right)+\nu\left( \mathbf{G} \right). }

Z drugiej strony, jeśli M jest maksymalnym skojarzeniem w 𝐆, czyli |M|=ν(𝐆), to zbiór Parser nie mógł rozpoznać (błąd składni): {\displaystyle I'={\sf V}\!\left(\mathbf{G}\right)- {\sf V}\!\left(M\right)} jest zbiorem niezależnym i ma Parser nie mógł rozpoznać (błąd składni): {\displaystyle \left\vert {\sf V}\!\left(\mathbf{G}\right) \right\vert-2\cdot\nu\left( \mathbf{G} \right)} elementów. Ponieważ 𝐆 nie ma punktów izolowanych, to każdy wierzchołek z I jest połączony krawędzią z jakimś wierzchołkiem ze zbioru Parser nie mógł rozpoznać (błąd składni): {\displaystyle {\sf V}\!\left(M\right)} . Dla każdego wierzchołka vI wybierzmy krawędź incydentną z v. Tak powstały zbiór krawędzi w sumie z M tworzy pokrycie krawędziowe Ce grafu 𝐆. W Ce jest ν(𝐆) krawędzi ze skojarzenia M oraz Parser nie mógł rozpoznać (błąd składni): {\displaystyle \left\vert {\sf V}\!\left(\mathbf{G}\right) \right\vert-2\cdot\nu\left( \mathbf{G} \right)} krawędzi incydentnych z elementami I. A zatem

Parser nie mógł rozpoznać (błąd składni): {\displaystyle \nu\left( \mathbf{G} \right)+\left( \left\vert {\sf V}\!\left(\mathbf{G}\right) \right\vert-2\cdot\nu\left( \mathbf{G} \right) \right) =\left\vert C_e' \right\vert\geq\rho\left( \mathbf{G} \right), }

i w konsekwencji Parser nie mógł rozpoznać (błąd składni): {\displaystyle \rho\left( \mathbf{G} \right)+\nu\left( \mathbf{G} \right)\leq \left\vert {\sf V}\!\left(\mathbf{G}\right) \right\vert} .

Twierdzenie

Jesli 𝐆 jest grafem prostym, to:

  • minimalne w sensie inkluzji pokrycie krawędziowe C grafu 𝐆

jest najmniej liczne wtedy i tylko wtedy, gdy C zawiera jakieś maksymalne skojarzenie w 𝐆,

  • maksymalne w sensie inkluzji skojarzenie M grafu 𝐆

jest najbardziej liczne wtedy i tylko wtedy, gdy M jest zawarte w jakimś minimalnym pokryciu krawędziowym 𝐆.

Dowód

Dla dowodu pierwszej równoważności zauważmy, jak w dowodzie Twierdzenia Uzupelnic th Gallai|, że minimalne pokrycie C o ρ(𝐆) krawędziach składa się z gwiazd. W każdej gwieździe krawędzi jest o jedną mniej niż wierzchołków. Tak więc, na mocy Twierdzenia Uzupelnic th Gallai|, liczba gwiazd jest równa Parser nie mógł rozpoznać (błąd składni): {\displaystyle \left\vert {\sf V}\!\left(\mathbf{G}\right) \right\vert-\rho\left( \mathbf{G} \right)=\nu\left( \mathbf{G} \right)} . Wybierając teraz z każdej gwiazdy po jednej krawędzi dostaniemy ich dostatecznie dużo, by stanowiły skojarzenie maksymalne.

Dla dowodu implikacji odwrotnej znów skorzystamy z faktu, że pokrycie C, jako minimalne w sensie inkluzji, składa się z gwiazd. A zatem, gdy C zawiera jakieś maksymalne skojarzenie M, to i M musi zawierać po dokładnie jednej krawędzi z każdej gwiazdy pokrycia C. Istotnie, gdyby jakaś gwiazda nie zawierała krawędzi z M, to M nie było by maksymalne, a gdyby w gwieździe były dwie krawędzie z M, to M nie byłoby skojarzeniem. Tak więc C składa się z ν(𝐆) gwiazd. Ponieważ w każdej gwieździe krawędzi jest o jedną mniej niż wierzchołków, to pokrycie C ma Parser nie mógł rozpoznać (błąd składni): {\displaystyle \left\vert {\sf V}\!\left(\mathbf{G}\right) \right\vert-\nu\left( \mathbf{G} \right)=\rho\left( \mathbf{G} \right)} krawędzi, co kończy dowód.

Analogiczny dowód punktu drugiego pozostawiamy jako ćwiczenie [ex][ex covering = matching].

Warunek Hall'a na istnienie pełnych skojarzeń w grafach dwudzielnych 𝐆=(V1V2,E) wykorzystuje funkcję Parser nie mógł rozpoznać (błąd składni): {\displaystyle \Phi: \mathscr{P}\!\left( V_1 \right) \longrightarrow \mathscr{P}\!\left( V_2 \right)} zdefiniowaną przez Parser nie mógł rozpoznać (błąd składni): {\displaystyle \Phi\!\left(A\right)=\left\lbrace v_2\in V_2:\ v_1 v_2\in E \mbox{ \rm i } v_1\in V_1 \right\rbrace} . Innymi słowy, Φ(A) to zbiór tych wierzchołków z V2, które sąsiadują z przynajmniej jednym wierzchołkiem w AV1. Przypomnijmy poznane już (z dowodem) Twierdzenie Hall'a.

Twierdzenie o skojarzeniach w grafie dwudzielnym, P. Hall 1935

Niech 𝐆=(V1V2,E) będzie grafem dwudzielnym. Wówczas pełne skojarzenie V1 z V2 istnieje wtedy i tylko wtedy, gdy |A||Φ(A)| dla każdego podzbioru A zbioru V1.

Twierdzenie D. K{o}nig 1931

W grafie dwudzielnym 𝐆 liczba wierzchołków w minimalnym pokryciu wierzchołkowym jest równa maksymalnej liczności skojarzenia, tzn.

τ(𝐆)=ν(𝐆).

Dowód

Niech M będzie maksymalnym skojarzeniem, a Cv minimalnym pokryciem wierzchołkowym w grafie 𝐆. Każda krawędź w M jest incydentna z jakimś wierzchołkiem pokrycia Cv. Ponadto, każdy wierzchołek z Cv jest incydentny z co najwyżej jedną krawędzią skojarzenia M. Tak więc

ν(𝐆)τ(𝐆).

Dla dowodu odwrotnej nierówności zauważmy najpierw, że jeśli AV1Cv, to |A||Φ(A)Cv|. Istotnie, inaczej zbiór (CvΦ(A))A byłby pokryciem wierzchołkowym o mocy istotnie mniejszej niż minimalne pokrycie Cv. Tak więc Twierdzenie (Hall'a) Uzupelnic th Hall 2| daje nam jakieś skojarzenie M1 zbioru V1Cv z V2Cv. Analogicznie otrzymamy jakieś skojarzenie M2 zbioru V2Cv z V1Cv. W efekcie zbiór M=M1M2 jest skojarzenie, wykorzystującym wszystkie punkty z Cv. Ponadto, każda krawędź z M jest incydentna z co najwyżej jednym wierzchołkiem z Cv, co daje już pożądaną nierówność odwrotną

τ(𝐆)=|Cv|=|M|ν(𝐆).

Twierdzenie F.G.Frobenius, 1917

Graf dwudzielny 𝐆=(V1V2,E) ma skojarzenie doskonałe wtedy i tylko wtedy, gdy |V1|=|V2| oraz |A||Φ(A)| dla każdego podzbioru A zbioru V1.

Dowód

Załóżmy najpierw, że M jest jakimś skojarzeniem doskonałym w grafie 𝐆. Oczywiście wierzchołki ze zbioru AV1 mogą być kojarzone tylko z własnymi sąsiadami, czyli z wierzchołkami ze zbioru Φ(A). A zatem |A||Φ(A)|. Ponadto z faktu, że każdy element z V1 jest skojarzony przez M z dokładnie jednym elementem z V2, przy czym każdy wierzchołek z V2 jest wykorzystany, otrzymujemy |V1|=|V2|.

Dla dowodu implikacji odwrotnej ustalmy jakieś minimalne pokrycie wierzchołkowe Cv grafu 𝐆, czyli pokrycie o τ(𝐆) wierzchołkach. W grafie dwudzielnym zbiór V1 jest też pokryciem, więc |Cv||V1|. Z drugiej strony, aby krawędzie incydentne z wierzchołkami z V1Cv były pokryte przez Cv, zbiór Φ(V1Cv) musi zawierać się w Cv. Tak więc

|V1Cv||Φ(V1Cv)||V2Cv|,

co implikuje, że

|V1|=|V1Cv|+|V1Cv||V2Cv|+|V1Cv|=|Cv|.

Twierdzenie K{o}niga Uzupelnic th Konig| daje teraz

ν(𝐆)=τ(𝐆)=|Cv|=|V1|=|V2|,

czyli dostarcza maksymalnego skojarzenia o |V1|=|V2| krawędziach. Skojarzenie takie musi być wobec tego doskonałe.

Pokazaliśmy jak wyprowadzić Twierdzienie Frobeniusa z Twierdzenia K{o}niga, a wcześniej jak otrzymać Twierdzenie K{o}niga z Twierdzenia Hall'a. Na zakończenie wykładu, wyprowadzimy Twierdzenie Hall'a z Twierdzenia Frobeniusa, pokazując tym samym, że w istocie te trzy twierdzenia mówią to samo.

Dowód Inny dowód Twierdzenia Hall'a Uzupelnic th Hall 2|.

Niech 𝐆=(V1V2,E) będzie grafem dwudzielnym. Załóżmy najpierw, że w 𝐆 istnieje pełne skojarzenie V1 z V2. W takim razie dla dowolnego zbioru AV1, zbiór Φ(A) zawiera |A| różnych elementów skojarzonych odpowiednio z elementami z A. A zatem |A||Φ(A)|.

Ciekawsza jest oczywiście implikacja odwrotna. Załóżmy więc, że

(*)
|A||Φ(A)| dla każdegoAV1.

W szczególności |V1||Φ(V1)||V2|.

Jeśli |V1|=|V2|, to Twierdzenie Frobenius'a daje natychmiast jakieś skojarzenie doskonałe, a zatem pełne. Niech więc |V1|<|V2|. Do grafu 𝐆 dodajmy zbiór nowych wierzchołków W o mocy |V2||V1| łącząc je ze wszystkimi elementami V2. Otrzymamy w ten sposób nowy graf dwudzielny 𝐆=(V1V2,E), gdzie V1=V1W oraz V2=V2. Jeśli AV1 zawiera jakiś wierzchołek z nowo dodanego W, to Φ(A)=V2=V2, co pociąga za sobą, że |A||Φ(A)|. Jeżeli zaś A jest rozłączny z W, czyli AV1, to Φ(A)=Φ(A)Φ(V1), a więc na mocy (*) dostajemy, że |A||Φ(A)|.

To, wraz z oczywistą równością |V1|=|V2| czyni graf 𝐆 podatnym na Twierdzenie Frobenius'a. Tym samym graf 𝐆 ma jakieś skojarzenie doskonałe M. Usuwając teraz ze skojarzenia M krawędzie incydentne z wierzchołkami w W dostajemy pożądane pełne skojarzenie V1 z V2 w grafie G.