Genetikus algoritmusok az optimalizálásban

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

Download "Genetikus algoritmusok az optimalizálásban"

Átírás

1 Genetikus algoritmusok az optimalizálásban --- Házi dolgozat --- Raffai Tamás I. Programtervezı Matematikus

2 - 2 - Tartalomjegyzék 1 Bevezetı Mi az a genetikus algoritmus? Hogyan alakult ki? Definíciók, alapfogalmak Egyed, egyedek reprezentációja Bitsorozat Vektor Permutáció Populációk Fitnessz függvény Szelekció Véletlen kiválasztásos szelekció Rátermettség-arányos szelekció Sztochasztikus univerzális mintavétel Lineáris rangsorolás Pár-verseny szelekció (binary tournament selection) Rekombináció Egypontos keresztezés Egyenletes keresztezés Köztes keresztezés Mutáció Véletlen génenkénti mutáció Véletlen elemi permutáció Inverziós operátor A GA mőködése Alapalgoritmus A GA elınyei Hátrányok és korlátok Speciális esetek Szimulált hőtés Tabu keresés Sztochasztikus hegymászó GA alkalmazási területek Genetikus algoritmusok megvalósítása Matlab segítségével A HelloWorld! algoritmus Lineáris egyenletrendszerek megoldása Genetic Algorithm és Direct Search Toolbox v2.0 a Matlab programban Parancssori lehetıségek Genetic Algorithm Tool

3 - 3-7 Optimalizációs példák Matlab segítségével Költség és hatékonyságelemzés Irodalomjegyzék A helloga.m függvény tartalma A gaoptimset struktúra elemei

4 - 4-1 Bevezetı Three billion years of evolution can't be wrong. It's the most powerful algorithm there is. Dr. David E. Goldberg, University of Illinois, Mi az a genetikus algoritmus? Az emberiség tudományos fejlıdésében mindig is szerepet játszottak az empirikus megfigyeléseken alapuló elméletek. Ha valami készen kapva mőködik a nagyvilágban, azt mért ne lehetne felhasználni saját céljainkra, esetleg egy kicsit elvonatkoztatva, általánosítva? Rengeteg matematikai probléma, és ezen keresztül új szakterület alakult ki igen egyszerő hétköznapi problémák megfigyelésével. Nincs másképp ez a genetikus ill. evolúciós algoritmusokkal sem: itt a példát a biológia (szebben mondva az anyatermészet) adta. Alapja, Darwin: A fajok eredete címő könyve 1859-ben jelent meg, és már az elsı napon elfogyott minden példánya. Az óta is erısen megosztja mind a tudós, mind a laikus társaságokat. Természetesen nem célom ezzel kapcsolatban állást foglalni, csak az elmélet gyökereire kívánok rávilágítani. A genetikus algoritmusok potenciális megoldás győjteményekkel dolgoznak, különbözı stratégiák során csoportosítják, majd a jobb megoldásokat kiválogatva igyekeznek mindig új állományokat kreálva eljutni egy elfogadható (esetleg az optimális) megoldáshoz. A megoldások győjteményét populációnak hívjuk, a benne lévı lehetséges megoldásokat egyedeknek. Az egyedekbıl különbözı szelekciókkal és mutációkkal új egyedeket képzünk (születnek), és igyekszünk kiválogatni közülük azokat, amelyek számunkra jobb tulajdonságokkal rendelkeznek, azaz rátermettebbek. Több generáción keresztül ismételve ezt a folyamatot, egyre jobb, pontosabb lehetséges megoldásokat kapunk. Véges lépés után, vagy egy kellıen pontos megoldás esetében az algoritmus leáll. 1.2 Hogyan alakult ki? Genetikus algoritmusok ötlete egyidıs a számítógép ill. a számítógépes programozás megjelenésével. Az alapkoncepció már megjelent az 1950-es években, természetes evolúciókutatással foglalkozó biológusok kívánták elsıként az elméleti eredményeket minél pontosabb szimulációval vizsgálni. Akkor még nem merült fel bennük, hogy a kidolgozott módszerek szélesebb körben is használhatóak. A 60-as évek elején többen egymástól függetlenül kidolgozták az evolúció által inspirált algoritmusaikat, fıként függvényoptimalizálásra és gépi tanulásra, de ezek a munkák kevés érdeklıdésre tettek szert ben Ingo Rechenberg publikálta az evolúciós stratégiák alapjait, ami a genetikus algoritmusok egy rokon ága. Az elméletbıl még hiányoztak alapvetı ma használt fogalmak, de a terület fejlıdésének lökést adott. Nem volt még keresztezés, csak önmagukat reprodukáló egyedek, viszont itt vetıdött fel elıször a populáció fogalma egy új irányág, az evolúciós programozás születését hozta. A lehetséges megoldásokat ebben a verzióban véges állapotú automaták reprezentálták, egy automata állapotátmenet

5 - 5 - mátrixának véletlenszerő mutációja hozott létre egy új egyedet, majd az algoritmus a kettı közül jobbnak ítéltet tartotta meg. A keresztezés jelentıségét itt sem ismerték még fel. John Holland és csoportja volt az elsı, akik hivatalosan bevezették a keresztezés fogalmát, rávilágítva annak elınyeire. A hatvanas évek elejétıl dolgozott tanuló rendszereken, eredményeit csak 1975-ben publikálta. Ez tekinthetı a genetikus algoritmusok ma is használt elméleti alapjainak. A 80-as évek közepére az evolúciós programozás különbözı válfajai széles körben használtak voltak. A számítási nagyság növekedésével és az Internet rohamos terjedésével jelentısége és használhatósága széles körben kiteljesedett. Míg az elsı idıkben fıként elméleti, napjainkban az élet számos terén alkalmazzák gyakorlati problémák megoldására.

6 - 6-2 Definíciók, alapfogalmak A genetikus algoritmus (továbbiakban: GA) egy globális optimalizációs eljárás. Mindenhol alkalmazható, ahol a feladat sok lehetséges megoldás közül a legjobbat megkeresni. A genetikus algoritmus lehetséges megoldások egy populációját tartja fenn, azaz egyszerre több megoldáskezdeménnyel dolgozik. A lehetséges megoldások minıségét egy értékelı-, vagy más néven rátermettségi függvény adja meg. Az aktuális populációból minden lépésben egy új populációt állít elı úgy, hogy a szelekciós operátor által kiválasztott legrátermettebb elemeken (szülıkön) alkalmazza a rekombinációs- és mutációs operátorokat. Az alapgondolat az, hogy mivel általában minden generáció tagjai az elızınél rátermettebbek, a keresés folyamán egyre jobb megoldások állnak rendelkezésre. 2.1 Egyed, egyedek reprezentációja GA esetében a különbözı lehetséges megoldásokat egyedeknek (species) nevezzük. Az algoritmus megvalósítása szempontjából az elsı lényeges dolog, az egyedek ábrázolása. Leggyakoribb esetek a bitsorozattal, vektorokkal vagy permutációval történı ábrázolás, esetleg ezek valamely kompozíciójából alkotott struktúra. Az egyedeket nagy E-vel jelöljük Bitsorozat Bitsorozattal reprezentáljuk az egyedeket, ha valamely tulajdonsághalmazzal írjuk le azokat, és mindössze arra vagyunk kíváncsiak, hogy az adott tulajdonság jellemzi-e a példányt. Elınye alacsony tárigénye, illetve, hogy könnyő számításokat végezni vele. Egy bitsorozattal ábrázolt kromoszóma. Az egyes biteket a biológiával analóg módon alléleknek is nevezik Vektor Másik gyakori ábrázolás a (valós) vektoros ábrázolás. Ezt olyan esetekben érdemes használni, ha fontos az egyedek egyes tulajdonságainak mennyiségi értéke is. Vektoros megoldásokkal nagyon sok minden könnyen leírható, és a számítások is jól elvégezhetıek alapvetı lineáris algebrai ismeretekkel. Vektorokkal bármely olyan egyedtípus ábrázolható, amelyet fix darabszámú mennyiséggel/költséggel jellemezhetı tulajdonság ír le Permutáció

7 - 7 - Sok esetben egy összesség bejárására kell sorrendet adnunk (gráfalgoritmusok, pl. utazó ügynök probléma), ilyenkor a megoldás az elemek egy permutációja lesz. Az ábrázolás itt is valós vektorral történik, a vektor elemei az alapelemek sorszámai lesznek a felsorolás sorrendjében. A klasszikus genetikus algoritmusok bitsorozattal, vagy valós vektorral megvalósított genotípusos ábrázolást használnak, de az egyedi probléma ismeretében lehetséges egy másfajta, hatékonyabb megoldás is. Mivel a véges bitsorozatok tekinthetık azonosnak a {0,1} alaphalmaz feletti vektorterekbıl vett vektoroknak, továbbiakban csak a valós vektoros ábrázolással foglalkozunk. Ezt indokolják a gyakorlati megvalósításhoz felhasznált Matlab szoftver lehetıségei is. 2.2 Populációk Az egyedek egy adott idıbeli összegségét nevezzük populációnak (population). Egyszerő lenne azt mondani, hogy ez a lehetséges megoldások egy halmaza, de ez nem igaz, mert egy adott tulajdonságokkal rendelkezı egyed többszörösen benne lehet. A populációt P-vel jelöljük. Ezen kívül használatos még a populáció méretére a µ = P jelölés (az elemszám ebben az esetben számításba veszi a többszörös elemeket is). Az algoritmus során a könnyebb számolás miatt gyakori az egyedek egyfajta kódolása. Egy ilyen kódolás adja az egyed genotípusát (genotype). Mőveleteket az egyed genotípusával végzünk, a folyamat végén ebbıl dekódoljuk az optimális megoldást. Az egyedeket leíró tulajdonságok megjelenésének összességét fenotípusnak (phenotype) nevezzük. Felfogható úgy, hogy a fenotípus az egyed valóságban vett absztrakt vagy hétköznapi megjelenése, a genotípus ennek egy leképezése valamely az algoritmus során használható adattípusba. Ezt a leképezést kódoló függvénynek, a kimeneti változóit géneknek (gene), azok adott egyednél felvett értékeit alléloknak (allele) nevezzük. Ezek szerint, a kódoló függvény az egyes egyedek tulajdonságait képezi le génekbe. A GA minden egyes iterációs lépése újabb és újabb populációkat állít elı. Az iterációs lépések során keletkezı populációkat generációknak (generation) hívjuk. Az algoritmus minden generáció során új populációt állít elı az aktuális felhasználásával. Az új egyedek beépülnek a populáció lecserélve annak néhány, vagy akár az összes tagját. Utóbbi esetben generációs (generational) algoritmusról beszélhetünk. Ha a populáció mindössze egy elemő ( µ = 1), akkor helybeni (steady state) az algoritmus. Sok esetben szokták az aktuális populáció adott számú, százalékú legjobb példányát automatikusan, változtatás nélkül bepakolni az újba. Az ilyen megvalósítást elitistának (elitist) hívjuk. 2.3 Fitnessz függvény A megoldások értékeit egy rátermettségi- vagy szokásos terminológiával fitnessz függvény (fitness function) segítségével adjuk meg. Ennek a függvénynek kell heurisztikusan keresni a globális optimumát. Így érvényesül a darwini legrátermettebb túlélése elv, mivel minél rátermettebb egy elem, annál jobban megközelíti a fitnessz függvény értéke a globális szélsıértéket. A fitnessz függvény megválasztása lehet a legnehezebb feladat, és egyben a legfontosabb is, hiszen ennek segítségével mérjük az egyedek teljesítményét, alkalmasságát.

