Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник_Final.doc
Скачиваний:
59
Добавлен:
09.11.2019
Размер:
10.39 Mб
Скачать

10.4.5. Работа программы

Рассмотрим подробнее, что происходит во время работы программы. Напомним, что в соответствии с рассматриваемым примером перед выполнением команды Run в списке активных правил было только одно правило с именем startup.

Сразу после запуска в результате выполнения данного правила в список фактов заносятся факты (рис. 10.14).

При этом в списке активных будет находиться сто правил, а окно примет вид, представленный на рис 10.15.

Рис. 10.14. Список фактов сразу после запуска

Рис. 10.15. Список активных правил

Это говорит о том, что в процессе выполнения программы правило generate-combination было активировано сто раз фактами из списка фактов.

После этого CLIPS начинает по порядку выполнять все правила из списка активных правил, проверяя при этом, не будут ли выполнены условия из третьего и первого правила. Очевидно, что первое правило больше выполняться не будет, а вот третье? Как только в списке фактов появятся факты, которые будут удовлетворять условиям третьего правила, оно незамедлительно будет помещено в список активных правил и выполнено. После выполнения всех ста шагов в списке фактов окажется ещё сто фактов (рис. 10.16).

Рис. 10.16. Список фактов после выполнения 100 шагов

После этого в списке активных правил не останется ни одного правила, на экран будет выведено множество решений ребуса, и программа завершит работу (рис.10.17).

Рис. 10.17. Результат работы программы

10.4.6. Сохранение результатов работы

Для сохранения протокола и результатов работы необходимо сразу после запуска CLIPS выбрать пункт меню File / Turn Dribble On (рис. 10.18).

Рис. 10.18. Сохранение протокола работы

В появившемся диалоговом окне необходимо ввести имя файла, в котором будет сохранено содержимое главного окна CLIPS (рис. 10.19).

Рис. 10.19. Выбор файла для сохранения протокола работы

После подтверждения сохранения перед очисткой CLIPS необходимо выполнить команду Turn Dribble Off (рис. 10.20). По этой команде файл, в который записывалось содержимое главного окна CLIPS, будет закрыт.

Рис. 10.20. Остановка записи протокола работы

Контрольные вопросы

    1. Каков механизм организации логического вывода в ИО CLIPS?

    2. Какие инструменты обеспечивают логический вывод в ИО CLIPS?

    3. Как представлен интерфейс работы системы, разработанной в ИО CLIPS?

    4. На каком языке программирования написана ИО CLIPS?

11. Разработка экспертной системы в ио clips

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

11.1. Подготовка исходных данных

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

Для решения выбранной конкретной задачи предположим, что в результате бесед с экспертом в области поиска неисправностей и ремонта автомобилей были установлены следующие эмпирические правила:

      1. В один момент времени двигатель может находиться только в одном из трех технических состояний:

  • исправном – при котором ни один из параметров его функционирования не выходит за допустимые пределы или, проще говоря, двигатель работает нормально,

  • работоспособном – при котором двигатель может функционировать, но один или несколько его параметров выходят за пределы допусков, т.е. двигатель работает не нормально,

  • двигатель не заводится.

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

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

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

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

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

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

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

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

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

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

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

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

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