Gráfalgoritmusok ismétlés ősz

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "Gráfalgoritmusok ismétlés ősz"

Átírás

1 Gráfalgoritmusok ismétlés ősz

2 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 szomszédsági listás ábrázolása során egy A tömböt használunk. Az A tömb V darab listából áll; a gráf minden csúcsához egy lista tartozik. Minden u V csúcs esetén az A[u] szomszédsági lista azokat a v csúcsokat tartalmazza, amelyekre (u, v) E. Amikor egy G = (V, E) gráfot szomszédsági mátrixszal ábrázolunk, feltesszük, hogy a csúcsokat (tetszőleges módon) megszámozzuk az 1, 2,..., V értékekkel. Az ábrázoláshoz használt A = (a ij ) szomszédsági mátrix mérete V V és { 1 ha (i, j) E, a ij = 0 ha (i, j) E. Gráfok bejárása Gráfokkal kapcsolatos algoritmikus feladatokban gyakran van szükség arra, hogy az élek mentén lépkedve valamilyen szisztematikus módon végigjárjuk a gráf csúcsait. Két általános módszer ismert: a szélességi bejárás és a mélységi bejárás. Szélességi bejárás Tekintsünk egy G = (V, E) irányított vagy irányítatlan gráfot, és legyen s V egy kitüntetett csúcs. A szélességi bejárás módszeresen megvizsgálja G éleit, és rátalál az összes s-ből elérhető csúcsra, meghatározza az elérhető csúcsok távolságát s-től, továbbá létrehoz egy s gyökerű szélességi fát, amely tartalmazza az összes elérhető csúcsot; a szélességi fában az s-ből v-be vezető út a legrövidebb s-ből v-be vezető útnak felel meg G-ben bármely s-ből elérhető v csúcsra (legrövidebb út alatt most a legkevesebb élből álló utat értjük). Az algoritmus a már elért és a még felfedezetlen csúcsok közötti határvonalat egyenletesen terjeszti ki a határ teljes széltében. Először meglátogatjuk az s kezdőcsúcsot, majd ennek a csúcsnak az összes szomszédját. Aztán ezen szomszédok összes olyan szomszédját, ahol még nem jártunk, és így tovább. A szélességi bejárás algoritmus megvalósítható O( V + E ) költséggel. 1

3 Mélységi bejárás Egy G = (V, E) irányított gráf mélységi bejárásának stratégiája a következő. Egy kezdőcsúcsból kiindulva addig megyünk tovább irányított élek mentén, ameddig már nem tudunk még be nem járt csúcsba jutni. Ez esetben visszamegyünk az út utolsó előtti csúcsáig, és onnan próbálkozunk másfelé tovább lépni és előremenni. Ha ezek a lehetőségek is kimerültek, még eggyel visszamegyünk, és így tovább. Azt, hogy a v csúcsból már nem tudunk előre lépni, úgy fejezzük ki, hogy a v csúcs mélységi bejárása befejeződött. Előfordulhat, hogy már a kezdőcsúcs bejárását is befejeztük, de a gráfnak még mindig van olyan csúcsa, ahol nem jártunk. Ez azt jelenti, hogy a kezdőcsúcsunkból nem érhető el minden csúcs irányított úton. Ekkor egy új kezdőcsúcsot választunk a még be nem járt csúcsok közül, és innen folytatjuk a gráf mélységi bejárását. A mélységi bejárás algoritmus megvalósítható O( V + E ) költséggel. A mélységi bejárás algoritmus irányítatlan gráfokra is alkalmazható, hiszen egy irányítatlan gráf felfogható irányítottként úgy, hogy minden (u, v) irányítatlan élt az (u, v) és (v, u) irányított élekkel helyettesítünk. Erősen összefüggő komponensek Azt mondjuk, hogy egy G = (V, E) irányított gráf erősen összefüggő, ha bármely u, v V csúcsokra a gráfban vezet v-ből u-ba is és u-ból v-be is irányított út. Egy irányított gráf egy maximális erősen összefüggő részgráfját a gráf egy erősen összefüggő komponensének nevezzük. Más szavakkal, a G gráf egy H részgráfja a G egy erősen összefüggő komponense, ha H erősen összefüggő, továbbá G-nek nem létezik olyan H erősen összefüggő részgráfja, amelynek H valódi részgráfja lenne. Egyszerű, lineáris költségű eljárást adható a mélységi bejárás segítségével egy szomszédsági listákkal adott G = (V, E) irányított gráf erősen összefüggő komponenseinek feltérképezésére. Topológikus rendezés Legyen G = (V, E) tetszőleges irányított gráf, ahol V = n. A G gráf egy topológikus rendezése a csúcsainak egy olyan (v 1, v 2,..., v n ) permutációja (sorrendje), melyben (v i, v j ) E esetén i < j. Belátható, hogy egy irányított gráfnak akkor és csak akkor van topológikus rendezése, ha nem tartalmaz irányított kört. Ebben az esetben egyszerű, lineáris költségű topológikusan rendező eljárást kaphatunk a mélységi bejárás segítségével. 2

4 Legrövidebb utak Adott egy G = (V, E) irányított gráf, az élek halmazán egy w : E R súlyfüggvénnyel. A G gráf egy u csúcsát a v csúccsal összekötő (nem feltétlenül egyszerű) u v irányított út hossza legyen az úton szereplő élek súlyának összege. Legrövidebb u v úton egy olyan u v utat értünk, amelynek hossza minimális a G-beli u v utak között. Ezek után az u, v V csúcsok távolsága legyen 0 ha u = v, d(u, v) = ha nincs u v út, a legrövidebb u v út hossza különben. Vigyázat, itt u és v szerepe nem szimmetrikus, ha az egyik csúcs valamilyen távol van a másiktól, akkor nem biztos, hogy a másik is ugyanolyan távol van az egyiktől. A meghatározás nem is mindig értelmes: ha u és v olyan irányított körön vannak, amelynek összsúlya negatív, akkor ezen körözve akármilyen kicsi (negatív) úthosszt elérhetünk. Ezért a továbbiakban feltesszük, hogy G nem tartalmaz negatív összsúlyú irányított kört. A feladat: (1) Határozzuk meg egy adott csúcsból egy másik adott csúcsba menő legrövidebb utat. (2) Határozzuk meg egy adott csúcsból az összes többi csúcsba menő legrövidebb utakat. (3) Határozzuk meg az összes csúcsból az összes többi csúcsba menő legrövidebb utakat. Meglepő de az első két változat "ugyanolyan nehéz"; az ismert algoritmusok, amelyek megoldják az első problémát egyben megoldják a másodikat is. A legrövidebb utak keresésére szolgáló algoritmusok jellegzetesen a legrövidebb utak következő tulajdonságát aknázzák ki. Legyen G = (V, E) egy súlyozott élű, irányított gráf, továbbá P = (v 1, v 2,..., v k ) egy legrövidebb út a v 1 csúcsból a v k csúcsba. Ekkor tetszőleges 1 i < j k esetén a P út P ij = (v i, v i+1,..., v j ) részútja egy legrövidebb út a v i csúcsból a v j csúcsba. A következőkben feltesszük, hogy a G gráf az alábbi alakú C szomszédsági mátrixával adott: 0 ha u = v, C[u, v] = w(u, v) ha u v és (u, v) E, különben. 3

5 Dijkstra algoritmus Tegyük fel, hogy az élsúlyok nemnegatívak. Ekkor G nyilván nem tartalmaz negatív összsúlyú irányított kört. Jelöljünk ki a G = (V, E) gráfban egy s V csúcsot forrásnak. Célunk, hogy az összes u V csúcsnak az s csúcstól való távolságát meghatározzuk. Használni fogunk egy a G csúcsaival indexelt D tömböt. A D[u] értékekre úgy gondolhatunk, hogy azok minden időpillanatban az eljárás során addig megismert legrövidebb s u utak hosszát tartalmazzák. A D[u] mennyiségek mindenkor felső közelítései lesznek a keresett d(s, u) távolságoknak. Ezen kívül használunk még egy H halmazt, amelyben azokat a csúcsokat tároljuk, amelyek s-től mért távolságát már tudjuk. Dijkstra(G,s) H={s} for minden u V csúcsra do D[u]=C[s,u] for i=1 to V -1 do Válasszunk egy olyan x V\H csúcsot, amelyre D[x] minimális H=H {x} for minden v V\H csúcsra do D[v]=min{D[v],D[x]+C[x,v]} Az algoritmus költsége O( V 2 ). Legszélesebb út Legyen G = (V, E) egy súlyozott élű irányított gráf a w nem negatív súlyfüggvénnyel. Most az élsúlyok áteresztő képességeket reprezentálnak. A gráf egy u v irányított útjának szélessége legyen az út legkisebb súlyú élének súlya. Tetszőleges u és v csúcsokra legyen b(u, v) egy maximális szélességű u v irányított út szélessége (ha u-ból nem vezet út v-be, akkor legyen b(u, v) = 0 definíció szerint). Feladat a gráf egy s csúcsából a többi csúcsba menő legszélesebb irányított utak megtalálása. Használni fogunk egy a G csúcsaival indexelt B tömböt. A B[u] értékekre úgy gondolhatunk, hogy azok minden időpillanatban az eljárás során addig megismert legszélesebb s u utak szélessége. A B[u] mennyiségek mindenkor alsó közelítései lesznek a keresett b(s, u) szélességeknek. Ezen kívül használunk még egy H halmazt, amelyben azokat a csúcsokat tároljuk, amelyekhez vezető legszélesebb utak szélességét már tudjuk. 4

6 LegszélesebbUtak(G,s) H={s} for minden u V csúcsra do B[u]=C[s,u] for i=1 to V -1 do válasszunk egy olyan x V\H csúcsot, amelyre B[x] maximális H=H {x} for minden v V\H csúcsra do B[v]=max{B[v],min{B[x],C[x,v]}} Az algoritmus költsége O( V 2 ). Bellman-Ford algoritmus Most olyan módszert ismertetünk az egy csúcsból induló legrövidebb utak meghatározására, amely akkor is működik, ha bizonyos élsúlyok negatívak. Azt persze továbbra is feltesszük, hogy a gráf nem tartalmaz negatív összhosszúságú irányított kört. Az egyszerűség kedvéért legyen V = {1, 2,..., n} és s = 1. Minden 1 i n 1 és 1 j n esetén jelölje T [i, j] egy legrövidebb olyan 1 j út hosszát, amely legfeljebb i élből áll. Nyilván T [1, j] = C[1, j] minden 1 j n esetén. Ha pedig i > 1, akkor T [i, j] = min{t [i 1, j], min{t [i 1, k] + C[k, j] 1 k n, k j}}. Jegyezzük még meg, hogy ha egy súlyozott élű G = (V, E) irányított gráfban nincs negatív összhosszúságú irányított kör, akkor bármely két csúcs között van olyan legrövidebb út is, ami egyszerű, azaz nem tartalmaz ismétlődő csúcsokat (a körök az út hosszának növelése nélkül eltávolíthatók). Így bármely két csúcs között van olyan legrövidebb út is, amely legfeljebb V 1 élből áll. Következésképpen T [n 1, j] egy legrövidebb 1 j út hosszát tartalmazza minden 1 j n esetén. Mindezek után az algoritmus már egyszerű: a rekurzív képlet szerint sorfolytonosan töltsük ki a T táblázatot, először az első sort balról jobbra, aztán a másodikat, és így tovább. A T táblázatban egy adott érték kiszámításának költsége nyilván O( V ), így az algoritmus összköltsége O( V 3 ). Negatív összsúlyú irányított kör A feladat hatékony algoritmust adni annak eldöntésére, hogy egy súlyozott élű irányított gráf tartalmaz-e negatív összsúlyú irányított kört! 5

7 Legyen G = (V, E) egy súlyozott élű irányított gráf a w : E R súlyfüggvénnyel. Legyenek a G gráf csúcsai v 1, v 2,..., v n. Vegyünk fel egy új s csúcsot, és vezessünk s-ből nulla súlyú irányított éleket a v 1, v 2,..., v n csúcsokba. Az így kialakult gráfot jelölje G. Világos, hogy G-ben akkor és csak akkor van negatív összsúlyú irányított kör, ha ugyanez fennáll G -re is. Futtassuk le G -re a Bellman-Ford algoritmust az s kezdőcsúccsal. Az algoritmus által szolgáltatott távolságértékeket jelölje d[v 1 ], d[v 2 ],..., d[v n ]. Vegyük észre, hogy most d[v i ] 0 minden 1 i n esetén. Vizsgáljuk meg ezután minden (v i, v j ) E élre, hogy teljesül-e a d[v j ] d[v i ] + w(v i, v j ) összefüggés. Ha G -ben nincs negatív összsúlyú irányított kör, akkor a d[v 1 ], d[v 2 ],..., d[v n ] értékek rendre az s-ből a v 1, v 2,..., v n csúcsokba vezető legrövidebb utak hosszai, így a fenti összefüggéseknek nyilvánvalóan teljesülniük kell. Továbbá nem nehéz belátni, hogy ha G -ben van negatív összsúlyú irányított kör, akkor van olyan (v i, v j ) E él, amelyre nem teljesül. Az algoritmus költsége O( V 3 ). Floyd-Warshall algoritmus d[v j ] d[v i ] + w(v i, v j ) A következőkben azt vizsgáljuk, hogy miként lehet egy irányított gráfban az összes csúcspár távolságát meghatározni. Nemnegatív élsúlyok esetén nyilvánvaló, hogy ha a Dijkstra algoritmust minden csúcsra mint forrásra lefuttatjuk, akkor az összes (rendezett) csúcspár távolságát megkapjuk. Van azonban egy ennél közvetlenebb módszer, amelynek előnye, hogy akkor is működik, ha van a gráfban negatív élsúly (természetesen negatív összhosszúságú irányított kör továbbra sem lehet). Az egyszerűség kedvéért most is legyen V = {1, 2,..., n}. Minden 1 i, j n és 0 k n esetén jelölje F k [i, j] egy legrövidebb olyan i j út hosszát, amelynek közbülső csúcsai k-nál nem nagyobb sorszámúak. Nyilván F 0 [i, j] = C[i, j] minden 1 i, j n esetén. Ha pedig k > 0, akkor F k [i, j] = min{f k 1 [i, j], F k 1 [i, k] + F k 1 [k, j]}}. Egy legrövidebb i j út hosszát F n [i, j] tartalmazza minden 1 i, j n esetén. Az algoritmus költsége O( V 3 ). 6

