Rozklad tvaru kmitu osovo symetrickeho akustickeho menica do rady Gaussovych funkcii

Podobné dokumenty
2.5. Dotyčnica krivky, dotykový kužeľ. Nech f je krivka a nech P V (f) (t.j. m P (f) 1). Ak m P (f) = r a l je taká priamka, že I P (f, l) > r, potom

NÁVRH UČEBNÝCH OSNOV PRE 1

Pokrocilé programovanie XI - Diagonalizácia matíc

Informačné technológie

Teória pravdepodobnosti Zákony velkých císel

Matematický model činnosti sekvenčného obvodu 7 MATEMATICKÝ MODEL ČINNOSTI SEKVENČNÉHO OBVODU Konečný automat predstavuje matematický model sekvenčnéh

Matematika 2 - cast: Funkcia viac premenných

O možnosti riešenia deformácie zemského povrchu z pohladu metódy konecných prvkov konference pro studenty matematiky

Tue Oct 3 22:05:51 CEST Začiatky s jazykom C 2.1 Štruktúra programu Štruktúra programu by sa dala jednoducho popísať nasledovnými časťami, kto

Úvodná prednáška z RaL

1 Portál pre odborné publikovanie ISSN Heuristický adaptívny PSD regulátor založený na miere kmitavosti Šlezárová Alexandra Elektrotechnika

9.1 MOMENTY ZOTRVACNOSTI \(KVADRATICKÉ MOMENTY\) A DEVIACNÝ MOMENT PRIEREZU

A 1

Microsoft Word - skripta3b.doc

Microsoft Word - Transparencies03.doc

PowerPoint Presentation

8

bakalarska prezentacia.key

Preco kocka stací? - o tom, ako sú rozdelené vlastné hodnoty laplasiánu v limite, ked sú velké

Slide 1

MO_pred1

Microsoft Word - Argumentation_presentation.doc

Prenosový kanál a jeho kapacita

Genetické algoritmy

Klasická metóda CPM

Operačná analýza 2

Úvod do lineárnej algebry Monika Molnárová Prednášky 2006

Informačná a modelová podpora pre kvantifikáciu prvkov daňovej sústavy SR

Inteligentné rozhodovacie systémy Heuristické prehľadávanie SP Október, 2018 Katedra kybernetiky

Operačná analýza 2

NSK Karta PDF

III. Diferenciálny počet funkcie viac premenných (Prezentácia k prednáškam, čast B) Matematická analýza IV (ÚMV/MAN2d/10) RNDr. Lenka Halčinová, PhD.

Microsoft Word - Final_test_2008.doc

8 Cvičenie 1.1 Dokážte, že pre ľubovoľné body X, Y, Z platí X + Y Z = Z + Y X. 1.2 Dokážte, že pre ľubovoľné body A, B, D, E, F, G afinného priestoru

STRUČNÝ NÁVOD KU IP-COACHU

SRPkapitola06_v1.docx

Microsoft Word - mpicv11.doc

4. Pravidlo ret azenia. Často sa stretávame so skupinami premenných, ktoré zložitým spôsobom závisia od iných skupín premenných. Pravidlo ret azenia p

Snímka 1

Centrum vedecko-technických informácií, Odbor pre hodnotenie vedy, Oddelenie pre hodnotenie publikačnej činnosti Vyhľadávanie a práca so záznamami - C

Základné stochastické procesy vo financiách

STRUČNÝ NÁVOD KU IP-COACHU

Cvičenie 9 Riešené príklady 1. Príklad min f(x 1, x 2 ) = x x x 1 s.t. x 1 80 x 1 + x Pre riešenie úlohy vykonáme nasledujúce kroky

Funkcie viac premenných

Microsoft PowerPoint - OOP_prednaska_10.pptx

Paralelné algoritmy, cast c. 3

Microsoft Word - Zaver.pisomka_januar2010.doc

Microsoft Word - 6 Výrazy a vzorce.doc

Metódy dokazovanie v matematike 1 Základné pojmy Matematika exaktná veda vybudovaná DEDUKTÍVNE ZÁKLADNÉ POJMY základy každej matematickej teórie sú in

Paralelné algoritmy, cast c. 2

enum

Operačná analýza 2

Pocítacové modelovanie - Šírenie vln v nehomogénnom prostredí - FDTD

Microsoft Word - Algoritmy a informatika-priesvitky02.doc

Prezentace aplikace PowerPoint

Microsoft Word - 06b976f06a0Matice - Uzivatelska Dokumentacia

gis5 prifuk

Slide 1

Snímka 1

SocialInsects

Ohyb svetla

