4.7 KiB
Vzdálenost vrcholů
Nechť x, y \in V(\vec{G})
. Délka nejkratšího orientovaného sledu z x
do y
v grafu \vec{G}
se nazývá vzdálenost vrcholů x
a y
v grafu \vec{G}
a značíme ji \text{d}(x, y)
. Pokud v \vec{G}
neexistuje sled z x
do y
, píšeme \text{d}(x, y) = \infty
.
\text{d}(x, x) = 0
- v neorientovaném grafu je vzdálenost definována jako v jeho symetrické orientaci
Věta: Nechť G
je neorientovaný graf. Potom pro každé x, y, z \in V(G)
platí:
\text{d}(x, y) \geq 0, \quad \text{d}(x, y) = 0 \implies x = y,
- pozitivní definitnost
\text{d}(x, y) = \text{d}(y, x),
- symetrie
\text{d}(x, z) \leq \text{d}(x, y) + \text{d}(y, z).
- trojúhelníková nerovnost
- v orientovaných grafech neplatí 2)
Distanční matice
Distanční matice grafu \vec{G}
je matice D(\vec{G}) = (d_{ij})
řádu n
, definovaná předpisem d_{ij} = \text{d}(v_{i}, v_{j})
, kde v_{1}, \dots, v_{n}
jsou vrcholy grafu \vec{G}
.
- obsahuje délku nejkratší možné cesty mezi prvky
v_{i}, v_{j}
Věta: Nechť \vec{G}
je orientovaný graf, D(\vec{G})
jeho distanční matice. Pro každé i \neq j
je prvek d_{ij}
roven nejmenší mocnině k
, pro kterou je prvek na pozici (i, j)
v matici sousednosti A^k(\vec{G})
nenulový.
Poznámka: Tímto způsobem umíme nalézt distanční matici v čase \mathcal{O}(n^4)
.
Věta: Graf \vec{G}
je acyklický, právě když existuje k \in \mathbb{N}
takové, že A^k(\vec{G})
je matice samých nul.
Ohodnocené grafy
Nechť \vec{G}
je orientovaný graf. Funkce w : E(\vec{G}) \to (0, \infty)
se nazývá hranové ohodnocení grafu \vec{G}
. Graf se zadaným ohodnocením se nazývá ohodnocený graf.
Vážená matice sousednosti
Váženou maticí sousednosti grafu \vec{G}
nazveme matici W(\vec{G}) = (w_{ij})
definovanou předpisem
w_{ij} = \begin{cases} w(i, j) & \text{pokud } (i, j) \in E(\vec{G}), \\ 0 & \text{jinak.} \end{cases}
- obsahuje ohodnocení orientovaných hran z vrcholu
v_{i}
dov_{j}
Poznámka: Pro neorientovaný graf G
opět definujeme matici W(G)
jako váženou matici sousednosti jeho symetrické orientace. Tato matice je symetrická a má nulové diagonální prvky.
$w$-délka cesty
Mějme orientovanou cestu \vec{P} \subseteq \vec{G}
v \vec{G}
. Číslo w(\vec{P}) = \sum_{h\in H(\vec{P})} w(h)
se nazývá $w$-délkou cesty \vec{P}
. Je-li \vec{P}
dílky nula, klademe w(\vec{P}) = 0
.
- jedná se o sumu ohodnocení všech hran cesty
Mějme vrcholy x, y \in V(\vec{G})
a orientovanou cestu \vec{P}
z x
do y
minimální $w$-délky.
- Potom říkáme, že
\vec{P}
je minimální cesta zx
doy
v grafu\vec{G}
. - Číslo
w(\vec{P})
se nazývá $w$-vzdálenost vrcholůx
ay
v grafu\vec{G}
a značí se\text{d}^w(x, y)
. - Jestliže v grafu
\vec{G}
neexistuje orientovaná cesta zx
doy
, klademe\text{d}^w(x, y) = \infty
.
- platí
\text{d}^w(x, x) = 0
Poznámka: Pro neorientovaný graf G
se tyto pojmy definují analogicky pro symetrickou orientaci grafu G
.
$w$-distanční matice
Mějme orientovaný graf \vec{G}
s vrcholy v_{1}, \dots, v_{n}
. Potom matici D^w(\vec{G})
definovanou předpisem d^w_{ij} = \text{d}^w(v_{i}, v_{j})
nazveme $w$-distanční maticí grafu \vec{G}
.
- obsahuje nejkratší možnou $w$-délku cestu z vrcholu
v_{i}
dov_{j}
Nalezení $w$-distanční matice
-
Matici
D_{0}(\vec{G})
definujeme předpisemd^0_{ij} = \begin{cases} 0 & \text{pro } i = j, \\ \infty & \text{pro } i \neq j, (i, j) \notin E(\vec{G}), \\ w(i, j) & \text{pro } i \neq j, (i, j) \in E(\vec{G}). \end{cases}
-
Definujeme nové operace
a \oplus b = \min(a, b),
a \otimes b = a + b.
-
$k$-tou mocninou matice
D_{0}(\vec{G})
při těchto operacích značímeD_{0}^{(k)}
.
Věta: Nechť \vec{G}
je ohodnocený orientovaný graf, nechť r
je nejmenší číslo, pro které D_{0}^{(r)}(\vec{G}) = D_{0}^{(r+1)}(\vec{G})
. Potom D^w(\vec{G}) = D_{0}^{(r)}(\vec{G})
.
- $w$-distanční matice je taková mocnina matice
D_{0}(\vec{G})
, pro kterou je o 1 vyšší mocnina této matice stejná jako původní umocněná
Poznámka: Tento postup pracuje v čase \mathcal{O}(n^4)
. Nejlepší známé algoritmy pracují v čase \mathcal{O}(n^3)
.
Poznámka: Pro neorientovaný graf G
definujeme d^w(u, v)
analogicky pro symetrickou orientaci grafu G
.
Tvrzení: Nechť G
je neorietovaný graf. Potom pro každé x, y, z \in V(G)
platí
d^w(x, y) \geq 0, \quad d^w(x, y) = 0 \iff x = y,
d^w(x, y) = d^w(y, x),
d^w(x, z) \leq d^w(x, y) + d^w(y, z).
- tj.
\text{d}^w
je metrika naG