Grafy i grafy skierowane. Izomor…zmy grafów
Rozwa·zmy rysunki
1. Schemat mostów na rzece Pregole w Królewcu
2. Drzewo prawdopodobie´nstwa przy rzucie monet ¾a
3. Schemat organizacyjny …rmy 4. Odleg÷o´sci drogowe mi ¾edzy miastami Powy·zsze rysunki ilustruj ¾a zwi ¾azki mi ¾edzy pewnymi obiektami. Obiekty s ¾a w nich oz- naczone (na ogó÷) jako punkty, za´s fakt istnienia zwi ¾azku jest zaznaczony istnieniem linii
÷¾acz ¾acej dane punkty. Dodatkowo, na rysunku 3, wida´c ·ze zwi ¾azki mi ¾edzy obiektami mog ¾a mie´c charakter jednostronny (skierowany), za´s na rysunku 4, zwi ¾azki te s ¾a opatrzone pewnymi warto´sciami liczbowymi (wagami). Rozwa·zane schematy s ¾a przyk÷adami grafów.
Spróbujemy sformu÷owa´c precyzyjn ¾a de…nicj ¾e grafu. Niew ¾atpliwie graf powinien zaw- iera´c punkty, które b ¾edziemy nazywa´c wierzcho÷kami. W sk÷ad grafu powinny te·z wchodzi´c po÷¾aczenia wierzcho÷ków, które nazwiemy kraw ¾edziami. De…nicja powinna by´c na tyle ogólna, aby mo·zna ni ¾a obj ¾a´c jak najwi ¾eksz ¾a liczb ¾e sensownych przypadków. Nie powinni´smy wi ¾ec rozwa·za´c charakteru wierzcho÷ków (ich budowy wewn ¾etrznej), ale traktowa´c jako elementy abstrakcyjnego zbioru. Z kolei w kraw¾edziach interesuje nas jedynie to jakie wierzcho÷ki dana kraw¾ed´z ÷¾aczy (i ewentualnie kierunek po÷¾aczenia lub jego waga). W tej sytuacji najprostszym rozwi ¾azaniem wydaje si ¾e zde…niowanie kraw¾edzi ÷¾acz ¾acej wierzcho÷ki a; b jako:
zbioru fa; bg w przypadku "bez strza÷ek", pary (a; b) w przypadku "ze strza÷kami".
1
Podane uj ¾ecie prowadzi do de…nicji
Grafu nieskierowanego jako pary G = (V; E), gdzie V 6= ; oraz E ffa; bg ; a; b 2 V g, Grafu skierowanego jako pary G = (V; E), gdzie V 6= ; oraz E V V.
Takie de…nicje mo·zna znale´z´c w wielu ksi ¾a·zkach z teorii grafów. Zauwa·zmy, ·ze dla grafu skierowanego podana de…nicja jest niemal identyczna z de…nic ¾a relacji dwuargumentowej w zbiorze V :
relacja = E = zbiór kraw ¾edzi, dziedzina relacji = V = zbiór wierzcho÷ków.
Podane de…nicje maj ¾a jednak wad ¾e. Nie obejmuj ¾a przypadku, w którym istniej ¾a wierzcho÷ki po÷¾aczone kilkoma ró·znymi kraw¾edziami. Przyk÷adowo, w gra…e mostów królewieckich jedn ¾a z wysp ÷¾acz ¾a z brzegami po dwa mosty. Konieczno´s´c rozró·znienia kraw¾edzi ÷¾acz ¾acych te same wierzcho÷ki zmusza nas do zrezygnowania z wygodnego uto·zsamienia kraw¾edzi ze zbiorem (lub par ¾a) jej ko´nców i przyj ¾ecia, ·ze kraw¾edzie nale·z ¾a równie·z do abstrakcyjnego zbioru E. W tej sytuacji musimy jednak okre´sli´c zwi ¾azek mi ¾edzy wierzcho÷kami i kraw¾edziami, czyli ustali´c, które wierzcho÷ki s ¾a ko´ncami danej kraw¾edzi. Skoncentrujmy nasze rozwa·zania na grafach nieskierowanych. B ¾edziemy potrzebowa´c funkcji : E ! ffa; bg ; a; b 2 V g. Dla kraw¾edzi k warto´s´c (k) b ¾edzie zbiorem ko´nców tej kraw¾edzi. Mo·zemy zatem poda´c formaln ¾a de…nicj ¾e.
Grafemlub grafem nieskierowanym nazywamy trójk¾e G = (V; E; ), gdzie V = VG jest zbiorem niepustym, E = EG dowolnym zbiorem, za´s funkcj ¾a : E ! ffa; bg ; a; b 2 V g.
Elementy zbioru V nazywamy wierzcho÷kami lub w ¾ez÷ami grafu, za´s elementy zbioru E jego kraw ¾edziami. Je·zeli (k) =fa; bg, to wierzcho÷ki a; b nazywamy ko´ncami kraw¾edzi k.
Mówimy wtedy, ·ze kraw¾ed´z k ÷¾aczyte wierzcho÷ki oraz ·ze wierzcho÷ki a; b s ¾a incydentne z k.
Wierzcho÷ki po÷¾aczone kraw¾edzi ¾a nazywamy s ¾asiednimi. Je·zeli wierzcho÷ek nie jest ko´ncem zadnej kraw¾· edzi, to mówimy, ·ze jest izolowany. Je·zeli k i l s ¾a ró·znymi kraw¾edziami ÷¾acz ¾a- cymi te same wierzcho÷ki (tzn. (k) = (l)), to kraw¾edzie te nazywamy wielokrotnymi.
Kraw¾ed´z, która ma tylko jeden koniec ( (k) = fag) nazywamy p ¾etl ¾a. Graf bez kraw¾edzi wielokrotnych i p ¾etli nazywamy grafem prostym.
Cwiczenie 1.´ W poni·zszym gra…e wskaza´c kraw ¾edzie wielokrotne, p ¾etle i wierzcho÷ki izolowane.
Okre´sli´c jakie wierzcho÷ki s ¾a s ¾asiednie z a, jakie s ¾a incydentne z k5 oraz znale´z´c kraw ¾edzie z którymi incydentny jest wierzcho÷ek b.
Je´sli k jest kraw¾edzi ¾a o ko´ncach a i b, czyli tak ¾a, ·ze (k) =fa; bg, to b ¾edziemy pisa´c k = ab lub k = fa; bg. Tak wi¾ec symbolem ab (fa; bg) b ¾edziemy oznacza´c ka·zd ¾a kraw¾ed´z o ko´ncach a i b. W grafach bez kraw¾edzi wielokrotnych, kraw¾ed´z ab jest wyznaczona jednoznacznie.
Zwró´cmy jeszcze uwag ¾e na niejednoznaczno´s´c terminologii dotycz ¾acej grafów. W niektórych ksi ¾a·zkach termin graf oznacza graf bez kraw ¾edzi wielokrotnych lub graf prosty, natomiast to co my nazywamy grafem, wyst ¾epuje jako jako multigraf.
Stopniem wierzcho÷kaa w gra…e nazywamy liczb ¾e deg a równ ¾a ilo´sci kraw¾edzi, których ko´ncem jest a powi ¾ekszon ¾a o ilo´s´c p ¾etli, których ko´ncem jest a (zliczamy ile kraw¾edzi "wychodzi"
z a). Formalnie
deg a =jfk; a 2 (k)gj + jfk; fag = (k)gj :
Cwiczenie 2.´ Obliczy´c stopnie wierzcho÷ków grafu z poprzedniego ´cwiczenia.
W de…nicji grafu nie ma ·zadnych ogranicze´n dotycz ¾acych mocy zbiorów V i E (oprócz V 6= ;). Niektóre wyniki da si¾e udowodni´c w tak ogólnym przypadku. Nas jednak b ¾ed ¾a interesowa´c tylko grafy sko´nczone.
Uwaga 1. Od tego momentu zak÷adamy, ·ze, wszystkie rozwa·zane grafy s ¾a sko´nczone, tzn. maj ¾a sko´nczon ¾a liczb ¾e wierzcho÷ków i kraw ¾edzi.
Twierdzenie 1 (Lemat o u´sciskach d÷oni). W dowolnym gra…e X
a2VG
deg a = 2jEGj :
Dowód. Obliczaj ¾ac sum ¾e stopni wszystkich wierzcho÷ków liczymy kraw¾edzie wychodz ¾ace z tych wierzcho÷ków. Kraw¾ed´z ÷¾acz ¾ac ¾a ró·zne wierzcho÷ki liczymy dwukrotnie (przy obu ko´n- cach). P¾etl ¾e te·z liczymy dwa razy (przy jednym ko´ncu). Wynika st ¾ad teza twierdzenia.
Wniosek 1. W dowolnym gra…e liczba wierzcho÷ków stopnia nieparzystego jest parzysta.
Cwiczenie 3.´ Grupa studentów sk÷ada si ¾e z 25 osób. Czy jest mo·zliwe, aby ka·zda osoba przyja´zni÷a si ¾e z dok÷adnie pi ¾ecioma innymi?
Cwiczenie 4.´ Udowodni´c, ·ze w grupie sze´sciu osób zawsze istniej ¾a trzy osoby znaj ¾ace si ¾e nawzajem lub trzy osoby wzajemnie sobie nieznajome.
Cwiczenie 5.´ Pokaza´c, ·ze w grupie n 2 osób istniej ¾a zawsze dwie maj ¾ace tyle samo znajomych. Sformu÷owa´c zadanie w j ¾ezyku teorii grafów.
Cwiczenie 6.´ Sprawdzi´c czy poni·zsze ci ¾agi s ¾a ci ¾agami liczb wierzcho÷ków kolejnych stopni w gra…e (si oznacza ilo´s´c wierzcho÷ków stopnia i). Narysowa´c odpowiednie grafy.
(1) (s0; s1; s2; s3; s4; s5) = (0; 3; 2; 2; 2; 1) (2) (s0; s1; s2; s3; s4; s5) = (0; 3; 2; 1; 2; 1)
Cwiczenie 7.´ Niech (s0; s1; : : : ; sn) b ¾edzie ci ¾agiem liczb ca÷kowitych nieujemnych. Udowod- ni´c, ·ze nast ¾epuj ¾ace warunki s ¾a równowa·zne:
(1) (s0; s1; : : : ; sn) jest ci ¾agiem liczb wierzcho÷ków kolejnych stopni w pewnym gra…e.
(2) Pn i=0
isi jest liczb ¾a parzyst ¾a.
(3) P
isi - niep.
isi jest liczb ¾a parzyst ¾a
(4) jfi; isi jest nieparzystegj jest liczb ¾a parzyst ¾a.
Cwiczenie 8´ (Twierdzenie Turana). Pokaza´c, ·ze je·zeli G jest grafem prostym bez trójk ¾atów takim, ·ze jVGj = 2n, to jEGj n2.
Zgodnie z de…nicj ¾a, poni·zsze rysunki przedstawiaj ¾a ten sam graf
Je´sli natomiast przyjmiemy, ·ze ró·zne litery oznaczaj ¾a ró·zne wierzcho÷ki, to grafy
s ¾a ró·zne, bo maj ¾a ró·zne zbiory wierzcho÷ków. W wielu sytuacjach wygodne jest uto·zsamianie tych grafów, bo maj ¾a "tak ¾a sam ¾a struktur ¾e" - tyle samo wierzcho÷ków po÷¾aczonych w ten sam sposób kraw¾edziami. Sformu÷ujemy kryterium pozwalaj ¾ace rozstrzyga´c, czy grafy maj ¾a
"tak ¾a sam ¾a struktur ¾e".
Izomor…zmem grafów G i H nazywamy par ¾e ( ; ) bijekcji : VG! VH, : EG! EH takich, ·ze dla dowolnych wierzcho÷ków a; b 2 VG i dowolnej kraw¾edzi k 2 EG zachodzi (IN) k ÷¾aczy a i b () (k) ÷¾aczy (a) i (b) :
Mówimy wtedy, ·ze G jest izomor…czny z H i piszemy G ' H.
W÷asno´s´c 1. Dla dowolnych grafów G; H; K (1) G ' G.
(2) Je·zeli G ' H, to H ' G.
(3) Je·zeli G ' H i H ' K, to G ' K.
Cwiczenie 9.´ Udowodni´c w÷asno´s´c 1.
Z w÷asno´sci 1 wynika, ·ze w dowolnej rodzinie grafów, relacja izomor…czno´sci jest równowa·zno´s- ci ¾a. Pozwala to mówi´c, ·ze grafy s ¾a izomor…czne, bez zaznaczania który jest izomor…czny z którym.
Niech k i l b ¾ed ¾a ró·znymi kraw¾edziami wielokrotnymi o tych samych ko´ncach a i b. Wów- czas (k) 6= (l) oraz ko´ncami tych kraw¾edzi s ¾a (a) i (b). Zatem (k) i (l) te·z s ¾a ró·znymi kraw¾edziami wielokrotnymi. Oznacza to, ·ze izomor…zm przekszta÷ca graf z kraw¾edzi- ami wielokrotnymi na graf z kraw¾edziami wielokrotnymi i w konsekwencji graf izomor…czny do grafu bez kraw¾edzi wielokrotnych, te·z nie ma kraw¾edzi wielokrotnych.
Niech ( ; ) : G ! H b ¾edzie izomor…zmem grafów bez kraw¾edzi wielokrotnych. We´zmy dowoln ¾a kraw¾ed´z k 2 EG i oznaczmy jej ko´nce przez a i b. Wtedy (k) ÷¾aczy wierzcho÷ki (a)i (b). Poniewa·z w gra…e bez kraw¾edzi wielokrotnych istnieje co najwy·zej jedna kraw¾ed´z
÷¾acz ¾aca ustalone wierzcho÷ki, wi ¾ec warto´s´c (k) jest jednoznacznie wyznaczona przez (a) i
(b). Zatem funkcja wyznacza jednoznacznie funkcj ¾e . Powy·zsza uwaga pozwala ÷atwo udowodni´c nast ¾epuj ¾ac ¾a w÷asno´s´c.
W÷asno´s´c 2. Grafy bez kraw ¾edzi wielokrotnych G; H s ¾a izomor…czne wtedy i tylko wtedy, gdy istnieje bijekcja : VG! VH taka, ·ze dla dowolnych wierzcho÷ków a; b 2 VG zachodzi
(IN’) a i b s ¾a s ¾asiednie () (a) i (b) s ¾a s ¾asiednie.
Korzystaj ¾ac z w÷asno´sci 2 mo·zna przyj ¾a´c, ·ze izomor…zmem mi ¾edzy grafami bez kraw¾edzi wielokrotnych jest bijekcja spe÷niaj ¾aca (IN’). Oczywista jest równie·z
W÷asno´s´c 3. Je·zeli G = (V; E; ) jest grafem bez kraw ¾edzi wielokrotnych oraz E0 = (E), to G0 = (V; E0; idE0) jest grafem izomor…cznym z G.
Teoria grafów zajmuje si ¾e na ogó÷badaniem struktury grafów. Pozwala to uto·zsamia´c grafy izomor…czne (bo je·zeli rozwa·zana w÷asno´s´c zachodzi dla jednego grafu, to zachodzi te·z dla grafów z nim izomor…cznych). Z w÷asno´sci 3 wynika, ·ze graf G bez kraw¾edzi wielokrotnych mo·ze by´c uto·zsamiany (jest izomor…czny) z grafem G0o tych samych wierzcho÷kach i takim, ·ze E0 ffa; bg ; a; b 2 V0g oraz 0 = idE0. "Zapominaj ¾ac" o funkcji identyczno´sciowej, mo·zemy wi ¾ec de…niowa´c taki graf jako par ¾e (V0; E0).
Cwiczenie 10.´ Udowodni´c w÷asno´sci 2 i 3.
Cwiczenie 11.´ Udowodni´c, ·ze poni·zsze grafy s ¾a izomor…czne
Aby pokaza´c, ·ze grafy s ¾a izomor…czne wystarczy wskaza´c izomor…zm. Pokazanie "z de…nicji", ze grafy nie s ¾· a izomor…czne jest bardziej k÷opotliwe. Dlatego nieizomor…czno´sci grafów dowodzi si ¾e, na ogó÷, przez wskazanie, ·ze jeden z nich ma w÷asno´s´c, której nie ma drugi.
Rozwa·zana w÷asno´s´c musi by´c przy tym niezmiennikiem izomor…zmu, tzn. je´sli ma j ¾a pewien graf, to maj ¾a j ¾a równie·z wszystkie grafy z nim izomor…czne.
Poniewa·z i s ¾a bijekcjami, wi ¾ec niezmiennikiem izomor…zmu jest liczba wierzcho÷ków grafu, a tak·ze liczba kraw¾edzi grafu. Aby uzyska´c ciekawsze niezmienniki rozwa·zymy zbiór Eab z÷o·zony ze wszystkich kraw¾edzi ÷¾acz ¾acych ustalone wierzcho÷ki a; b grafu. Z de…nicji stopnia wierzcho÷ka wynika natychmiast
W÷asno´s´c 4. Dla dowolnego wierzcho÷ka a grafu G zachodzi równo´s´c deg a = [
v2VG
Eav +jEaaj :
W÷asno´s´c 5. Niech ( ; ) : G ! H b ¾edzie izomor…zmem grafów. Dla dowolnych wierz- cho÷ków a; b 2 VG zachodzi
(1) (Eab) = E (a) (b): (2) jEabj = E (a) (b) : (3) deg a = deg (a) :
Dowód. We´zmy dowoln ¾a kraw¾ed´z l 2 EH. Poniewa·z jest bijekcj ¾a, wi ¾ec istnieje kraw¾ed´z k 2 EG taka, ·ze (k) = l. Mamy przy tym
(k) 2 (Eab)ró ·() k 2 Eznow. ab () a; b - ko´nce k ()(IN) () (a) ; (b) - ko´nce (k)() (k) 2 E (a) (b)
Dowodzi to warunku (1). Poniewa·z jest bijekcj ¾a, wi ¾ec (2) wynika z (1). Z kolei z równo´sci [
v2VG
Eav
!
= [
v2VG
(Eav) = [
v2VG
E (a) (v) = [
w2VH
E (a)w dostajemy, korzystaj ¾ac z w÷asno´sci 4,
deg a = [
v2VG
Eav +jEaaj = [
v2VG
Eav
!
+j (Eaa)j =
= [
w2VH
E (a)w + E (a) (a) = deg (a) :
Twierdzenie 2. Niech m 2 N [ f0g. Nast ¾epuj ¾ace w÷asno´sci s ¾a niezmiennikami izomor…zmu grafów.
(1) Liczba wierzcho÷ków.
(2) Liczba kraw ¾edzi.
(3) Liczba wierzcho÷ków stopnia m.
(4) Liczba par wierzcho÷ków po÷¾aczonych m kraw ¾edziami.
(5) Liczba p ¾etli m-krotnych.
Dowód. Niech ( ; ) : G ! H b ¾edzie izomor…zmem grafów. Poniewa·z ; s ¾a bijekcjami wi ¾ec jVHjna=j (VG)jró ·znow.= jVGj ;
jEHj=naj (EG)jró ·znow.= jEGj ; czyli zachodz ¾a warunki (1) i (2).
Oznaczmy przez A zbiór wszystkich wierzcho÷ków stopnia m w G, za´s przez B zbiór wszys- tkich wierzcho÷ków stopnia m w H. Z w÷asno´sci 5.3 wynika, ·ze (A) B. We´zmy dowolny wierzcho÷ek b 2 B. Poniewa·z jest bijekcj ¾a, wi ¾ec b = (a), gdzie a 2 G. St ¾ad na podstawie w÷asno´sci 5.3
deg a = deg (a) = deg b = m:
Zatem a 2 A i w konsekwencji b = (a) 2 (A). Dowodzi to inkluzji B (A). Ostatecznie B = (A), czyli
jBj = j (A)j = jAj ;
co ko´nczy to dowód (3). Dowody w÷asno´sci (4) i (5) pozostawiamy jako ´cwiczenie.
Cwiczenie 12.´ Udowodni´c w÷asno´sci (4) i (5) z poprzedniego twierdzenia.
Mo·zliwo´s´c uto·zsamiania grafów izomor…cznych pozwala, w przypadku wi ¾ekszo´sci rozwa·za´n, pomija´c nazwy wierzcho÷ków, nazwy kraw¾edzi, a nawet jedne i drugie. Graf mo·zemy wi ¾ec, w zale·zno´sci od potrzeb, zapisa´c w postaci
Cwiczenie 13.´ Sprawdzi´c, które z poni·zszych grafów s ¾a izomor…czne
Cwiczenie 14.´ Narysowa´c wszystkie (z dok÷adno´sci ¾a do izomor…zmu) (1) Grafy o 3 wierzcho÷kach i 3 kraw ¾edziach.
(2) Grafy proste o 4 wierzcho÷kach i 4 kraw ¾edziach.
Cwiczenie 15.´ Znale´z´c wszystkie nieizomor…czne grafy, których ci ¾ag liczb wierzcho÷ków kole- jnych stopni jest równy (0; 3) ; (0; 4) ; (0; 0; 3) ; (0; 0; 4).
Podamy teraz kilka przyk÷adów. Grafem pustym nazywamy graf, który nie ma kraw¾edzi.
Graf pusty o n wierzcho÷kach oznaczamy Nn. Poniewa·z dowolne dwa grafy puste o n wierz- cho÷kach s ¾a izomor…czne, wi ¾ec oznaczenie to ma sens.
Grafem pe÷nym lub klik ¾a nazywamy graf prosty, którego dowolne, ró·zne wierzcho÷ki s ¾a po÷¾aczone kraw¾edzi ¾a. Graf pe÷ny o n wierzcho÷kach oznaczamy Kn.
Cwiczenie 16.´ Obliczy´c liczb ¾e kraw ¾edzi grafu Kn.
Grafami plato´nskimi nazywamy grafy wielo´scianów foremnych, tzn. 4; 6; 8; 12 i 20-
´scianu.
Graf czworo´scianu (K4) Graf sze´scianu Graf o´smio´scianu
Graf dwunasto´scianu Graf dwudziesto´scianu
Inne interesuj ¾ace grafy
Graf Petersena Graf Grötzscha
Grafem regularnymnazywamy graf, którego wszystkie wierzcho÷ki maj ¾a ten sam stopie´n.
Je·zeli wszystkie wierzcho÷ki maj ¾a stopie´n r, to mówimy, ·ze graf jest regularny stopnia r lub r-regularny. Grafy regularne stopnia 3 nazywamy kubicznymi. Grafem kubicznym jest np. graf Petersena oraz grafy czwor´scianu, sze´scianu i dwunasto´scianu. Graf o´smio´scianu jest 4-regularny, a graf dwudziesto´scianu - 5-regularny. Grafy puste s ¾a 0-regularne, za´s graf pe÷ny Kn jest regularny stopnia n 1.
Mówimy, ·ze G jest grafem dwudzielnym je·zeli istniej ¾a roz÷¾aczne i niepuste zbiory wierz- cho÷ków A, B takie, ·ze VG = A[ B oraz dowolna kraw¾ed´z w gra…e ÷¾aczy wierzcho÷ek ze zbioru A z wierzcho÷kiem ze zbioru B. Pe÷nym grafem dwudzielnymnazywamy taki graf dwudzielny, w którym ka·zdy wierzcho÷ek z A jest po÷¾aczony dok÷adnie jedn ¾a kraw¾edzi ¾a z ka·zdym wierzcho÷kiem z B. Pe÷ny graf dwudzielny taki, ·ze jAj = n i jBj = m oznaczamy Kn;m.
Graf dwudzielny
K1;3 K2;3
Grafy, które nie s ¾a dwudzielne
Podgrafem grafu G = (V; E; ) nazywamy dowolny graf G0 = (V0; E0; 0) taki, ·ze V0
V; E0 E i 0 = jE0. Oznacza to, ·ze podgraf dostajemy z grafu usuwaj ¾ac z niego pewn ¾a
liczb ¾e wierzcho÷ków i kraw¾edzi w ten sposób, ·zeby by÷to nadal graf (nie mo·ze zosta´c kraw¾ed´z bez ko´nca). Szczególnie cz ¾esto w rozwa·zaniach pojawiaj ¾a si ¾e dwa rodzaje podgrafów.
Je·zeli E0 E, to symbolem G nE0 oznaczamy graf powsta÷y z G przez usuni ¾ecie wszystkich kraw¾edzi z E0 (wierzcho÷ki bez zmian), czyli
Gn E0 = (V; En E0; jE n E0) :
Je·zeli V0 $ V , to symbolem G n V0 oznaczamy graf powsta÷y z G przez usuni ¾ecie wszystkich wierzcho÷ków z V0 oraz wszystkich kraw¾edzi maj ¾acych cho´c jeden koniec w V0. Formalnie
Gn V0 = (V n V0; En E0; jE n E0) gdzie E0 =fk 2 E; (k) \ V0 6= ;g.
G Gn fk1; k2; k3g Gn fbg Gn fcg
Zajmiemy si ¾e teraz grafami skierowanymi. Pominiemy pewne szczegó÷y, gdy·z de…nicje i w÷asno´sci s ¾a bardzo podobne do omawianych dla grafów nieskierowanych.
Grafem skierowanym lub digrafem (directed graph) nazywamy trójk¾e G = (V; E; ), gdzie V = VG jest zbiorem niepustym, E = EG dowolnym zbiorem, za´s funkcj ¾a : E ! V V . Elementy zbioru V nazywamy wierzcho÷kamidigrafu, za´s elementy zbioru E jego kraw ¾edziami. Kraw¾edzie w gra…e skierowanym bywaj ¾a te·z nazywane ÷ukami.
Je·zeli (k) = (a; b), to mówimy, ·ze a jest pocz ¾atkiem, za´s b ko´ncem kraw¾edzi k oraz ·ze kraw¾ed´z k biegnie od a do b. Gra…cznie b ¾edziemy to oznacza´c strza÷k ¾a w kierunku ko´nca kraw¾edzi. Je·zeli wierzcho÷ek nie jest pocz ¾atkiem ani ko´ncem ·zadnej kraw¾edzi, to mówimy, ·ze jest izolowany. Kraw¾ed´z, która ma taki sam pocz ¾atek i koniec ( (k) = (a; a)) nazywamy p ¾etl ¾a. Je·zeli k i l s ¾a ró·znymi kraw¾edziami o tym samym pocz ¾atku i tym samym ko´ncu (tzn.
(k) = (l)), to kraw¾edzie te nazywamy wielokrotnymi. Zauwa·zmy, ·ze w gra…e
k1i k2 s ¾a kraw¾edziami wielokrotnymi, za´s k3nie jest. Graf skierowany bez kraw¾edzi wielokrot- nych i p ¾etli nazywamy digrafem prostym. Podobnie jak w przypadku grafów nieskierowanych, ka·zd ¾a kraw¾ed´z k o pocz ¾atku a i ko´ncu b (czyli tak ¾a, ·ze (k) = (a; b)) b ¾edziemy oznacza´c jako ab lub (a; b).
Stopniem wej´sciowym wierzcho÷ka a nazywamy liczb ¾e indeg a równ ¾a ilo´sci wszystkich kraw¾edzi, których ko´ncem jest a (wchodz ¾acych do a), za´s stopniem wyj´sciowym liczb ¾e
outdeg a równ ¾a ilo´sci wszystkich kraw¾edzi, których pocz ¾atkiem jest a (wychodz ¾acych z a).
Liczb ¾e
deg a = indeg a + outdeg a nazywamy stopniem wierzcho÷kaa.
Cwiczenie 17.´ Obliczy´c stopnie wej´sciowe i wyj´sciowe wierzcho÷ków grafu
Podgraf grafu skierowanego de…nujemy tak samo jak dla grafu nieskierowanego, tzn. pod- grafem (skierowanym) digrafu G = (V; E; ) nazywamy dowolny digraf G0 = (V0; E0; 0) taki, ·ze V0 V; E0 E i 0 = jE0.
Uwaga 2. W dalszej cz ¾e´sci wyk÷adu termin graf b ¾edzie u·zywany w dwojaki sposób. W sensie w ¾e·zszym, czyli zgodnie z de…nicj ¾a "graf"="graf nieskierowany". W sensie szerszym
"graf"="graf nieskerowany lub skierowany". Nie powinno to prowadzi´c do nieporozumie´n, gdy·z z kontekstu b ¾edzie wynika´c o co chodzi.
Powiemy jeszcze o przekszta÷caniu grafu skierowanego w nieskierowany i na odwrót. Niech G = (V; E; ) b ¾edzie grafem skierowanym. Z digrafu G mo·zna utworzy´c graf nieskierowany GN przez "usuni ¾ecie strza÷ek z kraw¾edzi"
Formalnie, GN = (V; E; N), gdzie dla kraw¾edzi k o pocz ¾atku a i ko´ncu b, tj. takiej, ·ze (k) = (a; b) przyjmujemy
N(k) =fa; bg .
Graf GN nazywamy szkieletem lub wersj ¾a nieskierowan ¾a digrafu G.
Za÷ó·zmy teraz, ·ze G = (V; E; ) jest grafem nieskierowanym. Z grafu G tworzymy digraf GS zostawiaj ¾ac p ¾etle i zast ¾epuj ¾ac ka·zd ¾a z kraw¾edzi ÷¾acz ¾acych ró·zne wierzcho÷ki, par ¾a kraw¾edzi przeciwnie skierowanych.
Digraf GS nazywamy wersj ¾a skierowan ¾a grafu G.
Cwiczenie 18.´ (1) Sformu÷owa´c formaln ¾a de…nicj ¾e skierowanej wersji grafu.
(2) Zbada´c zwi ¾azek mi ¾edzy stopniem wierzcho÷ka w digra…e G i jego szkielecie GN. (3) Zbada´c zwi ¾azek mi ¾edzy stopniem wierzcho÷ka w gra…e G i jego wersji skierowanej GS. (4) Zbada´c czy dla dowolnego digrafu G zachodzi G ' (GN)S.
(5) Zbada´c czy dla dowolnego grafu G zachodzi G ' (GS)N.
Podobnie jak w pzypadku grafów nieskierowanych b ¾edziemy zajmowa´c sie tylko di- grafami sko´nczonymi,czyli takimi, ·ze jV j + jEj < 1.
Lemat o u´sciskach d÷oni przyjmuje dla digrafów nast ¾epuj ¾ac ¾a posta´c
Twierdzenie 3 (Lemat o u´sciskach d÷oni). W dowolnym gra…e skierowanym X
a2VG
indeg a = X
a2VG
outdeg a =jEGj :
Izomor…zmem grafów skierowanych G i H nazywamy par ¾e ( ; ) bijekcji : VG! VH, : EG ! EH takich, ·ze dla dowolnych wierzcho÷ków a; b 2 VG i dowolnej kraw¾edzi k 2 EG (IS) k biegnie z a do b , (k) biegnie z (a) do (b) :
Mówimy wtedy, ·ze G jest izomor…czny z H i piszemy G ' H. Izomor…zmy digrafów maj ¾a podobne w÷asno´sci jak izomor…zmy grafów.
W÷asno´s´c 6. Dla dowolnych grafów skierowanych G; H; K (1) G ' G.
(2) Je·zeli G ' H, to H ' G.
(3) Je·zeli G ' H i H ' K, to G ' K.
W÷asno´s´c 7. Digrafy bez kraw ¾edzi wielokrotnych G; H s ¾a izomor…czne wtedy i tylko wtedy, gdy istnieje bijekcja : VG! VH taka, ·ze dla dowolnych wierzcho÷ków a; b 2 VG
(IS’) istnieje kraw ¾ed´z biegn ¾aca z a do b , istnieje kraw ¾ed´z biegn ¾aca z (a) do (b) . W÷asno´s´c 8. Je·zeli G = (V; E; ) jest digrafem bez kraw ¾edzi wielokrotnych oraz E0 = (E), to G0 = (V; E0; idE0) jest digrafem izomor…cznym z G.
W÷asno´s´c 8 pokazuje, ·ze digraf bez kraw¾edzi wielokrotnych G jest izomor…czny z digrafem G0 takim, ·ze E0 V V oraz 0 = idE0. Uto·zsamiaj ¾ac G z izomor…cznym digrafem G0
oraz pomijaj ¾ac funkcj ¾e identyczno´sciow ¾a stwierdzamy, ·ze digraf bez kraw¾edzi wielokrotnych mo·zna de…niowa´c jako par ¾e (V; E0) tak ¾a, ·ze E0 V V.
Cwiczenie 19.´ Udowodni´c w÷asno´sci 6 - 8.
Przypomnijmy jeszcze wspomniane wcze´sniej podobie´nstwo de…nicji digrafu (bez kraw¾edzi wielokrotnych) i relacji dwuargumentowej.
Cwiczenie 20.´ Niech V = f1; 2; 3; 4g. Narysowa´c grafy skierowane odpowiadaj ¾ace relacji równo´sci "=", mniejszo´sci "<" i podzielno´sci "j".
Uwaga 3. W dalszej cz ¾e´sci wyk÷adu b ¾edziemy czasem podawa´c de…nicje i twierdzenia równole- gle w dwóch wersjach (np. dla grafów i digrafów). W takiej sytuacji ró·znice b ¾ed ¾a umieszczone w nawiasach kwadratowych [ ].
Zrobimy teraz kilka uwag na temat zapisywania grafów w postaci analitycznej, dogodnej do przetwarzania. Niech G b ¾edzie grafem [grafem skierowanym]. Ustawmy wierzcho÷ki G w ci ¾ag (a1; a2; : : : ; an). Macierz ¾a s ¾asiedztwagrafu [digrafu] G nazywamy macierz M = [mij]i;j n, gdzie mij jest ilo´sci ¾a kraw¾edzi ÷¾acz ¾acych ai z aj [o pocz ¾atku ai oraz ko´ncu aj].
Cwiczenie 21.´ Znale´z´c macierze s ¾asiedztwa grafów
Macierz s ¾asiedztwa grafu nie jest wyznaczona jednoznacznie, bo zale·zy od sposobu ustaw- ienia wierzcho÷ków w ci ¾ag. Mo·zna sprawdzi´c, ·ze je´sli M jest macierz ¾a s ¾asiedztwa, to ka·zd ¾a inn ¾a macierz s ¾asiedztwa da si ¾e uzyska´c przez permutacj ¾e wierszy macierzy M , a nast ¾epnie tak ¾a sam ¾a permutacj ¾e kolumn.
Je·zeli ( ; ) : G ! H jest izomor…zmem grafów (skierowanych lub nieskierowanych) oraz VG = fa1; a2; : : : ; ang, to macierze s ¾asiedztwa odpowiadaj ¾ace ci ¾agom (a1; a2; : : : ; an) i ( (a1) ; (a2) ; : : : ; (an)) s ¾a równe. Oznacza to, ·ze w grafach izomor…cznych mo·zna tak ponumerowa´c wierzcho÷ki, aby dosta´c równe macierze s ¾asiedztwa. Oczywi´scie, równie·z na odwrót, grafy o równych macierzach s ¾asiedztwa s ¾a izomor…czne.
Cwiczenie 22.´ Pokaza´c, ·ze grafy [digrafy] s ¾a izomor…czne wtedy i tylko wtedy, gdy mo·zna tak ponumerowa´c ich wierzcho÷ki, by dosta´c równe macierze s ¾asiedztwa.
Z macierzy s ¾asiedztwa ÷atwo odczyta´c podstawowe w÷asno´sci grafu. W szczególno´sci mamy W÷asno´s´c 9. Niech G b ¾edzie grafem lub digrafem oraz M = [mij]i;j njego macierz ¾a s ¾asiedztwa.
(1) Je·zeli G jest grafem nieskierowanym, to macierz M jest symetryczna (M = MT).
(2) G nie ma kraw ¾edzi wielokrotnych , mij 1 dla wszystkich i; j.
(3) G nie ma p ¾etli , mii= 0 dla wszystkich i.
(4) Je·zeli G jest grafem skierowanym, to indeg ai =Pn
j=1mji oraz outdeg ai =Pn j=1mij. (5) Je·zeli G jest grafem nieskierowanym, to deg ai = mii+Pn
j=1mij = mii+Pn j=1mji.
Cwiczenie 23.´ Niech G b ¾edzie grafem o macierzy s ¾asiedztwa 2 66 64
1 2 3 1 2 0 1 2 1 0 2 3 0 2 1 0 3 77 75.
(1) Odpowiedzie´c na poni·zsze pytania bez rysowania grafu.
(a) Czy G jest grafem skierowanym, czy nieskierowanym?
(b) Ile wierzcho÷ków, kraw ¾edzi, kraw ¾edzi wielokrotnych oraz p ¾etli jest w G?
(c) Ile wynosi deg a1 (oraz ewentualnie indeg a1 i outdeg a1)?
(2) Narysowa´c G.
Reprezentacja grafu przy pomocy macierzy s ¾asiedztwa jest bardzo wygodna. Z punktu widzenia programisty ma jednak powa·zn ¾a wad ¾e. Zapisuj ¾ac graf w ten sposób musimy zarez- erwowa´c w pami ¾eci miejsce na tablic ¾e rozmiaru jVGj2. Jest to szczególnie niekorzystne gdy graf jest rzadki, tzn. jEGj jVGj2 (w macierzy s ¾asiedztwa jest du·zo zer). W takiej sytuacji zamiast macierzy s ¾asiedztwa, cz ¾esto stosuje si ¾e listy s ¾asiedztwa. Jest to tablica rozmiaru jVGj, w której ka·zdemu wierzcho÷kowi odpowiada lista wierzcho÷ków z nim s ¾asiednich. Dla grafu nieskierowanego z ´cwiczenia 21 mamy
[[2] ; [1; 2; 4; 5] ; [ ] ; [2; 5; 5; 5] ; [2; 4; 4; 4]] :
W gra…e skierowanym zamiast listy s ¾asiadów mo·zna wzi ¾a´c list ¾e nast ¾epników, czyli wierz- cho÷ków, do których biegn ¾a kraw¾edzie z danego wierzcho÷ka. Dla grafu skierowanego z
´cwiczenia 21 b ¾edzie to
[[2; 2; 3] ; [ ] ; [1; 2; 3; 3]] :
Jeszcze innym sposobem analitycznego przedstawienia grafu jest macierz incydencji. Ustaw- iamy wierzcho÷ki i kraw¾edzie grafu nieskierowanego w ci ¾agi (a1; a2; : : : ; an) i (k1; k2; : : : ; km).
Macierz ¾a incydencji grafu nazywamy macierz P = [pij]i n;j m, gdzie
pij =
( 1; ai jest ko´ncem kj; 0; ai nie jest ko´ncem kj: :
P = 2 64
1 1 1 0 0 1 1 1 1 0 0 0 0 1 1 3 75
Dla grafu skierowanego mo·zna wprowadzi´c dodatkow ¾a warto´s´c (np. 1) dla rozró·znienia pocz ¾atku i ko´nca kraw¾edzi.
1.
Cykle Eulera i Hamiltona
Na pierwszym wyk÷adzie pojawi÷si ¾e schemat mostów na rzece Pregole w Królewcu.
W roku 1736 Leonard Euler rozwi ¾aza÷problem dotycz ¾acy mo·zliwo´sci odbycia wycieczki, w której przechodzimy dok÷adnie jeden raz przez ka·zdy most i wracamy do punktu wyj´scia.
Wynik Eulera jest uwa·zany za pocz ¾atek teorii grafów.
Schemat mostów mo·zna zapisa´c w postaci grafu. Zadanie sprowadza si ¾e do znalezienia zamkni ¾etej ´scie·zki prostej zawieraj ¾acej wszystkie kraw¾edzie tego grafu.
Zamkni ¾et ¾a´scie·zk¾e prost ¾a zawieraj ¾ac ¾a wszystkie kraw¾edzie grafu nazywamy cyklem Eulera lub obwodem Eulera. Otwart ¾a ´scie·zk¾e prost ¾a zawieraj ¾ac ¾a wszystkie kraw¾edzie grafu nazy- wamy ´scie·zk ¾a Eulera. Graf posiadaj ¾acy cykl Eulera nazywamy grafem eulerowskim, za´s posiadaj ¾acy ´scie·zk¾e Eulera - grafem pó÷eulerowskim.
Uwaga 4. Nazwa cykl Eulera stanowi niekonsekwencj ¾e w stosunku do stosowanej na wyk÷adzie terminologii, bo cykl Eulera nie musi by´c cyklem (wierzcho÷ki mog ¾a si ¾e powtarza´c).
B ¾edziemy jednak u·zywa´c tego terminu, gdy·z jest powszechnie stosowany w literaturze.
Rozwa·zmy cykl Eulera t w gra…e G. Interesuje nas stopie´n pewnego wierzcho÷ka tego grafu.
Ka·zda kraw¾ed´z pojawia si ¾e w t dok÷adnie raz. Aby policzy´c stopie´n wierzcho÷ka, wystarczy znale´z´c wszystkie jego wyst ¾apienia w´scie·zce t i sprawdzi´c ile kraw¾edzi tam z nim s ¾asiaduje (do- puszczamy liczenie tej samej kraw¾edzi dwukrotnie w przypadku p ¾etli: : : : aka : : :). Poniewa·z jednak ´scie·zka t jest zamkni ¾eta, wi ¾ec ka·zdy wierzcho÷ek s ¾asiaduje z dwiema kraw¾edziami (p ¾etla dwa razy z t ¾a sam ¾a kraw¾edzi ¾a). Wynika st ¾ad, ·ze stopie´n dowolnego wierzcho÷ka jest parzysty.
ak1bk2dk3ek4f k5gk6ek7dk8ck9ck10a Udowodnili´smy
Twierdzenie 4. Wszystkie wierzcho÷ki grafu eulerowskiego maj ¾a stopie´n parzysty.
Twierdzenie 4 rozwi ¾azuje problem mostów królewieckich. Poniewa·z wszystkie wierzcho÷ki w tym gra…e maj ¾a stopie´n nieparzysty, wi ¾ec graf nie ma cyklu Eulera.
Udowodnili´smy, ·ze parzysto´s´c stopni wierzcho÷ków jest warunkiem koniecznym istnienia cyklu Eulera. Leonard Euler pokaza÷, ·ze dla grafów spójnych jest to równie·z warunek dostate- czny. Dowód tego twierdzenia przeprowadzimy wskazuj ¾ac algorytm znajduj ¾acy cykl Eulera przy podanych wy·zej za÷o·zeniach. B ¾edzie to algorytm Fleury’ego. Jego dzia÷anie polega na tym, ·ze startuj ¾ac z dowolnego wierzcho÷ka, idziemy dowoln ¾a drog ¾a dbaj ¾ac jedynie by:
po drodze usuwa´c kraw¾edzie, przez które przeszli´smy oraz wierzcho÷ki izolowane, przez mosty przechodzi´c tylko wtedy, gdy nie ma innej mo·zliwo´sci.
Dla grafu G oraz jego wierzcho÷ka a zde…niujmy procedur ¾e:
Fleury(G; a)
x := a % wierzcho÷ek, do którego doszli´smy buduj ¾ac ´scie·zk¾e d0 := a % ´scie·zka, któr ¾a zbudowali´smy
V0 := VG % wierzcho÷ki pozosta÷e do odwiedzenia E0 := EG % kraw¾edzie pozosta÷e do odwiedzenia while E0 6= ; do
znajd´z kraw¾ed´z k = xy 2 E0tak ¾a, ·ze G0nfkg jest spójny lub x jest izolowany w G0nfkg d0 := d0ky
E0 := E0n fkg
if x jest izolowany w G0 thenV0 := V0n fxg x := y
d := d0
Twierdzenie 5. Niech G b ¾edzie grafem spójnym, w którym wszystkie wierzcho÷ki maj ¾a stopie´n parzysty oraz a dowolnym wierzcho÷kiem G. Wynikiem dzia÷ania procedury Fleury(G; a) jest cykl Eulera d.
Dowód. Zak÷adamy, ·ze G jest grafem spójnym, w którym wszystkie wierzcho÷ki maj ¾a stopie´n parzysty. Udowodnimy kolejno kilka faktów. Je·zeli nie zaznaczymy inaczej, sformu÷owania b ¾ed ¾a dotyczy´c pocz ¾atku i ko´nca dowolnej iteracji.
(1) G0 = (V0; E0)jest grafem (ko´nce kraw¾edzi z E0 nale·z ¾a do V0).
Na wej´sciu mamy G0 = G, czyli (1) zachodzi. Warunek jest niezmiennikiem p ¾etli, bo usuni ¾ecie z G0 kraw¾edzi i wierzcho÷ka izolowanego nie psuje warunku (1).
(2) G0 jest spójny.
Na starcie mamy G0 = G, czyli spójno´s´c wynika z za÷o·zenia. Warunek jest niezmi- ennikiem p ¾etli, bo z G0 usuwamy albo kraw¾ed´z, która nie jest mostem, albo kraw¾ed´z wraz z ko´ncem, który jest li´sciem (porównaj wniosek ??).
(3) Je´sli x = a, to wszystkie wierzcho÷ki w G0 maj ¾a stopie´n parzysty.
(3’) Je´sli x 6= a, to x i a s ¾a jedynymi wierzcho÷kami stopnia nieparzystego w G0:
Na wej´sciu mamy x = a. Warunek (3) wynika z za÷o·zenia o parzysto´sci stopni wszystkich wierzcho÷ków, natomiast implikacja (3’) jest prawdziwa, bo ma fa÷szywy poprzednik. Udowodnimy teraz, ·ze koniunkcja warunków (3) i (3’) jest niezmiennikiem p ¾etli. W tym celu za÷ó·zmy, ·ze na pocz ¾atku p ¾etli oba warunki zachodz ¾a. Poka·zemy, ze warunki zachodz ¾· a na ko´ncu p ¾etli. Zauwa·zmy, ·ze jedynymi wierzcho÷kami, których stopie´n zmienia si ¾e w trakcie iteracji s ¾a x i y oraz ·ze x przyjmuje now ¾a warto´s´c x y.
Je´sli na pocz ¾atku x = a i usuwamy p ¾etl ¾e k = xx, to na ko´ncu mamy x = a (x x) oraz deg x = deg a jest o 2 mniejszy ni·z na pocz ¾atku, czyli parzysty.
Je´sli na pocz ¾atku x = a i usuwamy kraw¾ed´z k = xy, dla y 6= x, to na ko´ncu mamy x 6= a (x y). Stopie´n wierzcho÷ka a jest o 1 mniejszy ni·z na pocz ¾atku, czyli nieparzysty. Stopie´n wierzcho÷ka x jest o 1 mniejszy ni·z stopie´n wierzcho÷ka y na pocz ¾atku, czyli te·z nieparzysty.
Je´sli na pocz ¾atku x 6= a i usuwamy kraw¾ed´z k = xa, to na ko´ncu mamy x = a (x a) oraz stopie´n wierzcho÷ka a jest o 1 mniejszy ni·z na pocz ¾atku, czyli parzysty. "Stary" wierzcho÷ek x ma stopie´n o 1 mniejszy ni·z na pocz ¾atku, czyli równie·z parzysty. Zatem w G0 nie ma wierzcho÷ków stopnia nieparzystego.
Je´sli na pocz ¾atku x 6= a i usuwamy p ¾etl ¾e k = xx, to na ko´ncu mamy x 6= a (x x). Stopie´n wierzchka a jest nieparzysty (nie zmieni÷si ¾e). Stopie´n wierzcho÷ka x jest o 2 mniejszy ni·z na pocz ¾atku, czyli te·z nieparzysty.
Je´sli na pocz ¾atku x 6= a i usuwamy kraw¾ed´z k = xy, dla y =2 fa; xg, to na ko´ncu mamy x 6= a (x y). Stopie´n wierzcho÷ka a jest nieparzysty (nie zmieni÷si ¾e).
Stopie´n wierzcho÷ka x jest nieparzysty jako stopie´n wierzcho÷ka y zmniejszony o 1. Stopie´n "starego" wierzcho÷ka x te·z zmniejszy÷si ¾e o 1, czyli jest parzysty.
Ostatecznie jedynymi wierzcho÷kami stopnia nieparzystego s ¾a a i x.
Tak wi ¾ec koniunkcja warunków (3) i (3’) jest niezmiennikiem p ¾etli.
(4) Je´sli E0 6= ;, to mo·zna znale´z´c kraw¾ed´z k = xy 2 E0 tak ¾a, ·ze G0n fkg jest spójny lub x jest izolowany w G0n fkg.
Poniewa·z G0 jest spójny i niepusty, wi ¾ec degG0x > 0. Rozpatrzmy przypadki.
degG0x = 1.
Niech k = xy b ¾edzie jedyn ¾a kraw¾edzi ¾a w G0, której ko´ncem jest x. Wtedy x jest wierzcho÷kiem izolowanym w G0n fkg, czyli zachodzi (4).
degG0x > 1.
Poka·zemy, ·ze istnieje kraw¾ed´z k incydentna z x taka, ·ze G0n fkg jest spójny. W
tym celu wystarczy pokaza´c, ·ze w´sród kraw¾edzi incydentnych z x, jest co najwy·zej jeden most. Przypu´s´cmy nie wprost, ·ze istniej ¾a wierzcho÷ki y 6= z, dla których kraw¾edzie k = xy i l = xz s ¾a mostami.
W gra…e H = G0n fk; lg nie istnieje ´scie·zka ÷¾acz ¾aca y i z (w przeciwnym razie k i lnie by÷yby mostami). Wierzcho÷ek a nie mo·ze zatem nale·ze´c do obu sk÷adowych Hy i Hz jednocze´snie. Przyjmijmy, ·ze a =2 Hy (je´sli a =2 Hz, dowód jest podobny).
Z (3) i (3’) wynika, ·ze jedynymi wierzcho÷kami nieparzystego stopnia w G0 mog ¾a by´c a, x i w konsekwencji jedynymi wierzcho÷kami nieparzystego stopnia w H mog ¾a by´c a, x, y, z. Poniewa·z y 6= x i y 6= a wi¾ec degG0y jest liczb ¾a parzyst ¾a, czyli degHyjest liczb ¾a nieparzyst ¾a. Z drugiej strony a; x; z =2 Hy i w konsekwencji y jest jedynym wierzcho÷kiem nieparzystego stopnia w Hy. Jest to sprzeczne z Lematem o u´sciskach d÷oni. Otrzymana sprzeczno´s´c dowodzi, ·ze (4) zachodzi równie·z w tym przypadku.
(5) d0 jest poprawnie zde…niowan ¾a ´scie·zk ¾a o ko´ncu x.
Na wej´sciu mamy d0 = a = x, czyli d0 jest ´scie·zk ¾a trywialn ¾a o ko´ncu x. W p ¾etli do d0 dodajemy kraw¾ed´z k = xy i wierzcho÷ek y, czyli otrzymujemy ´scie·zk¾e o ko´ncu y. Poniewa·z w ostatniej instrukcji p ¾etli w x wstawiamy y, wi ¾ec warunek (5) jest niezmiennikiem p ¾etli.
(6) d0 jest ´scie·zk ¾a prost ¾a.
Na wej´sciu, czyli dla d0 = a, warunek (6) jest oczywisty. Poniewa·z kraw¾ed´z k dodawana do d0 jest wybierana spo´sród tych, które nie nale·z ¾a do d0, wi ¾ec (6) jest niezmiennikiem p ¾etli.
(7) Procedura zatrzyma si ¾e.
W ka·zdej iteracji usuwamy z E0 jedn ¾a kraw¾ed´z. Teza wynika wi ¾ec ze sko´nczono´sci EG.
(8) d jest cyklem Eulera.
Po wyj´sciu z p ¾etli mamy G0 = ;, czyli ´scie·zka prosta d = d0 zawiera wszystkie kraw¾edzie grafu G. Ponadto mamy wtedy degG0a = degG0x = 0. Z (3) i (3’) wnioskujemy wi ¾ec, ·ze x = a, czyli ´scie·zka d jest zamkni ¾eta.
Ko´nczy to dowód twierdzenia.
Natychmiastowym wnioskiem z udowodnionego twierdzenia oraz twierdzenia 4 jest za- powiedziana wcze´sniej charakteryzacja spójnych grafów eulerowskich.
Twierdzenie 6 (Eulera). Graf spójny posiada cykl Eulera wtedy i tylko wtedy, gdy wszystkie jego wierzcho÷ki s ¾a stopnia parzystego.
Uwaga 5. Spójno´s´c grafu nie jest warunkiem koniecznym istnienia cyklu Eulera. Graf mo·ze mie´c wierzcho÷ki izolowane, np.
Konieczne jest jednak by wszystkie kraw ¾edzie nale·za÷y do jednej sk÷adowej.
Twierdzenie 7. (1) Je·zeli w gra…e G istnieje´scie·zka Eulera ÷¾acz ¾aca wierzcho÷ki a i b, to a, b s ¾a jedynymi wierzcho÷kami stopnia nieparzystego.
(2) Je·zeli w gra…e spójnym G istniej ¾a dok÷adnie dwa wierzcho÷ki stopnia nieparzystego, to w G istnieje ´scie·zka Eulera ÷¾acz ¾aca te wierzcho÷ki.
Dowód. (1) Niech d = a : : : b b ¾edzie ´scie·zk ¾a Eulera. Dodaj ¾ac do grafu G kraw¾ed´z k = ab dostajemy graf G0 = G[ fkg posiadaj ¾acy cykl Eulera a : : : bka. Z twierdzenia 4 wynika, ·ze wszystkie wierzcho÷ki grafu G0 maj ¾a stopie´n parzysty. Zatem po usuni ¾eciu kraw¾edzi k, jej ko´nce a, b b ¾ed ¾a jedynymi wierzcho÷kami stopnia nieparzystego w G.
(2) Za÷ó·zmy, ·ze a i b s ¾a jedynymi wierzcho÷kami stopnia nieparzystego w gra…e spójnym G. Dodaj ¾ac do G kraw¾ed´z k = ab dostajemy graf G0 = G[fkg o wierzcho÷kach stopnia parzystego. Z twierdenia Eulera wynika istnienie cyklu Eulera w G0. Usuwaj ¾ac z niego kraw¾ed´z k dostajemy ´scie·zk¾e Eulera w G.
Stosuj ¾ac chwyt z dodaniem kraw¾edzi, mo·zna pokaza´c, ·ze algorytm Fleury’ego dzia÷a równie·z w grafach spójnych maj ¾acych dwa wierzcho÷ki stopnia nieparzystego. Nale·zy jedynie jako wierzcho÷ek startowy wybra´c jeden z tych wierzcho÷ków.
Twierdzenie 8. Niech G b ¾edzie grafem spójnym posiadaj ¾acym dwa wierzcho÷ki stopnia nieparzys- tego a i b. Wynikiem dzia÷ania procedury Fleury(G; a) jest ´scie·zka Eulera d ÷¾acz ¾aca a z b.
Cwiczenie 24.´ Udowodni´c ostatnie twierdzenie.
Cwiczenie 25.´ Sprawdzi´c czy poni·zsze …gury mo·zna narysowa´c bez odrywania pióra od kartki i bez rysowania ·zadnej linii dwukrotnie. Je·zeli mo·zna, to zaznaczy´c pocz ¾atek i ponumerowa´c linie w kolejno´sci rysowania.
1. 2. 3. 4. 5.
Cwiczenie 26.´ Czy mrówka mo·ze przej´s´c wzd÷u·z wszystkich kraw ¾edzi bry÷y A i wróci´c do punktu wyj´scia, nie przechodz ¾ac ·zadnej kraw ¾edzi dwa razy?
(1) A - czworo´scian, (2) A - sze´scian,
(3) A - o´smio´scian, (4) A - dwunasto´scian, (5) A - dwudziesto´scian.
Cwiczenie 27.´ Czy kostki domina mo·zna u÷o·zy´c w zamkni ¾et ¾a ÷aman ¾a, tak by s ¾asiednie kostki styka÷y si ¾e kwadratami o tych samych numerach?
Cwiczenie 28.´ Sprawdzi´c dla jakich warto´sci n; m 2 N poni·zsze grafy s ¾a eulerowskie lub pó÷eulerowskie.
(1) Graf pe÷ny Kn.
(2) Pe÷ny graf dwudzielny Knm.
Cwiczenie 29.´ Sprawdzi´c czy poni·zsze grafy s ¾a eulerowskie lub pó÷eulerowskie. Je·zeli s ¾a, to znale´z´c cykl Eulera lub ´scie·zk ¾e Eulera (wskaza´c pocz ¾atek i ponumerowa´c kraw ¾edzie).
1. 2. 3.
4. 5.
Cwiczenie 30.´ Czy mo·zna obej´s´c ca÷y dom przechodz ¾ac przez ka·zde drzwi dok÷adnie jeden raz? Jaka b ¾edzie odpowied´z, je´sli zamkniemy drzwi mi ¾edzy du·zymi pokojami?
Cwiczenie 31.´ (1) Czy mo·zliwe jest przej´scie szachownicy ruchem skoczka szachowego, tak by ka·zdy z mo·zliwych ruchów by÷wykonany dok÷adnie raz (w jednym lub drugim kierunku)?
(2) Rozwi ¾aza´c zadanie zast ¾epuj ¾ac szachownic ¾e rozmiaru 8 8, szachownic ¾a n n, n 2 N.
Cwiczenie 32.´ Niech G b ¾edzie d-regularnym grafem o 2d + 1 wierzcho÷kach. Pokaza´c, ·ze (1) je´sli G jest spójny, to jest eulerowski,
(2) je´sli G jest prosty, to jest eulerowski.
Zajmowali´smy si ¾e ´scie·zkami prostymi zawieraj ¾acymi wszystkie kraw¾edzie grafu. Rozwa·zmy teraz problem istnienia w gra…e zamkni ¾etej ´scie·zki prostej przechodz ¾acej dok÷adnie jeden raz przez ka·zdy wierzcho÷ek grafu. Pocz ¾atki problemu pochodz ¾a od "÷amigówki Hamiltona", tzn.
od rozwa·za´n sir Williama Hamiltona dotycz ¾acych istnienia takiej ´scie·zki w gra…e dwunasto´s- cianu (1856).
Cyklem Hamiltona w gra…e nazywamy cykl zawieraj ¾acy wszystkie wierzcho÷ki grafu.
Graf posiadaj ¾acy cykl Hamiltona nazywamy grafem hamiltonowskim. ´Scie·zk ¾a Hamil- tona nazywamy ´scie·zk¾e prost ¾a bez powtarzaj ¾acych si ¾e wierzcho÷ków zawieraj ¾ac ¾a wszystkie wierzcho÷ki grafu. Cykl Hamiltona jest, oczywi´scie, ´scie·zk ¾a Hamiltona. Zachodzi te·z
W÷asno´s´c 10. (1) Graf pe÷ny Kn jest hamiltonowski dla n 3.
(2) Dodanie kraw ¾edzi do grafu hamiltonowskiego daje graf hamiltonowski.
Rozstrzygni ¾ecie czy graf jest hamiltonowski jest o wiele trudniejsze ni·z sprawdzenie czy jest eulerowski. Nie znaleziono do tej pory sensownej charakteryzacji grafów hamiltonows- kich. Musimy wi ¾ec korzysta´c z wyników cz ¾e´sciowych. Zaczniemy od warunków koniecznych, które ze swojej istoty maj ¾a "charakter negatywny", tzn. s ¾a na ogó÷wykorzystywane w rozu- mowaniach typu
"Je´sli graf nie spe÷nia warunku, to nie jest hamiltonowski"
Je´sli d jest cyklem Hamiltona w gra…e G, to cykl ten ÷¾aczy wszystkie wierzcho÷ki grafu, czyli graf jest spójny. Ponadto dowolny wierzcho÷ek nale·zy do tego cyklu, czyli musi mie´c stopie´n 2. Z kolei, je·zeli stopie´n wierzcho÷ka wynosi dok÷adnie 2, to obie incydentne z nim kraw¾edzie musz ¾a nale·ze´c do cyklu d. Zachodzi zatem
W÷asno´s´c 11. (1) Dowolny graf hamiltonowski jest spójny.
(2) W gra…e hamiltonowskim wszystkie wierzcho÷ki maj ¾a stopie´n 2.
(3) W gra…e hamiltonowskim wszystkie kraw ¾edzie wychodz ¾ace z wierzcho÷ków stopnia 2 nale·z ¾a do cyklu Hamiltona.
Poni·zszy graf
nie jest hamiltonowski, bo ma wierzcho÷ek stopnia 1. Z kolei gdyby graf
posiada÷cykl Hamiltona, to cykl ten zawiera÷by wszystkie kraw¾edzie incydentne z wierz- cho÷kami stopnia 2, czyli mia÷by 6 kraw¾edzi. Jest to niemo·zliwe, bo cykl o 5 wierzcho÷kach ma 5 kraw¾edzi. W konsekwencji graf nie jest hamiltonowski.
Za÷ó·zmy, ·ze graf ma n 3 wierzcho÷ków. Wtedy ·zadna p ¾etla nie nale·zy do cyklu Hamil- tona. Ponadto, spo´sród kilku kraw¾edzi ÷¾acz ¾acych te same wierzcho÷ki, tylko jedna mo·ze nale·ze´c do cyklu Hamiltona. Wynika st ¾ad, ·ze w takim przypadku, usuni ¾ecie z grafu p ¾etli oraz kraw¾edzi wielokrotnych (poza jedn ¾a dla ka·zdej pary wierzcho÷ków) nie wp÷ywa na ist- nienie cyklu Hamiltona. Mamy zatem
W÷asno´s´c 12. Niech G b ¾edzie grafem o przynajmniej trzech wierzcho÷kach. Je·zeli graf G jest hamiltonowski, to hamiltonowski jest te·z graf powsta÷y przez usuni ¾ecie z G wszystkich p ¾etli oraz wszystkich kraw ¾edzi poza jedn ¾a dla ka·zdej pary wierzcho÷ków s ¾asiednich.
Znalezienie cyklu Hamiltona grafu po lewej stronie sprowadza si ¾e do znalezienia cyklu Hamiltona grafu po prawej stronie.
Cwiczenie 33.´ Sprawdzi´c, czy powy·zsze grafy s ¾a hamiltonowskie.
Kolejny warunek podamy w formie lu´znej uwagi, a nie formalnej w÷asno´sci. Cykl Hamiltona o n wierzcho÷kach ma n kraw¾edzi. Zauwa·zyli´smy jednak wy·zej, ·ze p ¾etle (gdy n > 1) i cz ¾e´s´c kraw¾edzi wielokrotnych nie wchodz ¾a do cyklu Hamiltona, czyli nie s ¾a to kraw¾edzie "istotne".
Podobnie wygl ¾ada sytucja w przypadku kraw¾edzi incydentnych z wierzcho÷kiem stopnia > 2.
Tylko dwie z tych kraw¾edzi mog ¾a si ¾e znale´z´c w cyklu Hamiltona, czyli wszystkie pozosta÷e nie s ¾a "istotne". Tak wi ¾ec
Graf hamiltonowski o n wierzcho÷kach powinien mie´c przynajmniej n kraw¾edzi "istot- nych".
Rozwa·zmy prawy graf z ostatniego przyk÷adu. Wierzcho÷ki le·z ¾ace na ´srodkach boków kwadratu maj ¾a stopie´n 3. Zatem po jednej kraw¾edzi incydentnej z ka·zdym z tych wierz- cho÷ków nie mo·ze znale´z´c si ¾e w cyklu Hamiltona. W gra…e jest zatem co najwy·zej 8 "istot- nych" kraw¾edzi. Poniewa·z graf ma 9 wierzcho÷ków, wi ¾ec nie mo·ze by´c hamiltonowski.
Bardzo prosty warunek konieczny istnienia cyklu lub ´scie·zki Hamiltona mo·zna sformu÷owa´c dla grafów dwudzielnych.
Twierdzenie 9. Niech G b ¾edzie grafem dwudzielnym oraz V = A [ B podzia÷em jego wierz- cho÷ków.
(1) Je·zeli w G istnieje ´scie·zka Hamiltona, to liczby jAj i jBj ró·zni ¾a si ¾e co najwy·zej o 1.
(2) Je·zeli G ma cykl Hamiltona, to jAj = jBj.
Dowód. Za÷ó·zmy, ·ze d = a1a2: : : an jest ´scie·zk ¾a Hamiltona w G. Mo·zemy przyj ¾a´c, ·ze a1 2 A (je´sli a1 2 B, to dowód jest podobny). Wtedy a2 2 B, a3 2 A, itd. Ogólnie ai 2 A dla i nieparzystych oraz ai 2 B dla i parzystych. St ¾ad
jAj jBj =
( 1 gdy n jest nieparzyste, 0 gdy n jest parzyste.
Ko´nczy to dowód (1). Za÷ó·zmy teraz, ·ze d jest cyklem Hamiltona, czyli an = a1. Wtedy A =fa1; a3; : : : ; an 2g oraz B = fa2; a4; : : : ; an 1g, czyli jAj = jBj.
Cwiczenie 34.´ Sprawdzi´c czy poni·zsze grafy s ¾a hamiltonowskie [posiadaj ¾a ´scie·zk ¾e Hamil- tona].
G1 G2 G3
G4 G5 G6
G7 (graf Petersena) G8 (graf Grötzscha)
Cwiczenie 35.´ Wiadomo, ·ze na szachownicy 8 8 mo·zna przej´s´c ruchem skoczka szachowego wszystkie pola i wróci´c do punktu wyj´scia. Czy to samo mo·zna zrobi´c na szachownicy 9 9.
Sformu÷ujemy teraz warunki dostateczne na to by graf prosty by÷hamiltonowski. B ¾ed ¾a one mia÷y posta´c:
"Je·zeli graf prosty ma du·zo kraw¾edzi, to jest hamiltonowski"
Twierdzenie 10 (Orego). Niech G b ¾edzie grafem prostym o n 3 wierzcho÷kach. Je·zeli (*) deg a + deg b n dla dowolnych nies ¾asiednich a, b,
to G jest hamiltonowski.
Dowód. Niech n = 3 oraz a, b b ¾ed ¾a nies ¾asiednimi wierzcho÷kami. Wtedy deg a 1i deg b 1, czyli
deg a + deg b 2 < n.
Poprzednik implikacji jest zatem fa÷szywy, czyli implikacja jest prawdziwa.
Przypu´s´cmy nie wprost, ·ze twierdzenie jest fa÷szywe. Oznacza to, ·ze dla pewnej liczby n 4 istnieje niehamiltonowski graf prosty o n wierzcho÷kach spe÷niaj ¾acy (*). Spo´sród grafów o tej w÷asno´sci wybierzmy ten, który ma najwi ¾ecej kraw¾edzi i nazwijmy go G. Dodaj ¾ac do G kraw¾ed´z k ÷¾acz ¾ac ¾a jakiekolwiek nies ¾asiednie wierzcho÷ki, dostajemy graf hamiltonowski.
Usuwaj ¾ac z cyklu Hamiltona dodan ¾a wcze´sniej kraw¾ed´z k otrzymujemy zatem otwart ¾a ´scie·zk¾e Hamiltona a1a2: : : an w G. Poniewa·z G nie jest hamiltonowski, wi ¾ec wierzcho÷ki a1 i an nie s ¾a s ¾asiednie i w konsekwencji
deg a1+ deg an n.
Poka·zemy, ·ze istnieje j 2 f3; : : : ; n 1g takie, ·ze a1aj, aj 1an2 EG.
Przyjmijmy
A =fi; a1ai 2 EGg oraz B =fi; ai 1an2 EGg . Wida´c, ·ze A [ B f2; : : : ; ng, czyli jA [ Bj n 1. St ¾ad
jA \ Bj = jAj + jBj jA [ Bj = deg a1+ deg an jA [ Bj n (n 1) = 1
i w konsekwencji istnieje j 2 A \ B. Poniewa·z a1an 2 E= G, wi ¾ec n =2 A oraz 2 =2 B. Zatem 3 j n 1, co oznacza, ·ze
a1: : : aj 1an: : : aja1
jest cyklem Hamiltona wbrew za÷o·zeniu. Otrzymana sprzeczno´s´c ko´nczy dowód.
Natychmiastow ¾a konsekwencj ¾a Twierdzenia Orego jest
Twierdzenie 11 (Diraca). Niech G b ¾edzie grafem prostym o n 3 wierzcho÷kach. Je·zeli deg a n
2 dla dowolnego wierzcho÷ka a, to G jest hamiltonowski.
Cwiczenie 36.´ Udowodni´c Twierdzenie Diraca.
Twierdzenie 12. Je·zeli graf prosty o n wierzcho÷kach ma wi ¾ecej ni·z 12(n 1) (n 2) + 1 kraw ¾edzi, to jest hamiltonowski.
Cwiczenie 37.´ (1) Udowodni´c poprzednie twierdzenie. Porówna´c je z ´cwiczeniem ??.
(2) Dla dowolnej liczby n 3 znale´z´c niehamiltonowski graf prosty o n wierzcho÷kach i
1
2(n 1) (n 2) + 1 kraw ¾edziach.
Warunki podane w trzech ostatnich twierdzeniach nie s ¾a warunkami koniecznymi. Graf dwunastosto´scianu ma n = 20 wierzcho÷ków, 30 kraw¾edzi oraz wszystkie wierzcho÷ki maj ¾a stopie´n 3. Nie s ¾a wi ¾ec spe÷nione za÷o·zenia ·zadnego z rozwa·zanych twierdze´n mimo, ·ze graf jest hamiltonowski. Podobnie graf cykliczny Cn jest hamiltonowski, a nie spe÷nia za÷o·ze´n zadnego z twierdze´n dla n > 4.·
Cwiczenie 38.´ W grupie z÷o·zonej z 2n uczniów ka·zdy ma co najmniej n przyjació÷. Pokaza´c,
·ze mo·zna ich ustawi´c parami, tak by ka·zdy ucze´n trzyma÷za r ¾ek ¾a przyjaciela.