Эволюциялык алгоритмдер: бул эмне жана алар эмне үчүн керек

Мазмуну:

Эволюциялык алгоритмдер: бул эмне жана алар эмне үчүн керек
Эволюциялык алгоритмдер: бул эмне жана алар эмне үчүн керек
Anonim

Жасалма интеллект тармагында эволюциялык алгоритм (EA) метаэвристикалык оптималдаштырууга негизделген жалпы популяциялык эсептөөлөрдүн бир бөлүгү. EA репродукция, мутация, рекомбинация жана тандоо сыяктуу биологиялык өнүгүүдөн шыктанган механизмдерди колдонот. Эволюциялык оптималдаштыруу алгоритмдеринин проблемасында талапкер чечими популяциядагы индивиддердин ролун ойнойт. Жана ошондой эле фитнес функциясы жооптордун сапатын аныктайт.

Эволюциялык алгоритмдер көбүнчө маселелердин бардык түрлөрүнө жакын чечимдерди чыгарышат. Анткени идеалдуу түрдө алар фитнес пейзажына байланыштуу эч кандай божомол жасашпайт. Эволюциялык моделдөө жана генетикалык алгоритмдер үчүн колдонулган методдор, адатта, микроэволюциялык процесстерди изилдөө жана уюлдук этаптарга негизделген пландоо моделдери менен чектелет. Көпчүлүк реалдуу EA колдонмолорунда эсептөө татаалдыгы тыюу салуучу фактор болуп саналат.

Чынындабул маселе фитнес-функцияны баалоого байланыштуу. Фитнес жакындоо бул кыйынчылыкты жеңүү үчүн бир чечим болуп саналат. Бирок, жөнөкөй көрүнгөн EA көбүнчө татаал маселелерди чече алат. Демек, ырааттуулуктун татаалдыгы менен маселенин ортосунда түз байланыш болушу мүмкүн эмес. Кененирээк маалыматты "Эволюциялык алгоритмдер" китептеринен тапса болот.

Ишке ашыруу

эволюциялык моделдөө жана алгоритмдер
эволюциялык моделдөө жана алгоритмдер

Биринчи кадам – адамдардын баштапкы популяциясын туш келди түзүү.

Экинчи кадам бул топтогу ар бир адамдын ылайыктуулугун баалоо (убакыт чеги, жетиштүү даярдык ж.б.).

Үчүнчү кадам - аягына чыгаруу үчүн төмөнкү регенерация кадамдарын кайталаңыз:

  1. Багуу үчүн эң ылайыктуу адамдарды тандаңыз (ата-энелер).
  2. Тукум алуу үчүн кроссовер жана мутация аркылуу эволюциялык алгоритмден өткөн жаңы индивиддерди алып кел.
  3. Жаңы адамдардын жеке жарамдуулугун баалаңыз.
  4. Алар менен эң ылайыктуу калкты алмаштырыңыз.

Түрлөр

Генетикалык алгоритм – эволюциялык ырааттуулук, Эксперттик кеңешчинин эң популярдуу түрү. Көйгөйдүн чечими рекомбинация жана мутация (кээде бир, кээ бир учурларда экөө тең) сыяктуу операторлорду колдонуу менен сандар саптары түрүндө изделет (салттуу түрдө экилик, бирок эң жакшы көрүнүштөр көбүнчө чечилип жаткан маселеде көбүрөөк чагылдырылган).). Эксперттик кеңешчинин бул түрү көбүнчө оптималдаштыруу маселелеринде колдонулат. Мунун дагы бир аталышы - fetura (латын тилинен "төрүү"):

  1. Генетикалык программалоо. Ал чечимдерди компьютердик коддор катары сунуштайт жана алардын ылайыктуулугу эсептөө тапшырмаларын аткаруу жөндөмдүүлүгү менен аныкталат.
  2. Эволюциялык программалоо. Эволюциялык генетикалык алгоритмге окшош, бирок структурасы туруктуу жана анын сандык параметрлери өзгөрүшү мүмкүн.
  3. Ген экспрессиясын программалоо. Компьютердик тиркемелерди иштеп чыгат, бирок генотип-фенотип системасын изилдейт, мында ар кандай өлчөмдөгү долбоорлор туруктуу узундуктагы сызыктуу хромосомаларда коддолгон.
  4. Стратегия. Чечимдердин көрүнүшү катары реалдуу сандардын векторлору менен иштейт. Адатта өзүн-өзү адаптациялоочу эволюциялык мутация ылдамдыгынын алгоритмдерин колдонот.
  5. Дифференциалдык өнүгүү. Вектордук айырмачылыктарга негизделген, ошондуктан биринчи кезекте сандык оптималдаштыруу маселелери үчүн ылайыктуу.
  6. Нейроэволюция. Эволюциялык программалоо жана генетикалык алгоритмдерге окшош. Бирок акыркысы байланыштардын түзүлүшүн жана салмагын сүрөттөгөн жасалма нейрон тармактары. Геномду коддоо түз же кыйыр болушу мүмкүн.

Биологиялык процесстер менен салыштыруу

Көптөгөн эволюциялык алгоритмдердин мүмкүн болгон чектөөсү генотип менен фенотиптин ортосундагы так айырманын жоктугу болуп саналат. Табиятта уруктанган жумуртка жетилген болуу үчүн эмбриогенез деп аталган татаал процесстен өтөт. Бул кыйыр коддоо генетикалык издөөлөрдү ишенимдүүрөөк кылат (б.а. өлүмгө алып баруучу мутацияларды пайда кылуу ыктымалдыгы аз) жана организмдин өнүгүү жөндөмдүүлүгүн жакшыртышы мүмкүн. Мындай кыйыр (башкача айтканда,генеративдик же өнүктүрүүчү) коддоолору эволюцияга чөйрөдөгү мыйзамдуулукту пайдаланууга да мүмкүндүк берет.

Жасалма эмбриогенез же өнүгүү системалары боюнча акыркы иштер бул маселелерди чечүүгө умтулат. Ген экспрессиясын программалоодо генотип-фенотип аймагы ийгиликтүү изилденет, мында биринчиси белгиленген узундуктагы сызыктуу мультигендик хромосомалардан, экинчиси көптөгөн экспрессия дарактарынан же ар кандай өлчөмдөгү жана формадагы компьютердик программалардан турат.

Тилешкен техникалар

эволюциялык алгоритмдер
эволюциялык алгоритмдер

Алгоритмдерге төмөнкүлөр кирет:

  1. Кумурска колониясын оптималдаштыруу. Бул курт-кумурскалар феромондор менен байланышып, жолдорду пайда кылып тамак издейт деген ойго негизделген. Негизинен комбинатордук оптималдаштыруу жана график маселелери үчүн ылайыктуу.
  2. Тамыр сыдырма алгоритми. Жаратуучу табияттагы өсүмдүк тамырларынын функциясынан шыктанган.
  3. Жасалма аары колониялары үчүн алгоритм. Бал аарыларынын жүрүм-турумуна негизделген. Ал биринчи кезекте сандык оптималдаштыруу үчүн сунушталат жана комбинатордук, чектелген жана көп максаттуу маселелерди чечүү үчүн кеңейтилген. Аары алгоритми курт-кумурскалардын жем издөө жүрүм-турумуна негизделген. Ал маршруттоо жана график түзүү сыяктуу көптөгөн колдонмолордо колдонулган.
  4. Бөлүктөр үйүрүн оптималдаштыруу - жаныбарлардын үйүрүнүн жүрүм-туруму идеяларына негизделген. Ошондой эле биринчи кезекте сандык процесстик тапшырмалар үчүн ылайыктуу.

Башка популярдуу метахевристикалык ыкмалар

  1. Аңчылык издөө. Кээ бир жаныбарларды, мисалы, карышкырларды топ менен кармоого негизделген ыкмаолжону курчап алуу үчүн өз милдеттерин бөлүштүрүшөт. Эволюциялык алгоритмдин мүчөлөрүнүн ар бири кандайдыр бир жол менен башкаларга тиешелүү. Бул өзгөчө жетекчиге тиешелүү. Бул комбинатордук процесс ыкмасы катары ылайыкташтырылган үзгүлтүксүз оптималдаштыруу ыкмасы.
  2. Өлчөөлөр боюнча издөө. Табиятка негизделген метахевристтик методдордон айырмаланып, адаптациялоо процессинин алгоритми метафораны негизги принцип катары колдонбойт. Тескерисинче, ар бир итерацияда издөө өлчөм катышынын параметрин жаңыртууга негизделген жөнөкөй аткарууга багытталган ыкманы колдонот. Firefly алгоритми оттун жаркыраган жарыгы менен бири-бирин өзүнө тартып турганынан шыктанган. Бул өзгөчө мультимодалдык оптималдаштыруу үчүн пайдалуу.
  3. Гармонияны изде. Музыканттардын жүрүм-турумунун идеяларынын негизинде. Бул учурда эволюциялык алгоритмдер комбинатордук оптималдаштыруунун жолу болуп саналат.
  4. Гаусс адаптациясы. Маалымат теориясынын негизинде. Өндүрүмдүүлүктү жана орточо жеткиликтүүлүктү жогорулатуу үчүн колдонулат. Бул жагдайдагы эволюциялык алгоритмдердин мисалы: термодинамикадагы энтропия жана маалымат теориясы.

Memetic

эволюциялык моделдөө
эволюциялык моделдөө

