Двунаправленный поиск
Идея двунаправленного поиска основана на использовании сразу двух стратегий – прямого поиска от корневой вершины и обратного от целевой вершины. Процесс поиска прекращается, когда оба этих процесса встретятся на середине глубины. Если считать, что степень ветвления при прямом и обратном поиске одинакова, то оценка сложности по времени двунаправленного поиска будет O(2l k/2) =O(lk/2). Эта оценка существенно лучше, чем аналогичная для рассмотренных стратегий поиска. Однако все это в идеале, т.е. при условии, что цель только одна, степень ветвления и сложность нахождения последователей и предшественников одна и та же. При решении практических задач, однако, это условие может нарушаться. Кроме этого могут возникать и другие проблемы. Например, установление факта появления одной и той же вершины в той и другой половине поиска может потребовать значительных усилий и составить значительную долю сложности. Если все эти проблемы можно решить за постоянное время, не зависящее от числа вершин, то оценка сложности по времени двунаправленного поиска останется равной 0(l k/2).
Сравнение стратегий поиска
Характеристики шести рассмотренных стратегий, где l - степень ветвления, k – глубина поиска, d – максимальная глубина дерева поиска, г – ограничение на глубину поиска, сведены в табл. 4.2.
Таблица 4.2 | ||||||
Критерии | Поиск | |||||
В ши- рину | Монотон- ный в ширину | В глубину | Ограничен- ный в глубину | Итератив- ный в глубину | Двунап- равленный | |
время | lk | lk | ld | lr | lk | lk/2 |
память | lk | lk | ld | lr | lk | lk/2 |
оптима- льность | да | да | нет | нет | да | да |
полнота | да | да | нет | да, если r | да | да |
Направленный поиск
Как было показано в предыдущем разделе, все стратегии слепого поиска обладают экспоненциальными оценками сложности по времени поиска, а некоторые и по памяти, и, вследствие этого, пригодны для решения сравнительно небольших задач. В стратегиях слепого поиска знания, используемые при выборе очередной вершины, определяют только общий порядок выбора и никак не учитывают качество выбора, например, по сложности поиска целевой вершины. В стратегиях направленного поиска знания, используемые для выбора очередной вершины, более глубокие и используют специальные функции, называемые критериями. Если для каждой вершины b, участвующей в поиске, критерий может быть вычислен, а множество всех вершин упорядочивается по этому критерию, то выбор очередной вершины производится в соответствии со значением этого критерия. Чем лучше значение критерия (например, выше или ниже), тем предпочтительнее выбор. Иными словами, из множества альтернативных вершин выбирается та, для которой критерий имеет наилучшее значение. Поэтому стратегии выбора подобного типа называются стратегиями выбора по наилучшему критерию. Критерии обычно выбираются таким образом, чтобы оптимизировать сложность поиска, найти оптимальное решение или достичь того и другого. В настоящем разделе рассмотрим некоторые стратегии направленного поиска, при котором используются дополнительные знания о среде, позволяющие понизить сложность поиска. Рассмотрим, как осуществляется направленный поиск при решении оптимизационных задач.
Дата добавления: 2016-01-09; просмотров: 1056;