Metrické konštrukcie elipsy Soňa Kudličková, Alžbeta Mackovová Elipsu, ako regulárnu kužeľosečku, môžeme študovať synteticky (konštrukcie bodov elipsy

Študijný program (Študijný odbor) Školiteľ Forma štúdia Téma Elektronické zbraňové systémy (8.4.3 Výzbroj a technika ozbrojených síl) doc. Ing. Martin

trafo

Vzorové riešenia úlohy 4.1 Bodovanie Úvod do TI 2010 Dôvod prečo veľa z Vás malo málo bodov bolo to, že ste sa nepokúsili svoje tvrdenia dokázať, prič

Snímka 1

FYZIKA I Rámcove otázky 1998

Relačné a logické bázy dát

1. KOMPLEXNÉ ČÍSLA 1. Nájdite výsledok operácie v tvare x+yi, kde x, y R. a i (5 2i)(4 i) b. i(1 + i)(1 i)(1 + 2i)(1 2i) (1 7i) c. (2+3i) a+bi d

Neineárne programovanie zimný semester 2018/19 M. Trnovská, KAMŠ, FMFI UK 1

Microsoft PowerPoint - Paschenov zakon [Read-Only] [Compatibility Mode]

Snímka 1

Microsoft Word - 16.kapitola.doc

Priebeh funkcie

Ďalšie vlastnosti goniometrických funkcií

Aplikace matematiky- záverečná práca Juraj Bodík 28. septembra 2017 Definície Žena - objekt ohodnotený celým číslom. Každé dve ženy sa dajú porovnat a

Didaktické testy

Pokrocilé spracovanie obrazu - Fourierová transformácia

Siete vytvorené z korelácií casových radov

9. kapitola Maticová algebra II systém lineárnych rovníc, Frobeniova veta, Gaussova eliminačná metóda, determinanty 1. Systém lineárnych rovníc Systém

Trendy a inovatívne prístupy v podnikových procesoch 2015, roč. 18 Trends and Innovative Approaches in Business Processes 2015, Vol. 18 MOŽNOSTI VYUŽI

Pokrocilé programovanie II - Nelineárne iteracné schémy, chaos, fraktály

1

1 Priebeµzné písomné zadanie µc.1. Príklady je potrebné vypoµcíta t, napísa t, a odovzda t, na kontrolu na nasledujúcej konzultácii. Nasledujúce integ

Vybrané kapitoly zo štatistickej fyziky - domáce úlohy Michal Koval 19. mája 2015 Domáca úloha č. 1 (pochádza z: [3]) Systém pozos

Tomáš Jelínek - včely vyhľadávanie

Microsoft Word - Diskusia11.doc

Slovenská technická univerzita Fakulta informatiky a informačných technológií Ilkovičova 3, Bratislava 4 Bc. Peter Bartalos Simulované žíhanie

NSK Karta PDF

ECDL Syllabus V50 SK-V01

Microsoft Word - FRI”U M 2005 forma B k¾úè.doc

Úlohy: Inteligentné modelovanie a riadenie model MR mobilný robot s diferenciálnym kolesovým podvozkom 1. Vytvorte simulačnú schému pre snímanie tréno

Skúšanie zámkov lopatiek turbín

Autoregresné (AR) procesy Beáta Stehlíková Časové rady, FMFI UK Autoregresné(AR) procesy p.1/22

Podpora metód operačného výskumu pri navrhovaní systému liniek doc. RNDr. Štefan PEŠKO, CSc. Katedra matematických metód, Fa

Analýza sociálnych sietí Geografická lokalizácia krajín EU

Verejná konzultácia k článku 18 Nariadenia Komisie (EÚ) 2017/2195, ktorým sa ustanovuje usmernenie o zabezpečovaní rovnováhy v elektrizačnej sústave P

Diracova rovnica

Zadanie_1_P1_TMII_ZS

Prepis:

Bakalárska práca F3 České vysoké učení technické v Praze Fakulta elektrotechnická Katedra fyziky Rozklad tvaru kmitu osovo symetrického akustického meniča do rady Gaussových funkcií Multiple-Gaussian-Function Expansion of the Vibration Pattern of an Axisymmetric Acoustic Transducer Adam Beňo Kybernetika a Robotika benoadam@fel.cvut.cz December 3 Vedúci práce: Ing. Milan Červenka, Ph.D.

Poďakovanie Rád by som touto cestou vyjadril poďakovanie Ing. Milanovi Červenkovi, Ph.D. za jeho cenné rady, čas a trpezlivosť pri vedení mojej bakalárskej práce. Tiež by som rád poďakoval svojim rodíčom, nielen za materiálnu, ale aj za psychickú podporu počas celej dĺžky môjho štúdia. / Prehlásenie Prehlasujem, že som svoju bakalársku prácu vypracoval samostatne a použil som len podklady (literatúru, projekty, SW a pod.) uvedené v priloženom zozname. iii

Abstrakt Cieľom mojej bakalárskej práce je navrhnúť a vytvoriť program v jazyku C++ pre rozklad funkcie, ktorá popisuje tvar kmitu rovinného, osovo symetrického akustického meniču do radu Gaussových funckií a pre zvolene distribúcie nájsť koeficienty tohoto rozkladu. Na nájdenie koeficientov rozkladu využívam variantu heuristického algoritmu typu Evolučné stratégie pri ktorom na vykonávanie čiastkových numerických výpočtov využívam funkcie z knižnice Numerical Recipes. / Abstract The goal of this Bachelor s thesis is to design and implement a program in C++ for decomposition of a function into series of Gaussian functions and to find coefficients of this expansion. Function describes a shape of planar, axisymmetric acoustic transducer. To find the coefficients of the decomposition, the Evolution strategy variant of the heuristic algorithm is used, applying functions from the Numerical Recipes library for the partial mathematical calculations. iv

Obsah / Fyzikálny popis problému.... Helmholtzova rovnica.... Reyleighov integrál....3 Fresnelova aproximácia v Reyleighovom integrále...3.4 Aproximácia radou Gaussových funkcií...4.5 Výpočet koeficientov Gaussových funkcií...4 Optimalizácia...6. Úvod...6. Numerické výpočtové techniky.. 7.3 Enumeratívne algoritmy...7.4 Deterministické algoritmy...7.5 Stochastické algoritmy...8.6 Kombinované algoritmy...8 3 Evolučné algoritmy... 3. Úvod... 3. Základná terminológia... 3.. Jedinec... 3.. Populácia... 3..3 Generácia... 3..4 Evolúcia... 3.3 Spoločné rysy... 3.4 Varianty evolučných algoritmov... 3 3.4. Gradientný algoritmus... 3 3.4. Simulované žíhanie... 4 4 Implementácia riešenia pomocou evolučných stratégií... 5 4. Všeobecný popis... 5 4. Reprezentácia funkcie... 5 4.. Prvý spôsob riešenia... 5 4.. Druhý spôsob riešenia... 6 4.3 Reprezentácia algoritmu... 7 4.3. Kríženie... 7 4.3. Implementácia stratégie (µ, λ) ES... 8 4.3.3 Implementácia stratégie (µ + λ) ES... 5 Rozklad... 3 5. Popis programu... 3 5. Popis rozkladu... 4 5.3 Rozklad f(x) = x H( r). 5 5.3. Dimenzia n=4... 5 5.3. Dimenzia n=3... 6 5.3.3 Dimenzia=4... 7 5.4 Rozklad f(x) = ( x ) H( r)... 9 5.4. Dimenzia=4... 9 5.4. Dimenzia n=3... 3 5.4.3 Dimenzia n=4... 3 5.5 Rozklad f(x) = H( x)... 3 5.5. Dimenzia n=4... 3 5.5. Dimenzia n=3... 33 5.5.3 Dimenzia n=4... 35 5.6 Rozklad f(x) = e x8... 36 5.6. Dimenzia n=4... 36 5.6. Dimenzia n=3... 37 5.6.3 Dimenzia n=4... 39 5.7 Rozklad f(x) = e x6... 4 5.7. Dimenzia n=4... 4 5.7. Dimenzia n=3... 4 5.7.3 Dimenzia n=4... 4 5.8 Rozklad f(x) = e x3... 43 5.8. Dimenzia n=4... 43 5.9 Záver... 45 Literatura... 46 v

Tabuľky 4.. Parametre (µ, λ) ES... 4.. Parametre (µ, λ) ES... 5.. Parametre (µ, λ) ES... 4 5.. Koeficienty f(x) = x H( r) dimenzia n=4... 5 5.3. Koeficienty f(x) = x H( r) dimenzia n=3... 7 5.4. Koeficienty f(x) = x H( r) dimenzia n=4... 8 5.5. Koeficienty f(x) = ( x ) H( r) dimenzia n=4... 9 5.6. Koeficienty f(x) = ( x ) H( r) dimenzia n = 3... 3 5.7. Koeficienty f(x) = ( x ) H( r) dimenzia n=3... 3 5.8. Koeficienty f(x) = H( x)q dimenzia n=4... 33 5.9. Koeficienty f(x) = H( x) dimenzia n=3... 34 5.. Koeficienty f(x) = H( r) dimenzia n=4... 35 5.. Koeficienty f(x) = e x8 dimenzia n=4... 36 5.. Koeficienty f(x) = e x8 dimenzia n=3... 38 5.3. Koeficienty f(x) = e x8 dimenzia n=4... 39 5.4. Koeficienty... 4 5.5. Koeficienty f(x) = e x6 dimenzia n=4... 4 5.6. Koeficienty f(x) = e x6 dimenzia n=4... 4 5.7. Koeficienty f(x) = e x3 dimenzia n=4... 44 5.8. Záverečné parametre... 45 / Obrázky.. Rayleighov integrál..... Nemecko...6.. Eratosthenovo sito...8 3.. Diagram evolučného algoritmu... 3.. Horolezecký algoritmus... 3 3.3. Simulované žíhanie... 4 4.. Kríženie dvoch jedincov... 8 4.. Rekombinácia bez rodičov... 9 4.3. Griewankova funkcia... 4.4. ES griewankova funkcia... 4.5. Rekombinácia s rodičmi... 4.6. ES keep griewankova funkcia.. 5.. Vívin hodnôt... 4 5.. aproximacia f(x) = x H( r) dimenzia n=4... 6 5.3. Vypočet integralu f(x) = x H( r)dimenzia n=4. 6 5.4. aproximacia f(x) = x H( r) dimenzia n=3... 7 5.5. Vypočet integralu f(x) = x H( r)dimenzia n=3. 7 5.6. aproximacia f(x) = x H( r)q dimenzia n=4... 8 5.7. Vypočet integralu f(x) = x H( r)dimenzia n=4. 8 5.8. aproximacia f(x) = ( x ) H( r) dimenzia n=4... 9 5.9. Vypočet integralu f(x) = ( x ) H( r) dimenzia n=4... 3 5.. aproximacia f(x) = ( x ) H( r) dimenzia n = 3... 3 5.. Vypočet integralu f(x) = ( x ) H( r) dimenzia n=3... 3 5.. aproximacia f(x) = ( x ) H( r) dimenzia n=4... 3 5.3. Vypočet integralu f(x) = ( x ) H( r) dimenzia n=4... 3 5.4. aproximacia f(x) = H( r) dimenzia n=4... 33 5.5. Vypočet integralu f(x) = H( r) dimenzia n=4... 33 vi

vii 5.6. aproximacia f(x) = H( r) dimenzia n=3... 34 5.7. Vypočet integralu f(x) = H( r) dimenzia n=3... 34 5.8. aproximacia f(x) = H( r) dimenzia n=4... 35 5.9. Vypočet integralu f(x) = H( r) dimenzia n=4... 36 5.. aproximacia f(x) = e x8 dimenzia n=4... 37 5.. Vypočet integralu f(x) = e x8 dimenzia n=4... 37 5.. aproximacia f(x) = e x8 dimenzia n=3... 38 5.3. Vypočet integralu f(x) = e x8 dimenzia n=3... 38 5.4. aproximacia f(x) = e x8 dimenzia n=4... 39 5.5. Vypočet integralu f(x) = e x8 dimenzia n=4... 4 5.6. aproximacia f(x) = e x6 dimenzia n=4... 4 5.7. Vypočet integralu f(x) = e x6 dimenzia n=4... 4 5.8. aproximacia f(x) = e x6 dimenzia n=3... 4 5.9. Vypočet integralu f(x) = e x6 dimenzia n=3... 4 5.3. aproximacia... 43 5.3. ES keep griewankova funkcia.. 43 5.3. aproximacia f(x) = e x3 dimenzia n=4... 44 5.33. Vypočet integralu f(x) = e x3 dimenzia n=4... 44

Kapitola Fyzikálny popis problému. Helmholtzova rovnica Zvukové pole v tekutinách najčastejšie popisujeme pomocou akustického tlaku p, ktorý je definovaný ako rozdiel celkového tlaku p a rovnovážneho tlaku p, teda p (r, t) = p(r, t) p, () kde r je polohový vektor daného bodu a t je čas. Aj keď rovnovážny tlak môže všeobecne závisieť na polohe a pomaly sa meniť s časom, na tomto mieste budeme predpokladať, že je konštantný. K popisu šírenia zvukových vĺn v tekutinách používame vlnovú rovnicu, viď napr. [ ], ktorá má tvar p = p c t, () kde symbol reprezentuje Laplaceov operátor a c je rýchlosť zvuku. Rovnica () platí za predpokladu, že akustický tlak nadobúda len malé hodnoty v porovnaní s rovnovážnym tlakom, p p, ďalej, že môžeme zanedbať disipáciu akustickej energie v dôsledku tepelnej vodivosti a viskozity a za predpokladu, že tekutinu, v ktorej sa zvuk šíri, môžeme považovať za homogénnu. Pre rýchlosť zvuku v ideálnom plyne môžeme napísať, viď napr. [ ] c = γp ρ, (3) kde γ je adiabatický exponent a ρ je rovnovážna hustota prostredia (plynu). Pri popise zvuku hrajú veľmi dôležitú úlohu harmonické zvukové polia, kedy sa akustický tlak v čase mení harmonicky p (r, t) = p (r) cos[ωt φ(r)], (4) kde ω je kruhový kmitočet a φ(r) je fáza. Popis harmonických zvukových polí veľmi zjednodušuje zavedenie komplexných veličín tzv. komplexorov. V prípade vzťahu (4) tak môžeme napísať p (r, t) = R[ p (r, t)], kde p (r, t) = p (r)e j[ωt φ(r)] = p (r)e jφ(r) e jωt = ˆp (r)e jωt, (5) kde R( ) je reálna časť argumentu a ˆp (r) = p (r)e jφ(r)

. Fyzikálny popis problému... je tzv. fázor akustického tlaku. Ak dosadíme vzťah (5) do vlnovej rovnice (), prejde do tvaru ˆp + k ˆp =, (6) kde k = ω/c je vlnové číslo. Rovnica (6) je tzv. Helmholtzova rovnica pre fázor akustického tlaku. V technickej praxi sú najčastejšími zdrojmi zvuku vibrujúce objekty, nech už sa jedná o nežiadúci zvuk generovaný strojnými zariadeniami, alebo (žiadúci) zvuk generovaný pomocou elektroakustických meničov. Výpočet zvukového poľa generovaného vibrujúcimi objektami je tak z technického hľadiska nesmierne praktickou, užitočnou a dôležitou úlohou. K tomuto účelu je možné použiť Helmholtzvou rovnicu spolu s príslušnými okrajovými podmienkami. Z matematického hľadiska sa jedná o veľmi komplikovanú úlohu, kedy sa riešenie Helmholtzovej rovnice hľadá pomocou numerických metód. Obrázok.. Obrázok k Rayleighovmu integrálu.. Reyleighov integrál U niektorých jednoduchšších úloh je možné hľadať riešenie Helmholtzovej rovnice výpočtom integrálu. Typickým príkladom je výpočet zvukového poľa generovaného rovinným kmitajúcim zdrojom (meničom) zasadeným do nekonečne tuhej steny vyžarujúcim do nekonečného polopriestoru, viď obrázok.. Fázor akustického tlaku môžeme vypočítať pomocou tzv. Rayleighovo integrálu, viď napr. [ ] v tvare ˆp (x, y, z) = jkρ c π ˆv n (x S, y ) e jkl dx dy, (7) l

....3 Fresnelova aproximácia v Reyleighovom integrále kde ˆv n reprezentuje fázor normálovej zložky vektoru rýchlosti kmitania zdroja, S jeho povrch a l = (x x ) + (y y ) + z (8) je vzdialenosť medzi plošným elementom zdroja ds = dx dy, ležiacom na súradnici r = (x, y, ) a bodom r = (x, y, z), v ktorom je zvukové pole počítané. Presné analytické riešenie integrálu (7) je známe napríklad pre zvukové pole v osi kruhového piestovo kmitajúceho meniča o polomere a, pre ktorého fázor rýchlosti kmitania môžeme písať { vn pre x ˆv n (x, y) = + y a pre x + y > a Pre amplitúdu akustického tlaku p = ˆp môžeme nájsť riešenie, viď [], v tvare p = ρ c v n sin k a + z kz. (9).3 Fresnelova aproximácia v Reyleighovom integrále Analytické riešenie integrálu (7) je známe len pre niekoľko jednoduchých prípadov. Z tohoto dôvodu pre všeobecné použitie pristupujeme k jeho aproximácii. V tzv. Fresnelovej aproximácii, viď napr. [3], aproximujeme v argumente exponenciály vzdialenosť (8) pomocou vzťahu ( ) x x ( ) y y l = z + + = = z [ + (x x ) z + (y y ) z +... kde bol použitý Taylorov rozvoj z z ] z + (x x ) + b = + b +..., z + (y y ), () z z ktorého boli zachované len prvé dva členy. Je teda zrejmé, že Fresnelova aproximácia je použitelná len za predpokladu, že platí (x x ) + (y y ) z. Táto táto podmienka je teda najlepšie splnená vo väčšej vzdialenosti od zdroja zvuku a blízko jeho osi. V rámci Fresnelovej aproximácie aproximujeme vzdialenosť l v menovateli integrálu (7) vzťahom l z, ktorý je opäť dobre splnený vo väčších vzdialenostiach od zdroja a blízko jeho osi. Dosadením príslušných aproximácií do vzťahu (7) teda dostaneme ˆp (x, y, z) = jkρ c e jkz ˆv n (x, y ) exp πz S { [ (x x ) jk + (y y ) ]} dx dy. z z () Integrál () nachádza v akustike použitie v prípadoch, keď platí ka ef, kde a ef je efektívny polomer meniča, kedy zvukové pole je veľmi smerové, je sústredené v blízkosti osi zdroja a tvorí tzv. zvukový zväzok. 3

. Fyzikálny popis problému....4 Aproximácia radou Gaussových funkcií Integrál () je možné vypočítať analyticky za predpokladu, že fázor rýchlosti kmitania zdroja má kruhovú symetriu, teda ˆv n (x, y) = ˆv n ( x + y ) = ˆv n (r) a že ho podľa [4 5] aproximujeme radou Gaussových funkcií ˆv n (r) v n g(r), kde g(r) = N A i e Bir /a, () i= kde a je polomer zdroja, koeficienty A i a B i sú komplexné čísla a R(B i ). Dosadením vzťahu () do integrálu () dostaneme ˆp (x, y, z) = jkρ c v n e jkz πz N { [ A i e Bi(x +y )/a (x x ) exp jk z i= = jkρ c v n e jkz N A i exp [ B ix πz i= a jk (x x ) z exp [ B iy a jk (y y ) ] dy. (3) z + (y y ) ]} dx dy = z ] dx Pretože platí ) exp [ B ix a jk (x x ) ] ( πz dx = a z B i z + jka exp jkbi x ) B i z + jka, môžeme vzorec (3) prepísať do tvaru ˆp (x, y, z) = jka ρ c v n e jkz N i= [ A i B i z + jka exp jkb i(x + y ] ) B i z + jka. (4) Vzťah (4) predstavuje približný analytický vzorec pre výpočet fázoru akustického tlaku vyžarovaného osovo symetrickým zdrojom, ktorého platnosť je podmienená platnosťou predpokladov Fresnelovej aproximácie. Aby tento vzorec bolo možné používať, je potrebné pre dané rozloženie fázoru rýchlosti kmitania zdroja zvuku vypočítať príslušné koeficienty A i, B i..5 Výpočet koeficientov Gaussových funkcií Za účelom nájdenia koeficientov A i, B i najskôr funkciu popisujúcu fázor rýchlosti kmitania zdroja znormujeme do tvaru ) Integrál bol vypočítaný za pomoci programu Maple. f(r) = ˆv n(r/a) v n (5) 4

