Co to jest graf?

GrafgrafGraf to struktura, która składa się z dwóch rodzajów elementów – wierzchołkówwierzchołekwierzchołkówkrawędzikrawędźkrawędzi.

Wierzchołek grafu jest elementem, który stanowi reprezentację pewnego obiektu, miejsca czy rzeczy. W zależności od struktury, jaka została przedstawiona w formie grafu, jego wierzchołkami (inaczej nazywanymi węzłami) mogą być np. samochody, planety, miasta na mapie czy cząsteczki chemiczne.

R1GOAS8DemW9s1
Przykładowe struktury, które mogą być modelowane za pomocą grafów.
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.

Krawędź grafu to z kolei powiązanie między dwoma wierzchołkami. Może ona mieć postać materialną (jak w przypadku kabli łączących komputery w sieci czy też dróg między miastami) lub niematerialną (jak relacje społeczne – np. przyjaźnie łączące uczniów danej klasy). Każda krawędź reprezentowana jest przez parę wierzchołków.

Ciekawostka

Graf, w którym każda para różnych wierzchołków połączona jest krawędzią, nazywamy grafem pełnym. Graf pełny o  wierzchołkach oznaczany jest symbolem . Liczbę krawędzi w takim grafie wyznacza wyrażenie .

Oznaczenia i definicje

Mianem grafu prostego określamy parę , w której  jest skończonym zbiorem elementów (wierzchołków lub inaczej węzłów), a  – skończonym zbiorem nieuporządkowanych par różnych elementów (krawędzi) zbioru . W takim przypadku  oznacza zbiór wierzchołków, a zbiór krawędzi grafu .

Ważne!

Często będziemy posługiwać się więcej niż jednym grafem. Dla ich rozróżnienia zbiór wierzchołków grafu  oznaczać będziemy jako , a zbiór krawędzi jako .

Posługując się grafami, często pomijamy cechy geometryczne, takie jak odległość między punktami – umiejscowienie wierzchołków służy jedynie przejrzystej wizualizacji.

R17JwVf9PGbu3
Różne rodzaje relacji między wierzchołkami
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.

Wierzchołki grafu zwykle oznaczamy kolejnymi liczbami naturalnymi lub literami (jak na rysunku poniżej: , , itd.), natomiast krawędzie będące nieuporządkowaną parąpara nieuporządkowananieuporządkowaną parą wierzchołków, np. {p,q}, możemy zapisać jako . Mówimy wtedy, że krawędź łączy wierzchołki .

RET85GKwO8DtD
Na rysunku zaprezentowano graf G, który składa się ze zbioru wierzchołków V ( G ) = { p , q , r , s , u , v } i zbioru krawędzi E ( G ) = { p u , q u , r u , s u , v u } .
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.
Ważne!

Przedstawione wcześniej przykłady grafów to grafy proste. Gdyby dopuścić jednak, że krawędzie grafu mogą łączyć także wierzchołek sam ze sobą oraz że pary wierzchołków mogą być połączone więcej niż jedną krawędzią, mielibyśmy do czynienia z multigrafem. Krawędź łączącą wierzchołek sam ze sobą nazywamy pętlą, zaś krawędź, która łączy wierzchołki już połączone – krawędzią wielokrotną.

Oto przykłady pętli oraz krawędzi wielokrotnych:

Rc3qpc8Blle3c
Na rysunku zaznaczono na zielono pętlę, a na żółto krawędzie wielokrotne.
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.

Wiele algorytmów grafowych korzysta z wag krawędzi, które można interpretować na różne sposoby. Przykładem może być algorytm DijkstryP1F65HeHZalgorytm Dijkstry (czyli algorytm wyszukujący najkrótsze połączenie między dwoma wierzchołkami) – wagi krawędzi traktujemy wówczas jako odległość między wierzchołkami i na tej podstawie algorytm znajduje najkrótszą ścieżkę między dwoma węzłami grafu. Graf, w którym krawędzie mają przypisane wagi, nazywamy grafem ważonym.

R1ANkZTZ7oYfe
Przykładowy graf z przypisanymi wagami krawędzi
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.

Dwa wierzchołki nazywamy sąsiednimi, gdy są one połączone krawędzią. Możemy wtedy również powiedzieć, że wierzchołki te są incydentne z tą krawędzią. Jeśli krawędzie mają jeden wspólny wierzchołek, również określamy je jako sąsiednie.

Stopień wierzchołkastopień wierzchołkaStopień wierzchołka grafu oznaczamy symbolem . Jest to liczba krawędzi incydentnych z wierzchołkiem . Zbiór wierzchołków sąsiednich dla wierzchołka nazywamy sąsiadami wierzchołka .

Trasy, drogi, cykle

