Példa Hajtsuk végre az 1 pontból a Dijkstra algoritmust az alábbi gráfra. (A mátrixban a c i j érték az (i, j) él hossza, ha nincs él.
|
|
- Diána Török
- 6 évvel ezelőtt
- Látták:
Átírás
1 Legrövidebb utak súlyozott gráfokban A feladat egy súlyozott gráfban egy adott pontból kiinduló legrövidebb utak megkeresése. Az input a súlyozott gráf és a kiindulási s pont. Outputként egy legrövidebb utak fáját adunk vissza, egy Apa függvény által, továbbá a legrövidebb utak hosszait egy d függvény által. A feladatot nemnegatív élsúlyok esetén a következő Dijsktra algoritmussal oldhatjuk meg. Dijskstra algoritmusa Kezd(G,s) d(v):=inf apa(v):=0 Kesz(v):=0 d(s):=0 Kozelit(G,u,v,Q) if d(v)>d(u)+c(u,v) then d(v):=d(u)+c(u,v) Modosit(Q,v) apa(v):=u Dijkstra(G,s) Kezd(G,s) Letesit(Q: ModPrisor) Sorba(Q,v) while(elemszam(q)>0) Sorbol(Q,u) Kesz(u):= for(v in Kiel(G,u)) If Kesz(v)=0 then Kozelit(u,v) Példa Hajtsuk végre az pontból a Dijkstra algoritmust az alábbi gráfra. (A mátrixban a c i j érték az (i, j) él hossza, ha nincs él.) Kesz = {},d() =,Apa() =,d(4) =,Apa(4) =,d(5) = 8,Apa(5) =, Kesz = {,4},d() = 5,Apa() = 4,d(5) =,Apa(5) = 4,d(6) = 8,Apa(6) = 4, Kesz = {,4,},d() =,Apa() =,d(6) = 6,Apa(6) =, Kesz = {,4,,},
2 Kesz = {,4,,,5}d(6) = 4,Apa(6) = 5, Tulajdonságok Tegyük fel, hogy a G = (V,E,c) irányított, súlyozott gráfra és s kezdőpontra végrehajtottuk a Kezd eljárást, majd valahány Kozelit(u,v) műveletet. Ekkor az alábbi összefüggések teljesülnek. Háromszög egyenlőtlenség: ( (u, v) E)(δ(s, v) δ(s, u) + c(u, v)) Bizonyítás A legrövidebb s u utat folytatva az (u,v) éllel egy s v utat kapunk. Felső korlát tulajdonság: d(v) δ(s,v) és ha egyszer d(v) = δ(s,v), akkor ezután mindig teljesül az egyenlőség. Bizonyítás Az egyenlőtlenség a Kozelit lépések száma szerinti indukcióval igazolható, felhasználva a háromszög egyenlőtlenséget. Ha egyszer létrejön az egyenlőség az utána nem változhat, mivel d értéke az eljárás során nem növekedhet, és az egyenlőtlenség miatt nem is csökken tovább. Nincs-út tulajdonság: Ha nincs s v út, akkor mindvégig d(v) = In f teljesül. Bizonyítás A felső korlát tulajdonságból azonnal következik. Konvergencia tulajdonság: Ha s u v egy legrövidebb út és d(u) = δ(s,u) Kozelit(u,v) végrehajtása előtt, akkor Kozelit(u,v) után d[v] = δ(s,v). Bizonyítás Kozelit(u,v) után d(v) d(u)+c(u, v) = δ(s, u)+c(u, v) = δ(s, v), így a felső korlát tulajdonság alapján egyenlőség kell fennálljon. Út-közelítés tulajdonság: Ha p = {v 0,v,...,v k } egy s = v 0 v k legrövidebb út, akkor a (v 0,v ),(v,v ),...,(v k,v k ) élekre ebben a sorrendben végrehajtott Kozelit eljárások után d(v k ) = δ(s,v k ). Bizonyítás A konvergencia tulajdonságból következik. LUF tulajdonság: Tegyük fel, hogy G nem tartalmaz negatív súlyú éleket és minden v V pontra d[v] = δ(s,v). Ekkor az F = {(Apa(v), v) : v V, Apa(v) 0} élhalmaz G-nek s gyökerű LUF-ja lesz. Bizonyítás: A nincs út tulajdonság alapján a fába pontosan azon pontok kerülnek, amelyek elérhetőek s-ből. Továbbá könnyen látható, hogy minden v pontra az F fában az adott pontba s-ből vezető út hossza d(v), mivel d(v)-t minden esetben a d(apa(v)) + c(apa(v),v) érték alapján kapjuk. Helyesség Tétel A DIJKSTRA algoritmust nemnegatív él-súlyozott irányított G = (V,E,c) gráfra és s kezdőpontra végrehajtva, minden v V pontra teljesül d(v) = δ(s, v). Bizonyítás: Bizonyítás a Kesz halmazba kerülés szerinti indukcióval. Az első pont, amely kikerül a Q prioritási sorból és bekerül Kesz-be az s pont, amire az állítás nyilvánvaló. Legyen u az első pont, amire nem teljesül az állítás, akkor a bekerülésekor a felső korlát tulajdonság miatt d(u) > δ(s,u). Így δ(s,u), tehát van egy legrövidebb út s-ből u-ba. Ezen az úton u bekerülésekor a kezdőpont a Kesz halmazban van, a végpont nincs, így van két olyan egymást követő pont (x,y) hogy x Kesz és y / Kesz. Ekkor x még u előtt került be a Kesz halmazba, így d(x) = δ(s,x). Továbbá x bekerülésekor végrehajtottuk a Kozelit(x,y) műveletet, így a konvergencia tulajdonság miatt d(y) = δ(x,y). Minden él súlya nemnegatív, y rajta van az u-ba vezető legrövidebb úton, így δ(s,y) δ(s,u). Továbbá a prioritási sorból u-t hamarabb választjuk ki, mint y-t, így d(u) d(y). Következésképpen azt kaptuk, hogy d(y) = δ(s,y) δ(s,u) < d(u) d(y), ami ellentmondás, így a tételt igazoltuk. Következmény: A tételből a LUF tulajdonság alapján következik az algoritmus helyessége. Floyd Warshall algoritmus
3 A feladat egy súlyozott gráfban minden pontpárra a legrövidebb utak megkeresése. Az input a súlyozott gráf. Outputként egy mátrixot adunk meg, amely a legrövidebb utakat tartalmazza, továbbá egy segédmátrixot, amely minden pontpárra tartalmazza a legrövidebb út első pontját, így a mátrix alapján a legrövidebb út egyszerűen megkapható. A feladatot dinamikus programozással oldjuk meg. Legyen V =...n és c(i, j) =, ha (i, j) / E, legyen G(i, j) = c(i, j) ha i j és G(i,i) = 0, i =,...,n. Részproblémákra bontás: i, j {,...,n}-ra és k {0,,...,n}-re legyen D k (i, j)=az i-ből j-be vezető olyan utak hosszának minimuma, amelyek legfeljebb az {,...,k} belső pontokon mennek keresztül. Ekkor D n (i, j) = δ(i, j) és D 0 (i, j) = G(i, j)., Rekurzív összefüggés (k ): D k (i, j) = min{d k (i, j),d k (i,k) + D k (k, j)} Megjegyzés: A rekurzíó kiszámítása egyetlen tömbben megoldható, mert D k (i,k) = D k (i,k) és D k (k, j) = D k (k, j) Floyd Warshall algoritmus for i= to n for j= to n D[i,j]:=G(i,j) If D[i,j]<Inf Then Elso[i,j]:=j for k= to n for i= to n for j= to n If D[i,k]+D[k,j]<D[i,j] Then D[i,j]:=D[i,k]+D[k,j] Elso[i,j]:=Elso[i,k] Futási idő: Θ(n ) A G = (V,E) gráf tranzitív lezártja az a G = (V,E ) gráf, ahol E = {(u,v) : u v}. Egy lehetséges algoritmus G kiszámítására: vegyük azt a gráfot, amelyben minden létező él súlya, és alkalmazzuk a Floyd-Warshall algoritmust. Az i és j pontok között akkor és csak akkor van út G-ben, ha távolságuk nem. Megjegyzés: Azonban a Floyd-Warshall algoritmus egyszerű módosításával (Boolean értékeket használva a távolságok helyett) hatékonyabb megoldást kapunk. Minimális feszítőfák Legyen G = (V,E,c), c : E R + egy súlyozott irányítatlan gráf. Terjesszük ki a súlyfüggvényt a T E élhalmazokra: C(T ) = (u,v) T c(u,v) Az F = (V,T) gráf minimális feszitőfája G-nek, ha F feszitőfája G-nek, és C(T) minimális Legyen A F valamely (V,F) minimális feszítőfára, és (u,v) E. Definíció (u,v) biztonságos él A-ra nézve, ha A {(u,v)} is része valamely minimális feszítőfának.
4 Elvi algoritmus A := /0 While A nem feszítőfa (u,v) biztonságos él keresése; A := A {(u,v)} Definíció: A G = (V,E) gráf vágása: (S,V \ S), ahol S V ; Definíció: (u,v) E keresztél az (S,V \ S) vágásra, ha u S és v V \ S, vagy u V \ S és v S. Az (S,V \ S) vágás elkerüli az A E élhalmazt, ha A-ban nincs keresztél. Definíció: (u,v) könnyű él az (S,V \ S) vágásra, ha a legkisebb c-értékű (súlyú) keresztél. Tétel: Ha A része a G = (V,E,c) valamely minimális feszítőfájának és elkerüli az (S,V \ S) vágást, továbbá (u, v) könnyű él az (S,V \ S) vágásra, akkor (u,v) biztonságos él A-ra nézve. Bizonyítás: Legyen T = (V,F) egy olyan minimális feszítőfa, amelyre A F. Ha (u,v) F, akkor az állítás nyilvánvaló. Ha (u,v) / F, akkor (u,v)-t hozzá véve az F éleihez kört kapunk. Mivel u és v az S vágás különböző oldalán vannak, ezért van a körben egy másik (x,y) keresztél. Ekkor az F := F \ {(x,y)} {(u,v)} élhalmaz is feszítőfája lesz G-nek. Továbbá c(u,v) c(x,y) miatt C(F ) C(F), így szintén minimális. Kruskal algoritmusa Kruskal(G,w) Letesit(A: halmaz) for (v V ) Halmazt Keszit(v) rendezzük E éleit w szerint növekvő sorrendbe for (u,v) E esetén a súly szerinti sorrendben If Halmazt Keres(u) Halmazt Keres(v) A := A {(u,v)} Egyesít(u,v) Megvalósítás: Unio Holvan adattípussal. Helyesség: Az általános tétel alapján, vágásnak olyan vágást használva, ahol az egyik halmaz az u-tartalmazó részfa az aktuális feszítő erdőből. Futási idő: O( E log V ) Prim(G,c,r) d(v):=inf apa(v):=0 Bent(v):=0 d(r):=0 Letesit(Q: ModPrisor) Sorba(Q,v) while(elemszam(q)>0) Sorbol(Q,u) Bent(u):= for(v in Kiel(G,u)) Prím algoritmusa 4
5 If (Bent(v)=0) and (c(u,v)<d(v)) then apa(v):=u d(v):=c(u,v) Helyesség: Az általános tétel alapján, vágásnak olyan vágást használva, ahol az egyik halmaz azon v pontokat tartalmazza, akikre Bent(v)=. Futási idő: O( E + V log V ) Példa a b c e d f. ábra. A Kruskal algoritmus a következő sorrendben választja be az éleket: (a,b),(c,e),(d, f ),(a,c),(d,e), A Prim algoritmus sorrendje (a,b),(a,c), (c,e), (d,e),(d, f ). Kiskérdések Dijskstra algoritmus Floyd Warshall algoritmus Prím algoritmus Kruskal algoritmus 5
Példa Hajtsuk végre az 1 pontból a Dijkstra algoritmust az alábbi gráfra. (A mátrixban a c i j érték az (i, j) él hossza, ha nincs él.
Legrövidebb utak súlyozott gráfokban A feladat egy súlyozott gráfban egy adott pontból kiinduló legrövidebb utak megkeresése. Az input a súlyozott gráf és a kiindulási s pont. Outputként egy legrövidebb
Minimális feszítőfák Legyen G = (V,E,c), c : E R + egy súlyozott irányítatlan gráf. Terjesszük ki a súlyfüggvényt a T E élhalmazokra:
Minimális feszítőfák Legyen G = (V,E,c), c : E R + egy súlyozott irányítatlan gráf. Terjesszük ki a súlyfüggvényt a T E élhalmazokra: C(T ) = (u,v) T c(u,v) Az F = (V,T) gráf minimális feszitőfája G-nek,
Elmaradó óra. Az F = (V,T) gráf minimális feszitőfája G-nek, ha. F feszitőfája G-nek, és. C(T) minimális
Elmaradó óra A jövő heti, november 0-dikei óra elmarad. Minimális feszítőfák Legyen G = (V,E,c), c : E R + egy súlyozott irányítatlan gráf. Terjesszük ki a súlyfüggvényt a T E élhalmazokra: C(T ) = (u,v)
Gráfok, definíciók. Minden irányítatlan G = (V,E) gráf olyan irányított gráfnak tekinthető, amelyre teljesül, hogy
Gráfok, definíciók Irányítatlan gráf: G = (V,E), ahol E rendezetlen (a,b),a,b V párok halmaza. Irányított gráf: G = (V,E) E rendezett (a,b) párok halmaza; E V V. Címkézett (súlyozott) gráf: G = (V,E,C)
Minimális feszítőfák Legyen G = (V,E,c), c : E R + egy súlyozott irányítatlan gráf. Terjesszük ki a súlyfüggvényt a T E élhalmazokra:
Minimális feszítőfák Legyen G = (V,E,c), c : E R + egy súlyozott irányítatlan gráf. Terjesszük ki a súlyfüggvényt a T E élhalmazokra: C(T ) = (u,v) T c(u,v) Az F = (V,T) gráf minimális feszitőfája G-nek,
Gráfok, definíciók. Gráfok ábrázolása. Az adott probléma megoldásához ténylegesen mely műveletek szükségesek. Ábrázolások. Példa:
Gráfok, definíciók Irányítatlan gráf: G = (V,E), ahol E rendezetlen (a,b),a,b V párok halmaza. Irányított gráf: G = (V,E) E rendezett (a,b) párok halmaza; E V V. Címkézett (súlyozott) gráf: G = (V,E,C)
Melykeres(G) for(u in V) {szin(u):=feher Apa(u):=0} for(u in V) {if szin(u)=feher then MBejar(u)}
Mélységi keresés Ez az algoritmus a gráf pontjait járja be, eredményképpen egy mélységi feszítőerdőt ad vissza az Apa függvény által. A pontok bejártságát színekkel kezeljük, fehér= érintetlen, szürke=meg-
Algoritmuselmélet. Legrövidebb utak, Bellmann-Ford, Dijkstra. Katona Gyula Y.
Algoritmuselmélet Legrövidebb utak, Bellmann-Ford, Dijkstra Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem 3. előadás Katona Gyula Y. (BME
Gráfok 2. Legrövidebb utak, feszítőfák. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor
Gráfok 2. Legrövidebb utak, feszítőfák előadás http://nik.uni-obuda.hu/sztf2 Szénási Sándor Óbudai Egyetem,Neumann János Informatikai Kar Legrövidebb utak keresése Minimális feszítőfa keresése Gráfok 2
Melykeres(G) for(u in V) {szin(u):=feher Apa(u):=0} for(u in V) {if szin(u)=feher then MBejar(u)}
Példa Adott egy n n-es sakktábla. Az (1,1) mezőn áll egy huszár. Határozzuk meg eljuthat -e az (u,v) mezőre, ha igen adjunk meg egy legkevesebb lépésből álló utat! Adjunk algoritmust, ami megoldja a feladatot.
Gráfalgoritmusok ismétlés ősz
Gráfalgoritmusok ismétlés 2017. ősz Gráfok ábrázolása Egy G = (V, E) gráf ábrázolására alapvetően két módszert szoktak használni: szomszédsági listákat, illetve szomszédsági mátrixot. A G = (V, E) gráf
5/1. tétel: Optimalis feszítőfák, Prim és Kruskal algorithmusa. Legrövidebb utak graphokban, negatív súlyú élek, Dijkstra és Bellman Ford algorithmus.
5/1. tétel: Optimalis feszítőfák, Prim és Kruskal algorithmusa. Legrövidebb utak graphokban, negatív súlyú élek, Dijkstra és Bellman Ford algorithmus. Optimalis feszítőfák Egy összefüggő, irányítatlan
Melykeres(G) for(u in V) {szin(u):=feher Apa(u):=0} for(u in V) {if szin(u)=feher then MBejar(u)}
Példa Adott egy sziget ahol 42 kaméleon lakik. A kaméleonok három színt vehetnek fel piros, kék és zöld. Ha két különböző színű kaméleon találkozik, akkor megijednek és mindkettő átváltoztatja a színét
26. MINIMÁLIS KÖLTSÉGŰ UTAK MINDEN CSÚCSPÁRRA
26. MINIMÁLIS KÖLTSÉGŰ UTAK MINDEN CSÚCSPÁRRA Az előző két fejezetben tárgyalt feladat általánosításaként a gráfban található összes csúcspárra szeretnénk meghatározni a legkisebb költségű utat. A probléma
Algoritmuselmélet 7. előadás
Algoritmuselmélet 7. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu 2002 Március 11. ALGORITMUSELMÉLET 7. ELŐADÁS 1 Múltkori
A számítástudomány alapjai
A számítástudomány alapjai Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem Legszélesebb utak Katona Gyula Y. (BME SZIT) A számítástudomány
Algoritmuselmélet. Mélységi keresés és alkalmazásai. Katona Gyula Y.
Algoritmuselmélet Mélységi keresés és alkalmazásai Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem 9. előadás Katona Gyula Y. (BME SZIT) Algoritmuselmélet
Algoritmuselmélet. Gráfok megadása, szélességi bejárás, összefüggőség, párosítás. Katona Gyula Y.
Algoritmuselmélet Gráfok megadása, szélességi bejárás, összefüggőség, párosítás Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem 2. előadás
10. Gráf absztrakt adattípus, gráfok ábrázolása
Gráf absztrakt adattípus, gráfok ábrázolása Definíciók Irányítatlan gráf:g = (V, E) E rendezetlen {a,b,a,b V párok halmaza Irányított gráf:g = (V,E) E rendezett (a,b) párok halmaza; E V V Multigráf: G
Gráf-algoritmusok Legrövidebb utak
https://www.cs.princeton.edu/~rs/algsds07/15shortestpaths.pdf Gráf-algoritmusok Legrövidebb utak Sapientia-EMTE 2017-18 Typesetting in TeX Két pont között, akkor van él, ha közéjük 1 2 3 4 eső szó szekvencia
Neumann János Tehetséggondozó Program Gráfalgoritmusok II.
Neumann János Tehetséggondozó Program Gráfalgoritmusok II. Horváth Gyula horvath@inf.elte.hu 1. A szélességi bejárás alkalmazásai. Nyilvánvaló, hogy S(0) = {r}. Jelölés: D(p) = δ(r, p) Nyilvánvaló, hogy
Diszkrét matematika 2.C szakirány
Diszkrét matematika 2.C szakirány 2015. ősz 1. Diszkrét matematika 2.C szakirány 3. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék 2015.
Algoritmusok bonyolultsága
Algoritmusok bonyolultsága 5. előadás http://www.ms.sapientia.ro/~kasa/komplex.htm 1 / 27 Gazdaságos faváz Kruskal-algoritmus Joseph Kruskal (1928 2010) Legyen V = {v 1, v 2,..., v n }, E = {e 1, e 2,...,
Gráfelméleti feladatok. c f
Gráfelméleti feladatok d e c f a b gráf, csúcsok, élek séta: a, b, c, d, e, c, a, b, f vonal: c, d, e, c, b, a út: f, b, a, e, d (walk, lanţ) (trail, lanţ simplu) (path, lanţ elementar) 1 irányított gráf,
Algoritmuselmélet 18. előadás
Algoritmuselmélet 18. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu 2002 Május 7. ALGORITMUSELMÉLET 18. ELŐADÁS 1 Közelítő algoritmusok
A félév során előkerülő témakörök
A félév során előkerülő témakörök rekurzív algoritmusok rendező algoritmusok alapvető adattípusok, adatszerkezetek, és kapcsolódó algoritmusok dinamikus programozás mohó algoritmusok gráf algoritmusok
bármely másikra el lehessen jutni. A vállalat tudja, hogy tetszőlegesen adott
. Minimális súlyú feszítő fa keresése Képzeljük el, hogy egy útépítő vállalat azt a megbízást kapja, hogy építsen ki egy úthálózatot néhány település között (a települések között jelenleg nincs út). feltétel
HÁLÓZAT Maximális folyam, minimális vágás
HÁLÓZAT Maximális folyam, minimális vágás HÁLÓZAT informálisan Hálózat Irányított gráf Mindegyik élnek adott a (nemnegatív) kapacitása Spec csúcsok: Forrás (Source): a kiindulási pont csak ki élek Nyelő
Dijkstra algoritmusa
Budapesti Fazekas és ELTE Operációkutatási Tanszék 201. július 1. Legrövidebb utak súlyozatlan esetben v 4 v 3 Feladat Hány élből áll a legrövidebb út ezen a gráfon az s és t csúcsok között? v v 6 v 7
Kupac adatszerkezet. A[i] bal fia A[2i] A[i] jobb fia A[2i + 1]
Kupac adatszerkezet A bináris kupac egy majdnem teljes bináris fa, amely minden szintjén teljesen kitöltött kivéve a legalacsonyabb szintet, ahol balról jobbra haladva egy adott csúcsig vannak elemek.
Algoritmuselmélet 11. előadás
Algoritmuselmélet 11. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu 2002 Március 26. ALGORITMUSELMÉLET 11. ELŐADÁS 1 Kruskal
Diszkrét matematika 2.C szakirány
Diszkrét matematika 2.C szakirány 2017. tavasz 1. Diszkrét matematika 2.C szakirány 3. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék 2017.
Gráfelmélet jegyzet 2. előadás
Gráfelmélet jegyzet 2. előadás Készítette: Kovács Ede . Fák Tétel. : A következők ekvivalensek a T gráfra: (i) T összefüggő, e E. T e már nem összefüggő (ii) T összefüggő és körmentes. (iii) x, y V T!
24. MINIMÁLIS KÖLTSÉGŰ UTAK I.
24. MINIMÁLIS KÖLTSÉGŰ UTAK I. Az útvonaltervezés az egyik leggyakrabban végrehajtott eljárása a gráfok alkalmazásai körében. A feladat például a közlekedésben jelentkezik. A gráfot itt az a térkép jelenti,
2: Minimális feszítőfák, legrövidebb utak. HálózatokII, 2007
Hálózatok II 007 : Minimális feszítőfák, legrövidebb utak Fák, Feszítőfák Egy irányítatlan gráf egy fa, ha összefügő és nem tartalmaz kört. Egy irányítatlan G=(V,E) gráf feszítőfája egy olyan fa, melynek
Gráfok. Programozás II. előadás. Szénási Sándor.
Gráfok előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Tárolási módok Szélességi bejárás Mélységi bejárás Legrövidebb
Amortizációs költségelemzés
Amortizációs költségelemzés Amennyiben műveleteknek egy M 1,...,M m sorozatának a futási idejét akarjuk meghatározni, akkor egy lehetőség, hogy külön-külön minden egyes művelet futási idejét kifejezzük
Egyesíthető prioritási sor
Egyesíthető prioritási sor Értékhalmaz: EPriSor = S E, E-n értelmezett a lineáris rendezési reláció. Műveletek: S,S 1,S 2 : EPriSor, x : E {Igaz} Letesit(S, ) {S = /0} {S = S} Megszuntet(S) {} {S = S}
Algoritmuselmélet. Bonyolultságelmélet. Katona Gyula Y.
Algoritmuselmélet Bonyolultságelmélet Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem 12. előadás Katona Gyula Y. (BME SZIT) Algoritmuselmélet
Totális Unimodularitás és LP dualitás. Tapolcai János
Totális Unimodularitás és LP dualitás Tapolcai János tapolcai@tmit.bme.hu 1 Optimalizálási feladat kezelése NP-nehéz Hatékony megoldás vélhetően nem létezik Jó esetben hatékony algoritmussal közelíteni
Euler tétel következménye 1:ha G összefüggő síkgráf és legalább 3 pontja van, akkor: e 3
Síkgráfok Kuratowski-tétel: egy gráf akkor és csak akkor síkba rajzolható gráf, ha nincs olyan részgráfja, ami a K 5 -el, vagy a K 3,3 -altopologikusan izomorf (homeomorf). Euler síkgráfokra vonatkozó
Ugrólisták. RSL Insert Example. insert(22) with 3 flips. Runtime?
Ugrólisták Ugrólisták Ugrólisták Ugrólisták RSL Insert Example insert(22) with 3 flips 13 8 29 20 10 23 19 11 2 13 22 8 29 20 10 23 19 11 2 Runtime? Ugrólisták Empirical analysis http://www.inf.u-szeged.hu/~tnemeth/alga2/eloadasok/skiplists.pdf
Diszkrét matematika 1. estis képzés
Diszkrét matematika 1. estis képzés 2019. tavasz 1. Diszkrét matematika 1. estis képzés 11. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Mérai László diái alapján
Diszkrét matematika 2. estis képzés
Diszkrét matematika 2. estis képzés 2018. tavasz 1. Diszkrét matematika 2. estis képzés 10. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék
Programozási módszertan. Mohó algoritmusok
PM-08 p. 1/17 Programozási módszertan Mohó algoritmusok Werner Ágnes Villamosmérnöki és Információs Rendszerek Tanszék e-mail: werner.agnes@virt.uni-pannon.hu PM-08 p. 2/17 Bevezetés Dinamikus programozás
Dinamikus programozás - Szerelőszalag ütemezése
Dinamikus programozás - Szerelőszalag ütemezése A dinamikus programozás minden egyes részfeladatot és annak minden részfeladatát pontosan egyszer oldja meg, az eredményt egy táblázatban tárolja, és ezáltal
Diszkrét matematika 2. estis képzés
Diszkrét matematika 2. estis képzés 2018. tavasz 1. Diszkrét matematika 2. estis képzés 9. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék
Diszkrét matematika 2. estis képzés
Diszkrét matematika 2. estis képzés 2018. tavasz 1. Diszkrét matematika 2. estis képzés 11. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék
A gráffogalom fejlődése
A gráffogalom fejlődése ELTE Informatikai Kar, Doktori Iskola, Budapest Batthyány Lajos Gimnázium, Nagykanizsa erdosne@blg.hu a prezentáció kézirata elérhető: http://people.inf.elte.hu/szlavi/infodidact16/manuscripts/ena.pdf
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 4. kurzus. 3. Előadás: A mohó algoritmus
Csíkszereda IRT-. kurzus 3. Előadás: A mohó algoritmus 1 Csíkszereda IRT. kurzus Bevezetés Az eddig tanult algoritmus tipúsok nem alkalmazhatók: A valós problémák nem tiszta klasszikus problémák A problémák
Arany Dániel Matematikai Tanulóverseny 2015/2016-os tanév 1. forduló Haladók III. kategória
Bolyai János Matematikai Társulat Arany Dániel Matematikai Tanulóverseny 2015/2016-os tanév 1. forduló Haladók III. kategória Megoldások és javítási útmutató 1. Az a és b befogójú derékszögű háromszögnek
Általános algoritmustervezési módszerek
Általános algoritmustervezési módszerek Ebben a részben arra mutatunk példát, hogy miként használhatóak olyan általános algoritmustervezési módszerek mint a dinamikus programozás és a korlátozás és szétválasztás
Edényrendezés. Futási idő: Tegyük fel, hogy m = n, ekkor: legjobb eset Θ(n), legrosszabb eset Θ(n 2 ), átlagos eset Θ(n).
Edényrendezés Tegyük fel, hogy a rendezendő H = {a 1,...,a n } halmaz elemei a [0,1) intervallumba eső valós számok. Vegyünk m db vödröt, V [0],...,V [m 1] és osszuk szét a rendezendő halmaz elemeit a
Diszkrét matematika 2.C szakirány
Diszkrét matematika 2.C szakirány 2017. tavasz 1. Diszkrét matematika 2.C szakirány 11. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék
Algoritmizálás, adatmodellezés tanítása 8. előadás
Algoritmizálás, adatmodellezés tanítása 8. előadás Elágazás és korlátozás A backtrack alkalmas-e optimális megoldás keresésére? Van költség, és a legkisebb költségű megoldást szeretnénk előállítani. Van
Mohó algoritmusok. Példa:
Mohó algoritmusok Optimalizálási probléma megoldására szolgáló algoritmus sokszor olyan lépések sorozatából áll, ahol minden lépésben adott halmazból választhatunk. Ezt gyakran dinamikus programozás alapján
Analízis előadás és gyakorlat vázlat
Analízis előadás és gyakorlat vázlat Készült a PTE TTK GI szakos hallgatóinak Király Balázs 2010-11. I. Félév 2 1. fejezet Számhalmazok és tulajdonságaik 1.1. Nevezetes számhalmazok ➀ a) jelölése: N b)
Adatszerkezetek II. 3. előadás
Adatszerkezetek II. 3. előadás Körmentes-e egy irányítatlan gráf? Alapötlet: Ha a bejárás során minden szürke pontból csak fehér pontba vezet él, akkor a gráf körmentes. 2013.02.27. 2 Körmentes?(p): Szín(p):=szürke;
Az optimális megoldást adó algoritmusok
Az optimális megoldást adó algoritmusok shop ütemezés esetén Ebben a fejezetben olyan modellekkel foglalkozunk, amelyekben a munkák több műveletből állnak. Speciálisan shop ütemezési problémákat vizsgálunk.
Gráfalgoritmusok és hatékony adatszerkezetek szemléltetése
Gráfalgoritmusok és hatékony adatszerkezetek szemléltetése Készítette: Bognár Gergő Témavezető: Veszprémi Anna Eötvös Loránd Tudományegyetem Informatikai Kar Algoritmusok és Alkalmazásaik Tanszék Budapest,
1. ábra. Egy rekurzív preorder bejárás. Egy másik rekurzív preorder bejárás
Preorder ejárás Fa bejárásán olyan algoritmust értünk, amelynek bemenete egy F fa és egy M művelet, és az algoritmus adott sorrendben pontosan egyszer végrehajtja az M műveletet a fa pontjaiban lévő adatokra.
Diszkrét matematika 2. estis képzés
Diszkrét matematika 2. estis képzés 2016. tavasz 1. Diszkrét matematika 2. estis képzés 9. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék
Adatszerkezetek II. 2. előadás
Adatszerkezetek II. 2. előadás Gráfok bejárása A gráf bejárása = minden elem feldolgozása Probléma: Lineáris elrendezésű sokaság (sorozat) bejárása könnyű, egyetlen ciklussal elvégezhető. Hálós struktúra
Hálózatszámítási modellek
Hálózatszámítási modellek Dr. Rácz Ervin egyetemi docens Óbudai Egyetem, Kandó Kálmán Villamosmérnöki Kar Villamosenergetikai Intézet HÁLÓZATBELI FOLYAM VAGY ÁRAMLÁS ÁLTALÁNOS PROBLÉMÁJA Általános feladat
Kupac adatszerkezet. 1. ábra.
Kupac adatszerkezet A bináris kupac egy majdnem teljes bináris fa, amely minden szintjén teljesen kitöltött kivéve a legalacsonyabb szintet, ahol balról jobbra haladva egy adott csúcsig vannak elemek.
Diszkrét matematika 2.C szakirány
Diszkrét matematika 2.C szakirány 2017. tavasz 1. Diszkrét matematika 2.C szakirány 4. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék 2017.
Gráfok bejárása. Szlávi Péter, Zsakó László: Gráfok II :17
Gráfok 2. előadás Gráfok bejárása A gráf bejárása = minden elem feldolgozása Probléma: Lineáris elrendezésű sokaság (sorozat) bejárása könnyű, egyetlen ciklussal elvégezhető. Hálós struktúra bejárása nem
Diszkrét matematika 2.
Diszkrét matematika 2. 2018. szeptember 21. 1. Diszkrét matematika 2. 2. előadás Fancsali Szabolcs Levente nudniq@cs.elte.hu www.cs.elte.hu/ nudniq Komputeralgebra Tanszék 2018. szeptember 21. Gráfelmélet
Egyesíthető prioritási sor
Egyesíthető prioritási sor Értékhalmaz: EPriSor = S E, E-n értelmezett a lineáris rendezési reláció. Műveletek: S,S 1,S 2 : EPriSor, x : E {Igaz} Letesit(S, ) {S = /0} {S = S} Megszuntet(S) {} {S = S}
1: Bevezetés: Internet, rétegmodell Alapok: aszimptótika, gráfok. HálózatokII, 2007
Hálózatok II 2007 1: Bevezetés: Internet, rétegmodell Alapok: aszimptótika, gráfok 1 Az előadáshoz Előadás: Szerda 17:00 18:30 Gyakorlat: nincs Vizsga írásbeli Honlap: http://people.inf.elte.hu/lukovszki/courses/g/07nwii
Fibonacci számok. Dinamikus programozással
Fibonacci számok Fibonacci 1202-ben vetette fel a kérdést: hány nyúlpár születik n év múlva, ha feltételezzük, hogy az első hónapban csak egyetlen újszülött nyúl-pár van; minden nyúlpár, amikor szaporodik
Diszkrét matematika 2.C szakirány
Diszkrét matematika 2.C szakirány 2017. ősz 1. Diszkrét matematika 2.C szakirány 2. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék 2017.
Programozási módszertan. Dinamikus programozás: szerelőszalag ütemezése Mátrixok véges sorozatainak szorzása
PM-06 p. 1/28 Programozási módszertan Dinamikus programozás: szerelőszalag ütemezése Mátrixok véges sorozatainak szorzása Werner Ágnes Villamosmérnöki és Információs Rendszerek Tanszék e-mail: werner.agnes@virt.uni-pannon.hu
Gráfok 1. Tárolási módok, bejárások. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor
Gráfok 1. Tárolási módok, bejárások előadás http://nik.uni-obuda.hu/sztf2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Gráfok 1. Tárolási módok Szélességi
További forgalomirányítási és szervezési játékok. 1. Nematomi forgalomirányítási játék
További forgalomirányítási és szervezési játékok 1. Nematomi forgalomirányítási játék A forgalomirányítási játékban adott egy hálózat, ami egy irányított G = (V, E) gráf. A gráfban megengedjük, hogy két
GRÁFELMÉLET. 7. előadás. Javító utak, javító utak keresése, Edmonds-algoritmus
GRÁFELMÉLET 7. előadás Javító utak, javító utak keresése, Edmonds-algoritmus Definíció: egy P utat javító útnak nevezünk egy M párosításra nézve, ha az út páratlan hosszú, kezdő- és végpontjai nem párosítottak,
Gráfelmélet/Diszkrét Matematika MSc hallgatók számára. 3. Előadás
Gráfelmélet/Diszkrét Matematika MSc hallgatók számára 3. Előadás Előadó: Hajnal Péter Jegyzetelő: Pék Máté 2009. szeptember 21. 1. Folyamok 1.1. Definíció. G = (V, E, K, B) irányított gráf, ha e! v : ekv
... fi. ... fk. 6. Fabejáró algoritmusok Rekurzív preorder bejárás (elsőfiú-testvér ábrázolásra)
6. Fabejáró algoritmusok Fa bejárásán olyan algoritmust értünk, amelynek bemenete egy F fa és egy M művelet, és az algoritmus adott sorrendben pontosan egyszer végrehajtja az M műveletet a fa pontjaiban
Az R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit.
2. A VALÓS SZÁMOK 2.1 A valós számok aximómarendszere Az R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit. 1.Testaxiómák R-ben két művelet van értelmezve, az
Programozási módszertan. Függvények rekurzív megadása "Oszd meg és uralkodj" elv, helyettesítő módszer, rekurziós fa módszer, mester módszer
PM-03 p. 1/13 Programozási módszertan Függvények rekurzív megadása "Oszd meg és uralkodj" elv, helyettesítő módszer, rekurziós fa módszer, mester módszer Werner Ágnes Villamosmérnöki és Információs Rendszerek
Matematikai problémák vizsgálata a Maple programcsomag segítségével
Matematikai problémák vizsgálata a Maple programcsomag segítségével Tengely Szabolcs tengely@science.unideb.hu http://www.math.unideb.hu/~tengely Tengely Szabolcs 2014.04.26 Matematikai problémák és a
Optimalizálási eljárások/operációkutatás MSc hallgatók számára
Optimalizálási eljárások/operációkutatás MSc hallgatók számára 7. Előadás: MP(G) tesztelése, Gomory Hu-fák Előadó: Hajnal Péter 2018. tavasz 1. Egy vektor MP(G)-be esésének tesztelése A MP(G) Edmonds-tételbeli
30. ERŐSEN ÜSSZEFÜGGŐ KOMPONENSEK
30. ERŐSEN ÜSSZEFÜGGŐ KOMPONENSEK A gráfos alkalmazások között is találkozunk olyan problémákkal, amelyeket megoldását a részekre bontott gráfon határozzuk meg, majd ezeket alkalmas módon teljes megoldássá
Tuesday, March 6, 12. Hasító táblázatok
Hasító táblázatok Halmaz adattípus U (kulcsuniverzum) K (aktuális kulcsok) Függvény adattípus U (univerzum) ÉT (értelmezési tartomány) ÉK (érték készlet) Milyen az univerzum? Közvetlen címzésű táblázatok
1. ábra. Számláló rendezés
1:2 2:3 1:3 1,2,3 1:3 1,3,2 3,1,2 2,1,3 2:3 2,3,1 3,2,1 1. ábra. Alsó korlát rendezési algoritmusokra Minden olyan rendezési algoritmusnak a futását, amely elempárok egymással
Algoritmuselmélet. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 13.
Algoritmuselmélet NP-teljes problémák Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem 13. előadás Katona Gyula Y. (BME SZIT) Algoritmuselmélet
352 Nevezetes egyenlôtlenségek. , az átfogó hossza 81 cm
5 Nevezetes egyenlôtlenségek a b 775 Legyenek a befogók: a, b Ekkor 9 + $ ab A maimális ab terület 0, 5cm, az átfogó hossza 8 cm a b a b 776 + # +, azaz a + b $ 88, tehát a keresett minimális érték: 88
Algoritmuselmélet zárthelyi (BSc képzés) április 24.
Algoritmuselmélet zárthelyi (BSc képzés) 009. április.. Tekintsük az f (n) = 009 n! és f (n) = 00 (n )! függvényeket. Igaz-e, hogy a) f = O(f ) b) f = O(f ) c) f = Ω(f ) d) f = Ω(f )?. Dijkstra-algoritmussal
MATE-INFO UBB verseny, március 25. MATEMATIKA írásbeli vizsga
BABEŞ-BOLYAI TUDOMÁNYEGYETEM, KOLOZSVÁR MATEMATIKA ÉS INFORMATIKA KAR MATE-INFO UBB verseny, 218. március 25. MATEMATIKA írásbeli vizsga FONTOS TUDNIVALÓK: 1 A feleletválasztós feladatok,,a rész esetén
Számjegyes vagy radix rendezés
Számláló rendezés Amennyiben a rendezendő elemek által felvehető értékek halmazának számossága kicsi, akkor megadható lineáris időigényű algoritmus. A bemenet a rendezendő elemek egy n méretű A tömbben
Specifikáció. B logikai formula, a bemeneti feltétel, K logikai formula, a kimeneti feltétel, A az algoritmus, amelyre az állítás vonatkozik.
Algoritmus Az algoritmus olyan elemi műveletekből kompozíciós szabályok szerint felépített összetett művelet, amelyet megadott feltételt teljesítő bemeneti adatra végrehajtva, a megkívánt kimeneti adatot
Partíció probléma rekurzíómemorizálással
Partíció probléma rekurzíómemorizálással A partíciószám rekurzív algoritmusa Ω(2 n ) műveletet végez, pedig a megoldandó részfeladatatok száma sokkal kisebb O(n 2 ). A probléma, hogy bizonyos már megoldott
Számítógép hálózatok, osztott rendszerek 2009
Számítógép hálózatok, osztott rendszerek 2009 1: Bevezetés: Internet, rétegmodell Alapok: aszimptótika, gráfok 1 Az előadáshoz Előadás: Hétfő 10:00 12:00 óra Gyakorlat: Hétfő 14:00-16:00 óra Honlap: http://people.inf.elte.hu/lukovszki/courses/0910nwmsc
A valós számok halmaza
VA 1 A valós számok halmaza VA 2 A valós számok halmazának axiómarendszere és alapvető tulajdonságai Definíció Az R halmazt a valós számok halmazának nevezzük, ha teljesíti a következő axiómarendszerben
Módosítható Prioritási sor Binomiális kupaccal. Wednesday, March 21, 12
Módosítható Prioritási sor Binomiális kupaccal modosit(x,k) {! if (k>x.kulcs) {!! x.kulcs=k ;!! y=x!! z=x.apa ;!! while(z!=nil and y.kulcs
Számláló rendezés. Példa
Alsó korlát rendezési algoritmusokra Minden olyan rendezési algoritmusnak a futását, amely elempárok egymással való összehasonlítása alapján működik leírja egy bináris döntési fa. Az algoritmus által a
Analízis I. Vizsgatételsor
Analízis I. Vizsgatételsor Programtervező Informatikus szak 2008-2009. 2. félév Készítette: Szabó Zoltán SZZNACI.ELTE zotyo@bolyaimk.hu v.0.6 RC 004 Forrás: Oláh Gábor: ANALÍZIS I.-II. VIZSGATÉTELSOR 2006-2007-/2
Korlátozás és szétválasztás elve. ADAGOLO adattípus
Korlátozás és szétválasztás elve ADAGOLO adattípus Értékhalmaz: E Adagolo : A E Műveletek: A : Adagolo, x : E {Igaz} Letesit(A) {A = /0} {A = A} Megszuntet(A) {Igaz} {A = A} Uresit(A) {A = /0} {A = A}
Geometriai algoritmusok
Geometriai algoritmusok Alapfogalmak Pont: (x,y) R R Szakasz: Legyen A,B két pont. Az A és B pontok által meghatározott szakasz: AB = {p = (x,y) : x = aa.x + (1 a)b.x,y = aa.y + (1 a)b.y),a R,0 a 1. Ha
2. Rekurzió. = 2P2(n,n) 2 < 2P2(n,n) 1
2. Rekurzió Egy objektum definícióját rekurzívnak nevezünk, ha a definíció tartalmazza a definiálandó objektumot. Egy P eljárást (vagy függvényt) rekurzívnak nevezünk, ha P utasításrészében előfordul magának