• Nem Talált Eredményt

Diszkrét matematika

N/A
N/A
Protected

Academic year: 2022

Ossza meg "Diszkrét matematika"

Copied!
133
0
0

Teljes szövegt

(1)

Diszkrét matematika

Hajnal, Péter

(2)

Diszkrét matematika

Hajnal, Péter

Publication date 2013

Szerzői jog © 2013 Szegedi Tudományegyetem TÁMOP-4.1.2.A/1-11/1 MSc Tananyagfejlesztés

Interdiszciplináris és komplex megközelítésű digitális tananyagfejlesztés a természettudományi képzési terület mesterszakjaihoz

(3)

Tartalom

Előszó ... v

1. Bevezetés ... 1

2. Fokszámsorozatok ... 2

1. Fokszámsorozatok ... 2

3. Fokszámsorozatok ... 4

4. Fák összeszámlálása ... 5

1. Adott fokszámsorozatú fák összeszámlálása ... 5

2. Fák és lineáris algebra ... 6

3. Kirchoff tétel ... 6

4. Cayley tételének kombinatorikus bizonyítása ... 10

5. + A Cauchy─Binet-féle formula bizonyítása ... 12

5. Fák összeszámlálása ... 14

6. Folyamok ... 15

1. Folyamok elméletének alapfogalmai ... 15

2. A folyamok alaptétele és következményei ... 18

3. folyamok uniform hálózatokban ... 22

4. Következmények ... 23

5. Gráfok magasabb fokú összefüggősége ... 26

7. Folyamok ... 29

8. -szorosan élösszefüggő gráfok struktúrája ... 31

1. Minimálisan -szorosan élösszefüggő gráfok ... 31

2. Lovász leemelési lemmája és következményei ... 33

2.1. A lemma ... 33

2.2. Alkalmazás: -szeresen élösszefüggő gráfok növekedése ... 33

2.3. A lemma bizonyítása ... 34

9. -szorosan élösszefüggő gráfok struktúrája ... 37

10. Párosítások ... 39

1. Alapfogalmak ... 39

2. Mohó algoritmus ... 39

3. Véletlen módszer ... 40

3.1. Az algoritmus analízise ... 42

4. Poliéderes/lineáris programozási módszer + ... 42

11. Párosítások ... 45

12. Kombinatorikus párosítási algoritmusok ... 46

1. Javító utas algoritmusok ... 46

2. Mohó javító út keresés ... 46

3. Edmonds-algoritmus ... 50

4. Párosítási struktúra-tételek + ... 55

13. Kombinatorikus párosítási algoritmusok ... 57

14. Gráfok élszínezései ... 59

1. Élszínezések alapfogalmai ... 59

2. Síkgráfok, négy-szín-tétel és élszínezések ... 62

15. Gráfok élszínezései ... 67

16. Gráfok csúcsszínezései ... 68

1. (Csúcs)színezések alapfogalmai ... 68

2. Nem -színezhető gráfok ... 68

17. Gráfok csúcsszínezései ... 72

18. Gráfok derékbősége és kromatikus szám ... 74

1. A kromatikus szám és a derékbőség paraméter ... 74

19. Gráfok derékbősége és kromatikus szám ... 77

20. Síkgráfok ... 78

1. Részgráfok, topologikus részgráfok, minorok ... 78

2. Alappéldák nem síkgráfokra ... 81

3. A Wagner-tétel bizonyításának fontosabb részei ... 82

(4)

Diszkrét matematika

21. Síkgráfok ... 87

22. Gráfok metszési paramétere és alkalmazásai ... 89

1. Gráfok metszési száma ... 89

2. A metszési lemma geometriai alkalmazása: Szemerédi‐ Trotter-tétel ... 92

3. Kombinatorikus számelmélet: additív kombinatorika ... 93

23. Gráfok metszési paramétere és alkalmazásai ... 96

24. Ramsey-elmélet ... 97

1. Ramsey-paraméter, homogén halmazok ... 97

2. A Ramsey-számok kiterjesztései ... 98

3. Erdős─Szekeres-algoritmus ... 98

4. Ramsey-elmélet ... 100

5. Geometriai Ramsey-tételek ... 100

6. Aritmetikai Ramsey tételek ... 101

7. Ramsey-féle tételek pozícióhalmazokra ... 102

8. Ramsey-tételek és a sűrűség ... 105

25. Ramsey-elmélet ... 108

26. Extremális gráfelmélet ... 110

1. Turán Pál tétele: az extremális gráfelmélet kezdete ... 110

2. Extremális gráfelmélet ... 113

3. Extremális gráfelméleti eredmények ... 114

27. Extremális gráfelmélet ... 118

28. Gráfok sajátértékei ... 120

1. Alapfogalmak ... 120

29. Gráfok sajátértékei ... 125

(5)

Előszó

A jelen digitális tananyag a TÁMOP-4.1.2.A/1-11/1-2011-0025 számú, "Interdiszciplináris és komplex megközelítésű digitális tananyagfejlesztés a természettudományi képzési terület mesterszakjaihoz" című projekt részeként készült el.

A projekt általános célja a XXI. század igényeinek megfelelő természettudományos felsőoktatás alapjainak a megteremtése. A projekt konkrét célja a természettudományi mesterképzés kompetenciaalapú és módszertani megújítása, mely folyamatosan képes kezelni a társadalmi-gazdasági változásokat, a legújabb tudományos eredményeket, és az info-kommunikációs technológia (IKT) eszköztárát használja.

(6)
(7)

1. fejezet - Bevezetés

Az előadás célja a BSc-s Kombinatorika előadáson szerzett tudásunk mélyítése, kiterjesztése. Sokszor vissza kell utalnunk, fel kell idéznünk ott elhangzott fogalmakat, összefüggéseket. Az ilyen ''emlékeztetők'' rendszeresen megszakítják az előadást. Az emlékeztetők alapján a hallgatóknak fel kell idézni az ott felsorolt fogalmakat, sokszor nem a szószerinti definíció előhívása a fontos, hanem egy intuitív kép felelvenítése segíti a megértést.

A Diszkrét matematika kurzus főleg a kombinatorika gráfelméleti részét egészíti ki. A kurzusra épít több más diszkrét matematika témájú előadás, mint például a Halmazrendszerek kurzus is.

A kurzus felépítése követi a BSc Kombinatorika kurzus felépítését. Fák, összefüggőség, színezések, párosítások, síkgráfok, klikkek vizsgálata történik, de mélyebb szinten, mint ahogy az a BSc előadásokon történt.

A jegyzet tartalmazhat az előadáson el nem hangzott plusz anyagot. Ezek nem képezik a vizsga anyagát. Az érdeklődő megértését segítheti, ha elolvassák ezeket. Ha valaki csak a kurzus teljesítését tűzi ki célként, átugorhatja ezeket a részeket, amelyeket + jellel jelölök.

Emlékeztető. Idézzünk fel néhány fontos gráfelméleti fogalmat. Gráfnak nevezzük azokat a

hármasokat, ahol és tetszőleges diszjunkt halmazok, illeszkedési reláció. A halmazt a gráf csúcshalmazának, -t élhalmaznak nevezzük. Azt mondjuk, hogy a csúcs illeszkedik az élre, ha . Az illeszekdési reláció olyan, hogy minden élre egy vagy két csúcs illeszkedik.

Az egy csúcsra illeszedő éleket hurokéleknek nevezzük. Ezen élekre úgy gondolunk, hogy két végpontjuk van, de azok egybeesnek. Azaz minden élnek két végpontja van (multiplicitással számolva) Ha és olyanok, hogy ugyanazon csúcs(ok)ra illeszkednek, őket párhuzomos éleknek nevezzük. Az olyan gráfokat, amelyek nem tartalmaznak hurokélt és párhuzamos éleket, egyszerű gráfoknak hívjuk. Ekkor az élek azonosíthatók két végpontjuk halmazával. Azaz a pont-él illeszkedési reláció helyett egy a csúcsok halmazán értelmezett szomszédsági relációval dolgozhatunk, vagy -t úgy tekinthatjük, mint a , a csúcshalmaz kételemű részhalmazait tartalmazó halmaz egy részhalmaza.

Egy csúcs fokán a csúcsra illeszkedő élek számát értjük, úgy számolva, hogy minden hurokél kétszer illeszkedik egyetlen pontra. Hurokélmentes gráfok esetén ez egyszerűsödik a csúcsra illeszkedő élek számára. Egyszerű gráfok esetén egy csúcs foka, a csúcsra illeszekdő élek száma ugyanaz mint a szomszéd csúcsok száma.

(8)

2. fejezet - Fokszámsorozatok

1. Fokszámsorozatok

Definíció. A számsorozatot a gráf fokszámsorozatának nevezzük, ha fokainak nemcsökkenő sorozata. Speciálisan , teljesül.

Megjegyzezzük, hogy a fokszámsorozatból a gráf élszáma is kiolvasható az összefüggés alapján.

A témakör alapkérdése a következő: adott számsorozat mikor lesz valamely gráf fokszámsorozata?

(Ekkor azt mondjuk, hogy a sorozatot realizálja a gráf.) Amennyiben -re semmilyen kikötést nem teszünk, a válasz egyszerű.