8 Minimális költségű feszítőfák Legyen G = (V, E) egy irányítatlan, összefüggő gráf. A G gráf egy körmentes, összefüggő F = (V, E ) részgráfja a gráf egy feszítőfája. A feszítőfa tehát egy olyan fa, amely G minden csúcsát tartalmazza, és élei a G gráf élei közül valók. Tegyük fel, hogy G élein értelmezve van egy w : E R súlyfüggvény. Most a G gráf egy F feszítőfáját minimális költségűnek nevezzük, ha költsége a benne szereplő élek súlyainak összege minimális G összes feszítőfája közül. A feladat G egy minimális költségű feszítőfájának meghatározása. A minimális feszítőfák keresésére szolgáló algoritmusok legtöbbjének közös vonása, hogy valamilyen módon sorra veszik a gráf éleit, és bizonyosakat bevesznek a kialakuló minimális költségű feszítőfába, másokat pedig eldobnak. A módszerek működése szemlélhető úgy, mintha a gráf éleit színeznénk. A gráf élei kezdetben színtelenek. Minden lépésben kiválasztunk egy még színtelen élt és azt kékre, illetve pirosra színezzük. Végül a kék élek egy minimális költségű feszítőfát adnak. Prim algoritmus. Legyen s a G gráf egy rögzített csúcsa. Minden színező lépéssel az s-et tartalmazó F kék fát bővítjük. Kezdetben az F csúcshalmaza {s}, végül pedig az egész V. A következő kék élnek mindig az egyik legkisebb súlyú élet választjuk azok közül, amelyek F -beli csúcsból F -en kívüli csúcsba mennek. Kruskal algoritmus. A következő befestendő f él legyen mindig a legkisebb súlyú színezetlen él. Ha f két végpontja ugyanabban a kék fában van, akkor az él legyen piros, különben pedig kék. Mindkét algoritmus megvalósítható O( E log E ) költséggel. Minimális költségű feszítőfa variáció Egy feszítőfa költségét úgy definiáltuk, mint a fában szereplő élek súlyainak összege. Bizonyos esetekben másféle költségszámítás is értelmes lehet, például egy fa költségeként értelmezhetjük a legnagyobb súlyú élének a súlyát. Megmutatható, hogy ha egy G = (V, E) súlyozott élű, irányítatlan, összefüggő gráfban T minimális költségű feszítőfa az előbbi értelemben, akkor minimális költségű feszítőfa az utóbbi értelemben is! Néhány NP-teljes feladat Végül lássunk pár olyan problémát, amelyekre nem ismert hatékony algoritmus. 7

