8124

Поиск в пространстве состояний. Формальная постановка задачи. Обобщенный алгоритм поиска. Критерии оценки стратегий

Лекция

Информатика, кибернетика и программирование

Поиск в пространстве состояний.Формальная постановка задачи. Обобщенный алгоритм поиска. Критерии оценки стратегий. Многие задачи,в частности игры и головоломки,могут быть представлены как задачи поиска в пространств...

Русский

2013-02-04

116.01 KB

17 чел.

Поиск в пространстве состояний. Формальная постановка задачи. Обобщенный алгоритм поиска. Критерии оценки стратегий.

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

Решить задачузначит найти путь из исходного состояния в целевое.

Формально задача поиска в пространстве состояний в общем случае задается четверкой:

<I, {Oi}, GT, PC>,

где Iисходное состояние, т. е. состояние мира в начале задачи;

     {Oi} –множество действий (операторов), возможных в различных состояниях;

      GT (goal test) –проверка достижения целевого состояния;

      PC (path cost) –функция стоимости пути.

Действия (операторы) переводят состояния в другие состояния. Таким образом, можно ввести в рассмотрение функцию последователей S (successor), ставящую в соответствие каждому состоянию x множество состояний S(x), достижимых из x за одно действие.

Исходное состоянии и множество действий (операторов) в совокупности определяют пространство состояний задачи, т.е. множество всех состояний, достижимых из исходного, путем конечной последовательности действий.

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

  •  явное перечисление множества целевых состояний;
  •  использование предикатов, описывающих целевые состояния.

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

Функция PC (path cost) позволяет вычислить стоимость пути в заданных единицах. Как правило PC является аддитивной оценкой, т. е. стоимость пути вычисляется как сумма стоимостей элементов пути (операторов).

Для описания  алгоритмов реализации поиска в пространстве состояний компоненты задачи должны быть представлены соответствующими данными:

datatype Problem component : INITIAL-STATE, Оperations, Goal Test, Path-Cost-Funct.

Эффективность того или иного метода поиска определяется ответами на следующие вопросы:

  1.  Находит ли он решение в принципе (полнота);
  2.  Является ли найденное решение хорошим (т.е. имеющим низкую стоимость пути).
  3.  Какова стоимость реализации поиска, определяемая временем и памятью, требуемыми для нахождения решения (пути).

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

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

Корнем этого дерева является вершина соответствующая начальному состоянию.

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

На каждом шаге алгоритм поиска выбирает для раскрытия одну концевую вершину.

Общий алгоритм поиска можно представить следующим образом:

Function General-Search (Problem, Strategy) returns solution or failure

Инициализация дерева поиска исходным состоянием задачи I

Loop do  - цикл

if (нет вершин - кандидатов для раскрытия)

then return failure

Выбрать концевую вершину (лист) для раскрытия в соответствии со стратегией.

if (вершина содержит целевое состояние)

then return solution (путь к этой вершине)

else

 Раскрыть вершину и добавить новые вершины в дерево поиска.

end

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

. Состояние в пространстве состояний, которому сопоставлена вершина.

. Родительская вершина –это вершина, непосредственным потомком которой является данная вершина.

. Оператор, в результате применения которого была порождена  данная вершина.

. Глубина вершинычисло вершин в пути от корня дерева к данной вершине.

. Стоимость пути от корневой вершины к текущей.

Таким образом, необходимо различать вершины и состояния в пространстве поиска.

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

Множество вершин, ожидающих раскрытия, принято называть каймой или границей (fringer).

Стратегия поиска представляет собой функцию, выбирающую из каймы (граничного множества вершин) очередную вершину для раскрытия.

С алгоритмической точки зрения граничное множество удобно представить очередью и определить над ней следующие операции:

. make-Queue (Elements) –создание очереди с заданными элементами;

. empty?(Queue) –возвращает true, если очередь пуста;

. remove-front(Queue) –возвращает первый элемент очереди и удаляет его из очереди;

. Queueing-Fn(Elements, Queue) –добавляет в очередь множество элементов. Именно эта функция определяет разные стратегии, реализующие разные алгоритмы поиска.

