If you can't read please download the document
Upload
bambi
View
56
Download
2
Embed Size (px)
DESCRIPTION
Úlohy teorie grafů. RNDr. Jiří Dvořák, CSc. dvorak @uai.fme.vutbr.cz. Orientovaný graf. G = ( V , E ) V … množina uzlů (vrcholů) E … množina hran, E V 2 = V V. Neorientovaný a smíšený graf. G = ( V , E ) Neorientovaný graf : - PowerPoint PPT Presentation
Citation preview
lohy teorie grafRNDr. Ji Dvok, CSc.
Teorie systm a operan analza
Orientovan grafG = (V, E)V mnoina uzl (vrchol)E mnoina hran, E V 2 = V V
TSOA: lohy teorie graf
Neorientovan a smen grafG = (V, E) Neorientovan graf:mnoina vech dvouprvkovch podmnoin mnoiny VSmen graf:Pevod na orientovan graf:Kadou neorientovanou hranu nahradme dvojic opan orientovanch hran.
TSOA: lohy teorie graf
Sled a cestaOrientovan sled je posloupnost uzl propojench hranami se stejnou orientac. Tedy posloupnost {i1 , i2 , , ik }, kde ij V, tvo orientovan sled, jestlie (ij , ij+1) E pro vechna j = 1, , k 1.Sled je posloupnost uzl propojen hranami bez ohledu na jejich orientaci.Tah je sled, ve kterm se neopakuje dn hrana. Cesta je sled, ve kterm se neopakuje dn uzel.Orientovan tah (orientovan cesta) je tah (cesta), kde vechny hrany maj shodnou orientaci.Graf se nazv souvisl, jestlie mezi kadmi jeho dvma uzly existuje sled. Orientovan graf se nazv siln souvisl, jestlie z kadho uzlu existuj orientovan sledy do vech ostatnch uzl.
TSOA: lohy teorie graf
Krunice a stromKrunice je souvisl neorientovan graf, jeho kad uzel inciduje prv se dvma hranami.Strom je souvisl neorientovan graf, kter neobsahuje dnou krunici.
TSOA: lohy teorie graf
Cyklus a acyklick grafCyklus je souvisl orientovan graf, jeho kad uzel m prv jednu vstupn a jednu vstupn hranu.Graf je acyklick prv tehdy, kdy lze jeho uzly oslovat tak, e pro kadou hranu (i, j) plat, e i < j (topologick oslovn).1234567Acyklick graf je souvisl orientovan graf, kter neobsahuje dn cyklus.
TSOA: lohy teorie graf
Algoritmus topologickho oslovn1.Polome G1 = G a k = 1.2.V grafu Gk najdeme uzel, kter nem dn vstupn hrany a pidlme mu slo k. Pokud takov uzel neexistuje, znamen to, e graf G nen acyklick a postup kon.3.Z grafu Gk vytvome graf Gk+1 tak, e z nj vypustme uzel s slem k a vechny hrany, kter z tohoto uzlu vystupuj.4.Je-li graf Gk+1 neprzdn, polome k = k+1 a vrtme se k bodu 2. V opanm ppad postup kon (vechny uzly se podailo topologicky oslovat a graf G je tedy acyklick).
TSOA: lohy teorie graf
Ohodnocen grafUzlov ohodnocen:a : V RPklady interpretace:doba, zisk, nklady, kapacita, spolehlivost,
Hranov ohodnocen:c : E RPklady interpretace:dlka, doba, zisk, nklady, kapacita, spolehlivost,
TSOA: lohy teorie graf
Tok v sti od zdroje ke spotebiiMjme orientovan graf G = (V, E), uzly z, s V, z s a nezporn hranov ohodnocen c, piem z je zdroj, s je spotebi a c(i, j) = cij je kapacita hrany (i, j).Tok od zdroje ke spotebii je libovoln hranov ohodnocen x splujc podmnky:0 x(i, j) c(i, j) pro v. (i, j) E,
Velikost toku =
TSOA: lohy teorie graf
loha nalezen maximlnho toku od zdroje ke spotebiiMaximalizovat
za podmnek
Speciln metoda een: Ford - Fulkersonv algoritmus
TSOA: lohy teorie graf
ez v stiMjme orientovan graf G = (V, E), uzly z, s V, z s, piem z je zdroj a s je spotebi. Nech Vs a Vz jsou mnoiny uzl takov, e z Vz , s Vs , Vz Vs = , Vz Vs = V.ezem v sti nazveme mnoinu hran
Kapacita ezu je rovna soutu kapacit jeho hran:
Ford - Fulkersonova vta: Maximln tok od zdroje ke spotebii se rovn kapacit minimlnho ezu, tj.
TSOA: lohy teorie graf
Ford - Fulkersonv algoritmusAlgoritmus vychz z njakho ppustnho toku x. I. Hledn cesty ze zdroje do spotebie.Hledme neorientovanou cestu ze zdroje do spotebie, na n by bylo mono zvtit tok, a pitom provdme oznaovn uzl. Je-li mono tok na hran (i, j) resp. na hran (j, i) zvtit resp. zmenit o hodnotu j , ozname uzel j dvojic (+i , j ) resp. (i , j ) . Jestlie se poda ve uvedenou cestu najt, pokraujeme etapou II. V opanm ppad je aktuln tok maximln a postup kon. II. Zvten toku.Na cest nalezen v pedchoz etap provedeme zvten toku a vracme se na etapu I.
TSOA: lohy teorie graf
I. Hledn cestyNa potku jsou vechny uzly neoznaeny.1.Uzel z ozname dvojic (+z, ) a povaujeme jej za oteven.2.Vybereme libovoln oteven oznaen uzel i, uzaveme jej a provedeme nsledujc operace:Kad neoznaen uzel j, kter je bezprostednm nslednkem uzlu i a pro nj je xij < cij , oteveme a ozname jej dvojic (+i , j ), kde j = min {i , cij xij}.Kad neoznaen uzel j, kter je bezprostednm pedchdcem uzlu i a pro nj je xji > 0, oteveme a ozname jej dvojic (i , j ), kde j = min {i , xji}.3.Opakujeme krok 2 a do oznaen uzlu s (pak pechzme na krok 4) nebo do vyerpn vech oznaench otevench uzl (pak je tok x maximln, piem mnoiny oznaench a neoznaench uzl uruj odpovdajc minimln ez).
TSOA: lohy teorie graf
II. Zvten toku4.Polome j = s, = s .5.Je-li uzel j oznaen dvojic (+i , j ), pak zvtme tok hranou (i, j) o hodnotu .Je-li uzel j oznaen dvojic (i , j ), pak zmenme tok hranou (j, i) o hodnotu .6.Je-li i z, polome j = i a vracme se na krok 5. V opanm ppad je zvten toku ukoneno. Zrume oznaen vech uzl a vracme se na krok 1.
TSOA: lohy teorie graf
Dlka cesty a vzdlenost v orientovanm hranov ohodnocenm grafuDlka cesty je dna soutem dlek hran, tvocch cestu.(Orientovan) vzdlenost z uzlu i do uzlu j:d(i, j) =dlka nejkrat (orientovan) cesty z uzlu i do uzlu j.Jestlie neexistuje (orientovan) cesta z uzlu i do uzlu j, klademe d(i, j) = .Pozn.:V dalm textu budeme pod pojmy vzdlenost a cesta chpat orientovanou vzdlenost a orientovanou cestu.
TSOA: lohy teorie graf
loha nalezen nejkrat cesty Minimalizovat
za podmnekkde cij je dlka hrany (i, j). Optimln een (pokud existuje) obsahuje hodnoty xij = 1, jestlie hrana (i, j) le na nejkrat cest, a xij = 0 v opanm ppad.
TSOA: lohy teorie graf
Vlastnosti vzdlenosti v grafuJestlie graf neobsahuje cykly zporn dlky, pak:Pro vechny trojice uzl i, j, k plat trojhelnkov nerovnostd(i, j) d(i, k) + d(k, j)Pro kadou dvojici rznch vrchol i, j plat Bellmanovy rovnice
TSOA: lohy teorie graf
Speciln algoritmy pro hledn nejkratch cestPedpokldejme, e graf neobsahuje cykly zporn dlky. Pak je mono pout speciln algoritmy pro hledn nejkratch cest, kter jsou zaloeny na pedchzejcch vlastnostech vzdlenosti v grafu (tj. na trojhelnkov nerovnosti resp. na Bellmanovch rovnicch). Dle uvedeme algoritmy, kter jsou schopny najt nejkrat cesty (pokud existuj) z njakho uzlu s do vech ostatnch uzl grafu.Pedpokldejme, e uzly grafu jsou oslovny pirozenmi sly. Ozname symbolem ps(i) bezprostednho pedchdce uzlu i na nejkrat cest z uzlu s do uzlu i. daje ps(i) uruj nejkrat cesty z uzlu s do libovolnho uzlu grafu. Je-li ps(i) = 1, znamen to, e cesta z uzlu s do uzlu i neexistuje. Pro uzel s klademe ps(s) = 0.
TSOA: lohy teorie graf
Algoritmus pro libovoln ohodnocen hran1.Polo d(s, s) = 0, ps(s) = 0 a pro kad uzel i s polo d(s, i) = , ps(i) = 1.2.Prochzej hrany grafu v libovolnm poad. Jestlie pro hranu (i, j) E je d(s, j) > d(s, i) + c(i, j),pak polod(s, j) = d(s, i) + c(i, j), ps(j) = i.3.Jestlie pro vechny hrany (i, j) E ji plat, ed(s, j) d(s, i) + c(i, j),pak postup kon.
TSOA: lohy teorie graf
Algoritmus pro nezporn ohodnocen hranOzname symbolem D mnoinu uzl, o nich vme, e hodnota d(s, k) je ji definitivn.1.Polo d(s, s) = 0, ps(s) = 0 a pro kad uzel i s polo d(s, i) = , ps(i) = 1. Dle polo D = {s}, k = s.2.Prozkoumej vechny hrany (k, j) E, pro n j D. Jestlied(s, j) > d(s, k) + c(k, j), pak polo d(s, j) = d(s, k) + c(k, j), ps(j) = k.3.Je-li D = V, pak konec (byly nalezeny cesty do vech vrchol). V opanm ppad najdi uzel k D takov, e d(s, k) = min {d(s, j) | j D}. 4.Je-li d(s, k) = , pak konec (dn dal vrchol ji nen dostupn z vrcholu s). V opanm ppad zaa vrchol k do mnoiny D a pokrauj krokem 2.
TSOA: lohy teorie graf
Algoritmus pro acyklick grafPedpokldme, e uzly jsou oslovny topologicky sly od 1 do n. 1.Polo d(s, s) = 0, ps(s) = 0 a pro kad uzel i s polo d(s, i) = , ps(i) = 1.2.Pro j = s+1, , n prove :2.1Jestlie uzel j m njak bezprostedn pedchdce, pak polo
2.2Jestlie d(s, j) < , pak polo ps(j) = i*, kde i* je takov, e d(s, j) = d(s, i*) + c(i*, j).
TSOA: lohy teorie graf