You are on page 1of 7

Grafy - Notatki

Maciej Trątnowiecki
24 stycznia 2019

1 Oznaczenia:
1.1 Graf
Niech G będzie grafem o wierzchołkach ze skończonego zbioru V (z ang. vertices) i krawędziach ze zbioru E (z
ang. edges). Grafem nazywamy parę:
G “ pV, Eq
Rozpatrujemy grafy nieskierowane - gdzie E jest zbiorem dwuelementowych zbiorów wierzchołków z V,
oraz grafy skierowane (digrafy, ang directed graph) - gdzie E jest zbiorem uporządkowanych par wierzchołków
ze zbioru V.
Odpowiednio:
E “ tta, bu : a, b P V u
E “ tpa, bq : a, b P V u
Przykład:
V “ t1, 2, 3, 4, ..., nu gdzie n ą 7
E “ tt1, 2u, t2, 3u, t4, 7uu ´ Graf nieskierowany
lub: E “ tp1, 2q, p2, 3q, p4, 7qu ´ Graf skierowany
Multigrafem M nazywamy parę: M “ pV, Eq, gdzie E jest multizbiorem krawędzi.
Hipergrafem H nazywamy parę: H “ pV, Eq, gdzie E jest zbiorem hiperkrawędzi. Każda hiperkrawędź może
być incydentna do dowolnej liczby wierzchołków (np. reprezentowane przez macierz incydencji, gdzie każdy
wiersz odpowiada jednej krawędzi).
Oznaczamy |G| “ |V |, oraz ||G|| “ |E|
Zwyczajowo |V | “ n ^ |E| “ m.

2 Sposoby reprezentacji grafu w pamięci komputera:


2.1 Macierz sąsiedztwa
Niech S będzie macierzą sąsiedztwa grafu G “ pV, Eq
S określamy jako macierz o wymiarach V pGq ˆ V pGq, w której Sri, js oznacza liczbę krawędzi pomiędzy wierz-
chołkami i i j w grafie G.
Przykład:
V “ t1, 2, 3, 4u E “ tp1, 2q, p4, 3q, p1, 4qu
» fi
0 1 0 1
— 0 0 0 0 ffi
S“— – 0 0 0 0 fl
ffi

0 0 1 0

1 3
Co oznacza że graf ma postać:

1
Plusy: Minusy:
• Informacja o krawędzi między wierzchołkami • Duża ilość zajętej pamięci - O(|V |2 )
i , j w czasie stałym O(1)
• Czas potrzebny do przeglądu zbioru krawę-
• Dodanie oraz usunięcie krawędzi w czasie dzi zależny od liczby wierzchołków - O(|V |2 ),
stałym O(1) nie od liczby krawędzi

2.2 Macierz incydencji


Macierz, w której wiersze oznaczają krawędzie, a kolumny wierzchołki.
Przydatna w hipergrafach.

2.3 Lista sąsiedztwa

3 Podstawowe definicje
3.1 Sąsiedztwo
W grafie G sąsiedztwem wierzchołka v nazywamy zbiór N pvq “ tu : u P V : tu, vu P Eu.
Ponadto N pSq “ YvPS N pvq

3.2 Incydencja
Krawędź grafu jest incydentna z wierzchołkiem, jeśli ma w nim ona swój koniec lub początek.
Mówimy o incydentności dwóch obiektów różnych typów (np. krawędź-wierzchołek ), oraz o sąsiedztwie dwóch
obiektów tego samego typu (np. wierzchołek-wierzchołek ).

3.3 Stopień wierzchołka


Stopniem wierzchołka grafu nazywamy liczbę krawędzi incydentnych z tym wierzchołkiem. Ozn: dpvq.

v P V, dpvq “ |ttv, uu P E, u P V u|

Maksymalny stopień w grafie G, to:


∆pGq “ maxtdpvq, v P V u
Mnimalny stopień w grafie G, to:
δpGq “ mintdpvq, v P V u

3.4 Grafy izomorficzne


Dwa grafy G1 “ pV1 , E1 q, G2 “ pV2 , E2 q są izomorficzne, ozn. G1 „ G2 , jeśli istnieje odwzorowanie (bijekcja)

α: V1 Ñ V2 :

tu, vu P E1 Ñ tαpuq, αpvqu P E2


Nie da się sprawdzić w czasie wielomianowym, czy dwa grafy są izomorficzne.

