Как известно, в экспертных системах знания, описывающие предметную область, как правило, вынесены за пределы основного программного текста и составляют качественно самостоятельный элемент - базу знаний. Если содержимое БЗ поддается единообразной структуризации и может быть унифицировано, то появляется возможность автоматизировать процесс извлечения знаний и формирования модели, что очень важно при БЗ с большим числом правил.
Так как все правила описанной модели имеют неизменную и Беременную части, задача автоматизации заключается в том, чтобы избавить пользователя от избыточного ввода повторяющихся частей, исключить ошибки и упростить процесс ввода переменных частей правил.
Специальная программа с помощью запросов позволяет вводить переменные части правил. Чтобы процесс ответа на запросы не был трудоемким и во избежание ошибок при вводе компонентов, имеющих фиксированный список значений, на экране высвечивается набор возможных ответов («меню»). При этом пользователь имеет возможность посредством клавиш управления курсором.выбрать из них нужный и нажатием клавиши «ВВОД» подтвердить его. При запросах, на которые требуется ответ в цифрах, программа проверяет значение по граничным условиям и предупреждает ошибки звуковым сигналом. На верхней строке экрана всегда высвечивается полное название рассматриваемого фактора, для которого генерируется пакет правил. Следует отметить, что для удобства все факторы пронумерованы числами натурального ряда.
|
|
Пример. После запуска программы появляется вопрос:
Введите номер рассматриваемого фактора (Вывод — 0):
Если ввести «15» (15 — номер фактора «дефицит материалов») и нажать ВВОД, то на экране появится:
Введите значение стабильности фактора «дефицит материалов»:_
Следует ввести число от 0 до 100, например 30, затем ВВОД.
На экране появится следующий запрос:
Рассматриваем факторы, повышающие вероятность фактора «дефицит материалов»
и меню, состоящее из двух альтернатив: [да] и [нет]. Если есть такие факторы, то нужно курсор подвести к «да» и нажать ВВОД. На экране появится вопрос:
Какой фактор (может быть совокупность факторов)?:_
Отвечаем «28». Высвечивается:
Фактор «ритмичная работа транспорта».
С каким значением?
и меню:
[да] [мало]
[нет] [средне]
[положит] [много]
[отрицат]
Выбираем «нет». Высвечивается:
Нужно ли данный(е) фактор(ы) рассматривать в совокупности с другим?
[да]
[нет]
Выбираем «нет». Высвечивается:
С каким весом?:_
Отвечаем «100». Высвечивается продукционное правило во внутреннем представлении (с использованием сокращенных наименований факторов):
|
|
Если РИТМ_РДБ_ТРАНСП = нет Тогда ДЕФИЦИТ_МАТЕР=увеличивается
ДОСТОВЕРНОСТЬ 100;
И запрос на наличие следующего правила, понижающего вероятность рассматриваемого фактора («дефицит материалов»);
Есть ли еще фактор(ы), повышающий(е) вероятность?
[да]
[нет]
Выбираем «нет». Высвечивается:
Рассматриваем факторы, понижающие вероятность фактора «дефицит материалов»
[да]
[нет]
Если есть такие факторы, то нужно курсор подвести к «да» и нажать ВВОД. На экране появится:
Какой фактор (может быть совокупность факторов):_
Ответ «23». Высвечиваются
Фактор «наличие запасов на складах».
С каким значением? и меню
[да] [отрицат]
[нет] [мало]
[положит] [средне]
[много]
Выбираем «положит». Высвечивается:
Нужно ли данный (е) фактор (ы) рассматривать в совокупности с другим?
[да]
[нет]
Выбираем «да». Высвечивается:
Какой фактор (может быть совокупность факторов):_
Ответ «26». Высвечиваются:
Фактор «ритмичная работа технологических линий». С каким значением? и меню
[да] [мало]
[нет] [средне]
[положит] [много]
[отрицат]
Выбираем «положит». Высвечивается:
нужно ли данный(е) фактор(ы) рассматривать в совокупности с другим?
[да]
[нет]
Выбираем «нет». Высвечивается:
С каким весом?:_
Отвечаем «60». Высвечивается продукционное правило во внутреннем представлении:
Если ЗАПАС_СКЛ АД = положит И РИТМ_РАБ_ТЕХНОЛ = положит Тогда ДЕФИЦИТ МАТЕР=уменьшается
ДОСТОВЕРНОСТЬ 60;
Есть ли еще фактор (ы), понижающий (е) вероятность?
[да]
[нет]
Выбираем «нет».
И так процесс продолжается.
Результатом работы программы по формированию модели является готовый текст БЗ.