8 - 8 - Kiszámolása az algoritmus szempontjából sok idıt vesz igénybe, ezért megválasztása jelentıs a futási idı szerint is. Ha kromoszóma n bit hosszúságú, akkor a rátermettségi függvény a keresési téren egy n-dimenziós rátermettségi tájképet (fitness landscape) határoz meg. Valós vektorok esetén ez a függvény egy n-dimenziós folytonos valós függvény lesz. A GA megoldása ekvivalens a rátermettségi tájkép globális szélsıértékének keresésével. Rátermettségi tájkép bitsorozatos reprezentáció esetén. A 00, 01, 10 és 11 kromoszómák rátermettsége sorban: 0.5, 0.9, 0.1 és Szelekció Alapvetı fontossággal bír az algoritmus szempontjából, hogy miként jutunk új megoldásokhoz. A meglévı egyedeken végzett mőveleteket, amelyek új lehetséges megoldásokat állítanak elı keresı operátoroknak hívjuk. Háromféle operátort különböztetünk meg, melyek mindegyikét, vagy egy részét használjuk az eljárás során. Ezek: a szelekció, rekombináció, és a mutáció. Az egyedkiválasztás, vagy szelekció (selection) operátor az aktuális populációból alkalmas szülıket (párokat) választ, utódnemzés céljából. Ez azért is fontos, mert a módszer használata során nem kívánunk légbıl kapott adatokkal kisérletezni, hanem szeretnénk az addig elért eredményeket felhasználva tökéletesíteni azokat. A mővelet során a szelekciós állományból (selection pool) választunk bizonyos feltételek szerint egyedeket, és helyezzük a szülıi állományba (mating pool). A szelekciós állomány kezdetben általában megegyezik a teljes populációval. A szülıi állományt addig kell növelni, amíg az új egyedek létrehozásához elegendı szülı nem kerül bele, ez a GA esetében klasszikusan megegyezik a populáció méretével. Az egymástól különbözı szelekciós metódusok mőködését összehasonlíthatjuk, értékelhetjük többféle tulajdonsággal. A szelekciós intenzitás (selection intensity) a populáció átlagos rátermettségének változását mutatja a szelekció hatására: Int = E E P E P E P E P E E E µ Ahol P a szelekcióval létrehozott populációt jelöli. Vagyis az intenzitás az új és régi populációk átlag rátermettségének különbsége, osztva az új populáció szórásával.

9 - 9 - A változatosság elvesztése (loss of diversity) azon egyedek aránya, amelyek nem kerültek kiválasztásra. Azaz: D = { E : E P nemlett kiválasztva} µ Jellemzı érték még a szelekciós változatosság (selection variance), amely a régi és új populációk szórásértékeinek aránya: V = P E E P E& E 2 E P E µ E& P E µ Ezen tulajdonságokkal jól vizsgálhatjuk az algoritmusunk szelekciós mőködését. A szelekciós intenzitás megmutatja, hogy az algoritmus milyen mértékben választja ki a legrátermettebb egyéneket. Ha a változatosság elvesztése túl magas, félı hogy a keresési tér beszőküléséhez és korai, nem feltétlenül globális optimumhoz való konvergenciához vezet, mivel az új populáció túl sok azonos egyedbıl áll. A variancia ennek pont ellenkezıjét mutatja: nagyobb érték esetén szélesebb keresési térben dolgozhatunk, ami gyorsabb konvergenciát biztosít a globális szélsıértékhez. Nézzük, milyen általános megvalósításai vannak a szelekciós operátornak! Véletlen kiválasztásos szelekció A legegyszerőbb, ámde legkevésbé hatékony szelekció. Gyakorlatilag az aktuális populációból véletlenszerően választunk szülıket. Lehet ismétléses, vagy ismétlés nélküli. Elıbbinél a szelekció során minden egyes lépésnél minden egyed azonos eséllyes kiválasztható, míg az utóbbi esetben a már kiválasztott egyedek nem vesznek részt a további kiválasztásban. Legnagyobb hátránya az, hogy nem veszi figyelembe azt a darwini alapelvet, miszerint a rátermettebb egyedek nagyobb eséllyel érvényesülnek az egyedlétrehozásban Rátermettség-arányos szelekció A rátermettség-arányos szelekció (fitness proportionate selection) esetében egy egyed kiválasztásának valószínősége annál magasabb, minél nagyobb a rátermettsége a populáció átlagához viszonyítva. Visszatevéses szelekció, azaz minden lépésnél mindegyik példány (újra) kiválasztható. A kiválasztás esélye tetszıleges Ê egyednél:

10 p( Eˆ) = F( Eˆ) F( E) E P Megvalósítása általában a rulett módszerrel történik, ami az egyik legrégebbi, és leginkább használt szelekciós operátor. Az algoritmus analógiája egy rulettkerék: a kerületén felvesszük az egyedeket p(ê) hosszarányú körcikkekkel. Ahol a golyó megáll, az egyed kiválasztásra kerül. Elınye, hogy könnyen megvalósítható, és figyelembe veszi a szülık rátermettségét. Hátránya, hogy egy nagy rátermettségő egyed aránytalanul sokszor bekerülhet a szülık közé, ezáltal beszőkülhet az algoritmus keresési tere. Ennek elkerülésére szokták a fitnessz függvényt skálázni (scaling) a Φ ( E ) = g( F( E)) függvény segítségével. Például, ha a fitnessz függvény exponenciális, akkor egy megfelelı g( x) = c log( x) függvény lineárissá teheti. Rulett szelekció szemléltetése kördiagrammal. Az egyes egyedek kiválasztási eséllye a körcikkely méretével arányos Sztochasztikus univerzális mintavétel A sztochasztikus univerzális mintavétel (stochastic universal sampling, SUS) fitnessz alapú szelekció. A rulett szelekció olyan módosított változata, amely minimalizálja a mővelet során az azonos egyedek többszörös kiválasztását. Itt úgy osztjuk fel a rulettkereket, hogy figyelembe vesszük az egyedek várható kiválasztásainak számát: V ( Eˆ) = µ p( Eˆ) A rulett kerületén µ darab mutatót helyezünk, azt egyenlı részekre felosztva. Pörgetés után azt az egyedet választjuk ki, amelyik a leközelebbi mutatóhoz esik pörgésirány szerint Lineáris rangsorolás A rangsorolásos szelekció (ranking, linear ranking) szintén a fitnesszérték alapú módszereknél elıforduló szórásbeli hátulütıket kívánja kiküszöbölni. A populáció egyedeit sorbarendezzük rátermettség szerint, kezdve a legrosszabbtól a legrátermettebbig. A sorszámozás egyedi, tehát azonos fitnessz értékő egyedek

11 sorszáma eltérı. Az egyes egyedek kiválasztásának valószínősége lineárisan függ azok sorszámától: 1 2(1 η)( i 1) p( Ei ) = η + µ ( µ 1) i = (1, Κ, µ ) Ahol η a legrosszabb rátermettségő példány kiválasztási valószínősége (0 η 1). A legrátermettebb egyed szelekciós esélye 2-η lesz, a köztes elemek valószínőségei lineárisan eloszlanak a két szélsıérték között Pár-verseny szelekció (binary tournament selection) A versengı, vagy pár-verseny szelekció (binary tournament selection) nem fitnessz arányos szelekció. A módszer µ lépéses ciklusból áll. Minden lépésben elıre rögzített T (tour) darab elemet választunk ki véletlenszerően a populációból. Majd az így kapott elemek közül a legrátermettebbet választjuk a szülık közé. Párversenyrıl valójában T=2 esetén beszélhetünk, ami a leggyakrabban használt paraméterérték. Elınye, hogy kisebb eséllyel veszít a változatosságból, cserébe általánosan kisebb a szelekciós intenzitás, mint a rátermettség arányos metódusoknál. 2.5 Rekombináció A rekombináció (recombination) operátor két egyed (szülık) reprezentációjából generál új egyedet, egyedeket. Ez a klasszikus biológiai utód létrehozásának felel meg. A GA alapvetı keresı operátora a rekombináció, az új egyedek létrehozásában döntı szerepet játszik Egypontos keresztezés Egypontos keresztezésnél (1-point crossover) az egyedeket egy véletlenszerően kiválasztott i. bitnél (1 i < n) elvágjuk. Az új egyed az egyik szülı tulajdonságait 1,...,i bitig, a másik szülı tulajdonságait (i+1),...,n-ig örökli. Lehetséges két új egyed (testvérek) létrehozása is: a második keletkezı egyed, analóg módon a szülık kromoszómáinak másik felébıl áll össze, ahogy azt az alábbi ábra is mutatja.

12 Egypontos keresztezés. A keresztezési pont (crossover point) a 4. génnél van Egyenletes keresztezés Egyenletes keresztezés (uniform crossover, UX) használatával az utód egyes génjei a szülık azonos génjeinek valamelyike lesz. Az i. utódgén 0,5 eséllyel az egyik vagy a másik szülı azonos génje lesz. Ez alapján átlagosan a gének fele cserélıdik ki a szülık között. Formálisan leírva: Egyenletes keresztezés. A két utód 4-4 génben tér el a szülıktıl. u = ap + ( 1 a) q i i Ahol u i az utód, p i, q i a szülık megfelelı génjeit jelöli, a pedig minden génre véletlenszerően választott együttható {0,1} halmazból. i Köztes keresztezés A köztes keresztezés (intermediate recombination) az egyenletes keresztezés kissé módosított változata. A különbség annyiban rejlik, hogy az elıbb megadott formulában a értéke [-h, 1+h] intervallumban mozoghat (h 0). Tehát az utód génjeinek értéke szüleik génjeinek egy függvénye lesz, ami azt jelenti, hogy nem közvetlenül a szülıi tulajdonságokat örökli.

13 A rekombináció folyamata sztochasztikus genetikus algoritmusok esetén. 2.6 Mutáció A mutáció (mutation) operátor meglévı egyedeket módosít, úgy hogy véletlenszerően megváltoztatja azok bizonyos tulajdonságait. A mutáció segít szélesíteni a keresési teret, viszont óvatosan szabad csak alkalmazni, mert elronthatja a gondosan kiválasztott szülıi tulajdonságokat. Éppen ezért a mutáció jelentısége a GA folyamán csekély, egy tulajdonság megváltoztatásának esélye általában p m Ezt úgy kell érteni, hogy a mutáció valószínősége p m minden egyed, minden génjére. Az alábbiakban összefoglaljuk az általánosan használt mutáció megvalósításokat Véletlen génenkénti mutáció A mutáció legegyszerőbb és legkézenfekvıbb formája, hogy az egyes géneket bizonyos valószínőséggel megváltoztatjuk. Bitsorozat esetén szimplán negáljuk a megfelelı értéket, valós vektoroknál az eredeti értéket egy véletlen értékkel helyettesítjük, ügyelve természetesen arra, hogy az új érték értelmezhetı legyen az adott pozícíóban. Egy másik verzió szerint találomra veszünk n p m darab gént, és azokat változtatjuk meg. Véletlen bitenkénti mutáció. A mővelet során az egyed 2 génje negálódik Véletlen elemi permutáció Egy másik könnyen megvalósítható mutációs algoritmos a véletlen elemi permutáció. Igazából akkor van jelentısége, ha az egyedek permutációkkal vannak ábrázolva, hiszen az esetben eme tulajdonságot nem szabad a mutáció során sem elrontani. Ilyenkor az aktuális permutációt megszorozhatjuk (i j) transzpozícióval (1 i,j n), aminek eredménye egy olyan permutáció lesz, amiben az i. és j. érték helyet cserél. A mutáció valószínőségét egyedenként vizsgáljuk, egy kiválasztott egyednél akár több elemi permutációt is végrehajthatunk.

