37
Генетические алгоритмы на практике VS Байрам Аннаков Олег Паринов #empatika четверг, 28 апреля 2011 г.

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

Embed Size (px)

DESCRIPTION

Презентация с лекции по генетическим алгоритмам на биофаке МГУ

Citation preview

Page 1: Генетические алгоритмы

Генетические алгоритмы на практике

VS

Байрам Аннаков Олег Паринов

#empatikaчетверг, 28 апреля 2011 г.

Page 2: Генетические алгоритмы

Биология Математика

VS

четверг, 28 апреля 2011 г.

Page 3: Генетические алгоритмы

четверг, 28 апреля 2011 г.

Page 4: Генетические алгоритмы

Дарвин Ламарк

VS

четверг, 28 апреля 2011 г.

Page 5: Генетические алгоритмы

Ламарк

четверг, 28 апреля 2011 г.

Page 6: Генетические алгоритмы

Ламарк

Изменения окружающей среды

Изменения особей

Передача по наследствумутация

четверг, 28 апреля 2011 г.

Page 7: Генетические алгоритмы

Дарвин

четверг, 28 апреля 2011 г.

Page 8: Генетические алгоритмы

Дарвин

мутация - случайная

наследование признаков

естественный отбор

четверг, 28 апреля 2011 г.

Page 9: Генетические алгоритмы

VS

Проверяем!

четверг, 28 апреля 2011 г.

Page 10: Генетические алгоритмы

вирус VS бактерия

четверг, 28 апреля 2011 г.

Page 11: Генетические алгоритмы

Ламарк

четверг, 28 апреля 2011 г.

Page 12: Генетические алгоритмы

Дарвин

четверг, 28 апреля 2011 г.

Page 13: Генетические алгоритмы

Дельбрюк и Лурия

четверг, 28 апреля 2011 г.

Page 14: Генетические алгоритмы

ДАРВИН!

VS

четверг, 28 апреля 2011 г.

Page 15: Генетические алгоритмы

Результат - ДНК

мутация - ошибка репликации

четверг, 28 апреля 2011 г.

Page 16: Генетические алгоритмы

НО!

lac+

кишечная палочка

lac-

четверг, 28 апреля 2011 г.

Page 17: Генетические алгоритмы

lac-

+

лактоза

Эксперимент

четверг, 28 апреля 2011 г.

Page 18: Генетические алгоритмы

lac-

+

лактоза

через день: только мутировавшие в lac+

через два дня: колонии увеличиваются!через три дня: колонии увеличиваются!

четверг, 28 апреля 2011 г.

Page 19: Генетические алгоритмы

голод! стресс!

увеличениевероятности мутацииlac- lac+lac--

адаптивная мутация!

четверг, 28 апреля 2011 г.

Page 20: Генетические алгоритмы

И!

VS

четверг, 28 апреля 2011 г.

Page 21: Генетические алгоритмы

бактерия защитилась от вируса

адаптивная мутация!

четверг, 28 апреля 2011 г.

Page 22: Генетические алгоритмы

+

все правы

четверг, 28 апреля 2011 г.

Page 23: Генетические алгоритмы

генетические алгоритмы

четверг, 28 апреля 2011 г.

Page 24: Генетические алгоритмы

0. Генерация начальной популяции

Представить решение проблемы в виде набора генов

657575153

+

Случайно сгененировать первую популяцию

четверг, 28 апреля 2011 г.

Page 25: Генетические алгоритмы

1. Скрещивание

457425896 246531579

457431579

четверг, 28 апреля 2011 г.

Page 26: Генетические алгоритмы

2. Мутация

457431579

457931579

четверг, 28 апреля 2011 г.

Page 27: Генетические алгоритмы

3. Естественный отбор

30457931579

Особь Fitness

четверг, 28 апреля 2011 г.

Page 28: Генетические алгоритмы

Повторить n раз

Скрещивание

