Слайд 2Тема 2. Поиск в пространстве состояний

Слайд 3Поиск в пространстве состояний (англ. state space search) — группа методов, предназначенных для решения задач искусственного

интеллекта
Слайд 5Первым шагом в решении задачи является формулировка цели с учётом текущей ситуации

и показателей производительности агента.
Слайд 6Формулировка задачи представляет собой процесс определения того, какие действия и состояния следует

рассматривать с учётом некоторой цели.
Слайд 7Описанный процесс определения такой последовательности называется поиском.
Любой алгоритм поиска принимает в

качестве входных данных некоторую задачу и возвращает решение в форме последовательности действий.
После выполнения этого решения агент формулирует новую цель.
Слайд 8Задача формально определяется с помощью следующих четырёх компонентов:
Начальное состояние, в котором агент

приступает к работе.
Функция определения преемника – описание возможных действий, доступных агенту.
Слайд 10Путём в пространстве состояний является последовательность состояний, соединённых последовательностью действий.

Слайд 11Проверка цели позволяет определить, является ли данное конкретное состояние целевым состоянием.

Слайд 12Функция стоимости пути назначает числовое значение стоимости каждого пути.

Слайд 13Решением задачи является путь от начального состояния до целевого состояния.
Качество решения

измеряется функцией стоимости пути, а оптимальное решение имеет наименьшую стоимость пути среди всех прочих решений.
Слайд 15Наиболее известные примеры решения задач подразделяются на два типа: упрощенные и реальные

задачи.
Слайд 16Упрощенные задачи предназначены для иллюстрации или проверки различных методов решения задач.
Реальные

задачи, которые действительно требуются людям, не имеют, как правило, единого приемлемого для всех описания
Слайд 18Задачи со скользящими фишками часто используются в искусственном интеллекте для проверки новых

алгоритмов поиска.
Известно, что этот общий класс задач является NP-полным.
Слайд 19Задачи относятся к классу недетерминированных полиномиальных задач (NP-классу, сокращение от Nondeterministic Polynomial),

если существует алгоритм, позволяющий выдвинуть гипотезу о возможном решении, а затем проверить правильность этой гипотезы с помощью полиномиальных затрат времени.
Слайд 20Примеры реальных задач
Одними из наиболее распространённых являются задачи поиска маршрута в терминах

заданных местонахождений и переходов между ними.
Слайд 21В задачах автоматического упорядочения сборки сложных объектов роботом цель состоит в определении

последовательности, в которой должны собираться детали некоторого объекта.
Слайд 23Сформулировав определённые задачи, необходимо найти их решения. Такая цель достигается посредством поиска

в пространстве состояний.
Слайд 24Порядок, в котором происходит развёртывание состояний, определяется стратегией поиска.

Слайд 25Корнем этого дерева поиска является поисковый узел, соответствующий начальному состоянию
Первый этап

состоит в проверке того, является ли это состояние целевым.
Слайд 26Развёртывание текущего состояния приводит к формированию его преемника - нового множества состояний

Слайд 27Суть поиска состоит в том, что пока проверяется один вариант, другие откладываются

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

соответствует конфигурации мира.
Слайд 31Каждый узел имеет родительский узел, содержит данные о состоянии и имеет различные

вспомогательные поля.
Слайд 32Структура данных может включать в себя:
State - соответствующее данному узлу состояние

в общем пространстве состояний;
Parent-Node – родительский узел;
Action – действие, которое было применено к родительскому узлу для формирования данного узла;
Path-Cost – стоимость пути от начального состояния до данного узла;
Depth – количество этапов (глубина) пути от первоначального состояния до данного узла.
Слайд 33Производительность решения задачи

Слайд 34Принято оценивать производительность алгоритма с помощью следующих четырёх показателей
Полнота. Гарантирует ли алгоритм

обнаружение решения, если оно имеется?
Оптимальность. Гарантирует ли данная стратегия нахождение оптимального решения в соответствие с выбранным критерием?
Временная сложность. Время нахождения решения при данном алгоритме.
Пространственная сложность. Необходимый объём памяти для осуществления поиска.
Слайд 36Методы поиска в пространстве состояний подразделяются на две группы: методы «слепого» и

упорядоченного (эвристического) поиска.
Слайд 37Методы «слепого» поиска называют также «не информированными» методами, так как в процессе

поиска пути на графе не учитывается информация о степени близости текущей и целевой вершин.
Это приводит к тому, что в методах «слепого» поиска выполняется полный просмотр всего пространства состояний.
Слайд 38Методы "слепого" поиска можно разделить на три группы:
Случайный поиск;
Поиск «в глубину

и ширину»;
Алгоритм равных цен.