Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Еремеев А.П., Чибизова Н.В. Методическое пособие по курсу «Экспертные системы».doc
Скачиваний:
117
Добавлен:
02.05.2014
Размер:
1.32 Mб
Скачать
    1. Примеры работы

      1. Постановка прикладной задачи

Создадим небольшое множество правил, которые будут определять одну из трех моделей принтера, наиболее подходящую для нужд конкретного пользователя. Для создания новой базы знаний необходимо ответить на несколько вопросов.

Введем название предметной области – «Выбор принтера».

Далее необходимо выбрать шкалу вероятности. В рассматриваемом примере с каждым правилом свяжем коэффициент уверенности, поэтому первая шкала не подойдет, в то же время рассматриваемая задача не настолько сложная, чтобы использовать третью шкалу, поэтому выберем вторую шкалу (от 0 до 10). Это наиболее часто используемая шкала. Следует обратить внимание, что этот выбор в дальнейшем не может быть изменен.

С возможными решениями будут связаны коэффициенты уверенности. По умолчанию отображаются все решения, коэффициент уверенности которых больше или равен единицы. Однако этот порог можно изменить. Мы установим порог равный пяти и те правила, у которых коэффициент уверенности ниже порогового значения, отображаться не будут.

В процессе работы ЭС выводит информацию на основе имеющихся правил. Для этого она проверяет все соответствующие правила, либо она может остановиться после того, как встретит первое подходящее правило. Режим просмотра всех правил является более предпочтительным, и мы выберем его.

В качестве справочной информации введем тексты, которые будут характеризовать начало и конец работы системы.

Далее следует указать, будут ли отображаться применяемые правила. В этом примере мы хотим видеть применяемые правила.

Вызов внешних программ рассмотрим в следующем примере, а сейчас откажемся от возможности использования внешней программы.

Зададим варианты выбора (CHOICES). Мы будем создавать правила для выбора одной из трех моделей принтеров: модель А (низкая скорость, низкое качество печати и низкая стоимость), модель В (низкая скорость, высокое качество печати и средняя стоимость), модель С (высокая скорость, высокое качество печати и высокая стоимость).

Включим режим проверки новых правил.

После этого мы увидим основное окно Exsys. С помощью команд меню, расположенного в нижней части экрана, будем вводить новые правила. Ввод нового правила осуществляется при нажатии клавиши <A> или <ENTER>. Создание правила начинается с создания условной части. Обычно условия состоят из квалификаторов и значений, объединенных в предложение. Ввод нового квалификатора осуществляется при нажатии клавиши <N>. Для первого правила запишем условие в виде HIGH PRINTING SPEED IS NECESSARY. Квалификатор будет первой его частью, HIGH PRINTING SPEED IS. Значениями будут NECESSARY и UNNECESSARY. Если в дальнейшем потребуется использовать этот квалификатор, не следует переопределять его. Вызвать уже созданный квалификатор можно по его номеру.

По завершении ввода условной части необходимо определить заключение (THEN). При вводе заключения используются варианты выбора (CHOICES). Это осуществляется при нажатии клавиши <C>. Со сделанным выбором необходимо связать коэффициент уверенности.

Затем можно ввести ELSE–часть правила. Эта часть правила не является обязательной. Также можно задать комментарий (NOTE) и ссылку на источник информации (REFERENCE).

Зададим следующее правило:

RULE NUMBER: 1

IF: (1) High printing speed is necessary

THEN: (1) Model A – Probability = 0/10

and (2) Model B – Probability = 0/10

and (3) Model C – Probability = 9/10

ELSE: (1) Model C – Probability = 2/10

and (2) Model A – Probability = 8/10

and (3) Model B – Probability = 8/10

NOTE: Only the model C printer is capable of high-speed printing.

REFERENCE: Printer specifications – page 12

Это правило определяет модель принтера в зависимости от требуемой скорости печати.

Следующее правило будет указывать модель принтера в зависимости от требуемого качества. Условием будет THE PRINT QUALITY NEEDED IS HIGH. Для этого зададим квалификатор THE PRINT QUALITY NEEDED IS, со значениями HIGH и LOW. В итоге получим следующее правило:

RULE NUMBER: 2

IF: (1) The print quality needed is high

