VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Fakulta elektrotechniky a komunikačních technologií

Save this PDF as:
 WORD  PNG  TXT  JPG

Rozměr: px
Začít zobrazení ze stránky:

Download "VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Fakulta elektrotechniky a komunikačních technologií"

Transkript

1

2 VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Fakulta elektrotechiky a komuikačích techologií Ig. Radomil Matoušek, Ph.D. POKROČILÉ METODY POČÍTAČOVÉ INTELIGENCE Advaced Methods i Computatioal Itelligece TEZE HABILITAČNÍ PRÁCE Bro 2012

3 Klíčová slova Počítačová iteligece, soft computig, metaheuristiky, evolučí výpočetí techiky, geetické algoritmy, HC12, GAHC, GAFIS, elití turajová selekce, STE, globálí optimalizace, QAP, aproximace, PID regulátor, polyomiálí regulátor. Key Words Computatioal itelligece, soft computig, geetic algorithms, metaheuristic, evolutioary algorithms, HC12, GAHC, GAFIS, elite touramet selectio, STE, global optimizatio, QAP, approximatio, PID cotroller, polyomial cotroller. Místo uložeí práce Vysoké učeí techické v Brě Fakulta elektrotechiky a komuikačích techologií Radomil Matoušek, 2012 ISBN ISSN X

4 OBSAH PŘEDSTAVENÍ AUTORA ÚVOD, MOTIVACE A OBSAH HABILITAČNÍ PRÁCE OPTIMALIZAČNÍ METAHEURISTIKY Základí pojmy a rozděleí metod Reprezetace a kódováí iformace Grayovo kódováí a Hammigova metrika HC12: DOBŘE PARALELIZOVATELNÁ METAHEURISTIKA Pricip HC Formalizace HC GENETICKÝ ALGORITMUS Selekčí mechaismus GAHC: hybridí geetický algoritmus STE: kritérium v úloze symbolické regrese APLIKACE METOD POČÍTAČOVÉ INTELIGENCE Turaj řešičů HC12 a GAHC vs. GAMS v úloze F QAP: kvadratický přiřazovací problém a HC12 swap2abs Návrh obecého lieárího regulátoru ZÁVĚR...31 REFERENCE

5 PŘEDSTAVENÍ AUTORA Radomil Matoušek se arodil v roce 1972 v Brě. Vysokoškolské vzděláí (Ig.) získal v roce 1996 v oboru Aplikovaá iformatika a Fakultě strojí Vysokého učeí techického v Brě. V roce 2004 pod vedeím školitele prof. Ig. Pavla Ošmery, CSc. dokočil studium doktorského studijího programu (Ph.D.) v oboru Techická kyberetika. V současosti je vedoucím odboru Aplikovaé iformatiky a Ústavu automatizace a iformatiky, Fakulty strojího ižeýrství, VUT v Brě. Současá vědecko-výzkumá čiost autora se zaměřuje a vývoj a aplikace vybraých metod počítačové iteligece v kotextu globálí optimalizace. Studová je rověž ávrh iteligetích kyberetických systémů (roboty, pláováí cest aj.). Praktické zkušeosti, získaé mimo VUT v Brě, autor abyl: v letech jako asistet výpočetí techiky a programátor databázových aplikací v Zetor Bro, SOU, v letech jako odborý VV pracovík AV ČR, Ústav přístrojové techiky, odbor NMR, tým iverzích a optimalizačích metodologií a v letech jako specialista softwarového vývoje a VÚJE Česká republika, Dukovay. V roce 2004 absolvoval stáž a Kyoto Uiversity, Departmet of Eergy Coversio Sciece (prof. E. Matsumoto, Japosko) a v roce 2009 stáž a Uiversity of Vaasa, Departmet of Computer Sciece (prof. J. Lampie, Fisko). V průběhu doktorského studia se autor aktivě účastil světových koferecí a sympózií, přičemž čtyřikrát obdržel prestiží ceu Best Paper Award (2000, 2007, 2009, 2011) a jedou ceu Best Presetatio Award (2004). K oceěí vědeckou komuitou patří rověž tři zvaé předášky v Německu, Japosku a České republice. V rámci pedagogické čiosti v letech autor vedl cvičeí v ásledujících předmětech: Neuroové sítě a fuzzy možiy, Teorie iformace a kódováí, Simulace systémů, Vyšší formy řízeí, Iformatika, Počítačový hardware. Pod autorovým vedeím (zázam od roku 2006/2007) bylo úspěšě obhájeo celkem 21 magisterských diplomových prací, jeda zahraičí diplomová práce a Uiversity of L'Aquila (Itálie) a 15 bakalářských závěrečých prací. V současosti je autor podmíěě školitelem čtyř doktorských prací a školitelem specialistou, přičemž dva studeti již mají úspěšě vykoaou státí zkoušku. K podpůrým aktivitám pro studety lze zařadit realizaci a koordiaci tří programů Erasmus (UK, Fisko, Rakousko). Autor vytvořil dvoje skripta a podílel se a tvorbě vysokoškolské učebice "Automatické řízeí". K vědecko společeským aktivitám lze zařadit čleství v moha programových výborech světových koferecí v oboru počítačové iteligece i práci recezeta pro periodikum SCI, Spriger v roce Od roku 1995 se autor aktivě účastí jako orgaizátor, recezet a editor meziárodí koferece MENDEL, v roce 2008 se autor stává ředitelem koferece, od téhož roku je koferece idexovaá v ISI Thomso WoS a od roku 2012 ve Scopus. Autor vytvořil, ebo spoluvytvořil téměř sto publikací, z ichž 33 je idexováo v ISI WoS ebo Scopus. Rověž se jako čle týmu, spoluřešitel ebo řešitel účastil 13 úspěšě ukočeých a obhájeých projektů, z ichž posledí VVZ "Iteligetí systémy v automatizaci" vedeý prof. Pavlem Jurou, považuje za ejvýzamější. V současosti je autor řešitelem projektů TAČR, IGA VUT v Brě a má podáy dva meziárodí projekty. S meziárodím týmem připravuje kihu pro akladatelství Spriger o HPC ( Autor spolupracuje s moha zahraičími autoritami, apř.: prof. Lampie Fisko, Dr. Lagdo UK, Dr. Xi She UK, prof. Medel USA, prof. Klí Izrael, Dr. O'Neill Irsko, Dr. Rya Irsko, prof. Zaharie Rumusko. 4