9 (1) Egy gráfot k színnel színezhetőnek nevezünk, ha a csúcsaihoz i egészeket (színeket) rendelhetünk úgy, hogy 1 i k, és ha két csúcsot él köt össze, akkor a hozzájuk rendelt színek különbözők. Döntsük el, hogy egy gráf 3 színnel színezhető-e! Döntsük el, hogy egy gráf 4 színnel színezhető-e!... (2) A G irányítatlan gráf csúcsainak egy S részhalmazát független halmaznak nevezzük, ha semelyik két S-beli csúcs között nem fut él G-ben. Döntsük el egy adott G gráfról és egy adott k pozitív egész számról, hogy a G gráfnak van-e legalább k elemű független csúcshalmaza! (3) A G irányítatlan gráf csúcsainak egy T részhalmazát klikknek nevezzük, ha bármely két T -beli csúcs között fut él G-ben. Döntsük el egy adott G gráfról és egy adott k pozitív egész számról, hogy a G gráf tartalmaz-e legalább k elemű klikket! (4) A G irányítatlan gráf csúcsainak egy U részhalmazát éllefogó halmaznak nevezzük, ha G bármely élének van U-beli végpontja. Döntsük el egy adott G gráfról és egy adott k pozitív egész számról, hogy a G gráfnak van-e legfeljebb k elemű éllefogó csúcshalmaza! (5) A G irányított gráf egy irányított köre Hamilton kör, ha abban G minden csúcsa pontosan egyszer szerepel. Döntsük el egy adott G gráfról, hogy tartalmaz-e Hamilton kört! (6) A G irányított gráf egy irányított útja Hamilton út, ha abban G minden csúcsa pontosan egyszer szerepel. Döntsük el egy adott G gráfról, hogy tartalmaz-e Hamilton utat! 8

