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

Формирование цепи рассуждений в обратном направлении

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

Для такого формирования цепочки рассуждений требуется предопределенная цель (написанная в Goal-редакторе), а процесс вывода непрерывно пытается удовлетворить эту цель

Различают три возможные фазы в обратном рассуждении

  1. Расширение (Expanding) - происходит попытка оценить как условные части правил, так и значения пар объект: слот в направлении достижения цели,

  2. Разрушение (Collapsing) - определение достижения цели. Цель может быть достигнута благодаря недавно добавленным с помощью процесса расширения новым фактам Па­ры объект: слот и правила могут быть "разрушены" ради достижения цели (когда они становятся «лишними»).

  3. Выяснение (Asking) - происходит запрос у пользователя значения слота при обнаруже­нии отсутствия последнего. Эта фаза является не обязательной. Для отказа от этой функции используется перемен­ная [NOASK].

Вызвать процесс формирования цепочки в обратном направлении можно четырь­мя способами

  • в интерпретаторе KAL (функция BackwardChain),

  • в окне трассировщика правил (окно Rule Trace, меню Option, BackwardChain),

  • из окна Inference Browser (меню Options, Step Mode),

  • программно, используя необходимые KAL-выражения.

Стратегии принятия решения. Нам известно, что Rule List - это список правил из текущего набора правил, кото­рые соответствуют предпосылке элемента в Списке слотов, a Agenda (Список слотов) - список пар объект:слот, назначенных к рассмотрению в процессе рассуждения в прямом направлении. Во время выполнения логического вывода состав этих списков взаимосвя­зано изменяется.

Слоты, значения которых изменяются в результате выполняемых правил, автоматически добавляются в список Agenda. Для этого также можно воспользоваться функцией Assert в Then-части правила или в KAL-интерпретатора. По умолчанию процесс форми­рования цепочки в прямом направлении продолжается до тех пор, пока не опустеет один из списков - Agenda или Rule List .

Предусмотрены следующие режимы Списка слотов:

  • IGNORE - обрабатываться будет пункт Списка слотов, появившийся в этом перечне самым последним (очередь будет перестраиваться);

  • NOIGNORE - пункт будет обработан в порядке очереди независимо от момента его появления в Списке.

Очевидно, что в процессе рассуждения не исключены конфликтные ситуации. На­пример, если пункту Списка слотов соответствует несколько правил, то какое из них бу­дет выполнено в первую очередь? Для решения подобной проблемы KAPPA предлагает четыре различные стратегии:

  1. SELECTIVE Evaluation - выборочная оценка (по умолчанию),

  2. DEPTHFIRST- оценка по глубине;

  3. BREADTHFIRST - широтная оценка;

  4. BESTFIRST Evaluation -оценка лучших.

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

Глубинная стратегия является исчерпывающей, она раскрывает все возможные последствия только что появившейся в Списке слотов пары. Отличие от выборочной только в том, что она не очищает Список правил после каждого успешного выполнения правила. Новые правила добавляются к началу Списка в соответствии с приоритетами. Если не пусты оба списка (Rule List и Agenda), то приоритет отдается очередному элементу Списка слотов. Слоты добавляются к началу списка Agenda.

Широтная стратегия (тоже исчерпывающая) раскрывает все возможные значения нового факта. Новые правила добавляются к концу Списка (в соответствии с их приори­тетами). Первым применяется то правило, которое может производить новые пункты в Списке слотов. Если не пусты оба списка (Rule List и Agenda), то приоритет отдается оче­редному элементу Списка правил.

Оценка лучших. Новые правила перемешиваются с уже имеющимися в Списке в соответствии приоритетами, первым применяется правило; которое может производить новые пункты в Списке слотов. Если не пусты оба списка (Rule List и Agenda); то приори­тет отдается очередному элементу Списка слотов.

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