3.5 Marszruta
Marszrutą w grafie G nazywamy ciąg wierzchołków ă v0 , v1 , v2 , . . . , vk ą o takiej własności, że: @0ďiďk tvi´1 , vi u P E
Marszrutę nazywamy zamkniętą jeśli vk “ v0 .

3.6 Droga
Drogą nazywamy marszrutę, w której każda krawędź występuje co najwyżej raz.
Droga może być zamknięta analogicznie do marszruty.

3.7 Ścieżka
Ścieżką nazywamy drogę w której żaden wierzchołek się nie powtarza.

2
3.8 Cykl
Cyklem nazywamy drogę zamkniętą, w której żaden wierzchołek, poza pierwszym, się nie powtarza.

3.9 Odległość wierzchołków


Odległością dwóch wierzchołków x, y w grafie G nazywamy minimalną długość ścieżki o końcach w tych wierz-
chołkach. Oznaczamy dpx, yq.

3.10 Średnica grafu


Średnicą grafu G nazywamy:
diampGq “ max tdpu, vq : u, v P Eu

3.11 Podgraf
Graf G1 “ pV 1 , E 1 q nazywamy podgrafem grafu G “ pV, Eq jeśli V 1 Ă V oraz E 1 Ă E.
Jeśli V 1 “ V to G1 jest podgrafem spinającym.
Jeśli @u,vPV 1 tu, vu P G “ñ tu, vu P G1 , to G1 jest podgrafem indukowanym przez G (jakby wycinek grafu).

3.12 Dopełnienie grafu


`V ˘
Dopełnieniem grafu G “ pV, Eq nazywamy graf G “ pV, Eq : EXE “Ø^EYE “ 2

3.13 Droga Eulera


Drogą zamkniętą Eulera nazywamy drogę zamkniętą która zawiera każdą krawędź grafu (w drodze każda
krawędź wystąpić może co najwyżej raz).
Drogą otwartą Eulera o końcach w wierzchołkach u, v nazywamy drogę otwarta z u do v zawierającą każdą
krawędź multigrafu G.

3.14 Cykl Hamiltona


Cyklem Hamiltona w grafie G nazywamy cykl zawierający każdy wierzchołek tego grafu (dokładnie raz).
Analogicznie ścieżką Hamiltona nazywamy ścieżkę zawierającą każdy wierzchołek tego grafu.

3.15 Skojarzenie
Skojarzeniem w grafie G nazywamy taki zbiór krawędzi M , że każdy wierzchołek jest końcem co najwyżej jednej
krawędzi z M .
@e1 ,e2 PM : e1 X e2 “ Ø
Skojarzenie nazywamy pełnym, jeśli |M | “ n2 , gdzie n jest liczbą wierzchołków (każdy wierzchołek jest skoja-
rzony z pewną krawędzią z M ).
Skojarzenie M nazywamy maksymalnym jeśli nie istnieje w G krawędź e taka że: M Y e byłoby skojarzeniem.
Skojarzenie M ma maksymalną liczność gdy nie istnieje w G inne skojarzenie M 1 , takie że |M 1 | ą |M |.

(a) Skojarzenie (b) Skojarzenie maksymalne (c) Skojarzenie największe

Rysunek 1: Przykładowe skojarzenia

3
3.16 Spójność
Definiujemy:
κpGq - spójność wierzchołkową, jako najmniejsza ilość wierzchołków, których usunięcie powoduje rozspójnienie
grafu.
λpGq - spójność krawędziową, jako najmniejszą ilość krawędzi, których usunięcie powoduje rozspójnienie grafu.

3.17 Regularność
Graf nazywamy regularnym, jeśli wszystkie jego wierzchołki mają te same stopnie.

3.18 Ściana
Ściana grafu to część płaszczyzny, wyznaczona przez krawędzie tego grafu. Każdy graf posiada jedną nieograni-
czoną ścianę (zwaną zewnętrzną) oraz skończoną liczbę ścian zamkniętych tj. ograniczonych krawędziami grafu.

4 Podstawowe twierdzenia
4.1 Lemat o sumie stopni
Suma wszystkich stopni wierzchołków w grafie jest zawsze liczbą parzystą i wynosi:
ÿ
dpvq “ 2 ˚ Liczba krawedzi
vPV

4.2 Lemat o grafie spójnym


Jeśli δpGq ě t n2 u, to graf G jest spójny.

4.3 Lemat o rozkładzie na spójne składowe


Dla każdego grafu G “ pV, Eq istnieje jednoznaczny rozkład tego grafu na indukowane podgrafy spójne
G1 , G2 , . . . , Gk , takie że są one wierzchołkowo rozłączne, a suma wierzchołków je indukujących to cały zbiór V .
Każdy z podgrafów G1 , G2 , . . . , Gk nazywamy spójną składową grafu G.
(Graf spójny ma jedną spójną składową, siebie samego.)

4.4 Twierdzenie Eulera


Multigraf spójny G posiada zamkniętą drogę Eulera ðñ gdy każdy wierzchołek w G ma parzysty stopień.
Dodatkowo multigraf spójny G posiada otwartą drogę Eulera ðñ gdy posiada dokładnie 2 wierzchołki
nieparzystego stopnia.

4.5 Twierdzenie Orego


Jeżeli dla każdych nie połączonych krawędzią wierzchołków u, v w grafie G zachodzi warunek: dpuq ` dpvq ě n,
gdzie n oznacza liczbę wierzchołków, to G posiada cykl Hamiltona.

