Zadania z ćwiczeń #18 (pon. 7 maja) Matematyka Dyskretna Q1.: Mamy dany zbiór artykułów, z których każdy ma co najmniej k z n możliwych tagów. Chcemy bardzo z grubsza pokategoryzować artykuły w jak najmniejszą liczbę kategorii żeby artykuły w jednej kategorii miały cokolwiek wspólnego ze sobą, czyli każde dwa artykuły w jednej kategorii mają mieć jakiś wspólny tag. Niech f(n, k) to najmniejsza liczba kategorii jaką musimy mieć, w najgorszym przypadku. a) Jak wyrazić f(n, k) jako liczbę chromatyczną jakiegoś skończonego grafu? b) Ile to f(5, 2)? (odpowiedni graf można narysować jako graf Petersena). c ) Udowodnij, że f(6, 2) = 4. d) Pokaż, że f(n, k) n 2k + 2, dla n 2k. Uwaga na boku: zachodzi f(n, k) = n 2k + 2, ale jedyny znany dowód używa topologii (tw. Borsuka-Ulama). Przypomnienie: Tw. Halla dla grafu dwudzielnego (V 1, V 2, E) mówi, że istnieje pełne skojarzenie od V 1 do V 2 (podzbiór krawędzi E, t. że z każdy v V 1 jest incydentny z dokładnie jedną, a każdy v V 2 z co najwyżej jedną) wtw gdy S V1 N(S) S. (Tu N(S) w grafie to zbiór sąsiadów S, czyli {x s S xs E}). Zamiast o grafie dwudzielnym można mówić o rodzinie zbiorów i SRR (systemie wspólnych reprezentantów). Na rodzinę zbiorów F = {F 1, F 2..., F n } można patrzeć jako na graf dwudzielny z elementami zbiorów (czyli i F i) po jednej stronie, i zbiorami (czy równoważnie ich indeksami [n]) po drugiej stronie. Mamy krawędź między elementem a zbiorem kiedy element należy do zbioru. Np. graf dwudzielny K n,m pełny odpowiada n identycznym zbiorom, zawierającym te same m elementów. Pełnemu skojarzeniu od zbiorów do elementów odpowiada właśnie SRR (z każdego zbioru wybieramy dokładnie jeden element do niego należący, wybierając przy tym różne elementy dla różnych zbiorów). Q2.: Ud. że jeśli w grafie dwudzielnym (V 1, V 2, E) zachodzi x V1 y V2 deg(x) deg(y), to istnieje pełne skojarzenie z V 1 do V 2. (Uogólnia to stwierdzenie, że w grafie dwudzielnym regularnym istnieje pełne skojarzenie). Q3.: Dla k < n naturalnych mamy prostokąt łaciński, tzn. macierz n kolumn k wierszy wypełnioną liczbami między 1 a n tak że w żadnym wierszu ani w żadnej kolumnie nie powtarza się żadna liczba. Udowodnij, że każdy prostokąt łaciński można roszerzyć do kwadratu łacińskiego n n. Q3.: Dla k < n mamy częściowo wypełniony kwadrat łaciński n n, tzn. każda liczba od 1 do k występuje dokładnie n razy, z warunkiem jak wyżej. Pokaż, że można uzupełnić kwadrat. Q4.: Jaką postać przyjmie warunek Halla jeśli chcemy i-ty element V 1 skojarzyć z dokładnie d i elementami V 2 (zamiast z dokładnie jednym), dla jakichś danych d 1,..., d V1? Przypomnienie: Dla dwóch podziałów A 1 A n = Ω = B 1 B n zbioru Ω na n rozłącznych podzbiorów, wspólny SRR to wybór elementów z Ω, które można doskonale skojarzyć z obiema stronami. Formalnie, ciąg różnych elementów a 1,..., a n taki, że istnieją permutacje π, σ, że a π(i) A i oraz a σ(i) B i (możemy bez straty ogólności ustalić π = id zmieniając kolejność elementów w ciągu). Inaczej mówiąc wybrane elementy zawierają po dokładnie jednym elemencie z każdego A i i z każdego B i.
Tw. z wykładu mówi, że taki wspólny SRR istnieje wtw gdy dla każdego wyboru J podzbiorów z lewej strony (czy wyboru ich indeksów), jest co najmniej tyle samo podzbiorów po prawej, które się z nimi jakkolwiek przecinają: J [n] (liczba i [n] t.że B i A j ) J Sieć Closa (patrz wykład) to sieć złożona z pewnych bramek. Każda taka bramka ma dwa wejścia i dwa wyjścia, można ją przełączać żeby albo wejście i przekazywała do wyjścia i, albo odwrotnie, żeby je zamieniała. Sieć Closa k-ta łączy takimi bramki 2 k wejść z 2 k wyjściami tak, że każdą permutację 2 k da się zrealizować przełączając odpowiednio te małe bramki. Np. dla k = 1 to po prostu jedna taka bramka. Dla większych k jest konstruujemy (rekurencyjnie) korzystając z dwóch sieci Closa dla k 1 (patrz wykład). Permutację 12345678 67248135 da się zrealizować patrząc na podziały {1, 2} {3, 4} {5, 6} {7, 8} = [8] = {6, 7} {2, 4} {8, 1} {3, 5}. Warunek z tw. o wspólnych SRR łatwo sprawdzić (bo wszystkie podzbiory są tego samego rozmiaru, więc można jak zwykle policzyć krawędzie z lewej stron i policzyć je od prawej...). Więc istnieje ciąg, tu np. 1, 4, 5, 7, który zawiera po dokładnie jednym elemencie z każdej pary po lewej i każdej po prawej. Można więc przełączyć bramki z lewej (patrz rysunek z wykładu) tak, by te wybrany elementy 1, 4, 5, 7 szły do góry, i tak patrząc w prawej. Górna podsieć Closa k 1 ustawiamy (indukcyjnie) tak, by 1, 4, 5, 7 przenosiła 7, 4, 1, 5 (czyli wybrane elementy w kolejności występowania po prawej). Analogicznie dolną. Q5.: a) Jak można algorytmicznie znaleźć stosowny wspólny SRR? b) Pokaż, że w k-tej sieci Closa każdą 2 k -permutację można zrealizować na co najmniej 2 sposoby. c) Na wykładniczo wiele. j J P1.: a) Kolory powinny raczej odpowiadać kategoriom, więc wierzchołki artykułom. Przydzielając artykułom/wierzchołkom kategorie/kolory, chcemy żeby śąsiednie wierzchołki dostawały różne kolory. Które zatem są sąsiednie? Dalej, artykuły można utożsamić ze zbiorem tagów; które zbiory nas interesują w najgorszym przypadku? Dla n = 5, k = 2 wystarczy bez straty ogólności rozważyć 10 artykułów... b) Wystarczy pokazać, że nie jest dwudzielny i wskazać 3-kolorowanie. c) Najpierw pokaż 4 (jak powstaje graf dla 6, 2 z grafu dla 5, 2 czyli grafu Petersena?). Dalej, jak może wyglądać 3-kolorowanie, 5-cykl w podgrafie Petersena i jak musiałoby wyglądać rozszerzenie tego 3-kolorowania na nowe wierzchołki? (na drugi 5-cykl w podgrafie Petersena nie ma potrzeby patrzeć). d) Indukcja po n, dla dowolnego ustalonego k. P2.: Niech t takie, że xinv1 deg(x) t oraz y V2 deg(y) t (np. t = min x V1 deg(x)). Aby pokazać warunek Halla, oszacuj liczbę krawędzi między S V 1 a N(S) V 2 (na dwa sposoby). P3.: Wystarczy pokazać, że potrafimy uzupełnić jeden wiersz. (Bo potem uzupełniami po jednym wierszu póki k < n). P4.: Można łatwo sprowadzić do zwykłego przypadku tw. Halla. Albo można się zastanowić jak wygląda warunek konieczny i pokazać że jest wystarczajacy korzystając jakoś z tw. Halla.
P5.: a) Jak na przykładzie {1, 2} {3, 4} {5, 6} {7, 8} = [8] = {6, 7} {2, 4} {8, 1} {3, 5} można znaleźć wspólny SRR? Bez straty ogólności zacznij od 1 i wywnioskuj z tego kto musi a kto nie może należeć do SRR. Jak w ogólnym przypadku wygląda graf tych wnioskowań? b) Proste. c) Podobnie. A1.: a) W najgorszym przypadku mamy artykuł dla każdego k-podzbioru z n możliwych tagów (artykuły z więcej niż k tagów możemy pokategoryzować w te same kategorie, patrząc tylko na ich pierwsze k tagów). Czyli mamy ( n k) wierzchołków, jeden dla każdego k-podzbioru [n]. Warunek zadania jest równoważny z tym, żeby artykuły o rozłącznych zbiorach tagów dostały różne kategorie/kolory, więc między dwoma wierzchołkami S, T ( [n] ) k dajemy krawędź gdy są rozłączne. Wtedy minimalna liczba kolorów w poprawnym kolorowaniu tego grafu to szukana odpowiedź. Ten graf nazywa się grafem Knesera KG(n, k), czyli f(n, k) = χ(kg(n, k)). Np. graf KG(5, 2): 5,1 1,2 2,3 5,1 1,2 2,3 4,5 3,4 1,3 5,2 1,3 5,2 z 3-kolorowaniem np.: b) Nie jest 2-kolorowalny, bo to to samo co powiedzieć że nie jest dwudzielny, bo to to samo co powiedzieć, że ma cykl nieparzystej długości (5). Jest 3-kolorowalny jak wyżej. c) Dodajemy pięć wierzchołków {6, 1}, {6, 2},..., {6, 5}. Nowe wierzchołki są parami niesąsiednie, bo każde dwa mają niepuste przecięcie (równe {6}), czyli możemy je wszystkie pokolorować na jeden, czwarty kolor. Zatem χ(kg(6, 2)) 4. Przypuśćmy, że istnieje 3-kolorowanie. Wtedy bez straty ogólności zewnętrzny cykl podgrafu Petersena (tego na starych wierzchołkach) jest pokolorowany na: niebieski, czerwony, zielony, czerwony, zielony (bo musimy użyć trzech kolorów, jednego użyjemy dokładnie raz, pozostałe dwa razy na przemian, więc mamy takie właśnie kolorowanie z dokładnością do przenazwania kolorów, obrotów i odbicia C 5 ). Ale każdy nowy wierzchołek ma na tym cyklu sąsiedztwo postaci tej, albo dowolnie obróconej: 4,5 3,4 6,1 1,3 5,2 Zatem dla któregoś i (tu dla i = 4), wierzchołek {6, i} jest sąsiedni z trzema wierzchołkami różnych kolorów, więc nie da się rozszerzyć na niego 3-kolorowania. χ(kg(6, 2)) > 3. d) Indukcja po n. Dla n = 2k graf KG(n, k) to skojarzenie, w sensie ( 2k) k par wierzchołków połączonych krawędzią, bez żadnych krawędzi między różnymi parami (bo dla danego k-podzbioru [2k], jedyny podzbiór z nim sąsiedni, czyli rozłączny, to jego dopełnienie). Zatem graf jest dwudzielny czyli 2-kolorowalny, czyli χ(kg(n, k)) = 2 = n 2k + 2.
Dla n + 1 bierzemy kolorowanie KG(n, k) z założenia indukcyjnego i dokładamy nowe wierzchołki postaci {n + 1, i}. Tworzą zbiór niezależny (nie sąsiadują ze sobą, bo mają wspólny element), więc można je wszystkie pokolorować na jeden nowy kolor. A2.: Niech t spełnia xinv1 deg(x) t oraz y V2 deg(y) t. Dal dowolnego S V 1 mamy, że liczba krawędzi wychodzących z S jest co najmniej E(S, N(S)) S t (liczba wierzchołków razy stopień). Z drugiej strony wszystkie te krawędzie mają drugi koniec w N(S), więc E(S, N(S)) N(S) t. Zatem S N(S) dla każdego S V 1, więc z tw. Halla istnieje pełne skojarzenie od V 1. A3.: Aby uzupełnić jeden wiersz, chcemy znaleźć dla każdej kolumny jeden element, żeby wybrać parami różne elementy i wybrać w każdej kolumnie element w niej nie występujący. Wystarczy więc znaleźć SRR rodziny zbiorów {A 1,..., A n } gdzie A i to zbiór elementów nie występujących w i-tej kolumnie. Alternatywnie, można powiedzieć, że szukamy pełnego skojarzenia w grafie dwudzielnym z elementami 1,..., n po jednej stronie i kolumnami 1,..., n po drugiej stronie, z krawędzią kiedy element nie występuje w kolumnie. Stopień każdej kolumny w tym grafie to n k (bo występuje w niej k różnych elementów) i podobnie stopień każdego elementu to n k (bo element występuje w dokładnie k wierszach, każde wystąpienie w innej kolumnie). Zatem pełne skojarzenie/srr istnieje i możemy odpowiedni uzupełnić wiersz (jeśli w skojarzeniu jest krawędź między i-tą kolumną a j-tym elementem, to dopisujemy ten element do tej kolumny). Argument działa tak samo dla każdego k < n, więc możemy powtarzać (za każdym razem znajdując nowe skojarzenie w nowym grafie) aż uzupełnimy do n wierszy. A3.: Uzupełniamy liczba po liczbie. Aby dopisać n razy liczbę k + 1 wystarczy znaleźć zbiór pustych pól, które nie mają wspólnej kolumny ani wiersza. Taki zbiór pól to skojarzenie wierszy z kolumnami; stawiamy krawędź między kolumną a wierszem kiedy ich przecięcie to dostępne (puste) pole. Skojarzenie istnieje, bo znów graf jest (n k)- regularny. Inne rozwiązanie: można sprowadzić do poprzedniego zadania zauważając, że taki częściowo uzupełniony kwadrat łaciński n n liczbami do k odpowiada dokładnie prostokątowi łacińskiemu n k z liczbami do n: w kwadracie pole (x, y) ma liczbę z wtw gdy w prostokącie pole (x, z) ma liczbę y (dla każdego x, y [n], z [k]). A4.: Łatwo zauważyć, że koniecznym warunkiem jest S V1 N(S) i S d i. Jest to warunek też wystarczający najłatwiej pokazać to stwierdzając, że niby-skojarzenia, które chcemy uzyskać odpowiadają dokładnie skojarzeniom w grafie (V 1, V 2, E) otrzymanym z (V 1, V 2, E) przez skopiowanie i-tego wierzchołka V 1 dokładnie d i razy. Inne rozwiązanie: można pokazać indukcyjnie, że ten warunek jest wystarczający, dla dowolnych d i 0. Istotnie, wierzchołki z d i = 0 możemy po prostu usunąć, i indukcyjnie znaleźć niby-skojarzenie na mniejszym grafie. Jeśli zaś wszystkie d i 1, to mamy warunek S V1 N(S) i S d i S, czyli możemy znaleźć pełne skojarzenie z lewej do prawej. Usuwamy krawędzie z tego skojarzenia i pomniejszamy każde d i o 1; nasz warunek jest wtedy nadal spełniony w mniejszym grafie, bo w każdej nierówności N(S) i S d i lewa strona zmniejszyła się o co najwyżej S a prawa o dokładnie S.
A5.: a) Jeśli bierzemy 1 z pary {1, 2}, to nie możemy wziąć 2 z pary {2, 4}, więc musimy wziąć 4, więc w parze {3, 4} nie możemy wziąć też 3, więc z pary {3, 5} musimy wziąć 5, i tak dalej aż wybierzemy wszystko. Skoro wspólny SRR istnieje to ten proces nie skończy się sprzecznością, bo nie mamy innego wyboru. W ogólności patrzymy na graf na wierzchołkach 1,..., 2 k i krawędziach na każdej z par (z obu rodzin par, z wejściowej i wyjściowej strony sieci Closa). Jeśli para występuje w obu rodzinach rysujemy krawędź dwukrotnie. Multigraf ten jest więc sumą dwóch skojarzeń, w szczególności każdy wierzchołek ma stopień dokładnie 2. Jest więc sumą cykli (w tym być może cykli długości 2). Krawędzie są na przemian z jednej lub drugiej rodziny par, więc cykle są parzystej długości. Zatem graf jest dwudzielny i dowolny podział na lewe i prawe wierzchołki daje SRR (tzn. do SRR bierzemy dowolną połowę każdego cyklu, w sensie co drugi wierzchołek). b,c) Oprócz opisanego sposobu, można skorzystać z tego samego wspólnego SRR (np. 1, 4, 5, 7), ale przerzucić je wszystkie na dolną podsieć zamiast na górną. To daje drugą realizację tej samej permutacji. Można też w każdej podsieci zrobić podobną zamianę otrzymując inne realizacje permutacji 1457 7415. W sumie w k-tej sieci liczba możliwych realizacji a k jest co najmniej 2 a k 1 a k 1. To indukcyjnie łatwo pokazać co najmniej a k 2 k 1 sposobów. (A jak dokładniej rozwiązać tę rekurencję (logarytmując stronami a k 2 a 2 k 1, a 1 = 1) dostaniemy nawet a k 2 2k 1.)