Генети́чний алгори́тм (англ. genetic algorithm) — це еволюційний алгоритм пошуку, що використовується для вирішення задач оптимізації і моделювання шляхом послідовного підбору, комбінування і варіації шуканих параметрів з використанням механізмів, що нагадують біологічну еволюцію.
Особливістю генетичного алгоритму є акцент на використання оператора «схрещення», який виконує операцію рекомбінацію рішень-кандидатів, роль якої аналогічна ролі схрещення в живій природі. «Батьком-засновником» генетичних алгоритмів вважається Джон Голланд (англ. John Holland), книга якого «Адаптація в природних і штучних системах» (англ. Adaptation in Natural and Artificial Systems) є фундаментальною в цій сфері досліджень.
Історія
Перші спроби симуляції еволюції були проведені у 1954 році [en] на комп'ютері, встановленому в Інституті перспективних досліджень Принстонського університету. Його робота, що була опублікована у тому ж році, привернула увагу громадськості. З 1957 року, австралійський генетик [en] опублікував серію робіт з симуляції штучного відбору серед організмів з множинним контролем вимірюваних характеристик. Це дозволило комп'ютерній симуляції еволюційних процесів та методам, які були описані у книгах Фразера та Барнела(1970) та Кросбі(1975), з 1960-х років стати більш розповсюдженим видом діяльності серед біологів. Симуляції Фразера містили усі найважливіші елементи сучасних генетичних алгоритмів. До того ж, [en] в 1960-х опублікував серію робіт, які також приймали підхід використання популяції рішень, що піддаються відбору, мутації та рекомбінації, в проблемах оптимізації. Дослідження Бремермана також містили елементи сучасних генетичних алгоритмів. Також варто відмітити Річарда Фрідберга, Джоржа Фрідмана та Майкла Конрада[].
Хоча Баричеллі у своїй роботі 1963 р. займався симуляцією можливості машини грати у просту гру, штучна еволюція стала загальновизнаним методом оптимізації після роботи [en] та [en] у 60-х та на початку 70-х років двадцятого століття — група Рехенсберга змогла вирішити складні інженерні проблеми згідно зі стратегіями еволюції. Іншим підходом була техніка еволюційного програмування [en], яка була запропонована для створення штучного інтелекту. Еволюційне програмування, яке спочатку використовувало кінцеві автомати для передбачення обставин, та використовували різноманіття та відбір для оптимізації логіки передбачення. Генетичні алгоритми стали особливо відомі завдяки роботі Дж. Холанда на початку 70-х років та його книзі «Адаптація у природних та штучних системах» (1975).Його дослідження були основані на експериментах з клітинними автоматами та на його роботах, що були написані в університеті Мічигану. Він ввів формалізований підхід для передбачення якості наступного покоління, відомий як Теорема схем. Дослідження в області генетичних алгоритмів залишалось більше теоретичним до середини 80-х років, коли була, нарешті, проведена Перша міжнародна конференція з генетичних алгоритмів (Піттсбург, Пенсильванія (США)).
З ростом дослідницького інтересу суттєво виросла обчислювальна потужність комп'ютерів, що дозволило використовувати нову обчислювальну техніку на практиці. Наприкінці 80-х років, компанія General Electric почала продаж першого в світі продукту, який працював з використанням генетичного алгоритму. Це був набір промислових обчислювальних засобів. В 1989 інша компанія Axcelis, Inc. випустила Evolver — перший у світі комерційний продукт на генетичному алгоритмі для персональних комп'ютерів. Журналіст The New York Times в технологічній сфері [en] писав про Evolver у 1990 році.
Опис алгоритму
Задача кодується таким чином, щоб її вирішення могло бути представлено в вигляді масиву подібного до інформації складу хромосоми. Цей масив часто називають саме так «хромосома». Випадковим чином в масиві створюється деяка кількість початкових елементів «осіб», або початкова популяція. Особи оцінюються з використанням функції допасованості, в результаті якої кожній особі присвоюється певне значення допасованості, яке визначає можливість виживання особи. Після цього з використанням отриманих значень допасованості вибираються особи, допущені до схрещення (селекція). До осіб застосовується «генетичні оператори» (в більшості випадків це оператор схрещення (crossover) і оператор мутації (mutation)), створюючи таким чином наступне покоління осіб. Особи наступного покоління також оцінюються застосуванням генетичних операторів і виконується селекція і мутація. Так моделюється еволюційний процес, що продовжується декілька життєвих циклів (поколінь), поки не буде виконано критерій зупинки алгоритму. Таким критерієм може бути:
- знаходження глобального, або надоптимального вирішення;
- вичерпання числа поколінь, що відпущені на еволюцію;
- вичерпання часу, відпущеного на еволюцію.
Генетичні алгоритми можуть використовувати для пошуку рішень в дуже великих і важких просторах пошуку.
Різновиди і особливості алгоритму в різних галузях хімії
- У комбінаторній хімії — метод дизайну бібліотеки шляхом оцінки відповідності певних бажаних властивостей (пр., рівня активності в біологічних пошуках, або розрахунково визначених властивостей набору речовин), передбачених за допомогою функції, встановленої статистичними методами при аналізі співвідношення структура — властивість. Ще більш оптимальний дизайн пов'язаний з евристичним процесом, який нагадує генетичну селекцію, де застосовується реплікація, мутація, вилучення.
- У хемометриці — механізм оптимізації, заснований на механізмі дарвінівської еволюції, де використовуються випадкові мутації, процедури схрещення та відбору для розробки кращої моделі чи розв'язку порівняно з тим, які було отримано, виходячи зі стартової сукупності чи вибірки.
- У комп'ютерній хімії — комп'ютерний метод генерування та тестування комбінацій можливих вхідних параметрів для знаходження оптимальних вихідних значень. Використовується для оптимізації у випадку систем з великою кількістю змінних параметрів, зокрема при конформаційному аналізі багатоатомних складних молекул. Включає методи, що базуються на поняттях природної еволюції, такі як генетична комбінація, мутація та природний відбір[].
Етапи генетичного алгоритму
Можна виділити такі етапи генетичного алгоритму:
- Створення початкової популяції:
- Обчислення функції допасованості для осіб популяції (оцінювання)
- Повторювання до виконання критерію зупинки алгоритму:
- Вибір індивідів із поточної популяції (селекція)
- Схрещення або/та мутація
- Обчислення функції допасованості для всіх осіб
- Формування нового покоління
Створення початкової популяції
Перед першим кроком необхідно випадковим чином створити деяку початкову популяцію. Навіть якщо популяція виявиться абсолютно неконкурентоздатною, генетичний алгоритм все одно достатньо швидко переведе її в придатну для життя популяцію. Таким чином, на першому кроці можна не старатися зробити надто допасованих осіб, достатньо, щоб вони відповідали формату осіб популяції, і на них можна було порахувати функцію допасованості. Наслідком першого кроку є популяція H, що налічує N осіб.
Відбір
На етапі відбору необхідно із всієї популяції вибрати її певну долю, яка залишиться в «живих» на цьому етапі популяції. Є декілька способів провести відбір. Ймовірність виживання особи h повинна залежати від значення її допасованості Fitness(h). Сама ж доля відібраних s зазвичай є параметром генетичного алгоритму, і її просто задають заздалегідь. Внаслідок відбору із N осіб популяції H повинні залишитись sN осіб, які ввійдуть в наступну популяцію H'. Решта осіб «загине».
Розмноження
Розмноження в генетичних алгоритмах зазвичай статеве — щоб «народити» нащадка, необхідно декілька батьків, зазвичай потрібна участь двох. Розмноження в різних алгоритмах описується по різному — воно, звісно, залежить від формату осіб. Головна вимога до розмноження — щоб нащадок чи нащадки мали можливість успадкувати риси всіх батьків, «змішавши» їх якимось достатньо розумним чином.
Розмноження або оператор рекомбінації застосовують відразу ж після оператора відбору батьків для отримання нових особин-нащадків. Сенс рекомбінації полягає в тому, що створені нащадки повинні наслідувати генну інформацію від обох батьків. Розрізняють дискретну рекомбінацію і кросинговер.
Приклад операції розмноження: Вибрати (1-s)p/2 пар гіпотез із H і провести з ними розмноження, отримавши по два нащадка від кожної пари (якщо розмноження описано так, щоб давати одного нащадка, необхідно вибрати (1 — s)p пар), і додати цих нащадків в H'. В результаті H' буде складатися з N осіб.
Особи для розмноження зазвичай вибираються із всієї популяції H, а не із тих, що вижили на першому кроці (хоча останній варіант теж має право на існування). Справа в тому, що головна проблема генетичних алгоритмів — недостача різноманітності (diversity) в особах. Достатньо швидко виділяється єдиний генотип, який являє собою локальний максимум і згодом всі елементи популяції програють йому в відборі, і вся популяція «забивається» копіями цієї особи. Існують різні способи боротьби із таким небажаним ефектом; один з них — вибір для розмноження не з самих «допасованих», а взагалі зі всіх осіб.
Мутації
До мутацій відноситься все те ж, що і до розмноження: є деяка доля мутантів m, що є параметром генетичного алгоритму, і на кроці мутацій необхідно вибрати mN осіб, а згодом змінити їх згідно з заздалегідь заданими операціями мутації.
Застосування генетичних алгоритмів
Генетичні алгоритми застосовується для вирішення наступних задач:
- Різноманітні задачі на графах (задача комівояжера, розфарбування)
- Налаштування і навчання штучної нейронної мережі
- Задачі
- Штучне життя
- Біоінформатика ( білків)
- Синтез конструкцій антен
Приклад простої реалізації на
Пошук в одномірному просторі, без схрещення. Ця програма вважає більші за значенням елементи представлені цілими числами найбільш життєздатними.
# include <iostream.h> # include <algorithm.h> # include <numeric.h> using namespace std; int main() { //початковий масив (популяція) з 1000 елементів (осіб). const int N = 1000; int a[N]; //заповнимо елементи нулями fill(a, a+N, 0); for (;;) { //Мутація кожного елемента. //Випадково збільшуємо або зменшуємо значення елементу на один; for (int i = 0; i < N; ++i) if (rand()%2 == 1) a[i] += 1; else a[i] -= 1; //відсортуванням по зростанню вибираємо більші за значенням... sort(a, a+N); //... і тоді більші за значенням виявляться в другій частині масиву. //скопіюємо більші в першу половину, коли вони залишили нащадків, а перші померли: copy(a+N/2, a+N, a /*куди*/); //тепер поглянемо на середнє значення елементу популяції. Як бачимо, середнє значення все більше і більше. cout << accumulate(a, a+N, 0) / N << endl; } }
Приклад простої реалізації на Delphi
Пошук в одномірному просторі, без схрещення.
program Program1; {$APPTYPE CONSOLE} {$R *.res} uses System.Generics.Defaults, System.Generics.Collections, System.SysUtils; const N = 1000; Nh = N div 2; MaxPopulation = High(Integer); var A: array [1..N] of Integer; I, R, C, Points, BirthRate: Integer; Iptr: ^Integer; begin Randomize; // Часткова популяція for I := 1 to N do A[I] := Random(2); repeat // Мутація for I := 1 to N do A[I] := A[I] + (-Random(2) or 1); // Відбір найкращих TArray.Sort<Integer>(A, TComparer<Integer>.Default); // Налаштування Iptr := Addr(A[Nh + 1]); Points := 0; BirthRate := 0; // Результати for I := 1 to Nh do begin Inc(Points, Iptr^); // Випадковий успіх схрещування R := Random(2); Inc(BirthRate, R); A[I] := Iptr^ * R; Iptr^ := 0; Inc(Iptr,1); end; // проміжний результат Inc(C); until (Points / N >= 1) or (C >= MaxPopulation); Writeln(Format('Population %d (rate:%f) score:%f', [C, BirthRate / Nh, Points / N])); end.
Примітки
- (1954). Esempi numerici di processi di evoluzione. Methodos: 45—68.
- (1957). Symbiogenetic evolution processes realized by artificial methods. Methodos: 143—182.
- (1957). Simulation of genetic systems by automatic digital computers. I. Introduction. Aust. J. Biol. Sci. 10: 484—491.
- ; Donald Burnell (1970). Computer Models in Genetics. New York: McGraw-Hill. ISBN .
- Crosby, Jack L. (1973). Computer Simulation in Genetics. London: John Wiley & Sons. ISBN .
- . Архів оригіналу за 23 березня 2012. Процитовано 24 грудня 2015.
- Barricelli, Nils Aall (1963). Numerical testing of evolution theories. Part II. Preliminary tests of performance, symbiogenesis and terrestrial life. Acta Biotheoretica (16): 99—126.
- Rechenberg, Ingo (1973). Evolutionsstrategie. Stuttgart: Holzmann-Froboog. ISBN .
- Schwefel, Hans-Paul (1974). Numerische Optimierung von Computer-Modellen (PhD thesis).
- Schwefel, Hans-Paul (1977). Numerische Optimierung von Computor-Modellen mittels der Evolutionsstrategie : mit einer vergleichenden Einführung in die Hill-Climbing- und Zufallsstrategie. Basel; Stuttgart: Birkhäuser. ISBN .
- Schwefel, Hans-Paul (1981). Numerical optimization of computer models (Translation of 1977 Numerische Optimierung von Computor-Modellen mittels der Evolutionsstrategie. Chichester ; New York: Wiley. ISBN .
- J. H. Holland. Adaptation in natural and artificial systems. University of Michigan Press, Ann Arbor, 1975.
- Markoff, John (29 серпня 1990). . New York Times. Архів оригіналу за 2 грудня 2010. Процитовано 9 серпня 2009.
- Katoch, Sourabh; Chauhan, Sumit Singh; Kumar, Vijay (2021-02). A review on genetic algorithm: past, present, and future. Multimedia Tools and Applications (англ.). Т. 80, № 5. с. 8091—8126. doi:10.1007/s11042-020-10139-6. ISSN 1380-7501. Процитовано 24 січня 2024.
- Singh, Jasbir; Ator, Mark A.; Jaeger, Edward P.; Allen, Martin P.; Whipple, David A.; Soloweij, James E.; Chowdhary, Swapan; Treasurywala, Adi M. (1 січня 1996). Application of Genetic Algorithms to Combinatorial Synthesis: A Computational Approach to Lead Identification and Lead Optimization ,. Journal of the American Chemical Society (англ.). Т. 118, № 7. с. 1669—1676. doi:10.1021/ja953172i. ISSN 0002-7863. Процитовано 24 січня 2024.
- Lucasius, C. B.; Kateman, G. (1 травня 1993). Understanding and using genetic algorithms Part 1. Concepts, properties and context. Chemometrics and Intelligent Laboratory Systems. Т. 19, № 1. с. 1—33. doi:10.1016/0169-7439(93)80079-W. ISSN 0169-7439. Процитовано 24 січня 2024.
- Горовий, В.М. (2010). Дубровіна, Л. А. (ред.). Соціальні інформаційні комунікації, їх наповнення і ресурс (PDF). - Київ: Національна бібліотека України імені В. І. Вернадського. с. - 360. ISBN .
- Слюсар В.И. Синтез антенн на основе генетических алгоритмов. //Первая миля. Last mile (Приложение к журналу "Электроника: наука, технология, бизнес"). – 2008. - № 6. -. — С. 16 - 23. [1].
- Слюсар В.И. Синтез антенн на основе генетических алгоритмов. Часть 2. //Первая миля. Last mile (Приложение к журналу "Электроника: наука, технология, бизнес"). – 2009. - № 1. -. — С. 22 - 25. [2].
Література
- Poli, R., Langdon, W. B., McPhee, N. F. (2008). A Field Guide to Genetic Programming. Lulu.com, freely available from the internet. ISBN .
- Глосарій термінів з хімії / уклад. Й. Опейда, О. Швайка ; Ін-т фізико-органічної хімії та вуглехімії ім. Л. М. Литвиненка НАН України, Донецький національний університет. — Дон. : Вебер, 2008. — 738 с. — .
Див. також
Посилання
- (укр.)
- Субботін С. О., Олійник А. О., Олійник О. О. Неітеративні, еволюційні та мультиагентні методи синтезу нечіткологічних і нейромережних моделей: Монографія / Під заг. ред. С. О. Субботіна. — Запоріжжя: ЗНТУ, 2009. — 375 с. [ 5 листопада 2013 у Wayback Machine.]
- Генетичний алгоритм, каталог посилань Open Directory Project
Це незавершена стаття з математики. Ви можете проєкту, виправивши або дописавши її. |
Цю статтю треба для відповідності Вікіпедії. (грудень 2015) |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Geneti chnij algori tm angl genetic algorithm ce evolyucijnij algoritm poshuku sho vikoristovuyetsya dlya virishennya zadach optimizaciyi i modelyuvannya shlyahom poslidovnogo pidboru kombinuvannya i variaciyi shukanih parametriv z vikoristannyam mehanizmiv sho nagaduyut biologichnu evolyuciyu Osoblivistyu genetichnogo algoritmu ye akcent na vikoristannya operatora shreshennya yakij vikonuye operaciyu rekombinaciyu rishen kandidativ rol yakoyi analogichna roli shreshennya v zhivij prirodi Batkom zasnovnikom genetichnih algoritmiv vvazhayetsya Dzhon Golland angl John Holland kniga yakogo Adaptaciya v prirodnih i shtuchnih sistemah angl Adaptation in Natural and Artificial Systems ye fundamentalnoyu v cij sferi doslidzhen IstoriyaPershi sprobi simulyaciyi evolyuciyi buli provedeni u 1954 roci en na komp yuteri vstanovlenomu v Instituti perspektivnih doslidzhen Prinstonskogo universitetu Jogo robota sho bula opublikovana u tomu zh roci privernula uvagu gromadskosti Z 1957 roku avstralijskij genetik en opublikuvav seriyu robit z simulyaciyi shtuchnogo vidboru sered organizmiv z mnozhinnim kontrolem vimiryuvanih harakteristik Ce dozvolilo komp yuternij simulyaciyi evolyucijnih procesiv ta metodam yaki buli opisani u knigah Frazera ta Barnela 1970 ta Krosbi 1975 z 1960 h rokiv stati bilsh rozpovsyudzhenim vidom diyalnosti sered biologiv Simulyaciyi Frazera mistili usi najvazhlivishi elementi suchasnih genetichnih algoritmiv Do togo zh en v 1960 h opublikuvav seriyu robit yaki takozh prijmali pidhid vikoristannya populyaciyi rishen sho piddayutsya vidboru mutaciyi ta rekombinaciyi v problemah optimizaciyi Doslidzhennya Bremermana takozh mistili elementi suchasnih genetichnih algoritmiv Takozh varto vidmititi Richarda Fridberga Dzhorzha Fridmana ta Majkla Konrada dzherelo Hocha Barichelli u svoyij roboti 1963 r zajmavsya simulyaciyeyu mozhlivosti mashini grati u prostu gru shtuchna evolyuciya stala zagalnoviznanim metodom optimizaciyi pislya roboti en ta en u 60 h ta na pochatku 70 h rokiv dvadcyatogo stolittya grupa Rehensberga zmogla virishiti skladni inzhenerni problemi zgidno zi strategiyami evolyuciyi Inshim pidhodom bula tehnika evolyucijnogo programuvannya en yaka bula zaproponovana dlya stvorennya shtuchnogo intelektu Evolyucijne programuvannya yake spochatku vikoristovuvalo kincevi avtomati dlya peredbachennya obstavin ta vikoristovuvali riznomanittya ta vidbir dlya optimizaciyi logiki peredbachennya Genetichni algoritmi stali osoblivo vidomi zavdyaki roboti Dzh Holanda na pochatku 70 h rokiv ta jogo knizi Adaptaciya u prirodnih ta shtuchnih sistemah 1975 Jogo doslidzhennya buli osnovani na eksperimentah z klitinnimi avtomatami ta na jogo robotah sho buli napisani v universiteti Michiganu Vin vviv formalizovanij pidhid dlya peredbachennya yakosti nastupnogo pokolinnya vidomij yak Teorema shem Doslidzhennya v oblasti genetichnih algoritmiv zalishalos bilshe teoretichnim do seredini 80 h rokiv koli bula nareshti provedena Persha mizhnarodna konferenciya z genetichnih algoritmiv Pittsburg Pensilvaniya SShA Z rostom doslidnickogo interesu suttyevo virosla obchislyuvalna potuzhnist komp yuteriv sho dozvolilo vikoristovuvati novu obchislyuvalnu tehniku na praktici Naprikinci 80 h rokiv kompaniya General Electric pochala prodazh pershogo v sviti produktu yakij pracyuvav z vikoristannyam genetichnogo algoritmu Ce buv nabir promislovih obchislyuvalnih zasobiv V 1989 insha kompaniya Axcelis Inc vipustila Evolver pershij u sviti komercijnij produkt na genetichnomu algoritmi dlya personalnih komp yuteriv Zhurnalist The New York Times v tehnologichnij sferi en pisav pro Evolver u 1990 roci Opis algoritmuShema roboti genetichnogo algoritmu Zadacha koduyetsya takim chinom shob yiyi virishennya moglo buti predstavleno v viglyadi masivu podibnogo do informaciyi skladu hromosomi Cej masiv chasto nazivayut same tak hromosoma Vipadkovim chinom v masivi stvoryuyetsya deyaka kilkist pochatkovih elementiv osib abo pochatkova populyaciya Osobi ocinyuyutsya z vikoristannyam funkciyi dopasovanosti v rezultati yakoyi kozhnij osobi prisvoyuyetsya pevne znachennya dopasovanosti yake viznachaye mozhlivist vizhivannya osobi Pislya cogo z vikoristannyam otrimanih znachen dopasovanosti vibirayutsya osobi dopusheni do shreshennya selekciya Do osib zastosovuyetsya genetichni operatori v bilshosti vipadkiv ce operator shreshennya crossover i operator mutaciyi mutation stvoryuyuchi takim chinom nastupne pokolinnya osib Osobi nastupnogo pokolinnya takozh ocinyuyutsya zastosuvannyam genetichnih operatoriv i vikonuyetsya selekciya i mutaciya Tak modelyuyetsya evolyucijnij proces sho prodovzhuyetsya dekilka zhittyevih cikliv pokolin poki ne bude vikonano kriterij zupinki algoritmu Takim kriteriyem mozhe buti znahodzhennya globalnogo abo nadoptimalnogo virishennya vicherpannya chisla pokolin sho vidpusheni na evolyuciyu vicherpannya chasu vidpushenogo na evolyuciyu Genetichni algoritmi mozhut vikoristovuvati dlya poshuku rishen v duzhe velikih i vazhkih prostorah poshuku Riznovidi i osoblivosti algoritmu v riznih galuzyah himiyi U kombinatornij himiyi metod dizajnu biblioteki shlyahom ocinki vidpovidnosti pevnih bazhanih vlastivostej pr rivnya aktivnosti v biologichnih poshukah abo rozrahunkovo viznachenih vlastivostej naboru rechovin peredbachenih za dopomogoyu funkciyi vstanovlenoyi statistichnimi metodami pri analizi spivvidnoshennya struktura vlastivist She bilsh optimalnij dizajn pov yazanij z evristichnim procesom yakij nagaduye genetichnu selekciyu de zastosovuyetsya replikaciya mutaciya viluchennya U hemometrici mehanizm optimizaciyi zasnovanij na mehanizmi darvinivskoyi evolyuciyi de vikoristovuyutsya vipadkovi mutaciyi proceduri shreshennya ta vidboru dlya rozrobki krashoyi modeli chi rozv yazku porivnyano z tim yaki bulo otrimano vihodyachi zi startovoyi sukupnosti chi vibirki U komp yuternij himiyi komp yuternij metod generuvannya ta testuvannya kombinacij mozhlivih vhidnih parametriv dlya znahodzhennya optimalnih vihidnih znachen Vikoristovuyetsya dlya optimizaciyi u vipadku sistem z velikoyu kilkistyu zminnih parametriv zokrema pri konformacijnomu analizi bagatoatomnih skladnih molekul Vklyuchaye metodi sho bazuyutsya na ponyattyah prirodnoyi evolyuciyi taki yak genetichna kombinaciya mutaciya ta prirodnij vidbir dzherelo Etapi genetichnogo algoritmuMozhna vidiliti taki etapi genetichnogo algoritmu Stvorennya pochatkovoyi populyaciyi Obchislennya funkciyi dopasovanosti dlya osib populyaciyi ocinyuvannya Povtoryuvannya do vikonannya kriteriyu zupinki algoritmu Vibir individiv iz potochnoyi populyaciyi selekciya Shreshennya abo ta mutaciya Obchislennya funkciyi dopasovanosti dlya vsih osib Formuvannya novogo pokolinnya Stvorennya pochatkovoyi populyaciyi Pered pershim krokom neobhidno vipadkovim chinom stvoriti deyaku pochatkovu populyaciyu Navit yaksho populyaciya viyavitsya absolyutno nekonkurentozdatnoyu genetichnij algoritm vse odno dostatno shvidko perevede yiyi v pridatnu dlya zhittya populyaciyu Takim chinom na pershomu kroci mozhna ne staratisya zrobiti nadto dopasovanih osib dostatno shob voni vidpovidali formatu osib populyaciyi i na nih mozhna bulo porahuvati funkciyu dopasovanosti Naslidkom pershogo kroku ye populyaciya H sho nalichuye N osib Vidbir Dokladnishe Operatori viboru batkiv Na etapi vidboru neobhidno iz vsiyeyi populyaciyi vibrati yiyi pevnu dolyu yaka zalishitsya v zhivih na comu etapi populyaciyi Ye dekilka sposobiv provesti vidbir Jmovirnist vizhivannya osobi h povinna zalezhati vid znachennya yiyi dopasovanosti Fitness h Sama zh dolya vidibranih s zazvichaj ye parametrom genetichnogo algoritmu i yiyi prosto zadayut zazdalegid Vnaslidok vidboru iz N osib populyaciyi H povinni zalishitis sN osib yaki vvijdut v nastupnu populyaciyu H Reshta osib zagine Rozmnozhennya Rozmnozhennya v genetichnih algoritmah zazvichaj stateve shob naroditi nashadka neobhidno dekilka batkiv zazvichaj potribna uchast dvoh Rozmnozhennya v riznih algoritmah opisuyetsya po riznomu vono zvisno zalezhit vid formatu osib Golovna vimoga do rozmnozhennya shob nashadok chi nashadki mali mozhlivist uspadkuvati risi vsih batkiv zmishavshi yih yakimos dostatno rozumnim chinom Rozmnozhennya abo operator rekombinaciyi zastosovuyut vidrazu zh pislya operatora vidboru batkiv dlya otrimannya novih osobin nashadkiv Sens rekombinaciyi polyagaye v tomu sho stvoreni nashadki povinni nasliduvati gennu informaciyu vid oboh batkiv Rozriznyayut diskretnu rekombinaciyu i krosingover Priklad operaciyi rozmnozhennya Vibrati 1 s p 2 par gipotez iz H i provesti z nimi rozmnozhennya otrimavshi po dva nashadka vid kozhnoyi pari yaksho rozmnozhennya opisano tak shob davati odnogo nashadka neobhidno vibrati 1 s p par i dodati cih nashadkiv v H V rezultati H bude skladatisya z N osib Osobi dlya rozmnozhennya zazvichaj vibirayutsya iz vsiyeyi populyaciyi H a ne iz tih sho vizhili na pershomu kroci hocha ostannij variant tezh maye pravo na isnuvannya Sprava v tomu sho golovna problema genetichnih algoritmiv nedostacha riznomanitnosti diversity v osobah Dostatno shvidko vidilyayetsya yedinij genotip yakij yavlyaye soboyu lokalnij maksimum i zgodom vsi elementi populyaciyi prograyut jomu v vidbori i vsya populyaciya zabivayetsya kopiyami ciyeyi osobi Isnuyut rizni sposobi borotbi iz takim nebazhanim efektom odin z nih vibir dlya rozmnozhennya ne z samih dopasovanih a vzagali zi vsih osib Mutaciyi Do mutacij vidnositsya vse te zh sho i do rozmnozhennya ye deyaka dolya mutantiv m sho ye parametrom genetichnogo algoritmu i na kroci mutacij neobhidno vibrati mN osib a zgodom zminiti yih zgidno z zazdalegid zadanimi operaciyami mutaciyi Zastosuvannya genetichnih algoritmivGenetichni algoritmi zastosovuyetsya dlya virishennya nastupnih zadach Riznomanitni zadachi na grafah zadacha komivoyazhera rozfarbuvannya Nalashtuvannya i navchannya shtuchnoyi nejronnoyi merezhi Zadachi Shtuchne zhittya Bioinformatika bilkiv Sintez konstrukcij antenPriklad prostoyi realizaciyi na C Poshuk v odnomirnomu prostori bez shreshennya Cya programa vvazhaye bilshi za znachennyam elementi predstavleni cilimi chislami najbilsh zhittyezdatnimi include lt iostream h gt include lt algorithm h gt include lt numeric h gt using namespace std int main pochatkovij masiv populyaciya z 1000 elementiv osib const int N 1000 int a N zapovnimo elementi nulyami fill a a N 0 for Mutaciya kozhnogo elementa Vipadkovo zbilshuyemo abo zmenshuyemo znachennya elementu na odin for int i 0 i lt N i if rand 2 1 a i 1 else a i 1 vidsortuvannyam po zrostannyu vibirayemo bilshi za znachennyam sort a a N i todi bilshi za znachennyam viyavlyatsya v drugij chastini masivu skopiyuyemo bilshi v pershu polovinu koli voni zalishili nashadkiv a pershi pomerli copy a N 2 a N a kudi teper poglyanemo na serednye znachennya elementu populyaciyi Yak bachimo serednye znachennya vse bilshe i bilshe cout lt lt accumulate a a N 0 N lt lt endl Priklad prostoyi realizaciyi na DelphiPoshuk v odnomirnomu prostori bez shreshennya program Program1 APPTYPE CONSOLE R res uses System Generics Defaults System Generics Collections System SysUtils const N 1000 Nh N div 2 MaxPopulation High Integer var A array 1 N of Integer I R C Points BirthRate Integer Iptr Integer begin Randomize Chastkova populyaciya for I 1 to N do A I Random 2 repeat Mutaciya for I 1 to N do A I A I Random 2 or 1 Vidbir najkrashih TArray Sort lt Integer gt A TComparer lt Integer gt Default Nalashtuvannya Iptr Addr A Nh 1 Points 0 BirthRate 0 Rezultati for I 1 to Nh do begin Inc Points Iptr Vipadkovij uspih shreshuvannya R Random 2 Inc BirthRate R A I Iptr R Iptr 0 Inc Iptr 1 end promizhnij rezultat Inc C until Points N gt 1 or C gt MaxPopulation Writeln Format Population d rate f score f C BirthRate Nh Points N end Primitki 1954 Esempi numerici di processi di evoluzione Methodos 45 68 1957 Symbiogenetic evolution processes realized by artificial methods Methodos 143 182 1957 Simulation of genetic systems by automatic digital computers I Introduction Aust J Biol Sci 10 484 491 Donald Burnell 1970 Computer Models in Genetics New York McGraw Hill ISBN 0 07 021904 4 Crosby Jack L 1973 Computer Simulation in Genetics London John Wiley amp Sons ISBN 0 471 18880 8 Arhiv originalu za 23 bereznya 2012 Procitovano 24 grudnya 2015 Barricelli Nils Aall 1963 Numerical testing of evolution theories Part II Preliminary tests of performance symbiogenesis and terrestrial life Acta Biotheoretica 16 99 126 Rechenberg Ingo 1973 Evolutionsstrategie Stuttgart Holzmann Froboog ISBN 3 7728 0373 3 Schwefel Hans Paul 1974 Numerische Optimierung von Computer Modellen PhD thesis Schwefel Hans Paul 1977 Numerische Optimierung von Computor Modellen mittels der Evolutionsstrategie mit einer vergleichenden Einfuhrung in die Hill Climbing und Zufallsstrategie Basel Stuttgart Birkhauser ISBN 3 7643 0876 1 Schwefel Hans Paul 1981 Numerical optimization of computer models Translation of 1977 Numerische Optimierung von Computor Modellen mittels der Evolutionsstrategie Chichester New York Wiley ISBN 0 471 09988 0 J H Holland Adaptation in natural and artificial systems University of Michigan Press Ann Arbor 1975 Markoff John 29 serpnya 1990 New York Times Arhiv originalu za 2 grudnya 2010 Procitovano 9 serpnya 2009 Katoch Sourabh Chauhan Sumit Singh Kumar Vijay 2021 02 A review on genetic algorithm past present and future Multimedia Tools and Applications angl T 80 5 s 8091 8126 doi 10 1007 s11042 020 10139 6 ISSN 1380 7501 Procitovano 24 sichnya 2024 Singh Jasbir Ator Mark A Jaeger Edward P Allen Martin P Whipple David A Soloweij James E Chowdhary Swapan Treasurywala Adi M 1 sichnya 1996 Application of Genetic Algorithms to Combinatorial Synthesis A Computational Approach to Lead Identification and Lead Optimization Journal of the American Chemical Society angl T 118 7 s 1669 1676 doi 10 1021 ja953172i ISSN 0002 7863 Procitovano 24 sichnya 2024 Lucasius C B Kateman G 1 travnya 1993 Understanding and using genetic algorithms Part 1 Concepts properties and context Chemometrics and Intelligent Laboratory Systems T 19 1 s 1 33 doi 10 1016 0169 7439 93 80079 W ISSN 0169 7439 Procitovano 24 sichnya 2024 Gorovij V M 2010 Dubrovina L A red Socialni informacijni komunikaciyi yih napovnennya i resurs PDF Kiyiv Nacionalna biblioteka Ukrayini imeni V I Vernadskogo s 360 ISBN 978 966 02 5689 7 Slyusar V I Sintez antenn na osnove geneticheskih algoritmov Pervaya milya Last mile Prilozhenie k zhurnalu Elektronika nauka tehnologiya biznes 2008 6 S 16 23 1 Slyusar V I Sintez antenn na osnove geneticheskih algoritmov Chast 2 Pervaya milya Last mile Prilozhenie k zhurnalu Elektronika nauka tehnologiya biznes 2009 1 S 22 25 2 LiteraturaPoli R Langdon W B McPhee N F 2008 A Field Guide to Genetic Programming Lulu com freely available from the internet ISBN 978 1 4092 0073 4 Glosarij terminiv z himiyi uklad J Opejda O Shvajka In t fiziko organichnoyi himiyi ta vuglehimiyi im L M Litvinenka NAN Ukrayini Doneckij nacionalnij universitet Don Veber 2008 738 s ISBN 978 966 335 206 0 Div takozhPortal Matematika Zadacha optimizaciyi Teorema shem Funkciya dopasovanosti Murashinij algoritm Ostrivna modelPosilannya ukr Subbotin S O Olijnik A O Olijnik O O Neiterativni evolyucijni ta multiagentni metodi sintezu nechitkologichnih i nejromerezhnih modelej Monografiya Pid zag red S O Subbotina Zaporizhzhya ZNTU 2009 375 s 5 listopada 2013 u Wayback Machine Genetichnij algoritm katalog posilan Open Directory Project Ce nezavershena stattya z matematiki Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi Cyu stattyu treba vikifikuvati dlya vidpovidnosti standartam yakosti Vikipediyi Bud laska dopomozhit dodavannyam dorechnih vnutrishnih posilan abo vdoskonalennyam rozmitki statti gruden 2015