clause_cf(
X 'имеет' 'грипп',
(X 'имеет симптом' 'насморк',
X 'имеет симптом' 'мышечные боли',
not(X 'имеет симптом' 'лихорадка')),
0.8).
askable(_ 'имеет симптом' _).
askable(_ 'имеет признак' _).
hy(X,Y):- member(Y,['лечь в постель и принять аспирин',
'вызвать врача']), X '- рекомендовано' Y.
?- expert(hy(bob,Y)).
bob имеет симптом мышечные боли? 0.9.
bob имеет симптом лихорадка? 0.8.
bob имеет признак моложе 8 лет? no.
bob имеет признак старше 60 лет? 0.
доказано с уверенностью 0.576000
Y = 'лечь в постель и принять аспирин' ;
bob имеет симптом насморк? yes.
bob имеет симптом нарывы в горле? 1.
доказано с уверенностью 0.720000
Y = 'вызвать врача' ;
No
?- expert(hy(cat,Y)).
cat имеет симптом мышечные боли? no.
cat имеет симптом насморк? 0.7.
cat имеет симптом лихорадка? 0.1.
cat имеет симптом нарывы в горле? 0.5.
доказано с уверенностью 0.090000
Y = 'вызвать врача' ;
No
То, что по силам читателю, предоставь ему самому.
Людвиг Витгенштейн
Несложное комбинирование программ 9 и 10 позволит создать полноценную оболочку экспертной системы. Эта оболочка должна удовлетворять следующим требованиям:
1) если база знаний является просто программой на “почти” полном Прологе, то оболочка ведет себя как метаинтерпретатор этой программы с объяснением как было получено доказательство;
2) если предполагается, что часть информации будет запрашиваться у пользователя, то оболочка ведет активный диалог и может объяснить почему она спрашивает пользователя;
3) применяется механизм рассуждения в условиях неопределенности.
Придумайте свою базу знаний с неопределенностями. Эта база знаний должна включать также правила для предикатов askable и explainThis. В этой базе знаний необходим целевой предикат, с помощью которого проверяется достоверность различных гипотез (в базе знаний “Болезни” таким предикатом является hy(_,_) ).
Опубликовал vovan666
May 22 2013 18:27:27 ·
0 Комментариев ·
4155 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.