6 1 ÚVOD, MOTIVACE A OBSAH HABILITAČNÍ PRÁCE Při řešeí techických úloh se setkáváme s optimalizačími problémy, které jsou pomocí tzv. stadardích metod řešitelé obtížě, částečě, případě uspokojivé řešeí eí zámo vůbec. Takovéto závěry mohou vyplývat buď z povahy řešeé úlohy, ebo z absece vhodé teorie či přímo z absece efektivích optimalizačích algoritmů. Přesto, že se vývoj v oblasti metod matematické optimalizace ezastavil, lze kostatovat, že des zámé postupy došly do bodu, kdy limity těchto optimalizačích metod, stojících majoritě a pevých matematických základech, jsou posouváy spíše pomocí paralelích implemetací, ež vlastí tvorbou ových či zdokoalováím stávajících algoritmů. Toto kostatováí eí degradace daé matematické disciplíy, ale aopak vyzdvižeí faktu, že za dobu její existece se toho v oblasti matematické optimalizace již udělalo opravdu moho. Naproti tomu metody založeé a umělé iteligeci (AI, Artificial Itelligece), počítačové iteligeci (CI, Computatioal Itelligece), soft computigu (SC) jsou relativě ové a stále se v moha ohledech dyamicky vyvíjejí. Tato skutečost je dáa mezioborovostí, existecí NP úplých úloh a faktem, že k rozvoji této oblasti vědy je výpočetí techika, resp. výkoá výpočetí techika, ezbytá. Právě těmto metodám a jejich implemetacím je v posledí době věováa stále větší pozorost. V oblasti optimalizace mezi tyto metody patří apříklad: geetické algoritmy (GA, Geetic Algorithms), difereciálí evoluce (DE, Differetial Evolutio), gramatická evoluce (GE, Grammatical Evolutio) a růzé další heuristiky více či méě ispirovaé přírodími pricipy. Připomeňme, že k důležitým oblastem umělé iteligece patří rověž umělé euroové sítě (ANN, Artificial Neural Networks), fuzzy metody, iteligetí ageti, specifické grafové algoritmy aj. Pochopeím přírodích pricipů, vytvořeím adekvátích počítačových modelů a ásledou implemetací vzikají uikátí algoritmické postupy, které jsou schopy kokurovat klasickým optimalizačím metodám, či je selektivě překoávat. Tyto algoritmy do deší doby již mohokrát prokázaly svoji opodstatěost a poskytly uikátí řešeí problémů dosud eřešitelých či euspokojivě řešitelých. Rešerše v tomto ohledu by vydala a samostatou a rozsáhlou publikaci. V předložeé habilitačí práci jsou prezetováy autorovy původí algoritmy a avržeé postupy, které zařazujeme do oblasti tzv. evolučích výpočtů, či obecěji umělé iteligece, soft computigu či počítačové iteligece. Jde o algoritmy, které ějakým způsobem využívají pricip evoluce, tedy působeí selekce, rekombiace a mutace. Tyto typy algoritmů, ozačovaé jako evolučí výpočetí techiky, jsou vyvíjey a efektivě implemetováy od 80. let miulého století. Od svého vziku dokázaly svoji opodstatěost a spolu s dalšími třídami algoritmů z daé oblasti i svoji jediečost. Výsledkem jsou uikátí řešeí techických problémů potvrzeá i řadou světových patetů a průmyslových aplikací. Je vhodé si uvědomit, že pricip této třídy algoritmů je v podstatě avržeý a odzkoušeý samotou přírodou. Za dobu své existece všechy biologické etity podléhaly velmi tvrdému tlaku ze stray přírody a je jejich vlastosti, schopost optimalizovat svoji fukcioalitu vůči prostředí, umožily úspěšým přežít. Výsledkem jsou jistě v moha ohledech optimálí řešeí typu člověk, žralok, včela apod. Pochopitelě hraje v evoluci svou roli ještě áhoda, či řekěme štěstí. Avšak otázka, zda vesmír hraje kostky, epatří k těm ejovějším. V předložeé habilitačí práci jsou shruty mohé výsledky, které autor abyl v průběhu studia výše uvedeého paradigmatu evolučích výpočetích techik. V žádém případě ejde o všechy teoretické či aplikačí výsledky z autorovy tvorby. Prezetová je však hlaví proud zájmu autora, který, jak je v práci uvedeo, vedl k ávrhu ových algoritmů či vylepšeí existujících, včetě praktických aplikací. 5

7 Z prostorových důvodů jsou v těchto tezích stručě prezetováy pouze vybraé výsledky uvedeé v habilitačí práci, které autor považuje za ejzásadější. V širším pojetí by se jedalo o ásledující výčet původích výsledků, kterých si autor ceí: Algoritmus HC12 a HC12 taboo (včetě paralelích implemetaci). Algoritmus třídy HC12 byl postupě rozpracovává a úspěšě apliková a moho optimalizačích úloh. Velkou výhodou algoritmu HC12 je jeho jedoduchost a velmi dobrá paralelizovatelost. Algoritmus GAHC, elití turajová selekce (ETS). V rámci sahy o vylepšeí klasického geetického algoritmu byly autorem testováy růzé přístupy. Jedím z výsledků je spojeí klasického geetického algoritmu a algoritmu HC12. Tímto způsobem vzikl hybridí algoritmus GAHC. Navržeá selekce ETS vylepšuje stadardí turajovou selekci tak, že zachovává její vlastosti a avíc zaručuje zachováí ejlepšího jedice. Algoritmus GAFIS. Jde o klasický geetický algoritmus, jehož parametry jsou v průběhu geerací adaptováy s využitím fuzzy iferečího systému (FIS). Kritérium STE. Při praktických experimetech a úlohách tzv. symbolické regrese edávalo miimalizačí kritérium typu ejmeších čtverců uspokojivé výsledky. Bylo tedy avržeo dyamické kritérium STE, které lépe zohledilo shodu avržeého modelu s daty a avíc umožilo dyamickou adaptaci tohoto kritéria. Metodika optimálí parametrizace řešičů GA, HC12, GAHC. Přesto, že geetický algoritmus je poměrě robustí k volbě svých parametrů, existuje jejich optimálí astaveí vzhledem k řešeé úloze, ebo třídě úloh. Vliv astaveí lze ověřit v tzv. geeračích řezech, ze kterých vyplývá vhodá parametrizace algoritmu. Řešeí úlohy elieárí aproximace s vazebí podmíkou (RBF model). V této prezetaci jde pouze o stručé shrutí možého řešeé praktické úlohy elieárí aproximace dat s podmíkou omezeí fukčích hodot aproximace. V tomto praktickém příkladu byla užita klasická RBF euroová síť geetickým učícím algoritmem. Návrh iterpretace problému QAP pomocí kódováí swap2abs. Výsledkem reformulace problému QAP je origiálí způsob kódováí řešeí úlohy QAP ozačeý jako swap2abs. Kódováí swap2abs je využitelé v případě dalších metaheuristik i exaktích metod. Velmi efektiví řešeí úloh třídy QAP esc. S využitím kódováí swap2abs a dobře optimalizovaého řešiče postaveého a algoritmech HC12 a GAHC, bylo dosažeo velmi efektivího řešeí úloh třídy QAP esc. Řešeí byla srováa ve světovém měřítku. Multi-optimálí astaveí PID regulátoru pomocí metod CI. Jako příklad možého využití prezetovaých metod počítačové iteligece, resp. algoritmu HC12, byla prezetováa úloha astaveí PID regulátoru. Komplexí ávrh (ve struktuře i parametrech) polyomiálího regulátoru pomocí CI. Závěrečá úloha prezetuje, z hlediska metod počítačové iteligece, uikátí ávrh obecého lieárího regulátoru. Výsledkem prezetovaé metody je ávrh modelu i parametrů regulátoru. Přístup je kokurečí k metodám GP a GE. Důležitá je cesta, eboť cíl je iluze poutíka. 6

8 2 OPTIMALIZAČNÍ METAHEURISTIKY Relativě dlouho byla problematika optimalizace řešea klasickým matematickým aparátem, založeým a ifiitezimálím počtu a variačích metodách aplikovaých ve fukcioálích prostorech či s využitím klasických umerických metod. Tyto postupy sice umožňovaly a umožňují alezeí globálího extrému pro problémy jedoduššího charakteru, ale ikoliv pro problémy složitější, kde schopost metody alézt globálí extrém eí apriorě splěa. Výpočetí áročost řešeí daé optimalizačí úlohy souvisí s její povahou, dimezí, ale i s kokrétí defiicí účelové fukce a omezeí. Vlastí optimalizace je determiováa užitým optimalizačím algoritmem a jeho implemetací. Nástup výpočetí techiky bezesporu přiesl ové možosti uplatěí zavedeých umerických optimalizačích metod. Soudobá výkoá výpočetí techika jedozačě posouvá hraice možostí, kde a jakými prostředky může být optimalizace uplatňováa. Stra ových ávrhů a implemetací optimalizačích algoritmů zazameává markatí rozšířeí oblast metaheuristik, evolučích výpočtů, soft computigu, počítačové a umělé iteligece. Nové výpočetí heuristiky jsou asazováy a problémy v rozsahu, který byl ještě před dvaceti lety emyslitelý. Budoucost ových typů polovodičů, ových pricipů počítačů založeých a bioiformatice, biologických euroech, či kvatovém pricipu dává tušit, že doba revoluce v počítačové, resp. umělé iteligeci teprve přijde. Při umerické optimalizaci se uplatňuje tzv. iterativí pricip optimalizace, tedy optimalizace probíhá v krocích, tzv. iteracích. V každém iteračím kroku existuje řešeí, které je pomocí optimalizačí metody v ásledém kroku zlepšováo, dokud eí dosažeo podmíky ukočeí. Formálě jsou optimalizovaé proměé uspořádáy do vektoru x, a a určité možiě D přípustých hodot extremalizujeme hodotu avržeé účelové fukce f. dále můžeme předpokládat, že účelová fukce f(x) abývá pro určitý vektor x opt globálího extrému vzhledem k D. Tato skutečost se zapisuje v kompaktí formě dle (2.1) a ozačuje se jako obecá formulace optimalizačího problému. Equatio Sectio 2 xopt arg opt f ( x ) (2.1) xd 2.1 ZÁKLADNÍ POJMY A ROZDĚLENÍ METOD Obsah pojmů Soft computig (SC), Počítačová iteligece (Computatioal Itelligece, CI) a Umělá iteligece (Artificial Itelligece, AI) eí zcela jedotě chápá. Rověž popis heuristických metod, či dále optimalizačích metaheuristik ve vztahu k SC, CI, a AI abízí více pohledů. Evoluce, geetika, imuití systém, chemická regulace orgaismu, vyšší itelektuálí schoposti atd., to vše geeruje růzé třídy orgaizmů schopé růzé úrově adaptace. Ispirací emusí být je živá příroda, ale obecě jakýkoliv systém vykazující chováí vedoucí k miimu či maximu. Pokud v případě biologické ispirace dáme do role prostředí techický problém a do role orgaismu jeho počítačovou implemetaci (model), mohou vzikout velmi chytré optimalizačí ástroje typu geetické algoritmy, difereciálí evoluce apod. Navržeé postupy jsou všeobecě ozačováy jako metaheuristiky, přičemž prefix "meta" zdůrazňuje fakt vyšší sofistikovaosti příslušé metody v porováí s běžým, obvykle problémově specifickým, heuristickým postupem. Přehled základích optimalizačích metaheuristik je uvede obrázkem Obr Autor této práce v průběhu studia a výzkumu experimetoval s moha přístupy SC, resp. teorií, aplikací a implemetací většiy uvedeých metaheuristik. 7

9 POPULACE ŘEŠENÍ POPULATION BASED JEDNO ŘEŠENÍ Ispirace algoritmu přírodími pricipy atural ispired algorithms Evolučí výpočty Evolutioary Computatio (výběr) GA: Geetické algoritmy (Hollad, 1962, 1989) Geetic Algorithms GP: Geetické programováí (Koza, 1992) Geetic Programmig GE: Gramatická evoluce (Rya, O Neill, 1998) Grammatical Evolutio DE: Difereciálí evoluce (Price, Stor, 1995) Differetial Evolutio ES: Evolučí strategie (Recheberg, Schwefel, 1965) Evolutioary Strategy EP: Evolučí programováí (Fogel, 1966) Evolutioary Programmig Harmoické prohledáváí Harmoy Search (Geem, Kim, 2001) Algoritmy ispirovaé hejovým chováím Swarm Itelligece (výběr) ACO: Mravečí koloie (Dorigo, 1992) At Coloy Optimizatio PSO: Rojeí částic (Keedy, Eberhart, 1995) Particle Swarm Optimizatio BEE: Algoritmus včel (Pham, 2005) Bees Algorithm FFA: Algoritmus světlušek (Yag,2008) FireFly Algorithm SOMA: Migračí Algoritmus (Zelika, 2004) Umělý imuití systém (Farmer, 1986, Bersii, 1990) Artificial Imue System (etwork ad populatio based) SA: Simulovaé žíháí (Kirkpatrick, 1983, Čerý 1985) Simulated Aealig GAHC (Matoušek, 1996) Hybridí GA + HC GAFIS (Matoušek, 1999) Fuzzy Adaptiví GA TS: Zakázaé prohledáváí (Glover, 1986, 1989) Taboo Search Iterovaé lokálí prohledáváí Pricip Horolezeckých algoritmů (HC) (stochastický HC, áhodý restart HC aj.) Rozptýleé hledáí Scatter Search (Glover, 1999) HC12 (Matoušek, 2004), HC12 taboo (Matoušek, 2012) Populace Selekce Rodiče PARENTS Křížeí Mutace Potomci OFFSPRINGS Přepis Populace +1 EVOLUČNÍ ALGORITMY (EA): PRINCIP JEDNOHO GENERAČNÍHO CYKLU (ITERACE) Metafora Optimalizace Evoluce Řešeí problému Jediec Poteciálí řešeí Fitess Účelová fukce Prostředí Optimalizačí problém Obr. 2.1: Přehled základích metaheuristik a podstata geeračího cyklu. 2.2 REPREZENTACE A KÓDOVÁNÍ INFORMACE Jedím z ústředích pojmů dále prezetovaých algoritmů je tzv. jediec. Jediec je reprezetatem jedoho kokrétího poteciálího řešeí daé optimalizačí úlohy. Kódová reprezetace jedice je základí vlastostí implemetace dále diskutovaých algoritmů. Ve všech dále uvedeých případech metaheuristik bude jedice reprezetovat posloupost bitů délky. V kotextu teorie kódováí [Adámek89] můžeme hovořit o reprezetaci biárím vektorem defiovaým a abecedě {0,1}. V případě geetických algoritmů, resp. základí variaty GA představuje jediec biárí vektor (2.2). a a, a,, a 0,1 (2.2) 1 2 0,1 2 (2.3) Kardialita možiy těchto biárích vektorů je dáa vztahem (2.3), z čehož vyplývá, že velikost prostoru všech možých biárích vektorů délky roste s délkou expoeciálě. Soubor jediců můžeme logicky ozačit jako populaci P a1, a2,, a N, přičemž budeme uvažovat stejou délku všech jediců dle (2.4). Z biárího řetězce a, defiovaého dle (2.2), je specifickou trasformací získá vektor optimalizovaých proměých x patřící do oblasti D. Trasformace je silě problémově vázaá. Z tohoto důvodu yí pouze kostatujme, že trasformace dekóduje biárí řetězec a vektor reálých, resp. pseudo-reálých čísel. 8

