· Непряме кодування - генетичний алгоритм працює не з самим кодом програми, а з правилами його побудови. Тобто генетичний алгоритм працює з програмою, яка генерує потрібну нам програму.
Еволюційний програмування було винайдено доктором Лоуренсом Дж. Фогелем в Національному Науковому Фонді в 1960 році. У той час штучний інтелект був обмежений двома основними напрямками досліджень: моделюванням людського мозку (нейронні мережі) і моделюванням вирішення проблем поведінки людини (евристичне програмування). Переваги еволюційного програмування були вивчені д-ром Фогелем після його повернення в Сан-Дієго в липні 1961 при зверненні до проблем прогнозування системи ідентифікації і контролю в серії досліджень, очолюваних тоді Фогелем і його колегами, провідними вченими в галузі еволюційних обчисленнях. Вивчення еволюційного програмування було продовжено в 1980-х у використанні довільних уявлень даних і застосовувалося до узагальненої проблеми оптимізації. Еволюційний програмування, засноване на випадкової мінливості і відборі, було застосовано до таких структур, як речові вектори, перестановки, матриці, вектори змінні довжини, бінарні рядки і так далі. Еволюційний програмування було застосовано до різних інженерним завданням, включаючи маршрутизацію трафіку і планування, фармацевтичні дизайни, епідеміологію, виявлення раку, військове планування, системи управління, системи ідентифікації, обробки сигналів, енергетику, навчання в іграх і т. д.
Нейроеволюція - форма машинного навчання, яка використовує еволюційні алгоритми для тренування нейромережі. Цей підхід використовується в таких галузях як ігри і керування приводами роботів. У цих випадках досить просто виміряти продуктивність нейромережі, в той час, як реалізувати навчання з учителем дуже важко або практично неможливо. Цей метод навчання відноситься до категорії методів навчання з підкріпленням. Існує велика кількість нейроеволюціонних алгоритмів, які діляться на дві групи. До першої належать алгоритми, які виробляють еволюція ваг при заданій топології мережі, до іншої - алгоритми, які крім еволюції ваг також виробляють еволюцію топології мережі. Хоча і не існує загальноприйнятих умов для проведення відмінностей, прийнято, що додавання або видалення зв'язків у мережі в ході еволюції називається ускладнення або спрощення відповідно.
Приклади еволюційних алгоритмів
Ройовий інтелект
Ройовий інтелект (англ. Swarm intelligence) описує колективна поведінка децентралізованої самоорганізовується. Розглядається в теорії штучного інтелекту як метод оптимізації. Термін був введений Херардо Бені і Ван Цзінь в 1989 році, в контексті системи клітинних роботів.
Системи ройового інтелекту, як правило, складаються з безлічі агентів (Багатоагентна система) локально взаємодіючих між собою і з навколишнім середовищем. Самі агенти зазвичай досить прості, але всі разом, локально взаємодіючи, створюють так званий ройовий інтелект. Прикладом у природі може служити колонія мурашок, рій бджіл, зграя птахів, риб ...
Приклади алгоритмів
Апроксимаційні алгоритми, представлені нижче, відносяться до класу метаеврістік. Існують їх варіації як для задач одно-, так і багатокритеріальної оптимізації.
) Мурашиний алгоритм (англ. Ant colony optimization).
...