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

Генетичний алгоритм ( англ. genetic algorithm ) - Це евристичний алгоритм пошуку, що використовується для вирішення завдань оптимізації і моделювання шляхом випадкового підбору, комбінування і варіації шуканих параметрів з використанням механізмів, що нагадують біологічну еволюцію. Є різновидом еволюційних обчислень. Відмінною особливістю генетичного алгоритму є акцент на використання оператора "схрещування", який виробляє операцію рекомбінації рішень-кандидатів, роль якої аналогічна ролі схрещування в живій природі.

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

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

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

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

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

Генетичні та евристичні алгоритми - student2.ru
 
 
Генетичні та евристичні алгоритми - student2.ru
 
 

Д
М
Б

 
 
 
 
 
 
 
 
 
 
 
 

           
    Генетичні та евристичні алгоритми - student2.ru
 
R1
 
R2
 

Колективної поведінки

Мурашиний алгоритм (алгоритм оптимізації мурашиної колонії, англ. ant colony optimization, ACO) — один з ефективних поліноміальних алгоритмів для знаходження наближених рішень задачі комівояжера, а також аналогічних завдань пошуку маршрутів на графах. Суть підходу полягає в аналізі та використанні моделі поведінки мурах, що шукають дороги від колонії до їжі. У основі алгоритму лежить поведінка мурашиної колонії — маркування вдалих доріг великою кількістю феромону. Робота починається з розміщення мурашок у вершинах графа (містах), потім починається рух мурашок — напрям визначається імовірнісним методом, на підставі формули:

Генетичні та евристичні алгоритми - student2.ru ,

де:

Генетичні та евристичні алгоритми - student2.ru — вірогідність переходу дорогою Генетичні та евристичні алгоритми - student2.ru ,

Генетичні та евристичні алгоритми - student2.ru — довжина Генетичні та евристичні алгоритми - student2.ru -ого переходу,

Генетичні та евристичні алгоритми - student2.ru — кількість феромонів на Генетичні та евристичні алгоритми - student2.ru -ому переході,

Генетичні та евристичні алгоритми - student2.ru — величина, яка визначає «жадібність» алгоритму,

Генетичні та евристичні алгоритми - student2.ru — величина, яка визначає «стадність» алгоритму і

Генетичні та евристичні алгоритми - student2.ru .

Mere tic

Використовується специфіка кожної задачі.

Наши рекомендации