17
Николай Димитров Компютърни науки || курс - задочно ГЕНЕТИЧНИ АЛГОРИТМИ

николай димитров генетични алгоритми

Embed Size (px)

Citation preview

Page 1: николай димитров  генетични алгоритми

Николай ДимитровКомпютърни науки || курс - задочно

ГЕНЕТИЧНИ АЛГОРИТМИ

Page 2: николай димитров  генетични алгоритми

Генетични алгоритми

Page 3: николай димитров  генетични алгоритми

Генетични алгоритми

Генетичните алгоритми са част от еволюционото програмиране.Вдъхновени от Дарвиновата теория за еволюцията.

Средство за решаване на задачиСреда за машинно обучение

Page 4: николай димитров  генетични алгоритми

Основни предимства :- пресмятания на няколко решения едновременно,обхващайки голяма област на търсене – създава се списък с „най- добри решения“Оптимизация на много сложни стойностни функции и работа с разнообразни типове данниВинаги дават „отговор“ на задачата, подобряване с времето

http://www.boxcar2d.com/

Генетични алгоритми

Page 5: николай димитров  генетични алгоритми

Приложенията им биват многополюсни от описание на различни видове биологични с-ми,миграция на видове,оптимизация в химията през компресиране на данни,изготвяне на оптимален график и се стигне до дизайн на електронни схеми и безжични сензори.Този тип алгоритми намират широко приложение в областта на теория на игрите и компютърно творчество

Генетични алгоритми

Page 6: николай димитров  генетични алгоритми

Биологична основа – залегнала в генетичните алгоритми.Всяка клетка има множество хромозоми(низове от ДНК).Хромозомите се състоят от гени блокове от ДНК.Всеки ген „кодира“ белег,например цвят на очите.Възможните комбинации за белега(синьо,кафяво) се наричат алели.

Всеки ген има своята позиция в хромозома

Генетични алгоритми

Page 7: николай димитров  генетични алгоритми

В „дъното“ на идеята за този тип алгоритми, се ползва презумцията залегнала в еволюцията, че новата популация ще бъде по-добра от старата.Решенията,който са избрани да формират новата популация са съборазени с тяхната жизнеспособност - по подходящите са с по-големи шансове за репродукция.Тези стъпки се повтарятдокато не се „създаде“ най-доброторешение.

Генетични алгоритми

Page 8: николай димитров  генетични алгоритми

Популацията се състои от кандидати наречени хромозоми. Този тип алгоритмите се основават върху конкуренцията между хромозомите. Във всяка хромозома е кодирано възможното решение на задачата и се състои от множество елементи наречени гени. След „завъртане“ на достатъчен брой итарации алгоритъма се приближава до оптималното решение.

Генетични алгоритми

Page 9: николай димитров  генетични алгоритми

Информацията за решението се съдържа в хромозомите под различни форми:- Двойчен низ:0110-„Цифров“: използвайте редицата {1,2,3,4} да представите {P,W,S,E}- Реални числа: огъната отчасти или изцяло антена от автоматичен компютърен дизайн. -Пермутация :решаване на Судоко – всяка стъпка е пред-ставена от ген в хромозоната- Мутация: смяна на бит стойност в редица

Генетични алгоритми

Page 10: николай димитров  генетични алгоритми

Основни оператори в генетичните алгоритми - Селекция : пресмята се репродуктивната вероятност- Кръстосване :популацията, получена след селекция се раздела на 2 равни части,избират се двойки хромозоми от всяка,който се кръстосват.-Мутация: след кръстосване произволни „битове“ се променят

кръстосване мутация

Генетични алгоритми

Page 11: николай димитров  генетични алгоритми

Кръстосване или мутация

-Зависи от проблема но,-в повечето случай е добре да имаш и двете-двете имат различни роли

Генетични алгоритми

Page 12: николай димитров  генетични алгоритми

Пример: задача за 8-те царици. Да се намери такова разположение на 8 царици върху шахматна дъска, че никоя двойка от тях да не се бият взаимно.

Генетични алгоритми

Page 13: николай димитров  генетични алгоритми

Пример за това как генетичните алгоритми се подобряване с времето

Генетични алгоритми

Page 14: николай димитров  генетични алгоритми

Traveling Salesman Problem1) Лондон 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)

Генетични алгоритми

Page 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

Генетични алгоритми

Page 16: николай димитров  генетични алгоритми

Ами имат ли някакви недостатъци ?!?

-Изисква се повече изчислително време за осъществяване на задачата.-По-бавни са от повечето познати метода

Генетични алгоритми

Page 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/

Генетични алгоритми