Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Генетичні алгоритми

У генетичних алгоритмах важливе значення мають: формування початкового ряду елементів (популяції), операції кросинговера, що в теорії генетичних алгоритмів частіше називають кросовером (Cross-over), і мутації (Mutation).

Кросовер це комбінування (змішування) хромосом шляхом замін значень генів і утворення нових хромосом на їх місцях.

Мутація спонтанне перетворення (видозміна) символів (характерних особливостей) у послідовності (хромосомі).

Ці процеси можуть комбінуватися для формування гібридних операторів, операцій репродукції (відтворення) і схрещування з тим, щоб бути спроможними створювати конкуренцію між популяціями.

Загальна схема генетичних алгоритмів

У концептуальному плані загальна схема генетичних алгоритмів досить проста. Спочатку генерується початкова популяція особин (індивідуумів, хромосом), тобто деякий ряд розв’язків задачі. Як правило, це робиться випадково. Потім необхідно змоделювати розмноження всередині цієї популяції. Для цього випадково підбираються кілька пар індивідуумів, проводиться схрещування хромосом у кожній парі, а отримані нові хромосоми поміщають у популяцію нового покоління. У генетичному алгоритмі зберігається засадний принцип природного добору: чим пристосованіший індивідуум (чим більше відповідне йому значення цільової функції), тим з більшою ймовірністю він буде брати участь у схрещуванні.

Потім моделюються мутації в кількох випадково вибраних особинах нового покоління, тобто змінюються деякі гени. Після цього стара популяція частково або повністю знищується і ми переходимо до розгляду наступного покоління. Популяція наступного покоління в більшості реалізацій генетичних алгоритмів містить стільки ж особин, скільки й початкова, але внаслідок відбору пристосованість (значення цільової функції) у ній в середньому вища. Операція доведення кількості особин поточної популяції до початково визначеної величини називається редукцією. Описані процеси відбору, схрещування і мутації повторюються вже для цієї нової популяції.

У кожному наступному поколінні буде спостерігатися виникнення абсолютно нових розв’язків задачі. Серед них будуть як погані, так і кращі, але завдяки процедурі добору кількість кращих розв’язків буде зростати. Зауважимо, що в природі не буває абсолютних гарантій, і навіть найпристосованіший тигр може загинути від пострілу мисливця, не залишивши потомства. Імітуючи еволюцію в комп’ютері, можна уникати подібних небажаних подій і завжди зберігати життя кращому з індивідуумів поточного покоління. Така методика називається "стратегією елітизму", коли в наступне покоління відбираються особини з найкращими показниками.

Описана послідовність дій за реалізації генетичних алгоритмів може перетворюватися в різні програмні реалізації залежно від типу розв’язуваної задачі і вибраних для цього підходів. Зокрема, в низці випадків може вводитися інша, ніж описана вище, ієрархія базових понять, наприклад, кожний індивідуум може характеризуватися низкою хромосом, котрі, у свою чергу, містять різні типи генів. Пояснимо на прикладі.

Нехай розглядається завдання вибору плану вкладення коштів у вибрані наперед N інвестиційних проектів, причому потрібно визначити обсяги вкладень коштів у кожний проект так, щоб загальний їх обсяг в усі проекти не перевищував величину D, а вибраний критерій ефективності, наприклад рівень рентабельності інвестицій (прибуток на капітал, ROI – Return on Investment), набував максимального значення. Розв’язуючи цю задачу за генетичним алгоритмом, вважатимемо, що кожен індивідуум – це інвестиційний план, який містить N хромосом, кожна з яких являє собою вектор із нулів та одиниць – двійковий вираз обсягу вкладень у даний проект. Якщо довжина хромосоми дорівнює вісьмом двійковим розрядам, то потрібне попереднє нормування всіх чисел на інтервалі від 0 до 255 (усього значень 2). Такі хромосоми називаються безперервними і уможливлюють подання значень довільних числових параметрів.

Мутації безперервних хромосом випадковим способом змінюють у них один біт (ген), впливаючи у такий спосіб на значення параметра. Кросовер також можна здійснювати стандартно, об’єднуючи частини відповідних хромосом (з однаковими номерами) різних індивідуумів. Особливістю цієї задачі є те, що загальний обсяг капіталу, що інвестується, фіксований і дорівнює D. Очевидно, що із-за мутацій і схрещувань можна отримувати розв’язки, для реалізації яких потрібний капітал, більший або менший ніж D. У генетичному алгоритмі використовується спеціальний механізм аналізування таких розв’язків, що дає змогу враховувати обмеження типу "сумарний капітал = D " за підрахунку пристосованості індивідуума. У процесі еволюції особини з суттєвим порушенням зазначених обмежень "вимирають". Унаслідок дії алгоритму отриманий розв’язок за сумарним капіталом може не дорівнювати точно, але бути близьким до заданої величини D. У процесі роботи генетичного алгоритму оцінюється значення цільової функції для кожного плану і здійснюється операція редукції для всієї популяції.

Цю саму задачу можна подати і в іншій генетичній інтерпретації, якщо ввести умову, що кожний із інвестиційних проектів або цілком приймається, або відхиляється. Тоді кожний варіант плану (хромосому) можна подати у вигляді послідовності з TV нулів та одиниць, причому, якщо на і-му місці в хромосомі стоїть одиниця, то це означає, що і-й проект (і = 1,2,..., N) включений у план, а якщо нуль – не включений. Популяція складається із кількох варіантів планів. Визначення допустимості планів і оцінювання їх за вибраними критеріями проводиться аналогічно.

У загальному вигляді стратегію отримання рішень за допомогою генетичних алгоритмів можна реалізувати такими кроками:

0) ініціалізуйте популяцію;

1) виберіть батьків для репродукції і оператори мутації і кросовера

2) виконайте операції, щоб згенерувати проміжну популяцію індивідуумів і оцінити їхні придатності;

3) виберіть членів популяції для отримання нової генерації (версії);

4) повторюйте кроки 1—3, поки не буде досягнуте деяке правило зупинки.

На рис. 9.3 показана узагальнена схема реалізації генетичного алгоритму. До його основних характеристик належать: розмір популяції, оператор кросовера і ймовірність його використання, оператор мутації і її ймовірність, оператор селекції, оператор редукції, правило (критерій) зупинки процесу виконання генетичного алгоритму. Оператори селекції, кросовера, мутації і редукції ще називають генетичними операторами.

Критерієм зупинки процесу здійснення генетичного алгоритму може бути одна з трьох подій:

• сформовано задану користувачем кількість поколінь;

• популяція досягла заданої користувачем якості (наприклад, значення якості всіх особин перевищило задану порогову величину);

• досягнутий деякий рівень збіжності. Тобто особини в популяції стали настільки подібними, що дальше їх поліпшення відбувається надзвичайно повільно, і тому продовження здійснення ітерацій генетичного алгоритму стає недоцільним.

Після завершення роботи генетичного алгоритму з кінцевої популяції вибирається та особина, яка дає максимальне (або мінімальне) значення цільової функції і, отже, є результатом здійснення генетичного алгоритму. За рахунок того, що кінцева популяція краща, ніж початкова, отриманий результат являє собою поліпшене рішення.

 

 

Рис. 9.3. Узагальнена схема реалізації генетичного алгоритму

<== предыдущая лекция | следующая лекция ==>
Застосування нейронних мереж | Доступне програмне забезпечення генетичних алгоритмів
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 2664; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.015 сек.