....5 Výpočet koeficientov Gaussových funkcií a koeficienty A i, B i budeme hľadať tak, aby platilo f(r) N A i e Bir (6) i= pre dané N. Tohto môžeme dosiahnuť, viď [4], minimalizáciou funkcie Q = Q(A, B,..., A N, B N ) = N f(r) A i e Bir dr, (7) kedže funkcia f(r) spravidla nadobúda nenulové hodnoty na intervale, a Gaussove funkcie pre R(B i ) > rýchlo konvergujú k nule, stačí hornú hranicu integrálu obmedziť na nejakú rozumnú hodnotu r max. Hľadanie minima funkcie (7) predstavuje opitimalizačný problém na 4N-dimenzionálnom priestore reálnych čísel. i= 5

Kapitola Optimalizácia. Úvod V technickej a vedeckej praxi sa mnohokrát stretávame s problémami, v ktorých je potrebné nájsť najvhodnejšie riešenie z množstva rôznych možností. Ilustračným príkladom z technickej praxe môže byť napríklad nájdenie optimálnej cesty robota, najvhodnejšie nastavanie konštánt regulátora, či nastavenie parametrov rýchlosti výrobnej linky. Problémy však nemusia byť len z čisto technickej oblasti. Rovnako v ekonómii sa často stretávame s úlohami, kde je potrebné nájsť vhodné parametre v závislosti na požadovanom výsledku. Ako príklad môžme uviesť stanovenie ceny tovaru pri požiadavke maximálneho zisku, keď berieme do úvahy systémové parametre, napr. výrobná cena tovaru a odhadovaná kúpyschopnosť zakazníka. Asi najznámejším problémom v oblasti optimalizácie je problém obchodného cestujúceho, viď obrázok.. Situáciu môžme zadefinovať takto: Nech máme N miest a nech je z každého možnosť dostať sa do ľubovoľne iného priamo alebo cez iné mesto. Nech každá cesta medzi mestami má svoju hodnotu (číslo vyjadrujúce cenu, vzdialenosť, atď... ). Náš cieľ je prejsť všetky mestá a vrátiť sa do východiskového bodu tak, aby výsledná suma hodnôt bola čo najnižšia. Obrázok.. Modrá čiara predstavuje optimálnu cestu navštívenia 5 najväčších miest v Nemecku. [6] Všetky tieto úlohy je možné zadefinovať ako matematické problémy. Daný problém má väčšinou formu matematickej funkcie, ktorej optimalizácia vedie k nájdeniu argumentov optima a teda riešenia daného problému. Optimum problému môže pre nás predstavovať lokálny či globálny extrém funkcie. Spôsoby hľadania extrému môžme rozdelit do dvoch skupín, a to: 6

