- •Мурманский государственный технический университет с.И. Плотников интеллектуальные информационные системы
- •Глава 1. Классификация интеллектуальных информационных систем 4
- •Глава 2. Технология создания экспертных систем 25
- •Введение
- •Глава 1. Классификация интеллектуальных информационных систем
- •1.1. Особенности интеллектуальных информационных систем
- •1.2. Системы с интеллектуальным интерфейсом
- •1.3. Экспертные системы
- •Классы экспертных систем
- •1.4. Самообучающиеся системы
- •Индуктивные системы
- •Нейронные сети
- •Глава 2. Технология создания экспертных систем
- •2.1. Этапы создания экспертной системы
- •2.2. Идентификация проблемной области
- •2.3. Построение концептуальной модели
- •2.4. Формализация базы знаний
- •Выбор инструментальных средств реализации экспертной системы
- •2.5. Методика получения экспертных знаний
- •Психологический аспект
- •Инженер по знаниям
- •Лингвистический аспект
- •Гносеологический аспект
- •3. Создание эс в системе guru
- •3.1. Общие характеристики системы guru
- •Функциональные возможности
- •3.2. Построение экспертной системы
- •3.4. Тестирование экспертной системы
- •3.4. Запуск системы и работа в режиме меню Запуск системы
- •Некоторые сведения о работе в режиме меню
- •Использование режима меню
- •Описание команд меню Expert Systems
- •Режим редактирования набора правил (guru Rule Set Manager)
- •Режим редактирования правил
- •Часть if – посылка правила. Может быть любым выражением.
- •Режим редактирования переменных
- •Описание команд меню Information Manager
- •3.5. Пример создания эс в guru
- •Литература
- •Приложение 1 Листинг 1. Эс для оценки надежности поставщика (в среде guru)
- •Листинг 2. Пример работы эс для оценки надежности поставщика
- •Пример объяснений
- •Листинг 3. Подсистема прогнозирования цен Текст программы
- •Пример консультации (результат работы эс)
- •Приложение 2 Листинг исходного кода эс «Выбор банка»
- •Приложение 3 Листинг исходного кода эс «Выбор стратегии развития»
Режим редактирования правил
Часть EDIT – редактирование текущего правила (Edit), переход к следующему (Next), предыдущему (Prior) правилу и выход в основное меню режима редактирования набора правил.
В следующем окне описываются параметры текущего правила.
Rule – имя правила.
Priority – приоритет. Если для одной неизвестной переменной определено несколько правил, то в системной переменной E.SORD можно установить критерий, по которому очередность выполнения таких правил будет задаваться в разделе Priority. Приоритет должен быть числовым значением от 1 до 100, где 100 – это наивысший приоритет.
Cost – стоимость. Если для одной неизвестной переменной определено несколько правил, то в системной переменной E.SORD можно установить критерий, по которому очередность выполнения таких правил будет задаваться в разделе Cost. Стоимость – это относительное числовое значение скорости выполнения правил. Так как некоторые правила могут использовать удаленные ресурсы, доступ к которым требует времени, то иногда имеет смысл сначала проверить посылки тех правил, которые выполняются быстрее, а лишь затем, в случае неудачи, перейти к проверке правил с медленной скоростью выполнения. Стоимость должна иметь числовое значение от 1 до 100, где 100 – это наивысшее значение. По умолчанию устанавливается 50. Если переменная E.SORD принимает значение «с», то более «быстрые» правила будут выполняться в первую очередь.
Test – режим проверки посылки правила. Этот режим устанавливается глобально при помощи системной переменной E.TRYP, его можно также установить индивидуально для отдельного правила. Имеется три режима проверки посылки правила:
S – проверка неизвестных переменных, пока значение какой-либо не будет закончено;
Е – проверка неизвестных переменных заканчивается, как только посылка правила принимается истинное значение;
Т – проверка неизвестных переменных независимо от результата оценки посылки.
Сар – вводится число, указывающее, сколько раз правило может быть проверено за одну консультацию. Это значение устанавливается глобально в системной переменной Е.САР или индивидуально – в разделе Сар любого правила.
Часть COMMENT – комментарии к правилу.
Часть READY – серия команд, которая выполняется до проверки части IF.
Часть if – посылка правила. Может быть любым выражением.
Часть THEN – реакция правила в случае, если посылка верна.
Часть REASON – описание правила на естественном языке. Используется при отображении пользователю объяснений: HOW, WHY.
Часть NEEDS – описание переменных, которые используются в посылке (часть IF) правила. Это описание не обязательно и служит лишь для ускорения процесса компиляции.
Часть CHANGES – описание переменных, которые используются в реакции (часть THEN) правила. Это описание также не обязательно.
Режим редактирования переменных
Часть EDIT – редактирование текущей переменной (Edit), переход к редактированию следующей (Next) или предыдущей (Prior) переменной и выход в основное меню режима редактирования переменных.
В следующем окне описываются параметры текущей переменной.
Variable – имя переменной.
CF Туре – тип фактора уверенности. Это значение переопределяет системную переменную E.CFVA, которая определяет способ объединения факторов уверенности:
Р – по приоритету (по степени важности);
С – по стоимости (относительный показатель в процентах, оценивающий степень трудоемкости);
Н – по наибольшей достоверности результата;
U – по наименьшему числу неизвестных переменных в посылке правила;
R – произвольный порядок;
F – последовательный порядок.
Limit – максимальное число значений нечеткой переменной. Должно быть меньше или равно значения системной переменной E.NUMV.
Rigor – режим проверки конфликтующих правил для достижения результата с заданной степенью точности. Переопределяет значение системной переменной E.RIGR:
М – минимальное число правил;
С – все возможные правила (полный перебор);
А – все правила, дающие минимально допустимый фактор уверенности плюс правила, увеличивающие достоверность результата. Используется для нечетких переменных.
When – определяет момент выполнения команд в разделе FIND. Переопределяет значение системной переменной E.WHN:
F – ввод данных пользователем осуществляется перед оценкой посылки правила;
N – ввод данных со стороны пользователя не предусматривается;
L – после неудачного вывода запрещается ввод данных от пользователя.
Mix – переопределяет значение системной переменной E.MIX.
Часть LABEL – описание переменной на естественном языке. Используется при отображении пользователю объяснений: HOW, WHY.
Часть FIND – набор команд, момент выполнения которых установлен в разделе When.
