|
||||
|
Назад | Содержание| Вперёд 14. 3. Правила типа"если-то" для представления з...Назад | Содержание| Вперёд 14. 3. Правила типа"если-то" для представления знаний В качестве кандидата на использование вэкспертной системе можно рассматривать, впринципе, любой непротиворечивый формализм, врамках которого можно описывать знания о некоторой проблемной области. Однакосамым популярным формальным языкомпредставления знаний является язык правил типа "если-то" (иликратко: "если-то"-правил), называемых также продукциями . Каждое такое правилоесть, вообще говоря, некоторое условноеутверждение, но возможны и различные другиеинтерпретации. Вот примеры: если предварительное условие Р то заключение (вывод) С если ситуация S то действие А если выполнены условия С1 и С2 то не выполнено условие С "Если-то"-правила обычно оказываютсявесьма естественным выразительным средствомпредставления знаний. Кроме того, они обладаютследующими привлекательными свойствами: Модульность: каждое правило описывает небольшой, относительно независимый фрагмент знаний. Возможность инкрементного наращивания: добавление новых правил в базу знаний происходит относительно независимо от других правил. Удобство модификации (как следствие модульности): старые правила можно изменять и заменять на новые относительно независимо от других правил. Применение правил способствует прозрачности системы. Последнее свойство - это важное,отличительное свойство экспертных систем. Под прозрачностью мы понимаем способностьсистемы к объяснению принятых решений иполученных результатов. Применение"если-то"-правил облегчает получениеответов на следующие основные типывопросов пользователя: (1) Вопросытипа "как": Как вы пришли к этому выводу? (2) Вопросытипа "почему": Почему васинтересует эта информация? Механизмы, основанные на"если-то"-правилах, для формирования ответовна подобные вопросы мы обсудим позже. если 1 тип инфекции -это первичная бактериемия и 2 материал дляпосева был отобран стерильно, и 3 предполагаемые ворота инфекции - желудочно-кишечный тракт то имеютсявеские аргументы (0.7) за то, чтоинфекционный агент является бактерией Рис. 14. 2. "Если-то"-правило медицинскойконсультативной системы MYCIN (Shortliffe, 1976). Параметр 0.7 показываетстепень доверия этому правилу. "Если-то"-правила часто применяют дляопределения логических отношений междупонятиями предметной области. Прочисто логические отношения можно сказать, чтоони принадлежат к "категорическимзнаниям", "категорическим" - потому,что соответствующие утверждения всегда,абсолютно верны. Однако в некоторых предметных областях, таких, какмедицинская диагностика, преобладают"мягкие" или вероятностные знания.Эти знания являются "мягкими"; втом смысле, что говорить об их применимости клюбым практическим ситуациям можно только донекоторой степени ("часто, но не всегда"). Втаких случаях используют модифицированные"если-то"-правила, дополняя их логическуюинтерпретацию вероятностной оценкой. Например: если условие А то заключение В суверенностью F Рис. 14.2, 14.3 и 14.4 даютпредставление о разнообразии способов, которымизнания могут быть выражены при помощи"если-то"-правил. На этих рисунках приведеныпримеры правил из трех различных систем,основанных на знаниях: медицинскойконсультативной системы MYCIN, системы AL/X длядиагностики неисправностей в оборудовании исистемы AL3 для решения шахматных задач. Вообще говоря, если вы хотите разработатьсерьезную экспертную систему для некоторойвыбранной вами предметной области, вы должныпровести консультации с экспертами в этойобласти и многое узнать о ней сами. Достигнутьопределенного понимания предметной областипосле общения с экспертами и чтения литературы, азатем облечь это понимание в формупредставления знаний в рамках выбранногоформального языка - это искусство, называемое инженерией знаний. Как правило, этосложная задача, требующая больших усилий, чего мыне можем себе позволить в данной книге. Нокакая-нибудь предметная область и какая-нибудьбаза данных нам необходимы в качестве материаладля экспериментов. С практической точки зрениянам для этой цели вполне подойдет"игрушечная" база знаний. На рис. 14.5 показаначасть такой базы знаний. Она состоит из простыхправил, помогающих идентифицировать животных поих основным признаками в предположении, чтозадача идентификации ограничена тольконебольшим числом разных животных. Правила, содержащиеся в базе знаний, имеют вид ИмяПравила : если Условие то Заключение где Заключение - это простое утверждение, а если давление в v-01 достиглоуровня открытия выпускного клапана то выпускной клапан в v-01открылся [N=0.005, S=400] если давление в v-01 не достиглоуровня открытия выпускного клапана ивыпускной клапан в v-01 открылся то преждевременное открытиевыпускного клапана (сместилась установкапорогового давления) [N=0.001, S=2000] Рис. 14. 3. Два правила из демонстрационной базы знаний системы AL/X для диагностики неисправностей (Reiter 1980). N и S - величины "необходимости" и "достаточности", детально описанные в разд. 14.7. Величина S указывает степень, с которой условие влечет за собой заключение (вывод). Величина N указывает, до какой степени истинность условия необходима для того, чтобы заключение было истинным. если 1 существуетгипотеза H, что план Р ведет к успеху, и 2 существуют двегипотезы H1, что план Р1 опровергает план Р, и Н2, что план Р2 опровергает план Р, и 3 имеют местофакты: гипотеза H1 ложна и гипотеза Н2 ложна то 1 породитьгипотезу Н3, что составной план "Р1 илиР2" опровергает план Р, и 2 породить факт: из Н3 следует не( Н) Рис. 14. 4. Правилоуточнения плана из системы AL3 для решения шахматных задач (Bratko 1982). Условие - это набор простыхутверждений, соединенных между собойоператорами и и или. Мы также разрешим в части условияиспользовать оператор не, хотя ис некоторыми оговорками. При надлежащемпрологовском определении этих операторов (какэто сделано на рис. 14.5) правила станутсинтаксически верными предложениями Пролога.Заметим, что оператор и связываетоперанды сильнее, чем или, чтосоответствует обычным соглашениям. % Небольшая база знаний для идентификацииживотных :- ор( 100, xfx, [имеет, 'кормит детенышей', 'не может', ест, откладывает, это]). :- ор( 100, xf, [плавает, летает, хорошо]). прав1: если Животное имеет шерсть или Животное 'кормит детенышей' молоком то Животное это млекопитающее. прав2: если Животное имеет перья или Животное летает и Животное откладывает яйца то Животное это птица. прав3: если Животное это млекопитающее и ( Животное ест мясо или Животное имеет 'острые зубы' и Животное имеет когти и Животное имеет 'глаза, направленные вперед' ) то Животное это хищник. прав4: если Животное это хищник и Животное имеет 'рыжевато-коричневый цвет' и Животное имеет 'темные пятна' то Животное это гепард. прав5: если Животное это хищник и Животное имеет 'рыжевато-коричневый цвет' и Животное имеет 'черные полосы' то Животное это тигр, прав6: если Животное это птица и Животное 'не может' летать и Животное плавает то Животное это пингвин, прав7: если Животное это птица и Животное летает хорошо то Животное это альбатрос. факт: X это животное :- принадлежит( X, [гепард,тигр, пингвин, альбатрос]). можно_спросить( _ 'кормит детенышей'_, 'Животное' 'кормитдетенышей' 'Чем'). можно_спросить( _ летает, 'Животное' летает). можно_спросить( _ откладывает яйца, 'Животное' откладываетяйца). можно_спросить( _ ест _, 'Животное' ест 'Что'). можно_спросить( _ имеет _,'Животное' имеет'Нечто'). можно_спросить( _ 'не может' _, 'Животное' 'не может' 'Чтоделать'). можно_спросить( _ плавает, 'Животное'плавает). можно_спросить( _ летает хорошо, 'Животное' летает хорошо). Рис. 14. 5. Простая база знаний для идентификации животных. Заимствовано из Winston (1984). Отношение "можно_спросить" определяет вопросы, которые можно задавать пользователю. Операторы если, то, и, или определены на рис. 14.10. Рассмотрим еще одну небольшую базу знаний,которая может помочь локализовать неисправностив простой электрической схеме, состоящей изэлектрических приборов и предохранителей.Электрическая схема показана на рис. 14.6. Вот одноиз возможных правил: если лампа1 включена и лампа1 не работает и предохранитель1 заведомо цел то лампа1 заведомо неисправна. Вот другой пример правила: если радиатор работает то предохранитель1 заведомо цел. Эти два правила опираются на некоторые факты(относящиеся к нашей конкретной схеме), аименно что лампа1 соединена с предохранитель1и что лампа1 и радиатор имеют общийпредохранитель. Для другой схемы нам понадобитсяеще один набор правил. Поэтому было бы лучшесформулировать правила в более общем виде(используя прологовские переменные) так, чтобыони были применимы к любой схеме, а затем ужедополнять их информацией о конкретной схеме.Например, вот одно из полезных правил: еслиприбор включен, но не работает, а соответствующийпредохранитель цел, то прибор неисправен. На наш Рис. 14. 6. Соединениямежду предохранителями и приборами в простой электрической схеме. формальный язык это транслируется так: правило_поломки: если Прибор включен и не (Прибор работает) и Прибор соединен с Предохранитель и Предохранитель заведомо цел то Прибор заведомо неисправен. База знаний такого рода показана на рис. 14. 7. Упражнения 14. 1. Рассмотрите"если-то"-правила рис. 14.2-14.4 и транслируйтеих в нашу систему обозначений для правил.Предложите расширение нотации, чтобы, принеобходимости, можно было работать с оценкамиуверенности. % Небольшая база знаний для локализациинеисправностей в % электрической схеме % Если прибор включен, но не работает, ипредохранитель цел, % то прибор неисправен. правило_поломки: если вкл( Прибор) и прибор( Прибор) и не работает( Прибор) и соед( Прибор, Предохр) и доказано( цел( Предохр) ) то доказано( неиспр( Прибор) ). % Если устройство работает, то егопредохранитель цел правило_цел_предохр: если соед( Прибор, Предохр) и работает( Прибор) то доказано( цел( Предохр) ). % Если два различных прибора подключены кодному и тому же % предохранителю, оба включены и не работают, топредохранитель % сгорел. % ЗАМЕЧАНИЕ: предполагается, что из двух приборовнеисправных - % не более одного! правило_предохр: если соед( Прибор1, Предохр) и вкл( Прибор1) и не работает( Прибор1) и общ_предохр( Прибор2, Прибор1) и вкл( Прибор2) и не работает( Прибор2) то доказано( сгорел( Предохр) ). правило_общ_предохр: если соед( Прибор1, Предохр) и соед( Прибор2, Предохр) и различны( Прибор1, Прибор2) то общ_предохр( Прибор1, Прибор2). факт: различны( X,Y) :- not (X=Y). факт: прибор(радиатор). факт: прибор( лампа1). факт: прибор( лампа2). факт: прибор( лампа3). факт: прибор( лампа4). факт: соед(лампа1, предохр1). факт: соед( лампа2,предохр1). факт: соед( радиатор,предохр1). факт: соед( лампа3,предохр2). факт: соед( лампа4,предохр2). можно_спросить( вкл(П), вкл( 'Прибор') ). можно_спросить(работает( П), работает(' Прибор')). Рис. 14. 7. База знанийдля локализации неисправностей в схеме, показанной на рис. 14.6. 14. 2. Придумайте какую-нибудьзадачу принятия решений и сформулируйтесоответствующие знания в форме"если-то"-правил. Можете рассмотреть,например, планирование отпуска, предсказаниепогоды, простой медицинский диагноз и лечение ит.п. Назад | Содержание| Вперёд |
|
||
Главная | В избранное | Наш E-MAIL | Добавить материал | Нашёл ошибку | Наверх |
||||
|