Kisebb hibák javítása
This commit is contained in:
parent
0de896054e
commit
088b92198b
1 changed files with 352 additions and 296 deletions
648
bsz2.org
648
bsz2.org
|
@ -118,7 +118,7 @@
|
||||||
** Teljes gráf
|
** Teljes gráf
|
||||||
Bármely két különböző csúcs össze van kötve.
|
Bármely két különböző csúcs össze van kötve.
|
||||||
** Komplementer gráf
|
** Komplementer gráf
|
||||||
Ugyanazon pontokból áll, teljes gráf $ -$ gráf élei
|
Ugyanazon pontokból áll, teljes gráf $-$ gráf élei
|
||||||
** Izomorf gráf
|
** Izomorf gráf
|
||||||
Két gráfot akkor nevezünk izomorfnak, ha pontjaik és éleik kölcsönösen egyértelműen és illeszkedéstartóan megfeleltethetők egymásnak.
|
Két gráfot akkor nevezünk izomorfnak, ha pontjaik és éleik kölcsönösen egyértelműen és illeszkedéstartóan megfeleltethetők egymásnak.
|
||||||
** Élsorozat
|
** Élsorozat
|
||||||
|
@ -260,7 +260,7 @@
|
||||||
előbbi jelölésekkel $e\leq3n-6$.
|
előbbi jelölésekkel $e\leq3n-6$.
|
||||||
*** Bizonyítás
|
*** Bizonyítás
|
||||||
Vegyük $G$ egy tetszőleges síkbarajzolását, és a tartományokat határoló élek
|
Vegyük $G$ egy tetszőleges síkbarajzolását, és a tartományokat határoló élek
|
||||||
számát jelöljük $c_1,c_2,c_3,\dotsc_t\text{-el}$. Mivel a gráf egyszerű így
|
számát jelöljük $c_1,c_2,c_3,\dotsc,c_t\text{-el}$. Mivel a gráf egyszerű így
|
||||||
minden $c_i\text{-re}$ teljesül,hogy $c_i\geq 3$. Nyilvánvaló, hogy egy él
|
minden $c_i\text{-re}$ teljesül,hogy $c_i\geq 3$. Nyilvánvaló, hogy egy él
|
||||||
legfeljebb két tartomání határához tartozik,tehát ha összegezzük a határoló élek
|
legfeljebb két tartomání határához tartozik,tehát ha összegezzük a határoló élek
|
||||||
számát akkor legfeljebb egy élet kétszer számolunk. Így az alábbi egyenletet
|
számát akkor legfeljebb egy élet kétszer számolunk. Így az alábbi egyenletet
|
||||||
|
@ -297,8 +297,12 @@
|
||||||
A $K_{3,3}$ nem tartalmaz 3 hosszú utat, így alkalmazható a [[*Becslés az élek
|
A $K_{3,3}$ nem tartalmaz 3 hosszú utat, így alkalmazható a [[*Becslés az élek
|
||||||
számára háromszögmentes gráfban]] tétel.A $K_{3,3}\text{-nak}$ 6 csúcsa és 9 éle
|
számára háromszögmentes gráfban]] tétel.A $K_{3,3}\text{-nak}$ 6 csúcsa és 9 éle
|
||||||
van: $9>2\cdot6-4=8$,ez ellentmondás,azaz a $K_{3,3}$ sem rajzolható síkba.
|
van: $9>2\cdot6-4=8$,ez ellentmondás,azaz a $K_{3,3}$ sem rajzolható síkba.
|
||||||
** TODO Síkbabarjzolható gráfok dualitása
|
** Síkbabarjzolható gráfok dualitása
|
||||||
|
Minden síkbarajzolható $G$ gráfból, létrehozhatunk egy $G^*$ gráfot a következő eljárás alapján:
|
||||||
|
- $G$ minden tartományához,rendelünk egy $G^*\text{-beli}$ csúcsot
|
||||||
|
- Két csúcsot akkor kötünk össze,ha a megfelelő tartományoknak,van közös
|
||||||
|
határéle
|
||||||
|
$G$ és $G^*$ egymás *duálisai*,hiszen ugyanezzel az eljárással egymásba alakíthatóak.
|
||||||
* Euler- és Hamilton körök $\protect \footnote{ \cite{kv} alapján.}$
|
* Euler- és Hamilton körök $\protect \footnote{ \cite{kv} alapján.}$
|
||||||
** Definíció
|
** Definíció
|
||||||
A $G$ gráf Euler-körének nevezünk egy zárt élsorozatot, ha az élsorozat pontosan
|
A $G$ gráf Euler-körének nevezünk egy zárt élsorozatot, ha az élsorozat pontosan
|
||||||
|
@ -312,7 +316,7 @@
|
||||||
Először belátjuk,hogy ha egy gráfban van Euler-kör,akkor minden pont foka
|
Először belátjuk,hogy ha egy gráfban van Euler-kör,akkor minden pont foka
|
||||||
páros. Induljunk ki először egy tetszőleges csúcsból és járjuk be az Euler-köre
|
páros. Induljunk ki először egy tetszőleges csúcsból és járjuk be az Euler-köre
|
||||||
mentén. Vegyük észre,hogy minden csúcsba, annyiszor ''megyünk be'', ahányszor
|
mentén. Vegyük észre,hogy minden csúcsba, annyiszor ''megyünk be'', ahányszor
|
||||||
kimegyünk belőle,így a ''kilépések'' és a ''belépések'' számának összege éppen a
|
''kimegyünk'' belőle,így a ''kilépések'' és a ''belépések'' számának összege éppen a
|
||||||
csúcs fokszáma. Ez így pedig biztosan páros.
|
csúcs fokszáma. Ez így pedig biztosan páros.
|
||||||
|
|
||||||
A másik irányt(ha minden csúcs foka páros,akkor van Euler-kör) indukcióval
|
A másik irányt(ha minden csúcs foka páros,akkor van Euler-kör) indukcióval
|
||||||
|
@ -372,8 +376,8 @@
|
||||||
Hamilton-kör. Vegyünk hozzá a gráfhoz éleket,úgy hogy
|
Hamilton-kör. Vegyünk hozzá a gráfhoz éleket,úgy hogy
|
||||||
továbbra se legyen benne Hamilton-kör. Ezt egészen addig csináljuk,amíg már nem
|
továbbra se legyen benne Hamilton-kör. Ezt egészen addig csináljuk,amíg már nem
|
||||||
tudunk több ilyen élet hozzávenni. Az így kapott $G'$ gráfra továbbra is
|
tudunk több ilyen élet hozzávenni. Az így kapott $G'$ gráfra továbbra is
|
||||||
teljesül a kezdeti feltétel. Biztosan van benne két olyan pont,hogy ${x,y}\notin
|
teljesül a kezdeti feltétel.Ekkor biztosan van benne két olyan pont,hogy ${x,y}\notin
|
||||||
E(G')$. Ekkor $G'+{x,y}$ gráfban már van egy Hamilton-kör, és Hamilton-út
|
E(G')$ és $G'+{x,y}$ gráfban már van egy Hamilton-kör, és Hamilton-út
|
||||||
is. Legyen ez $P=(z_1,z_2,\dots,z_n)$,ahol $z_1=x$ és $z_n=y$.
|
is. Legyen ez $P=(z_1,z_2,\dots,z_n)$,ahol $z_1=x$ és $z_n=y$.
|
||||||
|
|
||||||
Ha $x$ szomszédos a $P$ út valamely $z_k$ csúcsával,akkor $y$ nem lehet
|
Ha $x$ szomszédos a $P$ út valamely $z_k$ csúcsával,akkor $y$ nem lehet
|
||||||
|
@ -411,8 +415,41 @@
|
||||||
** Tétel(Zykov konstrukciója)
|
** Tétel(Zykov konstrukciója)
|
||||||
Minden $k\geq2$ esetén létezik olyan $G_k$ gráf, amire $\omega(G_k ) = 2$ és
|
Minden $k\geq2$ esetén létezik olyan $G_k$ gráf, amire $\omega(G_k ) = 2$ és
|
||||||
$\chi(G_k ) = k$.
|
$\chi(G_k ) = k$.
|
||||||
*** TODO Bizonyítás
|
*** Bizonyítás
|
||||||
*NEM, KÖSZÖNÖM MÁR JÓLLAKTAM!*
|
- $G_2$,azaz $k=2\text{-re}$ elég a $K_2$ gráfot megvizsgálni
|
||||||
|
- A továbbiakban $G_k$ megadásához rekurziót használunk:
|
||||||
|
* Induljunk ki pl $G_3$ (egy 5 hosszú) ebből megkaphatjuk $G_$k\text{-t}$
|
||||||
|
tetszőleges $k\text{-ra}$ (természetesen $k \geq 3$)
|
||||||
|
* Tegyük fel,hogy $G_k=(V,E)$ gráfban már adott,hogy $\omega(G_k)=2$ és $\chi(G_k)=k$.
|
||||||
|
* Vegyük $G_k\text{-nak}$ $k$ darab diszjunkt példányát,azaz ''másoljuk le'' a
|
||||||
|
$V$ csúcshalmazt $k\text{-szor}$
|
||||||
|
* Az így kapott csúcshalmazokat $V_1,V_2,\ldots,V_k$ jelöli.
|
||||||
|
* Minden $V_i$ halmazban,azokat a csúcsokat kössük,össze mint amik eredetileg is
|
||||||
|
össze voltak kötve
|
||||||
|
* Ezen kívül $V_1,V_2,\ldots,V_k$ csúcshalmazok közül, válasszuk ki egyet-egyet
|
||||||
|
az összes lehetséges módon. Ezekhez vegyünk fel egy új csúcsot, és kössük
|
||||||
|
össze a kiválasztott csúcsokkal
|
||||||
|
* Az így kapott gráfot jelöljük $G_{k+1}\text{-el}$
|
||||||
|
- Jelölje a $V-i\text{-kből}$ kiválasztott $\text{csúcs-}k\text{-asokból}$
|
||||||
|
létrejött $G_{k+1}\text{-beli}$ csúcsok halmazát $Z$
|
||||||
|
- Megmutatjuk hogy $\omega(G_k)=2$
|
||||||
|
* Tudjuk hogy $\omega(G_k)=2$, és minden $V_i$ halmaz $G_k\text{-val}$
|
||||||
|
izomorfak. Ebben tehát biztosan nincs háromszög.
|
||||||
|
* $Z\text{-beli}$ csúcsok sem alkothatnak háromszöget,hiszen különböző
|
||||||
|
$V_i\text{-kbeli}$ csúcsokkal van összekötve
|
||||||
|
- Belátjuk,hogy $G_{k+1}$ kiszínezhető $k+1$ színnel
|
||||||
|
* Tudjuk,hogy $G_k$ legalább $k$ színnel színezhető csak ki és $\forall V_i$
|
||||||
|
izomorf $G_k\text{-val}$
|
||||||
|
* Színezzük ki tehát $V_i\text{-ket}$ ugyanazzal a $k$ színnel
|
||||||
|
* A $Z\text{-beli}$ csúcsokat színezzük ki $(k+1)\text{-edik}$ színnel.
|
||||||
|
* Mivel $Z$ csúcsai között nem futnak élek így ez egy helyes színezés
|
||||||
|
- Meg kell mutatnunk,hogy $G_{k+1}$ nem színezhető ki $k$ színnel
|
||||||
|
* Válasszuk $V_1\text{-ből}$ egy $1$. színű $v_1$ csúcsot, $V_2\text{-ből}$
|
||||||
|
egy $2$. színű csúcsot, stb.
|
||||||
|
* Most vegyük az ezekkel összekötött $z \in Z$ csúcsot. Ez nem színezhető ki
|
||||||
|
$k$ szín egyikével sem,hiszen minden $k$ színnel szomszédos
|
||||||
|
* Ekkor $z$ csak egy $(k+1)\text{-edik}$ színnel színezhető ki
|
||||||
|
|
||||||
** Állítás
|
** Állítás
|
||||||
Legyen $G$ (hurokélmentes) gráf és jelölje $\Delta(G)$ a $G$ -beli maximális
|
Legyen $G$ (hurokélmentes) gráf és jelölje $\Delta(G)$ a $G$ -beli maximális
|
||||||
fokszámot (vagyis a $G$ -beli csúcsok fokszámai közül a legnagyobbat). Ekkor a
|
fokszámot (vagyis a $G$ -beli csúcsok fokszámai közül a legnagyobbat). Ekkor a
|
||||||
|
@ -594,11 +631,30 @@
|
||||||
A $G$ gráfban akkor és csak akkor létezik teljes párosítás, ha a csúcsok minden
|
A $G$ gráfban akkor és csak akkor létezik teljes párosítás, ha a csúcsok minden
|
||||||
$X\subseteq V(G)$ részhalmazára $c_p (G - X) \leq |X|$ teljesül.
|
$X\subseteq V(G)$ részhalmazára $c_p (G - X) \leq |X|$ teljesül.
|
||||||
|
|
||||||
|
|
||||||
Más szóval: pontosan akkor létezik teljes párosítás $G$ gráfban,ha
|
Más szóval: pontosan akkor létezik teljes párosítás $G$ gráfban,ha
|
||||||
$G\text{-ből}$ bárhogyan $k$ darab csúcsot elhagyva a kapott gráfban páratlan
|
$G\text{-ből}$ bárhogyan $k$ darab csúcsot elhagyva a kapott gráfban páratlan
|
||||||
sok csúcsú komponenseinek száma legfeljebb $k$.
|
sok csúcsú komponenseinek száma legfeljebb $k$.
|
||||||
|
*** Jelölések
|
||||||
*** TODO Bizonyítás
|
**** $G-X$: Az a gráf,amelyet $G\text{-ből}$ az $X$ csúcsai és arra illeszkedő élei elhagyásával kapunk.
|
||||||
|
**** $c_p(H)$: $H$ páratlan sok csúcsot tartalmazó komponenseinek száma
|
||||||
|
*** Bizonyítás
|
||||||
|
- Tegyük fel,hogy $G\text{-ben}$ $\exists$ teljes párosítás.
|
||||||
|
- Megmutatjuk,hogy $c_p (G - X) \leq |X|$ ekkor teljesül
|
||||||
|
- Rögzítsünk $G\text{-ben}$ egy $M$ teljes párosítást
|
||||||
|
- Vegyünk egy tetszőleges $X \subseteq V(G)$ részhalmazt, és hagyjuk el $G\text{-ből}$
|
||||||
|
- Tegyük fel, hogy ez után $l$ darab páratlan komponens jön létre: $C_1,C_2,\ldots,C_l$
|
||||||
|
- Válasszunk ki egy $C_i$ páratlan komponenst $G\text{-ben}$
|
||||||
|
- Figyeljük meg,hogy $C_i$ minden csúcsához tartozik egy $M\text{-beli}$
|
||||||
|
él,hiszen $M$ teljes párosítás.
|
||||||
|
- Mivel $C_i$ páratlan kell legyen legalább egy $C_i\text{-n}$ beli csúcs,amit egy
|
||||||
|
$M\text{-beli}$ él $C_i\text{-n}$ kívüli ponttal köt össze
|
||||||
|
- Minden $C_i\text{-hez}$ válasszunk egy ilyet, és jelöljük $v_i\text{-vel}$
|
||||||
|
- Ekkor minden $v_i \in X$,hiszen $C_i$ külön komponenst alkot $X$ elhagyása
|
||||||
|
után, és mivel $M$ teljes párosítás, így minden $v_i$ különböző
|
||||||
|
- Ezzel beláttuk,hogy $X\text{-nek}$ legalább $c_p(G-X)=l$ csúcsa van.($|X|$
|
||||||
|
tartalmazhat ennél több pontot is,csak azok nem hoznak létre több páratlan
|
||||||
|
csúcsú komponenst)
|
||||||
|
|
||||||
* Párosítások $\protect\footnote{\cite{hj} alapján.}$
|
* Párosítások $\protect\footnote{\cite{hj} alapján.}$
|
||||||
** Párosítások páros gráfokban
|
** Párosítások páros gráfokban
|
||||||
|
@ -896,9 +952,9 @@
|
||||||
|
|
||||||
Ebből már egyértelműen adódik,hogy $\max\{m_f:f\text{ folyam}\}= d =\min\{c(X):X\>st\text{ folyam}\}$
|
Ebből már egyértelműen adódik,hogy $\max\{m_f:f\text{ folyam}\}= d =\min\{c(X):X\>st\text{ folyam}\}$
|
||||||
** Egészértékűségi lemma
|
** Egészértékűségi lemma
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:CUSTOM_ID: egér
|
:CUSTOM_ID: egér
|
||||||
:END:
|
:END:
|
||||||
Tegyük fel, hogy a $(G, s,t, c)$ hálózatban minden $e\in E(G)$ élre $c(e)\in\mathbb{Z}$. Ekkor
|
Tegyük fel, hogy a $(G, s,t, c)$ hálózatban minden $e\in E(G)$ élre $c(e)\in\mathbb{Z}$. Ekkor
|
||||||
|
|
||||||
1. Létezik olyan $f$ maximális folyam a hálózatban, amelyre $f (e)\in\mathbb{Z}$ minden
|
1. Létezik olyan $f$ maximális folyam a hálózatban, amelyre $f (e)\in\mathbb{Z}$ minden
|
||||||
|
@ -964,9 +1020,9 @@
|
||||||
- A [[#dilemma]] lemma miatt $d=k$
|
- A [[#dilemma]] lemma miatt $d=k$
|
||||||
|
|
||||||
** Tétel
|
** Tétel
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:CUSTOM_ID: eldis_tet
|
:CUSTOM_ID: eldis_tet
|
||||||
:END:
|
:END:
|
||||||
Legyen adott a $G$ irányítatlan gráf, annak az $s,t \in V (G)$ különböző
|
Legyen adott a $G$ irányítatlan gráf, annak az $s,t \in V (G)$ különböző
|
||||||
csúcsai és a $k \geq 1$ egész. Ekkor az alábbi állítások ekvivalensek:
|
csúcsai és a $k \geq 1$ egész. Ekkor az alábbi állítások ekvivalensek:
|
||||||
1. Létezik $G$ -ben $k$ éldiszjunkt irányítatlan út $s$ -ből $t$ -be.
|
1. Létezik $G$ -ben $k$ éldiszjunkt irányítatlan út $s$ -ből $t$ -be.
|
||||||
|
@ -1006,9 +1062,9 @@
|
||||||
-be vezető irányítatlan utakat, ha $s\notin Y, t\notin Y$ és minden $s$ és
|
-be vezető irányítatlan utakat, ha $s\notin Y, t\notin Y$ és minden $s$ és
|
||||||
$t$ végpontú, $G$ -beli irányítatlan út tartalmaz $Y$ -beli csúcsot.
|
$t$ végpontú, $G$ -beli irányítatlan út tartalmaz $Y$ -beli csúcsot.
|
||||||
** Tétel
|
** Tétel
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:CUSTOM_ID: pdt
|
:CUSTOM_ID: pdt
|
||||||
:END:
|
:END:
|
||||||
Legyen adott a $G$ irányított gráf, az $s,t \in V (G)$ különböző csúcsok,
|
Legyen adott a $G$ irányított gráf, az $s,t \in V (G)$ különböző csúcsok,
|
||||||
amelyekre $(s,t)\notin E(G)$ és a $k \geq 1$ egész. Ekkor az alábbi állítások ekvivalensek:
|
amelyekre $(s,t)\notin E(G)$ és a $k \geq 1$ egész. Ekkor az alábbi állítások ekvivalensek:
|
||||||
1. Létezik $G$ -ben $k$ pontdiszjunkt irányított út $s$ -ből $t$ -be.
|
1. Létezik $G$ -ben $k$ pontdiszjunkt irányított út $s$ -ből $t$ -be.
|
||||||
|
@ -1042,14 +1098,14 @@
|
||||||
- [[*Ford-Fulkerson Tétel][Ford-Fulkerson tételből]] következik,hogy
|
- [[*Ford-Fulkerson Tétel][Ford-Fulkerson tételből]] következik,hogy
|
||||||
$max\{m_f:f\>\text{folyam}\}\geq k$ teljesül, így a 3. pontot beláttuk
|
$max\{m_f:f\>\text{folyam}\}\geq k$ teljesül, így a 3. pontot beláttuk
|
||||||
**** $3.\implies1$.
|
**** $3.\implies1$.
|
||||||
- A [[#egér]] lemma miatt következik, hogy $m_f=d\geq k$ értékű folyam
|
- A [[#egér]] lemma miatt következik, hogy $m_f=d\geq k$ értékű folyam
|
||||||
- Ebből [[#dilemma]] lemmát alkalmazva, azt kapjuk,hogy $\exists P_1,P_2,\ldots,P_d$
|
- Ebből [[#dilemma]] lemmát alkalmazva, azt kapjuk,hogy $\exists P_1,P_2,\ldots,P_d$
|
||||||
éldiszjunkt irányított utak $s \rightarrow t$
|
éldiszjunkt irányított utak $s \rightarrow t$
|
||||||
- Az előzőek szerint minden $P_i$ megfeleltethető egy $G\text{-beli}$ $P'_i$
|
- Az előzőek szerint minden $P_i$ megfeleltethető egy $G\text{-beli}$ $P'_i$
|
||||||
éldiszjunkt útnak.
|
éldiszjunkt útnak.
|
||||||
- $P'_1,P'_2,\ldots,P'_d$ utak pedig pontdiszjunktak,hiszen ha $P'_i$ és $P'_j$
|
- $P'_1,P'_2,\ldots,P'_d$ utak pedig pontdiszjunktak,hiszen ha $P'_i$ és $P'_j$
|
||||||
is tartalmazná $v \neq s,t$ csúcsot $G\text{-ben}$, akkor $P_i$ és $P_j$ is
|
is tartalmazná $v \neq s,t$ csúcsot $G\text{-ben}$, akkor $P_i$ és $P_j$ is
|
||||||
tartalmazná a $(v_1,v_2)$ élt $H\text{-ban}$.
|
tartalmazná a $(v_1,v_2)$ élt $H\text{-ban}$.
|
||||||
** Tétel
|
** Tétel
|
||||||
Legyen adott a $G$ *irányítatlan* gráf, az $s,t \in V (G)$ különböző csúcsok,
|
Legyen adott a $G$ *irányítatlan* gráf, az $s,t \in V (G)$ különböző csúcsok,
|
||||||
amelyekre ${s,t} \notin E(G)$ és a $k \geq 1$ egész. Ekkor az alábbi állítások ekvivalensek:
|
amelyekre ${s,t} \notin E(G)$ és a $k \geq 1$ egész. Ekkor az alábbi állítások ekvivalensek:
|
||||||
|
@ -1064,11 +1120,11 @@
|
||||||
*** Bizonyítás
|
*** Bizonyítás
|
||||||
**** $1.\implies2$.: azonos az [[#pdt][előző tétel]] bizonyításával
|
**** $1.\implies2$.: azonos az [[#pdt][előző tétel]] bizonyításával
|
||||||
**** $2.\implies3$.:
|
**** $2.\implies3$.:
|
||||||
- $G$ éleit helyettesítsük irányított élekkel, legyen ez a $G'$ gráf. Ekkor [[#pdt][az
|
- $G$ éleit helyettesítsük irányított élekkel, legyen ez a $G'$ gráf. Ekkor [[#pdt][az
|
||||||
előző tétel]] szerint legalább $k$ a maximális folyam értéke,abban a
|
előző tétel]] szerint legalább $k$ a maximális folyam értéke,abban a
|
||||||
gráfban,amit $G'$ széthúzásával kapunk. Ez éppen a 3. állítása.
|
gráfban,amit $G'$ széthúzásával kapunk. Ez éppen a 3. állítása.
|
||||||
**** $3.\implies1$.:
|
**** $3.\implies1$.:
|
||||||
Az előző bekezdés és az [[#pdt][előző tétel]] bizonyításával belátható.
|
Az előző bekezdés és az [[#pdt][előző tétel]] bizonyításával belátható.
|
||||||
*** Következmény(Menger tétele pontdiszjunkt utakra)
|
*** Következmény(Menger tétele pontdiszjunkt utakra)
|
||||||
Ha a $G$ (irányított vagy irányítatlan) gráfra és annak az $s,t \in V (G)$,
|
Ha a $G$ (irányított vagy irányítatlan) gráfra és annak az $s,t \in V (G)$,
|
||||||
$s\neq t$ csúcsaira $(s,t)\notin E(G)$, illetve ${s,t} \notin E(G)$ teljesül (az
|
$s\neq t$ csúcsaira $(s,t)\notin E(G)$, illetve ${s,t} \notin E(G)$ teljesül (az
|
||||||
|
@ -1097,319 +1153,319 @@ Az előző bekezdés és az [[#pdt][előző tétel]] bizonyításával beláthat
|
||||||
csúcsú és bármely két különböző csúcsa között létezik $k$ pontdiszjunkt út.
|
csúcsú és bármely két különböző csúcsa között létezik $k$ pontdiszjunkt út.
|
||||||
*** Bizonyítás
|
*** Bizonyítás
|
||||||
**** 1. pont bizonyítása
|
**** 1. pont bizonyítása
|
||||||
- Tegyük fel,hogy $G$ bármely két különböző csúcsa között létezik $k$
|
- Tegyük fel,hogy $G$ bármely két különböző csúcsa között létezik $k$
|
||||||
éldiszjunkt út. Ezekből hagyjuk el legfeljebb $k-1$ darabot, és a kapott gráfot jelölje $G'$.
|
éldiszjunkt út. Ezekből hagyjuk el legfeljebb $k-1$ darabot, és a kapott gráfot jelölje $G'$.
|
||||||
- Mivel nem hagytuk el az összes éldiszjunkt utat,így legalább egy $P_i$ út még
|
- Mivel nem hagytuk el az összes éldiszjunkt utat,így legalább egy $P_i$ út még
|
||||||
benne van $G'$ gráfban
|
benne van $G'$ gráfban
|
||||||
- Ez definíció szerint azt jelenti,hogy $G'$ összefüggő, $G$ pedig
|
- Ez definíció szerint azt jelenti,hogy $G'$ összefüggő, $G$ pedig
|
||||||
$k\text{szorosan összefüggő}$, ezzel az elégségességet beláttuk
|
$k\text{szorosan összefüggő}$, ezzel az elégségességet beláttuk
|
||||||
**** 1. pont szükségessége
|
**** 1. pont szükségessége
|
||||||
- Tegyük fel hogy $G$ $k\text{-szorosan}$ összefüggő és legyen $s,t\in V(G),s
|
- Tegyük fel hogy $G$ $k\text{-szorosan}$ összefüggő és legyen $s,t\in V(G),s
|
||||||
\neq t$ tetszőleges csúcsok.
|
\neq t$ tetszőleges csúcsok.
|
||||||
- Ha nem létezne $k$ éldiszjunkt út, akkor a [[#eldis_tet]] tétel szerint az $s
|
- Ha nem létezne $k$ éldiszjunkt út, akkor a [[#eldis_tet]] tétel szerint az $s
|
||||||
\rightarrow t$ utakat lefogó $Z$ élhalmaz legfeljebb $k-1$ élű.
|
\rightarrow t$ utakat lefogó $Z$ élhalmaz legfeljebb $k-1$ élű.
|
||||||
- Ez azonban ellentmondás,hisz a $Z$ elhagyásával a kapott $G'$ gráf nem lenne összefüggő, mert nem volna $s$
|
- Ez azonban ellentmondás,hisz a $Z$ elhagyásával a kapott $G'$ gráf nem lenne összefüggő, mert nem volna $s$
|
||||||
és $t$ között út.
|
és $t$ között út.
|
||||||
**** 2. pont bizonyítása
|
**** 2. pont bizonyítása
|
||||||
- Tegyük fel,hogy $G$ bármely két csúcsa között létezik $k$ pontdiszjunkt
|
- Tegyük fel,hogy $G$ bármely két csúcsa között létezik $k$ pontdiszjunkt
|
||||||
út. Ezek közül hagyjunk el legföljebb $k-1$ darabot és a kapott gráfot jelölje $G'$
|
út. Ezek közül hagyjunk el legföljebb $k-1$ darabot és a kapott gráfot jelölje $G'$
|
||||||
- Mivel minden $s,t\in V(G'),s \neq t$ között létezik út.,így $G'$ definíció
|
- Mivel minden $s,t\in V(G'),s \neq t$ között létezik út.,így $G'$ definíció
|
||||||
szerint összefüggő,tehát $G$ $k\text{-szorosan}$ összefüggő
|
szerint összefüggő,tehát $G$ $k\text{-szorosan}$ összefüggő
|
||||||
**** 2. pont szükségessége
|
**** 2. pont szükségessége
|
||||||
- Tegyük fel, hogy $G$ $k\text{-szorosan}$ összefüggő és legyen $s,t \in V(G), s
|
- Tegyük fel, hogy $G$ $k\text{-szorosan}$ összefüggő és legyen $s,t \in V(G), s
|
||||||
\neq t$
|
\neq t$
|
||||||
***** Ha $s$ és $t$ nem szomszédosak:
|
***** Ha $s$ és $t$ nem szomszédosak:
|
||||||
Ha nem létezne $k$ pontdiszjunkt út,akkor [[#pdt]]
|
Ha nem létezne $k$ pontdiszjunkt út,akkor [[#pdt]]
|
||||||
tétel szerint létező, az $s$ és $t$ közötti utakat lefogó, legföljebb $k-1$
|
tétel szerint létező, az $s$ és $t$ közötti utakat lefogó, legföljebb $k-1$
|
||||||
csúcs elhagyásával a kapott $G'$ gráf, nem volna összefüggő,ami ellentmondás
|
csúcs elhagyásával a kapott $G'$ gráf, nem volna összefüggő,ami ellentmondás
|
||||||
***** Ha szomszédosak
|
***** Ha szomszédosak
|
||||||
- Az előbb alkalmazott tétek itt nem használható fel
|
- Az előbb alkalmazott tétek itt nem használható fel
|
||||||
- Hagyjuk el az összes $s$ és $t$ közti élt, jelölje ezt a $H$ gráf
|
- Hagyjuk el az összes $s$ és $t$ közti élt, jelölje ezt a $H$ gráf
|
||||||
- Tegyük fel indirekt,hogy nem létezik $H\text{-ban}$ $k-1$ pontdiszjunkt $s
|
- Tegyük fel indirekt,hogy nem létezik $H\text{-ban}$ $k-1$ pontdiszjunkt $s
|
||||||
\rightarrow t$ út.
|
\rightarrow t$ út.
|
||||||
- Alkalmazhatjuk a [[#pdt]] tételt, eszerint létezik $k-2$ elemű $Y$
|
- Alkalmazhatjuk a [[#pdt]] tételt, eszerint létezik $k-2$ elemű $Y$
|
||||||
csúcshalmaz,aminek elhagyásával a kapott $H'$ gráf nem összefüggő
|
csúcshalmaz,aminek elhagyásával a kapott $H'$ gráf nem összefüggő
|
||||||
- Emiatt $s$ és $t$ különböző komponensekhez tartoznak.
|
- Emiatt $s$ és $t$ különböző komponensekhez tartoznak.
|
||||||
- Mivel $G$ $k\text{-szorosan}$ összefüggő,így legföljebb $(k-2)$ csúcsot
|
- Mivel $G$ $k\text{-szorosan}$ összefüggő,így legföljebb $(k-2)$ csúcsot
|
||||||
hagytunk el
|
hagytunk el
|
||||||
- Ekkor találhatunk egy $v \in V(H'),s \neq v \neq t$ csúcsot,ami nyilván csak
|
- Ekkor találhatunk egy $v \in V(H'),s \neq v \neq t$ csúcsot,ami nyilván csak
|
||||||
az egyik komponensébe tartozhat. Tegyük fel,hogy $v$ nincs az $s$ komponensében.
|
az egyik komponensébe tartozhat. Tegyük fel,hogy $v$ nincs az $s$ komponensében.
|
||||||
- Most hagyjuk el $G\text{-ből}$ $Y \cup {t}$ csúcshalmazt, és jelöljük a kapott gráfot $G'\text{-vel}$.
|
- Most hagyjuk el $G\text{-ből}$ $Y \cup {t}$ csúcshalmazt, és jelöljük a kapott gráfot $G'\text{-vel}$.
|
||||||
- Ezzel elhagyjuk az $s \rightarrow t$ éleket is,ezért $G'$ minden éle benne van
|
- Ezzel elhagyjuk az $s \rightarrow t$ éleket is,ezért $G'$ minden éle benne van
|
||||||
$H'\text{-gráfban}$. Így $v$ és $s$ $G'\text{-ben}$ ,vagyis $G'$ nem összefüggő
|
$H'\text{-gráfban}$. Így $v$ és $s$ $G'\text{-ben}$ ,vagyis $G'$ nem összefüggő
|
||||||
- Ez ellentmondás,hiszen $G$ $k\text{-szorosan}$ összefüggő.
|
- Ez ellentmondás,hiszen $G$ $k\text{-szorosan}$ összefüggő.
|
||||||
|
|
||||||
*** Következmény
|
*** Következmény
|
||||||
Ha a G gráf $k\text{-szorosan}$ pontösszefüggő, akkor $k\text{-szorosan}$
|
Ha a G gráf $k\text{-szorosan}$ pontösszefüggő, akkor $k\text{-szorosan}$
|
||||||
élösszefüggő is.
|
élösszefüggő is.
|
||||||
|
|
||||||
*** Következmény bizonyítása
|
*** Következmény bizonyítása
|
||||||
Ha $G$ $k\text{-szorosan}$ összefüggő, akkor a [[*Tétel (Menger tétele többszörös
|
Ha $G$ $k\text{-szorosan}$ összefüggő, akkor a [[*Tétel (Menger tétele többszörös
|
||||||
összefüggőségre)]] 2. állítása szerint bármely két csúcsa között létezik $k$
|
összefüggőségre)]] 2. állítása szerint bármely két csúcsa között létezik $k$
|
||||||
éldiszjunkt út. Mivel a pontdiszjunkt utak éldiszjunktak is egyben,így a [[Tétel
|
éldiszjunkt út. Mivel a pontdiszjunkt utak éldiszjunktak is egyben,így a [[Tétel
|
||||||
(Menger tétele többszörös összefüggőségre)]] tétel 1. állítása alapján $G$ tényleg
|
(Menger tétele többszörös összefüggőségre)]] tétel 1. állítása alapján $G$ tényleg
|
||||||
$k\text{-szorosan}$ élösszefüggő.
|
$k\text{-szorosan}$ élösszefüggő.
|
||||||
* Aciklikus irányított gráfok(DAG) $\protect\footnote{\cite{hj} alapján.}$
|
* Aciklikus irányított gráfok(DAG) $\protect\footnote{\cite{hj} alapján.}$
|
||||||
** Fogalma
|
** Fogalma
|
||||||
Egy irányított $G$ gráfot akkor nevezünk *aciklikusnak*,ha nem tartalmaz
|
Egy irányított $G$ gráfot akkor nevezünk *aciklikusnak*,ha nem tartalmaz
|
||||||
irányított kört. Angolul Directed Acyclic
|
irányított kört. Angolul Directed Acyclic
|
||||||
Graph, röviden DAG.
|
Graph, röviden DAG.
|
||||||
** Definíció
|
** Definíció
|
||||||
Legyen $G = (V, E)$ irányított gráf és $(v_1, v_2,\dots, v_n)$ a $G$ csúcsainak
|
Legyen $G = (V, E)$ irányított gráf és $(v_1, v_2,\dots, v_n)$ a $G$ csúcsainak
|
||||||
egy felsorolása. A $(v_1 , v_2 ,\ldots, v_n )$ sorozatot topologikus rendezésnek
|
egy felsorolása. A $(v_1 , v_2 ,\ldots, v_n )$ sorozatot topologikus rendezésnek
|
||||||
(vagy topologikus sorrendnek) nevezzük, ha $G$ minden $(x, y)$ élére x előbb van
|
(vagy topologikus sorrendnek) nevezzük, ha $G$ minden $(x, y)$ élére x előbb van
|
||||||
a sorozatban, mint $y$ (vagyis ha $x = v_i$ és $y = v_j$ , akkor $i < j$).
|
a sorozatban, mint $y$ (vagyis ha $x = v_i$ és $y = v_j$ , akkor $i < j$).
|
||||||
** Tétel
|
** Tétel
|
||||||
A $G$ irányított gráfnak akkor és csak akkor van topologikus rendezése, ha
|
A $G$ irányított gráfnak akkor és csak akkor van topologikus rendezése, ha
|
||||||
aciklikus.
|
aciklikus.
|
||||||
*** Bizonyítás
|
*** Bizonyítás
|
||||||
- Az szükségessége magától értetődő.
|
- Az szükségessége magától értetődő.
|
||||||
- Az elégségesség bizonyításához először be kell látnunk,hogy tartalmaz /nyelőt/
|
- Az elégségesség bizonyításához először be kell látnunk,hogy tartalmaz /nyelőt/
|
||||||
(Olyan csúcsot,amelyből nem indul ki él). Ez szerencsére könnyen található:
|
(Olyan csúcsot,amelyből nem indul ki él). Ez szerencsére könnyen található:
|
||||||
vegyük a gráf leghosszabb $P$ útját, ekkor a $P$ út $v$ végpontja nyelő.
|
vegyük a gráf leghosszabb $P$ útját, ekkor a $P$ út $v$ végpontja nyelő.
|
||||||
|
|
||||||
- Válasszunk tehát egy nyelő,legyen ez $v_n$,majd hagyjuk el $G\text{-ből}$.
|
- Válasszunk tehát egy nyelő,legyen ez $v_n$,majd hagyjuk el $G\text{-ből}$.
|
||||||
- A kapott $G'$ gráfban,szintén lesz egy $v_{n-1}$ nyelő, ezt is hagyjuk el.
|
- A kapott $G'$ gráfban,szintén lesz egy $v_{n-1}$ nyelő, ezt is hagyjuk el.
|
||||||
- Folytassuk az eljárást amíg lehet
|
- Folytassuk az eljárást amíg lehet
|
||||||
- A kapott $v_1,v_2,\ldots,v_n$ sorozat nyilván topologikus rendezés.
|
- A kapott $v_1,v_2,\ldots,v_n$ sorozat nyilván topologikus rendezés.
|
||||||
** Algoritmus legrövidebb és leghosszabb utak meghatározására aciklikus irányított gráfban.
|
** Algoritmus legrövidebb és leghosszabb utak meghatározására aciklikus irányított gráfban.
|
||||||
Irányított aciklikus gráfokban a legrövidebb és a leghosszabb utat lineáris
|
Irányított aciklikus gráfokban a legrövidebb és a leghosszabb utat lineáris
|
||||||
időben meg lehet találni egy egyszerű algoritmussal.
|
időben meg lehet találni egy egyszerű algoritmussal.
|
||||||
|
|
||||||
Fontos megjegyezni,hogy ebben az esetben minden él rendelkezik egy súllyal,ami
|
Fontos megjegyezni,hogy ebben az esetben minden él rendelkezik egy súllyal,ami
|
||||||
az út ''hosszát'' jelenit.
|
az út ''hosszát'' jelenit.
|
||||||
|
|
||||||
Keressük meg a $s \rightarrow v$ legrövidebb utat!
|
Keressük meg a $s \rightarrow v$ legrövidebb utat!
|
||||||
- Ha $s$ a topologikus sorrendben hátrébb szerepel,akkor $\nexists$ ilyen út
|
- Ha $s$ a topologikus sorrendben hátrébb szerepel,akkor $\nexists$ ilyen út
|
||||||
- Különben végig megyünk a csúcsokon $s\text{-től}$ $v\text{-ig}$ a topologikus
|
- Különben végig megyünk a csúcsokon $s\text{-től}$ $v\text{-ig}$ a topologikus
|
||||||
sorrendben. Minden csúcsra adok egy legrövidebb utat,úgy hogy megnézzük milyen
|
sorrendben. Minden csúcsra adok egy legrövidebb utat,úgy hogy megnézzük milyen
|
||||||
utak mennek bele,amelyek elérhetőek $s\text{-ből}$ és ezek közül kiválasztjuk
|
utak mennek bele,amelyek elérhetőek $s\text{-ből}$ és ezek közül kiválasztjuk
|
||||||
a legkisebb súlyút.
|
a legkisebb súlyút.
|
||||||
Ez az algoritmus leghosszabb út keresésére is alkalmazható.
|
Ez az algoritmus leghosszabb út keresésére is alkalmazható.
|
||||||
* Mélységi keresés $\protect\footnote{\cite{hj} alapján.}$
|
* Mélységi keresés $\protect\footnote{\cite{hj} alapján.}$
|
||||||
** Az algoritmus
|
** Az algoritmus
|
||||||
Vegyünk egy tetszőleges $G$ gráfot, és válasszunk ki egy tetszőleges $s$
|
Vegyünk egy tetszőleges $G$ gráfot, és válasszunk ki egy tetszőleges $s$
|
||||||
csúcsot. Az algoritmus futtatásakor három változót is fenntartunk: A mélységi
|
csúcsot. Az algoritmus futtatásakor három változót is fenntartunk: A mélységi
|
||||||
számát(hány csúcsban járt már;Jele: $d(v)$), befejezési szám(hány csúcs lett
|
számát(hány csúcsban járt már;Jele: $d(v)$), befejezési szám(hány csúcs lett
|
||||||
befejezve;Jele: $f(v)$) és az legutóbb bejárt csúcsot(Jele: $m(v)$). A
|
befejezve;Jele: $f(v)$) és az legutóbb bejárt csúcsot(Jele: $m(v)$). A
|
||||||
kiválasztott $s$ csúcsból kiindulva véletlenszerűen választunk a gráfból egy élt(ami olyan
|
kiválasztott $s$ csúcsból kiindulva véletlenszerűen választunk a gráfból egy élt(ami olyan
|
||||||
csúcsba vezet,ahol még nem jártunk),amerre mehetünk. Ezt addig folytatjuk,amíg
|
csúcsba vezet,ahol még nem jártunk),amerre mehetünk. Ezt addig folytatjuk,amíg
|
||||||
lehetséges. Minden egyes csúcsbalépéskor növeljük a mélységi számot. Ha az
|
lehetséges. Minden egyes csúcsbalépéskor növeljük a mélységi számot. Ha az
|
||||||
algoritmus eljut egy olyan csúcsig,amiből nem vezet több út,akkor egyel
|
algoritmus eljut egy olyan csúcsig,amiből nem vezet több út,akkor egyel
|
||||||
visszalép,és növeli a befejezési számot. Ha a gráf nem összefüggő és az
|
visszalép,és növeli a befejezési számot. Ha a gráf nem összefüggő és az
|
||||||
algoritmus az adott komponensben már nem tud tovább lépni, akkor az eddig nem
|
algoritmus az adott komponensben már nem tud tovább lépni, akkor az eddig nem
|
||||||
bejárt csúcsok közül választ egy tetszőlegest.
|
bejárt csúcsok közül választ egy tetszőlegest.
|
||||||
** DFS erdő
|
** DFS erdő
|
||||||
A DFS által bejárt élek egy erdőt alkotnak.
|
A DFS által bejárt élek egy erdőt alkotnak.
|
||||||
** Definíció
|
** Definíció
|
||||||
Tegyük fel, hogy az $s$ csúcsból indítva lefuttattuk a DFS algoritmust
|
Tegyük fel, hogy az $s$ csúcsból indítva lefuttattuk a DFS algoritmust
|
||||||
a $G$ irányított gráfban. Jelölje a futáshoz tartozó DFS-erdőt $F$. Legyen $e = (u, v)$
|
a $G$ irányított gráfban. Jelölje a futáshoz tartozó DFS-erdőt $F$. Legyen $e = (u, v)$
|
||||||
a $G\text{-nek}$ egy tetszőleges éle. Ekkor
|
a $G\text{-nek}$ egy tetszőleges éle. Ekkor
|
||||||
1. $e\text{-t}$ faélnek nevezzük, ha $e \in E(F)$;
|
1. $e\text{-t}$ faélnek nevezzük, ha $e \in E(F)$;
|
||||||
2. $e\text{-t}$ előreélnek nevezzük, ha nem faél, de $F$-ben van $u$ -ból $v$ -be irányított út
|
2. $e\text{-t}$ előreélnek nevezzük, ha nem faél, de $F$-ben van $u$ -ból $v$ -be irányított út
|
||||||
(vagyis $v$ „leszármazottja” $u$ -nak);
|
(vagyis $v$ „leszármazottja” $u$ -nak);
|
||||||
3. $e\text{-t}$ visszaélnek nevezzük, ha $F$ -ben van $v$ -ből $u$ -ba irányított út (vagyis $v$
|
3. $e\text{-t}$ visszaélnek nevezzük, ha $F$ -ben van $v$ -ből $u$ -ba irányított út (vagyis $v$
|
||||||
„őse” $u$ -nak);
|
„őse” $u$ -nak);
|
||||||
4. $e\text{-t}$ keresztélnek nevezzük, ha $F$ -ben sem $u$ -ból $v$ -be, sem $v$
|
4. $e\text{-t}$ keresztélnek nevezzük, ha $F$ -ben sem $u$ -ból $v$ -be, sem $v$
|
||||||
-ből $u$ -ba nincs irányított út (vagyis $u$ és $v$ között nincs „egyenes ági
|
-ből $u$ -ba nincs irányított út (vagyis $u$ és $v$ között nincs „egyenes ági
|
||||||
leszármazási viszony”).
|
leszármazási viszony”).
|
||||||
** Tétel
|
** Tétel
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:CUSTOM_ID: dfs
|
:CUSTOM_ID: dfs
|
||||||
:END:
|
:END:
|
||||||
Tegyük fel, hogy a $G$ irányított gráfra a DFS algoritmust futtatva az
|
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
|
é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
|
$e$ erre a DFS bejárásra vonatkozóan akkor és csak akkor lesz
|
||||||
1. Faél, ha $d(v) = *$;
|
1. Faél, ha $d(v) = *$;
|
||||||
2. Előreél, ha $d(v) > d(a)$;
|
2. Előreél, ha $d(v) > d(a)$;
|
||||||
3. Visszaél, ha $d(v) < d(a)$ és $f(v) = *$;
|
3. Visszaél, ha $d(v) < d(a)$ és $f(v) = *$;
|
||||||
4. Keresztél, ha $d(v) < d(a)$ és $f(v) \neq *$.
|
4. Keresztél, ha $d(v) < d(a)$ és $f(v) \neq *$.
|
||||||
*** Bizonyítás
|
*** Bizonyítás
|
||||||
- Ha $d(v)=*$,akkor $m(v)=a$,tehát $e$ valóban faél.
|
- Ha $d(v)=*$,akkor $m(v)=a$,tehát $e$ valóban faél.
|
||||||
- Egészítsük ki az algoritmust egy $T$ változóval, ami az eltelt időt
|
- Egészítsük ki az algoritmust egy $T$ változóval, ami az eltelt időt
|
||||||
jelenti. Ezzel minden $v$ csúcshoz hozzárendelhetünk egy $kezd(v)$ kezdési
|
jelenti. Ezzel minden $v$ csúcshoz hozzárendelhetünk egy $kezd(v)$ kezdési
|
||||||
időt,és egy $bef(v)$ befejezési időt. A kettő közti intervallumot
|
időt,és egy $bef(v)$ befejezési időt. A kettő közti intervallumot
|
||||||
$I(v)\text{-tel}$ jelöljük
|
$I(v)\text{-tel}$ jelöljük
|
||||||
- Az eljárás során, $T$ változót mindig növeljük meg, ha belépünk egy új csúcsba.
|
- Az eljárás során, $T$ változót mindig növeljük meg, ha belépünk egy új csúcsba.
|
||||||
- Először vegyük észre,hogy ha veszünk egy $I(v)$ időintervallumot, akkor ehhez
|
- Először vegyük észre,hogy ha veszünk egy $I(v)$ időintervallumot, akkor ehhez
|
||||||
megfeleltethetünk egy $F_v$ fát,amit ez alatt jár be. Ez egy részgráf lesz
|
megfeleltethetünk egy $F_v$ fát,amit ez alatt jár be. Ez egy részgráf lesz
|
||||||
$F\text{-nek}$.
|
$F\text{-nek}$.
|
||||||
- Tegyük fel hogy az $(a,v)$ élen a $T$ pillanatban próbál továbblépni. Ekkor
|
- Tegyük fel hogy az $(a,v)$ élen a $T$ pillanatban próbál továbblépni. Ekkor
|
||||||
$kezd(a)\leq T \leq bef(a)$.
|
$kezd(a)\leq T \leq bef(a)$.
|
||||||
- Ha $d(v)>d(a)$, akkor $kezd(a)$ pillanatban $d(v)=*$ volt,így $v \in F_a$,azaz
|
- Ha $d(v)>d(a)$, akkor $kezd(a)$ pillanatban $d(v)=*$ volt,így $v \in F_a$,azaz
|
||||||
$e$ egy előreél
|
$e$ egy előreél
|
||||||
- Ha $d(v)<d(a)$, akkor $kezd(v)$ pillanatban $d(a)=*$ volt. Ha emellett
|
- Ha $d(v)<d(a)$, akkor $kezd(v)$ pillanatban $d(a)=*$ volt. Ha emellett
|
||||||
$f(v)=*$ is igaz,akkor $kezd(v)<kezd(a)<\leq T < bef(v)$. Ezért $a \in F_v$,
|
$f(v)=*$ is igaz,akkor $kezd(v)<kezd(a)<\leq T < bef(v)$. Ezért $a \in F_v$,
|
||||||
így $e$ valóban visszaél.
|
így $e$ valóban visszaél.
|
||||||
- Ha $d(v)<d(a)$ és $f(v) \neq *$,akkor $kezd(a)$ pillanatban $I(v)$ már véget
|
- Ha $d(v)<d(a)$ és $f(v) \neq *$,akkor $kezd(a)$ pillanatban $I(v)$ már véget
|
||||||
ért. Így $a \notin F_v$ és $v \notin F_a$,így nincs irányított út
|
ért. Így $a \notin F_v$ és $v \notin F_a$,így nincs irányított út
|
||||||
$F\text{-ben}$ $a \rightarrow v$ irányított út,vagyis $e$ keresztél
|
$F\text{-ben}$ $a \rightarrow v$ irányított út,vagyis $e$ keresztél
|
||||||
|
|
||||||
Mivel minden lehetőséget lefedtünk,így definíció szerint az állításokat beláttuk.
|
Mivel minden lehetőséget lefedtünk,így definíció szerint az állításokat beláttuk.
|
||||||
** Tétel
|
** Tétel
|
||||||
Futtassuk le a DFS algoritmust a $G$ irányított gráfban az $s$ csúcsból
|
Futtassuk le a DFS algoritmust a $G$ irányított gráfban az $s$ csúcsból
|
||||||
indítva. $G$ akkor és csak akkor aciklikus, ha az eljárás során nem keletkezik
|
indítva. $G$ akkor és csak akkor aciklikus, ha az eljárás során nem keletkezik
|
||||||
visszaél és ebben az esetben a befejezési számozás szerinti fordított sorrendben
|
visszaél és ebben az esetben a befejezési számozás szerinti fordított sorrendben
|
||||||
felsorolva $G$ csúcsait topologikus rendezést kapunk.
|
felsorolva $G$ csúcsait topologikus rendezést kapunk.
|
||||||
*** Bizonyítás
|
*** Bizonyítás
|
||||||
- Ha keletkezik egy $e=(a,v)$ visszaél,akor $G$ nyilván tartalmaz irányított
|
- 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
|
kört: $F$ DFS-erdő tartalmaz $v \rightarrow a$ utat,ha ezt kiegészítjük
|
||||||
$e\text{-vel}$ akkor egy kört kapunk.
|
$e\text{-vel}$ akkor egy kört kapunk.
|
||||||
- Tegyük fel, hogy nem keletkezett visszaél,így $G $minden $e=(a,v)$ éle
|
- 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
|
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
|
a második állítás is igaz
|
||||||
- Használjuk fel a [[#dfs]] tétel bizonyításában használt elveke.
|
- 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$
|
- 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)$
|
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
|
- Ha $e$ keresztél, akkor $T$ pillanatban már $f(v) \ne *$,viszont $f(a)=*$, így
|
||||||
valóban $f(v)<f(a)$
|
valóban $f(v)<f(a)$
|
||||||
* Legrövidebb utak meghatározása adott csúcsból $\protect\footnote{\cite{hj} alapján.}$
|
* Legrövidebb utak meghatározása adott csúcsból $\protect\footnote{\cite{hj} alapján.}$
|
||||||
** Definíció
|
** Definíció
|
||||||
A $G = (V, E)$ irányított gráf élein a $w : E \rightarrow \mathbb{R}$ függvényt
|
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
|
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.
|
élű) irányított körének éleire a $w(e)$ értékek összege nemnegatív.
|
||||||
** Állítás
|
** Állítás
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:CUSTOM_ID: kort
|
:CUSTOM_ID: kort
|
||||||
:END:
|
:END:
|
||||||
Legyen adott a $G = (V, E)$ irányított gráf, az $s, v \in V (G)$, $s \neq v$ csúcsok
|
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
|
é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$
|
$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.
|
összhosszúságú és legföljebb $k$ élű $P$ út is.
|
||||||
*** Bizonyítás
|
*** Bizonyítás
|
||||||
- Ha $Q$ nem irányított út,akkor van olyan csúcs,amit többször érint
|
- Ha $Q$ nem irányított út,akkor van olyan csúcs,amit többször érint
|
||||||
- Keressük meg az ilyen ismétlődő pontpárok közül azt,amelyik között a
|
- Keressük meg az ilyen ismétlődő pontpárok közül azt,amelyik között a
|
||||||
legkevesebb él van (Q-ban): legyen ez $u$
|
legkevesebb él van (Q-ban): legyen ez $u$
|
||||||
- Ekkor létezik egy $C$ irányított élsorozat $u\text{-ból}$
|
- Ekkor létezik egy $C$ irányított élsorozat $u\text{-ból}$
|
||||||
$u\text{-ba}$. $C\text{-nek}$ körnek kell lennie,hiszen $u$ választása
|
$u\text{-ba}$. $C\text{-nek}$ körnek kell lennie,hiszen $u$ választása
|
||||||
miatt,nem létezhet benne ismétlődő csúcspár (mert akkor azok között kevesebb
|
miatt,nem létezhet benne ismétlődő csúcspár (mert akkor azok között kevesebb
|
||||||
él lenne)
|
él lenne)
|
||||||
- Vágjuk ki $Q\text{-ból}$ a $C$ irányított kört, a kapott élsorozat legyen
|
- Vágjuk ki $Q\text{-ból}$ a $C$ irányított kört, a kapott élsorozat legyen
|
||||||
$Q_1$.
|
$Q_1$.
|
||||||
- Ekkor $Q_1$ is $s\text{-ből}$ $v\text{-be}$,aminek élszáma $k\text{-vál}$
|
- Ekkor $Q_1$ is $s\text{-ből}$ $v\text{-be}$,aminek élszáma $k\text{-vál}$
|
||||||
kisebb és összhossza legfeljebb $t$ (mivel $w$ konzervatív,így $C$ összhossza
|
kisebb és összhossza legfeljebb $t$ (mivel $w$ konzervatív,így $C$ összhossza
|
||||||
nemnegatív)
|
nemnegatív)
|
||||||
- Ha $Q_1$ nem irányított út,akkor $Q_1$ is tartalmaz ismétlődő csúcsokat
|
- Ha $Q_1$ nem irányított út,akkor $Q_1$ is tartalmaz ismétlődő csúcsokat
|
||||||
- A fentieket ismételjük,addig amíg van ismétlődő csúcs,akkor a kapott amíg
|
- A fentieket ismételjük,addig amíg van ismétlődő csúcs,akkor a kapott amíg
|
||||||
$Q_n$ egy irányított út lesz.
|
$Q_n$ egy irányított út lesz.
|
||||||
- Mivel az eljárás során az összhosz nem nőhet,így az állítást beláttuk
|
- Mivel az eljárás során az összhosz nem nőhet,így az állítást beláttuk
|
||||||
*** Következmény
|
*** Következmény
|
||||||
Legyen adott a $G = (V, E)$ irányított gráf, az $s, v \in V (G)$
|
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ő
|
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
|
$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.
|
egy $s\text{-ből}$ $u\text{-ba}$ vezető legrövidebb út.
|
||||||
*** Következmény bizonyítása
|
*** Következmény bizonyítása
|
||||||
- Tegyük fel indirekten,hogy $exists s \rightarrow u$ egy $P_u\text{-nál}$
|
- Tegyük fel indirekten,hogy $exists s \rightarrow u$ egy $P_u\text{-nál}$
|
||||||
rövidebb $P'$ út.
|
rövidebb $P'$ út.
|
||||||
- Ekkor $P'$ mentén haladva eljutunk $s\text{-ből}$ $u\text{-ba}$,majd onnan $P$
|
- Ekkor $P'$ mentén haladva eljutunk $s\text{-ből}$ $u\text{-ba}$,majd onnan $P$
|
||||||
mentén eljutunk $u\text{-ból}$ $v\text{-be}$. Legyen ez a $Q$ élsorozat.
|
mentén eljutunk $u\text{-ból}$ $v\text{-be}$. Legyen ez a $Q$ élsorozat.
|
||||||
- Ekkor azonban $Q$ rövidebb $s \rightarrow v$ út $P\text{-nél}$,ami ellentmond
|
- Ekkor azonban $Q$ rövidebb $s \rightarrow v$ út $P\text{-nél}$,ami ellentmond
|
||||||
annak, hogy $P$ legrövidebb út
|
annak, hogy $P$ legrövidebb út
|
||||||
** A Bellman-Ford algoritmus
|
** A Bellman-Ford algoritmus
|
||||||
*** Definíció
|
*** Definíció
|
||||||
Jelölje $\forall v \in V (G)$ csúcsra és $k \geq 0$ egészre $t_k (v)$ a
|
Jelölje $\forall v \in V (G)$ csúcsra és $k \geq 0$ egészre $t_k (v)$ a
|
||||||
legrövidebb olyan $s\text{-ből}$ $v\text{-be}$ vezető irányított út hosszát, ami
|
legrövidebb olyan $s\text{-ből}$ $v\text{-be}$ vezető irányított út hosszát, ami
|
||||||
legföljebb $k$ élből áll; ha pedig ilyen út nincs, akkor legyen $t_k (v) = \infty$.
|
legföljebb $k$ élből áll; ha pedig ilyen út nincs, akkor legyen $t_k (v) = \infty$.
|
||||||
*** Állítás
|
*** Állítás
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:CUSTOM_ID: kupal
|
:CUSTOM_ID: kupal
|
||||||
:END:
|
:END:
|
||||||
Legyen adott a $G = (V, E)$ irányított gráf, az $s, v \in V (G)$, $v \neq s$ csúcsok
|
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
|
és $G$ élein a $w : E \rightarrow \mathbb{R}$ konzervatív hosszfüggvény. Ekkor minden $k \geq 1$ esetén
|
||||||
\begin{align}
|
\begin{align}
|
||||||
t_k (v) = \min{\{\{t_{k-1}(v)\} \cup \{t_{k-1} (u) + w(e) : e = (u, v), e \in E(G)\}\}}
|
t_k (v) = \min{\{\{t_{k-1}(v)\} \cup \{t_{k-1} (u) + w(e) : e = (u, v), e \in E(G)\}\}}
|
||||||
\end{align}
|
\end{align}
|
||||||
**** Bizonyítás
|
**** Bizonyítás
|
||||||
- Jelölje $H$ az egyenlet jobb oldalán lévő halmazt.Így azt kell belátnunk hogy
|
- Jelölje $H$ az egyenlet jobb oldalán lévő halmazt.Így azt kell belátnunk hogy
|
||||||
$t_k(v)$ a $H$ minimuma
|
$t_k(v)$ a $H$ minimuma
|
||||||
- Ha $t_k(v) = \infty$,akkor persze $t_{k_1}(v) = \infty$ is igaz.
|
- Ha $t_k(v) = \infty$,akkor persze $t_{k_1}(v) = \infty$ is igaz.
|
||||||
- Továbbá $e=(u,v)$ élekre is $t_{k-1}(u)= \infty$, hiszen ha nem így volna,akkor
|
- Továbbá $e=(u,v)$ élekre is $t_{k-1}(u)= \infty$, hiszen ha nem így volna,akkor
|
||||||
létezne $s\text{-ből}$ $u\text{-ba}$ egy legföljebb $k-1$ élű út, és ezt
|
létezne $s\text{-ből}$ $u\text{-ba}$ egy legföljebb $k-1$ élű út, és ezt
|
||||||
$e\text{-vel}$ kiegészítve $v\text{-be}$ vezető,legfeljebb $k$ élű utat kapnánk.
|
$e\text{-vel}$ kiegészítve $v\text{-be}$ vezető,legfeljebb $k$ élű utat kapnánk.
|
||||||
- Tegyük fel tehát,hogy $t_k \neq \infty$
|
- Tegyük fel tehát,hogy $t_k \neq \infty$
|
||||||
- Ekkor $t_k(v) \leq t_{k-1}(v)$ nyilván igaz,hiszen legföljebb $k-1$ élű utak
|
- Ekkor $t_k(v) \leq t_{k-1}(v)$ nyilván igaz,hiszen legföljebb $k-1$ élű utak
|
||||||
egyben legföljebb $k$ élű utak
|
egyben legföljebb $k$ élű utak
|
||||||
- Legyen $e=(u,v)$ él. Ekkor $s\text{-ből}$ $u\text{-ba}$ vezető legföljebb $k-1$
|
- Legyen $e=(u,v)$ él. Ekkor $s\text{-ből}$ $u\text{-ba}$ vezető legföljebb $k-1$
|
||||||
élű és $t_{k-1}(u)$ hosszúságú $P$ utat megtoldunk $e\text{-vel}$
|
élű és $t_{k-1}(u)$ hosszúságú $P$ utat megtoldunk $e\text{-vel}$
|
||||||
- Így egy legfeljebb $k$ élű és $t_{k-1}+w(e)$ hosszúságú $Q$ élsorozatot kapunk
|
- Így egy legfeljebb $k$ élű és $t_{k-1}+w(e)$ hosszúságú $Q$ élsorozatot kapunk
|
||||||
- $Q$, nemfeltétlen út,de [[#kort]] állítás alapján tudjuk,hogy $t_k\leq t_{k-1}+w(e)$
|
- $Q$, nemfeltétlen út,de [[#kort]] állítás alapján tudjuk,hogy $t_k\leq t_{k-1}+w(e)$
|
||||||
- Beláttuk hogy $t_k\leq \min{H}$,most megmutatjuk,hogy $H\text{-nak}$ van
|
- Beláttuk hogy $t_k\leq \min{H}$,most megmutatjuk,hogy $H\text{-nak}$ van
|
||||||
$t_k\text{-val}$ egyenlő eleme
|
$t_k\text{-val}$ egyenlő eleme
|
||||||
- Legyen $P$ egy $s\text{-ből}$ $v\text{-be}$ vezető $t_k(v)$ hosszú és
|
- Legyen $P$ egy $s\text{-ből}$ $v\text{-be}$ vezető $t_k(v)$ hosszú és
|
||||||
legfeljebb $k$ élű út.
|
legfeljebb $k$ élű út.
|
||||||
- Ha $P$ legfeljebb $k-1$ élű,akkor nyilván legrövidebb a legföljebb $k -
|
- Ha $P$ legfeljebb $k-1$ élű,akkor nyilván legrövidebb a legföljebb $k -
|
||||||
1$ élű, v-be vezető utak között is, így $t_k= t_{k-1}$
|
1$ élű, v-be vezető utak között is, így $t_k= t_{k-1}$
|
||||||
- Ha $P$ pontosan $k$ élű,akkor jelölje az utolsó élét $e=(u,v)$ és $P$
|
- Ha $P$ pontosan $k$ élű,akkor jelölje az utolsó élét $e=(u,v)$ és $P$
|
||||||
$s\text{-től}$ $u\text{-ig}$ vett szakaszát $P_u$
|
$s\text{-től}$ $u\text{-ig}$ vett szakaszát $P_u$
|
||||||
- Ekkor $P_u$ $t_{k-1}$ hosszú,mivel ha lenne rövidebb és legföljebb $k-1$ élű
|
- Ekkor $P_u$ $t_{k-1}$ hosszú,mivel ha lenne rövidebb és legföljebb $k-1$ élű
|
||||||
út $u\text{-ba}$ akkor, $e\text{-vel}$ kiegészítve egy $P\text{-nél}$ rövidebb
|
út $u\text{-ba}$ akkor, $e\text{-vel}$ kiegészítve egy $P\text{-nél}$ rövidebb
|
||||||
utat kapnánk,ami lehetetlen.
|
utat kapnánk,ami lehetetlen.
|
||||||
- Így ebben az esetben $t_k(v)=t_{k-1}+w(e)$ tényleg fennáll.
|
- Így ebben az esetben $t_k(v)=t_{k-1}+w(e)$ tényleg fennáll.
|
||||||
*** Az algoritmus
|
*** Az algoritmus
|
||||||
Tegyük fel,hogy $G$ gráf $s$ csúcsából akarunk legrövidebb utakat keresni. Az
|
Tegyük fel,hogy $G$ gráf $s$ csúcsából akarunk legrövidebb utakat keresni. Az
|
||||||
eljárás során mindenegyes csúcshoz hozzárendelhetünk egy számot,ami azt
|
eljárás során mindenegyes csúcshoz hozzárendelhetünk egy számot,ami azt
|
||||||
jelzi,hogy az eddig megtalált legrövidebb út összhossza mekkora. Ezt az értéket
|
jelzi,hogy az eddig megtalált legrövidebb út összhossza mekkora. Ezt az értéket
|
||||||
minden csúcsra inicializáljuk $\infty\text{-re}$ (kivéve $s\text{-hez}$,hozzá
|
minden csúcsra inicializáljuk $\infty\text{-re}$ (kivéve $s\text{-hez}$,hozzá
|
||||||
nullát rendelünk)
|
nullát rendelünk)
|
||||||
|
|
||||||
Az eljárás során minden ciklusban végigmegyünk $G$ összes csúcsán. Minden
|
Az eljárás során minden ciklusban végigmegyünk $G$ összes csúcsán. Minden
|
||||||
csúcsban megvizsgáljuk,hogy a belőle kivezető élek rövidebb utat alkotnak-e az
|
csúcsban megvizsgáljuk,hogy a belőle kivezető élek rövidebb utat alkotnak-e az
|
||||||
él végpontjába, mint az eddig megtalált. Ezt ismétli $(n-1)\text{-szer}$.
|
él végpontjába, mint az eddig megtalált. Ezt ismétli $(n-1)\text{-szer}$.
|
||||||
*** Állítás
|
*** Állítás
|
||||||
Tegyük fel, hogy lefuttattuk a Bellman-Ford algoritmust az $n$ csúcsú
|
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
|
$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
|
á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$
|
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)$
|
akkor és csak akkor konzervatív $G_s\text{-en}$, ha $G_s$ minden $e = (u, v)$
|
||||||
élére $t_{n-1} (v) \leq t_{n-1} (u) + w(e)$ teljesül.
|
élére $t_{n-1} (v) \leq t_{n-1} (u) + w(e)$ teljesül.
|
||||||
|
|
||||||
**** Bizonyítás
|
**** Bizonyítás
|
||||||
1) Szükségesség:
|
1) Szükségesség:
|
||||||
- Ha $w$ konzervatív,akkor a [[#kupal]] állításból következően minden $v \in
|
- Ha $w$ konzervatív,akkor a [[#kupal]] állításból következően minden $v \in
|
||||||
V(G_s)$ csúcsra a $t_{n-1}$ értékek helyesek,másrészt $t_n(v)\leq
|
V(G_s)$ csúcsra a $t_{n-1}$ értékek helyesek,másrészt $t_n(v)\leq
|
||||||
t_{n-1}(u)+w(e)$ $G_s$ minden $e=(u,v)$ élére teljesül
|
t_{n-1}(u)+w(e)$ $G_s$ minden $e=(u,v)$ élére teljesül
|
||||||
- Mivel $t_n(v)=t_{n-1}(v)$,így $t_{n-1}(v) \leq t_{n-1}(v) + w(e)$
|
- Mivel $t_n(v)=t_{n-1}(v)$,így $t_{n-1}(v) \leq t_{n-1}(v) + w(e)$
|
||||||
2) Elégségesség:
|
2) Elégségesség:
|
||||||
- Tegyük fel,hogy $t_{n-1}(v) \leq t_{n-1}(v) + w(e)$ fennáll
|
- Tegyük fel,hogy $t_{n-1}(v) \leq t_{n-1}(v) + w(e)$ fennáll
|
||||||
- Legyen $C$ egy tetszőleges irányított kör $G_s\text{-ben}$
|
- Legyen $C$ egy tetszőleges irányított kör $G_s\text{-ben}$
|
||||||
- Ekkor $C$ $\forall e=(u,v)$ élre a következő egyenlőtlenséget kapjuk:
|
- Ekkor $C$ $\forall e=(u,v)$ élre a következő egyenlőtlenséget kapjuk:
|
||||||
\begin{align}
|
\begin{align}
|
||||||
w(e) \geq t_{n-1}(v) - t_{n-1}(v)=0
|
w(e) \geq t_{n-1}(v) - t_{n-1}(v)=0
|
||||||
\end{align}
|
\end{align}
|
||||||
** Dijkstra algoritmusa
|
** Dijkstra algoritmusa
|
||||||
*** Állítás
|
*** Állítás
|
||||||
Legyen adott a $G = (V, E)$ irányított gráf, az $s \in V (G)$ csúcs és a
|
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.
|
$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ő
|
- 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.
|
legrövidebb út hosszát.
|
||||||
- Legyen $K \subseteq V$ egy tetszőleges olyan csúcshalmaz, amire $s \in K$ és $K \neq V$
|
- 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,
|
- 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\}}$.
|
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$.
|
- 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\}$.
|
- Legyen $a \notin K$ olyan csúcs, amire $t'(a) = \min\{t'(v) : v \notin K\}$.
|
||||||
|
|
||||||
Ekkor $t\notin (a) = t(a)$.
|
Ekkor $t\notin (a) = t(a)$.
|
||||||
*** Az algoritmus
|
*** Az algoritmus
|
||||||
Tegyük fel,hogy $G$ gráf $s$ csúcsából akarunk legrövidebb utakat keresni. Az
|
Tegyük fel,hogy $G$ gráf $s$ csúcsából akarunk legrövidebb utakat keresni. Az
|
||||||
eljárás során mindenegyes csúcshoz hozzárendelhetünk egy számot,ami azt
|
eljárás során mindenegyes csúcshoz hozzárendelhetünk egy számot,ami azt
|
||||||
jelzi,hogy az eddig megtalált legrövidebb út összhossza mekkora. Ezt az értéket
|
jelzi,hogy az eddig megtalált legrövidebb út összhossza mekkora. Ezt az értéket
|
||||||
minden csúcsra inicializáljuk $\infty\text{-re}$ (kivéve $s\text{-hez}$,hozzá
|
minden csúcsra inicializáljuk $\infty\text{-re}$ (kivéve $s\text{-hez}$,hozzá
|
||||||
nullát rendelünk)
|
nullát rendelünk)
|
||||||
|
|
||||||
Induljunk ki tehát $s\text{-ből}$ és a belőle kiinduló élek alapján frissítsük
|
Induljunk ki tehát $s\text{-ből}$ és a belőle kiinduló élek alapján frissítsük
|
||||||
az egyes csúcsokhoz tartozó legrövidebb utakat. Ezután zárjuk le $s$
|
az egyes csúcsokhoz tartozó legrövidebb utakat. Ezután zárjuk le $s$
|
||||||
csúcsot,majd folytassuk az eljárást az $s\text{-ből}$ legrövidebb úttal elérhető
|
csúcsot,majd folytassuk az eljárást az $s\text{-ből}$ legrövidebb úttal elérhető
|
||||||
csúccsal. Az eljárást addig futtatjuk,ameddig minden csúcsa le nem lesz zárva.
|
csúccsal. Az eljárást addig futtatjuk,ameddig minden csúcsa le nem lesz zárva.
|
||||||
|
|
||||||
\clearpage
|
\clearpage
|
||||||
\begin{thebibliography}{99}
|
\begin{thebibliography}{99}
|
||||||
|
|
||||||
\bibitem[1]{kv}
|
\bibitem[1]{kv}
|
||||||
\bibentry{Katona Gyula – Recski András – Szabó Csaba, }{(2002)}{A számítástudomány alapjai, }{Budapest, }{Typotex Kiadó}{}{}
|
\bibentry{Katona Gyula – Recski András – Szabó Csaba, }{(2002)}{A számítástudomány alapjai, }{Budapest, }{Typotex Kiadó}{}{}
|
||||||
|
|
||||||
|
\bibitem[2]{hj}
|
||||||
|
\bibentry{Szeszlér Dávid, }{(2019)}{Bevezetés a Számításelméletbe 2 - Ideiglenes egyetemi jegyzet a koronavírus járvány idején zajló távoktatáshoz, }{Budapest, }{\url{http://cs.bme.hu/bsz2/bsz2_jegyzet.pdf}}{}{}
|
||||||
|
\end{thebibliography}
|
||||||
|
|
||||||
\bibitem[2]{hj}
|
|
||||||
\bibentry{Szeszlér Dávid, }{(2019)}{Bevezetés a Számításelméletbe 2 - Ideiglenes egyetemi jegyzet a koronavírus járvány idején zajló távoktatáshoz, }{Budapest, }{\url{http://cs.bme.hu/bsz2/bsz2_jegyzet.pdf}}{}{}
|
|
||||||
\end{thebibliography}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue