9. Рассмотрите CLIPS-программу, представленную во врезке 12.1.
I) Добавьте в программу новые правила, соответствующие представленным ниже
IF: there is an increase in chlorides, and
the drilling fluid is undersaturated, THEN: there is salt contamination.
IF: there is salt contamination
THEN: there is an increase in viscosity.
ЕСЛИ: обнаружено повышение уровня хлоридов и
пласт недостаточно насыщен, ТО: существует солевое загрязнение.
ЕСЛИ: существует солевое загрязнение,
ТО: повышается вязкость.
II) Назначьте значения коэффициентов уверенности дугам, соединяющим узлы на схеме рис. 12.1. Включите также коэффициенты, связывающие процедуры анализа и результаты проведения анализа. При установке значений коэффициентов соблюдайте ограничения, описанные в разделе 12.2.3. Значения всех коэффициентов могут быть положительными.
III) После этого измените определения шаблонов в тексте программы таким образом, чтобы и гипотезы, и тесты имели соответствующие атрибуты.
IV) Измените в программе правила таким образом, чтобы в них был реализован механизм распространения коэффициентов уверенности по мере формирования гипотез и выполнения тестирующих процедур. Комбинирование коэффициентов должно выполняться в соответствии с формулой
Z = X+Y-XY,
где Z— новое значение коэффициента уверенности, полученного на основании значений X и Y, связанных с симптомами. Таким образом, если программа приходит к заключению increase in low-specific-gravity solids (повышение доли твердых включений) исходя из симптома increase in viscosity (повышение вязкости), который характеризуется коэффициентом уверенности X, и результатов теста МВТ (тест синевы метилена), которые характеризуются коэффициентом Y, то с помощью приведенной выше формулы можно получить значение коэффициента Z, характеризующее степень достоверности заключения.
V) Запустите программу на выполнение и проверьте, как она будет реагировать на разные варианты ответов на вопросы.
10. Приведенная ниже модель диагностики взята из руководства владельца автомобиля BMW 320.
I) Представьте приведенные ниже инструкции по поиску неисправностей в виде модели предметной области, которая используется в системе MORE (см. рис. 12.1).
Симптом
Причины
Двигатель не заводится
На стартер не подается ток
Разряжена аккумуляторная батарея
Поврежден провод, подключенный к одной из клемм батареи
Поврежден соленоид стартера
Плохой контакт с "массой"
На стартер подается ток
Заклинило шестерню стартера
Поврежден двигатель стартера
Двигатель проворачивается,
но не запускается
Нет искры между электродами свечи
Загрязнены контакты прерывателя Наличие влаги в распределителе
Неправильно подключены контакты прерывателя
Поврежден конденсатор (модель прежних лет выпуска)
Поврежден ключ прерывателя
Повреждена катушка (модель прежних лет выпуска)
Нет топлива в жиклере карбюратора
Нет топлива в баке Паровая пробка в системе подачи топлива
(в жаркое время года)
Засорен жиклер
Неисправен бензонасос
Двигатель заглох и вновь не
заводится
Заливает карбюратор
Заедание игольчатого клапана
Поврежден поплавок
Неправильно установлен уровень поплавка
Нет топлива в жиклере карбюратора
Нет топлива в баке Вода попала в систему подачи топлива
Замечания в круглых скобках в столбце "Причины" следует рассматривать как фоновые условия в системе MORE.
II) Постройте на основе этой инструкции набор порождающих правил и разработайте соответствующую CLIPS-программу. Фоновые условия должны вводиться пользователем в ответ на запросы программы.