2.1.1. Állítás. A számsorozat pontosan akkor realizálható, ha páros.

Az egyszerű bizonyítás (ami egy gyakorló feladat) a hurokélek lehetőségét erősen kihasználja.

Természetesen adódik a kérdés, hogy mi a helyzet, ha hurokéleket nem engedünk meg. Vagy általában: Mikor realizálható természetes számok egy adott sorozata egy speciális feltételekkel rendelkező gráffal? A következőkben ilyen kérdéseket vizsgálunk.

2.1.2. Tétel. A számsorozat pontosan akkor realizálható hurokél nélküli gráffal, ha (i) páros, és

(ii) .

Bizonyítás. Először tegyük fel, hogy realizálható hurokél nélkül. Ekkor az 1. feltételről láttuk, hogy teljesül. A 2. feltételhez tekintsük a realizáló gráf -hez tartozó csúcsát, ez élre illeszkedik. Másrészt az összes többi csúcs összesen élre illeszkedik. A hurokélek kizárása miatt az előbbi csúcson átmenő élek mind illeszkednek egy másik csúcsra is, tehát legfeljebb van belőlük. Ebből a 2.

feltétel adódik.

A másik irányt szerinti teljes indukcióval bizonyítjuk. Először tekintsük az elfajuló esteket: ha , akkor az állítás könnyen látható (fokszámsorozatunk egy párosítással realizálható). Ha , akkor a 2.

feltételből adódik, így a két csúcs között darab párhuzamos élt tartalmazó gráf realizálja a sorozatot.

A továbbiakban így feltesszük, hogy és .

Tegyük fel, hogy -re teljesül az állítás, és tekintsük -et. Az indukciós lépést két esetre bontjuk:

(a) (b)

Mindkét esetben a számsorozatból képzett nemcsökkenő sorozatot fogjuk realizálni. Azt állítjuk, hogy ez teljesíti a 2. feltételt, így alkalmazható rá az indukciós feltevés. Valóban, az (a) esetben még mindig maximális elem a sorozatban, és fennáll. A (b) esetben a

legnagyobb elem , így a bizonyítandó egyenlőség, de mivel

, így már az erősebb egyenlőtlenség is teljesül. A fenti sorozatot realizáló gráfhoz egy élt illesztve a -hez tartozó csúcsokra megkapjuk az eredeti számsorozatot realizáló gráfot.

Megjegyezzük, hogy az indukciós bizonyításból könnyen kiolvasható egy rekurzív algoritmus, amely az adott feltételeknek elegettevő sorozathoz egy megfelelő realizáló gráfot konstruál.

(9)

Fokszámsorozatok

2.1.3. Lemma. Ha a számsorozat realizálható egyszerű gráffal, akkor van olyan realizáló egyszerű gráf, amely csúcsai , ahol , és a csúcs szomszédai pontosan a csúcsok (speciálisan ).

A lemma előtt nézzük meg egy következményét.

2.1.4. Következmény (V. Havel és S. Hakimi tétele). akkor és csak akkor realizálható egyszerű gráffal, ha

is.

A következmény egyszerűen adódik az előbbi lemmából, hiszen ha vesszük azt a -t realizáló gráfot, amelyben a további legnagyobb indexű csúccsal szomszédos, akkor a csúcsot elhagyva olyan gráfot kapunk, amely éppen a fenti fokszámsorozatot realizálja. Az állítás megfordítása a lemma nélkül is egyszerű.

Vegyük észre, hogy így a következmény által rekurzív algoritmust (Havel─Hakimi-algoritmus) kaptunk a realizálásra.

Lemma bizonyítása. Legyen olyan realizáló gráf, amelyre és szomszédainak indexösszege maximális. Azt állítjuk, hogy ez a gráf olyan, amilyet a lemma állít.

Indirekt úton tegyük fel, hogy nem, azaz létezik úgy, hogy szomszédos -vel, de nem szomszédos - vel. -nek egy szomszédja tisztázott ( ), másikról még nem tudunk semmit. -nek van ''tisztázatlan'' szomszédja. Nyilván . Ez csak úgy lehet, ha van egy olyan csúcs, amely -vel szomszédos, de -vel nem.

Képezzük -ből a gráfot úgy, hogy a és éleket elhagyjuk -ből, majd hozzávesszük a és éleket.

Így a gráf egyszerű maradt és fokszámsorozata sem változott, viszont -ben megint csak -vel nagyobb szomszédainak indexösszege, így -ben nem lehetett maximális.

2.1.5. Tétel. Tegyük fel, hogy . Ekkor a sorozat pontosan akkor realizálható fával, ha és teljesül.

Bizonyítás. A feltételek szükségessége könnyen adódik, hiszen bármely fa összefüggő, így , másrészt egy

-pontú fának éle van, így is fennáll.

Az elégségesség bizonyítása szerinti teljes indukcióval történik. Ha , akkor a feltételek miatt , és ezt realizálja a kétpontú, egy élt tartalmazó gráf. Tegyük fel, hogy csúcsra igaz az állítás,

és . Ekkor egyszerű számolással adódik, és persze és teljesül.

Ebből , és adódnak, hiszen a fokszámok egészek. Így a sorozat rendezésével kapott számsorozat is teljesíti a tételbeli feltételeket, tehát az indukciós feltevés szerint fával realizálható. Ebből a fából megkapható az eredeti fokszámsorozathoz tartozó fagráf egy, a -hez tartozó csúcsból történő ághajtással.

(10)

3. fejezet - Fokszámsorozatok

3.1. Kérdés. Definiálja egy csúcs fokszámát egy gráfban. Hogyan egyszerűsíthető a definíció, ha a gráfunkban nincs hurokél? Hogyan egyszerűsíthető a definíció, ha a gráfunk egyszerű?

Emlékeztető. Egy irányított gráf egy négyes, ahol egy csúcshalmaz, egy élhalmaz és egy illeszkedési reláció és között, amelyre teljesül, hogy minden él esetén és is egyelemű.

3.2. Kérdés. Irányított gráfban minden csúcs esetén definiálható kifok és befok. Legyen egy tetszőleges gráf és egy tetszőleges irányítása. Milyen kapcsolat van fokai és ki/befokai között?

3.3. Kérdés. Igazoljuk, hogy nemnegatív egészek egy sorozata akkor és csak akkor realizálható gráf fokszámsorozataként, ha a tagok összege páros,

3.4. Kérdés. Nemnegatív egészek egy sorozatára a tagok összege páros, azaz realizálható mint egy gráf fokszámsorozata. Mi a realizációhoz szúkséges hurokélek minimális száma?

Jelölés. . Speciálisan , .

3.5. Kérdés. A halmazon hány olyan gráf létezik, amely fokszámsorozata az azonosan sorozat?

3.6. Kérdés. A halmazon hány olyan irányított gráf létezik, amely ki- és befokai is mind -ek?

3.7. Kérdés. Milyen -re van olyan gráf, amely fokszámsorozata ? Ha van ilyen gráf, akkor az választható-e egyszerű gráfnak?

3.8. Feladat. Egy gráf minden foka páros. Igazoljuk hogy lehet úgy irányítani, hogy minden csúcsban ugyanakkora kifok alakuljon ki mint befok.

3.9. Feladat. Egy gráffal realizálható sorozat ( ) akkor és csak akkor realizálható összefüggő gráffal, ha és minden tagja pozitív.

3.10. Feladat. Egy egyszerű gráffal realizálható sorozat minden eleme legalább . Ez akkor és csak akkor realizálható olyan gráffal, amley éldiszjunkt feszítőfát tartalmaz, ha .

3.11. Feladat. fokszámsorozat realizálható egyszerű gráffal. Igazoljuk, hogy ekkor (a) a -k összege páros,

(b) minden esetén

3.12. Feladat (Erdős─Gallai). Igazoljuk, hogy az egyszerű gráffal történő realizációnál a fenti két feltétel nemcsak szükséges, hanem elégséges is.

3.13. Feladat (Lovász). Igazoljuk, hogy akkor és csak akkor realizálható teljes párosítással rendelkező egyszerű gráffal, ha és is realizálható egyszerű gráffal.

(11)

4. fejezet - Fák összeszámlálása

1. Adott fokszámsorozatú fák összeszámlálása

4.1.1. Tétel. Legyen fokszámsorozat olyan, melyre teljesül a

egyenlőség, ekkor ezen fokszámsorozatot realizáló fák száma:

Bizonyítás. Ha valamely indexre , akkor a fokszámsorozat nem realizálható fával, hiszen egy legalább két pontból álló fa csúcsainak fokszáma minimum 1. Ilyen esetben a formula értéke is 0.

Tegyük fel, hogy és a realizáló fa csúcsai , ahol . Tudjuk, hogy

így azaz a csúcs minden realizáló fában levél. A realizáló fákat diszjunkt csoportba oszthatjuk aszerint, hogy a csúcsnak melyik másik csúcs a szomszédja. Ha realizáljuk a fokszámsorozatot fával, akkor megkapjuk az eredeti fokszámsorozat egy realizációját, amelyben szomszédja . Ezt felhasználva teljes indukcióval igazoljuk a formula helyességét.

