Loading [MathJax]/jax/output/HTML-CSS/jax.js

Grafy dwudzielne i skojarzenia

Przypomnijmy, że:

Graf dwudzielny to graf G=(V,E), w którym zbiór wierzchołków V da się podzielić na dwa rozłączne podzbiory V1 oraz V2 tak, by żadne dwa wierzchołki w obrębie tego samego podzbioru Vi nie były sąsiadami. Czasem, dla podkreślenia takiego podziału, graf dwudzielny będziemy oznaczać przez (V1V2,E). Zauważmy jednak, że podział taki nie jest jednoznaczny - np. w antyklice An dowolny podział zbioru wierzchołków na dwa podzbiory jest podziałem dwudzielnym.

Twierdzenie 13.6

Graf jest dwudzielny wtedy i tylko wtedy, gdy każdy jego cykl ma parzystą długość.

Dowód

Załóżmy najpierw, że graf G=(V,E) jest dwudzielny czyli, że V można podzielić na dwa rozłączne zbiory wierzchołków V1 oraz V2, w ten sposób, że podgrafy indukowane G|Vi są antyklikami. Rozważmy cykl v1v2vk1vkv1 o k elementach. Bez straty ogólności możemy załóżyć, że v1V1. Ponieważ pomiędzy wierzchołkami z V1 nie ma krawędzi, to v2V2. Z kolei v3V1, a v4V2 i tak dalej. Tak więc każdy vi o nieparzystym indeksie i należy do V1. W konsekwencji vk musi mieć parzysty indeks k, aby mógł być połączony z v1. W rezultacie otrzymujemy, że cykle muszą być parzystej długości.

Dowód odwrotnej implikacji przeprowadzimy najpierw przy założeniu, że graf G jest spójny. Naszym celem jest takie podzielenie V na dwa zbiory wierzchołków V1,V2, by, dla i=1,2, żadne dwa wierzchołki z Vi nie były ze sobą połączone. Wybierzmy z V dowolny wierzchołek v. Niech V1 będzie zbiorem, do którego należy v oraz wszystkie wierzchołki, do których można dojść z v ścieżką parzystej długości, zaś V2 niech składa się z pozostałych wierzchołków. Załóżmy, że u1,u2V1. Wtedy oczywiście istnieją ścieżki vu1 oraz u2v o parzystej długości. Gdyby u1,u2 były połączone krawędzią, to dostalibyśmy cykl vu1u2v o nieparzystej długości. A zatem G|V1 jest antykliką. Aby zobaczyć, że również G|V2 jest antykliką, wystarczy zauważyć że V2 składa się z tych wierzchołków grafu G, do których z początkowo wybranego wierzchołka v można dojść jedynie ścieżkami nieparzystej długości. Teraz uzasadnienie, że także V2 indukuje antyklikę jest analogiczne jak dla V1.

Niech teraz graf G ma l>1 spójnych składowych C1,,Cl. Wtedy każdą spójną składową Ci możemy podzielić na zbiory C1i,C2i świadczące o dwudzielności grafu indukowanego GCi. W konsekwencji daje to podział V na C11C1l oraz C21C2l świadczący o dwudzielności całego grafu G.

Z grafami dwudzielnymi związany jest problem biura matrymonialnego. Do biura matrymonialnego zgłaszają się mężczyźni i kobiety poszukujący swojej drugiej połowy. Niestety nie każdemu mężczyźnie odpowiada każda kobieta i na odwrót. A więc każdy zgłaszający podaje swój opis, jak i wymagania stawiane potencjalnemu partnerowi. Interpretując mężczyzn i kobiety jako wierzchołki grafu, w którym krawędzie łączą "mężczyznę" z "kobietą", jeśli nawzajem sobie odpowiadają, otrzymujemy dwudzielny graf Gz(M,K) odpowiadający potencjalnym związkom. Biuro matrymonialne ku uciesze klientów (i maksymalizacji swojego zysku) chciałoby stworzyć jak najwięcej par. Optymalnie by było, gdyby nikt nie został samotny. Wtedy jednak musimy oczywiście założyć, że mężczyzn jest tyle samo co kobiet.

Skojarzenie w grafie dwudzielnym G=(V1V2,E) to podzbiór krawędzi ME(G), w którym żadne dwie v1v2,u1u2M nie wychodzą z tego samego wierzchołka.
Powiemy ponadto, że vVi jest skojarzony, jeśli istnieje wV3i taki, że krawędź vw należy do skojarzenia.

Pełne skojarzenie V1 z V2 w grafie dwudzielnym G=(V1V2,E) to skojarzenie, w którym każdy wierzchołek z V1 jest skojarzony.

Naturalnym jest pytanie, kiedy istnieje pełne skojarzenie V1 z V2 w grafie dwudzielnym G=(V1V2,E). Odpowiedział na nie P. Hall. Użył do tego funkcji Φ(A) zwracającej dla AV1 zbiór tych wierzchołków V2, które są sąsiednie z przynajmniej jednym wierzchołkiem w A.

Twierdzenie 13.7 [O Skojarzeniach w Grafie Dwudzielnym, P. Hall 1935]

Niech G=(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.

Dowód

Dla dowodu nierówności |A||Φ(A)| załóżmy, że M jest pełnym skojarzeniem. Elementy skojarzone z elementami zbioru A muszą być oczywiście w Φ(A). Z drugiej strony skojarzenie M determinuje injekcję AΦ(A), skąd natychmiast |A||Φ(A)|.

Dowód implikacji odwrotnej jest nieco trudniejszy. Przeprowadzimy go indukcyjnie ze względu na liczbę wierzchołków n1=|V1|. Dla n1=1 nierówność |V1||Φ(V1)| gwarantuje, że jest co kojarzyć z jedynym wierzchołkiem w V1. Załóżmy więc, że n1>1 i rozważmy dwa przypadki:

1. Dowolny właściwy podzbiór W zbioru wierzchołków V1 posiada więcej sąsiadów niż jego moc, tzn. |Φ(W)|>|W|. Wtedy wybieramy dowolne wierzchołki v1V1 oraz v2V2 i je kojarzymy. Dla WV1{v1} zbiór sąsiadów w zbiorze V2 pomniejszonym o wybrany już v2 jest nadal nie liczniejszy niż liczność |W|. Założenie indukcyjne gwarantuje nam więc jakieś skojarzenie pełne M zbioru V1{v1} z V2{v2} w grafie pozostałych wierzchołków G|(V1{v1})(V2{v2}). Oczywiście Mv1v2 jest poszukiwanym skojarzeniem pełnym w G.
2. Istnieje właściwy podzbiór W zbioru V1, taki że |Φ(W)|=|W|.

Ponieważ dla AW mamy Φ(A)Φ(W), to

|A||Φ(A)|=|Φ(A)Φ(W)|.

Ta nierówność pozwala użyć założenia indukcyjnego do skojarzenia wszystkich elementów ze zbioru W z elementami należącymi do Φ(W).

Wystarczy więc znaleźć skojarzenie pozostałych elementów, czyli skojarzenie zbioru V1W ze zbiorem V2Φ(W). Skojarzenie takie dostaniemy również indukcyjnie, o ile pokażemy, że dla dowolnego AV1W, zbiór jego sąsiadów w V2Φ(W) jest liczniejszy od A, tzn.

|A||Φ(A)Φ(W)|.

Załóżmy, że jakiś zbiór AV1W nie spełnia powyższej nierówności. Wtedy

|AW|=|A||W|>|Φ(A)Φ(W)|+|Φ(W)||Φ(AW)|,

co przeczy założeniu twierdzenia, przy którym pracujemy.