Мутация

Естественный отбор

четверг, 28 апреля 2011 г.

Page 29: Генетические алгоритмы

Что в итоге?

Конечная популяция - самая приспособленная

Решение проблемы без ее осознания

четверг, 28 апреля 2011 г.

Page 30: Генетические алгоритмы

Математическое обоснование

• Особи - точки на плоскости• Скрещивание - новая точка в окрестности

• Мутация - выйти за пределы локального максимума

• Естественный отбор - движение к оптимуму

четверг, 28 апреля 2011 г.

Page 31: Генетические алгоритмы

Зачем?• Слишком сложная задача

• Невозможность стандартного решения• Временная и ресурсная ограниченность

четверг, 28 апреля 2011 г.

Page 32: Генетические алгоритмы

Ламарк!

адаптивная мутация

стресс и голод

четверг, 28 апреля 2011 г.

Page 33: Генетические алгоритмы

Ламарк!

адаптивная мутация

стресс и голод

повышение вероятности мутации у min fitness

четверг, 28 апреля 2011 г.

Page 34: Генетические алгоритмы

проблема

локальный максимум

!"#$%&'($)*+)$,-.$*/$01*#&$&!"1+)23$4!5$#)4#$#)&$&66*7*&!#$#*8&$"6$9:$ &;&71#*"!$ +*%&/$ 1/$ #)&$ '&/#'*7#*"!$ "6$ -<<$ *#&'4#*"!/$=*#)$ #)&$/*>&$"6$?"?1@4#*"!$"6$A<<B$

C4/&5$"!$"1'$"=!$D&!7)84'E/$,6"'$&;48?@&3$-<;F<$?'"D@&8$=4/$?'"?"/&5$4/$#)&$D*++&/#$D1/*!&//$?'"D@&8$=&$4'&$#'(*!+$#"$/"@%&23$=&$7"!/#4!#@($"D/&'%&5$#)&$/*#14#*"!$"6$?'&84#1'&$7"!%&'+&!7&$G$46#&'$4$ @"#$"6$*#&'4#*"!/$#)&'&$=&'&$84!($/*#14#*"!/$=*#)$#)&$/48&$D&/#$'&/1@#3$4!5$=*#)$#)&$4%&'4+&$%4@1&$+'4514@@($4??'"47)*!+$#)*/$D&/#$ "!&B$ H)*/$ /*#14#*"!$ 74!$ D&$ /&&!$ "!$I*+1'&$ FB$J"'&"%&'3$=&$=&'&$ !"#$ /4#*/6*&5$ =*#)$ "1'$ 9H$ 7'"//"%&'$ D&741/&$ #)&$ "66/?'*!+$=4/$ !"#$ %&'($ /*8*@4'$ #"$ D"#)$ ?4'&!#/B$ K"$ "1'$ !&;#$ /#&?/$=&'&$ #"$*8?'"%&$ /"8&$ "?&'4#*"!/$ *!$ +&!&#*7$ 4@+"'*#)8$ #"$ '&#'*&%&$ D&##&'$'&/1@#/B$

$

$

