Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций по СИИ.doc
Скачиваний:
11
Добавлен:
01.07.2025
Размер:
2.07 Mб
Скачать

2.2. Общие методы поиска решений в пространстве состояний

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

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

Рассмотрим некоторые основные методы поиска решений и механизмы вывода.

Методы перебора. Решение многих задач в СИИ можно определить как проблему поиска, где искомое решение — это цель поиска, а множество возможных путей достижения цели представляет собой пространство поиска (или пространство состояний). Поиск решений в пространстве состояний состоит в определении последовательности операторов, которая образует начальное состояние в целевое.

Задачу поиска в пространстве состояний можно сформулировать в общем виде следующим образом. Пусть исходная задача описывается тройкой (S, F, Т), где S — множество начальных состояний; F — множество операторов, отображающих одни состояния в другие; Т — множество целевых состояний.

Решение задачи заключается в нахождении последовательности операторов , ,..., , которые преобразуют начальные состояния в целевые.

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

Частным случаем графа является дерево. Дерево — это ориентированный граф, в котором в каждую вершину входит только одна дуга, т. е. каждая вершина имеет не более одного родителя. Вершина, называемая корнем дерева, не имеет родителя. Вершина называется концевой, если она не имеет преемников. Введем понятие глубины (или уровня) дерева. Принимается, что корневая вершина имеет глубину 0. Глубина других вершин дерева определяется как глубина предшествующей вершины, увеличенная на 1.

Последовательность вершин , ,..., , где каждая является преемником (j-1) для j = 2,..., к, называется путем длиной к от к .

Таким образом, задача поиска в пространстве состояний описывается с помощью понятий теории графов. Задается начальная вершина (исходное состояние) и множество целевых вершин Т. Для построения пространства состояний используются операторы F. Последовательно, начиная с корня, к вершинам дерева применяются операторы, относящиеся к этому уровню, для определения (построения) вершин-преемников следующего уровня. Процесс применения соответствующих операторов к какой-либо вершине для определения ее преемников называется раскрытием вершины. Операторы F можно определить как правила раскрытия вершин (правила преобразования текущих данных, отражающих определенное состояние, и перехода к другим наборам данных). Дуги, связывающие начальную вершину с преемником, идентифицируются как соответствующие операторы преобразования.

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

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

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

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

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

На рис. 2.1. представлены графы поиска, построенные при поиске в глубину(2.1 .а) и ширину (2.1.6)

Поиск на основе стоимости дуг. Во многих случаях дугам ставят в соответствие некоторую стоимость, чтобы внести оценку для использования соответствующего правила. Например, стоимость дуги, направленной от вершины к вершине , обозначается с( , ). Стоимость пути между двумя вершинами определяется как сумма стоимостей всех дуг, соединяющих вершины, лежащие на этом пути. При поиске целевой вершины стремятся найти путь минимальной стоимости. Раскрытие вершин производится в порядке возрастания их стоимости. Для каждой вершины нужно помнить минимальную стоимость пути, построенного от начальной вершины до нее.

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

Рис. 2.1 Графы поиска Поиск с возвратом (бэктрекинг). Это еще один метод пробного режима поиска. При реализации такого поиска при выборе правила определяется точка возврата, т. е. если дальнейший поиск в выбранном направлении приведет к сложностям или будет бесперспективным, то осуществляется переход к точке возврата, пройденной на ранних этапах поиска. Далее применяется другое правило, и процесс поиска продолжается. Здесь все неудачные итерации, приведшие к тупиковой ситуации, забываются, как только применяется новое правило, и переходят к другому направлению поиска. Такой метод поиска с возвратом называется хронологическим возвратом. Хронологический возврат часто бывает малоэффективным, так как не запоминаются неудачные состояния и шаги поиска, встретившиеся на некотором пути. Многие из них, не зависящие от пути поиска, впоследствии окажут свое отрицательное влияние при реализации других путей. Таким образом, много полезной информации отбрасывается и не используется при анализе дальнейших направлений поиска.

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

Достоинствами методов перебора являются достаточно простая их реализация и возможность в принципе находить решение, если оно существует. Однако на практике всегда есть ограничения по времени и объему памяти на процесс реализации поиска. Для больших пространств и сложных поисковых задач методы перебора неприемлемы, так как сильно возрастает число вершин, которые необходимо пройти при поиске решения. Сразу же возникает реальность комбинаторного взрыва, поскольку при решении задачи нет информации, способствующей сокращению поиска путем его направления. Эта информация называется эвристической, а методы поиска, использующие эту информацию, — эвристическими.

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

При использовании эвристических методов поиска открытые вершины стремятся упорядочить таким образом, чтобы процесс поиска распространялся в наиболее перспективных направлениях. Для определения направления поиска используется некоторая мера, характеризующая перспективность вершины или пути, где эта вершина находится. Эту меру назвали оценочной функцией. Обозначим оценочную функцию f, тогда для вершины п получим значение этой функции в виде f(n). Эта функция является оценкой стоимости кратчайшего пути из начальной вершины в целевую при условии, что он проходит через вершину п. При раскрытии вершин или определении пути выбирается вершина с минимальным значением оценочной функции.

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

f(n)=g(n)+h(n),