Az állítás esetén nyilvánvalóan igaz. Tegyük fel, hogy (1) teljesül csúcsú fák esetén. Ekkor a fokszámsorozatot realizáló fák száma

4.1.2. Következmény (Cayley). A halmazon fa adható meg.

Azaz az csúcsú teljes gráf ( ) feszítőfáinak száma .

Bizonyítás. A fokszámsorozataik szerint csoportosítva a megszámolandó fákat a számukra a következő összefüggés adódik

???ahol .

Vegyük észre, hogy a (2) egyenlőség jobb oldala a multinomiális tétel (lásd BSc Kombinatorika kurzus vagy Hajnal Péter, Összeszámlálási problémák, Polygon Jegyzettár, 1997) speciális esete, így

(12)

Fák összeszámlálása

2. Fák és lineáris algebra

Irányított gráf alatt olyan rendszereket értünk, ahol és diszjunkt halmazok,

illeszkedési relációk, ahol minden élre egyetlen csúcs -illeszkedik (az él kezdőpontja, kifut -ből), és egyetlen csúcs -illeszkedik (ez él végpontja, befut -ba). A irányított gráfból az irányítás elhagyásával a gráfot kapjuk. Egy irányítatlan gráfnak irányítása egy irányított gráf, ha abból az irányítás elhagyásával az eredeti gráfot kapjuk vissza. (Ez nem egyértelmű. Egy gráfnak darab irányítása van, ahol a nem hurokélek halmaza.)

Definíció. Legyen hurokélmentes, irányítatlan gráf. A gráf pont-él illeszkedési mátrixán a következő, -s mátrixot értjük: , ahol

Hasonlóan, ha irányított, akkor , ahol

Vegyük észre, hogy bármely oszlopban pontosan két darab nemnulla elem van, és irányított gráf esetében ezek egyike , a másik . Ebből adódik, hogy sorainak összege .

Definíció. Adott egy (irányított vagy irányítatlan) gráf, rögzítsük valamely csúcsát. Ekkor a párt gyökeres gráfnak nevezzük.

Jelölés. Legyen egy gyökeres gráf. legyen egy tetszőleges irányítása. Legyen egy tetszőleges élhalmaz. Ekkor jelöli azt a mátrixot, amit pont-él-illeszkedési mátrixából ( -ből) kapunk az csúcs sorának eltörlésével és az -beli éleknek megfelelő oszlopok kiemelésével kapunk (azaz éleinek megfelelő oszlopokat is elhagyjuk sora mellett).

A fenti definíciók mögött fizikai motiváció is áll. Egy ármakörhöz tartozik egy gráf. Ha az egyes huzalszakaszokon/éleken folyó áramerősséget vizsgáljuk. A folyó áramnak iránya is van. Ehhez hasznos vennünk az alap gráf egy irányítását (a lerögzített irányban áramló áram erőssége pozitív, míg az ellenkező irányú áram negatív erősségű lesz). Kirchoff csomóponti törvénye azt mondja, hogy gráfunk minden csúcsában a bevezető éleken az áramerősségek összege ugyanaz mint a kivezető éleken (a két összeg különbsége ). Ezeket az egyeneleteket felírva egy lineáris egyenletrendszert kapunk, amely mátrixa . A mátrix sorainak össze . Azaz a rendszer egyenletei nem függetlenek. Egy csúcsra felesleges felírnunk, ha a többire már tudjuk. Az így redukált egyenletrendszer mátrixa .

3. Kirchoff tétel

4.3.1. Lemma. Legyen gráf, egy tetszőleges irányítása, és egy tetszőleges gyökér. Legyen olyan, hogy (azaz egy négyzetes mátrix). Ekkor

(1) akkor és csak akkor a gráf egy feszítőfájának élhalmaza, ha (2) akkor és csak akkor nem egy feszítőfa élhalmaza, ha .

Bizonyítás. A két állítás feltételei komplementer lehetőségek. Így elegendő a két ''akkor és csak akkor'' állítás ''akkor'' részének irányát. Valóban ekkor mindkét ''csak akkor'' rész következik indirekt módon a másik állítás ''akkor'' részéből.

(1): Mivel fa élhalmaza, a hozzá tartozó gráf -ből felépíthető ághajtásokkal. Jelölje és az -edik ághajtás során keletkező csúcsot és élt. Vegyük észre, hogy ekkor egyrészt mindig illeszkedik -re, másrészt egyetlen, nála nagyobb indexű csúcsra sem illeszkedik. Ez azt jelenti, hogy abban az illeszkedési mátrixban, ahol a(z -től különböző) csúcsok és az -beli élek is index szerint vannak felsorolva, a főátlóban mindig , a

(13)

Fák összeszámlálása

főátló alatt pedig áll. Így a mátrix felső trianguláris, és a determinánsa . Vegyük észre, hogy megkapható belőle sor-oszlop cserékkel, így a determinánsuk legfeljebb előjelben különbözik. Ezzel az első állítást beláttuk.

(2): egy elemű élhalmaz egy pontú gráfban. Ez pontosan akkor nem egy feszítőfa élhalmaza, ha van benne kör. Jelölje az -beli kör élhalmazát (speciálisan ). A bizonyítást két esetre bontjuk a -beli élek irányítása szerint.

1. eset: élei csatlakozóan vannak irányítva.

Vizsgáljuk meg az mátrix -nek megfelelő oszlopai és körünk csúcsainak megfelelő sorok találkozásában álló elemeket. Nem jelent megszorítást, ha feltesszük, hogy a csúcsok, illetve élek olyan sorrendben vannak, ahogy az ábrán látható. (Ha nem ilyen sorrendben lennének, akkor ez a sor- és oszlopcserékkel elérhető a kívánt sorrend, amely változtatás a determinánsnak csak az előjelét változtatja, és ez a tétel szempontjából lényegtelen.)

Könnyű meggondolni, hogy a kék színű blokkban minden sorban pontosan egy -es és egy -es szerepel, hiszen minden -re az élek közül pontosan kettő illeszkedik, az egyik befut -be, a másik pedig kifut -ből. A kijelölt blokk feletti és alatti részeken pedig csupa értékek állnak, hiszen minden körbeli él a két körbeli csúcstól különböző, harmadik csúcsra nem illeszkedhet.

Innen viszont rögtön adódik, hogy az éleknek megfelelő oszlopvektorok összege . Ez igaz lesz az mátrixban is (ott egyetlen sor lett lehagyva -ből). Így a vizsgált determináns szükségképp zéró (akkor is, ha az ábrával ellentétben a kék mátrix egyik sora, az elhagyott, -nek megfelelő sor).

2. eset: élei ''össze-vissza'' irányítottak.

Egy él irányításváltásának hatása az mátrixra a megfelelő oszlop előjelváltása. A különböző irányítás bármelyikéből kiindulva irányításváltásokkal eljuthatunk az 1. esethez. Tehát a kiindulási és az 1. esetbeli mátrix mindössze néhány oszlopvektor előjelében különbözik. Így a speciális (első) esetből következik az általános eset is.

4.3.2. Következmény. + Az mátrix rangjára fennáll, hogy , ahol a gráf komponenseinek számát jelöli.

Bizonyítás. Két esetet különböztetünk meg.

1. eset. Tegyük fel, hogy összefüggő, ekkor -ben létezik feszítőfa, legyen egy ilyen fa élhalmaza . Ekkor az 21. Tétel (i) pontja alapján egy nemeltűnő -es determináns, így -ben van -es nemzéró részdetermináns. Ekkor rangjára a következő alsó korlát adódik:

. Másrészt , hisz azt tudjuk, hogy sorvektorainak összege 0, így bármely részmátrix determinánsa 0. Összefoglalva: , ahonnan nyerjük, hogy . Mivel összefüggő gráfokban a komponensszám 1, ez éppen a tétel állítását igazolja.

2. eset. Tegyük fel most, hogy a gráf darab komponensből áll: . A komponensek osztályozzák a csúcsok és élek halmazát is. Ezen osztályozások alapján természetes módon blokkosíthatjuk az

mátrixot:

(14)

Fák összeszámlálása

Nyilván a főátló blokkjain kívül minden blokk csupa zéró. Míg a diagonális mentén sorra az

komponensgráfok illeszkedési mátrixai találhatók. Egyszerű lineáris algebrai eredmény szerint rangjára fennáll a következő: . Minden indexre már összefüggő gráf, így az 1. esetből kapott összefüggést alkalmazva

A továbbiakhoz szükségünk lesz egy lineáris algebrai tételre:

4.3.3. Tétel (Cauchy─Binet-formula). Legyen . Ekkor

Megjegyzés. A Cauchy-Bintet-féle tétel esetén (ekkor a szumma egy tagból áll) a determinánsok szorzástétele.

Ha , akkor a szumma üres, definíció szerint értéke . Könnyen látható, hogy a bal oldal is : sorvektorai -beli vektorok, számuk több mint , a terünk dimenziója. Így van köztük nem-triviális lineáris összefüggés. Ez öröklődik -re is, így determinánsa .

A tétel ''újdonsága'' az eset.

Ezt alkalmazzuk, hogy főeredményünket beláthassuk.

