В чем разница между поиском Hill Climbing и Best First Search? - PullRequest
12 голосов
/ 27 мая 2011

Я пытаюсь выучить некоторые концепции поиска, но в процессе столкнулся со стеной.Может ли кто-нибудь объяснить мне, в чем разница между поиском по альпинизму и лучшим первым поиском?Для меня они оба выглядят как расширение узлов с эвристическим значением, ближайшим к цели.Если кто-нибудь сможет объяснить мне разницу, это будет с благодарностью.Спасибо!

Ответы [ 4 ]

11 голосов
/ 20 мая 2013

Вы можете просмотреть алгоритм поиска как наличие очереди из оставшихся узлов для поиска. Этот ответ демонстрирует этот принцип .

При поиске в глубину вы добавляете дочерние узлы текущего узла в перед очереди (стека). При поиске в ширину вы добавляете потомков текущего узла в back очереди. Подумайте немного о том, как это приводит к правильному поведению этих алгоритмов.

Теперь, при поиске по альпинизму, вы сортируете [1] дочерних узлов текущего узла , прежде чем добавлять их в очередь. При поиске по принципу «лучший сначала» вы добавляете дочерние узлы текущего узла в очередь в любом старом порядке, а затем сортируете [1] всю очередь . Если вы думаете о влиянии, которое может оказать порядок поиска узлов, вы должны получить представление о практической разнице.

Я нашел эту концепцию слишком сложной, чтобы ее можно было понять из чисто абстрактных терминов, но если вы проработаете пару примеров карандашом, все станет просто.

[1]: сортировка в соответствии с какой-либо специфической для задачи оценкой узла решения, например, «расстояние от места назначения» в поиске пути поиска.

4 голосов
/ 12 мая 2012

Немного поздно, но здесь идет.

В BFS речь идет о поиске цели. Таким образом, речь идет о выборе лучшего узла (тот, который, как мы надеемся, приведет нас к цели) среди возможных. Мы продолжаем пытаться идти к цели.

Но в восхождении на холм речь идет о максимизации целевой функции. Мы выбираем узел, который обеспечивает самый высокий подъем. Таким образом, в отличие от BFS, «значение» родительского узла также учитывается. Если мы не можем подняться выше, мы просто сдаемся. В этом случае мы можем даже не достичь цели. Мы могли бы быть в локальных максимумах.

2 голосов
/ 27 мая 2011

Позвольте мне Wiki, что для вас :

В простом восхождении на холм выбирается первый более близкий узел, тогда как в самом крутом восхождении на вершину сравниваются все преемникирешение выбрано.

...

Крутое восхождение на гору похоже на поиск наилучшего первого, который пробует все возможные расширения текущего пути вместотолько один.

0 голосов
/ 17 ноября 2015

Разница заключается в понимании , что больше беспокоит в поиске состояния цели .

Задайте вопрос, какова наша цель ... состояние конечной цели ? или Лучший путь для достижения целевого состояния

Поиск Best First - это алгоритм систематического поиска, в котором систематичность достигается путем итерационного продвижения вперед на основе обнаружения Наилучшее эвристическое значение для соседних узлов для каждого текущего узла.

Здесь оценочная функция (эвристическая функция) вычисляет наилучший возможный путь для достижения цели государства . Таким образом, здесь мы могли видеть, что поиск Best First связан с наилучшим PATH для достижения целевого состояния.

Однако существует много проблем, когда " Путь к цели " является , а не проблемой , единственное, что беспокоит, это для достижения конечного состояния в любые возможные пути или пути. (Например: проблема с 8 королевами ).

Следовательно для этого используются локальные алгоритмы поиска .

Алгоритмы локального поиска работают с использованием одного текущего узла и , как правило, перемещаются только к соседу этого узла.

Алгоритм альпинизма - это алгоритм локального поиска . Поэтому здесь нам нужно понять подход к достижению целевого состояния, а не лучший путь для достижения, когда мы думаем о восхождении на холм.

(Как указано в Современный подход AI-A, SR & PN )

По сути, для понимания локального поиска нам нужно рассмотреть ландшафт пространства состояний .

A Пейзаж имеет как

(i) location (определяется состоянием ) и

(ii) Высота (определяется значением эвристической функции или целевой функции )

Нам нужно понять два типа возвышений ,

(i) Если высота соответствует и целевой функции , тогда цель состоит в том, чтобы найти самый высокий пик, т.е. a Глобальный максимум .

(Таким образом, этот тип возвышения полезен в различных сценариях, которые не связаны с затратами и которые касаются только поиска лучших мгновенных ходов)

(ii) Если высота соответствует стоимости , то цель состоит в том, чтобы найти самую низкую долину, т.е. Глобальный минимум .

( Вот обычная вещь , т. Е. Крутой подъем (всегда с лучшими оценками, т. Е. Без проблем с плато и т. Д.), Восхождение на гору аналогично Best First Search. эвристическая функция , которая обеспечивает лучшую минимальную стоимость . И восхождение на вершину здесь касается только текущего узла и , итерирует через соседние узлы для минимального значения и продолжает расширение лучшего узла, аналогичного Best First Search )

Примечание :

Алгоритм альпинизма не смотрит вперед за непосредственными соседями текущего состояния . Это касается только лучшего соседнего узла для расширения. А лучшее соседство определяется вышеупомянутыми функциями оценки.

Принимая во внимание, что , алгоритм Best First Search смотрит впереди ближайших соседей , чтобы найти наилучший путь к цели (используя эвристическую оценку), а затем переходит к лучшему. Таким образом, разница заключается в подходе локального поиска и алгоритмах систематического поиска.

Поймите разницу в подходах, вы узнаете, почему оба названы по-разному.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...