bsz2-org/bsz2.org

87 KiB
Raw Blame History

Bevezetés a számelméletbe 2 Spellbook

Kombinatorikus leszámlálási alapfeladatok

Permutáció

Ismétlés nélküli permutáció

$k$ különbőző dolog sorrenjeinek száma, ismétlés nélkül. Kiszámítása: $k!$

Ismétléses permutáció

$k$ különbőző dolog sorrenjeinek száma, ismétléssel. Kiszámítása: $\frac{(k_1+k_2+..+k_r)!}{k_1!k_2!...k_R!}$

Variáció

Ismétlés nélküli variáció

$n$ különbőző dologból választunk $k$ különbözőt és számít a sorrend. Kiszámítása:$\frac{n!}{(n-k)!}$

Ismétléses variáció

$n$ különbőző dolog közül választunk $k$ darab, nem feltétlenül különböző dolgot és számít hogy milyen sorrendben. Kitszámítása: $n^k$

Kombináció

Ismétlés nélküli kombináció

$n$ különböző dolog közül kiválasztunk $k$ darab különbőző dolgot sorrendtől függetlenül. Kiszámítása:

\begin{equation*} \begin{pmatrix} n\\ k \end{pmatrix} =\frac{n!}{(n-k)!k!} \end{equation*}

⊂subsection*{Megjegyzés} A $\bigl( \begin{smallmatrix} n\\k \end{smallmatrix}\bigl)$ számokat binominális együtthatónak nevezzük.

Ismétléses kombináció

$n$ kükönböző dologból kiválasztunk $k$ darab, nem feltétlen különböző dolgot és a sorrend nem számít. Kiszámítása:

\begin{equation*} \begin{pmatrix} (n-1)+k\\ k \end{pmatrix} \end{equation*}

Fontos tudnivaló a binomiális együtthatókról

\begin{equation*} \begin{pmatrix} n\\ k \end{pmatrix} = \begin{pmatrix} n\\ n-k \end{pmatrix} \end{equation*}

Pascal-háromszög

$n=0$ 1
$n=1$ 1 1
$n=2$ 1 2 1
$n=3$ 1 3 3 1
$n=4$ 1 4 6 4 1
$n=5$ 1 5 10 10 5 1
$n=6$ 1 6 15 20 15 6 1

Pascal-háromszög elemei

Minden $n$ sor, $k$. eleme megegyezik $\begin{pmatrix}n\\k\end{pmatrix}$ -val.

Bizonyítás

Azt kell belátnunk,hogy $\begin{pmatrix}n\\k\end{pmatrix}= \begin{pmatrix}n-1\\k\end{pmatrix}+\begin{pmatrix}n-1\\k-1\end{pmatrix}$ , hiszen ezzel a szabállyal készült a háromszög, és $\begin{pmatrix}n\\0\end{pmatrix}=\begin{pmatrix}n\\n\end{pmatrix}=1$(''legszélső elemek'').

Tegyük fel, hogy van $n$ darab emberünk,közülük egy a király. Ki a karunk választani közülük $k$ darabot, ez $\begin{pmatrix}n\\k\end{pmatrix}$ lenne. De a lehetséges kiválasztásokat úgy is számolhatjuk,hogy vesszük azokat,amiben kiválasztottuk a királyt (Ez $\begin{pmatrix}n-1\\k-1\end{pmatrix}$,hiszen ilyenkor a maradék $n-1\text{-ből}$ kell választani $k-1\text{-et}$) és amikor nem választottuk ki(Ez pedig $\begin{pmatrix}n-\\k\end{pmatrix}$,mivel a maradék $n-1\text{-ből}$ kell $k$ darabot). Ez pontosan az amit be akartunk látni.

Binomiális tétel

\begin{align} (a+b)^n=\sum_{i=0}^{n}a^i\cdot b^{n-i}\cdot \begin{pmatrix}n \\ i \end{pmatrix} \end{align}
Bizonyítás
\begin{align} (a+b)^n&=(a+b)\cdot(a+b)\cdot\ldots\cdot(a+b) \end{align}

Mivel minden szorzatban az $(a+b)$ egy-egy elemet ki kell választani,így minden tagban lesz valamennyi $a$ és valamennyi $b$,de a kitevőjük összege mindig $n$ lesz. Ebből az következik,hogy minden $a^jb^{n-j}$ éppen annyiszor fordul elő, ahány féle képpen ki tudunk választani az $a\text{-ból}$ $j$ darabot: $\begin{pmatrix} n \\ j\end{pmatrix}$,ezzel beláttuk a tételt.

Tétel

A Pascal-háromszög minden $n$. sorának elemeinek összege $2^n$.

Bizonyítás
\begin{align} (1+1)^n=2^n=\sum_{i=0}^{n}1^i\cdot 1^{n-i}\cdot \begin{pmatrix} n \\ i\end{pmatrix} =\sum_{i=0}^{n} \begin{pmatrix} n \\ i \end{pmatrix} \end{align}

Korábban már láttuk(Lásd /Bazsalanszky/bsz2-org/src/commit/88b2dc59b892920614ac3aae617b90e2f85932f6/%2APascal-h%C3%A1romsz%C3%B6g%20elemei tétel),hogy $\begin{pmatrix} n \\ k \end{pmatrix}$ pont az $n$. sor $k$. elem,így az állítás valóban igaz.

Gráfelméleti alapfogalmak

Gráf

Egy gráf egy rendezett pár, $G=(V,E)$,ahol $V$ nem-üres halmaz elemeit pontoknak vagy csűcsoknak, E elemeit pedig éleknek nevezzük.

Egyszerű gráfok

Olyan gráf,amely nem tartalmaz hurok- és párhuzamos éleket.

Részgráf

$G'(V',G')$ gráf részgráfja $G(V,E)$ -nek,ha $V'\leq V$,$E'\leq E$ és minedn $E'$ -beli él végpontja $V'$ elemei.

Feszített részgráf

$G'(V',E')$ feszített részgráfja $G(V,E)\text{-nek}$, ha $V'\leq V$ és $E'$ az összes $E\text{-beli}$ él,ami a $V'\text{-beli}$ csúcsok között fut.

Állítás

A fokok összege az élek számának kétszerese.

Bizonyítás

Amikor a fokok számát öszegezzük,minden pontra megszámoljuk a hozzá illeszkedő éleket. Mivel minden élnek két végpontja van, így minden élet pontosan kétszer számolunk.

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

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

Egy $(v_0,e_1,v_1,e_2,v_2,\dots,e_n,v_n)$ sorozatot élsorozatnak nevezzük,ha minden $e_i$ a $v_{i-1}$ és $v_i$ csúcsot összekötő él.

Út

Olyan élsorozat,amelyben minden csúcs különböző

Kör

Olyan út,amelynek kezdőpontja és végpontja megegyezik

Összefüggő gráfok

Két gráf akkor összefüggő ha bármely két csúcsa közt létezik élsorozat/út

Komponens

Összefüggő feszített részgráf,amelyből nem emgy ki él.Nem bővíthető tovább összefüggő pontal.

Állítás

Ha $G$ egy $n$ csúcsú összefüggő gráf, akkor minimum $n-1$ éle van.

Bizonyítás

Legyen kezdetben $n$ izolált pont($n$ komponens). Kössünk össze kettőt csúcsot egy éllel, ekkor $n-1$ komponensből fog állni. Folytatjuk a különböző komponensek összekötését addig,amíg 1 összefüggő gráfunk nem lesz. Ez az algoritmus $n-1$ lépés után megáll,tehát $n-1$ élt húzott be,ezzel bizonyítva az állítást.

Fa

Az összefüggő, körmentes gráfokat fának nevezzük.

Tétel

Minen legalább 2 pontú fában van legalább két első fokú pont.

Bizonyítás

Legyen a fában a leghoszabb út a $v_1,v_2,\dots,v_k$ csúcsokból álló. Belátjuk, hogy mindkét végpont elsőfokú.

Tegyük fel hogy $v_k$ nem elsőfokú ,azaz vezet belőle egy él a fa valamely pontjába. Az út többi pontjába nem vezethet,hiszen akkor kört alkotna. Ha pedig egy új $v_{k+1}$ pontba vezet az él, akkor az eredeti út nem a leghoszabb lenne, ez pedig ellentmondás.

Tétel

Minden $n$ csúcsú fának pont $n-1$ éle van.

Bizonyítás

Tudjuk hogy minden $n$ csúcsú összefüggő gráfnak minimum $n-1$ éle van,tehát azt kell belátnunk,hogy fák esetén ennél nem nagyobb.Ehhez egy lemmát vezetünk be.

Lemma

$G$ körmentes, $n$ csúcsú gráf. Ekkor legfeljebb $n-1$ éle van $G$ -nek.

Lemma bizonyítása

Legyen kezdetben $n$ darab izolált pontunk. Ha egy komponensen belül rajzolnánk be éleket,akkor kört alkotnának. Ha két különböző komponenst kötünk össze,akkor egyel kevesebb komponensünk lesz. Ezt az eljárást folytatva maximum $n-1$ lépés után megáll.

Állítás

Minden legalább $2$ csúcsú fának van levele.

Feszítőfa

$G$ -nek $F$ feszítőfája, ha $F$ fa és $F$ részgráfja G-nek,$F$ minden csúcsot tartalmaz.

Tétel

