EGY HEURISZTIKA A CARP MEGOLDÁSÁRA. Borgulya István Pécsi Tudományegyetem Közgazdaságtudományi Kar. Összefoglaló

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

Download "EGY HEURISZTIKA A CARP MEGOLDÁSÁRA. Borgulya István Pécsi Tudományegyetem Közgazdaságtudományi Kar. Összefoglaló"

Átírás

1 EGY HEURISZTIKA A CARP MEGOLDÁSÁRA A HEURISTIC FOR THE CARP Borgulya István Pécsi Tudományegyetem Közgazdaságtudományi Kar Összefoglaló A CARP (Capacitated Arc Routing Problem) esetén egy úthálózat kijelölt útszakaszait végig kell járni valamilyen szolgáltatást teljesítve (pl. téli utak sózása). A szolgáltatást adott számú, egyenlő kapacitású jármű hajtja végre, melyek egy telephelyről indulnak és oda térnek vissza. Minden útszakasz bejárásához adott költség tartozik, és az útszakasz akárhányszor bejárható. A CARP célja olyan útvonalak meghatározása a járműveknek, hogy minden kijelölt útszakaszt csak egy jármű szolgáljon ki, az útszakaszokra szállított szükséges anyagok mennyisége ne lépje túl az egyes járművek kapacitását, és a járművek össz útvonal költsége minimális legyen. A CARP megoldására egy heurisztikát, egy evolúciós algoritmust (EA) mutatunk be. Az EA egy hibrid, steady-state algoritmus. A szülőt truncation szelekcióval választja ki, és az utód kialakítására csak mutáció műveletet alkalmaz. A mutáció az EVL technikán, egy memória alapú módszeren alapul. Az algoritmust benchmark problémákon ellenőriztük. Első eredményeink jobbak, mint a CARPET módszer eredményei. Kulcsszavak evolúciós algoritmus, kombinatorikus optimalizálás, CARP Abstract In the CARP (Capacitated Arc Routing Problem) there is an undirected network of streets, and on a subset of streets we have to make services (e.g. winter gritting). A fleet of identical vehicles of limited capacity make the services; the fleet is based at a depot and each trip starts and ends at the depot. Each street can be traversed any number of times, with a known reversal cost. The CARP consists of determining a set of vehicle trips of minimum total cost, such that each required street is serviced by one single trip, and the total demand processed by a trip fits vehicle capacity. We present for the CARP a heuristic, an evolutionary algorithm (EA). The EA is a hybrid steady-state algorithm. It uses truncation selection and it uses only mutation for the eration of the descendants. The mutation is based on the EVL technique, that is a memory based method. The algorithm was tested on benchmark problems. Our first results are better than the results of the method CARPET. Keywords evolutionary algorithm, combinatorial optimization, CARP 1

2 1. Bevezetés A CARP (Capacitated Arc Routing Problem) esetén egy úthálózat kijelölt útszakaszait végig kell járni valamilyen szolgáltatást teljesítve (pl. téli utak sózása, iskolabusz szervezés, postai küldemények kivitele). A szolgáltatást adott számú, egyenlő kapacitású jármű (személy) hajtja végre, melyek egy telephelyről indulnak és oda térnek vissza. Minden útszakasz bejárásához adott költség tartozik, és az útszakasz akárhányszor bejárható. A CARP célja olyan útvonalak meghatározása a járműveknek, hogy minden kijelölt útszakaszt csak egy jármű szolgáljon ki, az útszakaszokra szállított szükséges anyagok mennyisége ne lépje túl az egyes járművek kapacitását, és a járművek össz útvonal költsége, beleértve a köztes, összekötő útvonalak költségét is, minimális legyen. A CARP-ot egy G=(V,EA) gráfon definiáljuk, ahol V a csúcsok halmaza, E az irányítatlan élek, A pedig az irányított élek halmaza. A szolgáltatást m egyenlő C kapacitású jármű hajtja végre, melyek egy telephelyen találhatók (s csúcsban). A szolgáltatást egy R EA részhalmazon kell végrehajtani. Minden (v i, v j ) élhez tartozik egy c ij >0 költség/ úthossz és q i 0 szükséges anyag. Egy útvonalat egy (v 1, v 2,,v k ) vektor ír le, ahol v 1 =v k =s és minden (v i,v i+1 )EA. Az R halmaz választásától függően a CARP különböző változatai léteznek, pl.: ha R=EA, akkor kapacitással adott kínai postás probléma, ha REA, akkor kapacitással adott vidéki postás probléma. Mi a továbbiakban olyan CARP változatot tekintünk, amelyben az A halmaz üres, és R E. A CARP NP-teljes probléma. Megoldására különböző egzakt módszerek léteznek. Ilyenek pl. az egészértékű lineáris programozás, a korlátozás és szétválasztás módszere. Mivel az egzakt módszerek csak kisméretű feladatokon gazdaságosak (élek száma <30), a nagyobb méretű feladatoknál heurisztikákat alkalmaznak. Gyakori heurisztikák a különböző konstrukciós heurisztikák, kereső eljárások és a meta-heurisztikák, mint szimulált hűtés, tabu keresés (TS), evolúciós algoritmus (EA) változatok (etikus algoritmus, hangya kolónia optimalizálás, memetikus algoritmus). Tanulmányunkban egy újabb EA-t mutatunk be a CARP megoldására. Az új EA egy memetikus algoritmus (MA), amelyben egy explicit kollektív memória technikát, az EVL-t adaptáltuk a CARP számára, és használtunk fel a mutációnál (részletesebben Borgulya, 2006, 2008). Az új algoritmus főbb jellemzői: nem használ rekombináció műveletet, speciális mutáció műveletet alkalmaz kétféle változatban: az első esetben a transzformáció valószínűségét az EVL alapján határozza meg, míg a második esetben egy véletlen transzformációt alkalmaz. hatféle különböző sztochasztikus 2-opt helyi kereső eljárás változattal javítja a megoldások minőségét. Az algoritmus működését CARP tesztfeladatokon ellenőriztük. Összehasonlító vizsgálatokhoz a három legjobb eredményt elérő módszert választottuk, és eredményeink jók: második-harmadik legjobb eredményt érte el az új algoritmus. 2

