ГЛАВА 9.Разработка экспертной системы AutoExpert


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

Следует упомянуть, что реализация данной экспертной системы будет активно использовать управляющие команды CLIPS, такие как if-then-else и while. Однако, если вы знакомы с каким-нибудь процедурным языком программирования, вы без труда поймете приведенный ниже код. Подробно эти команды будут рассмотрены в гл. 16.

Исходные данные

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

1. Двигатель обычно находится в одном из 3-х состояний: он может работать нормально, работать неудовлетворительно или не заводиться.

2. Если двигатель работает нормально, то это означает, что он нормально вращается, система зажигания и аккумулятор находятся в норме и никакого ремонта не требуется.

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

4. Если двигатель не запускается, то нужно узнать, пытается ли он вращаться. Если двигатель вращается, но при этом не заводится, то это может говорить о наличии плохой искры в системе зажигания. Если двигатель даже не пытается заводиться, то это говорит о том, что искры нет в принципе.

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

6. Если двигатель не заводится, нужно также проверить, заряжен ли аккумулятор, если нет, то его следует зарядить.

7. Если двигатель не заводится, и существует вероятность плохой искры в системе зажигания, то необходимо проверить контакты. Контакты могут быть в одном из трех состояний — чистые, опаленные и грязные, в случае опаленных контактов их необходимо заменить, в случае если контакты грязные, их достаточно просто почистить.

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

9. Если двигатель запускается, но при этом ведет себя инертно, не сразу реагирует на подачу топлива, то необходимо прочистить топливную систему.

10. Если двигатель запускается, но происходят перебои с зажиганием, то это говорит о наличии плохой искры в системе зажигания, для устранения данной неисправности необходимо отрегулировать зазоры между контактами.

11. Если двигатель запускается и стучит, то необходимо отрегулировать зажигание.

12. Если двигатель запускается, но не развивает нормальной мощности, то это может говорить об опаленных или загрязненных контактах (см. правило 7).

13. Возможны ситуации, когда состояние двигателя нельзя описать приведенными выше факторами и машине может потребоваться более детальный анализ состояния.

Имея эти данные, приступим к решению поставленной задачи.

Сущности

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

Ø Во-первых, для решения задачи экспертной системе необходимо знать, в каком состоянии находится машина, диагностика которой производится. Эксперт выделил три возможных состояния: нормальная работа двигателя, двигатель работает неудовлетворительно, не заводится (см. правило 1).

Ø Во-вторых, большинство приведенных правил помимо состояния двигателя в целом используют понятие состояния вращения двигателя. Согласно этим правилам двигатель может находиться в одном из двух состояний, которые определяются в зависимости от того, способен он вращаться (работать) или нет.

Ø В-третьих, в некоторых правилах (см. правила 4, 7, 8, 10) используется понятие состояния системы зажигания. Система зажигания может быть в одном из трех состояний: нормальное состояние, не регулярная работа и нерабочее состояние.

Ø В-четвертых, в правилах 6 и 8 используется понятие — состояние акку­мулятора. Аккумулятор может быть в одном из двух состояний: заряженным и разряженным.

Для того чтобы решения данной задачи было более наглядным, мы не будем использовать шаблоны. Для представления в CLIPS всех перечисленных выше данных воспользуемся упорядоченными фактами CLIPS. Исходя из приведенного выше списка, нам могут понадобиться факты, приведенные в примере 9.1.



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


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

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

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

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