Ричард Доукинстин мем идеясына негизделген гибриддик ыкма. Ал, адатта, жергиликтүү тактоолорду аткарууга жөндөмдүү жеке окутуу процедуралары менен айкалышкан калкка негизделген алгоритм формасын алат. Көйгөйгө тиешелүү билимдерди колдонууга басым жасап, синергетикалык жол менен кылдат жана глобалдуу издөөлөрдү уюштурууга аракет кылат.

Эволюциялыкалгоритмдер полиномдук убакытта оңой чечилбеген маселелерге эвристикалык мамиле, мисалы, классикалык NP-кыйын маселелер жана толук иштетүү үчүн өтө көп убакытты талап кыла турган башка нерселер. өз алдынча колдонулганда, алар, адатта, комбинатордук маселелер үчүн колдонулат. Бирок, генетикалык алгоритмдер көп учурда башка методдор менен тандемде колдонулат, алар менен иштөө үчүн бир нече оптималдуу баштапкы жерлерди табуу үчүн тез жол катары иштейт.

Сиз табигый тандалуу процесси менен тааныш болсоңуз, эволюциялык алгоритмдин негизи (кеңешчи катары белгилүү) абдан жөнөкөй. Ал төрт негизги кадамды камтыйт:

  • инициализация;
  • тандоо;
  • генетикалык операторлор;
  • аягы.

Бул кадамдардын ар бири болжол менен табигый тандалуунун белгилүү бир аспектисине туура келет жана алгоритмдердин ошол категориясын модулдаштыруунун жеңил жолдорун камсыз кылат. Жөнөкөй сөз менен айтканда, EAда эң күчтүү мүчөлөр аман калып, көбөйөт, ал эми жараксыз мүчөлөр өлүп, кийинки муундун генофондуна салым кошпойт.

Инициализация

Алгоритмди баштоо үчүн алгач чечимдердин топтомун түзүшүңүз керек. Калк көп учурда мүчөлөр деп аталган мүмкүн болгон көйгөйлөрдүн ыктыярдуу санын камтыйт. Алар көбүнчө туш келди түзүлөт (милдеттин чегинде) же кандайдыр бир алдын ала билимдер белгилүү болсо, болжолдуу түрдө идеалдуу деп эсептелген нерселердин айланасында топтолот. Калктын чечимдердин кеңири спектрин камтышы маанилүү,анткени ал негизинен генофонд болуп саналат. Ошондуктан, эгер кимдир бирөө бир алгоритмдин ичинде көптөгөн ар кандай мүмкүнчүлүктөрдү изилдегиси келсе, анда ар кандай гендерге ээ болууга умтулуу керек.

Тандоо

генетикалык коддор
генетикалык коддор

Популяция түзүлгөндөн кийин, анын мүчөлөрү фитнес функциясына жараша бааланышы керек. Фитнес функциясы мүчөнүн мүнөздөмөлөрүн алат жана мүчө канчалык ылайыктуу экенин сандык чагылдырат. Аларды түзүү көбүнчө абдан кыйын болушу мүмкүн. Маалыматтарды так чагылдырган жакшы системаны табуу маанилүү. Бул көйгөй үчүн абдан өзгөчө болуп саналат. Эми бардык катышуучулардын ылайыктуулугун эсептеп, эң мыкты мүчөлөрдү тандоо керек.

Бир нече максаттуу функциялар

EAлар бул системаларды колдонуу үчүн да узартылышы мүмкүн. Бул процессти бир аз татаалдантат, анткени аларды колдонууда бир оптималдуу пунктту аныктоонун ордуна, топтом алынат. Чечимдердин жыйындысы Парето чек арасы деп аталат жана алардын бири да башкасына үстөмдүк кылбайт деген мааниде бирдей ылайыктуу элементтерди камтыйт.

Генетикалык операторлор

Бул кадам эки кошумча кадамды камтыйт: кроссовер жана мутация. Мыкты терминдерди тандап алгандан кийин (көбүнчө эң жогорку 2, бирок бул сан өзгөрүшү мүмкүн), алар азыр алгоритмде кийинки муунду түзүү үчүн колдонулат. Тандалган ата-энелердин өзгөчөлүктөрүн колдонуу менен сапаттардын аралашмасы болгон жаңы балдар жаралат. Бул көбүнчө маалыматтардын түрүнө жараша кыйын болушу мүмкүн, бирок көбүнчө комбинатордук маселелердежарактуу айкалыштарды аралаштырып чыгаруу толук мүмкүн.

Эми жаңы генетикалык материалды муунга киргизүү керек. Бул маанилүү кадам жасалбаса, окумуштуу абдан тез жергиликтүү экстремалдык тыгылып калат жана оптималдуу натыйжаларды ала албайт. Бул кадам мутация болуп саналат жана ал абдан жөнөкөй жасалат, балдардын кичинекей бөлүгүн, алар негизинен ата-энесинин генинин бөлүмдөрүн чагылдырбагандай кылып өзгөртөт. Мутация көбүнчө ыктымалдуу түрдө пайда болот, анткени баланын аны жуктуруп алуу ыктымалдыгы жана анын оордугу таралуу менен аныкталат.

