Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

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

Hasonló előadás


Az előadások a következő témára: "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ó:"— Előadás másolata:

1 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 fa súlya a w(T) = w(u,v) számérték (u,v) T Definíció: Minimális feszítőfáról beszélünk, ha w(T) értéke minimális az összes T feszítőfára nézve. A minimális feszítőfa nem feltétlenül egyértelmű. Legyen A egy minimális feszítőfa egy része. A-ra nézve biztonságos egy él, ha A-hoz hozzávéve A továbbra is valamely minimális feszítőfa része marad. MFF(G,w) A   WHILE A nem feszítőfa DO keresünk egy biztonságos (u,v) élt az A-ra nézve A A {(u,v)} RETURN (A) :16:18 ADAT-10

2 Minimális feszítőfák Definíció: Egy irányítatlan G=(V,E) gráf vágása a V kettéosztása egy S és egy V\S halmazra Definíció: Az (u,v) él keresztezi az (S,V\S) vágást, ha annak egyik végpontja S-ben, másik végpontja V\S-ben található. Definíció: Egy vágás kikerüli az A halmazt, ha az A egyetlen éle sem keresztezi a vágást. Definíció: Egy él könnyű egy vágásban, ha a vágást keresztező élek közül neki van a legkisebb súlya. Tétel: Legyen G=(V,E) egy összefüggő, irányítatlan gráf w:E  R súlyfüggvénnyel.. Legyen A egy olyan részhalmaza E-nek, amelyik G valamelyik minimális feszítőfájának is része. Legyen (S,V\S) tetszőleges A-t kikerülő vágása a G-nek. Legyen (u,v) könnyű él az (S,V\S) vágásban. Ekkor az (u,v) él biztonságos az A-ra nézve. Következmény: Legyen G=(V,E) egy összefüggő, irányítatlan gráf gráf w:E  R súlyfüggvénnyel..Legyen A egy olyan részhalmaza E-nek, amelyik G valamelyik minimális feszítőfájának is része. Legyen C egy összefüggő komponens a GA=(V,A) erdőben. Ha (u,v) a C-t és a GA valamely másik komponenesét összekötő könnyű él, akkor az (u,v) él biztonságos az A-ra nézve. :16:18 ADAT-10

3 Kruskal algoritmus MFF_KRUSKAL(G,w) A   FOR  v V[G]-re DO
HALMAZT_KÉSZÍT(v) Rendezzük E éleit a súly szerint növekvő sorrendben FOR  (u,v) E élre az élek súly szerint növekvő sorrendjében DO IF HALMAZT_KERES(u) HALMAZT_KERES(v) THEN A A {(u,v)} EGYESÍT(u,v) RETURN(A) O(E log E) :16:18 ADAT-10

4 Prim algoritmus MFF_PRIM(G,w,r) Q  V[G] FOR  v Q-ra DO kulcs[v]  
Kulcs[r] 0 [r] NIL WHILE Q   DO u KIVESZ_MIN(Q) FOR  v Adj[u]-ra DO IF v Q és w(u,v) kulcs[v] THEN [v] u kulcs[v] w(u,v) RETURN() O(E log V) :16:18 ADAT-10

5 Adott csúcsból induló legrövidebb utak
Adott egy élsúlyozott irányított G=(V,E) gráf w:E R súlyfüggvénnyel. (w lehet negatív is) Ne legyen a gráfban negatív összsúlyú kör. Legyen p=(v0,v1,…,vk) egy út. k Definíció: Egy p út súlya (hossza) a w(p)=  w(vi-1,vi) összeg. i=1 Definíció: Az u-ból v-be vezető legrövidebb út súlya (hossza) (u,v)=min w(p) u pv, ha vezet út u-ból v-be és  egyébként Kiindulunk az s csúcsból és keressük az összes csúcsba vezető legrövidebb utakat. Definíció: G=(V,E) szülő részgráf V ={v  V:[v]  NIL} {s} E={([v],v)  E: v V \{s}} Ez lesz a legrövidebb utak fája :16:18 ADAT-10

6 A fokozatos közelítés EGY_FORRÁS_KEZDŐÉRTÉK(G,s)
Minden v csúcsnál nyílvántartunk egy d[v] értéket, amely felső korlátja az s kezdőcsúcsból a v-be vezető legrövidebb út súlyának. EGY_FORRÁS_KEZDŐÉRTÉK(G,s) FOR  v V[G]-re DO d[v]   [v]  NIL d[s]  0 KÖZELÍT(u,v,w) IF d[v]>d[u]+w(u,v) THEN d[v] d[u]+w(u,v) [v]  u :16:18 ADAT-10

7 Dijkstra algoritmus Az élek súlya nem lehet negatív. DIJKSTRA(G,s)
EGY_FORRÁS_KEZDŐÉRTÉK(G,s) S   Q  V[G] WHILE Q   DO u KIVESZ_MIN(Q) S S {u} FOR  v Adj[u]-ra DO KÖZELÍT(u,v,w) O(V2) :16:18 ADAT-10

8 Bellman-Ford algoritmus
Az élek súlya lehet negatív, de ne legyen negatív súlyú kör. BELLMAN_FORD(G,w,s) EGY_FORRÁS_KEZDŐÉRTÉK(G,s) FOR i  1 TO V[G]-1 DO FOR  (u,v) E[G]-re DO KÖZELÍT(u,v,w) IF d[v]>d[u]+w(u,v) THEN RETURN(HAMIS) RETURN (IGAZ) O(VE) :16:18 ADAT-10

9 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) :16:18 ADAT-10


Letölteni ppt "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ó:"

Hasonló előadás


Google Hirdetések