8. ledna
Maximalizace reálné funkce -- znovu a naposledy
- Kombinace EA a klasických algoritmů
- Bez znalosti EA byste poslední úlohu asi řešili
pomocí nějakého gradientního algoritmu. Ačkoliv ani jeden algoritmus
není ideální (klasický gradient ve většině případů skončí v lokálním
minimu, s EA jste se také poměrně natrápili), jejich kombinací můžete
dojít ke zjištění, že úloha byla poměrně triviální.
- Napište si mutaci (nejlépe se vrátit ke kódu s reálným kódováním, viz
27.11.), která
provede několik kroků gradientního algoritmu. (kdo nerad derivuje, může
použít tento kód - bez záruky)
- Grayův kód
- Mnoho z vás došlo minulou hodinu k závěru, že když už binární
kódování, tak nějaké chytřejší. Jan Procházka naprogramoval převod do/z
Graova kódu, můžete vyzkoušet, jak to dopadne (nechávám to v pythonu).
- Jiné možnosti vytváření nové populace
- Na přednášce před Vánoci jste si říkali o různých alternativách
evolučních algoritmů. Můžete vyzkoušet jiné možnosti vytváření nové
populace. Viz
manuál . Pokud se Vám nechce pročítat, napište si potomka
eoReplacement, kterému přepíšete operator() (eoPop<EOT>& _parents,
eoPop<EOT>& _offspring) a můžete vytvářet nové populace, jak
budete chtít.
Body
- 5 bodů - krátky komentář o tom, co jste vyzkoušeli
(kdo nebyl na cvičení: předpokládám, že si vyberete jednu ze tří uvedených možností)