Генетичний алгоритм.
Навчання нейромережі додаванню двох цілих чисел за допомогою генетичного алгоритму
Структура Chromosome — структура, що описує хромосому. Поля: cost — значення хромосоми, масив weight — набір генів, mutationPercent — ймовірність мутації хромосоми. Основні методи: Mutate — здійснює мутацію хромосоми, CrossOver — реалізує кросинговер хромосом (результатом є 2 нащадки), CalculateCost — знаходження значення хромосоми. Структура NeuralNet — структура, що реалізує нейронну мережу… Читати ще >
Генетичний алгоритм. Навчання нейромережі додаванню двох цілих чисел за допомогою генетичного алгоритму (реферат, курсова, диплом, контрольна)
Генетичний алгоритм — це еволюційний алгоритм пошуку, що використовується для вирішення задач оптимізації і моделювання шляхом послідовного підбору, комбінування і варіації шуканих параметрів з використанням механізмів, що нагадують біологічну еволюцію.
При описі генетичних алгоритмів використовуються визначення, запозичені з генетики, такі як :
Популяція — це кінцева множина особин;
Особини, що входять в популяцію, у генетичних алгоритмах представляються хромосомами з закодованими в них множинами параметрів задачі, тобто рішень, які інакше називаються точками в просторі пошуку (search points);
Хромосоми — це впорядковані послідовності генів;
Ген — це атомарний елемент генотипу, зокрема, хромосоми.
Особливістю генетичного алгоритму є використання операторів кросинговеру та мутації, які виконують пошук на множині розв’язків.
Основний (класичний) генетичний алгоритм складається з наступних кроків:
створення початкової популяції;
оцінка пристосованості хромосом в популяції;
схрещування хромосом;
мутації хромосом;
Рис 3 — Блок-схема найпростішого алгоритму.
Опис структур та методів
а) Структура Neuron — описує нейрон. Поле — значення нейрону value. Також наявний конструктор.
б) Структура NeuralNet — структура, що реалізує нейронну мережу. Масив input[] - масив вхідних нейронів, масив output[] - масив вихідних нейронів, масив inter[] - масив проміжних нейронів. Масив weight[] - ваговий масив. Метод FindValue виконує обчислення за заданими ваговими коефіцієнтами. Методи HelpToFind1, Transform_value є допоміжними.
- в) Структура Chromosome — структура, що описує хромосому. Поля: cost — значення хромосоми, масив weight[] - набір генів, mutationPercent — ймовірність мутації хромосоми. Основні методи: Mutate — здійснює мутацію хромосоми, CrossOver — реалізує кросинговер хромосом (результатом є 2 нащадки), CalculateCost — знаходження значення хромосоми.
- г) У класі Form1 використовуються методи сортування хромосом (sortChromosomes), знаходження максимального значення та інші допоміжні методи.