.... Numerické výpočtové techniky. analytické,. numerické. Prvá skupina, analytické riešenia, je v technickej praxi často nepoužiteľná, a to kôli svojej všeobecnosti a prílišnej zložitosti. Práve preto v praxi používame riešenia založené na numerických metódach.. Numerické výpočtové techniky V dnešnej dobe, vďaka relatívnej dostupnosti výpočtovej sily, predstavujú numerické metódy silné a rýchlo sa rozvíjajúce odvetvie optimalizačných techník. Rozdeliť by sme ich mohli do troch základných skupín: enumeratívne, deterministické, stochastické..3 Enumeratívne algoritmy Enumeratívne algoritmy predstavujú síce najjednoduchší, no z hľadiska optimalizácie a časovej a výpočtovej náročnosti, najnevhodnejší postup. Algoritmus prehľadáva všetky možné stavy, ktoré môžu nastať a spomedzi nich vyberie najvhodnejší. Výhoda takéhoto algoritmu je, že nachádza konečné a najlepšie možné riešenie spomedzi všetkých daných. V praxi však nastávajú situácie, keď počet riešení nie je známy alebo je riešení tak astronomicky veľké číslo, že by výpočtový čas na súčasných prostriedkoch trval nezmyselne dlhú dobu (doba zániku slnečnej sústavy a pod...)..4 Deterministické algoritmy Termínom deterministický algoritmus označujeme algoritmus postavený striktne na metódach klasickej matematiky. Algoritmus vždy vytvorí za rovnakých vstupných podmienok rovnaké výstupné hodnoty, a teda ho môžme nazvať predvídateľný. Taktiež ho môžme rozdeliť na jednotlivé kroky, pričom z každého kroku je vždy presne a jasne definovaný další krok na základe predom danej podmienky. Formálne môžme algoritmus zadefinovat ako matematickú funkciu, ktorá ma vždy konkrétnu funkčnú hodnotu (výstup algoritmu) pre dané argumenty (vstup algoritmu). Deterministické algoritmy, podobne ako algoritmy enumeratívne, vyžadujú značne obmedzené predpoklady na to, aby dosiahly efektívne výsledky. Niektoré z uvedených predpokladov sú: - problém je lineárny, - prehľadávaný priestor možných riešení je malý a súvislý, - sú dostupné informácie o gradiente v danom bode, - je k dispozícii analytická definícia problému. Príkladom problému deterministického algortimu je test prvočíselnosti pomocou Eratosthenoveho sita, viď napr. [7 8]. Príklad implementácie môže vyzerať nasledovne.: void sieveoferatosthenes(int upperbound){ bool * sieve = new bool[upperbound]; for(int i = ; i < upperbound; i ++){ sieve[i] = false; 7

. Optimalizácia... } } //true == je zložené číslo //false == je prvocislo sieve[] = sieve[] = true; //nula a jedna niesú prvočísla for(int i = ; i <= sqrt((double)upperbound); i++){ if(sieve[i] == true) continue; for(int j = *i; j < upperbound; j += i){ sieve[j] = true; //nemôže byť z definície prvočíslom } //(je násobkom iného cisla) } printsieve(sieve, upperbound); //na záver vypíšeme prvočísla delete[] sieve; Obrázok.. Implementácia Eratosthenoveho sita v jazyku C++. Na začiatku prehlásime všetky čísla až n za prvočísla. a) zoberieme prvé prvočíslo () a vyradíme všetky jeho násobky, b) zoberieme v poradí ďalšie prvočíslo a opäť vyradíme všetky jeho násobky, c) opakujeme krok b dovtedy, kým neprídeme k číslu n, ktoré buď prehlásime za prvočíslo alebo ho vyškrtneme ako násobok predošlého čísla Tento postup nájde všetky prvočísla pre zadanú hornú hranicu, no pre veľké čísla sa asymptotická zložitosť algoritmu mení podľa vzťahu O(n log(log n)), kde n je horná hranica. Práve preto sa tento deterministický algoritmus stáva nepoužiteľným pre veľké čísla a je potrebné hľadať iné riešenia. Vhodnou alternatívou sa ukazujú byť Stochastické metódy založené na teórii pravdepodobnosti a náhodných procesoch..5 Stochastické algoritmy Stochastické algoritmy sú založené na princípe využitia náhodných veličín. Metóda vyhodnocuje náhodné argumenty účelovej funkcie a následne, najlepšia nájdená funkčná hodnota, pri stanovení podmienky skončenia algoritmu, je určená za výsledok programu. Čiste stochastické metódy sú veľmi pomalé, neefektívne a k vhodným výsledkom sa dopracujú len za veľmi vymedzených podmienok. Preto v praxi často dochádza k ich kombinácii s deterministickými metódami. Ako príklad môžme uviesť evolučné algoritmy kombinujúce v sebe uvedené vlastnosti..6 Kombinované algoritmy Kombinované alebo zmiešané algoritmy tvoria skupinu silne efektívnych metód, ktoré kombinujú výhody deterministických a stochastických prístupov a naopak potlačujú ich negatívne vlastnosti. Medzi ich hlavné charakteristiky môžme spomenúť: - nevyžadujú čiste analytický popis problému, - je potrebná len malá miera počiatočných informácií, - často krát su schopné hľadat efektívne riešenia v reálnom čase, tam kde deterministické metodý zlyhávajú, - náhodnosť v tomto prípade nie je použitá úplne bezhlavo, ale vhodným usmernením za pomoci determinizmu sa algoritmus stáva silne efektívny. 8

....6 Kombinované algoritmy Skupinu metód, ktoré v sebe zahŕňajú vyššie zmieňované vlastnosti, nazývame Evolučné výpočtové techniky. V nasledujúcej kapitole rozoberieme tieto metódy podrobnejšie, spolu s rôznymi variantmi implementácií. 9

Kapitola 3 Evolučné algoritmy 3. Úvod Modernou, silne efektívnou a rýchlo sa rozvíjajúcou podmnožinou numerických metód sú evolučné algoritmy. Princípy evolučných techník sú inšpirované prírodnými zákonitosťami, ktoré v 9. storočí popísal Charles Darwin vo svojom diele Pôvod druhov. ). Darwinova teória evolúcie je založená na princípoch variability jednotlivých jedincov. Medzi týmito variantmi prirodzene existujú jedinci, ktorí su viac prispôsobení prostrediu, než ostatní. Z toho vyplýva, že títo jedinci majú väčšiu pravdepodobnosť prežitia v danom prostredí a teda vyššiu šancu mať potomstvo. Toto potomstvo bude mať v dôsledku dedičnosti podobné vlastnosti vyhovujúce danému prostrediu. Vďaka tejto charakteristike evolúcie, zastúpenie variántov vyhovujúcich danému prostrediu, bude v každej dalšej generácií vyššie, než zastúpenie variántov, ktoré prostrediu nevyhovujú. Tento mechanizmus evolúcie nazývame prirodzeným vývinom populácie. Obdobným spôsobom môžme postupovať pri vytváraní evolučných algoritmov. Základná možná schéma jednotlivých krokov evolučného algoritmu je zachytená na obrázku 3. Postup jednotlivých krokov môžme rozpísať, viď napr. [9], nasledovne:. Vymedzenie parametrov evolúcie: pre každý beh algoritmu musia byť definované parametre, ktoré riadia beh algoritmu, alebo ho regulárne ukončia, ak sú naplnené predom stanovené kritériá ukončenia (napr. počet generácií či dosiahnutie požadovanej hodnoty). Súčastou tohoto bodu je i stanovanie účelovej funkcie, prípadne tzv. vhodnosti (fitness). Účelovou funkciou sa rozumie obvykle matematický model problému, ktorého nájedenie extrému vedie k riešeniu problému. Táto funkcia s prípadnými obmedzujúcimi podmienkami je akýmsi ekvivalentom životného prostredia, v ktorom sa vyhodnocuje kvalita aktuálnych jedincov.. Generovanie prvej populácie (population - všeobecne matica N M, kde N je počet parametrov jedinca): podľa počtu optimalizovaných argumentov účelovej funkcie a užívateľských kritérií je vygenerovaná prvotná populácia tzv. jedincov (individuals). Jedincom sa rozumie vektor čísel, ktorý má toľko zložiek, koľko je optimalizovaných parametrov účelovej funkcie. Tieto zložky sú nastavené náhodne a každý jedinec tak predstavuje jedno možné konkrétne riešenie problému. Množine jedincov hovoríme populácia (population). 3. Všetci jedinci sa ohodnotia pomocou definovanej účelovej funkcie a každému z nich sa priradí: - buď priama hodnota vrátená účelovou funkciou, - alebo vhodnosť, čo je upravená (obvykle normalizovaná) hodnota účelovej funkcie. 4. Nastáva výber rodičov podľa ich kvality (funkčnej hodnoty), prípadne i podľa ďalších kritérií. ) Charles Darwin: On the Origin of Species, 859

