1 / 31

Hálótervezés

Hálótervezés. Készítette: Kosztyán Zsolt Tibor kzst@almos.vein.hu kzst@vision.vein.hu http ://vision.vein.hu/~kzst/oktatas/halo/index.htm. 2. Módszerek lefutási ideje. P osztályúak NP osztályúak NP teljesek Lefutási idő: O (f(n))=g(n)  n 1 >n, c>0 cf(n)>=g(n) n 1 <n.

libba
Download Presentation

Hálótervezés

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Hálótervezés Készítette: Kosztyán Zsolt Tibor kzst@almos.vein.hu kzst@vision.vein.hu http://vision.vein.hu/~kzst/oktatas/halo/index.htm 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:N1N2 , ésf:A1A2 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,N2N é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 Gszomszé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 Brmá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 nhosszú 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átrixelé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 Amérete (n*n) , ésA0=A. A kapott eredmény mátrix Ana 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 + 5-15p)

  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.

More Related