TEORIA GRAFÓW I SIECI - ROZDZIAL I Grafy i grafy skierowane. Izomorfizmy grafów Rozważmy rysunki 1. Schemat mostów na rzece Pregole w Królewcu 2. Drzewo prawdopodobieństwa przy rzucie moneta 3. Schemat organizacyjny firmy 4. Odległo sci drogowe między miastami Powyższe rysunki ilustruja zwiazki między pewnymi obiektami. Obiekty sa w nich oznaczone (na ogół) jako punkty, zaś fakt istnienia zwiazku jest zaznaczony istnieniem linii ł aczacej dane punkty. Dodatkowo, na rysunku 3, widać że zwiazki między obiektami moga mieć charakter jednostronny (skierowany), zaś na rysunku 4, zwiazki te sa opatrzone pewnymi wartościami liczbowymi (wagami). Rozważane schematy sa przykładami grafów. Spróbujemy sformułować precyzyjna definicję grafu. Niewatpliwie graf powinien zawierać punkty, które będziemy nazywać wierzchołkami. W skład grafu powinny też wchodzić poł aczenia wierzchołków, które nazwiemy krawędziami. Definicja powinna być na tyle ogólna, aby można nia objać jak największa liczbę sensownych przypadków. Nie powinniśmy więc rozważać charakteru wierzchołków (ich budowy wewnętrznej), ale traktować jako elementy abstrakcyjnego zbioru. Z kolei w krawędziach interesuje nas jedynie to jakie wierzchołki dana krawędź ł aczy (i ewentualnie kierunek poł aczenia lub jego waga). W tej sytuacji najprostszym rozwiazaniem wydaje się zdefiniowanie krawędzi ł aczacej wierzchołki a, b jako: zbioru {a, b} w przypadku "bez strzałek", pary (a, b) w przypadku "ze strzałkami". 1
Podane ujęcie prowadzi do definicji TEORIA GRAFÓW I SIECI - ROZDZIAL I 2 Grafu nieskierowanego jako pary G = (V, E), gdzie V oraz E {{a, b} ; a, b V }, Grafu skierowanego jako pary G = (V, E), gdzie V oraz E V V. Takie definicje można znaleźć w wielu ksiażkach z teorii grafów. Zauważmy, że dla grafu skierowanego podana definicja jest niemal identyczna z definica relacji dwuargumentowej w zbiorze V : relacja = E = zbiór krawędzi, dziedzina relacji = V = zbiór wierzchołków. Podane definicje maja jednak wadę. Nie obejmuja przypadku, w którym istnieja wierzchołki poł aczone kilkoma różnymi krawędziami. Przykładowo, w grafie mostów królewieckich jedna z wysp ł acza z brzegami po dwa mosty. Konieczność rozróżnienia krawędzi ł aczacych te same wierzchołki zmusza nas do zrezygnowania z wygodnego utożsamienia krawędzi ze zbiorem (lub para) jej końców i przyjęcia, że krawędzie należa również do abstrakcyjnego zbioru E. W tej sytuacji musimy jednak określić zwiazek między wierzchołkami i krawędziami, czyli ustalić, które wierzchołki sa końcami danej krawędzi. Skoncentrujmy nasze rozważania na grafach nieskierowanych. Będziemy potrzebować funkcji γ : E {{a, b} ; a, b V }. Dla krawędzi k wartość γ (k) będzie zbiorem końców tej krawędzi. Możemy zatem podać formalna definicję. Grafem lub grafem nieskierowanym nazywamy trójkę G = (V, E, γ), gdzie V = V G jest zbiorem niepustym, E = E G dowolnym zbiorem, zaś γ funkcja γ : E {{a, b} ; a, b V }. Elementy zbioru V nazywamy wierzchołkami lub węzłami grafu, zaś elementy zbioru E jego krawędziami. Jeżeli γ (k) = {a, b}, to wierzchołki a, b nazywamy końcami krawędzi k. Mówimy wtedy, że krawędź k ł aczy te wierzchołki oraz że wierzchołki a, b sa incydentne z k. Wierzchołki poł aczone krawędzi a nazywamy sasiednimi. Jeżeli wierzchołek nie jest końcem żadnej krawędzi, to mówimy, że jest izolowany. Jeżeli k i l sa różnymi krawędziami ł acza- cymi te same wierzchołki (tzn. γ (k) = γ (l)), to krawędzie te nazywamy wielokrotnymi. Krawędź, która ma tylko jeden koniec (γ (k) = {a}) nazywamy pętla. Graf bez krawędzi wielokrotnych i pętli nazywamy grafem prostym. Ćwiczenie 1. W poniższym grafie wskazać krawędzie wielokrotne, pętle i wierzchołki izolowane. Okre slíc jakie wierzchołki sa sasiednie z a, jakie sa incydentne z k 5 oraz znale zć krawędzie z którymi incydentny jest wierzchołek b. Jeśli k jest krawędzi a o końcach a i b, czyli taka, że γ (k) = {a, b}, to będziemy pisać k = ab lub k = {a, b}. Tak więc symbolem ab ({a, b}) będziemy oznaczać każda krawędź o końcach a i b. W grafach bez krawędzi wielokrotnych, krawędź ab jest wyznaczona jednoznacznie. Zwróćmy jeszcze uwagę na niejednoznaczność terminologii dotyczacej grafów. W niektórych ksiażkach termin graf oznacza graf bez krawędzi wielokrotnych lub graf prosty, natomiast to co my nazywamy grafem, występuje jako jako multigraf.
TEORIA GRAFÓW I SIECI - ROZDZIAL I 3 Stopniem wierzchołka a w grafie nazywamy liczbę deg a równa ilości krawędzi, których końcem jest a powiększon a o ilość pętli, których końcem jest a (zliczamy ile krawędzi "wychodzi" z a). Formalnie deg a = {k; a γ (k)} + {k; {a} = γ (k)}. Ćwiczenie 2. Obliczyć stopnie wierzchołków grafu z poprzedniego ćwiczenia. W definicji grafu nie ma żadnych ograniczeń dotyczacych mocy zbiorów V i E (oprócz V ). Niektóre wyniki da się udowodnić w tak ogólnym przypadku. Nas jednak będa interesować tylko grafy skończone. Uwaga 1. Od tego momentu zakładamy, że, wszystkie rozważane grafy sa skończone, tzn. maja skończona liczbę wierzchołków i krawędzi. Twierdzenie 1 (Lemat o uściskach dłoni). W dowolnym grafie a V G deg a = 2 E G. Dowód. Obliczajac sumę stopni wszystkich wierzchołków liczymy krawędzie wychodzace z tych wierzchołków. Krawędź ł aczac a różne wierzchołki liczymy dwukrotnie (przy obu końcach). Pętlę też liczymy dwa razy (przy jednym końcu). Wynika stad teza twierdzenia. Wniosek 1. W dowolnym grafie liczba wierzchołków stopnia nieparzystego jest parzysta. Ćwiczenie 3. Grupa studentów składa się z 25 osób. przyja zniła się z dokładnie pięcioma innymi? Czy jest możliwe, aby każda osoba Ćwiczenie 4. Udowodníc, że w grupie sze sciu osób zawsze istnieja trzy osoby znajace się nawzajem lub trzy osoby wzajemnie sobie nieznajome. Ćwiczenie 5. Pokazać, że w grupie n 2 osób istnieja zawsze dwie majace tyle samo znajomych. Sformułować zadanie w języku teorii grafów. Ćwiczenie 6. Sprawdzíc czy poniższe ciagi sa ciagami liczb wierzchołków kolejnych stopni w grafie (s i oznacza ilo sć wierzchołków stopnia i). Narysować odpowiednie grafy. (1) (s 0, s 1, s 2, s 3, s 4, s 5 ) = (0, 3, 2, 2, 2, 1) (2) (s 0, s 1, s 2, s 3, s 4, s 5 ) = (0, 3, 2, 1, 2, 1) Ćwiczenie 7. Niech (s 0, s 1,..., s n ) będzie ciagiem liczb całkowitych nieujemnych. Udowodníc, że następujace warunki sa równoważne: (1) (s 0, s 1,..., s n ) jest ciagiem liczb wierzchołków kolejnych stopni w pewnym grafie. (2) n is i jest liczba parzysta. (3) i=0 is i - niep. is i jest liczba parzysta (4) {i; is i jest nieparzyste} jest liczba parzysta. Ćwiczenie 8 (Twierdzenie Turana). Pokazać, że jeżeli G jest grafem prostym bez trójk atów takim, że V G = 2n, to E G n 2.
TEORIA GRAFÓW I SIECI - ROZDZIAL I 4 Zgodnie z definicj a, poniższe rysunki przedstawiaj a ten sam graf Jeśli natomiast przyjmiemy, że różne litery oznaczaja różne wierzchołki, to grafy sa różne, bo maja różne zbiory wierzchołków. W wielu sytuacjach wygodne jest utożsamianie tych grafów, bo maja "taka sama strukturę" - tyle samo wierzchołków poł aczonych w ten sam sposób krawędziami. Sformułujemy kryterium pozwalajace rozstrzygać, czy grafy maja "taka sama strukturę". Izomorfizmem grafów G i H nazywamy parę (α, β) bijekcji α : V G V H, β : E G E H takich, że dla dowolnych wierzchołków a, b V G i dowolnej krawędzi k E G zachodzi (IN) k ł aczy a i b β (k) ł aczy α (a) i α (b). Mówimy wtedy, że G jest izomorficzny z H i piszemy G H. Własność 1. Dla dowolnych grafów G, H, K (1) G G. (2) Jeżeli G H, to H G. (3) Jeżeli G H i H K, to G K. Ćwiczenie 9. Udowodníc własno sć 1. Z własności 1 wynika, że w dowolnej rodzinie grafów, relacja izomorficzności jest równoważnościa. Pozwala to mówić, że grafy sa izomorficzne, bez zaznaczania który jest izomorficzny z którym. Niech k i l będa różnymi krawędziami wielokrotnymi o tych samych końcach a i b. Wówczas β (k) β (l) oraz końcami tych krawędzi sa α (a) i α (b). Zatem β (k) i β (l) też sa różnymi krawędziami wielokrotnymi. Oznacza to, że izomorfizm przekształca graf z krawędziami wielokrotnymi na graf z krawędziami wielokrotnymi i w konsekwencji graf izomorficzny do grafu bez krawędzi wielokrotnych, też nie ma krawędzi wielokrotnych. Niech (α, β) : G H będzie izomorfizmem grafów bez krawędzi wielokrotnych. Weźmy dowolna krawędź k E G i oznaczmy jej końce przez a i b. Wtedy β (k) ł aczy wierzchołki α (a) i α (b). Ponieważ w grafie bez krawędzi wielokrotnych istnieje co najwyżej jedna krawędź ł aczaca ustalone wierzchołki, więc wartość β (k) jest jednoznacznie wyznaczona przez α (a) i
TEORIA GRAFÓW I SIECI - ROZDZIAL I 5 α (b). Zatem funkcja α wyznacza jednoznacznie funkcję β. Powyższa uwaga pozwala łatwo udowodnić następujac a własność. Własność 2. Grafy bez krawędzi wielokrotnych G, H sa izomorficzne wtedy i tylko wtedy, gdy istnieje bijekcja α : V G V H taka, że dla dowolnych wierzchołków a, b V G zachodzi (IN ) a i b sa sasiednie α (a) i α (b) sa sasiednie. Korzystajac z własności 2 można przyjać, że izomorfizmem między grafami bez krawędzi wielokrotnych jest bijekcja α spełniaj aca (IN ). Oczywista jest również Własność 3. Jeżeli G = (V, E, γ) jest grafem bez krawędzi wielokrotnych oraz E 0 = γ (E), to G 0 = (V, E 0, id E0 ) jest grafem izomorficznym z G. Teoria grafów zajmuje się na ogółbadaniem struktury grafów. Pozwala to utożsamiać grafy izomorficzne (bo jeżeli rozważana własność zachodzi dla jednego grafu, to zachodzi też dla grafów z nim izomorficznych). Z własności 3 wynika, że graf G bez krawędzi wielokrotnych może być utożsamiany (jest izomorficzny) z grafem G 0 o tych samych wierzchołkach i takim, że E 0 {{a, b} ; a, b V 0 } oraz γ 0 = id E0. "Zapominajac" o funkcji identycznościowej, możemy więc definiować taki graf jako parę (V 0, E 0 ). Ćwiczenie 10. Udowodníc własno sci 2 i 3. Ćwiczenie 11. Udowodníc, że poniższe grafy sa izomorficzne Aby pokazać, że grafy sa izomorficzne wystarczy wskazać izomorfizm. Pokazanie "z definicji", że grafy nie sa izomorficzne jest bardziej kłopotliwe. Dlatego nieizomorficzności grafów dowodzi się, na ogół, przez wskazanie, że jeden z nich ma własność, której nie ma drugi. Rozważana własność musi być przy tym niezmiennikiem izomorfizmu, tzn. jeśli ma ja pewien graf, to maja ja również wszystkie grafy z nim izomorficzne. Ponieważ α i β sa bijekcjami, więc niezmiennikiem izomorfizmu jest liczba wierzchołków grafu, a także liczba krawędzi grafu. Aby uzyskać ciekawsze niezmienniki rozważymy zbiór E ab złożony ze wszystkich krawędzi ł aczacych ustalone wierzchołki a, b grafu. Z definicji stopnia wierzchołka wynika natychmiast Własność 4. Dla dowolnego wierzchołka a grafu G zachodzi równo sć deg a = + E aa. v V G E av Dla dowolnych wierz- Własność 5. Niech (α, β) : G H będzie izomorfizmem grafów. chołków a, b V G zachodzi
TEORIA GRAFÓW I SIECI - ROZDZIAL I 6 (1) β (E ab ) = E α(a)α(b). (2) E ab = Eα(a)α(b). (3) deg a = deg α (a). Dowód. Weźmy dowolna krawędź l E H. Ponieważ β jest bijekcja, więc istnieje krawędź k E G taka, że β (k) = l. Mamy przy tym β (k) β (E ab ) różnow. k E ab a, b - końce k (IN) α (a), α (b) - końce β (k) β (k) E α(a)α(b) Dowodzi to warunku (1). Ponieważ β jest bijekcja, więc (2) wynika z (1). Z kolei z równości ( ) β E av = β (E av ) = E α(a)α(v) = E α(a)w v V G v V G v V G w V H dostajemy, korzystajac z własności 4, ( ) deg a = E av + E aa = β E av + β (E aa) = v V G v V G = + Eα(a)α(a) = deg α (a). w V H E α(a)w Twierdzenie 2. Niech m N {0}. Następujace własno sci sa niezmiennikami izomorfizmu grafów. (1) Liczba wierzchołków. (2) Liczba krawędzi. (3) Liczba wierzchołków stopnia m. (4) Liczba par wierzchołków poł aczonych m krawędziami. (5) Liczba pętli m-krotnych. Dowód. Niech (α, β) : G H będzie izomorfizmem grafów. Ponieważ α, β sa bijekcjami więc V H na = α (V G ) różnow. = V G, E H na = β (E G ) różnow. = E G, czyli zachodza warunki (1) i (2). Oznaczmy przez A zbiór wszystkich wierzchołków stopnia m w G, zaś przez B zbiór wszystkich wierzchołków stopnia m w H. Z własności 5.3 wynika, że α (A) B. Weźmy dowolny wierzchołek b B. Ponieważ α jest bijekcja, więc b = α (a), gdzie a G. Stad na podstawie własności 5.3 deg a = deg α (a) = deg b = m. Zatem a A i w konsekwencji b = α (a) α (A). Dowodzi to inkluzji B α (A). Ostatecznie B = α (A), czyli B = α (A) = A,
TEORIA GRAFÓW I SIECI - ROZDZIAL I 7 co kończy to dowód (3). Dowody własności (4) i (5) pozostawiamy jako ćwiczenie. Ćwiczenie 12. Udowodníc własno sci (4) i (5) z poprzedniego twierdzenia. Możliwość utożsamiania grafów izomorficznych pozwala, w przypadku większości rozważań, pomijać nazwy wierzchołków, nazwy krawędzi, a nawet jedne i drugie. Graf możemy więc, w zależności od potrzeb, zapisać w postaci Ćwiczenie 13. Sprawdzíc, które z poniższych grafów sa izomorficzne Ćwiczenie 14. Narysować wszystkie (z dokładno sci a do izomorfizmu) (1) Grafy o 3 wierzchołkach i 3 krawędziach. (2) Grafy proste o 4 wierzchołkach i 4 krawędziach. Ćwiczenie 15. Znale zć wszystkie nieizomorficzne grafy, których ci ag liczb wierzchołków kolejnych stopni jest równy (0, 3), (0, 4), (0, 0, 3), (0, 0, 4).
TEORIA GRAFÓW I SIECI - ROZDZIAL I 8 Podamy teraz kilka przykładów. Grafem pustym nazywamy graf, który nie ma krawędzi. Graf pusty o n wierzchołkach oznaczamy N n. Ponieważ dowolne dwa grafy puste o n wierzchołkach sa izomorficzne, więc oznaczenie to ma sens. Grafem pełnym lub klika nazywamy graf prosty, którego dowolne, różne wierzchołki sa poł aczone krawędzi a. Graf pełny o n wierzchołkach oznaczamy K n. Ćwiczenie 16. Obliczyć liczbę krawędzi grafu K n. Grafami platońskimi nazywamy grafy wielościanów foremnych, tzn. 4, 6, 8, 12 i 20- ścianu. Graf czworościanu (K 4 ) Graf sześcianu Graf ośmiościanu Graf dwunastościanu Graf dwudziestościanu
TEORIA GRAFÓW I SIECI - ROZDZIAL I 9 Inne interesujace grafy Graf Petersena Graf Grötzscha Grafem regularnym nazywamy graf, którego wszystkie wierzchołki maja ten sam stopień. Jeżeli wszystkie wierzchołki maja stopień r, to mówimy, że graf jest regularny stopnia r lub r-regularny. Grafy regularne stopnia 3 nazywamy kubicznymi. Grafem kubicznym jest np. graf Petersena oraz grafy czworścianu, sześcianu i dwunastościanu. Graf ośmiościanu jest 4-regularny, a graf dwudziestościanu - 5-regularny. Grafy puste sa 0-regularne, zaś graf pełny K n jest regularny stopnia n 1. Mówimy, że G jest grafem dwudzielnym jeżeli istnieja rozł aczne i niepuste zbiory wierzchołków A, B takie, że V G = A B oraz dowolna krawędź w grafie ł aczy wierzchołek ze zbioru A z wierzchołkiem ze zbioru B. Pełnym grafem dwudzielnym nazywamy taki graf dwudzielny, w którym każdy wierzchołek z A jest poł aczony dokładnie jedna krawędzi a z każdym wierzchołkiem z B. Pełny graf dwudzielny taki, że A = n i B = m oznaczamy K n,m. Graf dwudzielny K 1,3 K 2,3 Grafy, które nie sa dwudzielne Podgrafem grafu G = (V, E, γ) nazywamy dowolny graf G 0 = (V 0, E 0, γ 0 ) taki, że V 0 V, E 0 E i γ 0 = γ E 0. Oznacza to, że podgraf dostajemy z grafu usuwajac z niego pewna
TEORIA GRAFÓW I SIECI - ROZDZIAL I 10 liczbę wierzchołków i krawędzi w ten sposób, żeby byłto nadal graf (nie może zostać krawędź bez końca). Szczególnie często w rozważaniach pojawiaja się dwa rodzaje podgrafów. Jeżeli E E, to symbolem G\E oznaczamy graf powstały z G przez usunięcie wszystkich krawędzi z E (wierzchołki bez zmian), czyli G \ E = (V, E \ E, γ E \ E ). Jeżeli V V, to symbolem G \ V oznaczamy graf powstały z G przez usunięcie wszystkich wierzchołków z V oraz wszystkich krawędzi majacych choć jeden koniec w V. Formalnie gdzie E = {k E; γ (k) V }. G \ V = (V \ V, E \ E, γ E \ E ) G G \ {k 1, k 2, k 3 } G \ {b} G \ {c} Zajmiemy się teraz grafami skierowanymi. Pominiemy pewne szczegóły, gdyż definicje i własności sa bardzo podobne do omawianych dla grafów nieskierowanych. Grafem skierowanym lub digrafem (directed graph) nazywamy trójkę G = (V, E, γ), gdzie V = V G jest zbiorem niepustym, E = E G dowolnym zbiorem, zaś γ funkcja γ : E V V. Elementy zbioru V nazywamy wierzchołkami digrafu, zaś elementy zbioru E jego krawędziami. Krawędzie w grafie skierowanym bywaja też nazywane łukami. Jeżeli γ (k) = (a, b), to mówimy, że a jest poczatkiem, zaś b końcem krawędzi k oraz że krawędź k biegnie od a do b. Graficznie będziemy to oznaczać strzałk a w kierunku końca krawędzi. Jeżeli wierzchołek nie jest poczatkiem ani końcem żadnej krawędzi, to mówimy, że jest izolowany. Krawędź, która ma taki sam poczatek i koniec (γ (k) = (a, a)) nazywamy pętla. Jeżeli k i l sa różnymi krawędziami o tym samym poczatku i tym samym końcu (tzn. γ (k) = γ (l)), to krawędzie te nazywamy wielokrotnymi. Zauważmy, że w grafie k 1 i k 2 sa krawędziami wielokrotnymi, zaś k 3 nie jest. Graf skierowany bez krawędzi wielokrotnych i pętli nazywamy digrafem prostym. Podobnie jak w przypadku grafów nieskierowanych, każda krawędź k o poczatku a i końcu b (czyli taka, że γ (k) = (a, b)) będziemy oznaczać jako ab lub (a, b). Stopniem wejściowym wierzchołka a nazywamy liczbę indeg a równa ilości wszystkich krawędzi, których końcem jest a (wchodzacych do a), zaś stopniem wyjściowym liczbę
TEORIA GRAFÓW I SIECI - ROZDZIAL I 11 outdeg a równa ilości wszystkich krawędzi, których poczatkiem jest a (wychodzacych z a). Liczbę deg a = indeg a + outdeg a nazywamy stopniem wierzchołka a. Ćwiczenie 17. Obliczyć stopnie wej sciowe i wyj sciowe wierzchołków grafu Podgraf grafu skierowanego definujemy tak samo jak dla grafu nieskierowanego, tzn. podgrafem (skierowanym) digrafu G = (V, E, γ) nazywamy dowolny digraf G 0 = (V 0, E 0, γ 0 ) taki, że V 0 V, E 0 E i γ 0 = γ E 0. Uwaga 2. W dalszej czę sci wykładu termin graf będzie używany w dwojaki sposób. W sensie węższym, czyli zgodnie z definicja "graf"="graf nieskierowany". W sensie szerszym "graf"="graf nieskerowany lub skierowany". Nie powinno to prowadzíc do nieporozumień, gdyż z kontekstu będzie wynikać o co chodzi. Powiemy jeszcze o przekształcaniu grafu skierowanego w nieskierowany i na odwrót. Niech G = (V, E, γ) będzie grafem skierowanym. Z digrafu G można utworzyć graf nieskierowany G N przez "usunięcie strzałek z krawędzi" Formalnie, G N = (V, E, γ N ), gdzie dla krawędzi k o poczatku a i końcu b, tj. takiej, że γ (k) = (a, b) przyjmujemy γ N (k) = {a, b}. Graf G N nazywamy szkieletem lub wersja nieskierowan a digrafu G. Załóżmy teraz, że G = (V, E, γ) jest grafem nieskierowanym. Z grafu G tworzymy digraf G S zostawiajac pętle i zastępujac każda z krawędzi ł aczacych różne wierzchołki, para krawędzi przeciwnie skierowanych.
Digraf G S nazywamy wersja skierowan a grafu G. TEORIA GRAFÓW I SIECI - ROZDZIAL I 12 Ćwiczenie 18. (1) Sformułować formalna definicję skierowanej wersji grafu. (2) Zbadać zwiazek między stopniem wierzchołka w digrafie G i jego szkielecie G N. (3) Zbadać zwiazek między stopniem wierzchołka w grafie G i jego wersji skierowanej G S. (4) Zbadać czy dla dowolnego digrafu G zachodzi G (G N ) S. (5) Zbadać czy dla dowolnego grafu G zachodzi G (G S ) N. Podobnie jak w pzypadku grafów nieskierowanych będziemy zajmować sie tylko digrafami skończonymi, czyli takimi, że V + E <. Lemat o uściskach dłoni przyjmuje dla digrafów następujac a postać Twierdzenie 3 (Lemat o uściskach dłoni). W dowolnym grafie skierowanym indeg a = outdeg a = E G. a V G a V G Izomorfizmem grafów skierowanych G i H nazywamy parę (α, β) bijekcji α : V G V H, β : E G E H takich, że dla dowolnych wierzchołków a, b V G i dowolnej krawędzi k E G (IS) k biegnie z a do b β (k) biegnie z α (a) do α (b). Mówimy wtedy, że G jest izomorficzny z H i piszemy G H. Izomorfizmy digrafów maja podobne własności jak izomorfizmy grafów. Własność 6. Dla dowolnych grafów skierowanych G, H, K (1) G G. (2) Jeżeli G H, to H G. (3) Jeżeli G H i H K, to G K. Własność 7. Digrafy bez krawędzi wielokrotnych G, H sa izomorficzne wtedy i tylko wtedy, gdy istnieje bijekcja α : V G V H taka, że dla dowolnych wierzchołków a, b V G (IS ) istnieje krawęd z biegnaca z a do b istnieje krawęd z biegnaca z α (a) do α (b). Własność 8. Jeżeli G = (V, E, γ) jest digrafem bez krawędzi wielokrotnych oraz E 0 = γ (E), to G 0 = (V, E 0, id E0 ) jest digrafem izomorficznym z G. Własność 8 pokazuje, że digraf bez krawędzi wielokrotnych G jest izomorficzny z digrafem G 0 takim, że E 0 V V oraz γ 0 = id E0. Utożsamiajac G z izomorficznym digrafem G 0 oraz pomijajac funkcję identycznościow a stwierdzamy, że digraf bez krawędzi wielokrotnych można definiować jako parę (V, E 0 ) taka, że E 0 V V. Ćwiczenie 19. Udowodníc własno sci 6-8. Przypomnijmy jeszcze wspomniane wcześniej podobieństwo definicji digrafu (bez krawędzi wielokrotnych) i relacji dwuargumentowej. Ćwiczenie 20. Niech V = {1, 2, 3, 4}. Narysować grafy skierowane odpowiadaj ace relacji równo sci "=", mniejszo sci "<" i podzielno sci " ".
TEORIA GRAFÓW I SIECI - ROZDZIAL I 13 Uwaga 3. W dalszej czę sci wykładu będziemy czasem podawać definicje i twierdzenia równolegle w dwóch wersjach (np. dla grafów i digrafów). W takiej sytuacji różnice będa umieszczone w nawiasach kwadratowych [ ]. Zrobimy teraz kilka uwag na temat zapisywania grafów w postaci analitycznej, dogodnej do przetwarzania. Niech G będzie grafem [grafem skierowanym]. Ustawmy wierzchołki G w ciag (a 1, a 2,..., a n ). Macierza sasiedztwa grafu [digrafu] G nazywamy macierz M = [m ij ] i,j n, gdzie m ij jest ilościa krawędzi ł aczacych a i z a j [o poczatku a i oraz końcu a j ]. Ćwiczenie 21. Znale zć macierze sasiedztwa grafów Macierz sasiedztwa grafu nie jest wyznaczona jednoznacznie, bo zależy od sposobu ustawienia wierzchołków w ciag. Można sprawdzić, że jeśli M jest macierza sasiedztwa, to każda inna macierz sasiedztwa da się uzyskać przez permutację wierszy macierzy M, a następnie taka sama permutację kolumn. Jeżeli (α, β) : G H jest izomorfizmem grafów (skierowanych lub nieskierowanych) oraz V G = {a 1, a 2,..., a n }, to macierze sasiedztwa odpowiadajace ciagom (a 1, a 2,..., a n ) i (α (a 1 ), α (a 2 ),..., α (a n )) sa równe. Oznacza to, że w grafach izomorficznych można tak ponumerować wierzchołki, aby dostać równe macierze sasiedztwa. Oczywiście, również na odwrót, grafy o równych macierzach sasiedztwa sa izomorficzne. Ćwiczenie 22. Pokazać, że grafy [digrafy] sa izomorficzne wtedy i tylko wtedy, gdy można tak ponumerować ich wierzchołki, by dostać równe macierze sasiedztwa. Z macierzy sasiedztwa łatwo odczytać podstawowe własności grafu. W szczególności mamy Własność 9. Niech G będzie grafem lub digrafem oraz M = [m ij ] i,j n jego macierza sasiedztwa. (1) Jeżeli G jest grafem nieskierowanym, to macierz M jest symetryczna (M = M T ). (2) G nie ma krawędzi wielokrotnych m ij 1 dla wszystkich i, j. (3) G nie ma pętli m ii = 0 dla wszystkich i. (4) Jeżeli G jest grafem skierowanym, to indeg a i = n j=1 m ji oraz outdeg a i = n j=1 m ij. (5) Jeżeli G jest grafem nieskierowanym, to deg a i = m ii + n j=1 m ij = m ii + n j=1 m ji. 1 2 3 1 Ćwiczenie 23. Niech G będzie grafem o macierzy sasiedztwa (1) Odpowiedzieć na poniższe pytania bez rysowania grafu. 2 0 1 2 1 0 2 3. 0 2 1 0
TEORIA GRAFÓW I SIECI - ROZDZIAL I 14 (a) Czy G jest grafem skierowanym, czy nieskierowanym? (b) Ile wierzchołków, krawędzi, krawędzi wielokrotnych oraz pętli jest w G? (c) Ile wynosi deg a 1 (oraz ewentualnie indeg a 1 i outdeg a 1 )? (2) Narysować G. Reprezentacja grafu przy pomocy macierzy sasiedztwa jest bardzo wygodna. Z punktu widzenia programisty ma jednak poważna wadę. Zapisujac graf w ten sposób musimy zarezerwować w pamięci miejsce na tablicę rozmiaru V G 2. Jest to szczególnie niekorzystne gdy graf jest rzadki, tzn. E G V G 2 (w macierzy sasiedztwa jest dużo zer). W takiej sytuacji zamiast macierzy sasiedztwa, często stosuje się listy sasiedztwa. Jest to tablica rozmiaru V G, w której każdemu wierzchołkowi odpowiada lista wierzchołków z nim sasiednich. Dla grafu nieskierowanego z ćwiczenia 21 mamy [[2], [1, 2, 4, 5], [ ], [2, 5, 5, 5], [2, 4, 4, 4]]. W grafie skierowanym zamiast listy sasiadów można wziać listę następników, czyli wierzchołków, do których biegna krawędzie z danego wierzchołka. Dla grafu skierowanego z ćwiczenia 21 będzie to [[2, 2, 3], [ ], [1, 2, 3, 3]]. Jeszcze innym sposobem analitycznego przedstawienia grafu jest macierz incydencji. Ustawiamy wierzchołki i krawędzie grafu nieskierowanego w ciagi (a 1, a 2,..., a n ) i (k 1, k 2,..., k m ). Macierza incydencji grafu nazywamy macierz P = [p ij ] i n,j m, gdzie p ij = { 1; a i jest końcem k j, 0; a i nie jest końcem k j.. 1 1 1 0 0 P = 1 1 1 1 0 0 0 0 1 1 Dla grafu skierowanego można wprowadzić dodatkowa wartość (np. poczatku i końca krawędzi. 1) dla rozróżnienia 1. C E H Na pierwszym wykładzie pojawiłsię schemat mostów na rzece Pregole w Królewcu.
TEORIA GRAFÓW I SIECI - ROZDZIAL I 15 W roku 1736 Leonard Euler rozwiazałproblem dotyczacy możliwości odbycia wycieczki, w której przechodzimy dokładnie jeden raz przez każdy most i wracamy do punktu wyjścia. Wynik Eulera jest uważany za poczatek teorii grafów. Schemat mostów można zapisać w postaci grafu. Zadanie sprowadza się do znalezienia zamkniętej ścieżki prostej zawierajacej wszystkie krawędzie tego grafu. Zamknięta ścieżkę prosta zawierajac a wszystkie krawędzie grafu nazywamy cyklem Eulera lub obwodem Eulera. Otwarta ścieżkę prosta zawierajac a wszystkie krawędzie grafu nazywamy ścieżka Eulera. Graf posiadajacy cykl Eulera nazywamy grafem eulerowskim, zaś posiadajacy ścieżkę Eulera - grafem półeulerowskim. Uwaga 4. Nazwa cykl Eulera stanowi niekonsekwencję w stosunku do stosowanej na wykładzie terminologii, bo cykl Eulera nie musi być cyklem (wierzchołki moga się powtarzać). Będziemy jednak używać tego terminu, gdyż jest powszechnie stosowany w literaturze. Rozważmy cykl Eulera t w grafie G. Interesuje nas stopień pewnego wierzchołka tego grafu. Każda krawędź pojawia się w t dokładnie raz. Aby policzyć stopień wierzchołka, wystarczy znaleźć wszystkie jego wystapienia w ścieżce t i sprawdzić ile krawędzi tam z nim sasiaduje (dopuszczamy liczenie tej samej krawędzi dwukrotnie w przypadku pętli:... aka...). Ponieważ jednak ścieżka t jest zamknięta, więc każdy wierzchołek sasiaduje z dwiema krawędziami (pętla dwa razy z ta sama krawędzi a). Wynika stad, że stopień dowolnego wierzchołka jest parzysty. Udowodniliśmy ak 1 bk 2 dk 3 ek 4 fk 5 gk 6 ek 7 dk 8 ck 9 ck 10 a Twierdzenie 4. Wszystkie wierzchołki grafu eulerowskiego maja stopień parzysty. Twierdzenie 4 rozwiazuje problem mostów królewieckich. Ponieważ wszystkie wierzchołki w tym grafie maja stopień nieparzysty, więc graf nie ma cyklu Eulera. Udowodniliśmy, że parzystość stopni wierzchołków jest warunkiem koniecznym istnienia cyklu Eulera. Leonard Euler pokazał, że dla grafów spójnych jest to również warunek dostateczny. Dowód tego twierdzenia przeprowadzimy wskazujac algorytm znajdujacy cykl Eulera przy podanych wyżej założeniach. Będzie to algorytm Fleury ego. Jego działanie polega na tym, że startujac z dowolnego wierzchołka, idziemy dowolna droga dbajac jedynie by:
TEORIA GRAFÓW I SIECI - ROZDZIAL I 16 po drodze usuwać krawędzie, przez które przeszliśmy oraz wierzchołki izolowane, przez mosty przechodzić tylko wtedy, gdy nie ma innej możliwości. Dla grafu G oraz jego wierzchołka a zdefiniujmy procedurę: Fleury(G, a) x := a % wierzchołek, do którego doszliśmy budujac ścieżkę d 0 := a % ścieżka, która zbudowaliśmy V 0 := V G % wierzchołki pozostałe do odwiedzenia E 0 := E G % krawędzie pozostałe do odwiedzenia while E 0 do znajdź krawędź k = xy E 0 taka, że G 0 \{k} jest spójny lub x jest izolowany w G 0 \{k} d 0 := d 0 ky E 0 := E 0 \ {k} if x jest izolowany w G 0 then V 0 := V 0 \ {x} x := y d := d 0 Twierdzenie 5. Niech G będzie grafem spójnym, w którym wszystkie wierzchołki maja stopień parzysty oraz a dowolnym wierzchołkiem G. Wynikiem działania procedury Fleury(G, a) jest cykl Eulera d. Dowód. Zakładamy, że G jest grafem spójnym, w którym wszystkie wierzchołki maja stopień parzysty. Udowodnimy kolejno kilka faktów. Jeżeli nie zaznaczymy inaczej, sformułowania będa dotyczyć poczatku i końca dowolnej iteracji. (1) G 0 = (V 0, E 0 ) jest grafem (końce krawędzi z E 0 należa do V 0 ).
TEORIA GRAFÓW I SIECI - ROZDZIAL I 17 Na wejściu mamy G 0 = G, czyli (1) zachodzi. Warunek jest niezmiennikiem pętli, bo usunięcie z G 0 krawędzi i wierzchołka izolowanego nie psuje warunku (1). (2) G 0 jest spójny. Na starcie mamy G 0 = G, czyli spójność wynika z założenia. Warunek jest niezmiennikiem pętli, bo z G 0 usuwamy albo krawędź, która nie jest mostem, albo krawędź wraz z końcem, który jest liściem (porównaj wniosek??). (3) Jeśli x = a, to wszystkie wierzchołki w G 0 maja stopień parzysty. (3 ) Jeśli x a, to x i a sa jedynymi wierzchołkami stopnia nieparzystego w G 0. Na wejściu mamy x = a. Warunek (3) wynika z założenia o parzystości stopni wszystkich wierzchołków, natomiast implikacja (3 ) jest prawdziwa, bo ma fałszywy poprzednik. Udowodnimy teraz, że koniunkcja warunków (3) i (3 ) jest niezmiennikiem pętli. W tym celu załóżmy, że na poczatku pętli oba warunki zachodza. Pokażemy, że warunki zachodza na końcu pętli. Zauważmy, że jedynymi wierzchołkami, których stopień zmienia się w trakcie iteracji sa x i y oraz że x przyjmuje nowa wartość x y. Jeśli na poczatku x = a i usuwamy pętlę k = xx, to na końcu mamy x = a (x x) oraz deg x = deg a jest o 2 mniejszy niż na poczatku, czyli parzysty. Jeśli na poczatku x = a i usuwamy krawędź k = xy, dla y x, to na końcu mamy x a (x y). Stopień wierzchołka a jest o 1 mniejszy niż na poczatku, czyli nieparzysty. Stopień wierzchołka x jest o 1 mniejszy niż stopień wierzchołka y na poczatku, czyli też nieparzysty. Jeśli na poczatku x a i usuwamy krawędź k = xa, to na końcu mamy x = a (x a) oraz stopień wierzchołka a jest o 1 mniejszy niż na poczatku, czyli parzysty. "Stary" wierzchołek x ma stopień o 1 mniejszy niż na poczatku, czyli również parzysty. Zatem w G 0 nie ma wierzchołków stopnia nieparzystego. Jeśli na poczatku x a i usuwamy pętlę k = xx, to na końcu mamy x a (x x). Stopień wierzchka a jest nieparzysty (nie zmieniłsię). Stopień wierzchołka x jest o 2 mniejszy niż na poczatku, czyli też nieparzysty. Jeśli na poczatku x a i usuwamy krawędź k = xy, dla y / {a, x}, to na końcu mamy x a (x y). Stopień wierzchołka a jest nieparzysty (nie zmieniłsię). Stopień wierzchołka x jest nieparzysty jako stopień wierzchołka y zmniejszony o 1. Stopień "starego" wierzchołka x też zmniejszyłsię o 1, czyli jest parzysty. Ostatecznie jedynymi wierzchołkami stopnia nieparzystego sa a i x. Tak więc koniunkcja warunków (3) i (3 ) jest niezmiennikiem pętli. (4) Jeśli E 0, to można znaleźć krawędź k = xy E 0 taka, że G 0 \ {k} jest spójny lub x jest izolowany w G 0 \ {k}. Ponieważ G 0 jest spójny i niepusty, więc deg G0 x > 0. Rozpatrzmy przypadki. deg G0 x = 1. Niech k = xy będzie jedyna krawędzi a w G 0, której końcem jest x. Wtedy x jest wierzchołkiem izolowanym w G 0 \ {k}, czyli zachodzi (4). deg G0 x > 1. Pokażemy, że istnieje krawędź k incydentna z x taka, że G 0 \ {k} jest spójny. W
TEORIA GRAFÓW I SIECI - ROZDZIAL I 18 tym celu wystarczy pokazać, że wśród krawędzi incydentnych z x, jest co najwyżej jeden most. Przypuśćmy nie wprost, że istnieja wierzchołki y z, dla których krawędzie k = xy i l = xz sa mostami. W grafie H = G 0 \ {k, l} nie istnieje ścieżka ł aczaca y i z (w przeciwnym razie k i l nie byłyby mostami). Wierzchołek a nie może zatem należeć do obu składowych H y i H z jednocześnie. Przyjmijmy, że a / H y (jeśli a / H z, dowód jest podobny). Z (3) i (3 ) wynika, że jedynymi wierzchołkami nieparzystego stopnia w G 0 moga być a, x i w konsekwencji jedynymi wierzchołkami nieparzystego stopnia w H moga być a, x, y, z. Ponieważ y x i y a więc deg G0 y jest liczba parzysta, czyli deg H y jest liczba nieparzysta. Z drugiej strony a, x, z / H y i w konsekwencji y jest jedynym wierzchołkiem nieparzystego stopnia w H y. Jest to sprzeczne z Lematem o uściskach dłoni. Otrzymana sprzeczność dowodzi, że (4) zachodzi również w tym przypadku. (5) d 0 jest poprawnie zdefiniowan a ścieżka o końcu x. Na wejściu mamy d 0 = a = x, czyli d 0 jest ścieżka trywialna o końcu x. W pętli do d 0 dodajemy krawędź k = xy i wierzchołek y, czyli otrzymujemy ścieżkę o końcu y. Ponieważ w ostatniej instrukcji pętli w x wstawiamy y, więc warunek (5) jest niezmiennikiem pętli. (6) d 0 jest ścieżka prosta. Na wejściu, czyli dla d 0 = a, warunek (6) jest oczywisty. Ponieważ krawędź k dodawana do d 0 jest wybierana spośród tych, które nie należa do d 0, więc (6) jest niezmiennikiem pętli. (7) Procedura zatrzyma się. W każdej iteracji usuwamy z E 0 jedna krawędź. Teza wynika więc ze skończoności E G. (8) d jest cyklem Eulera. Po wyjściu z pętli mamy G 0 =, czyli ścieżka prosta d = d 0 zawiera wszystkie krawędzie grafu G. Ponadto mamy wtedy deg G0 a = deg G0 x = 0. Z (3) i (3 ) wnioskujemy więc, że x = a, czyli ścieżka d jest zamknięta. Kończy to dowód twierdzenia. Natychmiastowym wnioskiem z udowodnionego twierdzenia oraz twierdzenia 4 jest zapowiedziana wcześniej charakteryzacja spójnych grafów eulerowskich. Twierdzenie 6 (Eulera). Graf spójny posiada cykl Eulera wtedy i tylko wtedy, gdy wszystkie jego wierzchołki sa stopnia parzystego.
TEORIA GRAFÓW I SIECI - ROZDZIAL I 19 Uwaga 5. Spójno sć grafu nie jest warunkiem koniecznym istnienia cyklu Eulera. Graf może mieć wierzchołki izolowane, np. Konieczne jest jednak by wszystkie krawędzie należały do jednej składowej. Twierdzenie 7. (1) Jeżeli w grafie G istnieje scieżka Eulera ł aczaca wierzchołki a i b, to a, b sa jedynymi wierzchołkami stopnia nieparzystego. (2) Jeżeli w grafie spójnym G istnieja dokładnie dwa wierzchołki stopnia nieparzystego, to w G istnieje scieżka Eulera ł aczaca te wierzchołki. Dowód. (1) Niech d = a... b będzie ścieżka Eulera. Dodajac do grafu G krawędź k = ab dostajemy graf G = G {k} posiadajacy cykl Eulera a... bka. Z twierdzenia 4 wynika, że wszystkie wierzchołki grafu G maja stopień parzysty. Zatem po usunięciu krawędzi k, jej końce a, b będa jedynymi wierzchołkami stopnia nieparzystego w G. (2) Załóżmy, że a i b sa jedynymi wierzchołkami stopnia nieparzystego w grafie spójnym G. Dodajac do G krawędź k = ab dostajemy graf G = G {k} o wierzchołkach stopnia parzystego. Z twierdenia Eulera wynika istnienie cyklu Eulera w G. Usuwajac z niego krawędź k dostajemy ścieżkę Eulera w G. Stosujac chwyt z dodaniem krawędzi, można pokazać, że algorytm Fleury ego działa również w grafach spójnych majacych dwa wierzchołki stopnia nieparzystego. Należy jedynie jako wierzchołek startowy wybrać jeden z tych wierzchołków. Twierdzenie 8. Niech G będzie grafem spójnym posiadajacym dwa wierzchołki stopnia nieparzystego a i b. Wynikiem działania procedury Fleury(G, a) jest scieżka Eulera d ł aczaca a z b. Ćwiczenie 24. Udowodníc ostatnie twierdzenie. Ćwiczenie 25. Sprawdzíc czy poniższe figury można narysować bez odrywania pióra od kartki i bez rysowania żadnej linii dwukrotnie. Jeżeli można, to zaznaczyć poczatek i ponumerować linie w kolejno sci rysowania. 1. 2. 3. 4. 5. Ćwiczenie 26. Czy mrówka może przej sć wzdłuż wszystkich krawędzi bryły A i wrócíc do punktu wyj scia, nie przechodz ac żadnej krawędzi dwa razy? (1) A - czworo scian, (2) A - sze scian,
(3) A - o smio scian, (4) A - dwunasto scian, (5) A - dwudziesto scian. TEORIA GRAFÓW I SIECI - ROZDZIAL I 20 Ćwiczenie 27. Czy kostki domina można ułożyć w zamknięta łaman a, tak by sasiednie kostki stykały się kwadratami o tych samych numerach? Ćwiczenie 28. Sprawdzíc dla jakich warto sci n, m N poniższe grafy sa eulerowskie lub półeulerowskie. (1) Graf pełny K n. (2) Pełny graf dwudzielny K nm. Ćwiczenie 29. Sprawdzíc czy poniższe grafy sa eulerowskie lub półeulerowskie. Jeżeli sa, to znale zć cykl Eulera lub scieżkę Eulera (wskazać poczatek i ponumerować krawędzie). 1. 2. 3. 4. 5. Ćwiczenie 30. Czy można obej sć cały dom przechodzac przez każde drzwi dokładnie jeden raz? Jaka będzie odpowied z, je sli zamkniemy drzwi między dużymi pokojami? Ćwiczenie 31. (1) Czy możliwe jest przej scie szachownicy ruchem skoczka szachowego, tak by każdy z możliwych ruchów byłwykonany dokładnie raz (w jednym lub drugim kierunku)?
TEORIA GRAFÓW I SIECI - ROZDZIAL I 21 (2) Rozwiazać zadanie zastępujac szachownicę rozmiaru 8 8, szachownica n n, n N. Ćwiczenie 32. Niech G będzie d-regularnym grafem o 2d + 1 wierzchołkach. Pokazać, że (1) je sli G jest spójny, to jest eulerowski, (2) je sli G jest prosty, to jest eulerowski. Zajmowaliśmy się ścieżkami prostymi zawierajacymi wszystkie krawędzie grafu. Rozważmy teraz problem istnienia w grafie zamkniętej ścieżki prostej przechodzacej dokładnie jeden raz przez każdy wierzchołek grafu. Poczatki problemu pochodza od "łamigówki Hamiltona", tzn. od rozważań sir Williama Hamiltona dotyczacych istnienia takiej ścieżki w grafie dwunastościanu (1856). Cyklem Hamiltona w grafie nazywamy cykl zawierajacy wszystkie wierzchołki grafu. Graf posiadajacy cykl Hamiltona nazywamy grafem hamiltonowskim. Ścieżka Hamiltona nazywamy ścieżkę prosta bez powtarzajacych się wierzchołków zawierajac a wszystkie wierzchołki grafu. Cykl Hamiltona jest, oczywiście, ścieżka Hamiltona. Zachodzi też Własność 10. (1) Graf pełny K n jest hamiltonowski dla n 3. (2) Dodanie krawędzi do grafu hamiltonowskiego daje graf hamiltonowski. Rozstrzygnięcie czy graf jest hamiltonowski jest o wiele trudniejsze niż sprawdzenie czy jest eulerowski. Nie znaleziono do tej pory sensownej charakteryzacji grafów hamiltonowskich. Musimy więc korzystać z wyników częściowych. Zaczniemy od warunków koniecznych, które ze swojej istoty maja "charakter negatywny", tzn. sa na ogółwykorzystywane w rozumowaniach typu "Jeśli graf nie spełnia warunku, to nie jest hamiltonowski" Jeśli d jest cyklem Hamiltona w grafie G, to cykl ten ł aczy wszystkie wierzchołki grafu, czyli graf jest spójny. Ponadto dowolny wierzchołek należy do tego cyklu, czyli musi mieć stopień 2. Z kolei, jeżeli stopień wierzchołka wynosi dokładnie 2, to obie incydentne z nim krawędzie musza należeć do cyklu d. Zachodzi zatem Własność 11. (1) Dowolny graf hamiltonowski jest spójny. (2) W grafie hamiltonowskim wszystkie wierzchołki maja stopień 2. (3) W grafie hamiltonowskim wszystkie krawędzie wychodzace z wierzchołków stopnia 2 należa do cyklu Hamiltona.
TEORIA GRAFÓW I SIECI - ROZDZIAL I 22 Poniższy graf nie jest hamiltonowski, bo ma wierzchołek stopnia 1. Z kolei gdyby graf posiadałcykl Hamiltona, to cykl ten zawierałby wszystkie krawędzie incydentne z wierzchołkami stopnia 2, czyli miałby 6 krawędzi. Jest to niemożliwe, bo cykl o 5 wierzchołkach ma 5 krawędzi. W konsekwencji graf nie jest hamiltonowski. Załóżmy, że graf ma n 3 wierzchołków. Wtedy żadna pętla nie należy do cyklu Hamiltona. Ponadto, spośród kilku krawędzi ł aczacych te same wierzchołki, tylko jedna może należeć do cyklu Hamiltona. Wynika stad, że w takim przypadku, usunięcie z grafu pętli oraz krawędzi wielokrotnych (poza jedna dla każdej pary wierzchołków) nie wpływa na istnienie cyklu Hamiltona. Mamy zatem Własność 12. Niech G będzie grafem o przynajmniej trzech wierzchołkach. Jeżeli graf G jest hamiltonowski, to hamiltonowski jest też graf powstały przez usunięcie z G wszystkich pętli oraz wszystkich krawędzi poza jedna dla każdej pary wierzchołków sasiednich. Znalezienie cyklu Hamiltona grafu po lewej stronie sprowadza się do znalezienia cyklu Hamiltona grafu po prawej stronie. Ćwiczenie 33. Sprawdzíc, czy powyższe grafy sa hamiltonowskie. Kolejny warunek podamy w formie luźnej uwagi, a nie formalnej własności. Cykl Hamiltona o n wierzchołkach ma n krawędzi. Zauważyliśmy jednak wyżej, że pętle (gdy n > 1) i część krawędzi wielokrotnych nie wchodza do cyklu Hamiltona, czyli nie sa to krawędzie "istotne". Podobnie wyglada sytucja w przypadku krawędzi incydentnych z wierzchołkiem stopnia > 2. Tylko dwie z tych krawędzi moga się znaleźć w cyklu Hamiltona, czyli wszystkie pozostałe nie sa "istotne". Tak więc
TEORIA GRAFÓW I SIECI - ROZDZIAL I 23 Graf hamiltonowski o n wierzchołkach powinien mieć przynajmniej n krawędzi "istotnych". Rozważmy prawy graf z ostatniego przykładu. Wierzchołki leżace na środkach boków kwadratu maja stopień 3. Zatem po jednej krawędzi incydentnej z każdym z tych wierzchołków nie może znaleźć się w cyklu Hamiltona. W grafie jest zatem co najwyżej 8 "istotnych" krawędzi. Ponieważ graf ma 9 wierzchołków, więc nie może być hamiltonowski. Bardzo prosty warunek konieczny istnienia cyklu lub ścieżki Hamiltona można sformułować dla grafów dwudzielnych. Twierdzenie 9. Niech G będzie grafem dwudzielnym oraz V = A B podziałem jego wierzchołków. (1) Jeżeli w G istnieje scieżka Hamiltona, to liczby A i B różnia się co najwyżej o 1. (2) Jeżeli G ma cykl Hamiltona, to A = B. Dowód. Załóżmy, że d = a 1 a 2... a n jest ścieżka Hamiltona w G. Możemy przyjać, że a 1 A (jeśli a 1 B, to dowód jest podobny). Wtedy a 2 B, a 3 A, itd. Ogólnie a i A dla i nieparzystych oraz a i B dla i parzystych. Stad A B = { 1 gdy n jest nieparzyste, 0 gdy n jest parzyste. Kończy to dowód (1). Załóżmy teraz, że d jest cyklem Hamiltona, czyli a n = a 1. Wtedy A = {a 1, a 3,..., a n 2 } oraz B = {a 2, a 4,..., a n 1 }, czyli A = B. Ćwiczenie 34. Sprawdzíc czy poniższe grafy sa hamiltonowskie [posiadaj a scieżkę Hamiltona]. G 1 G 2 G 3 G 4 G 5 G 6
TEORIA GRAFÓW I SIECI - ROZDZIAL I 24 G 7 (graf Petersena) G 8 (graf Grötzscha) Ćwiczenie 35. Wiadomo, że na szachownicy 8 8 można przej sć ruchem skoczka szachowego wszystkie pola i wrócíc do punktu wyj scia. Czy to samo można zrobíc na szachownicy 9 9. Sformułujemy teraz warunki dostateczne na to by graf prosty byłhamiltonowski. Będa one miały postać: "Jeżeli graf prosty ma dużo krawędzi, to jest hamiltonowski" Twierdzenie 10 (Orego). Niech G będzie grafem prostym o n 3 wierzchołkach. Jeżeli (*) deg a + deg b n dla dowolnych niesasiednich a, b, to G jest hamiltonowski. Dowód. Niech n = 3 oraz a, b będa niesasiednimi wierzchołkami. Wtedy deg a 1 i deg b 1, czyli deg a + deg b 2 < n. Poprzednik implikacji jest zatem fałszywy, czyli implikacja jest prawdziwa. Przypuśćmy nie wprost, że twierdzenie jest fałszywe. Oznacza to, że dla pewnej liczby n 4 istnieje niehamiltonowski graf prosty o n wierzchołkach spełniaj acy (*). Spośród grafów o tej własności wybierzmy ten, który ma najwięcej krawędzi i nazwijmy go G. Dodajac do G krawędź k ł aczac a jakiekolwiek niesasiednie wierzchołki, dostajemy graf hamiltonowski. Usuwajac z cyklu Hamiltona dodana wcześniej krawędź k otrzymujemy zatem otwarta ścieżkę Hamiltona a 1 a 2... a n w G. Ponieważ G nie jest hamiltonowski, więc wierzchołki a 1 i a n nie sa sasiednie i w konsekwencji deg a 1 + deg a n n. Pokażemy, że istnieje j {3,..., n 1} takie, że a 1 a j, a j 1 a n E G. Przyjmijmy A = {i; a 1 a i E G } oraz B = {i; a i 1 a n E G }. Widać, że A B {2,..., n}, czyli A B n 1. Stad A B = A + B A B = deg a 1 + deg a n A B n (n 1) = 1
TEORIA GRAFÓW I SIECI - ROZDZIAL I 25 i w konsekwencji istnieje j A B. Ponieważ a 1 a n 3 j n 1, co oznacza, że / E G, więc n / A oraz 2 / B. Zatem a 1... a j 1 a n... a j a 1 jest cyklem Hamiltona wbrew założeniu. Otrzymana sprzeczność kończy dowód. Natychmiastow a konsekwencj a Twierdzenia Orego jest Twierdzenie 11 (Diraca). Niech G będzie grafem prostym o n 3 wierzchołkach. Jeżeli deg a n 2 dla dowolnego wierzchołka a, to G jest hamiltonowski. Ćwiczenie 36. Udowodníc Twierdzenie Diraca. Twierdzenie 12. Jeżeli graf prosty o n wierzchołkach ma więcej niż 1 (n 1) (n 2) + 1 2 krawędzi, to jest hamiltonowski. Ćwiczenie 37. (1) Udowodníc poprzednie twierdzenie. Porównać je z ćwiczeniem??. (2) Dla dowolnej liczby n 3 znale zć niehamiltonowski graf prosty o n wierzchołkach i 1 (n 1) (n 2) + 1 krawędziach. 2 Warunki podane w trzech ostatnich twierdzeniach nie sa warunkami koniecznymi. Graf dwunastostościanu ma n = 20 wierzchołków, 30 krawędzi oraz wszystkie wierzchołki maja stopień 3. Nie sa więc spełnione założenia żadnego z rozważanych twierdzeń mimo, że graf jest hamiltonowski. Podobnie graf cykliczny C n jest hamiltonowski, a nie spełnia założeń żadnego z twierdzeń dla n > 4. Ćwiczenie 38. W grupie złożonej z 2n uczniów każdy ma co najmniej n przyjaciół. Pokazać, że można ich ustawíc parami, tak by każdy uczeń trzymałza ręka przyjaciela.