Evoluční algoritmy Použítí evoluční principů, založených na metodách optimalizace funkcí a umělé inteligenci, pro hledání řešení nějaké úlohy. Populace množina jedinců, potenciálních řešení Fitness function hodnocení kvality jedince Genetické operátory selekce, křížení, mutace Genetický algoritmus(fit,n,k,m) Inicializace 1. přiřaď t:= 0 (počítadlo generací) 2. náhodně vytvoř populaci P(t) velikosti N 3. urči hodnoty funkce fit pro každého jedince v P(t) Hlavní cyklus 1. dokud není splněna podmínka pro zastavení 1.1. proveď selekci: 1.1.1. vyber z P(t) jedince kteří se přímo přenesou do P(t+1) 1.2. proveď křížení: 1.2.1. vyber z P(t) jedince určené k reprodukci 1.2.2. aplikuj na každou dvojci [h 1, h 2 ] z výběru operaci křížení 1.2.3. zařaď potomky do P(t+1) 1.3. proveď mutaci: 1.3.1. vyber jedince z P(t+1) určené k mutaci 1.3.2. aplikuj na každé vybrané h operaci mutace 1.4. přiřaď t:= t + 1 (nová populace má opět velikost N) 1.5. spočítej pro každé h P(t) hodnotu fit(h) 2. vrať hypotézy h s nejvyšší hodnotu fit(h) Podmínka zastavení počet iterací kvalita nejlepšího jedince v populaci změna kvality nejlepšího jedince mezi iteracemi P. Berka, 2011 1/8
Selekce ruletové kolo (1 K) N jedinců přímo pravděpodobnost, že bude vybrán jedinec h je úměrná poměru fit(h) i fit(h i ), pořadová selekce nejprve jsou jedinci v populaci uspořádáni podle hodnoty fit, selekce se pak provádí na základě pravděpodobnosti, která je úměrná pořadí jedince v tomto uspořádání, turnajová selekce nejprve se náhodně vyberou dva jedinci, s předefinovanou pravděpodobností p se pak vybere jedinec s vyšší hodnotou fit, s pravděpodobností 1-p se vybere jedinec s nižší hodnotou fit. Křížení K N 2 jednobodové dvojic 111010010 111000101 000100101 000110010 dvoubodové 111010010 111000100 000100101 000110011 Mutace M N jedinců 111010010 111011010 P. Berka, 2011 2/8
GA Demo (Obitko, 1998) počáteční populace selekce P. Berka, 2011 3/8
křížení mutace P. Berka, 2011 4/8
GA pro učení se konceptům paralelní náhodné prohledávání GABIL (dejong, 1993) Jedinci jsou pravidla: If konto(nízké) příjem(nízký) then úvěr(ne) If konto(vysoké) then úvěr(ano) 100 10 01 001 11 10 zpřesnění základního algoritmu 1. funkce fit(h) je druhou mocninou správnosti klasifikace a fit(h) = ( a + b )2, 2. počet jedinců v populaci je mezi 100 a 1000 v závislosti na konkretní úloze, 3. parametr K vyjadřující podíl křížení má hodnotu 0.6, 4. parametr M vyjadřující podíl mutací má hodnotu 0.001, 5. použitý operátor křížení je rozšířením výše uvedeného dvoubodového křížení; provedené rozšíření umožňuje křížit řetězce různých délek, 6. mutace je použita tak, jak je uvedeno výše. P. Berka, 2011 5/8
GA jako součást jiných algoritmů učení GA-CN4 (Bruha, Kralik, 1999) algoritmus pokrývání množin, pravidlo se generuje pomocí GA procedure GA-CN4(T) Let ListOfRules be an empty list Until T is empty do 1. Let Cond be the best condition found by the genetic algorithm GA(T) for the given set T 2. If Cond is not nil then Let T' T be examples covered by Cond Let T become T \ T' Add the rule If Cond then class is C to the end of ListOfRules where C is the majority class in T' enddo Add the default rule If true then class is majority class to the end of ListOfRules Return ListOfRules procedure GA(T) Initialize randomly a new population Until stopping condition is satisfied do 1. Select objects by tournament selection routine 2. Generate offsprings by two-point crossover procedure 3. Perform the bit mutation 4. Check whether each new object has the correct attribute and class values (within their ranges); if not the object's fitness is set to 0 enddo Select the fittest object (rule) If this objet is statistically significant then return this object P. Berka, 2011 6/8
GA jako nástroj pro optimalizaci parametrů GA pro optimalizaci nastavení neuronové sítě GA pro hledání topologie bayesovské sítě (Weka) GA pro selekci atributů (Weka) P. Berka, 2011 7/8
Genetické programování jedinci jsou funkce sin + x ^ + y x 2 Stromová (prefixová) reprezentace funkce sin(x) + (x 2 +y) Křížení dvou stromů P. Berka, 2011 8/8