Teoria grafów i sieci 1 / 58
Literatura 1 B.Korte, J.Vygen, Combinatorial optimization 2 D.Jungnickel, Graphs, Networks and Algorithms 3 M.Sysªo, N.Deo Metody optymalizacji dyskretnej z przykªadami w Turbo Pascalu, 4 T.Cormen, Ch.E.Leiserson, R.L.Rivest, Wprowadzenie do algorytmów, 5 Libura, Sikorski Wykªady z matematyki dyskretnej.cz.ii: Teoria grafów, 6 G.Caldarelli, A.Vespignani Large Scale Structure and Dynamics of Complex Networks: From Information Technology to Finance and Natural Science, 7 M. van Steen, Graph Theory and Complex Networks: An Introduction, 8 2 / 58
grafu nieskierowanego Grafem nieskierowanym nazywamy uporz dkowan trójk : G = V, E, γ gdzie: V niepusty zbiór wierzchoªków grafu G, E zbiór kraw dzi grafu G, γ funkcja ze zbioru E w zbiór {{u, v} : u, v V } wszystkich podzbiorów jedno lub dwuelementowych zbioru V. 3 / 58
grafu nieskierowanego Grafem nieskierowanym nazywamy uporz dkowan trójk : G = V, E, γ gdzie: V niepusty zbiór wierzchoªków grafu G, E zbiór kraw dzi grafu G, γ funkcja ze zbioru E w zbiór {{u, v} : u, v V } wszystkich podzbiorów jedno lub dwuelementowych zbioru V. Je»eli e E oraz γ (e) = {p, q}, to elementy p i q nazywamy ko«cami kraw dzi e. 4 / 58
Przykªad Niech G = V, E, γ, gdzie V = {1, 2,...8}, E = {a, b, c, d, e, f, g, h, k, l, m}, za± funkcja γ okre±lona jest za pomoc tabeli e a b c d f g h γ (e) {1, 2} {2} {2, 3} {4} {3, 6} {6, 7} {5, 6} k l m {2, 5} {1, 5} {1, 5} 5 / 58
Przykªad Niech G = V, E, γ, gdzie V = {1, 2,...8}, E = {a, b, c, d, e, f, g, h, k, l, m}, za± funkcja γ okre±lona jest za pomoc tabeli e a b c d f g h γ (e) {1, 2} {2} {2, 3} {4} {3, 6} {6, 7} {5, 6} k l m {2, 5} {1, 5} {1, 5} W praktyce cz sto wykorzystujemy graczn reprezentacj grafu 1 a m l k d b c 3 2 f 8 4 h 5 6 g 7 Je»eli γ (e) = {p, p} = {p}, to kraw d¹ e nazywamy p tl. Je»eli kraw dzie e i f s ró»ne (e f ) i γ (e) = γ (f ), to nazywamy je kraw dziami wielokrotnymi (równolegªymi). 6 / 58
Je»eli w grae G, a i b nie s kraw dziami równolegªymi oraz γ (a) = {x, y} i γ (b) = {y, z}, to mówimy,»e: 7 / 58
Je»eli w grae G, a i b nie s kraw dziami równolegªymi oraz γ (a) = {x, y} i γ (b) = {y, z}, to mówimy,»e: 1 Kraw dzie a i b s kraw dziami s siednim lub przylegªymi (maj wspólny wierzchoªek y). 8 / 58
Je»eli w grae G, a i b nie s kraw dziami równolegªymi oraz γ (a) = {x, y} i γ (b) = {y, z}, to mówimy,»e: 1 Kraw dzie a i b s kraw dziami s siednim lub przylegªymi (maj wspólny wierzchoªek y). 2 Wierzchoªki x, y (oraz y i z) s wierzchoªkami s siednimi. 9 / 58
Je»eli w grae G, a i b nie s kraw dziami równolegªymi oraz γ (a) = {x, y} i γ (b) = {y, z}, to mówimy,»e: 1 Kraw dzie a i b s kraw dziami s siednim lub przylegªymi (maj wspólny wierzchoªek y). 2 Wierzchoªki x, y (oraz y i z) s wierzchoªkami s siednimi. 3 Wierzchoªek x (a tak»e y) jest incydentny do kraw dzi a (jest ko«cem tej kraw dzi) 10 / 58
Je»eli w grae G, a i b nie s kraw dziami równolegªymi oraz γ (a) = {x, y} i γ (b) = {y, z}, to mówimy,»e: 1 Kraw dzie a i b s kraw dziami s siednim lub przylegªymi (maj wspólny wierzchoªek y). 2 Wierzchoªki x, y (oraz y i z) s wierzchoªkami s siednimi. 3 Wierzchoªek x (a tak»e y) jest incydentny do kraw dzi a (jest ko«cem tej kraw dzi) W przypadku, gdy nie ma w grae G kraw dzi wielokrotnych, to funkcja γ jest ró»nowarto±ciowa. 11 / 58
Graf prosty Graf bez kraw dzi wielokrotnych i p tli nazywamy grafem prostym. 3 f b a d 4 e c 1 2 12 / 58
Graf prosty Graf bez kraw dzi wielokrotnych i p tli nazywamy grafem prostym. a d f 4 3 b e c 1 2 W przypadku grafów prostych denicja grafu sprowadza si do podania zbioru wierzchoªków V i kraw dzi w postaci {p, q}, gdzie p, q V, np. na rysunku zamiast pisa γ (a) = {1, 3} b dziemy pisa a = {1, 3}. 13 / 58
Graf prosty Graf bez kraw dzi wielokrotnych i p tli nazywamy grafem prostym. a d f 4 3 b e c 1 2 W przypadku grafów prostych denicja grafu sprowadza si do podania zbioru wierzchoªków V i kraw dzi w postaci {p, q}, gdzie p, q V, np. na rysunku zamiast pisa γ (a) = {1, 3} b dziemy pisa a = {1, 3}. W dalszej cz ±ci graf prosty b dziemy zapisywali jako G = V, E przyjmuj c,»e E = {{p, q} : p, q V }. 14 / 58
Stopie«wierzchoªka i stopie«grafu, w grae nieskierowanym Liczb kraw dzi incydentnych do danego wierzchoªka v (z p tlami liczonymi podwójnie) nazywamy stopniem wierzchoªka v i oznaczamy deg(v). Liczb wierzchoªków stopnia k oznaczamy D k (G) i dla ka»dego grafu deniujemy ci g stopni wierzchoªków grafu G (D 0 (G), D 1 (G), D 2 (G),...). 15 / 58
Stopie«wierzchoªka i stopie«grafu, w grae nieskierowanym Liczb kraw dzi incydentnych do danego wierzchoªka v (z p tlami liczonymi podwójnie) nazywamy stopniem wierzchoªka v i oznaczamy deg(v). Liczb wierzchoªków stopnia k oznaczamy D k (G) i dla ka»dego grafu deniujemy ci g stopni wierzchoªków grafu G (D 0 (G), D 1 (G), D 2 (G),...). Stopniem grafu G nazywamy liczb (G) = max deg (v). v V Stopie«grafu jest wi c równy najwy»szemu ze stopni jego wierzchoªków. 16 / 58
Stopie«wierzchoªka i stopie«grafu, w grae nieskierowanym Liczb kraw dzi incydentnych do danego wierzchoªka v (z p tlami liczonymi podwójnie) nazywamy stopniem wierzchoªka v i oznaczamy deg(v). Liczb wierzchoªków stopnia k oznaczamy D k (G) i dla ka»dego grafu deniujemy ci g stopni wierzchoªków grafu G (D 0 (G), D 1 (G), D 2 (G),...). Stopniem grafu G nazywamy liczb (G) = max deg (v). v V Stopie«grafu jest wi c równy najwy»szemu ze stopni jego wierzchoªków. Wierzchoªek stopnia zerowego nazywamy wierzchoªkiem izolowanym. 17 / 58
Stopie«wierzchoªka i stopie«grafu, w grae nieskierowanym Liczb kraw dzi incydentnych do danego wierzchoªka v (z p tlami liczonymi podwójnie) nazywamy stopniem wierzchoªka v i oznaczamy deg(v). Liczb wierzchoªków stopnia k oznaczamy D k (G) i dla ka»dego grafu deniujemy ci g stopni wierzchoªków grafu G (D 0 (G), D 1 (G), D 2 (G),...). Stopniem grafu G nazywamy liczb (G) = max deg (v). v V Stopie«grafu jest wi c równy najwy»szemu ze stopni jego wierzchoªków. Wierzchoªek stopnia zerowego nazywamy wierzchoªkiem izolowanym. Wierzchoªek stopnia pierwszego nazywamy wierzchoªkiem ko«cowym lub wisz cym. 18 / 58
Przykªad Rozwa»my graf: f x 1 x 2 a b e d c x 8 h x 3 g x 5 x 4 x6 x 7 Na rysunku 19 / 58
Przykªad Rozwa»my graf: f x 1 x 2 a b e d c x 8 h x 3 g x 5 x 4 x6 x 7 Na rysunku 1 wierzchoªki izolowane, to x 5 i x 7 20 / 58
Przykªad Rozwa»my graf: f x 1 x 2 a b e d c x 8 h x 3 g x 5 x 4 x6 x 7 Na rysunku 1 wierzchoªki izolowane, to x 5 i x 7 2 wierzchoªki wisz ce to x 4 i x 6 21 / 58
Przykªad Rozwa»my graf: f x 1 x 2 a b e d c x 8 h x 3 g x 5 x 4 x6 x 7 Na rysunku 1 wierzchoªki izolowane, to x 5 i x 7 2 wierzchoªki wisz ce to x 4 i x 6 3 deg (x 1) = 2 i deg (x 2) = 5, deg (x 3) = 4 i deg (x 8) = 3 22 / 58
Przykªad Rozwa»my graf: f x 1 x 2 a b e d c x 8 h x 3 g x 5 x 4 x6 x 7 Na rysunku 1 wierzchoªki izolowane, to x 5 i x 7 2 wierzchoªki wisz ce to x 4 i x 6 3 deg (x 1) = 2 i deg (x 2) = 5, deg (x 3) = 4 i deg (x 8) = 3 4 ci g stopni wierzchoªków tego grafu jest nast puj cy (2, 2, 1, 1, 1, 1) 23 / 58
Przykªad Rozwa»my graf: f x 1 x 2 a b e d c x 8 h x 3 g x 5 x 4 x6 x 7 Na rysunku 1 wierzchoªki izolowane, to x 5 i x 7 2 wierzchoªki wisz ce to x 4 i x 6 3 deg (x 1) = 2 i deg (x 2) = 5, deg (x 3) = 4 i deg (x 8) = 3 4 ci g stopni wierzchoªków tego grafu jest nast puj cy (2, 2, 1, 1, 1, 1) 5 stopie«tego grafu wynosi (G) = 5 24 / 58
Kraw dzie szeregowe Mówimy,»e dwie nierównolegªe kraw dzie s kraw dziami szeregowymi, je»eli ich wspólny wierzchoªek jest stopnia drugiego. f x 1 x 2 a b e d c x 8 h x 3 g x 5 x 4 x6 x 7 25 / 58
Graf skierowany Grafem skierowanym lub digrafem G (directed graph) nazywamy uporz dkowan trójk G = V, E, γ, gdzie V jest niepustym zbiorem wierzchoªków, E zbiorem kraw dzi skierowanych (ªuków), γ odwzorowaniem zbioru E w zbiór V V. 26 / 58
Graf skierowany Grafem skierowanym lub digrafem G (directed graph) nazywamy uporz dkowan trójk G = V, E, γ, gdzie V jest niepustym zbiorem wierzchoªków, E zbiorem kraw dzi skierowanych (ªuków), γ odwzorowaniem zbioru E w zbiór V V. Je±li e (e E) jest ªukiem grafu G i γ(e) = (p, q) ((p, q) V V ), to 27 / 58
Graf skierowany Grafem skierowanym lub digrafem G (directed graph) nazywamy uporz dkowan trójk G = V, E, γ, gdzie V jest niepustym zbiorem wierzchoªków, E zbiorem kraw dzi skierowanych (ªuków), γ odwzorowaniem zbioru E w zbiór V V. Je±li e (e E) jest ªukiem grafu G i γ(e) = (p, q) ((p, q) V V ), to p nazywamy pocz tkiem ªuku 28 / 58
Graf skierowany Grafem skierowanym lub digrafem G (directed graph) nazywamy uporz dkowan trójk G = V, E, γ, gdzie V jest niepustym zbiorem wierzchoªków, E zbiorem kraw dzi skierowanych (ªuków), γ odwzorowaniem zbioru E w zbiór V V. Je±li e (e E) jest ªukiem grafu G i γ(e) = (p, q) ((p, q) V V ), to p nazywamy pocz tkiem ªuku q nazywamy ko«cem ªuku 29 / 58
Graf skierowany Grafem skierowanym lub digrafem G (directed graph) nazywamy uporz dkowan trójk G = V, E, γ, gdzie V jest niepustym zbiorem wierzchoªków, E zbiorem kraw dzi skierowanych (ªuków), γ odwzorowaniem zbioru E w zbiór V V. Je±li e (e E) jest ªukiem grafu G i γ(e) = (p, q) ((p, q) V V ), to p nazywamy pocz tkiem ªuku q nazywamy ko«cem ªuku o ªuku e mówimy równie»,»e 30 / 58
Graf skierowany Grafem skierowanym lub digrafem G (directed graph) nazywamy uporz dkowan trójk G = V, E, γ, gdzie V jest niepustym zbiorem wierzchoªków, E zbiorem kraw dzi skierowanych (ªuków), γ odwzorowaniem zbioru E w zbiór V V. Je±li e (e E) jest ªukiem grafu G i γ(e) = (p, q) ((p, q) V V ), to p nazywamy pocz tkiem ªuku q nazywamy ko«cem ªuku o ªuku e mówimy równie»,»e ªuk e biegnie od wierzchoªka p do wierzchoªka q 31 / 58
Graf skierowany Grafem skierowanym lub digrafem G (directed graph) nazywamy uporz dkowan trójk G = V, E, γ, gdzie V jest niepustym zbiorem wierzchoªków, E zbiorem kraw dzi skierowanych (ªuków), γ odwzorowaniem zbioru E w zbiór V V. Je±li e (e E) jest ªukiem grafu G i γ(e) = (p, q) ((p, q) V V ), to p nazywamy pocz tkiem ªuku q nazywamy ko«cem ªuku o ªuku e mówimy równie»,»e ªuk e biegnie od wierzchoªka p do wierzchoªka q ªuk e wychodzi z wierzchoªka p i wchodzi do wierzchoªka q 32 / 58
Graf skierowany Grafem skierowanym lub digrafem G (directed graph) nazywamy uporz dkowan trójk G = V, E, γ, gdzie V jest niepustym zbiorem wierzchoªków, E zbiorem kraw dzi skierowanych (ªuków), γ odwzorowaniem zbioru E w zbiór V V. Je±li e (e E) jest ªukiem grafu G i γ(e) = (p, q) ((p, q) V V ), to p nazywamy pocz tkiem ªuku q nazywamy ko«cem ªuku o ªuku e mówimy równie»,»e ªuk e biegnie od wierzchoªka p do wierzchoªka q ªuk e wychodzi z wierzchoªka p i wchodzi do wierzchoªka q ªuk e jest incydentny z wierzchoªka p i jest incydentny w wierzchoªek q 33 / 58
Graf skierowany Analogicznie, jak w przypadku grafu nieskierowanego mamy Je»eli γ(e) = (p, p), to e nazywamy p tl. 34 / 58
Graf skierowany Analogicznie, jak w przypadku grafu nieskierowanego mamy Je»eli γ(e) = (p, p), to e nazywamy p tl. Je»eli e, k E oraz γ(e) = (p, q) i γ(k) = (p, q), to kraw dzie e i k nazywamy równolegªymi lub wielokrotnymi. 35 / 58
Graf skierowany Analogicznie, jak w przypadku grafu nieskierowanego mamy Je»eli γ(e) = (p, p), to e nazywamy p tl. Je»eli e, k E oraz γ(e) = (p, q) i γ(k) = (p, q), to kraw dzie e i k nazywamy równolegªymi lub wielokrotnymi. Je»eli G jest grafem prostym (bez p tli i kraw dzi równolegªych), to przeksztaªcenie γ jest ró»nowarto±ciowe a graf G mo»emy oznacza jako G = V, E. 36 / 58
Przykªad We¹my graf G = V, E, γ, w którym dane s zbiory: V zbiór wierzchoªków, E zbiór ªuków oraz funkcja γ postaci e a b c d e f g γ(e) (x, y) (z, y) (z, y) (u, y) (u, x) (z, u) (x, z) h k l m (y, y) (z, w) (w, x) (x, w) w k z m g f c b l e u d x a y h 37 / 58
Stopie«wyj±ciowy i wej±ciowy wierzchoªka w grae skierowanym Liczb kraw dzi skierowanych g wychodz cych z wierzchoªka x m nazywamy stopniem wyj±ciowym l tego wierzchoªka i oznaczamy degout(x). x a w k e f u z c d b y h 38 / 58
Stopie«wyj±ciowy i wej±ciowy wierzchoªka w grae skierowanym Liczb kraw dzi skierowanych g wychodz cych z wierzchoªka x m nazywamy stopniem wyj±ciowym l tego wierzchoªka i oznaczamy degout(x). x a w k e f u z c d b y h degout(x) = 3, degout(u) = 2, degout(z) = 4, degout(w) = 1, degout(y) = 1, 39 / 58
Stopie«wyj±ciowy i wej±ciowy wierzchoªka w grae skierowanym w k z m g f c b l e u d x a y h Liczb ªuków wchodz cych do wierzchoªka x nazywamy stopniem wej±ciowym wierzchoªka x i oznaczamy degin(x). degout(x) = 3, degout(u) = 2, degout(z) = 4, degout(w) = 1, degout(y) = 1, 40 / 58
Stopie«wyj±ciowy i wej±ciowy wierzchoªka w grae skierowanym w k z m g f c b l e u d x a y h Liczb ªuków wchodz cych do wierzchoªka x nazywamy stopniem wej±ciowym wierzchoªka x i oznaczamy degin(x). degout(x) = 3, degin(x) = 2, degout(u) = 2, degin(u) = 1, degout(z) = 4, i degin(z) = 1, degout(w) = 1, degin(w) = 2, degout(y) = 1, degin(y) = 5, 41 / 58
Stopie«wierzchoªka i stopie«grafu, w grae skierowanym Stopniem wierzchoªka deg(x) w grae skierowanym nazywamy sum stopni wej±ciowych i wyj±ciowych wierzchoªka x. deg(x) = degout(x) + degin(x) 42 / 58
Stopie«wierzchoªka i stopie«grafu, w grae skierowanym Stopniem wierzchoªka deg(x) w grae skierowanym nazywamy sum stopni wej±ciowych i wyj±ciowych wierzchoªka x. deg(x) = degout(x) + degin(x) Stopie«grafu (G) okre±lamy jako maksymalny stopie«wierzchoªka w tym grae, czyli (G) = max u V deg(u) 43 / 58
ródªo i uj±cie w grae skierowanym ródªem w digrae nazywamy wierzchoªek, do którego nie wchodzi»aden ªuk. Wierzchoªek u jest w digrae ¹ródªem wtedy i tylko wtedy gdy degin(u) = 0 44 / 58
ródªo i uj±cie w grae skierowanym ródªem w digrae nazywamy wierzchoªek, do którego nie wchodzi»aden ªuk. Wierzchoªek u jest w digrae ¹ródªem wtedy i tylko wtedy gdy degin(u) = 0 Wierzchoªek digrafu, który nie jest pocz tkiem»adnego ªuku nazywamy uj±ciem. Wierzchoªek t jest uj±ciem wtedy i tylko wtedy, gdy degout(t) = 0 45 / 58
Przykªad a b c d e Stopnie wierzchoªków w grae wynosz deg(a) = degout(a) + degin(a) = 1 + 0 = 1 46 / 58
Przykªad a b c d e Stopnie wierzchoªków w grae wynosz deg(a) = degout(a) + degin(a) = 1 + 0 = 1 deg(b) = degout(b) + degin(b) = 1 + 2 = 3 47 / 58
Przykªad a b c d e Stopnie wierzchoªków w grae wynosz deg(a) = degout(a) + degin(a) = 1 + 0 = 1 deg(b) = degout(b) + degin(b) = 1 + 2 = 3 deg(c) = degout(c) + degin(c) = 2 + 0 = 2 48 / 58
Przykªad a b c d e Stopnie wierzchoªków w grae wynosz deg(a) = degout(a) + degin(a) = 1 + 0 = 1 deg(b) = degout(b) + degin(b) = 1 + 2 = 3 deg(c) = degout(c) + degin(c) = 2 + 0 = 2 deg(d) = degout(d) + degin(d) = 1 + 1 = 2 49 / 58
Przykªad a b c d e Stopnie wierzchoªków w grae wynosz deg(a) = degout(a) + degin(a) = 1 + 0 = 1 deg(b) = degout(b) + degin(b) = 1 + 2 = 3 deg(c) = degout(c) + degin(c) = 2 + 0 = 2 deg(d) = degout(d) + degin(d) = 1 + 1 = 2 deg(e) = degout(e) + degin(e) = 0 + 2 = 2 50 / 58
Przykªad a b c d e Stopnie wierzchoªków w grae wynosz deg(a) = degout(a) + degin(a) = 1 + 0 = 1 deg(b) = degout(b) + degin(b) = 1 + 2 = 3 deg(c) = degout(c) + degin(c) = 2 + 0 = 2 deg(d) = degout(d) + degin(d) = 1 + 1 = 2 deg(e) = degout(e) + degin(e) = 0 + 2 = 2 Stopie«grafu wynosi (G) = max u V deg(u) = 3 51 / 58
Przykªad a b c d e Stopnie wierzchoªków w grae wynosz deg(a) = degout(a) + degin(a) = 1 + 0 = 1 deg(b) = degout(b) + degin(b) = 1 + 2 = 3 deg(c) = degout(c) + degin(c) = 2 + 0 = 2 deg(d) = degout(d) + degin(d) = 1 + 1 = 2 deg(e) = degout(e) + degin(e) = 0 + 2 = 2 ródªem w grae G s wierzchoªki a i c. Stopie«grafu wynosi (G) = max u V deg(u) = 3 52 / 58
Przykªad a b c d e Stopnie wierzchoªków w grae wynosz deg(a) = degout(a) + degin(a) = 1 + 0 = 1 deg(b) = degout(b) + degin(b) = 1 + 2 = 3 deg(c) = degout(c) + degin(c) = 2 + 0 = 2 deg(d) = degout(d) + degin(d) = 1 + 1 = 2 deg(e) = degout(e) + degin(e) = 0 + 2 = 2 Stopie«grafu wynosi ródªem w grae G s wierzchoªki a i c. Uj±ciem jest wierzchoªek e. (G) = max u V deg(u) = 3 53 / 58
Grafy wa»one, sieci 3 7 8 10 3 5 9 Grafem wa»onym nazywamy graf, w którym ka»dej kraw dzi 6 przyporz dkowana jest liczba 2 2 rzeczywista zwana wag tej kraw dzi. Funkcj w nazywamy funkcj wagow. w : E R 54 / 58
Grafy wa»one, sieci 3 7 8 10 3 5 9 Grafem wa»onym nazywamy graf, w którym ka»dej kraw dzi 6 przyporz dkowana jest liczba 2 2 rzeczywista zwana wag tej kraw dzi. Funkcj w nazywamy funkcj wagow. w : E R Wa»nym zastosowaniem grafów wa»onych s sieci. W teorii grafów terminami okre±laj cymi w zeª jest wierzchoªek, a ª cze jest kraw dzi. 55 / 58
Grafy wa»one, sieci 3 7 8 10 3 5 9 Grafem wa»onym nazywamy graf, w którym ka»dej kraw dzi 6 przyporz dkowana jest liczba 2 2 rzeczywista zwana wag tej kraw dzi. Funkcj w nazywamy funkcj wagow. w : E R Wa»nym zastosowaniem grafów wa»onych s sieci. W teorii grafów terminami okre±laj cymi w zeª jest wierzchoªek, a ª cze jest kraw dzi. 56 / 58
Wa»ony stopie«wierzchoªka 8 7 10 3 5 3 9 6 2 2 deg(v) = 3 deg w (v) = 2 + 2 + 6 = 10 Niech G = (V, E, w) b dzie grafem wa»onym z funkcj wagow w, wówczas stopniem wa»onym wierzchoªka v V nazywamy sum wag kraw dzi wychodz cych z wierzchoªka i oznaczamy deg w (v). deg w (v) = deg(v) i=1 w(v, u i ) 57 / 58
Dzi kuj za uwag!!! 58 / 58