ВУЗ:
Составители:
Рубрика:
− Во-первых, для решения задачи экспертной системе необходимо знать, в каком состоянии находится машина, диагно-
стика которой производится. Эксперт выделил три возможных состояния: нормальная работа двигателя, двигатель работает
неудовлетворительно, не заводится (см. правило 1).
− Во-вторых, большинство приведенных правил, помимо состояния двигателя в целом, используют понятие состояния
вращения двигателя. Согласно этим правилам двигатель может находиться в одном из двух состояний, которые определяют-
ся в зависимости от того,
способен он вращаться (работать) или нет.
− В-третьих, в некоторых правилах (см. правила 4, 7, 8, 10) используется понятие состояния системы зажигания. Систе-
ма зажигания может быть в одном из трех состояний: нормальное состояние, нерегулярная работа и нерабочее состояние.
− В-четвертых, в правилах 6 и 8 используется понятие состояния аккумулятора. Аккумулятор может быть в одном из
двух состояний: заряженным и разряженным.
Таким образом, можно выделить следующие факты, описывающие состояние автомобиля и его узлов:
Группа фактов, описывающая состояние машины:
working-state engine normal – нормальная работа;
working-state engine unsatisfactory – неудовлетворительная работа;
working-state engine does-not-start – не заводится.
Группа фактов, описывающая состояние двигателя:
rotation-state engine rotates – двигатель вращается;
rotation-state engines 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). Необходимо помнить также о
двух крайних случаях: ремонт не требуется в принципе; экспертная система не смогла поставить диагноз.
Таким образом, получатся следующие рекомендации:
− 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 "Timing adjustment";
− repair "No repair needed";
− repair "Take your car to a mechanic".
Обратите также внимание, что одни и те же рекомендации могут выводиться как правилом 7, так и правилом 12. Одна-
ко состояние машины при этой поломке отличается. Для того, чтобы иметь возможность обрабатывать эту ситуацию с по-
мощью одного правила CLIPS, введем еще два дополнительных факта:
symptom engine low-output – низкая мощность;
symptom engine not-low-output – нормальная мощность.
Как упоминалось выше, для работы нашей системы можно заставить пользователя вручную вводить факты, описываю-
щие проявление возникшей неисправности. Однако такой метод имеет ряд серьезных недостатков: пользователь может за-
быть о каких-нибудь существенных деталях или, наоборот, указать слишком много информации, что может помешать нор-
мальной работе системы. Кроме того, факты, описывающие проявление неисправности, должны иметь строго определенный
формат, и система не сможет их обработать в случае ошибки со стороны пользователя.
В нашей экспертной системе мы реализуем правила диагностики, которые в зависимости от той или иной ситуации бу-
дут задавать пользователю необходимые вопросы и получать ответ в строго заданной форме. Дальнейшая диагностика будет
производиться с учетом предыдущих ответов на вопросы, заданные пользователю. Эти ответы будут формировать описание
текущей ситуации с помощью фактов, приведенных выше.
Для реализации подобной архитектуры будет необходимо реализовать функцию, задающую пользователю произволь-
ный вопрос и получающую ответ из заданного набора корректных ответов. Далее приведена одна из возможных реализаций
такой функции.
Страницы
- « первая
- ‹ предыдущая
- …
- 12
- 13
- 14
- 15
- 16
- …
- следующая ›
- последняя »