Hladanie motívov v DNA sekvenciách

Podobné dokumenty
Snímka 1

APROXIMÁCIA BINOMICKÉHO ROZDELENIA NORMÁLNYM A PRÍKLAD JEJ APLIKÁCIE V AKTUÁRSTVE S VYUŽITÍM JAZYKA R Abstrakt Príspevok sa zameriava na prezentáciu l

Prenosový kanál a jeho kapacita

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

Paralelné algoritmy, cast c. 2

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. 3

Microsoft Word - kriteria_ubyt_ doc

17. medzinárodná vedecká konferencia Riešenie krízových situácií v špecifickom prostredí, Fakulta špeciálneho inžinierstva ŽU, Žilina, máj 2

Statika (2.vydanie)

bakalarska prezentacia.key

PowerPoint Presentation

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

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

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

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

Paralelné algoritmy, cast c. 3

Microsoft Word - skripta3b.doc

IAB budicek - Branding Landscape & Research options_FINAL_Gregor.pptx

Pokrocilé spracovanie obrazu - Fourierová transformácia

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

Axióma výberu

Pokrocilé programovanie XI - Diagonalizácia matíc

Algoritmizácia a programovanie - Príkazy

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.

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

Microsoft Word - 1 Zakladne-pojmy

Naučme sa pripraviť a zrealizovať počítačom podporovaný experiment

1

Pracovný postup pre vypĺňanie údajov elektronického formulára IŠIS pre spravodajskú jednotku 1

kde parametre α a β vyjadrujú elasticitu \(pružnosť\) produkcie y vo vzťahu k činiteľom F a Z,  t.j. relatívny prírastok p...

Snímka 1

Microsoft Word - Duchon 2

Úroveň strojového kódu procesor Intel Pentium Pamäťový operand Adresovanie pamäte Priama nepriama a indexovaná adresa Práca s jednorozmerným poľom Pra

Microsoft Word - mnohouholnik.doc

1

Obce okresu Nové Zámky z aspektu ukazovateľov samosprávy

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č

03_ControlFlow.dvi

