Значення (мета) евристичних методів


10
  1. Для оптимізації з Вікіпедії :

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

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

    • Цікаво, як сказати, чи є метод оптимізації метагевристичним чи ні? Наприклад,

      (1) Чи симплексний метод лінійного програмування є метагевристичним?

      (2) Чи більшість нелінійних методів програмування, таких як спуск градієнта, метод множника Лагрангія, методи покарання, методи інтер'єрних точок (бар'єрні методи), є метагевристичними?

      (3) Чи всі методи без градієнтів, такі як метод Нельдера-Міду чи метод симплекса під гору, є метагевристичними?

    • Які існують методи оптимізації, не метагевристичні?

  2. Більш загально (виходить за рамки оптимізації) для методів вирішення проблем з Вікіпедії :

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

    Точніше кажучи, евристика - це стратегії, що використовують легкодоступну, хоча і слабко застосовну, інформацію для управління вирішенням проблем у людях і машинах.

    Цікаво, як зрозуміти значення "евристики"?

    • як я можу сказати, є "евристична" методика вирішення, навчання та виявлення?

    • Які існують методи "вирішення, вивчення та виявлення проблем", які не є евристичними?

Дякую та з повагою!

Відповіді:


7

Евристика - це те, що спрацьовує у багатьох випадках на практиці, хоча немає детального аргументу, чому це має добре працювати.

Метагевристика - це не алгоритм, а загальна евристична схема або ідея, яка може бути використана всередині конкретних алгоритмів.

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

Алгоритм симплексного симплекса Nelder-Mead = мінімізація функції - це евристика (вона насправді може вийти з ладу при досить простих задачах у більш високих розмірах), а пошук за таблицею - метагевристика (оскільки може бути написано дуже багато різноманітних алгоритмів, які використовують пошук в табу, але інакше мають зовсім іншу якість.


Дякую! (1) Отже, щоб сказати, чи є метод метагевристичним, чи слід перевірити, чи є у нього теорія щодо того, коли він наближається до справжнього оптимізатора? Якщо метод ще не має такої теорії, то чи є це мехеристичним? Якщо одного дня існує теорія для неї, вона перетвориться від метагевристичної на неметауристичну? (2) "Іншими термінами, що мають аналогічне значення, як метагевристичні, є: без похідних, прямий пошук, чорний ящик, або взагалі просто евристичний оптимізатор." Цікаво, чи метагеврист використовує лише значення функцій і не є похідними? Це метод пошуку у вашій відповіді на моє інше запитання?
Тім

@Tim: метагевристичні засоби: (i) відсутність теорії конвергенції та (ii) не визначений рецепт процесу, а загальні принципи. - без похідних (= прямий пошук = чорний ящик; різні назви одного і того ж з різних історичних коренів) можуть бути евристичними чи ні; він просто розповідає про вхід, який повинен надати користувач.
Арнольд Ноймаєр

Дякую! Цікаво, чи метагеврист використовує лише значення функцій і не є похідними?
Тім

@Tim: Напевно, так; Я не знаю нічого, що насправді називається метагевристичним, що використовує градієнти.
Арнольд Ноймаєр

7

Я не буду повторювати симплекс та Нелдер-Мід, оскільки @ArnoldNeumaier дав уже дуже гарне пояснення, але хотів додати свої 2 центи.

Одна з найкращих цитат, яку я чула деякий час тому, щоб описати різницю між евристичним та метагевристичним: Евристика - досить хороше правило. Метагеврист - це досить гарне правило для пошуку досить хороших правил.

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

  • Як я повинен підлаштувати параметри цього евристики, щоб покращити ефективність цієї проблеми?
  • Це евристика краща, ніж евристична?

Існує маса метагевристики, яку ви можете використовувати для вирішення проблем, навчання та виявлення , а саме:

Я вважаю, що більшість метагевристики дещо натхнені природними феноменами, які важко жорстко пояснити, але мають хороші конвергенційні властивості.

Ось хороше посилання, якщо ви хочете прочитати більше про деякі інші метагевристичні методи


Дякую! Я не впевнений, що розумію: "Евристика - це досить хороше правило. Метагеврист - це досить хороше правило для пошуку досить хороших правил". Наприклад, чи є імітований відпал, рій частинок, колонія мурашок та пошук табу евристичним чи метагевристичним? Якщо вони одні з двох, які їхні аналоги для інших?
Тім

Що ви повинні зрозуміти з цієї цитати, це те, що і евристика, і метагевристика не є точними і не доведеними, таким чином, "досить хорошим правилом". Метагеврист знаходиться на більш високому рівні, ніж евристичний, і саме через декілька послідовних ітерацій можна знайти набір параметрів, які правильно вирішують проблему. Якби ви знали, який цей набір параметрів з самого початку, вам просто доведеться написати евристику для вирішення проблеми. Але оскільки ви не знаєте, вам потрібно скористатися алгоритмом, щоб знайти ці параметри для свого евристичного: метагевристичного. Надія, яка прояснює.
Чарльз Менгуй

І алгоритми, які я дав тут, - це все метагевристика, і ви можете знайти більш детальну інформацію за посиланням, яке я дав. Я не впевнений, що саме ви маєте на увазі під колегами.
Чарльз Менгуй

Я маю на увазі, наприклад, якщо алгоритми - це метагевристика, то евристика, якою вони працюють, повинна бути самою, а також конкретними значеннями для їх регульованих параметрів?
Тім

Візьмемо для прикладу імітований відпал. Зрештою, це пошук у ланцюжку Маркова. Евристичним "правилом" було б припустити, що стан у ланцюзі Маркова є рішенням. Метагеврист - це шукати конвергенції в ланцюзі Маркова, щоб знайти оптимальний стан, який описує рішення. Взагалі, я думаю, що вам не слід надто намагатись зробити розрізнення: використовуйте евристику, коли є "відносно" просте рішення, яке можна легко обчислити, і використовуйте метагевристику, коли простір рішення занадто великий і вам потрібно бути розумнішими вирішення проблеми.
Чарльз Менгуй
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.