10 P a a a a a a 1,1 1,2 1, 2,1 2,2 2, ai, j i{1,2, N} j{1,2, } a a a N,1 N,2 N, (2.4) x ( a ) (2.5) Stadardě [Goldberg89, KvPoTi00] je původí biárí řetězec a dekompoová a m subvektorů stejé velikosti tak, že každý kokrétí subvektor kóduje kokrétí proměou x i. Rozšířeím této kocepce je implemetace, kde subvektory mohou mít rozdílé velikosti, viz Obr Toto řešeí může být pochopitelě pro určité typy problémů velmi výhodé. Například může existovat smíšeě celočíselá (mix-iteger) úloha, která obsahuje celočíselé i reálé proměé. S využitím rozdílé délky biárích subvektorů dosáheme, v porováí s případem kdy bychom volili vždy stejé délky subvektorů, mohem výhodějšího, příp. optimálího kódováí. Obr. 2.2: Schématická zázorěí trasformace biárího vektoru a vektor reálých hodot. Z hlediska kódováí iformace v jedici a její ásledé reálé iterpretaci je velmi přijatelé zavedeí termíů geotyp a feotyp. Tyto biologické termíy velmi dobře vystihují podstatu iterpretace iformace. Jediec, jakožto poteciálí řešeí problému, bude v ašem případě vždy kódová biárě, resp. biárím Grayovým kódem. Účelová fukce pro daou metaheuristiku však bude pracovat apř. s reálými hodotami argumetů. Je tedy uté provést překódováí biárího vektoru a jiou formu, v tomto případě a vektor reálých hodot, viz. Obr Geotyp je tedy zdrojové kódováí a feotyp je jeho reálá iterpretace pro potřebu optimalizace, resp. účelovou fukci. Jak bylo azačeo výše, řešeý problém se v těchto zavedeých metaforách stává prostředím, které vytváří selekčí tlak a jedice a te mu vzhledem k jeho síle k přežití, v biologii ozačovaé jako fitess, odolává. Obor hodot D dekódovaého vektoru x ve vztahu (2.5) je obvykle dá (2.6) a představuje prostor možých řešeí optimalizačího problému (2.1). m i, i [ 1, 1] [ 2, 2] [ m, m] (2.6) D r s r s r s r s i1 Účelová fukce f, defiovaá a oblasti D, ohodotí každého jedice z populace reálým číslem : f D. 9

11 Specifikem pro metaheuristiky využívající biárí reprezetací jedice, resp. biárího vektoru kódujícího řešeí úlohy je, že reprezetace daé oblasti D defiovaé a itervalech [r i, s i ] v (2.6), eí vzhledem k reprezetaci (2.2) a koečé velikosti spojitá. : 0,1 D (2.7) Oblast D je tedy prakticky aproximováa ortogoálí mřížkou. Po realizaci zobrazeí dále uvažujeme prostor D jako diskretizovaý. Pro případ kombiatorické optimalizace, či celočíselého programováí, kde vystupují pouze diskrétí proměé, eomezuje tato skutečost kvalitu řešeí a je v podstatě příosem. 2.3 GRAYOVO KÓDOVÁNÍ A HAMMINGOVA METRIKA Zvoleý způsob kódováí každého jedice pomocí biárího vektoru implikuje otázku, jak kvatifikovat rozdíly jedotlivých jediců v populaci a této základí úrovi. Při splěí defiice metriky je a možiě {0,1} pro libovolé biárí vektory délky, apř. a 1 = (a 1,1,,a 1, ) a a 2 = (a 2,1,,a 2, ) defiováa Hammigova metrika, tj. vzdáleost d H (2.8) [Richard Wesley Hammig, 1950]. d ( a, a ) a a a a (2.8) H 1 2 1, i 2, i 1, i 2, i i1 i1 Z praktických důvodů je v dále prezetovaých algoritmech iterpretová základí geotyp jako biárí vektor v Grayově kódováí. Implemetace Grayova kódováí je v případě biárě reprezetovaého řešeí (biárí vektor, jediec, geotyp) realizováa tak, že se apriorě uvažuje biárí vektor g v GC kódováí, který se převede a vektor a v BC kódováí, který se ásledě dekóduje a číslo typu uit, resp. real Na základě provedeých experimetů lze kostatovat, že výzam Grayova kódováí je pro prezetovaé algoritmy CI zásadí. Návrhový vzor biárě reprezetovaých algoritmů třídy GA, HC12 uvádí Obr Obr. 2.3: Systém dekódováí biárě reprezetovaého řešeí a jeho vztah k základím operacím biárích metaheuristik (fukce GC2BC provádí koverzi z biárího Grayova kódu g do přímého biárího kódu a). 10

12 3 HC12: DOBŘE PARALELIZOVATELNÁ METAHEURISTIKA Metaheuristik je velmi moho, ěkteré lze považovat za zcela uiverzálí, jié jsou více problémově orietovaé. Výčet všemožých metaheuristik a jejich variat by byl obsahem samostatého kižího pojedáí. Metaheuristiky pochopitelě užívají růzých pricipů, viz apříklad hladová heuristika, či dále uvedeý geetický algoritmus. Jedím z obecých pricipů, ad kterým lze vystavět kokrétí metaheuristiky, je pricip Hill Climbig (HC). Hill climbig pricip se iterpretuje jako pricip horolezce a frekvetovaě ozačuje jako horolezecký algoritmus. Pokud bychom se pohybovali po hyperploše fukčích hodot účelové fukce a áš horolezec by uměl prohledat "ějaké okolí" své aktuálí působosti, záviselo by alezeí extrému fukce, krom povahy fukce tedy teréu, i a jeho prví pozici (v kotextu řekěme a jeho "výsadku", jiak počátečím řešeí) a a oom výzamu formulace "ějaké okolí". Situaci postupu zázorňuje ásledující Obr Obr. 3.1: Schématické zázorěí postupu horolezeckého algoritmu. Z pricipu je zřejmé, že volba okolí může být velmi variabilí a že patrě zásadím způsobem ovlivňuje lokálost vs. globálost algoritmu ve vztahu k řešeí úlohy. Z podstaty pricipu HC lze rověž odvodit, že okolím emusí být je reálá reprezetace hodot účelové fukce, ale i apříklad kódová biárí reprezetace problému. Biárí vektor původího (aktuálího) řešeí budeme dále ozačovat jako jádro (kerel) a ozačovat idexem "ker", tedy apříklad biárí vektor a ker. Vygeerovaé okolí (eighborhood) tvoří soubor c ových biárích vektorů stejé délky jako má vektor a ker. Tyto ové vektory bude dále reprezetovat matice T A,, o a1 a c. V podstatě jakákoliv v literatuře prezetovaá variata HC algoritmu je založea a odlišé metodě trasformace vektoru a ker a c ových vektorů příslušého okolí, tedy je založea a způsobu defiice relace sousedosti. Základím krokem algoritmu je vygeerovat okolí původího řešeí a ker a základě zvoleé metodiky. Na kvalitě tohoto okolí pak bude bezprostředé záviset lokálost či globálost uvedeého heuristického postupu. Pro další popis metody uvažujme stadardí problém optimalizace fukce f(x) a oblasti (2.6).Equatio Sectio 3 f D f D mi ( x) x, resp. max ( x) x (3.1) 11

13 Tedy jde o hledáí takového x opt, aby platilo: x arg mi f ( x ), resp. x arg max f ( x ). (3.2) opt xd Diskretizace oblasti D je dáa zobrazeím : 0,1 D (2.7), tedy zavedeou biárí reprezetací a reálých proměých x. Protože platí x ( a ), považujeme dále za optimálí řešeí miimalizačí úlohy (3.1) řešeí daé ásledujícím vztahem (3.3). a{0,1} opt xd a arg mi f ( a ) (3.3) opt Nad touto biárí reprezetací defiujeme určitou relaci sousedosti, která pro každé přípusté a ker umožňuje staovit okolí (sousedství) tvořeé body a S(a ker ). Volba trasformačí fukce S bude determiovat chováí a charakter HC algoritmu. 3.1 PRINCIP HC12 Nyí uvažujme ásledující postup, kdy pro zvoleý biárí vektor délky 4 bitů vygeerujeme okolí A o způsobem dle Obr Obr. 3.2: Geerováí okolí 4 bitového řetězce pomocí jedobitové iverze. Jak je patré z Obr. 3.2, je při daém způsobu tvorby okolí každý vektor a i vzdále od a ker vždy o d H = 1. Při délce biárího řetězce a ker tedy obdržíme vektorů okolí a i. Takovýto algoritmus tvorby okolí byl ozače jako HC1. Obecě může být tvorba okolí realizováa ějakým exaktím ebo heuristickým způsobem jak ukazuje obrázek Obr. 3.2, ebo může být okolí a ker geerováo zcela áhodě. Jak ukázaly praktické experimety, je při stejé kardialitě možiy okolí podstatě výhodější využít systém tvorby okolí dále prezetovaý třídou algoritmů HC12, ež volit áhodě geerovaé okolí. Pozameejme, že prezetovaá implemetace algoritmů třídy HC12 epřipouští zhoršeí hodot účelové fukce a iteračí cyklus algoritmu je zastave, pokud eí daou trasformací alezeo lepší řešeí ež je a ker. Teto bod eí v kotradikci s možým použitím pricipu Taboo search do dalších implemetací. Pseudokód obecého vzoru biárího HC algoritmu, který je plě slučitelý s algoritmy třídy HC12, je uvede dle a Obr