Токтотуу

моделдөө жана алгоритмдер
моделдөө жана алгоритмдер

Акырында, алгоритм бүтүшү керек. Бул, адатта, эки учурда болот: же ал кандайдыр бир максималдуу аткаруу убактысына жеткен, же аткаруу босогосуна жеткен. Бул учурда, акыркы чечим тандалып, кайтарылат.

Эволюциялык алгоритмдердин мисалы

Эми бул процесстин жыйынтыгын көрсөтүү үчүн кеңешчинин иш-аракетин көрүшүңүз керек. Бул үчүн динозаврлардын бир нече муундары басууну (акырындык менен жерди өздөштүрүү), денесинин түзүлүшүн оптималдаштырууну жана булчуң күчүн колдонууну кантип үйрөнүшкөнүн эстесек болот. Алгачкы муундагы сойлоп жүрүүчүлөр баса албаса да, кеңешчи аларды убакыттын өтүшү менен мутация жана кроссовер аркылуу баса турган формага айландыра алган.

Бул алгоритмдер заманбап дүйнөдө барган сайын актуалдуу болуп баратат, анткени аларга негизделген чечимдер санариптик маркетинг, финансы жана башка тармактарда көбүрөөк колдонулууда.саламаттыкты сактоо.

EAлар кайда колдонулат?

Көбүрөөк айтканда, эволюциялык алгоритмдер сүрөттөрдү иштетүү, унааны маршрутташтыруу, мобилдик байланышты оптималдаштыруу, программалык камсыздоону иштеп чыгуу жана ал тургай жасалма нейрон тармагын окутуу сыяктуу ар кандай тиркемелерде колдонулат. Бул куралдар адамдар күнүмдүк негизде колдонгон көптөгөн колдонмолордун жана веб-сайттардын, анын ичинде Google Карталарынын жана ал тургай The Sims сыяктуу оюндардын өзөгүн түзөт. Мындан тышкары, медициналык талаа ракты дарылоо боюнча клиникалык чечимдерди кабыл алууга жардам берүү үчүн EA колдонот. Чынында, эволюциялык алгоритмдер ушунчалык күчтүү болгондуктан, аларды оптималдаштыруунун дээрлик бардык маселелерин чечүүгө болот.

Мур Мыйзамы

ЭОнун өсүп жаткан таралышы эки негизги фактор менен шартталган: жеткиликтүү эсептөө күчү жана чоң маалымат топтомунун топтолушу. Биринчисин Мурдун мыйзамы менен сүрөттөсө болот, анда компьютердин эсептөө кубаттуулугунун көлөмү болжол менен эки жылда эки эсе көбөйөт. Бул божомол ондогон жылдар бою сакталып келген. Экинчи фактор технологияга болгон көз карандылыктын өсүшүнө байланыштуу, бул институттарга укмуштуудай чоң көлөмдөгү маалыматтарды чогултууга мүмкүндүк берет, бул аларга тренддерди талдап, өнүмдөрдү оптималдаштырууга мүмкүндүк берет.

Эволюциялык алгоритмдер маркетологдорго кантип жардам бере алат?

генетикалык моделдөө
генетикалык моделдөө

Рынок шарттары тездик менен өзгөрүп турат жана абдан атаандаштыкка жөндөмдүү. Бул маркетинг менеджерлерин жакшыраак чечим кабыл алуу үчүн атаандашууга мажбур кылды. Жеткиликтүү көбөйтүүэсептөө күчү жумушчуларды көйгөйлөрдү чечүү үчүн EA колдонууга алып келди.

Конверсияны оптималдаштыруу

моделдөө жана генетикалык алгоритмдер
моделдөө жана генетикалык алгоритмдер

Негизги максаттардын бири – сайтка киргендердин санын көбөйтүү. Бул көйгөй маркетолог каалаган нерсени кылган колдонуучулардын санын оптималдаштырууга байланыштуу. Мисалы, компания ноутбуктарды сатса, идеалдуу нерсе бул продуктту сатып алган сайтка келгендердин санын көбөйтүү. Бул конверсия курсун оптималдаштыруунун маңызы.

Таң калыштуу маанилүү аспектилердин бири - колдонуучунун интерфейсин тандоо. Эгерде веб-дизайн колдонуучуга абдан ыңгайлуу болбосо, тигил же бул себептерден улам продуктуну сатып албай койгондор бар. Анда максат конвертациялоону токтоткон колдонуучулардын санын кыскартуу, бул жалпы кирешени көбөйтөт.

Сунушталууда: