Выбор метода поиска

Содержание

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

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

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

Допустим, вы ищете решение, близкое к оптимальному, однако по каким-либо причинам нельзя использовать исчерпывающий поиск. Тогда можно воспользоваться следующим эффективным методом: применить все четыре метода поиска, а затем выбрать наилучшее решение. В сущности, все методы поиска работают по-разному, поэтому у одного из них результат должен все-таки быть лучше, чем у остальных.

----------
[1]Обратите внимание, это утверждение означает, что общие эвристики могут оказаться неэффективными. Более того, для каждой, пусть даже самой «интеллектуальной» эвристики, найдется (непустой) класс задач, для которых «алгоритм Британского музея» (полный перебор без каких-либо правил предпочтения) будет более эффективным.