Algoritmuselmélet. Legrövidebb utak, Bellmann-Ford, Dijkstra. Katona Gyula Y.

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

Részletesebben

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. 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

Részletesebben

Algoritmusok bonyolultsága

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,...,

Részletesebben

Algoritmuselmélet 7. előadás

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

Részletesebben

A számítástudomány alapjai

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

Részletesebben

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. 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

Részletesebben

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. 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

Részletesebben

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. 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

Részletesebben

26. MINIMÁLIS KÖLTSÉGŰ UTAK MINDEN CSÚCSPÁRRA

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

Részletesebben

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.

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

Részletesebben

Euler tétel következménye 1:ha G összefüggő síkgráf és legalább 3 pontja van, akkor: e 3

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ó

Részletesebben

Diszkrét matematika 2.C szakirány

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.

Részletesebben

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. 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)

Részletesebben

Algoritmuselmélet. Bonyolultságelmélet. Katona Gyula Y.

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

Részletesebben

bármely másikra el lehessen jutni. A vállalat tudja, hogy tetszőlegesen adott

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

Részletesebben

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.

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

Részletesebben

Diszkrét matematika 2.C szakirány

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.

Részletesebben

Gráfelméleti feladatok. c f

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,

Részletesebben

24. MINIMÁLIS KÖLTSÉGŰ UTAK I.

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,

Részletesebben

Gráfok. Programozás II. előadás. Szénási Sándor.

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

Részletesebben

30. ERŐSEN ÜSSZEFÜGGŐ KOMPONENSEK

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á

Részletesebben

Diszkrét matematika 2. estis képzés

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

Részletesebben

22. GRÁFOK ÁBRÁZOLÁSA

22. GRÁFOK ÁBRÁZOLÁSA 22. GRÁFOK ÁBRÁZOLÁSA A megoldandó feladatok, problémák modellezése során sokszor gráfokat alkalmazunk. A gráf fogalmát a matematikából ismertnek vehetjük. A modellezés során a gráfok több változata is

