Кіріспе
Мәселе кеңістігін іздеуге арналған бәсекелестік алгоритм. Компьютерлік ғылым мен операциялық зерттеулерде генетикалық алгоритм (ГА) – эволюциялық алгоритмдер (ЭА) класына жататын, табиғи іріктеу процесінен шабыттанған метаэвристикалық әдіс. Генетикалық алгоритмдер көбінесе оптимизация және іздеу мәселелеріне жоғары сапалы шешімдер табу үшін мутация, кроссовер және таңдау сияқты биологиялық принциптерге негіделген операторларды пайдаланады. ГА қолданылуының мысалдары: шешім ағаштарының өнімділігін арттыру, судоку жұмбақтарын шешу, гиперпараметрлерді оңтайландыру, себеп-салдарлық қорытындылар жасау және т.б.
In computer science and operations research, a genetic algorithm (GA) is a metaheuristic inspired by the process of natural selection that belongs to the larger class of evolutionary algorithms (EA). Genetic algorithms are commonly used to generate high quality solutions to optimization and search problems by relying on biologically inspired operators such as mutation, crossover and selection. Some examples of GA applications include optimizing decision trees for better performance, solving sudoku puzzles, hyperparameter optimization, causal inference, etc.
Бастапқылау
Популяцияның мөлшері мәселенің ерекшелігіне байланысты, бірақ көбінесе бірнеше жүз немесе мыңдаған мүмкін шешімдерді қамтиды. Көбінесе бастапқы популяция кездейсоқ түрде жасалады, бұл барлық мүмкін шешімдердің (іздеу кеңістігінің) қарастырылуын қамтамасыз етеді. Кейде шешімдер оңтайлы шешімдер табылғанға ұқсайтын аймақтарға "сіңірілуі" мүмкін, немесе үлкен қызығушылық тудыратын аймақтарға назар аудару үшін іріктеу ықтималдығының таралуы реттелуі мүмкін.
Таңдау
Әрбір кезекті ұрпақ сайын, қазіргі популяцияның бір бөлігі жаңа ұрпаққа көбейту үшін таңдалады. Жеке шешімдер жарамдылыққа негізделген процесс арқылы іріктеледі, мұнда жарамдырақ шешімдер (жарамдылық функциясы бойынша өлшенгенде) көбінесе таңдалуға бейім. Кейбір таңдау әдістері әр шешімнің жарамдылығын бағалап, ең жақсы шешімдерді артықшылықпен таңдайды. Басқа әдістер халықтың тек кездейсоқ үлгісін бағалайды, себебі бұрынғы процесс өте көп уақытты қажет етеді. Жарамдылық функциясы генетикалық өрнекте анықталады және ұсынылған шешімнің сапасын өлшейді. Жарамдылық функциясы әрқашан проблемаға байланысты болады. Мысалы, рюкзак мәселесінде белгілі бір сыйымдылықтағы рюкзакқа сыйып, заттардың жалпы құнын барынша арттыру қажет. Шешімнің өрнегі биттер массиві болуы мүмкін, онда әр бит әртүрлі затты көрсетеді, ал биттің мәні (0 немесе 1) заттың рюкзақта болуын немесе болмауын білдіреді. Мұндай өрнектердің бәрі дұрыс емес, себебі заттардың көлемі рюкзақтың сыйымдылығынан асып кетуі мүмкін. Егер өрнек дұрыс болса, шешімнің жарамдылығы – рюкзақтағы барлық заттардың құндылықтарының қосындысы, әйтпесе 0 болады. Кейбір проблемаларда жарамдылық өрнегін анықтау қиын немесе тіпті мүмкін емес; мұндай жағдайларда фенотиптің жарамдылық функциясының мәнін анықтау үшін симуляция қолданылуы мүмкін (мысалы, формасы фенотип ретінде кодталған көліктің ауаға қарсы кедергісін анықтау үшін есептеулік сұйықтық динамикасы қолданылады) немесе тіпті интерактивті генетикалық алгоритмдер пайдаланылады.
Генетикалық операторлар
Келесі қадам – генетикалық операторлардың үйлесімі арқылы таңдалған шешімдерден екінші буын популяциясын жасау: кроссовер (рекомбинация деп те аталады) және мутация. Жаңа шешім жасау үшін бұрын таңдалған жиыннан көбейтуге арналған "ата" шешімдерінің жұбы таңдалады. Кроссовер және мутацияның жоғарыда аталған әдістерін қолдану арқылы "бала" шешімі жасалады, ол әдетте "ата-аналарының" көптеген қасиеттерін бөліседі. Әрбір жаңа бала үшін жаңа ата-аналар таңдалады, және процесс тиісті көлемдегі жаңа шешімдер популяциясы құрылғанға дейін жалғасады. Екі ата-ананы қолданатын көбейту әдістері "биологиялық шабыттанған" болғанымен, кейбір зерттеулер екі ата-анадан артық қолданғанда жоғары сапалы хромосомалар жасалатынын көрсетеді. Бұл процестердің нәтижесінде бастапқы буыннан өзгеше хромосомалардың келесі буыны пайда болады. Әдетте, бұл процедураның нәтижесінде популяцияның орташа сәйкестігі артады, себебі көбейту үшін тек бірінші буынның ең жақсы организмдері ғана, аздаған сәйкессіз шешімдермен бірге таңдалады. Бұл аздаған сәйкессіз шешімдер ата-аналардың генетикалық қорындағы генетикалық әртүрлілікті қамтамасыз етеді, демек, келесі буын балаларының генетикалық әртүрлілігін сақтайды. Кроссовер мен мутацияның маңыздылығы туралы пікірлер екіге бөлінген. Фогельдің (2006) көптеген сілтемелері мутацияға негізделген іздеудің маңыздылығын қолдайды. Кроссовер мен мутация негізгі генетикалық операторлар ретінде танылғанымен, генетикалық алгоритмдерде қайта топтастыру, колонияның жойылуы немесе көші-қон сияқты басқа операторларды қолдануға болады. Мутация ықтималдығы, кроссовер ықтималдығы және популяция көлемі сияқты параметрлерді жұмыс істеп жатқан мәселе класына қолайлы параметрлерді табу үшін реттеу керек. Өте төмен мутация деңгейі генетикалық дрейфке (ергодикалық емес) әкелуі мүмкін. Рекомбинация деңгейі тым жоғары болса, генетикалық алгоритмнің мерзімінен бұрын конвергенциясына (жинақталуына) әкелуі мүмкін. Мутация деңгейі тым жоғары болса, элиталық таңдау қолданылмаса, жақсы шешімдердің жоғалуына әкелуі мүмкін. Жеткілікті популяция көлемі қолдағы мәселе үшін жеткілікті генетикалық әртүрлілікті қамтамасыз етеді, бірақ қажеттіден үлкен мәнге орнатылса, есептеу ресурстарын ысырап етуге әкелуі мүмкін.
Эвристика
Жоғарыда аталған негізгі операторлардан өзге, есептеуді жылдамдату немесе оның тұрақтылығын арттыру үшін басқа да эвристикалар қолданылуы мүмкін. Специялау эвристикасы тым ұқсас кандидаттық шешімдер арасындағы кроссоверді шектеу арқылы популяцияның әртүрлілігін қамтамасыз етеді және нашаррақ шешімге ерте бағынудың алдын алады.
Хромосомалық бейнелеу
Ең қарапайым алгоритм әр хромосоманы бит-тізбе ретінде көрсетеді. Әдетте сандық параметрлерді бүтін сандармен көрсетуге болады, бірақ қозғалатын нүктелік бейнелеуді де қолдануға болады. Қозғалатын нүктелік бейнелеу эволюциялық стратегиялар мен эволюциялық бағдарламалау үшін табиғи. Шын мәнінде бағаланған генетикалық алгоритмдер туралы ұғым ұсынылған, бірақ бұл шын мәнінде жаңылыс, өйткені ол 1970 жылдары Джон Генри Холланд ұсынған құрылыс блогы теориясын білдірмейді. Дегенмен, бұл теория теориялық және тәжірибелік нәтижелерге сүйенеді (төменде қараңыз). Негізгі алгоритм бит деңгейінде кроссовер және мутация жасайды. Басқа нұсқалар хромосоманы нұсқаулар кестесіне сілтемелер, тізбектелген тізімдегі түйіндер, хэштер, объектілер немесе кез келген басқа да ойға келген дерек құрылымы ретінде қарастырады. Кроссовер және мутация дерек элементтерінің шекараларын сақтай отырып жүргізіледі. Көптеген дерек типтері үшін арнайы өзгерту операторларын жасауға болады. Әртүрлі хромосомалық дерек типтері әртүрлі нақты проблемалық салалар үшін жақсы немесе нашар жұмыс істейді. Бит-тізбесіндегі бүтін сандарды бейнелегенде, көбінесе сұр кодтау қолданылады. Бұл мутациялар немесе кроссоверлер арқылы бүтін санның шағын өзгерістеріне оңай әсер етуге мүмкіндік береді. Бұл Хэмминг қабырғалары деп аталатын ерте конвергенцияны болдырмауға көмектеседі, онда хромосоманы жақсы шешімге өзгерту үшін тым көп бір мезгілдегі мутациялар (немесе кроссовер оқиғалары) болуы керек. Басқа тәсілдер хромосомаларды бейнелеу үшін бит-тізбелерінің орнына шын мәнінде бағаланған сандар массивін пайдалануды қамтиды. Схемалар теориясының нәтижелері әліпби неғұрлым кіші болса, өнімділік соғұрлым жақсы болады деген тұжырымды ұсынады, бірақ зерттеушілерді бастапқыда шын мәнінде бағаланған хромосомаларды пайдаланудан жақсы нәтижелер алынғаны таң қалдырды. Бұл хромосомалардың шектеулі популяциясындағы шын мәндер жиынтығының виртуалды әліпби құрастыратынымен түсіндіріледі (таңдау және рекомбинация басым болған кезде), бұл қозғалатын нүктелік бейнелеуден күтілетінге қарағанда әлдеқайда төмен кардиналдыққа ие. Генетикалық алгоритмге қолжетімді проблемалық доменді кеңейту гетерогенді кодталған гендердің бірнеше түрлерін бір хромосомаға біріктіру арқылы шешімдер жинағының күрделірек кодталуы арқылы жүзеге асырылуы мүмкін. Бұл ерекше тәсіл проблема параметрлері үшін өте әртүрлі анықтама домендерін қажет ететін оптимизациялау мәселелерін шешуге мүмкіндік береді. Мысалы, каскадты басқаруды реттеу мәселелерінде ішкі циклдың басқару құрылымы үш параметрлі дәстүрлі реттегішке тиесілі болуы мүмкін, ал сыртқы цикл тілдік басқаруды (мысалы, тұманды жүйе) жүзеге асыруы мүмкін, ол өзіндік сипаттамасымен ерекшеленеді. Мұндай кодтау түрі хромосоманы бөлімдер бойынша қайта құрастыратын арнайы кроссовер механизмін қажет етеді және бұл күрделі бейімделмелі жүйелерді, әсіресе эволюциялық процестерді модельдеу және симуляциялау үшін пайдалы құрал болып табылады.
Элитизм
Жаңа популяция құрудың жалпы процесінің практикалық түрі – ағымдағы ұрпақтың ең жақсы организмдерін келесі ұрпаққа өзгеріссіз көшіруге рұқсат ету. Бұл стратегия элиталық таңдау деп аталады және ол генетикалық алгоритмнің (GA) шешімінің сапасы бір ұрпақтан екінші ұрпаққа нашарламауын кепілдейді.
Параллельді іске асырулар
Генетикалық алгоритмдердің параллельдік нұсқалары екі бағытта дамыған. Ірі ұсақталған параллельді генетикалық алгоритмдер әрбір компьютерлік түйінде халықты қарастырады және түйіндер арасында жеке тұлғалардың миграциясын қолданады. Кірі ұсақталған параллельді генетикалық алгоритмдер әрбір процессорлық түйіндегі жеке тұлғаны қарастырады, ол таңдау және көбейту үшін көрші тұлғалармен өзара әрекеттеседі. Басқа да нұсқалар, мысалы, онлайн-оптимизация мәселелері үшін генетикалық алгоритмдер, сәйкестік функциясында уақытқа тәуелділікті немесе қателіктерді енгізеді.
Адаптациялық газдар
Адаптивті параметрлері бар генетикалық алгоритмдер (адаптивті генетикалық алгоритмдер, АГА) – генетикалық алгоритмдердің тағы бір маңызды және үміткер нұсқасы. Кроссовердің (pc) және мутацияның (pm) ықтималдығы генетикалық алгоритмдердің қандай дәрежеде шешімнің дұрыстығына және конвергенция жылдамдығына жете алатынын анықтайды. Зерттеушілер GA конвергенциясын аналитикалық түрде талдады. pc және pm-нің тұрақты мәндерін пайдаланудың орнына, АГА әр буынның популяциясы туралы ақпаратты пайдаланып, халықтың әртүрлілігін сақтау және конвергенция қабілетін сақтау үшін pc және pm-ді бейімделіп реттейді. АГА-да (адаптивті генетикалық алгоритм) pc және pm-ді түзету шешімдердің сәйкестік мәндеріне байланысты. AGA нұсқаларының басқа да мысалдары бар: Сәтті тізбектелген жақындау әдісі конвергенцияны жақсартудың ерте мысалы болып табылады. CAGA-да (кластерлік негіздегі адаптивті генетикалық алгоритм) кластерлік талдауды қолдану арқылы популяцияның оңтайландыру күйін бағалау арқылы pc және pm-ді түзету осы оңтайландыру күйіне байланысты. Жақындағы тәсілдер pc және pm-ді анықтау үшін көбірек абстрактілі айнымалыларды қолданады. Мысалдарға үстемдік және кодоминанттық принциптері және іздеу кеңістігінің анизотропиясын шешу үшін икемді GA-ны өзгертілген A* іздеуімен біріктіретін LIGA (деңгейленген интерполяциялық генетикалық алгоритм) жатады. GA-ны басқа оңтайландыру әдістерімен біріктіру өте тиімді болуы мүмкін. GA әдетте жақсы жаһандық шешімдерді табуда жақсы, бірақ абсолюттік оптимумды табу үшін соңғы бірнеше мутацияларды табуда тиімсіз. Басқа техникалар (мысалы, қарапайым төбеге көтерілу) шектеулі аймақта абсолюттік оптимумды табуда өте тиімді. GA мен төбеге көтерілудің кезектесуі GA тиімділігін арттырып, төбеге көтерілудің тұрақсыздығын жеңе алады. Бұл генетикалық өзгерістің ережелері табиғи жағдайда басқа мағынаға ие болуы мүмкін дегенді білдіреді. Мысалы, қадамдар тізбектелген тәртіппен сақталған болса, кроссовер аналық ДНК-дан қадамдардың санын қосып, әкелік ДНК-дан қадамдардың санын қосу және т.б. мүмкін. Бұл фенотиптік ландшафттағы қырдың бойынан өтетін векторларды қосуға ұқсайды. Осылайша, процестің тиімділігі көп есеге артуы мүмкін. Сонымен қатар, инверсия операторы қадамдарды тізбектелген тәртіппен немесе тірі қалу немесе тиімділік үшін қолайлы кез келген басқа тәртіппен орналастыру мүмкіндігіне ие. Популяцияның жеке мүшелері емес, тұтастай эволюциялануы гендік қордың рекомбинациясы деп аталады. Жоғары дәрежедегі сәйкестік эпистазы бар мәселелерде, яғни шешімнің сәйкестігі оның айнымалыларының өзара әрекеттесетін кіші жиынтықтарынан тұратын мәселелерде GA өнімділігін жақсарту үшін бірқатар өзгерістер жасалды. Мұндай алгоритмдер осы пайдалы фенотиптік өзара әрекеттесулерді (пайдаланудан бұрын) үйренуді мақсат етеді. Осылайша, олар бұзылушы рекомбинацияны адаптивті түрде азайтудағы құрылыс блогы гипотезасымен үйлеседі. Бұл тәсілдің көрнекті мысалдары mGA, GEMGA және LLGA.
Тарих
1950 жылы Алан Тьюринг эволюция принциптеріне сәйкес келетін «оқу машинасы» ұсынды. Эволюцияны компьютерлік симуляциялау 1954 жылы Нью-Джерси штатының Принстон қаласындағы Жоғары оқу институтында компьютерді пайдаланған Нильс Аалл Барричеллидің жұмысымен басталды. Оның 1954 жылғы жарияланымы кеңінен танылмады. 1957 жылдан бастап, австралиялық сандық генетик Алекс Фрейзер өлшенетін белгіні анықтайтын көптеген локустарға ие организмдердің жасанды таңдауын симуляциялау туралы бірнеше мақала жариялады. Осы бастамалардан кейін 1960 жылдардың басында биологтар арасында эволюцияны компьютерлік симуляциялау кеңірек таралды, ал әдістер Фрейзер мен Бернеллдің (1970) және Кросбидің (1973) кітаптарында сипатталды. Фрейзердің симуляциялары қазіргі заманғы генетикалық алгоритмдердің барлық қажетті элементтерін қамтыды. Сонымен қатар, Ханс Йоахим Бремерман 1960 жылдары рекомбинация, мутация және таңдау процесінен өтетін шешімдер популяциясын қолдана отырып, оптимизация мәселелерін шешу туралы бірқатар мақалалар жариялады. Бремерманның зерттеулері де қазіргі заманғы генетикалық алгоритмдердің элементтерін қамтыды. Ричард Фридберг, Джордж Фридман және Майкл Конрад сияқты ерте пионерлер де болды. Көптеген ерте мақалалар Фогель (1998) еңбегінде қайта басылды. Барричелли 1963 жылы қарапайым ойын ойнау қабілетінің эволюциясын симуляциялағанмен, жасанды эволюция Инго Реченберг пен Ханс Пол Швефельдің 1960 және 1970 жылдардың басындағы жұмысының нәтижесінде ғана кеңінен танылған оптимизация әдісіне айналды. Реченбергтің тобы эволюциялық стратегиялар арқылы күрделі инженерлік мәселелерді шеше алды. Басқа бір тәсіл – Лоуренс Дж. Фогельдің эволюциялық бағдарламалау әдісі, ол жасанды интеллект жасау үшін ұсынылды. Эволюциялық бағдарламалау бастапқыда айналадағы ортаны болжау үшін дискреттік күйдегі машиналарды пайдаланды және болжау логикасын оңтайландыру үшін өзгерістер мен таңдауды қолданды. Генетикалық алгоритмдер, әсіресе Джон Холландтың 1970 жылдардың басындағы жұмыстары, соның ішінде оның «Табиғи және жасанды жүйелерде бейімделу» (1975) кітабы арқылы танымал болды. Оның жұмысы Холланд пен Мичиган университетіндегі студенттері жүргізген жасушалық автоматтарды зерттеуден бастау алды. Холланд келесі буынның сапасын болжау үшін формалды жүйені енгізді, ол Холландтың схема теоремасы деп аталады. Генетикалық алгоритмдердегі зерттеулер 1980 жылдардың ортасына дейін негізінен теориялық сипатта болды, ол кезде Пенсильвания штатының Питтсбург қаласында Генетикалық алгоритмдер жөніндегі бірінші халықаралық конференция өтті.
Коммерциялық өнімдер
1980 жылдардың аяғында General Electric әлемдегі алғашқы генетикалық алгоритм өнімін – өнеркәсіптік процестерге арналған негізгі компьютерлік құралдар жиынтығын сатуға кірісті. 1989 жылы Axcelis, Inc. Evolver-ді шығарды, ол жеке компьютерлерге арналған әлемдегі алғашқы коммерциялық GA өнімі болды. 1990 жылы «Нью-Йорк Таймс» газетінің технология жазбаларының авторы Джон Маркофф Evolver туралы жазды, және ол 1995 жылға дейін жалғыз интерактивті коммерциялық генетикалық алгоритм болып қала берді. Evolver 1997 жылы Palisade компаниясына сатылды, бірнеше тілге аударылды және қазіргі таңда 6-шы нұсқасын пайдалануда. 1990 жылдан бері MATLAB үш туындысыз оңтайландыру эвристикалық алгоритмдерін (имитацияланған қайнату, бөлшектер тобын оңтайландыру, генетикалық алгоритм) және екі тікелей іздеу алгоритмдерін (симплекс іздеу, үлгі іздеу) енгізді.
Эволюциялық алгоритмдер
Эволюциялық алгоритмдер — эволюциялық есептеудің кіші саласы. Эволюциялық стратегиялар (ES, қараңыз: Rechenberg, 1994) жеке тұлғаларды мутация және аралық немесе дискретті рекомбинация арқылы дамытады. ES алгоритмдері нақты мәндік домендегі проблемаларды шешуге арналған. Олар іздеу параметрлерін реттеу үшін өздігінен бейімделуді пайдаланады. Өзін-өзі бейімдеудің кездейсоқтығын жою қазіргі заманғы Ковариациялық матрицалық бейімделу эволюциялық стратегиясына (CMA ES) әкелді. Эволюциялық бағдарламалау (EP) шешімдердің популяцияларын қамтиды, негізінен мутация және таңдау, сондай-ақ кездейсоқ өкілдіктерді пайдаланады. Олар параметрлерді реттеу үшін өздігінен бейімделуді қолданады және бірнеше ата-аналардан алынған ақпаратты біріктіру сияқты басқа да өзгерту операцияларын қамтуы мүмкін. Естіру алгоритмін бағалау (EDA) дәстүрлі көбейту операторларын модельге бағытталған операторлармен алмастырады. Мұндай модельдер машиналық оқыту техникаларын қолдану арқылы популяциядан үйреніп, ықтималдық графикалық модельдер ретінде ұсынылады, олардан жаңа шешімдерді үлгілеуге немесе бағытталған кроссоверден жасауға болады. Генетикалық бағдарламалау (GP) — Джон Коза танымал еткен, компьютерлік бағдарламаларды функциялық параметрлерден гөрі оңтайландыратын байланысты техника. Генетикалық бағдарламалау компьютерлік бағдарламаларды бейімдеу үшін генетикалық алгоритмдерге тән тізімдік құрылымдардың орнына көбінесе ағаш негізделген ішкі дерек құрылымдарын қолданады. Генетикалық бағдарламалаудың көптеген нұсқалары бар, соның ішінде Картезиандық генетикалық бағдарламалау, гендік экспрессия бағдарламалау, грамматикалық эволюция, сызықтық генетикалық бағдарламалау, көп экспрессиялық бағдарламалау және т.б. Топтық генетикалық алгоритм (GGA) — классикалық ГА-дағыдай жеке элементтерден топтарға немесе элементтердің ішкі жиындарына назар аударатын ГА-ның эволюциясы. Эммануэль Фалькенауэр ұсынған осы ГА эволюциясының идеясы — кейбір күрделі проблемаларды шешу, атап айтқанда, элементтер жиынтығын элементтердің ажыратылған топтарына оңтайлы түрде бөлуді қажет ететін кластерлеу немесе бөлу проблемаларын, элементтер топтарының сипаттамаларын гендерге теңестіру арқылы жақсырақ шешуге болады. Бұл проблемаларға контейнерді толтыру, желілік теңгерім, қашықтық өлшемі бойынша кластерлеу, тең үйірмелер және т.б. жатады, онда классикалық ГА нашар жұмыс істейді. Гендерді топтарға теңестіру хромосомалардың әдетте өзгеретін ұзындығын және бүкіл топтарды басқаратын арнайы генетикалық операторларды білдіреді. Әсіресе, контейнерлерді қаптау үшін Мартелло мен Тоттың үстемдік критерийімен гибридтелген GGA, бүгінгі күнге дейін ең жақсы техника болып саналады. Интерактивті эволюциялық алгоритмдер — адам бағалауын пайдаланатын эволюциялық алгоритмдер. Олар әдетте есептеулік жарамдылық функциясын жобалау қиын болатын салаларға қолданылады, мысалы, пайдаланушылардың эстетикалық қалауларына сәйкес келетін кескіндерді, музыканы, көркемдік дизайн мен формаларды дамыту.
Ұрпақ ақыл-ойы
Шұбыршық ақыл-ойы – эволюциялық есептеудің кіші саласы. Көбелектер колониясын оңтайландыру (ACO) шешім кеңістігін аралау және жергілікті тиімді аймақтарды табу үшін фермондық модельмен жабдықталған көптеген көбелектерді (немесе агенттерді) пайдаланады. Бұл тарату алгоритмін бағалау ретінде қарастырылса да, бөлшектер үйіршігін оңтайландыру (PSO) – көп параметрлі оңтайландыруға арналған есептеу әдісі, ол сонымен қатар популяциялық тәсілді қолданады. Іздеу кеңістігінде кандидатты шешімдердің (бөлшектердің) популяциясы (үйіршігі) қозғалады, ал бөлшектердің қозғалысына олардың жеке ең жақсы белгілі орны және үйіршіктің жалпы ең жақсы белгілі орны әсер етеді. Генетикалық алгоритмдер сияқты, PSO әдісі де популяция мүшелері арасында ақпарат алмасуға тәуелді. Кейбір жағдайларда PSO, әсіресе үздіксіз айнымалылары бар шектеусіз мәселелерде, ГА-ға қарағанда есептеу жағынан тиімдірек болады.
Басқа эволюциялық есептеу алгоритмдері
Эволюциялық есептеу – метаэвристикалық әдістердің кіші саласы. Меметикалық алгоритм (МА), көбінесе гибридтік генетикалық алгоритм деп аталады, бұл популяцияға негізделген әдіс, онда шешімдер жергілікті жақсарту сатыларынан да өтеді. Меметикалық алгоритмдердің идеясы мемдерден туындады, олар гендерден айырмашылығы, өздерін-өздері бейімдей алады. Кейбір мәселелер саласында олар дәстүрлі эволюциялық алгоритмдерге қарағанда тиімдірек екені көрсетілді. Эволюциялық экологиядан және, әсіресе, бактериологиялық бейімделуден шабыттанған бактериологиялық алгоритмдер (БА). Эволюциялық экология – тірі организмдерді олардың қоршаған ортасымен байланыста зерттеу, олардың қалай бейімделетінін анықтау. Оның негізгі түсінігі – гетерогенді ортада, бүкіл ортаға толық сәйкес келетін бірде-бір организм жоқ. Сондықтан, популяция деңгейінде ойлау қажет. Сондай-ақ, БА-ны күрделі позициялау мәселелеріне (ұялы телефондардың антенналары, қала құрылысы және т.б.) немесе деректерді өңдеуге сәтті қолдануға болады деп есептеледі. Мәдени алгоритм (МК) генетикалық алгоритмге ұқсас популяциялық компоненттен және оған қоса, сенім кеңістігі деп аталатын білім компонентінен тұрады. Суперорганизмдердің қоныс аударуынан туындаған дифференциалдық эволюция (ДЭ). Гаусс бейімделуі (нормалды немесе табиғи бейімделу, GA-мен шатастыруды болдырмау үшін NA деп қысқартылған) сигналды өңдеу жүйелерінің өндіріс көлемін арттыруға бағытталған. Ол сондай-ақ, қарапайым параметрлік оптимизация үшін де қолданылуы мүмкін. Ол барлық қабылданатын аймақтар мен барлық Гаусс таралулары үшін жарамды белгілі бір теоремаға сүйенеді. NA тиімділігі ақпарат теориясына және тиімділік туралы белгілі бір теоремаға негізделген. Оның тиімділігі – ақпаратты алу үшін қажетті жұмысқа бөлінген ақпарат ретінде анықталады. NA жеке организмнің емес, орташа жарамдылықты арттыратындықтан, ландшафттағы шыңдар арасындағы сайлар жойылуы мүмкін. Сондықтан, ол жарамдылық ландшафтындағы жергілікті шыңдардан қашуға белгілі бір "талапкерлік" көрсетеді. NA сонымен қатар, момент матрицасын бейімдеу арқылы өткір шыңдарға көтерілуде жақсы, өйткені NA бір мезгілде орташа жарамдылықты тұрақты ұстай отырып, Гаусс таралуының тәртіпсіздігін (орташа ақпарат) барынша арттыра алады.
Басқа метагеуристикалық әдістер
Метаэвристикалық әдістер көбінесе стохастикалық оптимизация әдістеріне жатады. Симуляцияланған қайнату (SA) – жеке шешімдегі кездейсоқ өзгерістерді тексеру арқылы іздеу кеңістігін аралайтын, жаһандық оптимизация техникасы. Фитнес (сайлық) деңгейін арттыратын өзгеріс әрқашан қабылданады. Фитнес деңгейін төмендететін өзгеріс, фитнес айырмашылығы мен төмендейтін температура параметріне сүйене отырып, ықтималдық бойынша қабылданады. SA терминологиясында, максималды фитнес емес, ең төменгі энергияны іздеу туралы айтылады. SA салыстырмалы түрде жоғары өзгеріс жылдамдығымен басталып, белгілі бір кесте бойынша уақыт өте келе оны азайту арқылы стандартты GA алгоритмінде де қолданылуы мүмкін. Табу іздеу (TS) симуляцияланған қайнатуға ұқсас, себебі екеуі де жеке шешімдердің өзгерістерін тексеру арқылы шешім кеңістігін аралайды. Симуляцияланған қайнату тек бір өзгертілген шешімді жасаса, табу іздеу көптеген өзгертілген шешімдерді жасайды және жасалғандардың ең төменгі энергиясы бар шешімге көшеді. Айналымды болдырмау және шешім кеңістігінде кеңірек қозғалуға ынталандыру үшін, ішінара немесе толық шешімдердің табу тізімі сақталады. Табу тізіміндегі элементтерді қамтитын шешімге көшуге тыйым салынады, және ол шешім кеңістігін аралаған сайын жаңартылады. Экстремалды оптимизация (EO) ГА-дан (генетикалық алгоритм) өзгеше, ол кандидат шешімдер тобымен жұмыс істемейді, EO бір шешімді дамытады және ең нашар компоненттерге жергілікті өзгерістер енгізеді. Бұл үшін, шешім компоненттеріне сапа өлшемін («сайлық») беруге мүмкіндік беретін қолайлы бейнелеуді таңдау қажет. Бұл алгоритмнің негізгі принципі – төмен сапалы компоненттерді таңдап алып тастау және оларды кездейсоқ таңдалған компонентпен ауыстыру арқылы болатын жақсарту. Бұл, жақсы шешімдер жасауға тырысып, жақсы шешімдерді таңдайтын ГА-ға қарама-қарсы келеді.
Басқа да стохастикалық оңтайландыру әдістері
Кроссты энтропия (CE) әдісі параметрленген ықтималдық таралымын пайдаланып, кандидаттық шешімдерді құрайды. Параметрлер кросс-энтропияны азайту арқылы жаңартылады, осылайша келесі итерацияда жақсырақ үлгілер жасалады. Реактивті іздеуді оңтайландыру (RSO) күрделі оңтайландыру мәселелерін шешу үшін іздеу эвристикасына субсимволикалық машиналық оқыту техникаларын енгізуді ұсынады. "Реактивті" деген сөз іздеу барысында ішкі онлайн кері байланыс арқылы маңызды параметрлерді өздігінен реттеуге дайын жауап беруді білдіреді. Реактивті іздеу үшін қызығушылық тудыратын әдістемелерге машиналық оқыту және статистика, әсіресе күшейтілген оқыту, белсенді немесе сұраныс бойынша оқыту, нейрондық желілер және метаэвристикалар жатады.