Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CCC / конспект_ССС.doc
Скачиваний:
65
Добавлен:
06.06.2015
Размер:
2.23 Mб
Скачать

4 Еволюційне моделювання та методи самоорганізації

Никаким количеством экспериментов нельзя доказать теорию;

но достаточно одного эксперимента, чтобы ее опровергнуть.

Альберт Эйнштейн

4.1. Ретроспектива еволюційного моделювання

Границі пізнання процесів сучасного світу є розмитими і стрімко розширюються. Виникнення нових предметних областей, нових проблем є ще одним підтвердженням принципу «нових задач» академіка B.M. Глушкова. Нижче виконаємо аналіз методів розв'язання таких задач, що базуються на еволюційних принципах. Покажемо їх переваги і недоліки при розв'язанні задач оптимізації у порівнянні з класичними методами. Розглянемо аспекти наукових досліджень еволюційних технологій у відомих світових школах. Обговоримо проблеми збіжності і границі застосовності.

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

  • еволюційне програмування (ЕП);

  • еволюційні стратегії (EC);

  • генетичні алгоритми (ГА);

  • генетичне програмування (ГП).

Особливості кожного з вказаних еволюційних алгоритмів:

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

  • методи еволюційного програмування орієнтовані на оптимізацію неперервних функцій без використання рекомбінацій;

  • еволюційні стратегії орієнтовані на оптимізацію неперервних функцій з використанням рекомбінацій;

  • генетичне програмування використовує еволюційний метод для оптимізації комп'ютерних програм.

Така класифікація запропонована професором В.Г. Редьком. Проте сьогоднішні реалії вказують на те, що кожний з еволюційних алгоритмів застосовується для розв'язання й інших задач. Крім того, з'явилися методи, які також вважають представниками еволюційної парадигми. Це мурашині та інші алгоритми моделювання поведінки колоній, меметичні алгоритми, що є поєднанням генетичного алгоритму з іншими евристиками, програмування генетичних виразів тощо.

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

Історія розвитку еволюційного моделювання налічує трохи більше 50 років, а ключові дослідження у галузі взагалі вміщують в проміжок 1980-90-х років. У 60-і роки минулого століття Інго Рехенберг (I. Rechenberg), вражений методом „органічної еволюції", висунув ідею застосування мутації до вектора дійснозначних параметрів при вирішенні оптимізаційних проблем в аеродинаміці. Реалізована технологія стала відомою під назвою „еволюційна стратегія" (evolution strategy).

У 1981 році Ханс-Пауль Швефель (H-P. Schwefel) при дослідженні гідродинамічних задач ввів рекомбінації в еволюційні стратегії і виконав їх порівняльний аналіз з класичними методами оптимізації. Приблизно в той же час в США Лоуренсом Фогелем (Lawrence Fogel)незалежно виконувалися дослідження еволюції штучного інтелектуального автомата зі скінченним числом станів з використанням методу, який назвали еволюційним програмуванням (evolutionary programming). Джон Холланд (John Holland) аналізував клас репродуктивних систем методом, який тепер відомий нам як генетичний алгоритм (genetic algorithm). Така класифікація еволюційних алгоритмів була б не повною без робіт Лін Кремер (Lynn Cramer), Джека Хайкліна (Jac Hicklin), Горі Фуджікі (Gory Fujiki), результати яких узагальнив і розширив Джон Коза (John Koza). Запропонований метод назвали генетичним програмуванням.

Еволюційні алгоритми відрізняються один від іншого. Але всі вони базуються на принципах еволюції:

1. Індивіди мають кінцевий час життя; для продовження роду необхідне розмноження.

2. Деякою мірою нащадки відрізняються від батьків.

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

4. За допомогою природної селекції краще адаптовані індивіди мають тенденцію до більш тривалого життя і більшої кількості нащадків.

5. Нащадкам властиво успадковувати корисні характеристики своїх батьків, що впливає на збільшення пристосованості індивідів в часі.

Елементи еволюційного підходу присутні і у розглянутому раніше методі групового врахування аргументів. Але найяскравішим прикладом еволюційного програмування є генетичний алгоритм.

Соседние файлы в папке CCC