Source: http://docplayer.cz/75565-Na-tomto-mist-bude-ocialni-zadani-va2i-prace.html
Timestamp: 2017-02-24 20:19:01+00:00

Document:
1 Na tomto míst bude ociální zadání va²í práce Toto zadání je podepsané d kanem a vedoucím katedry, musíte si ho vyzvednout na studiijním odd lení Katedry po íta na Karlov nám stí, v jedné odevzdané práci bude originál tohoto zadání (originál z stává po obhajob na kated e), ve druhé bude na stejném míst neov ená kopie tohoto dokumentu (tato se vám vrátí po obhajob ). i2 ii3 ƒeské vysoké u ení technické v Praze Fakulta elektrotechnická Katedra po íta Bakalá ská práce Optimaliza ní algoritmus CMA-ES Antonín ulc Vedoucí práce: Ing. Jan Drchal Studijní program: Softwarové technologie a management, Bakalá ský Obor: Inteligentní systémy 9. kv tna4 iv5 v Pod kování Rád bych touto cestou pod koval v²em, kte í m zasv tili do problematiky evolu ních strategií. Mé velké díky pat í Ing. Janu Drchalovi, který m seznámil s celou problematikou, dále pak Ing. Petru Po²íkovi, Ph.D., který mi v rámci p edm tu Aplikace um lé inteligence vysv tlil podstatu celých evolu ních výpo t a poskytl obecný rámec informací a rovn º za to, ºe si na m vºdy na²el as, pokud jsem cht l cokoli konzultovat. Dále pak RNDr. Petru Ol²ákovi, který pohotov odpovídal na v²echny mé dotazy ohledn matematických problém souvisejících s algoritmem. Potom své rodin a blízkým p átel m a svému zam stnavateli Ing. Martinu Rehákovi, Ph.D., kte í se mi snaºili pomoci, kdyº jsem za al poci ovat asovou krizi.6 vi7 vii Prohlá²ení Prohla²uji, ºe jsem práci vypracoval samostatn a pouºil jsem pouze podklady uvedené v p iloºeném seznamu. Nemám závaºný d vod proti uºití tohoto ²kolního díla ve smyslu Ÿ6 Zákona. / Sb., o právu autorském, o právech souvisejících s právem autorským a o zm n n kterých zákon (autorský zákon). Praze dne8 viii9 Abstract Translation of Czech abstract into English. Abstrakt Abstrakt práce by m l velmi stru n vystihovat její podstatu. Tedy ím se práce zabývá a co je jejím výsledkem/p ínosem. O ekávají se cca odstavce, maximáln p l stránky. ix10 x11 Obsah Úvod. Evolu ní algoritmy, techniky a výpo ty Vlastnosti a popis Operátory genetických algoritm a evolu ních strategií Selekce K íºení, rekombinace Mutace Evolu ní strategie D lení evolu ních strategií (µ, λ)-es (µ + λ)-es (µ/ϱ, λ)-es ( + λ)-es ( + )-ES Matematický aparát Newtonova metoda Matice Vlastní ísla a vlastní vektory matic Denice vlastních ísel a vlastních vektor Normální rozd lení Analýza algoritmu CMA-ES 5..5 Podrobný popis krok algoritmu Generování Vyhodnocení Selekce a rekombinace Výpo et p σ Výpo et p c Výpo et kovarian ní matice C Výpo et hodnoty σ Vlastnosti algoritmu CMA-ES Zastavovací kritéria Vlastnosti Vztah s Hessovou maticí Varianty CMA-ES xi12 xii OBSAH.. IPOP-CMA-ES σ-m-ipop-cma-es LS-CMA-ES ACTIVE-CMA-ES Implementace algoritmu CMA-ES do knihovny JCool 9 3. Knihovna JCool Základní rozhraní knihovny JCool Implementace algoritm v knihovn JCool Implementace do knihovny JCool Základní t ída CMAESMethod Obecn k implementaci t ídy CMAESMethod Integrace t ídy CMAESMethod do knihovny JCool Inicializa ní krok ve t íde CMAESMethod Optimaliza ní krok ve t íde CMAESMethod T ída RestartCMAESMethod Obecn k implementaci t ídy RestartCMAESMethod T ída IPOPCMAESMethod T ída PureCMAESMethod Implementace zastavovacích podmínek Podmínka NoEectAxis Podmínka NoEectCoord Podmínka EqualFunValues Podmínka ConditionCov Podmínka TolX Podmínka TolFunHistory Experimenty Informace k experiment m Získávání infomrací o pr b hu p i porovnávání s ostatními metodami Diskuze o výsledcích experiment Získávání informací o pr b hu výpo tu algoritmu CMA-ES Kroky algoritmu pro vybrané funkce P íloha A: Porovnání dal²ích variant s algoritmem CMA-ES Porovnání s algoritmem LS-CMA-ES Porovnání s algoritmem ACTIVE-CMA-ES P íloha B: Pouºité zkratky a jejich vysv tlení 89 6 P íloha C: Popis atribut t ídy CMAESMethod 9 7 P íloha D: Grafy vybraných testovacích funkcí 93 8 Záv r 3 A Testování zapln ní stránky a odsazení odstavc 713 OBSAH xiii B Pokyny a návody k formátování textu práce B. Vkládání obrázk B. Kreslení obrázk B.3 Tabulky B.4 Odkazy v textu B.4. Odkazy na literaturu B.4. Odkazy na obrázky, tabulky a kapitoly B.5 Rovnice, centrovaná, íslovaná matematika B.6 Kódy programu B.7 Dal²í poznámky B.7. ƒeské uvozovky C Seznam pouºitých zkratek 7 D UML diagramy 9 E Instala ní a uºivatelská p íru ka F Obsah p iloºeného CD 314 xiv OBSAH15 Seznam obrázk. Pr b h multirekombinace pro (µ/ϱ, λ) ES Jedno a dvoubodové k íºení v GA Ukázka k íºení u GA Newton v sm r Newton v sm r i gradient Geometrická interpretace rozkladu na vlastní ísla a vektory Vizualizace normálních rozd lení Váhy w i pro váºení jedinc v selekci a rekombinaci. Na ose x je po adí vah, p i emº první váha je váha pro nejsiln j²ího jedince Ukázky dvou evolut ních cest Vliv rozdílu st edních hodnot Odhad konvergence algoritmu CMA-ES Ukázka výpo tu parametr algoritmu σ-m-ipop-cma-es T ídy Consumer, Producer a Solver Hierarchie t íd pro telemetrie Hierarchie t íd, zapouzd ující tness funkci Základní t ídní hierarchie implmenetace algoritmu CMA-ES Pr b h tness pro Ackleyovu funkci Pr b h tness pro Bealeho funkci Pr b h tness pro Bohachevskyho funkci Pr b h tness pro Booth funkci Pr b h tness pro Branin funkci Pr b h tness pro Colville funkci Pr b h tness pro Dixon-Priceovu funkci Pr b h tness pro Easomovu funkci Pr b h tness pro Goldstein-Price funkci Pr b h tness pro Griewangkovu funkci Pr b h tness pro Hartmannovu funkci Pr b h tness pro Himmelblauovu funkci Pr b h tness pro Langermannovu funkci Pr b h tness pro Levyho 3 funkci Pr b h tness pro Levyho 5 funkci Pr b h tness pro Levy funkci xv16 xvi SEZNAM OBRÁZK 4.7 Pr b h tness pro Matyas funkci Pr b h tness pro Michalewicz funkci Pr b h tness pro Perm funkci Pr b h tness pro Powellovu funkci Pr b h tness pro kvadratickou funkci Pr b h tness pro Ranaovu funkci Pr b h tness pro Rastrigin funkci Pr b h tness pro Rosenbrockovu funkci Pr b h tness pro Schwefelovu funkci Pr b h tness pro Shekelovu funkci Pr b h tness pro Shubertovu funkci Pr b h tness pro Sphere funkci Pr b h tness pro Tridovu funkci Pr b h tness pro Whitleyovu funkci Pr b h tness pro Zakharov funkci Pr b h algoritmu pro Ackleyovu funkci ve dvou rozm rech Pr b h algoritmu pro Bealeho funkci ve dvou rozm rech Pr b h algoritmu pro Bohachevskyho funkci prvního druhu ve dvou rozm rech Pr b h algoritmu pro Booth funkci ve dvou rozm rech Pr b h algoritmu pro Braninovu funkci ve dvou rozm rech Pr b h algoritmu pro konstantní funkci ve dvou rozm rech Pr b h algoritmu pro Dixon-Priceovu funkci ve dvou rozm rech Pr b h funkce pro Easomovu funkci ve dvou rozm rech Pr b h algoritmu pro Goldstein-Priceovu funkci ve dvou rozm rech Pr b h algoritmu pro Himmelblauovu funkci ve dvou rozm rech Pr b h algoritmu pro Humpovu funkci ve dvou rozm rech Pr b h algoritmu pro Matyasovu funkci ve dvou rozm rech Pr b h algoritmu pro Rastriginovu funkci ve dvou rozm rech Pr b h algoritmu pro Rosenbrockovu funkci ve dvou rozm rech Pr b h algoritmu pro Schwefelovu funkci ve dvou rozm rech Pr b h algoritmu pro kvadratickou funkci ve dvou rozm rech Pr b h algoritmu pro Tridovu funkci ve dvou rozm rech Pr b h algoritmu pro Zakharovovu funkcui ve dvou rozm rech Porovnání algoritmu ACTIVE-CMA-ES Popis atribut t ídy CMAESMethod jejich p ípadné odpovídající prom nné algoritmu CMA-ES Ackleyova funkce ve dvou rozm rech Bealeho funkce ve dvou rozm rech Bohachevskyho funkce prvního druhu ve dvou rozm rech Bootheho funkce ve dvou rozm rech Braninova funkce ve dvou rozm rech Konstatní funkce ve dvou rozm rech Dixon-Priceova funkce ve dvou rozm rech Easomova funkce ve dvou rozm rech17 SEZNAM OBRÁZK xvii 7.9 Goldstein-Priceova funkce ve dvou rozm rech Himmelblauova funkce ve dvou rozm rech Humpova funkce ve dvou rozm rech Matyasova funkce ve dvou rozm rech Rastriginova funkce ve dvou rozm rech Rosenbrockova funkce ve dvou rozm rech Schwefelova funkce ve dvou rozm rech Kvadratická funkce ve dvou rozm rech Tridova funkce ve dvou rozm rech Zakharovova funkce ve dvou rozm rech F. Seznam p iloºeného CD p íklad18 xviii SEZNAM OBRÁZK19 Seznam tabulek 4. Testovací funkce, nad nimiº byli provedeny expermenty xix20 xx SEZNAM TABULEK21 Kapitola Úvod. Evolu ní algoritmy, techniky a výpo ty Denice Evolu ní algoritmy, techniky a výpo ty: Jsou metaheuristické optimaliza ní algoritmy, jenº jsou podoblastí um lé inteligence. Evolu ní algoritmy jsou tvo eny populací, nad níº jsou denovány operátory selekce, k íºení a mutace. Kaºdý prvek z populace p edstavuje jedno z moºných e²ení... Vlastnosti a popis Jak bylo e eno v denici, tak evolu ní algoritmus (dále jen EA) je tvo en populací o n jedincích, nad nimiº probíhá adaptace a evoluce v kaºdé generaci g..úkolem je najít globální optimum. Protoºe se jedná o metaheuristiku, není zaru eno, ºe toto vybrané e²ení x i je optimální. EA vytvo ili mezistupe mezi deterministickými gradientními technikami a technikami náhodného prohledávání. input : Fitness funkce f : D f R. output: Metaheuristický odhad nejlep²í hodnoty funkce f g := ; ( x i = rand ()) X () ; vyhodno kvalitu f (x i ) x i X () ; while not stop condition met do X (g) selekce (X = selekce (g)) X (g) ; X (g) ( operatory = operatory X (g) selected) ; vyhodno kvalitu f (x i ) x i X (g) X (g+) = vyber_nejlepsi g := g + ; end ( operatory; X (g) operatory) ; Algoritmus : Základní genetický algoritmus22 KAPITOLA. ÚVOD Jedinec je ur itou reprezentací, pro kterého jsme schopni vyhodnotit jeho kvalitu. Reprezentace kaºdého jedince je genotyp (sloºený z atomických gen ) a reprezentuje ur itý fenotyp. Nejznám j²í EA jsou: Genetický algoritmus (dále jen GA), v kaºdé generaci jsou jedinci, kte í jsou reprezentováni binárním genotypem. Obecný GA je popsán v algoritmu. Genetické programování, v kaºdé generaci jsou jedinci, kte í jsou reprezentací jednoho z moºných postup (nap. struktura, popis atp.) v e²ení daného problému. Jejich kvalitu m í schopnost e²it daný problém. Evolu ní programování, je velmi podobné genetickému programování s tím rozdílem, ºe reprezentace jednoho jedince x je pevn daná. M ní se pouze jeho parametry viz. [? ]. Evolu ní strategie (dále jen ES), v kaºdé generaci jsou jedinci reprezentováni vektory, ale na rozdíl od GA je genotyp p ímou reprezentací (fenotypem) hodnoty vstupující do tness funkce f. Vlastnosti nových jedinc v populaci jsou p eváºn navzájem korelované s p vodní populací a s ohledem na jejich kvalitu. U ES m ºe být pouºito k íºení, zatímco mutace vybraných jedinc probíhá vºdy... Operátory genetických algoritm a evolu ních strategií V následujícím pojednání se pokusím vysv tlit principy a postupy operátor pouºívaných v EA. Genetické operátry nelze zobecnit pro v²echny algortimy. Kaºdý operátor je charakteristický tím, ºe vybírá z populace (selekce), vytvá í novou informaci v populaci (mutace) nebo sdílí informaci mezi jedinci (k íºení, rekombinace).... Selekce Denice Selekce: Je operátor, jenº vybírá jedince z populace, na neº bude pouºit genetický operátor Selek ní operátory vybírají lep²í jedince s vy²²í pravd podobností. Nap íklad u GA existuje operátor selekce ruletovým kolem [? ]. Tento selek ní operátor set ídí populaci a ke kaºdému jedinci vypo te pom r jeho kvality v i celkové kvalit populace. Tento pom r tvo í pom r výse e na tzv. ruletovém kole. Následn se na tomto ruletovém kole vybere náhodné místo, které ukazuje na vybraného jedince. N kdy m ºe být výb r i deterministický, jako nap. u ES, která je zaloºená na adaptaci kovarian ních matic (dále jen CMA-ES). Selek ní operátor z celé populace vybere mnoºinu o velikosti µ nejlep²ích jedinc a z nich vypo te váºenou st ední hodnotu.23 .. EVOLUƒNÍ ALGORITMY, TECHNIKY A VÝPOƒTY 3... K íºení, rekombinace Denice K íºení, rekombinace: Je, je n-nární operátor, který provádí nad dv ma genotypy vzájemnou vým nu informace mezi jedinci. Nejb ºn j²í operátor k íºení je jednobodové k íºení v GA. Termín jednobodové k íºení nad dv ma chromozomy délky N si lze p edstavit tak, ºe zvolím náhodný bod < r < N, p i emº v²echny geny v reprezentaci jednoho jedince se od prvního do r-tého genu nahradí geny druhého jedince a geny druhého jedince se od r-tého do posledního (N-tého) genu nahradí geny na odpovídajících pozicích chromosomu prvního jedince. Výsledkem jsou dva chromozomy, dva noví jedinci. Geometricky si lze jednobodové k íºení p edstavit tak, ºe nov vytvo ení jedinci z k íºení se mohou nacházet na hlavních osách kaºdého z jedinc. Princip je na obrázku... a na obrázku... kde je geometrická interpretace. K íºení lze samoz ejm zobecnit na m-bodové k íºení, mezi n jedinci. Nejb ºn ji pouºívaný v GA je ov²em binární jedno-aº-dvou bodový operátor k íºení. V p ípad, ºe je ES ozna ena jako (µ/ϱ, λ) nebo (µ/ϱ + λ) a hodnota parametru ϱ je v t²í neº, m ºe docházet k tzv. multirekombinaci. N kdy se také multirekombinaci íká diskrétní k íºení [? ]. Multirekombinace je operátor, kde do k íºení vstupuje ϱ jedinc z µ vybraných jedinc. Multirekombinace probíhá tak, ºe z poulace selekcí vybere µ jedinc, z nichº se náhodn vybere ϱ jedinc. Následn z této mnoºiny vybere operátor kaºdý gen náhodn (prvek vektoru reprezentace) aº N z ϱ jedinc. Proces ilustruje obrázek... K íºení probíhá u v²ech ES, které mají ϱ, pokud ϱ > mluvíme o tzv. multirekombinaci. Podstatným rozdílem operátoru k íºení u GA a ES je, ºe výsledkem k íºení jsou op t dva jedinci, zatímco u ES vygenerujeme nového jedince pouze jednoho nebo více, ale s podobnými vlastnostmi. Podstatný je fakt, ºe do k íºení vstupuje generace p edchozí, která p edá áste n svou informaci generaci nové....3 Mutace Denice Mutace: Je u GA operátor náhodné zm ny hodnoty genu v genotypu. V p ípad ES je to nahrazení celého genotypu genem podobným. U mutace vzniká nová, potenciáln vhodná informace.!!! ES? zkratka denovana? P íkladem mutace u GA je prohození genu/gen v daném genotypu. Geometricky si lze p edstavit mutaci nad binárním genotypem po p evodu na fenotyp podle obrázku. Jedinec je reprezentován chromozomem, kde kaºdý gen m ºe být reprezentován binárn {, }. Výchozí jedinec je reprezentován genotypem (,,, ;,,, ) a nachází se na sou adnicích (8, 8). Prohozením libovlného bitu docílíme ve dvou rozm rech translaci jedince do jednoho ze sm r hlavních os sou adného systému (viz obrázek...).24 4 KAPITOLA. ÚVOD Celá populace λ jedinc X = µ jedinc Selekce µ jedinc (x, x, x 3,... x n ) (x, x, x 3,... x n ) (x 3, x 3, x 33,... x 3n ). (x λ, x, x 3,... x λn ) (x, x, x 3,... x n ) (x, x, x 3,... x n ) (x 3, x 3, x 33,... x 3n ). (x µ, x, x 3,... x µn ) Náhodný výb r ϱ jedinc ϱ jedinc (x, x, x 3,... x n ) (x, x, x 3,... x n ) (x 3, x 3, x 33,... x 3n ). (x ϱ, x, x 3,... x ϱn ) Vygeneruj náhodn pro kaºdý gen (, n) náhodný chromosom z ϱ jedinc Nový jedinec, sloºený z ástí populace ϱ x ϱ Obrázek.: Pr b h multirekombinace pro (µ/ϱ, λ) ES Obrázek.: Jedno a dvoubodové k íºení v GA [? ] Levý:Jednobodové k íºení, Pravý:Dvoubodové k íºení. Crossover point ozna uje bod k íºení, tedy náhodnou hodnotu < r < N. [? ]25 .. EVOLUƒNÍ STRATEGIE 5 5 Bit flip mutace pro dvourozmerny prostor 5 Jednobodove krizeni x x 5 x (g) mut(x (g) ) 5 5 x 5 x (g),x (g) cross(x (g),x (g) ) 5 5 x Obrázek.3: Ukázka k íºení u GA Levý: Mutace jednoho bitu u jedince reprezentovaným binárním et zcem o délce 8 bit, Pravý: Jednobodové k íºení u jedinc reprezentovaných binárním et zcem o délce 8 bit V ES je p ístup pon kud jiný. ES reprezentují jedince pomocí vektr reálných ísel a genotyp je zárove i fenotyp. V p ípad mutace ES se vyuºívá podmnoºiny, p ípadn celé populace, z níº vytvo ím novou populaci, áste n korelovanou s p vodní. V p ípad CMA-ES probíhá mutace tak, ºe stávající populace jedinc je pln nahrazena novými, normáln rozd lenými jedinci, p i emº parametry pro normální rozd lení bere ze stávající populace speciálním výpo tem kovarian ní matice a její st ední hodnoty (st ední hodnota, jak jsem jiº zmínil je parametr selekce ). Obdobn jako u k íºení, resp. rekombinace nelze popis zobecnit, nebo se li²í strategie od strategie. Obecným rysem mutace je, ºe vná²í novou náhodnou sloºku do stávající populace, která m ºe být n kdy výhodná pro lep²í prohledání stavového prostoru.. Evolu ní strategie Evolu ní strategie, je dal²í z kategorií evolu ních výpo t. ES se li²í od GA tím, ºe vyuºívá stávající reprezentaci jedinc k tomu, aby mohla vygenerovat populaci novou pomocí normálního rozd lení. Populace jako celek tvo í reprezentaci n jakého stavu v prostoru e²ení a vlastností celku nebo její podmnoºiny. Vyuºije p i tom operátory k vytov ení nové populace. Podstatným rysem v t²iny ES je, ºe vyuºívá normální rozd lení. Navzájem se od sebe ES mohou li²it r znými p ístupy k výpo t m parametr normálního rozd lení... D lení evolu ních strategií Jelikoº práce s populací lze u ES zobecnit, byla vytvo ena metodika ozna ování kategorií. Ozna ení nic ne íká o velikostech populace, ale co je vstupem a výstupem jednoho kroku (jedné generace) dané ES. Symbolem µ zna íme populaci, jenº byla vybrána k vytvo ení nových jedinc λ.26 6 KAPITOLA. ÚVOD... (µ, λ)-es Z populace se vybere µ jedinc, kte í vytvo í λ jedinc do populace nové. µ (µ, λ)-es λ (.)... (µ + λ)-es Z populace se vybere µ jedinc, která vytvo í λ jedinc a výsledkem je slou ení µ a λ. Pro udrºení konstantní velikosti populace v generacích je resp. m ºe být λ (worst) jedinc odstran no. µ (µ + λ)-es µ + λ µ (.)...3 (µ/ϱ, λ)-es Z populace se vybere µ jedinc, kte í vytvo í λ jedinc do populace nové. V pr b hu ES je pouºit i operátor rekombinace, který je provád n nad ϱ jedinci. µ (µ/ϱ, λ)-es λ (.3) P íkladem m ºe být základní algoritmus CMA-ES, který je ozna ován jako (µ/µ W, λ)-es, ímº íká, ºe do rekombinace vstupuje µ jedinc, kte í jsou váºení jistou váhou (podle subskriptu W). V p ípad algoritmu CMA-ES ozna ení íká, ºe k íºení probíhá nad µ W = µ jedinci. Znakem ϱ nemusíme zna it mutirekombinaci, nicmén informace za lomítkem je nositelem informace o tom, co se d je v k íºení. Coº by m lo u odpovídající ES blíºe specikováno....4 ( + λ)-es Z populace se vybere jeden jedinec, který vytvo í λ jedinc do nové populace. ( + λ)-es + λ (.4)...5 ( + )-ES Z populace se vybere jeden jedinec, který vytvo í jednoho jedince do nové populace. ( + )-ES + (.5) Ve své podstat je tato ES tzv. hill-climbing technikou, nebo ve své jedné generaci vytvo í nového jedince. Ten se p idá do stávající populace a bu zvít zí a z stane, nebo, je-li lep²í, bude odstran n.27 .3. MATEMATICKÝ APARÁT 7.3 Matematický aparát.3. Newtonova metoda Newtonova metoda, jak ukáºi pozd ji, má velmi blízko k algoritmu CMA-ES. Metoda je zaloºena na vlastnostech inverzní Hessovy matice, která je práv algoritmem CMA-ES aproximována. Je to iterativní metoda pro hledání ko en rovnic. Lze ji ov²em pouºít i pro hledání inexních bod funkcí, které mají druhou derivaci. Takºe hledáme poblíº lokální optima. Budu p edpokládat, ºe mám zadanou funkci f : R R, která má spojité druhé derivace, zadaný výchozí bod x a hledám inexní bod x (první derivace je v bod x nulová). Budu aproximovat funkci f Taylorovým polynomem druhého stupn : f (x + x) = f (x) + df dx (x) x + d f dx (x) x (.6) x je krok algoritmu, resp. délka kroku. Hledám takové x, které je co nejmen²í, nejlépe nula p ímo. Toto získám zderivováním výrazu.6 podle x a vznikne: df dx (x) + d f (x) x = dx df dx (x) + d f (x) (x dx n x n ) = x n x n = df dx (xn) d f dx (x n) x n = x n df dx (xn) d f dx (xn) (.7) vy e²ím-li tuto rovnici, odvodím rovnici pro Newtonovy metody [? ]. Oby ejné gradientní metody berou v potaz pouze okamºitou hodnotu gradientu v ur itém bod, tzn. sm r kolmý na te nu vrstevnice. U Newtonovy metody, pokud se bod, ze kterého vycházíme nachází poblíº optima, sm uje Newton v sm r p ímo ve sm ru optima. Na obrázku.3. je ukázka ideálního sm ru Newtonova algoritmu pro kvadratickou funkci s nesymetrickou maticí A = ( 3 ) pro dvourozm rný p ípad. Obrázek.3. ukazuje ezy po. krocích kvadratickou funkcí. Uvedl jsem výpo et pro jednorom rný p ípad. Pro vícerozm rný p ípad je nahrazena první derivace gradientem f a ( ) d x dx inverzním Hessiánem H funkce f a pro vícerozm rný p ípad rovnice vypadá následovn : x n = x n H f (x n ) (.8) Obecn lze samoz ejm aproximovat libovolnou funkci. Pro ukázku jsem na obrázcích pouºil kvadratickou funkci, která není symetrická podle hlavních os. Pokud rozloºím matici na vlastní ísla a vlastní vektory, transformuje matice H parabolu na parabolu se stejnou velikostí ve v²ech hlavních osách, pro níº je práv gradient shodný s Newtonovým sm rem (transformuji nesymetrické osy xax T na symetrické xx T, pro níº je má gradient p ímo sm r k optimální hodnot ).28 .3. MATEMATICKÝ APARÁT 9 Povinnost existence druhé derivace metod výrazn omezuje pouºití, nebo ne vºdy je funkce spojitá. Dal²í v cí je samotný výpo et inverzního Hessiánu, který je výpo etn náro ný..3. Matice V následující tabulce vyjád ím n kolik podstatných vlastností, které budu pouºívat p i úpravách matic nebo se na n budu odkazovat. Symbolem A budu ozna ovat libovolnou reálnou tvercovou matici, B matici vlastních vektor k odpovídajcí matici, D diagonální matici, p ípad diagonální matici vlatních ísel odpovídající matici a je I matice identity. Takto ozna ených symbol se budu drºet i ve zbytku mé práce, pokud neuvedu n co jiného. Název Zna ení Podstatná vlastnost Diagonální matice diag (d,..., d n ) Platí D T = D, báze je I Vlastní vektory B = I AD = DA T Symetrická matice A T = A Ortonormální báze B = B BB T = I Pozitivn denitní x R n xax T > matice Vlastní ísla jsou > Pozitivn semidenitní x R n xax T matice Vlastní ísla jsou P edchozí vlastnosti vychází z [? ]. Denice Hessova matice: Matice H je hessova tvercová matice typu (n, n) parciálních derivací skalární funkce f (x, x, x 3,... x n ) je li funkce dvakrát spojit derivovatelná podle kaºdé ze svých argument H = f x f x x. f x nx f x x f x.... f x nx f x x n f x x n. f x n (.9) Denuji podmínku symetrie Hessovy matice, která vychází ze Schwarzovy v ty (upravená denice podle [? ]): Denice Schwarzova v ta: Jsou-li parciální derivace funkce f podle argument x i a x j spojité a derivovatelné na otev ené mnoºin je parciální derivace totoºná pro f x i x j = f x j x i Jestliºe funkce f spl uje Schwarzovu v tu, je Hessova matice symetrická. Nyní je²t denuji kovarian ní matici:29 KAPITOLA. ÚVOD Denice Kovarian ní matice: Matice C je kovarian ní matice typu (n, n), kde na kaºdém prvku i, j matice je kovariance náhodného vektoru i-tého a j-tého jevu. Symbolem C(X, X ) ozna uji kovarianci náhodných jev X a X a D(X) varianci jevu: D(X ) C(X, X ) C(X, X n ) C(X, X ) D(X ) C(X, X n ) C = C(X n, X ) C(X n, X ) D(X n ) (.) Kovarian ní matice udává tvar a sm r funkce hustoty vícerozm rného normálního rozd lení N o níº se zmíním více v kapitole o normálním rozd lení. Jelikoº platí C (X, X ) = C (X, X ) je matice symetrická a navíc pozitivn semidenitní..3.3 Vlastní ísla a vlastní vektory matic Vlastnosti vlastních ísel jsou pro algoritmus CMA-ES podstatné, proto zde denuji vlastní ísla a následn vysv tlím jejich vlastnosti, které úzce souvisí s adaptací kovarian ních matic. Pro zjednodu²ení budu p edpokládat, ºe jsou matice reálné Denice vlastních ísel a vlastních vektor Denice Vlastní ísla a vlastní vektory: Nech C je tvercová pozitivn denitní matice typu (n, n). ƒíslo d R se nazývá vlastním íslem matice A, pokud existuje nenulový vektor b R n takový, ºe: Cb = d b (.) Vektor b, který spl uje uvedenou rovnost, se nazývá vlastní vektor matice A p íslu²ný vlastnímu íslu d. Je-li matice C pozitivn denitní, jsou v²echna vlastní ísla v t²í neº. [ ] Pro zjednodu²ení zna ení budu pouºívat maticové zna ení, kde matice B = b T,..., bt n p edstavuje matici vlatních vektor a kaºdý sloupec p edstavuje vlastní vektor se azený v klesající posloupnosti podle jejich odpovídajících vlatních ísel. Vlastní ísla budu reprezentovat d i a pro mnoºinu vlastních ísel budu pouºívat diagonální matici D = diag (d,..., d n ), kde odpovídající pozice na diagonále odpovídá její velikosti od nejv t²ího do nejmen²ího vlastního ísla. Rozvedu vlastnosti vlastních ísel z rovnice. v denici. Podle [? ] p edpokládám, ºe C je symetrická a pozitivn denitní matice, která má ortonormální bázi tvo enou vlastními vektory B = [b,..., b n ] s odpovídajícími vlastními ísly D = diag (d,..., d n ) C = BD B T = Bdiag ( ) d,..., d n B T (.) Od této chvíle budu symbolem D ozna ovat odpovídající diagonální matici vlastních ísel a B matici vlastních vektor.30 .3. MATEMATICKÝ APARÁT Rovnice.3.3. platí, protoºe vektory v matici B jsou navzájem ortonormální. Kdyº vynásobím rovnici inverzní maticí pro níº platí B = B (viz. denice ortonormality) dostanu rovnost z denice pro vlastní ísla a vlastní vektory. Pomocí rovnosti lze nalézt velmi elegantn inverzní matici C C = (BD B T ) = B D ( ) B T (.3) = BD B T druhá odmocina z C je C = ( BD B T ) = BDB T (.4) ( ) Dokáºi tvrzení v.4. Hledám takové C, aby platilo C = C C T. Pouºiji denovaný vztah?? upravím jej s vlastností komutativity násobení diagonálních matic, tedy ºe platí BD = B T D. Výsledkem násobení C C = C C = B DB } {{ T } B} {{ T D} B = = BD DB B BD } {{ } BB = D B T = BD B} {{ T B} B = I = BD B T (.5) ( C ) T je op t kovarian ní matice C = BD B T, ímº jsem dokázal platnost zvrzení C = BDB T. Vztah.4 pouºiji p i výpo tu jednoho parametru algoritmu CMA-ES, proto jej zde uvádím. Na obrázku.3.3. je zobrazená jednotková kruºnce ([sin t, cos t] pro t =, π ), která je zobrazena na matici C. Z obrázku je zjevné, ºe ve sm ru vlastních vektor s nejv t²ím resp. nejmen²ím vlastním íslem d mají hodnoty x nejv t²í resp. nejmen²í nár st. Dal²í vlastností je pak, ºe vlastní vektory nejsou rotovány maticí C, coº plynne p ímo z denice, nebo kaºdý sou in vlastního vektoru a jeho odpovídající matice je násobek vlastního vektoru a jeho vlastního ísla. V p ípad první matice identity, jejíº vlastní ísla jsou d = d =, nedochází ke zm n, zkrátka jedná ( se o identické ) zobrazení, coº odpovádá levému obrázku V p ípad.5 matice C =, která má vlastní ísla d =.75 a d =.5 dochází ke zmen²ení.75 ve sm ru odpovídajících vlasntích vektor. A protoºe je matice B = I, jsou vlastní vektory ve sm ru hlavních os, takºe zobrazení zm ní velikost, ale neoto í kruºnici, coº odpovídá A v posledním p ípad se celé zobrazení oto í ve sm ru nejv t²ího vlastního vektoru s nejv t²ím vlastním íslem.31 KAPITOLA. ÚVOD.5 A=[ ; ] x Ax.5 A=[.5 ;.75] x Ax 4 A=[ ; 3] x Ax y y y x.5.5 x x Obrázek.6: Geometrická interpretace rozkladu na vlastní ísla a vektory. Modrá kruºnice p edstavuje sou adnice jednotkové kruºnice a ervená zobrazení jednotkové na matici A Levý: Ukázka rozkladu na vlastní ísla d = a d = a vlastní vektory x (, ), x = (, ) matice ( ), Prost ední: Ukázka rozkladu na vlastní ísla d =.75 a d =.5 a vlastní vektory x (, ), x = (, ) matice (.5.75 Ukázka rozkladu na vlastní ísla d 3.68 a d.38 a vlastní vektory x (.557,.857), x (.857,.557) matice ( 3 ) ), Pravý:.3.4 Normální rozd lení S normálním rozd lením pracuje algoritmus CMA-ES, vysv tlím a rozvedu n kolik postatných vlastností. Náhodný vektor s normálním rozd lením budu zna it N (m, C). N (m, C) abych udrºel konzistentní notaci s v t²inou literatury na problematiku adaptace kovarian ních matic. Normální rozd lení má n kolik podstatných vlastností, které nyní rozvedu. Podle [? ] platí??: N (m, C) m + N (, C) m + C N (, I) m + BD B T N (, I) } {{ } N (,I) m + B DN (, I) } {{ } N (,D ) m + BN (, D ) (.6) Symbolem íkám, ºe vztahy si jsou deni n ekvivalentní. Rovnice.6 íká v jednotlivých ádcích n kolik podstatných vlastností, které mají vztah s rozkladem na vlastní ísla. Postupn je podrobn rozepí²i. P edpokládejme, ºe máme normální rozd lení s nulovou st ední hodnotou a symetrickou a pozitivn denitní matici C. Kovarian ní matice C je druhá odmocnina zobrazení do normálního rozd lení N (, I)32 .3. MATEMATICKÝ APARÁT 3 4 N(,C) C N(,C) C N(,C) C Occurences 5 Occurences Occurences Number 4 4 Number 5 5 Number Obrázek.7: Vizualizace normálních rozd lení pro dva rozm ry v p ípad r zných kovarian ních matic C s nulovou st ední hodnotou. Na dolních grafech jsou odpovídající histogramy k danému rozd lení. Levý: Normální rozd lení pro kovarian ní matici C = I, Prost ední:normální rozd lení pro symetrickou pozitivn (.5.75 denitní kovarian ní matici C =, Pravý:Normální rozd lení pro ( ) nesymetrickou pozitivn denitní kovarian ní matici C =. Z histogram je dále ) 3 vid t, ºe pravd podobnost daného jevu klesá se vzdáleností od st ední hodnoty m =33 4 KAPITOLA. ÚVOD 3. Matice C má odpovídající rozklad BDB T podle rovnice Protoºe B T je ortonormální, platí pro ni BB T = B T B = I takºe pokud p esuneme B do normálního rozd lení (tzn. ( vynásobíme ) sebe samou v transpozici) vznikne matice identity (B T N (, I) = N, B T B = N (, I)) 5. P esuneme-li D do pozice kovarian ní matice, tak stejn jako se kovarian ní matice odmocnila p i p esunu z pozice kovariance ( v normálním rozd lení, tak vynásobím matici D sebe samou (DN (, I) = N, DD T ) = N (, D ). 6. Matice B pooto í rozd lení podle vlastních vektor kovarian ní matice normálního rozd lení, které bude osov soumerné s hlavními osami s ohledem na velikost vlastních ísel (nebo D = diag ( d,... ) d n34 Kapitola Analýza algoritmu CMA-ES Algoritmus CMA-ES je stochastická ES, pro optimalizaci nelineárních a nekonvexních problém. V této ES je populace navzorkována podle mnoharozm rného normálního rozd lení, kterou ur ují kovarian ní matice C a st ední hodnota m, které jsou podle kvality populace adaptovány. Vzájemné vlastnosti jsou modelované kovarian ní maticí. Algoritmus prokázal velmi dobré výsledky na v t²in vícerozm rných funkcí oproti svým velmi silným konkurent m a má velkou podporu v komunit zabyvající se optimalizací i p es to, ºe se jedná o pom rn nový algoritmus [? ] Snaºil jsem se, aby v t²ina symbol, jimiº ozna uji prom nnné algoritmu byli shodné se lánekm [? ], ze kterého jsem algoritmus p edev²ím zkoumal. V popisu algoritmu. Pro 535 6 KAPITOLA. ANALÝZA ALGORITMU CMA-ES zlep²ení itelnosti popisu algoritmu pouºiji substituci y i:λ = x(g+) m i:λ (g) σ (g) Inicializace: m = rand () n σ = λ = 4 + log (3 log N) µ = λ i =... µ:w i = N i= µ eff = w i N i= w i (c c, c σ, c, c µ ) = d σ = + max ln( λ +.5) ln i µ j= ln( λ +.5) ln j ( µ 4+ eff N N+4+ µ eff (, N µeff, n+ µ eff + N+µ eff +5, ) + c σ (n+.3) +µ eff, (µ eff + ) (N+) +µ eff ) p c = p σ (,... ) T C = C = B = diag (,,... ) D = diag (,..., ) eigeneval = while not zastavovací kritérium spln no do Generování λ jedinc normáln rozd lených N (m, C) Vyhodnocení tness kaºdého jedince f (x i ) i λ Selekce a rekombinace z µ jedinc m (g+) = µ Výpo et p (g+) σ p (g+) c = ( c c ) p (g) c + i= w ix i:λ s = ( c σ ) p σ (g) + c σ ( c σ ) µ eff C (g) m (g+) m (g) σ c (g) m c ( c c ) µ (g+) m (g) eff σ (g) C (g+) = ( c c µ ) C (g) + c p (g+) c p (g+) T µ c +c µ } {{ } i= rank one update σ (g+) = σ (g) e ( cσ dσ ( )) p (g+) σ E N (,I) w i y (g+) T i:λ y i:λ } {{ } rank µ update g g + end Algoritmus : Základní algoritmus (µ/µ W, λ) CMA-ES..5 Podrobný popis krok algoritmu..5. Generování V prvním kroku algoritmu se vygeneruje populace podle normálního rozd lení o velikosti λ podle kovarian ní matice C a hodnoty m. ( σ (g) N m (g), C (g)) ( m (g) + σ (g) N, C (g)) k =... λ (.) x (g+) k Symbolem zna ím generování náhodného vektoru podle odpovádajícího normálního rozd lení. V p ípad, ºe se jedná o první krok populace se vygeneruje podle kovarian ní36 7 matice, tak aby bylo rozd lení normální a jednotkové násobenné σ () =.5. Tento p ípad odpovídá levému p ípadu na obrázku??. M ºe nastat n kolik situací rozd lení v závilosti na kovarian ní matici C. Rozloºím-li C g = B (g) D B (g) Je-li C (g) = I tedy B (g) = B (g)t = D = I, pak rozd lení odpovídá levému rozd lení na obrázku.6. Rozd lení má stejnou prav podobnost ve v²ech sm rech se stejnou vzdáleností od st edu. Tomuto stavu odpovídá po áta ní stav. Je-li B (g) = B (g)t = I, pak rozd lení odpovídá prost ednímu rozd lení na obrázku.6. Rozd lení má v t²í pravd podobnost ve sm ru té hlavní osy, která má nejv t²í vlastní íslo. Je-li B (g) I a B (g)t I, pak rozd lení odpovdá pravému rozd lení na obrázku.6. Rozd lení má v t²í pravd podobnost ve sm ru vlastních vektor b (g) i s odpovídajícím nejv t²ím vlastním íslem d ii..5. Vyhodnocení Vyhodnotí se kvalita v²ech λ jedinc nov vygenerované populace. Takºe máme set ídenou posloupnost x i:λ, takových ºe f (x :λ ) f (x :λ )... f (x λ:λ ), hledáme-li minimum Selekce a rekombinace Ze set íd né populace vybereme µ nejlep²ích a z nich spo ítáme váºenou st ední hodnotu. m (g+) = µ i= w i x (g+) i:λ. (.) Hodnota váhy je doporu ována volit, tak aby nejv t²í váhu m li nejlep²í jedinci a postupn se sniºovala a p itom byl její sou et. Jedna z pouºitých funkcí pro výpo et vektoru ln( vah je nap. w i = λ +.5) ln i µ ln(, na obrázku. je graf jednotlivých vah pro stodimenzionální p ípad (µ je v tomto p ípad 8). λ +.5) ln j j= St ední hodnota, nebo p esn ji váºená st ední hodnota z µ jedinc udává, kde bude nejv t²í pravd podobnost výskytu jedinc v nové generaci. Výpo et m (g+) reprezentuje selekci Výpo et p σ Hodnota p σ slouºí k výpo tu hodnoty σ, tedy velikost kroku algoritmu. P ímo výpo tu C se prom nná p σ, ale ovliv uje velikost σ, která udává velikost násobku normáln vygenerovaných hodnot, neboli tzv. step-size. Parametrem σ regulujeme velikost normálního rozd lení, nebo parametery C a m neudávají velikost, ale pouze pozici a sm r. Rovnice.3 po ítá novou hodnotu p (g+) σ37 8 KAPITOLA. ANALÝZA ALGORITMU CMA-ES.35 Vahy pro prumer v selekci pro dimenzi.3.5. w i i Obrázek.: Váhy w i pro váºení jedinc v selekci a rekombinaci. Na ose x je po adí vah, p i emº první váha je váha pro nejsiln j²ího jedince p (g+) σ = ( c σ ) p (g) σ + c σ + ( c σ ) µ eff C (g) m(g+) m (g) } σ {{ (g) } evolution path (.3) Na za átku je hodnota p () σ nulová. V kaºdém dal²ím kroku se m ní podle velikosti vzdálenosti hodnot mezi sou asnou generací m (g+) a p edchozí m (g). Hodnota C (g) lze p epsat dále podle.4 na B (g) D (g) B (g)t ímº B (g)t zobrazí m(g+) m (g) σ (g) na bázi C (g) D (g) zm ní velikosti v hlavních osách sou adného systému, tak aby byli st jn velké B (g) oto í m(g+) m (g) σ (g) do p vodního sou adného systému (protoºe platí BB T = I) Násobením C dosáhneme toho, ºe hodnoty p σ budou nezávislé na velikosti kovarian ní matice Vysv tlím nejd íve co znamená evolu ní cesta (p eklad z angl. evolution path). V pr b hu výpo tu algoritmu se p esouvá postupn st ední hodnota z m (g) do m (g+), která p ibliºn udává, jakou cestu algoritmus v pr b hu generací urazil. A pokud se hodnoty m (g) a m (g+) pohybují v generacích p ibliºn v okolí stejné hodnoty, tak se vyru²ují s ohledem na uchovávání p edchozích hodnot ( c σ )p c (g) ), coº íká, ºe algoritmus se pohybuje kolem n jakého bodu a je dobrý d vod zmen²it hodnotu σ (g+) < σ (g) v dal²í generaci. P íklad takové evolu ní cesty je na obrázku. nalevo. Druhý opa ný p ípad, který m ºe nastat je, ºe cesty mají p ibliºn stejný sm r, takºe se nevyru²ují a je naopak dobrý d vod zv t²it hodnotu σ (g+) > σ (g), coº ilustuje obrázek. napravo.38 9 3 7 σ (g+) <σ (g) σ (g+) >σ (g) Obrázek.: Ukázky dvou evolut ních cest st edních hodnot v n kolika generacích. Na levém obrázku je vid t, ºe se st ední hodnoty m (g+ a m (g) pohybují v svém okolí a navzájem se vyru²ují, takºe velikost σ (g+) by m la být zmen²ena, ímº se zmen²í i ²í ka normálního rozd lení p i generování nové populace. Zatímco na pravém obrázku mají st ední hodnoty m (g+) a m (g) podobný sm r a navzájem se nevyru²ují, takºe velikost σ (g+) by m la být zv t²ena. D lení σ (g) rozdílu m(g+) m (g) je pouºito p i generování populace jako násobek normální σ (g) rozd lení z výrazu., ímº hodnotu rozdíl normalizuji na N (m (g), C (g)) Pro uchování vztahu s hodnotami p σ v p edchozích generacích je pouºito tzv. exponeciální vyhlazování (p eklad z angl. exponential smoothing) s p edchozími hodnotami. Za p edpokladu µ eff = (tzn. za p edpokladu, ºe sou et v²ech vah v selekci dává ) je hodnota ( c σ ) + c σ ( c σ ) =. Pro c σ = si neuchovává ºádou historii a pro c σ < p i ítá historii um rn se zmen²ováním c σ. Pro c σ = bere v potaz pouze historii, coº je nep ípustná hodnota. Volba konstanty je c σ je doporu ena jako c σ = µ eff + N+µ eff +5 Je dokázáno, ºe hodnota p σ (g+) má za p edpokladu náhodné selekce hodnot m (g) a m (g+) má rozd lení, jako N (, I) Výpo et p c Obdobn jako p () σ platí, ºe na za átku je hodnota p () c rank-one-update výpo tu a výpo et se nazývá tak nebo p (g+) c. p (g+) c =. Hodnota p c slouºí k tzv. T má hodnost matice p (g+) c = ( c c ) p (g) m c + c (g+) m (g) c ( c c ) µ eff } σ {{ (g) } evolution path (.4) Ve výrazu pro výpo et p c (g+) zlomek m(g+) m (g) udává jeden ze sm r, jakým se nová σ kovarian ní matice má sm rovat, resp. v jakém (g) sm ru zvý²it pravd podobnost výskytu (p i- tení p (g+) c p (g+) c T p idá nový vlastní vektor ke kovarian ní matici).39 KAPITOLA. ANALÝZA ALGORITMU CMA-ES Interpretací toho, ºe znaménko ve výsledné hodnot p (g+) c hodnotu p (g+) c p i výpo tu C (g+) jako sou in dvou vektor p (g+) c vyru²í. Rozdíl vzdáleností st edních hodnot m(g+) m (g) není podstatné je, ºe vyuºívám T, takºe se znamená p (g+) c p idává setrva nost cesty ke kovarian ní σ (g) matici.pomocí sou inu p (g+) c p (g+) T c zm ní tvar (a sm r) C (g+) tak, aby se ve sm ru rozdílu zvý²ila pravd podobnost t ch hodnot, kam kam se nová st ední hodnota m (g+) posunula. Je dokázáno, ºe hodnota a velikost vektoru p c má za p edpokladu c c = a µ eff = stejné rozd lení, jako N (, C) a p (g) σ Na obrázku.3 je vid t rozdíl vlivu normy kovarian ní matice C (g) na hodnoty p (g) c. Zatímco pokles normy C (g) ovlivní velikost p (g), tak hodnota p g σ je na velikosti kovarian ní matice nezávislá Výpo et kovarian ní matice C Výsledek výpo tu kovarian ní matice C udává sm ry v t²ích hustot pravd podobností normálního rozd lení které ur uje sm r kam bude sm ovat dal²í generace. Tvar normálního rozd lení je ur ován rozkladem na vlastní ísla, kde po rozkladu na vlastní ísla a vlastní vektory bude mít oproti ostatním v t²í pravd podobnost vygenerování nového jedince ve sm ru vlastního vektoru s nejv t²ím vlastním íslem a nejmen²í pravd podobnost vlastní vektor s nejmen²ím vlastním íslem. Pro lep²í itelnost výrazu pouºiji substituci y (g+) i:λ C (g+) = ( c c µ ) C (g) + c p (g+) c p (g+) T µ c +c µ } {{ } i= rank one update c y (g+) :λ y (g+) (g+) i:λ } {{ } rank µ update = x(g+) m i:λ (g) σ (g) (.5) Výpo et p c neboli rank-one-update jsem popsal v p edchozím odstavci, nyní vysv tlím interpretaci druhého lenu rank-µ-update ve výrazu.5. Obdobn jako v p íapd rank-one-update, kde one udává, ºe hodnost této operace je, tak rank-µ-update udává hodnost min (µ, n) váºeného sou tu sou in výsledku. Budu p edpokládat, ºe kovarian ní matici po ítám pouze z akuální populace podle vzorce C (g+) µ = µ i= ( w i x (g+) i:λ m (g)) ( x (g+) i:λ m (g)) T (.6) pokud mám dostate n velkou populaci vybraných jedinc, tak pomocí rovnice.6 mohu odhadovat hodnotu kovarian ní matice. Tento odhad je na obrázku??, kde populace je tvo a 3 jedinci, z nichº je vybráno µ = jedinc podle jejich tness funkce f. Vyvstává ale problém s historií, nebo v p ípad rovnice.6 zahazuji v kaºdé nové generaci p edchozí hodnoty C (g), coº m ºe zp sobit p íli² rychlou konvergenci k lokálnímu optimu, nebo naopak p íli² velkou divergenci (slepé prohledávání stavového prostoru, ztráta pozitivní denitnovsti C), proto ve vzorci.6 zohledním historii, p i emº v t²í váhu bude mít ta nedávná. C (g+) = ( c µ ) C (g) + c µ C (g+) σ (g) µ = ( c µ ) C (g) + c µ µ i= w iy (g+) i:λ y (g+) T (.7) i:λ40 .5 p c p c (g+) p c (g+) /m (g) m (g)t /σ (g) /C.5.5 m (g+) m (g)t /σ (g) trace(c g+ ) Generace 3 p σ p σ (g+) p σ (g+) / m (g+) m (g)t /σ (g) /C m (g+) m (g)t /σ (g) trace(c g+ ) Generace Obrázek.3: Vliv rozdílu st edních hodnot Ni= m (g+) m(g) σ a C (g) na hodnotu normy p c a p c pro funkci f (x) = xx T p i ignorování p edchozích hodnot p c (g) a p σ (tzn. c c =, c σ = ).41 KAPITOLA. ANALÝZA ALGORITMU CMA-ES f(x)= x y 5 f(x)=x +y y x x Obrázek.4: Odhad konvergence algoritmu CMA-ES pokud po ítáme kovarian ní matici podle vzorce.6. Hledáme minima dvou funkcí, které jsou na obrázku charakterizované stupn m ²edi. Modrou barvou vizualizuji kovarian ní matici v dané generaci a ervenou odpovadící st ední hodnotu m Levý: Funkce f(x, y) = x y Pravý: Funkce f(x + y) = x + y Volba c µ je kritická, nebo v p ípad malých hodnot m ºe kovarian ní matice konvergovat p íli² pomalu, nebo naopak p i velkých hodnotách c µ zanedbávat nov vypo tené sm ry. Empiricky je hodnota doporu ená jako c µ (µ eff + ) (N+) +µ eff. Vlastnosti rank-µ-update p idávají tedy k výpo tu C (g+) vlastnosti celé µ populace. Spojením rank-one-update a rank-µ-update zíkáme dobré vlastnosti ze stávající populace s uchováním ásti informace s historii, z ehoº vznikne rovnice Výpo et hodnoty σ Hodnota σ (g+) udává ²í i rozd lení v nové generaci. Primární veli ina, jenº ovliv uje velikost σ (g+) je Eukleidovská norma p (g+) σ v pom ru k Eukleidovské norm o ekávané hodnoty rozd lení N (, I). Eukleidovská norma o ekávané hodnoty rozd lení je ur ena podle [? ] jako N (, I) = ( n + O n). Pro p (g+) σ = N (, I) bude hodnota σ (g+) = σ (g) Pro p (g+) σ > N (, I) bude hodnota σ (g+) > σ (g) Pro p (g+) σ < N (, I) bude hodnota σ (g+) < σ (g) ( ) Konstanta d σ je ur ena empiricky jako µeff d σ = + max, n+ + c σ42 3..6 Vlastnosti algoritmu CMA-ES..7 Zastavovací kritéria Krom klasických zastavovacích kritérií, jako po et vyhodnocení prom nných, po et krok algoritmu, nebo dosaºení poºadované tness m ºe algoritmus zastavit i n kolik jiných kritérií, které vycházejí z jeho prom nných. V²echna zastavovací kritéria vycházející z vlastností algoritmu podle lánku [? ] jsem implementoval do knihovny. Následující podmínky jsou nezávislé na problému NoEectAxis - Zastav jestliºe. sm rodatné odchylky v n které z komponent C (g) p i tené k m (g) nezm ní jeho hodnotu NoEectCoord - Zastav jestliºe p i tení. sm rodatné odchylky v n jaké i-té osy nezm ní hodnotu m (g) v dané sou adnici m (g) i EqualFunValues - Zastav jestliºe + 3n λ generacích je hodnota f (x :λ) rovna ConditionCov - Zastav jestliºe íslo podmín nosti kovarian ní matice je v t²í neº κ = 4 a mají parametr, který se m ºe resp. musí m nit v závilosti na e²eném problému TolFun - Zastav jestliºe + 3n λ generacích je hodnota f (x :λ) men²í, nebo rovna TolFun TolX - Zastav jestliºe sm rodatná odchylka normálního rozd lení je ve v²ech osách men²í neº hodnota TolX a jestliºe hodnota σ (g) p (g) c je ve v²ech osách men²í neº TolX Podmínku NoEectAxis lze vyjád it jako m (g) = m (g) +.d (g) ii b(g) i kde i = (gmodn)+, kde d (g) ii je i-té vlastní íslo a b (g) i jeho odpovídající vlastní vektor, i se v opakovan st ídá. Tuto podmínku jsem implementoval jako potomka abstraktní t ídy StopCondition t ídou NoEffectAxisStopCondition. Podmínku NoEectCoord lze vyjád it jako m (g) =.σ (g) D (g), kde D (g) diagonální matice vlastních ísel. Tuto podmínku jsem implementoval jako potomka abstraktní t ídy StopCondition t ídou NoEffectCoordStopCondition. Podmínka EqualFunValues je implementována ve t íd jako potomek StopCondition t ídou EqualFunValuesStopCondition. Podmínku ConditionCov lze vyjád it jako d (g) > κd (g) nn. Ve výrazu je d (g) nejv t²í vlastní íslo a d (g) nn nejmen²í vlastní íslo íslo. Pokud tedy tato podmínka platí, znamená to, ºe podín nost kovarian ní matice je v t²í neº κ. Tuto podmínku jsem implementoval jako t ídu ConditionCovStopCondition.43 4 KAPITOLA. ANALÝZA ALGORITMU CMA-ES. Vlastnosti Algoritmus CMA-ES je vhodný pro optimaliza ní problémy, kde klasické metody druhého ádu (quasi-newton metoda, metoda sdruºených gradeitn ), které mohou selhat n kterých funkcích. The CMA-ES is an attractive option for non-linear optimization, if classical search methods, e.g. quasi-newton methods (BFGS) and/or conjugate gradient methods, fail due to a non-convex or rugged search landscape (e.g. sharp bends, discontinuities, outliers, noise, and local optima). Learning the covariance matrix in the CMA-ES is analogous to learning the inverse Hessian matrix in a quasi-newton method. In the end, any convex-quadratic (ellipsoid) objective function is transformed into the spherical function fsphere. This can improve the performance on ill-conditioned and/or non-separable problems by orders of magnitude. The CMA-ES overcomes typical problems that are often associated with evolutionary algorithms.... Vztah s Hessovou maticí CMA-ES je úzce svázán s aproximací inverzní Hessovy matice, resp. kovarian ní matice CMA-ES aproximuje inverzní hessián, který je optimální pro problémy, její tvar funkce vhodn aproximovatelný Taylorovým polynomem druhého stupn a v tomto p ípad dosahuje podobných výsledk, jako jiº zmín ná Newtonova metoda. Budu p edpokládat, ºe hledám minimum funkce f(x) = xx T. Podle [? ] je matice identity optimální kovarian ní matice pro hledání optima funkce f a konverguje v (, λ)-es. Dále hledám minimum funkce která má tvar paraboly f E (x) = xhx T a budu p edpokládat, ºe H je symetrická a pozitivn denitní matice. Rozloºím-li matici H = BD B T na vlastní ísla a vlastní vektory podle.3.3. budu mít ortonormální matici vlastních vektor B (tzn. spl ující B = B ) a diagonální matici vlastních ísel D. Dále pak p ed dosazením hodnot budu do f E transformovat hodnoty x jako x E = D Bx (.8) ímº nejd íve oto ím hodnoty x ve sm ru B a následn velikosti hlavních os zmen²ím tak, ºe si budou v²echny rovny, takºe bude platit následující rovnost f E (x) = f(x E ) (.9) Tvrzení dokáºu. Dosadím-li do f E místo x transformaci x E a upravím f E (x E ) = x E Hx T E = D} {{ Bx} (BD ) B T D} {{ B T x T } x E } {{ } x H T E ( = D D ) T D BB } {{ T } } {{ } I D = xx T xx T BB T } {{ } I (.)44 .. VARIANTY CMA-ES 5 p i úprav jsem p esouval po adí násobení matic D, protoºe v tomto p ípad je maticové násobení komutativní (D je diagonální) Budu-li vycáhzet z p edpokladu, ºe pro xx T je ideální rozd lení N (, I), tak pro xhx T bude ideální rozd lení N (, H ) Uvedená transofmrace x E provádí v podstat to samé, co provádí Newtonova metoda, která funkci, kterou aproximuje nahradí polynomem druhého stupn, který transofmuje na symetrickou parabolu, pro níº je sm r gradientu sm r p ímý k optimu. Algoritmus CMA-ES provádí stejnou transformaci, s ohledem na to co jsem ekl v p edchozím odstavci, proto se ob metody chovají podobn a CMA-ES aproximuje kovarian ní matici C hodnotu inverzního hessiánu H. Varianty CMA-ES K istému algoritmu CMA-ES existje n kolik variant roz²i ujících jeho funkcionalitu. Standardní variantu lze obecn ozna it jako L-CMA-ES, kde po áta ní písmeno zna í Local search, takºe od algoritmu o ekáváme mén robustní prohledávání, které poblíº n jakého optima dosahuje rychlých a kvalitních výsledk. Dal²í obecnou variantou je G-CMA-ES, pro níº o ekáváme, kde po áte ní písmeno zna í Global search, takºe od algoritmu o ekáváme robustn j²í prohledávání na úkor rychlosti (a mnohdy i výpo etní náro nosti)... IPOP-CMA-ES Jedna z variant CMA-ES je náhrada klasického algoritmu tím, ºe p i dosaºení ur itých podmínek dojde k restartování v²ech parametr algortimu do po áte ního stavu. Výsledkem toho m ºe být robustn j²í prohledávání prostoru nebo s novým restartem algoritmus znovu inicializuje v²echny parametry na nové, náhododné hodnoty. Roz²í enou a pouºívanou variantou je i restart s nár stem popualce tzv. IPOP-CMA-ES [? ], kdy p i kaºdém restartu dochází k nár stu násobku populace p vodní. Podmínky pro restart vycházejí ze zastavovacích podmínek. IPOP-CMA-ES se restartuje a zv t²í populaci v okamºiku, kdy dosáhne n které z podmínek, které pouºívá CMA-ES k zastavování. Z toho zárove plynne, ºe zastavení IPOP-CMA-ES nem ºeme ídit zastavovacími kritérii klasického CMA-ES. Výraznou výhodou oproti klasickému CMA-ES je, ºe ES má mnohem lep²í výsledky pro multimodální funkce. Ve své podstatn se ale jedná o velmi soskovaný random search, protoºe p i kaºdém restartu náhodn inicializuji v²echny parametry na po áte ní hodnoty. Jakmile se algoritmus ocitne poblíº n jakého optima, p ibliºuje se k n mu, stejn jako CMA- ES a kdyº p íli² moc ryhcle konverguje, zrestartuje se, nebo o toto optimum prozkoumal a zkusí nalézt nové. Implementace algoritmu IPOP-CMA-ES je sou ástí mé implementace CMA-ES do knihovny JCool.45 6 KAPITOLA. ANALÝZA ALGORITMU CMA-ES.3 σ m IPOP CMAES a vypocet hodnot σ a m po restartu.4 x best.5 x.6 σ () m ().7 σ () x worst x Obrázek.5: Ukázka výpo tu parametr algoritmu σ-m-ipop-cma-es funkce f (x) = xx T p i restartu. Polovina Eukleidovské vzdálenosti (polovina modré áry) mezi nejlep²í x best a nejhor²í x worst hodntou slouºí k výpo tu σ () a nová st ední hodnota m () po restartu pr m r nejlep²í a nejhor²í hodnoty... σ-m-ipop-cma-es Je varianta IPOP-CMA-ES, kterou jsem roz²í il o nastavení po áta ní st ední hodnoty po restartu jako pr m r nejhor²ího a nejlep²ího jedince, tedy m () = x best + x worst (.) a hodnotu σ po restartu jako polovinu Eukleidovské vzdálenosti mezi nejlep²ím a nejhro- ²ím jedincem, tedy σ () = x best x worst (.) Algoritmus se ukázal jako ryhclej²í neº jeho p vodní varianta IPOP-CMA-ES, ale v p ípad, ºe má funkce mnoho stejných lokálních optim uvázne a osciluje mezi mezi nimi a permanentn se restartuje a zvy²uje populaci, ímº i výpo etní náro nost. Výhodou je, ºe si pamatuje oproti IPOP-CMA-ES i ta dobrá e²ení, proto neustále konverguje k t m lep²ím i po restartu, coº se o IPOP-CMA-ES íci nedá. Dále bych dokonce doporu il dávat men²í po et krok, nebo strategie výsledky p i prohledávání, ale má velmi malé úsp chy p i konvergenci k optim m, pokud n jaké najde, práv na úkor globálního prohledávání. A poslední výsledek není jako v v t²inou bývá v p ípad CMA-ES ten nejlep²í, ale v pr b hu nalezne mnohdy velmi atraktivní e²ení. Implementace algoritmu σ-m-ipop-cma-es je sou ástí mé implementace CMA-ES do knihovny JCool. 346 .. VARIANTY CMA-ES 7..3 LS-CMA-ES Dal²í ze znám j²ích variant je LS-CMA-ES [? ], která vylep²uje stávající implementaci CMA- ES o p ímý výpo et invezního Hessiánu v p ípad, ºe je algoritmus ve vhodném stavu (je vohdné tness aproximovat kvadratickou funkcí). Lze za adit do t ídy LS-CMA-ES Algoritmus, jak by se dalo o ekávat je vhodný pro funkce, které mají eliptický tvar, kde konverguje k nejlep²ím e²ením v n koliknásobn mén iteracích, neº CMA-ES, resp. rychlost konvergence ke globálnímu optimu je p ímo árá. Výsledky algoritmu LS-CMA-ES v porovnání s CMA-ES ukazuje pro r zné testovací funkce tabulka 4.3. (podle [? ]) v p íloze. Z výsledk v tabulce je vid t, ºe pro problémy, které mají tvar elipsy má algoritmus LS-CMA-ES výrazn lep²í výsledky, h e na tom je kdyº je problém ²patn aproximovatelný kvadaratickou funkcí, jako nap íkald Rosenbrockova funkce, u níº mnohdy algoritmus nedosáhl optima...4 ACTIVE-CMA-ES Poslední varianta o níº se zmíním je algoritmus aktivní varianta CMA-ES, která vychází ze lánku [? ]. V²echny doposud zmín né implementace zohlednují ve výpo tu pouze µ nejlep²ích jedinc, ale algoritmus ACTIVE-CMA-ES vyuºívá k p edcházení ²patným sm r m i nejhor²í jedince. Existují dv varianty jak zohled ovat nejhor²í jedince, jedna je zna n zjednodu²ená a m ºe zp sobit problémy u n kterých funkcí a docílí aktivního výpo tu nastavením záporných vah λ µ jedinc m a druhá varianta ode ítá u výpo tu rank-µ-update t chto λ µ záporn váºených jedinc. Výpo et rank-µ-update v tomto p ípad vypadá podle rovnice.3 µ y (g+) :λ y (g+) (g+) i:λ µ λ y k:λ y k:λ T i= k=λ µ+ } {{ } rank µ update (.3) P ínos algoritmu spo ívá v men²ím mnoºství iterací, resp. podle sloupcového grafu 4.5 je mnoºství generací nutných k dosaºení poºadované hodnoty tness men²í pro v²echny funkce, v etn kvadratické funkce (funcke sphere v grafu) na které to moºná není na první pohled vid t.47 8 KAPITOLA. ANALÝZA ALGORITMU CMA-ES48 Kapitola 3 Implementace algoritmu CMA-ES do knihovny JCool 3. Knihovna JCool JCool je open-source knihovna pro jazyk Java pro optimalizaci spojitých funkcí. Implemetuje jak numerické (Gradient, Sdruºený gradient, Quasi-Newton,...) a p írodou inspirované (Evolu ní, PSO, ACO) algoritmy. Sou ástí knihovny je sada testovacích funkcí. 3.. Základní rozhraní knihovny JCool P edávání výsledk a práce s výsledky o²t ují rozhraní Consumer a Producer. Producer má na starosti vytvá ení výsledk, zatímco Consumer informace p íjímá. Volání a p edávání výsledk do t ídy konzumenta má na starosti odpovídající potomek t ídy OptimizationMethod. T ídy Consumer a Producer m ºe obsluhovat jeden z potomk rozhraní Solver. Solver pracuje s producentem i konzumenetem a stará se o ádné volání producenta a p edávání výsledk konzumentovi. K dispozici jsou t i t ídy BasicSolver,TimeoutSolvera StepSolver. Výsledky lze ze t ídy Solver získat p es metodu getresults, která vrací instanci OptimizationMethod. Potomci t ídy Solver výsledky z výpo tu algoritmu p edávají jako instanci t díy Synchronization. T ída OptimizationMethod zapouzd uje informace o zastavovacích podmínkách, po et iterací algoritmu, výsledné e²ení (potomek t ídy Telemetry) a statistické informace t ídy Statistics. 3.. Implementace algoritm v knihovn JCool P edek generické t ídy OptimizationMethod, generická t ída Producer slouºí k p edávání dosavadních výsledk daného algoritmu. V²echny instance této t ídy jsou producenty. T ída má dv abstraktní metody a to: void addconsumer(consumer<? super T> consumer); T getvalue(); 949 3 KAPITOLA 3. IMPLEMENTACE ALGORITMU CMA-ES DO KNIHOVNY JCOOL Obrázek 3.: T ídy Consumer, Producer a Solver první metoda p idává nové instance p íjemc informací o stavu algoritm, tedy instancí abstraktní t ídy Consumer. Pro tyto ú ely v²ichni potomci musí implementovat metody, addconsumer, který slouºí k nastavení objektu konzumenta, kam se budou odesílat výsledky daného algoritmu. K získávání výsledk je getvalue, která vrací výsledky. Výsledky mohou být instance potomk abstraktní generické t ídy Telemetry, tedy ValueTelemetry - uchovává stávající hodnotu value tness funkce f. ValuePointTelemetry - uchovává stávající hodnotu value tness funkce f a pozici x hodnoty value = f(x). ValuePointTelemetryList - uchovává stávající hodnoty value i tness funkce f a jejich odpovídající pozice x i hodnoty value i = f (x i ). ValuePointTelemetryList - uchovává stávající hodnoty value i tness funkce f a jejich odpovídající pozice x i hodnoty value i = f (x i ) a barvu color i (hodnocení, zda je odpovídající bod i nejlep²í z celého seznamu). na obrázku 3. je UML diagram t ídy Telemetry a jeho potomk. Dále má knihovna JCool rozhlaní OptimizationMethod, od níº jsou odvozené v²echny t ídy implementující algoritmy pro optimalizaci. Rozhraní má t i metody, které musí potomek implementovat void init(objectivefunction function); StopCondition[] getstopconditions(); void optimize();50 3.. KNIHOVNA JCOOL 3 Obrázek 3.: Hierarchie t íd pro telemetrie první metoda init slouºí k inicializaci dané optimaliza ní metody v potomkovi a p edání dané tness funkce f, která je potomkem t ídy ObjectiveFunction. Druhá metoda getstopconditions vrací pole instancí StopConditions, coº je seznam zastavovacích podmínek dané metody. T ída, která pracuje s optimaliza ními algoritmy má potom na starosti obsluhu zastavení algoritmu, tedy volá cyklicky v²echny zastavovací podmínky, které vrátí v poli a metoda isconditionmet t ídy StopCondition a vrátí v závislosti na stavu, zda se má algoritmus zastavit, i ne. A poslední abstraktní metoda optimizezapouzd uje slouºí svým potomk m k implementaci jednoho kroku optimaliza ního algoritmu. Jedno volání metody optimize odpovídá jedné iteraci daného algoritmu. To jak by m l m la vypadat obsluha obecného optimaliza ního algoritmu v knihovn JCool pomocí abstraktního p edka OptimizationMethodje podrobn ji popsáno v níºe uvedeném algoritmu. Algoritmy vyhodnocují svou kvalitu na základ tness funkce f, která je reprezentována v knihovn rozhraním Function. Pokud má tness funkce ur ený gradient, druhou derivaci (Hessián), nebo je n jak omezená, je moºné odvodit implementaci funkce kvality od t íd FunctionGradient, FunctionHessian, nebo FunctionBounds. V²echna tato rozhraní v sob sjednocuje rozhraní ObjectiveFunction, která je i p edávána jako parametr p i volání funkce init odvozených t íd od OptimizationMethod. Ne v²echny tness funkce mají známý gradient, Hessián, nebo omezení, pro tento ú el exituje t ída BaseObjectiveFunction,která v sob zast e²uje obecnou funkci a zárove je potomkem ObjectiveFunction. Pokud má funkce gradient, Hessián, nebo omezení vyvolá odpovídající metodu p edka, jinak vyvolá vyjímku. Instance t ídy BaseObjectiveFunction slouºí k p edávání instance tness funkce v metod init.51 3 KAPITOLA 3. IMPLEMENTACE ALGORITMU CMA-ES DO KNIHOVNY JCOOL input : Instance optimaliza ní metody method while true do method.optimize() stopconditions = method.getstopconditions() foreach stopcondition in stopconditions do if stopcondition. isconditionmet() is true then Break; end end end Algoritmus 3: Obsluha optiamliza ních metod pomocí abstraktní t ídy OptimizationMethod Obrázek 3.3: Hierarchie t íd, zapouzd ující tness funkci. Potomci a p edci t ídy ObjectiveFunction.52 3.. IMPLEMENTACE DO KNIHOVNY JCOOL Implementace do knihovny JCool Na za átku jsem p edpokládal, ºe budu implementovat pouze základní algoritmus CMA- ES, takºe základní my²lenka byla koncipována tak, ºe neubudu d dit ºádnou dal²í t ídu z hlavní t ídy CMAESMethod. Ale je²t p ed tím, neº jsem za al implementovat jsem se rozhod, ºe doimplementuji i dal²í variantu IPOP-CMA-ES, takºe celá koncepce se roz²í ila o dal²í t ídu, která se mírn odchylovala od výpo tu klascikého algoritmu CMA-ES. Návrh jsem tedy roz²í il o dal²í ty i t ídy, které mají hierarchii, která je znázorn na na obrázku 3.4. V metod je zna né mnoºství maticových operací i z pokro ilej²í algebry, proto jsem pro maticové operace pouºil knihovnu java-commons-math verze., která pln vyhovovala k algebraickým výpo t m a zárove je u této knihovny zaru eno, ºe se jedná o velmi stabilní, dlouhodob testovanou a efektivní knihovnu. Z knihovny jsem vyuºil velké mnoºství funkcí pro operace nad maticemi a vektory, rozklad na vlastní ísla a vlastní vektory a implementaci generátoru vektor s normálním rozd lením podle kovarin ní matice. V²echny instance RealMatrix, RealVector jsou t ídy knihovny java-commons-math. Díky pouºití maticové knihonvy jsem dosáhl efektivní a p edev²ím p ehledné implementace, nebo p edpokládám, ºe ve vývoji se je²t bude pokra ovat i po obhajob. 3.. Základní t ída CMAESMethod T ída CMAESMethod je koncipována jako abstraktní p edek v²ech mnou implenetovaných variant a t íd algoritmu CMA-ES. T ída je abstraktní, takºe implementace istého algoritmu CMA-ES je p enchána t íd PureCMAESMethod Obecn k implementaci t ídy CMAESMethod CMAESMethod implementuje n které základní výpo ty, které jsou obecné pro v²echny metody jako je výpo et hodnot p c, p σ, σ a C, tyto základní výpo ty jsou rozd leny do separátních metod, tak aby se kaºdá lenská metoda mohla jmenovat podle toho jakou prom nnou po ítá a p ípadn bylo moºné od ní odvodit pat i nou t ídu, která m ºe výpo et provád t jinak. Dále pak t ída implementuje základní podmínky pro zastavení, jako konvergence k e²ení. Zbývající zastavovací podmínky jsem p enechal na jejich potomcích, protoºe potomci RestartCMAESMethod vyuºívají tyto zastavovací podmínky jako podmínky pro restart algoritmu. Celý algoritmus potom provádí metoda optimize, která sjednocuje základní výpo ty hodnot jedné metody. P edch dce, generická t ída OptimizationMethod, a jako generický parametr p edka jsem dal typ ValuePointListTelemetry, protoºe mám populaci více jedinc (ValuePointList- Telemetry obsahuje seznam ValuePoint instancí) K implementaci jsem pouºil jako p edlohu lánek [? ] a p edev²ím p edlohovou variantu algoritmu v jazyce Matlab. K porovnání jsem pouºil referen ní kód v jazyce Matlab ze zdroje [? ]. Pokud jsem pot eboval podrobn j²í a p edev²ím aktuáln j²í informaci, pouºil jsem plnou implementaci [? ]. Výslednou implementaci jsem ov oval porovnáváním hodnot v jednotlivých krocích p i generování stejných náhodných hodnot v i implementaci [? ] jejíº kód je zjednodu²en a nemá v t²inu zastavovacích podmínek, krom ConditionCov.53 34 KAPITOLA 3. IMPLEMENTACE ALGORITMU CMA-ES DO KNIHOVNY JCOOL Seznam v²ech atribut t ídy CMAESMethod s popisem a jeho ekvivaltentem v anaýze a popisu algoritmu je v tabulce Integrace t ídy CMAESMethod do knihovny JCool Abstraktní p edch dci t ídy CMAESMethod, t ída OptimizationMethod a Producer mají 5 abstraktních metod, které implemetuji addconsumer pouze nastavuje konzumenta výsledk algoritmu. T lo metody tedy nastavuje pouze lenský consumer atribut. getvalue, jenº vrací typ ValuePointListTelemetry, který jsem denoval jako generický parametr p edchodce OptimizationMethod. init, v níº volám metodu initializedefaultparameters, která mi nastavuje v²echny hodnoty do iniciálního stavu, nastavím v parametru p edanou tness funkci a n které její parametry. getstopconditions, vrací prázdné pole instancí StopCondition optimize, je metoda která implementuje v n kolika metodách základní kroky algoritmu CMA-ES t ída má jedinou abstraktní metodu, setstopconditionparameters, v níº by její potomci m li nastavit parametry pro zastavovací podmínky Inicializa ní krok ve t íde CMAESMethod O inicializaci algortimu se stará metoda init, které ten kdo jí volá p edá parametrem instanci t ídy ObjectiveFunction. V inicializa ní ásti metody se nastavují atributy daného problému, inicializace prom nných algoritmu je implementovaná v metod initializedefaultparameters. D vodem pro mám rozd lenou inicializa ní ást algoritmu na dv ásti je kv li implementacím zaloºených na restartech. Implementace CMA-ES zaloºené na restartech vy- ºadují inicializaci v t²iny atribut na po áte ní hodnoty. Metoda init je zde p edev²ím pro p edání informací o e²eném problému z jiného kódu. Takºe metoda init sice volá initializedefaultparameters,ale rovn º jí volají potomci t ídy RestartCMAESMethod. Stejný d vod, jako je rozd lení init na dv metody má i rozd lení prom nné σ na dva atributy sigma a initialsigma. Pokud totiº obsluha algoritmu nastaví, ºe chce n jakou po- áte ní hodnotu atributu sigma, tak jej algoritmus v pr b hu výpo tu modikuje a p vodní po áte ní hodnotu a v p ípad strategiích zloºených na restartech nemáme nikde op áte ní hodnotu. Metoda initnastavuje atribut tness funkce function,p ípadn nastavuje minimální, resp. maximální meze dané funkce a nastavuje atribut nejlep²í hodnoty ve v²ech generacích thebestpoint na hodnotu pozici s nulovými sou adnicemi (statická metoda Point.getDefault()) a tness na Double.MAX_VALUE a naopak theworstpoint s nejlep²í tness -Double.MAX_VALUE se stejnými sou adnicemi jako thebestpoint aby v první generaci nahradili hodnoty thebestpoint a theworstpoint inicializované hodnoty. Nyní popí²u mírn zobecn nou metodu initializedefaultparameters, ádek po ádku.54 3.. IMPLEMENTACE DO KNIHOVNY JCOOL 35-5 Inicializuji vektor xmeannáhodnými hodnotami s rovnom rným rozd lením v kruhu o pr m ru rozdílu maximální a minimální moºné hodnoty tness funkce function. 6 Nastavím po áte ní hodnoty step-size parametru sigma, tedy σ () na p edem nastavenou po áte ní hodnotu initialsigma. 8 Nastavím velikost populace, prom nnou λ, tedy atribut lambda. 9 Nastavím velikost velikost selektované populace, rom nnou µ, tedy atribut \verbmu. Atribut by m l být p ibliºn polovina celkového mnoºství populace. -9 Nastavení vah selekce, podle vzorce z teorie. Nejd íve nainicializuji hodnoty jako rostoucí posloupnost od do µ, potom váhy zlograritmji dekadickým logaritmem. Vypo ítám maximovou normu váhového vektoru weight pro výpo et atributu mueff. Vypo ítám efektivní hodnoty selekce µ eff jako pom r druhé mocniny normy k norm druhé mocniny. 4 Vypo ítám kumula ní konstantu c c, tedy atribut ccumulation. Po ítá se podle ur eného vzorce podle z [? ]. 5 Vypo ítám konstantu pro historii σ prom nnou c σ, tedy atribut csigma. Po ítá se podle ur eného vzorce z [? ]. 6 Vypo ítám konstantu pro rank--update c, tedy atribut crank. Po ítá se podle ur eného vzorce z [? ]. 7 Vypo ítám konstantu pro rank-µ-update c µ, tedy atribut crankmu. Po ítá se podle ur eného vzorce z [? ]. 8 Vypo ítám tlumící konstantu σ prom nnou d σ, tedy atribut dampingforsigma. Po ítá se podle ur eného vzorce z [? ]. 3 Nastavím vektor kumulace cesty p () c atribut pcumulation z [? ]. 3 Nastavím vektor normalizované kumulace cesty p () c vektor, tedy atribut psigma z [? ]. pro výpo et rank--update na nulový vektor, tedy pro výpo et step-size σ na nulový Nastavím sou adné systémy pro normální rozd lení na kruºnici, resp. B nastavím na matici identity, stejn jako vektor D nastavím na jednotkový, takºe normální rozd lení bude mít tvar kruºnice, takºe body stejn vzdálené od st ední hodnoty budou mít stejnou pravd podobnost. 35 Nastavím matici C (), tedy atribut C na matici identity. Hodnoty C po ítám podle rozkladu na vlastní ísla D a vlastní vektory B, abych p ede²el problém m s nejednozna ností rozkladu, kdybych volil jiné po áte ní hodnoty D a B. 36 Nastavím matici C (), tedy atribut inverseandsqrtc na matici identity. Hodnoty invserseandsqrtc po ítám podle rozkladu ze stejného d vodu, jako po ítám atribut C.55 36 KAPITOLA 3. IMPLEMENTACE ALGORITMU CMA-ES DO KNIHOVNY JCOOL 38 Vypo ítám odhad L normy normálního rozd lení N (, I) podle [? ] Optimaliza ní krok ve t íde CMAESMethod Nyní popí²u mírn zobecn nou metodu optimize, ádek po ádku. Metoda je implementována tak, aby m la minimum lokáních prom nných a v t²inu prom nných ukládala do svých atribut, aby je p ípadn mohla sdílet se svými potomky. Vytvo ím novou populaci pomocí normálního rozd lení z parametr vypo tených z p - vodní generace (p ípadn inicializa ních parametr ). Metoda generatepopulation vrací pole instancí ValuePoint, tedy novou ohodnocenou mno- ºinu jedinc. Uloºím si p vodní st ední hodnotu z p vodní generace, nebo bude pot eba p i výpo tu n kterých dal²ích parametr. 3 Set ídím celou populaci. Protoºe je t ída ValuePoint potomkem rozhraní Comparable, set ídí se mi populace vzestupn. 4 Uloºím nejlep²ího a nejhor²ího jedince pro v²echny generace pokud takový existuje v nov vytvo ené generaci. 5 Pomocí metody creatematrixfrompopulationvytvo ím instanci nejlep²ích vybraných (µ) jedinc t ídy RealMatrix z instancí ValuePoint, tak, ºe kaºdý sloupec p edstavuje jednoho jedince. Instance t ídy RealMatrix má N ádk 7 Kaºdý sloupec vynásobím hodnotou na odpovídajícím indexu vektoru vah weight. Touto operací ud lám ze st ední hodnoty vybrané popualce váºenou, coº odpovádá výpo tu prom nné m (g+) 8 Výpo et hodnoty atributu psigmap (g+) σ pomocí metody calculatepsigma. 9 Výpo et hodnoty h σ pomocí metody calculatehsigma. Hodnota h σ slouºí k udrºení p (g) jestliºe p (g) σ nabývá velkých hodnot. Tato hodnota se vyuºívá p i výpo tu prom nných p (g+) c a C (g+), tedy v metodách calculatepcumulation a calculatecovariance, kde se p edají v parametrech. Vypo tu hodnoty prom nné p (g+) c, tedy atributu pcumulationpomocí metody caculatepcumulation. P edáme starou st ední hodnotu xold a hodnotu hsigma, která reguluje zda bude hodnota zm n na, nebo ne. Tento výpo et pozd poslouºí v kovarian ní matici k rank-- update. - Vypo tu vzdálenost nejlep²ích mu jedinc z populace od st ední hodnoty d lené hodntou sigma. Výsledek bude op t instance t ídy RealMatrix, tak, ºe kaºdý sloupec p edstavuje jednoho jedince. Kaºdý sloupec odpovídá výpo tu y T i:λ. c,56 3.. IMPLEMENTACE DO KNIHOVNY JCOOL 37 this.xmean =RealVector (this.n); for n = to N- do this.xmean.setentry (n, (Max- Min)*(Math.random () -.5)); n = n + end this.attributesigma =initialsigma // inicializace parametr ES pro selekci, λ, µ this.attributelambda = 4+Math.floor (3*Math.logarithm (this.n)); this.mu = Math.floor (attributelambda/); // inicializace vah pro selekci w this.weights =RealVector (N); for n = to this.n- do this.weights.setentry (n,n +) n =n + end this.weights = this.weights.maplog ().mapmultiply (-).mapadd (Math.logarithm (this.mu +.5)) Norm = this.weights.getnorm (); // normalizce vah this.weights.mapdividetoself (Norm); // sou en normalizovaných vah pro výpo et µ eff Norm = this.weights.getnorm (); this.mue = Math.pow (Norm, ) / this.weights.mappow ().getnorm (); // inicializace koecient adapace c c, c σ, c, c µ, d σ this.ccumulation = (4 + this.mue/ this.n) / (this.n * this.mue/ ); this.csigma = (this.mue + ) / (this N + this.mue + 5); this.crank = / (Math.pow (this.n +.3, ) + this.mue); this.crankmu = * (this.mue- + / this.mue) / (Math.pow (this.n +, ) + this.mue); this.dampingforsigma = + * Math.maximum (, Math.sqrt ((this.mue- ) / (this.n + )) - ) + this.csigma; // dynamické parametry strategie p ( c), p () σ, B ( ), D (), C () a C () this.pcumulation =RealVector (this.n); this.psigma =RealVector (this.n); // denuje sou adný systém this.b = MatrixUtils.createRealIdentityMatrix (this.n); this.d = RealVector (this.n, ); this.c = B.mapMultiply (MatrixUtils.createRealDiagonalMatrix (this.d.mappow ().toarray ())).mapmultiply (this.b.transpose ()); this.inverseandsqrtc = this.b.mapmultiply (MatrixUtils.createRealDiagonalMatrix (this.d.toarray ())).mapmultiply (this.b.transpose ()); // odhad normy N (, I) pro výpo et d σ this.chin = Math.sqrt (N) * ( - / (4 * N)) + ( / ( * Math.pow (N, )))); Algoritmus 4: Jeden krok metody initializedefaultparametes t ídy CMAESMethod57 38 KAPITOLA 3. IMPLEMENTACE ALGORITMU CMA-ES DO KNIHOVNY JCOOL 5 Vypo tu novou hodnotu atributu C, tedy kovarian ní matice C (g+) pomocí metody calculatecovariance. V²echny prom nné, které jsou nutné k výpo tu krom hsigmaa mudifferencefromoldmean(které p edstavují ve výpo tu rank--update) jsou atributy t ídy CMAESMethod. 7 Vypo tu novou hodnotu sigma, tedy step-size parametr σ (g+). 8 Rozklad na vlastní ísla a vlastní matice pomocí metody calculateeigendecomposition, tedy ortonormální matice B (g+) a diagonální matice vlastních ísel D (g+). Dále pak metoda po ítá hodnotu atributu inverseandsqrtc,tedy prom nné C, která slouºí k transofrmaci psigma,tedy p (g+) σ 9 Inkrementace íta e po tu generací Uloºení nejlep²ího jedince do atributu bestvalueincurrentgeneration,coº je hodnota x (g) :λ Nastavení atributu telemetrypro p edání výsledk. Protoºe se jedná o instanci t ídy ValuePointListTelemetry, p edáváme celou populaci.,3,4 P edání výsledk daného generace instanci consumer. Prom nná hsigmaje lokální, protoºe neuchovává svou historii, ani není pouºitelný v rámci jiných implementací, stejn Výpo et hodnoty h σ je jestliºe platí rovnice??, jinak je rovna. p ( σg) < ( n ( c σ ) (g+) 4N + ) N Metody, které po ítají prom nné algoritmu: (3.) initializedefaultparameters - nastavuje v²echny prom nné, které algoritmus po- ºívá k výpo t m na po áte ní hodnotu generatepopulation - generuje novou populaci o λ prvních s normálním roz lením. Generování je provád no pomocí t ídy CorrelatedRandomVectorGenerator z knihovny java-commons-math. calculateeigendecomposition - po ítá rozklad na vlastní ísla a vlastní vektory z kovarian ní matice C (g+). Rozklad je provád n pomocí t ídy EigenDecomposition z knihovny java-commons-math. calculatecovariance - po ítá novou kovarian ní matici C (g+) calculatepsigma- po ítá novou hodnotu p (g+) σ calculatepcumulation- po ítá novou hodnotu p (g+) c calculatehsigma- po ítá hodnotu h σ58 3.. IMPLEMENTACE DO KNIHOVNY JCOOL 39 population = generatepopulation () xold = xmean Arrays.sort (population) storethebestandworst (population) mubestindividuals = creatematrixfrompopulation (population, this.mu, this.n) // výpo et nové váºené st ední hodnoty m (g+) this. xmean = mubestindividuals.operate (weights) calculatepsigma (xold) hsigma = calculatehsigma () calculatepcumulation (hsigma,xold) // výpo et y pro rank-µ-update mudierencevectorsfromoldmean = calculatemudifferencefromoldmean (mubestindividuals,this.xold, this.n, this.mu, this.stepsize) // výpo et nové kovarian ní matice C (g+) calculatecovariance (hsigma,mudierencevectorsfromoldmean) // výpo et nové hodnoty σ (g+) calculatesigma () calculateeigendecomposition () this.currentgeneration =this.currentgeneration + bestvalueincurrentgeneration = population [].getvalue (); telemetry = Arrays.asList (population); if consumer!= null then consumer.notifyof (this) end Algoritmus 5: Jeden krok v kódu metody optimize t ídy CMAESMethod59 4 KAPITOLA 3. IMPLEMENTACE ALGORITMU CMA-ES DO KNIHOVNY JCOOL calculatesigma- po ítá novou hodnotu σ (g) V jednotlivých metodách probíhají zna n komplikované maticové operace. Pomocné metody, které slouºí k výpo t m prom nných algoritmu: [ calculatemudifferencefromoldmean - po ítá vzdálenost matice populace x (g) :λ T,... x (g) od st ední hodnoty m (g) d lené stepsize atributem σ (g). Statická metoda pomáhá výpo tu rank-µ-update p i po ítání kovarian ní matice C (g+). creatematrixfrompopulation - vytvá í z µ vybraných jedinc matici Statická metoda pomáhá p i celkovém zjednodu²ování výpo t. [ x (g) :λ T (g) T ],... x. triu - vrací horní troj helníkovou matici ze zadané matice totriu. Statická metoda se pouºívá p i výpo tu v metod computeeigendecomposition v níº zaru uje symetrii kovarian ní matice p i jejím rozkladu na C (g+) = B (g+) D (g+) B (g+) T zbývající nepopsané metody jsou jiº popsané a slouºí k nastavování parametr z GUI, nebo k informování o výsledcích a jiº jsem je d íve popsal. 3.. T ída RestartCMAESMethod T ída RestartCMAESMethod je koncipována jako abstraktní p edek v²ech mnou implementovaných variant a t íd algoritmu CMA-ES zaloºených na restartech. Takºe obsahuje implementace obsluh restart algoritmu. Odvozená t ída musí implementovat podmínky pro restart a novou hodnotu výpo tu prom nné po restartu λ, protoºe práv tyto dv v ci jsou podstatou restartovacího algoritmu. µ:λ µ:λ T ] 3... Obecn k implementaci t ídy RestartCMAESMethod T ída RestartCMAES roz²i uje abstraktního p edka CMAESMethodo následující metody: abstract void calculatelambda(); abstract boolean isrestartconditionsmet(); void restart(); public void optimize(); int getrestartcounter() p i emº roz²i uje chování metody optimize o kontrolu, zda nebyla v práv prob hlé iteraci spln na n která z restartovacích podmínek. Vyvolání restartu ssebou obná²í volání metod initializedefaultparametersp edka CMAESMethod(viz. popis), která inicializuje v²echny prom nné pro výpo et algoritmu na po áte ní hodnotu a metodu pro p epo et parametru λ po restartu (IPOP-CMA-ES po restartu zvy²uje mnoºství populace o n jaký násobek increasepopulationmultiplier) calculatelambda.60 3.. IMPLEMENTACE DO KNIHOVNY JCOOL 4 To, zda jsou restartovací podmínky spln ny je pln na benevolenci potomk, nebo implementace této metody je startosí potomk v metod isrestartconditionmet. Podrobn ji rozeberu tuto metodu u popisu t ídy IPOPCMAESMethod, která tuto metodu implementuje. Stejn tak potomek musí implementovat zm nu populace λ po restartu, tedy metodu calculatelambda. Poslední metoda je getrestartcounter, která vrací mnoºství jiº provedených restart (tedy po et volání metody restart). restartcounter +=restartcounter + calculatelambda() initializedefaultparameters() Algoritmus 6: Obsluha jednoho restartu restartovací strategie super.optimize() if isrestartconditionsmet() then restart() end Algoritmus 7: Obsluha jednoho optimaliza ního kroku instance restartovací strategie 3..3 T ída IPOPCMAESMethod T ída IPOPCMAESMethod implementuje abstraktní t ídu CMAESMethod, kde svému p edkovi implementuje restartovací podmínky, které jsou shodné s podmínkami pro zastavení t ídy PureCMAESMethod. Jedná se o tyto podmínky: NoEectAxis v instanci noeffecttoaxisstopcondition t ídy NoEffectAxisStopCondition. NoEectCoord v instanci noeffecttoaxisstopcondition t ídy NoEffectAxisStopCondition. EqualFunValues v instanci equalfunvaluesstopcondition t ídy EqualFunValuesStopCondition. ConditionCov v instanci conditioncovstopcondition t ídy ConditionCovStopCondition. TolFun v instanci tolfunstopcondition t ídy TolFunStopCondition. TolX v instanci tolxstopcondition t ídy TolXStopCondition. instance t ídy SimpleStopCondition, coº je obecná zastavovací podmínka která detekuje konvergenci tness. T ída má jednu prom nnou increasepopulationmultiplier, která udává násobek λ po restartu. Tento atribut pouºit p i volání metody calculatelambda, která je volána p i kaºdém restartu metodou restart. Metody jsou následující61 4 KAPITOLA 3. IMPLEMENTACE ALGORITMU CMA-ES DO KNIHOVNY JCOOL void init(objectivefunction function) void setstopconditionparameters() void optimize() boolean isrestartconditionsmet() void restart() void calculatelambda() Metoda init se stará pouze o správné po áte ní nastavení parametr v²ech restartovacích podmínek a volání metody initsvého p edka. Metoda setstopconditionparameters ned lá nic, protoºe t ída IPOPCMAESMethodnemá ºádné zastavovací podmínky, krom jedné nad azené (která bu omezuje as, nebo mnoºství iterací, ale její obsluhu má pln v kompetencích volající). Metoda optimize se stará o volání jednoho kroku algoritmu a p edání stavových prom nných pro restartovací podmínky. O kontrolu zda, je restartovací podmínka spln na se stará metoda optimize v RestartCMAESMethod pomocí volání isrestartconditionsmet. Metoda isrestartconditionsmetvrací bu true, je-li alespo jedna ze zmín ných podmínek spln na, jinak vrací false. Metoda restart nastavuje stejn jako initv²echny restartovací podmínky do po áte ního stavu T ída PureCMAESMethod T ída PureCMAESMethod implementuje abstraktní t ídu CMAESMethod, kde svému p edkovi p idává zastavovací podmínky, které nem ºe CMAESMethod implementovat, kv li restartovacím podmínkám (jakmile by byla spln na restartovací podmínka, byla by spln na i podmínka zastavovací a p edek CMAESMethod by mohl výpo et zastavit). Zbytek chování jsem p enechal p edkovi. T ída PureCMAESMethod implementuje následující meteody: void init(objectivefunction function) void optimize() void setstopconditionparameters() CMAESStopCondition[] getstopconditions() T ída implementuje v²echny známé zastavovací podmínky, které jsou: NoEectAxis v instanci noeffecttoaxisstopcondition t ídy NoEffectAxisStopCondition. NoEectCoord v instanci noeffecttoaxisstopcondition t ídy NoEffectAxisStopCondition. EqualFunValues v instanci equalfunvaluesstopcondition t ídy EqualFunValuesStopCondition. ConditionCov v instanci conditioncovstopcondition t ídy ConditionCovStopCondition. TolFun v instanci tolfunstopcondition t ídy TolFunStopCondition. TolX v instanci tolxstopcondition t ídy TolXStopCondition.62 3.. IMPLEMENTACE DO KNIHOVNY JCOOL 43 Obrázek 3.4: Základní t ídní hierarchie implmenetace algoritmu CMA-ES instance t ídy SimpleStopCondition, coº je obecná zastavovací podmínka která detekuje konvergenci tness. Metoda init se stará pouze o správné po áte ní nastavení parametr v²ech zastavovacích podmínek a volání metody initsvého p edka. Metoda optimize se stará o volání jednoho kroku algoritmu. Metoda volá svého potomka ve t íd CMAESMethod a následn nastavuje parametry zastavovacích podmínek po výpo tu voláním metody setstopconditionparameters. Metoda setstopconditionparameters nastavuje v²echny zastavovací podmínky po provedení jednoho kroku algoritmu (volání metody optimize). Metoda getstopconditions vrací pole v²ech zastavovacích podmínek uvedené na p edchozím vý tu, tak aby volající mohl ov it, zda n jaká z nich nebyla spln na (metoda isconditionmet).63 44 KAPITOLA 3. IMPLEMENTACE ALGORITMU CMA-ES DO KNIHOVNY JCOOL 3..5 Implementace zastavovacích podmínek P i implementaci zastavovacích podmínek jsem vycházel p edev²ím z lánku [? ], který podorbn vysv tluje kaºdou zastavovací podmínku. U podmínek NoEffectAxis a NoEffectCoord jsem pouºil známou vycházel z implementace [? ], kde jsou podmínky velmi dob e popsané. V²echny mnou implementované zastavovací podmínky jsou potomky rozhraní CMAESStopCondition, aby nebyli zam n ny s jinými zastavovacícmi podmínkami. V²echny zastavovací podmínky mají atribut use,kterým m ºu danou zastavovací podmínku vypnout, nebo zapnout. P i volání metody isconditionmet se ov uje p ed vyhodnocení kritéria zda není hodnota use nastavena na true Podmínka NoEectAxis Zastavovací podmínku NoEectAxis jsem implementoval t ídou NoEffectAxisStopCondition. Podmínka pracuje s vlastnostmi prom nných D (g), B (g), m (g) a g. V²echny tyto prom nné p edávám v metod setvalues. Denice Zastavovací podmínka NoEectAxis: Zastav jestliºe. sm rodatné odchylky v n které z komponent C (g) p i tené k m (g) nezm ní jeho hodnotu Je nutné, aby se postupn st ídali v²echny komponenty, ehoº lze docílit tím, ºe spo ítám zbytek po d lení z této generace po vyd lení po tu moºných komponent. Podmínku lze vyjád it tak, ºe porovnánáme aktuální st ední hodnotu se sou tem st ední hodnoty s vybraným vlastním vektorem po tom, co vynásobíme. odmocniny z vlastního ísla. Matematicky lze vyjád it výpo et sm rodatné odchylky podle rovnice 3.: takºe lze NoEffectAxisvyjád it kódem jako: m (g) stddev = m(g) +.b (g) i d (g) ii (3.) eigenindex = currentgeneration mod N; xmeanafteraddingstddev = xmean.add ( B.getColumnVector (eigenindex).mapmultiply ( standarddeviationratio * Math.sqrt ( D.getEntry (eigenindex)))); if xmean.equals ( xmeanafteraddingstddev) then return true; end return false; Algoritmus 8: Implementace zastavovací podmínky NoEectAxis Podmínka NoEectCoord Zastavovací podmínku NoEectCoord jsem implementoval t ídou NoEffectCoordStopCondition. Podmínka pracuje s vlastnostmi prom nných D (g), m (g), a σ (g). V²echny tyto prom nné p edávám v metod setvalues.64 3.. IMPLEMENTACE DO KNIHOVNY JCOOL 45 Denice Zastavovací podmínka NoEectCoord: Zastav jestliºe p i tení. sm rodatné odchylky v n jaké i-té osy nezm ní hodnotu m (g) v dané sou adnici m (g) i Podmínku lze vyjád it podobn jako v p ípad NoEectAxis porovnáním výpo tu odmocniny vektoru vlastních ísel násobených.σ (g). Matematicky lze výpo et p i tení sm rodatné odchylky podle rovnice 3.3: takºe lze NoEffectCoordvyjád it kódem v Jav jako: m (g) stddev m(g) +.σ (g) D (g) (3.3) if D.mapSqrt().mapMultiply ( atrributesigma *.).add ( xmean).equals ( xmean) then return true; end return false; Podmínka EqualFunValues Zastavovací podmínku EqualFunValues ( jsem implementoval t ídou EqualFunValuesStopCondition. Podmínka pracuje hodnotami f x (g) ) :λ v n λ generacích. Fitness hodnoty nejlep- ²ích jedinc v generacích jsem ukládal to instance ArrayList<Double> a zárove jsem p i ítal p idávanou hodnotu tness k prom nné, tak abych zabránil nutnosti s ítat celý seznam uloºených + 3n λ tness. Denice Zastavovací podmínka EqualFunValuesStopCondition: Zastav jestliºe + 3n λ generacích je hodnota f (x :λ ) rovna V atributu currentgeneration uchávávám práv probíhající generaci a jeho hodnotu inkrementuji pokaºdé, kdyº volám metodu setvalues. Dále pak atribut historydepth, v nemº uchovávám hodnotu + 3n 3n λ. Atribut currentsumofhisotry ukládá sou et + λ posledních generací, nebo men²í po et generací. Seznam history pouºívám k uchovávání v²ech hodnot p edaných metodou setvaluesa pouºívám tento atribut k ode ítání historie pokud po et generací p esko í + 3n. λ P i volání ( metody setvaluesp edá metoda setstopconditionparameters tness nejlep- ²ího jedince f x (g) ) :λ v generaci g. Pokud je g < + 3n λ (tzn. podmínka currentgeneration historydepth) ( sta í pouze p idat hodnotu na seznam history a p i íst k atributu currentsumofhistoryh f x (g) :λ). Pokud je ov²em po et generací v t²í, ode tu od hodnoty currentsumofhistoryprvní ( hodnotu v seznamu historya p i tu hodnotu f x (g) :λ). Podmínku EqualFunValueslze vyjád it kódem v Jav jako:65 46 KAPITOLA 3. IMPLEMENTACE ALGORITMU CMA-ES DO KNIHOVNY JCOOL if currentgeneration <= historydepth then history.add (currentbestfitness); currentsumofhisotry += currentbestfitness; end else currentsumofhisotry += currentbestfitness- history.get ((currentgeneration- ) mod historydepth); history.set (currentgeneration mod historydepth, currentbestfitness); end Podmínka ConditionCov Poslední ze statických zastavovacích podmínek je ConditionCov, jejíº implementace se skrývá ve t íd ConditionCovStopCondition. Denice Zastavovací podmínka ConditionCov: Zastav jestliºe íslo podmín nosti kovarian ní matice je v t²í neº κ = 4 Pokud známe nejmen²í a nejv t²í vlastní íslo matice C, nemusíme po ítat íslo podmín nosti nap. podle [? ], ale sta í porovnat nejv t²í vlastní íslo s nejmen²ím vlastním íslem vynásobeným hodnotou κ. Pokud platí d > κd nn je íslo podmín nosti matice C (g) také v t²í, neº κ, neplatí-li pomín nost je men²í neº κ Podmínku ConditionCovlze vyjád it kódem v Jav jako: Arrays.sort (eigenvalues); if eigenvalues [] > maxmultiplyofmineigenvalue * eigenvalues [ eigenvalues.length- ] then return true; end return false; Podmínka TolX Podmínka TolXnení obecn platná pro v²echny funkce, ale m ºe být závislá na problému. Její atribut tolxje proto nutné nastavit na n jakou poºadovanou hodnotu. Podmínka je implementována ve t íd TolXStopCondition. Denice Zastavovací podmínka TolX: Zastav jestliºe sm rodatná odchylka normálního rozd lení je ve v²ech osách men²í neº hodnota TolX a jestliºe hodnota σ (g) p (g) c je ve v²ech osách men²í neº TolX První kritérium, tedy zda je sm rodatná odchlka ve v²ech osách men²í neº hodnota TolX lze matematicky vyjád it tak, ºe jsou-li v²echny prvky na hlavní diagonále kovarian ní matice C (g) vynásobené step-size v dané generaci σ (g) men²í neº TolX podmnka je spln na66 3.. IMPLEMENTACE DO KNIHOVNY JCOOL 47 Podmínku TolXlze vyjád it kódem v Jav jako: pcandsigma = pc.mapmultiply (attributesigma).getdata(); for i= to N do if pcandsigma [] > tolx then return false; end end stddevdistribution = diagc.mapmultiply (attributesigma).getdata(); for i= to N do if stddevdistribution [i] > tolx then return false; end return true; end Podmínka TolFunHistory Podmínka TolFunHistoryje stejn jako TolXplatná pro v²echny funkce, ale být závislá na problému. Podmínka je identická s EqualFunValuesStopCondition s rozdílem, ºe sou et + 3n generacích m ºe být r zný od a podmínka je spln na pokud je sou et mén neº λ atribut tolfun.67 48 KAPITOLA 3. IMPLEMENTACE ALGORITMU CMA-ES DO KNIHOVNY JCOOL68 Kapitola 4 Experimenty 4. Informace k experiment m Na algoritmu jsem provedl adu experiment. První experimenty spo ívali v porovnání algoritmu CMA-ES pro v²echny dostupné metody v knihovn JCool, které ke dni. kv tna byli v dispozici a to samé platí pro dostupné funkce, kterých bylo celkem 35 a jsou uvedeny v prvním sloupci tabulky 4.. Druhá série experiment spo ívala v zji²t ní pr b hu u vybraných funkcí algoritmu CMA-ES. 4.. Získávání infomrací o pr b hu p i porovnávání s ostatními metodami Pro získávání informací o pr b hu jednotlivých metod není explicitn vytvo ena ºádná t ída, takºe jsem si vytvo il vlastní solver StepSolver, který implementoval rozhraní Solver a zárove d dil od mé t ídy StepStorage, která slouºila k uchovávání mezivýsledk o nejlep- ²ích a nejhor²ích jedincích v jednotlivých generacích (pokud se jednoalo o metodu, která pouºívala více jak jednu hodnotu k výpo tu resp. m la ValuePointListTelemetry, nebo ValuePointListColoredTelemetry telemetrii), nebo jako nejhro²ího a zárove nejlep²ího jedince (pokud se jednalo o metodu, která naopak pouºívá jednu hodnotu k výpo tu, resp. m la ValuePoint telemetrii). Ve t íd StepSolverjsem implementoval metodu solve tak, aby si v kaºdém kroku uloºila pr b h metody a zárove ov ila, zda nebyl p ekro en maximální po et iterací. P i výpo tech selhala funkce Hump, která selhala na výpo tu optimaliza ní metody LevenbergMarquardtMethod, proto pro ní nemám graf o pr b hu. Nár st populace po restartu λ je pro IPOP-CMA-ES algoritmus nastavena na. 4.. Diskuze o výsledcích experiment Ve v t²in testovacích funkcí dosáhl algoritmus CMA-ES lep²ích výsledk neº jeho konkurentni. Místy se sice stalo, ºe algoritmus uvázl v lokálním minimu, jako nap íklad v p ípad Levyho 3 a Levyho 5 funkce, kde algoritmus CMA-ES skon il výpo et po iteracích protoºe byla spln na zastavovací podmínka EqualFunValues, ale algoritmus IPOP-CMA-ES 4969 5 KAPITOLA 4. EXPERIMENTY jeho hor²í výsledky vykompenzoval hned po prvním restartu, kdy se dostal do globálního optima kde prob hlo pro Levyho 3 funkci 7 restart a pro Levyho 5 funkci 6 restart. Na v t²in pr b h je vid t, kdy se algoritmus IPOP-CMA-ES restartoval. Restart se m ºe projevit náhlým nár stem, resp. poklesem pr b hu tness funkce. Velmi dob e je to vid t nap íklad na Langermannov funkci, kde prob hlo velmi rychle za sebou po cca. generacích 7 restart, ale po restartu se algoritmus vrátil k p vodnímu globálnímu optimu a jediná metoda, která podává stejn dobré výsledky je API. Naopak u n kterých metod m l IPOP-CMA-ES problémy s velkým po tem restart, coº ukazuje Shekelova funkce kde u generace zna né mnoºství restart a algoritmus hodn osciluje. I p es to, ºe metoda je metoda vhodná spí²e na funkce unimodální, výsledky ukazují, ºe nemá problémy ani s multimodálními funkcemi, jako je Ackleyova nebo Rastriginova funkce Získávání informací o pr b hu výpo tu algoritmu CMA-ES70 4.. INFORMACE K EXPERIMENT M 5 Funkce f (x) Pr b h f (x) Pr b h CMA-ES Pr b h tness s ostatními algoritmy Ackley Beale Bohachevsky Booth Branin Colville???? 4.6 DixonPrice???? 4.7 Easom GoldsteinPrice???? 4.9 Griewangk???? 4. Hartmann???? 4. Himmelblau Hump Langermann???? 4.3 Levy???? 4.6 Levy3???? 4.4 Levy5???? 4.5 Matyas Michalewicz???? 4.7 Perm???? 4.9 Powell???? 4. PowerSum???? 4. Rana???? 4. Rastrigin Rosenbrock Schwefel Shekel???? 4.6 Shubert???? 4.7 Sphere Trid Whitley???? 4.3 Zakharov Constant Tabulka 4.: Testovací funkce, nad nimiº byli provedeny expermenty. V prvním sloupci je název odpovídající funkce, ve druhém sloupci je íslo obrázku na nemº je zanesen pr b h funkce, na t etím íslo obrázku na nemº je vyzna en pr b h výpo tu algoritmu prom nných algoritmu v pr b hu výpo tu a ve t etím sloupci porovnání v²ech dostupných algoritm v knihovn na odpovídající testovací funkci. V p ípad, ºe je v tabulce - znamená to, ºe výpo et byl zbyte ný, nebo se pr b hu vyskytla n jakýá chyba71 5 KAPITOLA 4. EXPERIMENTY Fitness f(x) Ackley AACA ACO API CACO CMAES DACO DifferentialEvolution HGAPSO OrthogonalSearch PALDifferentialEvolution PBIL Powell PSO QuasiNewton Random SADE SteepestDescent PureCMAES IPOPCMAES Generace (g) Obrázek 4.: Pr b h tness pro Ackleyovu funkci nejlep²ího jedince x (g) :λ (pokud metoda pouºívá telemetrii ValuePointList), nebo jediného jedince (pokud metoda pouºívá telemtrii ValuePoint) v²ech metod v knihovn JCool. Fitness f(x) 4 x Beale AACA ACO API CACO CMAES DACO DifferentialEvolution HGAPSO OrthogonalSearch PALDifferentialEvolution PBIL Powell PSO QuasiNewton Random SADE SteepestDescent PureCMAES IPOPCMAES Generace (g) Obrázek 4.: Pr b h tness pro Bealeho funkci nejlep²ího jedince x (g) :λ (pokud metoda pouºívá telemetrii ValuePointList), nebo jediného jedince (pokud metoda pouºívá telemtrii ValuePoint) v²ech metod v knihovn JCool.72 4.. INFORMACE K EXPERIMENT M 53 Fitness f(x) 5 5 Bohachevsky AACA ACO API CACO CMAES DACO DifferentialEvolution HGAPSO OrthogonalSearch PALDifferentialEvolution PBIL Powell PSO QuasiNewton Random SADE SteepestDescent PureCMAES IPOPCMAES Generace (g) Obrázek 4.3: Pr b h tness pro Bohachevskyho funkci nejlep²ího jedince x (g) :λ (pokud metoda pouºívá telemetrii ValuePointList), nebo jediného jedince (pokud metoda pouºívá telemtrii ValuePoint) v²ech metod v knihovn JCool. Fitness f(x) Booth AACA ACO API CACO CMAES DACO DifferentialEvolution HGAPSO OrthogonalSearch PALDifferentialEvolution PBIL Powell PSO QuasiNewton Random SADE SteepestDescent PureCMAES IPOPCMAES Generace (g) Obrázek 4.4: Pr b h tness pro Booth funkci nejlep²ího jedince x (g) :λ (pokud metoda pouºívá telemetrii ValuePointList), nebo jediného jedince (pokud metoda pouºívá telemtrii ValuePoint) v²ech metod v knihovn JCool.73 54 KAPITOLA 4. EXPERIMENTY Fitness f(x) Branin AACA ACO API CACO CMAES DACO DifferentialEvolution HGAPSO OrthogonalSearch PALDifferentialEvolution PBIL Powell PSO QuasiNewton Random SADE SteepestDescent PureCMAES IPOPCMAES Generace (g) Obrázek 4.5: Pr b h tness pro Branin funkci nejlep²ího jedince x (g) :λ (pokud metoda pouºívá telemetrii ValuePointList), nebo jediného jedince (pokud metoda pouºívá telemtrii ValuePoint) v²ech metod v knihovn JCool. Fitness f(x) x Colville AACA ACO API CACO CMAES DACO DifferentialEvolution HGAPSO OrthogonalSearch PALDifferentialEvolution PBIL Powell PSO QuasiNewton Random SADE SteepestDescent PureCMAES IPOPCMAES Generace (g) Obrázek 4.6: Pr b h tness pro Colville funkci nejlep²ího jedince x (g) :λ (pokud metoda pouºívá telemetrii ValuePointList), nebo jediného jedince (pokud metoda pouºívá telemtrii ValuePoint) v²ech metod v knihovn JCool.74 4.. INFORMACE K EXPERIMENT M 55 Fitness f(x) x DixonPrice AACA ACO API CACO CMAES DACO DifferentialEvolution HGAPSO OrthogonalSearch PALDifferentialEvolution PBIL Powell PSO QuasiNewton Random SADE SteepestDescent PureCMAES IPOPCMAES Generace (g) Obrázek 4.7: Pr b h tness pro Dixon-Priceovu funkci nejlep²ího jedince x (g) :λ (pokud metoda pouºívá telemetrii ValuePointList), nebo jediného jedince (pokud metoda pouºívá telemtrii ValuePoint) v²ech metod v knihovn JCool. Fitness f(x) Easom AACA ACO API CACO CMAES DACO DifferentialEvolution HGAPSO OrthogonalSearch PALDifferentialEvolution PBIL Powell PSO QuasiNewton Random SADE SteepestDescent PureCMAES IPOPCMAES Generace (g) Obrázek 4.8: Pr b h tness pro Easomovu funkci nejlep²ího jedince x (g) :λ (pokud metoda pouºívá telemetrii ValuePointList), nebo jediného jedince (pokud metoda pouºívá telemtrii ValuePoint) v²ech metod v knihovn JCool.75 56 KAPITOLA 4. EXPERIMENTY Fitness f(x) 8 x GoldsteinPrice AACA ACO API CACO CMAES DACO DifferentialEvolution HGAPSO OrthogonalSearch PALDifferentialEvolution PBIL Powell PSO QuasiNewton Random SADE SteepestDescent PureCMAES IPOPCMAES Generace (g) Obrázek 4.9: Pr b h tness pro Goldstein-Price funkci nejlep²ího jedince x (g) :λ (pokud metoda pouºívá telemetrii ValuePointList), nebo jediného jedince (pokud metoda pouºívá telemtrii ValuePoint) v²ech metod v knihovn JCool. Fitness f(x) Griewangk AACA ACO API CACO CMAES DACO DifferentialEvolution HGAPSO OrthogonalSearch PALDifferentialEvolution PBIL Powell PSO QuasiNewton Random SADE SteepestDescent PureCMAES IPOPCMAES Generace (g) Obrázek 4.: Pr b h tness pro Griewangkovu funkci nejlep²ího jedince x (g) :λ (pokud metoda pouºívá telemetrii ValuePointList), nebo jediného jedince (pokud metoda pouºívá telemtrii ValuePoint) v²ech metod v knihovn JCool.76 4.. INFORMACE K EXPERIMENT M 57 Fitness f(x) Hartmann AACA ACO API CACO CMAES DACO DifferentialEvolution HGAPSO OrthogonalSearch PALDifferentialEvolution PBIL Powell PSO QuasiNewton Random SADE SteepestDescent PureCMAES IPOPCMAES Generace (g) Obrázek 4.: Pr b h tness pro Hartmannovu funkci nejlep²ího jedince x (g) :λ (pokud metoda pouºívá telemetrii ValuePointList), nebo jediného jedince (pokud metoda pouºívá telemtrii ValuePoint) v²ech metod v knihovn JCool. Fitness f(x) Himmelblau AACA ACO API CACO CMAES DACO DifferentialEvolution HGAPSO OrthogonalSearch PALDifferentialEvolution PBIL Powell PSO QuasiNewton Random SADE SteepestDescent PureCMAES IPOPCMAES Generace (g) Obrázek 4.: Pr b h tness pro Himmelblauovu funkci nejlep²ího jedince x (g) :λ (pokud metoda pouºívá telemetrii ValuePointList), nebo jediného jedince (pokud metoda pouºívá telemtrii ValuePoint) v²ech metod v knihovn JCool.77 58 KAPITOLA 4. EXPERIMENTY Fitness f(x) Langermann AACA ACO API CACO CMAES DACO DifferentialEvolution HGAPSO OrthogonalSearch PALDifferentialEvolution PBIL Powell PSO QuasiNewton Random SADE SteepestDescent PureCMAES IPOPCMAES Generace (g) Obrázek 4.3: Pr b h tness pro Langermannovu funkci nejlep²ího jedince x (g) :λ (pokud metoda pouºívá telemetrii ValuePointList), nebo jediného jedince (pokud metoda pouºívá telemtrii ValuePoint) v²ech metod v knihovn JCool. Fitness f(x) 5 5 Levy3 AACA ACO API CACO CMAES DACO DifferentialEvolution HGAPSO OrthogonalSearch PALDifferentialEvolution PBIL Powell PSO QuasiNewton Random SADE SteepestDescent PureCMAES IPOPCMAES Generace (g) Obrázek 4.4: Pr b h tness pro Levyho 3 funkci nejlep²ího jedince x (g) :λ (pokud metoda pouºívá telemetrii ValuePointList), nebo jediného jedince (pokud metoda pouºívá telemtrii ValuePoint) v²ech metod v knihovn JCool.78 4.. INFORMACE K EXPERIMENT M 59 Fitness f(x) Levy5 AACA ACO API CACO CMAES DACO DifferentialEvolution HGAPSO OrthogonalSearch PALDifferentialEvolution PBIL Powell PSO QuasiNewton Random SADE SteepestDescent PureCMAES IPOPCMAES Generace (g) Obrázek 4.5: Pr b h tness pro Levyho 5 funkci nejlep²ího jedince x (g) :λ (pokud metoda pouºívá telemetrii ValuePointList), nebo jediného jedince (pokud metoda pouºívá telemtrii ValuePoint) v²ech metod v knihovn JCool. Fitness f(x) Levy AACA ACO API CACO CMAES DACO DifferentialEvolution HGAPSO OrthogonalSearch PALDifferentialEvolution PBIL Powell PSO QuasiNewton Random SADE SteepestDescent PureCMAES IPOPCMAES Generace (g) Obrázek 4.6: Pr b h tness pro Levy funkci nejlep²ího jedince x (g) :λ (pokud metoda pouºívá telemetrii ValuePointList), nebo jediného jedince (pokud metoda pouºívá telemtrii ValuePoint) v²ech metod v knihovn JCool.79 6 KAPITOLA 4. EXPERIMENTY Fitness f(x) Matyas AACA ACO API CACO CMAES DACO DifferentialEvolution HGAPSO OrthogonalSearch PALDifferentialEvolution PBIL Powell PSO QuasiNewton Random SADE SteepestDescent PureCMAES IPOPCMAES Generace (g) Obrázek 4.7: Pr b h tness pro Matyas funkci nejlep²ího jedince x (g) :λ (pokud metoda pouºívá telemetrii ValuePointList), nebo jediného jedince (pokud metoda pouºívá telemtrii ValuePoint) v²ech metod v knihovn JCool. Fitness f(x).5.5 Michalewicz AACA ACO API CACO CMAES DACO DifferentialEvolution HGAPSO OrthogonalSearch PALDifferentialEvolution PBIL Powell PSO QuasiNewton Random SADE SteepestDescent PureCMAES IPOPCMAES Generace (g) Obrázek 4.8: Pr b h tness pro Michalewicz funkci nejlep²ího jedince x (g) :λ (pokud metoda pouºívá telemetrii ValuePointList), nebo jediného jedince (pokud metoda pouºívá telemtrii ValuePoint) v²ech metod v knihovn JCool.80 4.. INFORMACE K EXPERIMENT M 6 Fitness f(x) Perm AACA ACO API CACO CMAES DACO DifferentialEvolution HGAPSO OrthogonalSearch PALDifferentialEvolution PBIL Powell PSO QuasiNewton Random SADE SteepestDescent PureCMAES IPOPCMAES Generace (g) Obrázek 4.9: Pr b h tness pro Perm funkci nejlep²ího jedince x (g) :λ (pokud metoda pouºívá telemetrii ValuePointList), nebo jediného jedince (pokud metoda pouºívá telemtrii ValuePoint) v²ech metod v knihovn JCool. Fitness f(x) Powell AACA ACO API CACO CMAES DACO DifferentialEvolution HGAPSO OrthogonalSearch PALDifferentialEvolution PBIL Powell PSO QuasiNewton Random SADE SteepestDescent PureCMAES IPOPCMAES Generace (g) Obrázek 4.: Pr b h tness pro Powellovu funkci nejlep²ího jedince x (g) :λ (pokud metoda pouºívá telemetrii ValuePointList), nebo jediného jedince (pokud metoda pouºívá telemtrii ValuePoint) v²ech metod v knihovn JCool.81 6 KAPITOLA 4. EXPERIMENTY Fitness f(x) 4 x PowerSum AACA ACO API CACO CMAES DACO DifferentialEvolution HGAPSO OrthogonalSearch PALDifferentialEvolution PBIL Powell PSO QuasiNewton Random SADE SteepestDescent PureCMAES IPOPCMAES Generace (g) Obrázek 4.: Pr b h tness pro kvadratickou funkci nejlep²ího jedince x (g) :λ (pokud metoda pouºívá telemetrii ValuePointList), nebo jediného jedince (pokud metoda pouºívá telemtrii ValuePoint) v²ech metod v knihovn JCool. Fitness f(x) x Rana AACA ACO API CACO CMAES DACO DifferentialEvolution HGAPSO OrthogonalSearch PALDifferentialEvolution PBIL Powell PSO QuasiNewton Random SADE SteepestDescent PureCMAES IPOPCMAES Generace (g) Obrázek 4.: Pr b h tness pro Ranaovu funkci nejlep²ího jedince x (g) :λ (pokud metoda pouºívá telemetrii ValuePointList), nebo jediného jedince (pokud metoda pouºívá telemtrii ValuePoint) v²ech metod v knihovn JCool.82 4.. INFORMACE K EXPERIMENT M 63 Fitness f(x) Rastrigin AACA ACO API CACO CMAES DACO DifferentialEvolution HGAPSO OrthogonalSearch PALDifferentialEvolution PBIL Powell PSO QuasiNewton Random SADE SteepestDescent PureCMAES IPOPCMAES Generace (g) Obrázek 4.3: Pr b h tness pro Rastrigin funkci nejlep²ího jedince x (g) :λ (pokud metoda pouºívá telemetrii ValuePointList), nebo jediného jedince (pokud metoda pouºívá telemtrii ValuePoint) v²ech metod v knihovn JCool. Fitness f(x) Rosenbrock AACA ACO API CACO CMAES DACO DifferentialEvolution HGAPSO OrthogonalSearch PALDifferentialEvolution PBIL Powell PSO QuasiNewton Random SADE SteepestDescent PureCMAES IPOPCMAES Generace (g) Obrázek 4.4: Pr b h tness pro Rosenbrockovu funkci nejlep²ího jedince x (g) :λ (pokud metoda pouºívá telemetrii ValuePointList), nebo jediného jedince (pokud metoda pouºívá telemtrii ValuePoint) v²ech metod v knihovn JCool.83 64 KAPITOLA 4. EXPERIMENTY Fitness f(x).5 x Schwefel AACA ACO API CACO CMAES DACO DifferentialEvolution HGAPSO OrthogonalSearch PALDifferentialEvolution PBIL Powell PSO QuasiNewton Random SADE SteepestDescent PureCMAES IPOPCMAES Generace (g) Obrázek 4.5: Pr b h tness pro Schwefelovu funkci nejlep²ího jedince x (g) :λ (pokud metoda pouºívá telemetrii ValuePointList), nebo jediného jedince (pokud metoda pouºívá telemtrii ValuePoint) v²ech metod v knihovn JCool. Fitness f(x) Shekel AACA ACO API CACO CMAES DACO DifferentialEvolution HGAPSO OrthogonalSearch PALDifferentialEvolution PBIL Powell PSO QuasiNewton Random SADE SteepestDescent PureCMAES IPOPCMAES Generace (g) Obrázek 4.6: Pr b h tness pro Shekelovu funkci nejlep²ího jedince x (g) :λ (pokud metoda pouºívá telemetrii ValuePointList), nebo jediného jedince (pokud metoda pouºívá telemtrii ValuePoint) v²ech metod v knihovn JCool.84 4.. INFORMACE K EXPERIMENT M 65 Fitness f(x) Shubert AACA ACO API CACO CMAES DACO DifferentialEvolution HGAPSO OrthogonalSearch PALDifferentialEvolution PBIL Powell PSO QuasiNewton Random SADE SteepestDescent PureCMAES IPOPCMAES Generace (g) Obrázek 4.7: Pr b h tness pro Shubertovu funkci nejlep²ího jedince x (g) :λ (pokud metoda pouºívá telemetrii ValuePointList ), nebo jediného jedince (pokud metoda pouºívá telemtrii ValuePoint) v²ech metod v knihovn JCool. Fitness f(x).5.5 Sphere AACA ACO API CACO CMAES DACO DifferentialEvolution HGAPSO OrthogonalSearch PALDifferentialEvolution PBIL Powell PSO QuasiNewton Random SADE SteepestDescent PureCMAES IPOPCMAES Generace (g) Obrázek 4.8: Pr b h tness pro Sphere funkci nejlep²ího jedince x (g) :λ (pokud metoda pouºívá telemetrii ValuePointList), nebo jediného jedince (pokud metoda pouºívá telemtrii ValuePoint) v²ech metod v knihovn JCool.85 66 KAPITOLA 4. EXPERIMENTY Fitness f(x) 4 3 Trid AACA ACO API CACO CMAES DACO DifferentialEvolution HGAPSO OrthogonalSearch PALDifferentialEvolution PBIL Powell PSO QuasiNewton Random SADE SteepestDescent PureCMAES IPOPCMAES Generace (g) Obrázek 4.9: Pr b h tness pro Tridovu funkci nejlep²ího jedince x (g) :λ (pokud metoda pouºívá telemetrii ValuePointList), nebo jediného jedince (pokud metoda pouºívá telemtrii ValuePoint) v²ech metod v knihovn JCool. Fitness f(x) Whitley AACA ACO API CACO CMAES DACO DifferentialEvolution HGAPSO OrthogonalSearch PALDifferentialEvolution PBIL Powell PSO QuasiNewton Random SADE SteepestDescent PureCMAES IPOPCMAES Generace (g) Obrázek 4.3: Pr b h tness pro Whitleyovu funkci nejlep²ího jedince x (g) :λ (pokud metoda pouºívá telemetrii ValuePointList), nebo jediného jedince (pokud metoda pouºívá telemtrii ValuePoint) v²ech metod v knihovn JCool.86 4.. KROKY ALGORITMU PRO VYBRANÉ FUNKCE 67 Fitness f(x) Zakharov AACA ACO API CACO CMAES DACO DifferentialEvolution HGAPSO OrthogonalSearch PALDifferentialEvolution PBIL Powell PSO QuasiNewton Random SADE SteepestDescent PureCMAES IPOPCMAES Generace (g) Obrázek 4.3: Pr b h tness pro Zakharov funkci nejlep²ího jedince x (g) :λ (pokud metoda pouºívá telemetrii ValuePointList), nebo jediného jedince (pokud metoda pouºívá telemtrii ValuePoint) v²ech metod v knihovn JCool. 4. Kroky algoritmu pro vybrané funkce87 68 KAPITOLA 4. EXPERIMENTY ackley x x x C (g) x 3 σ (g) 5 Generace (g) 5 Generace (g) Obrázek 4.3: Pr b h algoritmu pro Ackleyovu funkci ve dvou rozm rech Globální minimum je x = (, ), f (x ) =. ƒervenou barvou je vyzna ena váºená st ední hodnota m (g) a modrou kovarian ní matice σ (g) C (g).88 4.. KROKY ALGORITMU PRO VYBRANÉ FUNKCE 69 beale 3.5 x x 3.5 x.5.5 C (g) x.5 σ (g).5 5 Generace (g) 5 Generace (g) Obrázek 4.33: Pr b h algoritmu pro Bealeho funkci ve dvou rozm rech Globální minimum je x = (3,.5), f (x ) =. ƒervenou barvou je vyzna ena váºená st ední hodnota m (g) a modrou kovarian ní matice σ (g) C (g).89 7 KAPITOLA 4. EXPERIMENTY bohachevsky x 3 4 x x x 3 6 C (g) 5 Generace (g) σ (g) 4 5 Generace (g) Obrázek 4.34: Pr b h algoritmu pro Bohachevskyho funkci prvního druhu ve dvou rozm rech Globální minimum je x = (, ), f (x) =. ƒervenou barvou je vyzna ena váºená st ední hodnota m (g) a modrou kovarian ní matice σ (g) C (g).90 4.. KROKY ALGORITMU PRO VYBRANÉ FUNKCE 7 booth x x x 3 C (g) x.5 σ (g).5 5 Generace (g) 5 Generace (g) Obrázek 4.35: Pr b h algoritmu pro Booth funkci ve dvou rozm rech Globální minimum je x = (, 3), f (x ) =. ƒervenou barvou je vyzna ena váºená st ední hodnota m (g) a modrou kovarian ní matice σ (g) C (g).91 7 KAPITOLA 4. EXPERIMENTY branin x x x 4 C (g) x 4 3 σ (g) 5 Generace (g) 5 Generace (g) Obrázek 4.36: Pr b h algoritmu pro Braninovu funkci ve dvou rozm rech Globální minimum je x = ( π,.75), x = (π,.75), x 3 = (9.4478,.475), ) (x f,,3 = ƒervenou barvou je vyzna ena váºená st ední hodnota m (g) a modrou kovarian ní matice σ (g) C (g).92 4.. KROKY ALGORITMU PRO VYBRANÉ FUNKCE constant.9 x x x x C (g).5 σ (g) 5 Generace (g) 5 Generace (g) Obrázek 4.37: Pr b h algoritmu pro konstantní funkci ve dvou rozm rech Globální minimum je x R, x R f (x) =. ƒervenou barvou je vyzna ena váºená st ední hodnota m (g) a modrou kovarian ní matice σ (g) C (g). Protoºe je vypnutná zastavovací podmínka EqualFunValues algoritmus se zastaví aº po ur eném po tu iterací.93 74 KAPITOLA 4. EXPERIMENTY dixonprice x x x C (g) x.5 σ (g).5 5 Generace (g) 5 Generace (g) Obrázek 4.38: Pr b h algoritmu pro Dixon-Priceovu funkci ve dvou rozm rech Globální minimum je x = (, ), f (x ) =. ƒervenou barvou je vyzna ena váºená st ední hodnota m (g) a modrou kovarian ní matice σ (g) C (g).94 4.. KROKY ALGORITMU PRO VYBRANÉ FUNKCE 75 easom 3 x x 3 x x 4 C (g) Generace (g) σ (g) 3 5 Generace (g) Obrázek 4.39: Pr b h funkce pro Easomovu funkci ve dvou rozm rech Globální minimum je x = (π, π), f (x) =. ƒervenou barvou je vyzna ena váºená st ední hodnota m (g) a modrou kovarian ní matice σ (g) C (g).95 76 KAPITOLA 4. EXPERIMENTY.4. goldsteinprice x x x x x.5 3 x C (g).5 5 Generace (g) σ (g).5 5 Generace (g) Obrázek 4.4: Pr b h algoritmu pro Goldstein-Priceovu funkci ve dvou rozm rech Globální minimum je x = (, ), f (x) = 3. ƒervenou barvou je vyzna ena váºená st ední hodnota m (g) a modrou kovarian ní matice σ (g) C (g).96 4.. KROKY ALGORITMU PRO VYBRANÉ FUNKCE himmelblau 6 4 x C (g) x x x.5 σ (g) Generace (g) 5 Generace (g) Obrázek 4.4: Pr b h algoritmu pro Himmelblauovu funkci ve dvou rozm rech Globální minimum je x = (.7844,.9338), f (x) = ƒervenou barvou je vyzna ena váºená st ední hodnota m (g) a modrou kovarian ní matice σ (g) C (g).97 78 KAPITOLA 4. EXPERIMENTY.5.5 hump 3 5 x x x x C (g) 5 Generace (g) σ (g).5 5 Generace (g) Obrázek 4.4: Pr b h algoritmu pro Humpovu funkci ve dvou rozm rech Globální minimum je x = (.898,.76), x = (.898,.76), ) (x f, =. ƒervenou barvou je vyzna ena váºená st ední hodnota m (g) a modrou kovarian ní matice σ (g) C (g).98 4.. KROKY ALGORITMU PRO VYBRANÉ FUNKCE 79 x x matyas x x C (g).5 5 Generace (g) σ (g) 5 Generace (g) Obrázek 4.43: Pr b h algoritmu pro Matyasovu funkci ve dvou rozm rech Globální minimum je x = (, ), f (x ) =. ƒervenou barvou je vyzna ena váºená st ední hodnota m (g) a modrou kovarian ní matice σ (g) C (g).99 8 KAPITOLA 4. EXPERIMENTY rastrigin x x 4 x C (g) x.5 σ (g).5 5 Generace (g) 5 Generace (g) Obrázek 4.44: Pr b h algoritmu pro Rastriginovu funkci ve dvou rozm rech Globální minimum je x = (, ), f (x ) =. ƒervenou barvou je vyzna ena váºená st ední hodnota m (g) a modrou kovarian ní matice σ (g) C (g).100 4.. KROKY ALGORITMU PRO VYBRANÉ FUNKCE 8 rosenbrock x x x x x C (g) x 4 3 σ (g) 5 Generace (g) 5 Generace (g) Obrázek 4.45: Pr b h algoritmu pro Rosenbrockovu funkci ve dvou rozm rech Globální minimum je x = (, ), f (x ) =. ƒervenou barvou je vyzna ena váºená st ední hodnota m (g) a modrou kovarian ní matice σ (g) C (g).101 8 KAPITOLA 4. EXPERIMENTY C (g) x x schwefel x x 5 σ (g) Generace (g) 5 Generace (g) Obrázek 4.46: Pr b h algoritmu pro Schwefelovu funkci ve dvou rozm rech Globální minimum je x = (, ), f (x ) =. ƒervenou barvou je vyzna ena váºená st ední hodnota m (g) a modrou kovarian ní matice σ (g) C (g).102 4.. KROKY ALGORITMU PRO VYBRANÉ FUNKCE 83 x x sphere x x C (g) Generace (g) σ (g) 5 Generace (g) Obrázek 4.47: Pr b h algoritmu pro kvadratickou funkci ve dvou rozm rech Globální minimum je x = (, ), f (x ) =. ƒervenou barvou je vyzna ena váºená st ední hodnota m (g) a modrou kovarian ní matice σ (g) C (g).103 84 KAPITOLA 4. EXPERIMENTY x trid x x C (g) x.5 σ (g).5 5 Generace (g) 5 Generace (g) Obrázek 4.48: Pr b h algoritmu pro Tridovu funkci ve dvou rozm rech Globální minimum je x = (, ), f (x) =. ƒervenou barvou je vyzna ena váºená st ední hodnota m (g) a modrou kovarian ní matice σ (g) C (g).104 4.3. P ÍLOHA A: POROVNÁNÍ DAL ÍCH VARIANT S ALGORITMEM CMA-ES P íloha A: Porovnání dal²ích variant s algoritmem CMA- ES 4.3. Porovnání s algoritmem LS-CMA-ES Testovací funkce m li dimenzi n =. Hodnoty v jednotlivých bu kách je po et iterací algoritmu vyd lených 4 nutných k dosaºení hodnoty men²í neº. Hodnoty se znakem - zna í, ºe algoritmus nedosáhl ani po 4 iteracích minima LS-CMA-ES CMA-ES Funkce min max min max f elli = n ( i= 6 ) i n x i i= ( x x i+) + (xi ) i= 4 x i + 8 x n f tablet = 6 x + n x i f cigar = x + n 6 x i n f exp = e x f ros = n f cigtab = x i + n f diff pow = i n + i= x i105 86 KAPITOLA 4. EXPERIMENTY zakharov 5 x x C (g) x 6 4 x 3 σ (g) Generace (g) 5 Generace (g) Obrázek 4.49: Pr b h algoritmu pro Zakharovovu funkcui ve dvou rozm rech Globální minimum je x = (, ), f (x ) =. ƒervenou barvou je vyzna ena váºená st ední hodnota m (g) a modrou kovarian ní matice σ (g) C (g).106 Literatura 4.3. Porovnání s algoritmem ACTIVE-CMA-ES 87107 88 LITERATURA Obrázek 4.5: Porovnání algoritmu ACTIVE-CMA-ES s algoritmem istým algoritmem CMA-ES z lánku [? ]. Na ose generací je vyná²en medán deseti opakování výpo et po tu generací algoritmu nutných k dosaºení tness men²í, neº hodnota f stop =108 Kapitola 5 P íloha B: Pouºité zkratky a jejich vysv tlení EA GA ES CMA-ES IPOP-CMA-ES Evolu ní algoritms Genetický algoritmus Evolu ní strategie Evolu ní strategie adapatace ovarian ních matic Restartovací evolu ní strategie zaloºená na CMA-ES 89 Zobrazit více
Zadání Oscannované zadání práce je v souboru./pdf/zadani.pdf i ii ƒeské vysoké u ení technické v Praze Fakulta elektrotechnická Katedra po íta Bakalá ská práce Optimaliza ní algoritmus CMA-ES Antonín ulc Více Obsah. Pouºité zna ení 1
Obsah Pouºité zna ení 1 1 Úvod 3 1.1 Opera ní výzkum a jeho disciplíny.......................... 3 1.2 Úlohy matematického programování......................... 3 1.3 Standardní maximaliza ní úloha lineárního Více Statistika pro geografy. Rozd lení etností DEPARTMENT OF GEOGRAPHY
Statistika pro geografy Rozd lení etností DEPARTMENT OF GEOGRAPHY Faculty of Science Palacký University Olomouc t. 17. listopadu 1192/12, 771 46 Olomouc Pojmy etnost = po et prvk se stejnou hodnotou statistického Více Pravd podobnost a statistika - cvi ení. Simona Domesová místnost: RA310 (budova CPIT) web:
Pravd podobnost a statistika - cvi ení Simona Domesová simona.domesova@vsb.cz místnost: RA310 (budova CPIT) web: http://homel.vsb.cz/~dom0015 Cíle p edm tu vyhodnocování dat pomocí statistických metod Více brmiversity: Um lá inteligence a teoretická informatika
brmiversity: Um lá inteligence a teoretická informatika P edná²ka. 6 Petr Baudi² pasky@ucw.cz brmlab 2011 Outline 1 Pravd podobnost 2 Um lá inteligence 3 Sloºitost 4 Datové struktury Pravd podobnost Pravd Více Soft Computing (SFC) 2014/2015 Demonstrace u ení sít RCE, Java aplikace
Soft Computing (SFC) 2014/2015 Demonstrace u ení sít RCE, Java aplikace Franti²ek N mec (xnemec61) xnemec61@stud.t.vutbr.cz 1 Úvod Úkolem tohoto projektu bylo vytvo it aplikaci, která bude demonstrovat Více Ergodické Markovské et zce
1. b ezen 2013 Denice 1.1 Markovský et zec nazveme ergodickým, jestliºe z libovolného stavu m ºeme p ejít do jakéhokoliv libovolného stavu (ne nutn v jednom kroku). Denice 1.2 Markovský et zec nazveme Více 1.7. Mechanické kmitání
1.7. Mechanické kmitání. 1. Umět vysvětlit princip netlumeného kmitavého pohybu.. Umět srovnat periodický kmitavý pohyb s periodickým pohybem po kružnici. 3. Znát charakteristické veličiny periodického Více c sin Příklad 2 : v trojúhelníku ABC platí : a = 11,6 dm, c = 9 dm, α = 65 0 30. Vypočtěte stranu b a zbývající úhly.
9. Úvod do středoškolského studia - rozšiřující učivo 9.. Další znalosti o trojúhelníku 9... Sinova věta a = sin b = sin c sin Příklad : V trojúhelníku BC platí : c = 0 cm, α = 45 0, β = 05 0. Vypočtěte Více ( x ) 2 ( ) 2.5.4 Další úlohy s kvadratickými funkcemi. Předpoklady: 2501, 2502
.5. Další úlohy s kvadratickými funkcemi Předpoklady: 50, 50 Pedagogická poznámka: Tato hodina patří mezi ty méně organizované. Společně řešíme příklad, při dalším počítání se třída rozpadá. Já řeším příklady Více 2C06028-00-Tisk-ePROJEKTY
Stránka. 27 z 50 3.2. ASOVÝ POSTUP PRACÍ - rok 2009 3.2.0. P EHLED DÍL ÍCH CÍL PLÁNOVANÉ 2009 íslo podrobn Datum pln ní matematicky formulovat postup výpo t V001 výpo etní postup ve form matematických Více Úvod. Matematická ekonomie 1. Jan Zouhar. 20. zá í 2011
Úvod Matematická ekonomie 1 Jan Zouhar 20. zá í 2011 Obsah 1 Organizace kurzu 2 Nápl kurzu 3 Motiva ní p íklad na úvod 4 Úvod do matematického programování 5 Úvod do lineárního programování 6 Základní Více 3. Polynomy Verze 338.
3. Polynomy Verze 338. V této kapitole se věnujeme vlastnostem polynomů. Definujeme základní pojmy, které se k nim váží, definujeme algebraické operace s polynomy. Diskutujeme dělitelnost polynomů, existenci Více Vyvažování tuhého rotoru v jedné rovině přístrojem Adash 4900 - Vibrio
Aplikační list Vyvažování tuhého rotoru v jedné rovině přístrojem Adash 4900 - Vibrio Ref: 15032007 KM Obsah Vyvažování v jedné rovině bez měření fáze signálu...3 Nevýhody vyvažování jednoduchými přístroji...3 Více 6. Matice. Algebraické vlastnosti
Matematický ústav Slezské univerzity v Opavě Učební texty k přednášce ALGEBRA I, zimní semestr 2000/2001 Michal Marvan 6 Matice Algebraické vlastnosti 1 Algebraické operace s maticemi Definice Bud te A, Více Kuželosečky a kvadriky ve škole i kolem
Kuželosečky a kvadriky ve škole i kolem nás Bc. Aneta Mirová Kurz vznikl v rámci projektu Rozvoj systému vzdělávacích příležitostí pro nadané žáky a studenty v přírodních vědách a matematice s využitím Více Termíny zkoušek Komise Komise. subkomise 1 (obhaj.) :30 B subkomise 2 (obhaj.) :30 B8 120
Základní informace o struktu e dat: Komise (nadkomise) obsahují leny schválené VR (po jejich identifikaci v SIS, p íp. dopln ní budou obsahovat všechny schválené leny, po novém za azení se vyplní datum Více Microsoft Office Project 2003 Úkoly projektu 1. Začátek práce na projektu 1.1 Nastavení data projektu Plánovat od Datum zahájení Datum dokončení
1. Začátek práce na projektu Nejprve je třeba pečlivě promyslet všechny detaily projektu. Pouze bezchybné zadání úkolů a ovládání aplikace nezaručuje úspěch projektu jako takového, proto je přípravná fáze, Více Exponenciála matice a její užití. fundamentálních matic. Užití mocninných řad pro rovnice druhého řádu
1 Tutoriál č. 3 Exponenciála matice a její užití řešení Cauchyovy úlohy pro lineární systémy užitím fundamentálních matic. Užití mocninných řad pro rovnice druhého řádu 0.1 Exponenciála matice a její užití Více Státní maturita 2010 Maturitní generálka 2010 Matematika: didaktický test - základní úrove obtíºnosti MAGZD10C0T01 e²ené p íklady
Státní maturita 00 Maturitní generálka 00 Matematika: didaktický test - základní úrove obtíºnosti MAGZD0C0T0 e²ené p íklady Autor e²ení: Jitka Vachtová 6. b ezna 0 http://www.vachtova.cz/ Obsah Úloha Úloha. Více Analýza oběžného kola
Vysoká škola báňská Technická univerzita 2011/2012 Analýza oběžného kola Radomír Bělík, Pavel Maršálek, Gȕnther Theisz Obsah 1. Zadání... 3 2. Experimentální měření... 4 2.1. Popis měřené struktury... Více ČÁST PÁTÁ POZEMKY V KATASTRU NEMOVITOSTÍ
ČÁST PÁTÁ POZEMKY V KATASTRU NEMOVITOSTÍ Pozemkem se podle 2 písm. a) katastrálního zákona rozumí část zemského povrchu, a to část taková, která je od sousedních částí zemského povrchu (sousedních pozemků) Více I. Objemové tíhy, vlastní tíha a užitná zatížení pozemních staveb
I. Objemové tíhy, vlastní tíha a užitná zatížení pozemních staveb 1 VŠEOBECNĚ ČSN EN 1991-1-1 poskytuje pokyny pro stanovení objemové tíhy stavebních a skladovaných materiálů nebo výrobků, pro vlastní Více Matematický model kamery v afinním prostoru
CENTER FOR MACHINE PERCEPTION CZECH TECHNICAL UNIVERSITY Matematický model kamery v afinním prostoru (Verze 1.0.1) Jan Šochman, Tomáš Pajdla sochmj1@cmp.felk.cvut.cz, pajdla@cmp.felk.cvut.cz CTU CMP 2002 Více 1 Spo jité náhodné veli iny
Spo jité náhodné veli in. Základní pojm a e²ené p íklad Hustota pravd podobnosti U spojité náhodné veli in se pravd podobnost, ºe náhodná veli ina X padne do ur itého intervalu (a, b), po ítá jako P (X Více A. PODÍL JEDNOTLIVÝCH DRUHŮ DOPRAVY NA DĚLBĚ PŘEPRAVNÍ PRÁCE A VLIV DÉLKY VYKONANÉ CESTY NA POUŽITÍ DOPRAVNÍHO PROSTŘEDKU
A. PODÍL JEDNOTLIVÝCH DRUHŮ DOPRAVY NA DĚLBĚ PŘEPRAVNÍ PRÁCE A VLIV DÉLKY VYKONANÉ CESTY NA POUŽITÍ DOPRAVNÍHO PROSTŘEDKU Ing. Jiří Čarský, Ph.D. (Duben 2007) Komplexní přehled o podílu jednotlivých druhů Více 4. V p íprav odvo te vzorce (14) a (17) ze zadání [1].
FYZIKÁLNÍ PRAKTIKUM II FJFI ƒvut v Praze Úloha #4 Balmerova série Datum m ení: 28.4.2014 Skupina: 7 Jméno: David Roesel Krouºek: ZS 7 Spolupracovala: Tereza Schönfeldová Klasikace: 1 Pracovní úkoly 1. Více Algoritmy pro spojitou optimalizaci
Algoritmy pro spojitou optimalizaci Vladimír Bičík Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze 10.6.2010 Vladimír Bičík (ČVUT Praha) Algoritmy pro spojitou optimalizaci Více DeepBurner (testování UI)
ƒeské vysoké u ení technické v Praze Fakulta elektrotechnická Semestrální práce DeepBurner (testování UI) Blaºej, Friebel, Olexová, Volf P edm t: Testování uºivatelských rozhraní Obor: Softwarové inºenýrství Více Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018. 3. Reálná čísla
Moderní technologie ve studiu aplikované fyziky CZ..07/..00/07.008 3. Reálná čísla RACIONÁLNÍ A IRACIONÁLNÍ ČÍSLA Význačnými množinami jsou číselné množiny. K nejvýznamnějším patří množina reálných čísel, Více Příloha č. 7. ročník 9. 1h 1x za 14 dní. dotace. nepovinný. povinnost
Příloha č. 7 Seminář z matematiky V učebním plánu 2. druhého stupně se zařazuje nepovinný předmět Seminář z matematiky. V tematickém okruhu Čísla a početní operace na prvním stupni, na který navazuje a Více e²ení 5. série Binární kódy autor: Vlá a
e²ení 5. série Binární kódy autor: Vlá a Úloha 4.1. Na zah átí si dáme snadn j²í p íklad. Ur it zná² hru Myslím si íslo a to má vlastnost, je to velice podobné. Tedy mám binární lineární kód délky 5, který Více Skupina Testování obsahuje následující moduly: Síla a rozsah výběru, Testy a Kontingenční tabulka.
Testování Menu: QCExpert Testování Skupina Testování obsahuje následující moduly: Síla a rozsah výběru, Testy a Kontingenční tabulka. Síla a rozsah výběru Menu: QCExpert Testování Síla a rozsah výběru Více P O D M Í N K Y V Ý B
Městská část Praha 20 zveřejňuje ve smyslu 36 odst. 1 zákona č. 131/2000 Sb., o hl. m. Praze záměr prodat formou výběru pozemek parc.č. 4229/15, k. ú. Horní Počernice, a to za následujících podmínek: P Více 11 Soustavy rovnic a nerovnic, Determinanty a Matice
11 Soustavy rovnic a nerovnic, Determinanty a Matice (r zné typy soustav rovnic a nerovnic, matice druhy matic, operace s maticemi, hodnost matice, inverzní matice, Gaussova elimina ní metoda, determinanty Více P íprava projektové ádosti. Seminá PAAK - P íprava projekt
P íprava projektové ádosti Seminá PAAK - P íprava projekt Koncipování a tvorba projektu Obecné kroky p i tvorb projektu: Stanovení projektového zám ru Výb r vhodné oblasti podpory v rámci ROP SV Sb r a Více ízení Tvorba kritéria 2. prosince 2014
ízení. prosince 014 Spousta lidí má pocit, ºe by m la n co ídit. A n kdy to bývá pravda. Kdyº uº nás my²lenky na ízení napadají, m li bychom si poloºit následující t i otázky: ídit? Obrovskou zku²eností Více 170/2010 Sb. VYHLÁŠKA. ze dne 21. května 2010
170/2010 Sb. VYHLÁŠKA ze dne 21. května 2010 o bateriích a akumulátorech a o změně vyhlášky č. 383/2001 Sb., o podrobnostech nakládání s odpady, ve znění pozdějších předpisů Ministerstvo životního prostředí Více Národní park umava. 9. kv tna Hnutí Duha
Národní park umava 9. kv tna 2011 Hnutí Duha Hlavní cíle a metodika Hlavní cíle et ení Cílem výzkumu Factum Invenio bylo zjistit, jak ob ané R vnímají problematiku hypotetické výstavby lanovek a sjezdovek Více Výuka matematiky v 21. století na S technického typu Metodika - bude upravena po dokon ení testování modul v p ímé výuce
Výuka matematiky v 21. století na S technického typu Metodika - bude upravena po dokon ení testování modul v p ímé výuce ƒeské Bud jovice, 2014 Obsah 1 Popis problematiky 2 1.1 Úvod.................................. Více VYUŽITÍ NEURONOVÝCH SÍTÍ PROSTŘEDÍ MATLAB K PREDIKCI HODNOT NÁKLADŮ PRO ELEKTRICKÉ OBLOUKOVÉ PECE
VYUŽITÍ NEURONOVÝCH SÍTÍ PROSTŘEDÍ MATLAB K PREDIKCI HODNOT NÁKLADŮ PRO ELEKTRICKÉ OBLOUKOVÉ PECE V. Hon VŠB TU Ostrava, FEI, K455, 17. Listopadu 15, Ostrava Poruba, 70833 Abstrakt Neuronová síť (dále Více Osvětlovací modely v počítačové grafice
Západočeská univerzita v Plzni Fakulta aplikovaných věd Semestrální práce z předmětu Matematické modelování Osvětlovací modely v počítačové grafice 27. ledna 2008 Martin Dohnal A07060 mdohnal@students.zcu.cz Více Obec Jino any : 00241342,252 25 Jino any
Obec Jino any : 00241342,252 25 Jino any Oznámení zám ru V souladu s ust. 39 odst. 1 zákona. 128/2000 Sb. o obcích ve zn ní pozd jších p edpis oznamuje obec Jino any sv j zám r pronajmout tento nemovitý Více Novinky verzí SKLADNÍK 4.24 a 4.25
Novinky verzí SKLADNÍK 4.24 a 4.25 Zakázky standardní přehled 1. Možnosti výběru 2. Zobrazení, funkce Zakázky přehled prací 1. Možnosti výběru 2. Mistři podle skupin 3. Tisk sumářů a skupin Zakázky ostatní Více Zásady pro vypracování disertační práce Fakulty strojní VŠB-TUO
Účinnost dokumentu od: 1. 4. 2014 Fakulty strojní VŠB-TUO Řízená kopie č.: Razítko: Není-li výtisk tohoto dokumentu na první straně opatřen originálem razítka 1/6 Disertační práce je výsledkem řešení konkrétního Více 6. přednáška z předmětu GIS1 Souřadnicové systémy a transformace mezi nimi
6. přednáška z předmětu GIS1 Souřadnicové systémy a transformace mezi nimi Vyučující: Ing. Jan Pacina, Ph.D. e-mail: jan.pacina@ujep.cz Pro přednášku byly použity texty a obrázky od Ing. Magdaleny Čepičkové Více Státní maturita 2011 Maturitní testy a zadání jaro 2011 Matematika: didaktický test - základní úrove obtíºnosti MAMZD11C0T02 e²ené p íklady
Státní maturita 0 Maturitní testy a zadání jaro 0 Matematika: didaktický test - základní úrove obtíºnosti MAMZDC0T0 e²ené p íklady Autor e²ení: Jitka Vachtová 0. srpna 0 http://www.vachtova.cz/ Obsah Úloha Více Regresní analýza. Statistika II. Jiří Neubauer. Katedra ekonometrie FEM UO Brno kancelář 69a, tel. 973 442029 email:jiri.neubauer@unob.
Statistika II Katedra ekonometrie FEM UO Brno kancelář 69a, tel. 973 442029 email:jiri.neubauer@unob.cz Cíl regresní analýzy: stanovení formy (trendu, tvaru, průběhu) této závislosti pomocí vhodné funkce Více Předmětem dražby jsou nemovité věci ve vlastnictví povinného, a to:
Č.j. 198EX 13/06-121 Pův. sp. zn.: 59EX 13/06 Sp.zn.opr.: 1306 U s n e s e n í Mgr. Jaroslava Schafferová, soudní exekutor Exekutorského úřadu Brno venkov jmenovaný na základě rozhodnutí ministra spravedlnosti Více Matematická logika cvi ení 47
Matematická logika cvi ení 47 Libor B hounek www.cs.cas.cz/behounek/teaching/malog12 LS 2012/13, P F OU, 4.25. 3. 2013 Cvi ení 1. Posu te následující výroky z hlediska adekvátnosti dvojhodnotové sémantiky Více a m1 a m2 a mn zobrazení. Operaci násobení u matic budeme definovat jiným způsobem.
1 Matice Definice 1 Matice A typu (m, n) je zobrazení z kartézského součinu {1, 2,,m} {1, 2,,n} do množiny R Matici A obvykle zapisujeme takto: a 1n a 21 a 22 a 2n A =, a m1 a m2 a mn kde a ij R jsou její Více 3. NEZAMĚSTNANOST A VOLNÁ PRACOVNÍ MÍSTA
3. NEZAMĚSTNANOST A VOLNÁ PRACOVNÍ MÍSTA V České republice je nezaměstnanost definována dvojím způsobem: Národní metodika, používaná Ministerstvem práce a sociálních věcí (MPSV), vychází z administrativních Více Specifikace systému ESHOP
Nabídka: Specifikace systému ESHOP březen 2009 Obsah 1 Strana zákazníka 1 1.1 Nabídka produkt, strom kategorií..................... 1 1.2 Objednávka a ko²ík.............................. 1 1.3 Registrace Více Příprava na 1. čtvrtletní písemku pro třídu 1EB
Variace 1 Příprava na 1. čtvrtletní písemku pro třídu 1EB Autor: Mgr. Jaromír JUŘEK Kopírování a jakékoliv další využití výukového materiálu je povoleno pouze s uvedením odkazu na www.jarjurek.cz. 1. Číselné Více -1- N á v r h ČÁST PRVNÍ OBECNÁ USTANOVENÍ. 1 Předmět úpravy
Strana 6230 Sbírka zákonů č. 383 / 2009 Částka 124 383 VYHLÁŠKA ze dne 27. října 2009 o účetních záznamech v technické formě vybraných účetních jednotek a jejich předávání do centrálního systému účetních Více Algoritmizace a programování
Algoritmizace a programování V algoritmizaci a programování je důležitá schopnost analyzovat a myslet. Všeobecně jsou odrazovým můstkem pro řešení neobvyklých, ale i každodenních problémů. Naučí nás rozdělit Více POKYNY. k vyplnění přiznání k dani z příjmů fyzických osob za zdaňovací období (kalendářní rok) 2012
dz_12dpfo5405_19_pok.pdf - Adobe Acrobat Professional POKYNY k vyplnění přiznání k dani z příjmů fyzických osob za zdaňovací období (kalendářní rok) 2012 Pokyny k vyplnění přiznání k dani z příjmů fyzických Více VÝZVA. Česká republika-ministerstvo školství, mládeže a tělovýchovy (dále jen zadavatel) se sídlem Karmelitská 7, 118 12 Praha 1, IČ 00022985.
VÝZVA k podání nabídky na veřejnou zakázku malého rozsahu na službu dle 12 odst. 3 a 18 odst. 3 zákona č. 137/2006 Sb., o veřejných zakázkách, ve znění pozdějších předpisů (dále jen zákon ), Směrnice MŠMT, Více Lineární Regrese Hašovací Funkce
Hašovací Funkce Mgr. Rudolf B. Blažek, Ph.D. prof. RNDr. Roman Kotecký, DrSc. Katedra počítačových systémů Katedra teoretické informatiky Fakulta informačních technologií České vysoké učení technické v Více Základní stavební prvky algoritmu
Základní stavební prvky algoritmu Podmínka. Cyklus for, while, do-while. Funkce, metody. Přetěžování. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká Více ST2 - Cvi ení 1 STATISTICKÁ INDUKCE
ST2 - Cvi ení 1 STATISTICKÁ INDUKCE P íklad 1.1 Po et závad jistého typu elektrospot ebi e b hem záru ní doby má Poissonovo rozd lení s parametrem λ = 0,2. Jaká je pravd podobnost, ºe po prodeji 75 spot Více Návrh individuálního národního projektu. Podpora procesů uznávání UNIV 2 systém
Návrh individuálního národního projektu Podpora procesů uznávání UNIV 2 systém 1. Název projektu Podpora procesů uznávání UNIV 2 systém Anotace projektu Předkládaný projekt navazuje na výsledky systémového Více 5.2.1 Matematika povinný předmět
5.2.1 Matematika povinný předmět Učební plán předmětu 1. ročník 2. ročník 3. ročník 6. ročník 7. ročník 8. ročník 9. ročník 4 4+1 4+1 4+1 4+1 4 4 3+1 4+1 Vzdělávací oblast Matematika a její aplikace v Více Matematická analýza KMA/MA2I 3. p edná²ka Primitivní funkce
Matematická analýza KMA/MAI 3. p edná²ka Primitivní funkce Denice a základní vlastnosti P íklad Uvaºujme následující úlohu: Najd te funkci F : R R takovou, ºe F () R. Kdo zná vzorce pro výpo et derivací Více Zásady a podmínky pro poskytování dotací na program Podpora implementace Evropské charty regionálních či menšinových jazyků 2011
Zásady a podmínky pro poskytování dotací na program Podpora implementace Evropské charty regionálních či menšinových jazyků 2011 Článek 1 Úvodní ustanovení 1. Zásady a podmínky pro poskytování dotací na Více Interaktivní nástroj pro kreslení schémat logických obvod. Robert korpil. ƒeské vysoké u ení technické v Praze Fakulta elektrotechnická
ƒeské vysoké u ení technické v Praze Fakulta elektrotechnická ČVUT FEL katedra počítačů Bakalá ská práce Interaktivní nástroj pro kreslení schémat logických obvod Robert korpil Vedoucí práce: Ing. Petr Více ZATÍŽENÍ SNĚHEM A VĚTREM
II. ročník celostátní konference SPOLEHLIVOST KONSTRUKCÍ Téma: Cesta k pravděpodobnostnímu posudku bezpečnosti, provozuschopnosti a trvanlivosti konstrukcí 21.3.2001 Dům techniky Ostrava ISBN 80-02-01410-3 Více SMĚRNICE EVROPSKÉHO PARLAMENTU A RADY 2009/76/ES
L 201/18 Úřední věstník Evropské unie 1.8.2009 SMĚRNICE EVROPSKÉHO PARLAMENTU A RADY 2009/76/ES ze dne 13. července 2009 o hladině akustického tlaku kolových zemědělských a lesnických traktorů působícího Více 1 Matematické základy teorie obvodů
Matematické základy teorie obvodů Vypracoval M. Košek Toto cvičení si klade možná přemrštěný, možná jednoduchý, cíl dosáhnout toho, aby všichní studenti znali základy matematiky (a fyziky) nutné pro pochopení Více Čl. 3 Poskytnutí finančních prostředků vyčleněných na rozvojový program Čl. 4 Předkládání žádostí, poskytování dotací, časové určení programu
Vyhlášení rozvojového programu na podporu navýšení kapacit ve školských poradenských zařízeních v roce 2016 čj.: MSMT-10938/2016 ze dne 29. března 2016 Ministerstvo školství, mládeže a tělovýchovy (dále Více Česká zemědělská univerzita v Praze Fakulta provozně ekonomická. Obor veřejná správa a regionální rozvoj. Diplomová práce
Česká zemědělská univerzita v Praze Fakulta provozně ekonomická Obor veřejná správa a regionální rozvoj Diplomová práce Problémy obce při zpracování rozpočtu obce TEZE Diplomant: Vedoucí diplomové práce: Více D O P L Ň K O V Á P R A V I D L A. pro prodej bytových a nebytových jednotek z majetku města Děčína ve vybraných domech
D O P L Ň K O V Á P R A V I D L A pro prodej bytových a nebytových jednotek z majetku města Děčína ve vybraných domech (schváleno na zasedání Městského zastupitelstva v Děčíně dne 2. 7. 1998 usnesením Více Neuronová síť. x 2 x 3. σ j. x 4. x 5. Menu: QCExpert Prediktivní metody
Neuronová síť Menu: QCExpert Prediktivní metody Neuronová síť Neuronová síť (Artificial Neural Network, ANN, resp. NN) je velmi populární a výkonná metoda, která se používá k modelování vztahu mezi vícerozměrnou Více Metodika kontroly naplněnosti pracovních míst
Metodika kontroly naplněnosti pracovních míst Obsah Metodika kontroly naplněnosti pracovních míst... 1 1 Účel a cíl metodického listu... 2 2 Definice indikátoru Počet nově vytvořených pracovních míst... Více 7 Algebraické a nealgebraické rovnice a nerovnice v C. Numerické e²ení rovnic
7 Algebrické nelgebrické rovnice nerovnice v C. Numerické (typy lgebrických rovnic zákldní metody jejich e²ení lineární, kvdrtické, reciproké rovnice rovnice vy²²ích ád, rovnice nerovnice nelgebrické s Více Výuka matematiky v 21. století na S technického typu
Výuka matematiky v 21. století na S technického typu Obsah 1 Popis problematiky 2 1.1 Úvod.................................. 2 1.2 Didaktické zásady.......................... 3 2 Pouºití výukových modul Více PODMÍNKY VÝBĚROVÉHO ŘÍZENÍ
PODMÍNKY VÝBĚROVÉHO ŘÍZENÍ I. Vyhlašovatel výběrového řízení Vyhlašovatelem výběrového řízení je společnost ČEPS, a.s., se sídlem Elektrárenská 774/2, 101 52 Praha 10, IČ 25702556, DIČ CZ25702556, zapsaná Více Mechanismy. Vazby členů v mechanismech (v rovině):
Mechanismy Mechanismus klikový, čtyřkloubový, kulisový, západkový a vačkový jsou nejčastějšími mechanismy ve strojích (kromě převodů). Mechanismy obsahují členy (kliky, ojnice, těhlice, křižáky a další). Více Český úřad zeměměřický a katastrální vydává podle 3 písm. d) zákona č. 359/1992 Sb., o zeměměřických a katastrálních orgánech, tyto pokyny:
Český úřad zeměměřický a katastrální POKYNY Č. 44 Českého úřadu zeměměřického a katastrálního ze dne 20.12.2013 č.j. ČÚZK- 25637/2013-22, k zápisu vlastnictví jednotek vymezených podle zákona č. 72/1994 Více Základy zpracování obrazů
Základy zpracování obrazů Martin Bruchanov BruXy bruxy@regnet.cz http://bruxy.regnet.cz 23. března 29 1 Jasové korekce........................................................... 1 1.1 Histogram........................................................ Více DAŇOVÉ AKTULITY 2013. Daň z přidané hodnoty
DAŇOVÉ AKTULITY 2013 Po dlouhém období daňově lability v oblasti očekávání pro rok 2013 a následující došlo ke schválení kontroverzního daňového balíčku a dalších daňových zákonů a jejich zveřejnění ve Více na prodej nemovitosti objektu č.p. 9 - Chrudim VI. kolo(4)
1 KRAJSKÉ ŘEDITELSTVÍ POLICIE PARDUBICKÉHO KRAJE Ředitel krajského ředitelství policie č.j. KRPE-63189-2/ČJ-2015-1700VZ Pardubice dne 7. srpna 2015 Počet stran: 6 Vyhlašovatel: Česká republika - Krajské Více 7. Domy a byty. 7.1. Charakteristika domovního fondu
7. Domy a byty Sčítání lidu, domů a bytů 2011 podléhají všechny domy, které jsou určeny k bydlení (např. rodinné, bytové domy), ubytovací zařízení určená k bydlení (domovy důchodců, penziony pro důchodce, Více TROJFÁZOVÝ OBVOD SE SPOT EBI EM ZAPOJENÝM DO HV ZDY A DO TROJÚHELNÍKU
TROJFÁZOVÝ OBVOD E POT EBI EM ZAPOJENÝM DO HV ZDY A DO TROJÚHELNÍKU Návod do m ení Ing. Vít zslav týskala, Ing. Václav Kolá Únor 2000 poslední úprava leden 2014 1 M ení v trojázových obvodech Cíl m ení: Více Mikromarz. CharGraph. Programovatelný výpočtový měřič fyzikálních veličin. Panel Version. Stručná charakteristika:
Programovatelný výpočtový měřič fyzikálních veličin Stručná charakteristika: je určen pro měření libovolné fyzikální veličiny, která je reprezentována napětím nebo ji lze na napětí převést. Zpětný převod Více Oborové číslo Hodnocení - část A Hodnocení - část B Hodnocení - část A+B
PŘIJÍMACÍ TEST Z INFORMATIKY A MATEMATIKY NAVAZUJÍCÍ MAGISTERSKÉ STUDIUM V OBORU APLIKOVANÁ INFORMATIKA FAKULTA INFORMATIKY A MANAGEMENTU UNIVERZITY HRADEC KRÁLOVÉ ČÁST A Oborové číslo Hodnocení - část Více U S N E S E N Í. I. Elektronické dražební jednání se koná dne 10.12.2015 v 09:00:00 hodin, prostřednictvím elektronického systému dražeb na adrese:
Stránka 1 z 5 U S N E S E N Í JUDr. Vít Novozámský, soudní exekutor Exekutorského úřadu Brno-město se sídlem Bratislavská 73, 602 00 Brno-Město, Česká republika pověřený provedením exekuce, které vydal Více 4. Připoutejte se, začínáme!
4. Připoutejte se, začínáme! Pojďme si nyní zrekapitulovat základní principy spreadů, které jsme si vysvětlili v předcházejících kapitolách. Řekli jsme si, že klasický spreadový obchod se skládá ze dvou Více Výzva pro předložení nabídek k veřejné zakázce malého rozsahu s názvem Výměna lina
VÝCHOVNÝ ÚSTAV A ŠKOLNÍ JÍDELNA NOVÁ ROLE Školní 9, Nová Role, PSČ: 362 25, Tel: 353 851 179 Dodavatel: Výzva pro předložení nabídek k veřejné zakázce malého rozsahu s názvem Výměna lina 1. Zadavatel Výchovný Více na prodej nemovitosti pozemek p.č. 2511/39 k.ú. Pardubice IV. kolo(1)
1 KRAJSKÉ ŘEDITELSTVÍ POLICIE PARDUBICKÉHO KRAJE Ředitel krajského ředitelství policie č.j. KRPE-40795-2/ČJ-2016-1700VZ Pardubice dne 16. května 2016 Počet stran: 6 Vyhlašovatel: Česká republika - Krajské Více Vyhlášení opakované veřejné soutěže 1/6
Vyhlášení opakované veřejné soutěže 1/6 MINISTERSTVO OBRANY ČR SEKCE VYZBROJOVÁNÍ V Y H L Á Š E N Í OPAKOVANÉ VEŘEJNÉ SOUTĚŽE III. VE VÝZKUMU, VÝVOJI A INOVACÍCH NA VÝBĚR PROJEKTŮ DO PROGRAMU OBRANNÉHO Více Základní praktikum laserové techniky
Základní praktikum laserové techniky Fakulta jaderná a fyzikáln inºenýrská Úloha 4: Zna kování TEA CO 2 laserem a m ení jeho charakteristik Datum m ení: 1.4.2015 Skupina: G Zpracoval: David Roesel Kruh: Více U S N E S E N Í. D r a ž e b n í v y h l á š k u o provedení elektronické dražby nemovité věci
0998.0240283669 Exekutorský úřad Přerov soudní exekutor JUDr. Lukáš Jícha 750 02 Přerov, Komenského 38 tel: 588 003 999 fax: 588 003 990 e-mail: urad@eujicha.cz internet: www.eujicha.cz ID datové schránky: Více DUM 05 téma: Základy obsluha Gimp
DUM 05 téma: Základy obsluha Gimp ze sady: 02 tematický okruh sady: Bitmapová grafika ze šablony: 09 Počítačová grafika určeno pro: 2. ročník vzdělávací obor: 18-20-M/01 Informační technologie - Aplikace Více Příklad 1.3: Mocnina matice
Řešení stavových modelů, módy, stabilita. Toto cvičení bude věnováno hledání analytického řešení lineárního stavového modelu. V matematickém jazyce je takový model ničím jiným, než sadou lineárních diferenciálních Více MV ČR, Odbor egovernmentu. renata.horakova@mvcr.cz. Webové stránky veřejné správy - minimalizace jejich zranitelnosti a podpora bezpečnostních prvků
Návrh výzkumné potřeby státní správy pro zadání veřejné zakázky A. Předkladatel garant výzkumné potřeby Název organizace Ministerstvo vnitra Adresa Milady Horákové 133/ Kontaktní osoba Ing. Jaroslav Scheuba Více Makroekonomie I. Přednáška 2. Ekonomický růst. Osnova přednášky: Shrnutí výpočtu výdajové metody HDP. Presentace výpočtu přidané hodnoty na příkladě
Přednáška 2. Ekonomický růst Makroekonomie I Ing. Jaroslav ŠETEK, Ph.D. Katedra ekonomiky Osnova přednášky: Podstatné ukazatele výkonnosti ekonomiky souhrnné opakování předchozí přednášky Potenciální produkt Více Výchovné a vzdělávací strategie pro rozvoj klíčových kompetencí žáků
CVIČENÍ Z MATEMATIKY Charakteristika vyučovacího předmětu Obsahové, časové a organizační vymezení Předmět je realizován od 6. ročníku až po 9. ročník po 1 hodině týdně. Výuka probíhá v kmenové učebně nebo Více 2 Trochu teorie. Tab. 1: Tabulka pˇrepravních nákladů
Klíčová slova: Dopravní problém, Metody k nalezení výchozího ˇrešení, Optimální ˇrešení. Dopravní problém je jednou z podskupin distribuční úlohy (dále ještě problém přiřazovací a obecná distribuční úloha). Více 2017 © DocPlayer.cz Ochrana osobních údajů | Podmínky obsluhování | Kontaktní formulář

References: zákona č. 131
 zákona č. 137
 Čl. 3
 Čl. 4
 zákona č. 359
 zákona č. 72