From 207d359aa24c7b2e80b2bdd56bc526229edc4fb0 Mon Sep 17 00:00:00 2001 From: Bazsalanszky Date: Tue, 16 Jun 2020 18:27:19 +0200 Subject: [PATCH] =?UTF-8?q?Kisebb=20hib=C3=A1k=20jav=C3=ADt=C3=A1sa?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bsz2.org | 648 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 352 insertions(+), 296 deletions(-) diff --git a/bsz2.org b/bsz2.org index 937e170..7a33240 100644 --- a/bsz2.org +++ b/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(a)$ pillanatban $d(v)=*$ volt,így $v \in F_a$,azaz + $e$ egy előreél + - Ha $d(v)