14 Véletlen elemő permutáció alkalmazása. Az eredeti egyedet a (2 5) transzpozícióval szorozva kapjuk annak új, mutáns változatát Inverziós operátor Bár a szakirodalom több helyen különálló keresı operátornak említi, az inverziós operátor valójában a mutáció egy fajtája, felfogható a véletlen bitenkénti mutáció egy változataként is. A mutáció valószínősége itt is egyedekre vonatkozik. A kiválasztott egyedeknél véletlen 1 i,j n számokra a i. és j. bitek közötti részt invertáljuk. Ez bitsorozatnál a negációt jelenti. Valós vektoroknál az értelmezési tartomány alapján definiálni kell az inverz fogalmát. Inverziós operátor alkalmazása az egyed 5. és 9. bitje közötti részre. A mutációs operátor sztochasztikus a genetikus algoritmusoknál.

15 A GA mőködése 3.1 Alapalgoritmus A GA alapalgoritmusát az alábbi pszeudokóddal tudjuk leírni: 1. Stratégiai paraméterek beállítása 2. t := 0 3. P 0 kezdeti populáció létrehozása 4. P 0 egyedeinek kezdeti kiértékelése a fitnessz függvény alapján 5. WHILE NOT Kilépési_feltétel(P t ) 6. P t * := Szelekció(P t ) 7. P t := Rekombináció(P t * ) 8. P t := Mutáció(P t ) 9. P t + 1 := Visszahelyezés(P t ) 10. t := t WHILE ciklus vége 12. Legjobb fitnessz értékkel rendelkezı egyed kiválasztása Az algoritmus elıször beállítja a mőködés során használt paramétereket, majd elkészíti a kezdeti populációt. Ez lehet bemenı adat (esetleg valamilyen sejtés alapján létrehozott kezdıállapot, ami nagymértékben meggyorsíthatja az algoritmus keresését), vagy véletlenszerően generált egyedek összessége. Szükség esetén ennél a lépésnél kell a kódoló függvénnyel elıállítani az egyedek genotípusait. Ezután ki kell számítani minden egyedhez tartozó rátermettségi értéket a fitnesszfüggvény segítségével. Egy t változóban számoljuk az eltelt generációkat, ezt nullával indítjuk. Az általános lépés elején ellenırizzük, hogy algoritmusunk elérte-e valamely kilépési feltételt. Ezek általánosan a következık lehetnek: fitnesszfüggvény értéke valamely egyednél elér egy adott értéket, a generációk száma eléri a maximális megengedettet (algoritmus végességének biztosítása), a fitnesszfüggvény értékek szórásának változása túl kicsi, legjobb egyed fitnessz értékének változása adott küszöb alatt marad, maximális futásidı túllépése stb. Kilépési feltétel teljesülésénél az algoritmus véget ért, kimenetként az utolsó populáció legjobb rátermettségi értékkel rendelkezı egyedét választjuk. Az általános lépés során az algoritmus elsıként kiválasztja az aktuális populációból a lehetséges szülıket (szelekciós operátor), majd ezekbıl új utódokat képez (rekombinációs operátor). A kapott utódokon különbözı kisebb-nagyobb változásokat hozhatunk létre (nem feltétlenül minden utódnál, általában valamilyen adott valószínőség mellett mutációs operátor). Az így kapott új elemekbıl képezzük a következı generációt (t+1. populáció), kiszámítjuk az aktuális fitnessz értékeket, t változót növeljük eggyel, és kezdjük újra az általános lépést.

16 A GA elınyei A GA elınyének legfıképp azt tartják, hogy egy problémafüggetlen metaheurisztika. Ráadásul, ellentétben a legtöbb használt metaheurisztikával, sok esetben jóval gyorsabban eléri a kívánt közelítı eredményt. Globális algoritmus, azaz megfelelıen választott kezdıpopuláció és szelekció esetén nagy keresési teret tud bejárni, kicsi az esélye hogy egy probléma valamely lokális optimuma becsapja. Fontos elıny, hogy a GA párhuzamosan mőködik, azaz egyszerre több megoldást vizsgál a keresési tér több területén. A legtöbb keresı algoritmus egyszerre csak egy lehetséges megoldást tud vizsgálni, és csak egy irányba iterál. Ezeknél egy lokális optimum esetében nincs alternatív választási lehetıség, el kell vetni az addigi eredményeket, és újra kezdeni a teljes eljárást. GA esetében egy zsákutca könnyen eldobható, más, ígéretesebb irányba folytatva a keresést, ezáltal nagyobb eséllyel juthatunk az optimális megoldáshoz. A párhuzamosság másik elınye, hogy hatalmas mérető keresési terekkel tud dolgozni. Kiválóan alkalmas nemlineáris problémák megoldására, nem ritka az 1000 bitnél is nagyobb tér, azaz ahol a lehetıséges száma feletti. A feldolgozás során mőködési elvébıl adódóan egy lehetséges megoldás vizsgálatával annak rokonait is feldolgozza, hiszen akár megtart, akár eldob egy megoldást, azzal minısíti a hozzá hasonló megoldásokat is (a tıle nem sokban eltérı fitnessz értékkel rendelkezıket). Felfogható egyfajta sztereotípikus gondolkodásnak is, mivel az egyed tulajdonságaiból következtetünk egy csoport tulajdonságaira. Ezt a tulajdonságot szkéma tételnek (Schema Theorem) nevezzük. Jól teljesít olyan helyzetekben is, ahol a kiértékelı függvény nem szép : bonyolult számolni, nem folytonos, idıben változó, esetleg örökölt, vagy számítási hibákkal terhelt. Sokszor okoz gondot, hogy egy optimalizáló eljárás nem tud elég nagy teret bejárni, ezért értékenyebb lehet a kisebb függvényhibákra is. A GA egyszerre tudja használni a feldolgozáskor kapott információkat. Az különbözteti meg az egyelemő iterációktól, hogy a többszörös kiértékelés nem szimplán sok egyelemő közelítı lépések sorozata, az egyedek keresztezésével megvalósul a potenciális megoldások közötti információáramlás. Jó keresztezési eljárás választásával elérhetı hogy minél értékesebb információk cseréljenek gazdát az új populáció elıállításakor. Végezetül, kiemelhetjük a módszer globalitását: az eredeti probléma ismerete nélkül mőködik, úgy állít elı megoldásokat, hogy nem használja fel annak tulajdonságait. Ezért kiválóan alkalmazható olyan esetekben, ahol nem tudjuk leírni magát a problémát, de értékelni tudjuk a lehetséges megoldásokat valamilyen szempont szerint. 3.3 Hátrányok és korlátok A GA természetesen nem mindenható. Sok esetben nem ad optimális megoldást, ellentétben bizonyos problémakörök ismert algoritmusainál, igaz, hogy ilyen esetekben is egy kellıen jó megoldást lehet vele gyártani.

17 Bár azt monduk, hogy az algoritmus anélkül képes lefutni, hogy ismerné magát a kiindulási problémát, a valóságban ez egyáltalán nem árt. A probléma alapos ismerete nélkül nehéz igazán jó és hatékony rátermettségi függvényt adnunk. Ha a kiértékelés nincs eléggé arányban az elvárásainkkal, akkor nem fogunk jó eredményt kapni, akárhogy is futtatjuk le az algoritmust. Könnyő, viszonylag kis keresési terő problémáknál túl költséges. A GA nagy elınye, a párhuzamosság hátrány lehet olyan esetben, ha az adott feladat könnyen megoldható hagyományos módszerekkel. Ilyenkor ugyanis nagyságrenddel több kiértékelést végezhetünk, mint más keresı algoritmusok, ráadásul a sztochasztikus mőködésbıl adódóan nem feltétlenül fog olyan sebességgel konvergálni az algoritmusunk, mint az erre kidolgozott más módszerekkel. Általánosságban elmondható, hogy kritikus szerepe van a futás ill. az eredmény szempontjából az alapvetı paraméterek választásának. Ezek: a populáció mérete, generációk száma, a különbözı keresı operátorok, és nem utolsó sorban a kilépési feltételek jó megválasztása. Ahhoz, hogy ezeket finomra tudjuk hangolni, szükséges lehet a probléma szerkezetének mélyebb ismerete, a meglévı sejtések vagy egyéb eredmények felhasználása. Ha másképp nem megy egyszerő probálgatással is kereshetünk jobb paramétereket. Felhasználva egy elızı futás eredményeit tudunk következtetni, hogy milyen értéken célszerő változtatni egy jobb közelítés elérése érdekében. Sajnos ez nagyban növelheti az algoritmus költségét, mivel lehet, hogy igen sokszor le kell futtatnunk ahhoz, hogy megfelelı pontosságú, elfogadható eredményt kapjunk. 3.4 Speciális esetek Az alapalgoritmus egyes lépéseinek elhagyásával, speciális értelmezéseivel speciális, megkülönböztetett esetek kaphatunk. Ezek közül a legismertebbek a szimulált hőtés, a tabu keresés és a sztochasztikus hegymászó algoritmusok Szimulált hőtés A szimulált hőtés (simulated annealing), esetében a szokásos analógia a fémek edzésének a folyamata, amelynek során a fém lassú hőtés során közel optimálisan rendezett atomi szerkezetet vesz fel. Itt a populáció egyelemő, a keresı operátor kizárólag a mutáció. Ha az új megoldás rosszabb, mint a régi, akkor is elfogadjuk egy bizonyos valószínőséggel, amit a hımérséklet paraméter szabályoz. Ha a hımérséklet nulla, az új megoldást csak akkor fogadjuk el, ha nem rosszabb, mint a régi. A hımérséklet a keresés folyamán fokozatosan csökken Tabu keresés A tabu keresés (tabu search) szintén egyelemő populációt használ, a keresı operátor szintén kizárólag a mutáció. A különbség itt is a visszahelyezési függvényben van. A tabu keresés során egy tabulistát tartunk fenn, amely a legutóbb megvizsgált néhány megoldásból áll. A tabulista mérete az algoritmus paramétere. Az új populáció, azaz az új aktuális megoldás

18 kiválasztásához elıször megnézzük, hogy a mutációval létrehozott új elem szerepel-e a tabulistában. Ha igen, akkor nem fogadjuk el, egyébként, ha nem rosszabb, mint a régi megoldás, akkor elfogadjuk. A régi megoldás tabulistára kerül. Amennyiben elértük a maximális elemszámot a listán, a legrégebbi elemet töröljük Sztochasztikus hegymászó A sztochasztikus hegymászó (hill climber) a legegyszerőbb változat. A populáció itt is egyelemő, a keresı operátor pedig a mutáció. Az új megoldás felváltja a régit, ha ugyanolyan rátermett vagy rátermettebb. Látható, hogy ez tulajdonképpen egy klasszikus mohó algoritmusos megvalósítás. Érdekes ezen túl, hogy a sztochasztikus hegymászó lényegében egy fix nulla hımérsékleten futó szimulált hőtés, vagy egy nullaelemő tabulistát használó tabu keresés, vagy egyelemő populációt használó elitista genetikus algoritmus. Az egyes metaheurisztikák tehát a hegymászó különbözı általánosításaiként is felfoghatók. Másrészrıl ezen a módszereknek különbözı kombinációi is használatosak, pl. tabulistát alkalmazó szimulált hőtés, csökkenı mértékő mutációt alkalmazó genetikus algoritmus, stb. A genetikus- ill. evolúciós algoritmusoknak igen sok egyéb variánsa ismeretes. Léteznek olyanok, amelyek ezen elmélettıl függetlenül jöttek létre, de mégis tekinthetıek egyfajta speciális változatnak. Ilyen például a kombinatorikus optimalizálásban használt hangya kolónia módszer, ami egy hosszú távú memóriát alkalmazó evolúciós algoritmus megvalósításként értelmezhetı.