Minden összefüggő gráf tartalmaz feszítőfát.

Bizonyítás

Ha $G\text{-ben}$ van kör,akkor hagyjuk el a kör egy tetszőleges élét.Ha a maradék gráfban még mindig van kör,akkor ismét hagyjunk el egy élet belőle. Az eljárást folytassuk amíg van benne kör. Az eljárás végeztével, egy összefüggő (hiszen mindig egy kör egyik élét hagytuk el) körmentes gráfot kapunk,ami fa.

Gráfok bejárása $\protect \footnote{ \cite{kv} alapján.}$

Szélességi bejárás (BFS)

Az algoritmus

Tegyük fel,hogy az $a$ pontból kiindulva akarjuk ''bejárni'' a gráfot. Először járjuk be sorba $a$ összes szomszédját. Utána járjuk be $a$ első szomszédjának szomszédait,ahol még nem jártunk, majd $a$ második szomszédjának összes szomszédját, és így tovább. Ha már bejártuk $a$ összes szomszédjának összes szomszédját,akkor mehetünk abba a pontba,ahol legrégebben jártunk azok közül, amelyeknek még nem néztük végig a szomszédait. Ezt az eljárást folytatjuk, amíg tudjuk.

Állítás

A BFS-fában, az $i\text{-edik}$ szint csúcsai $i$ távolságra vannak a kezdőponttól.

Minimális összsúlyú feszítőfák(feszítőerdő)

Rendeljünk egy $G$ gráf éleihez súlyokat,nemnegatív valós számokat. Jelöljük $s(e)\text{-vel}$ az $e\text{-hez}$ rendelt súlyt. Ha $X\subseteq E(G)$, akkor $X$ súlya $\sum_{e\in X} s(e)$.

Ha $F$ feszítőfája $G\text{-nek}$, és $F$ súlya minimális,akkor $F$ minimális összsúlyú feszítőfa. Ha $G$ nem összefüggő,akkor feszítő erdői vannak.

Kruskal algoritmusa

Az algoritmus

Az éleket egyesével választjuk ki az éleket a következőek szerint. A legkisebb súlyú élekkel kezdjük. A további választásokkor azokat az élek választjuk,amelynek a legkisebb a súlya és nem alkot kört az eddig kiválasztott élekkel. Az eljárást addig folytatjuk,amíg találunk ilyen éleket, ha nincs akkor megállunk.

A Kruskal algoritmus egy ún. mohó algoritmus,mivel minden lépésében az éppen legjobbnak tűnő lehetőséget választja.

Tétel

A Kruskal algoritmus $G$ minimális súlyú feszítőerdőjét adja.

Bizonyítás

Nyilvánvaló hogy az algoritmus végén a kiválasztott élek egy $F$ feszítőerdőt alkotnak.

Tegyük fel indirekten,hogy $F_0$ minimális súlyú feszítőerdő, és $s(F_0)<s(F)$. Ha több ilyen ellenpélda van,akkor válasszuk ki azt,amelyiknek a legtöbb közös éle van $F\text{-el}$.

Legyen $e_0\in E(F_0)$, de $e_0\notin E(F)$. Ha hozzávesszük $e_0\text{-t}$ $F\text{-hez}$,akkor egy $C$ kört kapunk. Ha valamely $e\in E(C)-e_0$ élre $s(e)>s(e_0)$,akkor az algoritmus $e$ helyett $e_0\text{-t}$ választotta volna. Így $s(e)\leq s(e_0)$,minden $e\in E(C)\text{-re}$. Mivel $F_0-e_0$ két komponensből áll, kell lennie egy $e_1\in E(C)-{e_0}\subseteq E(F)$ élnek,amely két végpontja $F_0-e_0$ két különböző komponenséhez tartozik. Nyilvánvaló,hogy $F_1=(F_0-e_0)\cup{e_1}$ is feszítő fa, és tudjuk,hogy $s(e_1)\leq(e_0)$. $s(e_1)<(e_0)$ azonban nem lehet,hiszen akkor $F_0$ nem lenne minimális,tehát csak $s(e_1)=(e_0)$ lehet igaz. Ekkor viszont $F_1$ egy olyan ellenpélda lenne,melynek egyel több közös éle van,mint $F\text{-el}$,mint $F_0\text{-nak}$. Ez pedig ellentmond a feltevésnek.

Gráfok síkbarajzolhatósága $\protect \footnote{ \cite{kv} alapján.}$

Definíció

Ha egy gráf lerajzolható a síkba úgy, hogy az élei ne messék egymást, akkor a gráf síkbarajzolható. A síkbarajzolt gráf a síkot tartományokra osztja. Hasonlóan definiáljuk a gömbre rajzolható gráfot.

Tétel

Egy $G$ gráf pontosan akkor síkbarajzolható, gömbre rajzolható.

Bizonyítás

Egy síkban levő gráf leképezhető egy gömbfelületre oly módon, hogy ezt a gömbfelületet valamelyik pontjával a síkra helyezzük, az érintkezési pon- tot tekintjük a gömbfelület déli pólusaként, és az északi pólusból, mint vetítési pont- ból oly egyenes vonalakat húzunk, amelyek a síkban levő gráf minden egyes pontját összekötik az északi pólussal. Ezeknek a vonalaknak egy-egy további metszéspontja van a gömbfelülettel, ezek szolgáltatják a kívánt vetítést. Ez az ún. sztereografikus projekció. Ez az eljárás megfordítható, ha az északi pólus nem pontja a gráfnak és nem halad át rajta él, így a gömbre rajzolt gráfok is leképezhetők a síkba.

Euler Tétel(Euler formula)

Ha egy összefüggő síkbeli gráfnak $n$ csúcsa, $e$ éle és $t$ tartománya van (beleértve a külső, nem korlátos tartományt is), akkor eleget tesz az Euler-formulának: $n-e+t = 2$.

Bizonyítás

Tekintsük a gráf egy $C$ körét és ennek egy $a$ élét. A $C$ kör síkot két tartományra bontja. Ezeket más élek további tartományokra bonthatják,de mindkét részben van egy-egy olyan tartomány,amely $a$ határa. Ha $a\text{-t}$ elhagyjuk a két tartomány egyesül,azaz a tartományok száma egyel csökken. Ezzel $n-e+t$ értéke nem változik ($n-(e-1)+(t-1)=n-e+1+t-1=n-e+t$). Ezt az eljárást addig folytatjuk amíg van a gráfban kör. Ezzel egy feszítőfát kapunk. Ezzel viszont az állítás triviális,hiszen $t=1 \text{ és } e=n-1 \implies n-(n-1)+1=2 \Rightarrow 2=2$.

Becslés az élek számára egyszerű gráfban

Ha $G$ egyszerű, síkbarajzolható gráf és pontjainak száma legalább 3, akkor az 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,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 írhatjuk fel:

\begin{align} 3t\leq c_1 + c_2 + c_3 + \dots c_t &\leq 2e \\ \text{Az Euler-formulát felhasználva} \\ 3(e-n+2)&\leq 2e \\ e\leq 3(n-2)&= 3n-6 \end{align}

Becslés az élek számára háromszögmentes gráfban

Ha $G$ egyszerű, síkbarajzolható gráf, minden körének a hossza legalább 4 és pontjainak száma legalább 4, akkor az előbbi jelölésekkel $e\leq 2n-4$.

Bizonyítás

Az elző tételhez hasonlóan bizonyítható,de itt minden tartományt legalább 4 él határol. Így $4t\leq2e \implies e \leq 2n-4$

Definíció

A $G$ és $H$ gráfok topologikusan izomorfak, ha a következő transzformációk ismételt alkalmazásával izomorf gráfokba traszformálhatóak:

  • Egy élet egy 2 fokú csúcs felvételével kettő részre bontunk
  • Egy 2 fokú csúcsra illeszkedő éleket egybeolvasztunk

Kuatowski Tétel

Egy gráf akkor és csak akkor síkbarajzolható, ha nem tartalmaz olyan részgráfot, amely topologikusan izomorf $K_{3,3}\text{-mal}$ vagy $K_5\text{-tel}$.

Bizonyítás

Ezt a tételt csak egy irányban bizonyítjuk, bemutatjuk hogy a $K_{3,3}$ és a $K_5$ nem rajzolhatóak síkba,így ha egy gráf tartalmaz ilyet(vagyis tartalmaz egy velük topologikusan izomorf részgráfot),akkor az sem síkbarajzolható.

Ha a $K_5$ síkbarajzolható lenne,akkor teljesülne rá az [[*Becslés az élek számára egyszerű gráfban]] tétel.5 csúcsa és 10 éle van: $10>3\cdot5-6=9$,ami ellentmondás,így a $K_5$ nem rajzolható síkba.

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.

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 egyszer tartalmazza $G$ összes élét. Ha az élsorozat nem feltétlenül zárt\footnote{tehát nem ugyanaz a kezdő- és végpontja}, akkor Euler-utat kapunk.

Tétel

Egy összefüggő $G$ gráfban akkor és csak akkor van Euler-kör, ha $G$ minden pontjának fokszáma páros.

