- •Лабораторная работа 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. Подсистема прогнозирования цен Текст программы
- •Пример консультации
Листинг 2. Пример работы эс для оценки надежности поставщика
********************************
* Экспертная система *
* Оценка надежности поставщика *
******* press any key ********
Введите рентабельность (1 – есть, 2 – нет): 1
Введите задолженность (1 – есть, 2 – нет): 2
Введите рекламации (1 – есть, 2 – нет): 1 с уверенностью 30
Статус предприятия:
1 – государственное,
2 – акционерное,
3 – совместное,
4 – малое,
5 – кооперативное,
6 – индивидуальное
Укажите статус предприятия: 2
Введите удаленность поставщика км: 500
*** Ввод значений завершен ***
*** press any key ***
********************************
* Экспертная система *
* Оценка надежности поставщика *
* Вывод результатов *
******* press any key ********
Надежность поставщика – True
Фактор уверенности = 81
Пример объяснений
Rule R1 (fired)
Если рентабельность высокая и нет задолженности, то финансовое состояние достаточно высокое
(2) Рентабельность true cf 100
(3) Задолженность false cf 100
(4) Финансовое состояние true cf 100
Rule R4 (fired)
Если финансовое состояние хорошее, то надежность поставщика высокая
(4) Финансовое состояние true cf 100
(1) Надежность поставщика true cf 90
Rule R6 (fired)
Если рекламации есть, то надежность поставщика низкая
(5) Рекламации 1 cf 30
(1) Надежность поставщика true cf -18
Rule R9 (fired)
Если предприятие акционерное, то надежность высокая
(6) Статус предприятия akc cf 100
(1) Надежность поставщика true cf 70
Rule R14 (fired)
Если удаленность поставщика небольшая, то надежность высокая
(7) Удаленность поставщика 500 cf 100
(1) Надежность поставщика true cf 70
Листинг 3. Подсистема прогнозирования цен Текст программы
GOAL: PRICES
INITIAL:
e.cfjo = «M» /* факторы уверенности левой и правой частей правил объединяются по формуле Min(a, b) */
e.cfco = «P» /* факторы уверенности результатов для одной переменной объединяются по формуле a + b - (a * b) / 100 */
e.trac = «n» /* отмена трассировки; v – включить */
e.lstr = 75 /* максимальная длина строки */
? «Для начала консультации нажмите любую клавишу»
wait;
/* Исходные данные */
prodvol = {200 cf 90, 100 cf 30};
demvol = {150 cf 80, 50 cf 20};
PRICES = unknown;
DO:
? «Конец консультации»;
RULE: R1
IF: prodvol > demvol
THEN: PRICES = «падают»; cfv(PRICES, prodvol > demvol);
? «с КУ = », hicf(PRICES) , «% можно сказать, что цены»;
? «в будущем году упадут»;
wait;
RULE: R2
IF: prodvol < demvol
THEN: PRICES = «растут»; cfv(PRICES, prodvol < demvol);
? «с КУ = », hicf(PRICES) , «% можно сказать, что цены»;
? «в будущем году поднимутся»;
wait;
RULE: R3
IF: prodvol = demvol
THEN: PRICES = «6eз изменений»; cfv(PRICES, prodvol equal demvol);
? «с КУ = », hicf(PRICES) , «% можно сказать, что в будущем»
? «году цены не изменятся»;
wait;
VAR: PRODVOL
LABEL: Объем производства
VAR: DEMVOL
LABEL: Объем спроса
VAR: PRICES
END:
Пример консультации
Для начала консультации нажмите любую клавишу
с КУ = 87.00% можно сказать, что цены в будущем году упадут
