Kisebb hibák javítása

This commit is contained in:
Bazsalanszky 2020-06-16 18:27:19 +02:00
parent 0de896054e
commit 088b92198b
Signed by: Bazsalanszky
GPG key ID: 1B0B72C7139E2884

648
bsz2.org
View file

@ -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}