13. Tétel elkészítés és 14. Állítások és Definíciók hozzáadása

13. A DFS algoritmus, DFS-erdő, az élek osztályozása, osztályzás az algoritmus futása
közben. A DFS alkalmazása az aciklikusság eldöntésére, illetve topologikus sorrend meghatározására.
This commit is contained in:
Bazsalanszky 2020-06-14 21:37:49 +02:00
parent e4ed6470a4
commit cd297e963d

View file

@ -324,7 +324,7 @@
olyan zárt élsorozata $G\text{-nek}$,amelyben az előforduló élek száma
maximális. Indirekt módon tegyük fel,hogy $H$ nem egy Euler-köre
$G\text{-nek}$. Vizsgáljuk meg a $G'$ gráfot,amit úgy kapunk,hogy $G\text{-ből}$
elhagyjuk a $H$ kört. $G'$ nem feltétlenül összefüggő,viszont összesen
elhagyjuk a $H$ kör éleit. $G'$ nem feltétlenül összefüggő,viszont összesen
$n\text{-nél}$ kevesebb pontja,van hiszen a kiinduló pont nincs benne. Az
indukciós feltétel alapján, $G'$ minden komponensében van Euler-kör. Mivel $G$
összefüggő , $G'$ valamelyik komponensének van olyan pontja,amelyik
@ -1214,6 +1214,9 @@ a $G\text{-nek}$ egy tetszőleges éle. Ekkor
-ből $u$ -ba nincs irányított út (vagyis $u$ és $v$ között nincs „egyenes ági
leszármazási viszony”).
** Tétel
:PROPERTIES:
:CUSTOM_ID: dfs
:END:
Tegyük fel, hogy a $G$ irányított gráfra a DFS algoritmust futtatva az
éppen az $e = (a, v)$ élen próbál továbblépni (így az aktív csúcs jelenleg $a$). Ekkor
$e$ erre a DFS bejárásra vonatkozóan akkor és csak akkor lesz
@ -1249,7 +1252,69 @@ indítva. $G$ akkor és csak akkor aciklikus, ha az eljárás során nem keletke
visszaél és ebben az esetben a befejezési számozás szerinti fordított sorrendben
felsorolva $G$ csúcsait topologikus rendezést kapunk.
*** Bizonyítás
- Ha keletkezik egy $e=(a,v)$ visszaél,akor $G$ nyilván tartalmaz irányított
kört: $F$ DFS-erdő tartalmaz $v \rightarrow a$ utat,ha ezt kiegészítjük
$e\text{-vel}$ akkor egy kört kapunk.
- Tegyük fel, hogy nem keletkezett visszaél,így $G $minden $e=(a,v)$ éle
faél,előreél vagy keresztél. Ekkor be kell látnunk,hogy $f(v)<f(a)$,mert ezzel
a második állítás is igaz
- Használjuk fel a [[#dfs]] tétel bizonyításában használt elveke.
- Ha $e$ faél vagy előreél, akkor $kezd(v)$ $I(a)\text{-be}$ tartozik,így $F_a$
részgráfja $F_$v\text{-nek}, azaz $f(a)<f(a)$
- Ha $e$ keresztél, akkor $T$ pillanatban már $f(v) \ne *$,viszont $f(a)=*$, így
valóban $f(v)<f(a)$
* Legrövidebb utak meghatározása adott csúcsból
** Definíció
A $G = (V, E)$ irányított gráf élein a $w : E \rightarrow \mathbb{R}$ függvényt
konzervatívnak nevezzük, ha $G$ minden (hurokéltől különböző, vagyis legalább két
élű) irányított körének éleire a $w(e)$ értékek összege nemnegatív.
** Állítás
Legyen adott a $G = (V, E)$ irányított gráf, az $s, v \in V (G)$, $s \neq v$ csúcsok
és $G$ élein a $w : E\rightarrow\mathbb{R}$ konzervatív hosszfüggvény. Ekkor ha létezik $s\text{-ből}$ $v\text{-be}$ egy
$t$ összhosszúságú, $k$ élből álló $Q$ élsorozat, akkor létezik $s\text{-ből}$ $v\text{-be}$ egy legföljebb $t$
összhosszúságú és legföljebb $k$ élű $P$ út is.
*** Bizonyítás
*** Következmény
Legyen adott a $G = (V, E)$ irányított gráf, az $s, v \in V (G)$
csúcsok és $G$ élein a $w : E \rightarrow\mathbb{R}$ konzervatív hosszfüggvény. Ha az $s\text{-ből}$ $v\text{-be}$ vezető
$P$ legrövidebb út áthalad az $u$ csúcson, akkor $P\text{-nek}$ az $s\text{-től}$ $u\text{-ig}$ tartó $P$ $u$ szakasza
egy $s\text{-ből}$ $u\text{-ba}$ vezető legrövidebb út.
*** Következmény bizonyítása
** A Bellman-Ford algoritmus
*** Állítás
Legyen adott a $G = (V, E)$ irányított gráf, az $s, v \in V (G)$, $v \neq s$ csúcsok
és $G$ élein a $w : E \rightarrow \mathbb{R}$ konzervatív hosszfüggvény. Ekkor minden $k \geq 1$ esetén
\begin{align}
t_k (v) = \min{\{\{t_{k1}(v)\} \cup \{t_{k1} (u) + w(e) : e = (u, v), e \in E(G)\}\}}
\end{align}
**** Bizonyítás
*** Az algoritmus
*** Állítás
Tegyük fel, hogy lefuttattuk a Bellman-Ford algoritmust az $n$ csúcsú
$G = (V, E)$ irányított gráfból, a $w : E \rightarrow \mathbb{R}$ hosszfüggvényből és az $s \in V$ csúcsból
álló bemenetre. Jelölje $G_s$ az $s\text{-ből}$ $G\text{-beli}$ irányított úton
elérhető csúcsok és a köztük vezető élek által alkotott részgráfot. Ekkor $w$
akkor és csak akkor konzervatív $G_s\text{-en}$, ha $G_s$ minden $e = (u, v)$
élére $t_{n1} (v) \leq t_{n1} (u) + w(e)$ teljesül.
**** Bizonyítás
** Dijkstra algoritmusa
*** Állítás
Legyen adott a $G = (V, E)$ irányított gráf, az $s \in V (G)$ csúcs és a
$w : E \rightarrow \mathbb{R}^+ \cup \{0\}$ nemnegatív hosszfüggvény.
- Jelölje továbbra is minden $v \in V (G)$ csúcsra $t(v)$ az $s\text{-ből}$ $v\text{-be}$ vezető
legrövidebb út hosszát.
- Legyen $K \subseteq V$ egy tetszőleges olyan csúcshalmaz, amire $s \in K$ és $K \neq V$
- Minden olyan $v \notin K$ csúcsra, amibe vezet él $K\text{-beli}$ csúcsból,
legyen $t'(v) = \min{\{t(u) + w(e) : e = (u, v), u \in K\}}$.
- Ha a $v \notin K$ csúcsba nem vezet él $K\text{-beli}$ csúcsból, akkor legyen $t'(v) = \infty$.
- Legyen $a \notin K$ olyan csúcs, amire $t'(a) = \min\{t'(v) : v \notin K\}$.
Ekkor $t\notin (a) = t(a)$.
**** Bizonyítás
*** Az algoritmus
* Hivatkozások
\clearpage