Skip to content

Teorie grafů

Graf je matematická struktura, která je definována dvěma konečnými [[Množiny|množinami]]: - konečnou množinou vrcholů (uzlů) - a množinou dvojic vrcholů - tzv. hran

Graf slouží k znázornění propojení mezi prvky množiny. Jednotlivé prvky se pak tedy nazývají vrcholy, zatímco vztahy mezi nimi se nazývají hrany.

Hrany jsou dvojice vrcholů, která mezi nimi vytváří čáru.

![[Pasted image 20211108214546.png]] Příklad (neorientovaného) grafu

[[Vlastnosti grafu]]

[[Matice sousednosti]]

[[Ohodnocené grafy]]

[[Speciální grafy]]

Matice sousednosti

Matice sousednosti je to taková matice, která popisuje, kolik hran vede z jednoho vrcholu do druhého.

Matice sousednosti je jedním ze způsobů reprezentace grafu. Tím, že se jedná o číselnou reprezentaci, je výhodná pro výpočty. - Matice je vždy čtvercová o velikosti \(n\times n\), kde \(n\) je počet vrcholů.

$\(\begin{bmatrix} [V_1, V_1] & [V_1, V_2] & [V_1, V_3] & [V_1, V_4] \\ [V_2, V_1] & [V_2, V_2] & [V_2, V_3] & [V_2, V_4] \\ [V_3, V_1] & [V_3, V_2] & [V_3, V_3] & [V_3, V_4] \\ [V_4, V_1] & [V_4, V_2] & [V_4, V_3] & [V_4, V_4] \\ \end{bmatrix}\)$ Obecné schéma pro graf o 4 vrcholech, kde místo jednotlivých dvojic bude počet hran mezi body ve dvojici.

Obrázek grafu Matice sousednosti grafu
![[Pasted image 20211108223746.png]] $\(\large\begin{bmatrix}0 & 1 & 0 & 0 & 0\\1 & 0 & 1 & 1 & 1\\0 & 1 & 0 & 1 & 0\\0 & 1 & 1 & 0 & 1\\0 & 1 & 0 & 1 & 0\end{bmatrix}\)$
Příklad grafu a jeho matice sousednosti.

Ohodnocené grafy

Pro účely dalších výpočtů se mohou některé grafy ohodnocovat. Ohodnocení grafu znamená, že se nějaké jeho části přiřadí číslo. Hodnotit můžeme buďto - Hrany, kde každé hraně je přiřazeno nějaké číslo - nebo vrcholy, kde každému vrcholu je přiřazeno nějaké číslo.

Pokud jsou hodnocené hrany, bývají poté v [[Matice sousednosti|matici sousednosti]] místo počtu hran mezi vrcholy jejich hodnoty.

Při hodnocení vrcholů se [[Matice sousednosti|matice sousednosti]] nepoužívá, jelikož ta popisuje hrany, nikoliv vrcholy. Graf s ohodnocenými vrcholy by se dal převést na graf o ohodnocenými hranami, ale to nám za to ve většině případů nestojí.

Sled

Sled grafuje je taková [[Úvod do posloupností|posloupnost]] [[Graf|vrcholů]], že mezi dvěma [[Graf|vrcholy]] je [[Graf|hrana]].

Sled mezi krajními uzly \(u_0\) a \(u_n\) $\(\Large(u_0,\varepsilon_1,u_1,\varepsilon_2,u_2, ..., \varepsilon_{n-1}, u_{n-1}, \varepsilon_n, u_n)\)$

Speciální grafy


Nulový graf

Nulový graf je takový graf, který obsahuje pouze vrcholy, ale žádné hrany.

\[\begin{aligned} G&=(V,E)\\ V&=\set{a,b,c,...}\\ E&=\emptyset\end{aligned}\]

Triviální graf

Triviální graf je takový graf, který obsahuje pouze jediný vrchol, a tím pádem žádné hrany[^2]

\[\begin{aligned} G&=(V,E)\\ V&=\set{a}\\ E&=\emptyset\end{aligned}\]

Prázdný graf

Prázdný graf je takový graf, který neobsahuje ani vrcholy, a tím pádem ani hrany.

\[\begin{aligned} G&=(V,E)\\ V&=\emptyset\\ E&=\emptyset\end{aligned}\]

[^1]:Je-li graf orientovaný, vyznačuje se "směr" šipkou. [^2]: Proč? Protože hrana potřebuje ke své existenci dva body.

Vlastnosti grafu

[[Graf]] se dá dále upravovat v rámci podle toho, jakým způsobem potřebujeme vyjadřovat vztahy mezi vrcholy. Potřebujeme například vytvářet smyčky? Určovat směr z vrcholu do vrcholu?

Níže jsou tyto vlastnosti vypsané a jakým způsobem mění název grafu. Podotýkám, že tyto názvy, lze kombinovat... takže můžeme klidně skončit s orientovaným multipseudografem fun times eh?.

Vlastnost Název grafu
Jsou hrany v uspořádané dvojici? Orientovaný
graf více stejně orientovaných hran? Multigraf
Nemá graf více stejně orientovaných hran? Prostý
Mohou se v grafu vytvářet smyčky? Pseudograf
Existuje pro každé jeho dva vrcholy [[Sled]]? Souvislý

Orientovanost grafu

  • Pokud jsou hrany neuspořádané dvojice vrcholů
    • Mezi dvojicí je vztah "obousměrný"
    • takový graf nazýváme neorientovaný.
  • Pokud jsou hrany uspořádané dvojice vrcholů
    • Mezi dvojicí je určen vztah "pouze jedním směrem"
    • takový graf nazýváme orientovaný[^1].

Prostost grafu

  • Pokud graf neobsahuje duplicitní hrany
    • mezi dvěma vrcholy neexistuje více stejně orientovaných hran, ale právě nanejvýš jedna
    • takový graf nazýváme prostým
  • Pokud graf obsahuje duplicitní hrany
    • mezi dvěma vrcholy existuje více stejně orientovaných hran
    • takový graf nazýváme multigrafem

Pseudograf

  • Pokud umožníme vytvářet hrany mezi 1 vrcholem (\(\large[V_i, V_i]\))
    • vytváříme smyčku ve vrcholu
    • takový graf nazýváme pseudograf

Souvislost grafu

  • Pokud pro každé dva vrcholy grafu existuje [[Sled|sled]]
    • takový graf nazýváme souvislý

Incidence

Incidence určuje vztah [[Graf|vrcholů a hran]] mezi sebou. Nejčastěji se vyjadřuje jako [[Úvod do funkcí|funkce]] nebo [[Zobrazení|zobrazení]].

Mějte například graf \(G=(V,E)\), kde - \(V\) je množina vrcholů (Vertices) - a \(E\) je množina hran (Edges)

Pak hrana \(\large e_{ij}=(V_i, V_j)\) (hrana mezi body \(V_i\) a \(V_j\)) je incidentní s vrcholem \(V_i\) a s vrcholem \(V_j\).