Matematyka Stosowana i Metody Matematyczne Wykład dla studentów studiów niestacjonarnych II stopnia kierunek Transport i Elektrotechnika
2 Elementy teorii grafów Niech G = [A, C, φ] będzie uporządkowaną trójką, gdzie: A jest zbiorem (przeliczalnym) elementów a i nazywanych wierzchołkami lub węzłami, C jest przeliczalnym zbiorem elementów l ij, φ jest odwzorowaniem : nazywanym relacją przyległości lub incydencji. Elementy l ij interpretujemy jako połączenia pomiędzy węzłami a i, a j. Jeśli istotny jest kierunek, to poi koniec (a j ). Jeśli kieru- łączenie nazywamy łukiem w łuku jednoznacznie wyznaczony jest początek (a i ) nek nie jest istotny, to połączenie nazywamy krawędzią krawędź reprezentuje zarówno tylko łuk łączący węzeł a i z węzłem a j, jak i tylko łuk łączący węzeł a j z węzłem a i, jak i oba te łuki jednocześnie w zależno- + gałąź zorientowa- ści od potrzeb. (Uwaga: używa się też określeń łuk + łuk zorientowany jak i gałąź na ). Strukturę G = [A, C, φ] w której: C jest zbiorem łuków nazywamy grafem zorientowanym (orografem, digrafem), C jest zbiorem krawędzi nazywamy grafem niezorientowanym. Jeśli na relację φ nie jest nałożony warunek jednoznaczności, tzn. parom (a i, a j ) może być przypisany więcej niż jeden obiekt l ij, to graf nazywamy multigrafem (odpowiednio multigrafem zorientowanym (pary uporządkowane), multigrafem niezorientowanym (pary nieuporządkowane)). Graf zorientowany, w którym relacja φ jest jednoznaczna nazywamy grafem Berge a. Jeśli zbiory A i C są zbioramii pustymi, to grafy nazywamy grafami zerowymi.. Jeśli zbiór C jest zbiorem pustym, to graf nazywamy węzłowym (nie istnieją łuki czy krawędzie). Graf węzłowy o jednym węźle nazywamy grafem trywialnym. Graf złożony z dwu węzłów i jednej krawędzi (łuku) nazywamy dipolem. Obiekt l ii przypisany parze (a i i, a i ) nazywamy pętlą. (uwaga: większość autorów nie rozpatruje pętli dla grafów niezorientowanych) Graf niezawierający pętli nazywamy grafem właściwym. Liczbę wierzchołków grafu nazywamy stopniem grafu. Graf, w którym każdej parze (a i, a j ) odpowiada łuk l ij nazywamy zupełnym. (Analogicznie można zdefiniować dla grafów nieskierowanych, z tym, że na ogół graf zupełny z założenia jest grafem właści- wym). Zbiór obiektów l ij, przyporządkowanych tej samej parze węzłów (a i, a j ) nazywamy odpowiednio pę- kiem łuków równoległych (pary uporządkowane), pękiem krawędzi równoległych (pary nieuporządkowane). Graf zorientowany nazywamyy grafem symetrycznym, jeśli z faktu, że dla pary (a i, a j ) istnieje łuk l ij wynika, że dla pary (a j, a i ) istnieje łuk l ji,,. Taką parę równoległych i przeciwnie skierowanych łuków nazywamy krawędzią grafu zorientowanego (uwaga: ma inne znaczenie niż krawędź w grafie niezorientowanym). Graf zorientowany nazywamyy grafem asymetrycznym, jeśli z faktu, że dla pary (a i, a j ) istnieje łuk l ij wynika, że dla pary (a j, a i ) nie istnieje łuk l ji,,. Uwaga: Nie być grafem symetrycznym nie oznacza być grafem asymetrycznym i na odwrót nie być grafem asymetrycznym nie oznacza być grafem symetrycznym. (bo ~(p q) nie jest równoważne p ~q)
3 Łuk (krawędź) l ij przyporządko owany parze (a i, a j ) nazywamy przyległym (incyden ntnym) do węzłów a i, a j. Łuk l ij nazywamy wychodzącym z węzła a i (a i jest początkiem łuku) i wchodzącym do węzła a j (a j jest końcem łuku). Zbiór łuków wchodzących do węza a i oznaczamy symbolem, liczność zbioru oznaczamy i nazywamy półstopniem wejściowym węzła a i. Zbiór łuków wychodzących z węza a i oznaczamy symbolem, liczność zbioru oznaczamy i nazywamy półstopniem wyjściowym węzła a i. Liczbę nazywamy stopniem węzła a i. Jeśli stopnie węzłów są jednakowe, to graf nazywamy regularnym. (Dla grafu niezorientowanego oznacza to, że do każdego węzła przylega ta sama liczba krawędzi). Dla grafów niezorientowanych stopniem węzła a i nazywamy liczbę krawędzi incydentnych do węzła a i, przy czym pętle (jeśli występują) liczymy podwójnie. Dwa łuki (krawędzie) nazywamy wzajemnie przyległymi (wzajemnie incydentnymi) jeśli istnieje węzeł, do którego są jednocześnie przyległe. Dwa węzły grafu nazywamy do nich przyległa. Węzeł nazywamy izolowanym, jeśli nie jest do niego przyległy żaden łuk (krawędź). Grafy częściowe i podgrafy węzłami przyległymi jeśli istnieje łuk (krawędź), która jest jednocześnie Niech G = [A, C, φ] będzie dowolnym (niezerowym) grafem (multigrafem), C podzbiorem tych elementów l C, że istnieje para węzłów (a i,a j ), że l jest przyległy do węzłów a i, a j ((a i,a j ) = l; inaczej C jest obrazem zbioru w relacji ; C jest przeciwdziedziną relacji ). Niech C ozna- grafem (mutligrafem) cza dowolny podzbiór zbioru C, wtedy graf (multigraf) G = [A, C, φ] nazywamyy częściowym grafu G = [A, C, φ]. (graf częściowy powstaje z usunięcia z grafu G części łuków (krawędzi) przyległych, przy zachowaniu wszystkich węzłów; w szczególności każdy graf jest grafem częściowym grafu zupełnego) Niech A będzie podzbiorem zbioru A i C =, wtedy graf G = [A, C, φ] nazywamy pod- węzłów i zachowanie grafem grafu G = [A, C, φ]. (podgraf powstaje z grafu G poprzez usunięcie części wszystkich łuków (krawędzi) przyległych do pozostawionych węzłów) Łańcuchem (w grafie niezorientowanym G) nazywamy parę g = [S, L], gdzie S jest ciągiem węzłów grafu G (z powtórzeniami lub nie), takim, że każde dwa sąsiednie wyrazy ciągu są węzłami przyległymi, a L jest zbiorem krawędzi przyległych do tych węzłów. Pierwszy i ostatni węzeł w ciągu nazywamy węzłami krańcowymi. Długością łańcucha nazywamy liczbę krawędzi łączących węzły łańcucha (jest to liczność zbioru L, liczba węzłów w łańcuchuu jest o jeden większa od długości łańcucha). Łańcuch nazywamy elementarnym, jeśli węzły nie powtarzają się. Łańcuch nazywamy prostym, jeśli krawędzie nie powtarzają się. Dwa łańcuchy nazywamy wzajemnie niezależnymi, jeśli nie mają wspólnych krawędzi. Dwa łańcuchy nazywamy wzajemnie silnie niezależnymi, jeśli nie mają wspólnych węzłów poza (ewentualnie) węzłami krańcowymi. Jeśli w danym łańcuchu węzły krańcowe są identyczne, to łańcuch nazywamyy cyklem. Stąd mamy od- powiednio pojęcia cyklu prostego i elementarnego i cykli wzajemnie niezależnych i silnie niezależnych.
4 W przypadku grafów zorientowanych mówimy odpowiednio o drodze lub marszrucie zamiast łańcu- cha i obwodzie zamiast cyklu (choć często mówi się łańcuch zorientowany, cykl zorientowany). Formalnie: Drogą lub marszrutą (w multigrafie zorientowanym G) nazywamy parę h = [S, L], gdzie S jest cią- ciągu a k, a k+1 są wę- giem węzłów grafu G (z powtórzeniami lub nie), takim, że każde dwa sąsiednie wyrazy złami przyległymi połączonymi łukiem wychodzącym z węzła a k i wchodzącym do węzła a k+1, a L jest zbiorem tych łuków. Pierwszy węzeł w ciągu nazywamy węzłem początkowym drogi, ostatni węzeł w ciągu nazywamy węzłem końcowym drogi. (h = [S, L, φ] jest zorientowanym podgrafem częściowym multigrafu G jeśli węzły w S się powtarzały, to bierzemy je jednokrotnie ). Długością drogi nazywamy liczbę łuków łączących węzły drogi (jest to liczność zbioru L, liczba węzłów w drodze jest o jeden większa od długości drogi). Drogę nazywamy elementarną, jeśli węzły nie powtarzają się. Drogę nazywamy półprostą, jeśli łuki nie powtarzają się. Drogę nazywamy prostą, jeśli w zbiorze L żadna para łuków nie łączy tej samej uporządkowanej pary węzłów (uwaga: w przypadku grafów każda droga półprosta jest drogą prostą, różnice występują dla multigrafów). Dwie drogi nazywamy wzajemnie niezależnymi, jeśli odpowiadające im łańcuchy są wzajemnie nieza- leżne. Dwie drogi nazywamy wzajemnie silnie niezależnymi, jeśli odpowiadające im łańcuchy są wzajemnie silnie niezależne. Jeśli w danej drodze węzły początkowy i końcowy są identyczne, to drogę nazywamy obwodem. Stąd mamy odpowiednio pojęcia obwodu półprostego, prostego i elementarnego i obwodów wzajemnie niezależ- nych i silnie niezależnych. Graf niezorientowany niezawierający cykli nazywamy acyklicznym, graf zorientowany niezawierający obwodów nazywamy bezobwodowym (w rzeczywistości najczęściej jednak mówimy o grafie acyklicznym zorientowanym zamiast bezobwodowym). Dwa grafy G 1 = [A 1, C 1, φ 1 ] i G 2 = [A 2, C 2, φ 2 ] nazywamy izomorficznymi, jeśli istnieje wzajemnie jednoznaczne odwzorowanie f: A 1 A 2 zachowujące relację przyległości. Izomorfizm oznacza, że własności strukturalne grafów nie zależą od sposobu numerowania węzłów i łuków (krawędzi) i graficznego ich przedstawienia. Macierzowa reprezentacja grafów Macierz przyległości S G Określmy macierz S G w sposób następujący: S G = [σ ij ], i,j = 1, 2,..., n gdzie n liczba węzłów (zakładamy, że węzły są w sposób jednoznaczny ponumerowane), σ ij liczba łuków łączących węzeł a i z węzłem a j. Suma i-tego wiersza jest równa półstopniowi wyjściowemu węzła a i (numery kolumn niezerowych wyrazów i-tego wiersza wyznaczająą węzły będące węzłami wejściowymi dla łuków wychodzących z węzła a i ). Suma i-tej kolumny jest równa półstopniowi wejściowemu węzła a i (numery wierszy niezerowych wyrazów i-tej kolumny wyznaczająą węzły wyjściowe dla łuków wchodzących do węzła a i ). Suma i-tej ko- lumny i i-tego wiersza jest równa stopniowi i-tego węzła.
Elementy teorii grafów 5 Macierz przyległości pozwala na (stosunkowo proste) stwierdzenie izomorficzności dwóch grafów (poprzez uporządkowanie macierzy S G ze względu na półstopnie wejściowe i półstopnie wyjściowe, liczba węzłów w klasie o określonej liczbie półstopni w każdym z grafów izomorficznych musi być równa, po wy- eliminowaniu klas jednoelementowych ustalamy permutacje w klasach wieloelementowych). Biorąc po kolei kolejne potęgi macierzy S G wyznaczamy liczbę dróg łączących węzeł a i z węzłem a j. Dokładniej: jeśli S σ jest k- tą potęgą macierzy S G, to σ jest liczbą dróg d ługości k (składającą się z k łuków) dla których a i jest węzłem początkowym i a j jest węzłem końcowym. W szczególności jest liczbą obwodów długości k dla węzła a i. Korzystając z tej metody możemy określić długość najkrótszej dro- gi (obwodu) w grafie między dwoma węzłami lub wykazać nieistnienie drogi między tymi węzłami. Algorytm wyznaczania najkrótszej drogi między węzłami a p i a q jest następujący: 1) wierzchołkowi a p przypisujemy cechę 0, 2) wierzchołkom wejściowym dla łuków wychodzących z wierzchołka a p przypisujemy cechę 1 (dla gra- wszystkich wierzchoł- fów niezorientowanych cechę 1 przypisujemy wierzchołkom przyległym), 3) postępujemy analogicznie jak w punkcie 2) dla pozostałych wierzchołków, tj. dla ków ocechowanych cechą k nieocechowanym wierzchołkom wejściowym (dla łuków wyjściowych oce- zostaną wszystkie chowanych cechą k) przypisujemy cechę k+1; postępujemy tak długo aż ocechowane wierzchołki (zasadniczo można przerwać na etapie, gdy ocechowany zostanie węzeł a q ). 4) drogę wyznaczamy (niekoniecznie jednoznacznie) poruszając się od węzła a q łukami przez węzły o cesze o jeden mniejszej niż cecha węzła aktualnego. 5) Macierz incydencji Q G Określmy macierz Q G w sposób następujący: Q G = [q ij ], i = 1, 2,..., n j = 1, 2,..., m gdzie n liczba węzłów (zakładamy, że węzły są w sposób jednoznaczny ponumerowane), m liczba łuków (zakładamy, że łuki są w sposób jednoznaczny ponumerowane), 1, 1, 0, gdy łuk l j wychodzi z węzła a i gdy łuk l j wchodzi do węzła a i w pozostałych przypadkach W przypadku grafów niezorientowanych określamy macierz Q G w sposób analogiczny ze względu na brak orientacji krawędzi, element macierzy q ij jest równy 1 gdy krawędź l j jest przyległa do wierzchołka a i. Uwaga: macierz incydencji nie musi być macierzą kwadratową. W macierzy incydencji w każdej kolumnie albo dokładnie dwa elementy są różne od zera (i są równe 1 i 1 dla grafów zorientowanych i równe 1 dla grafów niezorientowanych) albo wszystkie elementy są rów- ne zero. Każdy wyznacznik podmacierzy kwadratowej macierzy incydencji łuków jest równy 1, albo -1 albo 0 (jest to macierz całkowicie unimodularna, konsekwencją jest, że rozwiązaniem układu równań liniowych Q G X = 0 jest wektor o składowych 0, +1 lub 1).
6 Spójność grafów Graf niezorientowany nazywamy grafem spójnym, jeśli dowolną parę jego węzłów można połączyć łańcuchem. Składową spójności grafu (niezorientowanego) G nazywamy każdy (maksymalny) podgraf spójny grafu G taki, że poszerzenie o dowolny dodatkowy węzeł (grafu G) powoduje utratę spójności podgrafu. (uwaga: podział na składowe spójności jest jednoznaczny) Graf nazywamy grafem k-składowym, jeśli ma k składowych spójności. Graf (niezorientowany) nazywamy grafem r-spójnym, jeśli każdą parę węzłów w grafie można połą- jeśli dowolną parę czyć za pomocą r łańcuchów niezależnych. Graf (multigraf) zorientowany nazywamy grafem (multigrafem) silnie spójnym, uporządkowaną węzłów można połączyć drogą. Jeśli graf (niezorientowany, spójny lub nie) ma dokładnie dwa wierzchołki o nieparzystym stopniu, to istnieje łańcuch łączący te wierzchołki. Graf właściwy (niezorientowany) k-składowy o n wierzchołkach (stopnia n) ma co najwyżej krawędzi. Do wyznaczania składowych spójności grafu można wykorzystać macierz przyległości. Tworzymy z macierzy S G macierz zero-jedynkową B zastępując niezerowe elementy macierzy S G jedynkami (interesuje nas fakt istnienia połączenia a nie ich liczba) oraz wpisując na głównej przekątnej 1. Wyznaczamy kolejne potęgi macierzy B (do n-1, n liczba wierzchołków) i określamy macierz S B gdzie dodawanie w sensie algebr Boole a (mnożymy i sumujemy poszczególne elementy macierzy zgodnie z zasadą 0 + 0 = 0, 1 + 0 = 1 + 1 = 1). Podzbiory wierzchołków (maksymalne), którym odpowiadają iden- również dla grafów tyczne wiersze (kolumny) określająą składowe spójności grafu. (procedura obowiązuje niezorientowanych). Można uprościć procedurę, gdyż w procesie wyznaczania kolejnych potęg macierzy B w pewnym momencie (nie można z góry ustalić w którym) kolejne potęgi będą identyczne i będzie to mamacierzy S G (do n-1), ich cierz S b ). (Można, po uzupełnieniu diagonali jedynkami, znaleźć kolejne potęgi sumę i zastąpić wyrazy dodatnie jedynkami). Spójnością węzłową χ(g) spójnego grafu niezorientowanego nazywamy minimalną liczbę węzłów grafu G, których usunięcie zmienia graf G w graf niespójny lub trywialny. Spójnością krawędziową λ(g) spójnego grafu niezorientowanego nazywamyy minimalną liczbę kra- węzłowo) istnieje wędzi grafu G, których usunięcie zmienia graf G w graf niespójny lub trywialny. W każdym grafie o spójności węzłowej χ = 1 (nazywanym minimalnie spójnym węzeł taki, że jego usunięcie powoduje wzrost liczby składowych spójności węzeł taki nazywamy złączem. Węzeł a 0 spójnego grafu właściwego niezorientowanego o pojedynczych krawędziach 1 jest złączem iff w grafie istnieje przynajmniej jedna para węzłów (a i, a j ) takich, że każdy łączący je łańcuch zawiera węzeł a 0. W każdym grafie o spójności krawędziowej λ = 1 (nazywanym minimalnie spójnym krawędziowo) istnieje krawędź taka, że jej usunięcie powoduje wzrost liczby składowych spójności krawędź taką nazy- cyklu prostego. 1 Podkreślamy, że twierdzenia nie można stosować rozszerzająco dopuszczając pętle i multigrafy. wamy mostem. Krawędź l 0 jest mostem grafu niezorientowanego iff nie wchodzi w skład żadnego
7 Uwaga: może istnieć wiele mostów i złączy w grafie. Do wyznaczania złączz i mostów można wykowęzeł lub rzystać macierz S b dla zmodyfikowanych macierzy przyległości (usuwając badany krawędź). Dla spójnych grafów właściwych niezorientowanych o pojedynczych krawędziach, w którym najniż- n liczba szym stopniem węzła jest δ(g) zachodzi: a) χ(g) λ(g) δ(g) i istnieje graf dla którego równość zachodzi (m liczba krawędzi, wierzchołków, b) χ(g) [x] część całkowita liczby x) ) c) χ(g ) = χ(g) 1, gdzie G jest podgrafem grafu G powstałym przez usunięcie z niego jednego wę- zła wraz z przyległymi krawędziami. d) dwa dowolne węzły a i, a j grafu bez złączy można połączyć r różnymi silnie spójnymi niezależnymi łańcuchami iff χ(g) = r (uwaga, to więcej niż r-spójność grafu) Blokiem grafu G nazywamy maksymalny podgraf grafu G odznaczający się spójnością węzłową χ > 1. (Uwaga: nawet graf o spójności węzłowej χ = 1 może zawierać podgrafy o spójności węzłowej χ > 1). Dla grafu spójnego stopnia n 3 równoważne są następujące własności: a) G jest blokiem stopnia n 3, b) dowolne dwa węzły grafu G należą do wspólnego cyklu prostego, c) dowolny węzeł i dowolna krawędź należą do wspólnego cyklu prostego, d) dowolne dwie krawędzie należąą do wspólnego cyklu prostego, e) dla dowolnych: dwu węzłów i krawędzi istnieje łańcuch prosty łączący te węzły i zawierający tę kra- wędź, f) dla dowolnych trzech różnych węzłów istnieje łańcuch prosty łączący dwa z tych węzłów i przechodzący przez trzeci, g) dla dowolnych trzech różnych węzłów istnieje łańcuch prosty łączący dwa z tych węzłów i nieprzecho- dzący przez trzeci. Węzłowe rozdzielenie grafu Dla grafów właściwych G minimalnie spójnych węzłowo istnieje jednoznacznie wyznaczona rodzina podgrafów (nazywana podziałem na bloki), takich, że ich suma jest grafem G, a każdy z tych grafów jest blokiem lub dipolem. Podział na bloki otrzymujemy poprzez węzłowe rozdzielenie grafu dla wszystkich złączy grafu. (Usuwamy złącze wraz ze wszystkimi przyległymi krawędziami, graf rozpada się na pewną liczbę podgra- przywracamy usunięty fów (rozłącznych), następnie w każdym podgrafie (traktowanym jako oddzielny graf) węzeł i usunięte krawędzie przyległee do węzłów tego grafu). Dla silnie spójnego właściwego grafu zorientowanego stopnia n i m łukach zachodzi: n m n(n 1)
8 DRZEWA Drzewem nazywamy graf spójny (niezorientowany) bez cykli. 1. Drzewo nie zwiera pętli i krawędzi równoległych (nie jest multigrafem). 2. W drzewie istnieje dokładnie jeden łańcuch prosty i elementarny (jednocześnie) między każdą parą wierzchołków. Każdy graf o tej własności jest drzewem. 3. Każdy graf spójny o n wierzchołkach i n-1 krawędziach jest drzewem. 4. Graf jest drzewem wtedy i tylko wtedy gdy jest minimalnie spójny (tzn. usunięcie dowolnej krawędzi powoduje niespójność grafu). 5. Każdy graf o n wierzchołkach i n-1 krawędziach bez cykli jest spójny więc jest drzewem. Dendrytem spójnego grafu G stopnia n nazywamy drzewo będące podgrafem stopnia n grafu G (tzn. zawiera wszystkie wierzchołki grafu G). 1. Dendryty są drzewami z największą liczbą krawędzi spośród podgrafów grafu G będących drzewami stąd nazywane są maksymalnymi drzewami grafu G. 2. Każdy graf spójny ma przynajmniej jeden dendryt. Krawędź w dendrycie nazywamy gałęzią dendrytu. Krawędź grafu nienależącą do dendrytu nazywamy cięciwą (czasami połączeniem). Rozróżnienie na gałęzie i cięciwy obowiązuje dla ustalonego dendrytu (dla innego dendrytu cięci- wa może być gałęzią i odwrotnie). Graf spójny jest drzewem wtedy i tylko wtedy, gdy dodanie krawędzi między dowolnymi dwoma wierzchołkami tworzy dokładnie jeden cykl. Jeśli w grafie spójnym, dla ustalonego dendrytu (dowolnego) dodamy cięciwę, to uzyskamy cykl nazywany cyklem podstawowym grafu. Każdy dendryt grafu spójnego stopnia n o m krawędziach ma: n 1 gałęzi i m n + 1 cięciw. Cyklomatyka grafów ( (grafów i multigrafów niezorientowanych) Niech M będzie k-składowymm multigrafem niezorientowanym stopnia n o m krawędziach. Określamy funkcje: Funkcję ϱm nazywamy funkcją rzędu grafu, νm nazywamy funkcją cyklomatyczną grafu, a jej wartość dla ustalonego multigrafu M odpowiednio rzędem grafu i liczbą cyklomatyczną lub zerowością grafu (zawsze jest liczbą nieujemną). Jeśli w multigrafie M dodamy krawędź łączącą węzły a i, a j to w tak otrzymanym multigrafie M : a) ϱm ϱm, νm νm1, gdy a i = a j lub węzeł a i można połączyć z węzłem a j za pomo- cą łańcucha (w grafie M), b) ϱm ϱm 1, νm νm w pozostałych przypadkach.
9 Zachodzi: 1. Liczba cyklomatyczna jest równa sumie liczb cyklomatycznych składowych spójności. 2. Liczba cyklomatyczna jest równa 0 iff multigraf nie zawiera cykli (ma więc pojedyncze krawędzie). 3. Liczba cyklomatyczna jest równa 1 iff multigraf zawiera dokładnie jeden cykl prosty elementarny (z dokładnością do permutacji początku i końca). 4. Dla grafu węzłowego νm0. 5. W spójnym grafie z jednym cyklem stopień grafu n jest równy liczbie m krawędzi grafu. 6. Dla grafu zupełnego (właściwego, o pojedynczych krawędziach) νm 1. 7. Rząd grafu spójnego stopnia n jest równy n 1 (liczbie gałęzi) a zerowość m n + 1 (liczbie cięciw). 8. Liczba cykli podstawowych w grafie jest równa liczbie cyklomatycznej. Uwaga: Gdy graf G ma k składowych spójności, to mówimy, że graf G ma las dendrytów składający się z k dendrytów składowych spójności. Rozpatrzmy graf G spójny ważony, tzn. graf w którym każdej krawędzi przypisano wartość (rzeczy- dendryt, w którym wistą) nazywaną wagą. Dendrytem minimalnym lub najkrótszym w grafie G nazywamy suma wag gałęzi jest najmniejsza. Algorytmy poszukiwania dendrytów minimalnych. 1. Porządkujemy krawędzie grafu od najlżejszego do najcięższego. Wybieramy kolejno krawę- nie tworzy cyklu. Pro- dzie sprawdzając na każdym etapie, że utworzony zbiór wybranych krawędzi cedurę kończymy, gdy wybierzemy n 1 krawędzi (dla grafu spójnego stopnia n). 2. Tworzymy macierz przyległości grafu (niezorientowanego) i zastępujemy jedynki wagami krawę- Wybieramy wierz- dzi, zera pozostawiamy puste (macierz jest symetryczna względem przekątnej. chołek (ponieważ dendryt minimalny musi zawierać wszystkie wierzchołki grafu, więc wybór wierzchołka jest nieistotny, najwygodniej wygrać wierzchołek nr 1) i usuwamy kolumnę o numerze wybranego wierzchołka. Dołączamy wierzchołek połączony z wybranym wierzchołkiem najlżej- numerowi wybra- szą krawędzią (poszukujemy wartości najmniejszej w wierszu odpowiadającym nego wierzchołka, numer kolumny odpowiadającej wartości najmniejszej jest numerem dołączanego wierzchołka) i usuwamy kolumnę odpowiadającą numerowi dołączonego wierzchołka. Do tak utwo- krawędzią (poszuku- rzonego podgrafu dołączamy wierzchołek połączony z podgrafem najlżejszą jemy wartości najmniejszej w wierszach odpowiadających numerom wierzchołków podgrafu, numer kolumny odpowiadającej wartości najmniejszej jest numerem dołączanego wierzchołka) i usuwamy kolumnę odpowiadającą numerowi dołączonego wierzchołka. Postępujemy tak długo, aż dołączone zostaną wszystkie wierzchołki. Uwaga: W przypadku multigrafu ważonego dendryt minimalny wyznaczamyy sprowadzając multigraf do grafu poprzez usunięcie krawędzi równoległych z pary krawędzi równoległych usuwamy krawędź o większej wadze. Chromatyka grafów (g grafów niezorientowanych) Niech G będzie grafem niezorientowanym (bez pętli). Liczbą chromatycznąą nazywamy miniby żadne dwa przyległe malną liczbę barw jaką należy użyć, by prawidłowo pokolorować graf, tzn. tak, wierzchołki nie były pokolorowane tą samą barwą. Mówimy, że graf G stopnia n należy do klasy h-chromatycznej (h n), jeśli można go prawidłowo pokolorować za pomocą h barw.
10 Uwaga: 1. Jeśli h < n i G należy do klasy h-chromatycznej, to należy do klasy (h+1)-chromatycznej ale nie musi należeć do klasy (h-1)-chromatycznej. 2. Liczba chromatyczna γg jest taką liczbą naturalną, że G należy do klasy γg-chromatyczności i nie należy do klasy γg1-chromatyczności. 3. Jedynym grafem o γg1 jest graf węzłowy. 4. Graf ma γg2 iff jest grafem dwudzielnym. (Ponieważ drzewo ma γg2, więc jest grafem dwu- największej spośród dzielnym). 5. Liczba chromatyczna grafu zupełnego jest równa n (stopniowi grafu). 6. Jeśli graf zawiera k składowych spójności, to jego liczba chromatyczna jest równa liczb chromatycznych jego składowych spójności. 7. Jeśli d jest najwyższym stopniem węzła w grafie G (właściwym), to graf G należy do klasy d- chromatycznej o ile nie zachodzi żaden z przypadków: a) graf G zawiera podgraf zupełny stopnia d+1, b) d = 2 i graf G zawiera cykl o nieparzystej długości. Załóżmy, że dany jest graf stopnia n i dysponujemy liczbą λ barw. Liczbę różnych sposobów prawi- przez P G (λ). dłowego pokolorowania grafu G przy użyciu nie większej niż λ liczby barw oznaczamy W szczególności: 1) dla grafu węzłowego stopnia n P G (λ) = λ n, 2) dla dipola P G (λ) = λ(λ-1), 3) dla grafu zupełnego stopnia n (nn λ) P G (λ) = λ(λ-1)...(λ-n+1), 4) dla drzewa P G (λ) = λ(λ-1) n-1. Jeśli graf G jest sumą parami rozłącznych grafów G i (i = 1, 2,..., k), to P λ P λp λ P λ Jeśli graf G jest sumą grafów G 1 i G 2 mających wspólny węzeł (jeden), to P λ λ P λp λ Rozszczepienie grafu Niech a i, a j będą wzajemnie nieprzyległymi węzłami grafu. Utworzymy: graf G wprowadzając kra- i ewentualne nad- wędź l ij łączącą węzły a i, a j, graf G usuwając jeden z węzłów poprzez ich utożsamienie miarowe krawędzie (równoległe, powstałe po operacji utożsamienia scalenia). Operację taką nazywamy rozszczepieniem grafu. W wyniku rozszczepienia gafu otrzymujemy graf o stopniu jak graf pierwotny i licz- liczbie krawędzi. bie krawędzi o jeden większej oraz graf o stopniu o jeden niższym i ewentualnie mniejszej Wielokrotne stosowanie operacji rozszczepienia prowadzi do grafów zupełnych o stopniach nieprzekraczają- grafu odbywa się cych stopnia grafu pierwotnego. Korzystając z macierzy przyległości rozszczepienie w sposób następujący: wybieramy niediagonalny element (i,j) macierzy przyległości o wartości 0 (oznacza to brak przyległości węzłów a i, a j ), tworzymy macierz przyległości grafu G wstawiając wartość 1 w miejscu (i,j) macierzy przyległości grafu G; tworzymy macierz przyległości grafu G dodając wiersz i-ty do wiersza j-tego i kolumnę i- tą do kolumny j-tej (modulo 2, tzn. traktując elementy macierzy jak elementy algebry Boole a) i następnie wykreślając i-ty wiersz i i-tą kolumnę, Dla grafów rozszczepionych zachodzi: P G (λ) = P G (λ) + P G (λ). Ponieważ P G (λ) dla grafu zupełnego jest postaci wielomianu więc P G (λ) dla dowolnego grafu jest wie- kolorowania lomianem bez wyrazu wolnego, bo P G (0) = 0 (nazywamy go wielomianem wariantów grafu).
11 Ponadto dla λ < γg zachodzi P G (λ) = 0, tak więc liczbę chromatyczną grafu można wyznaczyć z wielo- grafów rozsz- mianu P G (λ) jako najmniejszą liczbęę λ, przy której P G (λ) > 0. Do wyznaczenia wielomianu P G (λ) możemy wykorzystać procedurę rozszczepiania czepianie kończymy, gdy macierze przyległości, poza przekątną główną, będą zawierały wyłącznie jedynki (na diagonali 0). Oprócz kolorowania węzłóww rozpatruje się kolorowanie krawędzi. Graf G nazywa się prawidłowo pokolorowany krawędziowo, jeśli żadne dwie przyległe krawędzie nie są pokolorowane tą samą barwą. Graf należy do klasy krawędziowo h-chromatycznej, jeśli da się prawidłowo pokolorować krawę- dziowo za pomocą h barw. Kolorowanie map Grafem planarnym nazywamy graf dający przedstawić się na płaszczyźnie bez przecięć linii krawę- dziowych (krawędzi). Obraz na płaszczyźnie grafu planarnego nazywamy grafem płaskim. Każdy graf stopnia co najwyżej 4 jest grafem planarnym. Każdy podgraf (i graf częściowy) grafu planarnego jest grafem planarnym. Regionem nazywamy część płaszczyzny ograniczoną przez punkty węzłowe (węzły) i linie krawę- dziowe wraz z tymi punktami i węzłami z wyłączeniem wszystkich innych punktów węzłowych i linii kra- region nazy- wędziowych. Cykl utworzony z punktów węzłowych i linii krawędziowych ograniczających wamy granicą regionu. Granice regionów nazywamy sąsiednimi jeśli mają wspólnąą co najmniej jedną linię krawędziową. Regionem zewnętrznym grafu płaskiego (planarnego) nazywamy część płaszczyzny otaczają- wewnętrznych, stąd ca graf z zewnątrz. Pozostałe regiony nazywamy regionami wewnętrznymi. Liczba cyklomatyczna spójnego grafu płaskiego jest równa liczbie jego regionów liczba f G regionów jest równa m n + 2 (wzór Eulera). Dla planarnego grafu spójnego stopnia n 3 liczba krawędzi nie może przekroczyć 3n 6. (Stąd jako wniosek graf zupełny stopnia 5 nie jest grafem planarnym). Graf zupełny dwudzielny K 3,3 3 i graf zupełny stopnia 5 K 5 nazywane są grafami Kuratowskiego są to grafy nieplanarne. Graf niezorientowany jest grafem planarnym jeśli nie zawieraa podgrafów Kuratow- skiego. Grubością grafu τ nazywamy minimalną liczbę grafów planarnych takich, że ich suma jest grafem G. Grubość grafu zupełnego stopnia n jest nie mniejsza niż część całkowita liczby (τ ).
12 Dla grafów zupełnych stopnia 6p+q grubość grafu jest równa p+1 o ile q 4 i 6p + q 9. Dla grafów zupełnych dwudzielnych K p,q (o p+q węzłach i pq krawędziach) grubość grafu jest równa o ile nie są spełnione warunki: p < q, pq jest nieparzyste i istnieje liczba całkowita k, taka że. Grafy umieszczone na płaszczyźnie można odwzorować na sferze (kulęę kładziemy na płasz- biegun północny czyźnie, węzły grafu przenoszone są na sferę jako punkty przecięcia odcinka łączącego z węzłem). Graf G można ułożyć prawidłowo na sferze jeśli nie wystąpią skrzyżowania linii krawędziowych. Graf G można ułożyć prawidłowo na sferze iff jest grafem planarnym. Jeśli graf nie jest planarny, to istnieje taka minimalna liczba krawędzi (dla grafów skończonego stopnia), których usunięcie powoduje, że otrzymujemy graf planarny. Krawędzie te można poprowadzić poza sferą rurką, mówimy o sferze z rurką. Graf należy do klasy r-tego rodzaju, jeśli do jego prawidłowego ułożenia potrzeba r rurek, np. grafy planarne należą do klasy 0-rodzaju, grafy Kuratowskiego są grafami 1-rodzaju. Mapą nazywamy spójny graf właściwy zerowego rodzaju niezawierający mostów. Mówimy, że mapa jest prawidłowo pokolorowana regionami, jeśli regiony zostały pokolorowane w ten sposób, że żadne dwa regiony współkrawędziowe nie zostały pokolorowane tą samą barwą. Mapę zaliczamy do regionalnej klasy h-chromatycznej, jeśli można ją prawidłowo pokolorować h barwami. Uwaga: Graf może należeć do różnych klas chromatyczności, chromatyczności regionalnej i chromatyczności krawędziowej. Grafem geometrycznie dualnym do grafu G nazywamy graf G* otrzymany w sposób następujący: a) w każdym regionie grafu G wybieramy punkt (wewnętrzny), który uznajemy za węzeł grafu G*, b) punkty węzłowe grafu G* łączymy linią krawędziową przecinającą w dowolnym różnym od węzłów punkcie linię krawędziową rozdzielającą odpowiadające regiony grafu G (każdą linię krawędziową grafu G powinna przecinać dokładnie jedna linia krawędziowa grafu G* i odwrotnie), c) węzłom wiszącym grafu G przyporządkowujemy pętle w grafie G* (węzeł jest węzłem wiszącym, jeśli jest przyległy do dokładnie jednego z pozostałych węzłów grafu), d) węzły izolowane w grafie G nie mają odpowiednika w grafie G*. Jeśli graf geometryczny G (graf rozpatrywany w przestrzeni geometrycznej, nie musi być planarny) zawiera n punktów węzłowych, m linii krawędziowych i f regionów, to graf geometrycznie dualny G* za- wiera f punktów węzłowych, m liniii krawędziowych i n regionów. Graf G* może być multigrafem nawet gdy G nie jest multigrafem. Niech G będzie mapą. G należy do regionalnej klasy h-chromatycznej iff graf G* (geometrycznie du- alny) należy do klasy h-chromatycznej. Każdy graf planarny należy do klasy 5-chromatycznej. Do tej pory nie znaleziono graf planarnego nienależącego do klasy 4-chromatycznej. Każdy graf r-tego rodzaju można pokolorować barwami.
13 Zbiory niezależne wierzchołków w grafie niezorientowany Podzbiór wierzchołków grafu nazywamy niezależnym zbiorem wierzchołkóww (lub zbiorem niezależ- nie są przyległe. nym lub zbiorem wewnętrznie stabilnym), jeśli żadne dwa wierzchołki w tym zbiorze W szczególności zbiory jednoelementowe są niezależne. Maksymalnym zbiorem niezależnym (maksymalnym zbiorem wewnętrznie stabilnym) w grafie nazywamy taki niezależny podzbiór W wierzchołków grafu, że każdy nadzbiór zbioru W nie jest zbiorem nieza- jednego wierzchoł- leżnym (każdy wierzchołek grafu nienależący do zbioru W jest przyległy do co najmniej ka ze zbioru W). Niech W 1 będzie zbiorem o największej liczności spośród zbiorów niezależnych grafu G. Liczność zbioru W 1 nazywamy liczbą niezależności (lub współczynnikiem stabilności wewnętrznej) i oznaczamy β(g). Dla liczby niezależności zachodzi: βg (n stopień grafu). Mapa G należy do klasy regionalnej 2-chromatycznej iff jest grafem Eulera. Grafem (multigrafem) Eulera nazywamy graf (multigraf) w którym istniejee cykl (nazywany cyklem Eulera) mający ten własność, że przechodzi przez wszystkie węzły grafu i przechodzi przez każdą krawędź dokładnie raz. Spójny graf stopnia n > 1 jest grafem Eulera iff stopnie wszystkich węzłów sąą parzyste (suma elemen- każdy węzeł dokład- tów każdego wiersza macierzy przyległości jest parzysta). Grafem Hamiltona nazywamy graf w którym istnieje cykl przechodzący przez nie jeden raz. Cykl taki nazywamy cyklem Hamiltona. Grafy Hamiltona i Eulera sąą grafami spójnymi. W przypadku grafów zorientowanych w definicjach grafów Eulera i Hamiltona słowo cykl należy zawęzła półstopnie wcho- stąpić słowem obwód. Graf zorientowany jest grafem Eulera iff jest grafem spójnym i dla każdego dzące i wychodzące są jednakowe (dla różnych węzłów mogą być różne). ym (bez pętli) Liczba chromatyczna γ(g) jest równa najmniejszej liczbie maksymalnych zbiorów niezależnych, których suma (mnogościowa) jest zbiorem wierzchołków grafu G. Algorytm wyznaczania wszystkich maksymalnych zbiorów niezależnych Niech v 1, v 2,..., v n będzie zbiorem wierzchołków grafu G (stopnia n). Wyraźmy krawędź (v i,v j ) grafu G jako iloczyn boolowski v1vj i utwórzmy funkcję boolowską: φ v v (sumowanie po wszystkich kra- Każdy skład- wędziach w grafie). Wyraźmy funkcję ϕ jako nieredukowalną sumę iloczynów boolowskich. nik tej sumy określa maksymalny zbiór niezależny grafu G są to te wierzchołki grafu G, które nie występu- iloczynu jest sumą ją w danym składniku (iloczynie). Uwaga. Z praw de Morgana dopełnienie sumy jest iloczynem dopełnień; dopełnienie dopełnień, stąd np. (ab + cd) = (ab) (cd) = (a +b )(c +d ) = a c + a d + b c + b d. Więc jeśli graf G składa się z czterech wierzchołkóww a, b, c, d i dwóch krawędzi (a,b) i (c,d), to istnieją cztery maksymalne zbiory niezależne: {b, d}, {b, c}, {a, d}, {a, c}.
14 Reguły ułatwiające działaniaa na zmiennych boolowskich a + 0 = 0 + a = a; 1 + a = a + 1 = 1; 0a = a0 = 0; 1a = a1 = a; aa = a; a +b = b + a; ab = ba; a(b + c) = ab + ac a(a + b) = aa + ab = a + ab = a(1 + b) = a1 = a; (a + b)(a + c) = a(a + c) + b(a + c) = a + ba +bc = a(1 + b) + bc = a + bc Pokrycie minimalne Niech {W k } będzie pokryciem zbioru W i n = cardw, k = card{w k }. Określamy macierz B = [b ij ] nx xk w sposób następujący: 1, W 0, W Elementy macierzy B traktujemy jako stałe boolowskie dwuargumentowej algebry Boole a. Ze zbio- jako wektor zmien- rem W j wiążemy zmienną boolowską v j. Każdy wiersz macierzy B możemy potraktować nych boolowskich v = (v 1,..., v k ). Każdy taki wektor określa podzbiór zbioru {W k k}, z których niektóre są pokryciami zbioru W. Możemy określić funkcję boolowską, która przyjmuje wartośćć 1 dla tych wektorów v, które określają pokrycia zbioru W. Zadanie znalezienia pokryć minimalnych sprowadza się do znalezienia minimalnej formuły alternatywnej (nieredukowalnej sumy iloczynów boolowskich) funkcji Przykład v 1 v 2 3 1 1 0 2 1 0 3 1 1 4 0 1 5 0 1 6 0 0 7 1 0 8 0 0 9 1 1 v 4 f v 5 0 0 0 1 0 1 0 0 0 1 0 1 0 1 0 0 1 1 1 0 1 0 1 0 1 0 0 1 1 0 1 1 0 0 1 1 v 6 v v 3 v 1 v 2 v v 1 v 2 v 5 v 1 v 3 v 4 v 1 v 4 v 5 v 3 v 4 v 6 v 4 v 5 v v 6 f(v) = (1v 1 + 0v 2 + 0v 3 + 0v 4 + 0v 5 + 1v 6 ) (1v 1 + 0v 2 + 0v 3 + 1v 4 + 0v 5 + 0v 6 ) (1v 1 + 1v 2 + 0v 3 + 1v 4 + 0v 5 + 1v 6 ) (0v 1 + 1v 2 + 0v 3 + 1v 4 + 0v 5 + 0v 6 ) (0v 1 + 1v 2 + 1v 3 + 1v 4 + 1v 5 + 0v 6 ) (0v 1 + 0v 2 + 1v 3 + 0v 4 + 1v 5 + 0v 6 ) (1v 1 + 0v 2 + 1v 3 + 0v 4 + 0v 5 + 1v 6 ) (0v 1 + 0v 2 + 1v 3 + 0v 4 + 1v 5 + 1v 6 ) (1v 1 + 1v 2 + 0v 3 + 0v 4 + 1v 5 + 1v 6 ) Uwaga: Macierz B jest macierzą przyległości.
15 Działania na grafach ( (zorientowanych) Sumą grafów G = [A, C, ϕ] i H = [B, D, ψ] nazywamy graf K = [M, P, ρ] w którym: M = A B, P = C D, ρ = ϕ ψ. Sumę grafów oznaczamy G H. Relację ρ = ϕ ψ określamy w sposób następujący: ρ: (AA BB C D; ; ρ(a,b) = l ϕ(a,b) = l ψ(a,b) = l. Przecięciem grafów G = [A, C, ϕ] i H = [B, D, ψ] nazywamy graf K = [M, P, ρ] w którym: M = A B, P = C D, ρ = ϕ ψ. Przecięcie grafów oznaczamy G H. Relację ρ = ϕ ψ określamy w sposób następujący: ρ: (AA BB C D; ; ρ(a,b) = l ϕ(a,b) = l ψ(a,b) = l. Dopełnienie grafu Dopełnienie grafu (jak dopełnienie zbioru) rozważamy w stosunku do ustalonego nadgrafu zupełnego. Jeśli rozważamy rodzinę grafów, to ustalony graf zupełny będący nadgrafem każdego grafu rozpatrywanej rodziny (najczęściej przyjmuje się, że zbiór węzłów tego nadgrafu jest sumą mnogościową węzłów grafów rozpatrywanej rodziny) nazywamy pokryciem rodziny grafów. Dopełnieniem grafu G (w pokryciu V) nazywamy graf, którego węzłami są wszystkie węzły grafu V i te łuki grafu V, które nie są jednocześnie łukami grafu G. Dopełnienie grafu G oznaczamy przez G. Różnicą asymetryczną grafów G i H nazywamy graf G\H = G H Różnicą symetryczną grafów G i H nazywamy graf G H = (G H)\(G ) = (G H (G H) DODATEK Iloczynem macierzy A=[a ij ] nxp przez macierz B=[b ij ] pxm (piszemy C=A B) nazywamy taką macierz C=[c ij ] nxm, że c ij = p k = 1 a ik b kj dla i=1,2,...,n;j=1,2,...,m (liczba kolumn macierzy A jest taka sama jak liczba wierszy macierzyb) MNOŻENIE MACIERZY NIE JEST PRZEMIENNE Kilka przydatnych właściwości: Jeżeli A,B oraz C są macierzami o odpowiednich wymiarach to: 1. A(BC)=(AB)C 2. α(ab)=(αa)b
16 3. (A+B)C=AC+BC 4. C(A+B)=CA+CB 5. IA=A, gdy A nxn i I nxn Literatura podstawowa 1. Juliusz Lech Królikowski, Zarys teorii grafów, PWN Warszawa 1986. 2. Narsingh Deo, Teoria grafów i jej zastosowania w technice i informatyce, PWN Warszawa 1980. 3. Bohdan Korzan, Elementy teorii grafów i sieci. Metody i zastosowania, WNT Warszawa 1978.