- •Лабораторная работа 1 Знакомство с инструментальными средствами для создания экспертных систем.
- •Краткие теоретические сведения
- •Режимы работы
- •Характеристики эс
- •Оперативная помощь
- •Правила "guru"
- •Стратегии управления
- •5.1. Прямой вывод
- •Обратный вывод
- •6. Переменные
- •6.1. Рабочие переменные
- •6.2. Предварительно определенные переменные
- •6.3. Выражения с переменными
- •7. Объяснение аргументации
- •8. Синтаксис правил "guru"
- •9. Отладка зс
- •9.1. Запрос во время консультации
- •9.2. Запрос после консультации
- •Порядок выполнения работы
- •Описание переменных среды
- •Основные команды "guru"
- •Выражения и функции "guru"
- •Контрольные вопросы
- •Лабораторная работа 2 Создание пробной экспертной системы.
- •Подготовка и работе
- •Порядок выполнения работы
- •Контрольные вопросы
- •Лабораторная работа 3 Учет факторов уверенности при создании экспертной системы
- •Факторы уверенности
- •Объединение фу
- •3. Методы объединения фу для переменной е.Gfjo, описывающей среду
- •4. Методы объединения фу для переменной e.Cfco, описывающей среду
- •5.Методы объединения фу для переменной e.Cfva, описывающей среду
- •6.Значения фу для выражений, содержащих переменные
- •Подготовка к работе
- •Порядок выполнения работы
- •Контрольные вопросы.
- •Лабораторная работа 4 Командный режим "guru"
- •Краткие теоретические сведения
- •1. Основные команды
- •Команда build
- •Команда compile
- •Команда consult
- •Команда run
- •Команда dir
- •Команда let
- •Команда output
- •Команда input
- •Команда if-theh-else
- •Подготовка к работе
- •Порядок выполнения работы
- •Контрольные вопросы
- •Лабораторная работа 5 Электронные таблицы "guru"
- •Краткие теоретические сведения
- •Режим обработки эв
- •2. Команды эв
- •2.13 Использование эв в программе
- •3. Пример программы с использованием эв
- •Подготовка к лабораторной работе
- •Порядок выполнения работы
- •Контрольные вопросы
- •Лабораторная работа 6 Графические средства "guru"
- •Краткие теоретические сведения
- •Управление графами с помощью утилитных переменных и
- •Команда plot bar
- •Команда plot pie
- •Команда plot line
- •Команда plot function
- •Команда range
- •Команда pattern
- •Команда plot to
- •Команда plot from
- •2. Пример программы, выводящей данные из эв
- •Подготовка к лабораторной работе
- •Порядок выполнения работы
- •Контрольные вопросы
- •Система guru Общие характеристики системы
- •Функциональные возможности
- •Построение экспертной системы
- •Р ис. 3.1. Дерево целей
- •Тестирование экспертной системы
- •Запуск системы и работа в режиме меню Запуск системы
- •Некоторые сведения о работе в режиме меню
- •Использование режима меню
- •Описание команд меню Expert Systems
- •Режим редактирования набора правил (guru Rule Set Manager)
- •Режим редактирования правил
- •Часть if – посылка правила. Может быть любым выражением.
- •Режим редактирования переменных
- •Описание команд меню Information Manager
- •Примеры использования системы
- •Приложение 1 Листинг 1. Эс для оценки надежности поставщика (в среде guru)
- •Листинг 2. Пример работы эс для оценки надежности поставщика
- •Пример объяснений
- •Листинг 3. Подсистема прогнозирования цен Текст программы
- •Пример консультации
Стратегии управления
Один из важных вопросов для ЭС - какое правило рассматривать следующим. Этим процессом управляет машина логических выводов.
При выборе правила нужно пользоваться двумя основными стратегиями управления: прямым и обратным выводами.
5.1. Прямой вывод
Данный метод действует от посылки до действия до тех пор, пока переменной не будет присвоено значение. Машина логических выводов (МЛВ) начинает просматривать набор правил сначала и проводит просмотр его до тех пор, пока переменной не будет присвоено значение. Сначала ищется первое правило, в котором определено и истинно значение посылки. Это правило будет выполнено и полученный результат можно будет использовать для тестирования других правил. Далее система ищет следующее правило с определенным и истинным значением посылки. Это продолжается до тех пор, пока не будет выполнено правило для переменной цели.
Пример:
RULESET: EASYCALC
GOAL: INTRATE
RULE: R1
IF: RERIOD > 90
THEN: INTRATE = 12.5
RULE: R2
IF: MOMTHPAY < 50
THEN: PERIOD = 120
RULE: R3
IF: MOHTHPAY > 50
THEN: PERIOD = 60
RULE: R4
IF: PERIOD < 90
THEN: INTRATE = 11.0
Пусть первоначально переменной MONTHPAY присвоено значение 42. МЛВ ищет в наборе правил то правило, где определено и истинно значение посылки (это R2). Тогда переменной PERIOD присваивается значение 120. Вслед за тем, начиная вновь с первого правила, ищется правило, в котором определено и истинно значение посылки (это R1). Переменной цели присваивается значение 12.5. Цель достигнута, система закончила работу.
Попробуйте объяснить, что получится, если MONTHPAY = 70.
Обратный вывод
Этот вывод - наиболее часто используемый метод управления. При этом МЛВ начинает с цели и, просматривая набор правил, находит первое правило, с помощью которого можно достичь цели. Если посылка этого правила определима и верна, то система выполняет соответствующие действия. Если посылка неопределима, то МЛВ временно меняет цель - устанавливает в качестве цели переменную, которая позволит определить истинность первой найденной посылки и ищет первое правило, определимое и верное для новой поставленной цели.
Воспользуемся примером из 5.1. В этой ЭС цель (GOAL) -найти INTRATE. Ищем первое правило, в котором вычислялась бы переменная цели (это R1). Но его нельзя выполнить, пока неизвестна PERIOD. Ищем правило, где находится PERIOD (это R2). Допустим, что MONTHPAY задано и равно 42. Тогда выполняется R2 и затем R1. Цель достигнута.
Но теперь предположим, что MONTHPAY = 70. Тогда цепочка R2 -R1 не приводит к нахождению цели (PERIOD не определима И, следовательно, не определима в этой цепочке и INTRATE).
Начинаем сначала и ищем следующее правило, где находится цель INTRATE (это R4). Теперь необходимо определить PERIOD (новую переменную цели). PERIOD находится в правиле R3. Т.к. MONTHPAY = 70, то РЗ - верно, тогда PERIOD = 60. Далее проверяется R4. Онo верно. Следовательно, INTRATE = 11.0.
6. Переменные
6.1. Рабочие переменные
Рабочая переменная (РП) – это обычная переменная, аналогичная переменным в ЯВУ.
Первоначально все РП имеют значение UNKNOWN. Им можно присвоить значения любого типа.
А = 12.5 - пример числовой переменной;
В = "это строковая переменная" - пример строковой переменной;
С = TRUE,
D - FALSE - логические переменные.