!"!! #$%&'()*+%,-.*./'&(L!$ "'5&'$ #"$ *8?'"%&$ 7'"//"%&'$ "?&'4#*"!3$ =&$ )4%&$ *8?@&8&!#&5$#*8&$ )"'*>"!$ &;7)4!+&$ ,HMN2$ 7'"//"%&'$ 5&/7'*D&5$ *!$ O*!3$9""584!$ 4!5$P1!7)Q/$="'E$ RFSB$ HMN$ 7'"//"%&'$ */$ #)&$ 7)4!+&5$9H$ 4@+"'*#)8$ *!$=)*7)$ #)&$ /(/#&8$ 7)""/&/$ /"8&$ #*8&$%4@1&$ ,"'$/"8&$"?&'4#*"!$G$ #)&$&;&71#*"!$"6$4$ T"D$"!$4$847)*!&2$4!5$ #)&!$+&!&'4#&/$"!&$?4'#$"6$ #)&$ /7)&51@&$!"#$%"& #)*/$ #*8&$D4/&5$"!$ #)&$#'%()$?4'&!#Q/$/7)&51@&$4!5$4!"#)&'$?4'#$*#)"%&#)&$#*8&$D4/&5$"!$#)&$("+$,-$?4'&!#Q/$/7)&51@&B$$HMN$ 7'"//"%&'$ !"#$ "!@($ +&!&'4#&/$ #)&$ "66/?'*!+$ %*/14@@($ 4@*E&$?4'&!#/3$D1#$4@/"$/)"=/$D&##&'$'&/1@#/$"!$"1'$D&!7)84'E/3$)"=&%&'$5*5$!"#$'&/"@%&$#)&$?'&84#1'&$7"!%&'+&!7&$?'"D@&8B$U)4#$ */$ #)&$ '&4/"!$ =)($ ?'&84#1'&$ 7"!%&'+&!7&$ 4??&4'/V$ I'"8$#)&$ /#4'#$ /7)&51@&/$ +'4514@@($ &%"@%&3$ /)"=*!+$ D&##&'$ 84E&/?4!$=*#)$ &47)$ *#&'4#*"!B$ C1#$ 46#&'$ A<<WF<<$ *#&'4#*"!/$ #)&'&$84($ D&$ 4$/*#14#*"!$#)4#$#)&$D&/#$84E&/?4!$/#"?/$*8?'"%*!+B$J"'&"%&'3$"#)&'$/7)&51@&/$ D&7"8&$ 4??'"47)*!+$ #)*/$ D&/#$ '&/1@#$ G$ #)&$ @"74@$84;*818B$ X#)&'$ A<WF<$ *#&'4#*"!/$ G$ #)&$ ?"?1@4#*"!$ */$ *5&!#*74@3$4%&'4+&$%4@1&$&014@/$#)&$D&/#$"!&B$H)&($4@@$)4%&$+"#$/#17E$4#$#)&$@"74@$ 84;*84$ G$ 4!5$ *#$84($ #4E&$ @"!+$ #*8&$ #"$ 7'&4#&$ 4$ /7)&51@&$D&("!5$#)*/$?"*!#$G$4!5$#"$*8?'"%&$#)&$=)"@&$?"?1@4#*"!B$X!&$5&7*/*"!$=4/$#"$/#"?$46#&'$+&##*!+$/#17E$*!$4$@"74@$84;*8183$)"?*!+$ #)4#$ #)&$ 71''&!#$ D&/#$ '&/1@#$ */$ #)&$ "?#*84@$ "!&B$ C1#$ =&$5&7*5&5$#"$7)4!+&$4!5$*8?'"%&$/"8&$"?&'4#*"!/B$X!&$ =4($ #"$ 5&4@$ =*#)$ 4%"*5*!+$ ?'&84#1'&$ 7"!%&'+&!7&$ */$ #"$*8?@&8&!#$?4'4@@&@$+&!&#*7$4@+"'*#)8B$H)&$?"*!#$)&'&$ */$ #"$7'&4#&$/&%&'4@$ *!5&?&!5&!#$ */@4!5/$=*#)$ &%"@%*!+$ ?"?1@4#*"!/3$ 4!5$ #)&!$1/&$8*+'4#*"!$ "?&'4#*"!$=*#)$ /"8&$ ?&'*"5*7*#(B$ K"$=)&!$ 4$ @"74@$84;*818$ */$ 6"1!5$ "!$ "!&$ */@4!53$ "#)&'/$ 74!$ &66*7*&!#@($ )&@?$6"1!5$4$D&##&'$/7)&51@&B$U&$)4%&$'1!$/&%&'4@$#&/#/$1/*!+$"1'$D&!7)84'E/3$4!5$*#$#1'!&5$"1#$#)4#$#)&$D&/#$8*+'4#*"!$'4#&$*/$&%&'($F<#)$*#&'4#*"!3$/#4'#*!+$=*#)$#)&$Y<#)$"!&B$H)&$84*!$?"*!#$*/$#"$8*+'4#&$!"#$%&'($"6#&!$*!$"'5&'$!"#$