Bizonyítás

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 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 bizonyítjuk. Tegyük fel,hogy minden $k<n\text{-re}$ teljesül az állítás,és $G$ legyen egy $n$ csúcsú gráf. Induljunk ki egy tetszőleges pontból, és haladjuk az éleken úgy, hogy minden élen csak egyszer mehetünk át. Ha egy pontba érünk,amiből nem vezet ki ilyen él,akkor ez csak kiinduló pont lehet,mivel minden pont foka páros. Így tehát egy zárt élsorozatot kapunk. Legyen a $H$ egy olyan zárt élsorozata $G\text{-nek}$,amelyben az előforduló élek száma maximális. Indirekt módon tegyük fel,hogy $H$ nem egy Euler-köre $G\text{-nek}$. Vizsgáljuk meg a $G'$ gráfot,amit úgy kapunk,hogy $G\text{-ből}$ elhagyjuk a $H$ kör éleit. $G'$ nem feltétlenül összefüggő,viszont összesen $n\text{-nél}$ kevesebb pontja,van hiszen a kiinduló pont nincs benne. Az indukciós feltétel alapján, $G'$ minden komponensében van Euler-kör. Mivel $G$ összefüggő , $G'$ valamelyik komponensének van olyan pontja,amelyik $H\text{-ban}$ szerepel. Nevezzük az ebben a komponensben található Euler-kört $H'\text{-nek}$. Tehát ha elindulunk az előbb talált közös pontból, és bejárjuk $H\text{-t}$,majd $H'\text{-t}$,akkor egy $H$ élszámánál nagyobb számú zárt élsorozatot találtunk,ami ellentmond a feltevésnek. Vagyis $H$ Euler-kör.

Tétel

Egy összefüggő $G$ gráfban akkor és csak akkor van Euler-út, ha $G$ -ben a páratlan fokú pontok száma $0$ vagy $2$.

Bizonyítás

Az előző tételhez hasonlóan belátható,hogy ha $G\text{-ben}$ van Euler-út,akkor az Euler út két végpontja kivételével minden pont foka páros.

A másik irány bizonyításához is felhasználhatjuk az előző tételt. Ha nincs páratlan fokú csúcs,akkor készen vagyunk. Ha 2 darab páratlan fokú csúcs van, akkor kössük össze ezeket egy új $e$ éllel. A keletkező $G'$ gráfban minden pont foka páros lesz,így van benne Euler-kör,ami tartalmazza az $e$ élt is. Hagyjuk el ezt az élet az Euler-körből,így egy Euler-utat kapunk $G$ gráfban.

Definíció

Egy $G$ gráfban Hamilton-körnek nevezünk egy $H$ kört, ha $G$ minden pontját (pontosan egyszer) tartalmazza. Egy utat pedig Hamilton-útnak nevezünk, ha $G$ minden pontját pontosan egyszer tartalmazza.

Tétel

Ha a G gráfban létezik $k$ olyan pont, amelyeket elhagyva a gráf több mint $k$ komponensre esik, akkor nem létezik a gráfban Hamilton-kör. Ha létezik $k$ olyan pont, amelyeket elhagyva a gráf több mint $k + 1$ komponensre esik, akkor nem létezik a gráfban Hamilton-út.

Bizonyítás

Indirekten tegyük fel,hogy van a gráfban Hamilton-kör, legyen ez $(v_1,v_2,\dots,v_n)$ és legyen $v_{i_1},v_{i_2},\dots,v_{i_k}$ az a $k$ pont,amelyet elhagyva a gráf több mint $k$ komponensre esik. Vegyük észre,hogy az elhagyott pontok között összefüggő komponensek maradnak,hiszen két szomszédos pontjai között az eredeti Hamilton-kör élei vannak.

Ugyanígy beláthatjuk a Hamulton-útra vonatkozó feltevést is. Ha egy Hamilton-útból elhagyunk $k$ pontot, legfeljebb $k+1$ összefüggő marad.

Tétel(Ore)

Ha az $n$ pontú $G$ gráfban minden olyan $x, y \in V (G)$ pontpárra, amelyre $\{x, y\} \notin E(G)$ \footnote{Tehát szomszédosak} teljesül az is, hogy $d(x) + d(y) \geq n$, akkor a gráfban van Hamilton-kör.

Bizonyítás

Indirekten tegyük fel,hogy a gráf kielégíti a feltételt,de nincs benne 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.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 összekötve $z_{k-1}$ csúccsal,hiszen akkor $(z_1,\dots,z_{k-1},z_n,z_{n-1},\dots,z_k,z_1)$ egy Hamilton-kört alkotna. Így tehát $y$ nem lehet szomszédos legalább $d(x)$ darab csúccsal, ezért

\begin{align} d(y)&\leq n-1-d(x) \end{align}

ami viszont ellentmondás,mert $\{x,y\}\notin E(G)$.

Tétel(Dirac)

Ha egy n pontú G gráfban minden pont foka legalább $n/2$, akkor a gráfban létezik Hamiltonkör.

Bizonyítás

Az /Bazsalanszky/bsz2-org/src/commit/88b2dc59b892920614ac3aae617b90e2f85932f6/%2AT%C3%A9tel%28Ore%29 tételből következik,hiszen ha minden csúcs foka legalább $\frac{n}{2}$, akkor teljesül az Ore tétel feltétele,mivel bármely $x,y$ pontpárra $d(x)+d(y)\geq n$

Gráfok színezése $\protect \footnote{ \cite{hj} alapján.}$

Definíció

Legyen $G$ egy gráf és $k\geq1$ egész szám. A $G$ gráf $k$ színnel színezhető, ha a $G$ minden csúcsa kiszínezhető $k$ adott (tetszőleges) színnel úgy, hogy $G$ bármely két szomszédos csúcsának a színe különböző. A $G$ kromatikus száma $k$, ha $G$ $k$ színnel színezhető, de $(k - 1)$ -gyel már nem. $G$ kromatikus számának a jele: $\chi(G)$.

Definíció

A $G$ gráf klikkszáma $k$, ha $G$ -ben található $k$ darab csúcs úgy, hogy ezek közül bármely kettő szomszédos, de $k + 1$ ilyen csúcs már nem található. $G$ klikkszámának a jele: $\omega(G)$.

Állítás

Minden (hurokélmentes) $G$ gráfra $\omega(G) \leq \chi(G)$ teljesül.

Bizonyítás

$G$ gráfban található $\omega(G)$ darab csúcs,amelyek közül bármelyik kettő szomszédos. Ezeket a csúcsokat tehát $G$ tetszőleges színezésében csupa különböző színt kell kapnia.Így legalább $\omega(G)$ színt használ,tehát az állítás valóban igaz.

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$.

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 mohó színezést a csúcsok tetszőleges sorrendjében végrehajtva az legföljebb $\Delta(G) + 1$ színt használ.

Bizonyítás

Tegyük fel, hogy a mohó színezés, már elérte a $C=\Delta(G)+1$ értéket és a soron következő csúcs a $v_i$. Mivel $d(v_i)\leq\Delta(G)$, így legfeljebb $\Delta(G)$ olyan szín létezhet, amelyet a $v_i$ csúcs nem kaphat meg. Mivel tehát $C>\Delta(G)$, ezért kell létezzen egy olyan $t\in{1,\dots,C}$ szín,amit a mohó eljárás $v_i\text{-nek}$ adhat.

Következmény

Minden (hurokélmentes) $G$ gráfra $\chi(G)\leq\Delta(G) + 1$.

Következmény bizonyítása

Mivel a mohó eljárás $\Delta(G)+1$ színnel kiszínezi $G\text{-t}$,ezért $\chi(G)$ értéke nem lehet nagyobb ennél.

Definíció

A $G$ egyszerű gráfot akkor nevezzük intervallumgráfnak, ha léteznek a számegyenesen olyan $I_1 , I_2 ,\dots, I_n \subseteq \mathbb{R}$ (korlátos és zárt) intervallumok, hogy $G$ ezekből megkapható a következő módon: $G$ csúcsai megfelelnek az intervallumoknak és két különböző csúcs pontosan akkor szomszédos $G$ -ben, ha a két megfelelő intervallumnak van közös pontja. Ilyenkor azt mondjuk, hogy az $\{I_1,I_2 ,\dots, I_n \}$

Tétel

Legyen $G$ intervallumgráf és tegyük fel, hogy $G$ -t az $\{I_1 , I_2 ,\dots, I_n \}$ intervallumrendszer reprezentálja. Ekkor ha az $\{I_1 ,I_2,\dots, I_n \}$ intervallumokat a baloldali végpontjuk szerinti növekvő sorrendbe rendezzük és $G$ csúcsainak erre a sorrendjére hajtjuk végre a mohó színezést, akkor az eljárás $G$ -t optimális számú, $\chi(G)$ színnel színezi meg.

Bizonyítás

Jelölje a mohó színezés által használt színek számát $k$. Ekkor a következő igaz lesz rá:

\begin{align} k\leq\omega(G)\leq&\underbrace{\chi(G)\leq k}_\text{$k$ szín elég volt} \end{align}

Megmutatjuk hogy a legnagyobb klikk($\omega(G)$) ilyenkor pontosan $k$. Nézzük az első olyan $I_j$ intervallumot,amely a $k.$ színt kapta az eljárásban. Ekkor bal végpontja benne van a korábbi $I_t,I_{t+1},\dots, I_{t+k-1}$ intervallumokban. Ezek az $I_j$ intervallummal egy $k$ csúcsú klikket alkotnak,azaz $\omega(G)=k=\chi(G)$.

Következmény