THEN: (1) Model A – Probability = 0/10

and (2) Model B – Probability = 8/10

and (3) Model C – Probability = 8/10

ELSE: (1) Model B – Probability = 3/10

and (2) Model C – Probability = 3/10

REFERENCE: Printer specifications – page 12

Условием еще одного правила будет стоимость принтера. Для него определим квалификатор THE PRICE OF THE PRINTER IS со значениями 1) a major consideration, 2) of concern, but of less importance than functionality, 3) of little concern.

RULE NUMBER: 3

IF: (1) The price of the printer is a major consideration

THEN: (1) Model A – Probability = 9/10

and (2) Model B – Probability = 5/10

and (3) Model C – Probability = 3/10

У этого правила нет альтернативной части, для других значений квалификатора определим другие условия.

При вводе следующего правила снова потребуется квалификатор THE PRICE OF THE PRINTER IS. Не нужно переопределять его; вызовем его нажатием клавиши <L> (последний введенный квалификатор).

RULE NUMBER: 4

IF: (1) The price of the printer is of concern, but of less importance than functionality

THEN: (1) Model C – Probability = 5/10

Мы не будем вводить правило для случая, когда цена не играет роли, так как оно бесполезно для данной задачи.

Проведем тестирование созданной ЭС. Для этого запустим программу Exsys.exe, укажем имя файла с созданной БЗ. При запуске система попросит пользователя задать значения переменных. Сначала будет предложено выбрать значение квалификатора High printing speed is из necessary и unnecessary. Укажем первое значение. Так как в начальных установках мы задали режим отображения применяемых правил, то сразу увидим правило 1 с подсвеченной IF и THEN-частью. Далее система предложит указать тип используемого принтера. Зададим первое и третье значения квалификатора The printer will be used for. Будет отображено пятое правило с подсвеченной IF и THEN-частью, а также второе правило с подсвеченной IF и THEN-частью. Правило 2 сработало в результате прямого вывода значения квалификатора The print quality needed is, которое было установлено в high. Затем для квалификатора The price of the printer is выберем второе значение и увидим четвертое правило. В результате система выдаст решение «Model C с коэффициентом уверенности 7».

Если при вводе правил не было допущено никаких ошибок, то тестирование должно пройти успешно. Однако определенное беспокойство вызывает содержание вопросов, задаваемых пользователю. Дело в том, что непрофессиональный пользователь может не знать, какое качество печати ему требуется. Будет лучше, если задавать ему вопросы о том, что он хочет печатать, а система сама будет определять необходимое качество.

Запишем правило, определяющее выбор в случае, когда требуется высокое качество печати. Допустим, что у пользователя существует потребность в печати документов определенного типа. Зададим квалификатор, содержащий типы этих документов: The printer will be used for со значениями business letters, internal memos, notes, numeric data, company reports.

Будем считать, что только business letters и company reports требуют высокого качества печати. Все остальное может печататься с худшим качеством. При записи условной части правила выберем соответственно 1-е и 5-е значения квалификатора (для выбора сразу двух значений одного квалификатора их номера записываются через пробел).

В THEN-части правила не будем вводить информацию о вариантах выбора, вместо этого введем информацию о квалификаторах. Вызовем квалификатор The print quality needed is (его номер – 2) и укажем, что он принимает значение high. В ELSE-части правила запишем, что этот квалификатор принимает значение low. Теперь ЭС сама сможет определить требуемое качество печати, задав вопрос о том, для каких целей будет использоваться принтер. В итоге получим следующее правило:

RULE NUMBER: 5

IF:(1)The printer will be used for business letters or company reports

THEN: (1) The print quality needed is high

ELSE: (1) The print quality needed is low

При вводе последнего правила система сообщит, что возник потенциальный конфликт. Если введенное правило истинно, то правило 2 также должно быть истинным. В данном случае это не является конфликтом, так как правило 5 предназначено для вывода информации для правила 2. Чтобы сообщить системе, что на самом деле конфликта нет, нужно нажать клавишу <ENTER>.

Можно также добавить правила, автоматически определяющие скоростной и стоимостной факторы. Часто бывает, что прототип ЭС начинается с небольшого множества правил, потом разрастается и превращается в довольно сложную систему.