FAV-ZCU/KMA DMA/Otázky ke zkoušce/25. Úloha minimální kostry.md

32 lines
1.6 KiB
Markdown

# Úloha minimální kostry
Nechť $G$ je souvislý ohodnocený neorientovaný graf a nechť $T$ je kostra grafu $G$. Potom číslo
$\displaystyle w(T) = \sum_{e \in E(T)} w(e)$
nazveme **vahou kostry $T$ v grafu $G$**. Kostru $T'$ takovou, že $w(T') = \min\{ w(T); T \text{ je kostra } G \}$, nazveme **minimální kostrou grafu $G$**.
## Algoritmus - O. Borůvka
- Vstup: souvislý ohodnocený neorientovaný graf.
1. $F$ je faktor grafu $G$ s $E(F) = \emptyset$ (nemá žádné hrany).
2. Existuje hrana $e \in E(G) - E(F)$ taková, že faktor $F' = (V(G), E(F) \cup \{e\})$ neobsahuje kružnici?
- Pokud ne - KONEC, pokud ano, pokračuj na 3.
3. Ze všech takových hran vyber hranu $e'$ s minimální váhou a polož $F = (V(G), E(F) \cup \{e'\})$ a jdi na 2.
**Věta**: Nechť $G$ je souvislý ohodnocený neorientovaný graf. Potom faktor $F$ nalezený předchozím algoritmem je minimální kostra grafu $G$.
## Algoritmus - V. Jarník
- Vstup: souvislý ohodnocený neorientovaný graf.
1. Zvolme libovolný vrchol $x \in V(G)$, položme $i := 1$ a $G_{1} = (\{x\}, \emptyset)$.
2. Je $V(G_{i}) = V(G)$?
- ANO - $G_{i}$ je minimální kostrou grafu $G$, konec
- NE - zvolme hranu $e_{i}$ s nejmenší vahou takovou, že má jeden konec v $G_{i}$ a druhý $x_{i}$ mimo $G_{i}$ (ze souvislosti grafu $G$ taková hrana existuje), krok 3
3. Označme $G_{i+1}$ graf vzniklý z grafu $G_{i}$ přidáním hrany $e_{i}$ včetně jejího koncového vrcholu $x_{i}$
- $V(G_{i+1}) = V(G_{i} \cup \{x_{i}\}), \quad E(G_{i+1}) = E(G_{i}) \cup \{e_{i}\}$
- krok 2
## Algoritmus - J. B. Kruskal
- TODO