4.3.4. Következmény (Kirchoff tétele). Tetszőleges gráf feszítőfáinak száma

ahol a gráf egy tetszőleges irányítása.

Bizonyítás. Írjuk fel a Cauchy─Binet-formulát az esetben:

Az 1. Tétel miatt ezen fenti determinánsok vagy zérók vagy vagy alakúak attól függően, hogy tartalmaz-e kört vagy sem. Ha a nullákat elhagyjuk a fenti összegből, akkor -t kapunk. Ez feszítőfáinak száma, ahogy bizonyítani kellett.

Érdekesség. + Gustav Robert Kirchhoff (Königsberg, Poroszország, 1824. március 12.─Berlin, 1887. október 17.) német fizikus volt. Jelentős az áramkörök fizikájával kapcsolatos munkássága. Egy áramkör felfogható pontok és élek halmazaként (egy megfelelő illeszkedési relációval), tehát gráfként. Mivel minden élen az ott folyó áramnak iránya van, természetes hogy irányított gráfként tekintsünk egy áramkörre (az élek iránya egy viszonyítási alap, az áramerősseg pozitív, ha az áramlás iránya megegyezik az él irányával, különben negatív).

Kirchoff első törvénye szerint egy áramkörben minden csomópontban a befolyó áram erőssége megegyezik a kifolyó áram erősségével. Azaz minden csúcsra felírható egy egyenlet, amelyben az (az élen folyó áram erőssége) változók szerepelnek. Ennek a lineáris egyenletrendszernek mátrixa . Ezek után érthetővé válik, hogy miért érdeklődött ezen mátrixok iránt Kirchoff. Ő (mint minden fizikus) nyilván természetesnek vette, hogy gráfunk összefüggő. A rang meghatározása számára persze azt a kérdést jelentette, hogy: ''Az összes csomóponti törvény között milyen összefüggések vannak, közülük hány tekinthető függetlennek, amelyek

(15)

Fák összeszámlálása

meghatározzák a többit is?'' A rangra vonatkozó eredményünk azt adta, hogy a csomóponti törvények közül bármelyik darab független és meghatározza a fel nem írt csomóponti törvényt (feltesszük, hogy összefüggő).

Egy konkrét áramkörnél persze csak a független törvényeket írjuk fel. Ezek mátrixa az mátrix.

Mielőtt továbbhaladnánk nézzük meg az szorzatmátrixot közelebbről. Ezen mátrix általános, indexű eleme -adik sorának és -edik oszlopának belső szorzata, azaz -adik és -edik sorainak belső szorzata. Ha , akkor a belsőszorzat (a megfelelő koordináták szorzatainak összege) az és közötti élek számának -szerese. Ugyanis csak azok az elemek lesznek -tól különbözők az összegben, ahol mindkét vektor megfelelő eleme egyszerre nemzéró, ami pontosan akkor fordul elő, ha fut egy él -ból -be vagy - ből -ba. Mindkét esetben ez az él -gyel járul hozzá az összeghez (az első esetben -gyel, a másodikban -gyel). Ha pedig , akkor ez a belső szorzat lesz: Akár -ból indult, akár -be befutott egy él, ezt az információt jelző -es vagy -es a belső szorzatban négyzetre emelődik. Így végül minden -ra illeszkedő él -et ad az összeghez.

Összefoglalva:

Így a Kirchoff tétel egy új alakjához jutottunk:

4.3.5. Tétel (Kirchoff-tétel, II. alak). A feszítőfák száma -ben , ahol a fokszámokat tartalmazó diagonlás mátrix, pedig gráfunk szomszédsági mátrixa. (A felső index arra emlékeztet, hogy csak az -től különböző csúcsok számítanak, speciálisan mátrixaink mérete .)

Kirchoff tételéből könnyen adódik a Cayley-formula.

4.3.6. Következmény (Cayley tétele). -nek (az pontú teljes gráfnak) darab feszítőfája van, azaz a csúcshalmazon darab fa van.

Bizonyítás. Kirchoff tételét a speciális esetre felírva adódik a kívánt állítás:

A determináns kiszámításához mátrixunkon olyan átalakításokat végzünk, amelyek nem változtatják meg a determináns értékét. Először a másodiktól kezdve az összes sort hozzáadjuk az első sorhoz. Majd az új első sort adjuk hozzá az összes többihez:

(16)

Fák összeszámlálása

hiszen felső trianguláris mátrix determinánsa a főátlón lévő elemek szorzata, a főátlón pedig egy darab -es és -es darab szerepel.

4. Cayley tételének kombinatorikus bizonyítása

A Cayley-tétel állításában rejlő összeszámlálási feladatra nagyon kompakt, szép formula adja meg a választ.

Sejthető, hogy az egyszerű alakú eredményhez szép, kompakt érvelés is elvezethet. Kettőt is ismertetünk.

Első kombinatorikus bizonyítás Cayley formulárára (Joyal)

Megadunk egy bijekciót a halmaz és az

függvényhalmaz között. Az első halmaz elemei fák az halmazon két kitüntetett csúccsal (címkézett fák), amelyekben a két címkézett csúcs akár egybe is eshetnek. Ezek száma a Cayley-tételben rejlő összeszámlálási feladatra adott válasz -szerese (ennyi lehetőség van minden csúcshalmazú fán az és címkéjű csúcs kijelölésére). A második halmaz elemszáma . A két halmaz közötti bijekció igazolja azonos elemszámúságukat, így Cayley tételét.

A bijekció minden címkézett fához hozzá fog rendelni egy fuggvényt, az fa Joyal-kódját, amit a következő módon kaptunk. A függvény leírását egy példával mutatjuk be.

Példa.

A fában legyen és .

Erre az esetre le is írjuk a kódolás kimenetelét.

Írjuk le az út (ez fában egy jól meghatározott út) csúcsait 2-féle sorrendben egymás alá:

növekvő sorrendben (példánkban 2 3 4 8),

-tól -ig az úton való haladás sorrendjében (példánkban 4 3 2 8).

A két csúcsok/számok sorrendjét írjuk egymás alá és olvassuk el mint egy permutációt: .

(17)

Fák összeszámlálása

Az fához rendelt függvény ennek a kiterjesztése lesz (ez a kiterjesztés már nem feltétlenül permutáció).

Minden olyan csúcsra, ami nem eleme az útnak, legyen -nek azon szomszédja, ami az úthoz közelebb van, mint . A körmentesség és összefüggőség miatt ez jó definíció.

Tehát példánk címkézett fájának Joyal-kódja:

4.4.1. Állítás. A Joyal-kódolás bijekció, vagyis az függvény ismeretében felépíthető az eredeti fa.

Példa.

Animáció a Joyal-kódolás bemutatására

Csak az inverz függvényt írjuk le, mint egy dekódoló eljárást. A részletek kidolgozása az érdeklődő hallgató feladata.

Vegyük észre, ha a fa egy olyan csúcsa, ami nem eleme az útnak, akkor -re a fa éle. Tehát ha ismernénk az út csúcsait, akkor már csak annyit kellene tenni, hogy egyrészt valamilyen módon kitaláljuk ezek sorrendjét az úton és ezáltal meghatározzuk az út éleit, másrészt az úton kívüli csúcsban behúzzuk az

éleket, és ezzel vissza is kapjuk a fát.

Az út csúcsain az megszorítása permutáció, így idegen ciklusok szorzatára bomlik. Ugyanakkor vegyük észre, hogy az úton kívül az sehol másutt nem működhet hasonlóan, egy úton kívüli csúcsa semmilyen -ra nem lesz . Valóban: Az , , , sorozatban lesz egy első elem, ami már az útra esik, és úton lévő elemhez az csak úton lévő elemet rendelhet, tehát nem térhet vissza e sorozatban újra.

Ezzel konstruálhatunk egy algoritmust az út elemeinek kiszűrésére. Minden egyes csúcsra vegyük sorra az , elemeket. Ha eleme ennek a sorozatnak, akkor (és csak akkor) eleme az útnak. Innen megvan az út csúcsainak halmaza. Ezeket írjuk le növekvő sorrendben egymás mellé. Alájuk írjuk le az melletti értéküket. Az melletti függvényértékek sorozata (ilyen sorrendben) adja a út csúcsait, és mivel ekkor már egymást követő rendben állnak, ezeket a sorra össze kell kötni.

Befejezésül húzzuk be az összes élt.

Példa.

Animáció a Joyal-kód dekódolásának bemutatására

Második kombinatorikus bizonyítás Cayley formulájára (Prüfer)

Tekintsünk egy tetszőleges fát csúcshalmazzal, . Bevezetjük Prüfer-kódjának fogalmát, amelyet a következő algoritmus hoz létre. Az algoritmus során egy változó fánk lesz, ami kezdetben , így .

Legyen a minimális indexű levél a fában (minden legalább két pontú fában van legalább két levél, így definíciója jó), pedig legyen szomszédja. jelölje azt a fát, amelyet -ból a csúcs (és él) elhagyásával kapunk. Általában rekurzív definíciója: a legkisebb indexű levél a fában, pedig

szomszédja. A fa a levél elhagyásával kapható -ből. Ha , akkor megállunk.