Jednotkový koreň (unit root), diferencovanie časového radu, unit root testy Beáta Stehlíková Časové rady, FMFI UK, 2011/2012 Jednotkový koreň(unit roo

Microsoft Word - DEOV.doc

Photo Album

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

Microsoft PowerPoint - OOP_prednaska_10.pptx

TM Leica DISTO Leica DISTOTMD510 X310 The original laser distance meter The original laser distance meter

NÁVRH UČEBNÝCH OSNOV PRE 1

Čísla Nájdite všetky dvojice prirodzených čísiel, ktoré vyhovujú rovnici: 2 ( a+ b) ( a b) + 2b ( a+ 2b) 2b = 49 RIEŠENIE ( ) ( ) ( ) 2 a+ b a

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

ORGANIZÁCIA SPOJENÝCH NÁRODOV

MERANIE U a I.doc

Princípy tvorby softvéru Programovacie paradigmy

Štruktúra Modelu Výsledky odhadu Záver Trh práce v krajinách strednej Európy: Small Search and Matching Model Martin Železník Národná Banka Slovenska

Univerzita Komenského v Bratislave Fakulta matematiky, fyziky a informatiky Zachovanie mentálnej mapy hrán pri interakcii s grafom Diplomová práca Bra

KOMBINOVAN PRESTUP TEPLA PRDENM A RADICIOU

Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií Ilkovičova 2, , Bratislava 4 Internet vecí v našich ž

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

Microsoft Word - Transparencies03.doc

Republika Srbsko MINISTERSTVO OSVETY, VEDY A TECHNOLOGICKÉHO ROZVOJA ÚSTAV PRE HODNOTENIE KVALITY VZDELÁVANIA A VÝCHOVY VOJVODINSKÝ PEDAGOGICKÝ ÚSTAV

Externé mediálne karty Používateľská príručka

Dobývanie znalostí

Blood Glucose Monitoring System Copyright Ascensia Diabetes Care Holdings AG. All rights reserved. diabetes.ascensia.com

2

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

Microsoft Word - Zaver.pisomka_januar2010.doc

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

Snímka 1

Testovanie kointegrácie nestacionárnych časových radov

PL_2_2_vplyv_objemu

Hl adanie podobností v textoch l udových piesní Autor: Michal Mižák Vedúci práce: doc. RNDr. Stanislav Krajči, PhD. Univerzita Pavla Jozefa Šafárika v

PoĊítaĊová sieť

STRUČNÝ NÁVOD KU IP-COACHU

trafo

DediĊnosť

Komplexný informa ný a monitorovací systém Monitorovanie biotopov a druhov európskeho významu Používate ská dokumentácia KIMS modul Mobilná aplikácia

Monday 25 th February, 2013, 11:54 Rozmerová analýza M. Gintner 1.1 Rozmerová analýza ako a prečo to funguje Skúsenost nás učí, že náš svet je poznate

SRPkapitola06_v1.docx

1 Rekurencie este raz riesenia niektorych rekurencii z cvik. mame danu rekurenciu napr T (n) = at ( n b ) + k. idea postupu je postupne rozpisovat cle

Microsoft Word - 06b976f06a0Matice - Uzivatelska Dokumentacia

Sila [N] Sila [N] DIPLOMOVÁ PRÁCA Príloha A: Sila v ose skrutky v mieste predpätia P = 0,

Microsoft Word - 3CB DF-2604.rtf

Strana 5526 Zbierka zákonov č. 590/2003 Čiastka NARIADENIE VLÁDY Slovenskej republiky zo 17. decembra 2003 o skúškach odbornej spôsobilosti pr

Snímka 1

Microsoft Word Nextra_ADSLink.doc

Resolution

SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE Fakulta informatiky a informačných technológií STU Ústav počítačových systémov a sietí ZADANIE SEMESTRÁLNE

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

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

V jedinej lekcii Meno: 1 Ako reagujete na profesionálne médiá? Pracujte vo dvojiciach a pripravte sa na hranie rolí. Označte sa ako Osoba A a Osoba B.

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

ECDL Syllabus V50 SK-V01

NSK Karta PDF

msu_zc_ineo224e

SK MATEMATICKÁOLYMPIÁDA skmo.sk 2009/ ročník MO Riešenia úloh česko-poľsko-slovenského stretnutia 1. Určte všetky trojice (a, b, c) kladných r

TSS GROUP A.S. UŽÍVATEL SKÝ MANUÁL EČV 2: Basic a Light Plate recognition software Október 2015 V Dubnica nad Váhom, dňa Róbert Sokol

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

PL_FMS5713_004_

eKasa

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

Prepis:

Slovenská techncká unverzta v Bratslave Fakulta nformatky a nformačných technológí FIIT-5208-49439 Bc. Róbert Cuprk Hl adane motívov v DNA sekvencách Dplomová práca Vedúc práce: prof. Ing. Pavol Návrat, PhD. Máj 2017

Slovenská techncká unverzta v Bratslave Fakulta nformatky a nformačných technológí FIIT-5208-49439 Bc. Róbert Cuprk Hl adane motívov v DNA sekvencách Dplomová práca Študjný program: Študjný odbor: Mesto vypracovana: Vedúc práce: Máj 2017 Informačné systémy 9.2.6 Informačné systémy Ústav nformatky, nformačných systémov a softvérového nžnerstva, FIIT STU v Bratslave prof. Ing. Pavol Návrat, PhD.

ČESTNÉ PREHLÁSENIE Čestne prehlasujem, že záverečnú prácu som vypracoval samostatne s použtím uvedenej lteratúry a na základe svojch vedomostí a znalostí.... Bc. Róbert Cuprk

POĎAKOVANIE Touto cestou by som sa chcel pod akovat svojmu vedúcemu práce prof. Ing. Pavlov Návratov PhD. za odborné vedene a rady pr písaní tejto práce. v

Anotáca Slovenská techncká unverzta v Bratslave FAKULTA INFORMATIKY A INFORMAČNÝCH TECHNOLÓGIÍ Študjný program: Dplomová práca: Autor: Vedúc práce: Máj 2017 Informačné systémy Hl adane motívov v DNA sekvencách Bc. Róbert Cuprk prof. Ing. Pavol Návrat, PhD. V súčasnom svete sa často stretávame s problémam, ktorých rešene s vyžaduje časovo náročné prehl adávane doménového prestoru rešení. Jedným z takýchto problémov je aj problém hl adana motívov v DNA sekvencách. Motívy sú krátke úseky DNA, ktoré nesú bologckú nformácu. Tento problém sa dá opísat ako problém optmalzáce, kde sa snažíme nájst taký motív, ktorý dosahne čo najlepše ohodnotene. Jedným z možných prístupov, ako rešt problémy optmalzáce, sú metaheurstké algortmy. Táto skupna algortmov sa snaží teratívnym procesom vylepšovat nájdené rešena až kým nedosahne globálne optmum, ktoré ale negarantuje. Vylepšene týchto algortmov paralelzácou nemusí predstavovat ba ch zrýchlene, ale ponúka aj možnost zlepšena kvalty výsledkov. Príkladom môžu byt genetcké algortmy, kde vaceré populáce paralelne hl adajú rešene, a ch jednc následne mgrujú, aby dosahl vyššu kvaltu výsledkov. V tejto prác sa budeme zaoberat takýmto prístupm a opíšeme paralelnú kooperatívnu metaheurstku, ktorá sa dá aplkovat ne len na problémy hl adana motívov. v

Annotaton Slovak Unversty of Technology Bratslava FACULTY OF INFORMATICS AND INFORMATION TECHNOLOGIES Degree Course: Master thess: Author: Supervsor: 2017, May Informaton systems Motf Fndng In DNA Sequences Bc. Róbert Cuprk prof. Ing. Pavol Návrat, PhD. Currently, t s common to be challenged by a problem whose soluton requres exhaustve search n doman space. One example of such can be motf fndng problem n DNA sequences. Motfs are short sequences of DNA that contan bologcally relevant nformaton. Ths problem can be seen as problem of optmzaton, where our goal s to fnd motf that has the hghest score n some knd of evaluaton metrc. One way to solve optmzaton problems s to use metaheurstc algorthms. Ths group of algorthms tres to mprove found solutons n teratve process untl t reaches global optma, whch s not guaranteed. Parallelzaton n ths group of algorthms may mprove not only tme needed for executon but qualty of found solutons as well. In parallel genetc algorthm, multple concurrent populatons exchange ndvduals to mprove overall qualty of solutons. In ths work we analyze possbltes of parallelzaton n metaheurstcs and descrbe parallel cooperatve algorthm that can be used to solve problems of optmzaton. v

Obsah 1 Úvod 1 1.1 Štruktúra práce........................... 2 2 Problém hl adana motívov v DNA sekvencách 5 2.1 Defníca problému......................... 6 2.1.1 Ohodnotene motívov................... 6 2.2 Exstujúce rešena......................... 8 2.2.1 Weeder........................... 8 3 Metaheurstky 11 3.1 Rozdelene metaheurstík...................... 11 3.1.1 Metaheurstky založené na trajektór........... 11 3.1.2 Metaheurstky založené na populácách.......... 13 3.2 Mult-objectve metaheurstky................... 13 3.2.1 Pareto optmálne rešena.................. 14 3.2.2 Mult-objectve Artfcal Bee Colony........... 16 4 Paralelzmus v metaheurstkách 17 4.1 Zdroje paralelzmu......................... 17 4.2 Klasfkáca paralelných stratégí.................. 18 4.2.1 1C paralelzáca na nízkej úrovn.............. 19 4.2.2 Nezávslé mult-vyhl adávane............... 20 4.2.3 Kooperátívne stratége................... 20 4.3 Asynchrónny model ostrovov.................... 22 4.4 Špecalzovaný model ostrovov................... 23 5 Perzstentné dátové štruktúry 25 5.1 Path copyng............................ 25 5.2 Tre................................. 27 5.3 Persstent bt-parttoned vector tre................. 28 6 Návrh algortmu 29 x

7 Implementáca 33 7.1 Jednec............................... 33 7.2 Ostrov................................ 34 7.2.1 Confg............................ 35 7.2.2 Problem........................... 36 7.2.3 Search............................ 37 7.2.4 State............................ 37 7.2.5 Vyhl adávací proces ostrova................ 38 7.3 Mgráce jedncov.......................... 39 7.3.1 Susedstvo a topológa................... 39 7.3.2 Funkce ponúkn jedncov, zober jedncov a asmluj... 40 7.4 MOABC............................... 40 7.5 Non-domnated sort......................... 42 7.6 Usporadane v rámc paretových radov.............. 42 7.6.1 Crowdng dstance..................... 42 7.6.2 Maxmn.......................... 43 7.6.3 Usporadane a výber jedncov............... 43 7.7 Postprocessng........................... 44 7.7.1 Extrahovane motívu pomocou konsenzu......... 44 7.7.2 Vederkové skóre...................... 45 7.7.3 Weed-out.......................... 45 7.7.4 Bucket-out......................... 46 7.7.5 Instance-flter........................ 46 7.7.6 Fltrovane výsledkov................... 46 7.8 DTLZ 7............................... 47 7.8.1 Ops problému....................... 47 7.8.2 Testovane pomocou DTLZ 7............... 49 8 Testovane a vyhodnotene 55 8.1 Testovací dataset.......................... 55 8.2 Použté metrky........................... 56 8.3 Parametre algortmu......................... 57 8.4 Metodológa testovana....................... 58 x

8.5 Výsledky testov a porovnane.................... 59 9 Záver 61 9.1 Budúca práca............................ 62 Lteratúra 63 A Elektroncké médum A-1 B Plán práce B-1 C Používatel ská príručka C-1 C.1 Konfguráce............................ C-2 D Techncká dokumentáca D-1 D.1 Lenngen.............................. D-1 D.2 Základný prehl ad balíkov...................... D-2 D.3 Problém............................... D-3 D.4 Vyhl adávaca metaheurstka.................... D-3 D.5 Spustene vyhl adávana....................... D-4 E Výsledky ostatných algortmov E-1 F Článok na IIT.SRC 2017 F-1 x

1 Úvod Každý organzmus na tejto zem sa formuje pomocou DNA. Snaha ju pochopt a rozlúštt motvovala bológov z celého sveta, aby vyvíjal stále nové a nové metódy na jej čítane. Proces tohto čítana ne je dokonalý a preto bológova potreboval pomoc nformatkov, aby vyvíjal algortmy na jej skladane. Medz takéto bonformatcké problémy patrí aj problém hl adana motívov, ktorý pracuje už s poskladaným úsekm DNA. Takéto motívy sú krátke úseky DNA nazývané aj bndng stes, ktoré sa vyskytujú pred d alším dlhším úsekm, ktoré používa organzmus na tvorbu belkovín. Teto proteíny, nazývané aj transkrpčné faktory, sa upínajú na motívy a pomáhajú následnému čítanu nformáce z DNA [11]. Aby sme vedel lepše pochopt obsah DNA, je užtočné vedet, kde sa takéto motívy vyskytujú. Za nm sa totž nachádza preps pre proteín, ktorý môže organzmus použt napríklad na boj prot nfekc. Hl adane týchto motívov ne je jednoduché. Veme o nch ba to, že sú pomerne krátke (rádovo v desatkách nukleotdov) a že sa zvyknú opakovat. Takže pre danú množnu ret azcov hl adáme taký podret azec, ktorý sa vyskytuje vackrát. Za navné rešene by sa dalo považovat skúšane všetkých možných podret azcov. To bohužal ne je možné ne len kvôl časovej zložtost (tento problém je NP-úplný), ale aj pre to, že teto motívy podlehajú mutácám. Môže sa stat, že v danom motíve je nejaký nukleotd navyše, chýba, alebo je zmenený [8]. Metaheurstcké algortmy sa na problém hl adana motívov pozerajú ako na problém optmalzáce. Predmetom optmalzáce je samotný motív, resp. jeho ohodnotene. To, ako tento motív ohodnott, sa stále skúma, no v [17] použl na jeho ohodnotene tr metrky. Dĺžku motívu čím dlhší tím lepší, podporu motívu v kol kých sekvencách sme daný motív našl, a podobnost motívu ako vel m sa tento motív medz sekvencam podobá. Na toto ohodnocovane sa dá použt aj tzv. entropa, ktorá presnejše opsuje podobnost medz motívm. Pr normálnej podobnost sa sčíta frekvenca najčastejše sa vyskytujúcch nukleotdov na daných pozícách. Pr entrop sa berú do úvahy aj ostatné frekvence a teda dokážeme rozlíšt motívy, ktoré možno majú rovnaké frekvence najdomnantnejších nukle- 1

otdov, ale môžu sa líšt v ostatných frekvencách. Pomocou entrope dokážeme určt, ktorý z týchto motívov je zakonzervovanejší, to znamená, že menej podleha mutácám. Pr metaheurstckých algortmoch sú ohodnocovace funkce rovnako dôležté, ako samotný spôsob hl adana rešena. Metaheurstky sa snaža rôznym teratívnym metódam posúvat rešene v prestore tak, aby zlepšoval optmalzoval jeho ohodnotena. Exstuje vel ké množstvo spôsobov tohto prehl adávana, ale vo všeobecnost každý zachováva dva prncípy. Intenzfkáca, kde sa algortmus snaží usmernt nájdené rešene k lepšemu, a dverzfkáca, kde sa algortmus snaží nájst nové rešena. Pr dôraze na ntenzfkácu algortmus nájde rešene skôr, no nemusí dosahnut globálne optmum. Jedným z druhov metaheurstík je tzv. rojová ntelgenca. Je to koncept umelej ntelgence, kde sa práve na prehl adávane doménového prestoru využívajú algortmy nšprované tým, ako zveratá a hmyz hl adajú potravu. V [17] využl metaforu včel a mplementoval algortmus MOABC (Mult Objectve Artfcal Bee Colony). Tento algortmus je založený na tom, že doménový prestor, v ktorom sa pohybujú včely, určuje polohu a vel kost motívu v sekvencách. Ked sa včela pohne, zmení sa aj príslušný motív. V súčasnost sa trend v metaheurstkách používaných pr hl adaní motívov presúva od hl adana najlepšej metafory alebo ohodnotena k preskúmavanu možnost využta vacerých metaheurstík a prístupov počas prehl adávana. Následne sa kombnujú výsledky, č už na konc, alebo počas samotného procesu hl adana. V tejto prác sa budeme venovat problému hl adana motívov použtím metaheurstík ako jedného z možných prístupov. Pokúsme sa navrhnút rešene, ktoré bude využívat paralelné prístupy, ne len na zrýchlene behu algortmu, ale aj na zlepšene kvalty dosahnutých rešení. 1.1 Štruktúra práce Táto práca je členená nasledovne. V kaptole 2 opsujeme, čo sú to motívy a defnícu problému ch hl adana. V kaptole 3 a 4 opsujeme metaheurstky, paretové rady a klasfkácu metaheurstík z paralelzačného hl adska. V kaptole 5 následne opíšeme perzstentné dátové štruktúry ako jeden z možných prístupov 2

zdel anej pamäte medz paralelne bežacm procesm. V 6. kaptole opíšeme náš návrh algortmu, ktorý je postavený na predošlých kaptolách. V kaptole 7 opíšeme blžše mplementácu a nektoré návrhové rozhodnuta. V kaptolách 8 a 9 následne opíšeme spôsob testovana a vyhodnotíme celú prácu. 3

2 Problém hl adana motívov v DNA sekvencách DNA motívy sú krátke opakujúce sa vzory v DNA, o ktorých sa predpokladá, že majú bologckú funkcu [11]. Častokrát ndkujú väzobné mesto pre proteíny zvané transkrpčné faktory alebo sú zahrnuté v procesoch s mrna. Aj ked sú teto motívy krátke (okolo 30 nukleotdov), mesta, na ktorých sa môžu vyskytovat v DNA, môžu mat nekol ko sto až vyše tsíc nukleotdov [21]. Teto motívy navyše nemusa byt rovnaké. Zatal čo enzým EcoRI sa napája ba na sekvencu GAATTC, enzým HndII sa napája na sekvencu GTYRAC, kde písmeno Y môže predstavovat nukleotd C alebo T a písmeno R môže byt nukleotd A alebo G [11]. Motívy tvora nukleotdy (A,T,G,C), ktoré nemusa byt v každom výskyte motívu rovnaké. Zvyknú sa preto reprezentovat cez tzv. poston frequency matrx (PFM). Takúto matcu je možno vdet v tabul ke 1 spolu s logom, ktoré je znázornené na obrázku č. 1. Tabul ka 1: Čast PFM pre motív YJL056C v géne ZAP1 1. A 0.502 0.9243 0.0137 0.0029 0.259... T 0.0912 0.0485 0.006 0.0129 0.2702... G 0.3905 0.0168 0.0022 0.003 0.0795... C 0.0163 0.0104 0.9781 0.9812 0.3913... Obr. 1: Logo motívu YJL056C v géne ZAP1 1. 1 http://yetfasco.ccbr.utoronto.ca/showpfm.php?mot=yjl056c 2097.0 5

PFM matca je tvorená frekvencam výskytov určtého nukleotdu na danom meste. Logo motívu, ktoré navrhol Schneder a Stephens [34], zobrazuje teto frekvence pomerm vel kost písmen. Narozdel od PFM uvádza aj zakonzervovanost motívu znázornenú výškou nukleotdu v btoch. Tá súvsí s tým, ako vel m podleha dané mesto mutácám. 2.1 Defníca problému V [21] defnujú problém hl adana motívov ako problém lokálneho zarovnana vacerých sekvencí, za predpokladu, že model motívu dosahne optmálne skóre pre nejakú ohodnocovacu funkcu. Tento problém je NP-úplný, no dá sa na neho pozerat ako na problém optmalzáce. V [21] sú optmalzačné problémy o M ohodnocovacích funkcíach matematcky opísané takto: Mnmalzujf(x) = [f (x), = 1,..., M] zatal čo platí: g j (x) 0 h (x) = 0 j = 1, 2,...J = 1, 2,...K 2.1.1 Ohodnotene motívov Takýto ops problému hl adana motívov využívame d alej v tejto prác. Preto uvádzame ohodnocovace funkce a ohrančena, ktoré bol opísané v [17] a [21] vzhl adom na túto problematku. Maxmalzuj: dĺžku motívu l, podporu motívu táto metrka opsuje, v kol kých sekvencách sme bol schopní daný motív dentfkovat, podobnost motívu medz sekvencam na základe PFM, 6

entropu motívu táto metrka opsuje meru nestoty v rozložení nukleotdov v PFM, čím je entropa nžša, tým lepše. Ked že maxmalzujeme ohodnocovace funkce, musíme túto metrku upravt napríklad prenásobením -1. Vo všeobecnost ju ale upravujeme tak, aby mala rozsah od 0 po 1, zatal čo je splnené: ohrančene dĺžky v [17] je to medz 6 a 64 nukleotdov, mnmálna podpora motívu medz sekvencam, mnmálna komplexta motívu. Na to, aby sme vedel vyrátat teto metrky, potrebujeme získat PFM reprezentácu daného motívu. Prehl adávací algortmus (metaheurstka) nám poskytne pozícu v doménovom prestore, ktorá predstavuje jedno možné rešene. Toto rešene obsahuje pozíce motívov v každej sekvenc a jeho dĺžku. PFM avšak nerátame z každého motívu [17]. Najprv s z týchto motívov vytvoríme tzv. konsenzus motív, čo je motív, ktorý obsahuje pre každú pozícu nukleotd vyskytujúc sa najvac. Proces skladana matce PFM je znázornený na obrázku č. 2. Obr. 2: Skladane matce PFM [17]. Do matce PFM akceptujeme ba motívy, ktoré majú s konsenzus motívom spoločných aspoň 50% nutkleotdov. Počet akceptovaných motívov tvorí výsledok 7

jednej z ohodnocovacích funkcí, konkrétne podpory motívu. PFM následne tvora frekvence nukleotdov z akceptovaných motívov. V rovnc 1 uvádzame vzorec na výpočet podobnost motívu ako jednej z ohodnocovacích funkcí. f(b, ) je frekvenca nukleotdu b {A, T, G, C} na -tej pozíc a l je dĺžka motívu. l=1 max b f(b, ) P odobnost = (1) l V rovnc 2 je uvedený výpočet komplexty. n je počet nukleotdov {A, C, G, T } vo výslednej sekvenc motívu. Komplexta = log N l! (n )! (2) Posledná ohodnocovaca funkca je uvedená v rovnc 3. Entropa ohodnocuje frekvence výskytov podobne ako podobnost. Odlšujú sa v tom, že entropa bere do úvahy celé rozložene frekvencí a ne ba najdomnantnejší nukleotd. l=1 b f(b, ) log Entropa = 2 (f(b, )) l (3) 2.2 Exstujúce rešena Aj ked exstujú algortmy, ktoré exhaustívne prehl adávajú doménový prestor ako napr. medánový ret azec, v prax sa väčšnou využívajú ba algortmy, ktoré prehl adávajú ba čast doménového prestoru. Teto algortmy sú založené na štatstckých prístupoch [21]. Medz ne patrí napríklad Consensus [18] a MEME [3]. Okrem nch exstujú aj metaheurstcké algortmy ako MOGAMOD [21], čo je genetcký algortmus alebo MOABC [17], kde využívajú na hl adane motívov metaforu včel. Predmetom výskumu sú aj hybrdné prístupy ako v [16], kde využívajú vacero metafor naraz. 2.2.1 Weeder Algortmus Weeder [31] je založený na prehl adávaní sufxového stromu vytvoreného zo vstupných DNA sekvencí. Sufxový strom [36] pre n znakový ret azec S je stromová dátová štruktúra s n lstam. Každá hrana je označená neprázdnym 8

podret azcom z S a každá cesta od koreňa po lst predstavuje jeden sufx ret azca S. Algortmus Weeder hl adá všetky (m, e) vzory, teda motívy o dĺžke m, ktoré sa vyskytujú aspoň v q sekvencách a podlehajú maxmálne e mutácám. Rekurzívne prehl adáva cesty v sufxovom strome a zahadzuje te cesty, ktoré prekročl maxmálny počet mutácí. Ohodnotene motívov Nad testovacím datasetom od Tompa a spol. [35], kde je úlohou nájst vo vacerých vstupných sekvencách motívy s neznámou dĺžkou, musel spustt vyhl adávane pre každý vstup vackrát. Použl vaceré hodnoty m od 6 po 12 a e od 1 až 4. q mohlo byt pr k vstupoch rovné k alebo k/2 [32]. Takto nájdené motívy dodatočne ohodnocoval, aby nemal prílš vel a výsledkov a vyhl sa tak falošným poztívam. Rovnca 4 opsuje tzv. očakávanú frekvencu 1. H(p, e) je množna motívov, ktoré majú Hammngovú vzdalenost 2 od p menšu alebo rovnú e. obs(p ) je počet výskytov p v sekvencách. total m je počet známych motívov danej dĺžky pre daný organzmus. E(p, e) = p H(p,e) Skóre špecfcké pre sekvencu je dané nasledovne: obs(p ) total m (4) Seq(p) = log 1 E(p, e ) l (5) kde p je motív, ktorý sa vyskytuje aspoň v q sekvencách s maxmálnym počtom mutácí, e. l je dĺžka -tej sekvence a e je mnmálny počet mutácí, s ktorým sa p vyskytuje v -tej sekvenc. Ďalej defnoval aj globálne skóre, kde L = l : Glo(p) = log obs(p, e) E(p, e) L (6) 1 Pre krátke motívy používal verzu, ktorá nedovol ovala mutáce. 2 Hammngová vzdalenost medz dvoma ret azcam je rovná počtu mest, kde sa nezhodujú znaky. 9

Výsledné skóre pre daný motív p je defnované ako: Score(p) = Seq(p) + Glo(p) (7) Následne s odložl pät najlepše ohodnotených motívov a te sa snažl ešte dodatočne vylepšt vzájomným spájaním alebo rozšrovaním. Označene výskytu motívu Testovací dataset [35] vyžaduje, aby program na výstupe presne uvedol ret azec nukleotdov, ktorý popsuje motív spolu s jeho pozícou v konkrétnej sekvenc. Motív defnovaný ako výsledok prehl adávana (m, e) preto nestačí. Na ohodnotene jednotlvých ret azcov bolo preto defnované skóre výskytov. Toto skóre využíva matcu PFM vytvorenú z ret azcov H(p, e). Potom pre každý výskyt ret azca p v sekvencách vyráta: kde M(p ) je Occ(p ) = M(p ) Mn(P F M) Max(P F M) Mn(P F M) (8) m M(p ) = log f(b, ) (9) j=1 a f(b, ) je hodnota frekvence 3 (z PFM) nukleotdu b na pozíc daného hodnoteným výskytom p. Mn(P F M) a Max(P F M) sú defnované ako súčet mnmálnych resp. maxmálnych hodnôt jednotlvých stĺpcov v matc PFM. Algortmus Weeder následne uvádzal na výstupe ba ret azce, ktoré mal toto skóre väčše ako 0,9. 3 Nulové frekvence bol nahradené hodnotou 0,001. 10

3 Metaheurstky Metaheurstky sú jedným z možných prístupov na rešene problému optmalzáce. Sean Luke ch vo svojej publkác Essentals of Metaheurstcs [26] opísal ako algortmy, ktoré sú aplkované na tzv. I know t when I see t problémy. Teto algortmy zvyčajne teratívnym spôsobom prehl adávajú doménovú oblast, prčom sa pr každej terác snaža zlepšt nájdené rešena. Takto generované rešene po stom čase (ked je splnená ukončovaca podmenka) prehlása za výsledné rešene problému. Toto rešene nemusí byt optmálne, avšak dobrá metaheurstka nájde dostatočne dobré rešene. Pojmy dverzfkáca a ntenzfkáca sú spojené metaheurstckým algortmam. Intenzfkácou ovplyvňujeme algortmus tak, aby rešene konvergovalo do lokálneho optma. Ak dbáme na ntezfkácu, nájdeme rešene rýchlejše, no nemusíme nájst globálne optmálne rešene. Dverzfkáca klade naopak dôraz na rôznorodost rešení pr spomalení konvergence. 3.1 Rozdelene metaheurstík Chrstan Blum a Andrea Rol vo svojej prác [5] rozdell metaheurstky na dve skupny metaheurstky založené na trajektór a metaheurstky založené na populácách. 3.1.1 Metaheurstky založené na trajektór Metaheurstky založené na trajektórách získal svoje meno pretože algortmus charakterzuje trajektóra, ktorú rešene prejde počas vyhl adávaceho procesu. Úplne najzákladnejší algortmus je znázornený v 1 [5]. Algorthm 1 Lokálne vylepšovane - teratívne prehl adávane 1: s GenerujPocatocneResene() 2: repeat 3: s Zleps(Suseda(s)) 4: untl s sa neda vylepst 11

Funkca Zleps(Suseda(s)) vyberá lepšeho suseda rešena s. Výber zlepšena môže byt založený na tom, že vybereme prvého lepšeho suseda, alebo napríklad na tom, že vybereme najlepšeho zo všetkých. Obdva teto prístupy však uvaznú v lokálnom optme a neobsahujú žaden mechanzmus, ako sa z neho dostat. Tento problém sa snaží rešt algortmus smulovaného žíhana, ktorý formuloval Krkpatrck a spol. v [22] ale aj Vladmír Černý v [6]. Tento algortmus je znázornený v ukážke 2. Algorthm 2 Smulované žíhane 1: s GenerujPocatocneResene() 2: T T 0 3: whle ne je splena ukoncovaca podmenka do 4: s VyberNahodne(Suseda(s)) 5: f f(s ) < f(s) then 6: s s 7: else f p(f(s ), f(s), T ) random(0, 1) then 8: s s 9: end f 10: T Zmens(T) 11: end whle Algortmus smulovaného žíhana je založený na metafore chladnuta rozžeraveného železa, ktoré, ak sa správne schladzuje, zaujme energetcky najvýhodnejší stav. Po tom, čo vygenerujeme počatočné rešene a určíme počatočnú teplotu, prebeha teráca tak, ako je znázornená na radkoch od 3 po 11. Nové rešene s sa zvolí náhodne z okola s a porovná sa ch ohodnotene f. Nové rešene je automatcky akceptované, ak je vyhodnotené ako lepše. Aby nedošlo k uvaznutu v lokálnom mnme, rešene s je akceptované ako nové s pravdepodobnost ou p, aj ked je horše. Táto pravdepodobnost závsí od ohodnotení daných rešení ako aj od času T, ktorý uplynul. p je z Boltzmannovej dstrbúce exp( ((f(s ) f(s))/t ). Pravdepodobnost, že bude akceptované ako nové horše rešene, klesá jednak s klesajúcm T, ale aj ak vzdalenost medz f(s ) a f(s) raste. 12

3.1.2 Metaheurstky založené na populácách Na rozdel od trajektorálnych metaheurstík, populačné metaheurstky generujú vacero rešení v rôznych oblastach domény naraz. Sú založené na populácách jedncov, kde každý predstavuje jedno možné rešene problému. Nové rešena sa medz terácam získavajú rekombnovaním elementov z už exstujúcch rešení [15]. Medz teto algortmy patra metaheurstky rojovej ntelgence ale aj rôzne evolučné algortmy. Príklad jednoduchého evolučného algortmu je znázornený v ukážke č. 3 [2][5]. Algorthm 3 Evolučný algortmus 1: P IncalzujPocatocnuPopulacu() 2: Ohodnot(P ) 3: whle ne je splena ukoncovaca podmenka do 4: P Rekombnaca(Selekca(P )) 5: P Mutaca(P ) 6: Ohodnot(P ) 7: VlozDoPopulace(P, P ) 8: end whle Na začatku algortmu 3 vdíme ncalzovane a ohodnotene populáce. Populácu tvora potenconálne rešena problému. V teratívom procese (radok 3 až 8) najprv vystupuje selekca a rekombnáca rešení. Pod týmto funkcam rozumeme výber rodčov a následnú tvorbu potomkov krížením. Selekca vo všeobecnost využíva prvky náhody a ohodnotene jednca. Mutáca s určtou pravdepodobnost ou mení potomka. Nakonec sa nová generáca kombnuje s tou starou. Tento proces sa opakuje, až kým ne je splnená ukončovaca podmenka. Tou môže byt uplynute času alebo aj nájdene dostatočne dobrého rešena. 3.2 Mult-objectve metaheurstky Exstuje vel a metaheurstckých algortmov. Okrem evolučného algortmu opísaného vyšše, poznáme aj algortmy rojovej ntelgence ako napríklad Ant Colony Optmzaton [12], ktorý je nšprovaný metaforou kolóne mravcov hl adajúcch potravu. Te vypúšt ajú feromóny na ceste, ktorú prešl. V Artfcal Bee Colony [19] zasa využívajú metaforu včel a ch tancovana podl a toho, aký dobrý našl 13

zdroj potravy. V Glowworm Swarm [23] využívajú svetelkovane hmyzu, založené na látke lucferín. Jednec svetelkuje vac vtedy, ak našel dobré rešene, a tým láka k sebe ostatných jedncov. Všetky teto algortmy sú ale vo svojom základe defnované tak, že využívajú jednu ohodnocovacu funkcu. V kaptole 2.1.1 sme na druhej strane zadefnoval problém hl adana motívov ako optmalzácu, ktorá využíva ohodnocovace funkce štyr. Jednou z možností, ako rešt tento problém, je použt prístup, ktorý s zvoll v [39]. Ich ohodnotene jednca predstavovalo agregácu všetkých ohodnocovacích funkcí: ohodnotene = m m w f, w = 1, w > 0 (10) =1 =1 kde f sú odohodnocovace funkce, m je ch počet a w sú náhodne zvolené váhy. Exstujú ale aj prístupy, ktoré reša túto problematku nak. Te opíšeme v nasledujúcch kaptolách. Zadefnovane problému cez vaceré ohodnocovace funkce prnáša vyššu zložtost vo vacerých fázach metaheurstckých algortmov. Vo všeobecnost je problém porovnat dve rešena a najlepše rešene nemusí byt ba jedno. 3.2.1 Pareto optmálne rešena Pareto optmálne rešena sú také, pre ktoré na to, aby sme zlepšl jednu ohodnocovacu funkcu, musíme zhoršt nú. O takýchto rešenach veme, že ne sú domnované žadnym ným rešením. Rešene a domnuje rešene b ak platí [25]: {1,..., m} : f (a) f (b) j {1,..., m} : f j (a) > f j (b) (11) kde f je ohodnocovaca funkca a m je ch počet. Teda jedno rešene domnuje né, ak ne je horše v žadnom ohodnotení a aspoň v jednom je lepše. Takéto rešena tvora paretový rad. Cel om metaheurstckých algortmov je tento rad aproxmovat. V [24] sa venoval problematke udržovana paretových radov. V ukážke 4 opísal metaheurstky, ktoré pracujú s týmto radm ako s archívom rešení. V tomto pohl ade na metaheurstky A (t) predstavuje archív a f (t) predstavuje 14

Algorthm 4 Iteráce metaheurstík s archívom 1: t 0 2: A (0) 3: whle ukonct?(a (t), t) = false do 4: t t + 1 5: f (t) generuj() 6: A (t) aktualzuj(a (t 1), f (t) ) 7: end whle množnu jedncov vygenerovaných v terácí t. Metóda generuj predstavuje proces tvorby nových rešení a aktualzuj sa venuje udržavanu archívu. Na základe stratége archívovana veme potom metaheurstky rozdelt na: aglortmy, ktoré sa zameravajú na konvergencu teto algortmy vo všeobecnost akceptujú rešena do archívu na základe toho, č sú domnované rešenam v archíve alebo samy nejaké nedomnujú, aglortmy, ktoré sa zameravajú na dstrbúcu teto algortmy sa rozhodujú ne len na základe domnance, ale aj na základe rozložena rešení. Napríklad v NSGA-II [9] využívajú vzdalenost rešení na dodatočné ohodnotene jednca. Obdva teto prístupy majú svoje opodstatnena. Zatal čo druhé rešene dbá na to, aby bol výsledky dstrbuované a teda paretový rad bol dobre aproxmovaný, podleha chybe zhoršena rešení. Prvý prístup garantuje, že sa nemôže stat, aby sa rešene na paretovej krvke zhoršlo [24], prčom druhý prístup môže hodnotene najlepšeho lokálneho rešena znížt kvôl dstrbúc a potom ho stratt. V [24] a [25] sa následne venoval prác s paretovým radm a domnanc. Využívajú koncept ɛ-domnance, ktorý je znázornený na obr. č. 3, na zlepšene vlastností paretových radov. 15

Obr. 3: Rozdel medz domnancou a ɛ-domnancou [24]. 3.2.2 Mult-objectve Artfcal Bee Colony Artfcal Bee Colony (ABC) [19] je algortmus rojovej ntelgence, ktorý na prehl adávane doménového prestoru využíva metaforu včel. Defnuje tr tpy: pracovníčky, ktoré sa snaža zment svoje rešene k lepšemu, przeračov, ktorí s vyberú rešene nejakej pracovníčky a to sa snaža následne zlepšt, preskumníčky, ktoré prnášajú do kolóne úplne nové rešena. Teto typy sa v rámc terácí stredajú v troch fázach (fáza pracovníček, fáza przeračov a fáza preskumníčok). Poloha týchto včel predstavuje možné rešene problému. V MOABC [17], rozšírl tento algortmus pomocou zorad ovana z NSGA-II [9], ktoré využíva paretové rady, aby mohol ABC rešt problém hl adana motívov tak, ako sme ho opísal v kaptole 2.1.1. Ich prístup je príkladom, ako sa dá metaheurstka postavená na jednom ohodnotení rozšírt na tzv. mult-objectve metaheurstku. 16

4 Paralelzmus v metaheurstkách Základnou motvácou na paralelzovane metaheurstík môže byt zrýchlene ch behu. V obdvoch typoch spomínaných v kaptole 3.1.1 a 3.1.2 nájdeme vnútorné cykly, ktoré sa dajú paralelzovat. Hl adane najlepšeho suseda v trajektorálnych metaheurstkách veme rozdelt medz procesy na základe prehl adávaného prestoru. Pr populačných algortmoch veme na druhej strane paralelzovat ohodnocovane jedncov. Takéto optmalzáce na nízkej úrovn ale nemusa byt dostačujúce. V našej mplementác MOABC [17] algortmus tráv najvac času (vac ako polovcu 4 ) pr zorad ovaní populáce 5. Kedže paralelzáca tohto zorad ovana je netrválna, algortmus sme paralelzoval na tej najvyššej úrovn, teda spúšt al sme vaceré nštance vyhl adávana paralelne nezávsle od seba. Nam zvolený prístup ale njako nezlepšl výsledky vyhl adávana a práve to môže byt druhá, slnejša motváca pre paralelzácu. V [16] napríklad použl pr hl adaní motívov paralelne bežace metaheurstky, ktoré v určtých bodoch synchronzujú svoje paretové rady rešení na to, aby zlepšl výsledky vyhl adávana. Takýto prístup zlepšuje výsledky, pretože rôzne algortmy spolu nteragujú a môžu s vymeňat eltných jedncov. V nasledujúcch kaptolách opíšeme rôzne prístupy pr paralelzácí metaheurstckých algortmov. 4.1 Zdroje paralelzmu V [15] opsujú hlavne zdroje paralelzmu a ch aplkovatel nost v metaheurstkách. Paralelzmus ako súbežné vykonávane vacerých procesov je založený na rozdelení zát aže medz samostatné jednotky. Takáto dekompozíca sa da docelt na vacerých úrovnach: algortmus functonal paralelsm vaceré úlohy, ktoré môžu pracovat nad rovnakou množnou dát a vymeňat s údaje, sú rozdelené medz procesy tak, aby bežal paralelne, 4 Pr nektorých behoch až 80% v závslost od konfguráce. 5 Tento čas sme meral pomocou IDE Netbeans a jeho funkce Profler. 17

dáta problémovej oblast data parallelsm / doman decomposton delená je problémová doména alebo prehl adávaný prestor, štruktúra problému mathematcal / attrbute-based decomposton rozdelene problému na základe atrbútov, kde nektoré úlohy reša podproblémy (podmnožnu atrbútov) a ostatné kombnujú teto rešena na rešene celého problému. V metaheurstkách je paralelzáca na úrovn vnútorných cyklov častokrát najjednoduchša. Na druhej strane paralelzované kroky bývajú na sebe časovo závslé a nároky na synchronzácu jej prínos znžujú. Zaujímavé je paralelzovat prehl adávane na úrovn problémovej oblast, kde jedným zo spôsobov je explctne rozdelt prehl adávaný prestor medz jednotlvé procesy. Druhou možnost ou je delt prestor mplctne pomocou metódy tzv. mult-search, kde využívame možnost aplkovat na doménu vaceré algortmy s rôznym spôsobm prehl adávana. S obdvoma prístupm prchádza problém radena celého vyhl adávaceho procesu, prčom pr prvom prístupe exstuje ešte možnost, že proces bude prehl adávat oblast s malou kvaltou rešení. Na druhej strane, pr mplctnom delení neexstuje garanca, že bude problémová oblast rozdelená tak, aby sa jednotlvé čast neprekrýval. 4.2 Klasfkáca paralelných stratégí V [15] použl klasfkácu z [7], ktorá delí paralelné metaheurstky na základe troch dmenzí: 1. Kardnalta ovládana prehl adávana (angl. Search Control Cardnalty) táto dmenza opsuje kol ko procesov rad prebeh vyhl adávana. (a) 1-control (1C) prehl adávane rad jeden proces, (b) p-control (pc) prehl adávane je radené vacerým procesm, ktoré spolu môžu ale nemusa spolupracovat. 2. Radene a komunkovane (angl. Search Control and Communcatons) zvyčajne sa v tejto dmenz dela algortmy na synchrónne procesy 18

musa zastavt v dohodnutom čase a potom komunkovat a asynchrónne, kde s každý proces rad vyhl adávane sám a rozhoduje sa, kedy chce komunkovat. V [15] teto tredy rozšírl a rozdell nasledovne: (a) Rgd (RS) procesy medz sebou počas vyhl adávana nekomunkujú, (b) Knowledge Synchronzaton (KS) procesy s na dohodnutých mestach zosynchronzujú vedomost o doménovom prestore napr. zjednota populáce ponechaním ba najlepších, (c) Collegal (C) asynchrónne komunkujú so susedm a vymeňajú s rešena, (d) Knowledge Collegal (KC) snaža sa získat vedomost z komunkáce, napríklad tvort nové rešena z častí komunkovaných rešení. 3. Delene prehl adávana (angl. Search Dfferentaton) táto dmenza delí algortmy podl a toho, č paralelné procesy začínajú z rovnakého mesta alebo populáce a č používajú rovnaký algortmus na prehl adávane doménového prestoru: (a) Same ntal Pont/Populaton, Same search Strategy (SPSS), (b) Same ntal Pont/Populaton, Dfferent search Strateges (SPDS), (c) Multple ntal Ponts/Populatons, Same search Strateges (MPSS), (d) Multple ntal Ponts/Populatons, Dfferent search Strateges (MPDS). V nasledujúcch kaptolách opíšeme vybrané prístupy, klasfkované v rámc týchto dmenzí. 4.2.1 1C paralelzáca na nízkej úrovn Tento druh paralelzáce je založený na model master-slave, ktorý je znázornený na obrázku č. 4. Jeden proces kontroluje celý prebeh vyhl adávana, zatal čo ostatné procesy spracúvajú nízko úrovňové výpočty. V populačných algortmoch master proces reš procesy ako výber rodčov a pohyb jedncov. Slave procesy reša ohodnotena a poselajú výsledky master-ov. V trajektorálnych metaheurstkách môžu zasa procesy paralelne hl adat a ohodnocovat suseda daného rešena. Takáto paralelzáca patrí do tredy 1C/RS/SPSS. 19

Obr. 4: Konfguráca master-slave [15]. 4.2.2 Nezávslé mult-vyhl adávane V [15] defnujú toto vyhl adávane ako stratégu, kde prebeha nezávsle od seba nekol ko vyhl adávaní v rámc celého doménového prestoru. Po skončení prehl adávana sa vybere najlepše rešene zo všetkých prehl adávaní. Procesy spolu njako nak nekomunkujú. Algortmy, ktoré sa rada touto stratégou, sú v trede pc/rs a môžu byt v hocktorej trede delena prehl adávana. 4.2.3 Kooperátívne stratége Teto stratége majú za cel pomocou nterakcí medz nezávslým procesm vyhl adávana zlepšt kvaltu výsledkov. Napríklad s môžu vymeňat doteraz najlepše získané výsledky. Jedným zo spôsobov, ako docelt takúto výmenu, je pomocou tabúl (angl. blackboard), teda nejakej formy zdel anej pamäte ako je znázornené na obrázku č. 5. Takáto tabul a môže byt jedna, alebo ch môže byt vacero. Jedným z príkladov kooperatívnych algortmov pc/c je paralelný evolučný algortmus založený na ostrovoch, ktorý bol v [28] opísaný tak, ako je uvedený v ukážke 5. Tento algortmus obsahuje E hlavných terác zvaných epochy. Na radku 6 až 8 vdíme, ako v rámc tejto epochy prebeha paralelne v procesoch sekvenčný evolučný algortmus nad podpopulácou P o G terácách. Následne na radkoch 9 20

Algorthm 5 Obr. 5: Model zdel anej pamäte[15]. Model ostrovov v EA 1: procedure MODELOSTROVOV(E,N,µ) 2: paralelne for 1 to N do 3: Incalzuj(P, µ) 4: end for 5: for epocha 1 to E do 6: paralelne for 1 to N do 7: Sekvencna EA(P, G ) 8: end for 9: for 1 to N do 10: for each j Suseda() do 11: Mgraca(P, P j ) 12: end for 13: Asmluj(P ) 14: end for 15: end for 16: end procedure 21

až 12 prebeha proces mgráce a následnej asmláce jedncov. Teto dva procesy na sebe závsa a sú špecfcké pre mplementácu. Napríklad pr mgrác jednca z P do P j ho môžeme z P vymazat alebo ne. Ak to tak neurobíme, asmláca musí po skončení mgrácí populácu redukovat, aby sa zachovala jej vel kost. 4.3 Asynchrónny model ostrovov Asynchrónny model ostrovov je modfkáca modelu ostrovov načrtnutého v kaptole 4.2.3. Tento model využíval napríklad v [27], kde ho použl spolu s algortmom NSGA-II [9] na návrh trajektóre medzplanetárneho letu. V [30] ho využíval takým spôsobom, že každý ostrov vylepšoval podmnožnu rozhodovacích premenných a kompletné rešena bol vyhodnotené pomocou výmeny jedncov medz ostrovm. Ich asynchrónny model je opísaný v algortme 6. Algorthm 6 Asynchrónne CCMOEA 1: t 0 2: paralelne for 1 to N do 3: Incalzuj(P 0, ) 4: end for 5: for 1 to N do 6: Zdelaj(P 0, ) 7: end for 8: paralelne for 1 to N do 9: Ohodnot(P 0, ) 10: end for 11: synchronzuj() 12: paralelne whle not ukoncovacapodmenka() 13: Generuj(P t, ) 14: Zdelaj(P t, ) 15: t t + 1 16: end whle 17: spojparetoverady() Na radkoch 1 až 11 prebeha ncalzáca algortmu. Najprv na radku 3 algortmus vytvorí podpopuláce. Potom sa na radku 6 prešíra častočné rešena 22

a následne sa ohodnota rešena v podpopulácach. Podstatné pre ops asynchrónneho modelu ostrovov sú radky 12 až 17, kde sa paralelne generujú nové populáce a následne každý ostrov asynchrónne zdel a svoje rešena. Po ukončení terácí algortmus spojí paretové rady všetkých ostrovov. Výhodou asynchrónneho prístupu je jeho zrýchlene oprot normálnemu prístupu, pr ktorom sa musa ostrovy čakat. Nevýhodou je nžša kontrola nad vyhl adávaním a rzko, že nektorý z ostrovov teruje rýchlejše ako ostatné. 4.4 Špecalzovaný model ostrovov Špecalzovaný model ostrovov (SIM) [38] je taký model, kde každý ostrov optmalzuje nú podmnožnu ohodnocovacích funkcí s cel om zlepšt dverzfkácu vyhl adávana. V [38] testoval vacero možností usporadana ostrovov a ch topológe a zstl, že usporadane na obrázku č. 6 bolo pre nm testované problémy najoptmálnejše. Obr. 6: Príklad SIM pre 3 ohodnocovace funkce[38]. 23

5 Perzstentné dátové štruktúry Rch Hckey 6 v jednej svojej prezentác 7 na tému stavu a času uvedol zaujímavý príklad s kontrolovaním dodržavana pravdel v pretekoch v atletckej chôdz. Pretekár poruša pravdlá, ak sa počas celého behu nedotýkajú zeme aspoň jednou nohou, teda nemôžu mat vo vzduchu obdve nohy naraz. Ak by sme programoval kontrolovač behu pretekára, proces by zrejme vyzeral nasledovne spýtal by sme sa prvej premennej, č je pravá noha vo vzduchu a dostal by sme kladnú odpoved. Následne by sme sa spýtal druhej premennej, l avej nohy, č je vo vzduchu a dostal by sme opät kladnú odpoved. Na otázku, č pretekár porušl pravdlá, ale neveme odpovedat. Musel by sme poznat, akú mal hodnotu teto premenné naraz v jednom čase. Toto je paralela s vacnt ovým programovaním, kde vaceré paralelné algortmy neustále mena stav nejakých premenných. Počas pretekov nechceme sút ažaceho zastavt len preto, aby sme skontroloval, č dodržuje pravdlá tak, ako častokrát nechceme zastavt bežace procesy. Jedným z rešení je odfott s pretekára, teda prradt k hodnotám premenných aj čas, kedy ch nadobudl. S programovaceho hl adska nám takéto fotky umožňujú robt perzstentné dátové štruktúry. Sla týchto štruktúr spočíva v tom, že pr každej zmene dostaneme úplne novú štruktúru. Pr paralelnom programovaní to napríklad znamená, že pr nektorých operácach nepotrebujeme zámky a né synchronzačné nástroje. Každý proces alebo vlákno s vypýta aktuálny stav (fotku premenných) a s nm následne pracuje, aj ked ch ostatné procesy počas toho znova mena. 5.1 Path copyng Predstavme s, že máme jednorozmerné pole prvkov. Na to, aby sme vedel vytvort jeho fotografu za každým, ked ho zmeníme, by sme musel vytvárat jeho kópe. Kopírovane n-prvkového pol a po každej zmene ne je časovo optmálne. Našt aste, nemusíme kopírovat celé pole, ale ba zmenené čast. Jedným zo spôsobov, ako docelt zdel ane prvkov medz verzam pol a, je použte metódy tzv. 6 Autor programovaceho jazyka Clojure 7 http://www.nfoq.com/presentatons/valu-identty-state-rch-hckey 25

Path copyng [20]. Základnou myšlenkou tohto prístupu je udržavane s vektora v stromovej dátovej štruktúre. Majme pole prvkov a = [1, 2, 3, 4, 5]. Jeho perzstentná reprezentáca použtím bnárnych stromov je znázornená na obrázku č. 7. Obr. 7: Vektor a reprezentovaný bnárnym stromom 8. Vrchol stromu obsahuje dĺžku pol a a smerníky na ostatné čast. Dáta sú uložené v lstoch stromu. Ak by sme toto pole zmenl napríklad prdaním d alšeho prvku b = a.push(6), dostal by sme nové pole, tak ako je znázornené na obrázku č. 8. Každá zmena pol a a vytvorí úplne nové pole, v tomto prípade je to b znázornené červenou farbou. Pr takejto prác so štruktúram nevytvárame skutočné kópe celého pol a ale ba kópe cesty. Analogcky fungujú aj d alše operáce ako zmena prvku alebo jeho odobrate. 8 http://hypron.com/musngs/understandng-persstent-vector-pt-1 26

Obr. 8: Pole a a b po prdaní prvku. 5.2 Tre Vyhl adávane prvkov v takomto strome je založené na stromoch zvaných Tre [14]. Pr klasckých bnárnych stromoch je prehl adávane postavené na tom, že hodnoty menše ako hodnota vrchola sa nachádzajú v l avom podstrome a hodnoty väčše naopak v pravom. V tre stromoch je nájdene prvku založené na kl úč napríklad na postupnost písmen, ako je znázornené na obrázku č. 9. Vyhl adávane vrchola v bnárnom strome, ktorý je na obrázku č. 9 vl avo, predstavuje rekurzívne vyberane správneho podstromu na základe hodnoty vrchola, až kým sa nedostaneme po hl adaný vrchol. Na obrázku je znázornené hl adane vrchola 2, kde na základe hodnôt deme stále do l avého podstromu. V pravej čast obrázka je znázornený strom tre a kl úč aa. Pr hl adaní prvku podl a kl úča sa najprv vybereme po vetve a a následne znovu po vetve a. 27

Obr. 9: Nájdene prvku v bnárnom strome a strome tre. 5.3 Persstent bt-parttoned vector tre V Clojure mplementácí takýchto perzstentných štruktúr využívajú stromy, ktoré sa volajú Persstent bt-parttoned vector tre. Teto stromy su vel m podobné stromom opísaným vyšše, líša sa však v nektorých vlastnostach: počet hodnôt uložených v jednom vrchole je 32 takáto reprezentáca spôsobuje, že stromy sú plytké a tučné, kl účom k prvku je 32-btové číslo na adresovane jednej vetvy potrebujeme 5 btov z tohto kl úča, teda maxmálna hĺbka takéhoto stromu je 6. Počet prvkov, ktoré sa dajú v takomto strome uložt, je dostatočne vel ký vzhl adom na hardvérové obmedzena a zložtost prístupu je maxmálne O(6), tal optmsaton 9 teto stromy využívajú optmalzácu, kde vrchol ukazuje na koncový vrchol pramo. Pr takomto usporadaní prdávane prvku do pol a znamená, že vytvárame ba dva vrcholy koreň a koncový vrchol. Novú cestu treba vytvárat, ba ak sa koncový vrchol zaplní celý. To sa pr 32-prvkových vektoroch stáva pr každom 32. prdaní. 9 http://hypron.com/musngs/understandng-persstent-vector-pt-3 28

6 Návrh algortmu V [15] spomínajú 6 problémov, ktorým sa treba venovat pr návrhu paralelných kooperatívnych metaheurstík: aké nformáce sa prenášajú medz procesm, medz ktorým procesm sa teto nformáce prenášajú, kedy sa teto nformáce prenášajú, akým spôsobom, ako proces narába so získaným nformácam, sú nformáce menené v rámc prenosu alebo sú vytvárane úplne nové nformáce. V nasledujúcch radkoch opíšeme návrh algortmu a budeme sa snažt teto otázky zodpovedat. Prvotnou deou, s ktorou sme pracoval, bolo rozdelene ohodnocovacích funkcí. Rozhodl sme sa ch rozdelt do rôzne vel kých skupín. Týchto skupín je 2 n n 1, kde n je počet ohodnocovacích funkcí a dokopy tvora každú podmnožnu množny ohodnocovacích skupín, okrem prázdnej množny a množín, ktoré obsahujú ba jednu funkcu. Ak teda O je množna ohodnocovacích funkcí, potom defnujeme množnu F, takú, že F = {F, F P (O) F > 1}, kde P (x) je potenčná množna. Pr čítaní článkov sme našl paralelu tohto prístupu v dekompozící multobjectve ohodnotení pomocou vážených vektorov. V SDMOPSO [1] rozšírl Partcle Swarm Optmsaton na mult-objectve takým spôsobom, že každému jedncov prradl ný vektor váh, pomocou ktorého sčítaval ohodnocovace funkce a agregát následne optmalzoval. Každý jednec teda optmalzoval sngleobjectve problém len s ným náhodne zvoleným váham, prčom dva jednce nemal rovnaké váhy. Ich motvácou bola aproxmáca paretového radu, kde každý jednec nklnoval k nejakej jeho čast na základe svojho vektora váh. Je vhodné spomenút, že v [1] používal aj né mechanzmy, avšak našu paralelu tvorí 29

fakt, že potláčame nektoré ohodnocovace funkce na to, aby sme dosahl čo najlepšu dverzfkácu a aproxmácu paretového radu. Tento prístup je podobný modelu SIM, ktorý sme opísal v kaptole 4.4. Máme teda 2 n n 1 procesov P kde každý pracuje s nejakou množnou ohodnocovacích funkcí F F. Algortmus, ktorý navrhujeme, je asynchrónny a decentralzovaný, teda v klasfkác opísanej v kaptole 4.2 zapadá do pc a do nektorej z kolegálnych kategórí. Komunkáca medz procesm prebeha asynchrónne a s pravdepodobnost ou p c po každej terác algortmu. Komunkujeme dfúzou so susedným procesm. Teto procesy budu náhodne rozložené v 2D prestore tak, ako je znázornené na obrázku č. 10. Táto komunkáca sa dá opísat nasledovným bodm: Obr. 10: Procesy P v 2D prestore a ch dosah. Proces P má dosah ba na susedov vo svojom okolí o t. Toto okole sa časom mení tak, ako je znázornené na obrázku č. 10, kde proces P 4 na začatku ovplyvňuje procesy v červenom kruhu (o 1 ) a po stom čase sa jeho okole zväčší na zelený kruh (o 2 ). Procesy ponúkajú ostatným procesom celý paretový rad. Prjímajúc proces 30

sa teda môže rozhodnút, ktorého jednca s vybere. V našej mplementác to je prvý jednec v rade, no napríklad v [27] využívajú pr výbere jednca metrku crowdng dstance z NSGA-II [9]. Vel kost okola, s ktorým komunkujú o t aj pravdepodobnost p c ako často komunkujú, časom raste. Toto je paralela so smulovaným žíhaním, kde na začatku je podporovaná dverzta a neskôr chceme, aby algortmus konvergoval. Takto procesy na začatku môžu konvergovat podl a svojch ohodnocovacích funkcí, ale neskôr budú nklnovat k mplctnému globálnemu optmu. Komunkáca prebeha pomocou tabúl, teda exstuje centralzovaná pamät, kde sú pomocou perzstentných dátových štruktúr uložené ponúkané rešena spolu s pozícou, kde bol vytvorené. Proces P po skončení teráce ponúkne ostatným procesom rešene x s pravdepodobnost ou p c. Ostatné procesy toto rešene vda ked komunkujú a vyberú s ho s pravdepodobnost ou, ktorá závsí od vzdalenost medz P j a P. Proces P j s môže vybrat jedno alebo vacero rešení. Pravdepodobnost výberu x procesom P j raste lneárne no exstuje možnost použta gausovej dstrbúce. V prehl adávacích procesoch beží sekvenčná mult-objectve metaheurstka. Krok jednca resp. jeho zmena musí obsahovat prvky, ktoré využívajú najlepšeho doteraz nájdeného jednca, alebo rôzne pamät ové prvky, kde s jednce pamätajú doteraz najlepše rešene. V algortme Gbest-guded ABC [40] využíval na pohyb jednca rovncu 12. v j = x j + φ j (x j x kj ) + Ψ j (y j x j ) (12) Táto rovnca popsuje pohyb včely, kde v je nová pozíca a x je stará. Index a j popsuje, o ktorú včelu sa jedná a o aký prvok vektora. φ j je náhodné číslo medz [-1,1] a Ψ j je náhodné číslo medz [0,C]. Okrem prvej čast rovnce prdal aj člen, v ktorom sa vyskytuje y, čo je najlepše dosahnuté rešene. To teda smeruje rešena k nejakému určenému bodu. V našom prípade to je k bodom, ktoré proces prjal od susedov. Pravdepodobnost, s akou sú jednce t ahané, sa môže časom ment. Alternatíva k tomuto rešenu je, aby proces začlenl všetky jednce, ktoré 31

prjme do svojej populáce. Z globálneho pohl adu na prehl adávane exstuje proces, ktorý spravuje tabul u. Ked že procesy ponúkajú svoje najlepše rešena, dá sa na ne pozerat ako na rešena, ktoré aproxmujú paretový rad celého prehl adávana. Výsledný rad, teda bude zložený z rešení, ktoré bol použté pr komunkác. 32

7 Implementáca Algortmus sme sa rozhodl mplementovat v programovacom jazyku Clojure 10. Ide o funkconálny jazyk bežac v Java JVM. Tento jazyk natívne pracuje s perzstentným dátovým štruktúram opísaným v kaptole č. 5 a obsahuje aj né mechanzmy na zjednodušene paralelzáce 11. Pr mplementác sme dbal na to, aby sme využíval prevažne ba čsté funkce. Funkca je čstá, ak jej výsledok závsí ba od jej vstupu a počas svojho vykonávana nemá žadne vedl ajše účnky. Takéto funkce sa l ahše testujú, no prmárnym dôvodom pre ch používane bolo zjednodušene paralelzáce. Čsté funkce môžeme bezpečne používat v paralelnom prostredí, kedže njako nezmena svoj vstup a an neprstupujú do žadnej krtckej oblast. Tento pohl ad na funkce ovplyvňuje aj návrh celého systému. Entty ako jednec (rešene) alebo ostrov by bol v OOP klasckým tredam, ktoré by mal svoj stav a metódy. Volane týchto metód by menlo stav danej entty. Pr funkconálnom programovaní sa ale na teto entty pozeráme ako na dáta. Jednec alebo aj ostrov sú dáta, ktoré nejaká funkca pretvorí na né dáta. Funkconálna paradgma, ktorá využíva perzstentné dátové štruktúry opísané v kaptole č. 5 a čsté funkce, nám umožňuje paralelné programovane pr mnmálnom použtí zámkov. V nasledujúcch kaptolách opíšeme návrh a mplementácu ostrova opísaného v kaptole č. 6. Ostrov musí vedet fungovat v paralelnom prostredí, kde s budú ostrovy medz sebou vymeňat jedncov asynchrónne. Musí vedet pracovat s l ubovolným optmalzačným problémom a l ubovol nou metaheurstkou. 7.1 Jednec Jednec predstavuje jedno možné rešene problému, ktorý sa snažíme optmalzovat. V ukážke č. 1 je znázornená naša mplementáca jednca ako záznamu dát, bez vlastných metód alebo funkconalty. 10 https://clojure.org/ 11 Futures, Promses, Agents a né 33

S týmto jedncom musí vedet pracovat čo najvac metaheurstík a problémov, preto sme sa ho snažl navrhnút čo najvšeobecnejše. Skladá sa z atrbútov, ktoré opsujú jeho ohodnotene, č už normalzované alebo ne, pozícu v doménovom prestore alebo to, č je valdný. Jednec je valdný, ak spĺňa ohrančena dané problémom a zároveň je jeho pozíca v hrancach doménového prestoru. Každá metaheurstka s môže navyše ukladat pre ňu špecfcké dáta, napríklad počet pokusov o zlepšene pozíce a pod. {:objectves {:orgnal {} :normalzed {}} :poston [] :data {} :vald false} Ukážka 1: Jednec 12. 7.2 Ostrov Ostrov je základná jednotka nášho algortmu, ktorý bol opísaný v kaptole č. 6. Každý ostrov slúž ako abstrakca, ktorá vykonáva jeden konkrétny optmalzačný algortmus nad daným problémom. Aj ked náš algortmus ne je programovaný v paradgme OOP, použl sme dagramy tred na to, aby sme opísal jednotky programu a ch vzt ahy. Dagram, ktorý opsuje ostrov, je možné vdet na obrázku č. 11. Každý ostrov je defnovaný štyrm jednotkam: confg problem search state 12 Vo formáte EDN http://edn-format.org/ 34

Obr. 11: Dagram tred opsujúc ostrov. 7.2.1 Confg Jednou z požadavek na ostrov je, aby bežal v samostatnom procese čo možno najoddelenejše od ostatných procesov. Preto s každý ostrov nese vlastnú nštancu konfguráce, ku ktorej môže prstupovat bez toho, aby musel rešt problémy spojené so synchronzácou. Táto konfguráca je využívaná ostatným jednotkam ostrova. Kedže všetky parametre sú oddelené od mplementáce problému alebo vyhl adávaceho algortmu, vaceré ostrovy môžu využívat rovnaký kód no s ným nastavenam. Takýto návrh zjednodušuje aj testovane, pretože každý parameter, ktorý ovplyvňuje beh programu, je dostupný na jednom meste. 35

Obr. 12: Dagram tred opsujúc objekt Problem. 7.2.2 Problem Tento objekt, znázornený na obrázku č. 12, predstavuje nštancu problému ako napríklad problém hl adana motívov (kaptola č. 2) alebo DTLZ7, ktorý opíšeme v kaptole č. 7.8. Pre problém ako taký, resp. pre jeho abstrakcu sme defnoval 4 funkce, ktoré treba mplementovat, aby ho vedel ostrov optmalzovat : evaluate táto funkca slúž na ohodnotene jednca defnovaného v kaptole 7.1. Po vykonaní tejto funkce musí mat jednec nastavené výsledky svojho ohodnotena a pre zjednodušene aplkáce aj príznak, ktorý popsuje, č je daný jednec valdný. generate vytvorí valdného a ohodnoteného jednca na náhodnej pozíc v doménovom prestore. s-vald? vrát true alebo false podl a toho, č je jednec valdný. objectves vrát kl úče, na základe ktorých sa dá prstupovat k ohodnotenu jednca. Teto kl úče môžu byt jednoduché čísla, ale aj symboly ako :smlarty alebo :length v závslost od konkrétneho problému. 36

7.2.3 Search Obr. 13: Dagram tred opsujúc objekt Search. Dagram na obrázku č.13 opsuje objekt Search. Ten je nštancou metaheurstky, ktorú využíva ostrov na prehl adávane doménového prestoru. Tento objekt poskytuje dve metódy terate a nt-sland. Metóda terate predstavuje jednu terácu metaheurstky. Jej argumentom je celý ostrov, ktorého stav následne mení. Vyhl adávane MOABC (kaptola č. 7.4) napríklad vykoná všetky fázy včel. Metóda nt-sland slúž na ncalzácu ostrova a jeho populáce z pohl adu použtej metaheurstky. MOABC potrebuje vytvorené paretové rady a dodatočné ohodnotena opísané v kaptole 7.6. 7.2.4 State Tento objekt (obrázok č. 14) je nostel om stavu ostrova resp. vyhl adávana. Obsahuje súčasnú populácu a množnu jedncov, ktorí tvora paretový rad. Okrem toho obsahuje dáta špecfcké pre vyhl adávací algortmus a atrbút g-best. Tento atrbút predstavuje jednca, ku ktorému sú ostatné jednce akokeby t ahané (rovnca č. 12). 37

Obr. 14: Dagram tred opsujúc objekt State. 7.2.5 Vyhl adávací proces ostrova V algortme č. 7 opsujeme vyhl adávací proces ostrova. Na radkoch 1-4 vytvárame ostrov ako kombnácu rešeného problému, vyhl adávaceho algortmu a konfguráce. Nasleduje teratívny proces, kde vyhl adávací algortmus S vykoná terácu metaheurstky. Následne na radkoch 8-10 sa s určtou pravdepodobnost ou závslou na čase t vykoná funkca ponuknjedncov. Na radkoch 11-14 sa znova s nejakou pravdepodobnost ou vykonajú funkce zoberjedncov a asmluj. Algorthm 7 Vyhl adávane ostrova 1: P vytvorp roblem(:dtlz7) 2: S vytvorsearch(:moabc) 3: C vytvorkonf guracu() 4: I 0 vytvorostrov(c, S, P ) 5: whle ukonct?(i t, t) = false do 6: t t + 1 7: I t teruj(s, I t 1 ) 8: f p(t) random(0, 1) then 9: ponuknjedncov(i t ) 10: end f 11: f p 2 (t) random(0, 1) then 12: M zoberjedncov(i t, t) 13: I t asmluj(i t, M) 14: end f 15: end whle Funkce ponuknjedncov, zoberjedncov a asmluj predstavujú mechanzmy 38

komunkáce medz ostrovm, ktoré opíšeme v nasledujúcch kaptolách. 7.3 Mgráce jedncov Mgráca jedncov je mplementovaná pomocou zdel anej pamäte (kaptola č. 4.2.3). Každý ostrov má k dspozíc dve entty: zdel aná pamät tá obsahuje štruktúry pre každý ostrov, kde môžu zapsovat svoje rešena. Teto štruktúry sú krtcké oblast z pohl adu paralelného programovana. Každý ostrov môže písat ba do svojej štruktúry, no čítat môže zo všetkých. Teto krtcké oblast sú chránené pomocou Atom-ov 13, ktoré zabezpečujú chránený záps a čítane. Kedže používame perzstentné dátové štruktúry (kaptola č. 5) nemôže sa stat, že jeden ostrov s zobere dáta zo zdel anej pamäte a nekto ný mu ch zmení. susedstvo táto štruktúra je špecfcká pre každý ostrov tj. každý ma nú nštancu. Pre ostrov I k sa skladá z dvojíc (I, d k ), kde I I k a d k je vzdalenost medz ostrovm I k a I. Obsahuje teda nformácu o tom ako sú ostatné ostrovy vzdalené od ostrova I k. 7.3.1 Susedstvo a topológa Topológe určujú cesty, ktorým môžu ostrovy komunkovat. Na obrázku č. 15 uvádzame príklad kruhových topológí, kde ostrovy komunkujú ba s ostrovm, s ktorým majú spoločnú hranu. V mplementácí nášho algortmu nemáme takto explctne určenú topológu, resp. každý ostrov je prepojený s každým ným ostrovom a komunkáca závsí od času a vzdalenost medz ostrovm. Ostrovy sú v našej mplementác rozmestnené v mrežke prčom v prvom a v poslednom bode tejto mrežky sú umestnené ostrovy, ktoré optmalzujú všetky ohodnocovace funkce. V budúcej prác by bolo vhodné vyskúšat aj né rozmestnene. Z tejto topológe a vzdaleností sa pre každý ostrov vyrátavá jeho susedstvo. 13 https://clojure.org/reference/atoms 39

Obr. 15: Topológe (zl ava) Kruh, Kruh+1+2, Kruh+1+2+3[33]. 7.3.2 Funkce ponúkn jedncov, zober jedncov a asmluj Funkce ponuknjedncov, zoberjedncov a asmluj zabezpečujú výmenu jedncov medz ostrovm a sú volané po každej terác metaheurstky s určtou pravdepodobnost ou. Funkca ponuknjedncov zapíše prvý paretový rad do zdel anej pamäte, čím poskytne jedncov ostatným ostrovom na čítane. Funkca zoberjedncov pracuje so susedstvom ostrova. Najprv na základe času obmedzí množstvo kanddátov, s ktorým môže ostrov komunkovat. Toto množstvo závsí od vzdalenost ostrovov. Na začatku vyhl adávana môže ostrov komunkovat ba s blízkym ostrovm. Okole, s ktorým s môže vymeňat rešena, sa časom zväčšuje. Potom s náhodne vybere ostrov od ktorého chce čerpat rešena pomocou rulety. Ostrovy, ktoré sú blžše, majú väčšu šancu na výber. Kedže ostrovy poskytujú celý paretový rad, ostrov prjímajúc rešena sa musí rozhodnút, ktoré rešene z paretového radu s zobere. V našej mplementác je to prvý jednec v rade. Je možné vyskúšat aj ný výber, napríklad v [27] vyberal jedncov pomocou ohodnotena crowdng dstance. Funkca asmluj nastaví prjatého jednca ako nového g-best. 7.4 MOABC Metaheurstka, ktorú používame v ostrovoch, sa volá Multobjectve Artfcal Bee Colony (MOABC) [17]. Jej fungovane sme už načrtl v kaptole 3.2.2. V algortme 8 uvádzame pseudokód metódy terate, ktorú poskytuje naša mplementáca MOABC ostrovu. 40

Algorthm 8 MOABC - terate 1: procedure ITERATE(Island I) 2: Stav stav(i) 3: P populaca(stav) 4: W, O, S rozdelp opulacu(p ) 5: W fazap racovncek(p, W ) 6: O fazap rzeracov(p, W, O) 7: S f azap reskumcek(s) 8: P 2 spoj(w, O, S) 9: F ronts vytvorp aretof ronty(p 2 ) 10: F ronts zoradv RamcF rontov(f ronts) 11: P 3 vytvornovup opulacu(f ronts) 12: I 2 zmenstav(i, Stav, P 3, F ronts) 13: return I 2 14: end procedure V radkoch 2-4 získame populácu zo súčastného ostrova a následne ju rozdelíme na 3 skupny pracovníčky, przeračov a preskumníčky. Rozdelene prebeha takým spôsobom, že napríklad prvých 50% považujeme za pracovníčky, dalších 40% za przeračov a zvyšné včely za preskumníčky. Po tomto delení nasledujú fázy na radkoch 5-7 tak, ako sú defnované v ABC [19]. V pôvodnom algortme vo fáze przeračov s včely tejto skupny náhodne zvola jednu pracovníčku a jej pozícu sa snaža zlepšt. Pravdepodobnost, že táto včela bude vybraná, závsí od jej ohodnotena. Kedže pôvodné ABC optmalzovalo ba 1 ohodnocovacu funkcu, takýto výber sme nemohl presne mplementovat. Pravdepodobnost výberu pracovníčky v našom algortme môže závset bud od pozíce v paretovom rade alebo od nejakého ného ohodnotena v rámc tohto radu. Tomuto problému sa venujeme v nasledujúcch kaptolách. Po týchto fázach nasledujú kroky spojené s optmalzácou vacerých ohodnocovacích funkcí. Na radku 8 vytvoríme novú populácu spojením vyšše opísaných skupín. Následne na radku 9 vytvoríme z tejto populáce paretové rady pomocou non-domnated sort opísaného v nasledujúcej kaptole. Tento spôsob zoradena nám vrát množnu radov, kde v prvom rade sú všetky včely lepše ako v druhom atd. Nehovorí ale nč o tom, v akom vzt ahu sú včely v rámc jedného radu. Preto musíme v 10 zoradt teto včely ným spôsobom. 41

Následne na radkoch 11 a 12 veme z týchto radov vyskladat novú populácu a zment stav ostrova. 7.5 Non-domnated sort V NSGA-II [9] opísal algortmus, ktorý na zoradene jedncov používal tzv. nondomnated sort. Tento zarad ovací algortmus slúž na rýchle vytvorene paretových radov z populáce. Je založený na prncípe domnance opísanej v kaptole č. 3.2.1. Jeho výstupom je množna paretových radov, kde prvý rad obsahuje jednce, ktoré domnujú jednce v ostatných radoch. Nasledujúce rady obsahujú zasa jednce, ktoré domnujú ostatné v radoch za nm. 7.6 Usporadane v rámc paretových radov Pr opse pseudokódu MOABC v kaptole 7.4 sme narazl na problém náhodného výberu jedncov vo fáze pracovníček. Potrebujeme metrku, ktorou veme ohodnott jednca v rámc paretového frontu. Na základe tejto metrky veme následne ovplyvnt náhodný výber jednca. V nasledujúcch kaptolách uvádzame dve také metrky. Obe sú založené na vzdalenost jedncov v doméne ohodnotení a preferujú jednce, ktoré sú v redších oblastach. Táto preferenca by mala zlepšt aproxmácu paretového radu. 7.6.1 Crowdng dstance Tento algortmus bol spolu s non-domnated sort defnovaný v NSGA-II [9]. Ohodnocuje jedncov spôsobom, pr ktorom sleduje polohu jednca v porovnaní s jeho susedm. V rámc jednej dmenze ohodnocovaceho prestoru vyrátame pre jedného jednca súčet vzdaleností k dvom najblžším susedom (jednému menšemu a druhému väčšemu). Ohodnotene jednca je potom súčet týchto vzdaleností cez všetky dmenze. 42

7.6.2 Maxmn Maxmn ohodnotene [4] je defnované ako: ftness = max j (mn k (f k f j k )) kde f k sú ohodnocovace funkce. Na obrázku č. 16 môžeme vdet ohodnotene touto funkcou v dvoch prípadoch. Kedže de o mnmalzácu, môžeme vdet, že jednce, ktoré sú d alej od susedov, majú lepše ohodnotene. Obr. 16: Ohodnotene maxmn[29]. 7.6.3 Usporadane a výber jedncov Po tom, čo prebehnú fázy včel v MOABC potrebujeme jedncov usporadat. Prvým krokom je vytvorene paretových radov pomocou NSGA-II. Nasleduje usporadane v rámc týchto radov použtím crowdng dstance. Teto usporadané rady sa následne spoja a vytvora d alšu terácu populáce. V pôvodnej verz algortmu ABC [19] s vo fáze przeračov včely vyberajú zdroje potravy, ktoré chcú preskúmat, na základe ch ohodnotena ftness. Kedže pr probléme hl adana motívov máme vaceré ohodotena, nemôžeme použt pôvodný návrh. V našej mplementác s przerač vyberajú zdroje potravy pomocou rulety, kde je ftness odvodená od príslušnost k paretovému radu a zároveň aj od crowdng dstance: ftness(x) = 2 MAX rank(x) MAX 43 + normcd(x) (13)

kde rank(x) je číslo paretového radu od 0 (najlepše) po N (najhorše) do ktorého patrí jednec a MAX = N + 1. normcd(x) je hodnota crowdng dstance normalzovaná v rámc radu. 7.7 Postprocessng Vstupom pre náš algortmus sú DNA sekvence vo formáte f asta z testovaceho datasetu [35]. Tento dataset vyžaduje, aby výstupom bol ret azce nukleotdov, ktoré predstavujú motív a ch presná poloha. V nasledujúcch kaptolách opíšeme mechanzmy, ktoré okrem toho, že z najlepších jedncov extrahujú ret azce DNA motívov, sú schopné ch aj dodatočne ohodnott a prefltrovat. 7.7.1 Extrahovane motívu pomocou konsenzu V kaptole č. 2.1.1 sme opísal proces ohodnocovana jedncov, ktorý použl v MOABC. V tomto procese vystupoval konsenzus motív, čo je akás abstrakca nad motívm, na ktoré ukazuje poloha včely. V extrakc motívu pomocou konsenzu využívame práve tento konsenzus motív. V algortme 9 opsujeme prebeh takejto extrakce. Algorthm 9 Extrakca motívu pomocou konsenzu 1: procedure EXTRAHUJMOTIVKONS(Soluton s) 2: motvy vyberm otvyp odlap olohy(s) 3: k 1 konsenzus(motvy) 4: kanddat fltrujp odlamnp odpory(motvy, k 1, 0.5) 5: k 2 konsenzus(kanddat) 6: nstancamotvu vybernajblzs(kanddat, k 2 ) 7: return nstancamotvu 8: end procedure Radky 2-4 fltrujú ret azce, na ktoré ukazuje jednec rovnakým spôsobom ako pr jeho vyhodnocovaní. Z kanddátov, ktorých dostaneme na radku 4, by sa pr ohodnocovaní vytvorla matca PFM. Sú to práve teto motívy, z ktorých vyberáme rešene. Vytvoríme s z nch d alší konsenzus motív a za výsledok považujeme ten motív, ktorý je k nemu najblžše. Tento prístup extrahuje z každého jednca ba jedno rešene problému. 44

7.7.2 Vederkové skóre Vederkové skóre slúž na ohodnotene ret azca nukleotdov k, ktorý má predstavovat motív. Pre kanddáta k sa z každej sekvence vytvora n-gramy, ktoré majú rovnakú dĺžku. Teto n-gramy sa ohodnota podl a toho, akú majú Hammngovú vzdalenost voč k a zahoda sa te, ktoré majú vzdalenost väčšu ako e 14. N- gramy, ktoré ostal, sa zatreda do vederok B. N-gram patrí k vederku B ak je Hammngová vzdalenost n-gramu od k rovná. Vederkové skóre je defnované rovncou 14: vederkoveskore = B 1 =0 B + 1 kde B je počet vederok a B je počet n-gramov v -tom vederku. (14) 7.7.3 Weed-out Tento prístup je založený na fungovaní algortmu Weeder, ktorý sme opísal v kaptole č. 2.2.1. Na rozdel od prístupu v algortme 9 Weed-out využíva pr extrakc všetky jednce naraz. Algorthm 10 Extrakca motívov pomocou weed-out 1: procedure WEED-OUT(Soluton solutons[]) 2: kanddat 3: for each s solutons do 4: motvy vyberm otvyp odlap olohy(s) 5: kons konsenzus(motvy) 6: k f ltrujp odlam np odpory(motvy, kons, 0.5) 7: for each k k do 8: kanddat kanddat vederkoveohodnotene(k) 9: end for 10: end for 11: kanddat vederkovyf lter(kanddat) 12: kanddat occf lter(kanddat) 13: return kanddat 14: end procedure 14 e v našom prípade závsí od dĺžky k. 45

Na radku 2 najprv ncalzujeme prázdnu množnu kanddátov. Potom pre každé rešene, podobne ako pr extrakc pomocou konsenzu, vybereme z každého jednca kanddátov. Následne ohodnotíme každého kanddáta vederkovým ohodnotením. Na radku 11 s ponecháme ba najlepších 5 jedncov podl a vederkového skóre. occflter je skóre výskytov tak, ako bolo defnované v kaptole č. 2.2.1. V tomto ohodnotení sa použjú n-gramy blízke kanddátov na vytvorene matce PFM. Podl a nukleotdov kanddáta a rovnce 8 sa vyráta skóre medz 0 a 1. Všetc kanddát, ktorí majú skóre menše ako 0,9, sú zahodení. 7.7.4 Bucket-out Bucket-out využíva rovnaký algortmus ako Weed-out, no vynechá fltrovane pomocou occflter. 7.7.5 Instance-flter Instance-flter kombnuje vederkové skóre a extrahovane motívov konsenzom. Funguje spôsobom, pr ktorom sa vederkovým skóre ohodnocujú ba také ret azce, ktoré bol pred tým extrahované z jedncov pomocou konsenzu (kaptola 7.7.1). Takto ohodnotené ret azce sa potom zorada podl a skóre a následne sa zobere ba n najlepších. 7.7.6 Fltrovane výsledkov Náš algortmus poskytuje 4 módy postprocesngu a fltráce, medz ktorým s môžeme vyberat. Všetky teto módy pracujú s n najlepším jedncam zo všetkých populácí: :only-pareto-n použje extrakcu motívu pomocou konsenzu, :only-weeder použje Weed-out, :bucket-out použje Bucket-out, :nstace-flter použje Instance-flter. 46

7.8 DTLZ 7 Ked že návrh nášho algortmu umožňuje optmalzovat vacero problémov, mplementoval sme za účelm testovana aj jednoduchší problém ako je hl adane motívov a to problém DTLZ7 [10]. Ten na rozdel od MFP (Motf Fndng Problem) je matematcky jednoznačne popísaný a je známe jeho úplné rešene. Vd aka tomu veme presne určt, ako vyzerá jeho paretový rad a napríklad aj to, ako d aleko sú od neho vzdalené nam nájdené rešena. Pr hl adaní motívov vyhodnocujeme algortmus na základe prekryvu nam nájdených motívov a motívov zasadených v testovacom datasete. DTLZ7 veme vyhodnott na základe pokryta paretových radov. Veme teda presnejše sledovat správane algortmu. 7.8.1 Ops problému Problém DTLZ7 patrí do skupny problémov DTLZ, ktorú defnoval K. Deb a spol. v [10]. V tejto skupne je defnovaných 9 optmalzačných problémov, ktoré testujú rôzne vlastnost algortmu. DTLZ7 testuje schopnost algortmu udržavat podpopuláce v rôznych pareto optmálnych regónoch. Je defnovaný nasledujúco: kde Mnmalzuj: zatal čo platí f 1 (x 1 ) = x 1, f 2 (x 2 ) = x 2,. f M 1 (x M 1 ) = x M 1, f M (x) = (1 + g(x M ))h(f 1, f 2,..., f M 1, g), g(x M ) = 1 + 9 x, x M x x m M 1 h(f 1, f 2,..., f M 1, g) = M f =1 1 + g (1 + sn(3πf )), 0 x 1, = 1, 2,..., n 47

Funkce f predstavujú ohodnocovace funkce, zatal čo vektor x predstavuje pozícu rešena v doménovom prestore. n je počet rozmerov tohto prestoru a M je celkový počet ohodnocovacích funkcí. Takáto parametrzáca problému je d alšou výhodou problémov z tredy DTLZ, kde s môžeme sam určt počet ohodnocovacích funkcí alebo vel kost doménového prestoru. Autor problému d alej uvádza, že funkca g potrebuje k = x m rozhodovacích premenných (pozíce vo vektore x) prčom celkový počet premenných je n = M + K + 1. Autor odporúča k = 20. Pr našom testovaní sme používal M = 3 ohodnocovace funkce, teda počet dmenzí doménového prestoru bol v súlade s odporúčaným k n = 22. Pre tr ohodnocovace funkce sme sa rozhodl preto, lebo v knžnc jmetal[13] je dostupný pre tento počet pareto optmálny rad. Tento rad pre problém DTLZ7 uvádzame na obrázku č. 17, kde os predstavujú ohodnotena jednca. Výsledky predbežných testov uvedeme v d alších kaptolách. Obr. 17: Paretový rad pre problém DTLZ7 15. 48

7.8.2 Testovane pomocou DTLZ 7 Pomocou problému DTLZ7 sme sledoval správane a vlastnost nášho algortmu. Vyhodnocoval sme to spôsobom, pr ktorom sledujeme prestor ohodnotení resp. ako sa počas terácí vyvíja paretový rad. Pr testovaní sme použl MOABC bez g-best člena. Počet včel bol 100, prčom pracovníček bolo 50, przeračov 40 a preskumníčok 10. Testoval sme schopnost algortmu konvergovat k rešenu, ale aj správane sa vyhl adávana pr uvol není ohodnocovacích funkcí, tak ako je opísané v kaptole č. 6. Na nasledujúcch obrázkoch uvádzame správane sa algortmu pr vyšše spomenutých parametroch, prčom sme neuvol nl žadnu funkcu. Na obrázku č. 18 zobrazujeme graf rešení v prestore ohodnocovacích funkcí defnovaných v kaptole č. 7.8.1. Modrou farbou sú znázornené body rešena daného problému. Červenou farbou sú znázornené body, ktoré tvorl pareto rad nášho rešena pre danú terácu. Na obrázkoch č. 18, 19, 20 a 21 uvádzame rešena v rôznych momentoch vyhl adávana. Obr. 18: MOABC prvá teráca pre všetky ohodnocovace funkce. 15 Vygenerované pomocou nástroja MATLAB https://www.mathworks.com/products/matlab.html 49

Obr. 19: MOABC 25. teráca pre všetky ohodnocovace funkce. Obr. 20: MOABC 50. teráca pre všetky ohodnocovace funkce. 50

Obr. 21: MOABC 100. teráca pre všetky ohodnocovace funkce. 51

Z daných výsledkov sme vedel vyvodt nekol ko záverov. Naše rešene teratívnym spôsobom konvergovalo k lepším rešenam. DTLZ je problém, kde sa snažíme mnmalzovat ohodnocovace funkce. Po stej terác algortmu sa všetky najdomnantnejše rešena nachádzal nad bodom [0,0,0]. To znamená, že dve z troch ohodnocovacích funkcí optmalzoval najlepše, ako sa dalo. V čom náš algortmus zlyhával bolo, že sa nedokázal dostat do skutočného optma, ktoré bolo na obrázkoch vdet modrou farbou. To môže byt spôsobené tým, že sme sa zasekl v lokálnom optme. Skonvergoval sme do bodu [0,0, 14] prčom skutočné rešena sa nachádzajú na celom rozsahu prvých dvoch súradníc. Pr pohl ade na ohodnocovace funkce DTLZ ne je prekvapvé, že sme sa zasekl práve v týchto bodoch. Teto ohodnocovace funkce sa optmalzujú jednoducho, kedže de v podstate ba o jednotlvé hodnoty pozčného vektora v prestore domény (f (x) = x ). Takéto ohodnocovace funkce sa ale môžu vyskytovat aj v ných problémoch, napríklad pr hl adaní motívov je to ohodnocovaca funkca, ktorá popsuje dĺžku motívu. Zložtá funkca je práve tá treta, ktorú sa nám nepodarlo prílš optmalzovat. Táto funkca závsí od celej polohy. Druhou chybou nášho algortmu bola slabá dverzfkáca rešení, práve na základe týchto testov sme zstl potrebu použta ohodnotení ako crowdng dstance opísaného v kaptole č. 7.6.1. Na nasledujúcch obrázkoch uvádzame výsledky algortmu po 75 terácach pr postupnom uvol ňovaní požadavek na ohodnocovace funkce. 52

Obr. 22: MOABC 75. teráca pr uvol není prvej jednoduchej ohodnocovacej funkce. Obr. 23: MOABC 75. teráca pr uvol není druhej jednoduchej ohodnocovacej funkce. Na prvých dvoch grafoch č. 22 a 23 je znázornená 75. teráca pr uvol není jednej z l ahkých ohodnocovacích funkcí. Pr týchto vyhl adávanach sme optmalzoval teda ba 2 funkce jednu jednoduchú a jednu zložtú. Ako môžeme vdet, znovu sme sa zasekl v lokálnom optme, no bolo to ovel a blžše ku skutočnému rešenu. Pr zložtej funkc sme namesto 14 dosahl ohodnotene prblžne 7. Ked sme nteraktívne prezeral teto grafy, vdel sme aj to, že vý- 53

sledky sa nachádzajú akoby na opačných stenách, teda už ba kombnácou týchto dvoch rešení by sme dosahl väčšu dverzfkácu. Obr. 24: MOABC 75. teráca pr uvol není oboch l ahkých ohodnocovacích funkcí. Na poslednom grafe na obrázku č. 24 je vyhl adávane, pr ktorom sme uvol nl obe jednoduché funkce. Z povahy fungovana paretových radov vracame ba 1 rešene to, ktoré domnuje všetky ostatné. Na tomto grafe vdíme, že sme sa dostal takmer úplne k dokonalému rešenu. Pomocou problému DTZL7 sme testoval neúplnú mplementácu algortmu. Mohl sme sledovat správane algortmu ešte pred tým, než sme mal mplementovaný problém MFP. Zstl sme potrebu použta crowdng dstance. V budúcej prác by bolo vhodné nad týmto problémom otestovat úplnú mplementácu. Okrem DTLZ7 by sme mohl použt aj ostatné DTZL verze a zstt ako efektívny je náš algortmus na ných problémoch ako MFP. 54

8 Testovane a vyhodnotene V tejto kaptole opíšeme testovací dataset a použté metrky na vyhodnocovane. Potom zhrneme parametre algortmu a metodológu testovana. Nakonec opíšeme dosahnuté výsledky a porovnáme ch s ným algortmam. 8.1 Testovací dataset Algortmus sme testoval nad testovacím datasetom od Tompa a spol. [35]. Tento dataset obsahuje sekvence zo štyroch žvočíchov človek, myš, mucha (D. melanogaster) a drožde (S. cerevsae). Využíva databázu TRANSFAC [37], ktorá obsahuje známe motívy spolu s génm, v ktorých sa vyskytujú. Ked že tento dataset slúž na testovane algortmov, ktoré hl adajú nové motívy, autor musel rešt dva problémy. Pr použtí reálnych sekvencí s už známym motívm nkto nepozná úplne rešene, teda č sa v nch nenachádzajú neobjavené motívy. Pr použtí vygenerovaných sekvencí zasa neveme s stotou povedat, č ch generujeme správnym spôsobom. Preto sa autor rozhodl pre každého žvočícha použt tr typy vstupov: skutočné sekvence, vygenerované sekvence s vloženým motívm, náhodne zvolené sekvence s vloženým motívm. Každý z týchto typov obsahuje 56 vstupov. Každý vstup môže mat od 1 po 35 sekvencí, ktoré môžu mat dĺžku až 3000 nukleotdov. K tomuto datasetu je verejne dostupný testovač 16, ktorý vyžaduje aby bol výstupom algortmu zoznam ret azcov nukleotdov spolu s ch pozícam v DNA sekvencách. Taktež je možné ment parametre algortmu v závslostí od vstupu. 16 http://bo.cs.washngton.edu/assessment/ndex.html 55

8.2 Použté metrky Použtý testovač ohodnocoval výsledky vacerým metrkam na úrovn nukleotdov ako aj motívov. Pr nukleotdoch sledoval presné počty pozící, v ktorých sa nukleotdy nachádzal na pozícach známych motívov. Na úrovní motívov akceptoval ret azec ak prekrýval známy motív. Testovač vracal celkové počty nájdených motívov resp. metrky ako skutočné a falošné poztíva (TP/FP) alebo skutočné a falošné negatíva (TN/FN) na úrovn motívov aj nukleotdov. Z týchto metrík potom poskytoval: senztvtu Sn = nukleotdov, T P, známe aj ako recall, na úrovn motívov aj T P +F N precíznost P P V = T P, známe aj ako postve predctve value (ppv), T P +F P na úrovn motívov aj nukleotdov. Okrem toho uvádzajú aj: špecfckost nsp = nt N nt N+nF P koefcent výkonu np C = korelačný koefcent na úrovní nukleotdov, nt P nt P +nf N+nF P na úrovní nukleotdov, ncc = nt P nt N nf N nf P ((nt P + nf N)(nT N + nf P )(nt P + nf P )(nt N + nf N)) známy aj ako matthews correlaton coeffcent na úrovn nukleotdov, premerný výkon motívov sasp = ssn+sp P V 2 na úrovn motívov. Z týchto metrík sme pr testovaní sledoval najvac senztvtu a precíznost. 56

8.3 Parametre algortmu V našom algortme sa dá nastavovat vacero parametrov. Rozdell sme ch preto do dvoch skupín podl a toho, č ch používa vyhl adávací algortmus (MOABC) alebo č ovplyvňujú optmalzačný problém (MFP). Parametre uvádzame s ch kl účom, ktorý používame v konfgurácách a popsom. Parametre pre MOABC: :coef-c koefcent prt ahovana (Ψ) v rovnc pohybu včel (rovnca 12), :populaton-count celkový počet včel, :sze vektor pomerov typov včel. [0.5 0.4 0.1] by zodpovedalo 50% pracovníček, 40% przeračov a 10% preskumníčok, :num-of-teratons počet terác MOABC, :share-prob pravdepodobnost, s akou ostrov zdel a jedncov, :take-prob pravdepodobnost, s akou ostrov príma jedncov, :pareto-epslon hodnota ɛ v ɛ-domnanc (kaptola 3.2.1), Parametre pre MFP: :support-coeff percentuálny podel nukleotdov, ktorý musí mat motív spoločný s konsenzom, aby sa s ním rátalo pr podpore motívu počas ohodnocovana včely, :mn-length mnmálna dĺžka motívu, :max-length maxmálna dĺžka motívu, :mn-obj mnmálny počet ohodnocovacích funkcí, ktoré musí ostrov optmalzovat. 57

V kaptole č. 6 sme opísal ako každý ostrov ohodnocuje nú podmnožnu ohodnocovacích funkcí. Rozhodl sme sa parametrzovat teto podmnožny obmezdením ch mnmálnej vel kost. Ak je :mn-obj rovný počtu ohodnocovacích funkcí, použjeme fxný počet ostrovov, ktoré optmalzujú všetky ohodnocovace funkce 17. Okrem vyšše uvedených parametrov je potrebné nastavt aj metódu postprocessngu opísaného v kaptole č. 7.7.6. 8.4 Metodológa testovana Algortmus sme musel testovat vackrát z dôvodu nastavovana parametrov. Začal sme so základným parametram pre MFP takým aké bol defnované v MOABC. K nm sme menl hodnoty vyhl adávaceho algortmu. Začal sme pr malých populácách (50 jedncov) a nízkom počte terácí (20). Potom sme postupne zvyšoval počet terácí až po 300 a vel kost populáce až po 150. Najlepše výsledky sme dosahl pr nízkych počtoch populác a aj terácí. Potom sme menl konfgurácu MFP prčom sme ju skúšal s rôznym MOABC konfgurácam. Z týchto testov vyplynula aj potreba doplnt postprocessng (kaptola č. 7.7). Preto sme ten testoval už ba nad nekol kým najlepším dvojcam konfgurácí MFP a MOABC. Nakonec sme menl hodnotu :pareto-epslon pr najlepšej konfgurác. Dokopy sme vykonal vac ako 70 testov, prčom sme nektoré konfguráce opakoval, aby sme zstl ako stablné sú výsledky. Te sa pre jednu konfgurácu menl v rozsahu ±1%. Dĺžka testovana závsí od konfguráce. Pre jeden vstup môže hl adane motívov trvat od nekol ko sekúnd až po nekol ko mnút, ak máme vel ké množstvo terácí a vel ké populáce. Vstupov je zhruba 160 a pre všetky trvá test od nekol ko mnút až po nekol ko hodín. 17 Testoval sme s 8 ostrovm. 58

8.5 Výsledky testov a porovnane V tabul ke č. 2 uvádzame nastavena algortmu, pr ktorých sme dosahl najlepše výsledky 18. Pr týchto nastavenach sme používal postproces :only-pareto-n, teda extrakcu motívov pomocou konsenzu. Tabul ka 2: Parametre vyhl adávana. MOABC MFP parameter hodnota parameter hodnota :coef-c 0.5 :support-coeff 0.5 :populaton-count 60 :mn-length 15 :sze [0.7 0.25 0.05] :max-length 64 :num-of-teratons 20 :mn-obj 4 :share-prob 0.3 :take-prob 0.3 :pareto-epslon 0.1 V tabul ke 3 uvádzame nam dosahnuté výsledky. Úplné výsledky ostatných algortmov uvádzame v prílohe E. Tabul ka 3: Dosahnuté výsledky. Data set ntp nfp nfn ntn stp sfp sfn nsn nppv nsp npc ncc ssn sppv sasp Fly 242 15595 1330 86333 20 299 97 0.153 0.015 0.846 0.014 0.0003 0.170 0.062 0.116 Human 1674 65740 13683 779903 102 1353 792 0.109 0.024 0.922 0.020-0.114 0.070 0.092 Mouse 1026 25411 3568 117495 70 587 205 0.223 0.038 0.822 0.034 0.020 0.254 0.106 0.180 Yeast 776 24419 2854 146951 59 469 163 0.213 0.030 0.857 0.027 0.028 0.265 0.111 0.188 Total 3718 131165 21435 1130682 251 2708 1257 0.147 0.027 0.896 0.023 0.525 0.166 0.084 0.125 Pr našch testoch sme najvac sledoval senztvtu a precíznost na úrovní motívov cez všetky žvočíchy. Pracoval sme aj s myšlenkou použta rôznych nastavení pre rôzne vstupy, ale nepodarlo sa nám nájst konfguráce, ktoré by mal stále lepše výsledky ba pre nektoré druhy. Pr porovnávaní s ným algortmam sme sledoval rovnaké metrky. Najlepším algortmom bol Weeder, ktorý dosahol senztvtu 16,1% a precíznost 28,9%. Najhorším bol QuckScore s 3,3% resp. 1,9%. My sme dosahl senztvtu 16,6% a precíznost 8,4% k čomu je najblžše algortmus ANN-Spec s 15,5% a 8,5%. 18 Výsledky takmer všetkých testov sú dostupné na elektronckom médu. 59

Pr porovnávaní výsledkov v rámc jednotlvých žvočíchov treba vyzdvhnút naše výsledky pre sekvence z DNA muchy, kde sme dosahl senztvtu 17% a precíznost 6,4%. Dosahl sme najlepší výsledok, prčom Weeder mal senztvtu 2% a precíznost 3,4% a ANN-Spec 2% a 0,9%. V metrke nsn, čo je senztvta na úrovní motívov, sme dosahl 14,7%, čo je tež najlepší výsledok. Treba ale spomenút, že sme mal pomerne nízku precíznost, resp. vysoký počet falošných poztív. Ak sa pozreme na celkové hodnoty nájdených motívov, skutočných poztív (TP) sme mal 251 a falošných poztív (FP) 2708. Weeder mal TP rovné 84 a FP 207. ANN-Spec mal TP 81 a FP 874. Na to, aby sme znížl počet falošných poztív, sme sa ch snažl dodatočne odfltrovat. Náš najlepší výsledok sme dosahl, ked sme vracal motívy z 20 najlepších včel po spojení všetkých populácí. Z postprocesov v kaptole 7.7.6 ba :nstace-flter dosahoval porovnatel né no trocha horše výsledky ako bez fltrovana. Ostatné fltre sa nám nepodarlo nastavt tak, aby nezahadzoval prílš vel a motívov. Sledoval sme aj vplyv paralelzáce, kde sme obmedzoval komunkácu medz ostrovm. Skúšal sme aj pravdepodobnost výmeny 0,1 a 0,5. Pr 0,3 sme dosahl najlepší výsledok. Pr uvol ňovaní ohodnocovacích funkcí sme dosahl najlepší výsledok ked 8 ostrovov optmalzovalo všetky ohodnocovace funkce. Porovnatel ný výsledok sme dosahl, ak sme uvol ňoval ba jednu funkcu. Prekvapvé bolo nastavene :pareto-epslon, ktoré sme opísal v kaptole 3.2.1. Jeho zvýšene z 0 na 0,1 zlepšlo výsledok. 60

9 Záver V tejto prác sme sa venoval problému hl adana motívov. Pozeral sme sa na neho ako na problém optmalzáce a rešl sme ho pomocou metaheurstík. Navrhl asynchrónne paralelné vyhl adávane kombnácou nekol kých exstujúcch rešení. Na najnžšej úrovní sme použl sekvenčnú metaheurstku MOABC [17], ktorú sme rozšírl o entropu pr vyhodnocovaní jedncov a o použte g-best člena z [40] pr ch pohybe po doménovom prestore. Musel sme rešt problém náhodného výberu, ktorý sme vyrešl ohodnotením v kaptole 7.6.3. Na paralelzácu sme použl model asynchrónnych ostrovov. Ostrovy s jednce nezačleňoval do populáce, ale preberal ch ba ako g-best člena. Jednotlvé ostrovy na seba vplýval len nepramo. Ako metódu komunkáce sme navrhl spôsob, kde to, č s ostrovy vymena jedncov, nezávsí pramo od topológe, ale skôr od času vyhl adávana a vzdaleností medz ostrovm. Na túto komunkácu sme použl zdel anú pamät. Expermentoval sme s myšlenkou špecalzovaných ostrovov, kde každý ostrov ohodnocuje nú podmnožnu ohodnocovacích funkcí, ktorých sme mal štyr. Pr probléme MFP takéto vypúšt ane ohodnocovacích funkcí ale neprneslo zlepšene výsledkov. Prebežné výsledky ukázal na potrebu dodatočného ohodnotena nájdených motívov s cel om ch prefltrovat. Iplementoval sme preto vacero ohodnotení, ktoré sme opísal v kaptole 7.7. Ohodnotena bol založené na algortme Weeder [31]. Okrem nch sme navrhl a mplementoval aj naše vederkové ohodnotene. Výsledky ukázal, že metaheurstcké algortmy dávaju porovnatel né výsledky voč ostatným algortmom. Problémom stále ostáva vysoký počet falošných poztív. Výsledkom pomohlo použte ɛ-domnance. Algortmus sme mplementoval takým spôsobom, že je možné modulárne vymeňat problém alebo metaheurstku ostrova. Preto sme predbežné testy robl aj na probléme DTLZ7 [10]. 61

9.1 Budúca práca Pr pohl ade na našu dplomovú prácu ako na metaheurstku by sa dalo v budúcnost vylepšt vacero vecí. Zmeny je možné urobt takmer na všetkých úrovnach. Vaceré práce pr paralelnom vyhl adávaní využíval rôzne metaheurstky, aby sa mohl dopĺňat. My sme mplementoval ba MOABC. Preskúmat by sa dal aj vplyv topológe na naše vyhl adávane. V našej prác sme umestňoval ostrovy do pevne stanovenej mrežky. Okrem toho by sa dala upravt aj selekca jedncov pr výbere tej včely, ktorú chceme akceptovat z poskytovaného paretového radu. Algortmus by bolo vhodné vyskúšat aj na ných problémoch ako je MFP, napríklad na problémoch z tredy DTLZ7. Pr pohl ade na problém hl adana motívov by bolo vhodné doplnt lepše fltrovane výsledkov. Navyše, vo vel a prípadoch (ohodnocovane, postprocessng) sa využíva na výpočet chybovost Hammngová vzdalenost. Kedže DNA sekvence nepodlehajú ba substtúc, vyskúšat by sa dal aj né vzdalenost, napríklad Levenshtenova. 62

Lteratúra [1] AL MOUBAYED, N. PETROVSKI, A. MCCALL, J. A novel smart mult-objectve partcle swarm optmsaton usng decomposton. In Parallel Problem Solvng from Nature, PPSN XI. Sprnger, 2010. s. 1 10. [2] ASHLOCK, D. Evolutonary computaton for modelng and optmzaton. Sprnger Scence & Busness Meda, 2006. [3] BAILEY, T. L. ELKAN, C. The value of pror knowledge n dscoverng motfs wth MEME. In Ismb, 3, s. 21 29, 1995. [4] BALLING, R. WILSON, S. The max-mn ftness functon for mult-objectve evolutonary computaton: Applcaton to cty plannng. In Proceedngs of the Genetc and Evolutonary Computaton Conference (GECCO 2001), s. 1079 1084. Cteseer, 2001. [5] BLUM, C. ROLI, A. Metaheurstcs n combnatoral optmzaton: Overvew and conceptual comparson. ACM Computng Surveys (CSUR). 2003, 35, 3, s. 268 308. [6] ČERNỲ, V. Thermodynamcal approach to the travelng salesman problem: An effcent smulaton algorthm. Journal of optmzaton theory and applcatons. 1985, 45, 1, s. 41 51. [7] CRAINIC, H. T. N. Parallel meta-heurstcs applcatons. Alba, E. (ed.) Parallel Metaheurstcs: A New Class of Algorthms. 2005, s. 447 494. [8] DAS, M. K. DAI, H.-K. A survey of DNA motf fndng algorthms. BMC bonformatcs. 2007, 8, Suppl 7, s. S21. [9] DEB, K. et al. A fast and eltst multobjectve genetc algorthm: NSGA-II. Evolutonary Computaton, IEEE Transactons on. 2002, 6, 2, s. 182 197. [10] DEB, K. et al. Scalable test problems for evolutonary multobjectve optmzaton. Sprnger, 2005. 63

[11] D HAESELEER, P. What are DNA sequence motfs? Nature botechnology. 2006, 24, 4, s. 423 425. [12] DORIGO, M. MANIEZZO, V. COLORNI, A. The Ant System: Optmzaton by a colony of cooperatng agents. IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS-PART B. 1996, 26, 1, s. 29 41. [13] DURILLO, J. J. NEBRO, A. J. jmetal: A Java framework for mult-objectve optmzaton. Advances n Engneerng Software. 2011, 42, s. 760 771. ISSN 0965-9978. do: DOI:10.1016/j.advengsoft.2011.05.014. Dostupné z: <http://www.scencedrect.com/scence/ artcle/p/s0965997811001219>. [14] FREDKIN, E. Tre memory. Communcatons of the ACM. 1960, 3, 9, s. 490 499. [15] GENDREAU, M. POTVIN, J.-Y. Handbook of metaheurstcs. 2. Sprnger, 2010. [16] GONZÁLEZ-ÁLVAREZ, D. L. et al. Usng a Parallel Team of Multobjectve Evolutonary Algorthms to Solve the Motf Dscovery Problem. In DCAI, s. 569 576. Sprnger, 2010. [17] GONZÁLEZ-ÁLVAREZ, D. L. et al. Fndng motfs n DNA sequences applyng a multobjectve artfcal bee colony (MOABC) algorthm. In Evolutonary Computaton, Machne Learnng and Data Mnng n Bonformatcs. Sprnger, 2011. s. 89 100. [18] HERTZ, G. Z. STORMO, G. D. Identfyng DNA and proten patterns wth statstcally sgnfcant algnments of multple sequences. Bonformatcs. 1999, 15, 7, s. 563 577. [19] KARABOGA, D. Artfcal bee colony algorthm. scholarpeda. 2010, 5, 3, s. 6915. [20] KARGER, D. 6.854J Advanced Algorthms, Fall 2005. http://ocw.mt.edu/courses/ 64

electrcal-engneerng-and-computer-scence/ 6-854j-advanced-algorthms-fall-2005, 2005. [Navštívené 6.5.2016]. [21] KAYA, M. MOGAMOD: Mult-objectve genetc algorthm for motf dscovery. Expert Systems wth Applcatons. 2009, 36, 2, s. 1039 1047. [22] KIRKPATRICK, S. VECCHI, M. P. OTHERS. Optmzaton by smmulated annealng. scence. 1983, 220, 4598, s. 671 680. [23] KRISHNANAND, K. N. GHOSE, D. Glowworm Swarm Optmsaton: a New Method for Optmsng Mult-Modal Functons. Int. J. Comput. Intell. Stud. May 2009, 1, 1, s. 93 119. ISSN 1755-4977. do: 10.1504/IJCISTUDIES.2009.025340. Dostupné z: <http: //dx.do.org/10.1504/ijcistudies.2009.025340>. [24] LAUMANNS, M. et al. Combnng convergence and dversty n evolutonary multobjectve optmzaton. Evolutonary computaton. 2002, 10, 3, s. 263 282. [25] LAUMANNS, M. et al. Archvng Wth Guaranteed Convergence And Dversty In Mult-objectve Optmzaton. In GECCO, s. 439 447, 2002. [26] LONES, M. Sean Luke: Essentals of metaheurstcs. Genetc Programmng and Evolvable Machnes. 2011, 12, 3, s. 333 334. [27] MÄRTENS, M. IZZO, D. The asynchronous sland model and NSGA-II: study of a new mgraton operator and ts performance. In Proceedngs of the 15th annual conference on Genetc and evolutonary computaton, s. 1173 1180. ACM, 2013. [28] MARTIN, W. LIENIG, J. COHOON, J. P. C6. 3 Island (mgraton) models: evolutonary algorthms based on punctuated equlbra. B ack et al. BFM97], Seten C. 6. [29] MENCHACA-MENDEZ, A. COELLO, C. A. C. Selecton mechansms based on the maxmn ftness functon to solve mult-objectve optmzaton problems. Informaton Scences. 2016, 332, s. 131 152. 65

[30] NIELSEN, S. S. et al. Novel effcent asynchronous cooperatve co-evolutonary mult-objectve algorthms. In Evolutonary Computaton (CEC), 2012 IEEE Congress on, s. 1 7. IEEE, 2012. [31] PAVESI, G. MAURI, G. PESOLE, G. An algorthm for fndng sgnals of unknown length n DNA sequences. Bonformatcs. 2001, 17 Suppl 1, s. S207 14. ISSN 1367-4803. do: 10.1093/bonformatcs/17.suppl 1.S207. Dostupné z: <http://www. ncb.nlm.nh.gov/entrez/query.fcg?cmd=retreve& db=pubmed&dopt=ctaton&lst_uds=11473011>. [32] PAVESI, G. Competton Results of Weeder. 2004, s. 1 5. Dostupné z: <http://bo.cs.washngton.edu/assessment/ parameters/weeder.pdf>. [33] RUCIŃSKI, M. IZZO, D. BISCANI, F. On the mpact of the mgraton topology on the Island Model. Parallel Computng. 2010, 36, 10-11, s. 555 571. ISSN 01678191. do: 10.1016/j.parco.2010.04.002. [34] SCHNEIDER, T. D. STEPHENS, R. M. Sequence logos: a new way to dsplay consensus sequences. Nuclec acds research. 1990, 18, 20, s. 6097 6100. [35] TOMPA, M. et al. Assessng computatonal tools for the dscovery of transcrpton factor bndng stes. Nature botechnology. 2005, 23, 1, s. 137 144. [36] WEINER, P. Lnear pattern matchng algorthms. In Swtchng and Automata Theory, 1973. SWAT 08. IEEE Conference Record of 14th Annual Symposum on, s. 1 11. IEEE, 1973. [37] WINGENDER, E. et al. TRANSFAC: A Database on Transcrpton Factors and Ther DNA Bndng Stes. Nuclec Acds Research. January 1996, 24, 1, s. 238 241. ISSN 0305-1048. do: 10.1093/nar/24.1.238. Dostupné z: <http://dx.do.org/10.1093/nar/24.1.238>. 66

[38] XIAO, N. ARMSTRONG, M. P. A specalzed sland model and ts applcaton n multobjectve optmzaton. In Genetc and Evolutonary Computaton Conference, s. 1530 1540. Sprnger, 2003. [39] YANG, X.-S. KARAMANOGLU, M. HE, X. Mult-objectve flower algorthm for optmzaton. Proceda Computer Scence. 2013, 18, s. 861 868. [40] ZHU, G. KWONG, S. Gbest-guded artfcal bee colony algorthm for numercal functon optmzaton. Appled Mathematcs and Computaton. 2010, 217, 7, s. 3166 3173. 67

A Elektroncké médum Obsah CD prloženého k dokumentu: /dokument Dplomová Práca spolu s anotácam v slovenskom a anglckom jazyku /dokument/latex súbory projektu v L A TEX /source zdrojové kódy /source/outputs/results výstupy aplkáce, tj. výsledky jednotlvých testov + poznámky /source/target/ spusttel né jar súbory /source/target/coverage pokryte kódu testam vo formáte HTML /source/target/doc vygenerovaná dokumentáca vo formáte HTML /test data/ testovace vstupy readme.txt pops obsahu CD A-1

B Plán práce Na tento semester sme mal plán práce v nasledujúcom znení: V nasledujúcom semestr by sme chcel čím skôr domplementovat chýbajúcu funkconaltu. Následne na základe výsledkov testov a d alšeho výskumu teratívne upravovat rešene tak, aby dosahlo čo najlepše výsledky. Tabul ka B.1: Plán práce Týždeň Plán 1. Implementáca Crowdng-Dstance a/alebo Maxmn 2. - 4. Implementáca mechanzmov na komunkácu medz ostrovm 5. - 6. Implementáca problému hl adana motívov DNA spolu s testovačom 7. - Testovane, nastavovane parametrov a písane DP Pr plnení tohto plánu sme nedodržaval postupnost mplementáce, kedže sme začal problémom hl adana motívov. Následne sme mplementoval crowdng dstance a komunkáce. Nakonec sme mplementoval testovač. Z výsledkov prebežných testov vyplynula potreba mplementovat postprocesng. Teda ku koncu semestra sme testoval a mplementoval rôzne verze fltrovana výsledkov. B-1

C Používatel ská príručka Dplomová práca bola mplementovaná ako konzolová aplkáca. Pre jej spustene je potrebné mat nanštalovanú Javu vo verz 8 a prístup k nternetu, aby mohla vyhodnott výsledky. Aplkáca potrebuje mat parametram nastavené cesty ku vstupom ako aj konfguráce, ktoré ma použt pr vyhl adávaní. Príkaz na spustene môžeme vdet v ukážke C.1. java -jar ft-dp-standalone.jar <parametre> Ukážka C.1: Zapnute vyhl adávana. Aplkáca pracuje s nasledujúcm parametram: -, --nput INPUT-FOLDER (vyžadované) cesta k adresáru so vstupným.fasta súborm. Môže obsahovat podadresáre. -c, --confg CONFIG-FOLDER (vyžadované) cesta k adresáru s konfgurácam vo formáte.edn. -s, --search SEARCH-SYMBOL (vyžadované) meno konfguráce vyhl adávana. -p, --problem PROBLEM-SYMBOL (vyžadované) meno konfguráce problému. -o, --postprocess POSTPROCESS-SYMBOL meno postprocesu (kaptola č. 7.7.6). -f Fltrovane výsledkov na základe ohodnotena. -n, --notes NOTE-STRING poznámka k vyhl adávanu. -h, --help vypíše HELP. Po ukončení vyhl adávana aplkáca v adresár./results/ vytvorí nový adresár s výsledkam. Tento novovytvorený adresár bude mat meno vo formáte: -<search>-<problem>-<note>-<tme> C-1

kde: <search> je meno konfguráce vyhl adávana, <problem> je meno konfguráce problému, <note> je poznámka, ak bola špecfkovaná parametrom, a <tme> čas kedy sa ukončlo vyhl adávane. Tento adresár bude obsahovat 3 súbory: confg súbor s nformácam o použtých nastavenach, res.html súbor s výsledným metrkam (kaptola č. 8.2), <results>.fasta súbor vo formáte f asta s nájdeným motívm. Meno tohto súboru je podobné ako meno adresára. Program počas vyhl adávana nformuje o svojom prebehu výpsm do konzoly. C.1 Konfguráce Medz vstupné parametre aplkáce patra konfguračné súbory a symboly pre vyhl adávane a problém. Aplkáca funguje tak, že prečíta všetky konfguráce z adresára a spojí ch. Preto konfguráce pre vyhl adávane musa byt v súbore na ceste :search :algorthm <meno konfgurace> a konfguráce problému na ceste :search :problem <meno konfgurace>. Teto súbory sú vo formáte edn. V ukážke č. C.2 uvádzame príklad konfguračného súboru, ktorý obsahuje konfgurácu pre vyhl adávane s menom moabc. Väčšna parametrov je opísaná v kaptole č. 8.3. Okrem nch sa v týchto parametroch nachádzajú ale aj kl úče :ns a :search-fn. Te slúža na špecfkovane balíka s vyhl adávacím algortmom, resp. na špecfkovane ncalzačnej funkce. V ukážke č. C.3 uvádzame príklad konfguračného súboru, ktorý obsahuje konfgurácu pre problém s menom mf p. Ten podobne ako konfguráca vyhl adávana obsahuje kl úče :ns a :problem-fn. C-2

{:search {:algorthm {:moabc { :ns ft-dp-pmsoa.search.moo.moabc :coef-c 1.5 :sze [0.5 0.4 0.1] :search-fn search :populaton-count 50 :num-of-teratons 20 :share-prob 0.5 :take-prob 0.5}}}} Ukážka C.2: Príklad konfguráce zo súboru moabc.edn. {:search {:problem {:mfp { :ns ft-dp-pmsoa.search.problem.mfp :support-coeff 0.5 ;; mnmal same nucleotdes 50% :problem-fn problem :mn-length 6 :max-length 64 :mn-obj 1}}}} Ukážka C.3: Príklad konfguráce zo súboru mfp.edn. Teto konfguráce sú rozdelené do dvoch súborov ba kvôl prehl adnost. Súbor môže obsahov l ubovol né množstvo konfgurácí. Pr spúštaní algortmu je ba potrebné špecfkovat meno konfguráce vyhl adávana a problému (v tomto prípade moabc a mfp). C-3

D Techncká dokumentáca Program bol mplementovaný v programovacom jazyku Clojure 19 vo verz 1.9.0- alpha10, ktorý využíva Java JVM. Na komplovane a správu závslostí využívame nástroj Lenngen 20. D.1 Lenngen V tejto kaptole uvádzame základne príkazy na prácu s projektom. Všetky treba volat v adresár so zdrojovým súborm. Pre spustene aplkáce: len run -- <args> Ukážka D.1: Zapnute vyhl adávana pomocou lenngen. Pre nanštalovane závslostí: len deps Ukážka D.2: Inštalovane závslostí. Spustene testov: len test Ukážka D.3: Spustene testov. 19 https://clojure.org/ 20 https://lenngen.org/ D-1

Spustene pokryta testam 21 : len cloverage Ukážka D.4: Pokryte testam. Vygenerovane dokumentáce 22 : len codox Ukážka D.5: Generovane dokumentáce. D.2 Základný prehl ad balíkov V tejto čast uvádzame hlavné balíky spolu s ch popsom. Vygenerovaná dokumentáca k funkcám v balíkoch sa dá nájst na elektronckom médu. Hlavné balíky 23 : cl.man funkconalta spojená s CLI. parallel-search.* balíky, ktoré sa starajú o zdel anú pamät a mgráce. Okrem toho obsahujú funkce slúžace na beh vyhl adávana ostrova vo vlákne. postprocess.* obsahuje funkconaltu postprocesu opísanú v kaptole č. 7.7. search.sland obsahuje defnícu štruktúry ostrova. search.soluton obsahuje defnícu štruktúry rešena. search.moo.* balíky metaheurstík. Obsahuje balík moabc na vyhl adávane včelam. search.problem.* balíky problémov. Obsahuje problémy dtlz7 a mfp. 21 Treba mat nanštalované rozšírene len-cloverage 22 Treba mat nanštalované rozšírene len-codox 23 Všetky majú prefx projektu, teda ft-dp-pmsoa. D-2

parallel-search funkconalta vytvárana ostrovov a spúšt ane paralelného vyhl adávana a volane postprocesov. test.test-runner spúšt ane vyhl adávaní na základe men konfgurác, vyhodnotene a ukladane výsledkov. D.3 Problém Ostrov sa pozerá na problém ako na štruktúru, ktorá mu poskytuje funkce a dáta. Takáto štruktúra je znázornená v ukážke D.6. {:s-vald? s-vald-fn :evaluate evaluate-fn :generate generate-fn :objectves objectves} Ukážka D.6: Štruktúra problému. Na vytvorene nového problému je treba zadefnovat tr funkce: s-vald-fn má za parameter jednca a vrát true alebo false podl a toho, č je valdný, evaluate-fn má za parameter jednca, ktorého ohodnotí, generate-fn vytvorí nového, valdného jednca. Okrem toho obsahuje aj objectves, čo sú kl úče, podl a ktorých sa dá prstupovat k ohodnotenu jednca. Blžše sme teto funkce opísal v kaptole č. 7.2.2. V konfgurác treba potom špecfkovat meno balíka, kde sa nachádza tento problém a meno funkce, ktorá nám vrát vyšše opísanú štruktúru. Táto funkca bude zavolaná s konfgurácou problému ako parametrom a slúž na ncalzácu celého problému. D.4 Vyhl adávaca metaheurstka Tak ako pr probléme, aj na vyhl adávacu metaheurstku sa ostrov pozerá ako na dátovú štruktúru. V ukážke D.7 uvádzame príklad takejto štruktúry. D-3

{:terate do-terate :generate-populaton generate-populaton :nt nt-sland} Ukážka D.7: Štruktúra problému. Funkca do-terate má za parameter ostrov a vykoná jednu terácu metaheurstky. Funkca generate-populaton má ako parameter objekt problému a počet jedncov. nt-sland bere ako argument ostrov a slúž na jeho ncalzácu z pohl adu metaheurstky. Blžše sú teto funkce opísané v kaptole 7.2.3. V konfgurác treba opät uvest meno balíka, kde sa nachádza táto metaheurstka a meno funkce, ktorá nám vrát vyšše opísanú štruktúru. Takýto ops štruktúr pre problém a vyhl adávane by mohol byt v OOP paradgme analogcký k rozhranam alebo abstraktným objektom. D.5 Spustene vyhl adávana Na to aby sme vedel spustt vyhl adávane, potrebujeme najprv vyžadat balíky ft-dp-pmsoa.test.test-runner a ft-dp-pmsoa.core. Potom treba nastavt príslušné cesty k vstupom, konfgurácam a výstupom. Následne je potrebné zavolat funkcu run-test! z balíka ft-dp-pmsoa.test.test-runner. Táto funkca má za parametre symboly pre konfguráce vyhl adávana a problému; potom symbol, ktorý určuje typ postprocesu; boolean, ktorý zodpovedá fltrovanu na základe ohodnotena a na konec číslo behu a voltel né poznámky. Celý postup je možno vdet v ukážke D.8. D-4

(requre [ft-dp-pmsoa.test.test-runner :as tr] [ft-dp-pmsoa.core :as core]) ;; nastavene cest (alter-var-root # tr/*seq-path* (constantly./nput/ )) (alter-var-root # core/*confg-path* (constantly./cfgs/ )) (alter-var-root # tr/*res-path* (constantly./results/ )) ;; spustene vyhladavana ;; prva konfguraca (tr/run-test! :moabc2-300-50 :mfp2-4obj :nstance-out false 1) ;; druha konfguraca (tr/run-test! :moabc2-300-50 :mfp3-4obj :nstance-out false 1) Ukážka D.8: Spustene vyhl adávana v Clojure. D-5

E Výsledky ostatných algortmov V tejto prílohe uvádzame výsledky, ktoré dosahl ostatné algortmy nad rovnakým datasetom ako my. Teto výsledky sú dostupné na stránke datasetu 24. Tabul ka E.1: YMF. Data set ntp nfp nfn ntn stp sfp sfn nsn nppv nsp npc ncc ssn sppv sasp Fly 0 512 671 41817 0 79 51 0.000 0.000 0.988 0.000-0.014 0.000 0.000 0.000 Human 210 1961 4909 281920 22 252 276 0.041 0.097 0.993 0.030 0.052 0.074 0.080 0.077 Mouse 166 657 1473 53204 20 90 78 0.101 0.202 0.988 0.072 0.125 0.204 0.182 0.193 Yeast 178 362 1056 59404 21 41 54 0.144 0.330 0.994 0.112 0.208 0.280 0.339 0.309 Total 554 3492 8109 436345 63 462 459 0.064 0.137 0.992 0.046 0.082 0.121 0.120 0.120 Tabul ka E.2: Weeder. Data set ntp nfp nfn ntn stp sfp sfn nsn nppv nsp npc ncc ssn sppv sasp Fly 8 224 663 42105 1 28 50 0.012 0.034 0.995 0.009 0.011 0.020 0.034 0.027 Human 278 734 4841 283147 32 92 266 0.054 0.275 0.997 0.047 0.115 0.107 0.258 0.183 Mouse 101 475 1538 53386 12 55 86 0.062 0.175 0.991 0.048 0.088 0.122 0.179 0.151 Yeast 361 315 873 59451 39 32 36 0.293 0.534 0.995 0.233 0.386 0.520 0.549 0.535 Total 748 1748 7915 438089 84 207 438 0.086 0.300 0.996 0.072 0.152 0.161 0.289 0.225 Tabul ka E.3: SeSMCMC Data set ntp nfp nfn ntn stp sfp sfn nsn nppv nsp npc ncc ssn sppv sasp Fly 68 1194 603 41135 5 35 46 0.101 0.054 0.972 0.036 0.054 0.098 0.125 0.112 Human 235 8159 4884 275722 20 297 278 0.046 0.028 0.971 0.018 0.013 0.067 0.063 0.065 Mouse 102 2393 1537 51468 10 95 88 0.062 0.041 0.956 0.025 0.015 0.102 0.095 0.099 Yeast 125 2067 1109 57699 7 90 68 0.101 0.057 0.965 0.038 0.050 0.093 0.072 0.083 Total 530 13813 8133 426024 42 517 480 0.061 0.037 0.969 0.024 0.049 0.080 0.075 0.078 Tabul ka E.4: QuckScore Data set ntp nfp nfn ntn stp sfp sfn nsn nppv nsp npc ncc ssn sppv sasp Fly 0 660 671 41669 0 115 51 0.000 0.000 0.984 0.000-0.016 0.000 0.000 0.000 Human 26 2590 5093 281291 0 474 298 0.005 0.010 0.991 0.003-0.006 0.000 0.000 0.000 Mouse 59 597 1580 53264 8 110 90 0.036 0.090 0.989 0.026 0.039 0.082 0.068 0.075 Yeast 66 1009 1168 58757 9 198 66 0.053 0.061 0.983 0.029 0.039 0.120 0.043 0.082 Total 151 4856 8512 434981 17 897 505 0.017 0.030 0.989 0.011 0.008 0.033 0.019 0.026 24 http://bo.cs.washngton.edu/assessment/assessment result.html E-1

Tabul ka E.5: Olgodyad-Analyss Data set ntp nfp nfn ntn stp sfp sfn nsn nppv nsp npc ncc ssn sppv sasp Fly 0 600 671 41729 0 84 51 0.000 0.000 0.986 0.000-0.015 0.000 0.000 0.000 Human 190 698 4929 283183 18 102 280 0.037 0.214 0.998 0.033 0.083 0.060 0.150 0.105 Mouse 44 368 1595 53493 6 57 92 0.027 0.107 0.993 0.022 0.039 0.061 0.095 0.078 Yeast 111 225 1123 59541 14 32 61 0.090 0.330 0.996 0.076 0.164 0.187 0.304 0.246 Total 345 1891 8318 437946 38 275 484 0.040 0.154 0.996 0.033 0.069 0.073 0.121 0.097 Tabul ka E.6: MITRA Data set ntp nfp nfn ntn stp sfp sfn nsn nppv nsp npc ncc ssn sppv sasp Fly 0 167 671 42162 0 16 51 0.000 0.000 0.996 0.000-0.008 0.000 0.000 0.000 Human 125 2527 4994 281354 12 244 286 0.024 0.047 0.991 0.016 0.021 0.040 0.047 0.044 Mouse 10 637 1629 53224 2 59 96 0.006 0.015 0.988 0.004-0.009 0.020 0.033 0.027 Yeast 137 761 1097 59005 12 66 63 0.111 0.153 0.987 0.069 0.115 0.160 0.154 0.157 Total 272 4092 8391 435745 26 385 496 0.031 0.062 0.991 0.021 0.031 0.050 0.063 0.057 Tabul ka E.7: MEME Data set ntp nfp nfn ntn stp sfp sfn nsn nppv nsp npc ncc ssn sppv sasp Fly 28 637 643 41692 3 51 48 0.042 0.042 0.985 0.021 0.027 0.059 0.056 0.057 Human 195 3034 4924 280847 18 204 280 0.038 0.060 0.989 0.024 0.034 0.060 0.081 0.071 Mouse 120 777 1519 53084 14 66 84 0.073 0.134 0.986 0.050 0.079 0.143 0.175 0.159 Yeast 238 388 996 59378 23 37 52 0.193 0.380 0.994 0.147 0.260 0.307 0.383 0.345 Total 581 4836 8082 435001 58 358 464 0.067 0.107 0.989 0.043 0.071 0.111 0.139 0.125 Tabul ka E.8: Improbzer Data set ntp nfp nfn ntn stp sfp sfn nsn nppv nsp npc ncc ssn sppv sasp Fly 10 558 661 41771 1 43 50 0.015 0.018 0.987 0.008 0.002 0.020 0.023 0.021 Human 213 4261 4906 279620 21 413 277 0.042 0.048 0.985 0.023 0.028 0.070 0.048 0.059 Mouse 177 1275 1462 52586 22 115 76 0.108 0.122 0.976 0.061 0.089 0.224 0.161 0.193 Yeast 194 1848 1040 57918 20 130 55 0.157 0.095 0.969 0.063 0.099 0.267 0.133 0.200 Total 594 7942 8069 431895 64 701 458 0.069 0.070 0.982 0.036 NaN 0.123 0.084 0.103 Tabul ka E.9: GLAM Data set ntp nfp nfn ntn stp sfp sfn nsn nppv nsp npc ncc ssn sppv sasp Fly 2 406 669 41923 0 42 51 0.003 0.005 0.990 0.002-0.008 0.000 0.000 0.000 Human 121 3170 4998 280711 12 188 286 0.024 0.037 0.989 0.015 0.016 0.040 0.060 0.050 Mouse 12 627 1627 53234 1 64 97 0.007 0.019 0.988 0.005-0.007 0.010 0.015 0.013 Yeast 88 1416 1146 58350 11 179 64 0.071 0.059 0.976 0.033 0.043 0.147 0.058 0.102 Total 223 5619 8440 434218 24 473 498 0.026 0.038 0.987 0.016 NaN 0.046 0.048 0.047 Tabul ka E.10: Consensus Data set ntp nfp nfn ntn stp sfp sfn nsn nppv nsp npc ncc ssn sppv sasp Fly 0 329 671 42000 0 30 51 0.000 0.000 0.992 0.000-0.011 0.000 0.000 0.000 Human 0 0 5119 283881 0 0 298 0.000 NaN 1.000 0.000 NaN 0.000 NaN NaN Mouse 80 673 1559 53188 10 72 88 0.049 0.106 0.988 0.035 0.053 0.102 0.122 0.112 Yeast 98 392 1136 59374 11 35 64 0.079 0.200 0.993 0.060 0.115 0.147 0.239 0.193 Total 178 1394 8485 438443 21 137 501 0.021 0.113 0.997 0.018 0.040 0.040 0.133 0.087 E-2

Tabul ka E.11: ANN-Spec Data set ntp nfp nfn ntn stp sfp sfn nsn nppv nsp npc ncc ssn sppv sasp Fly 17 953 654 41376 1 105 50 0.025 0.018 0.977 0.010 0.002 0.020 0.009 0.015 Human 462 4016 4657 279865 49 449 249 0.090 0.103 0.986 0.051 0.081 0.164 0.098 0.131 Mouse 71 1578 1568 52283 8 180 90 0.043 0.043 0.971 0.022 0.014 0.082 0.043 0.062 Yeast 204 1252 1030 58514 23 140 52 0.165 0.140 0.979 0.082 0.133 0.307 0.141 0.224 Total 754 7799 7909 432038 81 874 441 0.087 0.088 0.982 0.046 NaN 0.155 0.085 0.120 Tabul ka E.12: AlgnACE Data set ntp nfp nfn ntn stp sfp sfn nsn nppv nsp npc ncc ssn sppv sasp Fly 0 110 671 42219 0 10 51 0.000 0.000 0.997 0.000-0.006 0.000 0.000 0.000 Human 201 1759 4918 282122 22 156 276 0.039 0.103 0.994 0.029 0.053 0.074 0.124 0.099 Mouse 47 911 1592 52950 3 80 95 0.029 0.049 0.983 0.018 0.015 0.031 0.036 0.033 Yeast 229 1009 1005 58757 21 83 54 0.186 0.185 0.983 0.102 0.168 0.280 0.202 0.241 Total 477 3789 8186 436048 46 329 476 0.055 0.112 0.991 0.038 0.066 0.088 0.123 0.105 E-3

F Článok na IIT.SRC 2017 Na nasledujúcch stranách uvádzame článok na IIT.SRC 2017 spolu s prezentovaným posterom. F-1

Motf Fndng In DNA Sequences Róbert CUPRIK Slovak Unversty of Technology n Bratslava Faculty of Informatcs and Informaton Technologes Ilkovčova 2, 842 16 Bratslava, Slovaka robertcuprk@hotmal.sk Abstract. Motf fndng n DNA sequences s a problem that s currently ntensvely studed n bonformatcs. The problem s to locate short nucleotde sequences called motfs. These sequences are mportant as they among other functons ndcate bndng stes used for transcrpton. We approach ths problem as a problem of optmzaton where the goal s to optmze a set of gven objectve functons whle satsfyng constrants. Our approach s based on usng metaheurstcs. In ths paper, we descrbe a parallel cooperatve algorthm that manages cooperaton of multple sequental metaheurstcs smlar to the sland model known n evolutonary computaton. 1 Introducton Motfs are short sequences n DNA also called bndng stes [5]. Ths parts precede other parts of DNA that are used by ndvdual to produce protens. Therefore knowledge of ther poston helps scentsts to better understand DNA. Search for these motfs s complcated as the only thng we know s that they tend to repeat between genes. Ths s further complcated by the fact that motfs suffer from mutatons such as nucleotde substtuton [2]. Ths problem can be vewed as a problem of optmsaton. For ths category of problems metaheurstc algorthms can be used. Metaheurstcs especally bo-nspred algorthms are versatle as they can solve varous problems from DNA assembly problem n [1] or story trackng n [13] to nterplanetary trajectory desgn n [9]. In ths paper we descrbe one approach to ths problem. We combne known metaheurstc MOABC [6] wth parallelzaton usng Specalzed Island Model [16]. We also experment wth usng g-best from [17] as means of ndvdual assmlaton. As topology n mgraton we propose usage of neghbourhoods. Ths paper s structured as follows. In secton 1.1 we descrbe Motf Fndng Problem (MFP) as a problem of optmzaton. In secton 1.2 we specfy soluton defnton as well as objectves beng optmzed. In sectons 2 and 3 we descrbe sequental metaheurstc that s used n slands. Sectons 4 and 5 are dedcated to Island model and mgraton. In secton 6 and 7 are evaluaton and conclusons. 1.1 Motf Fndng Problem Motf fndng problem s n [8] defned as multple sequence local algnment problem, where task s to detect overrepresented motfs n multple sequences [2]. If objectve functons are gven, such problem can be solved as a problem of optmzaton descrbed mathematcally [8] for M objectves as : Mnmzef(x) = [f (x), = 1,..., M] (1) satsfyng constrants: g j(x) 0 k = 1, 2,...J (2) h (x) = 0 j = 1, 2,...K (3) In MOABC [6] followng objectves to optmze were used: maxmze length of the motf, maxmze smlarty, maxmze support subjected to followng constrants: mnmal support, mnmal complexty, motf length n range [6, 64] 1.2 Soluton evaluaton Soluton that s subject to optmzaton s defned as vector of decson varables where the frst varable Master study programme n feld: Informaton Systems Supervsor: Professor Pavol Návrat, Insttute of Informatcs, Informaton Systems and Software Engneerng, Faculty of Informatcs and Informaton Technologes STU n Bratslava F-2 IIT.SRC 2017, Bratslava, Aprl 27, 2017, pp. 1 8.

2 To Be Added by Edtor represents motf length and followng varables specfy motf poston n each nput sequence. Motfs on these postons n each sequence are called canddate motfs. From ths motfs consensus motf s computed as a sequence of most domnant nucleotdes at each poston. Only canddate motfs that have at least 50% of nucleotdes same as consensus motf are consdered as a part of the fnal motf. Ths s optmzed usng support objectve whch s drectly relatve to the amount of canddate motfs used n fnal motf. Poston Frequency Matrx (PFM) s then computed from consdered canddate motfs as a matrx of frequences of nucleotdes (A,C,T,G) at each poston. Example of such PFM can be seen n Table 1. Table 1. Part of PFM for motf YJL056C n ZAP1 gene 1. A 0.502 0.9243 0.0137 0.0029... T 0.0912 0.0485 0.006 0.0129... G 0.3905 0.0168 0.0022 0.003... C 0.0163 0.0104 0.9781 0.9812... Ths PFM s subsequently used n computaton of other objectves. In equaton 4 smlarty s computed, where f(b, ) s frequency of nucleotde b {A, T, G, C} on -th poston and l s length of the motf. Smlarty = l =1 max bf(b, ) l (4) Complexty objectve s descrbed n equaton 5. n s number of nucleotdes {A, C, G, T } n a fnal motf sequence. Complexty = log N l! (n)! (5) We use entropy (equaton 6) as an addton to objectve functons used n MOABC. Entropy s smlar to smlarty, but uses whole dstrbuton of frequences for gven poston not only the most domnant nucleotde. Entropy = l =1 b f(b, ) log 2(f(b, )) l (6) 2 Gbest-guded ABC Artfcal Bee Colony (ABC) [7] s bo-nspred algorthm utlzng concepts of Swarm Intellgence (SI) based on foragng behavour of honey bees. In ABC there are three groups of bees employed bees, onlooker bees and scouts. Employed bees locate food source, fly back to hve and then dance to share nformaton about the found food source wth other bees. Tme spent on dancng reflects the amount of nectar found. In ABC food source represents one soluton to doman problem and amount of nectar s correspondng to ts ftness. Movement of employed bee s performed usng equaton 7. v j = x j + φ j(x j x kj ) (7) Current poston of bee (poston of food source) s represented by vector of decson varables. In equaton 7 x represents poston of bee. x j s value of j-th decson varable of -th bee. New poston of employed bee v s computed usng ts prevous poston x and random other bee poston x k. φ j s random number n range [ 1, 1]. In Gbest-guded ABC [17] was ths equaton extended usng global best bee (g-best) whch s the best bee that was found n prevous teratons. In equaton 8 s g-best represented by vector y. Ψ j s random number between [0, C]. v j = x j + φ j(x j x kj ) + Ψ j(y j x j) (8) Ths extenson was proposed to mprove explotaton of ABC. We use g-best term as means of nfluence between dfferent slands and ther respectve populatons. Onlooker bees watch employed bees dancng and then choose whch food source to vst. In ABC onlooker bees use same movement equaton as worker bees. Dfference s n bee x whch s chosen from worker bees wth probablty based on ts ftness. Scount bees search randomly for new solutons and mprove exploraton. Each of these groups has ts respectve phase n ABC employed bees phase, onlookers phase and scouts phase. In teraton process these phases alternate untl endng crteron s met e.g. maxmal number of teratons s reached. 3 MOABC Mult-objectve Artfcal Bee Colony (MOABC) [6] s mult-objectve optmzaton algorthm based on ABC. As ABC was desgned to solve sngle objectve optmzaton problems, MOABC was proposed to solve mult-objectve Motf Fndng Problem. Indvduals n mult-objectve space are evaluated by more than one objectve functon. Therefore fnal soluton s not only one ndvdual but multple 1 http://yetfasco.ccbr.utoronto.ca/showpfm.php?mot=yjl056c 2097.0 F-3

Róbert Cuprk: Motf Fndng In DNA Sequences 3 ndvduals that make up group of pareto optmal solutons called pareto front. Solutons belong to pareto front f they are not domnated by any other soluton. Soluton x t s sad to domnate soluton y f for every objectve functon f, f (x) s better or equal than f (y) and there exsts at least one for whch f (x) s strctly better than f (y). In MOABC populaton s represented as a vector of bees where bee poston n vector depends on ts ftness. Better solutons present at start of the vector are followed by worse ones. Vector s then splt nto three parts. Frst N e postons represent employed bees, second N o onlooker bees and fnal N s scout bees. N e + N o + N s = N, where N s number of bees n populaton. Smple comparson s not suffcent to sort bees n ths vector. MOABC uses non-domnated sort and crowdng dstance from NSGA-II [3]. Non-domnated sort s based on domnance descrbed above. In ths sort multple ranked fronts are created. Frst front contans pareto optmal solutons that are not domnated by any other soluton. Second front contans solutons that are only domnated by solutons n frst front. Thrd contans solutons that are domnated by solutons from second and so on. Membershp n ranked fronts ts not enough to get precse poston n populaton vector. Addtonal metrc to determne dfferences nsde of front s needed. Ths s where crowdng dstance s used as t favours solutons that are not present n dense postons of objectve space, therefore promotng dversfcaton of solutons. In fnal poston vector bees are sorted n a way where at the begnnng are bees that are not domnated and are not present n crowded areas. In MOABC same bee phases as n ABC are followed wth non-domnated sort and crowdng dstance. In our mplementaton we use g-best n movement computaton n addton to orgnal MOABC. 4 Asynchronous Island cooperaton Island model [10] s parallel cooperatve algorthm that works wth sequental Evolutonary Algorthms (EA). Each sland has ts own populaton and usng EA teratvely searches for better solutons. Islands work n parallel for predefned amount of teratons. When ths teratons are fnshed mgraton begns. In mgraton, ndvduals (solutons) are exchanged between slands usng mgraton topology. Sequental EA n parallel and subsequent mgraton make up one teraton of sland called epoch. Epochs repeat for predefned amount of tmes. There are multple exstng topologes [12] such as chans, rngs or hypercubes. We use fully connected topology, but mgraton s not based on connectons between slands but on ther dstances. Island only sees other slands n ts neghbourhood. For each sland I j ts neghbourhood n tme t s defned as N jt = {I k, d(i j, I k ) nd(t) k j}. d(i j, I k ) s dstance between slands I j and I k. nd(t) s a functon of tme that changes neghbourhood sze. As search progresses neghbourhood gets bgger. Island chooses n other slands wth whch t exchanges solutons from ts neghbourhood wth probablty that s based on ther respectve dstances. In our mplementaton we use asynchronous varaton of sland model smlar to those used n [9] and [11]. In these models slands do not wat for each other but merely provde ther solutons for others to retreve asynchronously usng shared memory. Moreover, n our mplementaton assmlaton of ndvdual after mgraton does not conssts of njectng t nto populaton. We use t as a g-best ndvdual for a gven sland. 5 Specalzed Island Model To promote dversfcaton n solutons Specalzed Island Model (SIM) [16] was proposed. In ths model sland optmzes only a subset of objectve functons. Each sland then progresses to dfferent part of global pareto front. We use ths model asynchronously wth topology based on neghbourhood. 6 Evaluaton Tompa et al. [14] created dataset desgned to test and evaluate motf fndng algorthms. As not all real motfs are known, ths dataset uses both real and generated data. It conssts of three types of nput sequences real sequences from TRANSFAC database [15] wth known motfs, Markov chan generated sequences wth planted motfs and randomly selected sequences wth planted motfs. It contans 56 nputs from each group and sequences are from human, mouse, fly and yeast genome. There are also known results from varous other algorthms rangng from exhaustve search to neural network based ones. In Table 2 we can see results obtaned by our algorthm n prelmnary testng compared to other results. MOABC+Islands s our current algorthm and MOABC+Entropy s the best result we acheved n our prevous work. We show true/false postve motfs found (st P/sF P ) and senstvty (ssn) computed as nsn = F-4 nt P nt P +nf N.

4 To Be Added by Edtor Table 2. Results obtaned by Tompa et. al. n comparson to our result. algorthm stp sfp ssn MEME 58 358 0.111 GLAM 24 473 0.046 Weeder 84 207 0.161 QuckScore 17 897 0.033 ANN-Spec 81 874 0.155 MOABC+Entropy 52.96 491.13 0.1189 MOABC+Islands 86 1521 0.057 7 Concluson In ths paper we descrbe parallel cooperatve metaheurstc algorthm that s based on Specalzed Island Model (SIM) wth neghbourhood. Islands use MOABC as ther sequental algorthm used for optmzaton. Our contrbuton s n usage of g-best as a method of assmlaton as well as neghbourhood for mgraton. We apply ths algorthm to a real lfe problem of fndng DNA motfs. We performed prelmnary testng usng benchmark problem DTLZ7 [4]. Results wth sngle sland showed the need for dversfcaton usng crowdng dstance or SIM. Results also showed mprovements n ftness once some of the objectve functons were partally gnored as they would be n SIM. After mplementaton of crowdng dstance we obtaned results for Motf Fndng Problem shown n Table 2. Ths result s currently worse than results obtaned n our prevous work as the amount of false postve motfs s too hgh. We am to mprove ths result by better parametrzaton whch requres more test runs and by tweaks to our algorthm such as result flterng to suppress false postves. Acknowledgement: Ths work was partally supported by the Scentfc Grant Agency of Slovak Republc, grant No. VG 1/0752/14. References [1] BouEzzeddne A., Kasala S., Návrat P.: Applyng the Frefly Approach to the DNA Fragments Assembly Problem. Annales Unv. Sc. Budapest., Sect. Comp. (2014), 2014, vol. 42, pp. 69 81. [2] Das, M.K., Da, H.K.: A survey of DNA motf fndng algorthms. BMC bonformatcs, 2007, vol. 8, no. Suppl 7, p. S21. [3] Deb, K., Pratap, A., Agarwal, S., Meyarvan, T.: A fast and eltst multobjectve genetc algorthm: NSGA- II. Evolutonary Computaton, IEEE Transactons on, 2002, vol. 6, no. 2, pp. 182 197. [4] Deb, K., Thele, L., Laumanns, M., Ztzler, E.: Scalable test problems for evolutonary multobjectve optmzaton. Sprnger, 2005. [5] D haeseleer, P.: What are DNA sequence motfs? Nature botechnology, 2006, vol. 24, no. 4, pp. 423 425. [6] González-Álvarez, D.L., Vega-Rodríguez, M.A., Gómez-Puldo, J.A., Sánchez-Pérez, J.M.: Fndng motfs n DNA sequences applyng a multobjectve artfcal bee colony (MOABC) algorthm. In: Evolutonary Computaton, Machne Learnng and Data Mnng n Bonformatcs. Sprnger, 2011, pp. 89 100. [7] Karaboga, D.: Artfcal bee colony algorthm. scholarpeda, 2010, vol. 5, no. 3, p. 6915. [8] Kaya, M.: MOGAMOD: Mult-objectve genetc algorthm for motf dscovery. Expert Systems wth Applcatons, 2009, vol. 36, no. 2, pp. 1039 1047. [9] Märtens, M., Izzo, D.: The asynchronous sland model and NSGA-II: study of a new mgraton operator and ts performance. In: Proceedngs of the 15th annual conference on Genetc and evolutonary computaton, ACM, 2013, pp. 1173 1180. [10] Martn, W., Leng, J., Cohoon, J.P.: C6. 3 Island (mgraton) models: evolutonary algorthms based on punctuated equlbra. B ack et al. BFM97], Seten C, vol. 6. [11] Nelsen, S.S., Dorronsoro, B., Danoy, G., Bouvry, P.: Novel effcent asynchronous cooperatve coevolutonary mult-objectve algorthms. In: Evolutonary Computaton (CEC), 2012 IEEE Congress on, IEEE, 2012, pp. 1 7. [12] Rucńsk, M., Izzo, D., Bscan, F.: On the mpact of the mgraton topology on the sland model. Parallel Computng, 2010, vol. 36, no. 10, pp. 555 571. [13] Sabo S., Kovarova A., Návrat P.: Multple developng news stores dentfed and tracked by socal nsects and vsualzed usng the new galactc streams and concurrent streams metaphors. Internatonal Journal of Hybrd Intellgent Systems, 2015, vol. 12, pp. 27 39. [14] Tompa, M., L, N., Baley, T.L., Church, G.M., De Moor, B., Eskn, E., Favorov, A.V., Frth, M.C., Fu, Y., Kent, W.J., et al.: Assessng computatonal tools for the dscovery of transcrpton factor bndng stes. Nature botechnology, 2005, vol. 23, no. 1, pp. 137 144. [15] Wngender, E., Detze, P., Karas, H., Knüppel, R.: TRANSFAC: A Database on Transcrpton Factors and Ther DNA Bndng Stes. Nuclec Acds Research, 1996, vol. 24, no. 1, pp. 238 241. [16] Xao, N., Armstrong, M.P.: A specalzed sland model and ts applcaton n multobjectve optmzaton. In: Genetc and Evolutonary Computaton Conference, Sprnger, 2003, pp. 1530 1540. [17] Zhu, G., Kwong, S.: Gbest-guded artfcal bee colony algorthm for numercal functon optmzaton. Appled Mathematcs and Computaton, 2010, vol. 217, no. 7, pp. 3166 3173. F-5

WhatI sdnamot f? -shor tsubst r ngpat t er n -r epeat edl ypr esentatvar ouspos t ons -subj ectt omut at onssuchas nser t on, del et onorsubst t ut on -hol dssomeb ol og cal l ys gn f cant nf or mat on Opt m zat onpr obl em Max m zeg venobj ect ves: -Lengt hofmot f -Suppor t -S m l ar t y/ent r opy Sat sf yg venconst r a nt s: -Mot fl engt h7-64 -M n mum Suppor tv al ue -M n mum mot fcompl ex t y BeeEval uat on Sol ut on ( bee pos t on) con- cons der ed.i t st hesemot f s t a ns nf or mat on aboutmot ff r om wh chpos t onf r equenpos t on n each nput se- cymat r x( PFM) scomput ed. quence and t sl engt h.fr om t hese cand dat e mot f s,con- Us ngpfm wecancomput e sensusmot f scr eat ed us ng s m l ar t y,ent r opy and commostdom nantnucl eot de f or pl ex t y.suppor t snumberof eachpos t on.onl ymot f st hat mot f st hatpassed consenhav eatl east50% nucl eot des susf l t er.lengt h sg v end same as consensus ar e r ect l ybybeepos t on. Mot ff nd ng ndnasequences Róbe r tcupr k e ma l :r obe r t c upr k @hot ma l. c om s upe r v s e dbypr of e s s orpa v ol Ná v r a t 3Phases: -Wor k er sbeephase -Onl ook er sbeephase -Scoutbeephase Beesor t ng: -NSGAI Inondom nat edsor t -Cr owd ngd st ance Mul t obj ect vear t f c al BeeCol ony( MOABC) s n o t u l o ws e dn n of Ct B A smo e s du n a l s I 1.Sequent almet aheur st cs t er at on 2. W t hpr obab l t ypshar ebestr esul t s 3. W t hpr obab l t yqacceptr esul t s St eps: -each sl andhas t sownpopul at on -each sl and sr unn ngmoabc -beeshar ng sasynchr onous -when sl andr ec ev esbee, tuses tas gbestbee I sl and Us ngmul t obj ect vear t f c albeecol ony andasynchr onousi sl andmodel me nt so d n e p e hd c a e dr n a l s I Asynchr onousi sl andmodel s d n a l s I t 1 t 2 I sl and=1thr eadr unn ngsequent alal gor t hm Beesar eexchangedus ngshar edmemor y Numberofaf f ect edne ghbour sdependsont me Usageofgbestbee WeME r g ea l lp o p u l a t o n s s f l r a o n me da a n c dp h o s t p r o c e s st o p2 0 n d v d u a l s Post pr ocess ng Dur ng MOABC we use bee st ep equat on ext ended by gbest.eachbee sbe ngpul l edt ogbestbee.gbest sr ec ev edf r om ne ghbour ng sl anddur ngm gr at on. Resul t s Foreach sol ut on we cons dercand dat e mot fw t ht he smal l esthamm ngd st ancet oconsensusmot fasar esul t. Subsequent l ywe scor et hese mot f sand out putonl yn bestoft hem. Mot fscor e G v en mot fl engt h we comput e ngr amsf r om nputsequences.ngr ams ar e scor ed by hamm ng d st ance t o mot f.scor edngr amsar et henf l t er edbymax mum hamm ngd st ancet hat sder v edf r om mot fl engt h.ngr ams ar et henspl t nt obuc k et sbyt he rscor e. Buc k etbcont a ns ngr amsw t hhamm ngd st ance.mot fscor e scomput ed as Wher e B snumberofbuc k et sand B snumberofmot f s ng v enbuc k et. F-6