Ha $G$ intervallumgráf, akkor rá $\omega(G) = \chi(G)$ teljesül.

Következmény bizonyítása

Minden intervallumgráfhoz tartozik $k$ darab szín,amivel már kiszínezhető. Az előző tételből pedig láttuk,hogy $k=\omega(G)$. Így adódik a következő:

\begin{align} k\leq\omega(G)\leq&\chi(G)\leq k \end{align}

Definíció

A $G$ gráfot páros gráfnak nevezzük, ha a $V(G)$ csúcshalmaza felbontható az $A$ és $B$ diszjunkt halmazok egyesítésére úgy, hogy a $G$ minden éle egy $A$ -beli csúcsot köt össze egy $B$ -belivel. Ilyenkor a szokásos $G = (V ; E)$ jelölés helyett a $G = (A, B; E)$ jelölést is használjuk.

Tétel

A $G$ gráf akkor és csak akkor páros gráf, ha nem tartalmaz páratlan hosszú kört.

Bizonyítás

Ha $G$ páros gráf, és $C$ egy kör $G\text{-ben}$,akkor $C$ pontjai felváltva vannak $A\text{-ban}$ és $B\text{-ben}$,így $V(C)$ nyilván páros. Ha $G$ minden köre páros,akkor megadhatunk egy $A$ és $B$ halmazt. Választunk egy tetszőleges pontot. Ez lesz az $A$ halmaz első pontja. A szomszédjait $B$ halmazba tesszük. A $B$ halmazbeliek szomszédait $A$ halmazba tesszük,és ezeket a lépéseket addig ismételjük, amíg az össze pont bekerült az egyik halmazba. Ez biztosan jó elosztás lesz,hiszen ha például $A$ halmazban lenne két szomszédos,akkor lenne benne páratlan kör,így ellentmondásra jutnánk.

Állítás

Minden $k \geq 1$ egész esetén létezik olyan ($2k$ csúcsú) $G$ gráf és a $G$ csúcsainak egy olyan sorrendje, hogy $\chi(G) = 2$, de a mohó színezést a $G$ -re a csúcsoknak ebben a sorrendjében futtatva az eljárás $k$ színt használ.

Független/Lefogó pont-/élhalmaz $\protect\footnote{\cite{hj} alapján.}$

Definíció

A $G$ gráfban az $M\subseteq E(G)$ élhalmazt párosításnak vagy független élhalmaznak nevezzük, ha ($M$ nem tartalmaz hurokélt és) $M$ semelyik két élének nincs közös végpontja. Az $M$ maximális párosítás, ha $G$ -nek nincs $|M|$ -nél nagyobb méretű párosítása; a $G$ -beli maximális párosítások méretét $\nu(G)$ jelöli. Az M független élhalmaz teljes párosítás, ha $G$ minden csúcsára illeszkedik $M$ -beli él.

Definíció

A $G$ gráf csúcsainak egy $X\subseteq V(G)$ halmazát lefogó ponthalmaznak nevezzük, ha $G$ minden élének legalább az egyik végpontja $X$ -beli. Az $X$ minimális lefogó ponthalmaz, ha $G$ -ben nincs $|X|$ -nél kisebb lefogó ponthalmaz. A $G$ -beli minimális lefogó ponthalmazok méretét $\tau(G)$ jelöli.

Állítás

Minden $G$ gráfra $\nu(G)\leq\tau(G)$ teljesül.

Bizonyítás

Legyen $|M|=\nu(G)$ és $|X|=\tau(G)$.$X$ minden élnek legalább az egyik végpontját tartalmazza,így nyilván $M$ éleire is teljesül. Azonban ugyanaz az $X\text{-beli}$ csúcs nem illeszkedhet két $M-\text{-beli}$ élre is,mert $M$ párosítás. Tehát, minden $M\text{-beli}$ élre $X\text{-beli}$ csúcsnak kell illeszkedni,így $|M|\leq |X|$

Definíció

A $G$ gráf csúcsainak egy $Y\subseteq V(G)$ halmazát független ponthalmaznak nevezzük, ha $Y$ -nak semelyik két tagja nem szomszédos $G$ -ben (és $Y$ -beli csúcsra hurokél sem illeszkedik). A $G$ -beli független ponthalmazok közül a maximálisaknak a méretét $\alpha(G)$ jelöli.

Definíció

Az izolált pontot nem tartalmazó $G$ gráf éleinek egy $Z\subseteq E(G)$ halmazát lefogó élhalmaznak nevezzük, ha a $G$ -nek minden csúcsára illeszkedik legalább egy $Z$ -beli él. A $G$ -beli lefogó élhalmazok közül a minimálisaknak a méretét $\rho(G)$ jelöli.

Állítás

Minden (izolált pontot nem tartalmazó) $G$ gráfra $\alpha(G)\leq\rho(G)$ teljesül.

Bizonyítás

Legyen $Y$ egy maximális független ponthalmaz és $Z$ egy minimális lefogó élhalmaz. Mivel $Z$ lefogó élhalmaz,minden csúcsra illeszkedik $Z\text{-beli}$ él,de két $Y\text{-beli}$ csúcsot nem köthet össze egy $Z-\text{-beli}$. Így $|Y|\leq |Z|$ és így tehát $\alpha(G)\leq\rho(G)$

Állítás

Legyen $G$ tetszőleges gráf, $X\subseteq V(G)$ csúcshalmaz és $Y = V (G) / X$ az $X$ komplementere. Ekkor az $X$ pontosan akkor minimális lefogó ponthalmaz $G$ -ben, ha $Y$ maximális független ponthalmaz $G$ -ben.

Bizonyítás

Legyen $H\subseteq V(G)\text{ és } \overline{H}=V(G)/H$ csúcshalmazok. Megmutatjuk hogy $H$ pontosan akkor lefogó ponthalmaz,ha $\overline{H}$ független ponthalmaz. Az,hogy $H$ lefogó ponthalmaz, az azt jelenti,hogy $G$ gráfnak minden $\{u,v\}$ élére $u\in H$ és/vagy $v\in H$ teljesül. Tehát, nincs olyan $\{u,v\}$ él,hogy $u\in \overline{H}$ és $v\in \overline{H}$. Ez pedig pontosan azt jelenti,hogy $\overline{H}$ független ponthalmaz.

Tegyük fel,hogy $X$ minimális lefogó ponthalmaz,ebből következik hogy $Y=\overline{X}$ független ponthalmaz. Ha nem volna az,akkor létezne egy másik,maximális független $Y_1$ ponthalmaz(tehát $|Y_1|>|Y|$). Ekkor viszont létezne $X\text{-nél}$ kisebb lefogó ponthalmaz,ami ellentmond a feltevésnek.

Hasonlóan belátható a másik irányba is.

Lemma

Legyen $G$ egy $n$ csúcsú, izolált pontot nem tartalmazó gráf, $k$ pedig tetszőleges nemnegatív egész. Ekkor:

  • ha $G$ -ben van $k$ élű párosítás, akkor $G$ -ben van legföljebb $n-k$ élű lefogó élhalmaz;
  • ha $G$ -ben van $k$ élű lefogó élhalmaz, akkor $G$ -ben van legalább $n-k$ élű párosítás.

Bizonyítás

Legyen $M$ egy $k$ élű párosítás. Minden olyan $v$ csúcsot esetén,amit $M$ nem fed le, válasszunk egy tetszőleges $v\text{-re}$ illeszkedő élt és egészítsük ki $M\text{-et}$; a kapott élhalmazt jelölje $Z$. Mivel $M$ összesen $2k$ végpontja van, így $n-2k$ élt nem fed le. Így $|Z|\leq k+(n-2k)=n-k$

Legyen $Z$ egy $k$ élű lefogó halmaz $G\text{-ben}$ és $H=(V(G),Z)$ gráf. Ha van $H$ gráfban izolált pont, akkor azokhoz rendeljünk egy hurokélt. Jelölje $c$ a $H$ legalább két csúcsból álló komponenseinek számát. Mivel a komponensek nyilván összefüggő,így legalább $n_i-1$ éle van. Ezért a legalább két csúcsú komponensek együttes élszáma legalább $n-c$. Ezekből $l\geq n-c\implies c\geq n-k$

Most vegyük $H$ minden legalább két csúcsú komponenséből egy-egy tetszőleges élt(amin nem hurokél). A kapott élhalmazt jelölje $M$. Ekkor $|M|=c\geq n-k$,valamint $M$ nyilván párosítás,hiszen különböző komponensekből vett éleknek nem lehet közös végpontja.

Gallai tétele

Minden $n$ csúcsú $G$ gráfra fennállnak az alábbiak:

  • $\alpha(G)+\tau(G) =n$
  • $\nu(G)+\rho(G)=n$,ha G-nek nincs izolált pontja.

Bizonyítás

Ha $X$ egy minimális lefogó ponthalmaz, akkor $Y=V(G)/X$ maximális független ponthalmaz. Mivel $|X|=\tau(G)$ és $|Y|=\alpha(G)$, valamint $|X|+|Y|=n$,így (i) állítás tényleg igaz.

Legyen $M$ egy maximális, $\nu(G)$ élű párosítás. Ekkor az előző tétel alapján:

\begin{align} \rho(G)&\leq n-\nu(G)\\ \rho(G)+\nu(G)&\leq n \end{align}

Most legyen $Z$ egy minimális,$\rho(G)$ élű párosítás. Ekkor az előző tétel alapján:

\begin{align} \nu(G)&\geq n-\rho(G) \\ \nu(G)+\rho(G)&\geq n \end{align}

A kettőt összevetve pont a (ii) állítást kapjuk.

Összefoglaló táblázat

Maximális független Minimális lefogó Összeg
pont $\alpha$ $\tau$ $n$
él $\nu$ $\rho$ $n$

Tutte tétele

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$.

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

Legyen $G = (A, B; E)$ páros gráf és $M$ egy párosítás $G\text{-ben}$. Ekkor egy $G\text{-beli}$ $P$ út javítóút $M\text{-re}$ nézve, ha rá az alábbiak teljesülnek:

(1) $P$ egy $M$ által nem fedett $A\text{-beli}$ csúcsból indul;

(2) $P$ egy $M$ által nem fedett $B\text{-beli}$ csúcsban ér véget;

(3) $P$ -nek minden páros sorszámú éle (tehát a második, negyedik stb.) $M$ -beli.

Alteráló út

Legyen $G = (A, B; E)$ páros gráf és $M$ egy párosítás $G\text{-ben}$. A $G$ -beli $P$ utat alternáló útnak hívjuk, ha rá a /Bazsalanszky/bsz2-org/src/commit/88b2dc59b892920614ac3aae617b90e2f85932f6/%2AP%C3%A1ros%C3%ADt%C3%A1sok%20p%C3%A1ros%20gr%C3%A1fokban. Definíció (1) és (3) követelményei teljesülnek (de a (2) nem feltétlenül). Más szóval: alternáló útnak az olyan utakat nevezzük, amelyek párosítás által nem fedett $A$ -beli csúcsból indulnak és minden második élük $M$ -beli.

Lemma

Tegyük fel, hogy a $G = (A, B; E)$ páros gráf $M$ párosítására nézve nincs javítóút $G$ -ben. Vezessük be az alábbi jelöléseket:

  1. Jelölje $A_1$ , illetve $B_1$ az $M$ által nem fedett $A$, illetve $B\text{-beli}$ csúcsok halmazát;
  2. Jelölje $A_2$ azoknak az ($M$ által fedett) $A$ -beli csúcsoknak a halmazát, amelyekbe vezet alternáló út;
  3. Jelölje $A_3$ a maradék $A\text{-beli}$ csúcsoknak a halmazát (amelyek tehát $M$ által lefedettek, de nem vezet hozzájuk alternáló út).
  4. Jelölje $B_2$ , illetve $B_3$ az $A_2$, illetve $A_3$ csúcsainak $M$ szerinti párjaiból álló $B\text{-beli}$ csúcsok halmazait.

Ekkor $G$ -nek nincs olyan éle, amely $A_1 \cup A_2$ és $B_1 \cup B_3$ között vezet.

Bizonyítás

Indirekt módon feltesszük, hogy mégiscsak létezik olyan $\{a,b\}$ él,hogy $a\in A_1\cup A_2$ és $b\in B_1\cup B_3$. Ez összesen négy esetet jelent.

Ha $a \in A_1$ és $b\in B_1$, az azt jelentené,hogy létezne egy javítóút $a\text{-ból}$ $b\text{-be}$, ez viszont ellentmondás.

Ha $a \in A_1$ és $b\in B_3$, ekkor $a\text{-ból}$ eljuthatnánk $b\text{-be}$, ahonnan a $b\text{-re}$ illeszkedő $M\text{-beli}$ élen át egy $A_3\text{-beli}$ csúcsba jutnánk egy kétélű alteráló úton. Ez lehetetlen, hiszen $A_3\text{-be}$ nem vezethet alteráló út.

Ha $a \in A_2$ és $b\in B_1$, ekkor $a$ pontba vezet egy $P$ alteráló út. $b\text{-el}$ kiegészítve a $P$ utat,egy javító utat kapnánk,ami ellentmondás.

Ha $a \in A_2$ és $b\in B_3$, akkor létezik egy $P$ alteráló út $a\text{-ba}$. Ha ezt kiegészítjük az $\{a,b\}$ éllel és a $b\text{-re}$ illeszkedő $M\text{-beli}$ éllel, akkor a $P\text{-nél}$ kettővel hosszabb $P'$ alteráló utat kapunk. Ez ellentmondás,hiszen $A_3\text{-be}$ nem vezethet alteráló út.

Tétel

Ha a $G = (A, B; E)$ páros gráf $M$ párosítására nézve nincs javítóút, akkor $M$ maximális párosítás $G$ -ben.

Bizonyítás

Jelölje $M$ élszámát $|M|=k$. Megmutatjuk hogy $G\text{-ben}$ létezik $k$ pontú lefogó ponthalmaz,mert ebből következni fog, hogy $M$ maximális. Mivel létezik $k$ elemű párosítás,így $\nu(G)\geq k$. A $k$ pontú lefogó halmaz létezéséből $\tau(G)\leq k$. A kettőt összerakva: $k \leq\nu(G)\leq\tau(G)\leq k \Rightarrow \nu(G)=k$,így $M$ tényleg maximális párosítás.

Azt állítjuk hogy a #lemma1 jelölései szerint $X=A_3\cup B_2$ lefogó ponthalmaz $G\text{-ben}$. Legyen $e=\{a,b\}$ egy tetszőleges él,ahol $a\in A$ és $b\in B$. Ha $a\in A_3$,akkor $e$ egyik végpontja $X\text{beli}$, ha viszont $a\in A_2\cup A_3$,akkor a #lemma1 lemma szerint $b\in B_2$,így $X$ ebben az esetben is lefogja $e\text{-t}$

Most megmutatjuk,hogy $|X|=k$. Mivel $|M|=k$ és $X$ minden $M\text{-beli}$ él egy végpontját tartalmazza, így $|X|=k$. ( $A_2$ és $B_2$ között futóknak az $A\text{-beli}$ végpontját, az $A_3$ és $B_3$ között futóknak a $B\text{-beli}$ végpontját.)

Következmény (Kőnig tétele)

Minden $G$ páros gráfra $\nu(G) = \tau(G)$ teljesül.

Kőnig tétel bizonyítása

Az előző bizonyításban már láttuk,hogy $k \leq\nu(G)\leq\tau(G)\leq k$, ebből valóban következik az állítás.

Következmény

Ha a $G$ páros gráf nem tartalmaz izolált pontot, akkor rá $\alpha(G) = \rho(G)$ teljesül.

Következmény bizonyítása

Kőnig tételéből tudjuk,hogy $\nu(G)=\tau(G)$,valamint Gallai tételőből tudjuk,hogy $\alpha(G)+\tau(G)=n$ és $\nu(G)+\rho(G)=n$ igazak. Ezekből tehát $\alpha(G)=n-\tau(G)=n-\nu(G)=\rho(G)$ valóban következik.

Definíció

Legyen $G = (A, B; E)$ páros gráf és $X\subseteq A$ egy tetszőleges részhalmaza $A$ -nak. Ekkor az $X$ szomszédságának nevezzük és $N(X)$ -szel jelöljük a $B$ -nek azt a részhalmazát, amely azokból a $B$ -beli csúcsokból áll, amelyeknek van (legalább egy) szomszédja $X$ -ben. Képletben: $$N(X) = \{b\in B : \exists a \in X, \{a, b\} \in E(G) \}$$

Tétel(Hall tétele)

A $G = (A, B; E)$ páros gráfban akkor és csak akkor létezik $A\text{-t}$ lefedő párosítás, ha minden $X\subseteq A$ részhalmazra $|N(X)| \geq |X|$ teljesül.

Bizonyítás

A szükségesség nyilvánvaló,hiszen ha nem így volna, akkor nem jutna minden $A\text{-beli}$ csúcshoz pár.

Most megmutatjuk,hogy ha $|N(X)|\geq |X|$ $\forall X\subseteq A$ esetén,akkor $\exists A\text{-t}$ lefedő párosítás. Tegyük fel indirekt módon.Futtassuk le a javító utas algoritmust végig. Ekkor nem létezik $A\text{-t}$ fedő párosítás, így $A_1\neq\varnothing$.Ezért $N(A_1\cup A_2)=B_2$ lemma miatt. Ha viszont ez $X=A_1\cup A_2$,akkor $|X|>N(X)=B_2$ (Hiszen $|B_2|=|A_2|$ és $A_1\neq\varnothing$),ami ellentmondás.

Következmény (Frobenius tétele)

A $G = (A, B; E)$ páros gráfban akkor és csak akkor létezik teljes párosítás, ha $|A| = |B|$ és minden $X \subseteq A$ részhalmazra $|N(X)| \geq |X|$ teljesül.

Frobenius tételének bizonyítása

A szükségesség itt is nyilvánvaló,hiszen minden $A\text{-beli}$ csúcshoz egy $B\text{-beli}$ csúcsot akarunk rendelni.

A Hall tételben már láttuk az elégségességét,és mivel $|A|=|B|$,így a szerepük felcserélhető

Gráfok élszínezése $\protect\footnote{\cite{hj} alapján.}$

Teljes párosítás reguláris gráfban

Ha a $G = (A, B; E)$ páros gráf $d\text{-reguláris}$, ahol $d \geq 1$ tetszőleges egész, akkor $G$ -ben van teljes párosítás.

Bizonyítás

Mivel $G$ $d\text{-reguláris}$, ezért $|E|=d\cdot|A|$ és $|E|=d\cdot|B|$. Ezek miatt $|A|=|B|$ adódik.

Legyen $X\subseteq A$ tetszőleges csúcshalmaz, és jelölje $E_X$ az $X\text{-re}$ illeszkedő élek halmazát. Mivel minden $X\text{-beli}$ csúcsra $d$ darab $E_X\text{-beli}$ él illeszkedik,így $|E_X|=d\cdot|X|$. $N(X)$ csúcsokra nem csak $E_X\text{beli}$ élek illeszkedhetnek,de az elmondható,hogy legfeljebb $d$ darab illeszkedik, így $|E_X|\leq d\cdot|N(X)|$. Így adódik,hogy $|X|<|N(X)|$, ezzel beláttuk a tételt.

Definíció

Legyen $G$ egy gráf és $k \geq 1$ egész szám. A $G$ gráf $k$ színnel élszínezhető, ha a $G$ minden éle kiszínezhető $k$ adott (tetszőleges) színnel úgy, hogy $G$ bármely két szomszédos (vagyis közös csúcsra illeszkedő) élének a színe különböző. A $G$ élkromatikus száma $k$, ha $G$ $k$ színnel élszínezhető, de $(k - 1)$ -gyel már nem. G élkromatikus számának a jele: $\chi_e(G)$.

Állítás

Minden (hurokélmentes) $G$ gráfra $\Delta(G) \leq\chi_e(G)$ teljesül.

Bizonyítás

Legyen $v$ egys $\Delta(G)$ fokú csúcs. Ekkor a $v\text{-re}$ illeszkedő éleket csak $\Delta(G)$ darab különböző színnel színezhető ki. Így $G$ minden élszínezése legalább $\Delta(G)$ színből áll.

Vizing tétele

Minden G egyszerű gráfra $\chi_e(G) \leq \Delta(G) + 1$ teljesül.

Kőnig élszínezési tétele

Minden $G = (A, B; E)$ páros gráfra $\chi_e(G) = \Delta(G)$ teljesül.

Bizonyítás

Tegyük fel,hogy a $G$ gráf $k\text{-reguláris}$ reguláris.Ha $k=0$ akkor készen vagyunk. Ha $k\geq1\implies\exists$ teljes párosítás: $P_1$. Színezzük ki a $P_1$ élei $1\text{-es}$ színnel, majd hagyjuk el őket a gráfból. Az így kapott $G_1$ gráf pont $(k-1)\text{-reguláris}$,így létezik benne egy $P_2$ teljes párosítás. Legyenek $P_2$ élei $2\text{-es}$ színnel kiszínezve, majd hagyjuk el őket a gráfból Ezt az eljárást addig folytatjuk,amíg $k>0$.Ezzel $k$ darab teljes párosításunk lesz $\implies\chi_e(G)=k=\Delta(G)$.
Nem reguláris $G$ gráf esetén: Kiegészítjük $k\text{-regulárissá}$

  • Ha $|A|\neq |B|$,akkor $A$ és $B$ közül a kisebbiket kiegészítjük annyi pontal, hogy egyenlőek legyenek
  • Ezután kiegészítjük új élekkel addig,amíg minden csúcsa $k$ fokú nem lesz,ahol $k=\Delta(G)$.
  • Ez minden esetben lehetséges lesz,hiszen $|A|=|B|$ és A csúcsainak fokának összege mindig egyenlő $B$ csúcsainak fokának összgével
  • Az így kapott $G'$ gráf kiszínezhető $k$ darab színnel (hiszen $k\text{-reguláris}$)
  • $G$ a gráf $G'$ gráf részgráfja, így a kapott színezés $G$ gráfra is jó.

A maximális folyam $\protect\footnote{\cite{hj} alapján.}$

Definíció

Legyen adott a $G = (V, E)$ irányított gráf, annak az $s,t\in V(G)$ egymástól különböző csúcsai és a $c : E \rightarrow \mathbb{R}^+$ kapacitás függvény (ami tehát minden $e\in E$ élhez egy nemnegatív $c(e)$ kapacitás értéket rendel). Ekkor a $(G, s,t, c)$ négyest hálózatnak nevezzük.

Definíció

Egy adott $(G, s,t, c)$ hálózat esetén folyamnak nevezzük az $f : E \rightarrow \mathbb{R}^+$ függvényt, ha rá az alábbi feltételek teljesülnek:

  1. $0 \leq f (e) \leq c(e)$ minden $e \in E(G)$ él esetén;
  2. \begin{equation} \sum_{e:v\rightarrow}^{} f(e)=\sum_{e:v\leftarrow}^{} f(e) \text{ minden } v\in V,v\ne s,t \text{ csúcs esetén} \end{equation}

Definíció

A $(G, s,t, c)$ hálózatban adott $f$ folyam $m_f$ -fel jelölt értéke:

\begin{equation} m_f=\sum_{e: s\rightarrow}^{} f(e)-\sum_{e:s\leftarrow}^{} f(e) \end{equation}

Definíció

Legyen $f$ folyam a $(G, s,t, c)$ hálózatban. Ekkor az $f$ -hez tartozó $H_f$ segédgráfot a következő képpen definiáljuk. $H_f$ irányított gráf, amelyre $V (H_f ) = V (G)$, vagyis $H_f$ csúcsainak halmaza azonos $G$ csúcshalmazával. Továbbá $H_f$ élhalmazába kétféle típusú él kerül:

  • Ha $e = (u, v)$ olyan éle $G$ -nek, amelyre $f (e) < c(e)$, akkor $e=(u,v)$ a $H_f$ élhalmazába is bekerül; az ilyen élek neve előreél.
  • Ha $e = (u, v)$ olyan éle $G$ -nek, amelyre $f (e) > 0$, akkor $e$ megfordítása, az $e' = (v, u)$ él kerül be $H_f$ élhalmazába; az ilyen élek neve pedig visszaél.

Definíció

Legyen $f$ folyam a $(G, s,t, c)$ hálózatban. Ekkor a $H_f$ -beli, $s$ -ből $t$ -be vezető irányított utakat javítóútnak nevezzük $f$ -re nézve.

Definíció

A $(G, s,t, c)$ hálózatban $s-t$ -vágásnak nevezzük az $X\subseteq V(G)$ csúcshalmazt, ha rá $s\in X$ és $t\notin X$ teljesül. Ha a szövegkörnyezetből $s$ és $t$ szerepe egyértelmű, akkor $st$ -vágás helyett $X$ -et röviden vágásnak is hívjuk.

Állítás

Ha $f$ tetszőleges folyam, $X$ pedig tetszőleges vágás a $(G, s,t, c)$ hálózatban, akkor $$m_f=\sum \{f(e)\text{: kilép } X\text{-ből}\}-\sum \{f(e)\text{: belép } X\text{-be}\} $$

Bizonyítás

$X$ minden csúcsára felírunk egy egyenletet:

\begin{align} s-re:&& m_f&=\sum_{e:s\rightarrow}^{} f(e)-\sum_{e:s\leftarrow}^{} f(e)\\ \text{minden } x\in X,x\neq s \text{ csúcsra}:&& 0&=\sum_{e:x\rightarrow}^{} f(e)-\sum_{e:x\leftarrow}^{} f(e) \end{align}

Ezek definícióból adódnak.

Most adjuk össze ezt az $|X|$ darab egyenletet. A bal oldalon $m_f$ fog állni. A jobb oldalon meg kell vizsgálnunk minden $e$ élre,hogy hányszor és milyen előjellel jelennek meg. Ehhez válasszunk ki egy tetszőleges $e=\{u,v\}$ élt. Mivel $u$ és $v$ lehet $X\text{-beli}$ vagy $X\text{-en}$ kívüli így 4 esetet kell vizsgálnunk:

  1. Ha $u\in X$ és $v\in X$, az összegben kétszer jelenik meg $f(e)$, egyszer pozitív előjellel(belép) és egyszer negatív előjellel(kilép), így nem számít bele.
  2. Ha $u\in X$ és $v\notin X$, Az összegben egyszer jelenik meg,pozitív előjellel, hiszen $e$ kilép $u\text{-ból}$
  3. Ha $u\notin X$ és $v\in X$, Az összegben egyszer jelenik meg,de itt negatív előjellel, hiszen $e$ belép $v\text{-be}$
  4. Ha $u\notin X$ és $v\notin X$, egyáltalán nem jelenik meg az összegben

Ezzel a felírt $|X|$ darab egyenlet összege éppen az állításban felírt.

Definíció

A $(G, s,t, c)$ hálózatban az $X$ $st$ -vágás $c(X)$ -szel jelölt kapacitása a $$c(X)=\sum \{f(e):e\text{ kilép } X\text{-ből}\}$$ összeg (ahol a fentieknek megfelelően $e = (u, v)$ az $X$ -ből kilépő él, ha $u\in X$ és $v\notin X$). A vágás kapacitását a vágás értékének is szokták nevezni.

Állítás

Ha $f$ tetszőleges folyam, $X$ pedig tetszőleges vágás a $(G, s,t, c)$ hálózatban, akkor $m_f \leq c(X)$.

Bizonyítás