4.6 Twierdzenie Diraca


Z: δpGq ě |G|
2
T: G posiada cykl Hamiltona

4.7 Tw o grafie Hamiltonowskim


` ˘
Z: |E| ě |V 2|´1 ` 2
T: G posiada cykl Hamiltona

4.8 Lemat o dwudzielności grafu


Graf G jest dwudzielny ðñ gdy każdy cykl w G ma parzystą długość.
Jeżeli G “ pX, Y, Eq jest grafem dwudzielnym i G posiada cykl Hamiltona, to X i Y muszą być równoliczne.

4
4.9 Twierdzenie Berge’a
Twierdzenie wykorzystuje się w algorytmie Edmondsa-Karpa
Skojarzenie M w grafie G ma maksymalną liczność ðñ gdy nie istnieje w G ścieżka powiększająca względem
M . Ścieżką powiększającą p względem skojarzenia M nazywamy ścieżkę p o nieparzystej liczbie krawędzi, także
że:
p “ă v0 , v1 , v2 , v3 , v4 , . . . , vk´2 , vk´1 , vk ą
Gdzie pozioma kreska oznacza skojarzenie: @0ďiď k´2 : tv2i`1 , v2i`2 u P M , oraz v0 i vk są wierzchołkami niesko-
2
jarzonymi.
Mając ścieżkę powiększającą możemy prosto skonstruować skojarzenie większe zamieniając na ścieżce krawędzie
wolne na skojarzone i na odwrót.

4.10 Twierdzenie Hall’a


Niech G “ pX, Y, Eq będzie grafem dwudzielnym, w którym |X| ď |Y |.
W G istnieje skojarzenie rozmiaru |X| ðñ @SĂX : |S| ď |N pSq| (gdzie N(S) oznacza sąsiedztwo, patrz 3.1).

4.11 Twierdzenie Kuratowskiego


Skończony graf jest planarny, jeśli nie zawiera podgrafu, który jest grafem rozszerzonym grafu K5 lub K3,3 .
Przez graf rozszerzony rozumiemy graf w którym został dodany wierzchołek na co najmniej jednej krawędzi.

(a) K5 (b) K3,3

Rysunek 2: Ilustracja grafów wykorzystywanych w twierdzeniu

4.12 Warunki spełnione w każdym grafie planarnym


Warunki można wykorzystać do wykazania, że graf nie jest planarny przez kontrapozycję.
4.12.1 4.12.3
Z: G - planarny Z: G - planarny
T: |E| ď 3 ˚ |V | ´ 6 G - dwudzielny
T: |E| ď 2 ˚ |V | ´ 4
4.12.2
4.12.4
Z: G - planarny
T: δpGq ď 5 Z: G-planarny
G - dwudzielny
T: δpGq ď 3

4.13 Wzór Eulera


Prawdziwy tylko dla grafów planarnych.
Niech ϕ oznacza liczbę ścian w grafie. Wtedy:

|V | ´ |E| ` ϕ “ 2

5
5 Podstawowe klasy grafów
5.1 Graf spójny
Graf G nazywamy spójnym, jeśli @u,vPV istniej w G ścieżka o końcach w u i v.

5.2 Graf pełny


Graf G nazywamy pełnym, ozn. Kn , jeśli:

@tu,vuPV tu, vu P E
npn´1q ` n˘
Liczba krawędzi m w grafie pełnym o n wierzchołkach wynosi: 2 “ 2 .

