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
|
||||
Bármely két különböző csúcs össze van kötve.
|
||||
** 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
|
||||
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
|
||||
|
@ -260,7 +260,7 @@
|
|||
előbbi jelölésekkel $e\leq3n-6$.
|
||||
*** Bizonyítás
|
||||
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
|
||||
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
|
||||
|
@ -297,8 +297,12 @@
|
|||
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
|
||||
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.}$
|
||||
** Definíció
|
||||
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
|
||||
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
|
||||
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.
|
||||
|
||||
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
|
||||
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
|
||||
teljesül a kezdeti feltétel. 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
|
||||
teljesül a kezdeti feltétel.Ekkor biztosan van benne két olyan pont,hogy ${x,y}\notin
|
||||
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$.
|
||||
|
||||
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)
|
||||
Minden $k\geq2$ esetén létezik olyan $G_k$ gráf, amire $\omega(G_k ) = 2$ és
|
||||
$\chi(G_k ) = k$.
|
||||
*** TODO Bizonyítás
|
||||
*NEM, KÖSZÖNÖM MÁR JÓLLAKTAM!*
|
||||
*** Bizonyítás
|
||||
- $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
|
||||
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
|
||||
|
@ -594,11 +631,30 @@
|
|||
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.
|
||||
|
||||
|
||||
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
|
||||
sok csúcsú komponenseinek száma legfeljebb $k$.
|
||||
|
||||
*** TODO Bizonyítás
|
||||
*** Jelölések
|
||||
**** $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 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}\}$
|
||||
** Egészértékűségi lemma
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: egér
|
||||
:END:
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: egér
|
||||
: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
|
||||
|
||||
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$
|
||||
|
||||
** Tétel
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: eldis_tet
|
||||
:END:
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: eldis_tet
|
||||
:END:
|
||||
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:
|
||||
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
|
||||
$t$ végpontú, $G$ -beli irányítatlan út tartalmaz $Y$ -beli csúcsot.
|
||||
** Tétel
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: pdt
|
||||
:END:
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: pdt
|
||||
:END:
|
||||
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:
|
||||
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
|
||||
$max\{m_f:f\>\text{folyam}\}\geq k$ teljesül, így a 3. pontot beláttuk
|
||||
**** $3.\implies1$.
|
||||
- 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$
|
||||
éldiszjunkt irányított utak $s \rightarrow t$
|
||||
- Az előzőek szerint minden $P_i$ megfeleltethető egy $G\text{-beli}$ $P'_i$
|
||||
éldiszjunkt útnak.
|
||||
- $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
|
||||
tartalmazná a $(v_1,v_2)$ élt $H\text{-ban}$.
|
||||
- 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$
|
||||
éldiszjunkt irányított utak $s \rightarrow t$
|
||||
- Az előzőek szerint minden $P_i$ megfeleltethető egy $G\text{-beli}$ $P'_i$
|
||||
éldiszjunkt útnak.
|
||||
- $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
|
||||
tartalmazná a $(v_1,v_2)$ élt $H\text{-ban}$.
|
||||
** Tétel
|
||||
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:
|
||||
|
@ -1064,11 +1120,11 @@
|
|||
*** Bizonyítás
|
||||
**** $1.\implies2$.: azonos az [[#pdt][előző tétel]] bizonyításával
|
||||
**** $2.\implies3$.:
|
||||
- $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
|
||||
gráfban,amit $G'$ széthúzásával kapunk. Ez éppen a 3. állítása.
|
||||
- $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
|
||||
gráfban,amit $G'$ széthúzásával kapunk. Ez éppen a 3. állítása.
|
||||
**** $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)
|
||||
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
|
||||
|
@ -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.
|
||||
*** Bizonyítás
|
||||
**** 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$
|
||||
é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
|
||||
benne van $G'$ gráfban
|
||||
- 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
|
||||
- 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'$.
|
||||
- Mivel nem hagytuk el az összes éldiszjunkt utat,így legalább egy $P_i$ út még
|
||||
benne van $G'$ gráfban
|
||||
- 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
|
||||
**** 1. pont szükségessége
|
||||
- Tegyük fel hogy $G$ $k\text{-szorosan}$ összefüggő és legyen $s,t\in V(G),s
|
||||
\neq t$ tetszőleges csúcsok.
|
||||
- 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ű.
|
||||
- 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.
|
||||
- Tegyük fel hogy $G$ $k\text{-szorosan}$ összefüggő és legyen $s,t\in V(G),s
|
||||
\neq t$ tetszőleges csúcsok.
|
||||
- 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ű.
|
||||
- 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.
|
||||
**** 2. pont bizonyítása
|
||||
- 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'$
|
||||
- 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ő
|
||||
- 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'$
|
||||
- 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ő
|
||||
**** 2. pont szükségessége
|
||||
- Tegyük fel, hogy $G$ $k\text{-szorosan}$ összefüggő és legyen $s,t \in V(G), s
|
||||
\neq t$
|
||||
- Tegyük fel, hogy $G$ $k\text{-szorosan}$ összefüggő és legyen $s,t \in V(G), s
|
||||
\neq t$
|
||||
***** Ha $s$ és $t$ nem szomszédosak:
|
||||
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$
|
||||
csúcs elhagyásával a kapott $G'$ gráf, nem volna összefüggő,ami ellentmondás
|
||||
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$
|
||||
csúcs elhagyásával a kapott $G'$ gráf, nem volna összefüggő,ami ellentmondás
|
||||
***** Ha szomszédosak
|
||||
- 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
|
||||
- Tegyük fel indirekt,hogy nem létezik $H\text{-ban}$ $k-1$ pontdiszjunkt $s
|
||||
\rightarrow t$ út.
|
||||
- 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ő
|
||||
- Emiatt $s$ és $t$ különböző komponensekhez tartoznak.
|
||||
- Mivel $G$ $k\text{-szorosan}$ összefüggő,így legföljebb $(k-2)$ csúcsot
|
||||
hagytunk el
|
||||
- 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.
|
||||
- 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
|
||||
$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ő.
|
||||
- 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
|
||||
- Tegyük fel indirekt,hogy nem létezik $H\text{-ban}$ $k-1$ pontdiszjunkt $s
|
||||
\rightarrow t$ út.
|
||||
- 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ő
|
||||
- Emiatt $s$ és $t$ különböző komponensekhez tartoznak.
|
||||
- Mivel $G$ $k\text{-szorosan}$ összefüggő,így legföljebb $(k-2)$ csúcsot
|
||||
hagytunk el
|
||||
- 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.
|
||||
- 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
|
||||
$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ő.
|
||||
|
||||
*** Következmény
|
||||
Ha a G gráf $k\text{-szorosan}$ pontösszefüggő, akkor $k\text{-szorosan}$
|
||||
élösszefüggő is.
|
||||
Ha a G gráf $k\text{-szorosan}$ pontösszefüggő, akkor $k\text{-szorosan}$
|
||||
élösszefüggő is.
|
||||
|
||||
*** Következmény bizonyítása
|
||||
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$
|
||||
é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
|
||||
$k\text{-szorosan}$ élösszefüggő.
|
||||
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$
|
||||
é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
|
||||
$k\text{-szorosan}$ élösszefüggő.
|
||||
* Aciklikus irányított gráfok(DAG) $\protect\footnote{\cite{hj} alapján.}$
|
||||
** Fogalma
|
||||
Egy irányított $G$ gráfot akkor nevezünk *aciklikusnak*,ha nem tartalmaz
|
||||
irányított kört. Angolul Directed Acyclic
|
||||
Graph, röviden DAG.
|
||||
Egy irányított $G$ gráfot akkor nevezünk *aciklikusnak*,ha nem tartalmaz
|
||||
irányított kört. Angolul Directed Acyclic
|
||||
Graph, röviden DAG.
|
||||
** Definíció
|
||||
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
|
||||
(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$).
|
||||
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
|
||||
(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$).
|
||||
** Tétel
|
||||
A $G$ irányított gráfnak akkor és csak akkor van topologikus rendezése, ha
|
||||
aciklikus.
|
||||
A $G$ irányított gráfnak akkor és csak akkor van topologikus rendezése, ha
|
||||
aciklikus.
|
||||
*** Bizonyítás
|
||||
- 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/
|
||||
(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ő.
|
||||
- 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/
|
||||
(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ő.
|
||||
|
||||
- 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.
|
||||
- Folytassuk az eljárást amíg lehet
|
||||
- A kapott $v_1,v_2,\ldots,v_n$ sorozat nyilván topologikus rendezés.
|
||||
- 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.
|
||||
- Folytassuk az eljárást amíg lehet
|
||||
- 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.
|
||||
Irányított aciklikus gráfokban a legrövidebb és a leghosszabb utat lineáris
|
||||
időben meg lehet találni egy egyszerű algoritmussal.
|
||||
Irányított aciklikus gráfokban a legrövidebb és a leghosszabb utat lineáris
|
||||
időben meg lehet találni egy egyszerű algoritmussal.
|
||||
|
||||
Fontos megjegyezni,hogy ebben az esetben minden él rendelkezik egy súllyal,ami
|
||||
az út ''hosszát'' jelenit.
|
||||
Fontos megjegyezni,hogy ebben az esetben minden él rendelkezik egy súllyal,ami
|
||||
az út ''hosszát'' jelenit.
|
||||
|
||||
Keressük meg a $s \rightarrow v$ legrövidebb utat!
|
||||
- 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
|
||||
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
|
||||
a legkisebb súlyút.
|
||||
Ez az algoritmus leghosszabb út keresésére is alkalmazható.
|
||||
Keressük meg a $s \rightarrow v$ legrövidebb utat!
|
||||
- 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
|
||||
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
|
||||
a legkisebb súlyút.
|
||||
Ez az algoritmus leghosszabb út keresésére is alkalmazható.
|
||||
* Mélységi keresés $\protect\footnote{\cite{hj} alapján.}$
|
||||
** Az algoritmus
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
bejárt csúcsok közül választ egy tetszőlegest.
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
bejárt csúcsok közül választ egy tetszőlegest.
|
||||
** DFS erdő
|
||||
A DFS által bejárt élek egy erdőt alkotnak.
|
||||
A DFS által bejárt élek egy erdőt alkotnak.
|
||||
** Definíció
|
||||
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\text{-nek}$ egy tetszőleges éle. Ekkor
|
||||
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
|
||||
(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$
|
||||
„őse” $u$ -nak);
|
||||
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
|
||||
leszármazási viszony”).
|
||||
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\text{-nek}$ egy tetszőleges éle. Ekkor
|
||||
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
|
||||
(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$
|
||||
„őse” $u$ -nak);
|
||||
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
|
||||
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
|
||||
1. Faél, ha $d(v) = *$;
|
||||
2. Előreél, ha $d(v) > d(a)$;
|
||||
3. Visszaél, ha $d(v) < d(a)$ és $f(v) = *$;
|
||||
4. Keresztél, ha $d(v) < d(a)$ és $f(v) \neq *$.
|
||||
: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
|
||||
1. Faél, ha $d(v) = *$;
|
||||
2. Előreél, ha $d(v) > d(a)$;
|
||||
3. Visszaél, ha $d(v) < d(a)$ és $f(v) = *$;
|
||||
4. Keresztél, ha $d(v) < d(a)$ és $f(v) \neq *$.
|
||||
*** Bizonyítás
|
||||
- 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
|
||||
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
|
||||
$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.
|
||||
- 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
|
||||
$F\text{-nek}$.
|
||||
- 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)$.
|
||||
- Ha $d(v)>d(a)$, akkor $kezd(a)$ pillanatban $d(v)=*$ volt,így $v \in F_a$,azaz
|
||||
$e$ egy előreél
|
||||
- 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$,
|
||||
í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
|
||||
é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
|
||||
- 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
|
||||
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
|
||||
$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.
|
||||
- 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
|
||||
$F\text{-nek}$.
|
||||
- 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)$.
|
||||
- Ha $d(v)>d(a)$, akkor $kezd(a)$ pillanatban $d(v)=*$ volt,így $v \in F_a$,azaz
|
||||
$e$ egy előreél
|
||||
- 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$,
|
||||
í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
|
||||
é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
|
||||
|
||||
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
|
||||
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
|
||||
visszaél és ebben az esetben a befejezési számozás szerinti fordított sorrendben
|
||||
felsorolva $G$ csúcsait topologikus rendezést kapunk.
|
||||
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
|
||||
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)$
|
||||
- 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 $\protect\footnote{\cite{hj} alapján.}$
|
||||
** 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.
|
||||
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
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: kort
|
||||
:END:
|
||||
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.
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: kort
|
||||
:END:
|
||||
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
|
||||
- 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
|
||||
legkevesebb él van (Q-ban): legyen ez $u$
|
||||
- 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
|
||||
miatt,nem létezhet benne ismétlődő csúcspár (mert akkor azok között kevesebb
|
||||
él lenne)
|
||||
- Vágjuk ki $Q\text{-ból}$ a $C$ irányított kört, a kapott élsorozat legyen
|
||||
$Q_1$.
|
||||
- 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
|
||||
nemnegatív)
|
||||
- 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
|
||||
$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
|
||||
- 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
|
||||
legkevesebb él van (Q-ban): legyen ez $u$
|
||||
- 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
|
||||
miatt,nem létezhet benne ismétlődő csúcspár (mert akkor azok között kevesebb
|
||||
él lenne)
|
||||
- Vágjuk ki $Q\text{-ból}$ a $C$ irányított kört, a kapott élsorozat legyen
|
||||
$Q_1$.
|
||||
- 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
|
||||
nemnegatív)
|
||||
- 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
|
||||
$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
|
||||
*** 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.
|
||||
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
|
||||
- Tegyük fel indirekten,hogy $exists s \rightarrow u$ egy $P_u\text{-nál}$
|
||||
rövidebb $P'$ út.
|
||||
- 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.
|
||||
- Ekkor azonban $Q$ rövidebb $s \rightarrow v$ út $P\text{-nél}$,ami ellentmond
|
||||
annak, hogy $P$ legrövidebb út
|
||||
- Tegyük fel indirekten,hogy $exists s \rightarrow u$ egy $P_u\text{-nál}$
|
||||
rövidebb $P'$ út.
|
||||
- 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.
|
||||
- Ekkor azonban $Q$ rövidebb $s \rightarrow v$ út $P\text{-nél}$,ami ellentmond
|
||||
annak, hogy $P$ legrövidebb út
|
||||
** A Bellman-Ford algoritmus
|
||||
*** Definíció
|
||||
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
|
||||
legföljebb $k$ élből áll; ha pedig ilyen út nincs, akkor legyen $t_k (v) = \infty$.
|
||||
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
|
||||
legföljebb $k$ élből áll; ha pedig ilyen út nincs, akkor legyen $t_k (v) = \infty$.
|
||||
*** Állítás
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: kupal
|
||||
:END:
|
||||
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_{k-1}(v)\} \cup \{t_{k-1} (u) + w(e) : e = (u, v), e \in E(G)\}\}}
|
||||
\end{align}
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: kupal
|
||||
:END:
|
||||
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_{k-1}(v)\} \cup \{t_{k-1} (u) + w(e) : e = (u, v), e \in E(G)\}\}}
|
||||
\end{align}
|
||||
**** Bizonyítás
|
||||
- Jelölje $H$ az egyenlet jobb oldalán lévő halmazt.Így azt kell belátnunk hogy
|
||||
$t_k(v)$ a $H$ minimuma
|
||||
- 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
|
||||
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.
|
||||
- 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
|
||||
egyben legföljebb $k$ élű utak
|
||||
- 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}$
|
||||
- Í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)$
|
||||
- Beláttuk hogy $t_k\leq \min{H}$,most megmutatjuk,hogy $H\text{-nak}$ van
|
||||
$t_k\text{-val}$ egyenlő eleme
|
||||
- Legyen $P$ egy $s\text{-ből}$ $v\text{-be}$ vezető $t_k(v)$ hosszú és
|
||||
legfeljebb $k$ élű út.
|
||||
- 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}$
|
||||
- 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$
|
||||
- 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
|
||||
utat kapnánk,ami lehetetlen.
|
||||
- Így ebben az esetben $t_k(v)=t_{k-1}+w(e)$ tényleg fennáll.
|
||||
- Jelölje $H$ az egyenlet jobb oldalán lévő halmazt.Így azt kell belátnunk hogy
|
||||
$t_k(v)$ a $H$ minimuma
|
||||
- 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
|
||||
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.
|
||||
- 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
|
||||
egyben legföljebb $k$ élű utak
|
||||
- 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}$
|
||||
- Í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)$
|
||||
- Beláttuk hogy $t_k\leq \min{H}$,most megmutatjuk,hogy $H\text{-nak}$ van
|
||||
$t_k\text{-val}$ egyenlő eleme
|
||||
- Legyen $P$ egy $s\text{-ből}$ $v\text{-be}$ vezető $t_k(v)$ hosszú és
|
||||
legfeljebb $k$ élű út.
|
||||
- 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}$
|
||||
- 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$
|
||||
- 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
|
||||
utat kapnánk,ami lehetetlen.
|
||||
- Így ebben az esetben $t_k(v)=t_{k-1}+w(e)$ tényleg fennáll.
|
||||
*** Az algoritmus
|
||||
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
|
||||
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á
|
||||
nullát rendelünk)
|
||||
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
|
||||
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á
|
||||
nullát rendelünk)
|
||||
|
||||
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
|
||||
él végpontjába, mint az eddig megtalált. Ezt ismétli $(n-1)\text{-szer}$.
|
||||
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
|
||||
él végpontjába, mint az eddig megtalált. Ezt ismétli $(n-1)\text{-szer}$.
|
||||
*** Á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_{n-1} (v) \leq t_{n-1} (u) + w(e)$ teljesül.
|
||||
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_{n-1} (v) \leq t_{n-1} (u) + w(e)$ teljesül.
|
||||
|
||||
**** Bizonyítás
|
||||
1) Szükségesség:
|
||||
- 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
|
||||
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)$
|
||||
2) Elégségesség:
|
||||
- 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}$
|
||||
- Ekkor $C$ $\forall e=(u,v)$ élre a következő egyenlőtlenséget kapjuk:
|
||||
\begin{align}
|
||||
w(e) \geq t_{n-1}(v) - t_{n-1}(v)=0
|
||||
\end{align}
|
||||
1) Szükségesség:
|
||||
- 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
|
||||
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)$
|
||||
2) Elégségesség:
|
||||
- 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}$
|
||||
- Ekkor $C$ $\forall e=(u,v)$ élre a következő egyenlőtlenséget kapjuk:
|
||||
\begin{align}
|
||||
w(e) \geq t_{n-1}(v) - t_{n-1}(v)=0
|
||||
\end{align}
|
||||
** 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\}$.
|
||||
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)$.
|
||||
Ekkor $t\notin (a) = t(a)$.
|
||||
*** Az algoritmus
|
||||
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
|
||||
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á
|
||||
nullát rendelünk)
|
||||
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
|
||||
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á
|
||||
nullát rendelünk)
|
||||
|
||||
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$
|
||||
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.
|
||||
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$
|
||||
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.
|
||||
|
||||
\clearpage
|
||||
\begin{thebibliography}{99}
|
||||
\clearpage
|
||||
\begin{thebibliography}{99}
|
||||
|
||||
\bibitem[1]{kv}
|
||||
\bibentry{Katona Gyula – Recski András – Szabó Csaba, }{(2002)}{A számítástudomány alapjai, }{Budapest, }{Typotex Kiadó}{}{}
|
||||
\bibitem[1]{kv}
|
||||
\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