Matematyka dyskretna - Jagiellonian Universityzpgk.fais.uj.edu.pl/documents/2349539/7815838/MD15...

41
Matematyka dyskretna © Andrzej Łachwa, UJ, 2013 [email protected] 15/15

Transcript of Matematyka dyskretna - Jagiellonian Universityzpgk.fais.uj.edu.pl/documents/2349539/7815838/MD15...

  • Matematyka dyskretna© Andrzej Łachwa, UJ, 2013

    [email protected]

    15/15

  • Twierdzenie

    Dla grafu prostego następujące warunki są równoważne:

    1) jest drzewem,

    2) nie zawiera cykli i ma krawędzi,

    3) jest spójny i ma krawędzi,

    4) jest spójny, zaś usunięcie dowolnej krawędzi tworzy dokładnie dwie spójne składowe,

    5) dowolne dwa wierzchołki grafu są połączone dokładnie jedną drogą,

    6) nie zawiera cykli, lecz dodanie dowolnej nowej krawędzi tworzy dokładnie jeden cykl.

  • Dowód (fragment)

    1. 2.

    Dowód przeprowadzimy indukcyjnie ze względu na liczbę wierzchołków grafu . Oczywiście dla drzewo nie ma krawędzi i tym samym

    spełnia warunek (2).

    Ponieważ nie posiada cykli, to usunięcie krawędzi rozspaja na dwa drzewa: pierwsze o wierzchołkach oraz drugie o , przy czym

    oraz . Założenie indukcyjne gwarantuje, że nowo powstałe drzewa mają odpowiednio oraz krawędzi. Sumując te krawędzie wraz z usuniętą otrzymujemy

  • Wniosek

    Każdy las o k składowych spójnych posiada krawędzi.

  • Grafy eulerowskie

    Cykl Eulera to zamknięta marszrutaprzechodząca przez każdą krawędźgrafu dokładnie raz.

    Graf eulerowski to graf posiadający cykl Eulera.

  • Twierdzenie

    Graf jest eulerowski wtedy i tylko wtedy, gdy jest spójny i stopień każdego wierzchołka jest parzysty.

    Twierdzenie to jest nie tylkoładną charakterystyką grafów eulerowskich, ale umożliwia prostą i szybką weryfikację omawianej własności.

  • Dowód

    Załóżmy najpierw, że jest eulerowski i niech C będzie jakimś jego cyklemEulera. Poruszając się po wzdłuż cyklu C zliczajmy stopniowo używane krawędzie incydentne do poszczególnych wierzchołków. Zawsze po wejściu i wyjściu z danego wierzchołka liczba policzonych krawędzi incydentnych z nim zwiększy się o 2. Tak więc, jeśli wierzchołek nie jest początkiem cyklu, to zawsze będzie miał parzystą liczbę aktualnie policzonych krawędzi incydentnych. Początek cyklu zaś, dopóki nie przeszliśmy ostatnią krawędzią grafu (która oczywiście prowadzi do niego)będzie miał nieparzystą liczbę policzonych krawędzi. Po użyciu jednak tej ostatniej krawędzi i on ma parzysty stopień. Żadna krawędź nie zostanie pominięta, ani policzona wielokrotnie, bo przeczyłoby to eulerowskości cyklu C lub spójności grafu .

  • Dla dowodu implikacji odwrotnej, pokażmy najpierw, że jeżeli w skończo-nym grafie dowolny wierzchołek ma parzysty stopień, to posiada cykl.Istnienie takiego cyklu pokażemy wskazując jego kolejne krawędzie. Zaczynamy od dowolnie wybranej krawędzi . Następnie przechodzimydo jakiejkolwiek innej krawędzi wychodzącej z wierzchołka . Załóżmy, żebyła to krawędź . Wybieramy następnie dowolną różną od krawędź wychodzącą z . Czynność tę powtarzamy tak długo, aż dojdzie-my do jakiegoś wierzchołka , który został już wcześniej odwiedzony. W ten sposób otrzymamy cykl . Jedynym problemem mógłby, w jakimś momencie, być brak możliwości kontynuowania marszu zanim dojdziemy do odwiedzonego wcześniej punktu . Sytuacja taka nie jest jednak możliwa, gdyż oznaczałoby to istnienie wierzchołka incydentnego z jedną tylko krawędzią (wejściową), co stoi w sprzeczności z parzystością jego stopnia.

  • Teraz dowiedziemy indukcyjnie (ze względu na liczbę krawędzi w grafie )istnienie cyklu Eulera. Pokazaliśmy wyżej, że graf posiada jakiś cykl C. Usuńmy z grafu krawędzie cyklu C otrzymując w ten sposób graf . Graf może już nie być spójny, ale nadal będzie posiadał jedynie wierzchołki parzystego stopnia. Jeżeli jest pusty, to cykl C jest cyklem Eulera, co kończyłoby dowód. W przeciwnym razie, w każdej spójnej składowej grafu , korzystając z założenia indukcyjnego, znajdujemy cykl Eulera. Nazwijmy cykle tych spójnych składowych C1, C2, … Ci. Ponieważ graf był spójny, to cykl C musi przechodzić przez jakiś wierzchołek każdego z cykli C1, C2, … Ci. Tak więc cykl Eulera dla grafu możemy wyznaczyć w ten sposób, że przechodząc przez cykl C, za każdym razem gdy napotkamy nieodwiedzony jeszcze cykl Ci, zbaczamy z cyklu C i przechodzimy w całości Ci, a później kontynuujemy wędrówkę po cyklu C. W konsekwencji przejdziemy po wszystkich krawędziach, każdą odwiedzając jedynie raz.

  • Wniosek

    Graf spójny jest eulerowski wtedy i tylko wtedy, gdy rodzinę jego krawędzi da się podzielić na rozłączne krawędziowo cykle.

  • Grafy jednokreślne

    Graf jednokreślny (tzn. taki, który można narysować bez odrywania ołówka i rysując każdą krawędź dokładnie raz) to graf posiadający marszrutę przechodzącą dokładnie raz przez każdą krawędź.

    Wniosek

    Graf jest jednokreślny wtedy i tylko wtedy, gdy jest spójny i jego wszystkie wierzchołki, poza co najwyżej dwoma, mają parzysty stopień.

  • Dowód

    Jeśli jest jednokreślny i marszruta przechodząca przez każdą krawędź jest cyklem, to jest eulerowski i wobec wcześniejszego twierdzenia ma jedynie wierzchołki o parzystym stopniu. Jeśli zaś marszruta ta nie jest cyklem, to oczywiście wszystkie wierzchołki poza początkowym i końcowym mają parzysty stopień.

    Na odwrót, jeśli w grafie wszystkie wierzchołki mają parzysty stopień, to jest eulerowski, a zatem jednokreślny. Jeśli zaś ma wierzchołki o nie-

    parzystym stopniu, to wobec naszego założenia, może ich mieć dokładnie dwa. Łącząc teraz te dwa wierzchołki nową krawędzią, dostajemy graf , w którym już wszystkie wierzchołki mają parzysty stopień. A zatem posiada cykl Eulera. Cykl ten przechodzi oczywiście przez nowo dodaną krawędź. Usuwając ją z tego cyklu dostajemy marszrutę w grafie , świadcząca o jego jednokreślności.

  • Grafy hamiltonowskie

    Inny, ciekawy problem można przedstawić na przykładzie firmy rozwożącej przesyłki. Dotyczy on pracy kuriera mającego rozwieść przesyłki do odbiorców, w ten sposób by odwiedzić każdego klienta jedynie raz, a na końcu wrócić do siedziby firmy.

    Cykl Hamiltona to marszruta zamknięta odwiedzająca każdy wierzchołek dokładnie raz.

    Graf hamiltonowski to graf posiadający cykl Hamiltona.

    Ścieżka Hamiltona to marszruta przechodząca przez wszystkie wierzchołki, każdy odwiedzając jedynie jeden raz.

  • www.ibspan.waw.pl/~sikorski/md/md_p06.pdf

  • W odróżnieniu od grafów eulerowskich, grafy hamiltonowskie nie posiadają prostej i szybkiej w użyciu charakteryzacji. Nie znana jest żadna metoda, pozwalająca szybko (tzn. w czasie wielomianowym) stwierdzić czy dany graf jest hamiltonowski. Nie udowodniono również, że nie ma takiego algorytmu. Problem jest więc otwarty!

    Są natomiast znane pewne warunki wystarczające na to, by graf był hamiltonowski, np.

    � Graf prosty , w którym każdy wierzchołek ma stopień co najmniej jest hamiltonowski.

    � Jeśli w grafie prostym o co najmniej 3 wierzchołkach dowolne dwa niesąsiednie wierzchołki v i w spełniają nierówność

    , to graf jest hamiltonowski.

  • www.ibspan.waw.pl/~sikorski/md/md_p06.pdf

  • Twierdzenie

    Graf pełny Kn jest hamiltonowski dla każdego n>2 i zawiera ( )

    2

    !1−n cykli

    Hamiltona.

    www.ibspan.waw.pl/~sikorski/md/md_p06.pdf

  • Grafy planarne

    Graf płaski to para , gdzie: jest jakimś zbiorem punktów płaszczyzny , jest zbiorem nie przecinających się odcinków lub łuków w o końcach w zbiorze .

    Graf planarny to graf, który jest prezentowalny jako graf płaski.

    Uwaga: graf płaski jest zbiorem punktów płaszczyzny i zbiorem nie przecinających się odcinków lub łuków łączących te punkty. A zatem jest to RYSUNEK! Natomiast graf planarny to graf, który jest prezentowalny jako graf płaski.

    Grafy i nie są planarne.

  • Homeomorfizm

    Graf jest homeomorficzny z grafem , jeśli jeden otrzymamy z drugiego poprzez wykonanie skończenie wielu poniższych operacji:

    • Dodawanie wierzchołków stopnia dwa na krawędzi.Jeśli oraz , to operacja ta zastępuje graf

    grafem .

    • Usuwanie wierzchołków stopnia dwa.Jeśli ma jedynie dwóch sąsiadów , to operacja ta zastępuje graf grafem

    .

  • Twierdzenie Kuratowskiego

    Graf jest planarny wtedy i tylko wtedy, gdy żaden jego podgraf nie jest homeomorficzny z ani z .

    Inna charakterystyka grafów planarnych odwołuje się do znanego nam jużpojęcia ściągalności, lub grafu ilorazowego:

    Graf jest planarny wtedy i tylko wtedy, gdy nie zawiera podgrafu ściągalnego do lub .

  • Ściany

    W grafach płaskich poza wierzchołkami oraz krawędziami można rozważać również ściany, czyli obszary płaszczyzny otoczone krawędziami i nie zawierające krawędzi. Formalnie ściana w grafie płaskim to zbiór punktów płaszczyzny, które da się połączyć krzywą nieprzecinającą żadnejkrawędzi.

    Wszystkie grafy płaskie mają dokładnie jedną ścianę nieskończoną. Zauważmy, że las jest grafem planarnym, ale w żadnej reprezentacji płaskiej nie posiada ścian ograniczonych. Tak więc posiada w ogóle tylko jedną ścianę.

    Twierdzenie

    W grafie płaskim o ścianach i składowych spójnych zachodzi

  • Kolorowanie grafów

    Problem kolorowania polega na tym, by przypisać wierzchołkom grafu różne kolory w taki sposób, by każde dwa sąsiednie wierzchołki miały innekolory.

    Kolorowanie grafu to funkcja taka, że ilekroć jest krawędzią grafu .

    Kolorowanie grafu na k kolorów wyznacza rozbicie zbioru na sumę rozłączną jednobarwnych zbiorów , przy czym każdy graf indukowany postaci jest antykliką. Na odwrót, takie rozbicie pozwala na pokolorowanie grafu na k kolorów.

    Graf k-kolorowalny (k-barwny) to graf dający się pokolorować k barwami.

  • Liczba chromatyczna grafu, , to najmniejsza liczba barw, którymi można pokolorować graf .

    Optymalne kolorowanie grafu to kolorowanie używające dokładnie kolorów.

    Oszacowania

    ω ≤ χ(G) gdzie ω jest rozmiarem maksymalnego podgrafu pełnego (kliki)

    χ(G) ≤ ∆+1 gdzie ∆ jest maksymalnym stopniem wierzchołka w G

  • Obserwacja

    Graf jest dwudzielny wtedy i tylko wtedy, gdy jest -kolorowalny.

    Twierdzenie (1890)

    Każdy graf planarny jest 5-kolorowalny.

    Twierdzenie (1976)

    Każdy graf planarny jest 4-kolorowalny.

  • MAPY

    Zbiór rozspajający wierzchołki u, v to zbiór krawędzi F⊆E taki, że każda droga z u do v zawiera jakąś krawędź z F.

    Rozcięcie wierzchołków u, v to zbiór rozspajający wierzchołki u, v, któregożaden podzbiór właściwy nie rozspaja u z v.

    Zbiór krawędzi F będziemy nazywać rozcięciem, jeśli F jest rozcięciem jakichś dwu wierzchołków u, v.

    Most to taka krawędź e, że zbiór { e } tworzy rozcięcie.

    Mapa to graf płaski nie zawierający mostów.

  • Mapa ma k-kolorowalne ściany jeśli jej ściany można pokolorować k kolorami w ten sposób, by żadne dwie graniczące ze sobą ściany nie miałytego samego koloru. Innymi słowy, mapa M ma k-kolorowalne ściany, jeślijej geometrycznie dualny graf M* jest k kolorowalny.

    Twierdzenia

    Mapa M ma 2-kolorowalne ściany wtedy i tylko wtedy, gdy graf M jest eulerowski.

    Każda mapa ma 4-kolorowalne ściany.

  • 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(V1∪V2, 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∈Vi jest skojarzony, jeśli istnieje w∈V3-i taki, że krawędź vw należy do skojarzenia.

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

    Hall wprowadza funkcję ΦΦΦΦ(A) zwracającą dla A⊆V1 zbiór tych wierzchołków V2, które są sąsiednie z przynajmniej jednym wierzchołkiemw zbiorze A.

  • Twierdzenie Halla (1935)

    Niech G(V1∪V2, 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.

    Przeczytaj dowód ze strony z wykładami z matematyki dyskretnej

  • 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 Bi to zbiór chłopców, które zna dziewczyna ai. Dopóki jest to możliwe dobieramy kolejnym dziewczynom a1, a2, a3 … aj chłopców b1, b2,

    b3 … bj, przy czym b1∈B1 b2∈B2 \{b1}, b3∈B3 \{b1, b2} itd.

    Jeżeli uda się to zrobić dla wszystkich dziewczyn, to algorytm znajdowaniamężów zakończy się.

  • Jeżeli jednak dla pewnej dziewczyny aj zbiór znanych jej chłopców

    Bj \{b1, b2 … bj-1}

    jest już pusty, to trzeba zerwać przynajmniej jedne zaręczyny. W tym celu dziewczyna aj urządza przyjęcie, na które zaprasza wszystkich znanych jej chłopców (Bj).

    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 aj 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 a1, a2, a3 … aj 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 2

    Niech rodzina (B1, B2, … Bk) składa się z niepustych podzbiorów skończonego zbioru B.

    Transwersalą rodziny (B1, B2, … Bk) nazywamy różnowartościowy ciąg

    reprezentantów (b1, b2, … bk) taki, że bi∈Bi dla i=1, 2, … k.

    Rodzina zbiorów skończonych (B1, B2, … Bk) ma transwersalę wtw gdy dla

    dowolnego J⊆{1, 2, … k} zachodzi |J|≤|Ji

    iB∈

    |.

  • Algorytm Halla, wersja 3

    Niech G(V1∪V2, E) będzie grafem dwudzielnym, a funkcja Φ(A) zwraca dla A⊆V1 zbiór tych wierzchołków z V2, 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∈Vi jest skojarzony, jeśli istnieje w∈V3-i taki, że krawędź vw należy do skojarzenia. Pełne skojarzenie V1 z V2 w grafie dwudzielnym G to skojarzenie, w którym każdy wierzchołek z V1 jest skojarzony.

    Pełne skojarzenie V1 z V2 istnieje wtedy i tylko wtedy, gdy |A|≤≤≤≤|ΦΦΦΦ(A)| dla każdego podzbioru A zbioru V1.

  • 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 V1) ze skojarzonymi narzeczonymi z V2.

    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