... 3. Základná terminológia Definícia parametrov (riadiace a ukončovacie parametre) Generovanie prvotnej náhodnej populácie Naplenenie novej populácie najlepšími jedincami -riešením Náhrada starej populácie novou Ohodnotenie kvality jedincov pomocou účelovej funkcie Výber najlepšich jedincov z popuácie rodičov a potomkov Výber rodičov podľa ich kvality či iných kritérií Ohodnotenie kvality potomkov Mutácia potomkov Tvorba nových potomkov Evolučný cyklus Obrázok 3.. Základný cyklus evolučného algoritmu. 5. Krížením rodičov sa tvoria potomkovia. Proces kríženia je u každého algoritmu odlišný. V klasických genetických algoritmoch sú prehodené časti rodičov, v diferenciálnej evolúcii je kríženie istou vektorovou operáciou, a pod.. 6. Každý potomok je zmutovaný (mutation). Inak povedané, nový jedinec je pozmenený pomocou vhodného náhodného procesu. Tento krok je ekvivalentom biologickej mutácie génov jedinca. 7. Každý nový jedinec sa ohodnotí rovnako ako v kroku 3. 8. Vybraní najlepší jedinci sa použijú ako rodičia pre novú generáciu. 9. Stará populácia je zlikvidovaná a na jej miesto nastupuje populácia nová a pokračuje sa opäť krokom 4. 3. Základná terminológia Evolučné algoritmy majú niekoľko spoločných rysov a spoločných termínov. Medzi základne charakteristiky popisujúce evolučné algortimy patria: - jedinec, - generácia, - evolúcia. 3.. Jedinec

3. Evolučné algoritmy... Základná stavebná jednotka evolučného algoritmu je jedinec. V obvyklom ponímaní predstavuje jedinec vektor N argumentov a následnú funkčnú hodnotu z nich vyočítanú. Vektor argumentov može obsahovať rôzne numerické dátové typy reálnych či celých čísel (integer, double,... ). Taktiež môže obsahovať nenumerické hodnoty (napr. boolean hodnotu true či false), táto reprezentácia si však vyžaduje použitie špeciálnych techník. 3.. Populácia Vektor M jedincov v jednej generácii nazývame populácia. Jedince v populácii majú väčšinou rad spoločných vlastností, ako napríklad počet argumentov alebo niektoré spoločné konštanty, či premenné ovplivňujúce vývin v jednotlivých generáciách. 3..3 Generácia Pri procese evolučného vývinu sa cyklicky obmieňajú jedince v populácii. Jednu takúto zmenu populácie a následné vyhodnotenie funkčných hodnôt jej jedincov nazývame generácia. V evolučnom procese sa cyklicky obmieňajú parametre jedincov jednotlivých generácií tak, aby sa našlo riešenie čo najviac vyhovujúce zadanej podmienke. Všetky zmeny parametrov podliehajú prísne matematicky definovaným pravidlám vývoja. To, o aké pravidlá ide a ako su definované, záleží na jednotlivých typoch evolučných algoritmov. 3..4 Evolúcia Evolúciou či evolučným procesom nazývame vývin všetkých generácií od prvotného nástrelu náhodných argumentov v prvej generácii až po splnenie podmienky na zastavenie a ukončenie vývoja v poslednej generácii. Môže sa stať, že priestor, v ktorom prehľadávame, obsahuje mnoho lokálnych miním. V takýchto prípadoch je vhodné spustiť celé evolúcie viackrát, čím vygenerujeme mnoho počiatočnych náhodnych nástrelov a znížime pravdepodobnosť uviaznutia v lokálnom extréme. 3.3 Spoločné rysy Medzi základné rovnaké charakteristiky evolučných algoritmov patrí napríklad: - jednoduchosť a relatívne nenáročná implementácia v progamovacom jazyku; - hybridnosť. Algoritmy dokážu pracovať s rôznymi typmi čísel (integer, real,... ); - používanie čísel v dekadickom vyjadrení. Pri obvyklom použití v genetických algoritmoch je potrebné jedinca vyjadriť v binárnom kóde. Postupnosť núl a jednotiek vyjadrujúcich jedinca sa v tomto prípade nazýva chromozóm. Pri prevode do binárneho kódu však nastávajú skreslenia čísel zapríčinené obmedzenou dĺžkou reprezentujúceho reťazca. Rovnako mutácia čísla v binárnom kóde môže znamenť skokovú zmenu čísla v dekadickom vyjadrení a tým výrazne negatívne ovplivniť priebeh celej evolúcie. Preto možnosť pracovať priamo s dekadickými hodnotami je jedným z výrazných kladov evolučných metód. - rýchlosť. Evolučné algoritmy sú zvlášt v porovnaní s klasickými deterministickými metódami rýchlejšie pri hľadaní požadovaného výsledku, pri multimodálnych funkciách. ) - viacnásobné riešenie. Pri funkciách s viacnásobnými extrémami môžme očakávať, že algoritmus tieto extrémy objaví. Konečný zoradený priebeh najlepších riešení môžme považovať za riešnia daného problému s rozdielnou kvalitou. ) Multimodálna funkcia je funkcia obsahujúca viacero lokálnych extrémov.

... 3.4 Varianty evolučných algoritmov 3.4 Varianty evolučných algoritmov 3.4. Gradientný algoritmus Gradientný algoritmus tiež nazývaný horolezecký algoritmus ) je jedným z najjednoduchších evolučných algoritmov. y x, x x3 x x-min x, - prvotný nástrel - vygenerovaný náhodný susedia - nájdené minimum - skutočné minimum x-min x Obrázok 3.. Obrázok k horolezeckému algoritmu. Popis algoritmu môžme zapísať v nasledujúcich krokoch:. Na začiatku vygenerujeme náhodným rovnomerným rozdelením prvotnú množinu jednicnov M = {x, x,..., x n } a určíme najlepšieho jednca.. Presunieme sa do tohoto bodu a vygenerujeme susedných jedincov, určíme ich funkčné hodnoty a ak je funkčná hodnota niektorého jedinca lepšia než súčasná nájedená minimálna hodnota, presúvame sa do tohoto bodu ( if f(x k ) < min min = f(x k ) ), ak nieje, generujeme susedov zo súčasného jedinca znova 3. Bod opakujeme pokým nieje splnená ukončovacia podmienka (naplnenie počtu iterácií, nájedenie požadovanej hodnoty,... ). Ako môžeme vidieť z obázku 3., ak použijeme horolezecký algoritmus pri multimodálnej funkcii, hrozí riziko uviaznutia v jednom z lokálnych extrémov funkcie. Pri opakovaných iteráciách už algoritmus nemení svoje minimum a je fixovaný v lokálnom extréme. ) ang. Hill-climbing 3

3. Evolučné algoritmy... 3.4. Simulované žíhanie Simulované žíhanie je metóda, ktorú nezávisle na sebe objavili S. Krikpatrick, C. Gelatt, M. Vecch a V. Černý, viď napr. []. Metóda patrí medzi stochastické algoritmy a postup tejto metódy je inšpirovaný fyzikálnym procesom žíhania. Žíhanie je proces, pri ktorom rozhorúčené teleso pomalým ochladzovaním odstraňuje svoje defekty vnútorných štruktúr. Význam pojmu energia je z hľadiska algoritmu funkcia, ktorej minimum hľadáme. Teplota predstavuje v systéme konštantu, pomocou ktorej určíme veľkosť zmeny nového kroku, a teda to, s akou pravdpodobnosťou sme schopní prijať horšie riešenie. Na začiatku algoritmus vykonáva veľké zmeny, čím predchádza uviaznutiu v lokálnom extréme [9]. Postupne sa systém ochladzuje a ustáľuje. Chovanie algoritmu sa na konci podobá horolezeckému algoritmu. T = T s=s T>T final áno vráť s nie s=metropolis(s,t) T=alfa T Obrázok 3.3. Vývojový diagram simulovaného žíhania. Jednoduché znázornenie simulovaného žíhania možme vidieť na obrázku 3.3. - Na začiatku zvolíme teplotu T a vygenerujeme náhodný stav s. - Na vygnerovanie nového stavu systému použijeme algoritmus Metropolis. - Postupným znižovaním teploty T i+ = αt i sa ochladzovanie spomaľuje, môžme teda hodnoty α obemdziť intervalom, 8 < α <. 4

Kapitola 4 Implementácia riešenia pomocou evolučných stratégií 4. Všeobecný popis Evolučná stratégia je evolučná výpočtová technika vyvinutá v šesťdesiatych rokoch v Nemecku, vedcami P. Bienertom, I. Rachenbergom, H. P. Schwefelom. [9]. Vtedajším zámerom bolo vytvoriť algoritmus na riešenie problémov z oblasti strojárstva. Pri používaní pojmov evolučný a genetický algoritmus dochádza často k ich stotožnovaniu. Avšak, genetické algoritmy sú podmnožinou evolučnych metód. Hlavné znaky odlišujúce vtedajšie evolučné algoritmy od genetických sú: - v evolučných stratégiach definujeme jedinca v obore reálnych čísel, naproti tomu v genetických algoritmoch sa jedná o binárnu formu reprezantácie, - evolučné stratégie poznali len operácie mutácie a selekcie jedincov, operácie kríženia neboli používané. Evolučné stratégie sa delia na niekoľko možných variánt. Pri značení, o aký typ stratégie ide, budeme používat syntax:,, +, λ, µ, kde µ predstavuje potomkov a λ označujeme rodičov v populácii. Zápis (λ+µ) ES označuje typ stratégie, kde sa do nasledujúcej generácie vyberajú najlepší jedinci spomedzi potomkov aj rodičov, kdežto zápis (λ, µ) ES predstavuje výber najlepších jedincov do novej populácie len z množiny potomkov. 4. Reprezentácia funkcie 4.. Prvý spôsob riešenia Pri reprezentácii funkcie Q = Q(A, B,..., A N, B N ) = N f(x) A k e B kr dx, v programe som z výpočtových dôvodov upravil funkciu nasledovným spôsobom. Suma, ktorou aproximujeme zadanú funkciu, vyzerá takto f(x) = N k= A k e B kx, k= kde koeficienty A k a B k majú svoju reálnu a imaginárnu časť A k = ar k + jai k 5