#"$7"?($#)&$/48&$&%"@1#*"!$"!$&47)$*/@4!53$D1#$4@/"$!"#$#"$7'&4#&$*!&66*7*&!#3$ 61@@($ *!5&?&!5&!#$5&%&@"?8&!#B$H)*/$ *8?'"%&8&!#$ #"$/"8&$ &;#&!5$ )&@?&5$ #"$ "%&'7"8&$ @"74@$84;*843$ D1#$ !"#$ #"$ 61@@($4%"*5$?'&84#1'&$7"!%&'+&!7&B$H)&!$"1'$4##&!#*"!$=4/$5*'&7#&5$#"=4'5$#)&$?'"7&//$"6$+&!&'4#*!+$*!*#*4@$ ?"?1@4#*"!B$ U&$ #'*&5$ #"$ 1/&$ Z[$ 4@+"'*#)8$ G$ 4$ /@*+)#@($7)4!+&5$9H$ "!&$ W$ =)&'&$ #)&$ "?&'4#*"!$ =*#)$ #)&$ &4'@*&/#$ &!5*!+$#*8&$ */$ 7)"/&!$ 6'"8$ \$ /&#B$ L#$ */$ 01*#&$ 7@&4'$ #)4#$ *!$ /"8&$ @4'+&$?'"D@&8$ #)&'&$84($ D&$ 4$ @"#$ "6$ 5*66&'&!#$ /7)&51@&/$ +&!&'4#&5$ D($Z[$ 4@+"'*#)8$ ,47#14@@($ #)&'&$ 4'&$8"'&$ #)4!$8*@@*"!$ %4'*4!#/$ 6"'$"1'$A-;]$D&!7)84'E$G$/"$=&$74!!"#$1/&$^D'1#&$6"'7&_2B$\1''&!#@($?'"517#*"!$ 84!4+&'/$ 47#14@@($ 1/&$ #)&$ Z[$ 4??'"47)$ *!$ "'5&'$ #"$+&!&'4#&$ ?'"517#*"!$ ?@4!3$ #)&($ 1/14@@($ /7)&51@&$ #)&$ &4'@*&/#$"?&'4#*"!$ *!$ #)&$ 6*'/#$?@47&B$:!5$ *#$ #1'!&5$"1#$ #)4#$Z[$4@+"'*#)8$+&!&'4#&/$D&##&'$/"@1#*"!/$#)4!$4$'4!5"8$9H$"!&B$L#$#4E&/$4$@"#$"6$*#&'4#*"!/$6"'$+&!&#*7$4@+"'*#)8$=*#)$9H$?"?1@4#*"!$*!*#*4@*>*!+$#"$"D#4*!$ #)&$ 84E&/?4!$ #)4#$ 74!$ D&$ +&!&'4#&5$ D($ +&##*!+$ #)&$ D&/#$'&/1@#$6'"8$/&%&'4@$Z[W+&!&'4#&5$"!&/B$:#$#)&$/48&$#*8&3$+&!&#*7$4@+"'*#)8$*/$74?4D@&$"6$*8?'"%*!+$Z[W+&!&'4#&5$/7)&51@&B$K"$=&$5&7*5&5$#"$7)""/&$4!$&66*7*&!#$=4($W$#"$+&!&'4#&$*!*#*4@$?"?1@4#*"!$D($Z[$4@+"'*#)8B$X!$ #)&$ "#)&'$ )4!53$ #)&$ #&/#$ "6$ J1#)$ `$ H)"8?/"!Q/$ a;a$D&!7)84'E$ ?'"D@&8$ RYS$ '&%&4@&5$ #)4#$ #)&$ Z[WD4/&5$ +&!&#*7$4@+"'*#)8$=4/$1!4D@&$ #"$6*!5$E!"=!$"?#*84@$'&/1@#B$I47*!+$ #)&/&$#="$ 01*#&$ 7"!#'45*7#"'($ 647#/3$ =&$ 5&7*5&5$ #"$ #4E&$ 45%4!#4+&$ "6$?4'4@@&@$ +&!&#*7$ 4@+"'*#)8$4!5$+&!&'4#&$ *!*#*4@$?"?1@4#*"!$"!$"!&$)4@6$"6$#)&$*/@4!5/$D($9H$4@+"'*#)83$=)*@&$1/*!+$Z[$4@+"'*#)8$6"'$4!"#)&'$ )4@6$ =*#)$ !"#$ %&'($ )*+)$ '4#&$ "6$ 8*+'4#*"!B$ L#$ +*%&/$ #)&$?"//*D*@*#($ #"$ 6*!5$ '&/1@#/$ D&("!5$ Z[$ +&!&'4#&5$ "!&/$ "!$ /84@@$?'"D@&8/3$=)*@&$#"$&66*7*&!#@($4??'"47)$D&##&'$'&/1@#/$=*#)$#)&$@&//$!18D&'$"6$*#&'4#*"!/$"!$/"8&$D*+$D&!7)84'E/B$$K"$ #)&$ /*#14#*"!$ 4#$ #)4#$ /#4+&$ =4/$ #)&$ 6"@@"=*!+$ ,I*+1'&$ Y2b$ =&$*8?'"%&5$"'*+*!4@$+&!&#*7$4@+"'*#)8$D($8"5&@*!+$/&%&'4@$ */@4!5/$=*#)$ 8*+'4#*"!$ "?&'4#*"!/3$ D($ HMN$ 7'"//"%&'$ 4!5$ D($ Z[c9H$*!*#*4@*>*!+$ "?&'4#*"!/B$ d!6"'#1!4#&@(3$ =&$ /#*@@$ 647&5$ ?'&84#1'&$7"!%&'+&!7&$ /*#14#*"!/3$ )"=&%&'$ !"#$ /"$ "6#&!$ 4/$ *!$ #)&$ "'*+*!4@$9:B$U&$)45$#"$/"@%&$#)*/$?'"D@&8$*!$"'5&'$#"$+&#$D&##&'$'&/1@#/B$

