Körmentes irányított gráfban legrövidebb utak

Slides:



Advertisements
Hasonló előadás
Páros gráfok párosítása Készítették: Juhász László Szabó Tibor Szalóki Gábor Tábori Zsolt Ber Ferenc.
Advertisements

DINAMIKUS PROGRAMOZÁS Szabó Zoltán, Kátai Zoltán V. Kiss Elemér programozói tábor Hargita, március
KIÜRÍTÉS. ÁLTALÁNOS ELŐÍRÁSOK A kiürítésre számításba vett útvonalon körforgó, toló, billenő és emelkedő zsalus rendszerű, valamint csak fotocella elven.
TÖMÖRÍTÉS. Fogalma A tömörítés egy olyan eljárás, amelynek segítségével egy fájlból egy kisebb fájl állítható elő. A tömörítési arány függ a fájl típusától,
2011. évi zárás Készítette: Juhász Ágnes. 1. Zárást megelőző feladatok  Leltározás  Folyószámla egyeztetés (kapcsolt vállalkozásoktól egyenlegkérés)
Mindent a „Vállalkozások komplex infokommunikációs és mobilfejlesztéseinek támogatása” című pályázati kiírásról.
MINTAKÉRDÉSEK. A pénzügyi számvitel információs rendszere elsősorban a gazdálkodó szervezetek vezetőinek információs igényeit elégíti ki. A beszámoló.
Kockázat és megbízhatóság
Számítógépes szimuláció
vizuális megismerés – vizuális „nyelv” vizuális kultúra
Valószínűségi kísérletek
2. előadás Viszonyszámok
Becslés gyakorlat november 3.
Scilab programozás alapjai
Adatok importálása, rendezése és szűrése
Kockázat és megbízhatóság
PHP - függvények.
Az integrált áramkörök (IC-k) típusai és tervezése
Kockázat és megbízhatóság
Mesterséges intelligencia
Algoritmusok és Adatszerkezetek I.
Nagyméretű kópiaszám változás (CNV) detekciója teljes genom asszociációs vizsgálatokban Az ábrán egy kromoszómán (alsó sáv) mért intenzitások aránya (B.
Útravaló ösztöndíjprogram Andrássy Gyula Gimnázium és Kollégium
Algoritmusok és Adatszerkezetek I.
 : a forgásszög az x tengelytől pozitív forgásirányában felmért szög
Algoritmusok és Adatszerkezetek I.
Struktúra predikció ápr. 6.
A legnagyobb közös osztó
Rangsorolás tanulása ápr. 13..
Kockázat és megbízhatóság
Hullámdigitális jelfeldolgozás alapok 5 Híd struktúrájú szűrők
Számításelmélet 1.
Bevezetés Az ivóvizek minősége törvényileg szabályozott
A PDCA elv alkalmazása az információvédelmi irányítási rendszerekben 1
2. Bevezetés A programozásba
☺ Programozási környezetek Validátorok Fazekas Judit PTI 2010.
INFOÉRA Szimuláció Juhász István-Zsakó László: Informatikai képzések a ELTE-n.
Kvantitatív módszerek
A márkázás Marketing gyakorlat 6..
Standardizálás.
Algoritmusok és Adatszerkezetek I.
Algoritmusok és Adatszerkezetek I.
Az én házi feladatom volt:
Algoritmusok és Adatszerkezetek I.
Algoritmusok és Adatszerkezetek I.
STRUKTURÁLT SERVEZETEK: funkció, teljesítmény és megbízhatóság
Tilk Bence Konzulens: Dr. Horváth Gábor
Kátai Zoltán ELTE, május
AVL fák.
Aritmetikai kifejezések lengyelformára hozása
Környezeti Kontrolling
Új pályainformációs eszközök - filmek
Minimális feszítőfák Definíció: Egy irányítatlan gráf feszítőfája a gráfnak az a részgráfja, amely fagráf és tartalmazza a gráf összes cúcspontját. Definíció:
A csoportok tanulása, mint a szervezeti tanulás alapja
TÁRGYI ESZKÖZÖK ELSZÁMOLÁSA
Bináris kereső fák Definíció: A bináris kereső fa egy bináris fa,
Algoritmusok és Adatszerkezetek I.
Adatbázisok használata
Matematika 10.évf. 4.alkalom
A szállítási probléma.
Matematika 11.évf. 1-2.alkalom
Valós számok Def. Egy algebrai struktúra rendezett test, ha test és rendezett integritási tartomány. Def. Egy (T; +,  ;  ) rendezett test felső határ.
Műveletek, függvények és tulajdonságaik Mátrix struktúrák:
Tájékoztató az EPER pályázati folyamatáról
TITKOSÍTÓ ALGORITMUSOK
Bevezetés Tematika Számonkérés Irodalom
Vektorok © Vidra Gábor,
Mesterséges intelligencia
Algoritmusok.
A (bináris) kupac adatstruktúra
Előadás másolata:

Körmentes irányított gráfban legrövidebb utak KIG_LEGRÖVIDEBB_ÚT(G,w,s) A G csúcsainak topologikus rendezése EGY_FORRÁS_KEZDŐÉRTÉK(G,s) FOR  u csúcsra azok topologikus sorrendjében DO FOR  v Adj[u]-ra DO KÖZELIT(u,v,w) (V+E) 2019.05.08. 17:44:49 ADAT-11

Legrövidebb utak minden csúcspárra Szomszédsági w mátrixot alkalmazunk a gráf (hálózat) megadására wij = 0, ha i=j, wij =az irányított (i,j) él hossza, ha i j és (i,j) E wij = , ha i j és (i,j)  E Kimenet egy D=(dij) mátrix, amelyben a legrövidebb utak hossza szerepel Megelőzési mátrix =(ij), amelyben az (i,j) elem NIL, ha i=j, vagy nem vezet út i és j között, egyébként pedig a j-t megelőző csúcs valamely az i-ből j-be vezető legrövidebb úton. Megelőzési részgráf Legrövidebb utak fája 2019.05.08. 17:44:49 ADAT-11

Floyd-Warshall algoritmus FLOYD_WARSHALL(W) n  sorok_száma[W] D(0) W FOR k 1 TO n DO FOR i 1 TO n DO FOR j 1 TO n DO d(k)ij min(d(k-1)ij,d(k-1)ik+d(k-1)kj) RETURN(D(n)) (n3) (0)ij=NIL, ha i=j vagy wij=  (0)ij=i, ha i  j és wij< (k)ij= (k-1)ij, ha d(k-1)ij d(k-1)ik+d(k-1)kj (k)ij= (k-1)kj, ha d(k-1)ij >d(k-1)ik+d(k-1)kj 2019.05.08. 17:44:49 ADAT-11

Gráfok tranzitív lezártja Definíció: A G gráf tranzitív lezártja az a G*=(V,E*) gráf, melyre E* ={(i,j): létezik G-ben i-ből j-be út} TRANZITIV_LEZÁRT(G) n  V[G] FOR i  1 TO n DO FOR j  1 TO n DO IF i=j vagy (i,j) E[G] THEN t(0)ij 1 ELSE t(0)ij 0 FOR k 1 TO n DO FOR i 1 TO n DO FOR j 1 TO n DO t(k)ij t(k-1)ij (t(k-1)ik  t(k-1)kj) RETURN(T(n)) (n3) 2019.05.08. 17:44:49 ADAT-11

Dinamikus programozás Oszd meg és uralkodj Dinamikus programozás Független részproblémákat oldunk meg A részproblémák nem függetlenek (közösek), egyszer oldódnak meg, újabb felhasználásig tárolódnak. A megoldásokat egyesítjük Általában optimalizálásra használjuk, amikor sok megengedett megoldás van A dinamikus programozás lépései Jellemezzük az optimális megoldás szerkezetét Rekurzív módon definiáljuk az optimális megoldás értékét Kiszámítjuk az optimális megoldás értékét alulról felfelé módon A kiszámított információk alapján megszerkesztjük az optimális megoldást 2019.05.08. 17:44:49 ADAT-11

Példa: Mátrixok véges sorozatainak szorzása Definíció: Mátrixok szorzatát teljesen zárójelezettnek nevezzük, ha a szorzat vagy egyetlen mátrixból áll, vagy pedig két, zárójelbe tett teljesen zárójelezett mátrix szorzata Legyenek az A,B, C mátrixok méretei 2x3, 3x4, és 4x5 Számítsuk ki a D=ABC mátrixot. D mérete 2x5 Műveletszám (szorzások száma) két mátrix összeszorzásakor: pqr, ha a méretek pxq és qxr Első módszer: ((AB)C), műveletszám 2x3x4+2x4x5=24+40=64 Második módszer: (A(BC)), műveletszám 3x4x5+2x3x5=60+30=90 2019.05.08. 17:44:49 ADAT-11

Mátrixok véges sorozatainak szorzása (2) Legyenek az összeszorzandó mátrixok: A1,A2,  ,An Legyen az Ai mátrix mérete pi-1xpi i=1,  ,n Legyen P(n) az n mátrix zárójelezéseinek a száma. P(1)=1 P(2)=P(1)*P(1)=1 P(3)=P(1)*P(2)+P(2)*P(1)=1*1+1*1=2 P(4)=P(1)*P(3)+P(2)*P(2)+P(3)*P(1)=1*2+1*1+2*1=5  P(n)=Cn-1, ahol Cn=(2n alatt n)/(n+1) (Catalan számok, exponenciális a növekedésük) 2019.05.08. 17:44:49 ADAT-11

Mátrixok véges sorozatainak szorzása (3) Az optimális zárójelezés szerkezete Legyen Ai…j=AiAi+1…Aj Az optimális eset az A1,A2,  ,An szorzatot k-nál vágja szét A1…n=A1…k*Ak+1…n Költség= A1..k költsége + Ak+1…n költsége + az összeszorzás költsége A1..k és Ak+1…n zárójelezése is optimális kell legyen. 2019.05.08. 17:44:49 ADAT-11

Mátrixok véges sorozatainak szorzása (4) Legyen mij az Ai..j kiszámításának minimális költsége Legyen sij az a k index, ahol az Ai..j szorzat ketté van vágva 2019.05.08. 17:44:49 ADAT-11

Mátrixok véges sorozatainak szorzása (5) p=(p0,p1,…,pn) O(n3) MÁTRIX_SZORZÁS_SORREND(p) n  hossz[p]-1 FOR i 1 TO n DO mii 0 FOR l 2 TO n DO FOR i 1 TO n-l+1 DO j i+l-1 mij   FOR k  i TO j-1 DO q mik+mk+1,j+pi-1pkpj IF q <mij THEN mij q sij k RETURN (m,s) 2019.05.08. 17:44:49 ADAT-11

Mátrixok véges sorozatainak szorzása (6) A1 * A2 * A3 * A4 (2x3) (3x4) (4x5) (5x6) m 1 2 3 4 5 6 24 64 124 60 150 120 (1,2) 0+0+2*3*4 24 (2,3) 0+0+3*4*5 60 (3,4) 0+0+4*5*6 120 (1,3) 0+60+2*3*5 90 24+0+2*4*5 64 (2,4) 0+120+3*4*6 192 60+0+3*5*6 150 (1,4) 0+150+2*3*6 186 24+120+2*4*6 64+0+2*5*6 124 s 1 2 3 4 ((A1 * A2) * A3) * A4 2019.05.08. 17:44:49 ADAT-11

Mátrixok véges sorozatainak szorzása (7) MÁTRIX_LÁNC_SZORZÁS(A,s,i,j) IF j>i THEN X MÁTRIX_LÁNC_SZORZÁS(A,s,i,sij) Y MÁTRIX_LÁNC_SZORZÁS(A,s,sij+1,j) RETURN ( MÁTRIXSZORZÁS(X,Y) ) ELSE RETURN(Ai) 2019.05.08. 17:44:49 ADAT-11