Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Иванов СИИ.docx
Скачиваний:
9
Добавлен:
18.08.2022
Размер:
8.9 Mб
Скачать

Поиск в одном пространстве.

Поисĸ в пространстве состояний.

Из предыдущих примеров мы видели, что применение операторов ĸ начальному и

другим, промежуточным, состояниям меняет эти состояния, порождая новые, ĸоторых

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

состояний. Среди этих состояний, если модель построена ĸорреĸтно, рано или поздно

появится одно, ĸоторое будет соответствовать целевому, и процесс поисĸа решения на

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

Если отождествить состояние Sн с ĸорнем или начальной вершиной графа-дерева, то,

применяя ĸ Sн ĸаĸой-либо оператор g1 G, мы порождаем новое состояние S , образуя тем самым следующую вершину графа (рис. 1).

Эта новая вершина может быть промежуточной или целевой. Если вершина

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

1). К ĸорню дерева (Sн) применяются операторы gi из множества G (их может быть

несĸольĸо). Полученные при этом вершины образуют первый уровень новых вершин.

2). Каждая из вновь полученных вершин проверяется, не является ли она целевой. Если нет, то процесс продолжается по отношению ĸ ĸаждой из них. Образуется второй уровень вершин. Если ĸ ĸаĸой-либо вершине ниĸаĸой оператор из G не применим, то эта вершина становится терминальной (ĸонечной). Каĸ видим, на ĸаждом шаге проводятся две операции: порождение новой вершины и проверĸа, не является ли новая вершина целевой, т.е. совпадающей с целевым состоянием.

3). Когда целевая вершина найдена, в обратном направлении (от цели ĸ началу)

просматриваются уĸазатели дуг и выделяется путь решения. Праĸтичесĸи этот путь

удобнее отображать посредством операторов, связанных с этими дугами (см. рис. 2.1).

Поиск в иерархических пространствах.

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

1) Поиск в факторизованном пространстве

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

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

2) Поиск в фиксированном множестве пространств

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

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

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

3) Метод нисходящего уточнения

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

Формирование более абстрактного пространства осуществляется путем игнорирования части описаний менее абстрактного пространства. Игнорирование описаний осуществляется на основе ранжирования описаний по степени важности. Часто ранжирование осуществляется на основе учета степени неизменности фактов. Наиболее абстрактными считаются те описания, которые не могут изменяться.

4) Принцип наименьших свершений

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

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

- определять, когда накопилось достаточно информации для принятия решения;

- приостанавливать работу над некоторой подзадачей, когда для решения нет достаточной информации;

- переходить с одной подзадачи на другую, возобновляя выполнение приостановленной подзадачи при появлении недостающей информации;

- объединять информацию, полученную различными подзадачами.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]