Поиск в пространстве состоянийПо́иск в простра́нстве состоя́ний (англ. state space search) — группа математических методов, предназначенных для решения задач искусственного интеллекта. Методы поиска в пространстве состояний осуществляют последовательный просмотр конфигураций или состояний задачи с целью обнаружения целевого состояния, имеющего заданные характеристики или удовлетворяющего некоторому критерию. ДопущенияОписание состояния содержит всю информацию, необходимую для предсказания результата того или иного действия и определения, является ли текущее состояние целевым. Поиск в пространстве состояний основывается на нескольких предположениях[1]:
Формальное определение задачиКомпоненты задачиВо многих задачах присутствует дискретное множество состояний, в которых может находиться определённый объект или система, с правилами и условиями перехода из одного состояния в другое (например, в играх). Подобные задачи могут быть формально определены с помощью четырёх компонентов:
Альтернативное определение проблемы поиска в пространстве состояний[1] включает
Граф пространства состоянийБольшинство алгоритмических формулировок поиска на графах использует понятие явного графа (англ. explicit graph). Граф может быть представлен в виде матрицы смежности или списка смежности. В алгоритмах поиска в пространстве состояний применяется понятие неявного графа (англ. implicit graph). Отличие неявного графа от явно заданного графа состоит в том, что рёбра графа не хранятся в памяти явно, а порождаются «на лету» (англ. on-the-fly) в соответствии с правилами перехода между состояниями. Определение графа пространства состояний включает в себя начальную вершину, множество целевых вершин и процедуру развёртывания вершины[2]. Решение задачиРешением задачи называется путь от начального состояния до целевого состояния. Оптимальным решением называется решение, имеющее наименьшую стоимость среди всех прочих решений. Оценка алгоритма поискаКачество алгоритма оценивается с помощью четырёх основных показателей:
Методы поиска в пространстве состоянийМетоды поиска в пространстве состояний делятся на информированные и неинформированные. Неинформированные методы (методы слепого поиска, методы грубой силы) не используют никакой информации о конкретной задаче, кроме информации о том, как отличить целевое состояние от любого другого. Алгоритмы этой группы последовательно порождают все возможные состояния, достижимые из исходного состояния до тех пор, пока не будет найдено целевое состояние (решение). Различия между методами неинформированного поиска сводятся к последовательности просмотра состояний. Информированные методы поиска (эвристические методы) пользуются дополнительной информацией о конкретной задаче. Дополнительная информация (эвристика) позволяет сократить перебор путём исключения заведомо бесперспективных вариантов. Такой подход ускоряет работу алгоритма по сравнению с полным перебором. Недостатком эвристических алгоритмов может быть отсутствие гарантии того, что выбрано правильное или наилучшее из всех возможных решение. См. такжеПримечания
Литература
Ссылки |