где g(n) — оценка стоимости кратчайшего пути из начальной вершины в вершину n; h(n) — оценка стоимости кратчайшего пути из вершины п до ближайшей целевой вершины. В качестве g(n) выбирают действительную стоимость пути от начала к вершине п, определяемую на основе метода перебора. При определении h(n) исходят из эвристической информации о задаче. Эту величину называют эвристической функцией. В ряде случаев удается построить эту функцию, но конкретных рекомендаций или способов ее определения нет.

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

Эвристический поиск с использованием оценочной функции предполагает достоверное знание пространства состояний. Однако в реальной практике при принятии решений сталкиваются с фактами и знаниями недостаточно полными и определенными. Кроме того, часто существенно влияние на процесс поиска верного решения оказывает дефицит времени. При решении задач в таких условиях люди используют методы, отличные от формального математического рассуждения. Формальное математическое рассуждение является монотонным, т. е. каждое заключение следует из предшествующего значения. Монотонность определим как свойство некоторых логических или математических операций (функций), которое, говоря обобщенно, состоит в том, что направление возможного изменения результата операций зависит только от направления изменения того, над чем эта операция производится.

Специалисты, принимающие решения, используют немонотонные рассуждения, или рассуждения здравого смысла. Это рассуждение основывается на обширных эмпирических знаниях. Например, рассуждение о падении предметов основывается скорее на опыте, чем на законах тяготения. Такое рассуждение представляет нам поведение объекта в повседневных ситуациях. Несмотря на то, что рассуждения здравого смысла являются довольно обыденными для людей, очень трудно достигнуть требуемого уровня реализации подобных рассуждений в системах ИИ. Тем не менее, в некоторых классических экспертных системах, таких, как MYCIN и PROSPECTOR, этот подход довольно успешно реализован для сокращения пространства поиска.

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

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

Рассмотрим форму описания задачи как поиск в пространстве состояний. Она представляется в виде (S, F, 7), о чем говорилось выше. В данном представлении подзадачи рассматриваются как задачи нахождения связи между определенными состояниями в пространстве поиска. Для представления исходной задачи в виде совокупности подзадач используется оператор перехода к новому описанию. Этот оператор преобразует исходную задачу таким образом, что при решении всех подзадач-преемников обеспечивается решение исходной задачи. Для каждого представления исходной задачи может существовать некоторое множество таких операторов, каждый из которых порождает свою совокупность подзадач. Часть этих подзадач может оказаться неразрешимой. Для других подзадач процесс повторяется, т. е. их, в свою очередь, также сводят к подзадачам. Это выполняется до тех пор, пока каждая подзадача не будет иметь очевидное решение.

Процесс преобразования исходной задачи в совокупность подзадач также удобно описывать с помощью структур на графах. Процесс поиска решения исходной задачи при таком описании представляет собой направленный граф редукции задач. Этот граф называется графом типа И/ИЛИ. Вершины этого графа представляют описания задач и подзадач. Граф И/ИЛИ содержит вершины двух типов. Вершина типа И соответствует задаче, решаемой при условии реализации всех ее подзадач в соответствующих вершинах-преемниках, и выделяется отметкой, связывающей исходящие от нее дуги. Вершина типа ИЛИ соответствует задаче, решение которой возможно получить при решении одной из альтернативных подзадач в соответствующих вершинах-преемниках.

На рис. 2.2 представлены фрагменты графов типа И/ИЛИ. Исходная задача разбивается на группы подзадач. Она может быть решена путем решения подзадач либо и , либо , либо и . Вершины N, , М, — это вершины типа И. Целевые вершины помечены квадратами. Терминальные вершины заключены в двойную рамку. Штриховой линией показан вариант решающего графа исходной задачи. Решение подзадач , , , предполагается известным. Решения других подзадач неизвестны.

Рис. 2.2. Представление разбиения исходной задачи на подзадачи в виде графа И/ИЛИ (а) и преобразование графа И/ИЛИ (б)

В структуру обычно вводятся дополнительные вершины, чтобы каждое множество подзадач формировалось под своей собственной родительской вершиной. Вершина графа ШИЛИ может принадлежать к типу И либо ИЛИ. Поэтому исходный граф преобразуется, и вводятся дополнительные вершины N и М, которые служат отдельными родительскими вершинами для подзадач { , } и { , }. Таким образом, вершина преобразуется в вершину ИЛИ.

Реализация графа редукции аналогична реализации графа поиска решений в пространстве состояний. В частном случае, если вершин И нет, получается обычный граф пространства состояний. Поэтому метод редукции является в какой-то степени обобщением подхода с использованием пространства состояний.

Процесс поиска на графе И/ИЛИ заключается в построении решающего графа (или дерева решения), который является подграфом графа редукции. Решающий граф должен начинаться в исходной вершине и состоять из разрешимых вершин, т. е. он показывает, что исходная вершина разрешима.

При поиске методом редукции реализуются процедуры проверки разрешимости и неразрешимости вершин (в отличие от проверки соответствия вершины целевому состоянию при поиске в пространстве состояний). Разрешимыми являются заключительные вершины, так как они соответствуют элементарным подзадачам. Вершина, не являющаяся заключительной, разрешима, если она типа И и разрешимы все ее вершины-преемники или если она типа ИЛИ и разрешима хотя бы одна ее вершина-преемник. Вершина неразрешима, если она:

  1. терминальная;

  2. типа И и неразрешима хотя бы одна ее вершина-преемник; 3)типа ИЛИ и неразрешимы все ее вершины-преемники.

Процесс редукции, связанный с раскрытием вершин, считается реализованным, если устанавливается разрешимость или неразрешимость исходной вершины.

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