14 vygeeruj a opt áhodě vygeerovaý či a základě jié heuristiky zvoleý biárí vektor daé délky repeat a a ker opt předem zvoleá trasformačí fukce S vytvoř S( a ker ) a arg mi f ( a ) opt as ( aker ) util f ( a ) f ( a ) opt ker výběr ejlepšího řešeí z S(a ker ), pomocí účelové fukce f možý test ukočeí elimiující zacyklei může být v ěkterých případech evýhodý Obr. 3.3: Pseudo-kód: ávrhový vzor biárího HC algoritmu pro úlohu miimalizace. Ukočovací podmíka zde epřipouští více stejých hodot účelové fukce. Trasformace S může geerovat okolí, tj. populaci řešeí apříklad dle schématu třídy algoritmů HC12, ale také zcela áhodě či dle jié heuristiky. Pokud by a toto schéma byl apliková taboo search pricip, emusela by ukočovací podmíka utě zameat koec výpočtu. Rověž by byla ovlivňováa možia přípustých řešeí geerovaá fukcí S. 3.2 FORMALIZACE HC12 Dále popsaé algoritmy třídy HC12 jsou založey a libovolé, ale pevě daé možiě trasformací příslušých biárích vektorů (3.4). a 0,1, pro (...délka biárího vektoru) (3.4) Možiu avržeých trasformací ozačme H a jedotlivé trasformace jako s. H s0, s1,..., s (3.5) Užitím trasformace s H realizujeme zobrazeí biárího vektoru a ker a možiu A o biárích vektorů a, dále též ozačovaou jako matici A o (idex "o" jako okolí). A a1 a,, a, A, pro c (3.6) ac o 1 c o ker o s: a A, tedy s: 0,1 0,1 (3.7) Kardialita c možiy A o je dáa zvoleou trasformací s k a délkou biárího vektoru a ker. ck sk, Ao, pro k{0,1,, }, (3.8) k kde idex k ozačuje příslušost ke kokrétímu prvku z možiy H dle (3.5). c 13

15 K realizaci možiy trasformací H je zavede systém matic M. O matici M příslušející daé trasformaci s k budeme hovořit jako o M matici k-tého řádu a ozačíme ji M k (teto řád eí totožý s řádem čtvercové matice). s k 0,1,, M (3.9) k Defiice: M-matice řádu k, zkráceě M k, je taková matice, jejíž řádky reprezetují všechy body Hammigova metrického prostoru H se vzdáleostmi k od počátku (tj. ulového vektoru délky ) ve smyslu Hammigovy metriky d H. Schéma možé kostrukce M matic je ásledující: k M M 0 1,1 1,2 1, ,1 12, ,1 1,2 1, c1,1 c1, M ,1 1,2 1,3 1, 2,1 2,2 2,3 2, c2,1 c2, 1 c2, M ,1 1,2 1,3 1,4 1, 2,1 2,2 2,3 2,4 2, c3,1 c3, 2 c3, 1 c3, M 1 M ,1 02, ,1 1,2 1, c1,1 c1, ,1 1,2 1, (3.10) 14

16 K vytvořeí matice A o je pro dále prezetovaý systém výpočtů třeba zavést operaci s výzamem tzv. replikace vektoru a ker. Tato operace vytvoří matici A ker obsahující po řádcích idetické kopie biárího vektoru a ker (3.11). Počet řádků této matice odpovídá počtu řádků příslušé M matice a tedy kardialitě c cílové možiy A o dle (3.8). ker 1,ker c,ker T A a,, a (3.11) Nyí můžeme pomocí (3.9), respektive (3.10) realizovat příslušou trasformaci s (3.7), dále ozačovaou jako geerující trasformaci s. s : A A M, pro s H a k 0,1,..., (3.12) k o ker k k O trasformaci s k lze říci, že geeruje úplou možiu vektorů, které jsou ve smyslu metriky d H (2.8) vzdáley od počátku o hodotu k. s H d a a k a A (3.13) (, ), pro k H ker Zobecěí vztahu (3.12) pro libovolý, ale pevě daý výběr prvků z možiy H, je zřejmé. Možiu vybraých, a dále pro prezetovaý HC algoritmus (Obr. 3.3) pevě daých trasformací ozačíme H select. o Hselect H (3.14) Možia H select vzájemě jedozačě určuje trasformaci S, která je sjedoceím vybraých trasformací z možiy H. S : A S A A ker, k1 k1 ker, kselect M, (3.15) M kselect kde k i I a I je idexová možia vybraých prvků z možiy H defiovaá výběrem H select. Praktické testy [A02, A03] i jedoduché kombiatorické úvahy vzhledem k (3.15) vedly k realizaci algoritmu HC12 jako ejefektivější variaty. HC12 je kompromisem mezi úosou rychlostí algoritmu a efektivitou prohledáváí prostoru řešeí. Základí charakteristikou a odlišostí původího algoritmu HC12 od jiých metaheuristik je systém kódováí a trasformací. Implemetace HC12 jsou založey a restartech, což výzamě posiluje schopost algoritmu alézat globálí řešeí. Pro aplikaci HC12 algoritmů musí být prakticky zváže typ úlohy a požadovaá přesost výpočtu, dále výko výpočetí platformy a typ implemetace. Jediečost algoritmu HC12 spočívá v kombiaci specifického kódováí problému a způsobu geerováí populace řešeí, tedy tzv. okolí. Na těchto pricipech byl prakticky zrealizová perspektiví optimalizačí algoritmus, který přes svoji jedoduchost prokazuje až překvapivě dobré vlastosti. Algoritmus HC12 umí efektivě prohledávat prostor a alézat řešeí spojitých i kombiatorických problémů, avíc, a to je velmi poplaté deší době, je velmi dobře škálovatelý. 15

