Пример 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, введем еще два дополнительных факта.

Пример 9.3. Факты, описывающие мощность работы двигателя

symptom engine low-output ;низкая мощность

symptom engine not-low-output ;нормальная мощность

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

Сбор информации

Как упоминалось выше, для работы нашей системы можно заставить поль­зователя вручную вводить факты, описывающие проявление возникшей не­исправности. Однако такой метод имеет ряд серьезных недостатков: пользо­ватель может забыть о каких-нибудь существенных деталях или, наоборот, указать слишком много информации, что может помешать нормальной работе системы. Кроме того, факты, описывающие проявление неисправно­сти, должны были бы иметь строго определенный формат, и система не смогла бы их обработать в случае ошибки со стороны пользователя.

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

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



Дата добавления: 2021-12-14; просмотров: 273;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.007 сек.