- •Лабораторная работа 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. Подсистема прогнозирования цен Текст программы
- •Пример консультации
Контрольные вопросы
1. Перечислите и назовите способы, с помощью которых можно определить или присвоить значение переменным в "GURU" (в диaлоговом и программном режимах).
2. Назовите основные черты различия и сходства между языком "GURU" и каким-либо распространенным языком высокого уровня.
3. Приведите «щи* алгоритм создания ЭС (основные шаги).
4. Укажите переменные каких типов можно организовать в "GURU".
Лабораторная работа 3 Учет факторов уверенности при создании экспертной системы
Цель - ознакомление с факторами уверенности, нечеткими переменными,
переменными набора.
Краткие теоретические сведения
Факторы уверенности используются в области математики, называемой нечеткой логикой. Поскольку эвристические правила "ЕСЛИ-ТО" (т.е. эмпирические, получаемые из личного опыта эксперта) основываются исключительно на человеческой опыте, то с полной определенностью нельзя сказать, что они верны. Пользователь ЭС также не может быть полностью уверен, что значения, которые он присваивает переменным, абсолютно корректны.
Например, правило:
Если процентные ставки растут и налоги уменьшаются, то уровень цен на бирже растет, верно не всегда, поэтому можно приписать ему значение некоторого фактора уверенности (ФУ). ФУ может иметь значение от 0 до 100. Конечно, правила, для которых ФУ = 0, рассматривать нет смысла. А если ФУ = 100, то это полная уверенность в том, что правило верно.
Пусть приведенное правило имеет ФУ, разный 90, и нельзя утверждать. что процентные ставки падают, т.е. первому условию правила назначен ФУ, равный 60. Кроме того, допустим, что налоги колеблются (то увеличиваются, то уменьшаются), поэтому предположить уменьшение налогов можно, только если ФУ равен 80. Тогда правило можно записать так: "Если процентные ставки падают (ФУ = 60) и налоги уменьшаются (ФУ = 60), то уровень цен на бирже растет {ФУ = 90). ФУ, что уровень цен на бирже будет расти, может быть подсчитан, например, следующим образом: выбирается минимальный ФУ для условий части "ЕСЛИ" правила, разделенных логическим оператором "И", и умножается на ФУ для всего правила.
Для приведенного правила (minimum (60, 90) * 90) /100=54. (Делим на 100 для нормализации ФУ). Следовательно, при ФУ=54 можно сказать, что уровень цен на бирже будет падать. Возможны различные действия с ФУ. Например, можно было бы так объединить ФУ: maximum (minimum (60,80), 90) = 90. Т.е. объединение ФУ зависит от контекста поставленной задачи {но при этом все равно существуют определенные правила, которые будут объяснены ниже).
Факторы уверенности
ФУ присваиваются с помощью указателя сf, например, problem = alternator cf 80. "GURU" разрешает связать ФУ с любой рабочей переменной, используемой набором правил. ФУ используются для того, чтобы определить степень достоверности в наших знаниях. По мере накопления данных наша уверенность в отдельном факте может либо возрастать, либо снижаться. Результаты, полученные на основе применения более достоверных факторов, значительно весомее тех, которые была получены на основе применения менее достоверной информации. Если ФУ не указан для какого-либо значения, тогда предполагается, что cf = 100. ФУ используются также для того, чтобы определить, известна конкретная переменная или нет. Если значения ФУ выше, чем граничное значение, определяемое пользователем к устанавливаемое с помощью переменной среды {E.UNKN}, тогда считается,. что эта переменная известна, и что на основе данного факта можно делать заключения. ФУ можно явно присваивать, используя операторы "GURU". ФУ могут присваиваться самим пользователем.