17 Implemetovaé variaty HC12 dispoují možostmi: o Volby účelové fukce s případou parametrizací (apříklad čas) a defiici počtu optimalizovaých proměých omezeou pouze dostupými zdroji, viz dále. o Volby rozsahu biárí reprezetace pro každou reálou proměou, což u spojitých úloh determiuje přesost výpočtu. Vzhledem k ejefektivější implemetaci je teto parametr urče maximálím rozsahem datového typu uit32, tedy délkou 32 bit/proměou. o Volby defiičích itervalů [ xmi, i, x max, i] všech optimalizovaých proměých x i úlohy, tedy v podstatě volby omezujících podmíek typu x mi, i x i x max, i. Tím obdržíme omezeí (2.6) geometricky iterpretovatelé jako hyperkvádr. V případě zadáí pouze jedoho itervalu je teto iterval automaticky použit a všechy optimalizovaé proměé. Obr. 3.4: Příklad geerováí okolí a 4b řetězci dle algoritmu HC12. Biárí řetězec uprostřed slouží jako základ trasformací (jádro) a ker, ke kterému se geeruje okolí se vzdáleostí d H = 1 a d H = 2. Soubor trasformací, resp. algoritmus HC12 dokumetovaý dle Obr. 3.4 a popsaý soustavou trasformací S dle (3.15) můžeme popsat dle Obr M ( M, M, M ) vygeeruj repeat ker a opt a a ker opt Aa M a arg mi f ( a ) opt util a a opt a A ker T soustava M matic pro realizaci algoritmu HC12 áhodě vygeerovaý či a základě jié heuristiky zvoleý biárí vektor délky, tzv. kadidát řešeí Zde se uplatňuje Grayův kód. Nejdříve dochází k převodu biárího vektoru z GC a BC (zvlášť pro každou proměou x i ), poté je BC převede a celé číslo uit, případě a typ real x i. možá variata ukočeí jedoho běhu HC12 Obr. 3.5: Pseudo-kód: ávrhový vzor biárího HC12 algoritmu pro úlohu miimalizace. Ukočovací podmíka zde zahruje test stejých hodot biárích vektorů, tedy epřipouští "pohyb" algoritmu v roviě s ekvivaletí hodotou účelové fukce. Rověž by mohl být kotrolová apř. počet iterací ebo čas. Pseudo-kód (vzor) dle Obr. 3.5 prezetuje základí variatu algoritmu HC12, která je prakticky implemetovaá v cyklu o Ru restartech. Vektor a ker je pro každý restart geerová áhodě, či podle jié heuristiky. 16

18 16 14 HC12/BC, BP/Bit: 4/8 pool: HC12/BC, BP/Bit: 4/8, DV:37 maxhd:4, meahd:2.79, sumhd(3712/5476)=68% x x HC12/BC, BP/Bit: 6/12 pool: x x 1 16 HC12/GC, BP/Bit: 4/8 pool: x x 1 60 HC12/GC, BP/Bit: 6/12 pool: x x 1 Obr. 3.6: Geerovaá okolí k bodu o souřadicích [x 1,x 2 ] vziklá užitím algoritmu HC12 (vlevo). Okolí odpovídá bodům o vzdáleosti d H =1 a bodům X o vzdáleosti d H =2. Zajímavá je vizuálí iterpretace odpovídajících matic vzdáleostí (vpravo) biárích vektorů tvořících okolí, která tvoří strukturu typu IFS fraktálu. Geerátorem této struktury je systém trasformací uplatňovaý u algoritmu HC12. Prví dva řádky odpovídají BC kódováí, zbývající pak odpovídají GC kódováí. Liché, resp. sudé řádky odpovídají bitové reprezetaci 4bitů, resp. 6bitů a jedu proměou typu uit. 17

19 HC13/BC, BP/Bit: 2/6 pool: HC13/BC, BP/Bit: 2/6, DV:42 maxhd:6, meahd:2.90, sumhd(4992/5292)=94% x x x HC13/GC, BP/Bit: 2/6 pool: x x x 2 Obr. 3.7: Geerovaá 3D okolí k bodu o souřadicích [x 1,x 2, x 3 ] vziklá užitím algoritmu HC12 (prví dva řádky) a algoritmu HC13 (ásledující dva řádky). Okolí odpovídá bodům o vzdáleosti d H =1, bodům X o vzdáleosti d H =2 a bodům o vzdáleosti d H =3. Zajímavá je vizuálí iterpretace odpovídajících matic vzdáleostí (vpravo) biárích vektorů tvořících okolí, která tvoří strukturu typu IFS fraktálu. Liché, resp. sudé řádky odpovídají BC, resp. GC kódováí. 18

20 4 GENETICKÝ ALGORITMUS Geetické algoritmy jsou charakteristické počtem N možých řešeí optimalizačího problému. Tato jedotlivá řešeí jsou reprezetováa jedici, soubor N jediců je ozačová jako populace P. Z matematického pohledu můžeme GA chápat jako soubor trasformací, které pracují ad populací P. Tyto trasformace v cyklu geeračích kroků (geerací) g, převedou populaci P g do ového stavu P g+1. Stadardí vlastostí GA je, že při změě z geerace g a g+1 je zachová počet jediců N i jejich biárí délka. Některé výzamé modifikace GA jako je třeba Messy GA [Goldberg89] používají promělivou délku jedice. Rověž samostatý evolučí algoritmus ispirovaý GA, kterým je geetické programováí (geetic programmig, GP) [Koza92] reprezetuje jedice pomocí stromové struktury o proměé velikosti. Základí schéma geetického algoritmu je patré z Obr Geetické algoritmy využívají základí populaci, která je pomocí operátorů selekce, křížeí a mutace modifikováa. Iicializace Nastaveí GA Výpočet FITNESS Populace g geeračí přechod Populace g+1 Jediec g #1 Jediec g+1 #1 Jediec g #2 případá reprodukce elity Jediec g+1 #2 Jediec g #3 Jediec g+1 #3 ANO KONEC Podmíka ukočeí NE SELEKCE KŘÍŽENÍ MUTACE geerace+=1 Jediec g #N 1 Jediec g #N SELEKCE KŘÍŽENÍ MUTACE Jediec g+1 #N 1 Jediec g+1 #N Obr. 4.1: Vývojový diagram GA. Výpočet fitess je prakticky iterpretová jako výpočet hodot účelové fukce. Operátory selekce upředostňují jedice s lepší hodotou fitess, kteří pak mohou podstoupit další dvě operace a to křížeí a mutaci (ěkdy ozačeo jako rekombiace). Po provedeí operací (trasformací): selekce, křížeí a mutace, se provede vyhodoceí ové fitess čímž vstupuje populace do další geerace. Teto klasický mechaismus připouští zhoršeí hodot účelové fukce (tedy fitess) a je třeba si ejlepší alezeá řešeí v každé geeraci ukládat. Druhou možostí je zavedeí tzv. elitismu, kdy je zvoleý soubor ejlepších jediců v každé iteraci chráě před důsledky operátorů selekce, křížeí mutace a až po jejich vykoáí jsou tito "elití" jedici zpět zařazei do populace a úkor jiých (zpravidla ejhorších) jediců. Tímto způsobem je zabráěo zhoršeí hodot účelové fukce vzhledem ke geeracím. 4.1 SELEKČNÍ MECHANISMUS Selekce představuje výběr jediců ze stávající populace P BS a jejich přepis do časově ásledující populace P AS. Teto výběr jediců je klíčovou částí GA. Z více hledisek je ejvhodějším selekčím mechaismem tzv. turajový výběr, či turajová selekce (TS) touramet selectio. Teto typ selekce pracuje ásledujícím způsobem: vybereme áhodě t jediců z populace P BS čítající N jediců, přičemž obecě platí 2 t N. Nejlepšího z takto vybraé skupiy t jediců zkopírujeme do populace ásledující P AS. Proces opakujeme N krát. Častou variatou tohoto postupu je tzv. biárí výběr, tedy výběr pro t = 2. Hodota t udávající velikost bojující skupiy je ozačováa jako velikost turaje (touramet size), přičemž je rověž možé mluvit přímo o síle selekce. 19

