Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
Készítette: Kosztyán Zsolt Tibor
Hálótervezés Készítette: Kosztyán Zsolt Tibor 2.
2
Módszerek lefutási ideje
P osztályúak NP osztályúak NP teljesek Lefutási idő: O(f(n))=g(n) n1>n, c>0 cf(n)>=g(n) n1<n
3
Alapvető gráfelméleti algoritmusok
BFS (Breath First Search) O(n2)
4
Alapvető gráfelméleti algoritmusok
DFS (Depth First Search) O(n2)
5
Minimális költségű feszítőfa keresése
Minimális költségű feszítőfa: Egy súlyozott gráf részgráfja minimális költségű feszítőfa (minimal spanning tree) ha: Feszítőfa (a gráf valamennyi csúcsát tartalmazza összefüggő körmentes) és a lehetséges feszítőfák közül minimális költségű.
6
Kruskál algoritmus O(n2), O(m+n·log(n))
7
Prim algoritmus O(n2), O(m+n·log(n))
8
Sollin algoritmus O(m.log(n))
9
Minimális költségű feszítőfák - esettanulmány
10
Legrövidebb út keresése – Dijkstra algoritmussal O(n2)
11
Legrövidebb út keresése - esettanulmány
12
Negatív összegű körök ERROR
13
Bellman – Ford algoritmus O(n3)
14
Izomorfia, automorfizmus
Egy G1=(N1,A1) gráf izomorf egy G2=(N2,A2) gráffal, ha létezik j:N1N2 , és f:A1A2 kölcsönösen egyértelmű függvény. Egy gráf önmagával vett izomorf leképzését automorfizmusnak nevezzük.
15
Topológikus rendezés Egy G=(N,A) irányított körmentes gráf topologikus rendezésén a csúcsainak egy olyan sorba rendezését értjük, melyre teljesül, hogy ha N1,N2N és (N1,N2)A akkor N1,N2 –t előzze meg a listában.
16
Topológikus rendezés – szintekre bontás
Első szintbe rendezzük azokat a csúcsokat, amelyeknek csak kimenő élük van. (források) Ezekből a csúcsokból kimenő éleket töröljük. Majd a következő szintbe rendezzük azokat a csúcsokat, amelyek a módosított gráfban források. 2. addig ismételjük, ameddig az összes csúcsot szintekbe nem soroltuk. Összekötjük a csúcsokat az eredeti gráfnak megfelelően.
17
Topológikus rendezés – szintekre bontás
18
Minimális út keresése – topologikus rendezéssel O(n+m)
19
Legrövidebb út számítása minden csúcspontból
Legrövidebb utat számoló algoritmusok alkalmazása minden pontra Legrövidebb utak számítása mátrixokkal Egyéb módszerek
20
Mátrixok használata legrövidebb utak számítására - fogalmak
Szomszédsági mátrix Legyen G egy irányított gráf, melynek n csúcsa van, akkor a G szomszédsági mátrixa, A , n x n -es mátrix a következő módon definiálható : Ai,j=1, ha i csúcsból él vezet j-be, különben Ai,j=0. Ha G irányítatlan gráf, akkor a szomszédsági mátrixa szimmetrikus! A=
21
Mátrixok használata legrövidebb utak számítására - fogalmak
Elérhetőségi mátrix Legyen A a G gráf szomszédsági mátrixa, akkor K = Ak, azaz A k-adik hatványaként kapott mátrix. Ki,j eleme, az i csúcsból a j csúcsba vezető k hosszúságú utak számát adja. Pl. k=2, k=3, k=4 hosszúságú utak: A2= A3= A4=
22
Mátrixok használata legrövidebb utak számítására - fogalmak
Elérhetőségi mátrix Definiáljunk egy Br mátrixot akkor ennek a mátrixnak az i,j eleme az i-ből j-be vezető r vagy ennél rövidebb utak számát adja. Ha i-ből létezik út j-be akkor ez maximum n hosszú vagy rövidebb út. Ebből következik, hogyha az útmátrixok valamelyikének 1<=k<=n esetén i,j -edik eleme nem zérus, azaz a mátrix i,j eleme nem zérus, akkor j elérhető i-ből. Ennek megfelelően definiálhatunk egy ún. elérhetőségi mátrixot: A G gráf útmátrix elérhetőségi mátrixa legyen egy P mátrix. Pi,j=1, ha i-ből létezik valamilyen út j-be, különben Pi,j=0
23
Mátrixok használata legrövidebb utak számítására - fogalmak
Elérhetőségi, szomszédsági mátrixok - példa
24
Floyd-Warshall algoritmus O(n3)
Legyen adva a következő gráf: Legyen 1~R, 2~S, 3~T és 4~U. Legyen W a gráf súlymátrixa. Írjunk a 0-ák helyébe -t és nevezzük ezt a mátrixot A-nak
25
Floyd-Warshall algoritmus O(n3)
Ennek megfelelő útmátrix: Vezessük be a következő mátrix műveletet: ahol a Ak k=1..n -ig számítandó, n a A mérete (n*n) , és A0=A. A kapott eredmény mátrix An a legrövidebb utakat adja!
26
Floyd-Warshall algoritmus O(n3)
Esetünkben n=4. Az első menetben k=1-re a kapott mátrix: A megfelelő útmátrix: ahol pl. URS = UR+RS ami megfelel a (4,1)+(1,2) útnak.
27
Floyd-Warshall algoritmus O(n3)
A k = 4 -re a végeredmény, a legrövidebb utak hossza és a megfelelő útmátrix a legrövidebb utakkal:
28
Szorgalmi feladatok Pásztor, a farkas, a kecske és a káposzta
A pásztor, a farkas, a kecske, és a káposzta a folyó egyik oldalán vannak. A pásztor feladata, hogy átvigye a társaságot a túlsó partra. Ehhez egy kétszemélyes csónak áll rendelkezésre, amelyben a pásztoron kívül még egy utas elfér, a kecske vagy a farkas, vagy a káposzta. (10p) Minimális költségű legrövidebb út keresése (5-15p p)
29
Szorgalmi feladatok Arbitrázs
Az arbitrázs a valuta árfolyamokban rejlő egyenetlenségnek olyan hasznosítását jelenti, amikor egy valuta egy egységét ugyanazon valuta egy egységnél nagyobb értékére váltjuk át. Pl. tfh. 1USD=0,7GDP, 1GDP=9,5DKK és 1DKK=0,16USD. Ekkor az a pénzváltó aki 1USD-t fektet be a valuta konverzió során 0,7x9,5x0,16 USD-t vásárol, ezzel 6,4% haszonra tesz szert.
30
Szorgalmi feladatok Arbitrázs
Tfh. Adott n különböző (c1,c2,..,cn) valutanem és a valutaárfolyamok egy n x n-es R táblázata, amely azt mutatja, hogy a ci valuta egy egységéért Ri,j egységnyi cj valuta vásárolható. Adjunk hatékony algoritmust, amely meghatározza, hogy létezik-e a valutanemeknek olyan (ci1,ci2,..,cik) sorozata, amelyre Ri1,i2xRi2,i3x..xRik-1,ikxRik,1>1. Elemezzük az algoritmus futási idejét. (30p)
31
2.
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.