Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Генетичний алгоритм. Генетичне програмування




Генетичний алгоритм (англ. genetic algorithm) — це еволюційний алгоритм пошуку, що використовується для вирішення задач оптимізації і моделювання шляхом послідовного підбору, комбінування і варіації шуканих параметрів з використанням механізмів, що нагадують біологічну еволюцію. Задача кодується таким чином, щоб її вирішення могло бути представлено в вигляді масиву подібного до інформації складу хромосоми. Цей масив часто називають саме так «хромосома». Випадковим чином в масиві створюється деяка кількість початкових елементів «осіб», або початкова популяція. Особи оцінюються з використанням функції пристосування, в результаті якої кожній особі присвоюється певне значення пристосованості, яке визначає можливість виживання особи. Після цього з використанням отриманих значень пристосованості вибираються особи допущені до схрещення (селекція). До осіб застосовується "генетичні оператори" (в більшості випадків це оператор схрещення (crossover) і оператор мутації (mutation), створюючи таким чином наступне покоління осіб. Особи наступного покоління також оцінюються застосуванням генетичних операторів і виконується селекція і мутація. Так моделюється еволюційний процес, що продовжується декілька життєвих циклів (поколінь), поки не буде виконано критерій зупинки алгоритму. Таким критерієм може бути:

· знаходження глобального, або надоптимального вирішення;

· вичерпання числа поколінь, що відпущені на еволюцію;

· вичерпання часу, відпущеного на еволюцію.

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

1. Створення початкової популяції:

2. Обчислення функції пристосованості для осіб популяції (оцінювання)

3. Повторювання до виконання критерію зупинки алгоритму:

· Вибір індивідів із поточної популяції (селекція)

· Схрещення або/та мутація

· Обчислення функції пристосовуваності для всіх осіб

· Формування нового покоління

Генетичне програмування - це методика машинного навчання, прототипом якої є біологічна еволюція. У загальному випадку ми починаємо з великого набору програм (іменованих популяцією), згенерованих випадковим чином або написаних вручну, про які відомо, що це досить хороші рішення. Потім ці програми конкурують між собою в спробі вирішити деяку поставлену користувачем завдання. Це може бути гра, в якій програми змагаються між собою безпосередньо, або спеціальний тест, покликаний визначити, яка програма краще. По завершенні змагання складається ранжований список програм - від найкращої до найгіршої. Потім - і ось тут-то вступає у справу еволюція - кращі програми копіюються і модифікуються одним із двох способів. Найпростіший називається мутацією; в цьому випадку деякі частини програми випадковим чином і дуже незначно змінюються в надії, що від цього рішення стане краще. Інший спосіб називається схрещуванням (або кросовером) - частина однієї з відібраних програм переміщається в іншу. У результаті процедури копіювання та модифікації створюється багато нових програм, які засновані на найкращих особинах попередньої популяції, але не збігаються з ними. На кожному етапі якість програм обчислюється за допомогою функції виживаності (fitness function). Так як розмір популяції не змінюється, програми, що опинилися поганими, видаляються з популяції, звільняючи місце для нових. Створюється нова популяція, яка називається «наступним поколінням», і весь процес повторюється. Оскільки зберігаються і змінюються найкращі програми, то є надія, що з кожним поколінням вони будуть вдосконалюватися, як діти, які можуть перевершити своїх батьків. Нові покоління створюються до тих пір, поки не буде виконана умова завершення, яке в залежності від завдання може формулюватися одним із таких способів:

• Знайдено ідеальне рішення.

• Знайдено достатньо хороше рішення.

• Рішення не вдається поліпшити протягом кількох поколінь.

• Кількість поколінь досягло заданої межі.




Поделиться с друзьями:


Дата добавления: 2015-05-24; Просмотров: 2638; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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