Matematyka Dyskretna
Wykªad: Wprowadzenie do teorii grafów
Tomasz Krawczyk
krawczyk@tcs.uj.edu.pl Kraków, semestr letni 2020/21
grafy - wprowadzenie
I Grafy podstawowe denicje.
I Izomorzm grafów. Liczba nieizomorcznych grafów na n wierzchoªkach.
I Ci¡g stopni w grae.
I Spójno±¢ grafów.
I Drzewa.
grafy denicja
Denicja
Par¦ G = (V , E), gdzie V jest zbiorem a E jest podzbiorem V2
nazywamygrafem.
Zbiór V nazywamywierzchoªkamigrafu G, zbiór E nazywamykraw¦dziamigrafu G.
Grafy zdeniowane jak powy»ej nazywamy cz¦stografami prostymi.
Maj¡c graf G, przyj¦to oznacza¢ przez:
I V (G) zbiór wierzchoªków grafu G, I E(G) zbiór kraw¦dzi grafu G.
Przyj¦to równie» pisa¢ uEv oraz uv ∈ E w przypadku, gdy {u, v} jest kraw¦dzi¡ w G.
Mówimy wtedy, »e u jests¡siademv w G, b¡d¹ te», »e u oraz v s¡przylegªew G.
Mówimy te», »e wierzchoªki u, v s¡przylegªe do kraw¦dzi {u, v}.
Zazwyczaj grafy przedstawiamy na pªaszczy¹nie R2w taki sposób, »e:
I ka»dy wierzchoªek grafu przedstawiamy w postaci punktu pªaszczyzny R2, I ka»d¡ kraw¦d¹ {u, v} grafu przedstawiamy w postaci krzywej ci¡gªej ª¡cz¡cej
punkty reprezentuj¡ce wierzchoªki u oraz v rozª¡cznej z pozostaªymi punktami reprezentuj¡cymi pozostaªe wierzchoªki grafu.
izomorzm grafów
Denicja
Dwa grafy G = (V , E) oraz G0= (V0,E0)s¡izomorczneje»eli istnieje bijekcja f : V 7→ V0 speªniaj¡ca dla ka»dych dwóch ró»nych wierzchoªków v, w ze zbioru V warunek:
{v, w} ∈ E wtedy i tylko wtedy, gdy {f (v), f (w)} ∈ E0.
Grafy izomorczne ró»n¡ si¦ zatem tylko i wyª¡cznie etykiet¡ (nazwami) wierzchoªków.
Nie wiadomo, czy istnieje algorytm wielomianowy sprawdzaj¡cy, czy dwa grafy dane na wej±ciu s¡ izomorczne.
Nie wykazano równie», »e problem ten jest NP-trudny.
przykªady grafów
Poni»ej przedstawiamy kilka wa»nych rodzin grafów oraz ich standardowe oznaczenia:
I klika Knto graf G = (V , E), gdzie V = {1, . . . , n} a E = V2 . I antyklika In to graf G = (V , E), gdzie V = {1, . . . , n} a E = ∅.
I ±cie»ka Pn to graf G = (V , E), gdzie V = {1, . . . , n} a E = {{vi,vi+1:i ∈ [n − 1]}},
I cykl Cn to graf G = (V , E), gdzie V = {1, . . . , n} a E = {{vi,vi+1:i ∈ [n − 1]}} ∪ {{vn,v1}}, I klika dwudzielna Kn,mto graf G = (V , E), gdzie
V = {v1, . . . ,vn} ∪ {u1, . . . ,un}a E = {{vi,uj} :i ∈ [n], j ∈ [m]}, Graf G = (V , E) jest, odpowiednio,klik¡, antyklik¡, ±cie»k¡, cyklem na n-wierzchoªkach je»eli G jest izomorczny do Kn, In, Pn, Cn, odpowiednio.
podgrafy nieizomorczne
Wszystkich grafów na zbiorze V jest 2
n 2
. Pytanie:
Ile jest nieizomorcznych grafów na n wierzchoªkach?
Oznaczmy przezcnliczb¦ nieizomorcznych grafów na n wierzchoªkach.
atwo sprawdzi¢, »e:
I c1=1, I c2=2, I c3=4.
Jak oszacowa¢ warto±¢ cn? Jak bardzo ró»ni si¦ ona od liczby wszystkich grafów na zbiorze V = [n].
podgrafy nieizomorczne
Wprowad¹my relacj¦ ∼ na zbiorze wszystkich grafów okre±lonych na zbiorze wierzchoªków [n]:
G ∼ G0 ⇐⇒ G i G0s¡ izomorczne.
Zauwa»my, »e:
I ∼jest relacj¡ równowa»no±ci w zbiorze wszystkich grafów na zbiorze wierzchoªków [n],
I cnto liczba klas równowa»no±ci relacji ∼,
I ka»da klasa równowa»no±ci zawiera co najwy»ej n! grafów na zbiorze wierzchoªków [n] (dlaczego?).
Z powy»szych obserwacji wynika, »e:
cn≥2
n 2
n!
podgrafy nieizomorczne
Zbadajmy logarytm dwójkowy z liczby wszystkich grafów oraz liczby cn. Mamy:
log22
n 2
=
n 2
=n2 21 − 1
n
oraz
log2cn = log22(n2)
n!
= n2 −log2n!
≥ n22−n2−n log2n
= n22(1 −1n−2 logn2n).
,
gdzie przedostatnia nierówno±¢ wynika z n! 6 nn.
Podsumowuj¡c, liczba nieizomorcznych grafów na n wierzchoªkach ma ten sam rz¡d wielko±ci co liczba wszystkich ró»nych grafów na zbiorze wierzchoªków [n].
s¡siedztwa w grae
Niech G = (V , E) b¦dzie grafem.
Powiemy, »e wierzchoªki u, v s¡s¡siadami w G lub te», »e s¡przylegªe w Gje»eli {u, v} ∈ E.
Dla ka»dego v ∈ V oraz U ⊂ V wprowadzamy nast¦puj¡ce oznaczenia:
I NG(u) = {v ∈ V : v jest s¡siadem u}, I NG[u] = NG(u) ∪ {u},
I NG(U) = {v ∈ V : v jest s¡siadem pewnego wierzchoªka z U}, I NG[U] = NG(U) ∪ U.
Zbiory NG(u), NG[u], NG(U), NG[U] nazywamys¡siedztwami oraz s¡siedztwami domkni¦tymiwierzchoªka u oraz zbioru wierzchoªków U, odpowiednio.
Zwyczajowo pomija si¦ indeks dolny G je»eli G mo»na wywnioskowa¢ z kontekstu.
stopnie w grae G = (V , E)
Stopie« wierzchoªka u w grae G, oznaczany przezdegG(u),to moc zbioru NG(u).
Zliczaj¡c kraw¦dzie G wzgl¦dem ich przylegania do wierzchoªków grafu G, otrzymujemy nast¦puj¡cy lemat:
Lemat (o u±ciskach dªoni)
W dowolnym grae G = (V , E) zachodzi:
X
v∈V
degG(v) = |E|.
Przez δ(G) oraz ∆(G) oznaczmy odpowiedniominimalny i maksymalny stopie«
wierzchoªka w grae G, to jest:
δ(G) = min
u∈VdegG(u) oraz ∆(G) = max
u∈VdegG(u).
sekwencje grafowe
Niech G b¦dzie grafem oraz niech v1, . . . ,vnb¦dzie porz¡dkiem wierzchoªków grafu G. Sekwencj¦ (degG(v1), . . . ,degG(vn))nazywamysekwencj¡ stopni grafu G.
Sekwencja stopni grafu G nie jest wyznaczona jednoznacznie; dowolna permutacja sekwencji stopni G jest sekwencj¡ stopni G.
Uporz¡dkowana sekwencja stopni grafu Gto sekwencja stopni G uporz¡dkowana w sposób niemalej¡cy. Taka sekwencja dla grafu G jest ju» wyznaczona jednoznacznie.
Oczywi±cie, je»eli G i G0 s¡ izomorczne, to maj¡ takie same uporz¡dkowane sekwencje stopni. Twierdzenie w drug¡ stron¦ nie zachodzi: istniej¡ grafy z tymi samymi uporz¡dkowanymi sekwencjami stopni, które nie s¡ izomorczne.
Denicja (sekwencja grafowa)
Ci¡g liczb naturalnych (d1, . . . ,dn)jestsekwencj¡ grafow¡je»eli istnieje graf G = (V , E) oraz permutacja v1, . . . ,vn wierzchoªków grafu G taka, »e degG(vi) =di
dla ka»dego i ∈ [n].
Pytanie:
Jak sprawdzi¢, czy ci¡g liczb naturalnych (d1, . . . ,dn)jest sekwencj¡ grafow¡?
sekwencje grafowe
Stosuj¡c wielokrotnie poni»sze twierdzenie mo»emy sprawdzi¢ w czasie
wielomianowym, czy sekwencja (d1, . . . ,dn)liczb naturalnych jest sekwencj¡ grafow¡.
Twierdzenie
Niech (d1, . . . ,dn)b¦dzie tupl¡ liczb naturalnych tak¡, »e d16 d26 . . . 6 dn oraz niech (d10, . . . ,dn−10 )b¦dzie tupl¡ liczb naturalnych tak¡, »e:
di0=
di dla i < n − dn
di−1 dla i ≥ n − dn.
Wtedy (d1, . . . ,dn)jest sekwencj¡ grafow¡ wtedy i tylko wtedy, gdy (d10, . . . ,dn0)jest sekwencj¡ grafow¡.
Stosuj¡c powy»sze twierdzenie do sekwencji (1, 1, 1, 2, 2, 3, 4, 5, 5) otrzymujemy:
I (1, 1, 1, 2, 2, 3, 4, 5, 5) jest sekwencj¡ grafow¡ wtw, gdy (1, 1, 1, 1, 1, 2, 3, 4) jest sekwencj¡ grafow¡,
I (1, 1, 1, 1, 1, 2, 3, 4) jest sekwencj¡ grafow¡ wtw, gdy (1, 1, 1, 0, 0, 1, 2) jest sekwencj¡ grafow¡,
I (0, 0, 1, 1, 1, 1, 2) jest sekwencj¡ grafow¡ wtw, gdy (0, 0, 1, 1, 0, 0) jest sekwencj¡
grafow¡,
I (0, 0, 0, 0, 1, 1) jest sekwencj¡ grafow¡ wtw, gdy (0, 0, 0, 0, 0) jest sekwencj¡
grafow¡ (co jest prawd¡ dla grafu pustego).
A zatem (1, 1, 1, 2, 2, 3, 4, 5, 5) jest sekwencj¡ grafow¡.
sekwencje grafowe
Dowód twierdzenia o sekwencjach grafowych:
I atwo sprawdzi¢, »e je»eli (d10, . . . ,dn−10 )jest sekwencj¡ grafow¡, to d1, . . . ,dn
te» jest sekwencj¡ grafow¡. Istotnie, je»eli G0jest grafem takim, »e V (G0) = {v1, . . . ,vn−1}oraz degG0(vi) =di0dla i ∈ [n − 1], to graf G = (V , E), gdzie:
V = V (G0) ∪ {vn} oraz E = E(V0) ∪ {vivn:i ≥ n − dn} jest grafem takim, »e degG(vi) =di dla ka»dego i ∈ [n].
I Dowód w drug¡ stron¦: na kolejnym slajdzie.
sekwencje grafowe
I Zaªó»my, »e (d1, . . . ,dn)jest sekwencj¡ grafow¡. Dowód jest oczywisty je»eli dn=n − 1.
I Oznaczmy przez G zbiór wszystkich grafów G na zbiorze V = {v1, . . . ,vn} takich, »e degG(vi) =di. Z zaªo»enia G 6= ∅.
I Wyka»emy, »e w G istnieje graf G taki, »e vivn∈E(G) dla ka»dego i ≥ n − dn. Wtedy graf G0=G[V \ {vn}]speªnia degG0(vi) =di0dla ka»dego i ∈ [n − 1], co oznacza, »e (d10, . . . ,dn−10 )jest sekwencj¡ grafow¡.
I Dla G ∈ G zdeniujmy j(G) jako najwi¦kszy indeks i ∈ [n] taki, »e vivn∈/E(G).
Innymi sªowy, j(G) to taka liczba naturalna w [n] taka, »e vj(G)vn∈/E(G) oraz vivn∈E(G) dla ka»dego i ∈ [j(G) + 1, n].
I Wybierzmy w G graf G, który minimalizuje warto±¢ j(G). Przyjmijmy j = j(G).
I Zauwa»my, »e j > n − dn−1, bo inaczej vivn∈E(G) dla ka»dego i ≥ n − dn, co ko«czy poszukiwania grafu G i dowód twierdzenia.
I Mamy wi¦c, »e vjvn∈/E(G) oraz istnieje k < j takie, »e vkvn∈E(G) jako »e vn ma stopie« dn.
sekwencje grafowe
Dowód (c.d.):
I Poniewa» k < j, mamy degG(vk) 6 degG(vj). Poniewa» vnjest s¡siadem vk a nie jest s¡siadem vj, istnieje s ∈ [n] \ {j, k} taki, »e vsvj∈E(G) oraz vsvk ∈/E(G).
I Zauwa»my, »e s 6= n jako »e vsvk ∈/E(G) oraz vnvk∈E(G).
I Mamy wi¦c, »e j, s, k, n s¡ parami ró»ne, vsvk∈/E(G), vjvn∈/E(G), vsvj∈E(G) oraz vkvn∈E(G).
I Utwórzmy graf G0, który powstaje z G poprzez dodanie kraw¦dzi vsvk oraz vjvn
oraz usuni¦cie kraw¦dzi vsvj oraz vkvn. To znaczy, G0jest taki, »e V (G0) =V (G) oraz E(G0) = (E(G) \ {vsvj,vkvn}) ∪ {vsvk,vjvn}.
Zauwa»my, »e degG0(vi) =degG(vi)dla ka»dego i ∈ [n], co oznacza, »e G0∈ G. Zauwa»my, »e j(G0) <j(G) jako, »e dla ka»dego i ∈ [j, n] mamy vivn∈E(G0), co przeczy wyborowi G minimalizuj¡cemu j(·).
podgrafy
Niech G, G0b¦d¡ grafami. Powiemy, »e:
I G0jestpodgrafem G je»eli V (G0) ⊂V (G) oraz E(G0) ⊂E(G).
I G0jestpodgrafem indukowanym G je»eli V (G0) ⊂V (G) oraz E(G0) =E(G) ∩ V (G20)
. Mówimy wówczas, »e G0 jestpodgrafem G indukowanym przez zbiór V (G0).
Niech G b¦dzie grafem, a U podzbiorem V (G). Podgraf G indukowany przez zbiór U oznaczamy przezG[U].
grafy - spacery, ±cie»ki, komponenty spójne
Niech G = (V , E) b¦dzie grafem.
Denicja
Ci¡g v0, . . . ,vk wierzchoªków grafu nazwiemyspacerem w grae G (dokªadniej, spacerem dªugo±ci k od v0do vk w G) je»eli dla ka»dego i ∈ [0, k − 1] zachodzi {vi,vi+1} ∈E.
Spacer v0, . . . ,vk w G jestspacerem zamkni¦tymw G je»eli v0=vk.
Spacer v0, . . . ,vk w G jest±cie»k¡w G je»eli vi 6=vjdla ka»dych ró»nych i, j ∈ [0, k].
Spacer v0, . . . ,vk w G jestcyklemw G je»eli v0=vk oraz vi =vj dla ró»nych i, j ∈ [k] poci¡ga {i, j} = {0, k}.
Rozwa»my w grae G relacj¦∼okre±lon¡ na zbiorze V (G):
u ∼ v ⇐⇒ istnieje spacer od u do v w G.
Nietrudno jest sprawdzi¢, »e ∼ jest relacj¡ równowa»no±ci w zbiorze V (G).
Klasy równowa»no±ci relacji ∼ nazywamykomponentami spójnymi G.
Denicja
Graf G jest spójny je»eli G posiada dokªadnie jeden komponent spójny.
separatory wierzchoªkowe i kraw¦dziowe grafu
Niech G = (V , E) b¦dzie grafem.
Denicja (separator)
Zbiór S ( V jestseparatoremw grae G je»eli podgraf indukowany G[V \ S] ma przynajmniej dwa komponenty spójne.
Denicja (punkt artykulacji)
Wierzchoªek v nazywamypunktem artykulacjiw G je»eli {v} jest separatorem w G.
Denicja (separator kraw¦dziowy)
Zbiór S ( E jestseparatorem kraw¦dziowymw grae G je»eli graf (V , E \ S) ma przynajmniej dwa komponenty spójne.
W przypadku gdy S jest separatorem w G (wierzchoªkowym lub kraw¦dziowym), przyj¦to mówi¢, »e usuni¦cie S z grafurozspójniagraf G.
k-spójno±¢ grafu
Denicja
Graf G jestk-spójnyje»eli |V (G)| > k oraz po usuni¦ciu dowolnych k − 1 wierzchoªków graf G pozostaje spójny.
Denicja
Graf G jestkraw¦dziowo k-spójnyje»eli po usuni¦ciu dowolnych k − 1 kraw¦dzi graf G pozostaje spójny.
twierdzenie Mengera
Korzystaj¡c z sieci przepªywowych mo»na w do±¢ prosty sposób udowodni¢ twierdzenie Mengera charakteryzuj¡ce grafy k-spójne i kraw¦dziowo k-spójne.
Twierdzenie (Menger, 1927)
Niech G b¦dzie grafem.
I Graf G jest k-spójny wtedy i tylko wtedy, gdy pomi¦dzy dowolnymi dwoma wierzchoªkami x, y ∈ V (G) istnieje k wierzchoªkowo rozª¡cznych ±cie»ek z x do y.
I Graf G jest kraw¦dziowo k-spójny wtedy i tylko wtedy, gdy pomi¦dzy dowolnym dwoma wierzchoªkami x, y ∈ V (G) istnieje k kraw¦dziowo rozª¡cznych ±cie»ek z x do y.
macierz s¡siedztwa grafu
Graf G = (V , E) cz¦sto reprezentujemy za pomoc¡ tak zwanej macierzy s¡siedztwa grafu G.
Macierz s¡siedztwa grafu Gto macierz M, której wiersze i kolumny indeksowane s¡
elementami V , okre±lona w sposób nast¦puj¡cy:
M[u, v] =
1 je»eli {u, v} ∈ E,
0 je»eli {u, v} /∈ E lub u = v.
Fakt
Je»eli M jest macierz¡ s¡siedztwa grafu G, to dla dowolnych u, v ∈ V (niekoniecznie ró»nych) liczba spacerów dªugo±ci t od wierzchoªka u do wierzchoªka v jest równa Mt[u, v], gdzie Mtjest t-t¡ pot¦g¡ macierzy M.Dowód:
I fakt ten byª dowodzony na wykªadzie o zasadzie wª¡cze« i wyª¡cze«.
±rednica i promie« grafu G
Dla wierzchoªków u, v ∈ V (G),odlegªo±¢pomi¦dzy u i v w G, oznaczana przez distG(u, v), to dªugo±¢ najkrótszej ±cie»ki w G pomi¦dzy u i v.
rednica grafu G, oznaczana przezdiam(G), to maksymalna odlegªo±¢ pomi¦dzy pewnymi dwoma wierzchoªkami grafu G, Innymi sªowy,
diam(G) = max{distG(u, v) : u, v ∈ V }.
Promie«grafu G, oznaczany przezrad(G)to najmniejsza liczba k dla której istnieje wierzchoªek v ∈ V taki, »e distG(v, u) 6 k dla ka»dego u ∈ V .
atwo mo»na udowodni¢ nast¦puj¡cy fakt.
Fakt
Dla ka»dego grafu G zachodzi:rad(G) 6 diam(G) 6 2 · rad(G).
cykle Hamiltona i cykle Eulera w grae
Niech G = (V , E) b¦dzie grafem, niech n = |V | oraz m = |E|.
Cykl Hamiltonaw G to spacer zamkni¦ty dªugo±ci n w grae G przechodz¡cy przez ka»dy wierzchoªek dokªadnie jeden raz.
Innymi sªowy, cykl Hamiltona w grae G to podgraf G izomorczny z cyklem Cn. Cykl Euleraw G to spacer zamkni¦ty dªugo±ci m w grae G przechodz¡cy przez ka»d¡
kraw¦d¹ z E dokªadnie jeden raz.
Uwagi:
I Algorytmiczny problem sprawdzania, czy graf G posiada cykl Hamiltona, jest problemem NP-trudnym.
I Istnieje prosty algorytm wielomianowy sprawdzaj¡cy, czy G posiada cykl Eulera, który opiera si¦ na nast¦puj¡cym lemacie:
Lemat
Graf G posiada cykl Eulera wtedy i tylko wtedy, gdy G jest spójny oraz deg(v) jest liczb¡ parzyst¡ dla ka»dego v ∈ V .
drzewa
Denicja
Graf G nazywamydrzewemje»eli G jest spójny i G nie zawiera cyklu jako podgrafu.
Twierdzenie
Niech T b¦dzie grafem. Nast¦puj¡ce zdania s¡ równowa»ne:
(1) T jest drzewem;
(2) Dowolne dwa wierzchoªki T s¡ poª¡czone unikaln¡ ±cie»k¡;
(3) T jest minimalnie spójny, tzn. T jest spójny ale T − e jest niespójny dla dowolnej kraw¦dzi e ∈ T ;
(4) T jest maksymalnie acykliczny, tzn. T nie zawiera cyklu ale T + xy zawiera cykl dla dowolnych niepoª¡czonych wierzchoªków x, y ∈ T .