С использованием введенных обозначений можно записать алгоритм поиска:

function General-Search(Problem, Queuing-Fn) returns solution or failure

    nodes  make-Queue(Make-Node(Init-State[Problem]) //присваивание

    Make-Node;  // порождение вершины, т.е. получили корень

     loop do

if  nodes = 0 then return failure

node  Remove-Front (nodes)

         if Goal-Test[problem] (State(node))=true

 then return node

 else nodes  Queueing-Fn(nodes, Expand(node, OPERATORS[Problem]))

end

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

3


 

А также другие работы, которые могут Вас заинтересовать

32639. Технико-экономическое обоснование проекта: содержание, назначение 27 KB
  Техникоэкономическое обоснование проекта: содержание назначение ТЭО Основным документом обосновывающим целесообразность и эффективность проекта является ТЭО проекта. Эти задачи решаются с помощью ТЭО. ТЭО является обязательным документом в случае если финансирование капитальных вложений в основные фонды осуществляется полностью или на долевых началах из Государственного бюджета Российской Федерации и ее внебюджетных фондов централизованных фондов министерств и ведомств а также собственных финансовых ресурсов государственных предприятий....
32640. Бизнес- план инвестиционного проекта: содержание, назначение 51 KB
  Бизнес план инвестиционного проекта: содержание назначение Бизнес план Бизнесплан это подробный четко структурированный и тщательно подготовленный документ описывающий цели и задачи которые необходимо решить предприятию компании способы достижения поставленных целей и техникоэкономические показатели предприятия и или проекта в результате их достижения. Содержание бизнесплана Вводная часть резюме проекта Вводная часть как правило пишется уже после того как составлен весь план. в ней содержатся основные положения всего...
32641. Принципы и процессы планирования проекта. Уровни планирования 62.5 KB
  Принципы и процессы планирования проекта. Принципы и процессы планирования Сущность планирования состоит в задании целей и способов их достижения на основе формирования комплекса работ мероприятий действий которые должны быть выполнены применении методов и средств реализации этих работ увязки ресурсов необходимых для их выполнения согласовании действий организаций участников проекта. Основная цель планирования состоит в построении модели реализации проекта. Она необходима для координации деятельности участников проекта с ее помощью...
32642. Формирование статей затрат проекта. Калькуляция расходов, сметы, бюджет проекта 27.5 KB
  Формирование статей затрат проекта. Калькуляция расходов сметы бюджет проекта. Бюджет проекта предназначен для планирования расхода средств проекта по временным периодам год квартал месяц в течение всего времени его осуществления. Обычно расход средств проекта первого года планируется более подробно показывается поквартальное и помесячное распределение денежных средств.
32643. Управление качеством в проекте 40 KB
  Управление качеством в проекте. Управление качеством Одной из ключевых функций управления проектом наряду с такими как управление стоимостью и временем является управление качеством проекта. Качество это целостная совокупность характеристик объекта относящихся к его способности удовлетворять установленные или предполагаемые потребности. Понятие качество следует отличать от понятия градация сорт класс.
32644. Проектные риски и их основные виды 39.5 KB
  Вероятность рисков это вероятность того что в результате принятия решения произойдут потери для предприятия то есть вероятность нежелательного исхода. Проектные риски это совокупность рисков угрожающих реализации инвестиционного проекта или способных снизить его эффективность коммерческую экономическую бюджетную социальную и т. Виды инвестиционных рисков многообразны. В отдельных источниках также выделяют такие риски как: риск связанный с отраслью производства вложение в производство товаров народ ного потребления в среднем...
32645. Методы анализа и прогнозирования риска и неопределенности в проекте 274.5 KB
  Анализ рисков процедуры выявления факторов рисков и оценки их значимости по сути анализ вероятности того что произойдут определенные нежелательные события и отрицательно повлияют на достижение целей проекта. Анализ рисков включает оценку рисков и методы снижения рисков или уменьшения связанных с ним неблагоприятных последствий. Назначение анализа рисков дать потенциальным партнерам необходимые данные для принятия ре шений о целесообразности участия в проекте и выработки мер по защите от воз можных финансовых потерь. Анализ рисков можно...