Řešení složitých problémů s využitím evolučních algoritmů - Belovič, Boris (Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií, 2009)
Složitý problém je úloha, u které počet možných řešení roste s počtem parametrů exponenciálně nebo faktoriálně. Za použití klasických metod trvá nalezení řešení neúměrně nebo nekonečně dlouho. Do množiny složitých úloh patří i predikce signálu. U takovéhoto signálu není znám žádný vztah popisující jeho vývoj, k dispozici je pouze časová řada nebo grafické vyjádření. Řešení pomocí genetických algoritmů spočívá v nalezení opakujících se vzorů a trendů z minulosti a jejich následném použití pro předpovídání budoucího vývoje. Predikce je prováděna pomocí implikačních pravidel ve tvaru jestliže/pak. Tato pravidla se skládají z podmínkové části a z výsledkové části. Každé pravidlo je reprezentováno jedním chromozomem v populaci. Populace pravidel se porovnává s historickým vývojem signálu. Následně jsou jednotlivá pravidla ohodnocena podle úspěšnosti a vstupují do simulované evoluce. Výsledkem evoluce je skupina pravidel, obsahující nejvýraznější vzory a trendy. Tato pravidla jsou následně validována na validační množině. Aplikace je implementována v programovacím jazyku JAVA.

Difficult problems are tasks which number of possible solutions increase exponentially or factorially. Application of common mathematical methods for finding proper solution in polynomial time is ineffective. Signal prediction is an example of diffucult problem. Signal is represented with a time serie and there is no explicit mathematical formula describing the signal. When genetic algorithms are applicated, they try to discover hidden patterns in time serie. These patterns can be used for prediction. Implication rules are used for discovery of these hidden patterns in time serie. Each rule is represented by one chromosome in population. Rules consist of two parts: conditional part and result part. Rules in population are compared with time serie and then the rules are evaluated according to their success in prediction. After the evaluation of rules, simulated evolution is started. Result of this evolution process is a group of rules which represent the most distinct patterns in time serie. These rules are then validated on validation set. Application is implemented in JAVA programming language.
Solution of complex problems using evolutionary algorithms
Keywords: evoluční algoritmus; predikce signálu; spektrální analýza; vlnková transformace; časové řady; Java; JGAP; BIRT; evolutionary algorithm; signal prediction; spectral analysis; wavelet transformation; time series; Java; JGAP; BIRT framework