4. Implementácia riešenia pomocou evolučných stratégií... teda B k = br k + jbi k, N (ar k + jai k )e (br k+jbi)x. k= Výsledok rozpíšeme na reálnu a imaginárnu časť +j N k= { N k= e x br k [ ark cos ( x bi k ) + aik sin ( x bi k )] e x br k [ aik cos ( x bi k ) ark sin ( x bi k )] }. Pomocou tejto sumy môžme aproximovať nejakú funkciu f(x), ktorá je reálna. Koeficienty ar k, ai k, br k, bi k hľadáme tak, že hľadáme minimum výrazu Q = + { { N f(x) k= N k= 4.. Druhý spôsob riešenia e x br k [ ark cos ( x bi k ) + aik sin ( x bi k )] } e x br ( ai k cos ( x bi k ) ark sin ( x bi k )) } dx. Vychádzame z toho, že funkcia f(x), ktorú aproximujeme radou Gaussových funkcií f(x) N A k e x B k k= je reálna. To môžme priamo vynútiť nasledujúcim spôsobom. Napríklad pre prvú exponenciálu platí A e Bx = (ar + jai )e x (br +jbi ) = = (ar + jai )[cos(x bi ) j sin(r bi )]e x br = = e x br {[ar cos(x bi ) + ai sin(x bi )]} + j{[ai cos(x bi ) ar sin(x bi )]}, takže môžme A voliť ako komplexne združené čislo k A, a teda A = A = ar jai a analogicky B = B = br jbi, takže dostávame A e Bx = (ar jai )e x (br jbi ) = = (ar jai )[cos(x bi ) + j sin(r bi )]e x br = = e x br {[ar cos(x bi ) + ai sin(x bi )]} j{[ai cos(x bi ) ar sin(x bi )]}. 6

... 4.3 Reprezentácia algoritmu Ak posledné dva výrazy sčítame, dostaneme A e Bx + A e Bx = = e x br [ar cos(x bi ) + ai sin(x bi )], z toho vidíme že výsledok je rýdzo reálny. Funkciu je teda možné aproximovať sumou N/ f(x) e x br k [ar k cos(x bi k ) + ai k sin(x bi k )]. k= Koeficienty ar k, ai k, br k, bi k hľadáme opäť minimalizáciou tentokrát funkcie = Q (A, B,..., A N/, B N/ ) = N/ f(x) e x br k [ar k cos(x bi k ) + ai k sin(x bi k )] dx, k= kde platí ar i IR a ai k, br i, bi k. K nájdeným N/ koeficientom pridáme ďalších N/ združených a všetky koeficienty použijeme vo vzorci f(x) = N k= A k e B kx. 4.3 Reprezentácia algoritmu V moderných evolučných stratégiách je jedinec reprezentovaný, viď napr. [], vektorom reálnych čísel x = (x, x,..., x n ), kde každý prvok x i vektora predstavuje jeden z argumentov jedinca. Každý jedinec tiež obsahuje parameter σ, ktorý predstavuje smerodatnú odchýlku Gaussovho náhodného rozdelenia. Táto odchýlka môže byť v rôznych stratégiách rôzne interpretovaná. V najjednoduchšej verzii evolučných stratégií má celý algoritmus jednu konštantne danú σ, pomocou ktorej sa postupne mutujú jedince v jednotlivých generáciách. V modernejších variantách evolučných stratégií a tiež v implementácii riešenia, ktoré volíme, sa σ vyvíja spolu s jedincom. V každej generácii je smerodatná odchýlka pre daného jedinca zmenená pomocou parametra τ, ktorý sa nastaví v počiatočných podmienkach algoritmu. 4.3. Kríženie Krížením nazývame operáciu v evolučnom vývoji, ktorá pomáha zabraňovať uviaznutiu algoritmu v lokálnom extréme funkcie. Jeden z možných postupov kríženia, viď napr. [], môžme popísať nasledovne: - vyberieme rodičov potomka, - argumenty potomka (x,..., x n ) získame nahodným výberom jednotlivých argumentov z rodičov, - sigmu potomka, označujeme σ, získame aritmetickým priemerom sigiem rodičov a následnou mutáciou σ = σ + σ 7

4. Implementácia riešenia pomocou evolučných stratégií... σ = σ e (τ N(,)), kde N(, ) je náhodné číslo z Gaussovo rozdelenia pravdepodobnosti. - vybrané argumenty do nového jedinca zmutujeme práve získanou σ x i = x i + σ N i (, ) Proces kríženia je načrtnutý na obrázku 4.. ) J x_ x_ x_n s J x_ x_ x_n s J x_ x_ x_n s= s+s x'_ x'_ x'_n=x_n+s' N(,) x'_n s'= s e^(t N(,)) Obrázok 4.. Kríženie jedinca, ktoré sme použili v algoritme. 4.3. Implementácia stratégie (µ, λ) ES Stratégia, ktorú značíme (µ, λ) ES, znamená, že pri naplnení každej novej generácie používame len potomkov vzniknutých z rekombinácie a kríženia rodičov. Samotných predkov pritom po každej generácii vyraďujeme. Takáto stratégia je menej náchylná na uviaznutie v lokálnom extréme než stratégia so zachovaním rodičov. Na druhej strane, tento algoritmus neuchováva automaticky najlepšie riešenia, a teda nepostupuje k výsledku tak priamočiaro ako stratégia (µ + λ) ES. Náčrt priebehu algoritmu môžme vidieť na obŕázku 4.. ) V obrázkoch z technických dôvodov značíme smerodatnú odchylku σ písmenom s, x n označuje n-tý argument jedinca, výraz j i predstavuje i-teho jedinca v populácii, N(,) označuje Gaussovo rozdelenie s nulovou strednou hodnotou a jednotkovou smerodatnou odchylkou a N(min,max) je náhodne číslo s rovnomerným pravdepodobnostným rozdelením z intervalu min, max 8

... 4.3 Reprezentácia algoritmu J_i[x_n]=N(min,max) J_ J_ J_i s=konst /m naj Triedenie J_ najlepší J_ jedinec...... J_i najhorší jedinec Rekombinácia J_ J_...... J_i Triedenie Obrázok 4.. Proces rekombinácie bez zachovania rodičov. Jednotlivé kroky sú:. V prevej generácii dostane každý jedinec vygenerované argumenty z rovnomerného náhodného rozdelenia v zadanom intervale hodnôt.. V dalšom kroku sa tieto jedince utriedia podľa kvality. Následne zvolíme počet rodičov. Empiricky je zistené, že dobrá voľba je tzv. pravidlo /7, viď napr. [], ktoré ako rodičov určuje /7 najlepších jedincov z predchádzajúcej populácie. 3. Z množiny rodičov sa následne náhodným spôsobom vyberajú jedinci, ktorí sa vždy dvaja medzi sebou krížia, viď obr.?? a takto sa zaplní celá nová populácia. 4. Pokračujeme krokom a cyklicky opakujeme postup až do splnenia podmienky ukončenia algoritmu. Demonštráciu použitia si môžme ukázať na Griewankovej funkcii. Táto funkcia má predpis ( ) n f(x,..., x n ) = + x i 4 i= n i= ( ) xi cos i a jej zobrazenie v dvojdimenzionálnom priestore je na obrázku 4.3 () 9

4. Implementácia riešenia pomocou evolučných stratégií... Obrázok 4.3. Multimodálna Griewankova funkcia. Ako z vidíme z obrázku 4.3 funkcia je multimodálna, a teda obsahuje mnoho lokálnych extrémov, preto je vhodné použiť algoritmus evolučných stratégií. Priebeh hľadania minima znázorňuje graf 4.4 Zavislost funkcnej hodnoty na pocte generacii 4 6 funkcna hodnota jedinca 8 4 6 8 5 5 5 3 35 4 45 5 Generacia Obrázok 4.4. Vývin najlepšieho jedinca v jednotlivých generáciách.

... 4.3 Reprezentácia algoritmu V algoritme som implementoval mechanizmus ukončenia evolúcie pri splnení podmienky indikujúcej uviaznutie v lokálnom minime, no v tomto prípade bol zámerne vypnutý. V hornej časti grafu teda môžme vidieť pár priebehov evolúcií, ktoré aj napriek kríženiu uviazli v lokálnom extréme. Štatisticky sa tomuto javu nedá nikdy vyhnúť, no vhodnou konfiguráciou parametrov sa dá tento nežiadúci efekt výrazne obmedziť. Hodnoty parametrov algoritmu uvádzame v tabulke 4.. parametre algoritmu hodnoty dimenzia počet jedincov počet rodičov 3 počet generácií 5 počet evolúcií počiatočný σ parameter. τ parameter. počet dosiahnutí globálneho minima 73 Tabuľka 4.. Parametre algoritmu (µ, λ) ES pri hľadaní globálneho minima Griewankovej funkcie. 4.3.3 Implementácia stratégie (µ + λ) ES Označenie (µ + λ) ES nesie varianta evolučných stratégií, ktorá v procese rekombinácie nevyraďuje rodičov ako stratégia (µ, λ) ES, ale do ďalšej generácie vyberá nových rodičov spomedzi predkov a potomkov zároveň. Táto varianta má bližšie ku gradientnému algoritmu, a teda je viac náchylná na uviaznutie v lokálnom extréme. Náčrt algoritmu môžme vidiet na obrázku 4.5. J_i[x_n]=N(min,max) J_ J_ J_i s=konst /m naj Triedenie J_ najlepší J_ jedinec...... J_i najhorší jedinec Rekombinácia J_ najlepší jedinec...... J_...... J_i Triedenie Obrázok 4.5. Proces rekombinácie so zachovaím rodičov.