Példa. Az alábbi animáció a Prüfer-kódolásra mutat példát Animáció a Prüfer-kódolás bemutatására

A fa Prüfer-kódja a sorozat. Példánkban a fa kódja .

(18)

Fák összeszámlálása

Tehát a kód eleme a halmaznak. Mivel ezen halmaz elemszámú, a Cayley-tétel bizonyításához elegendő kimutatni, hogy a Prüfer-kódolás bijekció (azaz van hozzá inverz, dekódoló függvény).

Megjegyezzük, hogy -et azért hagytuk ki a kódból, mert az szükségszerűen , a legnagyobb csúcs. Ugyanis amikor összegyűjtjük a leveleket, akkor legalább két lehetőséghez jutunk. A minimális levél tehát biztos nem lesz. Speciálisan egyetlen csúcsa lesz, ami egyben szomszédja.

Megadjuk ezek után a kód visszafejtését, ami igazolja, hogy a Prüfer-kódolás bijekció. Ehhez vegyük észre, hogy egyrészt levél nem szerepel a Prüfer-kódban, másrészt minden olyan csúcs, ami nem levél elő fog fordulni.

Így a levelek halmaza pont a kódban nem szereplő csúcsok halmaza. ennek minimális eleme:

(a felülvonás a komplementer kézpését jelöli). rekurzíven meghatározható. Azaz

a minimális elem komplementeréből, !! de a halmazban !!. Azaz

. Általában .

Az érdeklődő hallgató beláthatja, hogy az így leírt sorozat a kódban lévő csúcsokkal (és csúccsal) mint szomszédokkal egy fát ír le, továbbá a hozzárendelés a Prüfer-kódolás inverze.

Példa.

Animáció a Prüfer-kód dekódolásának bemutatására

5. + A Cauchy─Binet-féle formula bizonyítása

A teljesség kedvéért vázoljuk a Cauchy─Binet-formula bizonyítását.

Tekintsük az alábbi determinánst:

ahol az és (közös méretű) mátrixok sorait az , oszlopait a halmazzal azonosítottuk. Feltehető, hogy és . A mátrix sorai és oszlopai is -val azonosíthatók.

Vigyáznunk kell mert az és halmazok nem diszjunktak így igazából indexű sorból kettő van: és . A mátrix első sorának indexe az -beli . A -beli -nek megfelelő sor a mátrix -edik sora.

első kifejtése: Használjuk a Laplace-tételt és fejtsük ki -t az első sora szerint:

Az elemű oszlophalmaz nem fut végig összes elemű részhalmazán. A kihagyott tagoknak megfelelő szorzat első tényezőjének mátrixában van oszlop, azaz determinánsa , a szorzat szummához való hozzájárulása . A Laplace-formulában szereplő előjelek a kiválasztott részmátrix sorainak, oszlopainak indexeitől függ. Mivel , ezért egy elemének megfelelő oszlop mátrixában az -edik oszlop.

A determinánst fejtsük ki az első oszlopa szerint. Egy mátrix több oszlopa szerinti kifejtésben ki kell vennünk a kifejtő oszlopok mátrixából egy sorhalmaza által meghatározott négyzetes részmátrixát.

Jelöljük ezt -mel. A formula:

Könnyű látni, hogy a fenti összegnek csupán az az egy tagja lesz nemzéró, ahol . Ugyanis ha , akkor , és az egységmátrix - ezek megfelelő oszlopaiból és -nak megfelelő soraiból álló részmátrixban ekkor lesz csupa nulla sor, ami azt jelenti, hogy . Ha , akkor

. Ezért a fenti egyenlőség az alábbi formulára redukálódik.

(19)

Fák összeszámlálása

Innen

hiszen kitevőjében a páros tagok elhagyhatók és az tag a vele azonos paritású -re cserélhető.

D második kifejtése.

Átalakítjuk a determinánst úgy, hogy a sorhoz hozzáadjuk az első -sor -szeresét, a második -sor -szeresét, és így tovább. Ezen elemi átalakítások után a következő összefüggéshez jutunk

ahol az átalakított mátrix bal felső sarkában szereplő mátrix -adik sorának -edik eleme éppen -adik sorvektorának és -edik oszlopvektorának belső szorzatának ellentettje, azaz . Így

A két kifejtés eredményét összevetve kapjuk a Cauchy-Binet-féle tételt.

(20)

5. fejezet - Fák összeszámlálása

5.1. Kérdés. Határozzuk meg a következő gráfokban a feszítőfák számát:

(i) pontú kör,

(ii) pontú kör és egy -edik csúcs, amelyet a kör minden csúcsával összekötünk ( pontú kerékgráf), 5.2. Kérdés. Definiáljuk az ághajtás operációt. Írjuk le a fa fogalmát ezzel a fogalommal.

5.3. Feladat. Igazoljuk, hogy egy fa tetszőleges csúcsából kiindulva felépíthető ághajtásokkal.

5.4. Feladat. Legyen a gráf feszítőfáinak száma. Legyen a gráf egy éle. Igazoljuk, hogy

agol az él kontrakciójával nyert gráf, azaz -t elhagyjuk és két végpontját azonosítjuk.

5.5. Feladat. A gráfból képezzük a gráfot úgy, hogy minden élét párhuzamos éllel helyettesítjük. Hogy fejezhető ki feszítőfáinak száma feszítőfáinak számaból?

5.6. Feladat. A gráfból képezzük a gráfot úgy, hogy minden élét hosszú úttal helyettesítjük (a helyettesítő utak belső pontjainak halmazai diszjunktak). Hogy fejezhető ki feszítőfáinak száma feszítőfáinak számaból?

5.7. Feladat. Legyen egy fa a csúcshalmazon. Legyen egy a fánkhoz tartozó monom. Igazoljuk, hogy

ahol az összegzés az összes fára történik.

5.8. Feladat. Legyen a fák száma a csúcshalmazon. Igazoljuk a következő rekurziót:

5.9. Feladat. Határozzuk meg a következő gráfok feszítőfáinak számát:

(i) , ahol egy él -ben, (ii)

5.10. Feladat. Igazoljuk, hogy az pontú fák izomorfiatípusainak száma és között van.

(21)

6. fejezet - Folyamok

1. Folyamok elméletének alapfogalmai

Legyen irányított gráf, két kijelölt csúcs és függvény. Ekkor négyesét hálózatnak nevezzük, ahol pontot forrásnak, pontot nyelőnek, -t pedig kapacitásfüggvénynek nevezzük.

Megjegyzés. Hálózatok sok gyakorlati probléma absztrakciójához hasznosak. Például egy város vízvezetékhálózata írható így le, ahol a kapacitásfüggvény a csövek terhelhetőségét (például átmérő) adja meg.

Egy úthálózat is modellezhető így. Egy él kapacitása az áteresztő képessége, a megfelelő útszakasz szélességével, sávjainak számával arányos.

A fenti fogalom egy statikus fogalom. Olyan mint egy programozó számára a hardver. Az alkalmazott matematikus/programozó számára a hálózat adott/felmért és az alkalmazás inputja. A dinamika leírásához új fogalom kell.

Definíció. Az függvényt folyamnak nevezzük a hálózatban, ha (F1) minden él esetén

(F2) minden esetén , ahol az -be befutó élek

halmaza, az pontból kifutó élek halmaza.

Az első feltételt megengedettségnek nevezzük. tehát megengedett, ha a csöveken nem folyik át a kapacitásnál nagyobb, illetve negatív mennyiség. A második feltételben szereplő egyenlőségek vezérlő elvét megmaradási törvénynek nevezzük. Ezek természetes fizikai feltételek.

Ahhoz, hogy könnyebben elképzeljük a folyamokkal kapcsolatos fogalmakat, nézzünk egy másik alkalmazást.

A hálózat legyen egy város úthálózata. A forrás lehet egy lakótelepet, lakóparkot reprezentáló csúcs. A belvárost reprezentálja a nyelő. A folyam a reggeli forgalom: a belvárosba szeretnének eljutni autóval az emberek.

Minden élen a folyam megadja az ott folyó forgalmat.

Példa. Az folyam egy tetszőleges hálózatban. Ekkor minden élen anyagmennyiség fut.

Speciálisan minden hálózatban megadható folyam. Hogy ezek a folyamok összevethetők legyenes szükségünk van egy újabb fogalomra.

Definíció. Egy folyam értéke ( a nyelő).

Az folyam értéke negatív is lehet, ilyenkor visszafele folyik a víz a csőhálózatban. Az üres folyam értéke . Folyam probléma: Adott egy hálózat. Keressünk hozzá egy maximális értékű folyamot.

A maximális jelző első olvasatban problémás. Egy folytonos problémával állunk szemben, amikor nem szüségszerű a legnagyobb érték fevétele. Egy folyam egy élű hálózatban valós szám leírásával adható meg, azaz azonosítható egy pontjával. A folyamoknak megfelelő pontok egy kompakt halmaza, amelyen az érték egy folytonos függvény. Ez a folytonos függvény felveszi maximumát egy kompakt részhalmazán.

Megjegyzés. Tulajdonképpen a folyam probléma a lineáris programozás feladat egy speciális esete: a maximalizálandó függvény lineáris, valamint a folyamok halmaza lineáris egyenlőségekkel és egyenlőtlenségekkel van definiálva.

