Які обмеження алгоритму сходження на гірку і як їх подолати?


Відповіді:


6

Як @nbro вже говорив, що Climbing Hill - це сім'я локальних алгоритмів пошуку . Отже, коли ви сказали, що у підйомі на гірське сходження, я припускаю, що ви говорите про стандартне сходження на пагорб. Стандартна версія сходження на пагорб має деякі обмеження і часто застрягає в наступному сценарії:

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

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

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

Успіх алгоритмів сходження на пагорб залежить від архітектури державно-космічного ландшафту. Щоразу, коли максимумів і плато мало, варіанти алгоритмів пошуку сходження на пагорб працюють дуже добре. Але в реальних проблемах існує пейзаж, який більше схожий на широко розкидане сімейство лисих дикобразів на плоскій підлозі, з мініатюрними дикобразами, що живуть на кінчику кожної голки дикобраза (як описано у 4-му розділі книги Штучний інтелект: A Сучасний підхід). Проблеми NP-Hard, як правило, мають експоненціальну кількість локальних максимумів, щоб зациклюватися.
Дані алгоритми розроблені для подолання таких питань:

  • Стимульований відпал
  • Місцевий пошук променя
  • Генетичні алгоритми

Довідник - Штучний інтелект: сучасний підхід


Існує більше альтернатив для подолання проблем сходження на пагорби; а саме групи перестановок, шаблони баз даних та пошук на основі граматики. Вони використовують знання, характерні для домену, для швидшого пошуку в просторі станів.
Мануель Родрігес

Так @ManuelRodriguez. Алгоритми, що залежать від знань домену, дають чудові результати. Але я спробував утримати відповідь на загальні проблеми, згадуючи декілька способів подолання обмежень пошуку Хілл Скейт.
Угнес

5

Скелелазіння - це не алгоритм, а сім'я алгоритмів "локального пошуку". Конкретними алгоритмами, які належать до категорії алгоритмів «сходження на гірку», є 2-opt, 3-opt, 2.5-opt, 4-opt або, взагалі, будь-який N-opt. Докладніші відомості про деякі з цих алгоритмів місцевого пошуку (застосовані до TSP) див. У главі 3 статті " Проблема продавця подорожей: дослідження випадку локальної оптимізації " (Девід С. Джонсон та Лайл А. МакГеох).

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

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

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


Приємна відповідь (+1)! Чи можете ви порекомендувати ресурс (YouTube, допис у блозі, архівний папір, книга), щоб дізнатися про алгоритми проти колонії? Я ніколи про це не чув і хотів би отримати грубе уявлення про них.
Мартін Тома

1
@MartinThoma Боюся, що я насправді не знаю про дуже хороший підручник з АСУ. Можливо, ви можете почати з наступного короткого підручника та відповідної реалізації: cleveralgorithms.com/nature-inspired/swarm/… . Якщо вас також цікавить більш серйозна реалізація, застосована до TSP, ознайомтеся з цим: aco-metaheuristic.org/aco-code , реалізований Stützle (та іншими), одним із учасників розвитку. цих прийомів.
nbro

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

1
@MartinThoma Як би там не було, ви також можете ознайомитися з науково-дослідними роботами. Я можу сказати вам лише декілька важливих дослідників: Доріго (перший, хто впровадив ці методи, АФАІК), Гамбарделла та Штутце. Подивіться на їхні документи. Я не впевнений, який із них запропонувати. Крім того, є книга, присвячена рій інтелекту (Бонабо), якщо ви дійсно хочете розібратися в деталях.
nbro
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.