4. Implementácia riešenia pomocou evolučných stratégií... Jednotlivé kroky môžme analogicky, no s miernou obmenou popísať nalsedovne:. V prevej generácii dostane každý jedinec vygenerované argumenty z rovnomerného náhodného rozdelenia v zadanom intervale hodnôt.. V dalšom kroku sa tieto jedince utriedia podľa kvality. Následne zvolíme počet rodičov, opäť môžme použiť pravidlo /7. 3. Množina rodičov sa presunie do novovznikajúcej generácie a zostávajúce miesto sa doplní rekombináciou roďičov. 4. Nasleduje triedenie a pokračujeme krokom. Opäť cyklicky opakujeme postup až do splnenia podmienky ukončenia algoritmu. Príklad vývinu takéhoto algoritmu si môžme ukázať na vyššie uvedenej Griewankovej funkcii, viď vzťah (). Zavislost funkcnej hodnoty na pocte generacii 3 4 funkcna hodnota jedinca 5 6 7 8 9 5 5 5 3 35 4 45 5 Generacia Obrázok 4.6. Vývin najlepšieho jedinca v jednotlivých generáciách. Ako vidíme na grafe 4.6 variant so zachovaním rodičov je oveľa náchylnejší na uviaznutie v lokálnom extréme. To je dôvodom prečo sme na riešenie rozkladu funkcie (7) do radu Gaussových funkcií použili variantu (µ, λ) ES. parametre algoritmu hodnoty dimenzia počet jedincov počet rodičov 3 počet generácií 5 počet evolúcií počiatočný σ parameter. τ parameter. počet dosiahnutí globálneho minima 5 Tabuľka 4.. Parametre algoritmu (µ + λ) ES pri hľadaní globálneho minima Griewankovej funkcie.

Kapitola 5 Rozklad 5. Popis programu Na implementáciu algoritmu evolučné stratégie, variant (µ, λ) ES a variant (µ + λ) ES, som použil jazyk C++ a jeho objektovo orientovanú formu. Základom algoritmu sú triedy Jedinec, Generacia a Evolucia. Trieda Jedinec v sebe uchováva argumenty jedinca, σ parameter, τ parameter a funkčné hodnoty. Samotný jedinec ďalej obsahuje metódy na mutáciu argumentov, mutáciu σ parametru, metódu na počiatočné naplnenie číslami z rovnomerného náhodného rozdelenia a metódu na spočítanie funkčnej hodnoty z aktuálnych argumentov. Trieda Generácia v sebe obsahuje metódy na naplnenie sa jedincami, utriedenie jednicov, skríženie dvoch jedincov, viď obr. 4., ďalej metódy ovplivňujúce samotný variant algoritmu, a teda rekombináciu do novej generácie bez zachovania rodičov, metóda skrizgeneraciuwithoutparents a rekombináciu so sachovaním rodičov skrizgeneraciukeepparents. Obe metódy v sebe implementuju knižnicu openmp a jej makro # pragma, ktoré sa stará o paralelizáciu procesu vyhodnocovania jednotlivých jedincov. Trieda Evolucia v sebe obsahuje dve hlavné metódy ktorými sa v main nastavuje beh algoritmu. Odkomentovaním či zakomentovaním - ev.vyvincrossevolutionwithoutparents(nahrr,nahnr) // variant (µ, λ) ES - ev.vyvincrossevolutionkeepparents(nahrr,nahnr) // variant (µ + λ) ES môžme zvoliť variant evolučných stratégií a priebeh algoritmu. V triede Evolúcia je tiež implementované zastavenie evolúcie, keď začne na základe splnenia podmienky Q n+ Q Q n < konst., kde Q n je funkčná hodnota najlepšieho jedinca v n-tej generácii, pracovať deterministický algoritmus použitý z knižnice Numerical Recipes. Taktiež sú knižnice z tejto edície implementované pri využívaní dielčích matematických úkonov. Jedným z nich je numerická integrácia vzťahu (7). Tento výraz je implementovaný pomocou troch tried, a to - rozklad_aproximacnyfunktor - rozklad_sumafunktor - rozklad_integralsumy. V triede rozklad_aproximacnyfunktor definujeme funkciu f(x) zo vzťahu (7), trieda Suma zabezpečuje vyhodnotenie sumy a trieda rozklad_integral celý výraz integruje. Kôli možnosti dosadenia rôznych funkcií do triedy rozklad_aproximacnyfu.., implementoval som 5 rôznych numerických integračných metód ktoré sa pomerne jednoducho spustia odkomentovaním či zakomentovaním príslúšnej metódy. Sú to napríklad: - //vysledok=qromb(sumaftor,...); // (Rombergova metoda) 3

5. Rozklad... - //vysledok=qtrap(sumaftor,...); // (zakladna lichobeznikova metoda) Priebeh vývinu najlepšieho jedinca pre funkciu f(x) = x H( x) dosadenú do výrazu (7) môžme vidieť na grafe 5.. Zavislost funkcnej hodnoty na pocte generacii funkcna hodnota 3 4 5 6 3 Generacia Obrázok 5.. Vývin najlepšieho jedinca v jednotlivých generáciách. V algoritme bola použitá podmienka zastavenia evolučného algoritmu a zaverečné dohľadanie pomocou deterministického algoritmu. Použité parametre evolučného algoritmu sú: parametre algoritmu hodnoty dimenzia 4 počet jedincov 5 počet rodičov 5 počet generácií 3 počet evolúcií počiatočný σ parameter. τ parameter. Tabuľka 5.. Parametre algoritmu (µ, λ) ES. 5. Popis rozkladu Na demonštráciu rozkladu funkcie popisujúcej tvar kmitu osovo symetrického akustického meniča sme zvolili nasledujúce aproximované funkcie f(x) = x Heaviside( x), f(x) = ( x ) Heaviside( x), f(x) = Heaviside( x), 4

................................ 5.3 Rozklad f(x) = x H( r) f(x) = e x8, f(x) = e x6, f(x) = e x3. Každú z vyššie uvedených funkcií sme dosadili do vzťahu Q = Q(A, B,..., A N, B N ) = N f(x) A k e B kr dx a následným použitím algoritmu evolučných stratégií (µ, λ) ES sme našli minimá tejto multimodálnej funkcie, ktoré boli dosadené ako koeficienty rozvoja do rady Gaussových funkcií, viď vzťah (6). V nalsedujúcich podkapitolách uvádzame priebeh aproximovanej a aproximačnej funkcie. Ako praktickú ukážku použitia nájdených rozkladov uvádzame výpočet amplitudy normovaného akustického tlaku-numerický výpočet pomocou Rayleighovho integrálu (7), vydelený výrazom x c v n. Výpočet sa vykonáva v polárnich súradniciach zvlášt pre reálnu a zvlášt pre imaginárnu zložku. Z grafu vidno, že aproximácia nefunguje dobre pre malé hodnoty z v blízkosti zdroja. Použité fyzikálne konštanty sú nasledovné: - rýchlosť zvuku vo vzduchu - polomer zdroja - frekvencia zdroja - vlnové číslo c = 345m s, a =.5m, f z = khz, k = πf z /c = 8.333 k= - parameter ka, viď kapitolu (.3), Fresnelova aproximácia. ka = 9, 665665 5.3 Rozklad f(x) = x H( r) 5.3. Dimenzia n=4 Nájdené minimum Q = 4.8937 5 A koeficienty B koeficienty A =, 578838 + I(, 7449) B = 3, 3657 + I( 8, 775) A =, 58 + I(, 93853) B = 4, 5376 + I(3, 865) A 3 =, 759 + I(, 594) B 3 = 3, 9884 + I(, 347) A 4 =, 3365 + I(, 9788) B 4 = 3, 3837 + I( 7, 73) A 5 =, 4969 + I(, 7489) B 5 = 4, 359 + I(7, 486) A 6 =, 5384 + I(, 4737) B 6 = 5, 7453 + I(9, 886) Tabuľka 5.. Koeficienty rozkladu pre funkciu f(x) = x H( r) 5

