Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaLili Kozmané Megváltozta több, mint 9 éve
1
Projektmenedzsment gráf általában súlyozott irányított
összefüggő (de ritkán erősen összefüggő) nincs izolált csomópontja egy forrás, egy nyelő általában körmentes (aciklikus) nincsenek többszörös élek ►egyszerű
2
Gráf, absztrakt gráf, digráf
N és A két diszjunkt halmaz, ahol ζ olyan függvény, amely A minden eleméhez egy N-beli elempárt rendel hozzá: a (N,A, ζ) rendszer absztrakt gráf (digráf); (N,A) vagy G N elemeit a gráf csomópontjainak, A elemeit a gráf éleinek (ívek vagy ágak) nevezzük ponthoz nem illeszkedik él: izolált csomópont
3
Fokszám A G egy p pontjához illeszkedő élek számát p fokszámának (fokának) nevezzük: φ (p); irányított esetben: φbe(p), φki(p) A fokszámok összege az élek számának kétszerese. Páratlan fokú pontok száma mindig páros.
4
Izomorf, hurok, kör egy gráf élei és pontjai kölcsönösen egyértelműen és illeszkedéstartó módon megfeleltethetők egy másik éleinek és pontjainak: a két gráf izomorf két pontot több él is összeköt: G tartalmaz többszörös éleket él a kiinduló csomópontba tér vissza: hurokél élsorozat (v. pontsorozat), amely egy csomópontból induló összefüggő éleken (v. szomszédos csomópontokon) keresztül ugyanabba a csomópontba jut vissza: kör a c d b d c b a
5
Teljes és egyszerű gráf
G bármely két különböző pontját él köti össze: teljes gráf (n-gráf) a teljes gráf éleinek száma: G nem tartalmaz hurokélt és többszörös élt: egyszerű gráf legalább két pontot tartalmazó egyszerű gráfnak van két azonos fokú pontja. skatulya-elv bármelyik pont elérhető úttal: összefüggő
6
Részek egy egyszerű G gráfot kiegészítünk teljes gráffá, akkor a G nélküli rész: komplementere tartalmazza G-t: részgráf nem önmaga: valódi részgráf összefüggő részgráf, amely nem bővíthető új ponttal az összefüggő jelleg megtartásával: komponens csúcsok és komponensek számának különbsége: rang élek és komponensek száma mínusz csúcsok száma: nullitás
7
Euler königsbergi hidak (1735., Pregel folyó)
G folytonos élsorozatában minden él szerepel, de csak egyetlen egyszer: Euler-vonal Ha van G-nek zárt Euler-vonala, akkor minden pont foka páros. Ha van G-nek nyitott Euler-vonala, akkor két pont foka páratlan, de minden többi ponté páros. Euler, L., "Solutio problematis ad geometriam situs pertinentis", Comment. Academiae Sci. I. Petropolitanae 8 (1736),
8
Közlekedés, híd bármely pontból G bármely pontjába el lehet jutni szabályok megsértése nélkül: közlekedési feltétel irányított gráf, melyre teljesül a közlekedési feltétel: erősen összefüggő levelek, híd összefüggő gráf élét töröljük és megszűnik összefüggő lenni
9
Hamilton dodekaéder-játék (1859)
gráf minden pontját tartalmazó köre: Hamilton-kör gráf minden pontját tartalmazó útja: Hamilton-út
10
Fa, minimális kifeszítő fa
összefüggő, körmentes: fa, fagráf, kifeszítő fa Az n pontú, n-1 élű gráfok körmentesek (fák). minimális kifeszítő fa (gazdaságos faváz); MST - később
11
Súlyok, irányítás élekhez hozzárendelt értékek (súlyok): kapacitások, potenciálok, áramok (nemnegatív mennyiség, végtelen, nulla) kapacitás a súlyozott élen az egyik irányban nulla: irányítottnak; (i,j) esetén τi,j csomóponthoz csatlakozó összes él irányítása olyan, hogy az áram az adott csomópontból kifelé halad: forrás csomóponthoz csatlakozó az összes él a csomópont felé irányul: nyelő
12
Út, irányított út két pont közötti pontsorozat; csak szomszédos pontokon haladunk; csak egyszer: út Legyen az {s≡0,1,…i…m≡t} egy olyan pontsorozat, amelyre minden (i-1,i), i=1...m esetén. Ekkor a (0,1,...i,...m) halmaz: s pontból a t pontba vezető út; P(s,t), P haladás irányát is megadjuk: irányított út útban szereplő élek τ súlyainak össze: út hossza; τ(P) VAGY éleinek a száma két pont közötti út csak egy élt tartalmaz: szomszédos csúcs
13
Szintekre bontás irányított körmentes (aciklikus) gráfban N1,N2N és (N1,N2)A, akkor N1 N2-t megelőzi: topologikus rendezés 1) forrásokat a következő (első) szintbe 2) töröljük a kimenő éleket, majd 1) 3) addig, amíg mind nincsen szintbe sorolva 4) összekötjük a csúcsokat kisebb mélységből nagyobb mélységbe mutat: előre él (faél) nagyobb mélységből kisebb mélységbe mutat: visszaél azonos szintre mutat: keresztél
14
Szintekre bontás a c b d
15
Szintekre bontás a c b d e f
16
Alapvető algoritmusok
szélességi keresés - bejárás (BFS) mélységi keresés - bejárás (DFS)
17
Park körülzárt nemzeti park keskeny kanyargós úthálózat
erdőőrök által vezetett elektromos járművek terepjáró gépkocsik modellezhető egy irányítatlan hálóval park bejárata (O) fontosabb látnivalók bejárattól legtávolabb színpadi látványosság (T) súlyszámok az utak hossza illetve irányított kapacitások
18
Park A A 7 2 2 5 4 5 O B B B D D D T T T 3 1 4 1 7 C E 4
19
Problémák telefonvonalakat kell lefektetni az utak alatt úgy, hogy minden csomópontot elérjenek, és az a lehető legevesebb munkával járjon meg kell határozni egy, a park bejáratától (O) a színpadig (T), majd onnan vissza vezető olyan útvonalat, amelynek a legkisebb a hosszúsága maximalizálni kell a naponta megtehető utak számát a korlátos útszakaszokon (irány!)
20
Minimális kifeszítő fa
Borůvka (Sollin) 1926. 1) Vizsgáljuk a súlyokat. Ha többször is előfordul valamelyik, hozzáadjuk az egység egy hányadát, rendre q, 2q, 3q stb. k(q+2q+3q+…+(m-1)q)<1 , ahol k számú ktg. fordul elő többször, egy ktg. max. m- szer szerepel 2) Kijelöljük minden egyes csomópont (fa) legközelebbi szomszédjába vezető élt (közben kör ne alakuljon ki). 3) A fát alkotó csomópontokat egyetlen csomópontnak tekintjük. 4) Ismét 2) addig, amíg minimális kifeszítő fát nem kapunk.
21
Minimális kifeszítő fa
3 2 4 5 6 7 8 9
22
Minimális kifeszítő fa
7 2 2 5 4 5 O B B B D D D T T T 3 1 4 1 7 C E 4
23
Minimális kifeszítő fa
Kruskal 1956. 1) Kijelöljük a gráf kijelöletlen legkisebb költségű élét (közben kör ne alakuljon ki). 2) Ismét 1) addig, amíg minimális kifeszítő fát nem kapunk.
24
Minimális kifeszítő fa
3 2 4 5 6 7 8 9
25
Minimális kifeszítő fa
7 2 2 5 4 5 O B B B D D D T T T 3 1 4 1 7 C E 4
26
Minimális kifeszítő fa
Prim 1957. 1) Kiválasztjuk a gráf bármelyik csomópontját. 2) A fához hozzáadjuk a legközelebbi csomópontot (közben kör ne alakuljon ki). 3) Ismét 2) addig, amíg minimális kifeszítő fát nem kapunk.
27
Minimális kifeszítő fa
3 2 4 5 6 7 8 9
28
Minimális kifeszítő fa
7 2 2 5 4 5 O B B B D D D T T T 3 1 4 1 7 C E 4
29
Legrövidebb út Táblázatos megoldás
1) Minden irányban kiindulunk a vizsgált csomópontból, egymás után kiválasztjuk a hálózat minden egyes csomópontjához vezető legrövidebb útvonalat a kezdőponttól mért legrövidebb távolságuk növekvő sorrendjében. 2) Ismét 1) addig, amíg el nem jutunk a végső csomóponthoz.
30
Legrövidebb út …
31
Legrövidebb út …
32
Legrövidebb út A A 7 2 2 5 4 5 O B B B D D D T T T 3 1 4 1 7 C E 4
33
Gráfelméleti alkalmazások
Közösségi Kerékpáros Közlekedési Rendszer pesti: Dunától kb. Dózsa György útig budai: Duna part, a Víziváros egy része, BME és környéke 12,75 km2-t 74 automata gyűjtőállomás több, mint 1000 kerékpár két nagyobb és négy kisebb kapacitású szállítójármű kb. 90% Európai Uniós támogatás Hány szállító jármű tud áthaladni adott útvonalon? Egységnyi idő alatt melyek a legrövidebb utak bizonyos gyűjtőpontok között? Beck Viktória
34
Gráfelméleti alkalmazások
forgalom alapján (kategóriák): 1. több mint 2000 (egységjármű/óra) – 2000 (egységjármű/óra) – 1000 (egységjármű/óra) legnagyobb kockázat: Deák Ferenc tér és az Astoria közötti reggelente a Petőfi-hídon Buda felé, Nagykörúton a Nyugati-pályaudvartól a Petőfi-híd felé, a Szabadság-hídon Pest felé, délután fordítva Petőfi-híd csúcsforgalomban: Beck Viktória
35
Beck Viktória
36
Megoldás: 36 csomópontú gráf
Beck Viktória
37
Gogol utca - BME Beck Viktória
38
Hősök tere - Kossuth tér
Beck Viktória
39
Problémák telefonvonalakat kell lefektetni az utak alatt úgy, hogy minden csomópontot elérjenek, és az a lehető legevesebb munkával járjon meg kell határozni egy, a park bejáratától (O) a színpadig (T), majd onnan vissza vezető olyan útvonalat, amelynek a legkisebb a hosszúsága maximalizálni kell a naponta megtehető utak számát a korlátos útszakaszokon (irány!)
40
Legrövidebb út Dijkstra 1959. –grafikus eljárás kisméretű gráfokra
1) Hozzárendelünk a kiinduló csomóponthoz 0-t, minden további csomóponthoz ∞ értéket. 2) Kezdjük az algoritmust a kiinduló ponttal. Vizsgáljuk meg minden egyes szomszédos csomópontját a kiinduló pontnak és számítsuk ki a távolságukat. Ha minden egyes szomszéd távolságát kiszámítottunk, akkor jelöljük meg a kiindulópontot. 3) A már megjelölt csomópont összes szomszédját megvizsgáljuk, először a kisebb távolságú csomópontok következnek. Amennyiben a kiszámított távolság kisebb, mint a csomóponton szereplő, az előzőekben számított érték, akkor írjuk be a kisebbet. 4) Ismét 3) addig, amíg minden csomópontot meg nem vizsgáltunk.
41
Legrövidebb út Dijkstra 1959.
1) Hozzárendelünk a kiinduló csomóponthoz 0-t, minden további csomóponthoz ∞ értéket. Kezdjük az algoritmust a kiinduló csomóponttal. 2) Vizsgáljuk meg minden egyes szomszédos csomópontját a vizsgálandó csomópontnak és számítsuk ki a távolságukat. Ha minden egyes szomszéd távolságát kiszámítottunk, akkor jelöljük meg a vizsgált pontot. 3) A megjelöletlen csomópontok halmazából azon csomóponttal haladunk tovább, melyiknek a kezdőponttól számított távolsága a legkisebb. 4) Ismét 2) addig, amíg minden csomópontot meg nem vizsgáltunk.
42
Legrövidebb út ∞ 2 7 3 5 5 9 1 ∞ 4 ∞ 5 3 3 10 ∞ 3
43
Legrövidebb út B 2 D 10 8 A 1 4 7 9 3 C 2 E
44
Legrövidebb út ∞ A A 7 2 2 5 4 5 O B B B D D D T T T 3 1 4 1 7 C E 4
45
Legrövidebb út Bellman-Ford 1958-1962.
1) Hozzárendelünk a kiinduló csomóponthoz 0-t, minden további csomóponthoz ∞ értéket. 2) Az élekre felveszünk önkényesen egy feldolgozási sorrendet. 3) Az élek feldolgozási sorrendjének megfelelően kiszámítjuk minden él végződésénél lévő csomópont távolságát a kezdőpont adatainak alapján. 4) Ismét 3) addig, amíg nem konvergál az algoritmus megoldáshoz.
46
Legrövidebb út B 4 -1 2 1 3 A E 7 2 1 3 2 4 8 -3 5 C 5 D 6
47
Legrövidebb út 5 1 u v 6 -2 2 3 5 7 8 -3 z 2 8 4 6 7 -4 7 9 x y 9 10
48
Szomszédsági mátrix és lista
irányítatlan 4 5 3 2 1
49
Szomszédsági mátrix és lista
irányított 2 1 3 4
50
Súlymátrix irányított 5 2 2 1 7 4 3 2 4
51
Legrövidebb út Floyd-Warshall 1959. (Bernard Roy) – 1962.
1) A hálózat súlymátrixában legyen minden ai,j=∞ ha ai,j=0. kivéve, ha ai,i=0, ekkor tartsa meg értékét (alternatív mo.) 2) Hajtsuk végre az alábbi műveletet: 3) Ismét 2) n alkalommal (k=1…n).
52
Legrövidebb út 7 R(1) 4 U(4) 2 7 5 1 S(2) 3 T(3)
53
Legrövidebb út B(2) 4 3 7 A(1) 8 C(3) 1 -4 2 -5 E(5) D(4) 6
54
Vágás, üres vágás Legyen N két diszjunkt halmazra particionálva, S és T-re úgy, hogy és sS és tT. Jelöljük (S,T)-vel azon élek összességét, melyek S-ből indulnak és T-be érkeznek. Ezt az (S,T) élhalmazt az (N,A) gráf s és t pontjait elválasztó vágásának nevezzük. Ha ez a vágás nem tartalmaz élt, akkor a vágás üres. A vágás mindig irányított. A vágás a P(s,t) útvonalból tartalmaz legalább egy élt.
55
Vágás (S,T) 14 12 11 13 8 9 7 6 5 2 4 3 1 t s 10
56
Maximális folyam-minimális vágás
Bármely olyan hálózatra, amelyben egyetlen forrás és nyelő van, a forrástól a nyelőig haladó maximális megengedett áram (folyam) egyenlő a hálózat összes vágása értékének a minimumával. A gráfon létezik út s pontból t pontba, vagy létezik olyan, a két pontot elválasztó vágás, amely üres (Minty).
57
Létezik-e út? Cimkézési technika
1) SN halmaz minden pontja elérhető s pontból, TN halmaz tartalmazza a vizsgálatra váró pontokat. 2) A pontot, amely nem tartozik S halmazba és a pontból vezet él T halmaz pontjaiba, cimkézzük meg. A cimkéje legyen az a pont, amely pontból ide eljutottunk, negatívelőjellel. 3) A cimkézett pontokkal bővítsük az S halmazt és változtassuk a cimkéjét pozitívra. 4) Ismét 2) amíg el nem jutunk a végpontba. Ha nem sikerül, akkor a két halmaz között nincs él, azaz az (S,T) vágás üres.
58
Létezik-e út? Struktúra táblázat
59
Létezik-e út? Grafikus megoldás
60
Maximális folyam Ford-Fulkerson 1956.
1) Keressünk egy (szigorúan) pozitív áramlási kapacitású útvonalat a forrástól a nyelőig. 2) Keressük meg ebben az útvonalban a legkisebb áramlási kapacitást és növeljük meg ezzel az értékkel az útvonalon az áramot. 3) Csökkentsük a fenti értékkel az útvonal minden élén a megmaradó áramlási kapacitást és növeljük meg az útvonal minden élén a megmaradó áramlási kapacitást az ellenkező irányban. 4) Ismét 1) addig, amíg már nem található pozitív áramlási kapacitású útvonal.
61
Maximális folyam A O B D T E C 5 4 7 1 9 6 3 2
62
Maximális folyam 2 2 1 2 1 1 3 3 1 1 5 4 2
63
Primál-duál feladatpár
CPM/time primál: mi az a potenciálrendszer és időpolitika, amely lehetséges, és kedvező? πj-πi≥τi,j, πt-πs → minimális CPM/time duál: mennyi idő alatt lehet végrehajtani a projektet? P={s≡0,1,…i…m≡t} → maximális
64
Leghosszabb út Primál-duál algoritmus I.
1) Osszuk N halmazt két diszjunkt S, T halmazra. 2) S: πj-πi≥τi,j, legyen olyan P(s,i) út, amely mentén πj-πi=τi,j, minden (i,j)P, (i,j)S; nincs olyan (i,j)A, hogy jS és iT. 3) Bővítjük S halmazt olyan ponttal, amelybe csak S-ből vezet út: πj=max(πi+τi,j). 4) Ismét 3), amíg S≡N.
65
Leghosszabb út Primál-duál algoritmus II.
1) Osszuk N halmazt két diszjunkt S, T halmazra. 2) T: πj-πi≥τi,j, legyen olyan P(j,t) út, amely mentén πj-πi=τi,j, minden (i,j)P, (i,j)T; nincs olyan (i,j)A, hogy jS és iT. 3) Bővítjük T halmazt olyan ponttal, amelyből csak T-be vezet út: πi=max(πj-τi,j). 4) Ismét 3), amíg T≡N.
66
Leghosszabb út Állítsa elő az alábbi háló súlymátrixát (W)!
67
Leghosszabb út (I. algoritmussal)
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.