Trasą w grafie nazywamy ciąg krawędzi: , w którym każde dwie kolejne krawędzie ze sobą sąsiadują lub są identyczne. Taka trasa wyznacza kolejno ciąg wierzchołków, które łączy: . W trasie tej  nazywamy wierzchołkiem początkowym, zaś – wierzchołkiem końcowym. Liczbę krawędzi wchodzących w skład trasy nazywamy jej długością. Szczególny przypadek trasy, gdzie wszystkie krawędzie są różne, nazywamy ścieżką. Ścieżkę, w której wierzchołki są różne (z wyjątkiem wierzchołka początkowego i końcowego), nazywamy drogą.

R11lQKShCIs93
Ścieżka t, u, q, r, u, s.
Źródło: Contentplus .pl Sp. z o.o., licencja: CC BY-SA 3.0.

Na powyższym grafie zaznaczono ścieżkę , w której jest wierzchołkiem początkowym, a  – wierzchołkiem końcowym. W tym przypadku długość ścieżki jest równa . Warto zauważyć, że wierzchołek  powtarza się na powyższej ścieżce dwukrotnie – z tego powodu nie możemy nazwać jej drogą.

Przykładową drogę , w której jest wierzchołkiem początkowym, a  wierzchołkiem końcowym, przedstawiono na grafie:

RCViTV3sWTqWi
Droga t, u, s, v, p, w.
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.
Ważne!

Jeśli w rozpatrywanym grafie każda para wierzchołków połączona jest drogą, mamy do czynienia z grafem spójnymgraf spójnygrafem spójnym.

Jeśli dla pewnej ścieżki zachodzi równość , to ścieżkę tę nazywamy ścieżką zamkniętą. Ścieżka zamknięta, która zawiera co najmniej jedną krawędź, to cykl. Oznacza to, że jedyną ścieżką zamkniętą niebędącą cyklem, jest ścieżka niezawierająca żadnej krawędzi.

RU06weaVPBZMC
Przykłady cykli
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.

Powyżej zaznaczono dwa cykle:  oraz . Możemy je znaleźć w tym samym grafie. Jeśli chcemy wiedzieć, czy dany graf zawiera cykl, możemy skorzystać z następującej własności:

o istnieniu cyklu w grafie
Własność: o istnieniu cyklu w grafie

Jeżeli najmniejszy stopień wierzchołka w grafie jest nie mniejszy niż , to graf zawiera cykl.

Izomorfizm

Grafy izomorficzneizomorfizmizomorficzne, jeżeli między ich wierzchołkami istnieje podobieństwo polegające na tym, że liczba krawędzi łączących wybraną parę wierzchołków grafu  oraz liczba krawędzi łączących dwa odpowiadające im wierzchołki grafu są takie same. Izomorfizm zapisujemy jako wyrażenie , a odpowiedniość wierzchołków oznaczamy symbolem .  Grafy izomorficzne mają taką samą strukturę, mogą różnić się tylko nazwami wierzchołków i krawędzi.

R5s0w2cQJ8rtp
Grafy izomorficzne
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.

Na przedstawionym rysunku wierzchołki grafu G odpowiadają wierzchołkom grafu H. Przykładowo, wierzchołek  grafu G ma trzech sąsiadów, co oznacza że odpowiada wierzchołkowi  w grafie H, czyli .

Polecenie 1

Rozrysuj w formie grafu relacje panujące w pewnym gronie. Załóż, że: Anna zna Bartka; Czarek zna Daniela; Czarek i Daniel znają Emilię; Bartek zna Franka, Daniela oraz Emilię.

Słownik

graf
graf

struktura składająca się z niepustego zbioru wierzchołków oraz ze zbioru krawędzi; dla grafu  zbiór wierzchołków oznaczamy (ang. verticies – wierzchołki), a zbiór krawędzi – (ang. edges – krawędzie); liczbę elementów zbioru  oznaczamy literą , zaś liczbę elementów zbioru

graf spójny
graf spójny

graf, w którym każda para wierzchołków połączona jest drogą

izomorfizm
izomorfizm

właściwość grafów polegająca na tym, że liczba krawędzi łączących dane dwa wierzchołki jednego grafu jest równa liczbie krawędzi łączących odpowiadające im wierzchołki drugiego grafu; jeśli graf  jest izomorficzny z grafem , to gdy jakieś dwa wierzchołki są połączone krawędzią w jednym z grafów, odpowiadające im wierzchołki w drugim grafie również łączy krawędź; izomorfizm grafów zachowuje takie własności jak: liczba wierzchołków, liczba krawędzi, stopnie wierzchołków, czy spójność grafu

krawędź
krawędź

nieuporządkowana para (niekoniecznie różnych) elementów zbioru wierzchołków, tj. takich, które są ze sobą połączone; w reprezentacji graficznej jest to linia łącząca te wierzchołki; krawędź może łączyć ze sobą jeden wierzchołek (wtedy nazywana jest pętlą)

para nieuporządkowana
para nieuporządkowana

zbiór złożony jedynie z dwóch różnych elementów: {a,b}

stopień wierzchołka
stopień wierzchołka

liczba krawędzi incydentnych z danym wierzchołkiem

wierzchołek
wierzchołek

inaczej: punkt, węzeł; element niepustego zbioru, który wraz ze zbiorem krawędzi tworzy graf