5.3 Ścieżka i cykl


Ścieżką nazywamy taki graf G, że istnieje ścieżka w G, która zwiera wszystkie wierzchołki i wszystkie krawędzie
G.
Analogicznie cyklem nazywamy graf, którego wszystkie wierzchołki i wszystkie krawędzie stanowią cykl.
Ozn. Cn - Cykl, Pn - Ścieżka

5.4 Graf dwudzielny


Grafem dwudzielnym nazywamy taki graf, którego zbiór wierzchołków daje podzielić się na dwa rozłączne zbiory,
takie że między żadnymi dwoma wierzchołkami z jednego zbioru nie ma krawędzi.
Formalnie graf dwudzielny G określamy jako trójkę: G “ pU, V, Eq taką, że: E Ď U ˆ V , oraz U X V ‰ Ø

5.5 Graf pełny dwudzielny


Grafem pełnym dwudzielnym Kp,q nazywamy graf, taki że:

G “ pX, Y, Eq, |X| “ p, |Y | “ q

@xPX,yPY tx, yu P E

5.6 Graf planarny


Graf nazywamy planarnym, gdy istnieje taka reprezentacja tego grafu na płaszczyźnie, że żadne dwie jego
krawędzie się ze sobą nie przecinają.
Graf planarny nazywamy maksymalnym jeśli wszystkie ściany przez niego tworzone są ograniczone dokładnie
trzema krawędziami (są trójkątami ).
Aby udowodnić, że graf jest planarny wystarczy zaproponować taką reprezentację (tj. narysować).

5.7 Graf Hamiltonowski


Graf nazywamy Hamiltonowskim ðñ gdy zawiera on cykl Hamiltona.

5.8 Graf Eulerowski


Graf nazywamy Eulerowskim ðñ gdy zawiera on drogę zamkniętą Eulera.

5.9 Graf Petersena


Graf o układzie jak na ilustracji poniżej.
Własności grafu Petersena:
• |G| “ 10 ||G|| “ 15 δpGq “ ∆pGq “ 3 • Nie jest dwudzielny

• Regularny (@vPV : dpvq “ 3) • Nie jest Hamiltonowski (ale ma ścieżkę Hamiltona)


• Spójny • Nie jest Eulerowski
• Nie jest planarny

6
(a) Graf Petersena

Rysunek 3: Ilustracja grafu Petersena

5.10 Porównanie wymiarów podstawowych klas grafów


G |V | `|E| δpGq ∆pGq radpGq diampGq
n
˘
Kn n 2 n´1 n´1 1 1
Pn n n´1 1, n ě 2 2, n ě 3 t n2 u n´1
Cn n n 2 2 t n2 u t n2 u
Kp , q p`q p˚q min tp, qu maxtp, qu 2 p, q ě 2 2 p, q ě 2

6 Klasyczne problemy grafowe


6.1 Problem chińskiego listonosza
Dany jest graf spójny G “ pV, Eq, oraz funkcja wagowa w : E Ñ R` .
marszruty zamkniętej C, zawierającej każdą krawędź z G co najmniej raz, o minimalnym
Celem jest znalezienie ř
sumarycznym koszcie iPC wpiq.

6.2 Problem komiwojażera


Dany jest graf G “ pV, Eq z określoną funkcją wagową w : E Ñ R` . ř
Celem jest znalezienie cyklu C, zawierającego każdy wierzchołek grafu, o minimalnym koszcie iPC wpiq.

7 Podstawowe algorytmy grafowe


7.1 DFS
7.2 BFS
7.3 Trywialny algorytm liczenia najkrótszej ścieżki w grafie ważonym
Korzystając z algorytmu BFS możemy policzyć najkrótsze ścieżki także w grafie ważonym - dokładając na
każdej krawędzi o wadze w dokładnie pw ´ 1q fikcyjnych wierzchołków. Jest to rozwiązanie trywialne, lecz o
řn“|E|
dużej złożoności obliczeniowej ( Op|V | ` |E| ` n“1 pwn ´ 1qq, gdzie wn określa wagę n-tej krawędzi).

7.4 Dijkstra

8 Źródła:
• Wykłady dr. hab. Mariusza Meszki
• https://pl.wikipedia.org
• http://wazniak.mimuw.edu.pl
• Wprowadzenie do grafów BIT algo

You might also like