Функція допасованості
Фу́нкція допасо́ваності[1] (англ. fitness function) — це особливий тип цільової функції, який застосовують як порівняльний показник якості для підбивання підсумку того, наскільки близьким є задане конструктивне рішення до досягнення поставлених цілей. Функції допасованості застосовують в генетичному програмуванні та генетичних алгоритмах, щоби скеровувати симуляції до оптимальних конструктивних рішень.
Генетичне програмування та алгоритми
Зокрема, в галузях генетичного програмування та генетичних алгоритмів кожне конструктивне рішення, як правило, представляють як стрічку чисел (яку називають хромосомою). Ідея полягає в тім, щоби після кожного кола тестування або моделювання вилучати n найгірших конструктивних рішень, і розводити n нових із найкращих. Кожне конструктивне рішення, таким чином, потребує присуджування порівняльного показника якості, що вказував би, наскільки близько воно підійшло до того, щоби відповідати загальним умовам, і цей показник породжується застосуванням функції допасованості до результатів тестування або моделювання, отриманих від цього рішення.
Причина, чому генетичні алгоритми неможливо розглядати як ледачий спосіб виконання конструкторської праці, полягає саме в зусиллях, потрібних для конструювання працездатної функції допасованості. Незважаючи на те, що тим, хто виходить з кінцевим конструкторським рішенням, є вже не людина, а комп'ютер, тим, хто має сконструювати функцію допасованості, все ще лишається саме людина. Якщо її сконструйовано погано, то алгоритм або збігатиметься на неприйнятному рішенні, або зазнаватиме труднощів у тому, щоби збігтися взагалі.
Функція допасованості повинна не лише тісно корелювати з метою конструктора, але повинна також бути обчислювально ефективною. Швидкість виконання є дуже важливою, оскільки типовий генетичний алгоритм, щоби виробити корисний результат для нетривіальної задачі, мусить ітеруватися багато разів.
Може бути доцільним і наближування допасованості, особливо в наступних випадках:
- Обчислення допасованості одного рішення є надзвичайно витратним
- Точної моделі обчислення допасованості немає
- Функція допасованості є непевною або зашумленою.
Існує два основні класи функцій допасованості: такий, у якому функція допасованості не змінюється, як в оптимізації незмінної функції або тестуванні за незмінним набором тестових прикладів; і такий, у якому функція допасованості є мінливою, як у розмежуванні ніш або коеволюції набору тестових прикладів.
На функції допасованості можливо також дивитися в термінах адаптивного ландшафту, який показує допасованість для кожної можливої хромосоми.
В багатьох випадках означення функції допасованості не є прямолінійним, і часто виконується ітеративно, якщо найдопасованіші рішення, вироблені генетичними алгоритмами, не є тим, що потрібно. Інтерактивні генетичні алгоритми беруться за це ускладнення, віддаючи оцінювання зовнішнім агентам (зазвичай, людям).
Див. також
- Еволюційне моделювання
- Висновувальне програмування
- Тестові функції для оптимізації
Примітки
- fitness // Англійсько-український словник з математики та інформатики / уклад. Є. Мейнарович, М. Кратко. — 2010.
Посилання
- A Nice Introduction to Adaptive Fuzzy Fitness Granulation (AFFG) (PDF), перспективний підхід до прискорення темпу збіжності ЕА. (англ.)
- The cyber shack of Adaptive Fuzzy Fitness Granulation (AFFG), сконструйований для прискорення темпу збіжності ЕА. (англ.)
- Fitness functions in evolutionary robotics: A survey and analysis (AFFG) (PDF), огляд функцій допасованості, що використовуються в еволюційній робототехніці. (англ.)