ворювати потомство за допомогою перехресного схрещування з іншими особинами популяції. Це призводить до появи нових особин, які поєднують в собі деякі характеристики, успадковані ними від батьків. Найменш пристосовані особини з меншою ймовірністю зможуть відтворити нащадків, так що ті властивості, якими вони володіли, будуть поступово зникати з популяції в процесі еволюції.
Так і відтворюється вся нова популяція допустимих рішень, вибираючи кращих ін?? дставітелей попереднього покоління, схрещуючи їх і отримуючи безліч нових особин. Це нове покоління містить більш високе співвідношення характеристик, якими володіють хороші члени попереднього покоління. Таким чином, з покоління в покоління, хороші характеристики поширюються по всій популяції. Схрещування найбільш пристосованих особин призводить до того, що досліджуються найбільш перспективні ділянки простору пошуку. Зрештою, популяція буде сходитися до оптимального рішення задачі.
Мета: Використовуючи програму генетичного алгоритму, досліджуйте швидкість його збіжності і точність пошуку для різних функцій
Алгоритм знаходження екстремуму цільової функції за допомогою генетичного алгоритму
Вводяться вихідні дані, x (i) кількість вхідних змінних x (i) -k, величина кроку-h, заданої точності поіска-?, значення величини зміни аргументу при знаходження приватних похідних-dx, лічильник кроків в початковий момент повинен бути дорівнює одиниці (n=1), так як до початку ітераційних процедур потрібно один раз розрахувати функцію мети-Fц0=GZnкр,
Для зручності дослідження генетичного алгоритму необхідно написати програму, в якій можна було б міняти функції не створюючи заново саму програму. Ця програма є в деякому роді універсальною, тому для її створення узятий більш простий приклад і на його основі проведено порівняльний аналіз з іншою програмою знаходження екстремуму, а також дослідження генетичного алгоритму на вирішення інших завдань, більш складних для класичних методів знаходження екстремуму. В описаній нижче програмі взята деяка область, описана рівнянням кола, в цій області взяли початкову популяцію з п'яти точок з них визначили три найбільш близькі до точки екстремуму, визначили нащадка цих точок (середину трикутника), потім провели мутацію цієї точки, мутація - декількох видів , так як основоположному фактором в знаходженні точки екстремуму і є мутирование нащадка (тобто викид точки за трикутник). Види мутації:
множення координат нащадка на 2;
заміна координат нащадка осі абцісc на осі ординат;
множення координат нащадка на негативні числа;
множення координат нащадка на числа отриманих від генератора випадкових чисел.
У даний алгоритм розроблений для п'яти точок координати, яких дорівнюють наступним значенням (7; 8); (2,5; 7); (- 3; - 5); (- 2; - 1); (3,5; - 1,5). Значення дано у вигляді матриці
Завдання:
· Змінити цільову функцію на функцію Яру Розенброка
· Поміняти значення координат для 5 точок, а також значення коефіцієнтів;
· Підвищити або знизити число ітерації;
Контрольні питання:
. Як проводиться природний відбір в природі?
. Що таке генетичний алгоритм?
. Як використовується процедура мутації в генетичному алгоритмі?
. Яка швидкість збіжності Вашого алгоритму?
. Яка точність пошуку Вашого алгоритму?