Matematyka dyskretna Andrzej Łachwa, UJ, 2014 andrzej.lachwa@uj.edu.pl 15/15
TWIERDZENIE HALLA Twierdzenie o kojarzeniu małżeństw rozważa dwie grupy dziewcząt i chłopców, oraz podgrupy dziewczyn i podgrupy chłopców. Kiedy każdej dziewczynie można przyporządkować jednego kandydata na męża? Okazuje się, że warunkiem koniecznym i wystarczającym na to, by istniało takie skojarzenie par, jest to, by każda podgrupa dziewcząt, licząca k osób, znała co najmniej k chłopców. Jedną z wersji tego twierdzenia jest wersja dla grafów dwudzielnych, gdzie mężczyzn i kobiety interpretuje się jako zbiory wierzchołków grafu dwudzielnego, a krawędzie łączą "mężczyznę" z "kobietą", jeśli się znają.
Skojarzenie w grafie dwudzielnym G(V 1 V 2, E) to podzbiór krawędzi, w którym żadne dwie krawędzie nie wychodzą z tego samego wierzchołka. Powiemy, że wierzchołek v V i jest skojarzony, jeśli istnieje w V 3 i taki, że krawędź vw należy do skojarzenia. Pełne skojarzenie V 1 z V 2 w grafie dwudzielnym G(V 1 V 2, E) to skojarzenie, w którym każdy wierzchołek z V 1 jest skojarzony. Hall wprowadza funkcję (A) zwracającą dla A V 1 zbiór tych wierzchołków V 2, które są sąsiednie z przynajmniej jednym wierzchołkiem w zbiorze A.
Twierdzenie Halla (1935) Niech G(V 1 V 2, E) będzie grafem dwudzielnym. Wówczas pełne skojarzenie V 1 z V 2 istnieje wtedy i tylko wtedy, gdy A (A) dla każdego podzbioru A zbioru V 1. Przeczytaj dowód w wykładach [4]
Algorytm Halla, wersja 1 Niech A i B będą zbiorami dziewcząt i chłopców, A B. Warunek, że każde r dziewcząt zna w sumie co najmniej r chłopców, jest warunkiem koniecznym i wystarczającym na to, by każda z dziewczyn z A znalazła sobie męża wśród znanych jej chłopców z B. Algorytm znajdowania męża Niech B i to zbiór chłopców, które zna dziewczyna a i. Dopóki jest to możliwe dobieramy kolejnym dziewczynom a 1, a 2, a 3 a j chłopców b 1, b 2, b 3 b j, przy czym b 1 B 1 b 2 B 2 \{b 1 }, b 3 B 3 \{b 1, b 2 } itd. Jeżeli uda się to zrobić dla wszystkich dziewczyn, to algorytm znajdowania mężów zakończy się.
Jeżeli jednak dla pewnej dziewczyny a j zbiór znanych jej chłopców B j \{b 1, b 2 b j 1 } jest już pusty, to trzeba zerwać przynajmniej jedne zaręczyny. W tym celu dziewczyna a j urządza przyjęcie, na które zaprasza wszystkich znanych jej chłopców (B j ). Chłopcy ci przychodzą ze swoimi narzeczonymi, ale te na wszelki wypadek zabierają ze sobą swoich znajomych chłopców, a ci swoje narzeczone itd, aż do momentu gdy na przyjęcie zostanie zaproszony chłopiec, który nie jest jeszcze zaręczony. Musi się taki znaleźć, bo każda grupa r dziewcząt zna w sumie co najmniej r chłopców, czyli dziewczyny zaproszone na przyjęcie znają w sumie co najmniej tyle samo chłopców, a ponadto dziewczyna a j nie jest zaręczona.
Ów niezaręczony chłopiec będzie tańczył z dziewczyną, która go zaprosiła, jej narzeczony z dziewczyną która go zaprosiła, itd. aż na parkiecie znajdzie się chłopiec tańczący z gospodynią przyjęcia. Pary na parkiecie będą to nowe pary narzeczonych, a te, które nie tańczą pozostaną niezmienione. Po przyjęciu wszystkie dziewczyny a 1, a 2, a 3 a j mają narzeczonych i możemy kontynuować dobieranie narzeczonych dla kolejnych dziewczyn.
Przykład Niech A={a, b, c, d, e}, B={A, B, C, D, E, F, G, H} oraz a zna A i B b zna A, B, D c zna A, B, C d zna A i C e zna D, E, F, G, H Łączymy (a, A), (b, B), (c, C) i dla d brakuje narzeczonego. Na przyjęcie d zaprasza chłopców A, C, ci swoje narzeczone a, c, te swoich znajomych A, B, C. Chłopiec B zaprasza narzeczoną b, a ona swoich znajomych A, B, D, z których tylko ostatni nie był jeszcze zaproszony (a ponadto nie ma narzeczonej). Pary na parkiecie: (D, b), (B, c), (C, d). Nie tańczą (A, a). Na koniec dobieramy narzeczonego dla e, np. G.
Algorytm Halla, wersja 3 Niech G(V 1 V 2, E) będzie grafem dwudzielnym, a funkcja (A) zwraca dla A V 1 zbiór tych wierzchołków z V 2, które są sąsiednie z przynajmniej jednym wierzchołkiem w zbiorze A. Skojarzenie w grafie dwudzielnym G nazwiemy podzbiór krawędzi, w którym żadne dwie krawędzie nie wychodzą z tego samego wierzchołka. Powiemy, że wierzchołek v V i jest skojarzony, jeśli istnieje w V 3 i taki, że krawędź vw należy do skojarzenia. Pełne skojarzenie V 1 z V 2 w grafie dwudzielnym G to skojarzenie, w którym każdy wierzchołek z V 1 jest skojarzony. Pełne skojarzenie V 1 z V 2 istnieje wtedy i tylko wtedy, gdy A (A) dla każdego podzbioru A zbioru V 1.
Algorytm znajdowania męża przedstawimy w wersji z losowym doborem narzeczonych. Oznacza to zbudowanie dowolnego skojarzenia w grafie G. Mamy wtedy podzbiór krawędzi M E i podzbiór dziewcząt (podzbiór V 1 ) ze skojarzonymi narzeczonymi z V 2. Jeżeli wylosowane skojarzenie nie jest pełne (i nie da się rozszerzyć do pełnego) to musimy znaleźć dla M tzw. ścieżkę alternującą i zastąpić M skojarzeniem M opartym na tej ścieżce. Skojarzenie M ma moc większą o 1 od mocy M. Jeżeli M nie jest pełne to tworzymy ścieżkę alternującą dla M i zastępujemy M skojarzeniem M opartym na tej ostatniej ścieżce. Postępujemy tak aż do otrzymania skojarzenia pełnego.
Pytania na egzamin licencjacki z zakresu matematyki dyskretnej Omów metody obliczania sum skończonych Liczby Fibonacciego a "złoty podział"; wniosek Keplera Twierdzenie Halla i algorytm łączenia w pary Trójkąt Stirlinga (dla podziałów) i liczby Bella Zasada szufladkowa Dirichleta
Terminy egzaminów z matematyki dyskretnej 18 czerwca 2014, godz. 9 11 sale 055,056,057 11 września 2014, godz. 9 11 sale 055, 056 (albo już na nowym kampusie; w takim przypadku informacja o salach ukaże się na stronie Zakładu)
Omówienie zadań egzaminacyjnych