• Nie Znaleziono Wyników

Matematyka Dyskretna Wykªad: Wprowadzenie do teorii grafów

N/A
N/A
Protected

Academic year: 2021

Share "Matematyka Dyskretna Wykªad: Wprowadzenie do teorii grafów"

Copied!
24
0
0

Pełen tekst

(1)

Matematyka Dyskretna

Wykªad: Wprowadzenie do teorii grafów

Tomasz Krawczyk

krawczyk@tcs.uj.edu.pl Kraków, semestr letni 2020/21

(2)

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.

(3)

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.

(4)

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.

(5)

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.

(6)

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].

(7)

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:

cn2

n 2



n!

(8)

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!

n22n2n log2n

= n22(1 −1n2 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].

(9)

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.

(10)

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).

(11)

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¡?

(12)

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

di1 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¡.

(13)

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.

(14)

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 vivnE(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 vivnE(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 − dn1, bo inaczej vivnE(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 vkvnE(G) jako »e vn ma stopie« dn.

(15)

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 vsvjE(G) oraz vsvk /E(G).

I Zauwa»my, »e s 6= n jako »e vsvk /E(G) oraz vnvkE(G).

I Mamy wi¦c, »e j, s, k, n s¡ parami ró»ne, vsvk/E(G), vjvn/E(G), vsvjE(G) oraz vkvnE(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 vivnE(G0), co przeczy wyborowi G minimalizuj¡cemu j(·).

(16)

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].

(17)

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.

(18)

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.

(19)

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.

(20)

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.

(21)

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«.

(22)

±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).

(23)

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 .

(24)

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 .

Cytaty

Powiązane dokumenty

(i) dowolne dwie maksymalne ścieżki w grafie spójnym G mają niepuste przecięcie, (ii) przecięcie wszystkich maksymalnych ścieżek w drzewie T jest niepuste.. Zadanie

Rodzin¦ F podzbiorów zbioru [n] nazywamy parami przecinaj¡c¡ si¦ je»eli ka»de dwa zbiory z F maj¡ niepuste

Dla każdego n istnieje N takie, że dla dowolnych N punktów w pozycji ogólnej na płaszczyźnie pewne n spośród nich są w pozycji wypukłej (patrz rys.. Ramseya:

oznacza ten sam obiekt (izomorzm szeregów i ci¡gów); szeregi w sposób bardziej intuicyjny wprowadzaj¡ operacj¦ mno»enia (tak jak mno»enie wielomianów);. operacja splotu

krawczyk@tcs.uj.edu.pl Kraków, semestr letni 2019/20... Interesuje nas liczba

Algorytm ten spo±ród wszystkich mo»liwych ±cie»ek powi¦kszaj¡cych od s do t wybiera ±cie»k¦.

4.11.5 Warto´s´c oczekiwana liczby ró˙znokolorowych

Jest on prze- znaczony dla studentów pierwszego roku kierunku informatyki i zawiera materiał rocz- nego wykładu z matematyki dyskretnej, prowadzonego przeze mnie na