Az, hogy az érték nem lehet tetszőleges nagy az elemi módon is könnyen látszik. Tetszőleges folyam esetén

(22)

Folyamok

Vizsgálatunkat egy fontos észrevétellel kezdjük. Bevezetjük a vágás fogalmát. Ez lehetőséget ad a folyam értékének alternatív leírására és ez alapján a legnagyobb folyamértékére alternatív felső becsléseket kapunk.

Definíció. Legyen egy irányított gráf. Egy vágás -ben a ponthalmaz egy kétosztályú partíciója.

és a vágás két osztálya vagy partja. egy s-t vágás, ha , és .

Jelölés. a vágás élhalmaza, azon élek halmaza, amelyek két végpontja a vágás két különböző oldalára esik.

Irányított gráfban természetes módon két osztályba sorolható aszerint, hogy a vágás egy élének kezdőpontja a forrás vagy a nyelő oldalán van.

Egy vágás 6.1.1. Lemma. Legyen egy tetszőleges folyam.

(i)

(ii) Tetszőleges s-t vágásra:

Tehát egy megfelelő vágás alapján ki lehet fejezni a folyam értékét: a forrás felől átfolyó anyagmennyiségből kivonva a nyelő irányából visszafolyó anyagmennyiséget megkapjuk -t.

Bizonyítás. (i) az (ii) pont speciális esete ( ), így elég (ii)-t igazolni.

minden csúcsára egy egyenlőséget írunk fel. A csúcsokra (azaz a nem nyelőkre) felírjuk az anyagmegmaradás törvény rendezett formáját:

A esetben a folyam értékének definícióját írjuk fel:

Ezután összegezzük az összes -beli csúcsra felírt egyenlőséget. A jobb oldal pontosan lesz. Egy él viszonya a vágáshoz négyféle lehet. Az -beli élek nem szerepelnek a felírt egyenlőségekben. A -beli élek kettőben szereplnek. Az egyikben befutó élként, hozzájárulása az öszeghez előjellel/ súllyal . Egy másikban kifutó élként, hozzájárulása az öszeghez előjellel/ súllyal . Az összegzésben kiesik. A maradék élek ( élei) két kategóriába esnek:

(i) A -beli élek egytelen csúcsra felírt egyenlóségben szereplnek és ott szerepük: befutó él. Az összeghez hozzájárulást ad.

(23)

Folyamok

(ii) A -beli élek egytelen csúcsra felírt egyenlóségben szereplnek és ott szerepük: kivezető él. Az összeghez hozzájárulást ad.

Így az összegzés után a bal oldalon a lemma állításában szereplő jobb oldali kifejezést kapjuk. Az állítás adódik.

Az alábbi becslést adhatjuk -re:

6.1.2. Következmény. Legyen tetszőleges folyam, vágás. Ekkor

, -t a vágás kapacitásának nevezzük.

Az állítás bizonyítása egyszerű. A folyam érték -re alapuló felírásában az tagok -vel, a tagok - val becsülhetők felül. A becslésünk tetszőleges folyamra és tetszőleges vágásra igaz. Legerősebb változata:

6.1.3. Következmény.

tehát a maximális folyam érték legfeljebb akkora mint a minimális vágáskapacitás.

Tudjuk, hogy véges sok vágás van egy n csúcsú gráfban, pontosan db. Azaz a jobb oldal egy véges halmazon vett optimalizálási probléma. Célunk, hogy belássuk, hogy felső becslés valójában egyenlő a maximális folyamértékkel. Ha optimális/maximális értékű, akkor alkalmas vágással -beli élek kapacitásig kihasználtak, míg az -beli éleken nincs visszafolyás.

Definíció. Legyen hálózat, ebben pedig egy folyam. Legyen egy irányítatlan értelemben vett út -ben. (Azaz hagyjuk el a gráf irányítását, így kapjuk a irányítatlan gráfot. egy út ebben.) éleit két kategóriába sorolhatjuk -beli irányításának megfelelően: vagy előrehaladó él (azaz a -t leíró pont-él-pont-él

sorozatban kiinduló végpontja előbb van) vagy hátramutató él. Ezen élek halmazai és .

Így . Ekkor P javító út ( folyamra, hálózatban), ha

(J1) egy út -ben, (speciálisan ),

(J2) esetén , míg esetén , azaz ha az előrehaladó éleken a folyam nem használja ki a csőszakasz által engedet maximumot (az él kapacitását) valamint visszafele (a hátramutató éleken) is történik bizonyos ''visszafolyás''.

Egy irányítatlan út

6.1.4. Lemma. Legyen egy folyam a hálózatban. Ekkor ha találunk egy javító utat, akkor folyam javítható, azaz nem maximális értékű.

Bizonyítás. Legyen egy javító út -re. Legyen (azaz, egy élhez tartozó szám azt mutatja meg, hogy legfeljebb mennyivel növelhető az anyagmennyiség ezen élen a kapacitás korlát

megsértése nélkül), hasonlóan , valamint a minimumuk: . Javító

út esetén , azaz lehet még növelni az anyagáramlást. Legyen a módosított folyam

(24)

Folyamok

A következő észrevételek szolgálják a bizonyítás alapját:

(1) .

(2) megengedett,

(3) teljesíti a megmaradási törvényt minden nem-nyelő, nem-forrás csúcsban,

(4) .

(2) és (3) együtt igazolja, hogy egy folyam. (1) és (4) együtt igazolja, hogy értéke nagyobb mint -é.

Azaz egy javító út felismerése egy módot ad folyamunk javítására. Vajon ez a módszer univerzális-e? Van-e ügyesebb módszer a folyamérték növelésére? Egy ilyen módszer javító út hiányában, egy más logika alapján adna nagyobb értékű folyamot.

2. A folyamok alaptétele és következményei

A következő tétel a korábban feltett kérdések megválaszolásához vezet.

6.2.1. Tétel. Legyen egy folyam a ) hálózatban. A következő állítások ekvivalensek:

(i) folyam értéke maximális

(ii) -hez van olyan vágás, hogy , (iii) -hez nincs javító út.

Bizonyítás. : Az előző lemma szerint javító út léte bizonyítja, hogy folyamunk nem optimális. A fenti implikáció ugyanezt az állítást tartalmazza némi logikai átfogalmazással.

: Tetszőleges vágás kapacitása tetszőleges folyam értékét felülről becsüli. Ha egy felső becslés egyben folyam érték is, akkor ez a folyam értéke biztos maximális.

A tétel lényege a állítás. Ennek bizonyításához az alábbi fogalmat vezetjük be:

Definíció. javítóút-kezdemény (egy hálózatban lévő folyamra), ha:

(J1 ) -ből induló út -ben,

(J2) tetszőleges esetén és tetszőleges esetén .

Azaz a javító útság feltételei közül csak azt dobjuk el, hogy az út a nyelőbe vezessen. Emiatt egy javítóút- kezdemény nem használható egy folyam növelésére. Ha a megfelelő lemma alapján a folyamunkat megváltoztatjuk, akkor az út végpontjában a megmaradási törvény megsérül. A javítóút-kezdemény egy olyan út, aminél esélyt láthatunk, hogy meghosszabbításával javító utat kapjunk.

Legyen , . Megjegyezzük, ha ,

azaz -be vezet javítóút-kezdemény, akkor ez az út végig -ben vezet, hiszen A javítóút-kezdemény kezdőszeletei is javítóút-kezdemények.

(iii) miatt . Az '' '' út egy hosszú út, ami nyilván javítóút-kezdemény, azaz . A fenti két halmaz egy vágást határoz meg.

6.2.2. Állítás. A vágás bizonyítja -t, azaz .

(25)

Folyamok

Bizonyítás. Tudjuk, hogy a vágáson alapulva is felírhatjuk a folyam értékét:

Legyen tetszőleges él (azaz és ). Legyen egy út irányítatlan értelemben, ami -et bizonyítja (azaz javítóút-kezdemény). Ekkor egy út, ami nem lehet javítóút- kezdemény, hiszen . A javítóút-kezdeménység egyetlen módon ''romolhat el'': . Valóban

és sérülése esetén csak lehetőség marad egy folyamban.

Teljesen hasonló logika adja, hogy tetszőleges él esetén . Így fent felírt, a folyam értéket adó kifejezést tovább írhatjuk:

Ahogy bizonyítani kellett.

Az állítás bizonyítása az alaptétel bizonyítását teljessé tette.

A 3. ábra a főtétel bizonyításához tartalmazza.

Egy hálózat, egy folyam, benne javító úttal, a javított folyam, egy optimális folyam az ezt igazoló vágással.

6.2.3. Következmény (Maximális-folyam-minimális-vágás-tétel, Max-flow-min-cut-tetel, MFMC tétel).

Bizonyítás. Valóban. Már lattuk, hogy a bal oldal nem nagyobb, mint a jobb oldal. Legyen egy maximális értékű folyam. Az alaptétel szerint van hozzá (ii) pontban leírt tulajdonságú vágás. Ez éppen azt adja, hogy a jobb oldal sem nagyobb, mint a bal oldal.