Részletesebben

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

Részletesebben

Diszkrét matematika 1. estis képzés

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

Részletesebben

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. 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

Részletesebben

Diszkrét matematika 2.C szakirány

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.

Részletesebben

Diszkrét matematika 2. estis képzés

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

Részletesebben

Melykeres(G) for(u in V) {szin(u):=feher Apa(u):=0} for(u in V) {if szin(u)=feher then MBejar(u)}

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-

Részletesebben

Diszkrét matematika 2. estis képzés

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

Részletesebben

Gráf-algoritmusok Legrövidebb utak

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

Részletesebben

Diszkrét matematika 2. estis képzés

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

Részletesebben

Diszkrét matematika 2.C szakirány

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

Részletesebben

III. Gráfok. 1. Irányítatlan gráfok:

III. Gráfok. 1. Irányítatlan gráfok: III. Gráfok 1. Irányítatlan gráfok: Jelölés: G=(X,U), X a csomópontok halmaza, U az élek halmaza X={1,2,3,4,5,6}, U={[1,2], [1,4], [1,6], [2,3], [2,5], [3,4], [3,5], [4,5],[5,6]} Értelmezések: 1. Fokszám:

Részletesebben

Gráfelméleti alapfogalmak

Gráfelméleti alapfogalmak 1 Gráfelméleti alapfogalmak Gráf (angol graph= rajz): pontokból és vonalakból álló alakzat. pontok a gráf csúcsai, a vonalak a gráf élei. GRÁ Irányítatlan gráf Vegyes gráf Irányított gráf G H Izolált pont

Részletesebben

Algoritmuselmélet 18. előadás

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

Részletesebben

Algoritmuselmélet 11. előadás

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

Részletesebben

Gráfalgoritmusok és hatékony adatszerkezetek szemléltetése

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,

Részletesebben

1: Bevezetés: Internet, rétegmodell Alapok: aszimptótika, gráfok. HálózatokII, 2007

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

Részletesebben

Diszkrét matematika 2.

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

Részletesebben

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

Részletesebben

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. 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

Részletesebben

Diszkrét matematika 2.C szakirány

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.

Részletesebben

Adatszerkezetek 2. Dr. Iványi Péter

Adatszerkezetek 2. Dr. Iványi Péter Adatszerkezetek 2. Dr. Iványi Péter 1 Fák Fákat akkor használunk, ha az adatok között valamilyen alá- és fölérendeltség van. Pl. könyvtárszerkezet gyökér (root) Nincsennek hurkok!!! 2 Bináris fák Azokat

Részletesebben

Dijkstra algoritmusa

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

Részletesebben

Számítógép hálózatok, osztott rendszerek 2009

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

Részletesebben

A DFS algoritmus. Összeállította: Szeszlér Dávid, c BME Számítástudományi és Információelméleti Tanszék, 2015, 2016.

A DFS algoritmus. Összeállította: Szeszlér Dávid, c BME Számítástudományi és Információelméleti Tanszék, 2015, 2016. A DFS algoritmus Korábban már megismerkedtünk a BFS (Szélességi keresés) algoritmussal, amely bejárja egy adott G gráf adott s csúcsából elérhető csúcsokat és eközben több feladatot is hatékonyan megold:

Részletesebben

A gráffogalom fejlődése

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

Részletesebben

23. SZÉLESSÉGI BEJÁRÁS

23. SZÉLESSÉGI BEJÁRÁS 23. SZÉLESSÉGI BEJÁRÁS A bejárási algoritmusok feladata általában a gráf csúcsainak végiglátogatása valamilyen stratégia szerint. A bejárás gyakran azért hajtjuk végre, mert adott tulajdonságú csúcsot

Részletesebben

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. 12.

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. 12. 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 12. előadás Katona Gyula Y. (BME SZIT) Algoritmuselmélet

Részletesebben

Adatszerkezetek II. 2. előadás

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

Részletesebben

Az optimális megoldást adó algoritmusok

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.

Részletesebben

Melykeres(G) for(u in V) {szin(u):=feher Apa(u):=0} for(u in V) {if szin(u)=feher then MBejar(u)}

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

Részletesebben

Melykeres(G) for(u in V) {szin(u):=feher Apa(u):=0} for(u in V) {if szin(u)=feher then MBejar(u)}

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.

Részletesebben

Diszkrét matematika 2.C szakirány

Diszkrét matematika 2.C szakirány Diszkrét matematika 2.C szakirány 2015. tavasz 1. Diszkrét matematika 2.C szakirány 1. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu Komputeralgebra Tanszék 2015. tavasz Gráfelmélet Diszkrét

Részletesebben

Gráfok bejárása. Szlávi Péter, Zsakó László: Gráfok II :17

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

Részletesebben

Diszkrét matematika 1. estis képzés

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 9. 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

Részletesebben

Gráfelmélet. I. Előadás jegyzet (2010.szeptember 9.) 1.A gráf fogalma

