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

Системы ODYSSEUS и MINERVA. Оболочка экспертной системы MINERVA.

Программа ODYSSEUS обучается тому, как совершенствовать базы знаний экспертных систем, предназначенных для решения проблем эвристической классификации (см. главы 11 и 12). Она наблюдает за тем, как эксперт решает проблему, и формирует пояснение каждого действия эксперта (например, запрашивая эксперта, почему некоторому атрибуту присвоено то или иное значение). Формирование пояснений базируется на тех знаниях о проблемной области и стратегии решения проблем, которыми располагает программа. Если программе не удается сформировать пояснение, инициируется процесс коррекции базы знаний.


MINERVA – это оболочка экспертной системы, разработанная на базе EMYCIN и NEOMYCIN (см. главы 10-12). Система MINERVA обеспечивает ODYSSEUS базой знаний и методом решения проблем и разработана специально для поддержки метода обучения EBL. Одно из главных отличий системы MINERVA от EMYCIN состоит в том, что в ней представлены не только знания о предметной области, но и стратегические знания, отражающие способ мышления практикующего врача. Такие знания можно рассматривать как дальнейшее развитие метаправил систем MYCIN, EMYCIN и NEOMYCIN.

Главным компонентом этой системы является база медицинских знаний о диагностировании менингита и других неврологических заболеваний. MINERVA реализована на языке PROLOG, и знания о предметной области представлены в этой системе в виде фраз Хорна (см. главу 8), но правила по содержанию аналогичны тем, что использовались в MYCIN. Например, следующее выражение представляет тот факт, что фотофобия может быть связана с головной болью:

conclude(migraine-headache, yes)
: – finding(photophobia, yes).

Знания о состоянии проблемы записываются в виде выражений для фактов в процессе работы системы. Например, выражение:

rule-applied(rulel63).

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

Другое простое выражение:

differential(migraine-headache, tension-headache).

Зафиксирует тот факт, что мигрень и повышенное давление – текущие гипотезы, выдвинутые программой.

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

Несложное метаправило может быть представлено в следующем виде:

goal(findout(Р)): – not(concluded(P)), ask-user(P).

Это правило утверждает, что если текущая цель системы – найти значение параметра Р и если система не может прийти к заключению о значении этого параметра на основании имеющихся у нее знаний, то она должна запросить его у пользователя. Поскольку Р является переменной, то головная часть выражения goal (findout (Р)) сопоставляется с выражением цели системы, представленным в явном виде, например goal (f indout (temperature)). Подцели вроде not(concluded(P)) могут быть сопоставлены (успешно или нет) с системными данными, описывающими текущее состояние процесса вычислений, например concluded (temperature).

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

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