6.2.4. Következmény. A következő algoritmus inputja egy hálózat. Az algoritmus leállásakor egy maximálsi

(26)

Folyamok

Ford-Fulkerson algoritmus:

Kiinduló lépés: Legyen , azaz az üres folyam.

// A cél egy kiinduló folyam definiálása. Ha látunk egy nagyobb értékű folyamot, // akkor kezdhetünk ezzel is.

Keresés inicializálása: Legyen .

// azon csúcsok halmaza, ahová javítóút-kezdeményeket találtunk.

Javítóút-kezdemények növelése:

// növelése.

Legyen

és

Keressük meg egy elemét.

Ezután három esetet különböztetünk meg:

(i) Bővítés: Ha akkor és folyatssuk a Javítóút-kezdemények növelése lépéssel.

(ii) Javítás: Ha akkor ''nyomozzuk vissza'' hogyan jutottunk el ide. Az ''ok'' egy javító út lesz. Ez alapján javítsuk -et: (lásd a javító út definiáióját követő lemmát). Térjünk vissza a Keresés inicializálása lépésre.

(ii) Leállás: .

// Ekkor . konkrét értéke megegyezik azon halmazzal, ami a főtétel // (ii) (i) bizonyításában szerepelt.

Ekkor STOP, az aktuális folyam értéke maximális.

A következmény igazolása nyilvánvaló a főtétel bizonyítása alapján: Leállás esetén az aktuális halmaz egy vágás ír le. Erre és az aktuális -re , azaz az output korrekt.

Megjegyzés. A fentiek alapján érdemes a Ford─Fulkerson-algorimtust úgy módosítani, hogy leálláskor a kiszámolt vágást is kiadja. Ez egy olyan vágás lesz, amely előremutató élein kapacitásnyi/maximális anyagmennyiség folyik, míg hátramutató élein nincs visszafolyás. Ez egy laikus számára is mutatja az output korrektségét, abban akkor is megbízhatunk, ha az algoritmus kódolása esetelg nem megbízható.

Példa.

Animáció a Ford─Fulkerson-algoritmus bemutatására

Az algoritmus javító utas növeléssel próbálja elérni az optimális folyamot. A fenti következmény csak azt mondta, ha az algoritmus leáll, akkor outputja korrekt. Ciklizálhat-e az algoritmus? Azaz elképzelhető-e, hogy javítások végtelen sorozatát kapjuk, így sose érjük el az optimális folyamot. Ciklizálás esetén a kapott folyam- sorozat értéke monoton nő és a hálózat által korlátozott. Azaz az értékek sorozata konvergens. A ciklizálásnak két kimenetele lehet. Jobb esetben a kiszámolt folyamok értékei az optimális folyamértékhez konvergálnak.

Elképzelhető-e, hogy az algoritmus ciklizál, de a folyamértékek sorozatának limesze nem a optimális folyam érték (hanem nyilván annál kisebb)?

A fenti kérdésekre többféle válasz is adható.

(27)

Folyamok

1. válasz: Valóságban a kapacitásfüggvény értékkészlete nem a pozitív valós számok halmaza, hanem , azaz a pozitív racionális számok halmaza. Ezek a kapacitás értékek (véges sok) skálázhatók úgy, hogy egészek legyenek (gondolhatunk arra, hogy alkalmas mértékegységváltást végzünk vagy a kapacitás értékeket leíró racionális számok közös nevezőjével minden beszorzunk).

Ha a kapacitások egészek és a kiinduló folyam is egészértékű (folyamot leíró függvény értékkészlete ), akkor az algoritmus futása során végig csak egész számokkal dolgozik. Speciálisan is egész lesz, azaz (lásd a javítóút definícióját követő lemmát). Azaz a folyam minden javításánál a folyam értéke legalább -gyel nő, így nem lehet ciklizálás.

2. válasz: Elméletben elképzelhetjük, hogy pontos valós aritmetikával dolgozunk. A fenti algoritmus javítóút- kezdemények növelése olyan szabadon van megfogalmazva, hogy tetszőleges javítóút megtalálasához vezet.

Azaz sok rövid javítóút létezése esetén is lehetséges, hogy a fenti nem-determinisztikus leírás egy hosszú javítóúthoz vezet. Példák adhatók, hogy ekkor elképzelhető az, hogy a kiszámolt folyamok értékeinek monoton növő korlátos sorozata nem az optimális folyamértékhez tart.

3. válasz: Módosítsuk a javítóút keresést a szélessségi keresés filozófiája szerint. Az így kapott algoritmus a Ford─Fulkerson-algoritmus Edmonds─Karp-változata. Ekkor csak a Javítóút-kezdemények növelése lépést változtatjuk meg az alábbiak szerint:

Határozzuk meg a halmazt.

Ezután három esetet különböztetünk meg:

(i) Bővítés: Ha akkor és folytassuk a Javítóút-kezdemények növelése lépéssel.

// Ekkor az halmaz bővítésénél olyan csúcsokat kell összegyűjteni, // amelynél a hozzátartozó csúcs a halmazból kerül ki.

// A korábbiakkal szemben most nagyobb növelési lépés is lehetséges.

(ii) Javítás: Ha , akkor az eredeti algoritmus alapján járunk el.

(ii) Leállás: Ha , akkor az eredeti algoritmus alapján járunk el.

Ez a változat garantálja, hogy a legrövidebb javító utat találjuk meg. Belátható, hogy az Edmonds─Karp- algoritmus (sőt a Ford─Fulkerson-algoritmus minden olyan változata, ami a legrövidebb javítóutakkal javít) olyan, hogy javítás után leáll, speciálisan nincs ciklizálás. Persze a fenti állítás jóval erősebb. A futási idő végessége helyett egy felsó becslést ad rá, ami az input méretében polinomiális. A fenti változat egy úgynevezett polinomiális algoritmus. A polinomiális jelző (amit a fenti vázalatos leírás magyaráz meg) az ''elméletileg hatékonynak tekintendő'' elfogadott formalizálása.

A 1. válasz gondolatmenetéből kapjuk a következő következményt.

6.2.5. Következmény. Legyen hálózat, amelyben . Ekkor létezik optimális folyam.

Megjegyezzük, hogy nem állítjuk, sőt nem is igaz, hogy minden optimális folyam szükségszerűen olyan, hogy minden élen egész anyagmennyiség folyik. Az alábbi ábrán példák láthatók hálózatokra és egész, illetve nem egész optimális folyamokra.

(28)

Folyamok

3. folyamok uniform hálózatokban

Definíció. Egy hálózatot uniformnak nevezzük, ha minden él kapacitása egyenlő. Feltesszük (feltehetjük), hogy a közös kapacitás .

Uniform hálózatokban vizsgáljuk az optimális folyamokat. Ha azzal a feltétellel élünk, hogy folyamunk minden élen egész értéket vegyen fel, akkor is elérhetjük a maximális folyamértéket. Feltételünk uniform hálózatban azt jelenti, hogy folyamunk függvény. Az ilyen folyamokat folyamnak nevezzük. Egy

folyam azonosítható az élhalmazzal. Azaz az

által leírt élhalmazból visszafejthető a folyam. Ez az azonosítás ugyanaz mint az részhalmazai és az -n értelmezett karakterisztikus függvények azonosítása.

Észrevétel. Legyen egy értékű folyam.

A megmaradási törvény teljesülése azt jelenti, hogy minden csúcsra ─ ami nem-forrás és nem-nyelő ─ ugyanannyi él fut be, mint ki ( -befoka egyenlő -kifokával). Továbbá a nyelőbe -val több él fut be, mint ahány él kifut, a forrásból pedig -val több él fut ki, mint ahány befut.

Az észrevételt egy formulában összefoglalhatjuk:

6.3.1. Következmény. Legyen egy értékű folyam. Legyen a megfelelő élhalmaz, tegyük fel, hogy - ben ott van egy irányított kör élhalmaza. Ekkor az élhalmaz is megfelel egy értékű folyamnak.

Bizonyítás. Valóban, az ellenőrizendők az élhalmaz be- és kifokaira vonatkozó feltételek. Az irányított kör éleinek elhagyása a kifok és befok különbségét nem változtatja.

6.3.2. Lemma. Legyen egy értékű folyam. Legyen a megfelelő élhalmaz. Ekkor tartalmazza éldiszjunkt út élhalmazát.

Bizonyítás. eset nyilvánvaló.

Feltehető, hogy , így . egy folyamot kódol, így észrevételünk alapján a csúcsok -befokának és -kifokának különbségeit ismerjük.

Legyen egy forrásból kiinduló él -ben (ilyennek lennie kell). Ekkor a fokszám feltételek miatt -t előre kiterjeszthetjük egy maximális úttá (kör nem alakulhat ki a bővítés során). Az elakadás csúcsa csak a nyelő lehet. Ezzel találtunk egy utat.

Ekkor -re is teljesülnek a megmaradási törvényhez szükséges fokszám feltételek, azaz is egy folyamot kódol. Értéke . Indukcióval befejezhetjük a bizonyítást vagy leírhatunk egy rekurzív (mohó) eljárást ami megtalálja az állítást bizonyító darab utat.