19 GA alkalmazási területek Én má nem muzsikálok, csak egy jelet adok a gépnek: İ mutassa meg helyettem, ahogy mozdul bennem a lélek. Quimby: Halleluja A genetikus algoritmusok gyakorlati alkalmazási köre mára igencsak széles lett. Természetesen ez nem egy csodaszer, mint ahogy azt láthattuk az elınyık/hátrányok taglalásánál. Nézzünk néhány tipikus alkalmazási területet. Szélsıérték problémák Legnyilvánvalóbb alkalmazási kör, adott függvény, vagy azok rendszerének szélsıérték keresése. Tulajdonképpen itt a fitnessz függvény maga a vizsgált függvény, kiegészítve az egyedre esetleg bizonyos megszorításokkal az értékkészlet, vagy egyéb feltételek alapján. Gráfalgoritmusok A gráfelmélet számos, sok helyen elıforduló NP-teljes problémával ajándékozta meg a matematikus társadalmat. Ilyen pl. az utazó ügynök problémája, az egyes szinezési feladatok, hozzárendelési problémák. A GA implementációk sokszor jobb eredményeket adnak, mint az elméletileg igazolt egyes algoritmusok. Játékelmélet A játékelmélet tipikusan olyan problémákkal van tele, ahol igen nagy keresési teret kell bejárni. Ezen kívül nem mindig egyszerő magát a játékot formalizálni, viszont ha egy adott helyzetet ki tudunk értékelni (megadható rátermettségi függvény), akkor jól alkalmazhatóak a GA módszerek. Genetikus Programozás pl. LISP programkódok születése A genetikus programozás a GA egy alfaja, programok fejlesztésére használják. Minden egyed egy teljes programkódot ír le, általában a bejárási fákkal reprezentálják. Természetesen a keresı operátorok is eszerint módosulnak, például a mutáció egy formája, ha két ágat kicserélünk egymással a fában. Egyik leggyakoribb alkalmazási terület LISP programkódok készítése. Tanulási problémák Elvben minden tanulási probléma megadható optimalizálási feladatként, így a genetikus algoritmusnak is sok alkalmazása van a gépi tanulás területén. Felsorolt problémák viszonylag jól körülhatárolt elméleti jellegőek elsı hallásra. Álljon itt néhány extrémebb, egyedi példa, arról hogy hány különbözı területen sikerült alkalmazni valamilyen evolúciós stratégiát.

20 Koncerterem tervezése, a maximális audio élmény nyújtása a hallgatóság, és a zenészek számára. Szuperszónikus gépek szárnyformájának tervezése. Japánban, a 2000-es évben genetikusan tervezett szárnyak felvették a kihívást a hagyományos technológiával készültekkel, bizonyos fellelhetı trendek pedig segítettek alátámasztani az elméleti eredményeket. Föld körüli mőholdak együttes pályájának optimalizálása, a hatékonyabb lefedettség eléréséhez. GA alkalmazásával a konvencionális megoldásoknál hatékonyabb, azoktól igencsak eltérı eredmények születtek, ami sok gyakorlati eredmény újragondolására ösztönözte a mérnököket. A Unilever cég genetikus algoritmusokat használt bizonyos tisztítószereinek baktériumölı vegyületeinek kutatására. Az eredményeket az óta szabadalmaztatták. Sikeresen használták nemzetközi valutaárfolyamok és tızsdei részvények adás-vételében. Készült algoritmus rendırségi fantomkép készítéshez, amit sikeresen használtak egy bankrablás tetteseinek elfogásához. Malajziában azt vizsgálták, milyen okai vannak annak, ha valaki telefonszolgáltatót vált. Olyan algoritmust kerestek, ami segít elırejelezni, hogy kik és milyen okból teszik ezt, ezáltal az okok megelızhetıek lehetnek, és a szolgáltató is jobban meg tudja választani célcsoportját. Egyszerő beszédfelismerı áramkört terveztek GA alkalmazással. A feladat szinte lehetetlen kihívás elé állította a problémával foglalkozó mérnököket, ezért próbálkoztak más módszerekkel. Az eredmény meglepıen kevés logikai kaput használt fel, mőködését sokáig homály fedte. Sakkozó algoritmusok. Egy igen bonyolult probléma, mivel nehéz jó rátermettségi függvényt definiálni. Más, hagyományos algoritmusokkal ötvözve sikerült nagymesteri szinten játszó gépet kreálni. Jól használható az un. órarend problémára. Ez egy NP-teljes feladat, ami visszavezethetı gráfszinezési problémákra. Normál módszerekkel nem létezik rá hatékony algoritmus. Négy nagy amerikai egyetemen (egyenként több mint hallgató) teszteltek GA megoldásokat, és 40%-kal jobb eredményt értek el, mint az elıtte lévı rendszer szerint. És még számos példát sorolhatunk, kezdve az egyszerőtıl az igen elvadultabbakig. Látható, hogy a problémamegoldás eme módszere a tudományok minden területén tudott bizonyítani. Lehet, hogy nem mindenható, de láthatóan széles körben jól alkalmazható technika.