\begin{align} m_f=\sum \{f(e): e\text{ kilép } X\text{-ből}\}-\sum \{f(e): e\text{ belép } \leq \\ \leq \sum_{}^{} \{ f(e): e \text{ kilép } X\text{-ből} \}-0=c(X) \end{align}

Definícióból: $f(e)\leq c(e)$ felső becslést, illetve $f(e)\geq0$ alkalmaztuk.

Tétel

Ha a $(G, s,t, c)$ hálózatban az $f$ folyamra nézve nincs javítóút, akkor $f$ maximális folyam (vagyis nincs $m_f$ -nél nagyobb értékű folyam).

Bizonyítás

Álljon $X$ vágás azokból a $v$ csúcsokból,melyekből létezik $s\text{-ből}$ $v\text{-be}$ vezető út a $H_f$ segédgráfban. Mivel nem létezik javítóút,így $X$ tényleg $st$ vágás lesz.

Azt mondjuk,hogy bármely $X\text{-ből}$ kilépő élre igaz lesz, hogy $f(e)=c(e)$. Ha ez nem így volna, akkor $f(e)<c(e)$ miatt bekerült volna $H_f$ élhalmazába, ez viszont ellentmondás, hiszen nincs benne.

Minden $e=(u,v)$ $X\text{-be}$ belépő élre igaz,hogy $f(e)=0$. Ha nem így volna,akkor $e'(v,u)$, az $e$ megfordítása, bekerül volna $H_f\text{-be}$ visszaélként. Így $s\text{-ből}$ $u\text{-ba}$ irányított utat kapnánk, ez viszont ellentmond annak hogy $u\notin X$.

Ebből és az előző állításból következik hogy $m_f=c(X)$,amivel a bizonyítás teljes.

Tétel(Edmonds-Karp tétel)

Ha a $G$ gráf $n$ csúcsú és $m$ élű és a $(G, s,t, c)$ hálózatban a maximális folyam keresésére szolgáló javítóutas algoritmus futása során $H_f$ -ben mindig az egyik legrövidebb (vagyis legkevesebb élű) $s$ -ből $t$ -be vezető irányított utat választjuk javítóútnak, akkor az eljárás legföljebb $n\cdot m$ javító lépés után megáll.

Ford-Fulkerson Tétel

Bármely $(G,s,t,c)$ hálózatra $$\text{max}\{m_f:f\text{ folyam}\} = \text{min} \{ c(X):X\text{ }st\text{ vágás},$$ vagyis a hálózatbeli maximális folyam értéke megegyezik az $st$ -vágások kapacításának minimumával.

Bizonyítás

Futassuk le a javítóutas algoritmust és a kapott folyamot jelölje $f$. Legyen a $H_f$ segédgráfban $s\text{-ből}$ elérhető csúcsok alkotta $X$ vágás. Erre teljesül,hogy $m_f=c(X)$,jelöljük ezt $d\text{-vel}$.Mivel $\exists$ $d$ értékű folyam,így $d\leq \max\{m_f:f\text{ folyam}\}$, a $d$ kapacitású vágás létezéséből következik,hogy $\min\{c(X):X\>st\text{-vágás}\}\leq d$. Összevetve a következőt kapjuk:

\begin{align} d\leq \max\{m_f:f\text{ folyam}\}\leq \min\{c(X):X\>st\text{-vágás}\}\leq d \end{align}

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

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 $e\in E(G)$ élre és
  2. Ilyen egészértékű maximális folyam a javítóutas algoritmussal található.

Bizonyítás

Indítsuk el a javítóutas algoritmust egy tetszőleges egészértékű $f$ folyamtól. Mivel végig egész $\delta$ számok(Hiszen $c(e)-f(e)$ is egész minden élre) minimumát vesszük, ezért az algoritmus leállásakor is egészértékű marad, és már tudjuk,hogy ez az algoritmus tényleg maximális folyamot ad.

Diszjunkt utak $\protect\footnote{\cite{hj} alapján.}$

Lemma

Legyen $f$ olyan, $m_f = d$ értékű folyam a $G$ irányított gráfban az $s$ termelőből a $t$ fogyasztóba, amire $f (e) = 0$ vagy $f (e) = 1$ minden $e$ élre. Ekkor $G\text{-ben}$ létezik $d$ olyan éldiszjunkt irányított út $s\text{-ből}$ $t\text{-be}$, amiknek minden $e$ élére $f (e) = 1$.

Bizonyítás

  • Ha $d=0$,akkor az állítás egyértelműen igaz.
  • Tegyük fel tehát,hogy $d\geq1$.
  • Kell lennie olyan $e$ élnek,amire $f(e)=1$
  • Ha egy ilyen él ''bemegy'' egy $a_1$ csúcsba,akkor onnan ki is kell menni,hiszen csak akkor lehet folyam
  • Egy élet csak egyszer használhatunk fel,hiszen a $\forall e \text{ élre } c(e)=1$
  • Ezeknek addig kell mennie amíg $t\text{-be}$ nem érnek,hiszen csak ott tud ''megállni''.
  • Mivel véges sok él van, így az eljárás tényleg le fog állni
  • Ezután elhagyjuk ezt az utat, az így kapott folyamra igaz lesz,hogy $m_f=d-1$
  • Ha $d>0$,akkor megismételjük

Ezzel beláttuk az állítást.

Definíció

A $G$ irányított gráfban a $Z \subseteq E(G)$ élhalmaz lefogja az $s\text{-ből}$ $t\text{-be}$ vezető irányított utakat (ahol $s,t \in V (G)$ a gráf két különböző csúcsa), ha minden $s\text{-ből}$ $t\text{-be}$ vezető, $G$ -beli irányított út tartalmaz $Z$ -beli élt. Hasonlóan értelmezzük ezt a fogalmat irányítatlan $G$ gráfokra is: a $Z \subseteq E(G)$ élhalmaz lefogja az $s\text{-ből}$ $t\text{-be}$ vezető irányítatlan utakat, ha minden $s$ és $t$ végpontú, $G$ -beli irányítatlan út tartalmaz $Z$ -beli élt.

Tétel

Legyen adott a $G$ irányított gráf, annak az $s,t \in V (G)$ különböző csúcsai és a $k \geq1$ egész. Ekkor az alábbi állítások ekvivalensek:

  1. Létezik $G\text{-ben}$ $k$ éldiszjunkt irányított út $s$ -ből $t$ -be.
  2. Nem létezik $G\text{-ben}$ legföljebb $k - 1$ élű, az $s\rightarrow t$ utakat lefogó élhalmaz.
  3. A $(G, s,t, 1)$ hálózatban a maximális folyam értéke $\geq k$

Bizonyítás

Megmutatjuk,hogy $1.\implies2.,2.\implies3,\text{ majd } 3.\implies1$.

$1.\implies2$.
  • Tegyük fel,hogy $G\text{-ben}$ $\exists$ $k$ darab $s \rightarrow t$ éldiszjunkt út: $P_1,P_2,\ldots,P_k$
  • Legyen $Z$ tetszőleges $s \rightarrow t$ utakat lefogó élhalmaz.
  • $Z$ minden útból tartalmaz élt,így minden $P_i\text{-ből}$ is($1\leq i \leq k$) tartalmaz egy $e_i \in Z$ élt.
  • Minden $e_i$ különböző,hisz különböző éldiszjunkt utak tartalmazzák
  • Mivel $Z$ tartalmaz $k$ különböző élt,így $|Z|\geq k$, ezzel a $2$. állítást beláttuk
$2.\implies3$.
  • Vegyünk egy tetszőleges $X$ vágást
  • Azt állítjuk,hogy $c(X)\geq k \Longleftrightarrow X\text{-ből kimenő élek száma}\geq k$
  • Ez igaz,hiszen különben létezne $\leq k-1$ élű lefogó élhalmaz(Ford-Fulkerson tétel alapján).
$3.\implies1$.

Tétel

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.
  2. Nem létezik $G$ -ben legföljebb $k - 1$ élű, az $s$ -ből $t$ -be vezető irányítatlan utakat lefogó élhalmaz.
  3. A $(H, s,t, 1)$ hálózatban a maximális folyam értéke legalább $k$, ahol a $H$ irányított gráf úgy készül $G$ -ből, hogy annak minden $\{u, v\}$ élét helyettesítjük az $(u, v)$ és $(v, u)$ irányított élekkel

Bizonyítás

Hasonlóan bizonyítjuk,mint az előző tételt. $1.\implies2.,2.\implies3$. így adódik.

$3.\implies1$.:
  • Az egészértékűségi lemma miatt $\exists$ olyan maximális folyam,amiy $d$ értékű és $\forall e \text{ élre } f(e)=0\lor f(e)=1$
  • #dilemma lemma alapján $\exists d$ darab éldiszjunkt út.

Következmény (Menger tétele éldiszjunkt utakra)

Minden $G$ (irányított vagy irányítatlan) gráfra és annak az $s,t \in V (G)$, $s\neq t$ csúcsaira $\lambda_G (s,t) = \lambda_G' (s,t)$ teljesül.

$\lambda_G (s,t):=$ $s$ és $t$ közötti éldiszjunkt utak maximális száma $G\text{-ben}$
$\lambda_G' (s,t):=$ A $G\text{-ben}$ $s\rightarrow t$ utakat lefogó pontok minimális száma

Következmény bizonyítása

A tétel 1. pontjából következik,hogy $\lambda_G(s,t)\geq k$. A 2. pontjából pedig az következik hogy $\lambda_G'(s,t)\geq k$. Mivel a 1. és 2. ekvivalensek,így $\lambda_G(s,t)=\lambda_G'(s,t)$. Figyeljük meg,hogy ezzel nem vagyunk készen,hiszen attól hogy egy $P$ út éldiszjunkt $H\text{-ban}$,nem jelenti azt,hogy $G\text{-ben}$ is éldiszjunkt. Ez úgy oldható meg,hogy ha egy $e=\{u,v\}$ élből készült $e_1=(u,v)$ és $e_2=(v,u)$ élekre fennáll az,hogy $f(e_1)=f(e_2)=1$, akkor mindkét értéket változtassuk meg nullára. Ezzel egy $f$ folyamot kaptunk,ahol $m_f$ maximális. Ezzel beláttuk a tételt.

Definíció

A $G$ irányított gráfban az $Y \subseteq V (G)$ csúcshalmaz lefogja az $s$ -ből $t$ -be vezető irányított utakat (ahol $s,t \in V (G)$ a gráf két különböző csúcsa), ha $s \notin Y, t \notin Y$ és minden $s$ -ből $t$ -be vezető, $G$ -beli irányított út tartalmaz $Y$ -beli csúcsot. Illetve hasonlóan irányítatlan G gráfok esetében is: az $Y \subseteq V (G)$ csúcshalmaz lefogja az $s$ -ből $t$ -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

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.
  2. Nem létezik $G$ -ben legföljebb $k - 1$ csúcsú, az $s$ -ből $t$ -be vezető irányított utakat lefogó csúcshalmaz.
  3. A $(H, s,t, 1)$ hálózatban a maximális folyam értéke legalább $k$, ahol a $H$ irányított gráf úgy készül $G$ -ből, hogy annak minden, $s$ -től és $t$ -től különböző $v$ csúcsát széthúzzuk a $(v_1, v_2 )$ éllé

Bizonyítás

$1.\implies2$.:
  • Legyenek $P_1,P_2,\ldots,P_k$ $s\rightarrow t$ pontdiszjunkt utak,továbbá legyen $Y$ egy tetszőleges $s\rightarrow t$ utakat lefogó csúcshalmaz.
  • Válasszunk $1\leq i \leq k$ esetén $P_i\text{-ből}$ egy olyan $v_i$ csúcsot, amire $v_i\in Y$.
  • Választhatunk így $k$ különböző $v_1,v_2,\ldots,v_k$ csúcsot, és mivel $v_i\neq s$ és $v_i\neq t$, így $|Y|\geq k$
$2.\implies3$.:
  • Vegyünk egy tetszőleges $X\subseteq V(H)$ vágást,amire $c(X)=p$
  • Mivel $H$ minden $e$ élére $c(e)=1$,vagyis $X\text{-ből}$ $p$ darab él lép ki
  • Ezek közül válasszunk ki egy tetszőleges $e$ élt. Ekkor $e$ lehet:

    • Egy $v\neq s,t$ csúcs széthúzásával keletkező él
    • Egy eredeti $G\text{-beli}$ él
  • Ha eredeti él,azaz $e=(v_2,u_1)$ alakú, akkor kettő műveletet végezhetünk rajta:

    1. Ha $v_2\neq s$,akkor $v_2\text{-t}$ dobjuk ki $X\text{-ből}$
    2. Ha $u_1\neq t$,akkor $u_1\text{-et}$ bevesszük $X\text{be}$
  • Ezek közül legalább egy végrehajtható,hiszen $(s,t)\notin E(G)$
  • A keletkezett vágást jelölje $X'$

    • Ez lefogja az irányított utakat $H\text{-ban}$, ezek az utak megfeleltethetők $G\text{-beli}$ utakkal
    • Így $X'$ vágásból $k$ él lép ki,tehát $k\leq p=c(X)$ adódik
    • 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}$.

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:

  1. Létezik $G$ -ben $k$ pontdiszjunkt irányítatlan út $s$ -ből $t$ -be.
  2. Nem létezik $G$ -ben legföljebb $k - 1$ csúcsú, az $s$ -ből $t$ -be vezető irányítatlan utakat lefogó csúcshalmaz.
  3. A $(H, s,t, 1)$ hálózatban a maximális folyam értéke legalább $k$, ahol a $H$ irányított gráf úgy készül $G$ -ből, hogy először $G$ minden $\{u, v\}$ élét helyettesítjük az $(u, v)$ és $(v, u)$ irányított élekkel, majd a kapott gráf minden, $s$ -től és $t$ -től különböző $v$ csúcsát széthúzzuk a $(v_1 , v_2 )$ éllé

Bizonyítás

$1.\implies2$.: azonos az 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 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 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 irányított, illetve az irányítatlan esetben), akkor$ $κ_G (s,t) = κ'_G (s,t)$.