Ha a lemmabeli irányított körmentes, akkor erősebbet is állíthatunk.

(29)

Folyamok

6.3.3. Lemma. Legyen egy értékű folyam. Legyen a megfelelő élhalmaz. Tegyük fel, hogy körmentes. Ekkor éldiszjunkt út élhalmazának uniója.

Bizonyítás. Ha a nyelőre illeszkedik befutó és kifutó él is, akkor ezen csatlakozó élpár előre/hátra folytatható. A folytatás szükségszerűen kört alakítana ki, ami ellentmond feltételünknek. Tehát a értékű folyamot kódoló élhalmazban pontosan él illeszkedik a forrásra és ezek kifutó élek. Hasonlóan pontosan él illeszkedik a nyelőre és ezek befutó élek.

Az előző lemma alapján megtalálhatjuk éldiszjunkt út élhalmazát -ben. Ha ezek kiadják a teljes -et készen vagyunk. Ha nem, akkor lennie kell további éleknek. Ezek egyike sem illeszkedik a forrásra vagy nyelőre. Így egy további él előre/hátra folytatása szükségszerűen irányított körhöz vezetne, ami ellentmondás.

A teljesség kedvéért megemlítjük a következő tételt, ami az összes -folyam-élhalmaz esetén garantál egy felbontást/dekompozíciót éldiszjunkt körökre és utakra.

6.3.4. Tétel. Legyen egy élhalmaz -ben. A következők ekvivalensek:

(i) egy folyamot ír le.

(ii) Minden nem nyelő és nem forrás csúcsra ugyanannyi -él fut be, mint ahány kifut.

(iii) felírható alakban, ahol a halmazok egy-egy forrás-nyelő irányított út élhalmazai, a halmazok egy-egy nyelő-forrás irányított út élhalmazai, a halmazok egy-egy irányított kör élhalmazai.

(A jelölésben ott van az a feltétel, hogy az unió tagjai DISZJUNKT élhalmazok.) Továbbá és útrendszerek közül csak egy lehet nem üres.

A tétel a korábbi ötletek segítségével egyszerűen bizonyítható. Sőt egy algoritmus is adható a felbontás megtalálására.

6.3.5. Algoritmus. Mohó algoritmus egy -folyam-élhalmaz dekompozíciójára. // -befokok és -kifokok különbségeit ismerjük.

Kör keresés: Amíg Ha találunk, vegyük ki egy irányított kör élhalmazát -ből. // A megtalált egy lehetőség egy összetevőre. // Mohó módon az output részévé tesszük. -et helyettesítsük -vel és térjünk vissza kör keresésre.

// A körkeresésből kilépve az aktuális //irányított körmentes,

Út keresés: Vegyük ki egy irányított forrás-nyelő vagy nyelő-forrás út élhalmazát. // A megtalált egy lehetőség egy összetevőre. // Mohó módon az output részévé tesszük. // Ha utat találunk a körmentesség miatt nem // lehet út és fordítva is. -et helyettesítsük -vel és térjünk vissza az út keresésre.

Az észrevételt egy kissé finomítjuk: Ha a fenti dekompozícióban darab -út szerepel, akkor a folyam értéke . Ha darab -út szerepel, akkor a megfelelő folyam értéke . Speciálisan, ha folyam értéke (az ilyeneket cirkulációnak nevezik), akkor élhalmaza diszjunkt irányított körök uniója.

Külön megfogalmazzuk a számunkra fontos következményt.

Definíció. Egy -folyam-élhalmaz egyszerű, ha körmentes és éldiszjunkt utak vagy utak uniója.

6.3.6. Tétel. Legyen egy hálózat, amely kapacitásfüggvénye az azonosan függvény. Ekkor van olyan optimális folyam (értéke szükségszerűen nem negatív), amely élhalmaza egyszerű. értéke (a hálózatbeli maximális folyamérték) , a dekompozícióban szereplő -utak száma.

4. Következmények

6.4.1. Tétel (Menger-tétele). egy irányított gráf két ( ) kitüntetett csúccsal. Ekkor

(30)

Folyamok

Megjegyzés. A tételt a következő ''mesével'' világíthatjuk meg: Tegyük fel, lakótelep, belváros, a rendőrök tudják, hogy bünözők a lakótelepről a belvárosba tartanak. Utak lezárásával szeretnék ellenőrizni a belvárosba bemenő forgalmat (amely a kresz betartásával történik, azaz az útszakaszok irányítása szerint halad mindenki).

A bizonyítandó állítás bal oldala a bünözők független terveinek maximális száma, míg a jobb oldal a rendőrök számára lezárandó útszakaszok minimális száma.

Bizonyítás. : Egyszerű. A fenti mesén alapuló konkrét példa jól megvilágítja az állítást. Tegyük fel, hogy a bal oldal értéke . Azaz a bünözők éldiszjunkt tervvel állhatnak elő. Minden útlezárás legfeljebb egy tervet akadályozhat meg (itt használjuk a tervek függetlenségét/éldiszjunktságát). Azaz a rendőrök számára legalább

út lezárása szükséges.

: A feladat gráfjában minden él kapacitása legyen . Az így kapott hálózatban az optimális folyamok közt lesz egy, amely egy egyszerű élhalmazzal azonosítható. Ha értéke , akkor éldiszjunkt útra szétszedhető. Ez megfordítva is igaz. éldiszjunkt útból összerakható egy értékű folyam. Azaz

A Menger-tételben szereplő élhalmazokat nevezzük szeparáló élhalmazoknak (elhagyásuk után nem lesz út -ben). Minden -vágás élei egy szeparáló halmazt adnak. Fordítva is igaz: Bármely szeparáló élhalmaznak van olyan részhalmaza ami egy vágás élhalmaza: Például a

vágás élei egy részhalmazát adják. Azaz a minimális szeparáló halmazt megkapjuk, ha vesszük azt az -vágást, amely élei a legkevesebben vannak. Másrészt

Összegezve

Az MFMC-tétel következménye a Menger-tétel.

A tételben az alapgráf irányítottsága nem lényeges.

6.4.2. Következmény (Menger tétele (irányítatlan gráfban élfüggetlen utakra vonatkozó változat)). Legyen egy irányítatlan gráf, és két pont a gráfban. Ekkor

Csak vázoljuk ennek egy lehetséges igazolását: Legyen az a gráf, amelyet -ből úgy kapunk, hogy minden élét helyettesítjük két éllel: egy és egy éllel (azaz az él oda-vissza irányított két példányával).

Írjuk fel az MFMC-tételt.

A maximális folyamérték kombinatorikus leírásánal kell egy kissé óvatosnak lennünk. Vegyünk egy optimális folyamot és az ezt leíró élhalmazt. Ez egyszerűvé tehető egy mohó algoritmussal. Ezt úgy alkalmazzuk, hogy az oda-vissza menő élpárokat (kettő hosszú irányított köröket) dobjuk el -ből. Ha ezek elfogytak, akkor fejezzük be az egyszerűvé tételt. Legyen a kapott élhalmaz. (ebben minden eredeti élnek maximum egy példánya szerepel). éldiszjunkt -utak élhalmazainak uniója. Ezek - ben megfelelnek -utak élhalmazainak. Ezek előzetes előkészületeink miatt éldiszjunkt utak lesznek -ben. (Az előkészületek nélkül ezt nem tudnánk.) Azaz a maximális folyamérték éppen a bizonyítandó egyenlőség bal oldala.

A további része a bizonyításnak teljesen analóg az irányított esettel.

Ábra

A 3. ábra a főtétel bizonyításához tartalmazza.

Hivatkozások

KAPCSOLÓDÓ DOKUMENTUMOK

Mindenki bővíthetné a gondok listáját, vagy vitathatná a felsoroltak helyességét, de az nem vonható kétségbe, hogy változás kell a közoktatás, az iskola belső életében

tosítani kell a tanulókban, hogy az ember környezetei (természeti, társadalmi, tech­.. nikai) egymással szoros kapcsolatban vannak, a hozzájuk való

A 12 pedagógus közül 5 szerint ilyen jellegű vita még nem alakult ki közte és az osztály között, 7 viszont arról számolt be, hogy voltak viták az osztályozással

Melyiknek nagyobb az esélye: hogy a gráf fagráf, vagy hogy legfeljebb két éle van. Megoldás: 6 lehetséges él, 2^6 = 64 lehetséges gráf (ez

A regénybeli fiú esetében szintén az önirónia teljes hiányát közvetíti szöveg, a nem-identikus szerepjátszás (Krisztina hallgatása) a másik nevetségessé tevését

Azt kellett volna felelnem; nem tudom, mint ahogy nem voltam abban sem biztos, hogy akár csak a fele is igaz annak, amit Agád elmondott.. Az tény azonban, hogy a térkép, az újság,

Aligha véletlen, hogy a 80 esztendős komponista, aki a világhír teljében, fantasztikus megbecsüléstől övezve, bármilyen személyi és technikai feltételt szabhatott az

Melyiknek nagyobb az esélye: hogy a gráf fagráf, vagy hogy legfeljebb két éle van. Megoldás: 6 lehetséges él, 2^6 = 64 lehetséges gráf (ez