1.1 Definicja grafu i jego komponenty
Graf to struktura danych składająca się z wielu wierzchołków (lub węzłów) i wielu krawędzi (lub łuków), łączących te wierzchołki. Grafy są szeroko stosowane do modelowania i przedstawiania różnych obiektów i ich wzajemnych relacji.

Główne komponenty grafu:
Wierzchołki:
- Elementy grafu, reprezentujące obiekty.
- Oznaczane jako V (zbiór wierzchołków).
- Na przykład, V = {A, B, C, D}.
Krawędzie:
- Połączenia między wierzchołkami, reprezentujące relacje lub więzi.
- Oznaczane jako E (zbiór krawędzi).
- Na przykład, E = {(A, B), (B, C), (C, D), (A, D)}.

Główne cechy grafu:
Stopień wierzchołka:
- Liczba krawędzi przylegających do danego wierzchołka.
- W grafie nieskierowanym stopień wierzchołka to liczba krawędzi łączących ten wierzchołek z innymi.
- W grafie skierowanym wyróżnia się stopień wejścia i wyjścia wierzchołka.
Ścieżka w grafie:
- Kolejność krawędzi, łączących kolejne wierzchołki.
- Na przykład, ścieżka z A do D: A → B → C → D.
Cykl w grafie:
- Ścieżka, która zaczyna się i kończy w tym samym wierzchołku.
- Na przykład, cykl: A → B → C → A.
1.2 Rodzaje grafów
Grafy mogą być bardzo różne, ale można wyodrębnić z nich ciekawe podtypy:

1. Graf nieskierowany:
Krawędzie tego grafu nie mają kierunku, tzn. połączenie między dwoma wierzchołkami można przejść w obie strony.
Przykład:
Sieci społecznościowe, gdzie węzły reprezentują ludzi, a krawędzie — ich przyjaźnie.
2. Graf skierowany:
Krawędzie grafu mają kierunek (i zwykle są oznaczane strzałkami), tzn. połączenie między dwoma wierzchołkami można przejść tylko w jednym kierunku.
Przykład:
Graf linków na stronach internetowych, gdzie węzły to strony, a krawędzie to linki między nimi.
3. Graf ważony:
Krawędzie mają wagi (liczby), które mogą reprezentować odległości, koszty lub inne miary.
Przykład:
Graf dróg, gdzie węzły to miasta, a krawędzie — drogi z ich długością lub kosztami przejazdu.
4. Graf mieszany:
Zawiera zarówno krawędzie skierowane, jak i nieskierowane.
Przykład:
Systemy transportowe, gdzie niektóre drogi są dwukierunkowe, a inne — jednokierunkowe.
5. Graf planarny:
Graf, który można narysować na płaszczyźnie tak, aby jego krawędzie się nie przecinały.
Przykład:
Graf dróg w mieście (bez tuneli).
6. Graf spójny:
Graf, w którym istnieje ścieżka między każdą parą wierzchołków.
Przykład:
Graf reprezentujący sieć miast, w której każda para miast jest połączona drogą.
7. Graf acykliczny:
Graf, który nie zawiera cykli.
Przykład:
Drzewo reprezentujące strukturę systemu plików.
1.3 Przykłady zastosowania grafów
1. Sieci społecznościowe:
- Węzły reprezentują ludzi, a krawędzie — ich przyjaźnie.
- Służy do analizy więzi, znajdowania społeczności, wpływu użytkowników itp.
2. Internet i routing:
- Węzły reprezentują routery lub komputery, a krawędzie — połączenia między nimi.
- Służy do znajdowania optymalnych tras przesyłania danych.
3. Genomika:
- Węzły reprezentują geny lub białka, a krawędzie — interakcje między nimi.
- Służy do analizy danych genomowych, wyszukiwania wzorców itp.
4. Logistyka i transport:
- Węzły reprezentują miasta lub węzły transportowe, a krawędzie — drogi lub szlaki.
- Służy do optymalizacji tras dostaw, minimalizacji kosztów itp.
5. Sieci komputerowe:
- Węzły reprezentują urządzenia lub serwery, a krawędzie — połączenia między nimi.
- Służy do projektowania i zarządzania sieciami.
6. Analiza danych i machine learning:
Grafy są używane do reprezentacji i analizy danych, znajdowania klastrów, tworzenia systemów rekomendacyjnych itp.
GO TO FULL VERSION