21 Z biologického hlediska tato metoda velmi věrě imituje přírodí výběr, který se řídí pravidly, která lze ve svých důsledcích shrout jako boj o přežití. Z hlediska implemetace, resp. rychlosti algoritmu, je podstatou výhodou turajové selekce to, že algoritmus ke své čiosti epotřebuje provádět setříděí populace ai počítat výběrové pravděpodobosti. Výpočetí složitost tohoto algoritmu je (N). Equatio Sectio 4 % touramet selectio (TS) Iput: P BS populace před selekcí, t velikost turaje Output: P AS populace po selekci P AS touramet(p BS, t) for i=1:n I' i ejlepší jediec z možiy t áhodě vybraých jediců populace P BS ed % elite touramet selectio (ETS) Iput: P BS populace před selekcí, t velikost turaje Output: P AS populace po selekci P AS touramet(p BS, t) for i=1:n I' i ejlepší jediec z možiy tvořeé jedicem I i a dále t-1 áhodě vybraými jedici populace P BS ed Obr. 4.2: Algoritmus TS a origiálí variata tzv. elitího turajového výběru (elite touramet selectio, ETS). Pravděpodobě jediou evýhodou turajové selekce tak zůstává fakt, že teto algoritmus emůže ze své podstaty zaručit zachováí ejlepšího jedice z populace P BS. Z tohoto důvodu byla avržea modifikace, která byla v kotextu zachováí elitího jedice azváa jako elití turajová selekce (ETS) elite touramet selectio, viz algoritmus dle Obr ETS je realizováa stejým mechaismem jako původí variata TS s rozdílem ve výběru jediců. Výběr prvího jedice do skupiy t jediců je realizová determiisticky tak, aby postupě oslovil všech N jediců v populaci. Ke každému takto pevě zvoleému jedici je dle velikosti turaje t přiřazováa další, již áhodě vybraá skupia t-1 jediců populace P BS a je učiě stadardí turajový výběr, viz pravá část Obr Tímto způsobem je zajištěo, že v rámci selekčího mechaismu emůže dojít ke ztrátě ejlepšího jedice, přičemž efektivita algoritmu zůstala zachováa (opět eí uté setříděí populace, tedy složitost je (N)). Statistická aalýza ETS je založea a srováí teoretických i empirických distribucí elití a stadardí turajové selekce. Předpokládejme, že při volbě jediců pro turaj užíváme áhodý geerátor s uiformí distribucí. Tedy i pravděpodobost áhodého výběru t jediců je stejá jak pro seřazeou (dle fitess) tak eseřazeou populaci (což je pro turajovou selekci běžé). Pro lepší představu a vyjádřeí ásledujících vztahů můžeme bez ztráty adekvátosti popisu přepokládat, že výběr t proběhe v seřazeé populaci, kde budou pro všechy jedice rozdílé hodoty fitess. Dále budeme sledovat skupiu řekěme k jediců a popíšeme jejich distribuci v kotextu jejich pravděpodobosti dostat se z populace P BS do populace P AS za předpokladu, že existuje l lepších jediců a j horších jediců z celkového počtu N jediců. S využitím biomického rozděleí obdržíme pro TS pravděpodobostí fukci (4.1). z tz t t t t N jk j jk j p( z) 1, z 0,1,, N (4.1) z N N N N Pravděpodobostí fukce p(z) vyjádřeá jako (4.2) pak popisuje distribuci jediců pro elití turajovou selekci, kde Z je daý počet kopií sledovaých jediců, kteří skočí v P AS. 20

22 x0,, j y0,, k zxy t1 t1 x t1 t1 jx j jk j jk j pz ( ) 1 x N N N N t1 y t1 k y k jk jk 1 y N N (4.2) 4.2 GAHC: HYBRIDNÍ GENETICKÝ ALGORITMUS V literatuře lze alézt růzé hybridí způsoby koexistece dvou optimalizačích algoritmů, apř. GA a dalších optimalizačích techik. V případě GA algoritmu můžeme apř. a daé úloze využít jeho globálě optimalizačí poteciál a získaé řešeí použít jako prví iteraci ějaké jié optimalizačí metody. Dobrým příkladem může být GA a Nelder-Meadův algoritmus, které jsou velmi efektivě implemetováy v prostředí MATLAB, kde je tak tato koexistece, resp. implemetace bezproblémová. V tomto případě ai jede z algoritmů eomezuje druhý a každý maximálě těží poteciál ze své doméy. Uvedeý způsob se diskutuje jako víceúrovňová optimalizace. Druhou možostí hybridizace dvou algoritmů, z ichž jede je GA, je založea a faktu, že GA maipuluje s možiou poteciálích řešeí, tedy s jedici. Častou hybridizací je v tomto případě asazeí další optimalizačí techiky přímo a jedice v populaci. Pricip této suboptimalizace je většiou takový, že se po určitém počtu geerací vybere určitý počet jediců, kteří se jako celek jiou metodou zoptimalizují a poté dál existují v populaci ve své ové "kodici". Teto způsob může vést k ežádoucí předčasé kovergeci. Důvod je prostý, je to velmi rychlé vyčerpáí poteciálě vhodého geetického materiálu, či jiými slovy rychlý záik schémat. Při hybridizaci ozačeé GAHC jsou zachováy všechy pricipy stadardího GA. Hybridizace je realizováa prostředictvím dalšího operátoru mutace, který je apliková s daou pravděpodobostí obvyklou u mutačích operátorů. Z tohoto pohledu se tedy jedá o cíleou mutaci. Jediečost algoritmu GAHC spočívá v kombiaci silé globálí metaheuristiky, kterou bezesporu geetické algoritmy jsou, spolu s lokálěji chápaou optimalizací ve formě mutace realizovaé pomocí HC12. Toto spojeí je ispirující i pro jié variaty syergismu optimalizačích metod. U této realizace je důležité, že se zachovává biárí báze kódováí problému, globálost prohledáváí GA a síla kovergece algoritmu HC12. GAHC představuje velmi efektiví spojeí geetického algoritmu a algoritmu HC12. Spojeí je realizováo prostředictvím, za tím účelem vytvořeého, mutačího operátoru. Algoritmus HC12 provádí cíleou mutaci malého rozsahu v prostoru populace. Počet vybraých jediců určeých pro HC12 optimalizaci odpovídá zvoleým pravděpodobostím parametrům. Další parametry a pricip GAHC je ejlépe patrý z Obr V pojetí moderích "tredů" bychom tuto cíleou mutaci v rámci populace mohli ozačit termíem ao optimalizace. Vziklá optimalizačí metoda GAHC dle testů schoposti efektivě alézt extrém převyšuje původí doméu GA i HC12. GAHC byla diskutováa apříklad v práci [A44]. 21

23 Obr. 4.3: Pricip GAHC algoritmu: HC12 optimalizace je provedea pouze a části biárí reprezetace jedice. Účelová fukce vyhodocující efektivitu řešeí je realizováa ad celým jedicem. Volba jedice je stochastická ve volitelém rozsahu, apř. dle zvyklostí pro mutačí operátory. Jak je zřejmé, pozice kerelu i jeho velikost mohou být voley determiisticky i stochasticky. Velikost kerelu, tedy délka vektoru a ker, je běžě 4 10 bitů. Možost volby pozice a velikosti kerelu je výhodou. Tímto způsobem lze v případě potřeby cíleě ovlivňovat daou reálou proměou (feotyp). Pricip GAHC lze pochopitelě aplikovat i s jiým biárě orietovaým optimalizačím algoritmem. 4.3 STE: KRITÉRIUM V ÚLOZE SYMBOLICKÉ REGRESE Jedou z ejovějších metod spadajících do evolučích výpočetích techik je gramatická evoluce (GE, grammatical evolutio) (Rya a kol., 1998) [RyaONei98], (O Neill a Rya, 2001) [ONeiRya03, ONeill08]. Jde v podstatě o ástroj pro automatické geerováí počítačových programů v jazycích popsaých Backus-Naurovou formou (BNF). Evolučí mechaismus metody může být založe a stadardím geetickém algoritmu (GA, GAHC, GAFIS), což je podstatou výhodou. Jedou z častých aplikací GE je řešeí problému tzv. symbolické regrese, což je úloha, při které hledáme eje vlastí parametry modelu (jak je běžé u mohých jiých optimalizačích metod), ale i samotou strukturu modelu. Jako běžé hodotící kritérium je v těchto úlohách používáo kritérium SSE (Sum Square Error, součet kvadratických chyb). V této podkapitole však představíme origiálí kritérium ozačeé jako STE (Sum -Tube Error). Pro další popis budeme uvažovat úlohu umerické aproximace dat, tedy ebudeme uvažovat vliv áhodé veličiy, jak by čiila statistika v úloze hledáí regresího modelu. V procesu ohodoceí kvality řešeí, resp. ávrhu aproximačího modelu, je v absolutí většiě případů využito jako hodotící kritérium metoda ejmeších čtverců. Obr. 4.4: Pricip STE a jeho dyamické parametrizace (vlevo) a klasické statické SSE kritérium (vpravo). Hodota STE se pro daý aproximačí model liší podle velikosti. Hodota parametru se a začátku procesu optimalizace astavuje a svoji horí mez a postupě se sižuje s rostoucí kvalitou (mírou shody) dle adaptačího kritéria. Teto dyamický způsob je pro GE symbolickou regresi vhodou volbou. 22

