Иллюстрированный самоучитель по введению в экспертные системы

Рекомендуемая литература. Упражнения.

AIRWAIS OBSTRUCTION
существует, если:
RATI01 < PRED-2SD отсутствует RTB, если:
RATI02 < PRED-2SD хороший показатель RTB, если:
RATI02 > PRED-2SD
SLIGHT AIRWAIS OBSTRUCTION
существует, если:
801 < RATI01 < 100% (PRED-2SD) отсутствует RTB, если:
IFV1 < FEV1/10
IFVC < FVC/10 хороший показатель RTB, если:
FEV1 > (PRED-2SD)/4
FEV1/3 < IFEV1
MODERATE AIRWAIS OBSTRUCTION
существует, если:
55% < RATI01 < 80% (PRED-2SD)
SEVERE AIRWAIS OBSTRUCTION
существует, если:
RATI01 <= 55% (PRED-2SD)
RESTRICTIVE DEFECT
существует, если: RV < PRED+2SD TLC <= 80% (PRED-2SD)
RATI01 > 80% (PRED-2SD)
EARLY RESTRICTIVE DEFECT существует,
если: TLC < (PRED-2SD) RATI01 > (PRED-2SD)
MILD RESTRICTIVE DEFECT
существует, если:
RATI01 > (.PRED-2SD) 80% < TLC < 100% (PRED-2SD)
MODERATE RESTRICTIVE DEFECT
существует, если:
RATI01 > (PRED-2SD)
60% < TLC < 80 (PRED-2SD)
SEVERE RESTRICTIVE DEFECT существует, если:
RATI01 > (PRED-2SD) TLC < 60 (PRED-2SD)

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

В каждом фрейме нужно предусмотреть слоты для хранения ожидаемых среднестатистических значений и стандартных отклонений. Так, слот PRED-RATI01 будет хранить ожидаемое значение параметра RATI01, а слот SD-RATI01 – стандартное отклонение этого параметра. Конечно, для этого упражнения можно подставить любые значения в эти слоты, поскольку главное, что от вас требуется, – правильно организовать связи между слотами.

Например, фрейм-объект SEVERE-RESTRICTIVE-DEFECT может включать метод (процедуру LISP) PRESENT, который определен следующим образом:

SEVERE-RESTRICTIVE-DEFECT.PRESENT
(and(> RATI01 (– PRED-RATI01 (SD-RATI01 2)))
(< TLC (/ (6 (– PRED-TLC (*SD-TLC 2))) 10)))

Эта процедура возвращает значение Т, если соблюдаются специфицированные в ней условия.

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

Упражнение 6
Разработайте и реализуйте простую программу извлечения знаний, которая позволила бы пользователю передать сведения о неисправностях в некотором устройстве и перечислить их возможные причины. Например, если вас привлекает предметная область обслуживания автомобиля, то программа должна принимать сведения о таких видах отказов (в терминологии TDE), как "двигатель не заводится", уточнять причину отказа, например "подается ли ток на электродвигатель стартера?", и связывать возможные причины с каждым таким уточнением.

Естественно ожидать, что отказ "двигатель не заводится" будет связан с такими причинами, как "неисправна аккумуляторная батарея" и "неисправен соленоид стартера", а узлы отказов вроде "неисправна аккумуляторная батарея" должны требовать дальнейшего уточнения – "разряжена аккумуляторная батарея" и "недостаточный уровень электролита в аккумуляторной батарее". Программа должна сохранять всю полученную информацию в древовидной структуре, которая была описана в разделе 13.4.

Упражнение 7
Протестируйте разработанную в упр. 6 программу либо самостоятельно, либо пригласите коллегу, которого считаете специалистом в соответствующей предметной области. Если не удастся найти никого, кто помог бы вам в этом деле, воспользуйтесь доступной технической литературой. Например, для ввода знаний о возможных неисправностях автомобиля вполне достаточно руководства, которое выдают к каждому автомобилю при покупке.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.