3 A tanulmány hátralévő részében először a probléma kiválasztásához kapcsolódó motivációról szólunk. Az új algoritmust a 3. fejezet mutatja be. A 4. fejezet a tesztelési eredményeket részletezi, összehasonlítva különböző módszerek eredményét. Az 5. fejezet az összefoglaló. 2. Motiváció A CARP témakörrel feleségem egy kérése kapcsán kezdtem el foglalkozni. Rendszeresen teniszezünk. A játék végén le kell húzni a pályát, és utána a fehér műanyag csíkokból készült vonalakat egy kefével szintén meg kell tisztítani. Ilyenkor a műanyag csíkokon lépkedünk, hogy ne tapossuk össze a már lehúzott salakos pályát. Feleségem régóta kér, hogy számoljam ki a legrövidebb utat a műanyag csíkok tisztításához, hogy ne bolyongjunk feleslegesen a csíkokon. Végül hozzáláttam, hogy megkeressem a matematikai modellt a teniszcsíkok tisztítása mögött. Kiderült, hogy a teniszháló mellett további kis sétáló út engedélyezésével, valamint abból a feltevésből, hogy a kefe a háló közelében van, és oda is kell visszavinni, a tisztítási útvonal meghatározása egy kapacitás nélküli vidéki postás probléma megoldása (legalábbis egy térfelet figyelembe véve). A problémát vizsgálva végül az általánosabb CARP megoldását választottam, melyre egy EA-t fejlesztettem. A kész algoritmus speciális eseteként kaptam végül a teniszpálya vonalak tisztításának útvonalát. Ezt feleségem rafinált megoldásnak találta. 3. Az újalgoritmus Az algoritmus struktúrája Az új memetikus algoritmus (jelölés: B_MA) két fázisból áll. Mindkét fázis egy hibrid EA. Az első fázis egy gyors előkészítő rész, amely az induló populáció minőségét javítja. A második fázis mutációval alakítja ki az utódokat. A B_MA főbb lépései: Procedure B_ MA(t, itt, kn, limit, opt, optp) Kezdő populáció. ECM kezdőértéke /* Első fázis: Do itt -szer Szelekció, helyi keresés, visszahelyezés. Minden kn-ik iterációban: ECM aktualizálás, Duplikált elemek törlése. od. /* M ásodik fázis: Repeat Do kn -szer Szelekció, mutáció, helyi keresés, visszahelyezés. od. ECM aktualizálás, Duplikált elemek törlése, Restart. optp= a legjobb egyed, opt=f(optp) until limit < erációszám end Az alkalmazott paraméterek a következők: 3

4 t a populáció mérete, itt az első fázis eráció száma, kn minden kn-edik erációban ellenőrizzük az algoritmust, limit maximális erációszám. B_ MA jellemzők A főbb funkciók és jellemzők a két fázisban a következők: Input adatok. Az algoritmus először a V, R, E-R számosságokat, majd a járművek számát és C kapacitását olvassa be. Utána az R, majd E-R halmaz élei következnek. Az éleket folyamatosan sorszámozza 1-től R-ig: a sorszámok tehát csak azon éleket azonosítják, amelyeken szolgáltatást kell teljesíteni. Ha egy él csúcsait felcseréljük, azaz inverz irányban használjuk az élt, akkor a sorszám+1000 kóddal jelöljük az inverz élt. Egyedek. Egy egyed m féle útvonalat ír le. Ez egyes útvonalak kezdete a telephelyről indul, ezt egy további határolóval, a nulla sorszámmal jelöljük. Az útvonal vége ismét a telephely, de ez egyben azonos a következő útvonal kezdetével, így nem jelöljük külön nulla sorszámmal. Az R éleinek eléréséhez szükségesek lehetnek további számozatlan élek az E-R halmazból: ezeket nem jelöljük az útvonalakon, csak figyelembe vesszük az útvonal költségénél. (Ehhez Floyd (1962) algoritmusával kiszámoljuk a legrövidebb útvonalat minden csúcs közt és egy mátrixban tároljuk). Az egyed tehát egy permutációja lesz az R éleinek, valamint a nulla kezdőjelnek m-szer (a ciklikus permutációkat azonosnak tekintjük). Pl. egy három útvonalból álló 10 élt érintő szolgáltatás esetén egy lehetséges egyed: (ahol 1008 a 8. él inverzét jelöli). Minden útvonal egy járműhez tartozik, melynek kapacitása C. A szállított anyag ellenőrzéséhez így minden járműnél feltételeket kell megfogalmazni: g i (az i-dik útvonalon szükséges anyag C) 0 (i=1, 2,, m). Kezdő populáció. A kezdőpopulációt véletlenszerűen eráljuk, de a populáció első néhány egyedét (kb. 30 egyedet) a következő kép eráljuk. R minden éléhez meghatározzuk a többi él távolságát (csúcsaikat figyelembe véve) és növekvő sorrendbe rendezzük a szomszédos éleket a távolság alapján. E szomszédsági lista alapján választjuk rendre a következő élt e néhány elemnél. Az első élüket véletlenszerűen választjuk, de a következőket már a szomszédsági lista alapján, kiválasztva a legközelebbi, még nem érintett élt. Ha elkészül az él sorozat, útvonalakat vágunk egymás után az él sorozatból figyelembe véve a C kapacitást (végül lehetséges, hogy lesznek üres járművek, vagy lesz egy jármű túl sok anyaggal). Fitnesz függvény. Az algoritmus fitnesz függvénye relatív sorrendet határoz meg az egyedek közt. E fitnesz meghatározásához az f célfüggvényt, amely az útvonalak összköltségét adja, valamint a g i feltételeket használjuk. Mérje D(x) a g i (j=1,2,,m) feltételek megszegésének mértékét: 1/ 2 m 2 D ( x) max{ ( ),0} g j x j 1 4

5 (Ha egy x egyed lehetséges megoldás, akkor D(x)=0). Jellemezze D(x) és f(x) az x egyedet a következő kép: x jobb egyed y-nál, ha D(x)<D(y). Ha D(x)=D(y), x akkor jobb y-nál, ha f(x)< f(y). Szelekció. Az első fázisban nincs szelekció, az egyedek véletlenszerűen eráljuk. A második fázisban csonkolásos szelekciót alkalmazunk. Mutáció. A mutációt a második fázisban alkalmazzuk. Kétféle transzformáció változat közt választ az algoritmus: a transzformáció valószínűségét az EVL alapján határozza meg (lásd a mellékletben), vagy egy véletlen transzformációt alkalmaz. Mindkét esetben a következő transzformációk valamelyikét alkalmazza: csere, beszúrás, két útvonal egy-egy részletét kicseréli, vagy az él inverzét veszi. ECM aktualizálás. Az ECM az R sorszámozott éleinek, ezen élek inverzeinek, valamint a nulla előfordulási gyakoriságát gyűjti, tanulja a permutáció különböző pozícióin a sikertelen egyedek alapján. Periodikusan a populáció 20 %-t használja fel e célra. Helyi keresés. Az algoritmus hatféle változatát alkalmazza a 2-opt helyi kereső eljárásnak egymás után. A kiválasztott két útszakasz (él) alapján az egyes változatok különböző transzformációkat alkalmaznak. Így a két útszakasz által megadott permutációrészben megfordítja a szakaszok sorrendjét, kicseréli a két útszakaszt, beszúrja a második szakaszt az első után, az útszakasz inverzét veszi, ha az útszakaszok különböző útvonalak részei, akkor az útszakaszokkal induló befejező részét az útvonalaknak kicseréli, ha az útszakaszok különböző útvonalak részei, akkor az útszakaszokkal végződő, induló részét az útvonalaknak kicseréli. Minden 2-opt változat sztochasztikus: ha nem tudja javítani a megoldást, kis valószínűséggel elfogadja a rossz transzformációt. Visszahelyezés. Mindkét fázisban az algoritmus a leghasonlóbb egyeddel hasonlítja össze az utódot (Hamming távolság alapján). Ha az utód jobb, a korábbi egyed helyére kerül. Ha az egyedek száma kevesebb, mint a populáció mérete, akkor az utódot beszúrja új egyedként (restart után). Restart. Ha több mint 300 eráció alatt nem javult a legjobb egyed minősége, akkor a második fázist új populációval folytatja az algoritmus: csak a legjobb egyedek 30%-át tarja meg, a többit törli. Megállási feltétel. Az algoritmus megáll, ha a eráció szám nagyobb, mint limit. 4. Teszteredmények A különböző benchmark feladatok közül DeArmon és Englese 23, 24 feladatát választottuk tesztelésre ( DeArmon feladatai (gdb feladatok) a kapacitással adott kínai postás, míg Englese feladatai (egl feladatok) a kapacitással adott vidéki postás probléma körébe tartoznak. DeArmon feladatai kisméretűek (7-27 csúcs, él), Englese feladatai pedig már közepes méretűek csúccsal és éllel. Az algoritmust Visual Basic-ben programoztuk és Intel Core Duo CPU 2.2 GHz processzoron, 2 GB RAM memóriával, Windows Vista Business operációs rendszer alatt futott. A paraméterek beállításánál komoly segítséget jelentett a járatszervezési problémára fejlesztett algoritmusunk (Borgulya, 2008), melynek több paraméter értékét át lehetett venni. Így a populáció mérete t=90, az első fázis hossza itt=50, az ellenőrzések gyakorisága kn=10. 5

6 A maximális erációszám függ a probléma nehézségétől, így limit=10000, vagy értéket használtunk. 1.t áblázat. B_MA eredmények. név AK Hiba % Idő név AK Hiba % Idő LJ LR AT LJ LR AT gdb egl-e1-a gdb egl-e1-b gdb egl-e1-c gdb egl-e2-a gdb egl-e2-b gdb egl-e3-c gdb egl-e3-a gdb egl-e3-b gdb egl-e3-c gdb egl-e4-a gdb egl-e4-b gdb egl-e4-c gdb egl-s1-a gdb egl-s1-b gdb egl-s1-c gdb egl-s2-a gdb egl-s2-b gdb egl-s3-c gdb egl-s3-a gdb egl-s3-b gdb egl-s3-c gdb egl-s4-a gdb egl-s4-b egl-s4-c Átlag A B_MA eredményeit az 1. táblázat tartalmazza. A tábla átlagos eredményeket mutat: a kisebb feladatokat hússzor, a közepes méretűeket tízszer futtattuk. A tábla tartalmazza a 6

7 feladatok nevét (név), az ismert alsó korlátot (AK), az AK-tól való relatív eltérés százalékát (Hiba %) három értéknél: a legjobb megoldásnál (LJ), a legrosszabb megoldásnál (LR) és az átlagos megoldásnál (AT). Végül a legjobb eredmény eléréséhez szükséges átlagos futási idő látható CPU másodpercbe n (Idő). A táblázatban félkövér számok jelzik azon legjobb értékeket, ahol az érték azonos az ismert legjobb megoldással. 2. táblázat. Összehasonlító eredmények. Módszer DeArmon feladatok Hiba % Englese feladatok LJ AT LJ AT CARPET B_MA LPR_MA BE_TS Végül a 2. táblázat összehasonlító eredményeket tartalmaz. Összehasonlításra a B_MA mellett két TS módszert: CARPET (Hertz et al., 2000) és BE_TS (Brandăoa és Eglese 2008), valamint egy memetikus algoritmust: LPR_MA (Lacomme et al., 2004) választottunk. A táblázat a legjobb eredmények, valamint az átlagos eredmények hibáit mutatja a különböző módszereknél. Megállapítható, hogy a B_MA a DeArmon feladatokon a legjobb módszerek közé tartozik. Az Englese feladatokon a harmadik a rangsorban (de több esetben jobb az eredménye az LPR_MA-nál (lásd Lacomme et al., 2004)). 5. Összefoglalás Tanulmányunkban a CARP megoldására egy heurisztikát, egy memetikus algoritmust (B_MA) mutattunk be. Algoritmusunkat a korábbi módszerektől eltérő megoldás jellemzi: egy memória alapú technikát (EVL) alkalmaz mutációnál és több féle sztochasztikus kereső eljárással javítja az eredményeket. A bemutatott eredmények az algoritmus fejlesztés eső stádiumába tartoznak. A kutatás következő részében célunk az algoritmus minőségének és futási idejének a javítása. A helyi kereső eljárások, valamint a programkód egyszerűsítésével, gyorsításával jobb eredményeket kívánunk elérni. 6. Köszönetnyilvánítás A kutatás az OTKA K támogatásával készült. 7. Melléklet. Az EVL alapgondolata a következő (Borgulya, 2006, 2008). Tekintsünk egy EA-t, és tegyük fel, hogy az egyed minden változója ugyanazon m diszkrét értéket veheti fel. Tárolja az ECM m x n es mátrix a változók különböző értékeinek gyakoriságát. E mátrixot a populáció néhány legrosszabb egyede alapján aktualizáljuk periodikusan. 7

8 ECM ij Jelölje a j-dik változó i-dik értékének gyűjtött és tanult gyakoriságát a -ik erációig. Az ECM mátrixot a következő képlettel aktualizálhatjuk: 1 ECMij (1 ) ECMij ECMij ( e. g. 0.2) ECM ahol ij a j-dik változó i-dik értékének gyakorisága a -ik erációban a legrosszabb egyedeket figyelembe véve, és egy relaxációs faktor. Az X utód j-dik változójának mutációs valószínűsége a következő: ECM x j j p j 1 a n j ECM kj k 1 ahol B a legjobb egyedek egyike és If Xj = B j then a j = 1 else a j = 0. Az EVL alapú mutáció a CARP esetén a következő. Legyen X utód és legyen B a legjobb egyedek egyike. Válasszunk véletlenszerűen egy (X j, X j+1) párt, és keressünk jobb értéket a j+1-dik változónak. Jelölje U az X i szomszédsági listájának néhány első elemét (pl. első n/3 élt). Válasszuk az első X z U élt p j+1 valószínűséggel (ha nincs ilyen, akkor egy véletlen X z U élt) : p j1 1 n k1 ECM z ECM z j1 k, j1 a j1 Ezután pl. kicseréljük X j+1 és X z értékeit. Irodalomjegyzék [1] Borgulya I. (2006) An Evolutionary Algorithm for the biobjective QAP. In: Reusch B. (Editor): Computational Intellice, Theory and Applications Advances in Soft Computing, Springer series. pp [2] Borgulya, I. (2008) An Algorithm for the Capacitated Vehicle Routing Problem with Route Balancing. Central European Journal of Operation Research (In print) [3] Brandăoa J, Eglese R. (2008) A deterministic tabu search algorithm for the capacitated arc routing problem Computers & Operations Research [4] Floyd R.W (1962) Algorithm 97, Shortest path, Commun. ACM 5, 345. [5] Hertz A., Laporte G., Mittaz M. (2000). A Tabu Search Heuristic for the Capacitated Arc Routing Problem. Operations Research, 48(1), [6] Lacomme P, Prins C, Ramdane-Cherif W.(2004) Competitive memetic algorithms for arc routing problems. Annals of Operational Research 131(1 4):

Számítógépes döntéstámogatás. Genetikus algoritmusok

Számítógépes döntéstámogatás. Genetikus algoritmusok BLSZM-10 p. 1/18 Számítógépes döntéstámogatás Genetikus algoritmusok Werner Ágnes Villamosmérnöki és Információs Rendszerek Tanszék e-mail: werner.agnes@virt.uni-pannon.hu BLSZM-10 p. 2/18 Bevezetés 1950-60-as

Részletesebben

Tartalomjegyzék. Tartalomjegyzék... 3 Előszó... 9

Tartalomjegyzék. Tartalomjegyzék... 3 Előszó... 9 ... 3 Előszó... 9 I. Rész: Evolúciós számítások technikái, módszerei...11 1. Bevezetés... 13 1.1 Evolúciós számítások... 13 1.2 Evolúciós algoritmus alapfogalmak... 14 1.3 EC alkalmazásokról általában...

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

2. Visszalépéses keresés

2. Visszalépéses keresés 2. Visszalépéses keresés Visszalépéses keresés A visszalépéses keresés egy olyan KR, amely globális munkaterülete: egy út a startcsúcsból az aktuális csúcsba (az útról leágazó még ki nem próbált élekkel

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

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

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

Evolúciós algoritmusok

Evolúciós algoritmusok Evolúciós algoritmusok Evolúció, mint kereső rendszer A problémára adható néhány lehetséges választ, azaz a problématér több egyedét tároljuk egyszerre. Ez a populáció. Kezdetben egy többnyire véletlen

Részletesebben

Mesterséges Intelligencia I. (I602, IB602)

Mesterséges Intelligencia I. (I602, IB602) Dr. Jelasity Márk Mesterséges Intelligencia I. (I602, IB602) harmadik (2008. szeptember 15-i) előadásának jegyzete Készítette: Papp Tamás PATLACT.SZE KPM V. HEURISZTIKUS FÜGGVÉNYEK ELŐÁLLÍTÁSA Nagyon fontos

Részletesebben

Dr. habil. Maróti György

Dr. habil. Maróti György infokommunikációs technológiák III.8. MÓDSZER KIDOLGOZÁSA ALGORITMUSOK ÁTÜLTETÉSÉRE KIS SZÁMÍTÁSI TELJESÍTMÉNYŰ ESZKÖZÖKBŐL ÁLLÓ NÉPES HETEROGÉN INFRASTRUKTÚRA Dr. habil. Maróti György maroti@dcs.uni-pannon.hu

Részletesebben

Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék

Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék 2016/17 2. félév 8. Előadás Dr. Kulcsár Gyula egyetemi docens Kereső algoritmusok alkalmazása

Részletesebben

SZÁLLÍTÁSI FELADAT KÖRUTAZÁSI MODELL WINDOWS QUANTITATIVE SUPPORT BUSINESS PROGRAMMAL (QSB) JEGYZET Ábragyűjtemény Dr. Réger Béla LÉPÉSRŐL - LÉPÉSRE

SZÁLLÍTÁSI FELADAT KÖRUTAZÁSI MODELL WINDOWS QUANTITATIVE SUPPORT BUSINESS PROGRAMMAL (QSB) JEGYZET Ábragyűjtemény Dr. Réger Béla LÉPÉSRŐL - LÉPÉSRE SZÁLLÍTÁSI FELADAT KÖRUTAZÁSI MODELL WINDOWS QUANTITATIVE SUPPORT BUSINESS PROGRAMMAL (QSB) JEGYZET Ábragyűjtemény Dr. Réger Béla LÉPÉSRŐL - LÉPÉSRE KÖRUTAZÁSI MODELL AVAGY AZ UTAZÓÜGYNÖK PROBLÉMÁJA Induló

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

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

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

end function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t..

end function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t.. A Név: l 2014.04.09 Neptun kód: Gyakorlat vezető: HG BP MN l 1. Adott egy (12 nem nulla értékû elemmel rendelkezõ) 6x7 méretû ritka mátrix hiányos 4+2 soros reprezentációja. SOR: 1 1 2 2 2 3 3 4 4 5 6

Részletesebben

Programozás alapjai 9. előadás. Wagner György Általános Informatikai Tanszék

Programozás alapjai 9. előadás. Wagner György Általános Informatikai Tanszék 9. előadás Wagner György Általános Informatikai Tanszék Leszámoló rendezés Elve: a rendezett listában a j-ik kulcs pontosan j-1 kulcsnál lesz nagyobb. (Ezért ha egy kulcsról tudjuk, hogy 27 másiknál nagyobb,

Részletesebben

Általános algoritmustervezési módszerek

Á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

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

Ütemezési problémák. Kis Tamás 1. ELTE Problémamegoldó Szeminárium, ősz 1 MTA SZTAKI. valamint ELTE, Operációkutatási Tanszék

Ütemezési problémák. Kis Tamás 1. ELTE Problémamegoldó Szeminárium, ősz 1 MTA SZTAKI. valamint ELTE, Operációkutatási Tanszék Ütemezési problémák Kis Tamás 1 1 MTA SZTAKI valamint ELTE, Operációkutatási Tanszék ELTE Problémamegoldó Szeminárium, 2012. ősz Kivonat Alapfogalmak Mit is értünk ütemezésen? Gépütemezés 1 L max 1 rm

Részletesebben

Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék

Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék 2016/17 2. félév 5. Előadás Dr. Kulcsár Gyula egyetemi docens Tartalom 1. Párhuzamosan

Részletesebben

2. Visszalépéses stratégia

2. Visszalépéses stratégia 2. Visszalépéses stratégia A visszalépéses keres rendszer olyan KR, amely globális munkaterülete: út a startcsúcsból az aktuális csúcsba (ezen kívül a még ki nem próbált élek nyilvántartása) keresés szabályai:

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

értékel függvény: rátermettségi függvény (tness function)

értékel függvény: rátermettségi függvény (tness function) Genetikus algoritmusok globális optimalizálás sok lehetséges megoldás közül keressük a legjobbat értékel függvény: rátermettségi függvény (tness function) populáció kiválasztjuk a legrátermettebb egyedeket

Részletesebben

Összetett programozási tételek Rendezések Keresések PT egymásra építése. 10. előadás. Programozás-elmélet. Programozás-elmélet 10.

Összetett programozási tételek Rendezések Keresések PT egymásra építése. 10. előadás. Programozás-elmélet. Programozás-elmélet 10. Összetett programozási tételek Sorozathoz sorozatot relő feladatokkal foglalkozunk. A bemenő sorozatot le kell másolni, s közben az elemekre vonatkozó átalakításokat lehet végezni rajta: Input : n N 0,

Részletesebben

Képrekonstrukció 9. előadás

Képrekonstrukció 9. előadás Képrekonstrukció 9. előadás Balázs Péter Képfeldolgozás és Számítógépes Grafika Tanszék Szegedi Tudományegyetem hv-konvex összefüggő halmazok Mag-burok-szerű rekonstrukció: S. Brunetti, A. Del Lungo, F.

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

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

Heurisztikák BitTorrent hálózatok max-min méltányos sávszélesség-kiosztására

Heurisztikák BitTorrent hálózatok max-min méltányos sávszélesség-kiosztására Heurisztikák BitTorrent hálózatok max-min méltányos sávszélesség-kiosztására Dobjánné Antal Elvira és Vinkó Tamás Pallasz Athéné Egyetem, GAMF M szaki és Informatikai Kar Szegedi Tudományegyetem, Informatikai

Részletesebben

Amortizációs költségelemzés

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

Részletesebben

Számítógépes Hálózatok

Számítógépes Hálózatok Számítógépes Hálózatok 7a. Előadás: Hálózati réteg ased on slides from Zoltán Ács ELTE and. hoffnes Northeastern U., Philippa Gill from Stonyrook University, Revised Spring 06 by S. Laki Legrövidebb út

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

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

Közösség detektálás gráfokban

Közösség detektálás gráfokban Közösség detektálás gráfokban Önszervező rendszerek Hegedűs István Célkitűzés: valamilyen objektumok halmaza felett minták, csoportok detektálása csakis az egyedek közötti kapcsolatok struktúrájának a

Részletesebben

Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek

Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek Tömb Ugyanolyan típusú elemeket tárol A mérete előre definiált kell legyen és nem lehet megváltoztatni futás során Legyen n a tömb mérete. Ekkor:

Részletesebben

Táblázatok fontosabb műveletei 1

Táblázatok fontosabb műveletei 1 Táblázatok fontosabb műveletei 1 - - Soros táblázat procedure BESZÚR1(TÁBLA, újelem) - - beszúrás soros táblázatba - - a táblázatot egy rekordokat tartalmazó dinamikus vektorral reprezentáljuk - - a rekordok

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

Korlátozás és szétválasztás elve. ADAGOLO adattípus

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}

Részletesebben

Dinamikus programozás vagy Oszd meg, és uralkodj!

Dinamikus programozás vagy Oszd meg, és uralkodj! Dinamikus programozás Oszd meg, és uralkodj! Mohó stratégia Melyiket válasszuk? Dinamikus programozás vagy Oszd meg, és uralkodj! Háromszögfeladat rekurzívan: c nj := a nj ha 1 j n c ij := a ij + max{c

Részletesebben

Keresés és rendezés. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán

Keresés és rendezés. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán Keresés Rendezés Feladat Keresés és rendezés A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán 2016. november 7. Farkas B., Fiala

Részletesebben

értékel függvény: rátermettségi függvény (tness function)

értékel függvény: rátermettségi függvény (tness function) Genetikus algoritmusok globális optimalizálás sok lehetséges megoldás közül keressük a legjobbat értékel függvény: rátermettségi függvény (tness function) populáció kiválasztjuk a legrátermettebb egyedeket

Részletesebben

Függvények növekedési korlátainak jellemzése

Függvények növekedési korlátainak jellemzése 17 Függvények növekedési korlátainak jellemzése A jellemzés jól bevált eszközei az Ω, O, Θ, o és ω jelölések. Mivel az igények általában nemnegatívak, ezért az alábbi meghatározásokban mindenütt feltesszük,

Részletesebben

Társadalmi és gazdasági hálózatok modellezése

Társadalmi és gazdasági hálózatok modellezése Társadalmi és gazdasági hálózatok modellezése 2. el adás A hálózatkutatás néhány fontos fogalma El adó: London András 2015. szeptember 15. Átmér l ij a legrövidebb út a hálózatban i és j pont között =

Részletesebben

Genetikus algoritmusok

Genetikus algoritmusok Genetikus algoritmusok Zsolnai Károly - BME CS zsolnai@cs.bme.hu Keresőalgoritmusok osztályai Véletlent használó algoritmusok Keresőalgoritmusok Kimerítő algoritmusok Dinamikus programozás BFS DFS Tabu

Részletesebben

Számítógép és programozás 2

Számítógép és programozás 2 Számítógép és programozás 2 11. Előadás Halmazkeresések, dinamikus programozás http://digitus.itk.ppke.hu/~flugi/ A keresési feladat megoldása Legyen a lehetséges megoldások halmaza M ciklus { X legyen

Részletesebben

Mesterséges Intelligencia MI

Mesterséges Intelligencia MI Mesterséges Intelligencia MI Problémamegoldás kereséssel - csak lokális információra alapozva Pataki Béla BME I.E. 414, 463-26-79 pataki@mit.bme.hu, http://www.mit.bme.hu/general/staff/pataki Lokálisan

Részletesebben

JAVASLAT A TOP-K ELEMCSERÉK KERESÉSÉRE NAGY ONLINE KÖZÖSSÉGEKBEN

JAVASLAT A TOP-K ELEMCSERÉK KERESÉSÉRE NAGY ONLINE KÖZÖSSÉGEKBEN JAVASLAT A TOP-K ELEMCSERÉK KERESÉSÉRE NAGY ONLINE KÖZÖSSÉGEKBEN Supporting Top-k item exchange recommendations in large online communities Barabás Gábor Nagy Dávid Nemes Tamás Probléma Cserekereskedelem

Részletesebben

Totális Unimodularitás és LP dualitás. Tapolcai János

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

Részletesebben

Bevezetés az informatikába

Bevezetés az informatikába Bevezetés az informatikába 9. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Matematikus BSc - I. félév / 2008 / Budapest Dr.

Részletesebben

Keresések Gregorics Tibor Mesterséges intelligencia

Keresések Gregorics Tibor Mesterséges intelligencia Keresések ADAT := kezdeti érték while terminálási feltétel(adat) loop SELECT SZ FROM alkalmazható szabályok ADAT := SZ(ADAT) endloop KR vezérlési szintjei vezérlési stratégia általános modellfüggő heurisztikus

Részletesebben

10. előadás Speciális többágú fák

10. előadás Speciális többágú fák 10. előadás Adatszerkezetek és algoritmusok előadás 2018. április 17., és Debreceni Egyetem Informatikai Kar 10.1 A többágú fák kezelésére nincsenek általános elvek, implementációjuk elsősorban alkalmazásfüggő.

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

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

Adaptív dinamikus szegmentálás idősorok indexeléséhez

Adaptív dinamikus szegmentálás idősorok indexeléséhez Adaptív dinamikus szegmentálás idősorok indexeléséhez IPM-08irAREAE kurzus cikkfeldolgozás Balassi Márton 1 Englert Péter 1 Tömösy Péter 1 1 Eötvös Loránd Tudományegyetem Informatikai Kar 2013. november

Részletesebben

Tartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I.

Tartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I. Keresés Rendezés Feladat Keresés Rendezés Feladat Tartalom Keresés és rendezés A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán

Részletesebben

Képrekonstrukció 6. előadás

Képrekonstrukció 6. előadás Képrekonstrukció 6. előadás Balázs Péter Képfeldolgozás és Számítógépes Grafika Tanszék Szegedi Tudományegyetem Diszkrét tomográfia (DT) A CT-hez több száz vetület szükséges időigényes költséges károsíthatja

Részletesebben

Kereső algoritmusok a diszkrét optimalizálás problémájához

Kereső algoritmusok a diszkrét optimalizálás problémájához Kereső algoritmusok a diszkrét optimalizálás problémájához A. Grama, A. Gupta, G. Karypis és V. Kumar: Introduction to Parallel Computing, Addison Wesley, 2003. könyv anyaga alapján A kereső eljárások

Részletesebben

Név KP Blokk neve KP. Logisztika I. 6 LOG 12 Dr. Kovács Zoltán Logisztika II. 6 Logisztika Dr. Kovács Zoltán

Név KP Blokk neve KP. Logisztika I. 6 LOG 12 Dr. Kovács Zoltán Logisztika II. 6 Logisztika Dr. Kovács Zoltán Név KP Blokk neve KP Felelıs vizsgáztató Kombinatorikus módszerek és algoritmusok 5 MAT 10 Dr. Tuza Zsolt Diszkrét és folytonos dinamikai rendszerek matematikai alapjai 5 Matematika Dr. Hartung Ferenc

Részletesebben

Számítógép és programozás 2

Számítógép és programozás 2 Számítógép és programozás 2 6. Előadás Problémaosztályok http://digitus.itk.ppke.hu/~flugi/ Emlékeztető A specifikáció egy előfeltételből és utófeltételből álló leírása a feladatnak Léteznek olyan feladatok,

Részletesebben

Algoritmusok és adatszerkezetek 2.

Algoritmusok és adatszerkezetek 2. Algoritmusok és adatszerkezetek 2. Varga Balázs gyakorlata alapján Készítette: Nagy Krisztián 1. gyakorlat Nyílt címzéses hash-elés A nyílt címzésű hash táblákban a láncolással ellentétben egy indexen

Részletesebben

Rendezések. A rendezési probléma: Bemenet: Kimenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat

Rendezések. A rendezési probléma: Bemenet: Kimenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat 9. Előadás Rendezések A rendezési probléma: Bemenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat Kimenet: a bemenő sorozat olyan (a 1, a 2,,a n ) permutációja, hogy a 1 a 2 a n 2 Rendezések Általánosabban:

Részletesebben

Gráfalgoritmusok ismétlés ősz

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

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

Intelligens Rendszerek Elmélete IRE 4/32/1

Intelligens Rendszerek Elmélete IRE 4/32/1 Intelligens Rendszerek Elmélete 4 IRE 4/32/1 Problémamegoldás kereséssel http://nik.uni-obuda.hu/mobil IRE 4/32/2 Egyszerű lények intelligenciája? http://www.youtube.com/watch?v=tlo2n3ymcxw&nr=1 IRE 4/32/3

Részletesebben

Programozási segédlet

Programozási segédlet Programozási segédlet Programozási tételek Az alábbiakban leírtam néhány alap algoritmust, amit ismernie kell annak, aki programozásra adja a fejét. A lista korántsem teljes, ám ennyi elég kell legyen

Részletesebben

Társadalmi és gazdasági hálózatok modellezése

Társadalmi és gazdasági hálózatok modellezése Társadalmi és gazdasági hálózatok modellezése 5. el adás Közösségszerkezet El adó: London András 2017. október 16. Közösségek hálózatban Homofília, asszortatívitás Newman modularitás Közösségek hálózatban

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

2017/ Szegedi Tudományegyetem Informatikai Intézet

2017/ Szegedi Tudományegyetem Informatikai Intézet Operációkutatás I. 2017/2018-2. Szegedi Tudományegyetem Informatikai Intézet Számítógépes Optimalizálás Tanszék 8. Előadás Bevezetés Egy olyan LP-t, amelyben mindegyik változó egészértékű, tiszta egészértékű

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

17. A 2-3 fák és B-fák. 2-3 fák

17. A 2-3 fák és B-fák. 2-3 fák 17. A 2-3 fák és B-fák 2-3 fák Fontos jelentősége, hogy belőlük fejlődtek ki a B-fák. Def.: Minden belső csúcsnak 2 vagy 3 gyermeke van. A levelek egy szinten helyezkednek el. Az adatrekordok/kulcsok csak

Részletesebben

MŰSZAKKIOSZTÁSI PROBLÉMÁK A KÖZÖSSÉGI KÖZLEKEDÉSBEN

MŰSZAKKIOSZTÁSI PROBLÉMÁK A KÖZÖSSÉGI KÖZLEKEDÉSBEN infokommunikációs technológiák MŰSZAKKIOSZTÁSI PROBLÉMÁK A KÖZÖSSÉGI KÖZLEKEDÉSBEN Készítette: Árgilán Viktor, Dr. Balogh János, Dr. Békési József, Dávid Balázs, Hajdu László, Dr. Galambos Gábor, Dr. Krész

Részletesebben

Online algoritmusok. Algoritmusok és bonyolultságuk. Horváth Bálint március 30. Horváth Bálint Online algoritmusok március 30.

Online algoritmusok. Algoritmusok és bonyolultságuk. Horváth Bálint március 30. Horváth Bálint Online algoritmusok március 30. Online algoritmusok Algoritmusok és bonyolultságuk Horváth Bálint 2018. március 30. Horváth Bálint Online algoritmusok 2018. március 30. 1 / 28 Motiváció Gyakran el fordul, hogy a bemenetet csak részenként

Részletesebben

Intelligens Rendszerek Elmélete. Párhuzamos keresés genetikus algoritmusokkal

Intelligens Rendszerek Elmélete. Párhuzamos keresés genetikus algoritmusokkal Intelligens Rendszerek Elmélete Dr. Kutor László Párhuzamos keresés genetikus algoritmusokkal http://mobil.nik.bmf.hu/tantargyak/ire.html login: ire jelszó: IRE0 IRE / A természet általános kereső algoritmusa:

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

BASH script programozás II. Vezérlési szerkezetek

BASH script programozás II. Vezérlési szerkezetek 06 BASH script programozás II. Vezérlési szerkezetek Emlékeztető Jelölésbeli különbség van parancs végrehajtása és a parancs kimenetére való hivatkozás között PARANCS $(PARANCS) Jelölésbeli különbség van

Részletesebben

Újrahasznosítási logisztika. 7. Gyűjtőrendszerek számítógépes tervezése

Újrahasznosítási logisztika. 7. Gyűjtőrendszerek számítógépes tervezése Újrahasznosítási logisztika 7. Gyűjtőrendszerek számítógépes tervezése A tervezési módszer elemei gyűjtési régiók számának, lehatárolásának a meghatározása, régiónként az 1. fokozatú gyűjtőhelyek elhelyezésének

Részletesebben

Mesterséges intelligencia 2. laborgyakorlat

Mesterséges intelligencia 2. laborgyakorlat Mesterséges intelligencia 2. laborgyakorlat Keresési módszerek A legtöbb feladatot meg lehet határozni keresési feladatként: egy ún. állapottérben, amely tartalmazza az összes lehetséges állapotot fogjuk

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

Kereső algoritmusok a diszkrét optimalizálás problémájához

Kereső algoritmusok a diszkrét optimalizálás problémájához Kereső algoritmusok a diszkrét optimalizálás problémájához A. Grama, A. Gupta, G. Karypis és V. Kumar: Introduction to Parallel Computing, Addison Wesley, 2003. könyv anyaga alapján A kereső eljárások

Részletesebben

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

Részletesebben

Adott: VPN topológia tervezés. Költségmodell: fix szakaszköltség VPN végpontok

Adott: VPN topológia tervezés. Költségmodell: fix szakaszköltség VPN végpontok Hálózatok tervezése VITMM215 Maliosz Markosz 2012 12.10..10.27 27. Adott: VPN topológia tervezés fizikai hálózat topológiája Költségmodell: fix szakaszköltség VPN végpontok 2 VPN topológia tervezés VPN

Részletesebben

Mesterséges Intelligencia MI

Mesterséges Intelligencia MI Mesterséges Intelligencia MI Problémamegoldás kereséssel - lokális információval Pataki Béla Bolgár Bence BME I.E. 414, 463-26-79 pataki@mit.bme.hu, http://www.mit.bme.hu/general/staff/pataki Rugó tervezése

Részletesebben

Programozási módszertan. Mohó algoritmusok

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

Részletesebben

Gauss-Seidel iteráció

Gauss-Seidel iteráció Közelítő és szimbolikus számítások 5. gyakorlat Iterációs módszerek: Jacobi és Gauss-Seidel iteráció Készítette: Gelle Kitti Csendes Tibor Somogyi Viktor London András Deák Gábor jegyzetei alapján 1 ITERÁCIÓS

Részletesebben

Dinamikus modellek szerkezete, SDG modellek

Dinamikus modellek szerkezete, SDG modellek Diagnosztika - 3. p. 1/2 Modell Alapú Diagnosztika Diszkrét Módszerekkel Dinamikus modellek szerkezete, SDG modellek Hangos Katalin PE Villamosmérnöki és Információs Rendszerek Tanszék Diagnosztika - 3.

Részletesebben

Adatszerkezetek 7a. Dr. IványiPéter

Adatszerkezetek 7a. Dr. IványiPéter Adatszerkezetek 7a. Dr. IványiPé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 () Nincsennek hurkok!!! 2 Bináris fák Azokat a

Részletesebben

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

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

Struktúra nélküli adatszerkezetek

Struktúra nélküli adatszerkezetek Struktúra nélküli adatszerkezetek Homogén adatszerkezetek (minden adatelem azonos típusú) osztályozása Struktúra nélküli (Nincs kapcsolat az adatelemek között.) Halmaz Multihalmaz Asszociatív 20:24 1 A

Részletesebben

Vizuális adatelemzés - Gyakorlat. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Vizuális adatelemzés - Gyakorlat. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Vizuális adatelemzés - Gyakorlat Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Adatelemzés szerepe a rendszermodellezésben Lényeges paraméterek meghatározása

Részletesebben

Termeléstervezés és -irányítás Termelés és kapacitás tervezés Xpress-Mosel FICO Xpress Optimization Suite

Termeléstervezés és -irányítás Termelés és kapacitás tervezés Xpress-Mosel FICO Xpress Optimization Suite Termeléstervezés és -irányítás Termelés és kapacitás tervezés Xpress-Mosel FICO Xpress Optimization Suite Alkalmazásával 214 Monostori László egyetemi tanár Váncza József egyetemi docens 1 Probléma Igények

Részletesebben

Alkalmazott modul: Programozás 4. előadás. Procedurális programozás: iteratív és rekurzív alprogramok. Alprogramok. Alprogramok.

Alkalmazott modul: Programozás 4. előadás. Procedurális programozás: iteratív és rekurzív alprogramok. Alprogramok. Alprogramok. Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás 4. előadás Procedurális programozás: iteratív és rekurzív alprogramok Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto

Részletesebben

Permutáció n = 3 esetében: Eredmény: permutációk száma: P n = n! romámul: permutări, angolul: permutation

Permutáció n = 3 esetében: Eredmény: permutációk száma: P n = n! romámul: permutări, angolul: permutation Visszalépéses módszer (Backtracking) folytatás Permutáció n = 3 esetében: 1 2 3 2 3 1 3 1 2 Eredmény: 3 2 3 1 2 1 123 132 213 231 312 321 permutációk száma: P n = n! romámul: permutări, angolul: permutation

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

Algoritmusok és adatszerkezetek I. 1. előadás

Algoritmusok és adatszerkezetek I. 1. előadás Algoritmusok és adatszerkezetek I 1 előadás Típusok osztályozása Összetettség (strukturáltság) szempontjából: elemi (vagy skalár, vagy strukturálatlan) összetett (más szóval strukturált) Strukturálási

Részletesebben

Operációkutatás. Vaik Zsuzsanna. Budapest október 10. First Prev Next Last Go Back Full Screen Close Quit

Operációkutatás. Vaik Zsuzsanna. Budapest október 10. First Prev Next Last Go Back Full Screen Close Quit Operációkutatás Vaik Zsuzsanna Vaik.Zsuzsanna@ymmfk.szie.hu Budapest 200. október 10. Mit tanulunk ma? Szállítási feladat Megoldása Adott: Egy árucikk, T 1, T 2, T,..., T m termelőhely, melyekben rendre

Részletesebben

Algoritmusok helyességének bizonyítása. A Floyd-módszer

Algoritmusok helyességének bizonyítása. A Floyd-módszer Algoritmusok helyességének bizonyítása A Floyd-módszer Algoritmusok végrehajtása Egy A algoritmus esetében a változókat három változótípusról beszélhetünk, melyeket az X, Y és Z vektorokba csoportosítjuk

Részletesebben

Dinamikus programozás - Szerelőszalag ütemezése

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

Részletesebben

INFORMATIKA javítókulcs 2016

INFORMATIKA javítókulcs 2016 INFORMATIKA javítókulcs 2016 ELMÉLETI TÉTEL: Járd körbe a tömb fogalmát (Pascal vagy C/C++): definíció, egy-, két-, több-dimenziós tömbök, kezdőértékadás definíciókor, tömb típusú paraméterek átadása alprogramoknak.

Részletesebben