2.1 Souvislost grafů
Souvislost (neorientovaných) grafů
Definice 2.1 (Souvislost grafu)
Souvislost grafu
Graf \(G\) je souvislý, jestliže v něm pro každé jeho dva vrcholy \(u\), \(v\) existuje u-v-cesta.
Jinak je \(G\) nesouvislý.
Definice 2.2 (Souvislá komponenta)
Souvislá komponenta
Indukovaný podgraf \(H\) grafu \(G\) je souvislou komponentou, pokud:
- je souvislý a
- neexistuje žádný souvislý podgraf \(F\) , \(F \neq H\), grafu \(G\) takový, že \(H \subseteq F\).
Souvislá komponenta je tedy v inkluzi maximální souvislý podgraf grafu \(G\).
Pozorování
Graf je souvislý právě tehdy, když obsahuje jedinou souvislou komponentu.
Důkaz
-
\(\Rightarrow\)
Sporem. Je-li souvislý, pak nemůže obsahovat více než jednu souvislou komponentu, protože vrcholy a hrany komponent jsou disjunktní, a pokud by existovaly alespoň dvě komponenty, pak by existovaly dva vrcholy v jednotlivých komponentách tak, že by mezi nimi neexistovala cesta, a tedy daný graf by nebyl souvislý. -
\(\Leftarrow\)
Obsahuje-li graf jedinou souvislou komponentu, pak je z definice komponenty souvislý.
Tvrzení
Binární relace \(\leftrightsquigarrow\) nad vrcholy grafu \(G\) definovaná předpisem
je ekvivalence, jejíž třídy ekvivalence indukují souvislé komponenty grafu \(G\).
Souvislost orientovaných grafů
- Pojmy souvislost a souvislá komponenta neorientovaných grafů nelze jednoduše použít pro orientované grafy.
Definice 2.3 (Symetrizace orientovaného grafu)
Symetrizace orientovaného grafu
Symetrizace orientovaného grafu \(G = (V, E)\) je neorientovaný graf
sym\((G) = (V, E')\), kde:
\(\phantom{XXXX}\{u, v\} \in E'\) právě tehdy, když \((u, v) \in E\) nebo \((v, u) \in E\).
Symetrizace tedy odstraní z grafu informace o orientaci hran.
Definice 2.4 (Slabá souvislost orientovaného grafu)
Slabá souvislost orientovaného grafu
Orientovaný graf \(G = (V, E)\) nazveme slabě souvislý, pokud je souvislá jeho symetrizace sym\((G)\).
Testovat slabou souvislost orientovaného grafu tedy znamená testovat, např. pomocí algoritmu BFS, souvislost jeho symetrizace, což je neorientovaný graf.
Definice 2.5 (Silná souvislost orientovaného grafu)
Silná souvislost orientovaného grafu
Orientovaný graf \(G = (V, E)\) nazveme silně souvislý, pokud pro každé dva vrcholy \(u, v \in V\) existuje v \(G\) orientovaná cesta z \(u\) do \(v\) a současně orientovaná cesta z \(v\) do \(u\).
Vyšetřování souvislosti grafu
Úloha vyšetřování souvislosti grafu \(G\) má různé podoby, např.:
- Zjistit, zda je \(G\) souvislý.
- Pokud není, identifikovat všechny souvislé komponenty.
- Je-li zadán vrchol \(s\), zkonstruovat souvislou komponentu, do které \(s\) patří.
Vstup: Graf \(G\).
Výstup: Graf \(s\) označenými souvislými komponentami.
Algoritmus 2.1 (BFS_graf)
BFS_graf
Algoritmus BFS_graf (graf G): | |
---|---|
BFS(graf G, vrchol s): | |
---|---|
Vstup: Graf \(G\) a jeden jeho vrchol \(s\).
Výstup: Graf \(s\) označenou souvislou komponentou, ve které leží vrchol \(s\).