• Nem Talált Eredményt

A számítástudomány alapjai

N/A
N/A
Protected

Academic year: 2022

Ossza meg "A számítástudomány alapjai"

Copied!
6
0
0

Teljes szövegt

(1)

A számítástudomány alapjai

Katona Gyula Y.

Számítástudományi és Információelméleti Tanszék Budapesti M ˝uszaki és Gazdaságtudományi Egyetem

Legszélesebb utak

Katona Gyula Y. (BME SZIT) A számítástudomány alapjai Legszélesebb utak 1 / 11

Legszélesebb utak

Definíció

Jelöljük gráf e élének szélességét w(e)-vel. Legyen a gráf egy P útjának szélessége az úton található legkisebb szélesség ˝u él szélessége, azaz w(P) = mine∈P{w(e)}.

Feladat

Keressük meg egy gráf s pontjából a többi pontjába a legszélesebb utakat.

Keressük meg egy gráf bármely két pontja között a legszélesebb utakat.

Például egy számítógép hálózatban keressük a legnagyobb sávszélesség ˝u összeköttetést.

(2)

Legszélesebb utak keresése irányítatlan gráfban

Módosítsuk a Kruskal algoritmust: Minden lépésben a legszélesebb olyan élet választjuk, ami még nem alkot kört a már korábban

kiválasztottakkal.

Tétel

Egy összefügg ˝o gráfban az így kapott feszít ˝ofa a gráf bármely két pontja között egy legszélesebb utat határoz meg.

Bizonyítás.

Jelöljük F -el az algoritmus által adott fát.Indirekt tegyük fel, hogy

valamely s,t pontokra van olyan P-vel jelölt s−t út, amelyik szélesebb az F -beli s − t útnál.Legyen e az F -beli s− t út egy minimális

szélesség ˝u éle.Mivel P szélesebb w(e)-nél, ezért P minden éle is szélesebb w(e)-nél.

Katona Gyula Y. (BME SZIT) A számítástudomány alapjai Legszélesebb utak 3 / 11

Legszélesebb utak keresése irányítatlan gráfban

Bizonyítás.

Ha F-b ˝ol elhagyjuk e-t, két komponensre esik, s az egyik, t a másik komponensbe esik. A P útnak van olyan e0 éle, ami F − e két

komponense között megy. Ekkor w(e0) > w(e).

Amikor az algoritmus az e élet bevette a fa élei közé, akkor e0-t kellett volna választania, hiszen az sem alkothatott kört az F korábban

kiválasztott éleivel, de nagyobb a szélessége.

Megjegyzés

Az így konstruált fa egyébként egy maximális össz-szélesség ˝u (=max.

súlyú) feszít ˝ofa is egyben.

(3)

Legszélesebb utak keresése irányított gráfban

Módosítsuk a Dijkstra algoritmust:

Minden pontra nyilvántartjuk az addig megtalált legszélesebb út szélességét: w(v)

Kezdetben: w(s) = ∞ és minden v 6= s-re w(v) = 0.

Javítás az e = (a,b) élen: Ha min(w(a),w(e)) > w(b), akkor legyen w(b) = min(w(a),w(e)).

u0 kiválasztása: Válasszuk a T-b ˝ol azt az u0 pontot, amire w(u0) maximális.

Katona Gyula Y. (BME SZIT) A számítástudomány alapjai Legszélesebb utak 5 / 11

Legszélesebb utak keresése irányított gráfban

Állítás

Az így kiválasztott u0-ra w(u0) a legszélesebb út szélessége lesz.

Bizonyítás.

A bizonyítás ugyanúgy m ˝uködik, mint a Dijkstra algoritmus

bizonyítása. Ehhez elég, hogy az út szélesség definíciója rendelkezik a következ ˝o 2 tulajdonsággal:

Egy út egyik részútja sem lehet kevésbé széles az egész út szélességénél.

Ha az út egy részét (pl. az elejét) keskenyebbre cseréljük, akkor az egész út szélessége nem növekedhet.

(4)

Legszélesebb legrövidebb utak

Feladat

Keressük a legrövidebb utat, de ha több legrövidebb is van, akkor azok közül a legszélesebbet.

Módosítsuk a Dijkstra algoritmust:

Minden pontra nyilvántartunk egy rendezett párt: (d(v),w(v)), ahol d(v) az eddig megtalált legrövidebb út hossza, w(v) pedig az ilyen rövidek közül az eddig megtalált legszélesebb út szélessége.

Kezdetben: (d(s),w(s)) = (0,∞) és minden v 6= s-re (d(v),w(v)) = (∞,0).