$\kappa_G (s,t):=$ $s$ és $t$ közötti pontdiszjunkt utak maximális száma $G\text{-ben}$
$\kappa' (s,t):=$ A $G\text{-ben}$ $s\rightarrow t$ utakat lefogó pontok minimális száma

Definíció

Legyen $G$ (irányítatlan) gráf és $k \geq 1$ tetszőleges egész. A $G$ gráfot $k$ -szorosan élösszefüggőnek mondjuk, ha az élei közül bárhogyan legföljebb $(k - 1)$ -et elhagyva mindig összefüggő gráfot kapunk. Továbbá $G$ -t $k$ -szorosan pontösszefüggőnek (vagy röviden $k$ -szorosan összefüggőnek) mondjuk, ha legalább $k + 1$ csúcsa van és a csúcsai közül bárhogyan legföljebb $(k - 1)$ -et (az azokra illeszkedő élekkel együtt) elhagyva mindig összefüggő gráfot kapunk.

Definíció

A G gráfra $\lambda(G)$, illetve $\kappa(G)$ jelöli a legnagyobb olyan $k$ egészt, amire $G$ $k$ -szorosan élösszefüggő, illetve k-szorosan pontösszefüggő.

Tétel (Menger tétele többszörös összefüggőségre)

Legyen $G$ (irányítatlan) gráf és $k \geq 1$ egész szám. Ekkor

  1. $G$ akkor és csak akkor $k\text{-szorosan}$ élösszefüggő, ha bármely két különböző csúcsa között létezik $k$ éldiszjunkt út;
  2. $G$ akkor és csak akkor $k\text{-szorosan}$ pontösszefüggő, ha legalább $k + 1$ 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
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.
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ő
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$
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 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

→ 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.

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ő.

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.

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$).

Tétel

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ő.
  • 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.

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ó.

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.

DFS erdő

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\text{-ben}$ van $u\text{-ból}$ $v\text{-be}$ irányított út (vagyis $v$ ''leszármazottja'' $u$ -nak);
  3. $e\text{-t}$ visszaélnek nevezzük, ha $F$ -ben van $v\text{-ből}$ $u\text{-ba}$ irányított út (vagyis $v$ ''őse'' $u\text{-nak}$ );
  4. $e\text{-t}$ keresztélnek nevezzük, ha $F$ -ben sem $u\text{-ból}$ $v\text{-be}$, sem $v\text{-ből}$ $u\text{-ba}$ nincs irányított út (vagyis $u$ és $v$ között nincs ''egyenes ági leszármazási viszony'').

Tétel

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

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.

Bizonyítás

  • Ha keletkezik egy $e=(a,v)$ visszaél,akor $G$ nyilván tartalmaz irányított kört: $F$ DFS-erdő tartalmaz $v \rightarrow a$ utat,ha ezt kiegészítjük $e\text{-vel}$ akkor egy kört kapunk.
  • Tegyük fel, hogy nem keletkezett visszaél,így $G $minden $e=(a,v)$ éle faél,előreél vagy keresztél. Ekkor be kell látnunk,hogy $f(v)<f(a)$,mert ezzel a második állítás is igaz
  • Használjuk fel a #dfs tétel bizonyításában használt elveke.
  • Ha $e$ faél vagy előreél, akkor $kezd(v)$ $I(a)\text{-be}$ tartozik,így $F_a$ részgráfja $F_$v\text{-nek}, azaz $f(a)<f(a)$
  • Ha $e$ keresztél, akkor $T$ pillanatban már $f(v) \ne *$,viszont $f(a)=*$, így valóban $f(v)<f(a)$

Legrövidebb utak meghatározása adott csúcsból $\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.

Állítás

Legyen adott a $G = (V, E)$ irányított gráf, az $s, v \in V (G)$, $s \neq v$ csúcsok és $G$ élein a $w : E\rightarrow\mathbb{R}$ konzervatív hosszfüggvény. Ekkor ha létezik $s\text{-ből}$ $v\text{-be}$ egy $t$ összhosszúságú, $k$ élből álló $Q$ élsorozat, akkor létezik $s\text{-ből}$ $v\text{-be}$ egy legföljebb $t$ összhosszúságú és legföljebb $k$ élű $P$ út is.

Bizonyítás

  • 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.

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

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$.

Állítás

Legyen adott a $G = (V, E)$ irányított gráf, az $s, v \in V (G)$, $v \neq s$ csúcsok és $G$ élein a $w : E \rightarrow \mathbb{R}$ konzervatív hosszfüggvény. Ekkor minden $k \geq 1$ esetén

\begin{align} t_k (v) = \min{\{\{t_{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.

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)

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.

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)$

    1. 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\}$.

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)

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}

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