Сущности
Из приведенных выше правил можно выделить следующие сущности, имеющие значение при решении задачи. Ø Во-первых, для решения задачи экспертной системе необходимо знать, в каком состоянии находится машина, диагностика которой производится. Эксперт выделил три возможных состояния: нормальная работа двигателя, двигатель работает неудовлетворительно, не заводится (см. правило 1). Ø Во-вторых, большинство приведенных правил помимо состояния двигателя в целом используют понятие состояния вращения двигателя. Согласно этим правилам двигатель может находиться в одном из двух состояний, которые определяются в зависимости от того, способен он вращаться (работать) или нет. Ø В-третьих, в некоторых правилах (см. правила 4, 7, 8, 10) используется понятие состояния системы зажигания. Система зажигания может быть в одном из трех состояний: нормальное состояние, не регулярная работа и нерабочее состояние. Ø В-четвертых, в правилах 6 и 8 используется понятие — состояние аккумулятора. Аккумулятор может быть в одном из двух состояний: заряженным и разряженным. Для того чтобы решения данной задачи было более наглядным, мы не будем использовать шаблоны. Для представления в CLIPS всех перечисленных выше данных воспользуемся упорядоченными фактами CLIPS. Исходя из приведенного выше списка, нам могут понадобиться факты, приведенные в примере 9.1. Пример 9.1. Факты, описывающие состояние автомобиля и его узлов ; Группа фактов, описывающая состояние машины working-state engine normal;нормальная работа working-state engine unsatisfactory;неудовлетворительная работа working-state engine does-not-start;не заводится ; Группа фактов, описывающая состояние двигателя rotation-state engine rotates;двигатель вращается rotation-state engine does-not-rotate;двигатель не вращается ; Группа фактов, описывающая состояние системы зажигания spark-state engine normal;зажигание в порядке spark-state engine irregular-spark;искра нерегулярна spark-state engine does-not-spark;искры нет ; Группа фактов, описывающая состояние системы питания charge-state battery charged;аккумулятор заряжен charge-state battery dead;аккумулятор разряжен
Обратите внимание, что факты, входящие в одну группу (содержат одинаковое первое поле), являются взаимоисключающими, т.е. наличие в системе сразу двух фактов из одной группы лишено смысла. Их постановки задачи следует, что наша экспертная система должна предоставлять пользователю рекомендации, позволяющие устранить найденную неисправность. Из приведенных выше правил можно выделить следующие рекомендации: добавить топливо (правило 5); зарядить аккумулятор (правило 6); заменить или почистить контакты (правило 7 или правило 12); заменить катушку зажигания или распределительные провода (правило 8); прочистить топливную систему (правило 9); отрегулировать зазоры между контактами (правило 10); отрегулировать зажигание (правило 11). Необходимо помнить также о двух крайних случаях: ремонт не требуется в принципе; экспертная система не смогла поставить диагноз. Для представления всех этих рекомендаций будем использовать факты, представленные в примере 9.2.
Пример 9.2. Факты, описывающие рекомендации по ремонту автомобиля
repair “Add gas.” repair “Charge the battery.” repair “Replace the points.” repair “Clean the points.” repair “Replace the ignition coil.” repair “Repair the distributor lead wire.” repair “Clean the fuel line.” repair “Point gap adjustment.” repair “No repair needed.” repair “Take your car to a mechanic.”
Все приведенные факты, использующиеся для предоставления пользователю рекомендаций по ремонту, во втором поле содержат текстовое значение с рекомендацией по ремонту. Обратите внимание, что одни и те же рекомендации могут выводиться как правилом 7, так и правилом 12. Однако состояние машины при этой поломке отличается. Для того чтобы иметь возможность обрабатывать эту ситуацию с помощью одного правила CLIPS, введем еще два дополнительных факта.
|