$

0"! 123()4567834391:(7#(;<=(2>57123:3:(0"?! 9@'A%@B(<C.$/C(9&!&#*7$4@+"'*#)8$4??&4'&5$ 6'"8$D"#)$84#)&84#*7/$4!5$D*"@"+(b$#)&$ 7"!7&?#$ "6$ &%"@1#*"!$ =*#)$ 7'"//"%&'3$ 81#4#*"!$ 4!5$ !4#1'4@$

#$CA%.((!"(1D+$E@B(,%$C$/@B(C./.'$E(@BC,%$'F*"(1,+(B$/.(G(@/(@-.%@C.([email protected](I,''.I(B$/.(G('F.(J.&'(*@K.&+@/"

#$CA%.((0"((1F.(L$%&'($*+%,-.*./'&($/(C./.'$E(@BC,%$'F*(

четверг, 28 апреля 2011 г.

Page 35: Генетические алгоритмы

решение

Кризис!

меняйся или умри!

четверг, 28 апреля 2011 г.

Page 36: Генетические алгоритмы

выводы

• Эволюция: Дарвин + Ламарк

• Математика в биологии• Биология в математике• Генетические алгоритмы

четверг, 28 апреля 2011 г.

Page 37: Генетические алгоритмы

спасибо

http://empatika.com

четверг, 28 апреля 2011 г.