Gráfelmélet. I. Előadás jegyzet (2010.szeptember 9.) 1.A gráf fogalma Készítette: Laczik Sándor János Gráfelmélet I. Előadás jegyzet (2010.szeptember 9.) 1.A gráf fogalma Definíció: a G=(V,E) párt egyszerű gráfnak nevezzük, (V elemeit a gráf csúcsainak/pontjainak,e elemeit

Részletesebben

Gráfelmélet jegyzet 2. előadás

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!

Részletesebben

Adatszerkezetek II. 1. előadás

Adatszerkezetek II. 1. előadás Adatszerkezetek II. 1. előadás Gráfok A gráf fogalma: Gráf(P,E): P pontok (csúcsok) és E P P élek halmaza Fogalmak: Irányított gráf : (p 1,p 2 ) E-ből nem következik, hogy (p 2,p 1 ) E Irányítatlan gráf

Részletesebben

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. 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)

Részletesebben

Diszkrét matematika 2.

Diszkrét matematika 2. Diszkrét matematika 2. Mérai László előadása alapján Készítette: Nagy Krisztián 1. előadás Gráfok halmaza, gráf, ahol a csúcsok halmaza, az élek illesztkedés reláció: illesztkedik az élre, ha ( -él illesztkedik

Részletesebben

Algoritmusok és adatszerkezetek 2.

Algoritmusok és adatszerkezetek 2. Algoritmusok és adatszerkezetek 2. Fekete István jegyzetéből (részlet) 9. gyakorlat Forrás: http://people.inf.elte.hu/fekete/ Algoritmusok 2 / gráfalgoritmusok 1. Mélységi bejárás és alkalmazásai 1.1 Mélységi

Részletesebben

1. tétel - Gráfok alapfogalmai

1. tétel - Gráfok alapfogalmai 1. tétel - Gráfok alapfogalmai 1. irányítatlan gráf fogalma A G (irányítatlan) gráf egy (Φ, E, V) hátmas, ahol E az élek halmaza, V a csúcsok (pontok) halmaza, Φ: E {V-beli rendezetlen párok} illeszkedési

Részletesebben

HAMILTON KÖR: minden csúcson PONTOSAN egyszer áthaladó kör. Forrás: (

HAMILTON KÖR: minden csúcson PONTOSAN egyszer áthaladó kör. Forrás: ( HAMILTON KÖR: minden csúcson PONTOSAN egyszer áthaladó kör Teljes gráf: Páros gráf, teljes páros gráf és Hamilton kör/út Hamilton kör: Minden csúcson áthaladó kör Hamilton kör Forrás: (http://www.math.klte.hur/~tujanyi/komb_j/k_win_doc/g0603.doc

Részletesebben

EGYSZERŰ, NEM IRÁNYÍTOTT (IRÁNYÍTATLAN) GRÁF

EGYSZERŰ, NEM IRÁNYÍTOTT (IRÁNYÍTATLAN) GRÁF Összefoglaló Gráfok / EGYSZERŰ, NEM IRÁNYÍTOTT (IRÁNYÍTATLAN) GRÁF Adott a G = (V, E) gráf ahol a V a csomópontok, E az élek halmaza E = {(x, y) x, y V, x y (nincs hurokél) és (x, y) = (y, x)) Jelölések:

Részletesebben

HAMILTON ÚT: minden csúcson PONTOSAN egyszer áthaladó út

HAMILTON ÚT: minden csúcson PONTOSAN egyszer áthaladó út SÍKBA RAJZOLHATÓ GRÁFOK ld. előadás diasorozat SZÍNEZÉS: ld. előadás diasorozat PÉLDA: Reguláris 5 gráf színezése 4 színnel Juhász, PPKE ITK, 007: http://users.itk.ppke.hu/~b_novak/dmat/juhasz_5_foku_graf.bmp

Részletesebben

Gráfalgoritmusok 3 Néhány probléma modellezése gráfokkal 3 Alapfogalmak, jelölések 7 Gráfok ábrázolása 9 Bejárási stratégiák, szélességi bejárás 15

Gráfalgoritmusok 3 Néhány probléma modellezése gráfokkal 3 Alapfogalmak, jelölések 7 Gráfok ábrázolása 9 Bejárási stratégiák, szélességi bejárás 15 Gráfalgoritmusok 3 1. Néhány probléma modellezése gráfokkal 3 1.1 Útkeresés 3 1.2 Minimális költségű út keresése 4 1.3 Minimális költségű feszítőfa keresése 4 1.4 Irányított körmentes gráf (DAG) topologikus

Részletesebben

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 4. kurzus. 3. Előadás: A mohó algoritmus

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

Részletesebben

definiálunk. Legyen egy konfiguráció, ahol és. A következő három esetet különböztetjük meg. 1. Ha, akkor 2. Ha, akkor, ahol, ha, és egyébként.

definiálunk. Legyen egy konfiguráció, ahol és. A következő három esetet különböztetjük meg. 1. Ha, akkor 2. Ha, akkor, ahol, ha, és egyébként. Számításelmélet Kiszámítási problémának nevezünk egy olyan, a matematika nyelvén megfogalmazott kérdést, amire számítógéppel szeretnénk megadni a választ. (A matematika nyelvén precízen megfogalmazott

Részletesebben

Bonyolultságelmélet gyakorlat 06 Gráfos visszavezetések II.

Bonyolultságelmélet gyakorlat 06 Gráfos visszavezetések II. onyolultságelmélet gyakorlat 06 Gráfos visszavezetések II. 1. Feladat Mutassuk meg, hogy a n/-hosszú kör probléma NP-nehéz! n/-hosszú kör Input: (V, ) irányítatlan gráf Output: van-e G-ben a csúcsok felén

Részletesebben

Az R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit.

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

Részletesebben

Algoritmusok bonyolultsága

Algoritmusok bonyolultsága Algoritmusok bonyolultsága 9. előadás http://www.ms.sapientia.ro/~kasa/komplex.htm 1 / 18 Közelítő algoritmusok ládapakolás (bin packing) Adott n tárgy (s i tömeggel) és végtelen sok 1 kapacitású láda

Részletesebben

SzA II. gyakorlat, szeptember 18.

SzA II. gyakorlat, szeptember 18. SzA II. gyakorlat, 015. szeptember 18. Barátkozás a gráfokkal Drótos Márton drotos@cs.bme.hu 1. Az előre megszámozott (címkézett) n darab pont közé hányféleképp húzhatunk be éleket úgy, hogy egyszerű gráfhoz

Részletesebben

angolul: greedy algorithms, románul: algoritmi greedy

angolul: greedy algorithms, románul: algoritmi greedy Mohó algoritmusok angolul: greedy algorithms, románul: algoritmi greedy 1. feladat. Gazdaságos telefonhálózat építése Bizonyos városok között lehet direkt telefonkapcsolatot kiépíteni, pl. x és y város

Részletesebben

Közösségek keresése nagy gráfokban

Közösségek keresése nagy gráfokban Közösségek keresése nagy gráfokban Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem 2011. április 14. Katona Gyula Y. (BME SZIT) Közösségek

Részletesebben

Algoritmuselmélet 2. előadás

Algoritmuselmélet 2. előadás Algoritmuselmélet 2. 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 Február 12. ALGORITMUSELMÉLET 2. ELŐADÁS 1 Buborék-rendezés

Részletesebben

Adatszerkezetek. Nevezetes algoritmusok (Keresések, rendezések)

Adatszerkezetek. Nevezetes algoritmusok (Keresések, rendezések) Adatszerkezetek Nevezetes algoritmusok (Keresések, rendezések) Keresések A probléma általános megfogalmazása: Adott egy N elemű sorozat, keressük meg azt az elemet (határozzuk meg a helyét a sorozatban),

Részletesebben

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

Részletesebben

Ramsey-féle problémák

Ramsey-féle problémák FEJEZET 8 Ramsey-féle problémák "Az intelligens eljárást az jellemzi, hogy még a látszólag megközelíthetetlen célhoz is utat nyit, megfelelő segédproblémát talál ki és először azt oldja meg." Pólya György:

Részletesebben

Felvételi tematika INFORMATIKA

Felvételi tematika INFORMATIKA Felvételi tematika INFORMATIKA 2016 FEJEZETEK 1. Természetes számok feldolgozása számjegyenként. 2. Számsorozatok feldolgozása elemenként. Egydimenziós tömbök. 3. Mátrixok feldolgozása elemenként/soronként/oszloponként.

Részletesebben

GRÁFOK, GRÁF ALGORITMUSOK. Jegyzet

GRÁFOK, GRÁF ALGORITMUSOK. Jegyzet GRÁFOK, GRÁF ALGORITMUSOK Jegyzet 1 Gráfalgoritmusok 3 1. Néhány probléma modellezése gráfokkal 3 1.1 Útkeresés 3 1.2 Minimális költségű út keresése 4 1.3 Minimális költségű feszítőfa keresése 4 1.4 Irányított

Részletesebben

Gráfalgoritmusok Legrövidebb utak egy forrásból Dijkstra algoritmus Bellman-Ford algoritmus 31

Gráfalgoritmusok Legrövidebb utak egy forrásból Dijkstra algoritmus Bellman-Ford algoritmus 31 Gráfalgoritmusok 2 1. Néhány probléma modellezése gráfokkal 2 1.1 Útkeresés 2 1.2 Minimális költségű út keresése 3 1.3 Minimális költségű feszítőfa keresése 3 1.4 Irányított körmentes gráf (DAG) topologikus

Részletesebben

Diszkrét matematika 2.

Diszkrét matematika 2. Diszkrét matematika 2. 2018. október 12. 1. Diszkrét matematika 2. 5. előadás Fancsali Szabolcs Levente nudniq@cs.elte.hu www.cs.elte.hu/ nudniq Komputeralgebra Tanszék 2018. október 12. Diszkrét matematika

Részletesebben

Algoritmuselmélet zárthelyi (BSc képzés) április 24.

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

Részletesebben

KOVÁCS BÉLA, MATEMATIKA I.

KOVÁCS BÉLA, MATEMATIKA I. KOVÁCS BÉLA, MATEmATIkA I. 3 III. MEGFELELTETÉSEk, RELÁCIÓk 1. BEVEZETÉS Emlékeztetünk arra, hogy az rendezett párok halmazát az és halmazok Descartes-féle szorzatának nevezzük. Más szóval az és halmazok

Részletesebben

DISZKRÉT MATEMATIKA 2 KIDOLGOZOTT TÉTELSOR 1. RÉSZ

DISZKRÉT MATEMATIKA 2 KIDOLGOZOTT TÉTELSOR 1. RÉSZ DISZKRÉT MATEMATIKA 2 KIDOLGOZOTT TÉTELSOR 1. RÉSZ B szakirány 2014 június Tartalom 1. Fák definíciója ekvivalens jellemzései... 3 2. Hamilton-kör Euler-vonal... 4 3. Feszítőfa és vágás... 6 4. Címkézett

Részletesebben

Hálózatszámítási modellek

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

Részletesebben

Feladatok, amelyek gráfokkal oldhatók meg 1) A königsbergi hidak problémája (Euler-féle probléma) a

Feladatok, amelyek gráfokkal oldhatók meg 1) A königsbergi hidak problémája (Euler-féle probléma) a Feladatok, amelyek gráfokkal oldhatók meg ) A königsbergi hidak problémája (Euler-féle probléma) a b d c A megfelelő gráf: d a b c ) Egy szórakoztató feladat (Hamilton-féle probléma) Helyezzük el az,,,...,

Részletesebben

út hosszát. Ha a két várost nem köti össze út, akkor legyen c ij = W, ahol W már az előzőekben is alkalmazott megfelelően nagy szám.

út hosszát. Ha a két várost nem köti össze út, akkor legyen c ij = W, ahol W már az előzőekben is alkalmazott megfelelően nagy szám. 1 Az utazó ügynök problémája Utazó ügynök feladat Adott n számú város és a városokat összekötő utak, amelyeknek ismert a hossza. Adott továbbá egy ügynök, akinek adott városból kiindulva, minden várost

Részletesebben

Adatszerkezetek II. 3. előadás

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;

Részletesebben

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

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 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 Bináris keresőfa, kupac Katona Gyula Y. (BME SZIT) A számítástudomány

Részletesebben

Javító és majdnem javító utak

Javító és majdnem javító utak Javító és majdnem javító utak deficites Hall-tétel alapján elméletileg meghatározhatjuk, hogy egy G = (, ; E) páros gráfban mekkora a legnagyobb párosítás mérete. Ehhez azonban első ránézésre az összes

Részletesebben

Diszkrét matematika 2.

Diszkrét matematika 2. Diszkrét matematika 2. Mérai László előadása alapján Készítette: Nagy Krisztián 4. előadás Eulerséta: Olyan séta, mely a gráf minden élét pontosan egyszer tartalmazza. Tétel: egy összefüggő gráf. Ha minden

Részletesebben

Logika és számításelmélet. 11. előadás

Logika és számításelmélet. 11. előadás Logika és számításelmélet 11. előadás NP-teljesség Emlékeztetőül: NP-teljes nyelv Egy L probléma NP-teljes (a polinom idejű visszavezetésre nézve), ha L NP L NP-nehéz, azaz minden L NP esetén L p L. Azaz

Részletesebben

ELTE IK Esti képzés tavaszi félév. Tartalom

ELTE IK Esti képzés tavaszi félév. Tartalom Diszkrét Matematika 2 vizsgaanyag ELTE IK Esti képzés 2017. tavaszi félév Tartalom 1. Számfogalom bővítése, homomorfizmusok... 2 2. Csoportok... 9 3. Részcsoport... 11 4. Generátum... 14 5. Mellékosztály,

Részletesebben

KOMBINATORIKA ElŐADÁS Matematika BSc hallgatók számára. Klikkek gráfokban-1. Definíció. Egy G gráfban egy K V(G) csúcshalmazt klikknek nevezünk, ha K

KOMBINATORIKA ElŐADÁS Matematika BSc hallgatók számára. Klikkek gráfokban-1. Definíció. Egy G gráfban egy K V(G) csúcshalmazt klikknek nevezünk, ha K KOMBINATORIKA ElŐADÁS Matematika BSc hallgatók számára Klikkek gráfokban Előadó: Hajnal Péter 2017 1. Az alapkérdés Emlékeztetünk egy a gráfok színezésénél tárgyalt fontos fogalomra: Definíció. Egy G gráfban

Részletesebben

Diszkrét matematika 2 (C) vizsgaanyag, 2012 tavasz

Diszkrét matematika 2 (C) vizsgaanyag, 2012 tavasz Diszkrét matematika 2 (C) vizsgaanyag, 2012 tavasz A vizsga menete: a vizsga írásbeli és szóbeli részből áll. Az írásbeli beugrón az alábbi kérdések közül szerepel összesen 12 darab, mindegyik egy pontot

Részletesebben

3. Fuzzy aritmetika. Gépi intelligencia I. Fodor János NIMGI1MIEM BMF NIK IMRI

3. Fuzzy aritmetika. Gépi intelligencia I. Fodor János NIMGI1MIEM BMF NIK IMRI 3. Fuzzy aritmetika Gépi intelligencia I. Fodor János BMF NIK IMRI NIMGI1MIEM Tartalomjegyzék I 1 Intervallum-aritmetika 2 Fuzzy intervallumok és fuzzy számok Fuzzy intervallumok LR fuzzy intervallumok

Részletesebben

Diszkrét matematika 2.C szakirány

Diszkrét matematika 2.C szakirány Diszkrét matematika 2.C szakirány 2017. tavasz 1. Diszkrét matematika 2.C szakirány 10. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék

Részletesebben