Katona Gyula Y. (BME SZIT) A számítástudomány alapjai Legszélesebb utak 7 / 11

Legszélesebb legrövidebb utak

Javítás az e = (a,b) élen: Ha d(a) +d(e) < d(b), akkor d(b) = d(a) +d(e),w(b) = min(w(a),w(e)).

Ha d(a) +d(e) = d(b), akkor d(b) nem változik, de ha w(b) < min(w(a),w(e)), akkor w(b) = min(w(a),w(e)).

Más esetben nincs változás.

u0 kiválasztása: Válasszuk a T-b ˝ol azt az u0 pontot, amire (d(u0),w(u0)) lexikografikus értelemben minimális, azaz

els ˝osorban a d értékek nagysága dönt (a kisebbet választjuk), ha azok egyenl ˝oek, akkor a w érték dönt (a nagyobbat választjuk).

(5)

Legrövidebb legszélesebb utak

Feladat

Keressük a legszélesebb utat két adott pont között, de ha több legszélesebb is van, akkor azok közül a legrövidebbet.

Sajnos itt nem m ˝uködik a Dijkstra algoritmus módosítása.

Ugyanis egy részút lehet lehet szélesebb, mint az egész út, viszont ezen részúton az egész út szélességének megfelel ˝oek közül kellene a legrövidebbet nyilvántartani, nem a részút szélességének megfelel ˝oek közül.

Katona Gyula Y. (BME SZIT) A számítástudomány alapjai Legszélesebb utak 9 / 11

Legrövidebb legszélesebb utak

Algoritmus

Valamely adott w élszélesség esetén a w-nél keskenyebb éleket elhagyva, BFS-el eldönthetjük, hogy a maradék gráfban van-e út a két pont között.

Bináris kereséssel meghatározzuk, hogy mi az a legnagyobb

szélesség, amikor még van ilyen út, ez megadja a legszélesebb út szélességét.

Ebben a gráfban (a keskenyebb élek elhagyása után), Dijkstra algoritmusával megkeressük a legrövidebb ilyen szélesség ˝u utat.

Ez az algoritmus lassabb, mint a Dijkstra algoritmusa és csak két adott pont között keresi meg az utat.

(6)

Legrövidebb legszélesebb utak

Egy gyakran el ˝oforduló speciális eset, amikor az élek hossza

egységesen 1, azaz a legszélesebb utak közül a legkevesebb élb ˝ol állót keressük.

Ilyenkor használhatjuk a Dikstra-ához hasonlóan módosított Ford algoritmust az élszélességekkel. Ez a k-adik körben meghatározza a legfeljebb k élb ˝ol álló utak közül a legszélesebbet, amib ˝ol már

könnyen megkapható az eredmény.

Katona Gyula Y. (BME SZIT) A számítástudomány alapjai Legszélesebb utak 11 / 11

Hivatkozások

KAPCSOLÓDÓ DOKUMENTUMOK

Deák egyfelől leszögezte azon tételt, miszerint csak az 1848-as törvények teljes visszaállítását követően kerülhet sor azok módosítására, valamint hozzátette, hogy ezen

Bloom ez- zel nem egyszerűen azt állítja, hogy maga az irodalom, a művészet, az irodalmi szövegek és ezeknek a szövegeknek a megalkotói tartják életben az irodalmi

szellemi Dávidjai megszületnek, aztán legyőzik őket a magyar Góliátok, a magyar embert. isten szétszórta a világ

Úszik a sok-sok szemét lefelé az ut- cán, le-le a Kiserdő felé, ahol mint gyerek, rémülten, de tele izgalommal lapultam a sűrű bokrokban, várva, áhítva a pillanatot, hogy

A gyerek zsíros kenyerét nem szokták bepakolni a Biblia lapjaiba, a menyasszony nem szokott maszturbálni az esküvői szertartás alatt, a műtőorvos nem szokott beleflegmázni

A kiállított munkák elsősorban volt tanítványai alkotásai: „… a tanítás gyakorlatát pe- dig kiragadott példákkal világítom meg: volt tanítványaim „válaszait”

Nagy József, Józsa Krisztián, Vidákovich Tibor és Fazekasné Fenyvesi Margit (2004): Az elemi alapkész- ségek fejlődése 4–8 éves életkorban. Mozaik

A kötet második egysége, Virtuális oktatás címmel a VE környezetek oktatási felhasználhatóságával kapcso- latos lehetőségeket és problémákat boncolgatja, azon belül is a