5. Rozklad....8.6.4..5.5 r Aproximovana f. Re cast aproximacnej f. Im cast aproximacnej f. Obrázok 5.. Aproximácia f(x) = x H( r) pre dimenziu n = 4...8.6.5 z Analyticky vypocet (4).5 Numericky vypocet (7) Obrázok 5.3. Porovnanie výpočtu-analyticky, pomocou aproximácie, viď (4) a numericky- Rayleighiov inegrál, viď (7). Dimenzia n = 4. 5.3. Dimenzia n=3 Nájdené minimum Q = 4, 45648 5 A koeficienty B koeficienty A =, 4 + I(, 547) B = 3, 759 + I( 6, 35958) A =, 96769 + I(, 369) B = 4, 858 + I( 7, 354) A 3 =, + I(, 54989) B 3 = 4, 946 + I(4, 56) A 4 =, 4344 + I(, 5344) B 4 = 4, 969 + I(8, 74) A 5 =, 8774 + I(, 996) B 5 = 4, 4 + I(, 5877) A 6 =, 49443 + I(, 7863) B 6 = 4, 788 + I(3, 78) A 7 =, 659 + I(, 684) B 7 = 6, 76 + I(, 6537) A 8 =, 79454 + I(, 7589) B 9 = 4, 4899 + I(9, 664) 6

................................ 5.3 Rozklad f(x) = x H( r) Tabuľka 5.3. Koeficienty rozkladu pre funkciu f(x) = x H( r).8.6.4..5.5 r Aproximovana f. Re cast aproximacnej f. Im cast aproximacnej f. Obrázok 5.4. Aproximácia f(x) = x H( r) pre dimenziu n = 3...8.6.5 z Analyticky vypocet (4).5 Numericky vypocet (7) Obrázok 5.5. Vypoýpočet integrálu n = 3. 5.3.3 Dimenzia=4 Nájdené minimum Q = 5, 447 5 7

5. Rozklad... A koeficienty B koeficienty A =, 688 + I(, 88438) B = 3, 374 + I(4, 8675) A =, 633 + I(, 533597) B = 6, 9463 + I( 5, 654) A 3 =, 88584 + I(, 35536) B 3 =, 99 + I( 8, 834) A 4 =, 5899 + I(3, 4554) B 4 = 5, 86 + I(5, 3753) A 5 =, 985 + I(, 55) B 5 = 4, 9559 + I( 4, 3936) A 6 =, 7883 + I(, 4335) B 6 =, 89 + I(, 4457) A 7 =, 3374 + I( 3, 37893) B 7 = 4, 96489 + I(, 9333) A 8 = 4, 38 + I(5, 5486) B 8 =, 35 + I(, 94647) A 9 =, 849 + I(, 77547) B 9 = 3, 4834 + I( 8, 6677) A =, 44793 + I(, 78435) B =, 7945 + I(3, 34374) Tabuľka 5.4. Koeficienty rozkladu pre funkciu f(x) = x H( r).8.6.4..5.5 r Aproximovana f. Re cast aproximacnej f. Im cast aproximacnej f. Obrázok 5.6. Aproximácia f(x) = x H( r) pre dimenziu n = 4...8.6.5 z Analyticky vypocet (4).5 Numericky vypocet (7) Obrázok 5.7. Vypoýpočet integrálu n = 4. 8

... 5.4 Rozklad f(x) = ( x ) H( r) 5.4 Rozklad f(x) = ( x ) H( r) 5.4. Dimenzia=4 Nájdené minimum Q =, 9583 6 A koeficienty B koeficienty A =, 588 + I(, 3) B = 4, 9635 + I( 5, 46) A =, 55757 + I(, 5656) B =, 93 + I( 3, 4875) A 3 =, 976 + I(, 5698) B 3 = 6, 587 + I( 7, 73) A 4 =, 387 + I(, 9587) B 4 = 5, 38469 + I(, 5564) A 5 =, 67963 + I(, 56837) B 5 =, 854 + I(6, 8384) A 6 =, 445 + I(, 559) B 6 = 9, 3867 + I(, 64738) Tabuľka 5.5. Koeficienty rozkladu pre funkciu f(x) = ( x ) H( r).8.6.4..5.5 r Aproximovana f. Re cast aproximacnej f. Im cast aproximacnej f. Obrázok 5.8. Aproximácia f(x) = ( x ) H( r) pre dimenziu n = 4..9.8.7.6.5.4.5.5 z Analyticky vypocet (4) Numericky vypocet (7) 9

5. Rozklad... Obrázok 5.9. Vypoýpočet integrálu n = 4. 5.4. Dimenzia n=3 Nájdené minimum Q =, 944556 6 A koeficienty B koeficienty A =, 5957 + (, 3458) B = 8, 4353 + (, 5495) A =, 43967 + (, 57988) B = 5, 34643 + (6, 5446) A 3 =, 83 + (3, 3999) B 3 = 7, 666 + ( 8, 356) A 4 =, 56656 + (, 77568) B 4 = 5, 645 + (4, 748) A 5 =, 665 + (, 88) B 5 = 7, 5653 + ( 9, 39848) A 6 =, 73744 + (, 644) B 6 =, 9956 + ( 3, 54668) A 7 = 3, 64 + ( 3, 3958) B 7 = 6, 37644 + (, 64386) A 8 =, 6888 + (, 9488) B 8 =, 973 + (, 58566) Tabuľka 5.6. Koeficienty rozkladu pre funkciu f(x) = ( x ) H( r).8.6.4..5.5 r Aproximovana f. Re cast aproximacnej f. Im cast aproximacnej f. Obrázok 5.. Aproximácia f(x) = ( x ) H( r) pre dimenziu n = 3. 3

... 5.4 Rozklad f(x) = ( x ) H( r).9.8.7.6.5.4.5.5 z Analyticky vypocet (4) Numericky vypocet (7) Obrázok 5.. Vypoýpočet integrálu n = 3. 5.4.3 Dimenzia n=4 Nájdené minimum Q =, 5878834 6 A koeficienty B koeficienty A =, 56 + I(, 4836) B = 4, 68 + I(5, 88449) A =, 46879 + I(, 57) B = 8, 69 + I(, 36776) A 3 =, 637 + I(, 79594) B 3 = 7, 4648 + I(5, 7759) A 4 =, 98797 + I(, 96673) B 4 = 6, 9765 + I( 7, 566) A 5 = 4, 33 + I(, 94694) B 5 = 7, 548 + I(, 6439) A 6 =, 487 + I(, 4895) B 6 = 4, 88759 + I( 6, 5575) A 7 =, 839 + I(, 4769) B 7 = 5, 795 + I( 3, 7959) A 8 =, 8776 + I(, 58633) B 8 =, 8848 + I( 4, 47385) A 9 = 3, 6846 + I( 3, 33986) B 9 = 7, 375 + I(, 495) A =, 964895 + I(, 734) B = 8, 9948 + I(, 989) Tabuľka 5.7. Koeficienty rozkladu pre funkciu f(x) = ( x ) H( r) 3

5. Rozklad....8.6.4..5.5 r Aproximovana f. Re cast aproximacnej f. Im cast aproximacnej f. Obrázok 5.. Aproximácia f(x) = ( x ) H( r) pre dimenziu n = 4..9.8.7.6.5.4.5.5 z Analyticky vypocet (4) Numericky vypocet (7) Obrázok 5.3. Vypoýpočet integrálu n = 4. 5.5 Rozklad f(x) = H( x) 5.5. Dimenzia n=4 Nájdené minimum Q =.45867 A koeficienty B koeficienty A =, 63737 + I(, 785) B =, 9845 + I(, 56) A = 3, 6685 + I(, 6543) B =, 7488 + I(, 7664) A 3 =, 4463 + I(4, 3879) B 3 = 3, 8595 + I( 7, 7436) A 4 = 3, 59 + I(3, 8574) B 4 = 5, 433 + I(5, 43) A 5 =, 635 + I(, 968) B 5 =, 39466 + I( 7, 965) A 6 =, 537749 + I(, 46654) B 6 =, 46497 + I(5, 77648) 3

... 5.5 Rozklad f(x) = H( x) Tabuľka 5.8. Koeficienty rozkladu pre funkciu f(x) = H( x).8.6.4..5 r.5 Aproximovana f. Re cast aproximacnej f. Im cast aproximacnej f. Obrázok 5.4. Aproximácia f(x) = H( x) pre dimenziu n = 4..5.5.5 z Analyticky vypocet (4).5 Numericky vypocet (7) Obrázok 5.5. Vypoýpočet integrálu n = 4. 5.5. Dimenzia n=3 Nájdené minimum Q =, 5343385 33

5. Rozklad... A koeficienty B koeficienty A = 5, 6866 + I(3, 864) B = 6, 476 + I(3, 574) A = 4, 95454 + I(, 897) B = 3, 4764 + I(3, 3333) A 3 =, 4578 + I(3, 7) B 3 = 3, 33 + I( 5, 94) A 4 =, 7939 + I(, 69788) B 4 = 5, 59 + I(6, 489) A 5 =, 439363 + I(, 59385) B 5 =, 8343 + I( 9, 79) A 6 =, 458 + I(, 573434) B 6 =, 74 + I(, 987) A 7 = 6, 6644 + I(, 8475) B 7 = 8, 899 + I(, 743) A 8 = 5, 478 + I( 5, 93995) B 9 = 3, 843 + I(, 93) Tabuľka 5.9. Koeficienty rozkladu pre funkciu f(x) = H( x).8.6.4..5 r.5 Aproximovana f. Re cast aproximacnej f. Im cast aproximacnej f. Obrázok 5.6. Aproximácia f(x) = H( x) pre dimenziu n = 3..5.5.5 z Analyticky vypocet (4).5 Numericky vypocet (7) Obrázok 5.7. Vypoýpočet integrálu n = 3. 34