7 Podstawowepojęciateorii grafów Wiele sytuacji z»ycia codziennego mo»e by w wygodny sposób opisanych gracznie za pomoc rysunków skªadaj cych si ze zbioru punktów i linii ª cz cych pewne pary tych punktów. Ogólnie mówi c, dowoln relacj dwuelementow R zadan na pewnym zbiorze V mo»emy przedstawi gracznie rysuj c punkty odpowiadaj ce elementom zbioru V oraz ª cz c punkty x i y ªukiem (lini gdy rozpatrywana relacja jest symetryczna) je»eli xry. Taki sposób przedstawienia prowadzi cz sto do poj i bada«wªasno±ci, których wyra»enie w j zyku teorii relacji byªoby co najmniej uci»liwe. e 3 v 3 e 2 v 1 e 1 v 2 e 5 e 4 v 4 e 7 e 8 e 6 v 5 Rysunek 7.1: Przykªad grafu G = (V, E), gdzie V = {v 1,v 2,v 3,v 4,v 5 }, E = {e 1,e 2, e 3,e 4,e 5,e 6, e 7,e 8 }; kraw d¹ e 3 jest p tl a kraw dzie e 7 i e 8 s wielokrotne (ª - cz t sam par wierzchoªków). 7.1. Grafy nieskierowane i skierowane Denicja 7.1 (Graf). Grafem nieskierowanym G nazywamy uporz dkowan trójk G = (V (G),E(G),ψ G ) skªadaj c si z niepustego zbioru V = V (G) wierzchoªków, ze zbioru E = E(G) kraw dzi (rozª cznego z V ) oraz z funkcji incydencji ψ G, która przypisuje ka»dej kraw dzi z E nieuporz dkowan par wierzchoªków (nie koniecznie ró»nych) z V. Je»eli zaªo»ymy,»e
2 7. Podstawowe poj cia teorii grafów funkcja incydencji ψ G przypisuje ka»dej kraw dzi z E uporz dkowan par wierzchoªków, to powy»sza trójka deniuje graf skierowany (kraw dzie nazywamy wówczas ªukami). Je»eli e jest kraw dzi grafu G (co zapisujemy e E(G)), natomiast u oraz v s wierzchoªkami (czyli u,v V (G)) takimi,»e ψ G (e) = uv, to mówimy,»e wierzchoªki u oraz v s ko«cami kraw dzi e (w przypadku ªuku s jego pocz tkiem i ko«cem). Mówimy,»e ko«ce kraw dzi s z ni incydentne (zwi zane) i na odwrót. Wierzchoªki, które s incydentne z t sam kraw dzi nazywamy przylegªymi. Równie» o dwóch kraw dziach incydentnych z tym samym wierzchoªkiem mówimy,»e s przylegªe. Kraw d¹ e o identycznych ko«cach (ψ G (e) = vv) nazywamy p tl (patrz Rysunek 7.1). Denicja 7.2 (Graf prosty). Graf nieskierowany jest grafem prostym je»eli nie ma p tli oraz kraw dzi wielokrotnych (tj. kraw dzi ª cz cych t sam par wierzchoªków). e 7 v 3 e 2 e4 v 1 e 1 v 2 e 5 v 4 e 3 e 6 Rysunek 7.2: Przykªad grafu prostego G = (V,E), gdzie V = {v 1,v 2,v 3,v 4,v 5 }, E = {e 1,e 2, e 3,e 4,e 5,e 6, e 7 }, e 1 = v 1 v 2, e 2 =, e 3 = v 2 v 5, e 4 = v 3 v 4, e 5 = v 2 v 4, e 6 = v 4 v 6 i e 7 = v 1 v 4. Przykªad grafu prostego przedstawiono na Rysunku 7.2. Zauwa»my,»e w grae prostym kraw d¹ jest jednoznacznie wyznaczona przez jej ko«ce i dlatego, w przypadku grafów prostych funkcja incydencji ψ G nie wnosi»adnej dodatkowej informacji i mo»na j pomin. Graf prosty skªadaj cy si z jednego wierzchoªka nazywa b dziemy grafem trywialnym. W naszych rozwa»aniach ograniczymy si tylko do grafów sko«czonych, tzn. takich, dla których oba zbiory, wierzchoªków i kraw dzi, s sko«czone. Liczb wierzchoªków grafu G, t.j. V (G), oznacza b dziemy ν(g) (albo krócej, gdy nie b dzie to prowadzi do nieporozumie«, ν czy ν G ), natomiast liczb kraw dzi E(G), oznacza b dziemy ε(g) (albo krócej ε lub ε G ). Denicja 7.3 (Grafy identyczne). Dwa grafy G i H s identyczne, co zapisujemy G = H, wtedy i tylko wtedy, gdy V (G) = V (H), E(G) = E(H), ψ G = ψ H. Dwa grafy identyczne mo»emy oczywi±cie przedstawi za pomoc tego samego rysunku. Denicja 7.4 (Stopie«wierzchoªka). Stopniem d(v) = d G (v) wierzchoªka v w grae G nazywamy liczb kraw dzi grafu G incydentnych z v, przy czym ka»d p tl liczymy v 5
7.2. Reprezentacje komputerowe grafów 3 podwójnie. Przez δ(g) oraz (G) rozumie b dziemy odpowiednio minimalny i maksymalny stopie«wierzchoªków grafu G. Przykªad 7.1. Wyznacz stopnie wierzchoªków grafu przedstawionego na Rysunku 7.2. Denicja 7.5 (Dopeªnienie grafu). Dopeªnieniem G c prostego grafu G nazywamy graf prosty o zbiorze wierzchoªków V (G) przy czym dwa wierzchoªki s przylegªe w G c wtedy i tylko wtedy, gdy nie s one przylegªe w G. Przykªad grafu i jego dopeªnienia przedstawiono na Rysunku 7.3. v 1 v 4 v 1 G v 4 G c Rysunek 7.3: Graf G i jego dopeªnienie G c. Denicja 7.6 (Macierz incydencji). Dany jest graf G = (V, E), przy czym V = {v 1,v 2,...,v ν } jest zbiorem wierzchoªków natomiast E = {e 1,e 2,...,e ε } zbiorem kraw dzie grafu, to macierz M(G) = (m ij ), 1 i ν, 1 j ε gdzie liczba m ij {0, 1, 2} oznacza ile razy v i oraz e j s incydentne (2 wyst puje w przypadku p tli), jest macierz incydencji grafu G. Inn macierz zwi zan z grafem G jest macierz przylegªo±ci. Denicja 7.7 (Macierz przylegªo±ci). Dany jest graf G = (V, E), przy czym V = {v 1,v 2,...,v ν } jest zbiorem wierzchoªków, to ν ν macierz A(G) = (a ij ), gdzie a ij jest liczb kraw dzi ª cz cych wierzchoªki v i oraz v j nazywa si macierz przylegªo±ci grafu G. W przypadku grafu skierowanego a ij jest liczb ªuków z wierzchoªka v i do v j. Przykªad 7.2. Wyznacz macierze incydencji i przylegªo±ci dla grafu przedstawionego na Rysunku 7.2. Twierdzenie 7.1. Dla dowolnego grafu G = (V, E) suma stopni jego wierzchoªków równa jest podwojonej liczbie kraw dzi, to jest d G (v) = 2 E. v V 7.2. Reprezentacje komputerowe grafów Mo»liwo± zastosowania komputerów przy rozwi zywaniu zagadnie«teorii grafów jest istotn cz ±ci zastosowa«teorii grafów. Wi kszo± problemów praktycznych, w których stosowana jest teoria grafów dotyczy du»ych grafów, to znaczy takich, które wykluczaj
4 7. Podstawowe poj cia teorii grafów mo»liwo± oblicze«r cznych. W programach teorii grafów wykorzystuje si bardziej zdolno± komputera do podejmowania decyzji ni» jego zdolno± wykonywania operacji arytmetycznych. Jednym z pierwszych problemów, które musimy rozwi za tworz c algorytm, jest sposób zapisu grafu w komputerze, czyli komputerowa reprezentacja grafu. Istnieje wiele sposobów zapisywania i przechowywania informacji o grae w komputerze omówimy tu pi najcz ±ciej stosowanych postaci (ka»da z nich ma swoje zalety i wady; wybór zale»y tu od grafu, rozpatrywanego zagadnienia, stosowanego j zyka, mo»liwo±ci sprz towych i od tego, czy graf jest modykowany w trakcie oblicze«, czy nie). 1. Macierz przylegªo±ci. Najbardziej popularn form, w której graf nieskierowany lub skierowany jest podawany do komputera jest jego macierz przylegªo±ci. 2. Macierz incydencji. Do przechowywania i przeksztaªcania grafu u»ywa si czasami tak»e macierzy incydencji M(G). 3. Lista kraw dzi. Innym, cz sto stosowanym sposobem reprezentacji grafu jest wypisanie wszystkich jego kraw dzi jako par wierzchoªków. Tak na przykªad, graf z Rysunku 7.2 byªby przedstawiony jako lista nast puj cych nieuporz dkowanych par: (v 1,v 2 ), (v 1,v 4 ), (v 2,v 3 ), (v 2,v 4 ), (v 2,v 5 ), (v 3,v 4 ), (v 4,v 5 ). Dla grafu skierowanego, byªy by to uporz dkowane pary wierzchoªków odpowiadaj ce ªukom. 4. Dwie tablice liniowe. Nieznaczn modykacj listy kraw dzi jest przedstawienie grafu za pomoc dwóch tablic liniowych, powiedzmy F = (f 1,f 2,...,f e ), H = (h 1,h 2,...,h e ). Ka»dy element w tych tablicach jest etykiet wierzchoªka. Kraw d¹ i-ta, e i, jest t, która prowadzi od wierzchoªka f i, do wierzchoªka h i, je»eli G jest grafem skierowanym. (Je»eli G jest grafem nieskierowanym, to nale»y tylko przyj,»e e i, wyst puje mi dzy f i i h i ). Na przykªad, graf nieskierowany z Rysunku 7.2. byªby przedstawiony za pomoc dwóch nast puj cych tablic: F = (v 1,v 2,v 2,v 3,v 2,v 4, v 1 ), H = (v 2,v 3,v 5,v 4,v 4,v 5,v 4 ). 5. Lista nast pników. Inn efektywn metod stosowan cz sto dla grafów, w których stosunek ε/ν nie jest du»y, jest u»ycie ν list (lub tablic). Przedstawiamy ka»dy wierzchoªek v za pomoc pewnej listy (tablicy), której pierwszym elementem jest v; a pozostaªymi elementami s wierzchoªki b d ce bezpo±rednimi nast pnikami wierzchoªka v, tzn. wierzchoªki, do których istnieje ªuk z wierzchoªka k (w grae nieskierowanym s to po prostu wierzchoªki przylegªe do k). Graf skierowany o pi ciu wierzchoªkach z Rysunku 7.2. wygl daªby w tym przedstawieniu nast puj co: v 1 : v 2, v 4 v 2 : v 1, v 3, v 4, v 5 v 3 : v 2, v 4 v 4 : v 1, v 2, v 3, v 5 v 5 : v 2, v 4
7.3. Izomorzm. Grafy oznaczone i nieoznaczone 5 7.3. Izomorzm. Grafy oznaczone i nieoznaczone Denicja 7.8 (Izomorzm grafów). Dwa grafy G = (V (G),E(G), ψ G ) oraz H = (V (H),E(H),ψ H ) nazywamy izomorcznymi i oznaczamy G = H je»eli istniej bijekcje ϕ : V (G) V (H) oraz θ : E(G) E(H) takie,»e ψ G (e) = uv wtedy i tylko wtedy, gdy ψ H (θ(e)) = ϕ(u)ϕ(v). Inaczej mówi c bijekcje te zachowuj incydencj. Powtórzmy raz jeszcze, je»eli G = H, to G i H maj identyczn struktur mo»na je przedstawi za pomoc tego samego rysunku grafu nieoznaczonego. Dla grafów prostych izomorzm mo»e by zdeniowany jako bijekcja mi dzy zbiorami wierzchoªków zachowuj ca przylegªo±. (Przypomnijmy,»e w grae prostym kraw d¹ jest jednoznacznie okre±lona przez jej ko«ce.) Bardziej formalnie: Denicja 7.9 (Izomorzm grafów prostych). Dwa grafy proste G = (V (G), E(G)) i H = (V (H), E(H)) nazywamy izomorcznymi i oznaczamy G = H je»eli istnieje bijekcja ϕ : V (G) V (H) taka,»e uv E(G) wtedy i tylko wtedy, gdy ϕ(u)ϕ(v) E(H). Šatwo sprawdzi,»e izomorzm jest relacj równowa»no±ci w zbiorze wszystkich grafów tzn. jest to relacja zwrotna, symetryczna i przechodnia. Grafy nieoznaczone s wi c po prostu klasami równowa»no±ci tej relacji. Zwró my uwag,»e grafy G oraz G c z Rysunku 7.3 s izomorczne (przykªad izomor- zmu: ϕ(v 1 ) = v 2, ϕ(v 2 ) = v 4, ϕ(v 3 ) = v 1 i ϕ(v 4 ) = v 3 ). Graf który jest izomorczny ze swoim dopeªnieniem (G = G c ) nazywa si grafem samodopeªniaj cym si. Denicja 7.10 (Automorzm). Automorzmem grafu nazywamy izomorzm grafu na siebie. Nietrudno zauwa»y,»e automorzm grafu prostego jest permutacj zbioru wierzchoªków zachowuj c przylegªo± oraz,»e zbiór takich permutacji tworzy grup automorzmów ze wzgl du na operacj zªo»enia. Przykªad 7.3. Udowodnij,»e izomorzm zachowuje stopie«wierzchoªka. 7.4. Podgrafy Zdeniujemy teraz pewne specjalne typy grafów. Denicja 7.11 (Graf peªny i pusty). Graf prosty, w którym ka»da para wierzchoªków jest poª czona kraw dzi nazywamy grafem peªnym. Z dokªadno±ci do izomorzmu istnieje dokªadnie jeden graf peªny na n wierzchoªkach, oznaczany K n. Grafem pustym nazywa b dziemy graf, który nie posiada kraw dzi. Zwró my uwag,»e graf pusty jest dopeªnieniem grafu peªnego, wi c graf pusty na n wierzchoªkach mo»emy oznacza K c n. Grafy peªne K 1 do K 5 pokazano na Rysunku 7.4. Denicja 7.12 (Podgraf). Graf H jest podgrafem grafu G co oznaczamy, H G, je»eli V (H) V (G), E(H) E(G) oraz ψ H jest obci ciem ψ G do E(H). Je»eli H G, ale H G, to H nazywamy podgrafem wªa±ciwym grafu G i zapisujemy H G.
6 7. Podstawowe poj cia teorii grafów K 1 K 2 K 3 K 4 K 5 Rysunek 7.4: Grafy peªne K 1,..., K 5. Je»eli H jest podgrafem G to mówimy,»e G jest nadgrafem grafu H. Denicja 7.13 (Podgraf rozpi ty). Podgrafem rozpi tym grafu G nazywamy taki podgraf H G dla którego V (H) = V (G). Je»eli z grafu G usuniemy wszystkie p tle i dla ka»dej pary przylegªych wierzchoªków pozostawimy dokªadnie jedn kraw d¹ to otrzymany w ten sposób rozpi ty podgraf nazywamy podlegªym grafem prostym grafu G. Denicja 7.14 (Podgrafem indukowany). Dany jest graf G = (V,E). Je»eli V jest niepustym podzbiorem zbioru wierzchoªków V ( V V i V ) to podgraf grafu G, którego zbiorem wierzchoªków jest V oraz, którego zbiór kraw dzi skªada si ze wszystkich kraw dzi grafu G o obu ko«cach w V nazywamy podgrafem indukowanym przez V i oznaczamy przez G[ V ]. Podgraf G[V V ] indukowany przez V V oznacza b dziemy tak»e przez G V dla podkre±lenia,»e uzyskuje si go z grafu G poprzez usuni cie wierzchoªków V i wszystkich kraw dzi incydentnych do nich. Je»eli V = {v}, to piszemy krótko G v. v 5 v 5 v 1 v 4 v 1 v 4 v 1 v 4 v 1 v 4 G G 1 G 2 Rysunek 7.5: Grafy G 1, G 2 i G 3 s podgrafami grafu G; G 1 jest podgrafem rozpi tym G; G 2 jest podgrafem indukowanym G (G 2 = G [{v 1,v 2,v 3,v 4 }]). Denicja 7.15 (Podgrafem indukowany kraw dziowo). Je»eli Ê jest niepustym podzbiorem kraw dzi grafu G = (V,E) (t.j. Ê E i Ê ) to podgraf grafu G, którego zbiór wierzchoªków stanowi ko«ce kraw dzi z Ê a zbiorem kraw dzi jest Ê nazywamy podgrafem indukowanym kraw dziowo przez Ê i oznaczamy przez G[Ê]. Analogicznie jak dla wierzchoªków, rozpi ty podgraf grafu G o zbiorze kraw dzi E Ê (czyli podgraf grafu G otrzymany poprzez wyrzucenie kraw dzi z Ê) zapisywa b dziemy G 3
7.5. Przeliczanie grafów prostych 7 G Ê a gdy Ê = {e} u»ywa b dziemy oznaczenia G e. Zauwa»y tutaj nale»y,»e podgrafy indukowane G[E Ê] oraz G Ê mog si ró»ni zbiory wierzchoªków nie musz by takie same. Na Rysunku 7.5 przedstawiono ró»ne rodzaje podgrafów. 7.5. Przeliczanie grafów prostych Przykªad 7.4. (a) Poka»,»e je»eli graf G jest grafem prostym na zbiorze wierzchoªków {1,..., ν} o ε kraw dziach, to ε(g) ( ν 2). (b) Ile mo»na utworzy grafów prostych na zbiorze wierzchoªków {1,..., ν}, które maj dokªadnie ε kraw dzi? (c) Ile jest wszystkich grafów prostych na zbiorze wierzchoªków {1,..., ν}? Przykªad 7.5. Narysuj wszystkie nieizomorczne grafy proste o 5 wierzchoªkach i 5 kraw dziach. Denicja 7.16 (Graf dwudzielny). Grafem dwudzielnym nazywamy graf, którego zbiór wierzchoªków mo»e by podzielony na dwa niepuste podzbiory X oraz Y, takie,»e ka»da kraw d¹ ma jeden koniec w X a drugi w Y. Podziaª (X, Y ) nazywa b dziemy dwupodzia- ªem zbioru wierzchoªków. Inaczej mówi c:»adne dwa wierzchoªki nale» ce do tego samego zbioru dwupodziaªu nie s poª czone kraw dzi w grae dwudzielnym. W analogiczny sposób deniujemy graf k-dzielny. Peªny graf dwudzielny jest grafem prostym dwudzielnym z dwupodziaªem (X,Y ), w którym ka»dy wierzchoªek z X poª czony jest z ka»dym wierzchoªkiem z Y. Je»eli X = m, Y = n, to taki graf oznacza b dziemy K m,n. Przykªad 7.6. Ile wierzchoªków i ile kraw dzi ma graf peªny dwudzielny K n,m? Denicja 7.17 (k-kostka). Graf, którego wierzchoªki odpowiadaj k-elementowym ci gom zero-jedynkowym przy czym dwa wierzchoªki s przylegªe wtedy gdy odpowiadaj ce im ci gi ró»ni si dokªadnie na jednym miejscu nazywamy k-kostk i oznaczamy Q k. Przykªad 7.7. Poka»,»e k-kostka jest grafem dwudzielnym. Denicja 7.18 (Graf regularny). Graf G nazywamy k-regularnym je»eli ka»dy jego wierzchoªek ma stopie«k. Graf jest regularny, gdy jest k-regularny dla pewnego k. Grafy peªne s regularne: K n jest (n 1)-regularny, natomiast K n,n jest n-regularny. Graf pusty K c n jest 0-regularny. Przykªad 7.8. Poka»,»e k-kostka Q k jest grafem regularnym (k-regularnym). Wyznacz liczb wierzchoªków i kraw dzi k-kostki.
8 7. Podstawowe poj cia teorii grafów 7.6. Ci gi stopni Przykªad 7.9. Poka»,»e w±ród sze±ciu osób zawsze znajdziemy trójk, która zna si nawzajem lub trójk nieznanych sobie osób (przy zaªo»eniu,»e relacja zna jest symetryczna). Denicja 7.19 (Ci g graczny). Ci gi nieujemnych liczb caªkowitych, które s ci gami stopni wierzchoªków grafów prostych nazywa b dziemy gracznymi. Przykªad 7.10. Niech d = (d 1,d 2,...,d n ) b dzie nierosn cym ci giem nieujemnych liczb caªkowitych, a d = (d 2 1,d 3 1,...,d d1 +1 1,d d1 +2,...,d n ). (a) Poka»,»e d jest graczny wtedy i tylko wtedy gdy d jest graczny. (b) Na podstawie (a) opisz algorytm konstruowania grafu prostego z ci giem stopni d je»eli taki graf istnieje. (c) Korzystaj c z (a) i (b) zbuduj graf z ci giem stopni (6, 5, 5, 4, 4, 3, 2, 2, 1). Przykªad 7.11. Poka»,»e je»eli ci g d 1 d 2 d n jest graczny, to suma n i=1 d i jest parzysta oraz k d i k(k 1) + i=1 n j=k+1 min(k,d j ) dla 1 k n. 7.7. Szlaki, spacery, ±cie»ki, cykle, lasy Denicja 7.20 (Spacer, szlak, ±cie»ka). Spacerem w grae G nazywamy niezerowy ci g W = v 0 e 1 v 1 e 2,...,e k v k którego elementami s na przemian wierzchoªki i kraw dzie, taki,»e dla 1 i k wierzchoªki v i 1 i v i s ko«cami kraw dzi e i. Mówimy,»e W jest spacerem od v 0 do v k lub (v 0,v k )-spacerem. Wierzchoªek v 0 nazywamy wierzchoªkiem pocz tkowym a v k wierzchoªkiem ko«cowym; v 1,...,v k 1 s wierzchoªkami wewn trznymi (v 0,v k )-spaceru. Liczb kraw dzi k nazywamy dªugo±ci spaceru W. Je»eli w spacerze W kraw dzie e 1, e 2,..., e k s ró»ne to W nazywa b dziemy szlakiem. Je»eli dodatkowo wszystkie wierzchoªki W s ró»ne to W nazywa b dziemy ±cie»k. Podci g ci gu W zaczynaj cy si od v i a ko«cz cy na v j jest (v i,v j )-segmentem spaceru W. Je»eli W jest (v 0,v k )-spacerem, W jest (v k,v l )-spacerem, to dodaj c te ci gi otrzyma mo»emy (v 0, v l )-spacer WW. Przez W 1 oznacza b dziemy (v k,v 0 )-spacer b d cy odwróceniem spaceru W. W grae prostym (kraw dzie s jednoznacznie wyznaczone przez swoje ko«ce) spacer jest okre±lony ci giem samych wierzchoªków przy czym kolejne dwa wierzchoªki musz by przylegªe. Cz sto b dziemy stosowa ci g wierzchoªków równie» w dowolnym grae. Szlak, dla którego v 0 = v k, nazywamy domkni tym szlakiem. Domkni t ±cie»k nazywa natomiast b dziemy cyklem. Twierdzenie 7.2. Graf jest dwudzielny wtedy i tylko wtedy, gdy nie zawiera»adnego cyklu nieparzystego.