21 Genetikus algoritmusok megvalósítása Matlab segítségével 5.1 A HelloWorld! algoritmus Az eddigi elméleti ismeretek alapján már képesek vagyunk mőködı GA kódot generálni. Mint ahogy azt egy új programozási technika megismerésekor szokás, készítsük el a Hello World! genetikus algoritmusát. Ezen azt kell érteni, hogy megpróbáljuk genetikusan kitenyészteni sztringek egy sorozatából ezt a klasszikus üdvözlést. A populáció egyedei tehát azonos hosszúságú sztringek, amiket genotípusosan ábrázoljuk. Minden sztringhez hozzárendelünk egy sorvektort, amelynek elemei (azaz a gének) a sztring egyes karaktereinek ASCII kódjai. A fitnessz érték az egyed és a keresett sztring távolsága, azaz az egyes betők közötti távolságok összege. Minél kisebb a fitnessz érték, annál rátermettebb az adott egyed. Nyilvánvaló, hogy ha ez az érték nulla, akkor elértük a keresett sztringet. Az algoritmusunk fı ciklusában sorbarendezi a populáció egyedeit növekvı fitnessz érték alapján. A legjobbakat automatikusan beválogatja a következı populációba (elitizmus). A maradék helyeket feltöltéséhez szelekciós során kiválogatja a szülıket. A szelekció ebben az esetben egyszerő véletlen kiválasztás, ami nem foglalkozik az önreprodukcióval (mindkét szülı ugyanaz az egyed). A kiválasztott szülıket egypontos keresztezéssel rekombináljuk, a keletkezı egyedet behelyezzük az új populációba. Legvégül egy elıre beállított mutációs ráta szerint módosítjuk a sztringeket. A mutáció megvalósítása véletlen génmutáció, egyetlen génre. A kapott új populációra kiértékeljük a rátermettségi függvényt, behelyettesítjük a régi populáció helyére, növeljük a generációszámot és ezzel le is zárul a fı ciklus. Kérdés még, hogy milyen kilépési feltételt alkalmazzunk algoritmusunk során? Két dolgot veszünk figyelembe: egy elıre megadott generációszám ill. az optimális megoldás elérését (fitnessz érték nulla). Az így elkészített helloga függvény forrása megtalálható az esszé végén. Nézzünk néhány tesztet! Az alapbeállítás 1000 példányos populációkkal dolgozik. A populáció legjobb 10%-át válogatjuk az elitek közé minden lépésben. A mutáció esélye 0,25 egyedenként. Ha elérjük a 100 generációt optimális eredmény nélkül, a függvény leáll, és az adott pillanatban legjobb egyedet adja vissza közelítı megoldásként. Az elsı esetben a végrehajtás során nem sikerül eléri a Hello World! kifejezést, bár az eredmény egy kezdı angolos esetében egész tőrhetınek mondható: mindössze egy karakterrel tér el. >> helloga 0. generáció legjobb egyede: ^ZxW`SRibfX# fitness: generáció legjobb egyede: C\ih~&RtxXf# fitness: generáció legjobb egyede: Gfmes!XnlkW- fitness: generáció legjobb egyede: Gfmli!Xnxo\ fitness: 30

22 generáció legjobb egyede: Icili!Xoqli! fitness: generáció legjobb egyede: Gfmon Xnrlc! fitness: generáció legjobb egyede: Gcmln Vnrlc! fitness: generáció legjobb egyede: Gemln Vnrlc! fitness: generáció legjobb egyede: Gello Vnrle! fitness: generáció legjobb egyede: Iello Wnrld! fitness: 2 A program elérte a maximális generációszámot optimum nélkül. ans = Hello Vorld! Egy másik futtatásnál már szerencsénk van: a függvény optimális megoldást talál, nem sokkal a maximális generációszám elérése elıtt. És íme, az elsı genetikusan tenyésztett üdvözlıszövegünk: >> helloga 0. generáció legjobb egyede: HmwUuIRzv{jD fitness: generáció legjobb egyede: Gggzp&XZrdW1 fitness: generáció legjobb egyede: Miuhp&Tgvmk# fitness: generáció legjobb egyede: Gggmo&Xnteb% fitness: generáció legjobb egyede: Hglkm$Vprtc% fitness: generáció legjobb egyede: Iglkk Woroc# fitness: generáció legjobb egyede: Gelmo Uormb! fitness: generáció legjobb egyede: Henmo Worlb! fitness: generáció legjobb egyede: Helmo Vorld! fitness: generáció legjobb egyede: Helmo World! fitness: 1 Optimális érték elérve. ans = Hello World! 5.2 Lineáris egyenletrendszerek megoldása Szép, szép, mondhatjuk, de mi a haszna az egésznek? Úgy tőnik, hogy még arra se jó, hogy egy TTK-s buliban ezzel kápráztassuk a csajokat Elsı ránézésre tényleg nincs sok köze az optimalizáláshoz, de vegyük észre a következıket. Az egyedek genotípusos reprezentációja valójában egy vektort takar, aminek a hossza megegyezik a keresett sztring hosszával. Valójában az algoritmus során az A x = b általános alakú lineáris egyenletrendszer megoldását keressük közelítı módszerrel, ahol speciálisan A = E, azaz a megfelelı n n -es egységmátrix, b vektor pedig a Hello World! egyes karaktereinek ASCII kódja. Tetszıleges xk egyedre, annak fitnessz értéke megegyezik x k b vektornorma értékével. Mivel az 1 algoritmus során nem tételeztünk fel semmit a sztring génjeit reprenzentáló vektorról, minden további nélkül átalakíthatjuk az eljárást egyenletrendszerek megoldására. Ehhez mindössze annyit kell tenni, hogy a rátermettségi függvényt a jelenlegi helyett a A x k b formulával 1 kell helyettesítenünk. Továbbgondolva a dolgot, ha definiálunk egy relációs vektort, ami azt az információt hordozza, hogy az adott feltétel egyenlet vagy egyenlıtlenség-e, akkor használhatjuk az algoritmust áltálános lineáris programozási feladatok megoldására. A célfüggvény itt a feladat célfüggvénye, annyi kiegészítéssel, hogy ha valamely megadott feltétel nem teljesül egy egyednél, akkor Inf értéket ad vissza. Könnyen belátható, hogy a kimenet az optimális megoldáshoz konvergál.

23 Genetic Algorithm és Direct Search Toolbox v2.0 a Matlab programban A továbbiakban a Matlab szoftver 7.1.R14 verziójával fogunk dolgozni, azon prózai okból kifolyólag, hogy jelen anyag szerzıje ehhez a verzióhoz tudott hozzájutni, ami tartalmazza az említett csomagot. Kétféle módon használhatjuk fel az eszköztár lehetıségeit: parancssorból és a Genetic Algorithm Tool segítségével. 6.1 Parancssori lehetıségek A Matlab genetikus algoritmusokat használó eszköztára sajnos csak limitált lehetıségeket rejt magában. Fı függvénye a ga függvény, amely F(X) minimumát próbálja meghatározni, megadott feltételeket figyelembe véve. Formálisan: F a fitnessz függvény, aminek a minimumát keressük, X egy tetszıleges egyed. Ekkor az optimális megoldás olyan X, ahol A eq X = b eq (lineáris egyenletek) A X b (lineáris egyenlıtlenségek) C eq (X) = 0 (nemlineráis egyenletek) C(X) 0 (nemlineáris egyenlıtlenségek) LB X UB, azaz X egy adott intervallumon keresendı feltételek teljesülése mellett F(X) értéke minimális. Ezen jelölések mellett a ga függvény általános alakja: >> [X,FVAL,REASON,OUTPUT,POPULATION,SCORES] = GA (F, NVARS, A, b, Aeq, beq, LB, UB, NONLCON, options) A fent nem definiált jelölések jelentése: NVARS: F függvény függvényváltozóinak száma NONCLON: C(X) és Ceq(X) függvényeket megvalósító Matlab függvény (ezeket ált. magunknak kell implementálnunk) FVAL: F(X), a kimenı megoldásegyedre REASON: a kilépés okának leírása OUTPUT: a futás körülményeirıl ad néhány információt ez a struktúra POPULATION: a kilépéskor meglévı populáció SCORES: a kilépéskor meglévı populáció fitnessz értékei options: az algoritmus paramétereit tartalmazó struktúra (lásd. Függelék) A sikeres futtatáshoz elegendı már F és NVARS megadása is. Nézzük az következı triviális példát: >> ga(@(x) x*x, 1) Optimization terminated: average change in the fitness value less than options.tolfun. ans =

24 Ez az f ( x) = x függvény abszolút minimumát keresi, ami természetesen x = 0 helyen található. Jó példa ez olyan függvényparaméter megadására, ami nem.m fájlban található, hanem csak egyszerően parancssorban van megírva. Látható, hogy az algoritmus ezen futása egész közeli eredményt talált. Megtudtuk, hogy a leállás a fitnessz értékek generációk közötti túl kicsi eltérése miatt történt. Figyelembe véve, hogy az alapbeállítások közel sem optimálisak, és nem túl nagy sem a populáció, sem a generációk száma, meg lehet próbálkozni egy kis finomhangolással. Az algoritmus opcióit a gaoptimset függvénnyel tudjuk beállítani. Ez egy olyan struktúrát ad vissza, ami megfelel az options bemenı paraméter követelményeinek. Beállítást módosítani paraméter, érték argumentumok felsorolásokkal lehetséges. Elsı argumentumként megadhatjuk az elızı beállítás stuktúráját, a változások ehhez képest lesznek rögzítve. Ha nem adunk meg semmit, akkor az alapértelmezett értéket fogja visszaadni. Módosítsunk néhány paramétert! >> options = gaoptimset('populationsize',1000,'elitecount',50, 'Generations', 1000, 'TolFun', 1e-42); >> >> ga(@(x) x*x, 1,[],[],[],[],-1,1,[], options) Optimization terminated: average change in the fitness value less than options.tolfun. ans = 0 Növelve a populáció méretét, az iterációk számát, toleraciáját, csökkentve a keresési teret, az egészet kiegészítve némi elitizmussal megkaptuk az optimális megoldást. Természetesen ezt minden esetben nem tudhatjuk, csak azt hogy a fitnessz értékek változása folyamatosan a 42 tolerancián belül van, ami jelen esetben 10. Mielıtt nagy lenne az örömünk, és elkönyvelnénk, hogy a GA segítségével bármely minimumkeresési feladat megoldható, kellıen nagy populáció és generációszám esetén, el kell hogy mondjam: szerencsénk volt. Valóságban csak 3. futásra kaptam meg ezt az eredményt, és 100 esetbıl is csak 11-szer sikerült reprodukálni.

25 Genetic Algorithm Tool A Matlab másik, varázslószerőbb eszköze genetikus algoritmusok futtatására a Genetic Algorithm Tool. Indítása parancssorból a gatool paranccsal vagy a Start / Toolboxes / Genetic Algorithm and Direct Search / Genetic Algorithm Toolbox menüpont alatt érhetı el. Az eszköz kinézete a következı: Fıbb funkciói, paraméterei: Genetic Algorithm Tool 2.0 alapképernyıje Fitness function: Fitnessz függvény megadása. Formája ahol fgv.m egy lézetı Matlab függvény, ami skalárértéket ad vissza.

26 Number of variables: Függvényváltozók száma. A rátermettségi függvény operandusainak száma. Feltételek (Constraints) - Linear inequalities: lineáris egyenlıtlenségek A x b formájában. - Linear equalities: lineáris egyenletek A eq x = beq formájában. - Bounds: korlátok, alsó (lower) és felsı (upper) korlátai a vektorelemeknek - Nonlinear constraint function: nemlineáris megszorítások. Ezeket saját magunknak kell megírni, vagy egy meglévı Matlab.m függvényt felhasználni. A meghívandó függvény visszatérési értékei C és C eq kell hogy legyenek. Megjelenítı funkciók (Plots) Ezen beállítások szabályozásával az algoritmus egyes lépéseinek fıbb paramétereirıl kaphatunk grafikusan ábrázolt információt, már futás közben. A plot interval mezıbe írt érték a megjelenítés periódusa: minden ennyiedik populációt jelzi ki. A grafikon egy felbukkanó ablakban jelenik meg, ahol a Stop gomb hatására le is állíthatjuk a futást. Az elnevezések elég sokat mondóak, részletesebb információt a dokumentációban találhatunk. Populáció Tulajdonságai (Population) - Population type: egyedek ábrázolási típusa (valós vektor, bitsorozat, egyéni). Egyéni (custom) beállításnál a Creation, Mutation, Crossover funkciókat nekünk kell megírni és beállítani a megfelelı mezıkben. - Population size: populáció mérete, egyedszám. Megadható vektorérték is, ez esetben több szubpopulációval dolgozik az algoritmus párhuzamosan. A vektorértékek az egyes szubpopulációk méreteit határozzák meg. - Creation function: populáció inicializálást végzı függvény. Lehet Uniform, ekkor a beállított paraméterek alapján egyenlı eloszlású véletlen populáció kerül legenerálásra. Vagy megadhatunk saját (Custom) inicializálófüggvényt, ami megfelelı típusú egyedeket ad vissza. - Initial population: megadhatjuk a kezdeti populáció egyedeit kézzel is ebben a mezıben. - Initial scores: kezdeti fitnessz értékeket adhatjuk meg itt. Ha üresen hagyjuk, akkor az algoritmus a fitnessz függvény szerint számítja ki ıket. - Initial range: a kezdeti populáció értékeire adhatunk korlátot egy 2 soros mátrix segítségével. Az elsı sor az egyes vektorkomponensek minimuma, a második sor azok maximuma. Ha csak 2x1-es vektort írunk ide, akkor a Matlab minden vektorkomponensre alkalmazza a kritériumot. Fitnessz Skálázás (Fitness Scalling) Itt skálázási lehetıségeket állíthatunk be a fittneszfüggvényünkhöz. A Scaling function mezıben választhatjuk ki a megfelelı metódust. A lehetıségek: Rank, Proportional, Top, Shift Linear, Custom. Bıvebb leírás a dokumentációban. Szelekciós Tulajdonságok (Selection) - Selection function: a szelekció fajtájának formája. A lehetıségek: Stochastic uniform, Remainder (rulett variáns), Uniform (tesztelésre), Roulette, Tournament, Custom. A variánsok mőködését a 2. fejezetben részleteztük.

27 Utódlási tulajdonságok (Reproduction) - Elite count: elit egyedek száma a populációban, ezen egyedek automatikusan bekerülnek az új populációba. - Crossover fraction: 0 és 1 közötti arányszám, a új populáció nem elitista tagjainak ezen része keresztezéssel kerül feltöltésre, míg a maradék mutációval kerül be. Mutációs Tulajdonságok (Mutation) A mutációs operátort a Mutation function mezıben lehet kiválasztani. A következıkbıl választhatunk: Gaussian, Uniform, Adaptive feasible, Custom. Bıvebb leírás a dokumentációban. Keresztezési Tulajdonságok (Crossover) A remkombinációs paramétereket állíthatjuk be. Megvalósítások: Scattered (egyenletes keresztezés), Single point, Two point (kétpontos), Intermediate, Heuristic, Arithmetic (súlyozott átlagértékek szerinti), Custom. Migrációs Tuljadonságok (Migration) Párhuzamos futtatásnál egy érdekes új lehetıség a migráció fogalma. Itt több szubpopulációval dolgozik az algoritmus egyszerre. Bizonyos generációszámonként az adott szubpopuláció legjobb egyedei migrálódnak a szomszédos szubpopulációba. Ezen egyedek kiszorítják a másik populáció legrosszabb fitnessz értékő egyedeit, miközben az eredeti szubpopulációban is megmaradnak. - Direction: a migráció iránya. Ha elırefelé (Forward) migráció van beállítva, akkor az i. szubpopuláció az i+1-be migrál. Kettıs (Both) migráció esetén i. szubpopuláció i-1. és i+1-be is migrál egyszerre. A szubpopulációk körbeérnek, azaz az utolsó után sorban az elsı következik, ill. fordítva. - Fraction: megmondja, hogy az egyes szubpopulációk mekkora része migrálódjon. Értéke 0-1 közötti. - Interval: vezérli, hogy milyen periódussal menjen végbe egy migrációs lépés. Algoritmus Tulajdonságok (Algorithm Setting) Algoritmus specifikus beállításokat tesz lehetıvé. Jelenlegi implementációban nem sok opciót tartalmaz, mindössze a nemlineáris feltételekre büntetı paramétert beállítani, ha a megkötések nem teljesülnek. Hibrid Függvény (Hybrid Function) Lehetıség van a genetikus algoritmus lefutása után átadni a vezérlést egy másik minimumkeresı algoritmusnak. Választhatunk a Matlab fminsearch, patternsearch, fminunc, fmincon függvényei közül. További információ a felsorolt függvények dokumentációjában olvasható. Kilépési feltételek megadása (Stopping Criteria) - Generations: megállási generációszám.

Szakdolgozat. Miskolci Egyetem. A genetikus algoritmus alkalmazási lehetőségei. Készítette: Biró Szilárd 5. Programtervező informatikus

Szakdolgozat. Miskolci Egyetem. A genetikus algoritmus alkalmazási lehetőségei. Készítette: Biró Szilárd 5. Programtervező informatikus Szakdolgozat Miskolci Egyetem A genetikus algoritmus alkalmazási lehetőségei Készítette: Biró Szilárd 5. Programtervező informatikus Témavezető: Dr. Körei Attila Miskolc, 2013 Miskolci Egyetem Gépészmérnöki

Részletesebben

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

Algoritmusok Tervezése. 9. Előadás Genetikus Algoritmusok Dr. Bécsi Tamás

Algoritmusok Tervezése. 9. Előadás Genetikus Algoritmusok Dr. Bécsi Tamás Algoritmusok Tervezése 9. Előadás Genetikus Algoritmusok Dr. Bécsi Tamás Biológiai háttér (nagyvonalúan) A sejt genetikai információit hordozó DNS általában kromoszómának nevezett makromolekulákba van

Részletesebben

Genetikus algoritmusok megvalósítása MATLAB segítségével

Genetikus algoritmusok megvalósítása MATLAB segítségével Genetikus algoritmusok megvalósítása MATLAB segítségével Werner Ágnes A Matlab genetikus algoritmusokat használó eszköztára Kétféle módon használhatjuk fel az eszköztár lehetőségeit: 1. Parancssorból 2.

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

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

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

é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

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

Matematikai alapok és valószínőségszámítás. Középértékek és szóródási mutatók

Matematikai alapok és valószínőségszámítás. Középértékek és szóródási mutatók Matematikai alapok és valószínőségszámítás Középértékek és szóródási mutatók Középértékek A leíró statisztikák talán leggyakrabban használt csoportját a középértékek jelentik. Legkönnyebben mint az adathalmaz

Részletesebben

MATLAB OKTATÁS 5. ELŐADÁS FELTÉTEL NÉLKÜLI ÉS FELTÉTELES OPTIMALIZÁLÁS. Dr. Bécsi Tamás Hegedüs Ferenc

MATLAB OKTATÁS 5. ELŐADÁS FELTÉTEL NÉLKÜLI ÉS FELTÉTELES OPTIMALIZÁLÁS. Dr. Bécsi Tamás Hegedüs Ferenc MATLAB OKTATÁS 5. ELŐADÁS FELTÉTEL NÉLKÜLI ÉS FELTÉTELES OPTIMALIZÁLÁS Dr. Bécsi Tamás Hegedüs Ferenc FELTÉTEL NÉLKÜLI OPTIMALIZÁLÁS (FMINSEARCH) Feltétel nélküli optimalizálásra a MATLAB az fminsearch

Részletesebben

Konjugált gradiens módszer

Konjugált gradiens módszer Közelítő és szimbolikus számítások 12. gyakorlat Konjugált gradiens módszer Készítette: Gelle Kitti Csendes Tibor Vinkó Tamás Faragó István Horváth Róbert jegyzetei alapján 1 LINEÁRIS EGYENLETRENDSZEREK

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

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

Matematikai alapok és valószínőségszámítás. Valószínőségi eloszlások Binomiális eloszlás

Matematikai alapok és valószínőségszámítás. Valószínőségi eloszlások Binomiális eloszlás Matematikai alapok és valószínőségszámítás Valószínőségi eloszlások Binomiális eloszlás Bevezetés A tudományos életben megfigyeléseket teszünk, kísérleteket végzünk. Ezek többféle különbözı eredményre

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

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

Informatikai Rendszerek Tervezése

Informatikai Rendszerek Tervezése Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT.- 5. kurzus 1 Informatikai Rendszerek Tervezése 4. Előadás: Genetikus algoritmusok Illyés László 1 Tartalom Bevezető A kanonikus genetikus

Részletesebben

Universität M Mis is k k olol cic, F Eg a y kultä etem t, für Wi Gazda rts ságcha tudfts o w máis n s yen i scha Kar, ften,

Universität M Mis is k k olol cic, F Eg a y kultä etem t, für Wi Gazda rts ságcha tudfts o w máis n s yen i scha Kar, ften, 8. Előadás Speciális optimalizációs eljárások Genetikus algoritmusok OPTIMALIZÁLÁSI ELJÁRÁSOK Gradiens alapú módszerek Véletlent használó módszerek Kimerítő keresésen alapuló módszerek Direkt módszerek

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

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

Turing-gép május 31. Turing-gép 1. 1

Turing-gép május 31. Turing-gép 1. 1 Turing-gép 2007. május 31. Turing-gép 1. 1 Témavázlat Turing-gép Determinisztikus, 1-szalagos Turing-gép A gép leírása, példák k-szalagos Turing-gép Univerzális Turing-gép Egyéb Turing-gépek Nemdeterminisztikus

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

A genetikus algoritmus, mint a részletes modell többszempontú és többérdekű "optimálásának" általános és robosztus módszere

A genetikus algoritmus, mint a részletes modell többszempontú és többérdekű optimálásának általános és robosztus módszere A genetikus algoritmus, mint a részletes modell többszempontú és többérdekű "optimálásának" általános és robosztus módszere Kaposvári Egyetem, Informatika Tanszék I. Kaposvári Gazdaságtudományi Konferencia

Részletesebben

Optimalizálás alapfeladata Legmeredekebb lejtő Lagrange függvény Log-barrier módszer Büntetőfüggvény módszer 2017/

Optimalizálás alapfeladata Legmeredekebb lejtő Lagrange függvény Log-barrier módszer Büntetőfüggvény módszer 2017/ Operációkutatás I. 2017/2018-2. Szegedi Tudományegyetem Informatikai Intézet Számítógépes Optimalizálás Tanszék 9. Előadás Az optimalizálás alapfeladata Keressük f függvény maximumát ahol f : R n R és

Részletesebben

További programozási esetek Hiperbolikus, kvadratikus, integer, bináris, többcélú programozás

További programozási esetek Hiperbolikus, kvadratikus, integer, bináris, többcélú programozás További programozási esetek Hiperbolikus, kvadratikus, integer, bináris, többcélú programozás Készítette: Dr. Ábrahám István Hiperbolikus programozás Gazdasági problémák optimalizálásakor gyakori, hogy

Részletesebben

Számítógépi képelemzés

Számítógépi képelemzés Számítógépi képelemzés Elıadás vázlat Szerzık: Dr. Gácsi Zoltán, egyetemi tanár Dr. Barkóczy Péter, egyetemi docens Lektor: Igaz Antal, okl. gépészmérnök a Carl Zeiss technika kft. Ügyvezetı igazgatója

Részletesebben

Normák, kondíciószám

Normák, kondíciószám Normák, kondíciószám A fizika numerikus módszerei I. mf1n1a06- mf1n2a06 Csabai István Lineáris egyenletrendszerek Nagyon sok probléma közvetlenül lineáris egyenletrendszer megoldásával kezelhetı Sok numerikus

Részletesebben

Erıforrástérkép felhasználói kézikönyv 1.0

Erıforrástérkép felhasználói kézikönyv 1.0 Erıforrástérkép felhasználói kézikönyv 1.0 Budapest, 2010. november 18. Az MTA Közgazdaságtudományi Intézet alapvetı feladata közgazdasági alapkutatások és az ezekhez kapcsolódó alkalmazott kutatások végzése,

Részletesebben

Jelek és rendszerek Gyakorlat_02. A gyakorlat célja megismerkedni a MATLAB Simulink mőködésével, filozófiájával.

Jelek és rendszerek Gyakorlat_02. A gyakorlat célja megismerkedni a MATLAB Simulink mőködésével, filozófiájával. A gyakorlat célja megismerkedni a MATLAB Simulink mőködésével, filozófiájával. A Szimulink programcsomag rendszerek analóg számítógépes modelljének szimulálására alkalmas grafikus programcsomag. Egy SIMULINK

Részletesebben

Megerősítéses tanulás 7. előadás

Megerősítéses tanulás 7. előadás Megerősítéses tanulás 7. előadás 1 Ismétlés: TD becslés s t -ben stratégia szerint lépek! a t, r t, s t+1 TD becslés: tulajdonképpen ezt mintavételezzük: 2 Akcióértékelő függvény számolása TD-vel még mindig

Részletesebben

Algoritmusok Tervezése. 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás

Algoritmusok Tervezése. 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás Algoritmusok Tervezése 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás Mi az algoritmus? Lépések sorozata egy feladat elvégzéséhez (legáltalánosabban) Informálisan algoritmusnak nevezünk bármilyen jól definiált

Részletesebben

Intelligens Rendszerek Elmélete. Párhuzamos keresés genetikus algoritmusokkal. A genetikus algoritmus működése. Az élet információ tárolói

Intelligens Rendszerek Elmélete. Párhuzamos keresés genetikus algoritmusokkal. A genetikus algoritmus működése. Az élet információ tárolói 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ó: IRE07 IRE 5/ Természetes és mesterséges genetikus

Részletesebben

Útmutató a MATARKA adatbázisból való adatátvételhez

Útmutató a MATARKA adatbázisból való adatátvételhez Útmutató a MATARKA adatbázisból való adatátvételhez A MATARKA - Magyar folyóiratok tartalomjegyzékeinek kereshetı adatbázisa a következı címrıl érhetı el: http://www.matarka.hu/ A publikációs lista kinyerése

Részletesebben

Hardver leíró nyelvek (HDL)

Hardver leíró nyelvek (HDL) Hardver leíró nyelvek (HDL) Benesóczky Zoltán 2004 A jegyzetet a szerzıi jog védi. Azt a BME hallgatói használhatják, nyomtathatják tanulás céljából. Minden egyéb felhasználáshoz a szerzı belegyezése szükséges.

Részletesebben

Szakdolgozat. Pongor Gábor

Szakdolgozat. Pongor Gábor Szakdolgozat Pongor Gábor Debrecen 2009 Debreceni Egyetem Informatikai Kar Egy kétszemélyes játék számítógépes megvalósítása Témavezetı: Mecsei Zoltán Egyetemi tanársegéd Készítette: Pongor Gábor Programozó

Részletesebben

A szimplex algoritmus

A szimplex algoritmus A szimplex algoritmus Ismétlés: reprezentációs tétel, az optimális megoldás és az extrém pontok kapcsolata Alapfogalmak: bázisok, bázismegoldások, megengedett bázismegoldások, degenerált bázismegoldás

Részletesebben

Hálózati folyamok. A használt fogalmak definiálása

Hálózati folyamok. A használt fogalmak definiálása Hálózati folyamok Hálózat A használt fogalmak definiálása Ez összesen 4 dologból áll: - Egy irányított G gráf - Ennek egy kitüntetett pontja, amit forrásnak hívunk és s-sel jelölünk - A gráf még egy kitüntetett

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

4. Használati útmutatás

4. Használati útmutatás megbízható(másnéven: robusztus): mert a programozási hibák egy részét megakadályozza,a másik részét pedig futás közben kisz ri és támogatja a fejleszt t azok professzionális kezelésében. biztonságos: megakadályozza

Részletesebben

Statisztikai függvények

Statisztikai függvények EXCEL FÜGGVÉNYEK 9/1 Statisztikai függvények ÁTLAG(tartomány) A tartomány terület numerikus értéket tartalmazó cellák értékének átlagát számítja ki. Ha a megadott tartományban nincs numerikus értéket tartalmazó

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

Heurisztikák algoritmusok ütemezési problémákra. 1. Állapottér és a megoldások kezelése

Heurisztikák algoritmusok ütemezési problémákra. 1. Állapottér és a megoldások kezelése Heurisztikák algoritmusok ütemezési problémákra 1. Állapottér és a megoldások kezelése Számos nehéz ütemezési probléma esetén az exponenciális idejű optimális megoldást adó algoritmusok rendkívül nagy

Részletesebben

Mesterséges Intelligencia I.

Mesterséges Intelligencia I. Mesterséges Intelligencia I. 10. elıadás (2008. november 10.) Készítette: Romhányi Anita (ROANAAT.SZE) - 1 - Statisztikai tanulás (Megfigyelések alapján történı bizonytalan következetésnek tekintjük a

Részletesebben

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2018/

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2018/ Operációkutatás I. 2018/2019-2. Szegedi Tudományegyetem Informatika Intézet Számítógépes Optimalizálás Tanszék 2. Előadás LP alapfeladat A lineáris programozás (LP) alapfeladata standard formában Max c

Részletesebben

Gauss elimináció, LU felbontás

Gauss elimináció, LU felbontás Közelítő és szimbolikus számítások 3. gyakorlat Gauss elimináció, LU felbontás Készítette: Gelle Kitti Csendes Tibor Somogyi Viktor London András Deák Gábor jegyzetei alapján 1 EGYENLETRENDSZEREK 1. Egyenletrendszerek

Részletesebben

Matematikai alapok és valószínőségszámítás. Normál eloszlás

Matematikai alapok és valószínőségszámítás. Normál eloszlás Matematikai alapok és valószínőségszámítás Normál eloszlás A normál eloszlás Folytonos változók esetén az eloszlás meghatározása nehezebb, mint diszkrét változók esetén. A változó értékei nem sorolhatóak

Részletesebben

HÁLÓZATSZERŰEN MŰKÖDŐ LOGISZTIKÁVAL INTEGRÁLT TERMELÉSÜTEMEZÉS MEGOLDÁSA GENETIKUS ALGORITMUS ALKALMAZÁSÁVAL. OLÁH Béla

HÁLÓZATSZERŰEN MŰKÖDŐ LOGISZTIKÁVAL INTEGRÁLT TERMELÉSÜTEMEZÉS MEGOLDÁSA GENETIKUS ALGORITMUS ALKALMAZÁSÁVAL. OLÁH Béla HÁLÓZATSZERŰEN MŰKÖDŐ LOGISZTIKÁVAL INTEGRÁLT TERMELÉSÜTEMEZÉS MEGOLDÁSA GENETIKUS ALGORITMUS ALKALMAZÁSÁVAL OLÁH Béla A TERMELÉSÜTEMEZÉS MEGFOGALMAZÁSA Flow shop: adott n számú termék, melyeken m számú

Részletesebben

Java programozási nyelv

Java programozási nyelv Java programozási nyelv 2. rész Vezérlő szerkezetek Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/23 Tartalomjegyzék

Részletesebben

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2017/

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2017/ Operációkutatás I. 2017/2018-2. Szegedi Tudományegyetem Informatika Intézet Számítógépes Optimalizálás Tanszék 2. Előadás LP alapfeladat A lineáris programozás (LP) alapfeladata standard formában Max c

Részletesebben

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI statisztika 10 X. SZIMULÁCIÓ 1. VÉLETLEN számok A véletlen számok fontos szerepet játszanak a véletlen helyzetek generálásában (pénzérme, dobókocka,

Részletesebben

KÖRNYEZETI FENNTARTHATÓSÁGI SEGÉDLET. ÚMFT-s. építési beruházásokhoz. 1.0 változat. 2009. augusztus. Szerkesztette: Kovács Bence.

KÖRNYEZETI FENNTARTHATÓSÁGI SEGÉDLET. ÚMFT-s. építési beruházásokhoz. 1.0 változat. 2009. augusztus. Szerkesztette: Kovács Bence. KÖRNYEZETI FENNTARTHATÓSÁGI SEGÉDLET ÚMFT-s építési beruházásokhoz 1.0 változat 2009. augusztus Szerkesztette: Kovács Bence Írta: Kovács Bence, Kovács Ferenc, Mezı János és Pataki Zsolt Kiadja: Független

Részletesebben

Numerikus matematika

Numerikus matematika Numerikus matematika Baran Ágnes Gyakorlat Nemlineáris egyenletek Baran Ágnes Numerikus matematika 9.10. Gyakorlat 1 / 14 Feladatok (1) Mutassa meg, hogy az 3x 3 12x + 4 = 0 egyenletnek van gyöke a [0,

Részletesebben

A PiFast program használata. Nagy Lajos

A PiFast program használata. Nagy Lajos A PiFast program használata Nagy Lajos Tartalomjegyzék 1. Bevezetés 3 2. Bináris kimenet létrehozása. 3 2.1. Beépített konstans esete.............................. 3 2.2. Felhasználói konstans esete............................

Részletesebben

A lineáris algebrában központi szerepet betöltı vektortér fogalmát értelmezzük most, s megvizsgáljuk e struktúra legfontosabb egyszerő tulajdonságait.

A lineáris algebrában központi szerepet betöltı vektortér fogalmát értelmezzük most, s megvizsgáljuk e struktúra legfontosabb egyszerő tulajdonságait. 2. VEKTORTÉR A lineáris algebrában központi szerepet betöltı vektortér fogalmát értelmezzük most, s megvizsgáljuk e struktúra legfontosabb egyszerő tulajdonságait. Legyen K egy test és V egy nem üres halmaz,

Részletesebben

Keresés képi jellemzők alapján. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

Keresés képi jellemzők alapján. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék Keresés képi jellemzők alapján Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék Lusta gépi tanulási algoritmusok Osztályozás: k=1: piros k=5: kék k-legközelebbi szomszéd (k=1,3,5,7)

Részletesebben

Jármőtervezés és vizsgálat I. VALÓSZÍNŐSÉGSZÁMÍTÁSI ALAPFOGALMAK Dr. Márialigeti János

Jármőtervezés és vizsgálat I. VALÓSZÍNŐSÉGSZÁMÍTÁSI ALAPFOGALMAK Dr. Márialigeti János BUDAPESTI MŐSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM KÖZLEKEDÉSMÉRNÖKI KAR JÁRMŐELEMEK ÉS HAJTÁSOK TANSZÉK Jármőtervezés és vizsgálat I. VALÓSZÍNŐSÉGSZÁMÍTÁSI ALAPFOGALMAK Dr. Márialigeti János Budapest 2008

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

Leképezések. Leképezések tulajdonságai. Számosságok.

Leképezések. Leképezések tulajdonságai. Számosságok. Leképezések Leképezések tulajdonságai. Számosságok. 1. Leképezések tulajdonságai A továbbiakban legyen A és B két tetszőleges halmaz. Idézzünk fel néhány definíciót. 1. Definíció (Emlékeztető). Relációknak

Részletesebben

Hibajavító kódok május 31. Hibajavító kódok 1. 1

Hibajavító kódok május 31. Hibajavító kódok 1. 1 Hibajavító kódok 2007. május 31. Hibajavító kódok 1. 1 Témavázlat Hibajavító kódolás Blokk-kódok o Hamming-távolság, Hamming-súly o csoportkód o S n -beli u középpontú t sugarú gömb o hibajelzı képesség

Részletesebben

SCILAB programcsomag segítségével

SCILAB programcsomag segítségével Felhasználói függvények de niálása és függvények 3D ábrázolása SCILAB programcsomag segítségével 1. Felhasználói függvények de niálása A Scilab programcsomag rengeteg matematikai függvényt biztosít a számítások

Részletesebben

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI statisztika 8 VIII. REGREssZIÓ 1. A REGREssZIÓs EGYENEs Két valószínűségi változó kapcsolatának leírására az eddigiek alapján vagy egy numerikus

Részletesebben

Regresszió. Csorba János. Nagyméretű adathalmazok kezelése március 31.

Regresszió. Csorba János. Nagyméretű adathalmazok kezelése március 31. Regresszió Csorba János Nagyméretű adathalmazok kezelése 2010. március 31. A feladat X magyarázó attribútumok halmaza Y magyarázandó attribútumok) Kérdés: f : X -> Y a kapcsolat pár tanítópontban ismert

Részletesebben

Soros felépítésű folytonos PID szabályozó

Soros felépítésű folytonos PID szabályozó Soros felépítésű folytonos PID szabályozó Főbb funkciók: A program egy PID szabályozót és egy ez által szabályozott folyamatot szimulál, a kimeneti és a beavatkozó jel grafikonon való ábrázolásával. A

Részletesebben

Számítógépes képelemzés 7. előadás. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

Számítógépes képelemzés 7. előadás. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék Számítógépes képelemzés 7. előadás Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék Momentumok Momentum-alapú jellemzők Tömegközéppont Irányultáság 1 2 tan 2 1 2,0 1,1 0, 2 Befoglaló

Részletesebben

A Riemann-Siegel zeta függvény kiugró értékeinek keresése. A matematikai egyik legnehezebb problémája, avagy a prímszámok misztériuma

A Riemann-Siegel zeta függvény kiugró értékeinek keresése. A matematikai egyik legnehezebb problémája, avagy a prímszámok misztériuma A Riemann-Siegel zeta függvény kiugró értékeinek keresése A matematikai egyik legnehezebb problémája, avagy a prímszámok misztériuma 2013 A probléma fontossága és hatása a hétköznapi életre A prímszámok

Részletesebben

ALGEBRAI KIFEJEZÉSEK, EGYENLETEK

ALGEBRAI KIFEJEZÉSEK, EGYENLETEK ALGEBRAI KIFEJEZÉSEK, EGYENLETEK AZ ALGEBRAI KIFEJEZÉS FOGALMÁNAK KIALAKÍTÁSA (7-9. OSZTÁLY) Racionális algebrai kifejezés (betűs kifejezés): betűket és számokat a négy alapművelet véges sokszori alkalmazásával

Részletesebben

Hamming-kód. Definíció. Az 1-hibajavító, perfekt lineáris kódot Hamming-kódnak nevezzük. F 2 fölötti vektorokkal foglalkozunk.

Hamming-kód. Definíció. Az 1-hibajavító, perfekt lineáris kódot Hamming-kódnak nevezzük. F 2 fölötti vektorokkal foglalkozunk. Definíció. Hamming-kód Az -hibajavító, perfekt lineáris kódot Hamming-kódnak nevezzük. F fölötti vektorokkal foglalkozunk. Hamming-kód készítése: r egész szám (ellenırzı jegyek száma) n r a kódszavak hossza

Részletesebben

12. előadás. Egyenletrendszerek, mátrixok. Dr. Szörényi Miklós, Dr. Kallós Gábor

12. előadás. Egyenletrendszerek, mátrixok. Dr. Szörényi Miklós, Dr. Kallós Gábor 12. előadás Egyenletrendszerek, mátrixok Dr. Szörényi Miklós, Dr. Kallós Gábor 2015 2016 1 Tartalom Matematikai alapok Vektorok és mátrixok megadása Tömbkonstansok Lineáris műveletek Mátrixok szorzása

Részletesebben

Adatbáziskezelés alapjai. jegyzet

Adatbáziskezelés alapjai. jegyzet Juhász Adrienn Adatbáziskezelés alapja 1 Adatbáziskezelés alapjai jegyzet Készítette: Juhász Adrienn Juhász Adrienn Adatbáziskezelés alapja 2 Fogalmak: Adatbázis: logikailag összefüggı információ vagy

Részletesebben

PDF DOKUMENTUMOK LÉTREHOZÁSA

PDF DOKUMENTUMOK LÉTREHOZÁSA PDF DOKUMENTUMOK LÉTREHOZÁSA A Portable Document Format (PDF) az Adobe Systems által kifejlesztett bináris fájlformátum. Ebben a formátumban dokumentumok tárolhatók, amelyek különbözı szoftverekkel, hardverekkel

Részletesebben

6. Függvények. Legyen függvény és nem üreshalmaz. A függvényt az f K-ra való kiterjesztésének

6. Függvények. Legyen függvény és nem üreshalmaz. A függvényt az f K-ra való kiterjesztésének 6. Függvények I. Elméleti összefoglaló A függvény fogalma, értelmezési tartomány, képhalmaz, értékkészlet Legyen az A és B halmaz egyike sem üreshalmaz. Ha az A halmaz minden egyes eleméhez hozzárendeljük

Részletesebben

Bevezetés az operációkutatásba A lineáris programozás alapjai

Bevezetés az operációkutatásba A lineáris programozás alapjai Bevezetés az operációkutatásba A lineáris programozás alapjai Alkalmazott operációkutatás 1. elıadás 2008/2009. tanév 2008. szeptember 12. Mi az operációkutatás (operations research)? Kialakulása: II.

Részletesebben

HÁROM KÖR A HÁROMSZÖGBEN

HÁROM KÖR A HÁROMSZÖGBEN Debreceni Egyetem Informatikai Kar HÁROM KÖR A HÁROMSZÖGBEN Konzulens: dr. Aszalós László egyetemi adjunktus Készítette: Király Péter programtervező matematikus szakos hallgató DEBRECEN, 008 Tartalomjegyzék

Részletesebben

Kollányi Bence: Miért nem használ internetet? A World Internet Project 2006-os felmérésének eredményei

Kollányi Bence: Miért nem használ internetet? A World Internet Project 2006-os felmérésének eredményei Kollányi Bence: Miért nem használ internetet? A World Internet Project 2006-os felmérésének eredményei A World Internet Project magyarországi kutatása országos reprezentatív minta segítségével készül.

Részletesebben

STATISZTIKA ELŐADÁS ÁTTEKINTÉSE. Matematikai statisztika. Mi a modell? Binomiális eloszlás sűrűségfüggvény. Binomiális eloszlás

STATISZTIKA ELŐADÁS ÁTTEKINTÉSE. Matematikai statisztika. Mi a modell? Binomiális eloszlás sűrűségfüggvény. Binomiális eloszlás ELŐADÁS ÁTTEKINTÉSE STATISZTIKA 9. Előadás Binomiális eloszlás Egyenletes eloszlás Háromszög eloszlás Normális eloszlás Standard normális eloszlás Normális eloszlás mint modell 2/62 Matematikai statisztika

Részletesebben

Belépés a rendszerbe. Gyors menü

Belépés a rendszerbe. Gyors menü Belépés a rendszerbe A menübe lépéshez szükséges alapértelmezett DVR Azonosító /Device ID/: 000000, megadott Jelszó /Password/ nélkül. A rendszer biztonságos használata érdekében az adminisztrátor felhasználónak

Részletesebben

Kutatói pályára felkészítı akadémiai ismeretek modul

Kutatói pályára felkészítı akadémiai ismeretek modul Kutatói pályára felkészítı akadémiai ismeretek modul Környezetgazdálkodás Publikáció (szóbeli és írásbeli) készítés KÖRNYEZETGAZDÁLKODÁSI AGRÁRMÉRNÖK MSC A számítógépes szakirodalmi forráskutatás 11. elıadás

Részletesebben

I. LABOR -Mesterséges neuron

I. LABOR -Mesterséges neuron I. LABOR -Mesterséges neuron A GYAKORLAT CÉLJA: A mesterséges neuron struktúrájának az ismertetése, neuronhálókkal kapcsolatos elemek, alapfogalmak bemutatása, aktivációs függvénytípusok szemléltetése,

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

Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez

Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez Pásztor Attila Algoritmizálás és programozás tankönyv az emeltszintű érettségihez 3. ADATTÍPUSOK...26 3.1. AZ ADATOK LEGFONTOSABB JELLEMZŐI:...26 3.2. ELEMI ADATTÍPUSOK...27 3.3. ÖSSZETETT ADATTÍPUSOK...28

Részletesebben

Megkülönböztetett kiszolgáló routerek az

Megkülönböztetett kiszolgáló routerek az Megkülönböztetett kiszolgáló routerek az Interneten Megkülönböztetett kiszolgálás A kiszolgáló architektúrák minősége az Interneten: Integrált kiszolgálás (IntServ) Megkülönböztetett kiszolgálás (DiffServ)

Részletesebben

6. A szervezet. Az egyik legfontosabb vezetıi feladat. A szervezetek kialakítása, irányítása, mőködésük ellenırzése, hatékonyságuk növelése,

6. A szervezet. Az egyik legfontosabb vezetıi feladat. A szervezetek kialakítása, irányítása, mőködésük ellenırzése, hatékonyságuk növelése, 6. A szervezet Az egyik legfontosabb vezetıi feladat A szervezetek kialakítása, irányítása, mőködésük ellenırzése, hatékonyságuk növelése, 1 Formális és informális szervezetek A formális szervezet formákban

Részletesebben

Java II. I A Java programozási nyelv alapelemei

Java II. I A Java programozási nyelv alapelemei Java2 / 1 Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2009. 02. 09. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve

Részletesebben

Rekurzió. Dr. Iványi Péter

Rekurzió. Dr. Iványi Péter Rekurzió Dr. Iványi Péter 1 Függvényhívás void f3(int a3) { printf( %d,a3); } void f2(int a2) { f3(a2); a2 = (a2+1); } void f1() { int a1 = 1; int b1; b1 = f2(a1); } 2 Függvényhívás void f3(int a3) { printf(

Részletesebben

WINDOWS XP - A GRAFIKUS FELÜLET KEZELÉSE

WINDOWS XP - A GRAFIKUS FELÜLET KEZELÉSE WINDOWS XP - A GRAFIKUS FELÜLET KEZELÉSE ASZTAL Asztalnak nevezzük a Windows indításakor megjelenı képernyıterületet. Ez a grafikus felhasználói felület. Munkaasztalunk bizonyos tulajdonságait tekintve

Részletesebben

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t Ellenőrző kérdések 2. Kis dolgozat kérdései 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t 37. Ha t szintű indexet használunk,

Részletesebben

Opkut deníciók és tételek

Opkut deníciók és tételek Opkut deníciók és tételek Készítette: Bán József Deníciók 1. Deníció (Lineáris programozási feladat). Keressük meg adott lineáris, R n értelmezési tartományú függvény, az ún. célfüggvény széls értékét

Részletesebben

TERMÉKEK MŐSZAKI TERVEZÉSE Megbízhatóságra, élettartamra tervezés I.

TERMÉKEK MŐSZAKI TERVEZÉSE Megbízhatóságra, élettartamra tervezés I. TERMÉKEK MŐSZAKI TERVEZÉSE Megbízhatóságra, élettartamra tervezés I. Dr. Kovács Zsolt egyetemi tanár Megbízhatóság-elméleti alapok A megbízhatóságelmélet az a komplex tudományág, amely a meghibásodási

Részletesebben

KARAKTERFELISMERÉS AZ EVASYS-BEN

KARAKTERFELISMERÉS AZ EVASYS-BEN KARAKTERFELISMERÉS AZ EVASYS-BEN HOL HASZNÁLHATÓ, KI HASZNÁLHATJA A Miskolci Egyetem megvásárolta a kézírásfelismerés (ICR) modult az Evasys legutóbbi licencével együtt. Ezzel lehetőség nyílt a papír alapú

Részletesebben

Gauss-eliminációval, Cholesky felbontás, QR felbontás

Gauss-eliminációval, Cholesky felbontás, QR felbontás Közelítő és szimbolikus számítások 4. gyakorlat Mátrix invertálás Gauss-eliminációval, Cholesky felbontás, QR felbontás Készítette: Gelle Kitti Csendes Tibor Somogyi Viktor London András Deák Gábor jegyzetei

Részletesebben

0,424 0,576. f) P (X 2 = 3) g) P (X 3 = 1) h) P (X 4 = 1 vagy 2 X 2 = 2) i) P (X 7 = 3, X 4 = 1, X 2 = 2 X 0 = 2) j) P (X 7 = 3, X 4 = 1, X 2 = 2)

0,424 0,576. f) P (X 2 = 3) g) P (X 3 = 1) h) P (X 4 = 1 vagy 2 X 2 = 2) i) P (X 7 = 3, X 4 = 1, X 2 = 2 X 0 = 2) j) P (X 7 = 3, X 4 = 1, X 2 = 2) Legyen adott a P átmenetvalószín ség mátrix és a ϕ 0 kezdeti eloszlás Kérdés, hogy miként lehetne meghatározni az egyes állapotokban való tartózkodás valószín ségét az n-edik lépés múlva Deniáljuk az n-lépéses

Részletesebben

Osztott jáva programok automatikus tesztelése. Matkó Imre BBTE, Kolozsvár Informatika szak, IV. Év 2007 január

Osztott jáva programok automatikus tesztelése. Matkó Imre BBTE, Kolozsvár Informatika szak, IV. Év 2007 január Osztott jáva programok automatikus tesztelése Matkó Imre BBTE, Kolozsvár Informatika szak, IV. Év 2007 január Osztott alkalmazások Automatikus tesztelés Tesztelés heurisztikus zaj keltés Tesztelés genetikus

Részletesebben

Adatstruktúrák, algoritmusok, objektumok

Adatstruktúrák, algoritmusok, objektumok Adatstruktúrák, algoritmusok, objektumok 2. Az objektumorientált programozási paradigma 1 A szoftverkrízis Kihívások a szoftverfejlesztés módszereivel szemben 1. A szoftveres megoldások szerepe folyamatosan

Részletesebben

Érdekes informatika feladatok

Érdekes informatika feladatok A keres,kkel és adatbázissal ellátott lengyel honlap számos díjat kapott: Spirit of Delphi '98, Delphi Community Award, Poland on the Internet, Golden Bagel Award stb. Az itt megtalálható komponenseket

Részletesebben

Gépi tanulás a gyakorlatban. Lineáris regresszió

Gépi tanulás a gyakorlatban. Lineáris regresszió Gépi tanulás a gyakorlatban Lineáris regresszió Lineáris Regresszió Legyen adott egy tanuló adatbázis: Rendelkezésünkre áll egy olyan előfeldolgozott adathalmaz, aminek sorai az egyes ingatlanokat írják

Részletesebben

Véletlenszám generátorok és tesztelésük. Tossenberger Tamás

Véletlenszám generátorok és tesztelésük. Tossenberger Tamás Véletlenszám generátorok és tesztelésük Tossenberger Tamás Érdekességek Pénzérme feldobó gép: $0,25-os érme 1/6000 valószínűséggel esik az élére 51% eséllyel érkezik a felfelé mutató oldalára Pörgetésnél

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

14-469/2/2006. elıterjesztés 1. sz. melléklete. KOMPETENCIAMÉRÉS a fıvárosban

14-469/2/2006. elıterjesztés 1. sz. melléklete. KOMPETENCIAMÉRÉS a fıvárosban KOMPETENCIAMÉRÉS a fıvárosban 2005 1 Tartalom 1. Bevezetés. 3 2. Iskolatípusok szerinti teljesítmények.... 6 2. 1 Szakiskolák 6 2. 2 Szakközépiskolák. 9 2. 3 Gimnáziumok 11 2. 4 Összehasonlítások... 12

Részletesebben

Statisztika - bevezetés Méréselmélet PE MIK MI_BSc VI_BSc 1

Statisztika - bevezetés Méréselmélet PE MIK MI_BSc VI_BSc 1 Statisztika - bevezetés 00.04.05. Méréselmélet PE MIK MI_BSc VI_BSc Bevezetés Véletlen jelenség fogalma jelenséget okok bizonyos rendszere hozza létre ha mindegyik figyelembe vehető egyértelmű leírás általában

Részletesebben