24 V případě GE a úlohy symbolické regrese se však ukazuje, že SSE miimalizačí kritérium emusí být pro kovergeci algoritmu vhodé. Z tohoto důvodu bylo avržeo ové kritérium ohodoceí ozačeé jako STE. Jde o kritérium, které staovuje míru podobosti dat s avržeou aproximací. Toto kritérium si lze pak představit jako trubici o poloměru, která se táhe přes všechy kotrolí body, které tvoří její osu. Pokud avržeá aproximace "skočí" uvitř této trubice, je ozačea jako podobá a tedy v rámci daého jako vhodá. Hovoříme o míře shody a "áležitost" aproximace trubici v daém kotrolím bodě hodotíme jako 1 a aopak 0, viz (4.3). c 0 yˆ i [ y, y ] STE ( ˆ ), ( ˆ e yi e yi) i1 1 yˆ i [ y, y ] (4.3) Výsledek STE kritéria (4.3) reprezetuje počet shod s epsiloovou trubicí při daém. Další vlastostí STE kritéria je to, že se jeho hodota v průběhu optimalizačího procesu jedosměrě měí dle splěí podmíek adaptace hodoty. Metod zavedeí adaptačí změy může být avržea celá řada. Poměrě jedoduché je apříklad ásledující řešeí. Nechť číslo adapt udává proceto kotrolích bodů, při kterém prohlásíme, že byla dosažea požadovaá shoda (emusí být utě 100%), dále echť je ve výzamu idexů staovea horí a spodí hraice hodot max a mi tak, aby odpovídala řešeému problému. Pak můžeme zavést podmíku s lieárí adaptací parametru pro zvoleý parametr kroku jako podmíku (4.4), ebo zavést podmíku s úrokovou mírou adaptace pro zvoleý procetuálí parametr % jako podmíku (4.5). Pochopitelě je uté dodržet logická hlediska a omezeí typu max mi, % 100% apod., KB : 100 STE jiak mi adapt (4.4) %, KB 100 % mi % : 100 adapt (4.5) STE jiak Podmíka ukočeí adaptace STE může být volea vzhledem k dosažeí limití hodoty, obecě také času či počtu geerací, ale může být též dáa počtem povoleých adaptačích změ. 1.2 ÚČELOVÁ FUNKCE - SDI - PRO 75 % BĚHŮ 1.2 ÚČELOVÁ FUNKCE - SSE - PRO 75 % BĚHŮ Obr. 4.5: Výsledek symbolické regrese realizovaé pomocí gramatické evoluce (GE) a totožé možiě kotrolích bodů. Nalezeá řešeí při použití STE kritéria s úrokovým modelem adaptace (vlevo) a řešeí dosažeá pomocí SSE kritéria (vpravo). Fukce geerující kotrolí body ( KN =50) y = 3x 4-3x+1. Výsledky odpovídají 75 alezeým ejlepším průběhům ze 100 realizací. 23

25 5 APLIKACE METOD POČÍTAČOVÉ INTELIGENCE Objektiví zhodoceí, zda jsou prezetovaé metody počítačové iteligece více či méě efektivím optimalizačím ástrojem, eí obecě možé. Subjektiví ázor autora by zde ebyl korektí, protože bez jeho adšeí by evzikl teto text ai prezetovaé metody. V rámci jisté objektivizace je možé kostatovat, že a prezetovaé třídě úloh prokázaly algoritmy HC12 a GAHC dobré vlastosti, tj. ašly efektivě (čas a přesost) řešeí problému a vedly si dobře až výborě i v porováí s tradičími exaktími postupy. Equatio Sectio 5 Při ávrhu ových, ale i testováí výkou stávajících optimalizačích algoritmů, je pochopitelě vhodé mít a reprezetativí možiě úloh možost srováí s jiými algoritmy. V oblasti implemetace optimalizačích metaheuristik je tato potřeba ještě itezivější z důvodu často silé parametrizovatelosti daých metod (GA, DE, GE aj.). 5.1 TURNAJ ŘEŠIČŮ HC12 A GAHC VS. GAMS V ÚLOZE F7 Je velmi epravděpodobé, že by mohl existovat "král" mezi optimalizačími algoritmy. Vždy je třeba pohlížet komplexě a optimalizačí problém a pro ěj zvolit vhodou metodu řešeí. Testováí výkou a vlastostí algoritmů HC12 a GA/GAHC a růzých úlohách věoval autor více prostoru, jak mimo publikačího, tak s publikačími výstupy, apř. [A46, A56, A69, A86]. Příklad výsledků pro úlohu globálí optimalizace je uvede v ásledující tabulce, která je převzata z autorova čláku [A78], viz Příloha B. V této tabulce jsou srováy výsledky dosažeé pomocí stadardích řešičů systému GAMS. Vzhledem k multimodalitě úloh je pro všechy typy řešičů prováděo vždy 1000 spuštěí, přičemž prví iterace je volea áhodě. Tab. 5.1: Výsledky růzých metod optimalizace (řešičů) pro úlohu F7 vzhledem k počtu proměých Dimeze úlohy F7 (Schwefel) HC12 (16bit a parametr), % úspěšosti 100% 100% 100% 100% počet alezeých optim / počet pokusů 1000/ / / /1000 optimálí hodota účelové fukce 837, , , ,9145 mediá hodot účelových fukcí 837, , , ,9145 průměrý čas řešeí (1CPU) 0,04 s 0,13 s 0,048 s 1,09 s CONOPT a, % úspěšosti 15% 15% 15% 15% počet optim / počet pokusů 150/ / / /1000 CONOPT b, % úspěšosti 3,5% 0,7% 0,1% 0,1% počet optim / počet pokusů 35/1000 7/1000 1/1000 1/1000 COINIPOPT a, % úspěšosti 19% 19% 19% 19% počet optim / počet pokusů 190/ / / /1000 mediá hodot účelových fukcí 403, , , ,2161 COINIPOPT b, % úspěšosti 3% 0,5% 0,3% 0% počet optim / počet pokusů 30/1000 5/1000 3/1000 0/1000 a Prví iterace je volea áhodě, ale shodě (geerováo jedo číslo), pro všechy kompoety hledaého vektoru x. b Prví iterace je volea áhodě pro všechy kompoety hledaého vektoru x. 5.2 QAP: KVADRATICKÝ PŘIŘAZOVACÍ PROBLÉM A HC12 SWAP2ABS Kvadratický přiřazovací problém, dále QAP (Quadratic Assigmet Problem), patří v současosti k jedomu z ejzajímavějších a z pohledu autora ejvyzývavějších problémů kombiatorické optimalizace. Zajímavost QAP je dáa více hledisky, z ichž to praktické představují mohé reálé problémy, které QAP může reprezetovat. 24