3. Генетичните алгоритми са част от еволюционото
програмиране.Вдъхновени от Дарвиновата теория за еволюцията.
Средство за решаване на задачи
Среда за машинно обучение
4. Основни предимства :
- пресмятания на няколко решения едновременно,обхващайки
голяма област на търсене – създава се списък с „най- добри
решения“
Оптимизация на много сложни стойностни функции и работа с
разнообразни типове данни
Винаги дават „отговор“ на задачата, подобряване с времето
http://www.boxcar2d.com/
5. Приложенията им биват многополюсни от описание на различни
видове биологични с-ми,миграция на видове,оптимизация в химията
през компресиране на данни,изготвяне на оптимален график и се
стигне до дизайн на електронни схеми и безжични сензори.
Този тип алгоритми намират широко приложение в областта на
теория на игрите и компютърно творчество
6. Биологична основа – залегнала в генетичните алгоритми.
Всяка клетка има множество хромозоми(низове от
ДНК).Хромозомите се състоят от гени блокове от ДНК.
Всеки ген „кодира“ белег,например цвят на очите.
Възможните комбинации за белега(синьо,кафяво) се наричат алели.
Всеки ген има своята позиция в хромозома
7. В „дъното“ на идеята за този тип алгоритми, се ползва презумцията
залегнала в еволюцията, че новата популация ще бъде по-добра от
старата.Решенията,който са избрани да формират новата популация
са съборазени с тяхната жизнеспособност - по подходящите са с по-
големи шансове за репродукция.Тези стъпки се повтарят
докато не се „създаде“ най-доброто
решение.
8. Популацията се състои от кандидати наречени хромозоми. Този тип
алгоритмите се основават върху конкуренцията между хромозомите.
Във всяка хромозома е кодирано възможното решение на задачата и
се състои от множество елементи наречени гени. След „завъртане“
на достатъчен брой итарации алгоритъма се приближава до
оптималното решение.
9. Информацията за решението се съдържа в хромозомите под
различни форми:
- Двойчен низ:0110
-„Цифров“: използвайте редицата {1,2,3,4} да представите {P,W,S,E}
- Реални числа: огъната отчасти или изцяло антена от
автоматичен компютърен дизайн.
-Пермутация :решаване на Судоко – всяка стъпка е пред-
ставена от ген в хромозоната
- Мутация: смяна на бит стойност в редица
10. Основни оператори в генетичните алгоритми
- Селекция : пресмята се репродуктивната вероятност
- Кръстосване :популацията, получена след селекция се раздела на 2
равни части,избират се двойки хромозоми от всяка,който се
кръстосват.
-Мутация: след кръстосване произволни „битове“ се променят
кръстосване мутация
12. Пример: задача за 8-те царици. Да се намери такова разположение
на 8 царици върху шахматна дъска, че никоя двойка от тях да не се
бият взаимно.
13. Пример за това как генетичните алгоритми се подобряване с времето
14. Traveling Salesman Problem
1) Лондон 2) София 3) Загреб 4) Париж
5) Брюксел 6) Токио 7) Ню Йорк 8) Истанбул
Лист с градове 1 (3 5 7 2 1 6 4 8)
Лист с градове 2 (2 5 7 6 8 1 3 4)
Кръстосване (5 8 7 2 1 6 3 4)
Мутация Преди (5 8 7 2 1 6 3 4)
Мутация След (5 8 6 2 1 7 3 4)
15. GAOT – Genetic Algorithm Optimization Toolbox in Matlab
JGAP – Genetic Algorithm and Genetic Programming component provided
as a Java framework.
Generator – another popular and powerful software running on
Microsoft Excel
16. Ами имат ли някакви недостатъци ?!?
-Изисква се повече изчислително време за осъществяване на
задачата.
-По-бавни са от повечето познати метода
17. References and further readings:
Garkaz M., The Selection and Optimization of Stock Portfolio using
Genetic Algorithm based on Mean-semi Variance Model.
Poli R., etc., “A Field Guide to Genetic Programming”
http://www.r-bloggers.com/genetic-algorithms-a-simple-r-example/
http://www.obitko.com/tutorials/genetic-algorithms/